/* Shared palette for the workspace, legacy ERP forms and every modal. */
:root {
  color-scheme:light;
  --t-text:#243831;--t-muted:#60756c;--t-border:#d9e5de;
  --t-surface:#ffffff;--t-surface2:#f0f5f1;--t-track:#d5e4db;--t-deep:#203c33;--t-on-deep:#ffffff;
  --t-red-soft:#fff0ee;--t-red-ink:#a93225;--t-red-solid:#d84536;--t-red-line:#ecb6ae;
  --t-orange-soft:#fff4e7;--t-orange-ink:#955016;--t-orange-solid:#d87b23;--t-orange-line:#e5c397;
  --t-yellow-soft:#fffbe2;--t-yellow-ink:#7b6210;--t-yellow-solid:#b18c15;--t-yellow-line:#dfd28a;
  --t-green-soft:#eaf5ed;--t-green-ink:#2a6845;--t-green-solid:#408363;--t-green-line:#bddcc6;
  --t-blue-soft:#edf4fd;--t-blue-ink:#355a91;--t-blue-solid:#4278c5;--t-blue-line:#bed3ed;
  --t-purple-soft:#f4edfb;--t-purple-ink:#77509b;--t-purple-solid:#9370ba;--t-purple-line:#dbc7ec;
  --theme-canvas:#f4f8f5;--theme-accent:#266e58;--theme-on-accent:#ffffff;--theme-soft:#e3f1e9;
  --theme-nav:#203e34;--theme-nav-text:#d7e9df;--theme-nav-muted:#acc5b7;
  --theme-nav-active:#dfefe5;--theme-nav-active-text:#224e39;
  --theme-greeting:linear-gradient(115deg,#e6f3e9,#fff8e9);--theme-ring:#72a38b;
  --on-accent:var(--theme-on-accent);--ink:var(--t-text);--navy:var(--theme-accent);--muted:var(--t-muted);--canvas:var(--theme-canvas);
  --paper:var(--t-surface);--blue:var(--theme-accent);--accent:var(--theme-accent);--border:var(--t-border);--line:var(--t-border);
}
:root[data-theme="light"] {
  --theme-canvas:#f6f7f9;--t-text:#28323e;--t-muted:#667182;--t-border:#dee3eb;
  --t-surface2:#f0f3f7;--t-track:#dce2eb;--t-deep:#273345;
  --theme-accent:#3a5f94;--theme-soft:#e9eff9;--theme-nav:#253449;--theme-nav-text:#e0e7f0;--theme-nav-muted:#b4c1d3;
  --theme-nav-active:#e7edf8;--theme-nav-active-text:#314f7a;--theme-greeting:linear-gradient(115deg,#ebf0f8,#fffaf1);--theme-ring:#7192c0;
}
:root[data-theme="purple"] {
  --theme-canvas:#f7f3fb;--t-text:#41334e;--t-muted:#786882;--t-border:#e6dced;
  --t-surface2:#f4edf9;--t-track:#e5d9ef;--t-deep:#463052;
  --theme-accent:#8052a0;--theme-soft:#efe2f8;--theme-nav:#40304e;--theme-nav-text:#eee1f5;--theme-nav-muted:#ceb6df;
  --theme-nav-active:#ecdef7;--theme-nav-active-text:#633b80;--theme-greeting:linear-gradient(115deg,#f0e4f9,#fff2f2);--theme-ring:#b590cc;
}
:root[data-theme="ocean"] {
  --theme-canvas:#f0f7fb;--t-text:#273f50;--t-muted:#60798a;--t-border:#d4e5ef;
  --t-surface2:#eaf3f8;--t-track:#d0e4f0;--t-deep:#234559;
  --theme-accent:#276c96;--theme-soft:#e0eff9;--theme-nav:#214658;--theme-nav-text:#daedf7;--theme-nav-muted:#accbde;
  --theme-nav-active:#d9edf8;--theme-nav-active-text:#235578;--theme-greeting:linear-gradient(115deg,#e0f0fa,#edfaf8);--theme-ring:#7baec9;
}
:root[data-theme="dark"] {
  color-scheme:dark;
  --t-text:#e2e9ee;--t-muted:#a9b8c4;--t-border:#3b4b5b;
  --t-surface:#1d2935;--t-surface2:#243340;--t-track:#384b59;--t-deep:#111c26;--t-on-deep:#f4f8fa;
  --t-red-soft:#3c272e;--t-red-ink:#ffb5ac;--t-red-solid:#ed756a;--t-red-line:#815056;
  --t-orange-soft:#3c3025;--t-orange-ink:#ffc38c;--t-orange-solid:#eaa053;--t-orange-line:#7d6040;
  --t-yellow-soft:#343322;--t-yellow-ink:#f2df8a;--t-yellow-solid:#d5bd5e;--t-yellow-line:#7b7040;
  --t-green-soft:#223b34;--t-green-ink:#a1dfbd;--t-green-solid:#79bd9a;--t-green-line:#456e5c;
  --t-blue-soft:#22364d;--t-blue-ink:#b4d2ff;--t-blue-solid:#88b5ee;--t-blue-line:#476887;
  --t-purple-soft:#362b46;--t-purple-ink:#dcc0f8;--t-purple-solid:#bb99dc;--t-purple-line:#705688;
  --theme-canvas:#141e29;--theme-accent:#90d7bb;--theme-on-accent:#163429;--theme-soft:#273e38;
  --theme-nav:#101a24;--theme-nav-text:#dee9ee;--theme-nav-muted:#a6bbc6;
  --theme-nav-active:#2e4d43;--theme-nav-active-text:#c3f1dc;--theme-greeting:linear-gradient(115deg,#21382f,#2b3043);--theme-ring:#91dabb;
}
html,body {background:var(--theme-canvas);color:var(--t-text)}
html{scrollbar-color:var(--t-track) var(--theme-canvas)}
body{accent-color:var(--theme-accent)}
body :is(h1,h2,h3,h4){color:var(--t-text)}
.sidebar,.login-story {background:var(--theme-nav)!important;color:var(--theme-nav-text)!important}
.sidebar :is(a,button,.profile,.side-profile),.sidebar nav a,.login-story h1{color:var(--theme-nav-text)}
.sidebar :is(.brand-caption,.brand-cn,.nav-caption,.more-navigation>summary,small),.login-story :is(p,.eyebrow,.login-bottom){color:var(--theme-nav-muted)}
.sidebar :is(.sidebar-bottom,.side-profile){border-color:var(--t-border)}
.sidebar nav a:is(.active,.selected),.sidebar .nav-link.active{background:var(--theme-nav-active)!important;color:var(--theme-nav-active-text)!important}
.sidebar nav a:hover,.sidebar .nav-link:hover{background:var(--theme-nav-active);color:var(--theme-nav-active-text)}
.sidebar .avatar{background:var(--theme-nav-active);color:var(--theme-nav-active-text)}
.topbar{background:var(--t-surface);border-color:var(--t-border)}
.topbar .breadcrumb b,.project-meta,.weekly-cover .week-number{color:var(--t-text)}
.global-search{background:var(--t-surface2);border-color:var(--t-border)}
.primary,button.primary,a.primary,.send,.floating-ai,.legacy-view .primary{background:var(--theme-accent)!important;border-color:var(--theme-accent)!important;color:var(--theme-on-accent)!important}
.primary:hover,button.primary:hover{background:var(--theme-accent)!important;filter:brightness(.94)}
button:disabled{filter:none}
.text-link,.back-link,.detail-tabs .active,.status-tabs .active,.tabs>a.selected{color:var(--theme-accent);border-color:var(--theme-accent)}
.help-button,.theme-button,.project-icon,.metric-icon,.avatar,.project-assistant,.weekly-cover{background:var(--theme-soft);color:var(--theme-accent)}
.theme-button{padding:8px 10px;white-space:nowrap;gap:6px;min-height:36px}
.theme-button svg{width:16px;height:16px}
.top-actions{flex-wrap:wrap}
.employee-greeting{background:var(--theme-greeting);border-color:var(--t-border)}
.employee-greeting h1,.business-welcome h1,.daily-heading h2,#guide-content h3{color:var(--t-text)}
.employee-greeting p,.guide-copy,.guide-subtitle,.file-project>summary,.file-category>h3{color:var(--t-muted)}
.daily-tasks.panel{background:var(--t-surface);border-top-color:var(--theme-accent)}
.daily-heading .eyebrow,.daily-counter.signal-normal,.daily-counter.signal-today{color:var(--theme-accent)}
.guide-steps .active{background:var(--theme-accent)}
.progress-track,.project-banner .progress{background:var(--t-track)}
.signal-row-normal .progress-track i,.progress-track i,.project-banner .progress i{background:var(--theme-accent)}
.signal-row-overdue .progress-track i,.signal-row-overdue .progress i{background:var(--t-red-solid)}
.signal-row-soon .progress-track i,.signal-row-soon .progress i{background:var(--t-orange-solid)}
.signal-row-held .progress-track i,.signal-row-held .progress i{background:var(--t-yellow-solid)}
.signal-row-done .progress-track i{background:var(--t-green-solid)}
.signal-overdue{--signal-ink:var(--t-red-ink);--signal-bg:var(--t-red-soft);--signal-border:var(--t-red-line)}
.signal-soon{--signal-ink:var(--t-orange-ink);--signal-bg:var(--t-orange-soft);--signal-border:var(--t-orange-line)}
.signal-held{--signal-ink:var(--t-yellow-ink);--signal-bg:var(--t-yellow-soft);--signal-border:var(--t-yellow-line)}
.signal-important{--signal-ink:var(--t-blue-ink);--signal-bg:var(--t-blue-soft);--signal-border:var(--t-blue-line)}
.signal-urgent{--signal-ink:var(--t-purple-ink);--signal-bg:var(--t-purple-soft);--signal-border:var(--t-purple-line)}
.signal-done{--signal-ink:var(--t-green-ink);--signal-bg:var(--t-green-soft);--signal-border:var(--t-green-line)}
.signal-normal,.signal-today{--signal-ink:var(--t-text);--signal-bg:var(--t-surface2);--signal-border:var(--t-border)}
.signal-row-overdue{border-left-color:var(--t-red-solid)!important}.signal-row-soon{border-left-color:var(--t-orange-solid)!important}.signal-row-held{border-left-color:var(--t-yellow-solid)!important}
.project-card.signal-row-overdue,.milestone-card.signal-row-overdue,.panel.signal-row-overdue{background:var(--t-red-soft);border-color:var(--t-red-line)}
.project-card.signal-row-soon,.milestone-card.signal-row-soon{background:var(--t-orange-soft);border-color:var(--t-orange-line)}
.project-card.signal-row-held,.milestone-card.signal-row-held{background:var(--t-yellow-soft);border-color:var(--t-yellow-line)}
.project-card.signal-row-done{background:var(--t-green-soft)}
dialog,dialog[data-guide=true]{background:var(--t-surface);color:var(--t-text)}
dialog:is(#dialog,#modal)[open] :is(.modal-head,.modal-actions,.modal-foot){background:var(--t-surface);color:var(--t-text);border-color:var(--t-border)}
body :is(input:not([type=checkbox],[type=radio],[type=range]),select,textarea){background:var(--t-surface);color:var(--t-text);border-color:var(--t-border)}
input::placeholder,textarea::placeholder{color:var(--t-muted);opacity:1}
body :is(button,a,input,select,textarea):focus-visible{outline:3px solid var(--theme-ring);outline-offset:3px}
.theme-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 24px}
.theme-choice{display:flex;flex-direction:column;align-items:stretch;gap:10px;border:2px solid var(--t-border);border-radius:13px;padding:12px;cursor:pointer;min-width:0}
.theme-choice:has(input:checked){border-color:var(--theme-accent);box-shadow:0 0 0 2px var(--theme-soft)}
.theme-choice:focus-within{outline:3px solid var(--theme-ring);outline-offset:3px}
.theme-choice input{width:17px;height:17px;margin:0;flex-shrink:0}
.theme-choice>span:last-child{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--t-text)}
.theme-swatch{height:66px;border-radius:7px;display:grid;grid-template-columns:22% 1fr;background:var(--swatch-canvas);overflow:hidden;box-shadow:0 0 0 1px #0001}
.theme-swatch i{background:var(--swatch-nav)}
.theme-swatch b{align-self:center;height:28px;margin:10px;border-radius:5px;background:var(--swatch-card);border-bottom:6px solid var(--swatch-accent)}
.theme-choice[data-choice=mint]{--swatch-canvas:#f0f7f2;--swatch-nav:#203e34;--swatch-card:#ffffff;--swatch-accent:#408363}
.theme-choice[data-choice=light]{--swatch-canvas:#f4f6fa;--swatch-nav:#253449;--swatch-card:#ffffff;--swatch-accent:#5c7eac}
.theme-choice[data-choice=dark]{--swatch-canvas:#141e29;--swatch-nav:#101a24;--swatch-card:#2e414e;--swatch-accent:#90d7bb}
.theme-choice[data-choice=purple]{--swatch-canvas:#f2e9f8;--swatch-nav:#40304e;--swatch-card:#ffffff;--swatch-accent:#956cb4}
.theme-choice[data-choice=ocean]{--swatch-canvas:#e5f3fb;--swatch-nav:#214658;--swatch-card:#ffffff;--swatch-accent:#5794b8}
.theme-choice[data-choice=system]{--swatch-canvas:linear-gradient(90deg,#f3f6fa 50%,#141e29 50%);--swatch-nav:#35475a;--swatch-card:#b3c8d4;--swatch-accent:#739994}
.appearance-form fieldset{border:0;padding:0;margin:0;min-width:0}
.appearance-form legend{font-size:15px;font-weight:600;color:var(--t-text)}
.appearance-options{display:grid;gap:18px;margin-top:22px}
.appearance-options label{display:flex;gap:10px;align-items:center;color:var(--t-text)}
.appearance-options .festival-select{display:grid;gap:8px}
.appearance-options select{width:100%;min-height:44px}
.appearance-options input[type=checkbox]{width:18px;height:18px;flex-shrink:0}
.theme-preview-status{font-size:13px;line-height:1.8;padding:12px 14px;border-radius:10px;background:var(--theme-soft);color:var(--t-text);margin-top:16px}
.theme-picker-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:22px;flex-wrap:wrap}
.theme-music{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:14px;border:1px solid var(--t-border);border-radius:12px;background:var(--t-surface2)}
.theme-music[hidden]{display:none}
.theme-music label{flex:1;min-width:170px}.theme-music input{width:100%;max-width:210px}
.theme-music small{flex-basis:100%;color:var(--t-muted);line-height:1.7}
.festival-ribbon{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0;padding:12px clamp(16px,3vw,40px);background:var(--theme-soft);border-bottom:1px solid var(--t-border);color:var(--t-text);isolation:isolate}
.festival-ribbon[hidden]{display:none}.festival-ribbon>div{display:flex;align-items:center;gap:12px;min-width:0}
.festival-ribbon p{margin:0;font-size:12px;line-height:1.7;color:var(--t-muted)}
.festival-ribbon strong{font-size:14px;color:var(--t-text);display:block}
.festival-ribbon .festival-decoration{font-size:34px;pointer-events:none;user-select:none;flex-shrink:0;line-height:1.3}
.festival-ribbon .festival-tools{flex-wrap:wrap;justify-content:flex-end;flex-shrink:0;gap:8px}
.festival-tools button{font-size:12px;min-height:36px;background:var(--t-surface)}
.festival-confetti{position:absolute;right:24%;top:5px;opacity:.28;letter-spacing:22px;font-size:21px;z-index:-1;pointer-events:none;user-select:none}
:root[data-festival=national] .festival-ribbon,:root[data-festival=spring] .festival-ribbon{background:linear-gradient(110deg,var(--t-red-soft),var(--t-yellow-soft));border-bottom-color:var(--t-red-line)}
:root[data-festival=christmas] .festival-ribbon{background:linear-gradient(110deg,var(--t-green-soft),var(--t-blue-soft));border-bottom-color:var(--t-green-line)}
:root[data-festival=midautumn] .festival-ribbon{background:linear-gradient(110deg,var(--t-purple-soft),var(--t-yellow-soft))}
:root[data-festival] .festival-ribbon .festival-decoration svg{width:38px;height:38px;display:block}
@media(max-width:700px){.theme-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.theme-choice{padding:10px}.theme-button{padding:7px}.theme-button .theme-button-label{display:none}.festival-ribbon{align-items:flex-start;flex-wrap:wrap;padding:12px 18px;gap:8px}.festival-ribbon .festival-tools{margin-left:auto}.festival-ribbon p{max-width:30ch}.festival-confetti{display:none}.top-actions{gap:7px}.theme-swatch{height:52px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}.progress-track i{transition:none}}
@media print{.festival-ribbon,.theme-button{display:none!important}html,body{background:white!important;color:black!important}}
