/* KrishiStat Themes — 6 palettes */

html[data-theme="dark"] {
    --bg: #10151a; --bg-2: #1a212a; --bg-3: #232c37; --line: #2f3a46;
    --ink: #e6edf3; --ink-2: #a7b6c2; --ink-3: #8496a3;
    --nav: #151c24; --nav-2: #0d1218; --nav-line: #263039;
    --link: #6fc3ff; --head: #f2f7fb; --shadow: rgba(0,0,0,.5);
    color-scheme: dark;
}
html[data-theme="ocean"] {
    --bg: #eaf3fb; --bg-2: #ffffff; --bg-3: #dceaf7; --line: #c3daee;
    --ink: #0f3557; --ink-2: #4a6b87; --ink-3: #6d879f;
    --nav: #0f3a5f; --nav-2: #0b2c49; --nav-line: #1b4d78;
    --link: #0a66a8; --head: #0c2c49; --shadow: rgba(15,53,87,.14);
    color-scheme: light;
}
html[data-theme="forest"] {
    --bg: #eef5ec; --bg-2: #ffffff; --bg-3: #dfeddc; --line: #c3ddbd;
    --ink: #1b3a27; --ink-2: #4c6b56; --ink-3: #6b876f;
    --nav: #1d3f2b; --nav-2: #163020; --nav-line: #2c583c;
    --link: #1c7a4a; --head: #16301f; --shadow: rgba(27,58,39,.14);
    color-scheme: light;
}
html[data-theme="sepia"] {
    --bg: #f3e9d6; --bg-2: #fcf6ea; --bg-3: #ece0c9; --line: #dbc9a6;
    --ink: #463828; --ink-2: #75634a; --ink-3: #8d7a5e;
    --nav: #4a3b28; --nav-2: #3a2e1f; --nav-line: #5e4c33;
    --link: #8a5518; --head: #3a2e1f; --shadow: rgba(90,70,40,.16);
    color-scheme: light;
}
html[data-theme="violet"] {
    --bg: #15111f; --bg-2: #1f1930; --bg-3: #29223d; --line: #362d4d;
    --ink: #eae4f7; --ink-2: #b2a6c9; --ink-3: #9689ae;
    --nav: #1a1428; --nav-2: #120e1c; --nav-line: #2b2340;
    --link: #b79cf7; --head: #f3eefc; --shadow: rgba(0,0,0,.5);
    color-scheme: dark;
}

/* ── Overrides ─────────────────────────────────────────────────── */
html[data-theme] body { background-color: var(--bg); color: var(--ink); }
html[data-theme] .main-content { background: transparent; }
html[data-theme] .sidebar { background-color: var(--nav); }
html[data-theme] .sidebar-header { background-color: var(--nav-2); }
html[data-theme] .sidebar-nav li { border-bottom-color: var(--nav-line); }
html[data-theme] .sidebar-nav .sub-menu { background-color: var(--nav-2); }
html[data-theme] .sidebar-user { background-color: var(--nav-2); border-top-color: var(--nav-line); }

html[data-theme] .left-panel,
html[data-theme] .right-panel,
html[data-theme] .card,
html[data-theme] .hub-container .card,
html[data-theme] .data-card {
    background: var(--bg-2) !important; border-color: var(--line) !important; color: var(--ink);
    box-shadow: 0 8px 26px var(--shadow);
}
html[data-theme] .tool-header { border-color: var(--line); }
html[data-theme] .tool-header h1,
html[data-theme] .group-title,
html[data-theme] h1, html[data-theme] h2,
html[data-theme] h3, html[data-theme] h4 { color: var(--head); }
html[data-theme] h2, html[data-theme] h3 { border-bottom-color: var(--line); }
html[data-theme] p, html[data-theme] li,
html[data-theme] label { color: var(--ink); }
html[data-theme] small, html[data-theme] .help { color: var(--ink-2); }
html[data-theme] a { color: var(--link); }
html[data-theme] hr { border-color: var(--line); }

/* Tables */
html[data-theme] table.pub-table,
html[data-theme] .pub-table,
html[data-theme] table.results-table,
html[data-theme] .results-table,
html[data-theme] .analysis-output table { background: var(--bg-2); color: var(--ink); border-color: var(--line); }
html[data-theme] .pub-table th,
html[data-theme] .results-table th,
html[data-theme] .analysis-output table th { background-color: var(--bg-3) !important; color: var(--head) !important; border-color: var(--line) !important; border-top-color: var(--head) !important; border-bottom-color: var(--head) !important; }
html[data-theme] .pub-table td,
html[data-theme] .results-table td,
html[data-theme] .analysis-output table td { color: var(--ink); border-color: var(--line) !important; }
html[data-theme] .pub-table td:first-child:not([align="center"]),
html[data-theme] .results-table td:first-child:not([align="center"]),
html[data-theme] .analysis-output table td:first-child:not([align="center"]) { color: var(--head); }
html[data-theme] .pub-table tr:last-child td,
html[data-theme] .results-table tr:last-child td,
html[data-theme] .analysis-output table tr:last-child td { border-bottom-color: var(--head) !important; }
html[data-theme] .pub-table tr:hover,
html[data-theme] .results-table tr:hover,
html[data-theme] .analysis-output table tr:hover td { background-color: var(--bg-3) !important; }

/* Themed Table Styles */
html[data-theme] .table-style-sas table { border-top-color: var(--head) !important; border-bottom-color: var(--head) !important; }
html[data-theme] .table-style-sas table th { background-color: var(--bg-2) !important; color: var(--head) !important; border-top-color: var(--head) !important; border-bottom-color: var(--head) !important; }
html[data-theme] .table-style-sas table td { border-bottom-color: var(--line) !important; }
html[data-theme] .table-style-sas table tr:last-child td { border-bottom-color: var(--head) !important; }

