/* Shared account theme. System's media rule works before JS (and with JS disabled).
   Literal palette values live here; component styles consume semantic tokens. */
:root{
  color-scheme:light;
  --text-muted:#617086;
  --surface:var(--bg-page);--surface-2:var(--panel);--bg:var(--bg-page);
  --bg-elevated:var(--bg-page);--bg-muted:var(--bg-surface);--bg-subtle:var(--panel);
  --text:var(--text-primary);--muted:var(--text-secondary);--border-control:#73839a;--border:var(--border-subtle);--border-soft:var(--border-subtle);
  --accent:var(--color-primary);--accent-1:var(--brand-1);--accent-9:var(--brand-9);--color-accent:var(--color-primary);
  --brand-7:var(--brand-9);--success-2:var(--success-1);--success-6:var(--success-9);--warning-2:var(--warning-1);--warning:var(--warning-11);
  --floor-blue:#1e57bd;--floor-blue-light:#2a5fc0;--floor-good:#8ef0b4;--floor-warning:#ffd98a;--floor-bad:#ffa8a8;
  --neutral-12:#101827;--black:#000;--fixed-white:#fff;--sidebar-base:#15223e;
  --on-solid:#fff;--on-success:#fff;--on-warning:#15223e;--on-danger:#fff;
  --success-9:#14833e;--success-11:#116c34;
  --violet-1:#f1edff;--violet-3:#d9cffb;--violet-11:#6842a6;
  --blueprint:rgba(30,87,189,.045);--veil:rgba(10,18,32,.58);--veil-soft:rgba(10,18,32,.15);
  --focus-ring:color-mix(in srgb,var(--color-primary) 25%,transparent);
  --sidebar-text:#e2eaf6;--sidebar-muted:#b7c6dd;
  --white-06:rgba(255,255,255,.06);--white-10:rgba(255,255,255,.1);--white-14:rgba(255,255,255,.14);
  --white-25:rgba(255,255,255,.25);--white-55:rgba(255,255,255,.55);--white-70:rgba(255,255,255,.7);
  --gold-bg:#fdf6e3;--gold-line:#e3b341;--gold-text:#806013;
  --silver-bg:var(--gray-1);--silver-line:var(--gray-4);--silver-text:var(--text-secondary);
  --bronze-bg:#fbf3ec;--bronze-line:#d8a878;--bronze-text:#8b532a;
  --report-grid:var(--border-subtle);--report-axis:var(--border-strong);
  --report-1:#2469b9;--report-2:#bc4b20;--report-3:#147d58;--report-negative:#c23535;
  --report-mid:var(--gray-2);--report-deemph:var(--gray-5);--report-hover:color-mix(in srgb,var(--text-primary) 5%,transparent);
  --logo-filter:none;
}
@media screen{
:root[data-theme="dark"]{
  color-scheme:dark;
  --paper:#101827;--panel:#192538;--ink:#e7edf7;--line:#384961;--line2:#657791;
  --gray-1:#182337;--gray-2:#223047;--gray-3:#34445c;--gray-4:#63748c;
  --gray-5:#a2b0c5;--gray-6:#acb9cc;--gray-7:#c5d0df;--gray-8:#d5deeb;--gray-9:#e7edf7;--gray-10:#f3f6fc;
  --brand-1:#1c3152;--brand-2:#26416a;--brand-3:#416694;--brand-5:#7facff;--brand-6:#8eb8ff;
  --brand-9:#9ac0ff;--brand-10:#bbd4ff;--brand-11:#d7e5ff;
  --success-1:#173c2c;--success-3:#356b50;--success-9:#79d6a0;--success-11:#91e6b3;
  --warning-1:#3d2e17;--warning-3:#806334;--warning-9:#edb967;--warning-11:#f4cd8e;
  --danger-1:#42232c;--danger-2:#512934;--danger-3:#874652;--danger-9:#f296a2;--danger-11:#ffb0ba;
  --info-1:#18364b;--info-3:#3b708e;--info-9:#72c5ec;--info-11:#a0dcf8;
  --violet-1:#332649;--violet-3:#6c518c;--violet-11:#d4bafa;
  --chart-1:#9ac0ff;--chart-2:#79d6a0;--chart-3:#72c5ec;--chart-4:#edb967;--chart-5:#c5d0df;
  --bg-page:#141f30;--bg-surface:var(--paper);--bg-sidebar:#101a2b;--bg-inverse:#0b1220;
  --text-primary:var(--ink);--text-secondary:#c5d0df;--text-muted:#a2b0c5;--text-on-dark:#fff;
  --border-subtle:var(--line);--border-strong:var(--line2);
  --color-on-primary:#101a2b;--on-solid:#101a2b;--on-success:#101a2b;--on-warning:#101a2b;--on-danger:#101a2b;
  --shadow-sm:0 1px 2px rgba(0,0,0,.2);--shadow-md:0 4px 12px rgba(0,0,0,.3);--shadow-lg:0 12px 28px rgba(0,0,0,.4);
  --blueprint:rgba(150,186,244,.035);--veil:rgba(0,0,0,.7);--veil-soft:rgba(0,0,0,.25);
  --gold-bg:#3d321b;--gold-line:#a58230;--gold-text:#f0ce7e;
  --bronze-bg:#382a21;--bronze-line:#98714d;--bronze-text:#e4b88d;
  --report-1:#9ac0ff;--report-2:#f3aa80;--report-3:#79d6bc;--report-negative:#ff9caa;
  --logo-filter:brightness(0) invert(1);
}
}
@media screen and (prefers-color-scheme:dark){
:root[data-theme-preference="system"]{
  color-scheme:dark;
  --paper:#101827;--panel:#192538;--ink:#e7edf7;--line:#384961;--line2:#657791;
  --gray-1:#182337;--gray-2:#223047;--gray-3:#34445c;--gray-4:#63748c;
  --gray-5:#a2b0c5;--gray-6:#acb9cc;--gray-7:#c5d0df;--gray-8:#d5deeb;--gray-9:#e7edf7;--gray-10:#f3f6fc;
  --brand-1:#1c3152;--brand-2:#26416a;--brand-3:#416694;--brand-5:#7facff;--brand-6:#8eb8ff;
  --brand-9:#9ac0ff;--brand-10:#bbd4ff;--brand-11:#d7e5ff;
  --success-1:#173c2c;--success-3:#356b50;--success-9:#79d6a0;--success-11:#91e6b3;
  --warning-1:#3d2e17;--warning-3:#806334;--warning-9:#edb967;--warning-11:#f4cd8e;
  --danger-1:#42232c;--danger-2:#512934;--danger-3:#874652;--danger-9:#f296a2;--danger-11:#ffb0ba;
  --info-1:#18364b;--info-3:#3b708e;--info-9:#72c5ec;--info-11:#a0dcf8;
  --violet-1:#332649;--violet-3:#6c518c;--violet-11:#d4bafa;
  --chart-1:#9ac0ff;--chart-2:#79d6a0;--chart-3:#72c5ec;--chart-4:#edb967;--chart-5:#c5d0df;
  --bg-page:#141f30;--bg-surface:var(--paper);--bg-sidebar:#101a2b;--bg-inverse:#0b1220;
  --text-primary:var(--ink);--text-secondary:#c5d0df;--text-muted:#a2b0c5;--text-on-dark:#fff;
  --border-subtle:var(--line);--border-strong:var(--line2);
  --color-on-primary:#101a2b;--on-solid:#101a2b;--on-success:#101a2b;--on-warning:#101a2b;--on-danger:#101a2b;
  --shadow-sm:0 1px 2px rgba(0,0,0,.2);--shadow-md:0 4px 12px rgba(0,0,0,.3);--shadow-lg:0 12px 28px rgba(0,0,0,.4);
  --blueprint:rgba(150,186,244,.035);--veil:rgba(0,0,0,.7);--veil-soft:rgba(0,0,0,.25);
  --gold-bg:#3d321b;--gold-line:#a58230;--gold-text:#f0ce7e;
  --bronze-bg:#382a21;--bronze-line:#98714d;--bronze-text:#e4b88d;
  --report-1:#9ac0ff;--report-2:#f3aa80;--report-3:#79d6bc;--report-negative:#ff9caa;
  --logo-filter:brightness(0) invert(1);
}
}

