:root{--brand:#264653;--brand-2:#2a9d8f;--accent:#e76f51;--bg:#f5f7f7;--surface:#fff;--text:#27343b;--muted:#7b8a90;--line:#dde3e5;--danger:#b83a1e;--radius:10px;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--tap:44px;--nav-h:60px;--side-w:220px}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-text-size-adjust:100%;margin:0;line-height:1.5}h1{color:var(--brand);margin:0 0 12px;font-size:1.6rem;line-height:1.25}a{color:var(--brand-2)}p{margin:0 0 12px}.tap{min-height:var(--tap);align-items:center;display:inline-flex}.muted{color:var(--muted)}.break{overflow-wrap:anywhere}.problem{color:var(--danger)}.loading{color:var(--muted);padding:24px 16px}.stack{flex-direction:column;gap:12px;display:flex}.field{text-align:left;flex-direction:column;gap:4px;font-weight:600;display:flex}input,select,textarea{min-height:var(--tap);width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:8px 12px;font-weight:400}input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--brand-2);outline-offset:2px}button{min-height:var(--tap);font:inherit;border-radius:var(--radius);cursor:pointer;padding:8px 16px;font-weight:600}button:disabled{opacity:.6;cursor:default}.primary{color:#fff;background:var(--brand-2);border:0}.primary.big{width:100%;min-height:56px;font-size:1.1rem}.secondary{color:var(--brand);background:var(--surface);border:1px solid var(--line)}.auth{justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.card{text-align:center;background:var(--surface);border-top:4px solid var(--brand-2);border-radius:var(--radius);width:100%;max-width:420px;padding:28px 20px;box-shadow:0 2px 12px #2646531a}.logo{width:144px;max-width:50%;height:auto;margin:0 auto 8px;display:block}.product{color:var(--brand-2);margin:0 0 8px;font-size:1.6rem;font-weight:700;line-height:1.25}.tagline{color:var(--muted);overflow-wrap:anywhere;margin:20px 0 0;font-style:italic}.topbar{background:var(--brand);align-items:center;height:52px;padding:0 16px;display:flex}.brand{min-height:var(--tap);color:#fff;align-items:center;gap:8px;font-size:1.1rem;font-weight:700;text-decoration:none;display:flex}.brand img{background:#fff;border-radius:6px;padding:1px}.page{min-width:0;padding:16px 16px calc(var(--nav-h) + 24px)}.nav ul{margin:0;padding:0;list-style:none}.nav a{min-height:var(--tap);color:var(--brand);justify-content:center;align-items:center;font-weight:600;text-decoration:none;display:flex}.nav a[aria-current=page]{color:var(--brand-2)}@media (width<=767.98px){.nav{z-index:10;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--line);position:fixed;inset:auto 0 0}.nav ul{height:var(--nav-h);display:flex}.nav li{flex:1}.nav a{height:100%}.nav a[aria-current=page]{box-shadow:inset 0 3px 0 var(--brand-2)}.wide-only{display:none}}@media (width>=768px){.shell{grid-template-columns:var(--side-w) minmax(0, 1fr);grid-template-rows:auto 1fr;min-height:100vh;display:grid}.topbar{grid-column:1/-1}.nav{background:var(--surface);border-right:1px solid var(--line);padding:16px 8px}.nav a{border-radius:var(--radius);justify-content:flex-start;padding:0 12px}.nav a[aria-current=page]{background:var(--bg)}.page{padding:24px 32px}.narrow-only{display:none}}h2{color:var(--brand);margin:0;font-size:1.15rem}h3{margin:8px 0 0;font-size:1rem}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.rows{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row>input,.row>select{flex:9rem;width:auto;min-width:0}.row>.problem{flex-basis:100%;margin:0}.between{justify-content:space-between}.row>.swatch{flex:0 0 var(--tap);padding:4px}.tabs{border-bottom:1px solid var(--line);gap:16px;display:flex}.tabs a{font-weight:600;text-decoration:none}.tabs a[aria-current=page]{box-shadow:inset 0 -3px 0 var(--brand-2)}.danger{color:var(--danger)}.primary.danger{color:#fff;background:var(--danger)}.signout{color:var(--danger);background:var(--surface);border:2px solid var(--danger)}.switch{min-height:var(--tap);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:4px 0;font-weight:600;display:flex}.switch input{appearance:none;background:var(--line);border:1px solid var(--muted);cursor:pointer;border-radius:999px;flex:0 0 52px;width:52px;height:32px;min-height:32px;padding:0;transition:background-color .15s;position:relative}.switch input:before{content:"";background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0000004d}.switch input:checked{background:var(--brand-2);border-color:var(--brand-2)}.switch input:checked:before{transform:translate(20px)}.switch input:disabled{opacity:.6;cursor:default}@media (prefers-reduced-motion:reduce){.switch input,.switch input:before{transition:none}}.saved{min-height:1.5em;color:var(--brand);margin:0}.group{border-left:4px solid var(--muted);flex-direction:column;gap:8px;padding-left:12px;display:flex}.group-head{color:var(--brand);background:0 0;border:0;align-self:flex-start;padding:0 4px;font-size:1.1rem}.tablewrap{overflow-x:auto}.tasks{border-collapse:collapse;background:var(--surface);width:100%}.tasks th,.tasks td{text-align:left;vertical-align:middle;border-bottom:1px solid var(--line);padding:4px 8px}.tasks th{color:var(--muted);font-size:.85rem}.tasks td:first-child{min-width:16rem}.row.nowrap{flex-wrap:nowrap}.taskcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);gap:4px;padding:8px 12px}.taskcard .title{font-weight:600;text-decoration:none}.taskcard p{margin:0}.status,.pill{border-left:6px solid var(--muted)}.row>.status{flex:0 12rem}.pill{background:var(--bg);border-radius:6px;padding:2px 8px}.late{color:var(--danger);font-weight:600}.stack.tight{gap:4px}.columns summary{cursor:pointer;font-weight:600}.check{min-height:var(--tap);align-items:center;gap:8px;display:flex}.check input{width:auto;min-height:0}.sheet{z-index:20;padding:16px 16px calc(16px + env(safe-area-inset-bottom));background:var(--surface);flex-direction:column;gap:16px;display:flex;position:fixed;inset:0;overflow-y:auto}@media (width>=768px){.sheet{width:min(480px,100%);left:auto;box-shadow:-4px 0 16px #26465326}}.statusgrid{grid-template-columns:repeat(auto-fill,minmax(8rem,1fr));gap:8px;display:grid}.bigstatus{min-height:56px;color:var(--text);text-align:left;background:var(--surface);border:1px solid var(--line);border-left:8px solid var(--muted)}.bigstatus[aria-pressed=true]{background:var(--bg);box-shadow:inset 0 0 0 2px var(--brand-2)}.check input.box,input.box{width:24px;height:24px;min-height:0}fieldset{border:0;margin:0;padding:0}.pre{white-space:pre-wrap}@media (width>=768px){.taskcard>.markdone{align-self:flex-start;min-width:10rem}}.kboard{overscroll-behavior-x:contain;align-items:flex-start;gap:12px;min-width:0;padding-bottom:8px;display:flex;overflow-x:auto}.kcol{background:var(--surface);border:1px solid var(--line);border-top:6px solid var(--muted);border-radius:var(--radius);flex-direction:column;flex:0 0 17rem;gap:8px;min-width:0;min-height:8rem;padding:8px 8px 40px;display:flex}.kcol.over{box-shadow:inset 0 0 0 2px var(--brand-2)}.kcol h2{margin:0;font-size:1rem}.kcards{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.kcard{background:var(--bg);border:1px solid var(--line);touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;border-radius:8px;flex-direction:column;gap:4px;padding:8px;display:flex}.kcard[aria-roledescription=draggable]{cursor:grab}.kcard .title{font-weight:600;text-decoration:none}.kcard p{margin:0;font-size:.9rem}.kcard.lifted{opacity:.4}.kcard.drag{background:var(--surface);cursor:grabbing;font-weight:600;box-shadow:0 6px 16px #26465333}@media (width<=767.98px){.kboard{scroll-snap-type:x mandatory}.kcol{scroll-snap-align:start;flex-basis:100%}.kboard.dragging{scroll-snap-type:none}}.dash{flex-direction:column;gap:12px;min-width:0;display:flex}.pies{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}@media (width>=768px){.pies{grid-template-columns:repeat(2,minmax(0,1fr))}}.chartbody{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.pie{flex:none;width:132px;height:132px}.pie path,.pie circle{cursor:pointer}.pie .dim{opacity:.3}.legend{flex-direction:column;flex:10rem;gap:2px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.legendbtn,.rowbtn{width:100%;color:var(--text);text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:8px;padding:4px 8px;font-weight:400;display:flex}.legendbtn .count{margin-left:auto}.legendbtn[aria-pressed=true],.rowbtn[aria-pressed=true]{background:var(--bg);border-color:var(--brand-2);font-weight:700}.legendbtn:disabled{opacity:.55}.dot{border-radius:50%;flex:0 0 14px;width:14px;height:14px;box-shadow:inset 0 0 0 1px #27343b40}.byboard{min-width:30rem}.byboard th[scope=row]{color:var(--text);padding:0;font-size:1rem}.byboard .rowbtn{color:var(--brand);font-weight:600}.byboard td{font-variant-numeric:tabular-nums}.byboard tbody tr{cursor:pointer}.byboard tr.picked{background:var(--bg)}.filterbar{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--brand-2);border-radius:var(--radius);padding:4px 12px}.filterbar p{margin:0}
