:root{--accent:#087f75;--accent-hover:#06665e;--accent-soft:#e9f5f2;--accent-bright:#4bd9bd;--sidebar-bg:#132c38;--sidebar-text:#c4d2d8;--surface:#fff;--page-bg:#f4f6f8;--text:#182c3a;--soft-surface:#f9fbfc;--accent-ui:var(--accent);--accent-ui-soft:var(--accent-soft)}
html{color-scheme:light;background:var(--page-bg);color:var(--text)}body{background:var(--page-bg);color:var(--text)}.sidebar{background:var(--sidebar-bg);color:var(--sidebar-text)}.brandmark{background:var(--accent)}.brand strong span{color:var(--accent-bright)!important}.nav-item.active{box-shadow:inset 3px 0 var(--accent-bright)}.nav-item.active svg{color:var(--accent-bright)}.nav-label,.sidebar-bottom p,.brand small{color:var(--sidebar-text)}.demo-label{color:var(--accent-bright);background:#ffffff0b;border-color:#ffffff25}.topbar,.panel,.stat,dialog{background:var(--surface);color:var(--text)}.top-actions select,.location select{background:var(--surface);color:var(--text)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-hover)}.btn.text,.eyebrow,.tab.active{color:var(--accent-ui)}.tab.active,.stat-icon{background:var(--accent-ui-soft);color:var(--accent-ui)}.progress>i{background:var(--accent)}.class-content:not(.orange):not(.blue){border-color:var(--accent)}.avatar:not(.blue){background:var(--accent-ui-soft);color:var(--accent-ui)}.event:not(.cancel),.shift:not(.unavailable){background:var(--accent-ui-soft);color:var(--accent-ui)}.day.today>span{background:var(--accent)}.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline-color:var(--accent-bright)}
.appearance-fieldset{border:0;padding:0;margin:26px 0}.appearance-fieldset legend{font-weight:600;font-size:14px;margin-bottom:14px}.palette-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.palette-option{position:relative;display:flex;align-items:center;gap:9px;flex-direction:column;border:1px solid var(--border);border-radius:9px;padding:13px 7px;cursor:pointer;font-size:14px;min-height:102px}.palette-option input{position:absolute;top:8px;right:8px;accent-color:var(--accent);width:16px;height:16px}.palette-option:has(input:checked){border-color:var(--accent-ui);box-shadow:0 0 0 1px var(--accent-ui);background:var(--accent-ui-soft)}.palette-option:focus-within{outline:2px solid var(--accent-ui);outline-offset:3px}.palette-sample{height:36px;width:60px;border-radius:6px;background:var(--sample);display:block;overflow:hidden;margin-bottom:2px}.palette-sample i{display:block;width:18px;height:100%;background:var(--sample-dark)}.mode-options{display:flex;gap:12px;flex-wrap:wrap}.mode-options label{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:7px;padding:12px 16px;min-height:48px;font-size:14px;cursor:pointer}.mode-options input{accent-color:var(--accent)}
html[data-mode="dark"]{color-scheme:dark;--surface:#1b2534;--page-bg:#101722;--text:#e3e9f1;--muted:#adb9c9;--border:#354255;--soft-surface:#222e3f;--accent-ui:var(--accent-bright);--accent-ui-soft:color-mix(in srgb,var(--accent) 18%,var(--surface))}
html[data-mode="dark"] .btn:not(.primary):not(.text):not(.danger){background:var(--soft-surface);color:var(--text);border-color:var(--border)}html[data-mode="dark"] .btn:hover:not(.primary),html[data-mode="dark"] .icon-btn:hover{background:#ffffff12}html[data-mode="dark"] .field input,html[data-mode="dark"] .field select,html[data-mode="dark"] .field textarea,html[data-mode="dark"] .control{background:var(--page-bg);color:var(--text);border-color:var(--border)}html[data-mode="dark"] .task-row,html[data-mode="dark"] .person-row,html[data-mode="dark"] .class-item,html[data-mode="dark"] .panel-head{border-color:var(--border)}html[data-mode="dark"] th,html[data-mode="dark"] .weekday,html[data-mode="dark"] .task-foot{background:var(--soft-surface)}html[data-mode="dark"] .notice{background:#153d35;border-color:#32574f;color:#d4f4e5}html[data-mode="dark"] .notice p{color:#b4d5ca}html[data-mode="dark"] .notice.warn{background:#463621;border-color:#705934;color:#ffe3bd}html[data-mode="dark"] .notice.warn p{color:#dfc6a5}html[data-mode="dark"] .progress{background:#364353}html[data-mode="dark"] .badge{background:#344254;color:#dde6f2}html[data-mode="dark"] .badge.green{background:#174b39;color:#a2e4c5}html[data-mode="dark"] .badge.red,html[data-mode="dark"] .error{background:#512d34;color:#ffc2c6}html[data-mode="dark"] .badge.orange{background:#4c3925;color:#ffdbac}html[data-mode="dark"] .badge.blue{background:#283e62;color:#bfd6ff}html[data-mode="dark"] .badge.teal{background:#174741;color:#a6e6dc}html[data-mode="dark"] .btn.danger{background:#4c2b33;color:#ffc4cc;border-color:#73404c}html[data-mode="dark"] .check{border-color:#65768a}html[data-mode="dark"] .check.done{background:#214738;border-color:#40795c;color:#b5f0ce}html[data-mode="dark"] .unavailable{background:repeating-linear-gradient(135deg,#443726,#443726 5px,#3a3025 5px,#3a3025 10px);color:#efd2a9}html[data-mode="dark"] .avatar.blue{background:#2a3e5d;color:#c4d6f4}html[data-mode="dark"] .signature-label{color:var(--muted)}html[data-mode="dark"] .demo-strip{color:var(--muted)}
@media(max-width:620px){.appearance-open{min-width:36px!important}.palette-grid{grid-template-columns:repeat(3,1fr);gap:8px}.top-actions select{width:80px}}
.login-layout{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.login-intro{background:var(--sidebar-bg);color:white;padding:8vw 6vw;display:flex;flex-direction:column;justify-content:center}.login-intro .brand{padding-left:0;margin-bottom:40px}.login-intro h1{line-height:1.5;font-size:36px}.login-intro p{color:var(--sidebar-text);margin-top:20px}.login-panel{align-self:center;width:min(460px,100%);padding:35px;margin:auto}.login-panel h1{margin:18px 0 8px}.login-panel form{margin-top:32px}.date-toolbar{margin-bottom:22px}.date-toolbar input{width:160px;padding:9px}.date-toolbar label{color:var(--muted)}@media(max-width:700px){.login-layout{grid-template-columns:1fr}.login-intro{display:none}.login-panel{padding:30px}.account-name{display:none}}