/* Keep sidebar contrast independent of the theme's brand ramp. */
.sidebar{--brand-2:var(--sidebar-text);--brand-3:var(--sidebar-muted)}
.sidebar :is(.nav-link,.nav-sublink,.org-switcher-name,.account-name){color:var(--sidebar-text)}
.sidebar :is(.account-role,.org-switcher-sub,.sidebar-foot){color:var(--sidebar-muted);opacity:1}
.auth-brand .wordmark,.topbar-brand .mark{filter:var(--logo-filter)}
select option{background:var(--bg-page);color:var(--text-primary)}
.theme-toggle{display:flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-min);padding:0 var(--space-2);
  border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font:inherit;font-size:var(--text-xs);cursor:pointer}
.theme-toggle .ti{font-size:18px}
.sidebar-account>.theme-toggle{margin:0 var(--space-4);width:calc(100% - 2 * var(--space-4));justify-content:flex-start;color:var(--sidebar-text)}
.theme-toggle--compact{width:var(--control-min);flex:0 0 auto}
.theme-toggle--compact span{display:none}
.theme-toggle:hover{background:var(--bg-surface);color:var(--text-primary)}
.sidebar-account>.theme-toggle:hover{background:rgba(255,255,255,.1);color:var(--sidebar-text)}
.theme-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
.theme-toggle:disabled{cursor:wait}
@media(min-width:768px){body:not(.app-shell):not(.sidebar-hidden) .topbar .theme-toggle--compact{display:none}}
@media(min-width:1280px){body.app-shell:not(.sidebar-hidden) .topbar .theme-toggle--compact{display:none}}
@media print{
  :root{color-scheme:light;--bg-page:#fff;--bg-surface:#fff;--panel:#fff;--paper:#fff;--text-primary:#15223e;--text-secondary:#334155;--text-muted:#475569;--logo-filter:none}
  body{background:#fff!important;color:#15223e!important;background-image:none!important}
  .theme-toggle{display:none!important}
  .badge,.chip{background:transparent!important;border:1px solid currentColor}
}

input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:1}

.fbox:not(.is-ro):not(:focus-within),:where(input:not([type=checkbox]):not([type=radio]):not(.fbox-in),select:not(.fbox-in),textarea:not(.fbox-in)){border-color:var(--border-control)}
@media print{
  .assistant-drawer:not(.assistant-page),.assistant-fab,.assistant-nudge,.bottom-nav,.environment-ribbon,.record-modal{display:none!important}
  .page-action-bar{position:static!important}
  .rp-kpis{break-inside:avoid}
}

.netsuite-record-link { display: inline-flex; align-items: center; justify-content: center; min-width: var(--control-min, 44px); min-height: var(--control-min, 44px); vertical-align: middle; font-size: 0.875rem; }

/* Legacy System resolves before paint without offering a third toggle state. */
.theme-dark-icon{display:none}
:root[data-theme="dark"] .theme-light-icon{display:none}
:root[data-theme="dark"] .theme-dark-icon{display:inline}
@media(prefers-color-scheme:dark){
  :root[data-theme-preference="system"] .theme-light-icon{display:none}
  :root[data-theme-preference="system"] .theme-dark-icon{display:inline}
}

/* Fixed scheduler labels, shared by swatches and board fills. */
:root {
  --schedule-slate-fill:#e2e8f0;
  --schedule-slate-accent:#475569;
  --schedule-slate-ink:#1e293b;
  --schedule-blue-fill:#dbeafe;
  --schedule-blue-accent:#2563eb;
  --schedule-blue-ink:#1e3a8a;
  --schedule-teal-fill:#ccfbf1;
  --schedule-teal-accent:#0f766e;
  --schedule-teal-ink:#134e4a;
  --schedule-green-fill:#dcfce7;
  --schedule-green-accent:#15803d;
  --schedule-green-ink:#14532d;
  --schedule-yellow-fill:#fef9c3;
  --schedule-yellow-accent:#a16207;
  --schedule-yellow-ink:#713f12;
  --schedule-orange-fill:#ffedd5;
  --schedule-orange-accent:#c2410c;
  --schedule-orange-ink:#7c2d12;
  --schedule-red-fill:#fee2e2;
  --schedule-red-accent:#b91c1c;
  --schedule-red-ink:#7f1d1d;
  --schedule-purple-fill:#f3e8ff;
  --schedule-purple-accent:#7e22ce;
  --schedule-purple-ink:#581c87;
}
:root[data-theme="dark"] {
  --schedule-slate-fill:#283548;
  --schedule-slate-accent:#94a3b8;
  --schedule-slate-ink:#e2e8f0;
  --schedule-blue-fill:#17365b;
  --schedule-blue-accent:#60a5fa;
  --schedule-blue-ink:#dbeafe;
  --schedule-teal-fill:#123e3b;
  --schedule-teal-accent:#2dd4bf;
  --schedule-teal-ink:#ccfbf1;
  --schedule-green-fill:#193e29;
  --schedule-green-accent:#4ade80;
  --schedule-green-ink:#dcfce7;
  --schedule-yellow-fill:#453d18;
  --schedule-yellow-accent:#facc15;
  --schedule-yellow-ink:#fef9c3;
  --schedule-orange-fill:#4b2d1a;
  --schedule-orange-accent:#fb923c;
  --schedule-orange-ink:#ffedd5;
  --schedule-red-fill:#4c2329;
  --schedule-red-accent:#f87171;
  --schedule-red-ink:#fee2e2;
  --schedule-purple-fill:#39234f;
  --schedule-purple-accent:#c084fc;
  --schedule-purple-ink:#f3e8ff;
}
@media screen and (prefers-color-scheme:dark) {
:root[data-theme-preference="system"] {
  --schedule-slate-fill:#283548;
  --schedule-slate-accent:#94a3b8;
  --schedule-slate-ink:#e2e8f0;
  --schedule-blue-fill:#17365b;
  --schedule-blue-accent:#60a5fa;
  --schedule-blue-ink:#dbeafe;
  --schedule-teal-fill:#123e3b;
  --schedule-teal-accent:#2dd4bf;
  --schedule-teal-ink:#ccfbf1;
  --schedule-green-fill:#193e29;
  --schedule-green-accent:#4ade80;
  --schedule-green-ink:#dcfce7;
  --schedule-yellow-fill:#453d18;
  --schedule-yellow-accent:#facc15;
  --schedule-yellow-ink:#fef9c3;
  --schedule-orange-fill:#4b2d1a;
  --schedule-orange-accent:#fb923c;
  --schedule-orange-ink:#ffedd5;
  --schedule-red-fill:#4c2329;
  --schedule-red-accent:#f87171;
  --schedule-red-ink:#fee2e2;
  --schedule-purple-fill:#39234f;
  --schedule-purple-accent:#c084fc;
  --schedule-purple-ink:#f3e8ff;
}
}
[class~="schedule-color--slate"] { --schedule-fill:var(--schedule-slate-fill); --schedule-accent:var(--schedule-slate-accent); --schedule-ink:var(--schedule-slate-ink); }
[class~="schedule-color--blue"] { --schedule-fill:var(--schedule-blue-fill); --schedule-accent:var(--schedule-blue-accent); --schedule-ink:var(--schedule-blue-ink); }
[class~="schedule-color--teal"] { --schedule-fill:var(--schedule-teal-fill); --schedule-accent:var(--schedule-teal-accent); --schedule-ink:var(--schedule-teal-ink); }
[class~="schedule-color--green"] { --schedule-fill:var(--schedule-green-fill); --schedule-accent:var(--schedule-green-accent); --schedule-ink:var(--schedule-green-ink); }
[class~="schedule-color--yellow"] { --schedule-fill:var(--schedule-yellow-fill); --schedule-accent:var(--schedule-yellow-accent); --schedule-ink:var(--schedule-yellow-ink); }
[class~="schedule-color--orange"] { --schedule-fill:var(--schedule-orange-fill); --schedule-accent:var(--schedule-orange-accent); --schedule-ink:var(--schedule-orange-ink); }
[class~="schedule-color--red"] { --schedule-fill:var(--schedule-red-fill); --schedule-accent:var(--schedule-red-accent); --schedule-ink:var(--schedule-red-ink); }
[class~="schedule-color--purple"] { --schedule-fill:var(--schedule-purple-fill); --schedule-accent:var(--schedule-purple-accent); --schedule-ink:var(--schedule-purple-ink); }
.schedule-colors { border:0; margin:0; padding:8px; display:flex; flex-wrap:wrap; gap:4px; min-width:0; }
.schedule-colors legend { font-size:12px; padding:0; color:var(--text-secondary); }
.schedule-swatch { position:relative; display:inline-flex; align-items:center; justify-content:center; min-width:var(--control-min,44px); min-height:var(--control-min,44px); border-radius:var(--radius-sm); border:1px solid var(--schedule-accent,var(--border-control)); background:var(--schedule-fill,var(--bg-page)); color:var(--schedule-ink,var(--text-primary)); cursor:pointer; }
/* Coloured swatches carry a solid dot of their accent so pale tints stay tellable;
   "None" is a struck-through empty square. */
.schedule-swatch[class*="schedule-color--"]::after { content:''; width:14px; height:14px; border-radius:50%; background:var(--schedule-accent); }
.schedule-swatch:not([class*="schedule-color--"])::after { content:''; width:22px; height:2px; background:var(--text-secondary); transform:rotate(-45deg); }
.schedule-swatch input { position:absolute; opacity:0; inset:0; width:100%; height:100%; margin:0; cursor:pointer; }
.schedule-swatch:has(input:checked) { box-shadow:inset 0 0 0 3px var(--schedule-ink,var(--text-primary)); }
.schedule-swatch:has(input:focus-visible) { outline:2px solid var(--color-primary); outline-offset:2px; }
