/* Theme-driven overrides. Values come entirely from the tokens in
   theme-variables.css - this file has no per-theme duplication. */

html[data-theme] body,
html[data-theme] main {
    background-color: var(--body-bg);
    color: var(--body-color);
}

html[data-theme] a {
    color: var(--link-color);
}

html[data-theme] h1,
html[data-theme] h2,
html[data-theme] h3,
html[data-theme] h4,
html[data-theme] h5,
html[data-theme] h6,
html[data-theme] .apptitle {
    color: var(--heading-color);
}

html[data-theme] .card,
html[data-theme] .dropdown-menu,
html[data-theme] .modal-content,
html[data-theme] .jumbobg {
    background-color: var(--surface-bg);
    color: var(--surface-color);
    border-color: var(--border-color);
}

html[data-theme] .dropdown-item {
    color: var(--surface-color);
}

html[data-theme] .dropdown-item:hover,
html[data-theme] .dropdown-item:focus {
    background-color: var(--sidenav-active-bg);
    color: var(--sidenav-active-color);
}

html[data-theme] table.table,
html[data-theme] table.table td,
html[data-theme] table.table th {
    background-color: var(--surface-bg);
    color: var(--surface-color);
    border-color: var(--border-color);
}

html[data-theme] .form-control,
html[data-theme] input[type="text"],
html[data-theme] input[type="email"],
html[data-theme] input[type="password"],
html[data-theme] input[type="number"],
html[data-theme] textarea,
html[data-theme] select {
    background-color: var(--input-bg);
    color: var(--input-color);
    border-color: var(--input-border);
}

/* Navbar */
html[data-theme] .navbar {
    background-color: var(--navbar-bg) !important;
    color: var(--navbar-color);
}

html[data-theme] .navbar .apptitle,
html[data-theme] .navbar .nav-link {
    color: var(--navbar-color);
}

/* Sidebar navigation */
html[data-theme] .side-nav {
    background-color: var(--sidenav-bg);
    color: var(--sidenav-color);
}

html[data-theme] .side-nav a {
    color: var(--sidenav-color);
}

html[data-theme] .side-nav ul li.active {
    background-color: var(--sidenav-active-bg) !important;
}

html[data-theme] .side-nav ul li.active a.active {
    color: var(--sidenav-active-color) !important;
}

/* Kendo grid */
html[data-theme] .k-grid,
html[data-theme] .k-widget,
html[data-theme] .k-window,
html[data-theme] .k-content {
    background-color: var(--grid-row-bg);
    color: var(--grid-row-color);
    border-color: var(--grid-border);
}

html[data-theme] .k-grid-header,
html[data-theme] .k-grid-header th,
html[data-theme] .k-toolbar,
html[data-theme] .k-pager-wrap {
    background-color: var(--grid-header-bg);
    color: var(--grid-header-color);
    border-color: var(--grid-border);
}

html[data-theme] .k-grid td {
    border-color: var(--grid-border);
    color: var(--grid-row-color);
}

html[data-theme] .k-grid tr.k-alt {
    background-color: var(--grid-row-alt-bg);
}

html[data-theme] .k-grid tr.k-state-selected > td,
html[data-theme] .k-state-selected {
    background-color: var(--grid-selected-bg) !important;
}

html[data-theme] .k-input,
html[data-theme] .k-picker-wrap,
html[data-theme] .k-dropdown-wrap,
html[data-theme] .k-multiselect-wrap,
html[data-theme] .k-numeric-wrap,
html[data-theme] .k-combobox {
    background-color: var(--input-bg);
    color: var(--input-color);
    border-color: var(--input-border);
}

html[data-theme] .k-button {
    background-color: var(--surface-bg);
    color: var(--surface-color);
    border-color: var(--border-color);
}

html[data-theme] .k-link {
    color: var(--grid-header-color);
}

/* Filter panel labels (Invoice list, Orders search, Moves, Carrier Bill audit,
   Inventory Billing, etc. - shared .flabel class with no color rule of its own,
   so it fell back to a near-invisible default against the dark/gruvbox surfaces). */
html[data-theme] .flabel {
    color: var(--surface-color);
}

/* Semantic helpers reused by the view sweep */
html[data-theme] .text-danger,
html[data-theme] .errortext,
html[data-theme] .field-validation-error {
    color: var(--danger) !important;
}

html[data-theme] .text-success {
    color: var(--success) !important;
}

html[data-theme] .text-warning {
    color: var(--warning) !important;
}
