/* ============================================================
   assets/css/theme.css
   Theme Customization — Light / Dark / System
   Uses [data-theme="dark"] on <html> element.
   Light mode = default (no extra rules needed for light).
   ============================================================ */

/* ── Text utility classes (work in both light and dark mode) ─ */
.text-muted { color: #aaa; }
.text-secondary { color: #555; }
.text-bold { font-weight: 500; }
.text-success { color: #2e7d32; }
.text-success-bold { color: #1a6b1a; font-weight: 600; }
.text-danger { color: #c62828; font-weight: 700; }
.text-warning { color: #856404; }
.text-warning-dark { color: #e65100; font-weight: 600; }
.sku-code { 
    font-size: 0.85em; 
    background: #f0f0f0; 
    padding: 2px 5px; 
    border-radius: 3px; 
}

/* Link styles */
.link-primary { color: #3498db; }
.link-primary:hover { color: #2980b9; }

/* ── Recovery session timer badge ───────────────────────────── */
.recovery-timer-badge {
    position: fixed;
    top: 14px;
    left: 14px;
    z-index: 1100;
    background: #fff3cd;
    color: #856404;
    border: 1px solid #ffc107;
    border-radius: 999px;
    padding: 7px 12px;
    font-size: 12px;
    font-weight: 700;
    box-shadow: 0 2px 10px rgba(0,0,0,0.12);
    letter-spacing: 0.2px;
}

/* ── Row background classes ────────────────────────────────── */
.row-danger { background: #fff5f5; }
.row-warning { background: #fff8f0; }
.row-notice { background: #fffde7; }
.deleted-row { background: #fafafa; }

/* ── Action type classes (dashboard logs) ──────────────────── */
.action-type { font-weight: 600; }
.action-added { color: #2e7d32; }
.action-deleted { color: #c62828; }
.action-stock-added { color: #1565c0; }
.action-stock-removed { color: #e65100; }
.action-stock-updated { color: #6a1b9a; }
.deleted-product { color: #999; text-decoration: line-through; }

/* ── Source badges (dashboard) ─────────────────────────────── */
.source-badge { 
    font-size: 11px; 
    padding: 2px 7px; 
    border-radius: 10px; 
    font-weight: 600; 
    color: #fff;
}
.chatbot-badge { background: #7b2ff7; }
.gui-badge { background: #0e7c7b; }

/* ── Order status badges ───────────────────────────────────── */
.status-badge {
    padding: 2px 10px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 600;
}
.pending-badge { color: #856404; background: #fff3cd; }
.completed-badge { color: #155724; background: #d4edda; }
.cancelled-badge { color: #721c24; background: #f8d7da; }

[data-theme="dark"] .pending-badge { color: #e4b850 !important; background: #3c2e10 !important; }
[data-theme="dark"] .completed-badge { color: #60d880 !important; background: #0e2e1c !important; }
[data-theme="dark"] .cancelled-badge { color: #f89898 !important; background: #3e1818 !important; }

/* ── Price labels ─────────────────────────────────────────── */
.price-label {
    font-size: 11px;
    color: #888;
    margin-bottom: -2px;
}

[data-theme="dark"] .price-label {
    color: #b4b9d0 !important;
}

/* ── Status dots (stock indicators) ───────────────────────── */
.status-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    margin-right: 4px;
}

.dot-red { background: #ef4444; }
.dot-yellow { background: #f59e0b; }
.dot-green { background: #22c55e; }

[data-theme="dark"] .dot-red { background: #f87171 !important; }
[data-theme="dark"] .dot-yellow { background: #fbbf24 !important; }
[data-theme="dark"] .dot-green { background: #4ade80 !important; }

/* ── Cart inputs (orders page) ─────────────────────────────── */
.cart-input {
    width: 52px;
    padding: 4px 6px;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: 12px;
    text-align: center;
}
.cart-select {
    width: 52px;
    padding: 4px 4px;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: 11px;
    margin-right: 3px;
}

/* ── Form label classes ────────────────────────────────────── */
.form-label {
    font-size: 12px;
    color: #555;
    display: block;
    margin-bottom: 4px;
}
.form-label-uppercase {
    font-size: 12px;
    font-weight: 700;
    color: #555;
    text-transform: uppercase;
    display: block;
    margin-bottom: 5px;
}
.hint-text {
    font-size: 11px;
    color: #999;
    margin-top: 4px;
}

/* ── Modal classes ─────────────────────────────────────────── */
.modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    z-index: 1000;
    align-items: center;
    justify-content: center;
}
.modal-content {
    background: #fff;
    border-radius: 10px;
    padding: 28px;
    width: 100%;
    max-width: 420px;
    margin: 20px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.2);
}
.modal-content.modal-large {
    max-width: 600px;
    max-height: 80vh;
    overflow-y: auto;
}
.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}
.modal-title {
    font-weight: 700;
    font-size: 16px;
    color: #2c3e50;
}
.modal-buttons {
    display: flex;
    gap: 10px;
}
.modal-buttons button {
    flex: 1;
    padding: 10px;
}
.form-group {
    margin-bottom: 14px;
}
.form-input {
    width: 100%;
    padding: 9px 12px;
    border: 1.5px solid #dde3ea;
    border-radius: 6px;
    font-size: 14px;
    margin: 0;
}

/* ── Filter inputs ─────────────────────────────────────────── */
.filter-input {
    padding: 7px 11px;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 13px;
}
.filter-select {
    padding: 7px 11px;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 13px;
    background: #fff;
}

/* ── Warning/Info boxes ────────────────────────────────────── */
.warning-box {
    background: #fff8e1;
    padding: 14px 18px;
    border-radius: 8px;
    color: #856404;
    border: 1px solid #ffe082;
    margin: 20px 0;
}

/* ── Subsection title ──────────────────────────────────────── */
.subsection-title {
    font-size: 13px;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 10px;
}

/* ── Dark mode CSS variables ─────────────────────────────── */
[data-theme="dark"] {
    /* Core backgrounds */
    --dk-bg-page:      #0f1117;
    --dk-bg-surface:   #1a1d27;
    --dk-bg-raised:    #22263a;
    --dk-bg-hover:     #2a2f45;
    --dk-bg-input:     #1e2235;
    --dk-bg-header:    #0b0e16;
    --dk-bg-nav:       #13161f;
    --dk-bg-nav-act:   #0b0e16;

    /* Text - improved contrast */
    --dk-text-primary:   #f0f2f8;
    --dk-text-secondary: #b4b9d0;
    --dk-text-muted:     #8a90b0;
    --dk-text-heading:   #ffffff;

    /* Borders */
    --dk-border:       #2c3050;
    --dk-border-soft:  #222640;

    /* Accents — keep brand colours legible */
    --dk-accent-blue:  #6cb4f8;
    --dk-accent-green: #5cd88a;
    --dk-accent-red:   #f07070;
    --dk-accent-amber: #e4b040;
    --dk-accent-orange:#f08a40;
    --dk-accent-purple: #b87fff;

    /* Let page-local palettes that use --muted adapt automatically */
    --muted: var(--dk-text-secondary);
}

/* ── Dark mode text utility classes ───────────────────────── */
[data-theme="dark"] .text-muted { color: var(--dk-text-muted); }
[data-theme="dark"] .text-secondary { color: var(--dk-text-secondary); }
[data-theme="dark"] .text-success { color: var(--dk-accent-green); }
[data-theme="dark"] .text-success-bold { color: var(--dk-accent-green); font-weight: 600; }
[data-theme="dark"] .text-danger { color: var(--dk-accent-red); font-weight: 700; }
[data-theme="dark"] .text-warning { color: var(--dk-accent-amber); }
[data-theme="dark"] .text-warning-dark { color: var(--dk-accent-orange); font-weight: 600; }
[data-theme="dark"] .sku-code { 
    background: #2a2f45; 
    color: var(--dk-text-primary);
}

/* Dark mode link styles */
[data-theme="dark"] .link-primary { color: var(--dk-accent-blue); }
[data-theme="dark"] .link-primary:hover { color: #8cc8ff; }

[data-theme="dark"] .recovery-timer-badge {
    background: #3d3520;
    color: var(--dk-accent-amber);
    border-color: #5a4d28;
}

/* Dark mode row backgrounds */
[data-theme="dark"] .row-danger { background: #2a1a1a; }
[data-theme="dark"] .row-warning { background: #2a2518; }
[data-theme="dark"] .row-notice { background: #28281a; }
[data-theme="dark"] .deleted-row { background: #1a1a1a; }

/* Dark mode action types (dashboard logs) */
[data-theme="dark"] .action-added { color: var(--dk-accent-green); }
[data-theme="dark"] .action-deleted { color: var(--dk-accent-red); }
[data-theme="dark"] .action-stock-added { color: var(--dk-accent-blue); }
[data-theme="dark"] .action-stock-removed { color: var(--dk-accent-orange); }
[data-theme="dark"] .action-stock-updated { color: var(--dk-accent-purple); }
[data-theme="dark"] .deleted-product { color: var(--dk-text-muted); }

/* Dark mode source badges (keep light text) */
[data-theme="dark"] .chatbot-badge { background: #9b5ff8; }
[data-theme="dark"] .gui-badge { background: #20a0a0; }

/* Dark mode order status badges */
[data-theme="dark"] .pending-badge { color: #d4a428; background: #3d3520; }
[data-theme="dark"] .completed-badge { color: #5cd88a; background: #1a2e20; }
[data-theme="dark"] .cancelled-badge { color: #f07070; background: #2e1a1a; }

/* Dark mode form labels */
[data-theme="dark"] .form-label { color: var(--dk-text-secondary); }
[data-theme="dark"] .form-label-uppercase { color: var(--dk-text-secondary); }
[data-theme="dark"] .hint-text { color: var(--dk-text-muted); }

/* Dark mode modals */
[data-theme="dark"] .modal-content {
    background: var(--dk-bg-surface);
    border: 1px solid var(--dk-border);
}
[data-theme="dark"] .modal-title { color: var(--dk-text-heading); }

/* Dark mode form inputs */
[data-theme="dark"] .form-input {
    background: var(--dk-bg-input);
    border-color: var(--dk-border);
    color: var(--dk-text-primary);
}

/* Dark mode filter inputs */
[data-theme="dark"] .filter-input {
    background: var(--dk-bg-input);
    border-color: var(--dk-border);
    color: var(--dk-text-primary);
}
[data-theme="dark"] .filter-select {
    background: var(--dk-bg-input);
    border-color: var(--dk-border);
    color: var(--dk-text-primary);
}

/* Dark mode warning boxes */
[data-theme="dark"] .warning-box {
    background: #3d3520;
    color: var(--dk-accent-amber);
    border-color: #5a4d28;
}

/* Dark mode subsection title */
[data-theme="dark"] .subsection-title { color: var(--dk-text-heading); }

/* Dark mode cart inputs */
[data-theme="dark"] .cart-input {
    background: var(--dk-bg-input);
    border-color: var(--dk-border);
    color: var(--dk-text-primary);
}
[data-theme="dark"] .cart-select {
    background: var(--dk-bg-input);
    border-color: var(--dk-border);
    color: var(--dk-text-primary);
}

/* ══════════════════════════════════════════════════════════════
   ORDERS PAGE - Dark Mode Overrides
   ══════════════════════════════════════════════════════════════ */
[data-theme="dark"] .panel {
    background: var(--dk-bg-surface);
    box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}
[data-theme="dark"] .panel-title {
    color: var(--dk-text-heading);
}
[data-theme="dark"] .entry-grid label,
[data-theme="dark"] .settings-grid label {
    color: var(--dk-text-muted);
}
[data-theme="dark"] .entry-grid input,
[data-theme="dark"] .entry-grid select,
[data-theme="dark"] .settings-grid input,
[data-theme="dark"] .settings-grid select {
    background: var(--dk-bg-input);
    border-color: var(--dk-border);
    color: var(--dk-text-primary);
}
[data-theme="dark"] .kbd-hint {
    color: var(--dk-text-muted);
}
[data-theme="dark"] kbd {
    background: var(--dk-bg-raised);
    border-color: var(--dk-border);
    color: var(--dk-text-primary);
}
[data-theme="dark"] .cart-table th {
    background: var(--dk-bg-raised);
    color: var(--dk-text-muted);
    border-color: var(--dk-border);
}
[data-theme="dark"] .cart-table td {
    border-color: var(--dk-border-soft);
}
[data-theme="dark"] .cart-table td input {
    background: var(--dk-bg-input);
    border-color: var(--dk-border);
    color: var(--dk-text-primary);
}
[data-theme="dark"] .cart-empty {
    color: var(--dk-text-muted);
}
[data-theme="dark"] .cart-totals {
    border-color: var(--dk-border);
}
[data-theme="dark"] .trow {
    color: var(--dk-text-secondary);
}
[data-theme="dark"] .trow.grand {
    color: var(--dk-text-heading);
    border-color: var(--dk-border);
}
[data-theme="dark"] .trow .lbl {
    color: var(--dk-text-muted);
}
[data-theme="dark"] .disc-type-sel {
    background: var(--dk-bg-input);
    border-color: var(--dk-border);
    color: var(--dk-text-primary);
}
[data-theme="dark"] .report-tab {
    background: var(--dk-bg-surface);
    border-color: var(--dk-border);
    color: var(--dk-text-primary);
}
[data-theme="dark"] .report-tab.active {
    background: #3498db;
    color: #fff;
}
[data-theme="dark"] .report-card {
    background: var(--dk-bg-surface);
    box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}
[data-theme="dark"] .report-card .lbl {
    color: var(--dk-text-muted);
}
[data-theme="dark"] .report-card .val {
    color: var(--dk-text-heading);
}
[data-theme="dark"] .top-table th {
    background: var(--dk-bg-raised);
    color: var(--dk-text-muted);
}
[data-theme="dark"] .top-table td {
    border-color: var(--dk-border-soft);
}
[data-theme="dark"] .modal-box {
    background: var(--dk-bg-surface);
}
[data-theme="dark"] .inv-header h2 {
    color: var(--dk-text-heading);
}
[data-theme="dark"] .inv-header p {
    color: var(--dk-text-muted);
}
[data-theme="dark"] .inv-table th {
    background: var(--dk-bg-raised);
    border-color: var(--dk-border);
}
[data-theme="dark"] .inv-table td {
    border-color: var(--dk-border-soft);
}
[data-theme="dark"] .inv-totals .row {
    color: var(--dk-text-secondary);
}
[data-theme="dark"] .inv-totals .grand {
    color: var(--dk-text-heading);
    border-color: var(--dk-text-heading);
}
[data-theme="dark"] .inv-footer {
    color: var(--dk-text-muted);
}

/* ══════════════════════════════════════════════════════════════
   PRODUCTS PAGE - Dark Mode Overrides
   ══════════════════════════════════════════════════════════════ */
[data-theme="dark"] .filter-bar {
    background: var(--dk-bg-raised);
    border-color: var(--dk-border);
}
[data-theme="dark"] .filter-bar input[type="text"],
[data-theme="dark"] .filter-bar select {
    background: var(--dk-bg-input);
    border-color: var(--dk-border);
    color: var(--dk-text-primary);
}
[data-theme="dark"] .filter-bar .btn-clear {
    background: var(--dk-bg-hover);
    color: var(--dk-text-secondary);
}
[data-theme="dark"] .filter-bar .btn-clear:hover {
    background: var(--dk-border);
}
[data-theme="dark"] .result-count {
    color: var(--dk-text-muted);
}
[data-theme="dark"] .form-section label {
    color: var(--dk-text-secondary);
}
[data-theme="dark"] .form-section input,
[data-theme="dark"] .form-section select {
    background: var(--dk-bg-input);
    border-color: var(--dk-border);
    color: var(--dk-text-primary);
}
[data-theme="dark"] .form-hint {
    color: var(--dk-text-muted);
}
[data-theme="dark"] .cat-badge {
    background: #1a3050;
    color: var(--dk-accent-blue);
}

/* ── Batch sub-rows (Light mode) ──────────────────────────── */
.batch-toggle {
    background: none;
    border: 1px solid #ccc;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.75em;
    padding: 2px 7px;
    margin-left: 6px;
    color: #555;
    transition: all 0.15s;
}
.batch-toggle:hover { background: #e8e8e8; }
.batch-row td {
    background: #f0f6ff;
    padding: 5px 12px;
    font-size: 0.88em;
    border-top: none;
}
.batch-row td:first-child { padding-left: 30px; }
.batch-badge {
    display: inline-block;
    padding: 1px 8px;
    background: #d0e6ff;
    color: #1a5276;
    border-radius: 10px;
    font-size: 0.78em;
    font-weight: 600;
}
.batch-loading {
    color: #888;
    font-style: italic;
}

/* ── Batch sub-rows (Dark mode) ───────────────────────────── */
[data-theme="dark"] .batch-toggle {
    border-color: var(--dk-border);
    color: var(--dk-text-secondary);
    background: var(--dk-bg-raised);
}
[data-theme="dark"] .batch-toggle:hover {
    background: var(--dk-bg-hover);
    color: var(--dk-text-primary);
}
[data-theme="dark"] .batch-row td {
    background: #1a1d27 !important;
    border-color: var(--dk-border-soft);
    color: var(--dk-text-primary);
}
[data-theme="dark"] .batch-badge {
    background: #1a3050 !important;
    color: var(--dk-accent-blue) !important;
}
[data-theme="dark"] .batch-loading {
    color: var(--dk-text-muted);
}

/* ══════════════════════════════════════════════════════════════
   PROFILE PAGE - Dark Mode Overrides
   ══════════════════════════════════════════════════════════════ */
[data-theme="dark"] .profile-card {
    background: var(--dk-bg-surface);
    border-color: var(--dk-border);
}
[data-theme="dark"] .profile-card h3 {
    color: var(--dk-text-heading);
}
[data-theme="dark"] .profile-card .role-tag {
    background: #1a3050;
    color: var(--dk-accent-blue);
}
[data-theme="dark"] .form-group label {
    color: var(--dk-text-secondary);
}
[data-theme="dark"] .form-group input {
    background: var(--dk-bg-input);
    border-color: var(--dk-border);
    color: var(--dk-text-primary);
}
[data-theme="dark"] .divider {
    border-color: var(--dk-border);
}
[data-theme="dark"] .section-label {
    color: var(--dk-text-muted);
}
[data-theme="dark"] .hint {
    color: var(--dk-text-muted);
}

/* ══════════════════════════════════════════════════════════════
   SETTINGS PAGE - Dark Mode Overrides
   ══════════════════════════════════════════════════════════════ */
[data-theme="dark"] .settings-card {
    background: var(--dk-bg-surface);
    border-color: var(--dk-border);
}
[data-theme="dark"] .settings-section-title {
    color: var(--dk-text-heading);
}
[data-theme="dark"] .settings-section-desc {
    color: var(--dk-text-muted);
}
[data-theme="dark"] .theme-option {
    background: var(--dk-bg-raised);
    border-color: var(--dk-border);
}
[data-theme="dark"] .theme-option:hover {
    background: var(--dk-bg-hover);
    border-color: #3498db;
}
[data-theme="dark"] .theme-option-label {
    color: var(--dk-text-primary);
}
[data-theme="dark"] .theme-option-desc {
    color: var(--dk-text-muted);
}
[data-theme="dark"] .theme-option:has(input:checked) {
    background: #1a3050;
    border-color: #3498db;
}
[data-theme="dark"] .theme-option:has(input:checked) .theme-option-label {
    color: var(--dk-accent-blue);
}
[data-theme="dark"] .success-message {
    background: #1a2e20;
    color: var(--dk-accent-green);
    border-color: #2a4030;
}

/* ══════════════════════════════════════════════════════════════
   LOGIN PAGE - Dark Mode Overrides
   ══════════════════════════════════════════════════════════════ */
[data-theme="dark"] .login-wrapper .card {
    background: var(--dk-bg-surface);
    box-shadow: 0 24px 60px rgba(0,0,0,0.5);
}
[data-theme="dark"] .login-wrapper .card-title {
    color: var(--dk-text-heading);
}
[data-theme="dark"] .login-wrapper .card-subtitle {
    color: var(--dk-text-muted);
}
[data-theme="dark"] .login-wrapper .brand p {
    color: var(--dk-text-secondary);
}
[data-theme="dark"] .login-wrapper .hint {
    color: var(--dk-text-secondary);
}
[data-theme="dark"] .login-wrapper .banner {
    background: #2c2210;
    color: var(--dk-accent-amber);
    border-color: #5a4d28;
}
[data-theme="dark"] .login-wrapper label {
    color: var(--dk-text-secondary);
}
[data-theme="dark"] .login-wrapper input[type="email"],
[data-theme="dark"] .login-wrapper input[type="password"] {
    background: var(--dk-bg-input);
    border-color: var(--dk-border);
    color: var(--dk-text-primary);
}
[data-theme="dark"] .login-wrapper input:focus {
    background: var(--dk-bg-raised);
    border-color: #3498db;
}
[data-theme="dark"] .login-wrapper .info-note {
    background: var(--dk-bg-raised);
    color: var(--dk-text-muted);
}
[data-theme="dark"] .login-wrapper .aux-links a {
    color: var(--dk-accent-blue);
}
[data-theme="dark"] .login-wrapper .aux-links a[style*="8e44ad"] {
    color: #c996ff !important;
}
[data-theme="dark"] .login-wrapper .alert-error {
    background: #2e1a1a;
    color: var(--dk-accent-red);
    border-color: #4a2020;
}
[data-theme="dark"] .login-wrapper .alert-success {
    background: #1a2e20;
    color: var(--dk-accent-green);
    border-color: #2a4030;
}
[data-theme="dark"] .login-wrapper .btn-login {
    background: #3498db;
}
[data-theme="dark"] .login-wrapper .btn-login:hover {
    background: #2980b9;
}
[data-theme="dark"] .login-wrapper .btn-alt {
    background: transparent;
    color: var(--dk-text-secondary);
    border-color: var(--dk-border);
}
[data-theme="dark"] .signup-wrapper .card,
[data-theme="dark"] .page .card {
    background: var(--dk-bg-surface);
    color: var(--dk-text-primary);
    border: 1px solid var(--dk-border);
    box-shadow: 0 24px 60px rgba(0,0,0,0.5);
}
[data-theme="dark"] .signup-wrapper .card-title,
[data-theme="dark"] .page .card-title {
    color: var(--dk-text-heading);
}
[data-theme="dark"] .signup-wrapper .card-subtitle,
[data-theme="dark"] .page .card-subtitle {
    color: var(--dk-text-muted);
}
[data-theme="dark"] .signup-wrapper .brand p,
[data-theme="dark"] .page .brand p {
    color: var(--dk-text-secondary);
}
[data-theme="dark"] .signup-wrapper label,
[data-theme="dark"] .page label {
    color: var(--dk-text-secondary);
}
[data-theme="dark"] .signup-wrapper input[type="text"],
[data-theme="dark"] .signup-wrapper input[type="email"],
[data-theme="dark"] .signup-wrapper input[type="password"],
[data-theme="dark"] .page input[type="text"],
[data-theme="dark"] .page input[type="email"],
[data-theme="dark"] .page input[type="password"] {
    background: var(--dk-bg-input);
    border-color: var(--dk-border);
    color: var(--dk-text-primary);
}
[data-theme="dark"] .signup-wrapper input:focus,
[data-theme="dark"] .page input:focus {
    background: var(--dk-bg-raised);
    border-color: var(--dk-accent-blue);
}
[data-theme="dark"] .signup-wrapper .info-note,
[data-theme="dark"] .page .info-note,
[data-theme="dark"] .page .email-badge {
    background: var(--dk-bg-raised) !important;
    color: var(--dk-text-secondary) !important;
    border-color: var(--dk-border) !important;
}
[data-theme="dark"] .signup-wrapper .email-badge {
    background: var(--dk-bg-raised) !important;
    color: var(--dk-text-secondary) !important;
    border-color: var(--dk-border) !important;
}
[data-theme="dark"] .signup-wrapper .step-pill,
[data-theme="dark"] .page .step-pill {
    background: var(--dk-bg-raised) !important;
    color: var(--dk-text-secondary) !important;
    border: 1px solid var(--dk-border-soft) !important;
}
[data-theme="dark"] .signup-wrapper .step-pill.active,
[data-theme="dark"] .page .step-pill.active {
    background: var(--dk-bg-header) !important;
    color: var(--dk-text-heading) !important;
    border-color: var(--dk-border) !important;
}
[data-theme="dark"] .signup-wrapper .back-link,
[data-theme="dark"] .page .back-link,
[data-theme="dark"] .page .timer,
[data-theme="dark"] .page .hint {
    color: var(--dk-text-secondary) !important;
}
[data-theme="dark"] .signup-wrapper .timer,
[data-theme="dark"] .signup-wrapper .hint {
    color: var(--dk-text-secondary) !important;
}
[data-theme="dark"] .page .timer.warning {
    color: var(--dk-accent-red);
}
[data-theme="dark"] .signup-wrapper .timer.warning {
    color: var(--dk-accent-red) !important;
}
[data-theme="dark"] .signup-wrapper .alert-error,
[data-theme="dark"] .page .alert-error {
    background: #2e1a1a;
    color: var(--dk-accent-red);
    border-color: #4a2020;
}
[data-theme="dark"] .signup-wrapper .alert-success,
[data-theme="dark"] .page .alert-success {
    background: #1a2e20;
    color: var(--dk-accent-green);
    border-color: #2a4030;
}
[data-theme="dark"] .signup-wrapper .btn-primary,
[data-theme="dark"] .page .btn-primary {
    background: #2e7fc0;
    color: #fff;
}
[data-theme="dark"] .signup-wrapper .btn-primary:hover,
[data-theme="dark"] .page .btn-primary:hover {
    background: #2980b9;
}
[data-theme="dark"] .page .strength-bar {
    background: var(--dk-border-soft);
}
[data-theme="dark"] .login-wrapper .btn-alt:hover {
    background: var(--dk-bg-raised);
    color: var(--dk-text-primary);
}

/* ══════════════════════════════════════════════════════════════
   ADMIN PAGE - Dark Mode Overrides
   ══════════════════════════════════════════════════════════════ */
[data-theme="dark"] .staff-card {
    background: var(--dk-bg-surface);
    border-color: var(--dk-border);
}
[data-theme="dark"] .staff-card-header {
    background: #1a2030;
}
[data-theme="dark"] .perms-title {
    color: var(--dk-text-muted);
}
[data-theme="dark"] .perm-item {
    color: var(--dk-text-primary);
}
[data-theme="dark"] .slider {
    background: #555;
}
[data-theme="dark"] input:checked + .slider {
    background: var(--dk-accent-green);
}
[data-theme="dark"] .staff-card-footer {
    background: var(--dk-bg-raised);
    border-color: var(--dk-border);
}
[data-theme="dark"] .empty-state {
    color: var(--dk-text-muted);
    background: var(--dk-bg-surface);
    border-color: var(--dk-border);
}
[data-theme="dark"] .add-staff-box {
    background: var(--dk-bg-surface);
    border-color: var(--dk-border);
}
[data-theme="dark"] .perms-body {
    background: var(--dk-bg-surface);
}
[data-theme="dark"] #toast {
    background: #1a2030;
}

/* ── Page body ───────────────────────────────────────────── */
[data-theme="dark"] body {
    background: var(--dk-bg-page);
    color: var(--dk-text-primary);
}

/* ── GLOBAL TEXT VISIBILITY FIX ──────────────────────────── */
/* Ensure ALL text elements are visible in dark mode */

/* Headings should be brightest */
[data-theme="dark"] h1,
[data-theme="dark"] h2,
[data-theme="dark"] h3,
[data-theme="dark"] h4,
[data-theme="dark"] h5,
[data-theme="dark"] h6 {
    color: #ffffff !important;
}

/* ALL text elements - use specific bright color */
[data-theme="dark"] p,
[data-theme="dark"] span,
[data-theme="dark"] div,
[data-theme="dark"] label,
[data-theme="dark"] li,
[data-theme="dark"] code {
    color: #f0f2f8 !important;
}

/* Links */
[data-theme="dark"] a {
    color: #6cb4f8 !important;
}

/* Strong and bold text */
[data-theme="dark"] strong,
[data-theme="dark"] b {
    color: #ffffff !important;
}

/* Tables - FORCE visibility with bright color */
[data-theme="dark"] td,
[data-theme="dark"] th {
    color: #f0f2f8 !important;
}

/* All inputs and form elements */
[data-theme="dark"] input,
[data-theme="dark"] select,
[data-theme="dark"] textarea,
[data-theme="dark"] option {
    color: #f0f2f8 !important;
    background: var(--dk-bg-input) !important;
}

/* Make sure text in ANY container is visible */
[data-theme="dark"] .container,
[data-theme="dark"] .card,
[data-theme="dark"] .form-section,
[data-theme="dark"] .filter-bar,
[data-theme="dark"] .modal-content,
[data-theme="dark"] table {
    color: #f0f2f8 !important;
}

/* Override ANY inline style that makes text dark */
[data-theme="dark"] [style*="color"] {
    color: #f0f2f8 !important;
}

/* ── Header ──────────────────────────────────────────────── */
[data-theme="dark"] .header {
    background: var(--dk-bg-header) !important;
    color: #e8eaf0 !important;
    border-bottom: 1px solid var(--dk-border);
}

[data-theme="dark"] .header a { color: #c8cce0 !important; }
[data-theme="dark"] .header a:hover { color: #ffffff !important; }

/* ── Navigation ──────────────────────────────────────────── */
[data-theme="dark"] .nav {
    background: var(--dk-bg-nav) !important;
    border-bottom: 1px solid var(--dk-border);
}

[data-theme="dark"] .nav a { color: #8890a8 !important; }

[data-theme="dark"] .nav a:hover,
[data-theme="dark"] .nav a.active {
    color: #e8eaf0 !important;
    background: var(--dk-bg-nav-act) !important;
}

/* ── Cards ───────────────────────────────────────────────── */
[data-theme="dark"] .card {
    background: var(--dk-bg-surface) !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.5);
    border: 1px solid var(--dk-border-soft) !important;
}

[data-theme="dark"] .card h2 { color: var(--dk-text-heading) !important; }
[data-theme="dark"] .card p  { color: var(--dk-text-primary) !important; }

/* Stat card specifics */
[data-theme="dark"] .card-label { color: var(--dk-text-secondary) !important; }
[data-theme="dark"] .card-value { color: var(--dk-text-heading) !important; }
[data-theme="dark"] .card-sub   { color: var(--dk-text-secondary) !important; }

[data-theme="dark"] .card-icon-blue   { background: #0e2035; }
[data-theme="dark"] .card-icon-yellow { background: #28200a; }
[data-theme="dark"] .card-icon-red    { background: #2a1010; }
[data-theme="dark"] .card-icon-orange { background: #281808; }
[data-theme="dark"] .card-icon-green  { background: #0a2018; }
[data-theme="dark"] .card-icon-purple { background: #1c1030; }

/* Alert-tinted cards */
[data-theme="dark"] .card-alert {
    background: linear-gradient(135deg, #2a2410 0%, #342a08 100%);
    border-left-color: var(--dk-accent-amber);
}
[data-theme="dark"] .card-alert p,
[data-theme="dark"] .card-alert .card-value { color: var(--dk-accent-amber); }

[data-theme="dark"] .card-expired {
    background: linear-gradient(135deg, #2e1414 0%, #361010 100%);
    border-left-color: var(--dk-accent-red);
}
[data-theme="dark"] .card-expired p,
[data-theme="dark"] .card-expired .card-value { color: var(--dk-accent-red); }

[data-theme="dark"] .card-expiring {
    background: linear-gradient(135deg, #2e1c0c 0%, #361e0a 100%);
    border-left-color: var(--dk-accent-orange);
}
[data-theme="dark"] .card-expiring p,
[data-theme="dark"] .card-expiring .card-value { color: var(--dk-accent-orange); }

/* ── Tables ──────────────────────────────────────────────── */
[data-theme="dark"] table {
    background: var(--dk-bg-surface) !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.4);
    color: #f0f2f8 !important;
}

[data-theme="dark"] th {
    background: var(--dk-bg-header) !important;
    color: #ffffff !important;
    border-bottom: 2px solid var(--dk-border);
}

[data-theme="dark"] td {
    color: #f0f2f8 !important;
    border-bottom-color: var(--dk-border-soft);
}

[data-theme="dark"] td * {
    color: #f0f2f8 !important;
}

[data-theme="dark"] tr:hover { 
    background: var(--dk-bg-hover) !important; 
}

[data-theme="dark"] tr:hover td {
    color: #ffffff !important;
}

/* ── Forms & inputs ──────────────────────────────────────── */
[data-theme="dark"] .form-section {
    background: var(--dk-bg-surface) !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.4);
    border: 1px solid var(--dk-border-soft) !important;
}

[data-theme="dark"] input,
[data-theme="dark"] select,
[data-theme="dark"] textarea {
    background: var(--dk-bg-input) !important;
    border-color: var(--dk-border) !important;
    color: var(--dk-text-primary) !important;
}

[data-theme="dark"] input:focus,
[data-theme="dark"] select:focus,
[data-theme="dark"] textarea:focus {
    border-color: var(--dk-accent-blue) !important;
    outline: none;
}

[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder {
    color: var(--dk-text-muted) !important;
}

/* ── Buttons — keep coloured, just adjust contrast ───────── */
[data-theme="dark"] .btn-primary { background: #2e7fc0 !important; color: #fff !important; }
[data-theme="dark"] .btn-success { background: #1e8c4a !important; color: #fff !important; }
[data-theme="dark"] .btn-danger  { background: #b83030 !important; color: #fff !important; }
[data-theme="dark"] .btn-warning { background: #b87820 !important; color: #fff !important; }

/* General button text visibility */
[data-theme="dark"] .btn-clear { 
    color: var(--dk-text-primary) !important; 
    background: var(--dk-bg-raised) !important;
}

/* ── Alerts ──────────────────────────────────────────────── */
[data-theme="dark"] .alert-success { background: #0e2a1c; color: #6cda90; border: 1px solid #1e5030; }
[data-theme="dark"] .alert-error   { background: #2e1010; color: #f89090; border: 1px solid #502020; }
[data-theme="dark"] .alert-warning { background: #2c2210; color: #e4b850; border: 1px solid #504418; }

/* ── Alert panel titles ──────────────────────────────────── */
[data-theme="dark"] .alert-title-warning  { background: #2c2210; color: var(--dk-accent-amber); border-left-color: var(--dk-accent-amber); }
[data-theme="dark"] .alert-title-danger   { background: #2e1414; color: var(--dk-accent-red); border-left-color: var(--dk-accent-red); }
[data-theme="dark"] .alert-title-expiring { background: #2e1c0c; color: var(--dk-accent-orange); border-left-color: var(--dk-accent-orange); }

/* ── Status badges ───────────────────────────────────────── */
[data-theme="dark"] .badge-danger  { background: #3e1818 !important; color: #f89898 !important; }
[data-theme="dark"] .badge-orange  { background: #3e2410 !important; color: #f0a060 !important; }
[data-theme="dark"] .badge-warning { background: #3c2e10 !important; color: #e4b850 !important; }
[data-theme="dark"] .badge-success { background: #0e2e1c !important; color: #60d880 !important; }

/* ── Section title ───────────────────────────────────────── */
[data-theme="dark"] .section-title { color: var(--dk-text-heading); }

/* ── Dashboard welcome bar ───────────────────────────────── */
[data-theme="dark"] .dashboard-welcome {
    background: var(--dk-bg-surface);
    border-left-color: var(--dk-accent-blue);
    box-shadow: 0 2px 8px rgba(0,0,0,0.4);
}
[data-theme="dark"] .dashboard-welcome-title { color: var(--dk-text-heading); }
[data-theme="dark"] .dashboard-welcome-sub   { color: var(--dk-text-primary); }
[data-theme="dark"] .dashboard-date          { color: var(--dk-text-secondary); }

/* ── Filter bars (products / orders pages) ───────────────── */
[data-theme="dark"] .filter-bar {
    background: var(--dk-bg-raised);
    border-color: var(--dk-border);
}

/* ── Chatbot quick panel (dashboard sidebar) ─────────────── */
[data-theme="dark"] .cb-quick-panel {
    background: var(--dk-bg-surface);
    box-shadow: 0 2px 10px rgba(0,0,0,0.5);
    border: 1px solid var(--dk-border-soft);
}

[data-theme="dark"] .cb-quick-header {
    background: var(--dk-bg-header);
    color: #d4d8ec;
    border-bottom: 1px solid var(--dk-border);
}

[data-theme="dark"] .cb-quick-desc        { color: var(--dk-text-primary); }
[data-theme="dark"] .cb-quick-group       { border-top-color: var(--dk-border-soft); }
[data-theme="dark"] .cb-quick-group-label { color: var(--dk-text-secondary); }

[data-theme="dark"] .cb-quick-btn {
    background: var(--dk-bg-raised);
    border-color: var(--dk-border);
    color: var(--dk-text-primary);
}
[data-theme="dark"] .cb-quick-btn:hover {
    background: var(--dk-accent-blue);
    border-color: var(--dk-accent-blue);
    color: #fff;
    opacity: 1;
}

[data-theme="dark"] .cb-quick-footer { border-top-color: var(--dk-border-soft); }

/* ── Chatbot floating panel ──────────────────────────────── */
[data-theme="dark"] #cb-panel {
    background: var(--dk-bg-surface);
    box-shadow: 0 8px 40px rgba(0,0,0,0.6);
}
[data-theme="dark"] #cb-header {
    background: #1f2940;
}
[data-theme="dark"] #cb-header-actions button {
    color: rgba(255,255,255,0.9);
}

[data-theme="dark"] #cb-messages {
    background: var(--dk-bg-page);
}
[data-theme="dark"] #cb-messages::-webkit-scrollbar-thumb { background: var(--dk-border); }

/* Bot message bubble */
[data-theme="dark"] .cb-msg-bot {
    background: var(--dk-bg-raised);
    color: var(--dk-text-primary);
    border-color: var(--dk-border);
    box-shadow: none;
}

/* User message bubble stays dark-navy — looks fine in dark too */
[data-theme="dark"] .cb-msg-user {
    background: #2e4a78;
    color: #e8eaf0;
}

/* Typing dots */
[data-theme="dark"] .cb-typing span { background: var(--dk-text-muted); }

/* Suggestions strip */
[data-theme="dark"] #cb-suggestions {
    background: var(--dk-bg-page);
    border-top-color: var(--dk-border-soft);
}
[data-theme="dark"] #cb-suggestions button {
    background: var(--dk-bg-raised);
    border-color: var(--dk-border);
    color: var(--dk-text-primary);
}
[data-theme="dark"] #cb-suggestions button:hover {
    background: var(--dk-accent-blue);
    border-color: var(--dk-accent-blue);
    color: #fff;
    opacity: 1;
}

/* Input row */
[data-theme="dark"] #cb-input-row {
    background: var(--dk-bg-surface);
    border-top-color: var(--dk-border-soft);
}
[data-theme="dark"] #cb-input {
    background: var(--dk-bg-input);
    border-color: var(--dk-border);
    color: var(--dk-text-primary);
}
[data-theme="dark"] #cb-input:focus {
    border-color: var(--dk-accent-blue);
    background: #1a2040;
}
[data-theme="dark"] #cb-input::placeholder { color: var(--dk-text-muted); }

/* Help panel */
[data-theme="dark"] #cb-help-panel {
    background: var(--dk-bg-page);
    border-top-color: var(--dk-border-soft);
}
[data-theme="dark"] #cb-help-toggle { color: var(--dk-text-muted); }
[data-theme="dark"] #cb-help-toggle:hover { color: var(--dk-text-primary); }
[data-theme="dark"] #cb-help-content { border-top-color: var(--dk-border-soft); }
[data-theme="dark"] .cb-help-section strong { color: var(--dk-text-muted); }
[data-theme="dark"] .cb-help-section span { color: #6caade; }

/* ── Profile page ────────────────────────────────────────── */
[data-theme="dark"] .profile-card {
    background: var(--dk-bg-surface);
    border-color: var(--dk-border);
    box-shadow: 0 2px 12px rgba(0,0,0,0.5);
}
[data-theme="dark"] .profile-card h3 { color: var(--dk-text-heading); }
[data-theme="dark"] .profile-card .role-tag { background: #1a2e48; color: var(--dk-accent-blue); }
[data-theme="dark"] .form-group label { color: var(--dk-text-primary); }
[data-theme="dark"] .form-group input {
    background: var(--dk-bg-input);
    border-color: var(--dk-border);
    color: var(--dk-text-primary);
}
[data-theme="dark"] .section-label { color: var(--dk-text-secondary); }
[data-theme="dark"] hr.divider { border-top-color: var(--dk-border-soft); }
[data-theme="dark"] .hint { color: var(--dk-text-secondary); }

/* ── Theme settings card (in profile page) ───────────────── */
.theme-settings-card {
    background: #fff;
    border-radius: 10px;
    padding: 24px 28px;
    max-width: 520px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.07);
    border: 1px solid #e8ecf0;
    margin-top: 20px;
}

[data-theme="dark"] .theme-settings-card {
    background: var(--dk-bg-surface);
    border-color: var(--dk-border);
    box-shadow: 0 2px 12px rgba(0,0,0,0.5);
}

.theme-option {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 8px;
    border: 1.5px solid #e0e4ec;
    margin-bottom: 10px;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s;
    background: #f8f9fc;
}

.theme-option:hover { border-color: #3498db; background: #f0f7ff; }

.theme-option input[type="radio"] {
    width: 16px;
    height: 16px;
    margin: 0;
    cursor: pointer;
    accent-color: #3498db;
    flex-shrink: 0;
}

.theme-option input[type="radio"]:checked + .theme-option-icon + .theme-option-text .theme-option-label {
    color: #2980b9;
    font-weight: 700;
}

.theme-option-icon {
    font-size: 20px;
    width: 32px;
    text-align: center;
    flex-shrink: 0;
}

.theme-option-text { flex: 1; }

.theme-option-label {
    font-size: 14px;
    font-weight: 600;
    color: #2c3e50;
    display: block;
}

.theme-option-desc {
    font-size: 12px;
    color: #888;
    margin-top: 1px;
}

[data-theme="dark"] .theme-option {
    background: var(--dk-bg-raised);
    border-color: var(--dk-border);
}
[data-theme="dark"] .theme-option:hover {
    border-color: var(--dk-accent-blue);
    background: #1a2540;
}
[data-theme="dark"] .theme-option-label { color: var(--dk-text-heading); }
[data-theme="dark"] .theme-option-desc  { color: var(--dk-text-muted); }

/* Highlight selected option */
.theme-option:has(input:checked) {
    border-color: #3498db;
    background: #eaf4fe;
}
[data-theme="dark"] .theme-option:has(input:checked) {
    border-color: var(--dk-accent-blue);
    background: #0e2035;
}

/* ── Admin page: staff cards ─────────────────────────────── */
[data-theme="dark"] .staff-card {
    background: var(--dk-bg-surface);
    border-color: var(--dk-border);
}

/* ── Login page ──────────────────────────────────────────── */
[data-theme="dark"] .login-box,
[data-theme="dark"] form.login-form {
    background: var(--dk-bg-surface);
    box-shadow: 0 4px 20px rgba(0,0,0,0.5);
}

/* ── Settings page ───────────────────────────────────────── */
[data-theme="dark"] .settings-card {
    background: var(--dk-bg-surface);
    border-color: var(--dk-border);
    box-shadow: 0 2px 12px rgba(0,0,0,0.5);
}

[data-theme="dark"] .settings-section-title { color: var(--dk-text-heading); }
[data-theme="dark"] .settings-section-desc { color: var(--dk-text-primary); }

[data-theme="dark"] .theme-option {
    background: var(--dk-bg-raised);
    border-color: var(--dk-border);
}

[data-theme="dark"] .theme-option:hover {
    border-color: var(--dk-accent-blue);
    background: #1a2540;
}

[data-theme="dark"] .theme-option-label { color: var(--dk-text-heading); }
[data-theme="dark"] .theme-option-desc  { color: var(--dk-text-secondary); }

[data-theme="dark"] .theme-option:has(input:checked) {
    border-color: var(--dk-accent-blue);
    background: #1a2e48;
}

[data-theme="dark"] .success-message {
    background: #0e2a1c;
    color: #6cda90;
    border-color: #1e5030;
}

/* ── Products page specific styles ──────────────────────── */
[data-theme="dark"] .form-section label { color: var(--dk-text-primary); }
[data-theme="dark"] .form-hint { color: var(--dk-text-secondary); }
[data-theme="dark"] .result-count { color: var(--dk-text-secondary); }
[data-theme="dark"] .cat-badge {
    background: #1a2e48;
    color: var(--dk-accent-blue);
}
[data-theme="dark"] .required-star { color: var(--dk-accent-red); }

/* ── Form title in products/orders pages ────────────────── */
[data-theme="dark"] #formTitle { color: var(--dk-text-heading); }

/* ── Body text color ────────────────────────────────────── */
[data-theme="dark"] body { color: var(--dk-text-primary); }

/* ── Orders page specific styles ────────────────────────── */
[data-theme="dark"] .page-btn {
    background: var(--dk-bg-surface) !important;
    border-color: #3a4258 !important;
    color: #d0d5e6 !important;
}
[data-theme="dark"] .page-btn:hover {
    background: var(--dk-bg-hover) !important;
    color: #ffffff !important;
}
[data-theme="dark"] .page-btn.active {
    background: #0b0e16 !important;
    border-color: #0b0e16 !important;
    color: #ffffff !important;
}

[data-theme="dark"] .panel-title { color: var(--dk-text-heading); }
[data-theme="dark"] .entry-grid label,
[data-theme="dark"] .settings-grid label { color: var(--dk-text-secondary); }
[data-theme="dark"] .kbd-hint { color: var(--dk-text-muted); }
[data-theme="dark"] .cart-table th { 
    background: var(--dk-bg-raised); 
    color: var(--dk-text-secondary); 
}
[data-theme="dark"] .cart-empty { color: var(--dk-text-muted); }
[data-theme="dark"] .trow { color: var(--dk-text-primary); }
[data-theme="dark"] .trow.grand { color: var(--dk-text-heading); }
[data-theme="dark"] .trow .lbl { color: var(--dk-text-secondary); }
[data-theme="dark"] .report-card .lbl { color: var(--dk-text-secondary); }
[data-theme="dark"] .report-card .val { color: var(--dk-text-heading); }
[data-theme="dark"] .report-card .val.green { color: var(--dk-accent-green); }
[data-theme="dark"] .report-card .val.blue { color: var(--dk-accent-blue); }
[data-theme="dark"] .top-table th { 
    background: var(--dk-bg-raised); 
    color: var(--dk-text-secondary); 
}
[data-theme="dark"] .inv-header h2 { color: var(--dk-text-heading); }
[data-theme="dark"] .inv-header p { color: var(--dk-text-secondary); }
[data-theme="dark"] .inv-totals .row { color: var(--dk-text-primary); }
[data-theme="dark"] .inv-totals .grand { color: var(--dk-text-heading); }
[data-theme="dark"] .inv-footer { color: var(--dk-text-muted); }

/* ── Orders page discount selector ─────────────────────────── */
[data-theme="dark"] .disc-type-sel {
    background: var(--dk-bg-input);
    border-color: var(--dk-border);
    color: var(--dk-text-primary);
}

/* ── Suppliers page specific styles ─────────────────────── */
[data-theme="dark"] #supplierForm label { color: var(--dk-text-primary) !important; }
[data-theme="dark"] #modalTitle { color: var(--dk-text-heading) !important; }

/* ── Admin page specific styles ─────────────────────────── */
[data-theme="dark"] .staff-card h3 { color: var(--dk-text-heading); }
[data-theme="dark"] .staff-card p { color: var(--dk-text-secondary); }
[data-theme="dark"] .badge-active { background: var(--dk-accent-green); color: #fff; }
[data-theme="dark"] .badge-disabled { background: var(--dk-accent-red); color: #fff; }
[data-theme="dark"] .modal-content label { color: var(--dk-text-primary) !important; }
[data-theme="dark"] .modal-content > div[style*="color:#2c3e50"] { color: var(--dk-text-heading) !important; }
[data-theme="dark"] .modal-content > div[style*="color:#999"] { color: var(--dk-text-secondary) !important; }

/* ── Generic inline style overrides - COMPREHENSIVE ─────── */
/* Override ALL common dark text colors to be visible */
[data-theme="dark"] [style*="color:#000"],
[data-theme="dark"] [style*="color: #000"],
[data-theme="dark"] [style*="color:black"],
[data-theme="dark"] [style*="color: black"],
[data-theme="dark"] [style*="color:#333"],
[data-theme="dark"] [style*="color: #333"],
[data-theme="dark"] [style*="color:#444"],
[data-theme="dark"] [style*="color: #444"],
[data-theme="dark"] [style*="color:#555"],
[data-theme="dark"] [style*="color: #555"],
[data-theme="dark"] [style*="color:#666"],
[data-theme="dark"] [style*="color: #666"],
[data-theme="dark"] [style*="color:#777"],
[data-theme="dark"] [style*="color: #777"] { 
    color: var(--dk-text-primary) !important; 
}

[data-theme="dark"] [style*="color:#888"],
[data-theme="dark"] [style*="color: #888"],
[data-theme="dark"] [style*="color:#7f8c8d"],
[data-theme="dark"] [style*="color: #7f8c8d"],
[data-theme="dark"] [style*="color:#999"],
[data-theme="dark"] [style*="color: #999"],
[data-theme="dark"] [style*="color:#aaa"],
[data-theme="dark"] [style*="color: #aaa"] { 
    color: var(--dk-text-secondary) !important; 
}

[data-theme="dark"] [style*="color:#bbb"],
[data-theme="dark"] [style*="color: #bbb"],
[data-theme="dark"] [style*="color:#ccc"],
[data-theme="dark"] [style*="color: #ccc"] { 
    color: var(--dk-text-muted) !important; 
}

[data-theme="dark"] [style*="color:#2c3e50"],
[data-theme="dark"] [style*="color: #2c3e50"],
[data-theme="dark"] [style*="color:#34495e"],
[data-theme="dark"] [style*="color: #34495e"] { 
    color: var(--dk-text-heading) !important; 
}

/* Warning/Alert colors */
[data-theme="dark"] [style*="color:#856404"],
[data-theme="dark"] [style*="color: #856404"] { color: var(--dk-accent-amber) !important; }

/* Background overrides for alert boxes */
[data-theme="dark"] [style*="background:#fff8e1"],
[data-theme="dark"] [style*="background: #fff8e1"] { background: #2c2210 !important; }
[data-theme="dark"] [style*="background:#f8f9fa"],
[data-theme="dark"] [style*="background: #f8f9fa"] { background: var(--dk-bg-raised) !important; }
[data-theme="dark"] [style*="background:#fff"],
[data-theme="dark"] [style*="background: #fff"],
[data-theme="dark"] [style*="background:white"],
[data-theme="dark"] [style*="background: white"] { background: var(--dk-bg-surface) !important; }

/* Border overrides */
[data-theme="dark"] [style*="border:1px solid #ffe082"],
[data-theme="dark"] [style*="border: 1px solid #ffe082"] { border-color: #504418 !important; }
[data-theme="dark"] [style*="border:1px solid #e0e0e0"],
[data-theme="dark"] [style*="border: 1px solid #e0e0e0"],
[data-theme="dark"] [style*="border:1px solid #ccc"],
[data-theme="dark"] [style*="border: 1px solid #ccc"],
[data-theme="dark"] [style*="border:1px solid #ddd"],
[data-theme="dark"] [style*="border: 1px solid #ddd"],
[data-theme="dark"] [style*="border:1px solid #eee"],
[data-theme="dark"] [style*="border: 1px solid #eee"] { 
    border-color: var(--dk-border) !important; 
}

/* ── FINAL CATCH-ALL: Ensure no text is invisible ──────────── */
/* This overrides any missed hardcoded dark colors */
[data-theme="dark"] td,
[data-theme="dark"] th,
[data-theme="dark"] li,
[data-theme="dark"] option,
[data-theme="dark"] code,
[data-theme="dark"] pre {
    color: var(--dk-text-primary);
}

/* Specific element visibility */
[data-theme="dark"] .modal-content,
[data-theme="dark"] .form-section,
[data-theme="dark"] .filter-bar {
    color: var(--dk-text-primary);
}

/* Super admin backup codes visibility in dark mode */
[data-theme="dark"] #backupCodesList {
    background: var(--dk-bg-input) !important;
    color: var(--dk-text-primary) !important;
    border: 1px solid var(--dk-border) !important;
}

[data-theme="dark"] .role-btn {
    background: var(--dk-bg-input) !important;
    color: var(--dk-text-primary) !important;
    border-color: var(--dk-border) !important;
}

[data-theme="dark"] .role-btn.active {
    background: #39406a !important;
    color: #ffffff !important;
    border-color: #4e5688 !important;
}

/* ============================================================
   PROFESSIONAL DARK THEME - FINAL LAYER
   This section is intentionally last so it wins cleanly.
   ============================================================ */
html[data-theme="dark"] {
    --dk-bg-page: #0b1120;
    --dk-bg-surface: #121a2b;
    --dk-bg-raised: #182235;
    --dk-bg-hover: #22304a;
    --dk-bg-input: #0f1728;
    --dk-bg-header: #0a1020;
    --dk-bg-nav: #0d1526;
    --dk-bg-nav-act: #18243b;
    --dk-text-primary: #e8edf7;
    --dk-text-secondary: #b5c0d4;
    --dk-text-muted: #8b97ad;
    --dk-text-heading: #f8fbff;
    --dk-border: #28354f;
    --dk-border-soft: #1d2940;
    --dk-accent-blue: #67b2ff;
    --dk-accent-blue-strong: #3c8fe8;
    --dk-accent-green: #5fd3a1;
    --dk-accent-red: #f07f86;
    --dk-accent-amber: #e7bb5a;
    --dk-accent-orange: #f29a61;
    --dk-shadow-lg: 0 18px 50px rgba(0, 0, 0, 0.42);
    --dk-shadow-md: 0 10px 24px rgba(0, 0, 0, 0.28);

    /* Chatbot Theme Vars */
    --cb-bg-panel:          #121a2b;
    --cb-bg-msgs:           #0b1120;
    --cb-bg-bubble-bot:     #1d2940;
    --cb-bg-bubble-user:    #3c8fe8;
    --cb-text-bubble-bot:   #e8edf7;
    --cb-text-bubble-user:  #ffffff;
    --cb-border-bubble-bot: #28354f;
    --cb-border:            #28354f;
    --cb-scrollbar:         #22304a;
    --cb-bg-action-table:   rgba(0,0,0,0.3);
    --cb-bg-action-label:   rgba(255,255,255,0.03);
    --cb-text-action-muted: #8b97ad;
    --cb-border-action:     rgba(255,255,255,0.08);
    --cb-bg-btn-no:         rgba(255,255,255,0.1);
    --cb-text-btn-no:       #f1f3f5;
    --cb-bg-btn-no-hover:   rgba(255,255,255,0.2);
    --cb-text-btn-no-hover: #ffffff;
    --cb-text-action-header: #e8edf7;
    --cb-text-action-desc:  #8b97ad;
    --cb-text-danger:       #f07f86;
    --cb-bg-mini-toggle:    #182235;
    --cb-border-mini-toggle: #28354f;
    --cb-text-mini-toggle:  #e8edf7;
    --cb-bg-mini-toggle-hover: #22304a;
    --cb-border-mini-toggle-hover: #3c8fe8;
    --cb-bg-mini-toggle-active: #1a2540;
}

html[data-theme="dark"] body {
    background:
        radial-gradient(circle at top, rgba(72, 124, 212, 0.08), transparent 24%),
        linear-gradient(180deg, #0b1120 0%, #0a1020 100%);
    color: var(--dk-text-primary);
}

html[data-theme="dark"] a {
    color: var(--dk-accent-blue);
}

html[data-theme="dark"] a:hover {
    color: #8bc5ff;
}

html[data-theme="dark"] .header {
    background: rgba(10, 16, 32, 0.94) !important;
    color: var(--dk-text-heading) !important;
    border-bottom: 1px solid var(--dk-border);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.24);
}

html[data-theme="dark"] .header a,
html[data-theme="dark"] .header-user,
html[data-theme="dark"] .role-badge {
    color: var(--dk-text-primary) !important;
}

html[data-theme="dark"] .role-badge {
    background: rgba(103, 178, 255, 0.12);
    border: 1px solid rgba(103, 178, 255, 0.2);
}

html[data-theme="dark"] .nav {
    background: rgba(13, 21, 38, 0.96) !important;
    border-bottom: 1px solid var(--dk-border);
}

html[data-theme="dark"] .nav a {
    color: var(--dk-text-secondary) !important;
    transition: background 0.18s ease, color 0.18s ease;
}

html[data-theme="dark"] .nav a:hover,
html[data-theme="dark"] .nav a.active {
    color: var(--dk-text-heading) !important;
    background: var(--dk-bg-nav-act) !important;
}

html[data-theme="dark"] .card,
html[data-theme="dark"] .panel,
html[data-theme="dark"] .form-section,
html[data-theme="dark"] .modal-content,
html[data-theme="dark"] .modal-box,
html[data-theme="dark"] .settings-card,
html[data-theme="dark"] .theme-settings-card,
html[data-theme="dark"] .profile-card,
html[data-theme="dark"] .staff-card,
html[data-theme="dark"] .add-staff-box,
html[data-theme="dark"] .dashboard-welcome,
html[data-theme="dark"] .cb-quick-panel {
    background: var(--dk-bg-surface) !important;
    color: var(--dk-text-primary) !important;
    border: 1px solid var(--dk-border-soft) !important;
    box-shadow: var(--dk-shadow-md) !important;
}

html[data-theme="dark"] .card h2,
html[data-theme="dark"] .card-title,
html[data-theme="dark"] .modal-title,
html[data-theme="dark"] .panel-title,
html[data-theme="dark"] .section-title,
html[data-theme="dark"] .subsection-title,
html[data-theme="dark"] .dashboard-welcome-title,
html[data-theme="dark"] .settings-section-title,
html[data-theme="dark"] .profile-card h3,
html[data-theme="dark"] .staff-name,
html[data-theme="dark"] .inv-header h2 {
    color: var(--dk-text-heading) !important;
}

html[data-theme="dark"] .card p,
html[data-theme="dark"] .card-subtitle,
html[data-theme="dark"] .dashboard-welcome-sub,
html[data-theme="dark"] .dashboard-date,
html[data-theme="dark"] .settings-section-desc,
html[data-theme="dark"] .hint,
html[data-theme="dark"] .hint-text,
html[data-theme="dark"] .info-note,
html[data-theme="dark"] .email-badge,
html[data-theme="dark"] .mode-help,
html[data-theme="dark"] .inv-header p,
html[data-theme="dark"] .inv-footer,
html[data-theme="dark"] .staff-email,
html[data-theme="dark"] .result-count,
html[data-theme="dark"] .form-hint {
    color: var(--dk-text-secondary) !important;
}

html[data-theme="dark"] .card-label,
html[data-theme="dark"] .card-sub,
html[data-theme="dark"] .report-card .lbl,
html[data-theme="dark"] .trow .lbl,
html[data-theme="dark"] .text-muted,
html[data-theme="dark"] .text-secondary {
    color: var(--dk-text-muted) !important;
}

html[data-theme="dark"] .card-value,
html[data-theme="dark"] .report-card .val,
html[data-theme="dark"] .trow.grand,
html[data-theme="dark"] .inv-totals .grand {
    color: var(--dk-text-heading) !important;
}

html[data-theme="dark"] table {
    background: var(--dk-bg-surface) !important;
    color: var(--dk-text-primary) !important;
    box-shadow: var(--dk-shadow-md) !important;
}

html[data-theme="dark"] th {
    background: var(--dk-bg-header) !important;
    color: var(--dk-text-heading) !important;
    border-bottom: 1px solid var(--dk-border) !important;
}

html[data-theme="dark"] td {
    color: var(--dk-text-primary) !important;
    border-bottom-color: var(--dk-border-soft) !important;
}

html[data-theme="dark"] tr:hover {
    background: rgba(103, 178, 255, 0.08) !important;
}

html[data-theme="dark"] .skeleton {
    background: #182235 !important;
    background-image: linear-gradient(to right, #182235 0%, #22304a 20%, #182235 40%, #182235 100%) !important;
}

html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea,
html[data-theme="dark"] .form-input,
html[data-theme="dark"] .filter-input,
html[data-theme="dark"] .filter-select,
html[data-theme="dark"] .cart-input,
html[data-theme="dark"] .cart-select {
    background: var(--dk-bg-input) !important;
    color: var(--dk-text-primary) !important;
    border: 1px solid var(--dk-border) !important;
    box-shadow: none !important;
}

html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder {
    color: var(--dk-text-muted) !important;
}

html[data-theme="dark"] input:focus,
html[data-theme="dark"] select:focus,
html[data-theme="dark"] textarea:focus,
html[data-theme="dark"] .form-input:focus,
html[data-theme="dark"] .filter-input:focus,
html[data-theme="dark"] .filter-select:focus {
    border-color: var(--dk-accent-blue) !important;
    box-shadow: 0 0 0 3px rgba(103, 178, 255, 0.16) !important;
    outline: none !important;
}

html[data-theme="dark"] label,
html[data-theme="dark"] .form-label,
html[data-theme="dark"] .form-label-uppercase,
html[data-theme="dark"] .entry-grid label,
html[data-theme="dark"] .settings-grid label,
html[data-theme="dark"] .perms-title,
html[data-theme="dark"] .theme-option-label,
html[data-theme="dark"] .section-label {
    color: var(--dk-text-secondary) !important;
}

html[data-theme="dark"] .btn-primary,
html[data-theme="dark"] .btn-success,
html[data-theme="dark"] .btn-danger,
html[data-theme="dark"] .btn-warning,
html[data-theme="dark"] .btn-login,
html[data-theme="dark"] .cb-open-btn {
    color: #ffffff !important;
    border: 1px solid transparent !important;
    box-shadow: none !important;
}

html[data-theme="dark"] .btn-primary,
html[data-theme="dark"] .btn-login,
html[data-theme="dark"] .cb-open-btn {
    background: var(--dk-accent-blue-strong) !important;
}

html[data-theme="dark"] .btn-success {
    background: #2c9b6a !important;
}

html[data-theme="dark"] .btn-danger {
    background: #bf4f58 !important;
}

html[data-theme="dark"] .btn-warning {
    background: #b8832f !important;
}

html[data-theme="dark"] .btn-primary:hover,
html[data-theme="dark"] .btn-success:hover,
html[data-theme="dark"] .btn-danger:hover,
html[data-theme="dark"] .btn-warning:hover,
html[data-theme="dark"] .btn-login:hover,
html[data-theme="dark"] .cb-open-btn:hover {
    filter: brightness(1.08);
    opacity: 1 !important;
}

html[data-theme="dark"] .alert-success,
html[data-theme="dark"] .success-message {
    background: rgba(95, 211, 161, 0.12) !important;
    color: #8de4bb !important;
    border: 1px solid rgba(95, 211, 161, 0.28) !important;
}

html[data-theme="dark"] .alert-error {
    background: rgba(240, 127, 134, 0.12) !important;
    color: #ffb0b6 !important;
    border: 1px solid rgba(240, 127, 134, 0.24) !important;
}

html[data-theme="dark"] .alert-warning,
html[data-theme="dark"] .warning-box {
    background: rgba(231, 187, 90, 0.12) !important;
    color: #f3cc7d !important;
    color: var(--dk-text-secondary) !important;
    border: 1px solid var(--dk-border) !important;
}

html[data-theme="dark"] .report-tab.active {
    background: rgba(103, 178, 255, 0.16) !important;
    color: var(--dk-text-heading) !important;
    border-color: rgba(103, 178, 255, 0.4) !important;
}

html[data-theme="dark"] .status-badge.pending-badge {
    background: rgba(231, 187, 90, 0.14) !important;
    color: #f0c774 !important;
}

html[data-theme="dark"] .status-badge.completed-badge {
    background: rgba(95, 211, 161, 0.14) !important;
    color: #8de4bb !important;
}

html[data-theme="dark"] .status-badge.cancelled-badge {
    background: rgba(240, 127, 134, 0.14) !important;
    color: #ffb0b6 !important;
}

html[data-theme="dark"] .modal-overlay {
    background: rgba(4, 9, 18, 0.72) !important;
}

html[data-theme="dark"] .top-table th,
html[data-theme="dark"] .cart-table th,
html[data-theme="dark"] .return-table th,
html[data-theme="dark"] .inv-table th {
    background: var(--dk-bg-raised) !important;
    color: var(--dk-text-secondary) !important;
}

html[data-theme="dark"] .top-table td,
html[data-theme="dark"] .cart-table td,
html[data-theme="dark"] .return-table td,
html[data-theme="dark"] .inv-table td {
    color: var(--dk-text-primary) !important;
    border-bottom-color: var(--dk-border-soft) !important;
}

/* Light mode Chatbot adjustments for the action table */
html:not([data-theme="dark"]) {
    --cb-bg-action-table: #f8f9fa;
    --cb-bg-action-label: #f1f3f5;
    --cb-text-action-muted: #6c757d;
    --cb-border-action: #dee2e6;
    --cb-text-bubble-bot: #212529;
    --cb-bg-btn-no: #f1f3f5;
    --cb-text-btn-no: #4a5568;
    --cb-bg-btn-no-hover: #e2e8f0;
    --cb-text-btn-no-hover: #1a202c;
}

/* ══════════════════════════════════════════════════════════════
   ZEN MODE - Distraction-free full-screen mode
   ══════════════════════════════════════════════════════════════ */
body.zen-mode .header, 
body.zen-mode .nav { 
    display: none !important; 
}

body.zen-mode .container {
    max-width: 1400px;
    margin: 0 auto;
    padding-top: 20px;
}

.zen-toggle-wrapper {
    cursor: pointer;
    background: rgba(255,255,255,0.08);
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 12px;
    border: 1px solid rgba(255,255,255,0.15);
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    color: rgba(255,255,255,0.7);
}

.zen-toggle-wrapper:hover {
    background: rgba(255,255,255,0.15);
    border-color: rgba(255,255,255,0.3);
    color: #fff;
    transform: translateY(-1px);
}

#zen-restore-btn {
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background: #3498db;
    color: white;
    padding: 6px 20px;
    border-bottom-left-radius: 12px;
    border-bottom-right-radius: 12px;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
    z-index: 10000;
    display: none;
    box-shadow: 0 4px 15px rgba(0,0,0,0.3);
    text-transform: uppercase;
    letter-spacing: 1px;
    border: 1px solid rgba(255,255,255,0.2);
    border-top: none;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    align-items: center;
}

#zen-restore-btn:hover {
    background: #2980b9;
    padding-top: 10px;
    box-shadow: 0 6px 20px rgba(0,0,0,0.4);
}

body.zen-mode #zen-restore-btn {
    display: flex;
}

[data-theme="dark"] #zen-restore-btn {
    background: var(--dk-accent-blue);
    color: #000;
    border-color: rgba(0,0,0,0.1);
}
[data-theme="dark"] #zen-restore-btn:hover {
    background: #8cc8ff;
}



/* ── Dark Mode: Notifications ───────────────────────────── */
[data-theme="dark"] .notif-dropdown {
    background: #1a1d27;
    border-color: #2c3050;
    color: #f0f2f8;
}
[data-theme="dark"] .notif-header {
    border-bottom-color: #2c3050;
}
[data-theme="dark"] .notif-item {
    border-bottom-color: #222640;
}
[data-theme="dark"] .notif-item:hover {
    background: #2a2f45;
}
[data-theme="dark"] .notif-item.unread {
    background: #1a3050;
    border-left-color: #6cb4f8;
}
[data-theme="dark"] .notif-message {
    color: #b4b9d0;
}
[data-theme="dark"] .notif-time {
    color: #8a90b0;
}


/* -- Global Unified Pill Tabs ----------------------------- */
.report-tab, .page-btn, .tab-btn {
    padding: 7px 18px !important;
    border-radius: 20px !important;
    border: 1px solid #3498db !important;
    background: transparent !important;
    color: #3498db !important;
    font-weight: 700 !important;
    font-size: 12.5px !important;
    cursor: pointer;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.report-tab:hover, .page-btn:hover, .tab-btn:hover {
    background: rgba(52, 152, 219, 0.08) !important;
}

.report-tab.active, .page-btn.active, .tab-btn.active {
    background: #3498db !important;
    color: #ffffff !important;
    box-shadow: 0 4px 10px rgba(52, 152, 219, 0.3) !important;
}

[data-theme='dark'] .report-tab, 
[data-theme='dark'] .page-btn, 
[data-theme='dark'] .tab-btn {
    border-color: #6cb4f8 !important;
    color: #6cb4f8 !important;
    background: transparent !important;
}

[data-theme='dark'] .report-tab:hover, 
[data-theme='dark'] .page-btn:hover, 
[data-theme='dark'] .tab-btn:hover {
    background: rgba(108, 180, 248, 0.12) !important;
}

[data-theme='dark'] .report-tab.active, 
[data-theme='dark'] .page-btn.active, 
[data-theme='dark'] .tab-btn.active {
    background: #3498db !important;
    color: #ffffff !important;
    border-color: #3498db !important;
}

