/* ═══════════════════════════════════════════════════════════
   DJ ADMIN — THEME SYSTEM
   Dark mode = default (preserves existing account skins).
   Light mode = clean neutral palette applied on top.
   Toggle is applied via data-theme="light" on <body>.
═══════════════════════════════════════════════════════════ */

/* ── Dark mode (default — no overrides needed) ───────────── */
[data-theme="dark"] {
    /* Body */
    --dja-body-bg:            none; /* account skin handles this */
    --dja-body-color:         #fff;

    /* Content panel */
    --dja-content-bg:         rgba(255, 255, 255, 0.10);
    --dja-content-color:      #fff;

    /* Tables */
    --dja-th-bg:              #1E90FF;
    --dja-th-color:           #fff;
    --dja-td-border:          1px solid black;
    --dja-row-odd:            #75BAFD;
    --dja-row-even:           #A7D3FE;
    --dja-row-color:          #000;

    /* Links */
    --dja-link-color:         #FFA500;
    --dja-link-hover:         #F5DEB3;

    /* Status messages */
    --dja-error-bg:           #FFC0CB;
    --dja-error-color:        red;
    --dja-error-border:       red;
    --dja-success-bg:         #9ACD32;
    --dja-success-color:      #006400;
    --dja-success-border:     #006400;
    --dja-amber-bg:           #F5DEB3;
    --dja-amber-color:        orange;
    --dja-amber-border:       orange;
    --dja-outstanding-bg:     maroon;
    --dja-outstanding-color:  #FFB6C1;
    --dja-outstanding-border: #FFB6C1;

    /* Right panel action items */
    --dja-action-bg:          lightpink;
    --dja-action-color:       red;
    --dja-info-bg:            wheat;
    --dja-info-color:         darkorange;
    --dja-complete-bg:        palegreen;
    --dja-complete-color:     black;

    /* Inputs */
    --dja-input-bg:           #fff;
    --dja-input-color:        #000;
    --dja-input-border:       #ccc;

    /* Footer */
    --dja-footer-bg:          #1E90FF;
    --dja-footer-color:       #fff;

    /* Autocomplete */
    --dja-autocomplete-bg:    #fff;
    --dja-autocomplete-color: #000;

    /* HR / dividers */
    --dja-hr-color:           rgba(255, 255, 255, 0.3);
}

/* ── Light mode overrides ────────────────────────────────── */
[data-theme="light"] {
    /* Body — override gradient with clean light background */
    --dja-body-bg:            #f0f4f8;
    --dja-body-color:         #1a2a3a;

    /* Content panel */
    --dja-content-bg:         rgba(255, 255, 255, 0.92);
    --dja-content-color:      #1a2a3a;

    /* Tables */
    --dja-th-bg:              #2a6cc4;
    --dja-th-color:           #fff;
    --dja-td-border:          1px solid #b0c4d8;
    --dja-row-odd:            #ddeeff;
    --dja-row-even:           #eef5ff;
    --dja-row-color:          #1a2a3a;

    /* Links */
    --dja-link-color:         #c06000;
    --dja-link-hover:         #1E90FF;

    /* Status messages — same intent, lighter treatment */
    --dja-error-bg:           #fff0f0;
    --dja-error-color:        #c00;
    --dja-error-border:       #e88;
    --dja-success-bg:         #f0fff0;
    --dja-success-color:      #006400;
    --dja-success-border:     #6a4;
    --dja-amber-bg:           #fffbf0;
    --dja-amber-color:        #a06000;
    --dja-amber-border:       #c8a030;
    --dja-outstanding-bg:     #fff0f4;
    --dja-outstanding-color:  #a00030;
    --dja-outstanding-border: #e08090;

    /* Right panel action items */
    --dja-action-bg:          #ffe0e5;
    --dja-action-color:       #b00020;
    --dja-info-bg:            #fff8e0;
    --dja-info-color:         #a05000;
    --dja-complete-bg:        #e8ffe8;
    --dja-complete-color:     #005000;

    /* Inputs */
    --dja-input-bg:           #fff;
    --dja-input-color:        #1a2a3a;
    --dja-input-border:       #8aabcc;

    /* Footer */
    --dja-footer-bg:          #2a6cc4;
    --dja-footer-color:       #fff;

    /* Autocomplete */
    --dja-autocomplete-bg:    #fff;
    --dja-autocomplete-color: #1a2a3a;

    /* HR / dividers */
    --dja-hr-color:           rgba(0, 0, 0, 0.15);
}

