/* ══════════════════════════════════════════
   PandaServe Portal — Midnight Blue Theme
   ══════════════════════════════════════════ */

:root {
    --primary: #e2e8f0;
    --accent: #3b82f6;
    --accent-hover: #60a5fa;
    --accent-light: rgba(59,130,246,.15);
    --accent-bg: rgba(37,99,235,.1);
    --light: #0f172a;
    --white: rgba(255,255,255,.06);
    --gray-50: rgba(255,255,255,.03);
    --gray-100: rgba(255,255,255,.06);
    --gray-200: rgba(255,255,255,.1);
    --gray-300: rgba(255,255,255,.15);
    --gray-400: rgba(148,163,184,.8);
    --gray-500: rgba(148,163,184,.9);
    --gray-600: rgba(203,213,225,.85);
    --gray-700: #cbd5e1;
    --gray-800: rgba(255,255,255,.08);
    --success-light: rgba(22,163,74,.15);
    --success-bg: rgba(22,163,74,.08);
    --warning-light: rgba(217,119,6,.15);
    --warning-bg: rgba(217,119,6,.08);
    --danger-light: rgba(220,38,38,.15);
    --danger-bg: rgba(220,38,38,.08);
    --purple-light: rgba(124,58,237,.15);
    --orange-light: rgba(234,88,12,.15);
    --sky-light: rgba(2,132,199,.15);
    --shadow-sm: 0 1px 3px rgba(0,0,0,.3);
    --shadow: 0 2px 8px rgba(0,0,0,.3), 0 4px 16px rgba(0,0,0,.15);
    --shadow-lg: 0 8px 30px rgba(0,0,0,.4);
}

