@import url('https://fonts.googleapis.com/css2?family=Anton&family=Inter:wght@400;700&display=swap');

/* Forest theme: earthy editorial styling adapted to this data-heavy application. */
body.premium-theme.forest-theme {
    --forest: #01472e;
    --sage: #ccd5ae;
    --olive: #e9edc9;
    --cream: #fefae0;
    --moss: #a3b18a;
    --premium-bg: #fefae0;
    --premium-panel: #fffdf0;
    --premium-panel-hover: #e9edc9;
    --premium-sidebar: #01472e;
    --premium-border: rgba(1, 71, 46, .18);
    --premium-border-focus: rgba(1, 71, 46, .36);
    --premium-accent: #01472e;
    --premium-accent-hover: #023923;
    --premium-accent-rgb: 1, 71, 46;
    --premium-success: #137a4f;
    --premium-danger: #a33b32;
    --premium-text: #01472e;
    --premium-text-primary: #01472e;
    --premium-text-secondary: #426653;
    --premium-text-muted: #718273;
    --premium-input-bg: #fffdf0;
    color: var(--forest);
    font-family: 'Inter', sans-serif;
    background: radial-gradient(circle at 90% 2%, rgba(163, 177, 138, .28), transparent 27%), linear-gradient(145deg, var(--cream), #f7f4d8 58%, var(--olive));
}
body.forest-theme::before {
    content: "";
    position: fixed;
    z-index: 3000;
    inset: 0;
    pointer-events: none;
    opacity: .04;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");
}
body.forest-theme h1, body.forest-theme h2, body.forest-theme h3,
body.forest-theme .premium-page-title, body.forest-theme .dashboard2-table-title {
    color: var(--forest);
    font-family: 'Anton', 'Inter', sans-serif;
    font-weight: 400;
    letter-spacing: -.025em;
}
body.forest-theme label, body.forest-theme button,
body.forest-theme .premium-nav-section-title,
body.forest-theme .admin-page-kicker, body.forest-theme .accounts-kicker,
body.forest-theme .load-panel-kicker, body.forest-theme .report-kicker {
    font-family: 'Inter', sans-serif;
    letter-spacing: .16em;
    text-transform: uppercase;
}
body.forest-theme a, body.forest-theme button, body.forest-theme input,
body.forest-theme select, body.forest-theme .card, body.forest-theme [class*="-btn"] {
    transition: all 1.2s cubic-bezier(.16, 1, .3, 1);
}
body.forest-theme .premium-content main > * { animation: forestReveal 1.2s cubic-bezier(.16, 1, .3, 1) both; }
@keyframes forestReveal { from { opacity: 0; transform: translateY(100px); } to { opacity: 1; transform: translateY(0); } }
@keyframes forestFloat { 0%, 100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-20px) rotate(5deg); } }