/* ═══════════════════════════════════════════════════════════
   APPLY VARIABLES TO ELEMENTS
   These rules use the variables above. They apply in both
   themes — dark just happens to match the existing values.
═══════════════════════════════════════════════════════════ */

/* ── Body ────────────────────────────────────────────────── */
[data-theme="light"] body {
    background-image: none;
    background-color: var(--dja-body-bg);
    color: var(--dja-body-color);
}

/* ── Content panel ───────────────────────────────────────── */
[data-theme="light"] #djAdminContent {
    background-color: var(--dja-content-bg);
    color: var(--dja-content-color);
}

/* ── Sidebar & right panel (light) ──────────────────────── */
[data-theme="light"] #djAdminMenuInner {
    background: rgba(42, 108, 196, 0.15);
    border-color: rgba(42, 108, 196, 0.30);
}
[data-theme="light"] #djAdminRightInner {
    background: rgba(42, 108, 196, 0.15);
    border-color: rgba(42, 108, 196, 0.30);
}
[data-theme="light"] #djAdminMenu p a,
[data-theme="light"] #djAdminRight p a {
    color: rgba(26, 42, 58, 0.85);
}
[data-theme="light"] #djAdminMenu p:hover a,
[data-theme="light"] #djAdminRight p:hover a {
    color: #1a2a3a;
}
[data-theme="light"] #djAdminMenu p:hover,
[data-theme="light"] #djAdminRight p:hover {
    background: rgba(42, 108, 196, 0.12);
    border-color: rgba(42, 108, 196, 0.25);
}
[data-theme="light"] #djAdminMenu p.menuActive {
    background: rgba(42, 108, 196, 0.22);
    border-color: rgba(42, 108, 196, 0.40);
}
[data-theme="light"] #djAdminMenuBrand .brandName {
    color: #1a2a3a;
}
[data-theme="light"] #djAdminMenuBrand .brandSub {
    color: rgba(26, 42, 58, 0.60);
}
[data-theme="light"] .djAdminMenuDivider {
    background: rgba(26, 42, 58, 0.15);
}
/* Mobile headers stay dark blue — readable on all skins */
[data-theme="light"] #djAdminMenuHeader,
[data-theme="light"] #djAdminActionsHeader {
    background: rgba(42, 108, 196, 0.90);
}
[data-theme="light"] #djAdminMenu {
    background: rgba(220, 232, 248, 0.97);
}
[data-theme="light"] #djAdminRight {
    background: rgba(220, 232, 248, 0.97);
}

/* ── Tables ──────────────────────────────────────────────── */
[data-theme="light"] th {
    background: var(--dja-th-bg);
    color: var(--dja-th-color);
}
[data-theme="light"] table,
[data-theme="light"] th,
[data-theme="light"] td {
    border-color: #b0c4d8;
}
[data-theme="light"] tr:nth-child(odd),
[data-theme="light"] .row1,
[data-theme="light"] .noEntries {
    background: var(--dja-row-odd);
    color: var(--dja-row-color);
}
[data-theme="light"] tr:nth-child(even),
[data-theme="light"] .row2 {
    background: var(--dja-row-even);
    color: var(--dja-row-color);
}

/* ── Table cell text ─────────────────────────────────────── */
[data-theme] td {
    color: #1a2a3a;
}

/* ── Links ───────────────────────────────────────────────── */
[data-theme="light"] a:not(.btn-reorder):link,
[data-theme="light"] a:not(.btn-reorder):visited {
    color: var(--dja-link-color);
}
[data-theme="light"] a:hover,
[data-theme="light"] a:active {
    color: var(--dja-link-hover);
}

