:root{--bg:#f6f7f3;--paper:#fff;--ink:#1f302e;--muted:#77817d;--line:#e6e9e2;--teal:#236c5d;--mint:#eaf2ec}
:root{--side:#183c38;--side-soft:#31594a;--accent:#236c5d;--soft:#eaf2ec;--hero:#315944;--hero-text:#e8efdc}
:root[data-theme=ocean]{--bg:#f2f6fb;--paper:#fff;--ink:#1e314a;--muted:#64758b;--line:#dce5f0;--teal:#2563a0;--mint:#e7f0fb;--side:#172f50;--side-soft:#264d72;--accent:#2563a0;--soft:#e7f0fb;--hero:#244d75;--hero-text:#e0efff}
:root[data-theme=violet]{--bg:#f6f3fb;--paper:#fff;--ink:#332747;--muted:#7a6a8f;--line:#e6dff0;--teal:#7751a5;--mint:#f0e9f9;--side:#342344;--side-soft:#543b70;--accent:#7751a5;--soft:#f0e9f9;--hero:#594170;--hero-text:#f2e7ff}
:root[data-theme=amber]{--bg:#fbf7f0;--paper:#fffdf9;--ink:#443322;--muted:#85705a;--line:#ece1d1;--teal:#97632c;--mint:#f8eddd;--side:#443122;--side-soft:#684b31;--accent:#97632c;--soft:#f8eddd;--hero:#73522e;--hero-text:#fff0d4}
:root[data-theme=rose]{--bg:#fbf3f5;--paper:#fffdfe;--ink:#482c37;--muted:#8c6b78;--line:#eedde4;--teal:#a24c70;--mint:#f9e8ef;--side:#452534;--side-soft:#713e55;--accent:#a24c70;--soft:#f9e8ef;--hero:#7c405a;--hero-text:#ffe7ef}
body{background:var(--bg,#f6f7f3);color:var(--ink,#1f302e)}.sidebar{background:var(--side);scrollbar-color:var(--accent) var(--side-soft)}.sidebar::-webkit-scrollbar-track{background:var(--side-soft)}.sidebar::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--accent),white 40%);border-color:var(--side-soft)}.executive-card{background:var(--hero);color:var(--hero-text)}.executive-card h2,.executive-card>p{color:var(--hero-text)}.next-card,.stat-card,.panel,.category-card,.phase-row,.evidence-card,.quest-card,.timeline-scroll,dialog,.output-row{background:var(--paper)}.topbar{background:var(--paper);border-color:var(--line)}.button-dark,.category-filter.active{background:var(--accent);color:white}.progress-track>span{background:var(--accent)}.schedule-summary,.notice,.gate-box{background:var(--soft);border-color:var(--line)}.nav-link.active,.nav-link:hover{background:var(--side-soft)}.plan{background:var(--paper,#fff);border-color:var(--line,#e6e9e2);color:var(--ink,#1f302e)}.plan:hover{border-color:var(--accent)}
.account-controls{display:flex;gap:7px;align-items:center}.account-controls button{cursor:pointer;border:1px solid var(--line,#dce5df);padding:8px 11px;border-radius:7px;background:var(--paper,#fff);color:var(--ink,#1f302e);font:11px 'Segoe UI',sans-serif}.account-controls .account-role{font:10px 'Segoe UI',sans-serif;color:var(--muted,#697a72)}.hub-account{position:fixed;top:22px;right:24px;z-index:10}.account-dialog{max-width:610px;width:calc(100% - 30px);max-height:90dvh;overflow:auto;border:1px solid var(--line,#dce5df);border-radius:16px;padding:26px;background:var(--paper,#fff);color:var(--ink,#1f302e);font:14px/1.6 'Segoe UI',sans-serif;box-shadow:0 25px 100px #122b4430}.account-dialog::backdrop{background:#142a3e80;backdrop-filter:blur(5px)}.account-dialog h2{margin:0}.account-dialog h3{margin:23px 0 10px;font-size:14px}.account-dialog p{color:var(--muted,#697a72);font-size:12px}.account-heading{display:flex;justify-content:space-between;align-items:center}.account-heading button{background:none;border:0;font-size:25px;color:inherit;cursor:pointer}.theme-options{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin:14px 0}.theme-choice{border:2px solid transparent;background:var(--bg,#f6f7f3);border-radius:10px;padding:10px 5px;cursor:pointer;color:inherit;font-size:11px}.theme-choice[aria-pressed=true]{border-color:var(--accent)}.theme-swatch{display:block;height:35px;border-radius:6px;margin-bottom:6px;background:linear-gradient(110deg,var(--preview) 40%,var(--preview-bg) 40%)}.account-form label,.login-card label{display:block;font-size:12px;font-weight:600;margin:14px 0 5px}.account-form input,.login-card input{width:100%;box-sizing:border-box;border:1px solid var(--line,#dce5df);border-radius:8px;padding:12px;background:var(--paper,#fff);color:var(--ink,#1f302e);font:14px 'Segoe UI',sans-serif}.account-action,.login-card button{cursor:pointer;background:var(--accent,#236c5d);color:white;border:0;border-radius:8px;padding:12px 18px;font:600 13px 'Segoe UI',sans-serif;margin-top:14px}.account-message{font-size:12px;min-height:20px;color:var(--teal,#236c5d)}.error-message{color:#b53e42!important}.account-dialog details{margin-top:20px;font-size:12px}.audit-event{padding:9px 0;border-bottom:1px solid var(--line,#dce5df);font-size:11px}.sync-state{font:10px 'Segoe UI',sans-serif;color:var(--muted,#697a72)}.observer-note{background:var(--soft);padding:10px 14px;border-radius:8px;color:var(--ink);font:12px 'Segoe UI',sans-serif;margin:12px 0}
.login-page{margin:0;min-height:100dvh;display:grid;grid-template-columns:1fr 1fr;font-family:'Segoe UI',sans-serif;background:#f6f7f3;color:#1f302e}.login-art{background:#183c38;position:relative;overflow:hidden;color:#edf4e9;display:flex;flex-direction:column;justify-content:space-between;padding:50px 10%;box-sizing:border-box}.login-brand{font-size:22px;font-weight:650;letter-spacing:-1px}.login-art h1{font-size:clamp(32px,4vw,58px);line-height:1.14;font-weight:650;letter-spacing:-2px;margin:30px 0 15px}.login-art p{font-size:14px;line-height:1.8;color:#bcd0c7;max-width:400px}.login-art small{color:#bcd0c7;font-size:11px}.login-art .cube-stage{margin:0 auto;transform:scale(1.15)}.login-main{display:flex;align-items:center;justify-content:center;padding:40px 24px}.login-card{width:100%;max-width:370px}.login-eyebrow{font-size:10px;letter-spacing:2px;color:#728779;font-weight:600}.login-card h2{font-size:31px;letter-spacing:-1px;margin:12px 0}.login-card p{font-size:13px;line-height:1.7;color:#728076}.login-card button{width:100%}.login-card button:disabled,.account-action:disabled{opacity:.6;cursor:wait}.password-wrap{position:relative}.password-wrap input{padding-right:58px}.login-card .show-password{position:absolute;right:8px;top:3px;width:auto;padding:9px 5px;margin:0;background:none;color:#647b6b;font-size:11px}.login-foot{font-size:11px!important;margin-top:25px!important}.login-card [hidden],.account-dialog [hidden]{display:none!important}
@media(max-width:700px){.login-page{grid-template-columns:1fr}.login-art{padding:25px 25px 30px;min-height:230px}.login-art h1{font-size:31px;margin:20px 0 10px}.login-art .cube-stage{position:absolute;right:0;top:34px;transform:scale(.55);transform-origin:right center}.login-art p{max-width:220px;font-size:12px}.login-art small{display:none}.login-main{padding:30px 24px}.account-role{display:none}.account-controls button{padding:8px}.theme-options{gap:4px}.theme-choice{font-size:9px}.hub-account{right:15px;top:15px}.account-dialog{padding:21px}.sync-state{display:none}}
@media print{.account-controls,.entry-loader,.account-dialog{display:none!important}}
/* Keep hub cards consistent and legible in every account theme. */
.plan.available{background:var(--hero);color:var(--hero-text);border-color:var(--hero)}.plan.available .label small,.plan.available .state{color:var(--hero-text);opacity:.85}.plan.available .icon{background:var(--side-soft);border-color:color-mix(in srgb,var(--hero-text),transparent 65%);color:var(--hero-text)}.plan.available.secondary,.plan.available.secondary:hover{background:var(--paper);border-color:var(--line);color:var(--ink)}.plan.available.secondary .label small,.plan.available.secondary .state{color:var(--muted)}.plan.available.secondary .icon{background:var(--soft);color:var(--accent);border-color:var(--line)}
.profile-settings-link{cursor:pointer;border-radius:8px}.profile-settings-link:focus-visible{outline:2px solid #d9e7d7;outline-offset:5px}.notification-count{display:inline-grid;place-items:center;min-width:16px;height:16px;padding:0 4px;margin-left:3px;background:var(--accent);border-radius:10px;color:white;font-size:9px}.notification-count[hidden]{display:none}.notification-preferences label{display:flex;align-items:center;gap:9px;margin:12px 0;font-size:12px}.notification-preferences input{width:16px;height:16px;accent-color:var(--accent)}.notification-item{padding:16px;border:1px solid var(--line);border-radius:10px;margin-top:10px;background:var(--paper)}.notification-item.unread{border-left:3px solid var(--accent);background:var(--soft)}.notification-type{display:block;font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:5px}.notification-item a{color:var(--ink);text-decoration:none;font-size:13px}.notification-item a:hover{text-decoration:underline}.notification-item p{margin:7px 0;font-size:12px}.notification-item button{background:transparent;border:1px solid var(--line);color:var(--accent);border-radius:5px;padding:6px 9px;font-size:11px;cursor:pointer}.weekly-panel{margin-bottom:24px;padding:23px!important}.weekly-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.weekly-heading h2{font-size:22px;letter-spacing:-.6px;margin:7px 0}.weekly-heading h2>span{font:11px var(--sans);color:var(--muted);margin-left:12px;letter-spacing:0}.weekly-heading p,.weekly-explainer{font:11px/1.7 var(--sans);color:var(--muted);margin:6px 0}.weekly-navigation{display:flex;gap:5px;flex:none}.weekly-navigation button{background:var(--soft);color:var(--accent);border:1px solid var(--line);border-radius:6px;padding:8px 10px;font:11px var(--sans);cursor:pointer}.weekly-navigation button:disabled{opacity:.4;cursor:default}.weekly-progress-line{display:flex;align-items:baseline;gap:15px;flex-wrap:wrap;margin-top:16px}.weekly-progress-line strong{font:750 25px var(--heading);color:var(--accent);letter-spacing:-1px}.weekly-progress-line>span{font:11px var(--sans);color:var(--muted)}.weekly-progress{height:9px;background:var(--soft);border-radius:10px;overflow:hidden;margin:11px 0}.weekly-progress>span{display:block;height:100%;background:var(--accent);border-radius:10px;transition:width .25s}.weekly-explainer{font-size:10px}.weekly-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:17px}.weekly-columns h3{font:650 12px var(--sans);margin:0 0 9px}.weekly-columns h3>span{font-size:10px;color:var(--muted);padding-left:5px}.weekly-task{display:flex;gap:10px;align-items:flex-start;width:100%;text-align:left;background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:12px 11px;border-radius:8px;margin-top:7px;cursor:pointer}.weekly-task:hover{border-color:var(--accent);background:var(--soft)}.weekly-task-code{font:650 10px var(--sans);color:var(--accent);min-width:38px;padding-top:2px}.weekly-task>span:nth-child(2){flex:1;min-width:0}.weekly-task strong{font:600 11px/1.6 var(--sans);display:block}.weekly-task small{display:block;font:10px/1.7 var(--sans);color:var(--muted);margin-top:5px;overflow-wrap:anywhere}.weekly-task small.weekly-output{font-size:9px;opacity:.85}.weekly-task .status-chip{font-size:8px;padding:3px 5px}.weekly-empty,.weekly-clear{font:11px/1.8 var(--sans);color:var(--muted);background:var(--bg);border-radius:7px;padding:12px}.weekly-clear{margin:17px 0 0;color:var(--accent)}.weekly-missing{margin-top:18px;border-top:1px solid var(--line);padding-top:15px}.weekly-missing summary{cursor:pointer;font:650 12px var(--sans);color:var(--accent)}.weekly-missing>p{font:10px/1.7 var(--sans);color:var(--muted);margin:9px 0}.weekly-missing .weekly-task{max-width:100%}.notifications-dialog{max-width:580px}.account-controls #open-notifications{white-space:nowrap}
@media(max-width:1100px){.top-actions .snapshot{display:none}.account-controls .sync-state,.account-controls .account-role{display:none}}
@media(max-width:700px){.weekly-panel{padding:17px!important}.weekly-heading{flex-direction:column;gap:8px}.weekly-heading h2{font-size:20px}.weekly-heading h2>span{margin-left:8px;font-size:10px}.weekly-columns{grid-template-columns:1fr;gap:15px}.weekly-task{flex-wrap:wrap}.weekly-task .status-chip{margin-left:48px}.weekly-progress-line{gap:7px}.weekly-progress-line>span{font-size:10px}.topbar{height:auto;min-height:65px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px;gap:10px}.top-actions{margin-left:auto}.account-controls button{font-size:10px;padding:7px}.account-controls{gap:4px}.hub-account{gap:5px}.notifications-dialog .account-action{font-size:11px}}
.account-controls button{white-space:nowrap}@media(max-width:1400px){.top-actions .snapshot,.account-controls .sync-state,.account-controls .account-role{display:none}.top-actions #export-btn>span:last-child{display:none}}
.hub-library-link{color:var(--accent);font:11px var(--sans,'Segoe UI',sans-serif);padding:7px;text-decoration:none;white-space:nowrap}