/* Navigation and persistent layout. */
body.forest-theme .premium-topbar {
    color-scheme: dark;
    border-color: rgba(204, 213, 174, .24);
    background:
        radial-gradient(circle at 88% 0, rgba(204, 213, 174, .13), transparent 24%),
        linear-gradient(110deg, #01472e, #07583b 58%, #01472e) !important;
    backdrop-filter: blur(20px);
    box-shadow: 0 8px 25px rgba(1, 71, 46, .22);
}
body.forest-theme .premium-topbar .premium-page-title { color: var(--cream); font-size: 1.35rem; }
body.forest-theme .premium-header-quick, body.forest-theme .premium-hdr-stat {
    color: var(--cream);
    border-color: rgba(204, 213, 174, .3);
    border-radius: 999px;
    background: rgba(204, 213, 174, .12);
    backdrop-filter: blur(20px);
}
body.forest-theme .premium-topbar .premium-hdr-label { color: var(--sage); }
body.forest-theme .premium-topbar .premium-header-value.balance-value { color: #dff5c9; text-shadow: none; }
body.forest-theme .premium-topbar .premium-header-value.exposure-value { color: #f5e7a3; text-shadow: none; }
body.forest-theme .premium-topbar .premium-mobile-toggle,
body.forest-theme .premium-topbar .premium-header-back { color: var(--cream); border-color: rgba(204, 213, 174, .3); background: rgba(204, 213, 174, .12); }
body.forest-theme .premium-topbar-avatar { color: var(--forest); border: 2px solid var(--sage); background: var(--sage); }
body.forest-theme .premium-topbar::after {
    background: linear-gradient(90deg, transparent, var(--moss), var(--sage), var(--moss), transparent);
}
body.forest-theme .premium-sidebar {
    color-scheme: dark;
    border-color: rgba(204, 213, 174, .26);
    background: radial-gradient(circle at 8% 3%, rgba(204, 213, 174, .13), transparent 25%), linear-gradient(180deg, #01472e, #023d28 62%, #012f20);
    box-shadow: 9px 0 30px rgba(1, 71, 46, .2);
}
body.forest-theme .premium-sidebar .premium-brand { border-color: rgba(204, 213, 174, .2); }
body.forest-theme .premium-sidebar .premium-brand-logo { color: var(--forest); border-radius: 1rem; background: var(--sage); box-shadow: 0 8px 18px rgba(204, 213, 174, .18); }
body.forest-theme .premium-sidebar .premium-brand-name { color: var(--cream); -webkit-text-fill-color: var(--cream); font-family: 'Anton', sans-serif; }
body.forest-theme .premium-sidebar .premium-nav-section-title,
body.forest-theme .premium-sidebar .premium-user-role,
body.forest-theme .premium-sidebar-footer .text-muted { color: rgba(204, 213, 174, .72) !important; }
body.forest-theme .premium-sidebar .premium-nav-link { color: rgba(254, 250, 224, .8); border-radius: 999px; font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
body.forest-theme .premium-sidebar .premium-nav-link:hover { color: var(--cream); border-color: rgba(204, 213, 174, .24); background: rgba(204, 213, 174, .12); }
body.forest-theme .premium-sidebar .premium-nav-item.active .premium-nav-link { color: var(--forest); border-color: var(--sage); border-left-color: var(--sage); background: var(--sage); box-shadow: 0 8px 18px rgba(0, 0, 0, .14); }
body.forest-theme .premium-sidebar-footer { border-color: rgba(204, 213, 174, .2); background: rgba(0, 28, 18, .25); }
body.forest-theme .premium-sidebar-footer .form-select,
body.forest-theme .premium-theme-toggle-btn { color: var(--forest); border-color: rgba(204, 213, 174, .5); border-radius: 999px; background: var(--cream); }
body.forest-theme .premium-sidebar .premium-user-name { color: var(--cream); }
body.forest-theme .premium-sidebar .premium-user-avatar { color: var(--forest); border-color: var(--sage); background: var(--sage); }
body.forest-theme .premium-sidebar-logout-btn { color: var(--cream); border-color: rgba(204, 213, 174, .28); border-radius: 999px; background: rgba(204, 213, 174, .1); }
body.forest-theme .premium-bottombar { color-scheme: dark; border-color: rgba(204, 213, 174, .2); background: var(--forest); box-shadow: 0 -7px 24px rgba(1, 71, 46, .22); }
body.forest-theme .premium-bottom-item { color: rgba(254, 250, 224, .72); }
body.forest-theme .premium-bottom-item.active, body.forest-theme .premium-bottom-item:hover { color: var(--sage); }

/* Shared controls, cards, and tables. */
body.forest-theme .card, body.forest-theme .modal-content,
body.forest-theme .dropdown-menu, body.forest-theme .list-group-item {
    color: var(--forest);
    border-color: rgba(1, 71, 46, .16);
    border-radius: 2.5rem;
    background: #fffdf0;
    box-shadow: 0 18px 42px rgba(1, 71, 46, .12);
}
body.forest-theme .card-header, body.forest-theme .modal-header,
body.forest-theme .modal-footer { border-color: rgba(1, 71, 46, .14); }
body.forest-theme .text-muted { color: #687d6c !important; }
body.forest-theme .form-label, body.forest-theme .form-check-label { color: var(--forest); font-size: .72rem; font-weight: 700; }
body.forest-theme .form-control, body.forest-theme .form-select {
    color: var(--forest);
    color-scheme: light;
    border-color: rgba(1, 71, 46, .2);
    border-radius: 999px;
    background: #fffdf0;
}
body.forest-theme textarea.form-control { border-radius: 1.5rem; }
body.forest-theme .form-control::placeholder { color: #879488; }
body.forest-theme .form-control:focus, body.forest-theme .form-select:focus { border-color: var(--forest); box-shadow: 0 0 0 .2rem rgba(1, 71, 46, .12); }
body.forest-theme .form-select option, body.forest-theme .form-select optgroup { color: var(--forest); background: var(--cream); }
body.forest-theme .table { color: var(--forest); --bs-table-color: #01472e; --bs-table-striped-color: #01472e; --bs-table-hover-color: #01472e; --bs-table-bg: #fffdf0; --bs-table-striped-bg: #f4f3d7; --bs-table-hover-bg: #e9edc9; --bs-table-border-color: rgba(1, 71, 46, .14); }
body.forest-theme .table th { color: var(--cream); background: var(--forest); }
body.forest-theme .btn-primary, body.forest-theme .btn-success,
body.forest-theme .admin-primary-btn, body.forest-theme .accounts-create-btn,
body.forest-theme .user-create-submit, body.forest-theme .load-panel-cutting-btn,
body.forest-theme .report-builder #rpGenerate,
body.forest-theme .user-details-card .btn-primary,
body.forest-theme .user-details-card .btn-success {
    color: var(--cream);
    border-color: var(--forest);
    border-radius: 999px;
    background: var(--forest);
    box-shadow: 0 14px 30px rgba(1, 71, 46, .2);
}
body.forest-theme .admin-outline-btn, body.forest-theme .accounts-tool-btn,
body.forest-theme .user-create-cancel, body.forest-theme .btn-outline-secondary { color: var(--forest); border-color: rgba(1, 71, 46, .28); border-radius: 999px; background: var(--olive); }

/* Main page shells and data surfaces. */
body.forest-theme .accounts-shell, body.forest-theme .user-create-shell,
body.forest-theme .load-panel-shell, body.forest-theme .report-shell,
body.forest-theme .admin-page-shell,
body.forest-theme .home-luxe-shell, body.forest-theme .play-single-shell,
body.forest-theme .play-hub-shell, body.forest-theme .history-shell {
    color: var(--forest) !important;
    color-scheme: light !important;
    border-color: rgba(1, 71, 46, .16) !important;
    border-radius: 5rem !important;
    background: radial-gradient(circle at 92% 5%, rgba(163, 177, 138, .25), transparent 25%), linear-gradient(150deg, var(--cream), #f8f5d9 64%, var(--olive)) !important;
    box-shadow: 0 24px 55px rgba(1, 71, 46, .13) !important;
}
body.forest-theme .accounts-heading h2, body.forest-theme .user-create-title h2,
body.forest-theme .load-panel-heading h2, body.forest-theme .report-heading h2,
body.forest-theme .admin-page-heading h2, body.forest-theme .home-section-heading h2,
body.forest-theme .play-game-title, body.forest-theme .play-hub-title-line h1,
body.forest-theme .history-hero h1 { color: var(--forest) !important; font-family: 'Anton', sans-serif; text-shadow: none !important; }
body.forest-theme .accounts-kicker, body.forest-theme .load-panel-kicker,
body.forest-theme .report-kicker, body.forest-theme .admin-page-kicker { color: #52745d; }
body.forest-theme .accounts-table-card, body.forest-theme .admin-table-card,
body.forest-theme .report-builder, body.forest-theme .report-results,
body.forest-theme .admin-form-panel, body.forest-theme .admin-session-panel,
body.forest-theme .load-panel-filters, body.forest-theme .load-panel-shell .lp-grid,
body.forest-theme .history-table-card, body.forest-theme .result-preview,
body.forest-theme .user-details-summary, body.forest-theme .user-details-card {
    border-color: rgba(1, 71, 46, .17) !important;
    border-radius: 2.5rem !important;
    background: rgba(255, 253, 240, .94) !important;
    box-shadow: 0 16px 38px rgba(1, 71, 46, .1) !important;
}
body.forest-theme .accounts-table, body.forest-theme .admin-table,
body.forest-theme .history-table { color: var(--forest); }
body.forest-theme .accounts-table thead, body.forest-theme .admin-table thead,
body.forest-theme .report-results .table thead,
body.forest-theme .history-table thead, body.forest-theme .history-table tfoot,
body.forest-theme .dashboard2-table th,
body.forest-theme .user-details-card .card-header { background: var(--forest); }
body.forest-theme .accounts-table thead th, body.forest-theme .admin-table thead th,
body.forest-theme .report-results .table thead th,
body.forest-theme .history-table thead th, body.forest-theme .dashboard2-table th,
body.forest-theme .user-details-card .card-header { color: var(--cream) !important; }
body.forest-theme .accounts-table tbody tr, body.forest-theme .admin-table tbody tr { color: var(--forest); background: #fffdf0; }
body.forest-theme .accounts-table tbody tr:nth-child(even), body.forest-theme .admin-table tbody tr:nth-child(even) { background: #f4f3d7; }
body.forest-theme .accounts-login, body.forest-theme .admin-markets-table td:first-child,
body.forest-theme .results-table .result-market { color: var(--forest); }
body.forest-theme .admin-empty, body.forest-theme .accounts-empty,
body.forest-theme .load-panel-empty { color: #657768; border-color: var(--moss); border-radius: 2.5rem; background: rgba(233, 237, 201, .55); }

/* Dashboard, forms, report, load, and account details. */
body.forest-theme .dashboard2-heading h2, body.forest-theme .dashboard2-rate { color: var(--forest); }
body.forest-theme .dashboard2-table-wrap { overflow: hidden; border-color: rgba(1, 71, 46, .17); border-radius: 2.5rem; background: #fffdf0; box-shadow: 0 16px 38px rgba(1, 71, 46, .1); }
body.forest-theme .dashboard2-table td { color: var(--forest); background: #fffdf0; }
body.forest-theme .dashboard2-formula-row td { color: #5e7463; background: var(--olive); }
body.forest-theme .user-create-control { border-color: rgba(1, 71, 46, .2); border-radius: 999px; background: #fffdf0; }
body.forest-theme .user-create-control > span { color: var(--cream); border-color: var(--forest); background: var(--forest); }
body.forest-theme .user-create-control input, body.forest-theme .user-create-control select { color: var(--forest); background: transparent; }
body.forest-theme .load-panel-filters label, body.forest-theme .user-create-field label,
body.forest-theme .admin-page-shell .form-label,
body.forest-theme .admin-day-check .form-check-label,
body.forest-theme .admin-market-form .form-check-label { color: var(--forest) !important; }
body.forest-theme .load-panel-filters .form-control,
body.forest-theme .load-panel-filters .form-select,
body.forest-theme .admin-page-shell .form-control,
body.forest-theme .admin-page-shell .form-select,
body.forest-theme .admin-table .form-control { color: var(--forest); border-color: rgba(1, 71, 46, .2); background: #fffdf0; }
body.forest-theme .load-panel-shell .lp-tab, body.forest-theme .load-panel-shell .lp-cell,
body.forest-theme .admin-day-check, body.forest-theme .admin-market-item,
body.forest-theme .result-preview > div { color: var(--forest) !important; border-color: rgba(1, 71, 46, .18) !important; border-radius: 2.5rem !important; background: #fffdf0 !important; box-shadow: none !important; }
body.forest-theme .load-panel-shell .lp-cell .num,
body.forest-theme .load-panel-shell .lp-cell .amt,
body.forest-theme .load-panel-shell .lp-tab .cut-stat strong { color: var(--forest) !important; }
body.forest-theme .load-panel-shell .lp-sort-control label { color: var(--forest); }
body.forest-theme .load-panel-shell .lp-sort-control .form-select {
    color: var(--forest) !important;
    color-scheme: light;
    border-color: rgba(1, 71, 46, .28) !important;
    background-color: #fffdf0 !important;
}
body.forest-theme .load-panel-shell .lp-sort-control .form-select option {
    color: var(--forest);
    background-color: var(--cream);
}
body.forest-theme .load-panel-shell .lp-sort-select-wrap::after {
    border-color: var(--forest);
}
body.forest-theme .load-panel-shell .modal-content { color: var(--forest); border-color: rgba(1, 71, 46, .2); border-radius: 2.5rem; background: var(--cream); }
body.forest-theme .load-panel-shell .modal-title { color: var(--forest); }
body.forest-theme .load-panel-shell .btn-close { filter: none; }
body.forest-theme .report-results .table { --bs-table-color: #01472e; --bs-table-striped-color: #01472e; --bs-table-hover-color: #01472e; --bs-table-bg: #fffdf0; --bs-table-striped-bg: #f4f3d7; }
body.forest-theme .report-results .table tbody td,
body.forest-theme .report-results .table tbody td * { color: var(--forest) !important; }
body.forest-theme .report-results .table tbody td .text-success { color: #137a4f !important; }
body.forest-theme .report-results .table tbody td .text-danger { color: #a33b32 !important; }
body.forest-theme .report-results .table tfoot { background: var(--sage); }
body.forest-theme .report-results .table tfoot td,
body.forest-theme .report-results .table tfoot td * { color: var(--forest) !important; }
body.forest-theme .user-details-summary dt { color: var(--forest); background: var(--sage); }
body.forest-theme .user-details-summary dd, body.forest-theme .user-details-card .card-body { color: var(--forest); background: #fffdf0; }

/* Home, play, and history surfaces. */
body.forest-theme .home-rate-row, body.forest-theme .home-market-card,
body.forest-theme .play-type-card { color: var(--forest) !important; border-color: rgba(1, 71, 46, .17) !important; border-radius: 2.5rem !important; background: #fffdf0 !important; box-shadow: 0 16px 35px rgba(1, 71, 46, .1) !important; }
body.forest-theme .home-market-emblem { color: var(--cream); border-color: var(--forest); border-radius: 3rem; background: var(--forest); animation: forestFloat 5s ease-in-out infinite; }
body.forest-theme .home-rate-name, body.forest-theme .home-market-name,
body.forest-theme .home-session-time, body.forest-theme .play-type-name { color: var(--forest) !important; }
body.forest-theme .home-section-subtitle, body.forest-theme .home-rate-base,
body.forest-theme .play-hub-copy p, body.forest-theme .history-hero p { color: #5e7463 !important; }
body.forest-theme .home-market-body, body.forest-theme .home-chart-btn,
body.forest-theme .play-info-note, body.forest-theme .play-bet-panel,
body.forest-theme .play-game-header, body.forest-theme .play-hub-hero,
body.forest-theme .history-tabs, body.forest-theme .history-filters,
body.forest-theme .play-matrix-wrap { color: var(--forest); border-color: rgba(1, 71, 46, .17); border-radius: 2.5rem; background: var(--olive); }
body.forest-theme .home-running-badge:not(.closed) {
    color: var(--cream);
    border-color: var(--forest);
    background: var(--forest);
    box-shadow: 0 4px 12px rgba(1, 71, 46, .18);
}
body.forest-theme .home-running-badge:not(.closed)::after {
    background: #b7d18c;
    box-shadow: 0 0 6px rgba(183, 209, 140, .7);
}
body.forest-theme .home-countdown { color: var(--forest); text-shadow: none; }
body.forest-theme .home-countdown.ended { color: #9f332d; }
body.forest-theme .play-entry-input, body.forest-theme .play-matrix-input,
body.forest-theme .play-amount, body.forest-theme .history-filters input,
body.forest-theme .history-filters select { color: var(--forest); color-scheme: light; border-color: rgba(1, 71, 46, .2); border-radius: 999px; background: #fffdf0; }
body.forest-theme .play-matrix thead th { color: var(--cream); background: var(--forest); }
body.forest-theme .play-matrix th, body.forest-theme .play-matrix td { border-color: rgba(1, 71, 46, .14); }
body.forest-theme .play-digit { color: var(--cream); border-color: var(--forest); border-radius: 999px; background: var(--forest); }
body.forest-theme .play-back-btn, body.forest-theme .play-add-row,
body.forest-theme .history-filter-toggle, body.forest-theme .history-clear { color: var(--forest); border-color: rgba(1, 71, 46, .24); border-radius: 999px; background: var(--sage); }
body.forest-theme .play-total { color: var(--forest); }
body.forest-theme .history-tab { color: #57705e; border-radius: 999px; }
body.forest-theme .history-tab:hover, body.forest-theme .history-tab.active { color: var(--cream); background: var(--forest); box-shadow: none; }

@media (max-width: 760px) {
    body.forest-theme { font-size: 14px; }
    body.forest-theme .accounts-shell, body.forest-theme .user-create-shell,
    body.forest-theme .load-panel-shell, body.forest-theme .report-shell,
    body.forest-theme .admin-page-shell, body.forest-theme .home-luxe-shell,
    body.forest-theme .play-single-shell, body.forest-theme .play-hub-shell,
    body.forest-theme .history-shell { border-radius: 2.5rem 2.5rem 0 0 !important; }
}