/* ── Status messages ─────────────────────────────────────── */
[data-theme="light"] .error {
    background: var(--dja-error-bg);
    color: var(--dja-error-color);
    border-color: var(--dja-error-border);
}
[data-theme="light"] .success {
    background: var(--dja-success-bg);
    color: var(--dja-success-color);
    border-color: var(--dja-success-border);
}
[data-theme="light"] .amber {
    background: var(--dja-amber-bg);
    color: var(--dja-amber-color);
    border-color: var(--dja-amber-border);
}
[data-theme="light"] .outstandingActions {
    background: var(--dja-outstanding-bg);
    color: var(--dja-outstanding-color);
    border-color: var(--dja-outstanding-border);
}

/* ── Right panel action items ────────────────────────────── */
[data-theme="light"] #djAdminRight p.djAdminRightAction {
    background-color: var(--dja-action-bg);
}
[data-theme="light"] p.djAdminRightAction,
[data-theme="light"] p.djAdminRightAction a {
    color: var(--dja-action-color);
}
[data-theme="light"] #djAdminRight p.djAdminRightInfo {
    background-color: var(--dja-info-bg);
}
[data-theme="light"] p.djAdminRightInfo,
[data-theme="light"] p.djAdminRightInfo a {
    color: var(--dja-info-color);
}
[data-theme="light"] #djAdminRight p.djAdminRightComplete {
    background-color: var(--dja-complete-bg);
    color: var(--dja-complete-color);
}
[data-theme="dark"] p.djAdminRightAction,
[data-theme="dark"] p.djAdminRightAction a {
    color: var(--dja-action-color);
}
[data-theme="dark"] p.djAdminRightInfo,
[data-theme="dark"] p.djAdminRightInfo a {
    color: var(--dja-info-color);
}
/* Override djadmin-style.css #djAdminRight p a { color: rgba(255,255,255,0.80) } */
[data-theme] #djAdminRight p.djAdminRightAction a,
[data-theme] #djAdminRight p.djAdminRightAction {
    color: red;
}
[data-theme] #djAdminRight p.djAdminRightInfo a,
[data-theme] #djAdminRight p.djAdminRightInfo {
    color: darkorange;
}

/* ── Dashboard items ─────────────────────────────────────── */
[data-theme="light"] div.djAdminDashboardItem {
    background: rgba(42, 108, 196, 0.12);
    border-color: rgba(42, 108, 196, 0.28);
}
[data-theme="light"] div.djAdminDashboardItem:hover {
    background: rgba(42, 108, 196, 0.22);
    border-color: rgba(42, 108, 196, 0.45);
}
[data-theme="light"] .djAdminDashboardText,
[data-theme="light"] .djAdminDashboardText a {
    color: #1a2a3a;
}
[data-theme="light"] div.djAdminStatsBubble {
    background: rgba(42, 108, 196, 0.10);
    border-color: rgba(42, 108, 196, 0.28);
}
[data-theme="light"] div.djAdminStatsText {
    color: rgba(26, 42, 58, 0.65);
}
[data-theme="light"] div.djAdminStatsFigure {
    color: #1a2a3a;
}

/* ── Inputs / selects ────────────────────────────────────── */
[data-theme="light"] input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
[data-theme="light"] select,
[data-theme="light"] textarea {
    background: var(--dja-input-bg);
    color: var(--dja-input-color);
    border: 1px solid var(--dja-input-border);
}

/* ── Headings & general text ─────────────────────────────── */
[data-theme="light"] h1,
[data-theme="light"] h2,
[data-theme="light"] h3 {
    color: #1a2a3a;
}
[data-theme="light"] .bookingHeader {
    border-top-color: #b0c4d8;
    border-bottom-color: #b0c4d8;
    color: #1a2a3a;
}
[data-theme="light"] p img,
[data-theme="light"] iframe,
[data-theme="light"] table {
    box-shadow: 5px 5px 10px rgba(0,0,0,0.15);
}
[data-theme="light"] .djadmin-scrollable-table {
    box-shadow: 2px 2px 8px rgba(0,0,0,0.12);
}

/* ── Footer ──────────────────────────────────────────────── */
[data-theme="light"] #footer,
[data-theme="light"] #menuButton {
    background: var(--dja-footer-bg);
    color: var(--dja-footer-color);
}

