
:root{--bg:#f5f1ea;--ink:#493628;--muted:#786957;--line:#5a433422;--panel:#ffffff69;--solid:#f5f1ea;--gold:#B89B63;--shadow:#5a433409;color-scheme:light} :root[data-theme=dark]{--bg:#201b17;--ink:#f3eade;--muted:#c3b49e;--line:#b89b6330;--panel:#342b2375;--solid:#29221c;--shadow:#0002;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{background:var(--bg);color:var(--ink);font-family:'Geeza Pro',Tahoma,Arial,sans-serif;font-size:14px}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:-3px}button{border:0;background:none}button,nav{-webkit-tap-highlight-color:transparent}.ambient{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 65% 5%,#b89b6326,transparent 55%),radial-gradient(ellipse at 15% 90%,#b89b631c,transparent 50%)}.app{height:100dvh;max-width:2400px;margin:auto;padding:0 clamp(18px,4vw,90px);display:grid;grid-template-rows:86px minmax(0,1fr) 28px 92px;gap:12px;padding-bottom:env(safe-area-inset-bottom)}header{display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--line);position:relative;z-index:5}.logo{width:160px;mix-blend-mode:multiply}:root[data-theme=dark] .logo{filter:invert(1) grayscale(1) sepia(.4);mix-blend-mode:screen}.preview{font-size:10px;color:var(--muted);border-inline-start:1px solid var(--line);padding-inline-start:22px}.tools{margin-inline-start:auto;display:flex;gap:10px;position:relative}.tools>button{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:var(--panel);font-size:20px}#themes{position:absolute;top:52px;left:0;padding:8px;background:var(--solid);border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 40px var(--shadow);display:flex}#themes button{width:44px;height:44px;font-size:24px;border-radius:12px}#themes button[aria-pressed=true]{background:#b89b6329}[hidden]{display:none!important}main{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:20px}.heading{display:flex;justify-content:space-between;align-items:center;padding-top:8px}.heading small{font-size:11px;color:var(--muted)}h1{font-weight:400;font-size:clamp(24px,2.6vw,42px);margin:8px 0 0;line-height:1.4}.stamp{font-size:13px;text-align:left}.stamp span{display:block;font-size:10px;color:var(--muted);margin-top:8px}.workspace{display:grid;min-height:0;gap:18px;grid-template-columns:1.15fr 1fr;grid-template-rows:auto minmax(0,1fr) minmax(110px,.47fr)}.overview{grid-column:1/-1}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;flex-shrink:0}.section-title h2{margin:0;font-size:15px;font-weight:500}.section-title>span{font-size:10px;color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metrics article{padding:17px 22px;border:1px solid var(--line);border-radius:22px;background:var(--panel);box-shadow:inset 0 1px #ffffff18;display:grid;grid-template-columns:1fr auto;gap:10px}.metrics article>span{font-size:12px;color:var(--muted)}.metrics strong{grid-row:1/3;grid-column:2;font:400 clamp(28px,3vw,48px) 'Avenir Next',Arial}.metrics small{font-size:10px;color:var(--muted)}.panel{min-height:0;min-width:0;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:26px;padding:22px;backdrop-filter:blur(20px);box-shadow:0 10px 40px var(--shadow),inset 0 1px #ffffff12}.scroll{overflow:auto;min-height:0;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--gold) transparent;scrollbar-gutter:stable;padding-inline-end:5px}.performance{grid-row:2/4}.activity{grid-column:2}.progress-hero{display:flex;gap:24px;align-items:center;padding:5px 0 25px}.ring{width:100px;height:100px;flex-shrink:0;border-radius:50%;background:conic-gradient(var(--gold) 75%,#b89b631c 0);display:grid;place-items:center;position:relative}.ring:before{content:'';position:absolute;inset:6px;border-radius:50%;background:var(--solid)}.ring b{position:relative;font:32px Arial}.ring small{font-size:13px}.progress-hero h3{font-size:18px;font-weight:400;margin:0 0 10px}.progress-hero p{font-size:11px;color:var(--muted);margin:0}.stream{padding:14px 0;border-top:1px solid var(--line)}.stream>div{display:flex;justify-content:space-between;font-size:12px}.stream span{color:var(--muted);font:11px Arial}.track{height:4px;background:#b89b6318;margin-top:13px;border-radius:10px;overflow:hidden}.track i{display:block;height:100%;background:var(--gold);border-radius:10px}.task{display:flex;align-items:center;gap:13px;width:100%;text-align:right;padding:15px 0;border-bottom:1px solid var(--line)}.task:hover{background:#b89b630c}.task-icon{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:13px;font-size:20px;flex-shrink:0}.task b{font-size:12px;font-weight:500}.task small{display:block;font-size:10px;color:var(--muted);margin-top:7px}.task em{margin-inline-start:auto;font-size:10px;font-style:normal;color:var(--muted)}.note{display:flex;align-items:center;gap:13px;padding:10px 0;color:var(--muted)}.note>span{font-size:28px;color:var(--gold)}.note p{font-size:12px;line-height:1.9}.note small{font-size:10px}.activity-row{display:flex;gap:14px;align-items:center;padding:12px 0}.activity-row i{width:5px;height:5px;border-radius:50%;background:var(--gold)}.activity-row span{font-size:12px}.activity-row small{display:block;color:var(--muted);font-size:10px;margin-top:5px}time{margin-inline-start:auto;font-size:10px;color:var(--muted)}footer{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:var(--muted)}.dock{align-self:center;justify-self:center;display:flex;max-width:100%;gap:5px;padding:8px 12px;border:1px solid var(--line);background:var(--panel);backdrop-filter:blur(24px);border-radius:25px;box-shadow:0 14px 40px var(--shadow),inset 0 1px #ffffff33}.dock button{width:64px;min-height:58px;border-radius:18px;display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;transition:transform .2s,background .2s}.dock button.active{background:#b89b6325}.dock button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.dock button span{font-size:9px}@media(hover:hover){.dock button:hover{transform:translateY(-8px);background:#b89b6320}}dialog{width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 40px);border:1px solid var(--line);border-radius:24px;background:var(--solid);color:var(--ink);padding:24px;box-shadow:0 30px 100px #0003}dialog::backdrop{background:#201b1744;backdrop-filter:blur(9px)}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head h2{font-weight:400;font-size:22px}.dialog-head button{font-size:28px;width:44px;height:44px}dialog p{line-height:2;color:var(--muted)}dialog .scroll{max-height:60dvh}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.menu-grid button{padding:18px;border:1px solid var(--line);border-radius:15px}@media(min-width:2000px){body{font-size:18px}.app{grid-template-rows:110px minmax(0,1fr) 32px 110px;gap:24px}.panel{padding:32px}.section-title h2{font-size:21px}.metrics article{padding:30px}.stream>div,.task b,.activity-row span{font-size:17px}.stream{padding:22px 0}.task{padding:25px 0}.task small,.activity-row small{font-size:14px}.dock button{width:82px;min-height:70px}.dock button span{font-size:12px}.logo{width:190px}}@media(max-width:850px){.app{padding-inline:20px;grid-template-rows:74px minmax(0,1fr) 22px 84px;gap:10px}.workspace{gap:12px;grid-template-columns:1fr 1fr}.panel{padding:16px}.metrics article{padding:14px}.metrics small{display:none}.metrics strong{grid-row:auto}.progress-hero{gap:12px}.ring{width:75px;height:75px}.progress-hero h3{font-size:15px}.stamp{display:none}.dock button{width:58px}.task em{display:none}}@media(max-width:600px){.app{padding-inline:16px;grid-template-rows:66px minmax(0,1fr) 16px 78px;gap:8px}header{gap:12px}.logo{width:128px}.preview{font-size:8px;padding-inline-start:10px}.tools{gap:6px}.tools>button{width:36px;height:36px}.heading{padding-top:0}h1{font-size:25px;margin-top:4px}main{gap:14px}.workspace{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) minmax(0,.8fr);gap:12px}.metrics{gap:8px;grid-template-columns:repeat(2,1fr)}.metrics article{padding:12px;border-radius:17px;gap:4px}.metrics article>span{font-size:10px;align-self:center}.metrics strong{font-size:27px}.section-title{padding-bottom:9px}.section-title h2{font-size:13px}.performance{grid-row:2;grid-column:1}.priorities{grid-row:3;grid-column:1}.activity{display:none}.panel{border-radius:21px;padding:14px}.progress-hero{padding-bottom:14px}.ring{width:64px;height:64px}.ring b{font-size:24px}.progress-hero h3{font-size:15px}.stream{padding:12px 0}.dock{padding:6px 8px;gap:1px;border-radius:23px}.dock button{width:55px;min-height:54px}.dock button.desktop{display:none}footer{font-size:8px}footer span:last-child{display:none}.task{padding:10px 0}.note{display:none}}@media(max-height:650px) and (min-width:601px){.app{grid-template-rows:60px minmax(0,1fr) 16px 70px;gap:6px}main{gap:10px}h1{font-size:25px}.heading small{display:none}.workspace{gap:10px;grid-template-rows:auto minmax(0,1fr)}.performance{grid-row:2}.activity{display:none}.metrics article{padding:10px 16px}.metrics strong{font-size:28px}.dock button{min-height:48px}.section-title{padding-bottom:8px}}@media(max-height:620px) and (max-width:600px){.heading small,.preview,footer{display:none}.app{grid-template-rows:54px minmax(0,1fr) 0px 66px}.metrics article{padding:6px 10px}.metrics strong{font-size:22px}h1{font-size:20px}main{gap:8px}.workspace{gap:8px}.dock button{min-height:46px}.progress-hero{display:none}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
header{z-index:auto}.tools{z-index:5}
.panel>.scroll{flex:1}
@media(max-height:500px) and (min-width:601px){.app{grid-template-rows:48px minmax(0,1fr) 0px 60px;gap:5px}.logo{width:110px}.heading{display:none}.overview{display:none}main{grid-template-rows:minmax(0,1fr)}.workspace{grid-template-rows:minmax(0,1fr)}.performance,.priorities{grid-row:1}.panel{padding:12px}.section-title{padding-bottom:8px}footer{display:none}.dock{padding:4px 10px}.dock button{min-height:44px}.progress-hero{display:none}}

main{grid-template-rows:auto auto minmax(0,1fr);gap:12px}.dashboard-tabs{display:flex;gap:6px;flex-wrap:wrap}.dashboard-tabs button{padding:9px 16px;border:1px solid var(--line);border-radius:30px;font-size:12px}.dashboard-tabs button[aria-pressed=true]{background:#b89b6330;border-color:var(--gold)}.metrics{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.metric-card{min-width:0;text-align:right;padding:15px;border:1px solid var(--line);border-radius:20px;background:var(--panel);display:grid;gap:9px;transition:background .2s}.metric-card:hover{background:#b89b6325}.metric-card>span{font-size:11px;color:var(--muted)}.metric-card strong{grid-column:auto;grid-row:auto;font-size:32px}.metric-card small{font-size:9px;color:var(--muted)}.stream-button{display:block;width:100%;text-align:right}.stream-button:hover{background:#b89b6315}.priority-bar{display:flex;align-items:center;gap:14px;padding:10px 0;width:100%;font-size:12px}.priority-bar .track{flex:1;margin:0}.priority-bar b{font-weight:400}.assignment,.back-results{padding:10px;border:1px solid var(--line);border-radius:12px;font-size:12px}.drill-note{display:block;color:var(--muted);font-size:12px;margin-bottom:18px}.drill-list{display:block}.drill-row{display:block;width:100%;text-align:right;padding:14px;border-bottom:1px solid var(--line)}.drill-row:hover{background:#b89b6320}.drill-row b{display:block;font-size:14px;font-weight:500}.drill-row small{font-size:11px;color:var(--muted)}#detail-copy{margin:0}dt{font-size:12px;color:var(--muted)}dd{margin:0 0 14px}.ring{cursor:pointer}
@media(max-width:850px){.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-card{padding:10px;grid-template-columns:1fr auto;align-items:center}.metric-card strong{font-size:25px}.metric-card small{display:none}}
@media(max-width:600px){main{gap:9px}.dashboard-tabs{flex-wrap:nowrap;gap:4px}.dashboard-tabs button{padding:8px 9px;font-size:10px;flex:1}.metric-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;border-radius:15px}.metric-card>span{font-size:10px}.metric-card strong{font-size:23px}.workspace{grid-template-rows:auto minmax(0,1fr) minmax(0,.7fr)}.heading h1{font-size:22px}.heading>div>small{display:none}}
@media(max-height:500px) and (min-width:601px){main{grid-template-rows:auto minmax(0,1fr)}.dashboard-tabs{display:none}.overview{display:block}.workspace{grid-template-rows:auto minmax(0,1fr)}.performance,.priorities{grid-row:2}.metrics{grid-template-columns:repeat(6,minmax(0,1fr))}.metric-card{padding:5px;display:flex;align-items:center;justify-content:space-between}.metric-card>span{font-size:9px}.metric-card strong{font-size:20px}.overview .section-title{display:none}}
.logo{filter:url(#logo-clean);mix-blend-mode:normal}:root[data-theme=dark] .logo{filter:url(#logo-clean) brightness(0) invert(.9) sepia(.2);mix-blend-mode:normal}
/* Production integration: preserve server forms, authentication and real routes. */
:root{--surface:var(--panel);--brand:#5a4334;--brand-soft:#b89b6325;--brand-ink:#fff8eb;--grey-bg:#b89b631a}
:root[data-theme=dark]{--brand:#d9bf8a;--brand-ink:#241c15;--green:#b5d1ad;--green-bg:#284031;--amber:#e6cc98;--amber-bg:#443820;--red:#e9b2a9;--red-bg:#472e2a;--blue:#afc8db;--blue-bg:#29343d}
body{line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}input,select,textarea,th{background:var(--solid);color:var(--ink)}.btn{background:var(--brand);color:var(--brand-ink);border-radius:18px}.btn-ghost{background:var(--panel);color:var(--ink);border-color:var(--line)}.app{position:relative}.logo{filter:none;mix-blend-mode:multiply}:root[data-theme=dark] .logo{filter:invert(1) grayscale(1) sepia(.4);mix-blend-mode:screen}.tools details{position:relative}.tools summary{list-style:none;cursor:pointer;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:var(--panel);font-size:20px}.tools summary::-webkit-details-marker{display:none}.theme-options,.account-content{position:absolute;top:50px;left:0;z-index:20;display:flex;gap:5px;padding:8px;border:1px solid var(--line);border-radius:18px;background:var(--solid);box-shadow:0 12px 30px #0002}.theme-options button{width:42px;height:42px;border-radius:12px;font-size:22px}.theme-options button[aria-pressed=true]{background:var(--brand-soft)}.account-content{min-width:200px;flex-direction:column;font-size:13px;padding:16px}.account-content form{margin:0}.page-main{display:block;overflow:auto;min-height:0;overscroll-behavior:contain;background:var(--panel);border:1px solid var(--line);border-radius:26px;padding:24px;scrollbar-width:thin;scrollbar-color:var(--gold) transparent}.page-main h2{margin-top:24px}.page-main .table-wrap{max-height:55dvh;overflow:auto}.page-main thead{position:sticky;top:0}.page-main .card,.page-main .form{max-width:none;background:var(--panel)}.page-main .login-wrap{margin:30px auto}.dashboard-tabs a{padding:9px 16px;border:1px solid var(--line);border-radius:30px;font-size:12px}.dashboard-tabs a.selected{background:var(--brand-soft);border-color:var(--gold)}.metric-card{color:var(--ink)}.ring b{font-size:26px}.section-title>a{font-size:10px;color:var(--muted)}.stream .bar{margin-top:12px;height:4px}.stream .bar span{background:var(--gold)}.dock>a{width:70px;min-height:58px;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;transition:transform .2s,background .2s}.dock>a.active{background:var(--brand-soft)}.dock>a>span{font-size:10px}.dock>a>.dock-icon{font-size:25px;line-height:1.1}.drill-overlay{position:fixed;inset:0;z-index:30;display:grid;place-items:center;background:#201b1755;backdrop-filter:blur(10px);padding:20px}.drill-dialog{width:min(700px,100%);max-height:calc(100dvh - 40px);display:flex;flex-direction:column;background:var(--solid);border:1px solid var(--line);border-radius:26px;padding:24px;box-shadow:0 30px 100px #0003}.drill-dialog>.scroll{flex:1}.drill-row{display:block}.close-drill{width:44px;height:44px;text-align:center;font-size:28px}.assignment{display:inline-block}a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.timeline li{padding:12px}.progress-hero h3{line-height:1.5}.dashboard-main>.flash{display:none}
@media(hover:hover){.dock>a:hover{transform:translateY(-6px);background:var(--brand-soft)}}
@media(max-width:600px){.dashboard-tabs a{padding:8px;font-size:10px;flex:1;text-align:center}.page-main{padding:16px}.preview{display:none}.dock>a{width:60px;min-height:52px}.drill-dialog{padding:18px}.heading .btn{font-size:11px;padding:8px}.heading h1{font-size:21px}.ring b{font-size:21px}}
@media(prefers-color-scheme:dark){:root:not([data-theme]){--bg:#201b17;--ink:#f3eade;--muted:#c3b49e;--line:#b89b6330;--panel:#342b2375;--solid:#29221c;color-scheme:dark}}
@media(max-width:600px) and (max-height:650px){.dashboard-main>.heading{display:none}.dashboard-main{grid-template-rows:auto minmax(0,1fr);gap:8px}.dashboard-tabs a{padding:6px;font-size:9px}.overview{max-height:104px;overflow:auto;overscroll-behavior:contain}.overview .section-title{display:none}.metrics{gap:6px}.metric-card{padding:7px;gap:2px}.metric-card strong{font-size:20px}.workspace{grid-template-rows:104px minmax(0,1fr) minmax(0,1fr)}.progress-hero{display:none}.panel{padding:10px}.panel .section-title{padding-bottom:6px}.section-title h2{font-size:12px}.section-title>a{font-size:9px}}
.production-shell>header{grid-row:1}.production-shell>main{grid-row:2}.production-shell>footer{grid-row:3}.production-shell>.dock{grid-row:4}
.priorities .note{display:flex}
/* Apply blending at the logo link so Safari composites against the header. */
header>.brand{mix-blend-mode:multiply}header>.brand .logo{mix-blend-mode:normal}:root[data-theme=dark] header>.brand{mix-blend-mode:screen}:root[data-theme=dark] header>.brand .logo{mix-blend-mode:normal}


/* Compact, centered sign-in; scrolling stays inside the available content area. */
.auth-shell{grid-template-rows:86px minmax(0,1fr) 28px;gap:12px}
.auth-shell>div:last-child{display:none}
.auth-shell>.page-main{display:flex;flex-direction:column;align-items:center;border:0;background:transparent;padding:20px 0;border-radius:0}
.auth-shell .page-main .login-wrap.card{flex:none;width:100%;max-width:420px;margin:auto;padding:clamp(22px,4vw,36px);border:1px solid var(--line);border-radius:26px;box-shadow:0 18px 60px var(--shadow)}
.auth-shell .login-wrap h1{font-size:26px;text-align:center;margin:0 0 8px;line-height:1.4}
.auth-shell .login-wrap>.sub{text-align:center;font-size:13px;margin:0 0 24px}
.auth-shell .login-wrap .form{padding:0;border:0;background:transparent;box-shadow:none;margin:0;gap:16px}
.auth-shell .login-wrap input{min-height:46px;font-size:16px}
.auth-shell .login-wrap .btn{min-height:46px;font-size:15px}
@media(max-width:600px){.auth-shell{grid-template-rows:68px minmax(0,1fr) 24px;gap:8px}.auth-shell>.page-main{padding:12px 0}.auth-shell .page-main .login-wrap.card{max-width:420px}.auth-shell .login-wrap h1{font-size:24px}.auth-shell>footer{display:flex;font-size:9px}}

header>.brand,:root[data-theme=dark] header>.brand{mix-blend-mode:normal}header>.brand .logo{filter:url(#logo-cutout);mix-blend-mode:normal}:root[data-theme=dark] header>.brand .logo{filter:url(#logo-cutout) brightness(0) invert(.9) sepia(.25);mix-blend-mode:normal}