html[data-theme] .table-style-striped table { border-color: var(--line) !important; }
html[data-theme] .table-style-striped table th { background-color: var(--bg-3) !important; color: var(--head) !important; border-top-color: var(--head) !important; border-bottom-color: var(--head) !important; border-right-color: var(--line) !important; }
html[data-theme] .table-style-striped table tr:nth-child(even) td { background-color: var(--bg-3) !important; }
html[data-theme] .table-style-striped table td { border-bottom-color: var(--line) !important; border-right-color: var(--line) !important; }
html[data-theme] .table-style-striped table tr:last-child td { border-bottom-color: var(--head) !important; }

html[data-theme] .table-style-bordered table { border-color: var(--line) !important; }
html[data-theme] .table-style-bordered table th { background-color: var(--bg-3) !important; border-color: var(--line) !important; border-bottom-color: var(--head) !important; }
html[data-theme] .table-style-bordered table td { border-color: var(--line) !important; }
html[data-theme] .table-style-bordered table tr:last-child td { border-bottom-color: var(--head) !important; }

html[data-theme] .table-style-classic table { border-top-color: var(--head) !important; border-bottom-color: var(--head) !important; }
html[data-theme] .table-style-classic table th { background-color: transparent !important; color: var(--head) !important; border-top-color: var(--head) !important; border-bottom-color: var(--head) !important; }
html[data-theme] .table-style-classic table td { color: var(--ink) !important; }
html[data-theme] .table-style-classic table tr:last-child td { border-bottom-color: var(--head) !important; }

html[data-theme] .table-style-select { background: var(--bg-3); color: var(--ink); border-color: var(--line); }

html[data-theme] .char-divider td,
html[data-theme] .char-divider th { border-bottom-color: var(--line) !important; }
html[data-theme] pre { background: var(--bg-3); color: var(--ink); border-color: var(--line); }

/* Forms */
html[data-theme] input[type=text], html[data-theme] input[type=number],
html[data-theme] input[type=email], html[data-theme] input[type=password],
html[data-theme] select, html[data-theme] textarea {
    background: var(--bg-3); color: var(--ink); border-color: var(--line);
}
html[data-theme] ::placeholder { color: var(--ink-3); }

/* Analysis output */
html[data-theme] .analysis-output h3 { color: var(--head); border-bottom-color: var(--line); }
html[data-theme] .analysis-output h4 { color: var(--head); border-bottom-color: var(--line); }
html[data-theme] .analysis-output h5 { color: var(--link); border-bottom-color: var(--line); }
html[data-theme] .analysis-output h6 { color: var(--link); border-bottom-color: var(--line); }
html[data-theme] .sig-star { color: var(--ink); }
html[data-theme] .sas-title { color: var(--head); border-bottom-color: var(--line); }
html[data-theme] .sas-subtitle { color: var(--link); border-bottom-color: var(--line); }
html[data-theme] .sas-container h2 { color: var(--head) !important; }

/* Alerts */
html[data-theme] .alert-error { background: rgba(185,28,28,0.15); color: #fca5a5; border-color: rgba(185,28,28,0.3); }
html[data-theme] .alert-success { background: rgba(4,120,87,0.15); color: #6ee7b7; border-color: rgba(4,120,87,0.3); }
html[data-theme] .alert-info { background: rgba(30,64,175,0.15); color: #93c5fd; border-color: rgba(30,64,175,0.3); }

/* Hub header stays dark */
html[data-theme] .hub-header { background-color: var(--nav); }

/* Modal */
html[data-theme] .modal-content { background: var(--bg-2); color: var(--ink); }
html[data-theme] .modal-header { border-color: var(--line); }
html[data-theme] .modal-close { color: var(--ink-2); }
html[data-theme] .modal-close:hover { background: var(--bg-3); color: var(--ink); }

/* Theme picker */
html[data-theme] .oz-theme-btn { background: var(--bg-3); color: var(--ink); border: 1px solid var(--line); }
html[data-theme] .oz-theme-menu { background: var(--bg-2); border-color: var(--line); }
html[data-theme] .oz-theme-menu .hd { color: var(--ink-2); }
html[data-theme] .oz-theme-opt { color: var(--ink); }
html[data-theme] .oz-theme-opt:hover { background: var(--bg-3); }

/* Filter buttons */
html[data-theme] .filter-btn { background: var(--bg-3); color: var(--ink-2); border-color: var(--line); }
html[data-theme] .filter-btn:hover { border-color: var(--link); color: var(--link); }
html[data-theme] .filter-btn.active { background: var(--link); color: #fff; border-color: var(--link); }

/* Search */
html[data-theme] .search-bar input { background: var(--bg-3); color: var(--ink); border-color: var(--line); }

/* Footer */
html[data-theme] .footer { background: var(--nav-2); color: var(--ink-2); }

/* Light-nav themes keep dark sidebar text light */
html[data-theme="ocean"] .sidebar-nav a,
html[data-theme="forest"] .sidebar-nav a,
html[data-theme="sepia"] .sidebar-nav a { color: #dbe4ea; }
html[data-theme="ocean"] .sidebar-header h2,
html[data-theme="forest"] .sidebar-header h2,
html[data-theme="sepia"] .sidebar-header h2 { color: #f6f8fa; }

@media print { .oz-theme-btn, .oz-theme-menu { display: none !important; } }