/* ── Autocomplete ────────────────────────────────────────── */
[data-theme="light"] .autocomplete-items div {
    background: var(--dja-autocomplete-bg);
    color: var(--dja-autocomplete-color);
}

/* ── Statistics filter bar in light mode ─────────────────── */
[data-theme="light"] .stat-filter-bar {
    background: #d8e8f4;
    border-color: #a8c4dc;
}
[data-theme="light"] .stat-filter-header {
    background: #b8d0e8;
    border-bottom-color: #a8c4dc;
}
[data-theme="light"] .stat-filter-title {
    color: #1a2a3a;
}
[data-theme="light"] .stat-filter-toggle-btn {
    background: #fff;
    color: #1a2a3a;
    border-color: #8aabcc;
}
[data-theme="light"] .stat-filter-reset-btn {
    background: #ffeaea;
    color: #a00;
    border-color: #e8aaaa;
}
[data-theme="light"] .stat-filter-group-label {
    color: #3a5a7a;
}
[data-theme="light"] .stat-filter-row label,
[data-theme="light"] .stat-filter-checkbox {
    color: #1a2a3a;
}
[data-theme="light"] .stat-filter-note {
    color: #5a7a9a;
}

/* ── Theme toggle button (inline in footer) ──────────────── */
#dja-theme-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.35);
    cursor: pointer;
    font-size: 14px;
    line-height: 1;
    padding: 0;
    vertical-align: middle;
    background: rgba(255, 255, 255, 0.15);
    transition: background 0.2s ease, transform 0.2s ease;
}
#dja-theme-toggle:hover {
    transform: scale(1.15);
    background: rgba(255, 255, 255, 0.28);
}
[data-theme="light"] #dja-theme-toggle {
    background: rgba(42, 108, 196, 0.12);
    border-color: rgba(42, 108, 196, 0.35);
}
[data-theme="light"] #dja-theme-toggle:hover {
    background: rgba(42, 108, 196, 0.25);
}

