:root{--bg:#0b1322;--panel:#111c30;--panel-2:#16233a;--line:#22314b;--line-2:#2e3f5c;--fg:#e6edf7;--muted:#93a3bb;--accent:#3ccdb2;--accent-ink:#06231d;--accent-soft:#123a3a;--brand-1:#fff;--brand-2:#3ccdb2;--bar:#2b9c88;--bar-done:#7fe0cc;--summary:#d4ddea;--ms:#d4ddea;--crit:#f0705c;--crit-done:#ffb0a2;--late:#f39a4f;--late-soft:#3a2716;--ok:#70c995;--ok-soft:#1c3326;--weekend:#0e1828;--today:#f39a4f;--sel:#16304a;--scrim:#02060e9e;--shadow:0 10px 30px #00040c8c;--f-display:"Bricolage Grotesque", "Public Sans", system-ui, sans-serif;--f-body:"Public Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--f-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--row:34px;--head:48px;--gutter-l:max(16px, env(safe-area-inset-left,0px));--gutter-r:max(16px, env(safe-area-inset-right,0px));--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#f4f6fa;--panel:#fff;--panel-2:#edf1f7;--line:#dce3ee;--line-2:#c6d0df;--fg:#14284b;--muted:#5b6b82;--accent:#14806f;--accent-ink:#fff;--accent-soft:#ddf1ec;--brand-1:#14284b;--brand-2:#22a891;--bar:#3aa893;--bar-done:#14806f;--summary:#14284b;--ms:#14284b;--crit:#c23b2a;--crit-done:#8e2417;--late:#b24a00;--late-soft:#fbe8d8;--ok:#2f7d4f;--ok-soft:#dcf0e2;--weekend:#edf1f7;--today:#d06a17;--sel:#e3eef8;--scrim:#0810206b;--shadow:0 10px 30px #0e1c3429;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--fg);font-family:var(--f-body);margin:0;font-size:14px;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}[hidden]{display:none!important}h1,h2,h3{text-wrap:balance}.btn{border:1px solid var(--line-2);background:var(--panel);cursor:pointer;white-space:nowrap;color:var(--fg);border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:5px 10px;font-size:13px;line-height:20px;text-decoration:none;display:inline-flex}.btn:hover{background:var(--panel-2)}.btn:disabled{opacity:.45;cursor:default;background:var(--panel)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.btn.primary:hover{filter:brightness(1.07)}.btn.big{padding:9px 16px;font-size:14px}.btn.danger{color:var(--crit);border-color:color-mix(in srgb, var(--crit) 45%, var(--line-2))}.btn.danger.armed{background:var(--crit);color:var(--accent-ink);border-color:var(--crit)}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--panel-2)}.btn svg{flex:none;width:15px;height:15px}.theme-toggle{color:var(--muted)}.theme-toggle:hover{color:var(--fg)}.seg{border:1px solid var(--line-2);border-radius:6px;display:inline-flex;overflow:hidden}.seg button{background:var(--panel);cursor:pointer;border:0;padding:5px 9px;font-size:12.5px;line-height:20px}.seg button+button{border-left:1px solid var(--line-2)}.seg button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);font-weight:600}.chip{background:var(--panel-2);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:12px;display:inline-flex}.chip .dot{background:var(--muted);border-radius:50%;width:7px;height:7px}.chip.live .dot{background:var(--ok)}.chip.ro{background:var(--late-soft);color:var(--late)}.chip.ro .dot{background:var(--late)}.field{gap:5px;display:grid}.field label,.label{color:var(--muted);letter-spacing:.03em;font-size:12px;font-weight:600}.input,.field input,.field select,.field textarea{border:1px solid var(--line-2);background:var(--panel);border-radius:6px;width:100%;padding:8px 10px}.field input:focus,.field select:focus,.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.hint{color:var(--muted);margin:0;font-size:12.5px}.err-msg{background:var(--late-soft);color:var(--late);border-radius:6px;margin:0;padding:8px 10px;font-size:13px}.ok-msg{background:var(--ok-soft);color:var(--ok);border-radius:6px;margin:0;padding:8px 10px;font-size:13px}.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}.site{flex-direction:column;min-height:100%;display:flex}.site-top{padding-block:16px;padding-left:var(--gutter-l);padding-right:var(--gutter-r);align-items:center;gap:16px;width:100%;max-width:1180px;margin:0 auto;display:flex}.brand{font-family:var(--f-display);letter-spacing:-.01em;white-space:nowrap;color:var(--fg);align-items:baseline;gap:6px;font-size:20px;font-weight:700;text-decoration:none;display:inline-flex}.brand small{font-family:var(--f-mono);color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:400}.brand-mark{align-self:center;width:24px;height:24px}.brand .b1{color:var(--brand-1)}.brand .b2{color:var(--brand-2)}.site-top nav{align-items:center;gap:8px;margin-left:auto;display:flex}.site-menu{gap:22px;margin-left:16px;font-size:14px;display:flex}.site-menu a{color:var(--muted);text-decoration:none}.site-menu a:hover{color:var(--fg)}.home-b .btn{border-radius:999px;padding-inline:15px}.home-b .btn.big{padding:11px 20px;font-size:15px}.hb{width:100%;max-width:1180px;padding-left:var(--gutter-l);padding-right:var(--gutter-r);margin:0 auto}.hb h1,.hb h2,.hb h3{font-family:var(--f-display);letter-spacing:-.025em;margin:0}.hb .k{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:12px}.hb-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:56px;padding-block:48px 40px;display:grid}.hb-hero h1{margin-top:14px;font-size:clamp(40px,5.6vw,66px);font-weight:600;line-height:1}.hb-hero h1 span{color:var(--accent)}.hb-hero .lede{color:var(--muted);max-width:46ch;margin:22px 0 28px;font-size:19px;line-height:1.55}.hb-hero .cta{flex-wrap:wrap;gap:12px;display:flex}.hb-hero .proof{color:var(--muted);flex-wrap:wrap;gap:22px;margin-top:30px;font-size:13.5px;display:flex}.hb-hero .proof b{color:var(--fg);font-family:var(--f-mono);font-weight:500}.hb-stack{height:560px;position:relative}.hb-stack .win{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;position:absolute;overflow:hidden}.hb-stack .bar{border-bottom:1px solid var(--line);color:var(--muted);white-space:nowrap;align-items:center;gap:6px;padding:10px 14px;font-size:12.5px;display:flex}.hb-stack .bar b{color:var(--fg);font-weight:600}.hb-stack .tag{font-family:var(--f-mono);background:var(--accent-soft);color:var(--accent);border-radius:999px;margin-left:auto;padding:2px 8px;font-size:10.5px}.hb-stack .w-gantt{height:262px;top:0;left:0;right:0}.hb-stack .w-board{z-index:2;width:330px;height:250px;top:236px;right:-20px}.hb-stack .w-report{z-index:3;width:380px;height:220px;bottom:0;left:-20px}.hb-stack .rows{padding-top:6px}.hb-stack .gr{grid-template-columns:130px minmax(0,1fr);align-items:center;height:30px;padding:0 14px;font-size:12px;display:grid}.hb-stack .gr .s{font-weight:700}.hb-stack .t{background-image:linear-gradient(90deg, var(--line) 1px, transparent 1px);background-size:20% 100%;height:100%;position:relative}.hb-stack .b{background:var(--bar);border-radius:3px;height:12px;position:absolute;top:9px}.hb-stack .b.c{background:color-mix(in srgb, var(--crit) 75%, var(--panel))}.hb-stack .b.s{background:var(--summary);height:5px;top:12px}.hb-stack .m{background:var(--ms);width:11px;height:11px;position:absolute;top:9px;transform:rotate(45deg)}.hb-stack .cols{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px;display:grid}.hb-stack h5{color:var(--muted);margin:0 0 6px;font-size:11.5px;font-weight:600}.hb-stack .cd{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;margin-bottom:6px;padding:8px;font-size:11.5px}.hb-stack .cd small{color:var(--muted);font-size:10.5px;display:block}.hb-stack .pb{background:var(--line);border-radius:2px;height:3px;margin-top:6px}.hb-stack .pb i{background:var(--bar);border-radius:2px;height:100%;display:block}.hb-stack .rep{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:14px;display:grid}.hb-stack .rag{border-radius:8px;padding:10px;font-size:11.5px}.hb-stack .rag b{font-family:var(--f-display);font-size:17px;display:block}.hb-stack .rag.g{background:var(--ok-soft);color:var(--ok)}.hb-stack .rag.a{background:var(--late-soft);color:var(--late)}.hb-stack .rep p{color:var(--muted);grid-column:1/-1;margin:2px 0 0;font-size:12px}.hb-strip{border-block:1px solid var(--line);margin-top:24px;padding-block:20px}.hb-strip>div{max-width:1180px;padding-left:var(--gutter-l);padding-right:var(--gutter-r);color:var(--muted);flex-wrap:wrap;gap:14px 40px;margin:0 auto;font-size:14px;display:flex}.hb-strip b{color:var(--fg)}.hb-sec{padding-top:96px}.hb-head{max-width:760px;margin-bottom:44px}.hb-head h2{margin:10px 0 14px;font-size:clamp(32px,4.2vw,48px);font-weight:600;line-height:1.04}.hb-head p{color:var(--muted);margin:0;font-size:18px;line-height:1.55}.hb-people{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.hb-people .p{background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden}.hb-people .pic{background:var(--panel-2);border-bottom:1px solid var(--line);padding:16px}.hb-people .mini{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px;font-size:12px}.hb-people .mh{margin-bottom:4px;font-weight:600}.hb-people .mw{border-bottom:1px solid var(--line);justify-content:space-between;gap:10px;padding:6px 0;display:flex}.hb-people .mw:last-child{border:0}.hb-people .mw .d{font-family:var(--f-mono);color:var(--muted);font-size:11px}.hb-people .mw .d.late{color:var(--crit)}.hb-people .mw .d.go{color:var(--ok)}.hb-people .txt{padding:24px}.hb-people .role{font-family:var(--f-mono);color:var(--accent);font-size:12px}.hb-people h3{margin:6px 0 10px;font-size:24px;font-weight:600}.hb-people p{color:var(--muted);margin:0 0 16px;line-height:1.55}.hb-people ul{gap:6px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.hb-people li:before{content:"→";color:var(--accent);margin-right:8px}.hb-switch{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:56px;display:grid}.hb-switch .quote{font-family:var(--f-display);letter-spacing:-.02em;margin:14px 0 18px;font-size:clamp(26px,3vw,34px);font-weight:500;line-height:1.15}.hb-switch .quote em{color:var(--accent);font-style:normal}.hb-switch .sub{color:var(--muted);margin:0;font-size:17px;line-height:1.55}.hb-tg{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:8px 22px}.hb-tg-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;font-weight:600;display:flex}.hb-tg .seg{border-radius:999px}.hb-tg .seg button{padding:5px 12px}.hb-tg .tr{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:13px 0;display:flex}.hb-tg .tr:last-child{border:0}.hb-tg .n{font-weight:600}.hb-tg .d{color:var(--muted);font-size:13.5px}.hb-tg .sz{font-family:var(--f-mono);color:var(--muted);margin-left:auto;font-size:11px}.hb-tg .sw{background:var(--line-2);border-radius:999px;flex:none;width:38px;height:22px;transition:background .15s;position:relative}.hb-tg .sw:after{content:"";background:var(--fg);border-radius:50%;width:16px;height:16px;transition:left .15s;position:absolute;top:3px;left:3px}.hb-tg .sw.on{background:var(--accent)}.hb-tg .sw.on:after{background:var(--accent-ink);left:19px}.hb-table{border:1px solid var(--line);background:var(--panel);border-radius:18px;overflow-x:auto}.hb-table table{border-collapse:collapse;width:100%;min-width:640px;font-size:14.5px}.hb-table th,.hb-table td{text-align:left;border-bottom:1px solid var(--line);padding:14px 18px}.hb-table th{color:var(--muted);background:var(--panel-2);font-size:13px;font-weight:600}.hb-table .us{background:var(--accent-soft);color:var(--fg);font-weight:600}.hb-table td.y{color:var(--ok)}.hb-table td.n{color:var(--muted);opacity:.75}.hb-table tr:last-child td{border-bottom:0}.hb-band{background:radial-gradient(120% 140% at 0% 0%, var(--accent-soft) 0%, var(--panel) 60%);border:1px solid var(--line);border-radius:24px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:48px;margin:96px 0 56px;padding:56px;display:grid}.hb-band h2{margin:12px 0 14px;font-size:clamp(32px,3.8vw,44px);font-weight:600;line-height:1.05}.hb-band p{color:var(--muted);margin:0 0 22px;font-size:17px}.hb-band .tiers{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.hb-band .t{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:18px}.hb-band .t.hot{border-color:var(--accent)}.hb-band .t b{font-family:var(--f-display);font-size:30px;display:block}.hb-band .t span{color:var(--muted);font-size:13px}.hb-band .pnote{grid-column:1/-1;margin:4px 0 0;font-size:12.5px}@media (max-width:960px){.site-menu{display:none}.hb-hero,.hb-switch,.hb-band,.hb-people{grid-template-columns:minmax(0,1fr)}.hb-stack{max-width:600px}}@media (max-width:600px){.hb-stack{height:470px}.hb-stack .w-board{width:290px;top:200px;right:0}.hb-stack .w-report{width:300px;height:210px;left:0}.hb-stack .gr{grid-template-columns:100px minmax(0,1fr)}.hb-band{padding:32px 22px}}.site-foot{border-top:1px solid var(--line);padding-block:18px;padding-left:var(--gutter-l);padding-right:var(--gutter-r);color:var(--muted);text-align:center;margin-top:auto;font-size:12.5px}.auth-wrap{padding-block:32px 48px;padding-left:var(--gutter-l);padding-right:var(--gutter-r);flex:1;place-items:start center;display:grid}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;gap:14px;width:min(420px,100%);padding:24px;display:grid;box-shadow:0 1px 2px #0000000a}.card h1{font-family:var(--f-display);margin:0;font-size:24px}.card p{color:var(--muted);margin:0;line-height:1.55}.card .alt{color:var(--muted);text-align:center;font-size:13px}.card form{gap:14px;display:grid}.shell{flex-direction:column;min-width:0;height:100%;display:flex}.shell-top{padding-block:10px;padding-left:var(--gutter-l);padding-right:var(--gutter-r);background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.shell-top .ws-pick{border:1px solid var(--line-2);background:var(--panel);border-radius:6px;max-width:240px;padding:6px 8px;font-weight:600}.shell-nav{gap:2px;display:flex}.shell-nav a{color:var(--muted);border-radius:6px;padding:6px 10px;font-weight:500;text-decoration:none}.shell-nav a:hover{background:var(--panel-2);color:var(--fg)}.shell-nav a[aria-current=page]{color:var(--accent);background:var(--accent-soft)}.shell-user{color:var(--muted);align-items:center;gap:8px;min-width:0;margin-left:auto;font-size:13px;display:flex}.shell-user .who{color:inherit;text-overflow:ellipsis;white-space:nowrap;max-width:220px;text-decoration:none;overflow:hidden}.shell-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.page{width:100%;max-width:1040px;padding-block:28px 48px;padding-left:var(--gutter-l);padding-right:var(--gutter-r);align-content:start;gap:20px;margin:0 auto;display:grid}.page-head{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.page-head h1{font-family:var(--f-display);letter-spacing:-.01em;margin:0;font-size:28px}.page-head .sub{color:var(--muted);margin:4px 0 0}.page-head .acts{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.center-note{text-align:center;color:var(--muted);padding:64px 16px}.plan-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.plan-card{background:var(--panel);border:1px solid var(--line);color:var(--fg);border-radius:10px;gap:10px;padding:16px;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:grid}.plan-card:hover{border-color:var(--accent);box-shadow:0 4px 14px #00040c40}.plan-card h3{margin:0;font-size:16px;font-weight:700}.plan-card .meta{color:var(--muted);gap:14px;font-size:12.5px;display:flex}.plan-card .meta b{font-family:var(--f-mono);color:var(--fg);font-weight:500}.empty-state{background:var(--panel);border:1px dashed var(--line-2);text-align:center;border-radius:12px;justify-items:center;gap:12px;padding:40px 20px;display:grid}.empty-state h2{font-family:var(--f-display);margin:0;font-size:22px}.empty-state p{color:var(--muted);max-width:52ch;margin:0;line-height:1.55}.empty-state .acts{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.table-wrap{background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow-x:auto}table.list{border-collapse:collapse;width:100%;font-size:13.5px}table.list th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line-2);background:var(--panel-2);padding:10px 14px;font-size:11px;font-weight:600}table.list td{border-bottom:1px solid var(--line);vertical-align:middle;padding:10px 14px}table.list tr:last-child td{border-bottom:0}table.list select{border:1px solid var(--line-2);background:var(--panel);border-radius:6px;padding:4px 6px}.section-title{font-family:var(--f-display);margin:8px 0 0;font-size:18px}.inline-form{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;align-items:end;gap:8px;padding:14px;display:flex}.inline-form .field{flex:200px}.logo-form{align-items:center}.logo-preview{object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:6px;max-width:220px;height:48px;padding:4px 8px}.logo-preview.empty{width:160px;color:var(--muted);background:var(--panel-2);align-items:center;font-size:13px;display:inline-flex}.company-brand{color:var(--muted);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.company-brand img{object-fit:contain;max-width:200px;height:32px}.company-brand small{font-family:var(--f-mono);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;font-size:10.5px}.linkbox{background:var(--panel-2);font-family:var(--f-mono);border-radius:6px;align-items:center;gap:8px;min-width:0;padding:6px 6px 6px 10px;font-size:12px;display:flex}.linkbox span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.scrim{background:var(--scrim);z-index:20;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--panel);box-shadow:var(--shadow);border-radius:10px;gap:14px;width:min(520px,100%);max-height:calc(100% - 32px);padding:20px;display:grid;overflow:auto}.modal.wide{width:min(780px,100%)}.modal h3{font-family:var(--f-display);margin:0;font-size:20px}.modal p{color:var(--muted);margin:0;line-height:1.55}.modal .row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.modal .row.split{justify-content:space-between}.modal .opt{align-items:flex-start;gap:8px;line-height:1.45;display:flex}.modal .opt input{margin-top:3px}.modal .stat{grid-template-columns:auto 1fr;gap:4px 14px;font-size:13px;display:grid}.modal .stat b{font-family:var(--f-mono);font-weight:500}.toast{left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));background:var(--fg);color:var(--bg);box-shadow:var(--shadow);z-index:30;border-radius:8px;max-width:calc(100% - 32px);padding:9px 14px;font-size:13px;position:fixed;transform:translate(-50%)}.planner{flex-direction:column;flex:1;min-height:0;display:flex}.tools{padding-block:8px;padding-left:var(--gutter-l);padding-right:var(--gutter-r);background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tools .grp{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tools .sep{background:var(--line);width:1px;height:22px}.tools .spacer{flex:1}.plan-title{padding-block:12px 4px;padding-left:var(--gutter-l);padding-right:var(--gutter-r);background:var(--panel);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.plan-title h1{font-family:var(--f-display);letter-spacing:-.01em;margin:0;font-size:20px}.plan-title .crumb{color:var(--muted);font-size:13px;text-decoration:none}.plan-tabs{flex-wrap:wrap;justify-content:flex-end;gap:2px;margin-left:auto;display:flex}.plan-tabs a{color:var(--muted);border-radius:6px;padding:5px 10px;font-size:13px;font-weight:600;text-decoration:none}.plan-tabs a:hover{background:var(--panel-2);color:var(--fg)}.plan-tabs a[aria-current=page]{color:var(--accent);background:var(--accent-soft)}.facts{padding-block:8px;padding-left:var(--gutter-l);padding-right:var(--gutter-r);border-bottom:1px solid var(--line);color:var(--muted);background:var(--bg);flex-wrap:wrap;align-items:baseline;gap:6px 22px;font-size:12.5px;display:flex}.facts b{font-family:var(--f-mono);color:var(--fg);font-variant-numeric:tabular-nums;font-size:13px;font-weight:500}.facts .late b,.facts .slip b{color:var(--late)}.facts .ahead b{color:var(--ok)}.facts label{cursor:pointer;color:var(--fg);align-items:center;gap:6px;display:inline-flex}.facts .spacer{flex:1}.viewbar{padding-block:6px;padding-left:var(--gutter-l);padding-right:var(--gutter-r);border-bottom:1px solid var(--line);color:var(--muted);background:var(--panel);flex-wrap:wrap;align-items:center;gap:8px 18px;font-size:12.5px;display:flex}.viewbar .spacer{flex:1}.vb-item{cursor:pointer;align-items:center;gap:7px;display:inline-flex}.vb-item:has(input[type=checkbox]){color:var(--fg)}.viewbar select{border:1px solid var(--line-2);background:var(--panel);color:var(--fg);border-radius:6px;max-width:200px;padding:4px 8px;font-size:12.5px}.viewbar select.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.viewbar .seg button{min-width:32px;padding:3px 10px}.vb-note{color:var(--accent)}.viewbar .btn.qf{padding:3px 10px;font-size:12.5px}.viewbar .btn.qf .qf-n{font-family:var(--f-mono);color:var(--muted);font-size:11.5px}.viewbar .btn.qf.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.viewbar .btn.qf.on .qf-n{color:var(--accent)}.linkish{color:var(--accent);cursor:pointer;font-size:inherit;background:0 0;border:0;margin-left:6px;padding:0;text-decoration:underline}.menu{position:relative}.menu>summary{padding:3px 10px;font-size:12.5px;list-style:none}.menu>summary::-webkit-details-marker{display:none}.menu[open]>summary{background:var(--panel-2)}.menu .badge{color:var(--accent);font-size:11px;font-weight:600}.menu-pop{z-index:30;background:var(--panel);border:1px solid var(--line-2);min-width:190px;color:var(--fg);border-radius:8px;gap:6px;padding:10px 12px;display:grid;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 8px 24px #0000002e}.menu-pop label{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.menu-pop .hint{max-width:220px;margin-bottom:2px;font-size:11.5px}.menu-pop .reset-w{margin-top:4px;padding:3px 8px;font-size:12px}.board{grid-template-columns:minmax(0, var(--sheet-w,976px)) minmax(0, 1fr);background:var(--panel);flex:1;align-items:start;min-height:0;display:grid;overflow:auto}.board.v-table,.board.v-gantt{grid-template-columns:minmax(0,1fr)}.board.v-table .gantt,.board.v-gantt .sheet{display:none}.sheet{border-right:2px solid var(--line-2);min-width:0;overflow:auto hidden}.gantt{min-width:0;overflow:auto hidden}.rows{width:max-content;min-width:100%}.r{height:var(--row);border-bottom:1px solid var(--line);align-items:center;font-size:13px;display:grid}.r.h{height:var(--head);background:var(--panel-2);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line-2);font-size:11px;font-weight:600}.r.h>div{align-self:stretch;align-items:flex-end;padding:0 6px 7px;display:flex;position:relative}.r.h>div.h-id{justify-content:flex-end;padding-right:8px}.col-grip{cursor:col-resize;touch-action:none;z-index:2;width:9px;position:absolute;top:0;bottom:0;right:-1px}.col-grip:after{content:"";background:var(--line-2);opacity:0;width:1px;transition:opacity .12s;position:absolute;top:10px;bottom:8px;left:4px}.r.h:hover .col-grip:after{opacity:1}.col-grip:hover:after,.col-grip:focus-visible:after,.col-grip:active:after{opacity:1;background:var(--accent);width:2px;left:3px}.col-grip:focus-visible{outline:none}body.col-resizing,body.col-resizing *{-webkit-user-select:none;user-select:none;cursor:col-resize!important}.r>div{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.r .num{font-family:var(--f-mono);color:var(--muted);font-variant-numeric:tabular-nums;cursor:pointer;justify-content:flex-end;align-items:center;height:100%;padding-right:8px;font-size:12px;display:flex}.r.sel{background:var(--sel)}.r.sel .num{color:var(--accent);box-shadow:inset 3px 0 0 var(--accent);font-weight:600}.r input{background:0 0;border:1px solid #0000;border-radius:4px;width:100%;height:28px;padding:4px 6px;font-size:13px}.r input:hover:not([readonly]){border-color:var(--line)}.r input:focus{border-color:var(--accent);background:var(--panel);outline:none}.r input.mono,.r .ro-cell{font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-size:12.5px}.r .ro-cell{color:var(--muted);padding:0 7px}.r.sum input.nm{font-weight:700}.r input.num-r,.r .ro-cell.num-r{text-align:right}.r .ro-cell.num-r{display:block}.r input.empty:not(:focus):not(:hover){color:#0000}.r input.empty:not(:focus):not(:hover)::-webkit-calendar-picker-indicator{opacity:0}.r input.missed{color:var(--late);font-weight:600}.r input.override{color:var(--accent);font-style:italic}.r .name input.nm{flex:auto;width:0;min-width:0}.r.sum{background:color-mix(in srgb, var(--panel-2) 55%, transparent)}.r.sum.sel{background:var(--sel)}.r input.err{border-color:var(--crit)}.note-btn{width:24px;height:24px;color:var(--accent);cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;place-items:center;padding:0;display:grid}.note-btn:hover{background:var(--panel-2)}.note-btn svg{width:14px;height:14px}.note-cell{align-items:center;display:flex}.note-cell .note-btn{color:var(--muted);opacity:0}.r:hover .note-cell .note-btn,.r.sel .note-cell .note-btn,.note-cell .note-btn:focus{opacity:1}.note-text{text-align:left;min-width:0;color:var(--fg);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;flex:1;padding:4px 6px;font-size:13px;overflow:hidden}.field textarea{font:inherit;resize:vertical}.name{align-items:center;min-width:0;display:flex}.caret{cursor:pointer;width:18px;height:18px;color:var(--muted);background:0 0;border:0;border-radius:3px;flex:none;place-items:center;padding:0;display:grid}.caret:hover{background:var(--panel-2)}.caret svg{width:12px;height:12px;transition:transform .15s}.caret.closed svg{transform:rotate(-90deg)}.caret.none{visibility:hidden}.pill{letter-spacing:.03em;border-radius:4px;margin-left:4px;padding:2px 6px;font-size:10.5px;font-weight:600;display:inline-block}.pill.late{background:var(--late-soft);color:var(--late)}.pill.done{background:var(--ok-soft);color:var(--ok)}.pill.prog{background:var(--accent-soft);color:var(--accent)}.pill.ms{background:var(--panel-2);color:var(--muted)}.var-pos{font-weight:500;color:var(--late)!important}.var-neg{color:var(--ok)!important}.gantt svg{font-family:var(--f-body);touch-action:pan-x pan-y;display:block}.g-head-bg{fill:var(--panel-2)}.g-tier{fill:var(--muted);font-size:11px}.g-tier.top{fill:var(--fg);font-weight:600}.g-tick{stroke:var(--line)}.g-tick.strong{stroke:var(--line-2)}.g-row{stroke:var(--line)}.g-we{fill:var(--weekend)}.g-dl{stroke:var(--muted);stroke-width:1.5px;fill:none}.g-dl.late{stroke:var(--crit);stroke-width:2px}.g-hol{fill:color-mix(in srgb, var(--late) 12%, var(--weekend))}.g-today{stroke:var(--today);stroke-width:1.5px;stroke-dasharray:4 3}.g-status{stroke:var(--muted);stroke-width:1.5px}.g-sel{fill:var(--sel)}.bar{fill:var(--bar);cursor:grab}.bar.crit{fill:color-mix(in srgb, var(--crit) 70%, var(--panel))}.bar-done{fill:var(--bar-done);pointer-events:none}.bar-done.crit{fill:var(--crit-done)}.sumbar{fill:var(--summary)}.ms{fill:var(--ms);cursor:grab}.ms.crit{fill:var(--crit)}.g-lbl{fill:var(--muted);pointer-events:none;font-size:11.5px}.g-link{fill:none;stroke:var(--muted);stroke-width:1.2px;opacity:.75}.g-link.crit{stroke:var(--crit);opacity:1}.ahp{fill:var(--muted)}.ahc{fill:var(--crit)}.bl{fill:var(--muted);opacity:.5;pointer-events:none}.blms{fill:none;stroke:var(--muted);stroke-width:1.3px;opacity:.8;pointer-events:none}.ro .bar,.ro .ms{cursor:default}.dragging .bar,.dragging .ms{cursor:grabbing}.grip{fill:#0000;cursor:ew-resize}.linking,.linking *{-webkit-user-select:none;user-select:none;cursor:crosshair!important}.g-linkline{stroke:var(--accent);stroke-width:2px;stroke-dasharray:5 4;fill:none}.g-linkdot{fill:var(--accent)}.g-linktarget{fill:var(--accent-soft);opacity:.8}.g-linktip{fill:var(--accent);paint-order:stroke;stroke:var(--panel);stroke-width:3px;font-size:12px;font-weight:600}@media (max-width:760px){.tools .sep,.brand small{display:none}.board.v-both{grid-template-columns:minmax(0,1fr)}.board.v-both .sheet{border-right:0;border-bottom:2px solid var(--line-2)}.shell-user .who{max-width:110px}.theme-label{display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.cal-set{border:1px solid var(--line);border-radius:8px;gap:8px;min-width:0;margin:0;padding:10px 12px 12px;display:grid}.cal-set legend{color:var(--muted);letter-spacing:.03em;padding:0 4px;font-size:12px;font-weight:600}.cal-days{flex-wrap:wrap;gap:6px 14px;display:flex}.cal-days label{cursor:pointer;align-items:center;gap:5px;font-size:13px;display:inline-flex}.cal-add{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.cal-add input,.cal-add select{border:1px solid var(--line-2);background:var(--panel);border-radius:6px;padding:5px 8px;font-size:13px}.cal-add input:not([type=date]){flex:1;min-width:140px}.cal-list{border:1px solid var(--line);border-radius:6px;max-height:180px;margin:0;padding:0;list-style:none;overflow:auto}.cal-list li{border-bottom:1px solid var(--line);grid-template-columns:minmax(130px,auto) 1fr auto;align-items:center;gap:10px;padding:2px 4px 2px 10px;font-size:13px;display:grid}.cal-list li:last-child{border-bottom:0}.cal-list li.past{color:var(--muted)}.cal-list .btn{padding:2px 8px;font-size:12px}.bl-list{border:1px solid var(--line);border-radius:8px;display:grid;overflow:hidden}.bl-item{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 10px;padding:8px 10px;display:flex}.bl-item:last-child{border-bottom:0}.bl-item.on{background:var(--accent-soft)}.bl-main{flex-wrap:wrap;flex:1;align-items:center;gap:4px 8px;min-width:0;display:flex}.bl-main .hint{flex-basis:100%}.bl-main input{border:1px solid var(--accent);background:var(--panel);border-radius:5px;padding:3px 6px}.bl-name{color:var(--fg);font-weight:600}.bl-tag{background:var(--panel-2);color:var(--muted);border-radius:4px;padding:1px 6px;font-size:11px;font-weight:600}.bl-tag.on{background:var(--accent);color:var(--accent-ink)}.bl-acts{gap:6px;display:flex}.bl-acts .btn{padding:3px 9px;font-size:12.5px}.bl-new{border-top:1px solid var(--line);gap:8px;padding-top:12px;display:grid}.bl-new h4{margin:0;font-size:14px}.bl-form{grid-template-columns:1fr 1.4fr;gap:10px;display:grid}@media (max-width:560px){.bl-form{grid-template-columns:1fr}}.bl-pending{background:var(--late-soft);color:var(--late);border-radius:6px;margin:0;padding:8px 10px;font-size:13px}.bl-name.linkish{margin-left:0;text-decoration:none}.bl-name.linkish:hover{text-decoration:underline}.portfolio .num-r{text-align:right}.portfolio td,.portfolio th{white-space:nowrap}.portfolio td:first-child{white-space:normal;min-width:180px}.portfolio tfoot th{border-top:1px solid var(--line-2);font-weight:600}.pf-rag{align-items:center;gap:6px;font-size:12.5px;font-weight:600;display:inline-flex}.pf-rag i{background:currentColor;border-radius:50%;width:9px;height:9px}.pf-rag.green{color:var(--ok)}.pf-rag.amber{color:#b98a00}.pf-rag.red{color:var(--late)}:root:not([data-theme=light]) .pf-rag.amber{color:#e3c35a}.pf-why{white-space:normal;max-width:260px;font-size:12px}.table-wrap:has(.portfolio){overflow-x:auto}.portfolio th,.portfolio td{padding-left:10px;padding-right:10px}.portfolio .pf-why{max-width:190px}.page:has(.portfolio){max-width:1300px}.pf-closed{align-items:center;gap:6px;display:inline-flex}.hist{gap:10px;max-height:55vh;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.hist>li{border-left:2px solid var(--line-2);padding:2px 0 2px 12px}.hist-head{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.hist ul{margin:4px 0 0;padding-left:16px;font-size:13px}.mw-upd{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.mw-upd select{border:1px solid var(--line-2);background:var(--panel);border-radius:6px;padding:4px 6px;font-size:13px}.mw-note{flex-basis:100%;gap:6px;display:flex}.mw-note .input{flex:1;min-width:0;padding:5px 8px}.mw-cards{gap:8px;margin:0;padding:0;list-style:none;display:none}.mw-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;gap:6px;padding:12px;display:grid}.mw-card-head{justify-content:space-between;align-items:baseline;gap:8px;font-weight:600;display:flex}.mw-card-facts{color:var(--muted);gap:16px;font-size:13px;display:flex}.mw-card-facts b{font-family:var(--f-mono);color:var(--fg);font-variant-numeric:tabular-nums;font-weight:500}@media (max-width:640px){.mw-table{display:none}.mw-cards{display:grid}.mw-upd select,.mw-upd .btn{min-height:40px;font-size:14px}.mw-upd .btn.primary{flex:1}.mw-note .input{font-size:16px}.page{padding-block:18px 40px}.page-head h1{font-size:24px}.shell-top{gap:8px;padding-block:8px}.shell-top .ws-pick{flex:0 45%;order:2;min-width:0;max-width:none}.shell-user{order:1;gap:2px}.shell-user .btn{padding:5px 7px}.shell-nav{scrollbar-width:none;flex:1 1 0;order:3;min-width:0;overflow-x:auto}.shell-nav::-webkit-scrollbar{display:none}.shell-nav a{white-space:nowrap}.plan-tabs{scrollbar-width:none;flex-wrap:nowrap;flex-basis:100%;justify-content:flex-start;margin-left:0;overflow-x:auto}.plan-tabs::-webkit-scrollbar{display:none}.plan-tabs a{white-space:nowrap;padding-block:8px}}.shell-user .who:hover,.shell-user .who[aria-current=page]{color:var(--accent)}.page.settings{max-width:760px}.settings-box{background:var(--panel);border:1px solid var(--line);border-radius:10px;gap:10px;min-width:0;padding:14px;display:grid}.settings-box .section-title{margin:0}.settings-box ul{gap:4px;margin:0;padding-left:18px;display:grid}.settings-box .check{cursor:pointer;align-items:center;gap:8px;font-weight:600;display:inline-flex}.r>.num{position:relative;overflow:visible}.r .num .ins{z-index:3;background:var(--accent);width:20px;height:20px;color:var(--bg);font:700 15px/20px var(--f-mono);text-align:center;cursor:pointer;opacity:0;box-shadow:0 0 0 2px var(--bg);border:0;border-radius:50%;padding:0;transition:opacity .1s;position:absolute;top:-10px;left:3px}.r .num:hover .ins,.r .num .ins:focus-visible{opacity:1}.dmenu{display:inline-flex;position:relative}.dmenu-btn{font:inherit;cursor:pointer;align-items:center;gap:5px;display:inline-flex}.dmenu-btn .caret{opacity:.7;flex:none;width:10px;height:10px}.dmenu-pop{z-index:30;background:var(--panel);border:1px solid var(--line-2);border-radius:8px;flex-direction:column;gap:1px;min-width:170px;padding:4px;display:none;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 8px 24px #0000002e}.dmenu-pop.right{left:auto;right:0}.dmenu.open .dmenu-pop{display:flex}.dmenu-pop a,.dmenu-pop button{text-align:left;width:100%;color:var(--fg);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:5px;padding:7px 10px;font-size:13px;text-decoration:none;display:block}.dmenu-pop a:hover,.dmenu-pop button:hover{background:var(--panel-2)}.dmenu-pop hr{border:0;border-top:1px solid var(--line);margin:4px 6px}.plan-tabs .dmenu-btn{color:var(--muted);background:0 0;border:0;border-radius:6px;padding:5px 10px;font-size:13px;font-weight:600}.plan-tabs .dmenu-btn:hover,.plan-tabs .dmenu.open .dmenu-btn{background:var(--panel-2);color:var(--fg)}.plan-tabs .dmenu-btn.on{color:var(--accent);background:var(--accent-soft)}.plan-tabs .dm-cur{font-weight:600}.plan-tabs .dmenu:first-of-type{border-left:1px solid var(--line);margin-left:8px;padding-left:10px}.plan-tabs .dmenu-pop a{color:var(--fg);font-weight:500}.plan-tabs .dmenu-pop a[aria-current=page]{color:var(--accent);background:var(--accent-soft)}@media (max-width:640px){.dmenu.flat>.dmenu-btn{display:none}.dmenu.flat>.dmenu-pop{display:contents}.plan-tabs .dmenu.flat:first-of-type{border-left:0;margin-left:0;padding-left:0}.plan-tabs .dmenu-pop a{color:var(--muted);width:auto;padding:8px 10px;font-weight:600}}.tools .dmenu-btn.btn{gap:6px}.tools .dmenu-pop .menu-note{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:4px 10px 2px;font-size:11px}.r .jt-cell{white-space:nowrap;text-overflow:ellipsis;color:var(--fg);padding:0 7px;font-size:12.5px;overflow:hidden}.r .jt-role{color:var(--muted);font-style:italic}.r button.jt-role{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-style:italic;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.rf-list{gap:4px;max-height:320px;margin:6px 0 10px;display:grid;overflow-y:auto}.rf-row{border:1px solid var(--line);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:7px 10px;display:flex}.rf-row.on{border-color:var(--accent);background:var(--accent-soft)}.rf-ini{min-width:34px;color:var(--muted)}
