/* The original demo stylesheet remains the source of Light layout and colors. */
:root {
  --panel:#fff; --color-background:var(--canvas); --color-surface:var(--panel);
  --color-text:var(--text); --color-text-muted:var(--muted); --color-border:var(--line);
  --color-primary:var(--blue); --button-primary-text:#fff; --glance-panel:var(--panel);
  --glance-text:var(--text); --glance-muted:var(--muted); --glance-line:var(--line);
  --color-surface-raised:var(--panel); --color-surface-alt:var(--canvas);
  --color-border-strong:var(--line); --surface-rgb:255,255,255; --surface-alt-rgb:244,247,251;
  --color-primary-hover:#005fbd; --button-active-text:#fff; --color-danger:#ae5045;
  --font-ui:Inter,"Segoe UI",Arial,sans-serif; --button-radius:7px; --card-radius:10px;
  --shadow-soft:0 4px 16px #172d4314; --shadow-card:0 16px 50px #172d4333;
}
body.glance-portal { background:var(--canvas); color:var(--text); }
[hidden] { display:none!important; }
.portal-layout { min-height:calc(100dvh - 64px); }
.profile:disabled { opacity:1; cursor:default; }
.brand img { object-fit:contain; }
.sidebar-bottom { display:flex; }
.settings-row { display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0; }
.settings-row select { padding:7px 12px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--text); }
.glance-login { width:min(400px,94vw);padding:30px;background:var(--panel);color:var(--text); }
.login-logo { width:128px;height:55px;object-fit:cover;object-position:center;display:block;margin:0 auto 9px; }
.glance-login h1 { text-align:center;font-size:29px;letter-spacing:2px;margin-bottom:28px; }
.glance-login label { display:grid;gap:8px;margin:16px 0; }
.glance-login input { width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text); }
.login-password { position:relative;display:flex; }
.login-password input { padding-right:48px; }
.password-eye { position:absolute;right:5px;top:5px;bottom:5px;background:none;border:0;color:var(--muted);padding:8px; }
.password-eye svg { width:20px;height:20px; }
.login-submit { background:#005fbd;color:white;border:0;border-radius:8px;width:100%;padding:13px;font-weight:650; }
.login-forgot { border:0;background:none;color:var(--blue);padding:5px 0;margin:5px 0; }
.login-error { color:var(--red); }
:root[data-glance-theme=dark] {
  color-scheme:dark; --canvas:#111c2a; --panel:#1b2b3d; --navy:#edf3fa;
  --text:#e0eaf5; --muted:#a5b7ca; --line:#354b61; --blue:#81b9ef;
  --green:#80cda4; --amber:#e5b66d; --red:#efaaa2;
  --surface-rgb:27,43,61; --surface-alt-rgb:17,28,42; --color-primary-hover:#236bb0;
  --color-danger:#efaaa2; --shadow-soft:0 4px 16px #0003; --shadow-card:0 16px 50px #0006;
}
.glance-portal #zbMessages .zb-message-launcher svg { color:var(--color-primary); }
.glance-portal #zbMessages .zb-message-row.is-own .zb-message-bubble p { color:inherit; }
[data-glance-theme=dark] :is(.portal-header,.sidebar,.panel,.metric,.asset-card,.bulk-card,.commission-total,.kanban-column,.data-table th,.scope-note,.dialog-head,dialog,.review-form,.detail-note,.workflow-step,.portal-signin) {
  background:var(--panel);color:var(--text);border-color:var(--line);
}
[data-glance-theme=dark] :is(input,select,textarea,.btn,.dialog-close,.review-line-input) {
  background:var(--panel);color:var(--text);border-color:var(--line);
}
[data-glance-theme=dark] :is(.btn.primary,.login-submit) { background:#236bb0;color:#fff;border-color:#4284c1; }
[data-glance-theme=dark] :is(h1,h2,h3,h4,strong,.metric-value,.detail-grid dd) { color:var(--text); }
[data-glance-theme=dark] :is(p,small,label,th,td,.subtitle,.metric-head,.nav-item,.empty,.toolbar-caption,.field-grid label,.help,.asset-card-meta,.kanban-column-title,.report-header-controls) { color:var(--muted);border-color:var(--line); }
[data-glance-theme=dark] .nav-item:is(.active,:hover),[data-glance-theme=dark] .subtab.active { background:#233e59;color:var(--blue); }
[data-glance-theme=dark] :is(.nav-count,.avatar,.period-pill,.data-category-buttons .btn.active) { background:#233e59;color:var(--blue);border-color:var(--line); }
[data-glance-theme=dark] :is(.table-scroll,.panel-head,.dialog-head,.attention-item,.detail-grid,.data-table td,.subtabs) { border-color:var(--line); }
[data-glance-theme=dark] .data-table tbody tr:hover { background:#22384e; }
[data-glance-theme=dark] :is(.search-field,.directory-card,.commission-summary,.executive-hero) { background:var(--panel);border-color:var(--line); }
[data-glance-theme=dark] :is(.mini-line,.card-footer,.card-id,.volume,.kanban-title,.detail-grid dt,.form-field,.bulk-card .product) { color:var(--muted); }
[data-glance-theme=dark] :is(.mini-lines,.card-footer,.summary-breakdown>div,.timeline) { border-color:var(--line); }
[data-glance-theme=dark] .kanban-title span { background:#233e59;color:var(--text); }
[data-glance-theme=dark] input::placeholder { color:var(--muted);opacity:1; }
[data-glance-theme=dark] .brand img { background:#fff;border-radius:4px; }
@media(max-width:780px) { .sidebar-bottom { display:flex;padding:14px 7px 0; } }