/* ═══════════════════════════════════════════════════════════
   CSS GRID CALENDAR
   Shared by calendar.php and djadmin-finish.php home page.
═══════════════════════════════════════════════════════════ */
.dja-cal-wrap      { width:100%; overflow-x:auto; overflow-y:visible; margin:10px 0; }
.dja-cal           { display:grid; grid-template-columns:repeat(7,1fr); width:100%; border-left:1px solid #999; border-top:1px solid #999; overflow:visible; }
.dja-cal-header    { background:#1E90FF; color:#fff; font-weight:bold; font-size:11pt; text-align:center; padding:6px 4px; border-right:1px solid #999; border-bottom:1px solid #999; }
.dja-week          { grid-column:1 / -1; display:grid; grid-template-columns:repeat(7,1fr); position:relative; min-height:110px; overflow:visible; }
.dja-day           { border-right:1px solid #999; border-bottom:1px solid #999; padding:4px 5px 30px; min-height:110px; box-sizing:border-box; }
.dja-day-num       { font-size:8pt; display:block; margin-bottom:2px; text-decoration:none; color:#333; }
.dja-day-num:hover { text-decoration:underline; }
.dja-day--past .dja-day-num,
.dja-day--past-out .dja-day-num { color:#666; }
.dja-day--out .dja-day-num      { color:#555; }
.dja-day--future .dja-day-num   { color:#111; font-weight:600; }
.dja-day--today .dja-day-num    { color:#fff; font-weight:700; }

/* ── Month navigation bar ────────────────────────────────── */
.dja-cal-nav         { display:flex; align-items:center; gap:8px; margin:10px 0 8px; }
.dja-cal-nav-btn     { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:6px; background:rgba(255,255,255,0.18); border:1px solid rgba(255,255,255,0.30); color:#fff; text-decoration:none; font-size:22px; line-height:1; transition:background 0.15s; flex-shrink:0; }
.dja-cal-nav-btn:hover { background:rgba(255,255,255,0.32); color:#fff; }
.dja-cal-nav-selects { display:flex; gap:6px; }
.dja-cal-nav-select  { font-size:13px; padding:4px 6px; border-radius:6px; border:1px solid rgba(255,255,255,0.30); background:rgba(255,255,255,0.15); color:#fff; cursor:pointer; }
.dja-cal-nav-select option { background:#1a3a6a; color:#fff; }
[data-theme="light"] .dja-cal-nav-btn    { background:rgba(42,108,196,0.12); border-color:rgba(42,108,196,0.30); color:#1a2a3a; }
[data-theme="light"] .dja-cal-nav-btn:hover { background:rgba(42,108,196,0.25); color:#1a2a3a; }
[data-theme="light"] .dja-cal-nav-select { background:#fff; border-color:#8aabcc; color:#1a2a3a; }
[data-theme="light"] .dja-cal-nav-select option { background:#fff; color:#1a2a3a; }
[data-theme="light"] .dja-day--future .dja-day-num { color:#1a2a3a; }
[data-theme="light"] .dja-day--today .dja-day-num  { color:#fff; }
.dja-day--today    { outline:3px solid gold; outline-offset:-3px; }
.dja-day--past     { background-image:repeating-linear-gradient(45deg,#fff,#fff 5px,#dcdcdc 5px,#dcdcdc 10px); }
.dja-day--past-out { background-image:repeating-linear-gradient(45deg,#c0c0c0,#c0c0c0 5px,#dcdcdc 5px,#dcdcdc 10px); }
.dja-day--out      { background:#c0c0c0; }
.dja-day--future   { background:#fff; }
.dja-event-layer   { position:absolute; top:0; left:0; right:0; bottom:0; pointer-events:none; display:grid; grid-template-columns:repeat(7,1fr); align-content:start; padding-top:22px; gap:2px 0; overflow:visible; }
.dja-event         { pointer-events:all; border-radius:4px; font-size:9pt; font-weight:500; white-space:nowrap; overflow:visible; padding:2px 6px; margin:0 2px; cursor:pointer; position:relative; z-index:2; }
.dja-event a       { color:#fff; text-decoration:none; display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dja-event a:hover { color:rgba(255,255,255,0.85); }
.dja-event:hover   { z-index:50; }
.dja-event--continues::after  { content:" \2192"; opacity:0.7; }
.dja-event--continued::before { content:"\2190 "; opacity:0.7; }
.dja-event .tooltiptext { visibility:hidden; min-width:200px; background:#222; color:#fff; text-align:left; padding:7px 10px; border-radius:6px; position:absolute; z-index:100; bottom:calc(100% + 6px); left:50%; transform:translateX(-50%); opacity:0; transition:opacity 0.15s; font-size:9pt; font-weight:normal; white-space:normal; pointer-events:none; box-shadow:0 3px 10px rgba(0,0,0,0.5); line-height:1.4; }
.dja-event:hover .tooltiptext { visibility:visible; opacity:1; }
[data-theme="light"] .dja-cal-header { background:#2a6cc4; }
[data-theme="light"] .dja-cal,[data-theme="light"] .dja-week,[data-theme="light"] .dja-day { border-color:#b0c4d8; }
[data-theme="light"] .dja-day--future { background:#fff; }
[data-theme="light"] .dja-day-num { color:#1a2a3a; }

/* ═══════════════════════════════════════════════════════════
   COPY BUTTON
═══════════════════════════════════════════════════════════ */
.dja-copy-btn {
    -webkit-appearance: none;
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    min-width: 20px;
    margin-left: 5px;
    padding: 0;
    border: 1px solid rgba(255,255,255,0.30);
    border-radius: 4px;
    background: rgba(255,255,255,0.12);
    color: rgba(255,255,255,0.75);
    cursor: pointer;
    font-size: 11px;
    line-height: 1;
    vertical-align: middle;
    font-family: inherit;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
    box-sizing: border-box;
}
.dja-copy-btn:hover {
    background: rgba(255,255,255,0.25);
    color: #fff;
    border-color: rgba(255,255,255,0.55);
}
.dja-copy-btn.dja-copied {
    background: rgba(80,200,100,0.30);
    border-color: rgba(80,200,100,0.60);
    color: #7ef0a0;
}
[data-theme="light"] .dja-copy-btn {
    border-color: #8aabcc;
    background: rgba(42,108,196,0.08);
    color: #2a6cc4;
}
[data-theme="light"] .dja-copy-btn:hover {
    background: rgba(42,108,196,0.18);
    color: #1a4a9a;
}
[data-theme="light"] .dja-copy-btn.dja-copied {
    background: rgba(40,160,60,0.15);
    border-color: rgba(40,160,60,0.40);
    color: #1a7a30;
}

/* ═══════════════════════════════════════════════════════════
   STATISTICS FILTER BAR
   Dark mode values are the defaults (matching existing design).
   Light mode overrides below.
═══════════════════════════════════════════════════════════ */

/* ── Structure ───────────────────────────────────────────── */
.stat-filter-bar {
    background: #4a6080;
    border: 1px solid #3a4f6a;
    border-radius: 6px;
    margin-bottom: 1.5rem;
    overflow: hidden;
}
.stat-filter-header {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .6rem 1rem;
    background: #3a4f6a;
    border-bottom: 1px solid #2e3f56;
}
.stat-filter-title {
    font-weight: 600;
    font-size: .95rem;
    flex: 1;
    color: #fff;
}
.stat-filter-body {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    padding: 1rem;
}
.stat-filter-group {
    min-width: 180px;
    flex: 1 1 180px;
}
.stat-filter-group-label {
    display: block;
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #c8d8e8;
    margin-bottom: .4rem;
}
.stat-filter-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .4rem;
}
.stat-filter-col {
    display: flex;
    flex-direction: column;
    gap: .25rem;
}
.stat-filter-row label { font-size: .85rem; color: #e8f0f8; }
.stat-filter-input,
.stat-filter-select {
    font-size: .85rem;
    padding: .25rem .4rem;
    border: 1px solid #6a8aaa;
    border-radius: 4px;
    background: #fff;
    color: #222;
}
.stat-filter-select--wide { min-width: 200px; }
.stat-filter-checkboxes {
    display: flex;
    flex-wrap: wrap;
    gap: .3rem .75rem;
}
.stat-filter-checkbox {
    font-size: .85rem;
    display: flex;
    align-items: center;
    gap: .3rem;
    cursor: pointer;
    white-space: nowrap;
    color: #e8f0f8;
}
.stat-filter-note {
    font-size: .75rem;
    color: #a8c0d8;
    margin: .3rem 0 0;
}

/* ── Buttons ─────────────────────────────────────────────── */
.stat-filter-toggle-btn,
.stat-filter-reset-btn {
    font-size: .8rem;
    padding: .25rem .65rem;
    border: 1px solid #6a8aaa;
    border-radius: 4px;
    background: #5a7a9a;
    color: #fff;
    cursor: pointer;
    transition: background .15s;
}
.stat-filter-toggle-btn:hover { background: #6a8aaa; }
.stat-filter-reset-btn { background: #7a3a3a; border-color: #9a5a5a; }
.stat-filter-reset-btn:hover { background: #9a4a4a; }

/* ── Loading / results ───────────────────────────────────── */
.stat-loading {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: 1rem 0;
    color: #aac0d8;
}
.stat-spinner {
    display: inline-block;
    width: 16px; height: 16px;
    border: 2px solid #ccc;
    border-top-color: #fff;
    border-radius: 50%;
    animation: stat-spin .7s linear infinite;
}
@keyframes stat-spin { to { transform: rotate(360deg); } }
.stat-cell { text-align: center; }

/* ── Light theme overrides ───────────────────────────────── */
[data-theme="light"] .stat-filter-bar {
    background: #dce8f4;
    border-color: #b0c4d8;
}
[data-theme="light"] .stat-filter-header {
    background: #b8d0e8;
    border-bottom-color: #98b8d0;
}
[data-theme="light"] .stat-filter-title { color: #1a2a3a; }
[data-theme="light"] .stat-filter-group-label { color: #3a5a7a; }
[data-theme="light"] .stat-filter-row label { color: #1a2a3a; }
[data-theme="light"] .stat-filter-checkbox { color: #1a2a3a; }
[data-theme="light"] .stat-filter-note { color: #5a7a9a; }
[data-theme="light"] .stat-filter-toggle-btn {
    background: #5a7a9a;
    border-color: #4a6a8a;
    color: #fff;
}
[data-theme="light"] .stat-filter-toggle-btn:hover { background: #4a6a8a; }
[data-theme="light"] .stat-filter-reset-btn {
    background: #b04040;
    border-color: #903030;
    color: #fff;
}
[data-theme="light"] .stat-filter-reset-btn:hover { background: #903030; }
[data-theme="light"] .stat-loading { color: #3a5a7a; }
[data-theme="light"] .stat-spinner {
    border-color: #b0c4d8;
    border-top-color: #2a6cc4;
}

/* ═══════════════════════════════════════════════════════════
   KEY STATS BUBBLES (statistics dashboard)
   Larger variants of djAdminStatsBubble for key figures,
   smaller for context stats.
═══════════════════════════════════════════════════════════ */

.dja-stats-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 20px;
}
.dja-stats-grid + .dja-stats-grid {
    margin-top: -4px;
}

/* Large bubble — key figures */
.dja-stat-lg {
    flex: 1 1 160px;
    min-width: 140px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 18px 20px;
    border-radius: 10px;
    border: 1px solid rgba(255,255,255,0.25);
    background: rgba(255,255,255,0.10);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 4px 16px rgba(0,0,0,0.15);
    transition: background 0.15s, transform 0.15s;
    box-sizing: border-box;
}
.dja-stat-lg:hover {
    background: rgba(255,255,255,0.17);
    transform: translateY(-2px);
}

/* Small bubble — context figures */
.dja-stat-sm {
    flex: 1 1 120px;
    min-width: 110px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 12px 14px;
    border-radius: 8px;
    border: 1px solid rgba(255,255,255,0.18);
    background: rgba(255,255,255,0.07);
    box-sizing: border-box;
    transition: background 0.15s;
}
.dja-stat-sm:hover { background: rgba(255,255,255,0.13); }

/* Labels and values */
.dja-stat-label {
    font-size: 9pt;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: rgba(255,255,255,0.55);
    margin-bottom: 4px;
    line-height: 1.3;
}
.dja-stat-value {
    font-size: 26pt;
    font-weight: 500;
    color: #fff;
    line-height: 1;
}
.dja-stat-sm .dja-stat-value {
    font-size: 18pt;
}
.dja-stat-sub {
    font-size: 9pt;
    color: rgba(255,255,255,0.45);
    margin-top: 4px;
}

/* Comparison indicator */
.dja-stat-vs {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 9pt;
    margin-top: 5px;
    font-weight: 500;
}
.dja-stat-vs.up   { color: #6de89a; }
.dja-stat-vs.down { color: #f07070; }
.dja-stat-vs.flat { color: rgba(255,255,255,0.45); }

/* Accent colours for specific bubble types */
.dja-stat-lg.accent-blue  { border-color: rgba(30,144,255,0.4); background: rgba(30,144,255,0.15); }
.dja-stat-lg.accent-green { border-color: rgba(50,180,100,0.4); background: rgba(50,180,100,0.12); }
.dja-stat-lg.accent-amber { border-color: rgba(220,150,30,0.4); background: rgba(220,150,30,0.12); }

/* Light theme overrides */
[data-theme="light"] .dja-stat-lg {
    background: #fff;
    border-color: #c8d8e8;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
[data-theme="light"] .dja-stat-lg:hover { background: #f0f8ff; }
[data-theme="light"] .dja-stat-sm {
    background: #f0f6ff;
    border-color: #c8d8e8;
}
[data-theme="light"] .dja-stat-sm:hover { background: #e4f0ff; }
[data-theme="light"] .dja-stat-label { color: #5a7a9a; }
[data-theme="light"] .dja-stat-value { color: #1a2a3a; }
[data-theme="light"] .dja-stat-sub   { color: #7a9ab8; }
[data-theme="light"] .dja-stat-vs.flat { color: #7a9ab8; }
[data-theme="light"] .dja-stat-lg.accent-blue  { border-color: #1E90FF; background: rgba(30,144,255,0.08); }
[data-theme="light"] .dja-stat-lg.accent-green { border-color: #2a9d2a; background: rgba(42,157,42,0.07); }
[data-theme="light"] .dja-stat-lg.accent-amber { border-color: #c07800; background: rgba(192,120,0,0.07); }
