/**
 * VMS light / dark theme — admin, manager, staff, marketing, auth.
 * Set on documentElement: data-vms-theme + data-bs-theme (see vms-theme.js).
 */

/* Shared chrome tokens (headers, toggles — all portals) */
html[data-vms-theme="light"],
html:not([data-vms-theme]) {
    --vms-chrome-bg: #ffffff;
    --vms-chrome-bg-hover: #f8fafc;
    --vms-chrome-border: rgba(15, 38, 61, 0.1);
    --vms-chrome-fg: #111827;
    --vms-chrome-fg-muted: #64748b;
}

html[data-vms-theme="dark"] {
    --vms-chrome-bg: #1e293b;
    --vms-chrome-bg-hover: #243044;
    --vms-chrome-border: rgba(148, 163, 184, 0.2);
    --vms-chrome-fg: #e2e8f0;
    --vms-chrome-fg-muted: #94a3b8;
    --vms-chrome-fg-subtle: #b8c5d6;
}

.admin-app-body {
    font-family: var(--vms-font-family);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* —— Light theme tokens —— */
html[data-vms-theme="light"] .admin-app-body,
html:not([data-vms-theme]) .admin-app-body {
    --admin-page-bg: #e8edf4;
    --admin-shell-bg: linear-gradient(165deg, #e5eaf2 0%, #eef3f8 38%, #eef3f8 100%);
    --admin-fg: #111827;
    --admin-fg-heading: #0f263d;
    --admin-fg-muted: #64748b;
    --admin-surface: #ffffff;
    --admin-surface-muted: #f6f9fc;
    --admin-surface-muted-2: #f8fafc;
    --admin-border: rgba(15, 38, 61, 0.08);
    --admin-border-strong: rgba(15, 38, 61, 0.12);
    --admin-shadow: 0 8px 28px rgba(21, 39, 56, 0.07);
    --admin-sidebar-bg: #ffffff;
    --admin-sidebar-fg: #1f2937;
    --admin-sidebar-fg-muted: rgba(17, 17, 17, 0.45);
    --admin-sidebar-hover: rgba(15, 23, 42, 0.06);
    --admin-sidebar-active-bg: rgba(102, 126, 234, 0.12);
    --admin-topbar-bg: rgba(255, 255, 255, 0.82);
    --admin-card-header-bg: linear-gradient(180deg, #fafbfd 0%, #f4f6f9 100%);
    --admin-table-hover: rgba(20, 184, 166, 0.05);
    --admin-hero-bg: linear-gradient(135deg, rgba(13, 35, 57, 0.96), rgba(18, 79, 88, 0.92)), linear-gradient(45deg, rgba(244, 201, 93, 0.18), transparent);
    --admin-kpi-icon-bg: #e9efff;
    --admin-kpi-icon-fg: #4057d7;
    color-scheme: light;
}

/* —— Dark theme tokens —— */
html[data-vms-theme="dark"] .admin-app-body {
    --admin-page-bg: #0b1220;
    --admin-shell-bg: linear-gradient(165deg, #0b1220 0%, #0f172a 42%, #111827 100%);
    --admin-fg: #e2e8f0;
    --admin-fg-heading: #f8fafc;
    --admin-fg-muted: #94a3b8;
    --admin-surface: #1e293b;
    --admin-surface-muted: #1a2332;
    --admin-surface-muted-2: #162032;
    --admin-border: rgba(148, 163, 184, 0.14);
    --admin-border-strong: rgba(148, 163, 184, 0.22);
    --admin-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
    --admin-sidebar-bg: #0f172a;
    --admin-sidebar-fg: #e2e8f0;
    --admin-sidebar-fg-muted: rgba(226, 232, 240, 0.5);
    --admin-sidebar-hover: rgba(255, 255, 255, 0.06);
    --admin-sidebar-active-bg: rgba(102, 126, 234, 0.22);
    --admin-topbar-bg: rgba(15, 23, 42, 0.92);
    --admin-card-header-bg: linear-gradient(180deg, #243044 0%, #1e293b 100%);
    --admin-table-hover: rgba(20, 184, 166, 0.1);
    --admin-hero-bg: linear-gradient(135deg, rgba(30, 41, 59, 0.98), rgba(15, 118, 110, 0.85)), linear-gradient(45deg, rgba(244, 201, 93, 0.12), transparent);
    --admin-kpi-icon-bg: rgba(99, 102, 241, 0.2);
    --admin-kpi-icon-fg: #a5b4fc;
    color-scheme: dark;
}

/* Apply tokens to shell */
html[data-vms-theme="light"] .admin-app-body,
html:not([data-vms-theme]) .admin-app-body {
    background: var(--admin-page-bg);
    color: var(--admin-fg);
}

html[data-vms-theme="dark"] .admin-app-body {
    background: var(--admin-page-bg);
    color: var(--admin-fg);
}

.admin-app-body .admin-right {
    background: var(--admin-shell-bg);
}

/* Sidebar */
html[data-vms-theme="dark"] .admin-sidebar {
    background: var(--admin-sidebar-bg);
    color: var(--admin-sidebar-fg);
    border-right-color: var(--admin-border);
    box-shadow: 4px 0 24px rgba(0, 0, 0, 0.25);
}

html[data-vms-theme="dark"] .admin-sidebar-label {
    color: var(--admin-sidebar-fg-muted);
}

html[data-vms-theme="dark"] .admin-sidebar-brand,
html[data-vms-theme="dark"] .admin-sidebar-brand:hover {
    color: var(--admin-sidebar-fg);
}

html[data-vms-theme="dark"] .admin-sidebar-nav a,
html[data-vms-theme="dark"] .admin-sidebar-actions a {
    color: var(--admin-sidebar-fg);
}

html[data-vms-theme="dark"] .admin-sidebar-nav a:hover,
html[data-vms-theme="dark"] .admin-sidebar-actions a:hover {
    background: var(--admin-sidebar-hover);
    color: #fff;
}

html[data-vms-theme="dark"] .admin-sidebar-nav a.active {
    background: var(--admin-sidebar-active-bg);
    color: #fff;
}

html[data-vms-theme="dark"] .demo-detail-hero {
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.16), rgba(20, 184, 166, 0.1));
}

html[data-vms-theme="dark"] .demo-detail-tile-value {
    color: #f8fafc;
}

html[data-vms-theme="dark"] .demo-detail-message {
    background: #0f172a;
    border-color: rgba(148, 163, 184, 0.14);
    color: #cbd5e1;
}

html[data-vms-theme="dark"] .demo-detail-meta-row {
    border-bottom-color: rgba(148, 163, 184, 0.12);
}

html[data-vms-theme="dark"] .admin-sidebar-actions {
    border-top-color: var(--admin-border);
}

/* Topbar */
html[data-vms-theme="dark"] .admin-topbar {
    background: var(--admin-topbar-bg);
    border-bottom-color: var(--admin-border);
}

html[data-vms-theme="dark"] .admin-topbar .vms-theme-toggle,
html[data-vms-theme="dark"] .admin-topbar .admin-theme-toggle {
    background: var(--vms-chrome-bg) !important;
    border-color: var(--vms-chrome-border) !important;
    color: var(--vms-chrome-fg) !important;
}

html[data-vms-theme="dark"] .admin-topbar .vms-theme-toggle:hover,
html[data-vms-theme="dark"] .admin-topbar .admin-theme-toggle:hover {
    background: var(--vms-chrome-bg-hover) !important;
}

html[data-vms-theme="dark"] .admin-topbar-hint,
html[data-vms-theme="dark"] .admin-topbar-time {
    color: var(--admin-fg-muted);
}

html[data-vms-theme="dark"] .admin-topbar-badge {
    background: rgba(20, 184, 166, 0.15);
    border-color: var(--admin-border);
    color: var(--admin-fg);
}

html[data-vms-theme="dark"] .admin-menu-toggle {
    background: var(--admin-surface);
    border-color: var(--admin-border-strong);
    color: var(--admin-fg);
}

html[data-vms-theme="dark"] .admin-menu-toggle:hover {
    background: var(--admin-surface-muted);
}

html[data-vms-theme="dark"] .admin-topbar .tier-mgr-account-btn--header {
    background: var(--admin-surface);
    border-color: var(--admin-border);
    color: var(--admin-fg);
}

html[data-vms-theme="dark"] .admin-topbar .tier-mgr-account-btn--header .tier-mgr-account-name {
    color: var(--admin-fg-heading);
}

html[data-vms-theme="dark"] .admin-topbar .tier-mgr-account-btn--header .tier-mgr-account-role {
    color: var(--admin-fg-muted);
}

/* Theme toggle (all portals) */
.vms-theme-toggle,
.admin-theme-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    min-width: 40px;
    min-height: 40px;
    padding: 0;
    border: 1px solid var(--vms-chrome-border, rgba(15, 38, 61, 0.1));
    border-radius: 10px;
    background: var(--vms-chrome-bg, #fff);
    color: var(--vms-chrome-fg, #111827);
    font-size: 0.84rem;
    font-weight: 650;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
    box-shadow: none;
}

.vms-theme-toggle:hover,
.admin-theme-toggle:hover {
    background: var(--vms-chrome-bg-hover, #f8fafc);
    border-color: var(--vms-chrome-border, rgba(15, 38, 61, 0.14));
    color: var(--vms-chrome-fg, #111827);
}

.vms-theme-toggle:focus-visible,
.admin-theme-toggle:focus-visible {
    outline: 2px solid var(--primary-color, #667eea);
    outline-offset: 2px;
}

.vms-theme-toggle [data-theme-icon],
.admin-theme-toggle [data-theme-icon] {
    font-size: 1.05rem;
    line-height: 1;
}

/* Cards & tables */
html[data-vms-theme="dark"] .admin-app-body .card {
    background: var(--admin-surface);
    border-color: var(--admin-border);
    color: var(--admin-fg);
}

html[data-vms-theme="dark"] .admin-app-body .card:hover {
    border-color: var(--admin-border-strong);
    box-shadow: var(--admin-shadow);
}

html[data-vms-theme="dark"] .admin-app-body .card-header {
    background: var(--admin-card-header-bg);
    border-bottom-color: var(--admin-border);
    color: var(--admin-fg-heading);
}

html[data-vms-theme="dark"] .admin-app-body .card-body {
    color: var(--admin-fg);
}

html[data-vms-theme="dark"] .admin-app-body .table {
    --bs-table-color: var(--admin-fg);
    --bs-table-bg: transparent;
    --bs-table-border-color: var(--admin-border);
    --bs-table-striped-bg: rgba(255, 255, 255, 0.03);
    --bs-table-hover-bg: var(--admin-table-hover);
}

html[data-vms-theme="dark"] .admin-app-body .table > :not(caption) > * > * {
    background-color: transparent;
    color: var(--admin-fg);
    border-color: var(--admin-border);
}

html[data-vms-theme="dark"] .admin-app-body .table thead th {
    background-color: var(--admin-surface-muted-2, #162032) !important;
    color: var(--admin-fg-muted) !important;
    border-bottom-color: var(--admin-border-strong) !important;
}

html[data-vms-theme="dark"] .admin-app-body .table tbody td {
    border-color: var(--admin-border);
    color: var(--admin-fg);
}

html[data-vms-theme="dark"] .admin-app-body .table tbody tr:hover td {
    background-color: var(--admin-table-hover);
    color: var(--admin-fg);
}

html[data-vms-theme="dark"] .admin-app-body .text-muted {
    color: var(--admin-fg-muted) !important;
}

html[data-vms-theme="dark"] .admin-app-body .text-dark {
    color: var(--admin-fg) !important;
}

html[data-vms-theme="dark"] .admin-app-body h1,
html[data-vms-theme="dark"] .admin-app-body h2,
html[data-vms-theme="dark"] .admin-app-body h3,
html[data-vms-theme="dark"] .admin-app-body h4,
html[data-vms-theme="dark"] .admin-app-body h5,
html[data-vms-theme="dark"] .admin-app-body h6,
html[data-vms-theme="dark"] .admin-app-body .h1,
html[data-vms-theme="dark"] .admin-app-body .h2,
html[data-vms-theme="dark"] .admin-app-body .h3 {
    color: var(--admin-fg-heading);
}

html[data-vms-theme="dark"] .admin-page-heading .h1,
html[data-vms-theme="dark"] .admin-page-heading h1 {
    color: var(--admin-fg-heading);
}

html[data-vms-theme="dark"] .admin-app-body code {
    color: #c4b5fd;
    background: rgba(0, 0, 0, 0.25);
}

html[data-vms-theme="dark"] .admin-app-body pre {
    background: #0f172a;
    color: var(--admin-fg);
    border-color: var(--admin-border);
}

html[data-vms-theme="dark"] .admin-app-body .bg-light {
    background-color: var(--admin-surface-muted) !important;
    color: var(--admin-fg);
}

html[data-vms-theme="dark"] .admin-app-body .border {
    border-color: var(--admin-border) !important;
}

html[data-vms-theme="dark"] .admin-app-body .list-group-item {
    background: var(--admin-surface);
    border-color: var(--admin-border);
    color: var(--admin-fg);
}

html[data-vms-theme="dark"] .admin-app-body .alert-secondary {
    background: var(--admin-surface-muted);
    border-color: var(--admin-border);
    color: var(--admin-fg);
}

/* Dashboard components */
html[data-vms-theme="dark"] .admin-hero {
    background: var(--admin-hero-bg);
    box-shadow: var(--admin-shadow);
}

html[data-vms-theme="dark"] .admin-kpi,
html[data-vms-theme="dark"] .admin-action-strip,
html[data-vms-theme="dark"] .admin-panel {
    background: var(--admin-surface);
    border-color: var(--admin-border);
    box-shadow: var(--admin-shadow);
}

html[data-vms-theme="dark"] .admin-kpi small,
html[data-vms-theme="dark"] .admin-kpi span {
    color: var(--admin-fg-muted);
}

html[data-vms-theme="dark"] .admin-kpi strong {
    color: var(--admin-fg-heading);
}

html[data-vms-theme="dark"] .admin-kpi i {
    background: var(--admin-kpi-icon-bg);
    color: var(--admin-kpi-icon-fg);
}

html[data-vms-theme="dark"] .admin-action-strip a {
    background: var(--admin-surface);
    color: var(--admin-fg-heading);
}

html[data-vms-theme="dark"] .admin-action-strip a:hover {
    background: var(--admin-surface-muted);
}

html[data-vms-theme="dark"] .tier-hero {
    background: var(--admin-hero-bg);
    box-shadow: var(--admin-shadow);
}

html[data-vms-theme="dark"] .tier-action-strip {
    background: var(--admin-surface);
    border-color: var(--admin-border);
}

html[data-vms-theme="dark"] .tier-action-strip a {
    background: var(--admin-surface-muted);
    border-color: var(--admin-border);
    color: var(--admin-fg-heading);
}

html[data-vms-theme="dark"] .tier-action-strip a:hover {
    background: rgba(20, 184, 166, 0.12);
    border-color: rgba(20, 184, 166, 0.28);
}

html[data-vms-theme="dark"] .tier-date-pill {
    background: var(--admin-surface);
    border-color: var(--admin-border);
    color: var(--admin-fg-muted);
}

html[data-vms-theme="dark"] .tier-date-pill .portal-datetime-meta {
    color: var(--admin-fg-muted);
}

html[data-vms-theme="dark"] .admin-topbar-time .portal-datetime-date,
html[data-vms-theme="dark"] .admin-topbar-time .portal-datetime-meta {
    color: var(--admin-fg-muted);
}

html[data-vms-theme="dark"] .panel-title h2 {
    color: var(--admin-fg-heading);
}

html[data-vms-theme="dark"] .admin-table td small,
html[data-vms-theme="dark"] .today-stack span,
html[data-vms-theme="dark"] .property-health-list span,
html[data-vms-theme="dark"] .property-health-list small,
html[data-vms-theme="dark"] .ops-notes span,
html[data-vms-theme="dark"] .visit-type-grid span,
html[data-vms-theme="dark"] .empty-state {
    color: var(--admin-fg-muted);
}

html[data-vms-theme="dark"] .today-stack strong,
html[data-vms-theme="dark"] .visit-type-grid strong {
    color: var(--admin-fg-heading);
}

html[data-vms-theme="dark"] .today-stack div,
html[data-vms-theme="dark"] .visit-type-grid article,
html[data-vms-theme="dark"] .ops-notes div {
    background: var(--admin-surface-muted);
    border-color: var(--admin-border);
}

html[data-vms-theme="dark"] .property-health-list article {
    border-color: var(--admin-border);
    background: var(--admin-surface-muted);
}

html[data-vms-theme="dark"] .admin-list-toolbar .form-label {
    color: var(--admin-fg-muted);
}

html[data-vms-theme="dark"] .admin-list-toolbar .form-control,
html[data-vms-theme="dark"] .admin-list-toolbar .form-select {
    background: var(--admin-surface);
    border-color: var(--admin-border-strong);
    color: var(--admin-fg);
}

/* Notices stack (admin banners) — keep warm tint but readable in dark */
html[data-vms-theme="dark"] .admin-notice-stack {
    background: linear-gradient(105deg, rgba(120, 53, 15, 0.45) 0%, rgba(180, 83, 9, 0.35) 100%);
    border-bottom-color: rgba(251, 191, 36, 0.2);
}

html[data-vms-theme="dark"] .admin-notice-title {
    color: #fde68a;
}

html[data-vms-theme="dark"] .admin-notice-body,
html[data-vms-theme="dark"] .admin-notice-meta {
    color: #fcd34d;
}

/* Account menu (dark) */
html[data-vms-theme="dark"] .admin-topbar .tier-mgr-account-menu {
    background: var(--admin-surface);
    border-color: var(--admin-border-strong);
    box-shadow: var(--admin-shadow);
}

html[data-vms-theme="dark"] .admin-topbar .tier-mgr-account-menu .dropdown-item {
    color: var(--admin-fg);
}

html[data-vms-theme="dark"] .admin-topbar .tier-mgr-account-menu .dropdown-item:hover,
html[data-vms-theme="dark"] .admin-topbar .tier-mgr-account-menu .dropdown-item:focus {
    background: rgba(102, 126, 234, 0.18);
    color: #fff;
}

html[data-vms-theme="dark"] .admin-topbar .tier-mgr-account-menu .dropdown-divider {
    border-color: var(--admin-border);
}

html[data-vms-theme="dark"] .admin-topbar .tier-mgr-account-logout {
    color: #fca5a5 !important;
}

html[data-vms-theme="dark"] .admin-topbar .tier-mgr-account-logout:hover,
html[data-vms-theme="dark"] .admin-topbar .tier-mgr-account-logout:focus {
    background: rgba(239, 68, 68, 0.2) !important;
    color: #fff !important;
}

/* Forms & inputs (Bootstrap theme gaps) */
html[data-vms-theme="dark"] .admin-app-body .form-control,
html[data-vms-theme="dark"] .admin-app-body .form-select,
html[data-vms-theme="dark"] .admin-app-body .input-group-text {
    background-color: var(--admin-surface-muted);
    border-color: var(--admin-border-strong);
    color: var(--admin-fg);
}

html[data-vms-theme="dark"] .admin-app-body .form-control:focus,
html[data-vms-theme="dark"] .admin-app-body .form-select:focus {
    background-color: var(--admin-surface);
    border-color: var(--primary-color);
    color: var(--admin-fg);
}

html[data-vms-theme="dark"] .admin-app-body .form-control::placeholder {
    color: var(--admin-fg-muted);
}

html[data-vms-theme="dark"] .admin-app-body .form-text,
html[data-vms-theme="dark"] .admin-app-body .form-label {
    color: var(--admin-fg-muted);
}

html[data-vms-theme="dark"] .admin-app-body .form-check-label {
    color: var(--admin-fg);
}

html[data-vms-theme="dark"] .admin-app-body .btn-outline-secondary {
    color: var(--admin-fg);
    border-color: var(--admin-border-strong);
}

html[data-vms-theme="dark"] .admin-app-body .btn-outline-secondary:hover {
    background: var(--admin-surface-muted);
    color: var(--admin-fg-heading);
    border-color: var(--admin-fg-muted);
}

html[data-vms-theme="dark"] .admin-app-body .btn-light {
    background: var(--admin-surface-muted);
    border-color: var(--admin-border);
    color: var(--admin-fg-heading);
}

html[data-vms-theme="dark"] .admin-app-body .btn-light:hover {
    background: var(--admin-surface);
    color: var(--admin-fg-heading);
}

html[data-vms-theme="dark"] .admin-app-body .modal-content {
    background: var(--admin-surface);
    border-color: var(--admin-border);
    color: var(--admin-fg);
}

html[data-vms-theme="dark"] .admin-app-body .modal-header,
html[data-vms-theme="dark"] .admin-app-body .modal-footer {
    border-color: var(--admin-border);
}

html[data-vms-theme="dark"] .admin-app-body .nav-tabs {
    border-bottom-color: var(--admin-border);
}

html[data-vms-theme="dark"] .admin-app-body .nav-tabs .nav-link {
    color: var(--admin-fg-muted);
}

html[data-vms-theme="dark"] .admin-app-body .nav-tabs .nav-link.active {
    background: var(--admin-surface);
    border-color: var(--admin-border) var(--admin-border) var(--admin-surface);
    color: var(--admin-fg-heading);
}

html[data-vms-theme="dark"] .admin-app-body .pagination .page-link {
    background: var(--admin-surface);
    border-color: var(--admin-border);
    color: var(--admin-fg);
}

html[data-vms-theme="dark"] .admin-app-body .pagination .page-item.disabled .page-link {
    background: var(--admin-surface-muted);
    color: var(--admin-fg-muted);
}

html[data-vms-theme="dark"] .admin-app-body .dropdown-menu {
    background: var(--admin-surface);
    border-color: var(--admin-border-strong);
}

html[data-vms-theme="dark"] .admin-app-body .dropdown-item {
    color: var(--admin-fg);
}

html[data-vms-theme="dark"] .admin-app-body .dropdown-item:hover,
html[data-vms-theme="dark"] .admin-app-body .dropdown-item:focus {
    background: var(--admin-sidebar-hover);
    color: #fff;
}

html[data-vms-theme="dark"] .admin-app-body dt {
    color: var(--admin-fg-muted);
}

html[data-vms-theme="dark"] .admin-app-body dd {
    color: var(--admin-fg);
}

/* SweetAlert */
html[data-vms-theme="dark"] .swal2-popup {
    background: var(--admin-surface, #1e293b);
    color: var(--admin-fg, #e2e8f0);
}

/* —— Manager & staff (tier-app) —— */

/* Light theme: tier sidebars match admin (white nav), not the hardcoded dark gradients in tier-dashboards.css */
html[data-vms-theme="light"] .tier-app .tier-sidebar,
html:not([data-vms-theme]) .tier-app .tier-sidebar {
    background: #ffffff;
    color: #1f2937;
    border-right: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 4px 0 24px rgba(15, 23, 42, 0.06);
}

html[data-vms-theme="light"] .tier-app--staff .tier-sidebar,
html:not([data-vms-theme]) .tier-app--staff .tier-sidebar {
    background: linear-gradient(180deg, #ffffff 0%, #f0fdfa 100%);
    border-right-color: rgba(15, 118, 110, 0.12);
}

html[data-vms-theme="light"] .tier-sidebar .tier-brand,
html:not([data-vms-theme]) .tier-sidebar .tier-brand {
    color: #111827;
}

html[data-vms-theme="light"] .tier-sidebar .tier-nav-label,
html[data-vms-theme="light"] .tier-sidebar .tier-role-label,
html:not([data-vms-theme]) .tier-sidebar .tier-nav-label,
html:not([data-vms-theme]) .tier-sidebar .tier-role-label {
    color: rgba(17, 17, 17, 0.45);
}

html[data-vms-theme="light"] .tier-sidebar .tier-nav a,
html:not([data-vms-theme]) .tier-sidebar .tier-nav a {
    color: #1f2937;
    font-weight: 500;
}

html[data-vms-theme="light"] .tier-sidebar .tier-nav a:hover,
html:not([data-vms-theme]) .tier-sidebar .tier-nav a:hover {
    background: rgba(15, 23, 42, 0.06);
    color: #111827;
}

html[data-vms-theme="light"] .tier-app--manager .tier-sidebar .tier-nav a.active,
html:not([data-vms-theme]) .tier-app--manager .tier-sidebar .tier-nav a.active {
    background: rgba(102, 126, 234, 0.12);
    color: #111827;
    box-shadow: inset 3px 0 0 var(--primary-color, #667eea);
    font-weight: 600;
}

html[data-vms-theme="light"] .tier-app--staff .tier-sidebar .tier-nav a.active,
html:not([data-vms-theme]) .tier-app--staff .tier-sidebar .tier-nav a.active {
    background: rgba(20, 184, 166, 0.14);
    color: #0f766e;
    box-shadow: inset 3px 0 0 #14b8a6;
    font-weight: 600;
}

html[data-vms-theme="light"] .tier-sidebar .tier-property-select label,
html:not([data-vms-theme]) .tier-sidebar .tier-property-select label {
    color: rgba(17, 17, 17, 0.45);
}

html[data-vms-theme="light"] .tier-sidebar .tier-property-select select,
html:not([data-vms-theme]) .tier-sidebar .tier-property-select select {
    border-color: rgba(15, 23, 42, 0.12);
    background: #f8fafc;
    color: #111827;
}

html[data-vms-theme="light"] .tier-sidebar-footer,
html:not([data-vms-theme]) .tier-sidebar-footer {
    border-top-color: rgba(15, 23, 42, 0.08);
}

html[data-vms-theme="dark"] .tier-app {
    --tier-surface: #0b1220;
    --tier-card-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
    background: var(--tier-surface);
    color: #e2e8f0;
    color-scheme: dark;
}

html[data-vms-theme="dark"] .tier-header {
    background: rgba(11, 18, 32, 0.96);
    border-bottom: 1px solid rgba(148, 163, 184, 0.12);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

html[data-vms-theme="dark"] .tier-header-badge {
    color: #5eead4;
    background: rgba(20, 184, 166, 0.14);
    border-color: rgba(45, 212, 191, 0.28);
}

html[data-vms-theme="dark"] .tier-header h1.tier-header-brand {
    color: var(--vms-chrome-fg-subtle, #b8c5d6);
}

html[data-vms-theme="dark"] .tier-header .tier-header-page {
    color: #f8fafc;
}

html[data-vms-theme="dark"] .tier-header .tier-sub {
    color: var(--vms-chrome-fg-muted, #94a3b8);
}

html[data-vms-theme="dark"] .tier-header-property-logo {
    background: #243044;
    border-color: rgba(148, 163, 184, 0.2);
}

html[data-vms-theme="dark"] .tier-header-actions .tier-date-pill,
html[data-vms-theme="dark"] .tier-header-actions .tier-notify-btn,
html[data-vms-theme="dark"] .tier-header-actions .tier-menu-btn,
html[data-vms-theme="dark"] .tier-header-actions .tier-header-property-select,
html[data-vms-theme="dark"] .tier-header-actions .vms-theme-toggle,
html[data-vms-theme="dark"] .tier-header-actions .admin-theme-toggle,
html[data-vms-theme="dark"] .tier-header-actions .tier-mgr-account-btn--header {
    background: var(--vms-chrome-bg, #1e293b) !important;
    border: 1px solid var(--vms-chrome-border, rgba(148, 163, 184, 0.2)) !important;
    color: var(--vms-chrome-fg, #e2e8f0) !important;
    box-shadow: none !important;
}

html[data-vms-theme="dark"] .tier-header-actions .tier-date-pill,
html[data-vms-theme="dark"] .tier-header-actions .tier-notify-btn,
html[data-vms-theme="dark"] .tier-header-actions .tier-menu-btn,
html[data-vms-theme="dark"] .tier-header-actions .vms-theme-toggle,
html[data-vms-theme="dark"] .tier-header-actions .admin-theme-toggle {
    min-height: 44px;
}

html[data-vms-theme="dark"] .tier-header-actions .tier-date-pill:hover,
html[data-vms-theme="dark"] .tier-header-actions .tier-notify-btn:hover,
html[data-vms-theme="dark"] .tier-header-actions .tier-menu-btn:hover,
html[data-vms-theme="dark"] .tier-header-actions .vms-theme-toggle:hover,
html[data-vms-theme="dark"] .tier-header-actions .admin-theme-toggle:hover,
html[data-vms-theme="dark"] .tier-header-actions .tier-mgr-account-btn--header:hover,
html[data-vms-theme="dark"] .tier-header-actions .tier-mgr-account-btn--header:focus-visible {
    background: var(--vms-chrome-bg-hover, #243044) !important;
    border-color: rgba(148, 163, 184, 0.28) !important;
    color: #f8fafc !important;
}

html[data-vms-theme="dark"] .tier-header-actions .tier-header-property-select:focus {
    background: var(--vms-chrome-bg-hover, #243044);
    border-color: rgba(56, 189, 248, 0.45);
    color: #f8fafc;
    box-shadow: 0 0 0 0.2rem rgba(56, 189, 248, 0.15);
}

html[data-vms-theme="dark"] .tier-mgr-account-btn--header .tier-mgr-account-name {
    color: #f8fafc;
}

html[data-vms-theme="dark"] .tier-mgr-account-btn--header .tier-mgr-account-role,
html[data-vms-theme="dark"] .tier-mgr-account-btn--header .tier-mgr-account-chev {
    color: var(--vms-chrome-fg-muted, #94a3b8);
}

html[data-vms-theme="dark"] .tier-mgr-account-menu--header {
    background: #1e293b;
    border-color: rgba(148, 163, 184, 0.22);
}

html[data-vms-theme="dark"] .tier-kpi,
html[data-vms-theme="dark"] .tier-card,
html[data-vms-theme="dark"] .tier-app .card {
    background: #1e293b;
    border-color: rgba(148, 163, 184, 0.14);
    color: #e2e8f0;
    box-shadow: var(--tier-card-shadow);
}

html[data-vms-theme="dark"] .tier-card-header,
html[data-vms-theme="dark"] .tier-app .card-header {
    background: linear-gradient(180deg, #243044 0%, #1e293b 100%);
    border-bottom-color: rgba(148, 163, 184, 0.14);
    color: #f8fafc;
}

html[data-vms-theme="dark"] .tier-kpi small {
    color: #94a3b8;
}

html[data-vms-theme="dark"] .tier-kpi strong {
    color: #f8fafc;
}

html[data-vms-theme="dark"] .tier-app .text-muted {
    color: #94a3b8 !important;
}

html[data-vms-theme="dark"] .tier-app .text-dark {
    color: #e2e8f0 !important;
}

html[data-vms-theme="dark"] .tier-app h1,
html[data-vms-theme="dark"] .tier-app h2,
html[data-vms-theme="dark"] .tier-app h3,
html[data-vms-theme="dark"] .tier-app h4,
html[data-vms-theme="dark"] .tier-app h5,
html[data-vms-theme="dark"] .tier-app h6 {
    color: #f8fafc;
}

html[data-vms-theme="dark"] .tier-app .form-control,
html[data-vms-theme="dark"] .tier-app .form-select,
html[data-vms-theme="dark"] .tier-app .input-group-text {
    background-color: #162032;
    border-color: rgba(148, 163, 184, 0.22);
    color: #e2e8f0;
}

html[data-vms-theme="dark"] .tier-app .form-control:focus,
html[data-vms-theme="dark"] .tier-app .form-select:focus {
    background-color: #1e293b;
    border-color: var(--primary-color, #667eea);
    color: #e2e8f0;
}

html[data-vms-theme="dark"] .tier-app .form-label,
html[data-vms-theme="dark"] .tier-app .form-text {
    color: #94a3b8;
}

html[data-vms-theme="dark"] .tier-app .table {
    --bs-table-color: #e2e8f0;
    --bs-table-bg: transparent;
    --bs-table-border-color: rgba(148, 163, 184, 0.14);
    --bs-table-striped-bg: rgba(255, 255, 255, 0.03);
    --bs-table-hover-bg: rgba(20, 184, 166, 0.1);
}

html[data-vms-theme="dark"] .tier-app .table > :not(caption) > * > * {
    background-color: transparent;
    color: #e2e8f0;
    border-color: rgba(148, 163, 184, 0.14);
}

html[data-vms-theme="dark"] .tier-app .table thead th {
    background-color: #162032 !important;
    color: #94a3b8 !important;
    border-bottom-color: rgba(148, 163, 184, 0.22) !important;
}

html[data-vms-theme="dark"] .tier-app .table tbody td {
    border-color: rgba(148, 163, 184, 0.14);
    color: #e2e8f0;
}

html[data-vms-theme="dark"] .tier-app .table tbody tr:hover td {
    background-color: rgba(20, 184, 166, 0.1);
    color: #f8fafc;
}

html[data-vms-theme="dark"] .tier-app .table tbody td strong {
    color: #f8fafc;
}

html[data-vms-theme="dark"] .tier-app .btn-outline-secondary {
    color: #e2e8f0;
    border-color: rgba(148, 163, 184, 0.22);
}

html[data-vms-theme="dark"] .tier-app .btn-outline-secondary:hover {
    background: #243044;
    color: #f8fafc;
}

html[data-vms-theme="dark"] .tier-app .btn-light {
    background: #243044;
    border-color: rgba(148, 163, 184, 0.14);
    color: #f8fafc;
}

html[data-vms-theme="dark"] .tier-app .dropdown-menu:not(.dropdown-menu-dark) {
    background: #1e293b;
    border-color: rgba(148, 163, 184, 0.22);
}

html[data-vms-theme="dark"] .tier-app .dropdown-menu:not(.dropdown-menu-dark) .dropdown-item {
    color: #e2e8f0;
}

html[data-vms-theme="dark"] .tier-app .modal-content {
    background: #1e293b;
    border-color: rgba(148, 163, 184, 0.14);
    color: #e2e8f0;
}

html[data-vms-theme="dark"] .tier-app .bg-light {
    background-color: #243044 !important;
    color: #e2e8f0;
}

html[data-vms-theme="dark"] .tier-app .card-header.bg-light {
    background: linear-gradient(180deg, #243044 0%, #1e293b 100%) !important;
    border-bottom-color: rgba(148, 163, 184, 0.14);
    color: #f8fafc;
}

html[data-vms-theme="dark"] .tier-app .modal-body.bg-light {
    background: #162032 !important;
}

/* Visit / report filters (light panels in tier-dashboards.css) */
html[data-vms-theme="dark"] .tier-app .tier-visit-filters-label,
html[data-vms-theme="dark"] .tier-app .tier-visit-filters-field .form-label {
    color: #94a3b8;
}

html[data-vms-theme="dark"] .tier-app .tier-visit-filters-dates {
    background: linear-gradient(180deg, #243044 0%, #1e293b 100%);
    border-color: rgba(148, 163, 184, 0.14);
}

html[data-vms-theme="dark"] .tier-app .tier-visit-filters-dates-head {
    color: #cbd5e1;
}

html[data-vms-theme="dark"] .tier-app .tier-visit-filters-dates-head i {
    color: #94a3b8;
}

html[data-vms-theme="dark"] .tier-app .tier-visit-filters-dates-hint,
html[data-vms-theme="dark"] .tier-app .tier-visit-filters-actions-hint,
html[data-vms-theme="dark"] .tier-app .tier-reports-filter-actions-hint {
    color: #94a3b8;
}

html[data-vms-theme="dark"] .tier-app .tier-visit-filters-date-sep {
    color: #64748b;
}

html[data-vms-theme="dark"] .tier-app .tier-visit-filters-quick {
    border-left-color: rgba(148, 163, 184, 0.14);
}

@media (max-width: 575.98px) {
    html[data-vms-theme="dark"] .tier-app .tier-visit-filters-quick {
        border-top-color: rgba(148, 163, 184, 0.14);
    }
}

html[data-vms-theme="dark"] .tier-app .tier-visit-filters-pill {
    background: #1e293b;
    border-color: rgba(148, 163, 184, 0.2);
    color: #cbd5e1;
    box-shadow: none;
}

html[data-vms-theme="dark"] .tier-app .tier-visit-filters-pill:hover {
    background: rgba(99, 102, 241, 0.18);
    border-color: rgba(129, 140, 248, 0.45);
    color: #e0e7ff;
}

html[data-vms-theme="dark"] .tier-app .tier-visit-filters-pill--muted {
    background: transparent;
    color: #94a3b8;
}

html[data-vms-theme="dark"] .tier-app .tier-visit-filters-pill--muted:hover {
    background: rgba(255, 255, 255, 0.06);
    color: #e2e8f0;
}

html[data-vms-theme="dark"] .tier-app .tier-reports-filter-actions {
    border-top-color: rgba(148, 163, 184, 0.14);
}

/* All-time date scope (manager, staff, admin toolbars) */
html[data-vms-theme="dark"] .tier-app .date-scope-all-time-link,
html[data-vms-theme="dark"] .admin-app-body .date-scope-all-time-link {
    background: rgba(37, 99, 235, 0.14);
    border-color: #3b82f6;
    color: #93c5fd;
    box-shadow: none;
}

html[data-vms-theme="dark"] .tier-app .date-scope-all-time-link:hover,
html[data-vms-theme="dark"] .admin-app-body .date-scope-all-time-link:hover {
    background: rgba(37, 99, 235, 0.24);
    border-color: #60a5fa;
    color: #bfdbfe;
    box-shadow: none;
}

html[data-vms-theme="dark"] .tier-app .date-scope-all-time-link.is-active,
html[data-vms-theme="dark"] .admin-app-body .date-scope-all-time-link.is-active {
    background: #2563eb;
    border-color: #2563eb;
    color: #fff;
    box-shadow: 0 2px 8px rgba(29, 78, 216, 0.35);
}

/* Staff kiosk glance row */
html[data-vms-theme="dark"] .tier-app .tier-glance-item {
    background: #243044;
    border-color: rgba(148, 163, 184, 0.14);
}

html[data-vms-theme="dark"] .tier-app .tier-glance-icon {
    background: #1e293b;
    border-color: rgba(148, 163, 184, 0.14);
    color: #94a3b8;
}

html[data-vms-theme="dark"] .tier-app .tier-glance-label {
    color: #94a3b8;
}

html[data-vms-theme="dark"] .tier-app .tier-glance-value {
    color: #f8fafc;
}

/* Manager dashboard chart donut */
html[data-vms-theme="dark"] .tier-app .tier-donut::after {
    background: #1e293b;
}

html[data-vms-theme="dark"] .tier-app .tier-donut-label {
    color: #f8fafc;
}

html[data-vms-theme="dark"] .tier-app .tier-tip-bar {
    background: linear-gradient(90deg, rgba(52, 211, 153, 0.14), rgba(45, 212, 191, 0.1));
    border-color: rgba(45, 212, 191, 0.28);
    color: #5eead4;
}

html[data-vms-theme="dark"] .tier-app .tier-kpi-icon.blue {
    background: rgba(14, 165, 233, 0.2);
    color: #38bdf8;
}

html[data-vms-theme="dark"] .tier-app .tier-kpi-icon.green {
    background: rgba(34, 197, 94, 0.2);
    color: #4ade80;
}

html[data-vms-theme="dark"] .tier-app .tier-kpi-icon.amber {
    background: rgba(245, 158, 11, 0.2);
    color: #fbbf24;
}

html[data-vms-theme="dark"] .tier-app .tier-kpi-icon.violet {
    background: rgba(139, 92, 246, 0.22);
    color: #a78bfa;
}

html[data-vms-theme="dark"] .tier-app .tier-kpi-icon.teal {
    background: rgba(20, 184, 166, 0.2);
    color: #2dd4bf;
}

html[data-vms-theme="dark"] .tier-app .nav-tabs {
    border-bottom-color: rgba(148, 163, 184, 0.14);
}

html[data-vms-theme="dark"] .tier-app .nav-tabs .nav-link {
    color: #94a3b8;
}

html[data-vms-theme="dark"] .tier-app .nav-tabs .nav-link:hover {
    color: #e2e8f0;
    border-color: rgba(148, 163, 184, 0.14);
}

html[data-vms-theme="dark"] .tier-app .nav-tabs .nav-link.active {
    background: #1e293b;
    border-color: rgba(148, 163, 184, 0.14) rgba(148, 163, 184, 0.14) #1e293b;
    color: #f8fafc;
}

html[data-vms-theme="dark"] .tier-app .pagination .page-link {
    background: #1e293b;
    border-color: rgba(148, 163, 184, 0.14);
    color: #e2e8f0;
}

html[data-vms-theme="dark"] .tier-app .pagination .page-item.disabled .page-link {
    background: #243044;
    color: #64748b;
}

html[data-vms-theme="dark"] .admin-app-body .modal-body.bg-light {
    background: var(--admin-surface-muted) !important;
}

html[data-vms-theme="dark"] .portal-notice-stack,
html[data-vms-theme="dark"] .subscription-notice-bar {
    border-bottom-color: rgba(148, 163, 184, 0.14);
}

/* —— Marketing / landing —— */
html[data-vms-theme="light"] body.landing-page,
html:not([data-vms-theme]) body.landing-page {
    color-scheme: light;
}

html[data-vms-theme="dark"] body.landing-page {
    color-scheme: dark;
    --landing-v2-shell-bg: linear-gradient(165deg, #0b1220 0%, #0f172a 42%, #111827 100%);
    --landing-hero-overlay: linear-gradient(135deg, rgba(8, 22, 36, 0.92), rgba(16, 68, 78, 0.88));
    --landing-surface: #1e293b;
    --landing-surface-muted: #162032;
    --landing-surface-elevated: #243044;
    --landing-surface-accent: linear-gradient(145deg, rgba(20, 116, 111, 0.14) 0%, #162032 100%);
    --landing-surface-accent-hot: linear-gradient(145deg, rgba(20, 116, 111, 0.18) 0%, #1e293b 100%);
    --landing-surface-band: linear-gradient(180deg, #162032 0%, #1e293b 48%);
    --landing-text: #e2e8f0;
    --landing-text-muted: #94a3b8;
    --landing-text-subtle: #cbd5e1;
    --landing-text-body: #cbd5e1;
    --landing-border: rgba(148, 163, 184, 0.18);
    --landing-border-soft: rgba(148, 163, 184, 0.12);
    --landing-accent: #5eead4;
    --landing-accent-hover: #99f6e4;
    --landing-card-shadow: 0 12px 32px rgba(0, 0, 0, 0.28);
    --landing-card-shadow-sm: 0 8px 24px rgba(0, 0, 0, 0.22);
    --landing-footer-bg: #0f172a;
    --landing-footer-border: rgba(148, 163, 184, 0.12);
    --landing-footer-fg: rgba(226, 232, 240, 0.78);
    background: #0b1220;
    color: #e2e8f0;
}

html[data-vms-theme="dark"] body.landing-page .landing-shell {
    background: var(--landing-v2-shell-bg);
}

html[data-vms-theme="dark"] body.landing-page .landing-nav {
    background: rgba(15, 23, 42, 0.88);
    border-bottom-color: rgba(148, 163, 184, 0.12);
}

html[data-vms-theme="dark"] body.landing-page .landing-nav-links a {
    color: #cbd5e1;
}

html[data-vms-theme="dark"] body.landing-page .landing-nav-links a.is-active,
html[data-vms-theme="dark"] body.landing-page .landing-nav-links a:hover {
    color: #f8fafc;
}

html[data-vms-theme="dark"] body.landing-page .landing-topic-head .eyebrow,
html[data-vms-theme="dark"] body.landing-page .landing-hub-section .section-intro .eyebrow,
html[data-vms-theme="dark"] body.landing-page .landing-home-topics-intro .eyebrow,
html[data-vms-theme="dark"] body.landing-page .section-intro .eyebrow,
html[data-vms-theme="dark"] body.landing-page .related-links-label {
    color: var(--landing-accent);
}

html[data-vms-theme="dark"] body.landing-page .landing-card,
html[data-vms-theme="dark"] body.landing-page .feature-card,
html[data-vms-theme="dark"] body.landing-page .pricing-card {
    background: var(--landing-surface);
    border-color: var(--landing-border);
    color: var(--landing-text);
}

html[data-vms-theme="dark"] body.landing-page .text-muted {
    color: var(--landing-text-muted) !important;
}

html[data-vms-theme="dark"] body.landing-page .landing-footer {
    background: var(--landing-footer-bg);
    border-top-color: var(--landing-footer-border);
    color: var(--landing-footer-fg);
}

html[data-vms-theme="dark"] body.landing-page .vms-theme-toggle {
    border-color: rgba(148, 163, 184, 0.22);
    background: var(--landing-surface);
    color: var(--landing-text);
}

html[data-vms-theme="dark"] body.landing-page .demo-form .form-control::placeholder {
    color: #64748b;
}

html[data-vms-theme="light"] body.landing-page .vms-theme-toggle {
    border-color: rgba(15, 38, 61, 0.12);
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
}

html[data-vms-theme="light"] body.landing-page .vms-theme-toggle:hover {
    background: rgba(255, 255, 255, 0.2);
}

.landing-nav-theme {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
}

.landing-nav-theme .vms-theme-toggle {
    width: 38px;
    min-width: 38px;
    min-height: 38px;
    border-radius: 8px;
}

.tier-header-actions .vms-theme-toggle {
    flex-shrink: 0;
}

/* —— Auth (login, register, password reset) —— */
html[data-vms-theme="light"] body.vms-auth-page {
    color-scheme: light;
    --vf-page-bg-0: #e8edf4;
    --vf-page-bg-1: #e5eaf2;
    --vf-page-bg-2: #eef3f8;
    --vf-panel-0: #0f172a;
    --vf-panel-1: #1e293b;
    --vf-panel-2: #0f172a;
    --vf-form-bg: #ffffff;
    --vf-text-muted-panel: rgba(255, 255, 255, 0.78);
    --vf-text-subtle-panel: rgba(255, 255, 255, 0.52);
    --vf-form-section-bg: #ffffff;
    --vf-form-section-fg: #0f172a;
    --vf-form-label: #334155;
    --vf-form-muted: #64748b;
    --vf-input-bg: #ffffff;
    --vf-input-fg: #0f172a;
    --vf-input-border: #e2e8f0;
    --vf-input-placeholder: #94a3b8;
    --vf-input-addon-bg: #f1f5f9;
    --vf-input-addon-fg: #64748b;
    background:
        radial-gradient(1200px 600px at 10% -10%, rgba(56, 189, 248, 0.12), transparent 55%),
        radial-gradient(900px 480px at 100% 80%, rgba(37, 99, 235, 0.08), transparent 50%),
        linear-gradient(155deg, var(--vf-page-bg-0) 0%, var(--vf-page-bg-1) 42%, var(--vf-page-bg-2) 100%) !important;
    color: #0f172a;
}

html[data-vms-theme="dark"] body.vms-auth-page {
    color-scheme: dark;
    --vf-page-bg-0: #0a1628;
    --vf-page-bg-1: #0f2744;
    --vf-page-bg-2: #0c4a6e;
    --vf-panel-0: #0f172a;
    --vf-panel-1: #1e293b;
    --vf-panel-2: #0f172a;
    --vf-form-bg: #1e293b;
    --vf-text-muted-panel: rgba(255, 255, 255, 0.78);
    --vf-text-subtle-panel: rgba(255, 255, 255, 0.52);
    --vf-form-section-bg: #1e293b;
    --vf-form-section-fg: #f1f5f9;
    --vf-form-label: #cbd5e1;
    --vf-form-muted: #94a3b8;
    --vf-input-bg: #0f172a;
    --vf-input-fg: #f8fafc;
    --vf-input-border: rgba(148, 163, 184, 0.28);
    --vf-input-placeholder: #64748b;
    --vf-input-addon-bg: #162032;
    --vf-input-addon-fg: #94a3b8;
    background:
        radial-gradient(1200px 600px at 10% -10%, rgba(56, 189, 248, 0.18), transparent 55%),
        radial-gradient(900px 480px at 100% 80%, rgba(37, 99, 235, 0.14), transparent 50%),
        linear-gradient(155deg, var(--vf-page-bg-0) 0%, var(--vf-page-bg-1) 42%, var(--vf-page-bg-2) 100%) !important;
    color: #e2e8f0;
}

html[data-vms-theme="light"] body.vms-auth-page .login-card {
    background: var(--vf-form-bg);
    color: var(--vf-form-section-fg);
    box-shadow:
        0 28px 56px rgba(15, 38, 61, 0.12),
        0 0 0 1px rgba(15, 38, 61, 0.06);
}

html[data-vms-theme="dark"] body.vms-auth-page .login-card {
    background: var(--vf-form-bg);
    color: var(--vf-form-section-fg);
}

/* Beat Bootstrap data-bs-theme on auth forms */
html[data-vms-theme="light"] body.vms-auth-page .login-card .form-control,
html[data-vms-theme="light"] body.vms-auth-page .login-card .input-group-text,
html[data-vms-theme="light"] body.vms-auth-page .card .form-control,
html[data-vms-theme="light"] body.vms-auth-page .card .input-group-text {
    background-color: var(--vf-input-bg) !important;
    border-color: var(--vf-input-border) !important;
    color: var(--vf-input-fg) !important;
}

html[data-vms-theme="light"] body.vms-auth-page .login-card .form-label,
html[data-vms-theme="light"] body.vms-auth-page .card .form-label {
    color: var(--vf-form-label) !important;
}

html[data-vms-theme="dark"] body.vms-auth-page .login-card .form-control,
html[data-vms-theme="dark"] body.vms-auth-page .login-card .input-group-text,
html[data-vms-theme="dark"] body.vms-auth-page .login-card .btn-outline-secondary,
html[data-vms-theme="dark"] body.vms-auth-page .card .form-control,
html[data-vms-theme="dark"] body.vms-auth-page .card .input-group-text {
    background-color: var(--vf-input-bg) !important;
    border-color: var(--vf-input-border) !important;
    color: var(--vf-input-fg) !important;
}

html[data-vms-theme="dark"] body.vms-auth-page .login-card .form-label,
html[data-vms-theme="dark"] body.vms-auth-page .card .form-label {
    color: var(--vf-form-label) !important;
}

html[data-vms-theme="dark"] body.vms-auth-page .login-card .text-muted,
html[data-vms-theme="dark"] body.vms-auth-page .card .text-muted {
    color: var(--vf-form-muted) !important;
}

html[data-vms-theme="dark"] body.vms-auth-page .card {
    background: #1e293b;
    border-color: rgba(148, 163, 184, 0.14);
    color: #e2e8f0;
}

html[data-vms-theme="light"] body.vms-auth-page .vms-theme-toggle {
    border-color: rgba(15, 38, 61, 0.12);
    background: #fff;
    color: #0f172a;
}

html[data-vms-theme="dark"] body.vms-auth-page .auth-theme-slot .vms-theme-toggle {
    border-color: rgba(148, 163, 184, 0.25);
    background: rgba(30, 41, 59, 0.85);
    color: #e2e8f0;
}

/* —— Tables (global — fixes style.css .table th on all portals) —— */
html[data-vms-theme="dark"] .table th {
    background-color: #162032 !important;
    color: #94a3b8 !important;
    border-bottom: 1px solid rgba(148, 163, 184, 0.22) !important;
    font-weight: 800;
}

html[data-vms-theme="dark"] .table thead.table-light th,
html[data-vms-theme="dark"] .table .table-light th,
html[data-vms-theme="dark"] thead.table-light th {
    background-color: #162032 !important;
    color: #94a3b8 !important;
    --bs-table-bg: #162032;
    --bs-table-color: #94a3b8;
    --bs-table-border-color: rgba(148, 163, 184, 0.22);
}

html[data-vms-theme="dark"] .table tbody td {
    color: #e2e8f0;
    border-color: rgba(148, 163, 184, 0.14);
}

html[data-vms-theme="dark"] .table tbody td strong {
    color: #f8fafc;
}

html[data-vms-theme="dark"] .table-hover tbody tr:hover td {
    background-color: rgba(255, 255, 255, 0.04);
    color: #f8fafc;
}

html[data-vms-theme="dark"] .table-bordered {
    border-color: rgba(148, 163, 184, 0.14);
}

html[data-vms-theme="dark"] .table-bordered > :not(caption) > * {
    border-color: rgba(148, 163, 184, 0.14);
}

html[data-vms-theme="light"] .admin-app-body .table thead th,
html[data-vms-theme="light"] .tier-app .table thead th {
    background-color: #f1f5f9;
    color: #64748b;
}