/* ── PAGE BACKGROUND ─────────────────────── */
body {
    background: linear-gradient(135deg, #0f172a 0%, #1e3a5f 35%, #1a2e4a 65%, #0f172a 100%);
    background-attachment: fixed;
    color: #e2e8f0;
}

/* Ambient glow */
body::before {
    content: '';
    position: fixed; top: 0; left: 0; right: 0; bottom: 0;
    background:
        radial-gradient(ellipse 700px 500px at 15% 10%, rgba(37,99,235,.12) 0%, transparent 70%),
        radial-gradient(ellipse 500px 400px at 80% 20%, rgba(124,58,237,.08) 0%, transparent 70%),
        radial-gradient(ellipse 600px 400px at 60% 85%, rgba(2,132,199,.08) 0%, transparent 70%);
    pointer-events: none; z-index: 0;
}
.portal-layout { position: relative; z-index: 1; }

/* ── SIDEBAR (pinned to original dark colors) ── */
.sidebar { background: #0f172a; color: #fff; border-right: none; }
.sidebar-header { border-bottom-color: #1e293b; }
.sidebar-header img { filter: none; }
.sidebar-nav .nav-section { color: #94a3b8; }
.sidebar-nav a { color: #cbd5e1; }
.sidebar-nav a:hover { background: #1e293b; color: #fff; }
.sidebar-nav a.active { background: #2563eb; color: #fff; }
.sidebar-nav a svg { color: inherit; }
.nav-badge { background: #dc2626; color: #fff; }
.sidebar-footer { border-top-color: #1e293b; }
.sidebar-avatar { background: #2563eb; color: #fff; }
.sidebar-user .name { color: #fff; }
.sidebar-user .email { color: #94a3b8; }
.sidebar-logout { color: #94a3b8; }
.sidebar-logout:hover { color: #fff; background: #1e293b; }

/* ── TOP HEADER ──────────────────────────── */
.portal-header {
    background: rgba(15,23,42,.7);
    backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
    border-bottom-color: rgba(255,255,255,.06);
}
.portal-header h1 { color: #f1f5f9; }
.mobile-menu-btn { color: #e2e8f0; }

.header-btn {
    background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.12);
    color: rgba(203,213,225,.85);
}
.header-btn:hover { border-color: var(--accent); color: var(--accent); }

/* ── PANELS / CARDS ──────────────────────── */
.panel {
    background: rgba(255,255,255,.05);
    backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
    border-color: rgba(255,255,255,.08);
}
.panel-header { border-bottom-color: rgba(255,255,255,.06); }
.panel-header h2 { color: #f1f5f9; }

/* ── STAT CARDS ──────────────────────────── */
.stat-card {
    background: rgba(255,255,255,.05);
    backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
    border-color: rgba(255,255,255,.08);
}
.stat-card .stat-value { color: #f1f5f9; }

/* ── SERVICE CARDS ───────────────────────── */
.svc-card {
    background: rgba(255,255,255,.05);
    backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
    border-color: rgba(255,255,255,.08);
}
.svc-card-info h3 { color: #f1f5f9; }
.svc-card-footer { border-top-color: rgba(255,255,255,.06); }

/* ── TABLES ──────────────────────────────── */
.data-table th {
    background: rgba(255,255,255,.03);
    border-bottom-color: rgba(255,255,255,.08);
    color: rgba(148,163,184,.9);
}
.data-table td { border-bottom-color: rgba(255,255,255,.04); }
.data-table tr:hover td { background: rgba(255,255,255,.03); }

/* ── BUTTONS ─────────────────────────────── */
.btn-outline {
    background: rgba(255,255,255,.05);
    color: rgba(203,213,225,.85);
    border-color: rgba(255,255,255,.12);
}
.btn-outline:hover { border-color: var(--accent); color: var(--accent); }
.btn-ghost { color: rgba(148,163,184,.8); }
.btn-ghost:hover { color: var(--accent); background: rgba(59,130,246,.1); }

/* ── FORMS ────────────────────────────────── */
.form-group label { color: rgba(203,213,225,.85); }
.form-group input, .form-group select, .form-group textarea {
    background: rgba(255,255,255,.06);
    border-color: rgba(255,255,255,.12);
    color: #f1f5f9;
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus {
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59,130,246,.15);
    background: rgba(255,255,255,.08);
}
.form-group input::placeholder, .form-group textarea::placeholder { color: rgba(148,163,184,.5); }

/* ── BADGES ──────────────────────────────── */
.badge-success { background: rgba(22,163,74,.15); }
.badge-warning { background: rgba(217,119,6,.15); }
.badge-danger { background: rgba(220,38,38,.15); }
.badge-info { background: rgba(59,130,246,.15); }
.badge-purple { background: rgba(124,58,237,.15); }
.badge-gray { background: rgba(255,255,255,.06); color: rgba(148,163,184,.8); }

/* ── INVOICE DETAIL ──────────────────────── */
.invoice-detail {
    background: rgba(255,255,255,.05);
    backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
    border-color: rgba(255,255,255,.08);
}
.inv-letterhead-logo .inv-logo-text { color: #f1f5f9; }
.inv-letterhead-right { color: rgba(148,163,184,.8); }
.inv-title-bar h2 { color: #f1f5f9; }
.inv-title-bar .inv-number-label { color: rgba(148,163,184,.6); }
.inv-dates-grid dd { color: #f1f5f9; }
.inv-party-name { color: #f1f5f9; }
.inv-party-details { color: rgba(148,163,184,.8); }
.inv-table thead { background: rgba(255,255,255,.03); }
.inv-table th { border-bottom-color: rgba(255,255,255,.08); color: rgba(148,163,184,.8); }
.inv-table td { border-bottom-color: rgba(255,255,255,.04); color: rgba(203,213,225,.85); }
.inv-table .item-name { color: #f1f5f9; }
.inv-totals-row { border-bottom-color: rgba(255,255,255,.06); color: rgba(148,163,184,.8); }
.inv-totals-row.grand { border-top-color: rgba(255,255,255,.1); color: #f1f5f9; }
.inv-totals-row.grand .inv-grand-amount { color: #60a5fa; }
.inv-footer-notes { background: rgba(255,255,255,.03); color: rgba(148,163,184,.8); }
.inv-footer-notes strong { color: rgba(203,213,225,.85); }
.inv-status-banner.paid { background: rgba(22,163,74,.12); color: #4ade80; }
.inv-status-banner.unpaid { background: rgba(217,119,6,.12); color: #fbbf24; }
.inv-status-banner.overdue { background: rgba(220,38,38,.12); color: #f87171; }
.inv-status-banner.refunded { background: rgba(217,119,6,.12); color: #fbbf24; }
.inv-status-banner.cancelled { background: rgba(255,255,255,.04); color: rgba(148,163,184,.8); }

/* ── MODAL ────────────────────────────────── */
.modal-overlay { background: rgba(0,0,0,.6); }
.modal {
    background: rgba(20,30,55,.95);
    backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255,255,255,.1);
}
.modal-header { border-bottom-color: rgba(255,255,255,.06); }
.modal-header h3 { color: #f1f5f9; }
.modal-close { color: rgba(148,163,184,.6); }
.modal-close:hover { color: #f1f5f9; background: rgba(255,255,255,.08); }
.modal-footer { border-top-color: rgba(255,255,255,.06); }

/* ── EMPTY STATE ─────────────────────────── */
.empty-state { color: rgba(148,163,184,.8); }
.empty-state h3 { color: #f1f5f9; }

/* ── TOAST ────────────────────────────────── */
.toast { background: rgba(15,23,42,.95); border: 1px solid rgba(255,255,255,.1); }

/* ── LOGIN PAGE ──────────────────────────── */
.login-card {
    background: rgba(255,255,255,.06);
    backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255,255,255,.1);
}
.login-card h2 { color: #f1f5f9; }
.login-card .login-sub { color: rgba(148,163,184,.8); }
.login-card .login-footer { color: rgba(148,163,184,.7); }
.login-card .login-footer a { color: #60a5fa; }
.login-card .form-group label { color: rgba(203,213,225,.85); }
.login-card .form-group input {
    background: rgba(255,255,255,.06);
    border-color: rgba(255,255,255,.12);
    color: #f1f5f9;
}
.login-card .form-group input:focus {
    border-color: #3b82f6;
    background: rgba(255,255,255,.08);
}
.login-card .form-group input::placeholder { color: rgba(148,163,184,.5); }
.login-card img { filter: none; }
.login-demo { background: rgba(59,130,246,.1); border-color: rgba(59,130,246,.2); color: rgba(203,213,225,.85); }
.login-demo strong { color: #60a5fa; }

/* ── SIDEBAR LOGO (invert for dark bg) ───── */
.sidebar-header img { filter: none; }

/* ── LINKS ───────────────────────────────── */
a { color: #60a5fa; }
a:hover { color: #93c5fd; }

/* ── SCROLLBAR ───────────────────────────── */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: rgba(255,255,255,.02); }
::-webkit-scrollbar-thumb { background: rgba(255,255,255,.1); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,.18); }

/* ── KNOWLEDGE BASE ──────────────────────── */
.kb-cat-card {
    background: rgba(255,255,255,.06) !important;
    border-color: rgba(255,255,255,.1) !important;
}
.kb-cat-card:hover { border-color: #3b82f6 !important; box-shadow: 0 6px 20px rgba(0,0,0,.3) !important; }
.kb-cat-card.active { border-color: #3b82f6 !important; background: rgba(59,130,246,.1) !important; }
.kb-cat-card h3 { color: #f1f5f9; }
.kb-cat-card .kb-cat-count { color: rgba(148,163,184,.8); }

.kb-article-card {
    background: rgba(255,255,255,.05) !important;
    border-color: rgba(255,255,255,.08) !important;
}
.kb-article-card:hover { border-color: #3b82f6 !important; background: rgba(59,130,246,.08) !important; }
.kb-article-icon { background: rgba(255,255,255,.08) !important; color: rgba(148,163,184,.8) !important; }
.kb-article-card:hover .kb-article-icon { background: #3b82f6 !important; color: #fff !important; }
.kb-article-info h3 { color: #f1f5f9; }
.kb-article-info .kb-preview { color: rgba(148,163,184,.8) !important; }
.kb-article-views { color: rgba(148,163,184,.6) !important; }

.kb-detail-header h2 { color: #f1f5f9; }
.kb-detail-content { color: #e2e8f0 !important; }
.kb-detail-content strong { color: #f1f5f9 !important; }
.kb-detail-content a { color: #60a5fa !important; }

.kb-helpful { color: rgba(148,163,184,.8); }
.kb-helpful-btns button {
    background: rgba(255,255,255,.06) !important; border-color: rgba(255,255,255,.1) !important;
    color: rgba(203,213,225,.85) !important;
}
.kb-helpful-btns button:hover { border-color: #3b82f6 !important; color: #60a5fa !important; }

.kb-print-btn {
    background: rgba(255,255,255,.06) !important; border-color: rgba(255,255,255,.1) !important;
    color: rgba(203,213,225,.85) !important;
}
.kb-print-btn:hover { border-color: #3b82f6 !important; color: #60a5fa !important; }

.kb-tag { background: rgba(59,130,246,.12) !important; color: #60a5fa !important; }
.kb-search-wrap input { background: #fff !important; color: #0f172a !important; border: 2px solid #e2e8f0 !important; box-shadow: 0 4px 20px rgba(0,0,0,.3) !important; border-radius: 12px !important; }
.kb-search-wrap input:focus { border-color: #3b82f6 !important; }
.kb-search-wrap input::placeholder { color: #64748b !important; }
.kb-search-wrap svg { color: #64748b !important; }

/* ── PAY MODAL (keep dark theme, make readable) ── */
#payModal > div > div {
    background: rgba(20,30,55,.97) !important;
    backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255,255,255,.1) !important;
    color: #e2e8f0 !important;
}
#payModal h3 { color: #f1f5f9 !important; }
#payModal button[onclick*="closePayModal"] { color: rgba(148,163,184,.7) !important; }
#payModal label, #payModal [style*="font-weight:600"] { color: rgba(203,213,225,.9) !important; }
#payModal [style*="font-weight:700"] { color: #f1f5f9 !important; }
#payModal [style*="color:var(--gray-400)"] { color: rgba(148,163,184,.7) !important; }
#payModal [style*="color:var(--gray-500)"] { color: rgba(148,163,184,.8) !important; }
#payModal [style*="border:1.5px solid var(--gray-200)"] { border-color: rgba(255,255,255,.12) !important; background: rgba(255,255,255,.06) !important; }
#payModal [style*="background:#fff"][style*="border-radius:12px"] { background: rgba(255,255,255,.06) !important; border-color: rgba(255,255,255,.12) !important; }
#payModal [style*="background:#eff6ff"] { background: rgba(37,99,235,.12) !important; }
#payModal [style*="background:var(--gray-50)"] { background: rgba(255,255,255,.04) !important; }
#payModal [style*="background:var(--accent-bg)"] { background: rgba(59,130,246,.1) !important; }
#payModal #invoiceStripeCard { background: #fff !important; border-color: #e2e8f0 !important; color: #0f172a !important; border-radius: 8px !important; }
#payModal #invoiceStripeCard iframe { background: #fff !important; }
#payModal #invoiceStripeError { color: #f87171 !important; }
#payModal #payError { color: #f87171 !important; }
#payModal input { background: rgba(255,255,255,.08) !important; border-color: rgba(255,255,255,.15) !important; color: #f1f5f9 !important; }
#payModal [style*="color:#2563eb"] { color: #60a5fa !important; }
#payModal [style*="color:var(--accent)"] { color: #60a5fa !important; }
#payModal [style*="text-align:center"][style*="color:var(--gray-400)"] { color: rgba(148,163,184,.6) !important; }
#payModal #payMethodChooser button { background: rgba(255,255,255,.06) !important; border-color: rgba(255,255,255,.12) !important; color: #e2e8f0 !important; }
#payModal #payMethodChooser button:hover { border-color: rgba(255,255,255,.3) !important; }
#payModal #payMethodChooser [style*="font-weight:700"] { color: inherit !important; }
#payModal #payMethodChooser [style*="color:#008CFF"] { color: #008CFF !important; }
#payModal #payMethodChooser [style*="color:#00D632"] { color: #00D632 !important; }
#payModal #payMethodChooser [style*="color:#6D1ED4"] { color: #6D1ED4 !important; }
#payModal #payMethodChooser [style*="color:var(--gray-400)"] { color: rgba(148,163,184,.6) !important; }
#payModal a { color: #60a5fa !important; }

/* ── BOUQUET MANAGER MODAL (force readable) ── */
#bouquetModal, #bouquetModal * { color: #0f172a !important; }
#bouquetModal > div { background: #fff !important; }
#bouquetModal h3 { color: #0f172a !important; }
#bouquetModal label { color: #334155 !important; }
#bouquetModal input[type="checkbox"] { accent-color: #2563eb !important; }

/* ── ANNOUNCEMENTS (dashboard) ────────────── */
[style*="background:#eff6ff"], [style*="background:#fffbeb"], [style*="background:#fef2f2"] {
    background: rgba(255,255,255,.06) !important;
    border-color: rgba(255,255,255,.1) !important;
}
[style*="color:#1e40af"] { color: #93c5fd !important; }
[style*="color:#92400e"] { color: #fbbf24 !important; }
[style*="color:#991b1b"] { color: #fca5a5 !important; }
[style*="border:1.5px solid #bfdbfe"] { border-color: rgba(59,130,246,.2) !important; }
[style*="border:1.5px solid #fde68a"] { border-color: rgba(217,119,6,.2) !important; }
[style*="border:1.5px solid #fecaca"] { border-color: rgba(220,38,38,.2) !important; }

/* ── SELECT dropdowns (ensure readable) ───── */
select { color: #f1f5f9 !important; background: rgba(255,255,255,.05) !important; border-color: rgba(255,255,255,.15) !important; }
select option { background: #1e293b !important; color: #e2e8f0 !important; }

/* ── Tickets page (tickets.html) — override hardcoded --crisp-* vars ── */
:root {
    --crisp-blue: #60a5fa !important;
    --crisp-blue-light: rgba(96,165,250,.15) !important;
    --crisp-blue-dark: #3b82f6 !important;
    --crisp-bg: rgba(255,255,255,.04) !important;
    --crisp-card: rgba(255,255,255,.05) !important;
    --crisp-border: rgba(255,255,255,.1) !important;
    --crisp-text: #e2e8f0 !important;
    --crisp-muted: rgba(203,213,225,.75) !important;
}
/* Priority & status badges */
.tkt-priority.p-high { background: rgba(234,88,12,.15) !important; color: #fb923c !important; }
.tkt-priority.p-urgent { background: rgba(220,38,38,.15) !important; color: #f87171 !important; }
.tkt-priority.p-low { background: rgba(255,255,255,.06) !important; color: rgba(148,163,184,.8) !important; }
.tkt-priority.p-medium { background: rgba(59,130,246,.15) !important; color: #60a5fa !important; }
.tkt-status.s-open, .tkt-status.s-customer-reply { background: rgba(245,158,11,.15) !important; color: #fbbf24 !important; }
.tkt-status.s-closed { background: rgba(34,197,94,.15) !important; color: #4ade80 !important; }
.tkt-status.s-on-hold { background: rgba(255,255,255,.06) !important; color: rgba(148,163,184,.85) !important; }

/* List page */
.tkt-row-status { box-shadow: 0 0 0 3px rgba(255,255,255,.04) !important; }
.tkt-row:hover { background: rgba(255,255,255,.05) !important; }
.tkt-row-subject h4 { color: #ffffff !important; }
.tkt-row-subject .tkt-row-meta { color: rgba(203,213,225,.65) !important; }
.tkt-row-time { color: rgba(203,213,225,.65) !important; }
.tkt-table { background: rgba(255,255,255,.04) !important; border-color: rgba(255,255,255,.1) !important; }

/* Ticket detail — header card */
.tkt-header-card { background: rgba(255,255,255,.05) !important; border-color: rgba(255,255,255,.1) !important; }
.tkt-header-card h2 { color: #ffffff !important; }
.tkt-header-card .tkt-header-meta span { color: rgba(203,213,225,.75) !important; }
.tkt-header-props { border-top-color: rgba(255,255,255,.1) !important; }
.tkt-header-props div { color: rgba(203,213,225,.65) !important; }
.tkt-header-props strong { color: #e2e8f0 !important; }

/* Message thread */
.tkt-thread { background: rgba(255,255,255,.03) !important; border-color: rgba(255,255,255,.1) !important; }
.tkt-msg { border-bottom-color: rgba(255,255,255,.08) !important; }
.tkt-msg.is-staff { background: rgba(59,130,246,.08) !important; }
.tkt-msg.is-customer { background: transparent !important; }
.tkt-msg.is-customer .tkt-avatar { background: rgba(255,255,255,.08) !important; color: #cbd5e1 !important; }
.tkt-msg-who { color: #e2e8f0 !important; }
.tkt-msg-role { color: rgba(203,213,225,.6) !important; }
.tkt-msg-time { color: rgba(203,213,225,.55) !important; }
.tkt-msg-body { color: #e2e8f0 !important; }
.tkt-msg-body a { color: #60a5fa !important; }

/* Attachments */
.tkt-attach-item { background: rgba(255,255,255,.06) !important; border-color: rgba(255,255,255,.12) !important; color: #e2e8f0 !important; }
.tkt-attach-item:hover { border-color: #60a5fa !important; color: #60a5fa !important; }
.tkt-attach-img span { color: rgba(203,213,225,.7) !important; }

/* Reply box */
.tkt-reply-box { background: rgba(255,255,255,.05) !important; border-color: rgba(255,255,255,.1) !important; }
.tkt-reply-box textarea { background: rgba(255,255,255,.04) !important; color: #e2e8f0 !important; border-color: rgba(255,255,255,.15) !important; }
.tkt-reply-box textarea:focus { background: rgba(255,255,255,.06) !important; border-color: #60a5fa !important; }
.tkt-reply-box textarea::placeholder { color: rgba(148,163,184,.5) !important; }

/* Quick reply chips */
.tkt-quick-chip { background: rgba(255,255,255,.04) !important; border-color: rgba(255,255,255,.15) !important; color: rgba(203,213,225,.85) !important; }
.tkt-quick-chip:hover { border-color: #60a5fa !important; color: #60a5fa !important; background: rgba(96,165,250,.1) !important; }

/* Attach button + file chips */
.tkt-attach-btn { background: rgba(255,255,255,.04) !important; border-color: rgba(255,255,255,.15) !important; color: rgba(203,213,225,.85) !important; }
.tkt-attach-btn:hover { border-color: #60a5fa !important; color: #60a5fa !important; }
.tkt-file-chip { background: rgba(255,255,255,.06) !important; border-color: rgba(255,255,255,.12) !important; color: #e2e8f0 !important; }
.tkt-file-chip .tkt-file-remove { color: rgba(203,213,225,.6) !important; }

/* Closed banner */
.tkt-closed-banner { background: rgba(22,163,74,.1) !important; border-color: rgba(74,222,128,.3) !important; color: #e2e8f0 !important; }
.tkt-closed-banner * { color: #e2e8f0 !important; }

/* Search bar + sort dropdown on list */
.tkt-search input { background: rgba(255,255,255,.04) !important; border-color: rgba(255,255,255,.12) !important; color: #e2e8f0 !important; }
.tkt-search input::placeholder { color: rgba(148,163,184,.5) !important; }
.tkt-sort { background: rgba(255,255,255,.04) !important; border-color: rgba(255,255,255,.12) !important; color: #e2e8f0 !important; }

/* Tabs */
.tkt-tab { background: rgba(255,255,255,.04) !important; border-color: rgba(255,255,255,.12) !important; color: rgba(203,213,225,.7) !important; }
.tkt-tab:hover { color: #e2e8f0 !important; border-color: rgba(255,255,255,.25) !important; }
.tkt-tab.active { background: #3b82f6 !important; color: #fff !important; border-color: #3b82f6 !important; }

/* ── Invoices page (invoices.html) ── */
.inv-summary-card { background: rgba(255,255,255,.04) !important; border-color: rgba(255,255,255,.1) !important; color: #e2e8f0 !important; }
.inv-summary-card:hover { border-color: #3b82f6 !important; }
.inv-summary-card .inv-sum-label { color: rgba(203,213,225,.7) !important; }
.inv-summary-card .inv-sum-value { color: #ffffff !important; }
.inv-summary-card .inv-sum-sub { color: rgba(203,213,225,.6) !important; }

/* Invoice tabs (All / Unpaid / Paid / Other) */
.inv-tabs { background: rgba(255,255,255,.04) !important; }
.inv-tab { color: rgba(203,213,225,.7) !important; }
.inv-tab:hover { color: #ffffff !important; }
.inv-tab.active { background: rgba(59,130,246,.2) !important; color: #ffffff !important; box-shadow: 0 1px 3px rgba(0,0,0,.3) !important; }
.inv-tab .inv-tab-count { background: rgba(255,255,255,.08) !important; color: #e2e8f0 !important; }
.inv-tab.active .inv-tab-count { background: rgba(255,255,255,.15) !important; color: #ffffff !important; }

/* "Showing X of Y" text */
#invCount { color: #e2e8f0 !important; }

/* Invoice table rows */
#invoiceTable tbody tr:hover { background: rgba(255,255,255,.04) !important; }
.inv-status-dot.s-unpaid { color: #f87171 !important; }
.inv-status-dot.s-unpaid::before { background: #f87171 !important; }
.inv-status-dot.s-paid { color: #4ade80 !important; }
.inv-status-dot.s-paid::before { background: #4ade80 !important; }
.inv-status-dot.s-refunded { color: #fbbf24 !important; }
.inv-status-dot.s-refunded::before { background: #fbbf24 !important; }
.inv-status-dot.s-cancelled { color: rgba(148,163,184,.8) !important; }
.inv-status-dot.s-cancelled::before { background: rgba(148,163,184,.8) !important; }

/* ── PRINT: revert to light ──────────────── */
@media print {
    body { background: #fff !important; color: #0f172a !important; }
    .panel, .stat-card, .svc-card, .invoice-detail { background: #fff !important; border-color: #e2e8f0 !important; }
}
