/* ── os.css ── */
:root{
--bg:#f7f7f8;--surface:#ffffff;--surface-2:#f4f4f5;--surface-3:#ececef;
--border:#e4e4e7;--border-strong:#d4d4d8;
--text:#18181b;--text-2:#52525b;--text-3:#71717a;
--accent:#e5533d;--accent-hover:#d4462f;--accent-fg:#ffffff;--accent-soft:rgba(229,83,61,.10);--accent-text:#c2412b;
--danger:#dc2626;--danger-soft:#fef2f2;--warn:#b45309;--warn-soft:#fffbeb;--ok:#15803d;--ok-soft:#f0fdf4;--info:#2563eb;--info-soft:#eff6ff;
--sales:#7c3aed;--sales-soft:#f5f3ff;
--focus:0 0 0 3px rgba(229,83,61,.35);
--fs-xs:12px;--fs-sm:13px;--fs-base:14px;--fs-md:16px;--fs-lg:20px;--fs-xl:28px;
--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;
--r-sm:6px;--r-md:8px;--r-lg:12px;--r-full:999px;
--sh-1:0 1px 2px rgba(16,16,20,.06);--sh-2:0 4px 12px rgba(16,16,20,.08),0 1px 3px rgba(16,16,20,.06);--sh-3:0 16px 48px rgba(16,16,20,.18),0 2px 8px rgba(16,16,20,.08);
--t-fast:120ms ease-out;--t-panel:200ms cubic-bezier(.2,.8,.2,1);
--side-w:232px;--top-h:52px;--bottom-h:56px;
--font:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;--mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
color-scheme:light;
--coral:var(--accent);--amber:var(--warn);--teal:var(--ok);--violet:var(--sales);--blue:var(--info);--dim:var(--text-3);--peach:#c2410c;
}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){
--bg:#0b0b0d;--surface:#141417;--surface-2:#1b1b1f;--surface-3:#24242a;
--border:#26262c;--border-strong:#35353d;
--text:#ededef;--text-2:#a1a1aa;--text-3:#7c7c86;
--accent:#ff6b57;--accent-hover:#ff8270;--accent-fg:#1a0d0a;--accent-soft:rgba(255,107,87,.14);--accent-text:#ff8a7a;
--danger:#f87171;--danger-soft:rgba(248,113,113,.12);--warn:#fbbf24;--warn-soft:rgba(251,191,36,.12);--ok:#4ade80;--ok-soft:rgba(74,222,128,.12);--info:#60a5fa;--info-soft:rgba(96,165,250,.12);
--sales:#a78bfa;--sales-soft:rgba(167,139,250,.14);--peach:#f5a882;
--sh-1:0 1px 2px rgba(0,0,0,.5);--sh-2:0 4px 12px rgba(0,0,0,.5);--sh-3:0 16px 48px rgba(0,0,0,.5);
color-scheme:dark}}
:root[data-theme=dark]{
--bg:#0b0b0d;--surface:#141417;--surface-2:#1b1b1f;--surface-3:#24242a;
--border:#26262c;--border-strong:#35353d;
--text:#ededef;--text-2:#a1a1aa;--text-3:#7c7c86;
--accent:#ff6b57;--accent-hover:#ff8270;--accent-fg:#1a0d0a;--accent-soft:rgba(255,107,87,.14);--accent-text:#ff8a7a;
--danger:#f87171;--danger-soft:rgba(248,113,113,.12);--warn:#fbbf24;--warn-soft:rgba(251,191,36,.12);--ok:#4ade80;--ok-soft:rgba(74,222,128,.12);--info:#60a5fa;--info-soft:rgba(96,165,250,.12);
--sales:#a78bfa;--sales-soft:rgba(167,139,250,.14);--peach:#f5a882;
--sh-1:0 1px 2px rgba(0,0,0,.5);--sh-2:0 4px 12px rgba(0,0,0,.5);--sh-3:0 16px 48px rgba(0,0,0,.5);
color-scheme:dark}
*{margin:0;padding:0;box-sizing:border-box}
html{background:var(--bg);-webkit-text-size-adjust:100%}
html,body{overflow-x:clip} 
body{background:var(--bg);color:var(--text);font:400 var(--fs-base)/20px var(--font);font-feature-settings:'cv11','ss01';-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;min-height:100dvh}
img,svg{max-width:100%}
code,kbd,pre{font-family:var(--mono)}
a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}
::selection{background:var(--accent);color:var(--bg)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:11px 15px;}
textarea{resize:vertical;width:100%;line-height:1.55}
input::placeholder,textarea::placeholder{color:var(--text-3)}
.lbl{font-family:'Inter',system-ui,sans-serif;font-weight:500;font-size:14px;letter-spacing:0;text-transform:none;color:var(--text-2)}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace;letter-spacing:.02em}
.serif{font-family:'Inter',system-ui,sans-serif;font-weight:600;letter-spacing:-.01em}
.card{background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--sh-1)}
.chip{font-family:'Inter',system-ui,sans-serif;font-weight:500;font-size:14px;letter-spacing:0;text-transform:none;padding:4px 10px;border-radius:999px;border:1px solid var(--border-strong);color:var(--text-2);white-space:normal;overflow-wrap:anywhere;max-width:100%;display:inline-block;background:var(--surface)}
.chip--coral{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}
.chip--amber{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 45%,transparent)}
.chip--dim{color:var(--text-3);border-color:var(--border)}
.acc-coral{--acc:var(--accent)}.acc-violet{--acc:var(--sales)}.acc-amber{--acc:var(--warn)}.acc-teal{--acc:var(--ok)}.acc-blue{--acc:var(--info)}.acc-dim{--acc:var(--text-3)}
.chip--acc{color:var(--acc);border-color:color-mix(in srgb,var(--acc) 50%,transparent);background:color-mix(in srgb,var(--acc) 9%,transparent)}
.cat-card[class*=" acc-"]{border-left:3px solid color-mix(in srgb,var(--acc) 72%,transparent)}
.card.app[class*=" acc-"]{border-left:3px solid color-mix(in srgb,var(--acc) 55%,transparent)}
.cat-card.acc-dim,.card.app.acc-dim{opacity:.62}.cat-card.acc-dim:hover,.card.app.acc-dim:hover{opacity:1}
.sec[class*=" acc-"] .sechead{border-bottom-color:color-mix(in srgb,var(--acc) 42%,var(--border))}
.sec[class*=" acc-"] .sechead .lbl,.sec[class*=" acc-"] .sechead .mono{color:var(--acc)}
.eyebrow[class*=" acc-"]{color:var(--acc)}
.dot{width:7px;height:7px;border-radius:99px;display:inline-block;margin-right:7px;vertical-align:1px;background:var(--acc)}
.btn{font-family:'Inter',system-ui,sans-serif;font-weight:500;font-size:14px;letter-spacing:0;text-transform:none;color:var(--text);border:1px solid var(--border-strong);border-radius:999px;padding:11px 18px;display:inline-flex;align-items:center;white-space:nowrap;background:var(--surface);}
.btn:hover{background:var(--surface-2)}
.btn--primary{color:#fff;background:var(--accent);border-color:var(--accent)}
.btn--primary:hover{color:#fff;opacity:.9;background:var(--accent)}
.btn--sm{padding:7px 13px;font-size:14px}
.mini{padding:6px 10px;font-size:14px;border-radius:9px}
.wrap{max-width:1280px;margin:0 auto;padding:34px 40px 168px}
.top{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px}
.eyebrow{font-family:'Inter',system-ui,sans-serif;font-weight:600;font-size:14px;letter-spacing:0;text-transform:none;color:var(--accent);margin-bottom:10px}
h1{font-family:'Inter',system-ui,sans-serif;font-weight:600;font-size:22px;line-height:1.2;letter-spacing:-.01em}
.tabs{display:inline-flex;gap:2px;margin:0 0 22px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:4px;}
.tab{font-family:'Inter',system-ui,sans-serif;font-weight:500;font-size:14px;letter-spacing:0;text-transform:none;color:var(--text-2);padding:9px 14px;border-radius:999px}
.tab.on{color:var(--text);background:var(--surface-2)}
.fold{margin-bottom:14px;overflow:hidden}
.fold summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:16px 20px}
.fold summary::-webkit-details-marker{display:none}
.fold[open] summary{border-bottom:1px solid var(--border)}
.fold .fold-arrow{margin-left:auto;flex-shrink:0;width:8px;height:8px;border-right:1.5px solid var(--text-2);border-bottom:1.5px solid var(--text-2);transform:rotate(-45deg);transition:transform .15s}
.fold[open] .fold-arrow{transform:rotate(45deg)}
.tools{display:flex;gap:12px;margin-bottom:24px;align-items:center}
.tools input{flex:1}
.qpill{display:inline-flex;align-items:center;gap:8px;cursor:pointer}
.qpill b{font-weight:400;text-transform:none;letter-spacing:.02em;color:var(--text);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sec{margin-bottom:26px}
.sechead{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:12px;border-bottom:1px solid var(--border);margin-bottom:6px;gap:16px}
.secblurb{font-size:14px;color:var(--text-3);margin-bottom:14px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}
.grid--cat{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}
.cat-card{display:flex;flex-direction:column;gap:10px;padding:19px 21px}
[data-href]{cursor:pointer;transition:border-color .15s;position:relative}
[data-href]:hover{border-color:var(--border-strong)}
a.cardgo{position:absolute;inset:0;z-index:0;border-radius:inherit}
a.cardgo:focus-visible{outline:2px solid var(--ok);outline-offset:3px}
[data-href] a:not(.cardgo),[data-href] button,[data-href] form,[data-href] input,[data-href] select,[data-href] summary{position:relative;z-index:1}
.backlink{font-family:'Inter',system-ui,sans-serif;font-weight:500;font-size:14px;letter-spacing:0;text-transform:none;color:var(--text-2);display:inline-block;margin-bottom:22px}
.detail-grid{display:grid;grid-template-columns:1fr 340px;gap:20px;align-items:start}
@media(max-width:900px){.detail-grid{grid-template-columns:minmax(0,1fr)}}
.facts{display:flex;flex-direction:column;padding:8px 20px}
.facts .frow{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-top:1px solid var(--border);font-size:14px}
.facts .frow:first-child{border-top:none}
.facts .k{color:var(--text-3);font-family:'Inter',system-ui,sans-serif;font-weight:500;font-size:14px;letter-spacing:0;text-transform:none;padding-top:3px;white-space:nowrap}
.facts .v{text-align:right;overflow-wrap:anywhere;color:var(--text-2)}
details summary{cursor:pointer;color:var(--text-2);font-size:14px}
details[open] summary{margin-bottom:10px}
.prewrap{white-space:pre-wrap;font-size:14px;line-height:1.6;color:var(--text-2);font-family:'JetBrains Mono',ui-monospace,monospace}
.cat-card .name{font-family:'Inter',system-ui,sans-serif;font-weight:600;font-size:16px;line-height:1.2;display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}
.cat-card .pitch{font-size:14px;color:var(--text-2);line-height:1.55;max-width:82ch}
.cat-card .why{font-size:14px;color:var(--text-2);line-height:1.5;padding-left:10px;border-left:2px solid color-mix(in srgb,var(--accent) 40%,transparent)}
.cat-card .foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:12px;border-top:1px solid var(--border)}
.cat-card .doms{font-size:14px;color:var(--text-3);overflow-wrap:anywhere}
.cat-card .doms a{color:var(--text-2)}
.quiet{padding:14px 18px;display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--border)}
.chip--xs{font-size:13px;padding:2px 8px}
.task{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;padding:11px 16px;border-top:1px solid var(--border);align-items:start}
.task:first-child{border-top:0}
.task[class*=" acc-"]{box-shadow:inset 3px 0 0 color-mix(in srgb,var(--acc) 70%,transparent)}
.task-check{margin:0}
.task .tcheck{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--border-strong);background:transparent;color:#fff;font-size:12px;line-height:1;margin-top:3px;padding:0;cursor:pointer}
.task .tcheck:hover{border-color:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 25%,transparent)}
.task .tstat{cursor:default;pointer-events:none;display:inline-block;text-align:center;line-height:17px}
.task-menu>summary{margin-top:0}
.task[data-st="doing"] .tcheck{border-color:var(--warn);background:color-mix(in srgb,var(--warn) 25%,transparent)}
.task[data-st="done"] .tcheck{background:var(--ok);border-color:var(--ok)}
.task[data-st="dropped"] .tcheck{border-style:dashed}
.task[data-st="done"] .task-text,.task[data-st="dropped"] .task-text{color:var(--text-2);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--ok) 60%,transparent)}
.task[data-st="dropped"],.task[data-st="done"]{opacity:.7}
.task-text{font-size:14px;line-height:1.4;color:var(--text);overflow-wrap:anywhere}
.task-meta{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;font-size:13px;color:var(--text-3);margin-top:4px}
.task-meta .mono{font-size:12.5px}.task-meta .late{color:var(--accent)}
.late-big{display:inline-block;background:var(--accent);color:#fff;font-weight:700;font-size:12px;letter-spacing:.06em;padding:2px 9px;border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}  .glance{padding:6px 20px 14px} @media(max-width:720px){#wk-table thead{display:none}#wk-table tr.wt{display:grid;grid-template-columns:30px minmax(0,1fr) auto;column-gap:10px;padding:10px 12px;border-bottom:1px solid var(--border)}#wk-table td{padding:0;border:0}#wk-table td:last-child{display:none}} .trow{display:flex;gap:12px;align-items:flex-start}.wd-body .trow .item-open{display:inline}.trow .item-open{margin:0;font-size:inherit;color:inherit;text-decoration:none}.trow .item-open:hover .task-text{text-decoration:underline;text-decoration-color:var(--border-strong)}.trow .task-meta{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:13px} #wdrawer,#idrawer{position:fixed;inset:0;z-index:60} .item-open{margin-left:6px;font-size:13px;color:var(--text-3);text-decoration:none} .item-open:hover{color:var(--text)} .wd-body .item-open{display:none} .wd-back{position:absolute;inset:0;background:rgba(0,0,0,.45)} .wd-panel{position:absolute;top:0;right:0;bottom:0;width:min(560px,100%);background:var(--bg,#111);border-left:1px solid var(--border);box-shadow:-12px 0 40px rgba(0,0,0,.35);overflow:auto;padding:16px 18px} .wd-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px} .wd-body .task{border:0;display:flex;flex-wrap:wrap;gap:10px 14px} .wd-body .task-main{flex:1 1 100%;min-width:0} .wd-body .task-text{font-size:15px;line-height:1.4} .wd-body .task-side{flex:1 1 100%;display:flex;gap:8px;order:3} .wd-body .task-menu{display:block;margin-top:10px} .wd-body .task-menu>summary{display:none} .wd-body .task-menu .menu{display:flex;flex-wrap:wrap;gap:8px;border:0;padding:0;background:none} .wd-body .trow{margin:0}
.ip-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap} .ip-title{font-size:16px;line-height:1.35;margin:10px 0 14px;font-weight:600} .ip-facts{display:grid;grid-template-columns:96px 1fr;gap:8px 12px;margin:0 0 16px;align-items:center} .ip-facts dt{color:var(--text-3);font-size:13px} .ip-facts dd{margin:0;display:flex;gap:6px;align-items:center;flex-wrap:wrap} .ip-sec{border-top:1px solid var(--border);padding:12px 0} .ip-lbl{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin-bottom:6px} .ip-pre{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5} .ip-ans{border-left:2px solid var(--ok);padding-left:10px} .ip-more>summary{list-style:none} .ip-menu{display:flex;flex-direction:column;gap:8px;margin-top:8px}.task-meta a{color:var(--text-3)}
.task-note{font-size:14px;color:var(--text-2);line-height:1.5;white-space:pre-wrap;margin-top:6px}
.task-answer{font-size:14px;line-height:1.5;white-space:pre-wrap;border-left:2px solid color-mix(in srgb,var(--ok) 55%,transparent);padding-left:9px;color:var(--text);margin-top:6px}
.task-menu>summary{font-size:13px;cursor:pointer;list-style:none;margin-top:6px;display:inline-block}
.task-menu>summary::-webkit-details-marker{display:none}
.task-menu .menu{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px;padding:10px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}
.task-menu .task-done{display:flex;gap:6px;align-items:center;flex:1 1 320px}.task-menu .task-done input{flex:1;min-width:180px;font-size:14px;padding:7px 10px}
.task-menu .task-danger{color:var(--accent)}
.task-sub>summary{list-style:none;display:inline-block;cursor:pointer}.task-sub>summary::-webkit-details-marker{display:none}
.task-sub .task-form{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px;flex-basis:100%}
.task-sub .task-form textarea,.task-sub .task-form input[name=text]{min-width:220px;flex:1}
.task-side{display:flex;gap:6px;align-items:center;opacity:.6;transition:opacity .12s}
.task:hover .task-side,.task:focus-within .task-side{opacity:1}
.task .owner{padding:4px 8px;font-size:13px;max-width:120px}
.seg{display:inline-flex;gap:2px;border-bottom:1px solid var(--border);background:none;border-radius:0;padding:0;}
.seg .tab{border-radius:0;padding:6px 10px;font-size:13px;color:var(--text-3);background:none;box-shadow:none}
.seg .tab.on{background:none;box-shadow:none;color:var(--text);border-bottom:2px solid var(--warn);margin-bottom:-1px}
.wsec[data-wm=later] .task[data-hz=later]{border-left:2px solid color-mix(in srgb,var(--sales) 55%,transparent)}
.sechead .lbl+.mono{margin-left:8px;margin-right:auto}
.quiet:first-child{border-top:none}
table{width:100%;border-collapse:collapse}
th{font-family:'Inter',system-ui,sans-serif;font-weight:500;font-size:14px;letter-spacing:0;text-transform:none;color:var(--text-2);font-weight:400;text-align:left;padding:14px 16px;border-bottom:1px solid var(--border);cursor:pointer;white-space:nowrap}
td{padding:13px 16px;border-top:1px solid var(--border);font-size:14px;vertical-align:top}
.dimtxt{color:var(--text-3)}
.login{min-height:100vh;display:flex;align-items:center;justify-content:center}
.login .box{width:380px;display:flex;flex-direction:column;gap:28px}
.err{font-size:14px;color:var(--accent)}
.actions{border-color:color-mix(in srgb,var(--warn) 40%,transparent)}
.cost-num{font-family:'Inter',system-ui,sans-serif;font-weight:600;font-size:22px;line-height:1}
.cost-card{display:flex;flex-direction:column;gap:10px;padding:19px 21px}
.cost-card .lever{font-size:14px;color:var(--peach);line-height:1.5;padding-left:10px;border-left:2px solid color-mix(in srgb,var(--peach) 45%,transparent)}
.need{font-family:'Inter',system-ui,sans-serif;font-weight:500;font-size:14px;letter-spacing:0;text-transform:none;color:var(--warn);border:1px dashed color-mix(in srgb,var(--warn) 55%,transparent);border-radius:999px;padding:6px 12px;white-space:nowrap}
.themeseg{display:inline-flex;border:1px solid var(--border-strong);border-radius:999px;overflow:hidden;align-self:flex-start} .themeseg button{padding:5px 11px;font-size:13px;background:none;border:0;color:var(--text-3);cursor:pointer;white-space:nowrap} .themeseg button+button{border-left:1px solid var(--border)} .themeseg button.on{background:color-mix(in srgb,var(--text) 14%,transparent);color:var(--text);font-weight:600}
.themebtn{width:34px;height:34px;border-radius:999px;border:1px solid var(--border-strong);display:inline-flex;align-items:center;justify-content:center;font-size:15px;background:var(--surface);}
[hidden]{display:none!important}
@media(max-width:720px){.top{flex-direction:column}
.task{grid-template-columns:auto minmax(0,1fr)}.task-side{grid-column:2;opacity:1}
.quiet{flex-wrap:wrap;gap:10px 12px;align-items:flex-start}
.quiet>*{min-width:0;max-width:100%;flex:1 1 100%}.quiet[data-row1]>*{flex:0 0 auto}.quiet[data-row1]>div{flex:1 1 auto}
.quiet *{min-width:0;max-width:100%;overflow-wrap:break-word}
.need{white-space:normal}
.quiet form,.wrap form{flex-wrap:wrap;max-width:100%}
.btn{white-space:normal}
.sechead{flex-wrap:wrap;gap:6px}
.top,.tools{flex-wrap:wrap}
.tools>*{min-width:0}
h1{overflow-wrap:break-word}
table{display:block;overflow-x:auto;white-space:nowrap}
.grid,.grid--cat{grid-template-columns:minmax(0,1fr)}
.card,.cat-card,.sec,.fold{min-width:0}
.mono,.dimtxt{white-space:normal !important;overflow-wrap:break-word}
.prewrap,.pitch{overflow-wrap:break-word}
.fold summary{flex-wrap:wrap;gap:8px 10px;padding:14px 16px}
.fold summary>*{min-width:0;max-width:100%}
details,summary{min-width:0}
.wrap [style*="display:flex"]{flex-wrap:wrap}
.wrap textarea,.wrap input,.wrap select{min-width:0 !important;max-width:100%}
}
body{font-size:14px;line-height:1.5}
h1{font-size:20px;font-weight:600;letter-spacing:-.01em;line-height:1.2}
.h2,.serif{font-size:15px;font-weight:600;letter-spacing:-.01em}
.desc{font-size:14px;color:var(--text-2);line-height:1.5}
.meta{font-size:13px;color:var(--text-3);display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}
.lbl{font-size:13px;font-weight:500;color:var(--text-2)}
.eyebrow{font-size:13px;font-weight:600}
.mono{font-size:12.5px}
.secblurb{font-size:13px;color:var(--text-3);line-height:1.5}
.dimtxt{font-size:inherit}
.chip{font-size:13px;padding:2px 8px;line-height:1.5;white-space:nowrap;overflow-wrap:normal;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
.chip--lg{font-size:14px;padding:4px 11px}
.btn{border-radius:10px;padding:8px 14px;font-size:14px;line-height:1.3;white-space:nowrap}
.btn--sm{padding:5px 10px;font-size:13px}
.btn--ghost{background:transparent;border-color:transparent;color:var(--text-2)}
.btn--ghost:hover{border-color:var(--border-strong);color:var(--text);background:var(--surface)}
.btn--icon{width:30px;height:30px;padding:0;justify-content:center;border-radius:8px}
input,select,textarea{border-radius:10px;padding:8px 12px;font-size:14px;}
input[type=search]{border-radius:10px}
.mini{padding:4px 8px;font-size:13px;border-radius:8px}
.tabs{padding:3px}.tab{padding:6px 12px;font-size:14px}
.seg{display:inline-flex;gap:2px;border-bottom:1px solid var(--border);background:none;border-radius:0;padding:0;margin-bottom:14px}
.seg .tab{border-radius:0;padding:6px 10px;font-size:14px;color:var(--text-3);background:none;box-shadow:none}
.seg .tab.on{color:var(--text);border-bottom:2px solid var(--accent);margin-bottom:-1px;background:none;box-shadow:none}
.filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px;background:none;border:0;border-radius:0;padding:0;}
.filters .tab{font-size:13px;padding:4px 11px;border:1px solid var(--border);border-radius:999px;background:var(--surface)}
.filters .tab.on{color:var(--text);background:var(--surface-2);border-color:var(--border-strong);box-shadow:none}
.sechead{display:flex;align-items:center;gap:8px;padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:flex-start}
.sechead .lbl{font-size:13px;font-weight:600;color:var(--text)}
.sechead .mono,.sechead .n{font-size:12.5px;color:var(--text-3);margin-right:auto}
.sechead>:last-child:not(.lbl):not(.mono):not(.n){margin-left:auto}
.card .card{background:none;border:0;box-shadow:none;border-radius:0;}
.empty{padding:14px 16px;font-size:14px;color:var(--text-3);display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.help{font-size:13px;color:var(--text-3);margin:6px 0 14px;line-height:1.5}.help summary{cursor:pointer;list-style:none;color:var(--text-2)}.help summary::-webkit-details-marker{display:none}.help summary::before{content:"▸ ";color:var(--text-3)}.help[open] summary::before{content:"▾ "}.help[open] summary{margin-bottom:4px}
.cat-card .chip,.card>.chip{align-self:flex-start}
.viewhead{display:flex;align-items:flex-end;gap:16px;margin-bottom:20px;flex-wrap:wrap}.viewhead>div:first-child{margin-right:auto;min-width:0}
.viewhead .tools{margin:0;width:340px;max-width:100%}.viewhead .tools input{width:100%}
.card,.fold,.rmcard,.sec>.card,details.card{border-radius:12px;background:color-mix(in srgb,var(--text) 3%,transparent);box-shadow:none;border:1px solid var(--border)}
.card:hover{border-color:color-mix(in srgb,var(--border-strong) 80%,var(--border))}
.chip{border-radius:6px;background:color-mix(in srgb,var(--text) 4%,transparent)}.chip--acc{background:color-mix(in srgb,var(--acc) 12%,transparent)}
.tabs{border-radius:8px;background:color-mix(in srgb,var(--text) 4%,transparent);border:1px solid var(--border)}.tab{border-radius:6px}.tab.on{background:color-mix(in srgb,var(--text) 9%,transparent);box-shadow:none}
.filters .tab{border-radius:6px}.btn,.mini,input,select,textarea{border-radius:6px;background:color-mix(in srgb,var(--text) 4%,transparent);box-shadow:none}
.btn{border-color:var(--border-strong)}.btn:hover{background:color-mix(in srgb,var(--text) 8%,transparent)}.btn--primary{background:var(--accent);border-color:var(--accent)}.btn--primary:hover{background:color-mix(in srgb,var(--accent) 88%,#fff)}
input:focus,select:focus,textarea:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 60%,var(--border-strong))}
.rmchips .tab{border-radius:0}.seg{background:none;border:0;border-bottom:1px solid var(--border);border-radius:0}.seg .tab.on{background:none}
.task-menu .menu{border-radius:8px;background:color-mix(in srgb,var(--text) 3%,transparent);}.tcheck,.rmck{border-radius:5px}
.viewhead .tools input{background:color-mix(in srgb,var(--text) 4%,transparent)}
.fold summary{padding:13px 18px}.fold[open] summary{background:color-mix(in srgb,var(--text) 2%,transparent)}
.tabs.filters{border:0;background:none;padding:0}.filters .tab{border:1px solid var(--border);background:color-mix(in srgb,var(--text) 4%,transparent)}.filters .tab.on{background:color-mix(in srgb,var(--text) 10%,transparent);border-color:var(--border-strong)}
.tabs.seg{border:0;border-bottom:1px solid var(--border);background:none;padding:0}
.quiet{padding:10px 16px}
.task-side{flex-wrap:wrap;justify-content:flex-end}.task-due input{padding:4px 8px;font-size:13px;width:138px}
.cat-card .pitch{font-size:14px}
.task-note{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.task-main:has(.task-menu[open]) .task-note{-webkit-line-clamp:unset;display:block}
.facts .frow{font-size:14px;padding:8px 0}.facts .k{font-size:13px}
@media(max-width:720px){.viewhead{align-items:stretch}.viewhead .tools{width:100%}}
.content .wrap{max-width:none;margin:0;padding:0}
.content>main[style]{padding-left:0!important;padding-right:0!important;padding-top:0!important;max-width:none!important}
.app .backlink,.content>main>a.lbl[href="/"]:first-child,.content>main>p:first-child>a[href="/"]:only-child{display:none} 
.content h1{font:600 var(--fs-lg)/28px var(--font);letter-spacing:-.01em}
.app .top>div:has(> div > .themebtn){display:none!important} 
.app--bare .content:has(> .login){padding:0;max-width:none}
body > button[aria-label="Feedback"]{display:none!important} 
body.fb-pill > button[aria-label="Feedback"]{display:inline-block!important} 
@media(max-width:899px){body.fb-pill > button[aria-label="Feedback"]{bottom:calc(var(--bottom-h) + env(safe-area-inset-bottom) + 12px)!important}} 
.card,.fold,.rmcard,.sec>.card,details.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-1)}
.fold[open] summary,.fold summary{background:transparent}
.card .card{background:none;border:0;box-shadow:none;border-radius:0}
.chip--coral{background:var(--accent-soft);color:var(--accent-text);border-color:transparent}
.chip--amber{background:var(--warn-soft);color:var(--warn);border-color:transparent}
.chip--dim{background:var(--surface-2);color:var(--text-3);border-color:transparent}
.chip--acc{color:var(--acc);background:color-mix(in srgb,var(--acc) 12%,transparent);border-color:transparent}
.dimtxt{color:var(--text-3)}
.secblurb,.desc{color:var(--text-3)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
progress{appearance:none;-webkit-appearance:none;height:6px;border:0;border-radius:var(--r-full);background:var(--surface-3);overflow:hidden;vertical-align:middle}
progress::-webkit-progress-bar{background:var(--surface-3);border-radius:var(--r-full)}
progress::-webkit-progress-value{background:var(--ok);border-radius:var(--r-full)}
progress::-moz-progress-bar{background:var(--ok);border-radius:var(--r-full)}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-4);margin-bottom:var(--s-6);flex-wrap:wrap}
.page-head>div:first-child{min-width:0}
.page-title{font:600 var(--fs-lg)/28px var(--font);letter-spacing:-.01em;overflow-wrap:anywhere}
.page-sub{color:var(--text-3);font-size:var(--fs-sm);line-height:18px;margin-top:2px;max-width:70ch}
.page-actions{display:flex;gap:var(--s-2);flex-wrap:wrap}
.viewhead .eyebrow,.page-head .eyebrow{display:none}
body:has(#v-client360:not([hidden])) .viewhead{display:none} 
.section{margin-top:var(--s-8)}
.section-head{display:flex;align-items:baseline;gap:var(--s-2);margin-bottom:var(--s-2)}
.section-title{font:600 var(--fs-md)/24px var(--font)}
.section-count{color:var(--text-3);font-size:var(--fs-sm)}
.section-more{margin-left:auto;font-size:var(--fs-sm);color:var(--text-2)}
.section-more:hover{color:var(--text)}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-1)}
.card--pad{padding:var(--s-4)}.card--flush{padding:0}
.card-title{font:600 var(--fs-base)/20px var(--font)}
.card:hover{border-color:var(--border)}
[data-href]:hover{border-color:var(--border-strong)}
.list{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}
.row{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:var(--s-3);min-height:44px;padding:var(--s-2) var(--s-4);border-top:1px solid var(--border);color:inherit;text-decoration:none}
.row:first-child{border-top:0}
.row:hover{background:var(--surface-2);color:inherit}
.row--nocheck{grid-template-columns:minmax(0,1fr) auto}
.row-main{min-width:0;display:flex;flex-direction:column}
.row-lead{display:flex;align-items:center}
.row-title{display:block;font:500 var(--fs-base)/20px var(--font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row-meta{display:block;font-size:var(--fs-xs);line-height:16px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.row-side{display:flex;align-items:center;gap:var(--s-2);color:var(--text-3);font-size:var(--fs-xs)}
.row-check{width:18px;height:18px;border:1.5px solid var(--border-strong);border-radius:var(--r-full);background:transparent;padding:0;cursor:pointer}
.row-check:hover{border-color:var(--accent)}
.row.is-late .row-due{color:var(--danger)}
.row-2l .row-title{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.row-title,.row-meta,.page-title,.card-title{overflow-wrap:anywhere}
.chip{display:inline-flex;align-items:center;gap:4px;height:20px;max-width:100%;padding:0 6px;border:0;border-radius:var(--r-sm);font:500 var(--fs-xs)/20px var(--font);background:var(--surface-3);color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
.chip--lg{height:24px;padding:0 8px;font-size:var(--fs-sm)}
.chip--xs{height:18px;font-size:11px}
.chip--danger{background:var(--danger-soft);color:var(--danger)}
.chip--warn{background:var(--warn-soft);color:var(--warn)}
.chip--ok{background:var(--ok-soft);color:var(--ok)}
.chip--info{background:var(--info-soft);color:var(--info)}
.chip--sales{background:var(--sales-soft);color:var(--sales)}
button.chip,a.chip{cursor:pointer}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--acc,var(--text-3));flex:none}
.dot--ok{background:var(--ok)}.dot--warn{background:var(--warn)}.dot--danger{background:var(--danger)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 12px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);color:var(--text);font:500 var(--fs-sm)/1 var(--font);cursor:pointer;white-space:nowrap;text-decoration:none;box-shadow:none;transition:background var(--t-fast),border-color var(--t-fast)}
.btn:hover{background:var(--surface-3);color:var(--text)}
.btn:focus-visible{outline:0;box-shadow:var(--focus)}
.btn:disabled{opacity:.55;cursor:default}
.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}
.btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--accent-fg);opacity:1}
.btn--ghost{border-color:transparent;background:transparent;color:var(--text-2)}
.btn--ghost:hover{background:var(--surface-3);border-color:transparent;color:var(--text)}
.btn--danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,var(--border))}
.btn--sm{height:26px;padding:0 8px;font-size:var(--fs-xs)}
.btn--icon{width:32px;padding:0}
.btn--sm.btn--icon{width:26px}
.btn svg{width:16px;height:16px;flex:none}
input,select,textarea{font:400 var(--fs-base)/20px var(--font);color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:7px 10px;box-shadow:none}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--accent);box-shadow:var(--focus)}
input::placeholder,textarea::placeholder{color:var(--text-3)}
input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:auto;padding:0}
.mini{padding:3px 8px;font-size:var(--fs-sm);border-radius:var(--r-sm)}
.field{display:flex;flex-direction:column;gap:6px}
.label{font:500 var(--fs-xs)/16px var(--font);color:var(--text-2)}
.input,.select,.textarea{height:36px;padding:0 10px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font:400 var(--fs-base)/20px var(--font);width:100%}
.textarea{height:auto;min-height:80px;padding:8px 10px;resize:vertical}
.help{font-size:var(--fs-xs);color:var(--text-3)}
.tabs--line{display:flex;gap:var(--s-4);margin:0 0 var(--s-4);padding:0;background:none;border:0;border-bottom:1px solid var(--border);border-radius:0;overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap;-webkit-mask-image:linear-gradient(90deg,#000 90%,transparent);mask-image:linear-gradient(90deg,#000 90%,transparent)}
.tabs--line::-webkit-scrollbar{display:none}
.tab-link{height:36px;display:inline-flex;align-items:center;gap:6px;font:500 var(--fs-sm)/1 var(--font);color:var(--text-3);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;text-decoration:none}
.tab-link:hover{color:var(--text)}
.tab-link[aria-current]{color:var(--text);border-color:var(--text)}
.seg:not(.tabs){display:inline-flex;gap:0;padding:2px;margin:0;background:var(--surface-3);border:0;border-radius:var(--r-md)}
.seg:not(.tabs)>a,.seg:not(.tabs)>button{height:28px;padding:0 10px;border:0;border-radius:6px;background:none;font:500 var(--fs-sm)/1 var(--font);color:var(--text-2);display:inline-flex;align-items:center;gap:6px;cursor:pointer;text-decoration:none;white-space:nowrap}
.seg:not(.tabs)>[aria-current],.seg:not(.tabs)>[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:var(--sh-1)}
.tabs:not(.tabs--line){background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:2px}
.tab{font-size:var(--fs-sm);color:var(--text-2);padding:5px 10px;border-radius:6px}
.tab.on{color:var(--text);background:var(--surface);box-shadow:var(--sh-1)}
.tabs.seg{background:none;border:0;border-bottom:1px solid var(--border);border-radius:0;padding:0}
.tabs.seg .tab{border-radius:0;box-shadow:none;background:none;color:var(--text-3)}
.tabs.seg .tab.on{color:var(--text);border-bottom:2px solid var(--text);margin-bottom:-1px;background:none;box-shadow:none}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--s-3)}
.stat{display:block;padding:var(--s-3) var(--s-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);color:inherit;text-decoration:none}
a.stat:hover{border-color:var(--border-strong);color:inherit}
.stat-n{font:600 22px/28px var(--font);letter-spacing:-.01em}
.stat-l{font-size:var(--fs-xs);color:var(--text-3)}
.stat.is-alert .stat-n{color:var(--danger)}
.table{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;font-size:var(--fs-sm)}
.table th{position:sticky;top:var(--top-h);background:var(--surface-2);text-align:left;font:500 var(--fs-xs)/16px var(--font);color:var(--text-3);padding:8px 12px;border-bottom:1px solid var(--border);white-space:nowrap}
.table td{padding:10px 12px;border-top:1px solid var(--border);vertical-align:middle}
.table tr:first-child td{border-top:0}
.drawer{position:fixed;top:0;right:0;bottom:0;z-index:40;width:min(520px,100vw);background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--sh-3);display:flex;flex-direction:column;transform:translateX(100%);transition:transform var(--t-panel)}
.drawer[open],.drawer.is-open{transform:none}
.drawer-head{display:flex;align-items:center;gap:var(--s-2);height:52px;padding:0 var(--s-4);border-bottom:1px solid var(--border);flex:none}
.drawer-title{font:600 var(--fs-base)/20px var(--font);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.drawer-actions{display:flex;gap:var(--s-2);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface);flex-wrap:wrap}
.drawer-body{flex:1;overflow-y:auto;padding:var(--s-4)}
.props{display:grid;grid-template-columns:96px minmax(0,1fr);gap:var(--s-2) var(--s-3);font-size:var(--fs-sm)}
.props dt{color:var(--text-3)}.props dd{margin:0;min-width:0;overflow-wrap:anywhere}
#wdrawer,#idrawer{position:fixed;inset:0;z-index:40}
.wd-back{position:absolute;inset:0;background:rgba(10,10,12,.4)}
.wd-panel{position:absolute;top:0;right:0;bottom:0;width:min(560px,100%);background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--sh-3);overflow:auto;padding:var(--s-4)}
.pop{position:absolute;z-index:35;min-width:200px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--sh-2);padding:4px}
.pop-item{display:flex;align-items:center;gap:8px;width:100%;height:32px;padding:0 8px;border:0;border-radius:6px;background:none;color:var(--text);font:400 var(--fs-sm)/1 var(--font);text-align:left;text-decoration:none;cursor:pointer;white-space:nowrap}
.pop-item:hover,.pop-item:focus-visible{background:var(--surface-3);color:var(--text);outline:0}
.pop-item svg{width:16px;height:16px;color:var(--text-3);flex:none}
.pop-item .kbd,.pop-item .hint{margin-left:auto;color:var(--text-3);font-size:var(--fs-xs)}
.pop-sep{height:1px;background:var(--border);margin:4px 0}
.pop-label{font:500 11px/16px var(--font);color:var(--text-3);padding:6px 8px 2px}
.pop-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 8px;font-size:var(--fs-sm);color:var(--text-2)}
.sheet-backdrop{position:fixed;inset:0;z-index:39;background:rgba(10,10,12,.4)}
.sheet{position:fixed;inset:auto 0 0 0;z-index:40;max-height:85dvh;background:var(--surface);border-radius:var(--r-lg) var(--r-lg) 0 0;box-shadow:var(--sh-3);padding:var(--s-2) var(--s-4) calc(var(--s-4) + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}
.sheet::before{content:'';display:block;width:36px;height:4px;border-radius:2px;background:var(--border-strong);margin:0 auto var(--s-3)}
.sheet-title{font:600 var(--fs-md)/24px var(--font);margin:0 0 var(--s-2)}
@media(min-width:641px){.sheet{left:50%;right:auto;bottom:auto;top:12vh;transform:translateX(-50%);width:min(440px,calc(100vw - 32px));border-radius:var(--r-lg);border:1px solid var(--border);padding-top:var(--s-4)}.sheet::before{display:none}}
.empty{display:block;padding:var(--s-8) var(--s-4);text-align:center;color:var(--text-3);font-size:var(--fs-sm)}
.empty-title{color:var(--text);font:500 var(--fs-base)/20px var(--font);margin-bottom:4px}
.empty .btn{margin-top:var(--s-3)}
.toasts{position:fixed;z-index:60;left:50%;bottom:var(--s-6);transform:translateX(-50%);display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}
.toast{display:flex;align-items:center;gap:var(--s-3);min-height:40px;padding:0 var(--s-2) 0 var(--s-4);background:var(--text);color:var(--bg);border-radius:var(--r-md);box-shadow:var(--sh-3);font-size:var(--fs-sm);pointer-events:auto;max-width:calc(100vw - 32px)}
.toast .btn{color:inherit;background:transparent;border-color:color-mix(in srgb,var(--bg) 30%,transparent)}
.avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;width:24px;height:24px;border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent-text);font:600 11px/1 var(--font);text-transform:uppercase;letter-spacing:0}
.avatar--sm{width:20px;height:20px;font-size:10px}.avatar--lg{width:32px;height:32px;font-size:13px}
.icon{width:16px;height:16px;flex:none}
.oops{max-width:560px;margin:var(--s-10) auto;text-align:center}
.oops-code{font:600 var(--fs-sm)/1 var(--mono);color:var(--text-3);margin-bottom:var(--s-3)}
.oops .page-title{margin-bottom:var(--s-2)}
.oops p{color:var(--text-2);margin:0 auto var(--s-5);max-width:48ch}
.oops .list{text-align:left;margin:var(--s-4) 0}
.oops-actions{display:flex;gap:var(--s-2);justify-content:center;flex-wrap:wrap}
kbd{font:500 11px/1 var(--mono);padding:2px 5px;border:1px solid var(--border);border-radius:4px;color:var(--text-3);background:var(--surface)}
.app{display:grid;grid-template-columns:var(--side-w) minmax(0,1fr);min-height:100vh;min-height:100dvh}
.main{min-width:0;display:flex;flex-direction:column}
.content{width:100%;max-width:1200px;margin:0 auto;padding:var(--s-6) var(--s-6) var(--s-12);flex:1;min-width:0}
.content--read{max-width:760px}
.side{position:sticky;top:0;height:100vh;height:100dvh;overflow-y:auto;background:var(--surface);border-right:1px solid var(--border);padding:var(--s-3) var(--s-2);display:flex;flex-direction:column;gap:var(--s-1);z-index:30;scrollbar-width:thin}
.side-logo{height:28px;padding:0 var(--s-2);margin-bottom:var(--s-3);display:flex;align-items:center;gap:8px;font:600 14px/1 var(--font);color:var(--text);text-decoration:none;flex:none}
.side-logo:hover{color:var(--text)}
.mark{width:20px;height:20px;border-radius:6px;background:var(--accent);color:var(--accent-fg);display:inline-flex;align-items:center;justify-content:center;font:700 12px/1 var(--font);flex:none}
.nav-group{display:flex;flex-direction:column;gap:1px}
.nav-group-label{display:flex;align-items:center;gap:6px;font:500 var(--fs-xs)/16px var(--font);color:var(--text-3);padding:var(--s-3) var(--s-2) var(--s-1);text-transform:none;letter-spacing:0}
.nav-item{display:flex;align-items:center;gap:10px;height:32px;padding:0 var(--s-2);border-radius:var(--r-md);color:var(--text-2);font:500 var(--fs-sm)/1 var(--font);text-decoration:none;white-space:nowrap;flex:none}
.nav-item svg{width:16px;height:16px;flex:none;color:var(--text-3)}
.nav-item:hover{background:var(--surface-3);color:var(--text)}
.nav-item[aria-current=page]{background:var(--accent-soft);color:var(--accent-text)}
.nav-item[aria-current=page] svg{color:var(--accent-text)}
.nav-item span:not(.nav-badge){overflow:hidden;text-overflow:ellipsis}
.nav-badge{margin-left:auto;min-width:18px;height:18px;padding:0 5px;border-radius:var(--r-full);background:var(--surface-3);color:var(--text-2);font:600 11px/18px var(--font);text-align:center;flex:none}
.nav-badge.is-alert{background:var(--danger);color:#fff}
.nav-fold>summary{list-style:none;cursor:pointer;border-radius:var(--r-md);margin:0;font-size:var(--fs-xs)}
.nav-fold[open]>summary{margin-bottom:0}
.nav-fold>summary::-webkit-details-marker{display:none}
.nav-fold>summary:hover{color:var(--text)}
.nav-fold>summary .chev{width:12px;height:12px;transition:transform var(--t-fast)}
.nav-fold[open]>summary .chev{transform:rotate(90deg)}
.nav-fold>summary .nav-badge{margin-left:auto}
.side-foot{margin-top:auto;border-top:1px solid var(--border);padding-top:var(--s-2);position:relative;flex:none}
.acct{display:flex;align-items:center;gap:8px;height:40px;padding:0 var(--s-2);border:0;border-radius:var(--r-md);width:100%;background:none;color:var(--text);font:500 var(--fs-sm)/1 var(--font);cursor:pointer;text-align:left}
.acct:hover{background:var(--surface-3)}
.acct-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.acct svg{width:14px;height:14px;color:var(--text-3)}
.acct-menu{position:fixed;left:12px;bottom:58px;width:264px;max-width:calc(100vw - 24px)} 
.topbar{position:sticky;top:0;z-index:20;height:var(--top-h);display:flex;align-items:center;gap:var(--s-3);padding:0 var(--s-6);background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(8px);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--border)}
body:has(.viewas) .topbar{top:32px}
body:has(.viewas) .side{top:32px;height:calc(100vh - 32px);height:calc(100dvh - 32px)}
.topbar-logo{display:none}
.crumbs{font:500 var(--fs-sm)/1 var(--font);color:var(--text-3);display:flex;align-items:center;gap:6px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crumbs a{color:var(--text-2);text-decoration:none}.crumbs a:hover{color:var(--text)}
.crumbs [aria-current]{color:var(--text);overflow:hidden;text-overflow:ellipsis}
.crumbs .sep{color:var(--border-strong)}
.cmdk{margin-left:auto;display:flex;align-items:center;gap:8px;width:min(360px,40vw);height:32px;padding:0 6px 0 10px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text-3);font:400 var(--fs-sm)/1 var(--font);cursor:text;flex:none;position:relative}
.cmdk:hover{border-color:var(--border-strong)}
.cmdk:focus-within{border-color:var(--accent);box-shadow:var(--focus)}
.cmdk svg{width:16px;height:16px;flex:none}
.cmdk input{flex:1;min-width:0;height:30px;border:0;padding:0;background:transparent;box-shadow:none;font-size:var(--fs-sm);color:var(--text)}
.cmdk input:focus{box-shadow:none;border:0}
.cmdk input::-webkit-search-cancel-button{display:none}
.cmdk-label{flex:1;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
button.cmdk{text-align:left}
.cmdk kbd{margin-left:auto;flex:none}
.cmdk .qpill{height:20px;padding:0 6px;border-radius:var(--r-sm);background:var(--warn-soft);color:var(--warn);font:500 var(--fs-xs)/20px var(--font);border:0;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}
.cmdk .qpill b{font-weight:500;color:inherit}
.viewas{position:sticky;top:0;z-index:70;height:32px;display:flex;align-items:center;gap:8px;padding:0 var(--s-4);background:var(--accent);color:var(--accent-fg);font:500 var(--fs-xs)/1 var(--font);white-space:nowrap;overflow:hidden}
.viewas b{font-weight:600;overflow:hidden;text-overflow:ellipsis}
.viewas a,.viewas button{color:inherit;text-decoration:underline;text-underline-offset:2px;background:none;border:0;font:inherit;cursor:pointer;padding:0}
.viewas .sp{flex:1}
.bottombar{display:none}
.bottombar .tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font:500 11px/14px var(--font);color:var(--text-3);padding:0;border:0;border-radius:0;background:none;box-shadow:none;text-decoration:none;cursor:pointer;min-width:0}
.bottombar .tab svg{width:20px;height:20px}
.bottombar .tab{position:relative}
.bottombar .tab .nav-badge{position:absolute;top:4px;left:calc(50% + 4px);margin:0;min-width:16px;height:16px;line-height:16px;font-size:10px;padding:0 4px}
.bottombar .tab[aria-current]{color:var(--accent-text);background:none}
.bottombar .tab--ask span.ask{width:44px;height:44px;border-radius:var(--r-full);background:var(--accent);color:var(--accent-fg);display:flex;align-items:center;justify-content:center;box-shadow:var(--sh-2);margin-top:-14px}
.bottombar .tab--ask svg{width:22px;height:22px}
.more-sheet .nav-group-label{padding-left:0}
.more-sheet .nav-item{height:44px;font-size:var(--fs-base);padding:0 var(--s-2)}
.more-acct{border-top:1px solid var(--border);margin-top:var(--s-3);padding-top:var(--s-2)}
.app--guest{display:block}
.app--guest .content{max-width:1180px}
.app--bare{display:block}
.login .box .card{background:var(--surface)}
.themebtn{background:var(--surface);border-color:var(--border)}
@media(max-width:899px){
.app{grid-template-columns:minmax(0,1fr)}
.side{display:none}
.topbar{padding:0 var(--s-4);gap:var(--s-2)}
.topbar-logo{display:inline-flex;text-decoration:none}
.crumbs a,.crumbs .sep{display:none}
.crumbs{font-size:var(--fs-base);color:var(--text)}
.cmdk:not(.is-open){width:32px;padding:0;justify-content:center;border-color:transparent;background:transparent}
.cmdk:not(.is-open) input,.cmdk:not(.is-open) kbd,.cmdk:not(.is-open) .cmdk-label,.cmdk:not(.is-open) .qpill{display:none}
.cmdk.is-open{position:absolute;left:var(--s-4);right:var(--s-4);width:auto;z-index:2}
.cmdk kbd{display:none}
.content{padding:var(--s-4) var(--s-4) calc(var(--bottom-h) + var(--s-6) + env(safe-area-inset-bottom))}
.bottombar{position:fixed;inset:auto 0 0 0;z-index:30;height:calc(var(--bottom-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(5,1fr);background:var(--surface);border-top:1px solid var(--border)}
.app--guest .bottombar,.app--bare .bottombar{display:none}
.toasts{bottom:calc(var(--bottom-h) + 12px + env(safe-area-inset-bottom))}
}
@media(max-width:640px){
input,select,textarea,.input,.select,.textarea,.cmdk input{font-size:16px}
.btn{min-height:40px}.btn--sm{min-height:32px}
.page-head{align-items:flex-start}
.drawer{width:100vw;top:auto;height:92dvh;border-radius:var(--r-lg) var(--r-lg) 0 0;transform:translateY(100%)}
.drawer[open],.drawer.is-open{transform:none}
.wd-panel{width:100%;top:auto;height:92dvh;border-radius:var(--r-lg) var(--r-lg) 0 0;border-left:0}
.table--cards thead{display:none}
.table--cards,.table--cards tbody,.table--cards tr,.table--cards td{display:block;width:100%}
.table--cards tr{padding:var(--s-2) var(--s-4);border-top:1px solid var(--border)}
.table--cards td{border:0;padding:2px 0}
.table--cards td[data-l]::before{content:attr(data-l) " · ";color:var(--text-3);font-size:var(--fs-xs)}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:0s!important;animation-duration:0s!important}}
@media print{.side,.topbar,.bottombar,.viewas,.tka{display:none!important}.app{display:block}}
/* ── work.css ── */
.wlist{margin:0}
.wrow{grid-template-columns:22px minmax(0,1fr) auto;min-height:48px;padding:6px var(--s-4)}
.wrow.row--nocheck{grid-template-columns:minmax(0,1fr) auto}
.wrow .row-main{color:inherit;text-decoration:none;min-width:0;padding:2px 0}
.wrow .row-main:hover{color:inherit}
.wrow .row-main:hover .row-title{text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:3px}
.wrow .row-meta{white-space:nowrap}
.wrow .row-ex{display:block;font-size:var(--fs-xs);line-height:16px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px;opacity:.85}
.wrow .row-side{gap:6px;min-width:0}
.wrow.is-done .row-title{color:var(--text-3)}
.wrow form{margin:0;display:inline-flex}
.wck{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:1.5px solid var(--border-strong);border-radius:var(--r-full);background:transparent;padding:0;cursor:pointer;color:var(--accent-fg);font-size:11px;line-height:1;transition:border-color var(--t-fast),background var(--t-fast)}
button.wck:hover{border-color:var(--ok);background:var(--ok-soft)}
.wck.is-done{background:var(--ok);border-color:var(--ok);color:#fff;cursor:default}
.wck.is-ok{border-color:var(--ok);color:var(--ok)}
.wck.is-ro{cursor:default;opacity:.5}
.wrow.is-closing{opacity:.45;transition:opacity .3s}
.wrow.is-closing .row-title{text-decoration:line-through}
.wdue{white-space:nowrap}
.wdue.is-late{color:var(--danger);font-weight:500}
.wdue.is-today{color:var(--warn);font-weight:500}
.wdue.is-stale{color:var(--warn)}
.wdue.is-wait{color:var(--info)}
.wdue.is-doing{color:var(--text-2)}
.wdue.is-ok{color:var(--ok)}
.wav{display:inline-flex;align-items:center}
.wav .avatar+.avatar{margin-left:-6px;box-shadow:0 0 0 2px var(--surface)}
.wav-more{font-size:11px;color:var(--text-3);margin-left:3px}
.wid{display:none;font:400 11px/1 var(--mono);color:var(--text-3);min-width:40px;text-align:right}
@media(hover:hover) and (min-width:641px){.wid{display:inline-block;visibility:hidden}.wrow:hover .wid{visibility:visible}} 
.wnobody{font-size:var(--fs-xs);color:var(--text-3)}
.wsub .wrow{border-top:1px solid var(--border)}
.wassign{height:26px}
.wk2 .tabs--line{margin-bottom:var(--s-3)}
.wtop{display:flex;align-items:flex-end;gap:var(--s-3);flex-wrap:wrap;border-bottom:1px solid var(--border);margin-bottom:var(--s-3)}
.wtop .tabs--line{border-bottom:0;margin:0;flex:0 1 auto;min-width:0;-webkit-mask-image:none;mask-image:none}
.wtop .wbar{flex:1;margin:0 0 6px;justify-content:flex-end}
.wbar2{margin:0 0 var(--s-2)}
.wsec{margin-top:var(--s-6)}
.wsec:first-of-type{margin-top:var(--s-4)}
.wsec-hint{margin-left:var(--s-2);font-size:var(--fs-xs);color:var(--text-3);display:inline-flex;gap:6px;align-items:center}
.wsub-line{margin:0 0 var(--s-3)}
.wbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 var(--s-2)}
.wbar .sp,.ip-bar .sp{flex:1}
.wtypes{display:flex;gap:4px;flex-wrap:wrap}
.wtype{height:28px;padding:0 10px;font-size:var(--fs-sm);background:transparent;border:1px solid var(--border);color:var(--text-2);text-decoration:none}
.wtype:hover{color:var(--text);border-color:var(--border-strong)}
.wtype.is-on{background:var(--text);color:var(--bg);border-color:var(--text)}
.wtype-n{opacity:.7;font-size:11px}
.wfchip{height:28px;padding:0 10px;font-size:var(--fs-sm);background:var(--accent-soft);color:var(--accent-text);text-decoration:none}
.wmore{margin-top:var(--s-3)}
.wteam-acts{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:var(--s-2) 0 0}
.seg-l{height:28px;display:inline-flex;align-items:center;padding:0 10px;border-radius:var(--r-md);font-size:var(--fs-sm);color:var(--text-2);text-decoration:none}
.seg-l.is-on{background:var(--surface-3);color:var(--text)}
.wsheet .field{margin-bottom:var(--s-3)}
.wfilter-acts{display:flex;justify-content:flex-end;gap:var(--s-2);margin-top:var(--s-4)}
.wnew-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--s-3)}
.wload{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 var(--s-3)}
.wload-p{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px 0 6px;border:1px solid var(--border);border-radius:var(--r-full);background:var(--surface);color:var(--text-2);text-decoration:none;font-size:var(--fs-sm)}
.wload-p:hover{border-color:var(--border-strong);color:var(--text)}
.wload-c{font:500 12px/1 var(--mono);color:var(--text)}
.wload-l{font-size:11px;color:var(--danger)}
.wpop{position:absolute;z-index:45;width:min(380px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--sh-2);padding:var(--s-3)}
.wpop-t{font:500 var(--fs-sm)/18px var(--font);margin-bottom:var(--s-2)}
.wpop-row{display:flex;gap:6px;align-items:center}
.wpop-row .input{flex:1;min-width:0;height:34px}
.wpop-people{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--s-2)}
.wpop-person{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px 0 4px;border:1px solid var(--border);border-radius:var(--r-full);background:var(--surface);color:var(--text);cursor:pointer;font:500 var(--fs-sm)/1 var(--font)}
.wpop-person:hover{border-color:var(--accent)}
.wpop-dues{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.wpop-l{font-size:var(--fs-xs);color:var(--text-3);margin:var(--s-2) 0 4px}
.wpill{height:26px;padding:0 9px;background:var(--surface-2);color:var(--text-2);border:1px solid var(--border);cursor:pointer;font-size:var(--fs-xs)}
.wpill:hover{color:var(--text);border-color:var(--border-strong)}
.wpill.is-on{background:var(--accent-soft);color:var(--accent-text);border-color:transparent}
.wpanel{display:flex;flex-direction:column;gap:0}
.wpanel .ip-head{order:0}
.wpanel .ip-title{order:1;font:600 var(--fs-md)/24px var(--font);margin:var(--s-2) 0 var(--s-3);overflow-wrap:anywhere}
.wpanel .ip-bar{order:2}
.wpanel .ip-facts{order:3;margin:var(--s-3) 0 var(--s-2)}
.wpanel>.ip-sec,.wpanel>.att-list{order:4}
.wpanel>.ip-thread{order:5}
.ip-bar{position:sticky;top:calc(-1 * var(--s-4));z-index:3;display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:var(--s-2) 0;margin:0 0 var(--s-1);background:var(--surface);border-bottom:1px solid var(--border)}
.ip-bar form{margin:0;display:inline-flex}
.ip-bar .ip-done,.ip-bar .ip-wait{flex-basis:100%;display:flex;gap:6px;flex-wrap:wrap;align-items:center;padding-top:var(--s-2)}
.ip-bar .ip-done[hidden],.ip-bar .ip-wait[hidden]{display:none}
.ip-bar .ip-done .input{flex:1;min-width:180px;height:34px}
.ip-ro{color:var(--text-3);font-size:var(--fs-sm);gap:8px}
.ip-more{position:relative}
.ip-more>summary{list-style:none;cursor:pointer}.ip-more>summary::-webkit-details-marker{display:none}
.ip-more .ip-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:5;min-width:240px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--sh-2);padding:4px;display:flex;flex-direction:column;gap:2px;margin:0}
.ip-menu form{display:block}
.ip-menu .pop-item{width:100%}
.ip-menu details>summary{list-style:none}.ip-menu details>summary::-webkit-details-marker{display:none}
.ip-menu .task-form{display:flex;flex-direction:column;gap:6px;padding:6px 8px}
.ip-menu .task-form textarea,.ip-menu .task-form input{width:100%}
.ip-menu .qfile{display:flex;flex-direction:column;gap:6px;padding:6px 8px}
.ip-menu .task-danger{color:var(--danger)}
.ip-facts{display:grid;grid-template-columns:92px minmax(0,1fr);gap:8px 12px;align-items:center;font-size:var(--fs-sm)}
.ip-facts dt{color:var(--text-3)}
.ip-facts dd{margin:0;display:flex;gap:6px;align-items:center;flex-wrap:wrap;min-width:0}
.ip-due{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.ip-duev{font-weight:500;margin-right:2px}
.wpill-pick input{height:26px;padding:0 6px;font-size:var(--fs-xs)}
.wthread{display:flex;flex-direction:column;gap:8px;margin:4px 0 var(--s-3)}
.wthread-empty{font-size:var(--fs-sm)}
.wb{max-width:88%;align-self:flex-start;background:var(--surface-2);border:1px solid var(--border);border-radius:12px 12px 12px 4px;padding:6px 10px}
.wb.is-me{align-self:flex-end;background:var(--accent-soft);border-color:transparent;border-radius:12px 12px 4px 12px}
.wb.is-wait{background:var(--info-soft);border-color:transparent}
.wb-h{font-size:11px;color:var(--text-3);margin-bottom:2px}
.wb-t{white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--fs-sm);line-height:1.45}
.ip-reply{display:flex;gap:6px;align-items:center;position:sticky;bottom:calc(-1 * var(--s-4));background:var(--surface);padding:var(--s-2) 0}
.ip-reply .input{flex:1;min-width:0;height:36px}
.ip-sec .wlist{margin-top:4px}
.att-list{display:flex;flex-wrap:wrap;gap:8px;margin:var(--s-2) 0}
.att-list img{max-width:160px;max-height:120px;border-radius:var(--r-sm);border:1px solid var(--border)}
.wrev-head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--s-3);margin:var(--s-4) 0 var(--s-3);flex-wrap:wrap}
.wrev-n{font:500 var(--fs-sm)/1 var(--mono);color:var(--text-3)}
.wrev-card{padding:var(--s-4)}
.wrev-title{font:600 var(--fs-md)/24px var(--font);overflow-wrap:anywhere}
.wrev-meta{font-size:var(--fs-sm);color:var(--text-3);margin-top:4px}
.wrev-last{margin-top:var(--s-3);padding:8px 10px;border-left:2px solid var(--border-strong);color:var(--text-2);font-size:var(--fs-sm)}
.wrev-acts{display:flex;flex-direction:column;gap:var(--s-3);margin-top:var(--s-4)}
.wrev-g{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.wrev-g .input{flex:1;min-width:200px;height:34px}
.wrev-l{font-size:var(--fs-xs);color:var(--text-3);min-width:72px}
.wrev-end{text-align:center}
.home2{display:block}
.hbar{display:flex;justify-content:flex-end;margin:calc(-1 * var(--s-12)) 0 var(--s-4);min-height:32px;pointer-events:none}
.hbar .seg{pointer-events:auto}
.home2 .stats{margin-bottom:var(--s-2)}
.home-cols{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:var(--s-6);align-items:start}
.home-cols>div>.section:first-child{margin-top:var(--s-4)}
.hsec .section-head{align-items:center}
.hstale{margin-left:var(--s-2)}
.hnote{font-size:var(--fs-sm);color:var(--text-3);margin-top:var(--s-3)}
.hnote a{color:var(--text-2)}
.hprio-n{display:inline-block;min-width:18px;font:600 var(--fs-sm)/20px var(--font);color:var(--sales)}
.hproj .row-lead .dot{width:8px;height:8px}
.hteam .stats{margin-bottom:var(--s-2)}
.pzband{display:flex;gap:var(--s-3);overflow-x:auto;scrollbar-width:none;padding-bottom:4px;margin:0 0 var(--s-4)}
.pzband::-webkit-scrollbar{display:none}
.pzband-c{flex:0 0 260px;min-width:0;padding:var(--s-3);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);color:inherit;text-decoration:none;display:flex;flex-direction:column;gap:6px}
.pzband-c:hover{border-color:var(--border-strong);color:inherit}
.pzband-t{font:500 var(--fs-sm)/18px var(--font);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pzband-m{font-size:var(--fs-xs);color:var(--text-3);display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.wbar-p{display:block;height:4px;border-radius:2px;background:var(--surface-3);overflow:hidden}
.wbar-p>i{display:block;height:100%;background:var(--ok);border-radius:2px}
.wdef{font-size:var(--fs-sm);color:var(--text-3);margin:0 0 var(--s-4);max-width:80ch}
.wdef b{color:var(--text-2);font-weight:500}
.rmov .row-title{display:flex;align-items:center;gap:8px}
.rmdots{font:400 12px/1 var(--mono);letter-spacing:1px;color:var(--text-3)}
.rmdots b{color:var(--ok);font-weight:400}
.pzcards{display:flex;flex-direction:column;gap:var(--s-3)}
.pzc{padding:var(--s-3) var(--s-4)}
.pzc-top{display:flex;gap:var(--s-3);align-items:flex-start}
.pzc-main{flex:1;min-width:0}
.pzc-t{font:600 var(--fs-base)/22px var(--font);overflow-wrap:anywhere}
.pzc-m{font-size:var(--fs-xs);color:var(--text-3);margin-top:2px;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}
.pzc-m a{color:var(--text-2)}
.pzc-m .old{color:var(--warn)}
.pzc-prog{display:grid;grid-template-columns:minmax(0,160px) auto;gap:8px;align-items:center;font-size:var(--fs-xs);color:var(--text-3);margin-top:var(--s-2)}
.pzc-next{font-size:var(--fs-xs);color:var(--text-2);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pzc-last{font-size:var(--fs-xs);color:var(--text-3);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pzc .pzfold{margin-top:var(--s-2)}
.pzadd2{display:flex;gap:6px;flex-wrap:wrap;align-items:center;padding:var(--s-3);margin-bottom:var(--s-4)}
.pzadd2 input[name=text]{flex:1;min-width:220px}
.pzadd2 details{flex-basis:100%}
.pzadd2 details>summary{font-size:var(--fs-xs);color:var(--text-3);cursor:pointer;list-style:none}
.pzwho{display:flex;gap:4px;flex-wrap:wrap;margin:0 0 var(--s-3)}
.idea-add{display:flex;gap:var(--s-2);flex-wrap:wrap;align-items:center;padding:var(--s-3);margin:0 0 var(--s-2)}
.idea-add .input{flex:1;min-width:240px}.idea-add .select{width:auto;max-width:240px}
.idea-acts{display:inline-flex;gap:2px;opacity:0;transition:opacity var(--t-fast)}
.wrow:hover .idea-acts,.wrow:focus-within .idea-acts{opacity:1}
.idea-proj{margin-top:var(--s-3)}
.idea-proj-h{display:flex;align-items:baseline;gap:var(--s-2);margin:0 0 6px;font:500 var(--fs-sm)/20px var(--font)}
.idea-proj-h a{color:var(--text)}
/* ── Board (/work?view=board, 12/10/2026): four columns by status, a card = project · date, title, owner, the next step ── */
.board{display:grid;grid-template-columns:repeat(4,minmax(232px,1fr));gap:var(--s-3);margin-top:var(--s-3);overflow-x:auto;padding-bottom:var(--s-2);align-items:start}
.bcol{background:var(--surface-2);border-radius:var(--r-lg);padding:var(--s-2);min-width:0}
.bcol-h{display:flex;justify-content:space-between;align-items:center;gap:var(--s-2);margin:2px 4px var(--s-2);font-size:var(--fs-xs);font-weight:500;color:var(--text-2)}
.bcol-empty{padding:var(--s-4) var(--s-2);text-align:center;font-size:var(--fs-sm);color:var(--text-3)}
.bcol-more{display:flex;justify-content:center;margin-top:var(--s-1)}
.bcard{display:flex;flex-direction:column;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-2) var(--s-3);margin-bottom:var(--s-2)}
.bcard:hover{border-color:var(--border-strong)}
.bcard.is-closing{opacity:.4;text-decoration:line-through}
.bcard[class*="kst--"]{border-left-color:var(--kst);box-shadow:inset 2px 0 0 var(--kst)}
.kst--late{--kst:var(--danger)}.kst--doing{--kst:var(--warn)}.kst--done{--kst:var(--ok)}.kst--wait{--kst:var(--info)}.kst--todo{--kst:var(--text-3)}
.bcard-main{display:flex;flex-direction:column;gap:4px;color:inherit;text-decoration:none;min-width:0}
.bcard-top{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-2);font-size:var(--fs-xs);color:var(--text-3)}
.bcard-proj{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bcard-top .wdue{flex:none}
.bcard .row-title{white-space:normal;overflow-wrap:break-word;font-size:var(--fs-sm);line-height:1.35}
.bcard-info{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:var(--fs-xs);color:var(--text-3)}
.bcard-foot{display:flex;align-items:center;gap:6px;min-height:26px}
.bcard-foot form{display:contents}
.bcard-foot .wid{margin-right:auto}
.kboard--3-0{grid-template-columns:repeat(3,minmax(220px,1fr))}
.board--3{grid-template-columns:repeat(3,minmax(232px,1fr))}
.kboard--4-0{grid-template-columns:repeat(4,minmax(220px,1fr))}
.kboard--5-0{grid-template-columns:repeat(5,minmax(200px,1fr))}
.kboard--6-0{grid-template-columns:repeat(6,minmax(0,1fr))}
.kboard--disp{grid-template-columns:minmax(260px,1.5fr) repeat(5,minmax(0,1fr))}
.btiles--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.kswitch{display:inline-flex;gap:2px;margin:0;border:0;padding:0;flex:none}
.kswitch .seg-l{height:28px}
.pj-bar{display:flex;align-items:flex-start;gap:var(--s-3)}
.pj-bar .pj-filters{flex:1;min-width:0}
.pj-kwho{margin-right:auto}
.pj-ksum{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.kboard--5-3{grid-template-columns:repeat(6,minmax(0,1fr))}
.kcard .bcard-foot{flex-wrap:wrap;min-width:0}
.kstack{display:flex;flex-direction:column;gap:var(--s-3);min-width:0}
.kcol--side{background:transparent;border:1px dashed var(--border)}
.kcol-sub{margin:-4px 4px var(--s-2);font-size:var(--fs-xs);color:var(--text-3)}
.kcol.is-over{outline:2px solid var(--accent);outline-offset:-2px}
.kcard[draggable=true]{cursor:grab}
.kcard.is-drag{opacity:.5}
.kcard.is-closing{opacity:.4}
.kcard .bmove{margin-top:2px;height:30px;font-size:var(--fs-xs);padding:0 8px;width:100%}
@media(hover:hover) and (pointer:fine){.kcard .bmove{height:24px;width:auto;align-self:flex-end;border-color:transparent;background-color:transparent;color:var(--text-3)}.kcard:hover .bmove,.kcard .bmove:focus{border-color:var(--border);color:var(--text-2)}}
.kcard-meta{display:flex;flex-wrap:wrap;gap:4px 8px;font-size:var(--fs-xs);color:var(--text-3)}
.kcard-val{font-family:var(--mono);white-space:nowrap}
.bstep-w{padding:0 6px}
.btiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--s-2);margin-top:var(--s-3)}
.btile{display:flex;flex-direction:column;gap:2px;padding:var(--s-2) var(--s-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text-2);text-decoration:none;font-size:var(--fs-xs);min-width:0}
.btile b{font:500 var(--fs-lg)/1.2 var(--font);color:var(--text)}
a.btile:hover{border-color:var(--border-strong)}
.btile.is-late b{color:var(--danger)}
.bproj{margin-top:var(--s-3)}
.bproj-p{display:flex;flex-direction:column;gap:3px;padding:6px 10px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text-2);text-decoration:none;font-size:var(--fs-sm);min-width:0;max-width:200px}
.bproj-p:hover{border-color:var(--border-strong);color:var(--text)}
.bproj-p.is-on{border-color:var(--text);color:var(--text)}
.bproj-n{font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bproj-c{font:400 11px/1.2 var(--mono);color:var(--text-3);white-space:nowrap}
.bproj-bar{appearance:none;-webkit-appearance:none;display:block;width:100%;height:4px;border:0;border-radius:2px;background:var(--surface-3);overflow:hidden}
.bproj-bar::-webkit-progress-bar{background:var(--surface-3)}
.bproj-bar::-webkit-progress-value{background:var(--ok)}
.bproj-bar::-moz-progress-bar{background:var(--ok)}
@media(hover:none){.idea-acts{opacity:1}}
@media(max-width:1100px){.home-cols{grid-template-columns:minmax(0,1fr)}}
@media(max-width:900px){.hbar{margin-top:0}}
@media(max-width:640px){
.btiles{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.btile{padding:6px 4px;align-items:center;text-align:center}
.wrow{padding:8px var(--s-3);column-gap:10px}
.wrow .row-side .chip:not(.wseen-chip){display:none}
.wrow .row-meta{white-space:normal;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}
.wck{width:22px;height:22px}
.wnew-grid{grid-template-columns:1fr}
.ip-facts{grid-template-columns:76px minmax(0,1fr)}
.wpanel .ip-bar{order:99;top:auto;bottom:calc(-1 * var(--s-4));border-bottom:0;border-top:1px solid var(--border);padding:var(--s-2) 0 calc(var(--s-2) + env(safe-area-inset-bottom));margin:var(--s-2) 0 0}
.ip-reply{position:static}
.ip-more .ip-menu{bottom:calc(100% + 4px);top:auto}
.wpop{left:var(--s-3)!important;right:var(--s-3);width:auto}
.wrev-l{min-width:0;flex-basis:100%}
.pzband-c{flex-basis:78%}
.wtop{flex-wrap:nowrap;align-items:center}
.wtop .tabs--line{flex:1 1 auto;gap:var(--s-3);overflow-x:auto}
.wtop .wbar{flex:none;margin:0;flex-wrap:nowrap}
.wtop .wbar .sp,.wlbl{display:none}
.wload{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.board{grid-template-columns:repeat(4,minmax(78vw,1fr));scroll-snap-type:x mandatory}
.kboard--3-0{grid-template-columns:repeat(3,minmax(78vw,1fr))}
.board--3{grid-template-columns:repeat(3,minmax(78vw,1fr))}
.kboard--4-0{grid-template-columns:repeat(4,minmax(78vw,1fr))}
.kboard--5-0{grid-template-columns:repeat(5,minmax(78vw,1fr))}
.kboard--6-0{grid-template-columns:repeat(6,minmax(78vw,1fr))}
.kboard--disp{grid-template-columns:repeat(6,minmax(78vw,1fr))}
.btiles--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.kswitch .seg-l{padding:0 8px}
.wtop{flex-wrap:wrap}
.wtop .wbar{order:-1;flex:1 1 100%;margin:0 0 4px}
.wtop .wbar .kswitch{margin-right:auto}
.pj-bar{flex-wrap:wrap}.pj-bar .kswitch{order:-1}.pj-bar .pj-filters{flex:1 1 100%}
.kboard--5-3{grid-template-columns:repeat(6,minmax(78vw,1fr))}
.kstack{scroll-snap-align:start}
.bcol{scroll-snap-align:start}
.bproj-p{flex:none}
.wload::-webkit-scrollbar{display:none}
.wload-p{flex:none}
.wsec-hint .dimtxt{display:none}
.wrow[data-idea]{grid-template-columns:22px minmax(0,1fr)}
.wrow[data-idea] .row-side{grid-column:2;justify-content:flex-start;margin-top:2px}
}
/* ── projects.css ── */
.pj-dim{color:var(--text-3)}
.pj-small{font-size:var(--fs-xs);line-height:16px}
.pj-danger{color:var(--danger)}
.pj-warn{color:var(--warn)}
.pj-mono{font:400 12px/18px 'JetBrains Mono',ui-monospace,monospace;overflow-wrap:anywhere}
.pj-off{display:none!important}
.pj-table tr[hidden],.pj-pane [hidden],.pj-up[hidden],.pj-day[hidden]{display:none!important}
.pj-dot-grey{background:var(--border-strong)}
.pj-empty-line{padding:var(--s-3) 0;color:var(--text-3);font-size:var(--fs-sm)}
.pj-intro{margin:0 0 var(--s-4);color:var(--text-2);font-size:var(--fs-sm);max-width:80ch}
.pj-def{margin:0 0 var(--s-3);color:var(--text-3);font-size:var(--fs-sm)}
.pj-more{padding:var(--s-2) 0;font-size:var(--fs-sm)}
.pj-linkbtn{border:0;background:none;padding:0;color:var(--accent-text);font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.pj-check{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--text-2);margin-right:var(--s-3)}
.pj-inline{display:flex;gap:var(--s-2);align-items:center;flex-wrap:wrap;margin-top:var(--s-2)}
.pj-inline .select,.pj-inline .input{flex:1 1 200px;min-width:0;width:auto}
.pj-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3)}
.pj-flame{display:inline-flex;color:var(--danger);margin-left:6px;vertical-align:-2px}
.pj-flame .icon{width:14px;height:14px}
/* ── the « ? » popover: one line of help, the details on demand ── */
.pj-help{position:relative;display:inline-block;vertical-align:middle;margin-left:4px}
.pj-help>summary{list-style:none;cursor:pointer;width:18px;height:18px;border-radius:var(--r-full);border:1px solid var(--border-strong);color:var(--text-3);font:600 11px/16px var(--font);text-align:center}
.pj-help>summary::-webkit-details-marker{display:none}
.pj-help[open]>summary{color:var(--text);border-color:var(--text-3)}
.pj-help-pop{position:absolute;z-index:35;left:0;top:24px;width:min(340px,80vw);padding:var(--s-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--sh-2);color:var(--text-2);font-size:var(--fs-sm);line-height:18px}
.pj-filters{display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:center;margin:0 0 var(--s-2)}
.pj-filter{flex:0 1 190px;min-width:0}
.pj-filter .select{height:32px;font-size:var(--fs-sm)}
.pj-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:var(--s-3)}
.pj-card{padding:var(--s-3) var(--s-4);display:flex;flex-direction:column;gap:6px;min-width:0}
.pj-card-top{display:flex;align-items:center;gap:4px;min-width:0}
.pj-card-name{font:600 var(--fs-base)/20px var(--font);color:var(--text);text-decoration:none;overflow-wrap:anywhere}
.pj-card-name:hover{text-decoration:underline}
.pj-card-sub{font-size:var(--fs-xs);color:var(--text-3);overflow-wrap:anywhere}
.pj-card-why{display:flex;align-items:baseline;gap:8px;font-size:var(--fs-sm);color:var(--text);overflow-wrap:anywhere}
.pj-card-why .dot{transform:translateY(-1px)}
.pj-card-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px var(--s-3);margin-top:auto;padding-top:var(--s-2);border-top:1px solid var(--border);font-size:var(--fs-xs);color:var(--text-2)}
.pj-foot-n{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}
.pj-live{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%;font-size:var(--fs-xs);color:var(--text-2);text-decoration:none}
.pj-live span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pj-live:hover{color:var(--text);text-decoration:underline}
.pj-grp{margin-top:var(--s-8)}
.pj-grp-help{margin-left:var(--s-1)}
.pj-tablewrap{min-width:0}
.pj-table{overflow:clip}
.pj-table th{top:var(--top-h);z-index:1}
.pj-table td{vertical-align:top;padding-top:8px;padding-bottom:8px}
.pj-table th:nth-child(n+2),.pj-table td:nth-child(n+2){white-space:nowrap;width:1%}
.pj-table td.pj-td-name{white-space:normal;width:auto}
.pj-td-name a{color:var(--text);font-weight:500;text-decoration:none;overflow-wrap:anywhere}
.pj-td-name a:hover{text-decoration:underline}
.pj-sub{display:block;font-size:var(--fs-xs);color:var(--text-3);line-height:16px;overflow-wrap:anywhere}
.pj-table tbody tr:hover td{background:var(--surface-2)}
.pj-fold{margin-top:var(--s-6)}
.pj-fold>summary{cursor:pointer;list-style:none;display:flex;align-items:baseline;gap:var(--s-2);flex-wrap:wrap}
.pj-fold>summary::-webkit-details-marker{display:none}
.pj-fold>summary::before{content:"";width:6px;height:6px;border-right:1.5px solid var(--text-3);border-bottom:1.5px solid var(--text-3);transform:rotate(-45deg);transition:transform var(--t-fast);align-self:center}
.pj-fold[open]>summary::before{transform:rotate(45deg)}
.pj-fold>summary+*{margin-top:var(--s-3)}
/* ── Health tab ── */
.pj-internal{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;padding:var(--s-2) var(--s-3);margin-bottom:var(--s-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);font-size:var(--fs-sm);color:var(--text-2)}
.pj-hbar{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap;margin-bottom:var(--s-3)}
.pj-htable td.pj-hc,.pj-htable th.pj-hc{text-align:center;width:72px}
.pj-htable td.pj-hc .dot{width:10px;height:10px}
.pj-why{display:block;margin-top:2px;font-size:var(--fs-sm);color:var(--text-2);overflow-wrap:anywhere}
.pj-why a{white-space:nowrap}
/* ── Takat Watch (home banner when something is down) ── */
.pj-watch{padding:var(--s-3) var(--s-4);margin-bottom:var(--s-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);display:flex;flex-direction:column;gap:6px}
.pj-watch--down{border-color:color-mix(in srgb,var(--danger) 45%,var(--border))}
.pj-watch-head{display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:baseline}
.pj-watch-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:var(--fs-sm)}
.pj-watch-list li{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pj-err{padding:var(--s-3) var(--s-4);margin-bottom:var(--s-4);border:1px solid color-mix(in srgb,var(--danger) 45%,var(--border));border-radius:var(--r-md);background:var(--danger-soft);color:var(--danger);font-size:var(--fs-sm)}
.pj-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-4);margin-bottom:var(--s-4)}
.pj-head-main{min-width:0;display:flex;flex-direction:column;gap:var(--s-2)}
.pj-head-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:var(--fs-sm)}
.pj-head-meta>a:first-child:not(.chip){color:var(--text-2);margin-right:4px}
.pj-head-meta .chip .icon{width:12px;height:12px}
.pj-strip{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2) var(--s-3);font-size:var(--fs-sm);color:var(--text-2)}
.pj-strip a{color:var(--text)}
.pj-serves{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
.pj-serves .icon{width:14px;height:14px;color:var(--text-3)}
.pj-menu{position:relative;flex:none}
.pj-pop{right:0;top:36px;min-width:220px}
.pj-tabs{margin-bottom:var(--s-4)}
.pj-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--s-6);align-items:start}
.pj-main{min-width:0}
.pj-main *,.pj-aside *{overflow-wrap:anywhere}
.pj-loading{padding:var(--s-8) 0;color:var(--text-3);font-size:var(--fs-sm)}
.pj-pane>.section:first-child,.pj-pane>.pj-glance:first-child{margin-top:0}
.pj-pane .section{margin-top:var(--s-6)}
.pj-glance{padding:var(--s-2) var(--s-4) var(--s-3)}
.pj-glance dl{margin:0}
.pj-glance-row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:var(--s-3);padding:var(--s-2) 0;border-bottom:1px solid var(--border)}
.pj-glance-row dt{font:500 var(--fs-sm)/20px var(--font);color:var(--text-2)}
.pj-glance-row dt .pj-small{display:block;font-weight:400}
.pj-glance-row dd{margin:0;font-size:var(--fs-base);line-height:21px;color:var(--text)}
.pj-glance-foot{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2) var(--s-4);padding-top:var(--s-3);font-size:var(--fs-sm);color:var(--text-2)}
.pj-quiet-line{display:flex;align-items:center;gap:var(--s-2);margin-top:var(--s-6);font-size:var(--fs-sm);color:var(--text-3)}
.pj-quiet-line .icon{color:var(--text-3)}
.pj-sugg{display:flex;flex-direction:column;gap:var(--s-2);margin-top:var(--s-3)}
.pj-sugg-row{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;padding:var(--s-2) var(--s-3);border:1px dashed var(--border-strong);border-radius:var(--r-md);font-size:var(--fs-sm)}
.pj-sugg-row>span{flex:1;min-width:0}
.pj-sugg-row .icon{color:var(--text-3)}
.pj-ms-list{list-style:none;margin:0;padding:0 0 0 2px;border-left:2px solid var(--border)}
.pj-ms{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:6px var(--s-2);padding:6px 0 6px var(--s-4);font-size:var(--fs-sm)}
.pj-ms-dot{position:absolute;left:-7px;top:11px;width:10px;height:10px;border-radius:50%;border:2px solid var(--border-strong);background:var(--surface)}
.pj-ms.is-done .pj-ms-dot{background:var(--ok);border-color:var(--ok)}
.pj-ms.is-late .pj-ms-dot{border-color:var(--danger)}
.pj-ms.is-done>a{color:var(--text-3);text-decoration:line-through}
.pj-ms>a{color:var(--text);font-weight:500}
.pj-ms progress,.pj-prog progress{width:90px}
.pj-prog{display:inline-flex;align-items:center;gap:6px}
.pj-rec{margin-top:var(--s-6);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}
.pj-rec-bar{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);font-size:var(--fs-sm);color:var(--text-2);cursor:pointer;list-style:none}
.pj-rec-bar::-webkit-details-marker{display:none}
.pj-rec-more{margin-left:auto;color:var(--text-3);font-size:var(--fs-xs)}
.pj-rec[open] .pj-rec-more{visibility:hidden}
.pj-rec-list{list-style:none;margin:0;padding:0 var(--s-3);border-top:1px solid var(--border)}
.pj-rec-li{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;padding:var(--s-2) 0;border-bottom:1px solid var(--border);font-size:var(--fs-sm)}
.pj-rec-li:last-child{border-bottom:0}
.pj-rec-t{flex:1 1 260px;min-width:0}
.pj-rec-li form{margin:0}
.pj-rec>.pj-small{padding:var(--s-2) var(--s-3)}
.pj-aside{min-width:0;position:sticky;top:calc(var(--top-h) + var(--s-4))}
.pj-facts{margin:0;padding:var(--s-2) var(--s-4)}
.pj-fact{display:grid;grid-template-columns:84px minmax(0,1fr);gap:var(--s-2);padding:8px 0;border-bottom:1px solid var(--border);font-size:var(--fs-sm)}
.pj-fact:last-child{border-bottom:0}
.pj-fact dt{color:var(--text-3)}
.pj-fact dd{margin:0;min-width:0;color:var(--text)}
.pj-past summary{cursor:pointer;color:var(--text-3);font-size:var(--fs-xs);margin-top:4px}
.pj-past{color:var(--text-3);font-size:var(--fs-xs)}
.pj-add{display:flex;gap:var(--s-2);align-items:flex-start;flex-wrap:wrap;margin-bottom:var(--s-3)}
.pj-add>.input{flex:1 1 260px;min-width:0;width:auto}
.pj-add>.btn{height:36px}
.pj-add-more{position:relative}
.pj-add-more>summary{list-style:none;cursor:pointer;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-2);background:var(--surface)}
.pj-add-more>summary::-webkit-details-marker{display:none}
.pj-add-more>summary .icon{transform:rotate(90deg);transition:transform var(--t-fast)}
.pj-add-more[open]>summary .icon{transform:rotate(-90deg)}
.pj-add-more[open]{flex-basis:100%;order:3}
.pj-add-opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-2);margin-top:var(--s-2)}
.pj-wseg,.pj-useg{margin-bottom:var(--s-3);max-width:100%;overflow-x:auto}
.pj-docadd{margin:0 0 var(--s-4)}
.pj-add-label{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--text-2)}
.pj-docform{display:flex;flex-direction:column;gap:var(--s-3);padding:var(--s-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}
.pj-envs tr.is-prod td{background:color-mix(in srgb,var(--ok) 6%,var(--surface))}
.pj-envs td .dot{margin-right:4px}
.pj-envs td:first-child{width:1%;white-space:nowrap}
.pj-envs td.pj-td-name{width:auto}
.pj-creds,.pj-kv,.pj-repos,.pj-plain{list-style:none;margin:0;padding:0}
.pj-cred,.pj-repo{display:flex;justify-content:space-between;gap:var(--s-3);padding:var(--s-2) 0;border-bottom:1px solid var(--border);font-size:var(--fs-sm)}
.pj-repo{flex-direction:column;gap:4px}
.pj-repo-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s-2)}
.pj-cred form{margin:0}
.pj-kv li{display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:baseline;padding:6px 0;border-bottom:1px solid var(--border)}
.pj-plain li{font-size:var(--fs-sm);padding:2px 0}
.pj-runs{margin-top:var(--s-4)}
.pj-pre-wrap{white-space:pre-wrap;font-size:var(--fs-sm);color:var(--text);padding:var(--s-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}
.pj-tech{margin-top:var(--s-8)}
.pj-analysis{margin-top:var(--s-4)}
.pj-md{font-size:var(--fs-sm);line-height:20px;color:var(--text-2)}
.pj-md p{margin:0 0 var(--s-2)}.pj-md ul{margin:0 0 var(--s-2);padding-left:20px}
.pj-md-h{font-weight:600;color:var(--text);margin:var(--s-3) 0 4px}
.pj-md code,.pj-pre{font:400 12px/18px 'JetBrains Mono',ui-monospace,monospace;background:var(--surface-2);border-radius:4px;padding:1px 4px}
.pj-pre{display:block;padding:var(--s-2);white-space:pre-wrap}
.pj-day{margin-top:var(--s-4)}
.pj-day-h{margin:0 0 var(--s-1);font:600 var(--fs-xs)/16px var(--font);color:var(--text-3);text-transform:none}
.pj-ups{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}
.pj-up{display:grid;grid-template-columns:16px minmax(0,1fr) auto;gap:var(--s-2);align-items:start;padding:8px var(--s-3);border-top:1px solid var(--border);font-size:var(--fs-sm);color:var(--text)}
.pj-up:first-child{border-top:0}
.pj-up .icon{width:14px;height:14px;margin-top:3px;color:var(--text-3)}
.pj-up--deploy{color:var(--text-3)}
.pj-up-note{display:block;color:var(--text-3);font-size:var(--fs-xs);margin-top:2px}
.pj-edit{display:flex;flex-direction:column;gap:var(--s-3)}
.pj-watchers{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 0}
.pj-watchers legend{margin-bottom:6px}
.pj-drawer-actions{position:sticky;bottom:calc(-1 * var(--s-4));display:flex;gap:var(--s-2);padding:var(--s-3) 0;background:var(--surface);border-top:1px solid var(--border)}
.pj-tags-edit{margin-top:var(--s-6);padding-top:var(--s-4);border-top:1px solid var(--border);display:flex;flex-direction:column;gap:var(--s-2)}
.pj-chips{display:flex;flex-wrap:wrap;gap:6px}
.pj-tagx{display:inline-flex;margin:0}
.pj-x{border:0;background:none;color:inherit;cursor:pointer;padding:0 0 0 4px;font-size:14px;line-height:1}
@media(max-width:899px){
.pj-grid{grid-template-columns:minmax(0,1fr)}
.pj-aside{position:static}
.pj-head{flex-wrap:wrap}
}
@media(max-width:640px){
.pj-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.pj-filter{flex:none}
.pj-filter .select{font-size:16px;height:36px}
.pj-glance-row{grid-template-columns:minmax(0,1fr);gap:2px}
.pj-grid2,.pj-add-opts{grid-template-columns:minmax(0,1fr)}
.pj-table th:nth-child(n+2),.pj-table td:nth-child(n+2){width:auto;white-space:normal}
.pj-table td.pj-td-name{padding-bottom:4px}
.pj-htable td.pj-hc{display:inline-block!important;width:auto!important;margin-right:var(--s-3)}
.pj-cred{flex-direction:column}
}
.pj-board{margin:var(--s-3) 0 0}
.pj-mb{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-3);align-items:start}
.pj-mbc{background:var(--surface-2);border-radius:var(--r-lg);padding:var(--s-2);min-width:0}
.pj-mbh{display:flex;justify-content:space-between;gap:var(--s-2);margin:2px 4px var(--s-2);font-size:var(--fs-xs);font-weight:500;color:var(--text-2)}
.pj-mbi{display:flex;flex-direction:column;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:6px 10px;margin-bottom:6px;color:var(--text);text-decoration:none;font-size:var(--fs-sm);min-width:0}
.pj-mbi:hover{border-color:var(--border-strong)}
.pj-mbi.is-late{border-left:2px solid var(--danger)}
.pj-mbt{overflow-wrap:break-word}
.pj-mbm{display:block;padding:2px 4px;font-size:var(--fs-xs)}
@media(max-width:900px){.pj-mb{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.pj-mb{grid-template-columns:minmax(0,1fr)}}
/* ── clients.css ── */
body:has(#v-crm:not([hidden])) .viewhead,body:has(#v-accounts:not([hidden])) .viewhead,body:has(#v-pipeline:not([hidden])) .viewhead,body:has(#v-leads:not([hidden])) .viewhead{display:none}
.cl-page{display:flex;flex-direction:column;gap:var(--s-5);min-width:0}
.cl-page .page-head{margin-bottom:0}
.cl-sub{display:block;font-size:var(--fs-xs);line-height:16px;color:var(--text-3);min-width:0;overflow-wrap:anywhere}
.cl-sub a{color:var(--text-2);text-decoration:underline;text-underline-offset:2px}
.cl-next.is-late,.cl-sub.is-late{color:var(--danger)} 
.cl-n{font:500 var(--fs-xs)/1 var(--font);color:var(--text-3);margin-left:2px}
.cl-hint{font-size:var(--fs-sm);color:var(--text-2);background:var(--surface-2);border:1px dashed var(--border-strong);border-radius:var(--r-md);padding:var(--s-2) var(--s-3)}
.cl-hint a{color:var(--text);text-decoration:underline;text-underline-offset:2px}
.cl-err{color:var(--danger);background:var(--danger-soft);border-radius:var(--r-md);padding:var(--s-2) var(--s-3);font-size:var(--fs-sm)}
.cl-empty{color:var(--text-3);font-size:var(--fs-sm);padding:var(--s-2) 0;display:flex;gap:var(--s-2);align-items:center;flex-wrap:wrap}
.cl-empty--sm{font-size:var(--fs-xs);padding:var(--s-1) 0}
.cl-empty a{color:var(--text-2);text-decoration:underline}
.cl-none{color:var(--text-3)}
.cl-quiet{color:var(--warn)}
.cl-p{font-size:var(--fs-sm);color:var(--text-2);margin:var(--s-1) 0}
.cl-pre{white-space:pre-wrap;overflow-wrap:anywhere}
.cl-ul{margin:var(--s-1) 0 var(--s-2) var(--s-5);font-size:var(--fs-sm);color:var(--text-2)}
.cl-back{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-sm);color:var(--text-3);text-decoration:none;align-self:flex-start}
.cl-back:hover{color:var(--text)}
.icon.flip{transform:rotate(180deg)}
.cl-title-row{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}
.cl-locked{color:var(--warn)}
:is(.cl-page,.g-page) details>summary{list-style:none;cursor:pointer}:is(.cl-page,.g-page) details>summary::-webkit-details-marker{display:none} 
.cl-more>summary{padding:var(--s-2) var(--s-4);font-size:var(--fs-sm);color:var(--text-2);border-top:1px solid var(--border)}
.cl-more>summary:hover{color:var(--text);background:var(--surface-2)}
.cl-form{display:flex;flex-direction:column;gap:var(--s-3)}
.cl-form--tight{gap:var(--s-2)}
.cl-form-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3)}
.cl-form-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-3)}
.cl-form-actions{display:flex;justify-content:flex-end;gap:var(--s-2)}
.cl-form textarea,.cl-form .textarea{width:100%;min-height:72px}
.cl-check{display:flex;align-items:center;gap:var(--s-2);font-size:var(--fs-sm);color:var(--text-2)}
.cl-file{padding-top:6px}
.cl-archive{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap;font-size:var(--fs-sm);color:var(--text-2)}
.cl-drawer-back{display:none;position:fixed;inset:0;z-index:39;background:rgba(10,10,12,.32)}
.cl-drawer-back:has(+ .cl-drawer.is-open){display:block}
.cl-drawer .drawer-body{display:flex;flex-direction:column;gap:var(--s-4)}
.cl-drawer .drawer-head .btn,.cl-drawer .drawer-head a.btn{flex:none}
.cl-band .list{overflow:visible}
.cl-need{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:var(--s-3);min-height:48px;padding:var(--s-2) var(--s-4);border-top:1px solid var(--border)}
.cl-band .list>.cl-need:first-child{border-top:0}
.cl-need-main{min-width:0;display:flex;flex-direction:column;color:inherit;text-decoration:none}
.cl-need-main:hover .cl-need-name{text-decoration:underline;text-underline-offset:2px}
.cl-need-name{font:500 var(--fs-base)/20px var(--font)}
.cl-need-what{font-size:var(--fs-xs);line-height:16px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cl-bar{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap}
.cl-bar-sp{flex:1}
.cl-sort{display:flex;align-items:center;gap:var(--s-2);font-size:var(--fs-xs);color:var(--text-3)}
.cl-sort .select{height:30px;width:auto;font-size:var(--fs-sm)}
.cl-table th{position:static}
.cl-table td{vertical-align:top}
.cl-table tbody tr:hover{background:var(--surface-2)}
.cl-client{display:flex;flex-direction:column;color:inherit;text-decoration:none;min-width:0}
.cl-client:hover .cl-name{text-decoration:underline;text-underline-offset:2px}
.cl-name{font:500 var(--fs-base)/20px var(--font);color:var(--text)}
.cl-next{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--text)}
.cl-c-client{width:24%}.cl-c-next{width:34%}.cl-c-touch,.cl-c-health,.cl-c-stage{white-space:nowrap}.cl-c-mrr{white-space:nowrap;text-align:right}
.cl-health{display:inline-flex;align-items:center;gap:6px;color:var(--text-2)}
.cl-inline{display:inline-block;position:relative}
.cl-inline>summary{border-bottom:1px dashed var(--border-strong)}
.cl-add{color:var(--text-3)}
.cl-inline-form{position:absolute;right:0;top:calc(100% + 4px);z-index:20;display:flex;gap:6px;align-items:center;padding:var(--s-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--sh-2)}
.cl-inline-form .input{width:110px;height:30px}.cl-inline-form .select{width:80px;height:30px}
.cl-head .page-actions{align-items:center}
.cl-menu{position:relative}
.cl-pop-r{right:0;top:calc(100% + 4px)}
.cl-grid{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:var(--s-5);align-items:start}
.cl-col{display:flex;flex-direction:column;gap:var(--s-4);min-width:0}
.cl-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-2);min-width:0}
.cl-card-h{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);min-height:26px}
.cl-card-t{font:600 var(--fs-base)/20px var(--font)}
.cl-card-sub{font:500 var(--fs-xs)/16px var(--font);color:var(--text-3);margin-top:var(--s-2)}
.cl-card-foot{font-size:var(--fs-xs);color:var(--text-3);padding-top:var(--s-1)}
.cl-card-foot a{color:var(--text-2)}.cl-card-foot a:hover{color:var(--text)}
.cl-card .list{margin:0 calc(-1 * var(--s-4));border-radius:0;border-left:0;border-right:0}
.cl-mini .row{min-height:40px}
.cl-next-big{display:block;font:500 var(--fs-md)/22px var(--font);color:var(--text);text-decoration:none;overflow-wrap:anywhere}
a.cl-next-big:hover{text-decoration:underline;text-underline-offset:3px}
.cl-next-big.is-late{color:var(--danger)}
.cl-meet{display:flex;gap:var(--s-2);align-items:flex-start;font-size:var(--fs-sm);color:var(--text-2);padding-top:var(--s-2)}
.cl-person{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--s-3);align-items:center;padding:var(--s-1) 0}
.cl-person+.cl-person{border-top:1px solid var(--border);padding-top:var(--s-2)}
.cl-person .avatar{width:32px;height:32px;font-size:12px}
.cl-person-name{font:500 var(--fs-base)/20px var(--font);display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.cl-person-act{display:flex;gap:2px}
.cl-wa{font:600 10px/1 var(--font);letter-spacing:.02em;width:26px;padding:0}
.cl-dot-none{background:var(--border-strong)}
.cl-doc{display:grid;grid-template-columns:16px minmax(0,1fr) auto;gap:var(--s-2);align-items:center;padding:6px 0;color:var(--text-3)}
.cl-doc+.cl-doc{border-top:1px solid var(--border)}
.cl-doc-main{min-width:0}
.cl-doc-t{display:block;font-size:var(--fs-sm);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cl-doc-t a{color:inherit}.cl-doc-t a:hover{text-decoration:underline}
.cl-doc-more{position:relative}
.cl-doc-pop{position:absolute;right:0;top:calc(100% + 4px);z-index:20;width:260px;display:flex;flex-direction:column;gap:var(--s-1);padding:var(--s-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--sh-2)}
.cl-doc-pop .pop-item{color:var(--text)}
.cl-log textarea{width:100%;min-height:84px}
.cl-compose{display:flex;flex-direction:column;gap:var(--s-3)}
.cl-kinds{flex-wrap:wrap}
.cl-kinds label{position:relative;display:inline-flex}
.cl-kinds input{position:absolute;opacity:0;pointer-events:none}
.cl-kinds span{height:28px;padding:0 10px;border-radius:6px;display:inline-flex;align-items:center;font:500 var(--fs-sm)/1 var(--font);color:var(--text-2);cursor:pointer}
.cl-kinds input:checked+span{background:var(--surface);color:var(--text);box-shadow:var(--sh-1)}
.cl-kinds input:focus-visible+span{box-shadow:var(--focus)}
.cl-log-more>summary{font-size:var(--fs-xs);color:var(--text-3)}
.cl-log-more[open]>summary{margin-bottom:var(--s-2)}
.cl-log-more .field{margin-top:var(--s-2)}
.cl-log-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap}
.cl-evs{display:flex;flex-direction:column;margin:0 calc(-1 * var(--s-4))}
.cl-ev{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:var(--s-3);align-items:start;padding:var(--s-2) var(--s-4);border-top:1px solid var(--border);color:inherit;text-decoration:none}
a.cl-ev:hover{background:var(--surface-2)}
.cl-ev .icon{color:var(--text-3);margin-top:2px}
.cl-ev-k{font:500 11px/18px var(--font);color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cl-ev-k--talk{color:var(--info)}.cl-ev-k--feedback{color:var(--warn)}.cl-ev-k--docs{color:var(--ok)}
.cl-ev-main{min-width:0}
.cl-ev-t{display:block;font-size:var(--fs-sm);line-height:18px;color:var(--text);overflow-wrap:anywhere}
.cl-feed .seg{flex-wrap:wrap}
.cl-feed .cl-more>summary{border-top:1px solid var(--border)}
.cl-fold>summary.cl-card-h{min-height:26px}
.cl-research-run{display:flex;gap:var(--s-2);align-items:center;flex-wrap:wrap;padding-top:var(--s-2)}
.cl-edit-page{max-width:720px}
.pl-group{display:flex;flex-direction:column;gap:var(--s-2)}
.pl-group-h{display:flex;align-items:baseline;gap:var(--s-2);font:600 var(--fs-sm)/20px var(--font);color:var(--text)}
.pl-group.is-empty .pl-group-h{color:var(--text-3);font-weight:500}
.pl-group.is-empty{padding:var(--s-1) 0;border-bottom:1px dashed var(--border)}
.pl-prob{margin-left:auto}
#pl-board{display:flex;flex-direction:column;gap:var(--s-5)}
.pl-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto;gap:var(--s-4);align-items:center;padding:var(--s-3) var(--s-4);border-top:1px solid var(--border)}
.pl-list>.pl-row:first-child{border-top:0}
.pl-row:hover{background:var(--surface-2)}
.pl-row.is-test{opacity:.6}
.pl-main{display:flex;flex-direction:column;min-width:0;color:inherit;text-decoration:none}
.pl-main:hover .pl-title{text-decoration:underline;text-underline-offset:2px}
.pl-title{font:500 var(--fs-base)/20px var(--font);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pl-step{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.pl-next{font-size:var(--fs-sm);color:var(--text);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.pl-next.is-late{color:var(--danger)}
.pl-next.is-missing{color:var(--text-3)}
.pl-set{position:relative}
.pl-set-pop,.pl-step-pop{position:absolute;left:0;top:calc(100% + 4px);z-index:25;width:min(300px,80vw);padding:var(--s-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--sh-2)}
.pl-side{display:flex;align-items:center;gap:var(--s-3);justify-content:flex-end}
.pl-val{font-size:var(--fs-sm);white-space:nowrap}
.pl-tests{text-decoration:underline;text-underline-offset:2px}
.pl-closed>summary{padding:var(--s-2) 0}
.pl-closed .list{margin-top:var(--s-2)}
.pl-drawer{width:min(560px,100vw)}
.pl-drawer .drawer-actions{flex-direction:column;align-items:stretch;gap:var(--s-2)}
.pl-dhead{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;font-size:var(--fs-sm)}
.pl-stepper{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.pl-step-f,.pl-step-d{display:inline-block;position:relative}
@media(min-width:641px){.pl-step-d--end>.pl-step-pop{left:auto;right:0}} 
.pl-step-i{display:inline-flex;align-items:center;height:26px;padding:0 10px;border:1px solid var(--border);border-radius:var(--r-full);background:var(--surface);font:500 var(--fs-xs)/1 var(--font);color:var(--text-2);cursor:pointer;white-space:nowrap}
.pl-step-i:hover{border-color:var(--border-strong);color:var(--text)}
.pl-step-i.is-cur{background:var(--text);border-color:var(--text);color:var(--bg);cursor:default}
.pl-step-i.is-past{color:var(--text-3)}
.pl-step-i.pl-won{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 35%,var(--border))}
.pl-step-i.pl-lost{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 30%,var(--border))}
.pl-step-d[open]>.pl-step-i{border-color:var(--text)}
.pl-step-note{font-size:var(--fs-xs);color:var(--text-3);margin-left:4px}
.pl-sec{display:flex;flex-direction:column;gap:var(--s-2)}
.pl-sec-h{font:600 var(--fs-sm)/20px var(--font);display:flex;align-items:center;gap:var(--s-2)}
details.pl-sec>summary.pl-sec-h{color:var(--text-2)}
.pl-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s-2);align-items:center;padding:6px 0;border-top:1px solid var(--border)}
.pl-line:first-of-type{border-top:0}
.pl-line-main{display:flex;flex-direction:column;min-width:0;color:inherit;text-decoration:none}
.pl-line-t{font-size:var(--fs-sm);color:var(--text);overflow-wrap:anywhere}
.pl-line.is-done .pl-line-t{color:var(--text-3);text-decoration:line-through}
.pl-add{padding-top:var(--s-1)}
.pl-props{padding:var(--s-3);background:var(--surface-2);border-radius:var(--r-md)}
.pl-props .avatar{vertical-align:-5px}
.pl-web,.pl-open-client{display:flex;gap:var(--s-2);align-items:center;flex-wrap:wrap;font-size:var(--fs-sm);color:var(--text-2)}
.pl-hist{font-size:var(--fs-sm);padding:4px 0;border-top:1px solid var(--border)}
.q-page{max-width:1000px}
.q-moves{display:flex;gap:6px;flex-wrap:wrap}
.q-form{gap:var(--s-4)}
.q-lines{overflow-x:auto;margin:0 calc(-1 * var(--s-4));padding:0 var(--s-4)}
.q-table .mini{width:100%}
.q-tot{text-align:right;font-size:var(--fs-sm);color:var(--text-2)}
.q-tot b{color:var(--text)}
.g-page{max-width:1080px;margin:0 auto;padding:var(--s-4) var(--s-4) var(--s-12);display:flex;flex-direction:column;gap:var(--s-6)}
.g-top{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap}
.g-brand{display:inline-flex;align-items:center;gap:var(--s-2);font:600 var(--fs-md)/1 var(--font);color:var(--text);text-decoration:none}
.g-brand .mark{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;background:var(--accent);color:var(--accent-fg);font:700 14px/1 var(--font)}
.g-brand-sub{font:400 var(--fs-sm)/1 var(--font);color:var(--text-3)}
.g-who{display:flex;gap:var(--s-3);align-items:center;font-size:var(--fs-sm);color:var(--text-2)}
.g-who a{color:var(--text-3)}.g-who a:hover{color:var(--text)}
.g-flash{border-radius:var(--r-md);padding:var(--s-3) var(--s-4);font-size:var(--fs-sm)}
.g-flash--ok{background:var(--ok-soft);color:var(--ok)}.g-flash--err{background:var(--danger-soft);color:var(--danger)}
.g-head{display:flex;flex-direction:column;gap:var(--s-2)}
.g-h1{font:600 var(--fs-xl)/34px var(--font);letter-spacing:-.015em;overflow-wrap:anywhere}
.g-title-row{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap}
.g-sub{color:var(--text-2);font-size:var(--fs-base);line-height:22px;max-width:70ch}
.g-warn{color:var(--warn)}
.g-actions{display:flex;gap:var(--s-2);flex-wrap:wrap;align-items:center;margin-top:var(--s-2)}
.g-more{position:relative}
.g-more-pop{position:absolute;left:0;top:calc(100% + 4px);z-index:20;min-width:240px;display:flex;flex-direction:column;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--sh-2)}
.g-more-pop a{padding:8px;border-radius:6px;font-size:var(--fs-sm);color:var(--text);text-decoration:none}.g-more-pop a:hover{background:var(--surface-3)}
.g-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-3)}
.g-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-3) var(--s-4)}
.g-stat-n{font:600 24px/30px var(--font)}.g-stat-l{font-size:var(--fs-xs);color:var(--text-3)}
.g-stat--warn .g-stat-n{color:var(--warn)}.g-stat--ok .g-stat-n{color:var(--ok)}
.g-h2{font:600 var(--fs-md)/24px var(--font);display:flex;align-items:baseline;gap:var(--s-2)}
.g-h3{font:500 var(--fs-sm)/20px var(--font);color:var(--text-2);margin-top:var(--s-4)}
.g-n{font:500 var(--fs-sm)/1 var(--font);color:var(--text-3)}
.g-strip{display:flex;flex-direction:column;gap:var(--s-2)}
.g-list{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg)}
.g-list li{display:flex;gap:var(--s-2);align-items:baseline;flex-wrap:wrap;padding:var(--s-3) var(--s-4);border-top:1px solid var(--border);font-size:var(--fs-sm)}
.g-list li:first-child{border-top:0}
.g-list a{color:var(--text);text-decoration:none}.g-list a:hover{text-decoration:underline}
.g-meta{font-size:var(--fs-xs);color:var(--text-3)}
.g-done{color:var(--ok)}
.g-group{display:flex;flex-direction:column;gap:var(--s-3)}
.g-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--s-3)}
.g-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}
.g-card:hover{border-color:var(--border-strong)}
.g-card-main{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-2);padding:var(--s-4);color:inherit;text-decoration:none;flex:1}
.g-card-name{font:600 var(--fs-md)/22px var(--font);color:var(--text)}
.g-card-pitch{font-size:var(--fs-sm);line-height:20px;color:var(--text-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.g-card-counts{font-size:var(--fs-xs);color:var(--text-3);margin-top:auto}
.g-site{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-4);border-top:1px solid var(--border);font:500 var(--fs-sm)/1 var(--font);color:var(--ok);text-decoration:none;background:var(--ok-soft)}
.g-site:hover{color:var(--ok);filter:brightness(.98)}
.g-site.is-down{color:var(--warn);background:var(--warn-soft)}
.g-site-host{font-weight:400;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.g-back{font-size:var(--fs-sm);color:var(--text-3);text-decoration:none;align-self:flex-start}.g-back:hover{color:var(--text)}
.g-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s-5);align-items:start}
.g-grid>div{display:flex;flex-direction:column;gap:var(--s-5);min-width:0}
.g-sec{display:flex;flex-direction:column;gap:var(--s-2)}
.g-items{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg)}
.g-item{display:grid;grid-template-columns:18px minmax(0,1fr);gap:var(--s-3);padding:var(--s-3) var(--s-4);border-top:1px solid var(--border)}
.g-item:first-child{border-top:0}
.g-ic{font-size:12px;line-height:20px;text-align:center;color:var(--text-3)}
.g-ic--done{color:var(--ok)}.g-ic--doing{color:var(--warn)}
.g-item-t{font-size:var(--fs-sm);line-height:20px;color:var(--text);overflow-wrap:anywhere}
.g-item-a{font-size:var(--fs-sm);color:var(--text-2);margin-top:2px;overflow-wrap:anywhere}
.g-empty{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-6);color:var(--text-2);text-align:center}
.g-empty-s{font-size:var(--fs-sm);color:var(--text-3)}
.g-tell{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-4)}
.g-tell .g-list{margin-top:var(--s-2)}
.g-form{display:flex;flex-direction:column;gap:var(--s-2);align-items:flex-start}
.g-form textarea{width:100%}
@media(max-width:899px){
.cl-grid{grid-template-columns:minmax(0,1fr)}
.g-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:640px){
.cl-page{gap:var(--s-4)}
.cl-head .page-actions{width:100%}
.cl-head .page-actions>.btn,.cl-head .page-actions>.cl-menu{flex:1}
.cl-head .page-actions>.cl-menu>.btn{width:100%}
.cl-form-2,.cl-form-3{grid-template-columns:minmax(0,1fr)}
.cl-need{grid-template-columns:8px minmax(0,1fr);row-gap:var(--s-2)}
.cl-need>.btn{grid-column:2;justify-self:start}
.cl-need-what{white-space:normal}
.cl-table td{padding:2px 0}
.cl-table td.cl-c-client{padding-bottom:4px}
.cl-table td[data-l]::before{display:none}
.cl-table td.cl-c-next .cl-next{-webkit-line-clamp:2}
.cl-table tr{display:grid!important;grid-template-columns:minmax(0,1fr) auto;column-gap:var(--s-3)}
.cl-table td.cl-c-client,.cl-table td.cl-c-next{grid-column:1/-1}
.cl-table td.cl-c-stage{grid-column:1/-1}
.cl-table td.cl-c-mrr{text-align:left}
.cl-sort .select{max-width:160px}
.cl-ev{grid-template-columns:minmax(0,1fr) auto}
.cl-ev-k{grid-column:1/-1;line-height:14px}
.cl-doc-pop,.cl-inline-form{position:fixed;left:var(--s-4);right:var(--s-4);top:auto;bottom:calc(var(--bottom-h) + var(--s-4));width:auto;z-index:45}
.pl-row{grid-template-columns:minmax(0,1fr) auto;row-gap:var(--s-2)}
.pl-step{grid-column:1/-1;grid-row:2}
.pl-set-pop,.pl-step-pop{position:fixed;left:var(--s-4);right:var(--s-4);top:auto;bottom:calc(var(--s-6) + env(safe-area-inset-bottom));width:auto;z-index:45}
.g-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-2)}
.g-stat{padding:var(--s-2) var(--s-3)}.g-stat-n{font-size:20px;line-height:26px}
.g-h1{font-size:24px;line-height:30px}
.g-cards{grid-template-columns:minmax(0,1fr)}
}
.cl-more-link{display:block;padding:var(--s-2) var(--s-4);margin:0 calc(-1 * var(--s-4));border-top:1px solid var(--border);font-size:var(--fs-sm);color:var(--text-2);text-decoration:none}
.cl-more-link:hover{color:var(--text);background:var(--surface-2)}
.cl-person-main .cl-sub{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pl-row{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 140px}
.pl-step{flex-direction:row;align-items:center;flex-wrap:wrap;gap:var(--s-2)}
.pl-next-w{display:flex;flex-direction:column;min-width:0;max-width:100%}
.pl-add .btn{align-self:flex-end}
@media(max-width:640px){.pl-row{grid-template-columns:minmax(0,1fr) auto}}
.g-more-list>summary{margin-top:var(--s-2)}.g-more-list .g-items{margin-top:var(--s-2)}
.cl-log .cl-card-h,.cl-feed .cl-card-h{flex-wrap:wrap;row-gap:var(--s-2)}
.cl-evs>.cl-more-link{margin:0}
/* ── system.css ── */
.sys{min-width:0}
.sys [hidden]{display:none!important}
.sys-dim{color:var(--text-3);font-size:var(--fs-sm);line-height:20px}
.sys-note{margin:0 0 var(--s-4);padding:var(--s-3) var(--s-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);color:var(--text-2);font-size:var(--fs-sm)}
.sys-alert{margin:0 0 var(--s-4);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);background:var(--danger-soft);color:var(--danger);font-size:var(--fs-sm)}
.sys-ok{margin:0 0 var(--s-4);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);background:var(--ok-soft);color:var(--ok);font-size:var(--fs-sm)}
.sys-empty{padding:var(--s-5);margin:var(--s-3) 0}
.sys-empty p{margin:var(--s-2) 0 var(--s-3)}
.sys-foot{margin:var(--s-6) 0 0;color:var(--text-3);font-size:var(--fs-xs)}
.sys-row-actions{display:flex;gap:var(--s-2);flex-wrap:wrap;align-items:center;margin-top:var(--s-3)}
.sys-row-actions form{margin:0}
.sys-read{max-width:760px}
.sys code,.sys pre{font:400 12px/18px 'JetBrains Mono',ui-monospace,monospace}
.sys-dot{flex:none;width:8px;height:8px;border-radius:50%;display:inline-block;background:var(--text-3);margin-right:6px;vertical-align:middle}
.sys-dot.is-red{background:var(--danger)}.sys-dot.is-amber{background:var(--warn)}.sys-dot.is-ok{background:var(--ok)}.sys-dot.is-grey{background:var(--border-strong)}
.sys-fold{margin-top:var(--s-3)}
.sys-fold>summary{cursor:pointer;color:var(--text-2);font-size:var(--fs-sm);list-style:none;display:inline-flex;align-items:center;gap:6px;padding:var(--s-1) 0;min-height:32px}
.sys-fold>summary::-webkit-details-marker{display:none}
.sys-fold>summary::before{content:"";flex:none;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform var(--t-fast)}
.sys-fold[open]>summary::before{transform:rotate(45deg)}
.sys-filter{display:flex;align-items:center;gap:var(--s-2);margin:0 0 var(--s-4);max-width:420px;position:relative}
.sys-filter .icon{position:absolute;left:10px;color:var(--text-3)}.sys-filter .input{padding-left:32px;width:100%}
/* ── Status: the verdict and the incident list ── */
.sys-verdict{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-4) var(--s-5);margin:var(--s-4) 0;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface)}
.sys-verdict-dot{flex:none;width:12px;height:12px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 4px var(--ok-soft)}
.sys-verdict.is-warn .sys-verdict-dot{background:var(--warn);box-shadow:0 0 0 4px var(--warn-soft)}
.sys-verdict.is-danger .sys-verdict-dot{background:var(--danger);box-shadow:0 0 0 4px var(--danger-soft)}
.sys-verdict-text{font:600 var(--fs-lg)/28px var(--font);color:var(--text)}
.sys-verdict-sub{color:var(--text-3);font-size:var(--fs-xs)}
.sys-verdict.is-compact{padding:var(--s-3) var(--s-4)}.sys-verdict.is-compact .sys-verdict-text{font-size:var(--fs-md);line-height:22px}
.inc-list{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}
.inc{display:flex;gap:var(--s-3);align-items:flex-start;padding:var(--s-3) var(--s-4);border-top:1px solid var(--border)}
.inc:first-child{border-top:0}
.inc>.sys-dot{margin-top:7px}
.inc-main{flex:1;min-width:0}
.inc-title{font:500 var(--fs-base)/20px var(--font);color:var(--text);overflow-wrap:anywhere}
.inc-meta{margin-top:2px;color:var(--text-3);font-size:var(--fs-xs);line-height:18px}.inc-meta b{color:var(--text-2);font-weight:500}
.inc-last{margin-top:var(--s-1);font:400 12px/17px 'JetBrains Mono',ui-monospace,monospace;color:var(--text-2);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}
.inc-diag{margin-top:var(--s-1);color:var(--text-2);font-size:var(--fs-sm);line-height:19px}
.inc-fix{margin-top:var(--s-1);color:var(--ok);font-size:var(--fs-xs);line-height:18px}
.inc-known,.inc-ack{margin-top:2px;color:var(--text-3);font-size:var(--fs-xs)}
.inc-actions{display:flex;gap:var(--s-1);flex-wrap:wrap;justify-content:flex-end;flex:none}.inc-actions form{margin:0}
.inc--grey .inc-title{color:var(--text-2)}
/* ── Status › Servers (sv-) ── */
.sv-bar0{display:flex;gap:var(--s-2);flex-wrap:wrap;align-items:center;margin:0 0 var(--s-4)}
.sv-tile{padding:var(--s-2) var(--s-3);border:1px solid var(--border);border-radius:var(--r-md);min-width:96px;background:var(--surface)}.sv-tile b{font:600 var(--fs-lg)/26px var(--font);display:block}
.sv-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,520px),1fr));gap:var(--s-4)}
.sv-card{padding:var(--s-4);min-width:0}
.sv-head{display:flex;justify-content:space-between;gap:var(--s-3);align-items:flex-start}
.sv-name{font:600 var(--fs-md)/22px var(--font);display:flex;align-items:center;gap:var(--s-2)}.sv-dot{width:9px;height:9px;border-radius:50%;display:inline-block}
.sv-role{color:var(--text-3);font-size:var(--fs-sm);margin-top:2px}.sv-state{font-size:var(--fs-sm);font-weight:600;white-space:nowrap}
.sv-why{display:flex;flex-wrap:wrap;gap:6px;margin:var(--s-3) 0 0}.sv-why span{font-size:var(--fs-xs);padding:2px 8px;border-radius:var(--r-full);border:1px solid var(--border-strong);color:var(--text-2)}
.sv-grid,.sv-charts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-3);margin:var(--s-3) 0 var(--s-1)}
.sv-ml{display:flex;justify-content:space-between;font-size:var(--fs-sm);color:var(--text-2)}
.sv-bar{height:6px;border-radius:4px;background:var(--surface-3);overflow:hidden;margin:5px 0}.sv-bar i{display:block;height:100%}
.sv-sub{font-size:var(--fs-xs);color:var(--text-3)}
.sv-cl{display:flex;justify-content:space-between;font-size:11.5px;color:var(--text-3);margin-bottom:2px;gap:6px}
.sv-foot{display:flex;flex-wrap:wrap;gap:var(--s-3);font-size:var(--fs-xs);color:var(--text-3);margin-top:var(--s-3)}
.sv-bad{margin-top:var(--s-3);padding:var(--s-2) var(--s-3);border-radius:var(--r-md);background:var(--danger-soft);font-size:var(--fs-sm)}.sv-bad b{display:block;color:var(--danger);font-weight:600;margin-bottom:2px}
.sv-stopped .sys-fold{margin-top:var(--s-2)}
.sv-cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--s-3);margin-top:var(--s-2)}
.sv-kv{font-size:var(--fs-xs);color:var(--text-2);line-height:1.7;overflow-wrap:anywhere}
.sv-t{width:100%;border-collapse:collapse;font-size:var(--fs-xs)}.sv-t td{padding:2px 0;color:var(--text-2)}.sv-t td+td{text-align:right;color:var(--text-3);padding-left:8px;white-space:nowrap}
.sv-grp{margin:var(--s-6) 0 var(--s-2);font:500 var(--fs-xs)/16px var(--font);color:var(--text-3)}
.sys .lbl{font-size:var(--fs-xs);color:var(--text-3)} 
/* ── Status › Agents (rt-) ── */
.rt-sub{font-size:var(--fs-xs);color:var(--text-3);line-height:1.45}
.rt-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:8px;vertical-align:middle}
.rt-needs{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:var(--s-3)}
.rt-need{padding:var(--s-4);min-width:0}
.rt-need-head{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}.rt-need-head b{font-weight:600}
.rt-diag{margin:var(--s-2) 0 0;color:var(--text-2);font-size:var(--fs-sm)}.rt-fix{margin:var(--s-1) 0 0;color:var(--ok);font-size:var(--fs-xs)}
.rt-last{margin-top:var(--s-2);font:400 12px/17px 'JetBrains Mono',ui-monospace,monospace;color:var(--text-2);overflow-wrap:anywhere}
.rt-need-actions{display:flex;gap:var(--s-2);flex-wrap:wrap;align-items:flex-start;margin-top:var(--s-3)}.rt-need-actions .sys-fold{margin:0;flex-basis:100%}
.rt-log{margin:var(--s-2) 0 0;padding:var(--s-2) var(--s-3);background:var(--surface-2);border-radius:var(--r-sm);white-space:pre-wrap;overflow-wrap:anywhere;max-height:240px;overflow:auto}
.rt-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:var(--s-3)}
.rt-box{padding:var(--s-3) var(--s-4)}
.rt-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--s-2)}.rt-chips span{font-size:var(--fs-xs);padding:2px 9px;border-radius:var(--r-full);border:1px solid var(--border);color:var(--text-2)}
.rt-h3{margin:var(--s-5) 0 var(--s-2);font:500 var(--fs-sm)/18px var(--font);color:var(--text-2)}
.rt-strip-wrap{overflow-x:auto;max-width:100%}
.rt-strip{border-collapse:collapse;font-size:var(--fs-xs)}
.rt-strip th{font-weight:500;color:var(--text-3);padding:2px 6px;text-align:center;white-space:nowrap}.rt-strip th span{display:block;font-weight:400}
.rt-strip tbody th{text-align:left;color:var(--text-2);padding-right:var(--s-3)}
.rt-strip td{padding:3px 6px;text-align:center}
.rt-cell{display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--surface-3);vertical-align:middle}
.rt-cell.is-none{background:transparent;border:1px dashed var(--border)}
.rt-cell.is-published{background:var(--ok)}.rt-cell.is-refused,.rt-cell.is-error{background:var(--danger)}.rt-cell.is-dropped{background:var(--warn)}.rt-cell.is-skipped{background:var(--border-strong)}
.rt-legend{display:flex;flex-wrap:wrap;gap:var(--s-3);margin-top:var(--s-2);font-size:var(--fs-xs);color:var(--text-3)}.rt-legend i{margin-right:4px}
.rt-days{margin-top:var(--s-3)}
.rt-day{border-top:1px solid var(--border);padding:var(--s-1) 0}
.rt-day>summary span{color:var(--text-3)}
.rt-c-published{color:var(--ok)}.rt-c-refused,.rt-c-error{color:var(--danger)}.rt-c-dropped{color:var(--warn)}
.rt-t{width:100%;margin-top:var(--s-2);font-size:var(--fs-sm)}
.rt-t td{vertical-align:top}
.rt-why{color:var(--text-3);font-size:var(--fs-xs);max-width:420px;overflow-wrap:anywhere}
.rt-fam{padding:var(--s-2) var(--s-4);margin-top:var(--s-3)}
.rt-fam>summary{display:flex;gap:var(--s-3);flex-wrap:wrap;align-items:baseline;width:100%;color:var(--text)}
.rt-fam.is-dim{opacity:.8}
.rt-pend{font-size:var(--fs-sm);margin-top:6px}
.rt-reg{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) 130px auto;gap:var(--s-2);margin-top:var(--s-3)}
/* ── Switches (sw-) ── */
.sw-blurb{margin:0 0 var(--s-3)}
.sw-list{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface)}
.sw-row{display:flex;align-items:center;gap:var(--s-4);padding:var(--s-3) var(--s-4);border-top:1px solid var(--border)}.sw-row:first-child{border-top:0}
.sw-text{flex:1;min-width:0}.sw-label{font:500 var(--fs-base)/20px var(--font);overflow-wrap:anywhere}.sw-sub{color:var(--text-3);font-size:var(--fs-xs);line-height:17px;margin-top:2px}
.sw-row.is-wrong .sw-label{color:var(--danger)}
.sw-list.is-calm .sw-label{color:var(--text-2)}
.sw-form{margin:0;flex:none}
.sw-toggle{display:inline-flex;align-items:center;gap:var(--s-2);background:none;border:0;padding:4px 0;cursor:pointer;color:var(--text-2);font:500 var(--fs-sm)/18px var(--font);flex:none;min-height:36px}
.sw-toggle.is-readonly{cursor:default;opacity:.85}
.sw-track{position:relative;width:36px;height:20px;border-radius:var(--r-full);background:var(--surface-3);border:1px solid var(--border-strong);transition:background var(--t-fast)}
.sw-knob{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--text-3);transition:transform var(--t-fast),background var(--t-fast)}
.sw-toggle.is-on .sw-track{background:var(--ok);border-color:var(--ok)}.sw-toggle.is-on .sw-knob{transform:translateX(16px);background:#fff}
.sw-row.is-wrong .sw-toggle.is-off .sw-track{border-color:var(--danger)}
.sw-state{max-width:220px;text-align:left}
.sw-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--r-sm)}
.sw-log{list-style:none;margin:0;padding:0;font-size:var(--fs-sm);color:var(--text-2)}.sw-log li{padding:6px 0;border-top:1px solid var(--border)}.sw-log li:first-child{border-top:0}
/* ── Access (acc-) ── */
.acc-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:var(--s-3);margin-top:var(--s-4)}
.acc-person{padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-3);min-width:0}
.acc-person-head{display:flex;gap:var(--s-3);align-items:center}.acc-name{font:600 var(--fs-md)/22px var(--font)}
.acc-facts{list-style:none;margin:0;padding:0;font-size:var(--fs-sm);color:var(--text-2);display:flex;flex-direction:column;gap:4px}
.acc-actions{display:flex;gap:var(--s-2);flex-wrap:wrap;margin-top:auto}
.acc-yes{color:var(--ok);font-weight:600}.acc-no{color:var(--text-3)}.acc-warn{color:var(--warn)}
.acc-h3{margin:var(--s-4) 0 var(--s-2);font:600 var(--fs-sm)/18px var(--font);color:var(--text)}
.acc-rights{list-style:none;margin:0;padding:0;font-size:var(--fs-sm)}.acc-rights li{display:flex;gap:var(--s-2);padding:5px 0;border-top:1px solid var(--border)}.acc-rights li>span:first-child{flex:none;width:14px}
.acc-sub{margin-top:var(--s-6)}
.acc-extra,.acc-gaps{margin:var(--s-2) 0 0;padding-left:18px;font-size:var(--fs-sm);line-height:1.7}
.acc-scroll{overflow-x:auto;max-width:100%}
.acc-matrix{font-size:var(--fs-sm)}.acc-c{text-align:center;white-space:nowrap}.acc-where{font-size:var(--fs-xs)}
.acc-clients .acc-projs{font-size:var(--fs-xs)}
.acc-row-actions{white-space:nowrap;text-align:right}.acc-row-actions .btn{margin-left:4px}
.acc-accounts{list-style:none;margin:0;padding:0}.acc-accounts li{display:flex;justify-content:space-between;gap:var(--s-3);align-items:center;padding:var(--s-2) 0;border-top:1px solid var(--border)}
.acc-open{display:flex;flex-direction:column;gap:var(--s-2)}.acc-open .btn{align-self:flex-start}
.how-chain,.how-list{margin:var(--s-2) 0;padding-left:20px;line-height:1.8}
/* ── Your Claude, Activity (cl-) ── */
.cl-status{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap;padding:var(--s-4) var(--s-5);margin:var(--s-4) 0}
.cl-status-main{display:flex;gap:var(--s-3);align-items:center}.cl-status-t{font:600 var(--fs-md)/22px var(--font)}
.cl-copy-big{min-height:40px}
.cl-key{padding:var(--s-4);margin-bottom:var(--s-4);border-color:var(--accent)}
.cl-tabs{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);margin-bottom:var(--s-3)}
.cl-tabs button{border:0;background:none;padding:6px 14px;border-radius:var(--r-sm);color:var(--text-2);font:500 var(--fs-sm)/20px var(--font);cursor:pointer;min-height:32px}
.cl-tabs button[aria-selected="true"]{background:var(--surface);color:var(--text);box-shadow:var(--sh-1)}
.cl-pane{max-width:760px}
.cl-steps{margin:0 0 var(--s-3);padding-left:20px;line-height:1.75}
.cl-field{display:flex;align-items:center;gap:var(--s-2);margin:var(--s-2) 0;min-width:0}
.cl-field-l{flex:none;color:var(--text-3);font-size:var(--fs-xs);width:90px}
.cl-code{flex:1;min-width:0;padding:6px 10px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);overflow-x:auto;white-space:nowrap}
.cl-calls{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface)}
.cl-call{padding:var(--s-2) var(--s-4);border-top:1px solid var(--border)}.cl-call:first-child{border-top:0}
.cl-call-line{display:flex;gap:var(--s-2);align-items:baseline;flex-wrap:wrap;font-size:var(--fs-sm)}
.cl-when{flex:none;width:84px;color:var(--text-3);font-size:var(--fs-xs)}.cl-who{flex:none}.cl-words{flex:1;min-width:0;overflow-wrap:anywhere}
.cl-call.is-secret{background:var(--warn-soft)}
.cl-raw>summary{cursor:pointer;color:var(--text-3);font-size:var(--fs-xs);margin-left:92px}
.cl-raw-body{margin:var(--s-2) 0 0 92px;font-size:var(--fs-xs)}.cl-raw-body pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface-2);padding:var(--s-2);border-radius:var(--r-sm);margin:4px 0}
.cl-filters{display:flex;gap:var(--s-3);flex-wrap:wrap;align-items:flex-end;margin-bottom:var(--s-3)}
.cl-sel{display:flex;flex-direction:column;gap:2px}
.cl-pager{display:flex;gap:var(--s-3);align-items:center;justify-content:center;margin-top:var(--s-4)}
/* ── Inventory (inv-) ── */
.inv-sub0{margin:0 0 var(--s-4)}
.inv .stats{margin-bottom:var(--s-4)}
.inv #techtabs{margin-bottom:var(--s-4)}
.inv-seg{margin-bottom:var(--s-3);flex-wrap:wrap}
.inv-seg button{border:0;background:none;padding:6px 12px;font:500 var(--fs-sm)/18px var(--font);color:var(--text-2);cursor:pointer;border-radius:var(--r-sm)}
.inv-seg button[aria-current="true"]{background:var(--surface);color:var(--text);box-shadow:var(--sh-1)}
.inv-table{font-size:var(--fs-sm)}
.inv-name{border:0;background:none;padding:0;font:500 var(--fs-base)/20px var(--font);color:var(--text);cursor:pointer;text-align:left}.inv-name:hover{text-decoration:underline}
.inv-sub{font-size:var(--fs-xs)}
.inv-mono{font:400 12px/18px 'JetBrains Mono',ui-monospace,monospace;white-space:nowrap;color:var(--text-2)}
.inv-facts,.ml-facts{display:grid;grid-template-columns:110px minmax(0,1fr);gap:6px var(--s-3);margin:0;font-size:var(--fs-sm)}
.inv-facts dt,.ml-facts dt{color:var(--text-3)}.inv-facts dd,.ml-facts dd{margin:0;overflow-wrap:anywhere}
.inv-acts{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface)}
.inv-act{display:flex;gap:var(--s-3);align-items:flex-start;padding:var(--s-3) var(--s-4);border-top:1px solid var(--border)}.inv-act:first-child{border-top:0}
.inv-act-t{flex:1;min-width:0;font-size:var(--fs-sm)}.inv-act.is-done .inv-act-t{color:var(--text-3)}.inv-act form{margin:0}
.inv-dups{margin:0;padding-left:18px;font-size:var(--fs-sm);line-height:1.8}
/* ── Your mail (ml-) ── */
.ml-group{margin-top:var(--s-5)}
.ml-gh{display:flex;align-items:center;gap:var(--s-2);margin:0 0 var(--s-2);font:600 var(--fs-sm)/18px var(--font);color:var(--text-2)}
.ml-list{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}
.ml-list.is-dim{opacity:.75}
.ml-row{border-top:1px solid var(--border)}.ml-row:first-child{border-top:0}
.ml-open{display:flex;align-items:center;gap:var(--s-3);width:100%;padding:var(--s-3) var(--s-4);border:0;background:none;text-align:left;cursor:pointer;color:inherit;min-height:52px}
.ml-open:hover{background:var(--surface-2)}
.ml-ico{flex:none;color:var(--text-3);display:inline-flex}
.ml-main{flex:1;min-width:0;display:flex;flex-direction:column}
.ml-t{font:500 var(--fs-base)/20px var(--font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ml-m{color:var(--text-3);font-size:var(--fs-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ml-row.is-urgent .ml-ico{color:var(--danger)}
.ml-kind{display:flex;gap:var(--s-2);align-items:center;color:var(--text-2);font-size:var(--fs-sm)}
.ml-title{margin:var(--s-3) 0 var(--s-2);font:600 var(--fs-md)/24px var(--font)}
.ml-acts{display:flex;gap:var(--s-2);flex-wrap:wrap;margin:var(--s-4) 0 0}
.ml-tell{display:flex;flex-direction:column;gap:var(--s-2);margin-top:var(--s-4)}.ml-tell .btn{align-self:flex-start}.ml-tell .textarea{font-size:16px}
.ml-status{display:flex;gap:var(--s-5);flex-wrap:wrap;padding:var(--s-4);margin:var(--s-3) 0;font-size:var(--fs-sm)}.ml-status>div{display:flex;flex-direction:column}
.ml-notice{padding:var(--s-4);margin-bottom:var(--s-4);white-space:pre-wrap;font-size:var(--fs-sm)}
.ml-cal{display:flex;gap:var(--s-4);align-items:center;justify-content:space-between;flex-wrap:wrap;padding:var(--s-4)}
.ml-rules{list-style:none;margin:var(--s-2) 0 0;padding:0}.ml-rules li{display:flex;gap:var(--s-3);align-items:center;padding:var(--s-2) 0;border-top:1px solid var(--border);font-size:var(--fs-sm)}.ml-rules li>span:nth-child(2){flex:1}
.ml-addrule{display:flex;gap:var(--s-2);margin-top:var(--s-2)}.ml-addrule .input{flex:1;min-width:0}
.ml-people{list-style:none;margin:var(--s-2) 0 0;padding:0;font-size:var(--fs-sm)}.ml-people li{padding:6px 0}
.ml-onboard{max-width:520px;margin:12vh auto 0;padding:0 var(--s-4);text-align:center}
.ml-onboard-mark{display:inline-flex;width:48px;height:48px;align-items:center;justify-content:center;border-radius:var(--r-lg);background:var(--accent-soft);color:var(--accent-text);margin-bottom:var(--s-4)}
.ml-onboard-mark .icon{width:24px;height:24px}
.ml-promises{list-style:none;margin:var(--s-5) 0;padding:0;text-align:left;display:flex;flex-direction:column;gap:var(--s-3)}
.ml-promises li{display:flex;gap:var(--s-3);align-items:flex-start}.ml-promises .icon{flex:none;margin-top:3px;color:var(--ok)}
.ml-promises b{display:block;font-weight:600}.ml-promises span{color:var(--text-3);font-size:var(--fs-sm)}
.ml-onboard-btn{min-height:44px;padding:0 var(--s-6);font-size:var(--fs-md)}
@media (max-width:760px){
.sv-grid,.sv-charts{grid-template-columns:1fr}
.inc{flex-wrap:wrap}.inc-actions{width:100%;justify-content:flex-start;padding-left:14px}
.rt-reg{grid-template-columns:1fr}
.sw-row{gap:var(--s-3)}.sw-state{max-width:96px}
.cl-when{width:auto}.cl-raw>summary,.cl-raw-body{margin-left:0}
.cl-field{flex-wrap:wrap}.cl-field-l{width:100%}
.acc-row-actions{text-align:left}.acc-row-actions .btn{margin:0 4px 0 0}
.sys-verdict{padding:var(--s-3) var(--s-4)}
.inv-facts,.ml-facts{grid-template-columns:1fr}.inv-facts dt,.ml-facts dt{margin-top:var(--s-2)}
}
.sv-calm{margin-top:var(--s-2)}
.acc-scroll .table th{top:0}
/* ── steer.css ── */
.st-dim{color:var(--text-3)}
.st-small{font-size:var(--fs-xs);line-height:16px}
.st-pad{padding:var(--s-3) 0}
.st-note{display:flex;gap:var(--s-3);align-items:flex-start;padding:var(--s-4);margin-top:var(--s-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-2);color:var(--text-2);font-size:var(--fs-sm)}
.st-note .icon{flex:none;margin-top:2px;color:var(--warn)}
.st-note code{font:500 12px 'JetBrains Mono',ui-monospace,monospace}
.st-obj,.st-init,.st-worker{padding:var(--s-4) var(--s-5);margin-top:var(--s-4);min-width:0}
.st-obj-head{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;min-width:0}
.st-obj-head .sp{flex:1}
.st-obj-head>.icon{color:var(--text-3)}
.st-id{font:500 12px 'JetBrains Mono',ui-monospace,monospace;color:var(--text-3)}
.st-obj-title{margin:0;font:600 var(--fs-md)/24px var(--font);color:var(--text);min-width:0;overflow-wrap:anywhere}
.st-owner{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--text-2)}
.st-coowners{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
.st-result{margin:var(--s-2) 0 0;color:var(--text-2);font-size:var(--fs-base);line-height:20px;max-width:72ch}
.st-init .st-result{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden} 
.st-metric{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;margin-top:var(--s-3);font-size:var(--fs-sm);color:var(--text)}
.st-meter{width:120px}
.st-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-4);margin-top:var(--s-4)}
.st-h3{display:flex;align-items:baseline;gap:var(--s-2);margin:var(--s-2) 0;font:500 var(--fs-sm)/18px var(--font);color:var(--text-2)}
.st-inline{display:flex;gap:var(--s-2);margin-top:var(--s-2)}
.st-inline .select{flex:1;min-width:0}
.st-add{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;gap:var(--s-2);margin-top:var(--s-4)}
.st-empty{padding:var(--s-6);margin-top:var(--s-4)}
.st-empty-title{font:600 var(--fs-md)/24px var(--font)}
.st-empty p{margin:var(--s-2) 0 0;color:var(--text-2);max-width:64ch}
.st-fold{margin-top:var(--s-3)}
.st-fold>summary{cursor:pointer;color:var(--text-2);font-size:var(--fs-sm);list-style:none;display:inline-flex;align-items:center;gap:6px}
.st-fold>summary::-webkit-details-marker{display:none}
.st-fold>summary::before{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform var(--t-fast)}
.st-fold[open]>summary::before{transform:rotate(45deg)}
.st-done{margin-top:var(--s-6)}
.st-form{display:flex;flex-direction:column;gap:var(--s-3);margin-top:var(--s-3)}
.st-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3)}
.st-actions{display:flex;gap:var(--s-2);flex-wrap:wrap;margin-top:var(--s-3)}
.st-actions form{margin:0}
.st-log{margin:var(--s-3) 0 0;padding:var(--s-2) var(--s-3);background:var(--surface-2);border-radius:var(--r-sm);font:400 12px/16px 'JetBrains Mono',ui-monospace,monospace;color:var(--text-3);white-space:pre-wrap;overflow-wrap:anywhere}
.st-bar{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap;margin-bottom:var(--s-3);font-size:var(--fs-sm)}
.st-more{padding:var(--s-2) 0;font-size:var(--fs-sm)}
.st-progress{display:flex;align-items:center;gap:var(--s-2);margin-top:var(--s-3)}
.st-progress progress{flex:1;min-width:80px;max-width:320px}
.st-progress-n{font-size:var(--fs-sm);color:var(--text-2);white-space:nowrap}
.row-side .st-progress{margin:0}
.row-side .st-progress progress{width:90px;flex:none}
.st-grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--s-4);align-items:start}
.st-grid-cards>.card{margin-top:0}
.st-ips{list-style:none;margin:var(--s-2) 0 0;padding:0;display:flex;flex-direction:column}
.st-ip{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px var(--s-2);padding:var(--s-2) 0;border-top:1px solid var(--border);font-size:var(--fs-sm)}
.st-ip:first-child{border-top:0}
.st-ip a{color:var(--text);text-decoration:none;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.st-ip a:hover{text-decoration:underline}
.st-ev{grid-column:1/-1;color:var(--text-3);font-size:var(--fs-xs);line-height:16px;overflow-wrap:anywhere}
.st-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--s-3)}
.st-chips .chip{text-decoration:none}
.st-chips--tight{margin-top:0}
.st-fams{margin-top:var(--s-4)}
.st-fam-name{font-weight:600}
.st-sites{display:flex;flex-wrap:wrap;gap:6px}
.st-site{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 8px;border:1px solid var(--border);border-radius:var(--r-full);font-size:var(--fs-xs);color:var(--text-2);text-decoration:none;background:var(--surface)}
.st-site:hover{border-color:var(--border-strong);color:var(--text)}
.st-site .chip{height:16px;font-size:10px;padding:0 5px}
.st-fam-table td{vertical-align:top}
.st-fam-table{overflow:clip}
.st-strip{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2) var(--s-3);font-size:var(--fs-sm);color:var(--text-2)}
.st-strip a{color:var(--text)}
@media (max-width:760px){
.st-cols,.st-grid{grid-template-columns:minmax(0,1fr)}
.st-add{grid-template-columns:minmax(0,1fr)}
.st-obj,.st-init,.st-worker{padding:var(--s-4)}
.st-grid-cards{grid-template-columns:minmax(0,1fr)}
.st-obj-head .sp{display:none}
.st-meter{width:90px}
.input,.select,.textarea{font-size:16px}
}
/* ── assistant.css ── */
.tka-top{display:none;align-items:center;gap:6px;height:32px;padding:0 12px;margin-left:8px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text);font:500 var(--fs-sm)/1 var(--font);cursor:pointer;flex:none;transition:background var(--t-fast),border-color var(--t-fast)}
.tka-top:hover{background:var(--surface-2);border-color:var(--border-strong)}
.tka-top svg{width:16px;height:16px;color:var(--accent)}
@media(min-width:900px){.tka-top{display:inline-flex}}
html.tka-open .tka-top{background:var(--surface-3)}
.tka{position:fixed;top:0;right:0;bottom:0;z-index:62;width:420px;max-width:100vw;display:flex;flex-direction:column;background:var(--surface);color:var(--text);border-left:1px solid var(--border);box-shadow:var(--sh-3);font:400 var(--fs-base)/20px var(--font);transform:translateX(0);transition:transform var(--t-panel)}
.tka[hidden]{display:none}
body:has(.viewas) .tka{top:32px} 
.tka *{box-sizing:border-box}
.tka-h{display:flex;align-items:center;gap:8px;height:52px;padding:0 8px 0 16px;border-bottom:1px solid var(--border);flex:none;min-width:0}
.tka-title{display:inline-flex;align-items:center;gap:6px;font:600 var(--fs-base)/20px var(--font);white-space:nowrap}
.tka-title svg{width:16px;height:16px;color:var(--accent)}
.tka--sales .tka-title svg{color:var(--sales)}
.tka-mode{display:inline-flex;align-items:center;gap:4px;height:24px;max-width:170px;padding:0 8px;border:1px solid var(--border);border-radius:var(--r-full);background:var(--surface-2);color:var(--text-2);font:500 var(--fs-xs)/1 var(--font);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tka-mode[disabled]{cursor:default}
.tka-mode:not([disabled]):hover{border-color:var(--border-strong)}
.tka--sales .tka-mode{background:var(--sales-soft);color:var(--sales);border-color:color-mix(in srgb,var(--sales) 35%,var(--border))}
.tka-lock{display:inline-flex;align-items:center;gap:4px;color:var(--sales);font:500 var(--fs-xs)/1 var(--font);white-space:nowrap}
.tka-sp{flex:1;min-width:0}
.tka-ib{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;min-width:32px;padding:0 8px;border:0;border-radius:var(--r-md);background:transparent;color:var(--text-2);font:500 var(--fs-sm)/1 var(--font);cursor:pointer;flex:none}
.tka-ib:hover{background:var(--surface-2);color:var(--text)}
.tka-ib svg{width:16px;height:16px}
.tka-ib:focus-visible,.tka-mode:focus-visible,.tka-send:focus-visible,.tka-chip:focus-visible{outline:0;box-shadow:var(--focus)}
.tka-dry{flex:none;padding:6px 16px;background:var(--warn-soft);color:var(--warn);font:500 var(--fs-xs)/16px var(--font);border-bottom:1px solid var(--border)}
.tka-log{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:16px;display:flex;flex-direction:column;gap:14px}
.tka-hello{color:var(--text-2);font-size:var(--fs-sm);line-height:18px}
.tka-hello b{display:block;color:var(--text);font:600 var(--fs-md)/24px var(--font);margin-bottom:2px}
.tka-chips{display:flex;flex-wrap:wrap;gap:6px}
.tka-chip{display:inline-flex;align-items:center;min-height:28px;max-width:100%;padding:4px 10px;border:1px solid var(--border);border-radius:var(--r-full);background:var(--surface);color:var(--text-2);font:500 var(--fs-xs)/16px var(--font);text-align:left;cursor:pointer;overflow-wrap:anywhere}
.tka-chip:hover{border-color:var(--border-strong);color:var(--text);background:var(--surface-2)}
.tka-u{align-self:flex-end;max-width:88%;padding:8px 12px;border-radius:12px 12px 4px 12px;background:var(--surface-3);color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere}
.tka-a{align-self:stretch;max-width:100%;color:var(--text);overflow-wrap:anywhere}
.tka-a p{margin:0 0 8px}.tka-a p:last-child{margin-bottom:0}
.tka-a ul,.tka-a ol{margin:0 0 8px;padding-left:20px}.tka-a li{margin:2px 0}
.tka-a code{font:500 12.5px/1 var(--mono);padding:1px 5px;border-radius:4px;background:var(--surface-3)}
.tka-a pre{margin:0 0 8px;padding:10px 12px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border);overflow-x:auto;font:400 12.5px/18px var(--mono);white-space:pre}
.tka-a pre code{padding:0;background:none}
.tka-a a{color:var(--accent-text);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent-text) 35%,transparent);text-underline-offset:2px}
.tka-a a:hover{text-decoration-color:currentColor}
.tka-a .md-h{font-weight:600}
.tka-err{color:var(--text-2)}
.tka-err::before{content:"";display:inline-block;width:6px;height:6px;margin-right:8px;border-radius:50%;background:var(--danger);vertical-align:middle}
.tka-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.tka-cards{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.tka-card{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:40px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2)}
.tka-card-i{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font:600 12px/1 var(--font)}
.tka-card--ok .tka-card-i{background:var(--ok-soft);color:var(--ok)}
.tka-card--no .tka-card-i{background:var(--danger-soft);color:var(--danger)}
.tka-card--wait .tka-card-i,.tka-card--dry .tka-card-i{background:var(--warn-soft);color:var(--warn)}
.tka-card-t{min-width:0}
.tka-card-t b{display:block;font:500 var(--fs-sm)/18px var(--font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tka-card-t span{display:block;color:var(--text-3);font-size:var(--fs-xs);line-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tka-card a{font:500 var(--fs-xs)/1 var(--font);color:var(--text-2);text-decoration:none;padding:6px 8px;border-radius:var(--r-sm);white-space:nowrap}
.tka-card a:hover{background:var(--surface-3);color:var(--text)}
.tka-prog{display:flex;align-items:center;gap:8px;color:var(--text-3);font-size:var(--fs-sm)}
.tka-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:tka-pulse 1.2s ease-in-out infinite;flex:none}
.tka--sales .tka-dot{background:var(--sales)}
.tka-prog .tka-sec{font:500 12px/1 var(--mono);color:var(--text-3)}
@keyframes tka-pulse{0%,100%{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}
.tka-f{flex:none;border-top:1px solid var(--border);padding:10px 12px calc(12px + env(safe-area-inset-bottom));background:var(--surface)}
.tka-ctx{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.tka-ctx:empty{display:none}
.tka-tag{display:inline-flex;align-items:center;gap:4px;max-width:100%;height:24px;padding:0 4px 0 8px;border-radius:var(--r-sm);background:var(--surface-3);color:var(--text-2);font:500 var(--fs-xs)/24px var(--font)}
.tka-tag>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.tka-tag button{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:0;border-radius:4px;background:transparent;color:var(--text-3);cursor:pointer;font-size:12px;flex:none}
.tka-tag button:hover{background:var(--surface-2);color:var(--text)}
.tka-tag--hint{background:var(--accent-soft);color:var(--accent-text)}
.tka--sales .tka-tag--hint{background:var(--sales-soft);color:var(--sales)}
.tka-box{display:flex;align-items:flex-end;gap:6px;padding:6px;border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--surface)}
.tka-box:focus-within{border-color:var(--accent);box-shadow:var(--focus)}
.tka--sales .tka-box:focus-within{border-color:var(--sales);box-shadow:0 0 0 3px color-mix(in srgb,var(--sales) 30%,transparent)}
.tka .tka-in,.tka .tka-in:focus{flex:1;width:auto;min-width:0;min-height:32px;max-height:180px;resize:none;border:0;border-radius:0;outline:0;padding:6px 4px;background:transparent;color:var(--text);font:400 var(--fs-base)/20px var(--font);box-shadow:none}
.tka-in::placeholder{color:var(--text-3)}
.tka-send{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;min-width:32px;padding:0 10px;border:0;border-radius:var(--r-md);background:var(--accent);color:var(--accent-fg);font:500 var(--fs-sm)/1 var(--font);cursor:pointer;flex:none}
.tka-send svg{width:16px;height:16px}
.tka-send[disabled]{opacity:.45;cursor:default}
.tka--sales .tka-send{background:var(--sales);color:#fff}
.tka-send.is-stop{background:var(--surface-3);color:var(--text)}
.tka-meta{display:flex;justify-content:space-between;gap:8px;margin-top:6px;color:var(--text-3);font-size:11.5px;line-height:14px}
.tka-meta .tka-over{color:var(--danger)}
.tka-file{display:none}
.tka-form{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2)}
.tka-form label{display:flex;flex-direction:column;gap:4px;font:500 var(--fs-xs)/16px var(--font);color:var(--text-2)}
.tka-form input{height:34px;padding:0 10px;border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--text);font:400 var(--fs-base)/20px var(--font)}
.tka-form input:focus{outline:0;border-color:var(--accent);box-shadow:var(--focus)}
.tka-form .tka-row{margin-top:2px}
.tka-about{margin-left:auto;margin-right:8px}
.tkp-back{position:fixed;inset:0;z-index:64;background:rgba(10,10,12,.4)}
.tkp-back[hidden],.tkp[hidden]{display:none}
.tkp{position:fixed;z-index:64;top:12vh;left:50%;transform:translateX(-50%);width:min(640px,calc(100vw - 32px));max-height:min(560px,76vh);display:flex;flex-direction:column;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-3);overflow:hidden;font:400 var(--fs-base)/20px var(--font)}
.tkp *{box-sizing:border-box}
.tkp-in{display:flex;align-items:center;gap:10px;height:52px;padding:0 12px 0 16px;border-bottom:1px solid var(--border);flex:none}
.tkp-in svg{width:18px;height:18px;color:var(--text-3);flex:none}
.tkp .tkp-input,.tkp .tkp-input:focus{flex:1;width:auto;min-width:0;height:48px;border:0;border-radius:0;outline:0;padding:0;background:transparent;color:var(--text);font:400 var(--fs-md)/24px var(--font);box-shadow:none}
.tkp-input::placeholder{color:var(--text-3)}
.tkp-input::-webkit-search-cancel-button{display:none}
.tkp-esc{flex:none;height:24px;padding:0 8px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);color:var(--text-3);font:500 11px/22px var(--font);cursor:pointer}
.tkp-list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:6px}
.tkp-g{padding:10px 10px 4px;color:var(--text-3);font:500 var(--fs-xs)/16px var(--font)}
.tkp-row{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:40px;padding:6px 10px;border-radius:var(--r-md);color:var(--text);text-decoration:none;cursor:pointer}
.tkp-row[aria-selected=true]{background:var(--surface-3)}
.tkp-row svg{width:16px;height:16px;color:var(--text-3)}
.tkp-row .tkp-t{display:block;font:500 var(--fs-base)/20px var(--font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tkp-row .tkp-m{display:block;color:var(--text-3);font-size:var(--fs-xs);line-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tkp-row .tkp-k{color:var(--text-3);font:500 11px/1 var(--mono)}
.tkp-row mark{background:transparent;color:inherit;font-weight:600}
.tkp-ask .tkp-t{color:var(--accent-text)}
.tkp-ask svg{color:var(--accent)}
.tkp-empty{padding:14px 12px;color:var(--text-3);font-size:var(--fs-sm)}
.tkp-foot{display:flex;gap:14px;flex:none;padding:8px 14px;border-top:1px solid var(--border);color:var(--text-3);font-size:11.5px;line-height:14px}
.tkp-foot kbd{font:500 10.5px/1 var(--mono);padding:2px 4px;border:1px solid var(--border);border-radius:4px;background:var(--surface-2)}
html.tkp-open,html.tkp-open body{overflow:hidden}
@media(max-width:640px){
.tka{width:100vw;border-left:0;box-shadow:none;padding-top:env(safe-area-inset-top)}
body:has(.viewas) .tka{padding-top:0}
.tka .tka-in,.tka .tka-in:focus{font-size:16px;line-height:22px}
.tka-h{padding-left:12px}
.tka-mode{max-width:120px}
.tka-ib .tka-lbl,.tka-send span{display:none}
html.tka-open,html.tka-open body{overflow:hidden}
.tkp{top:0;left:0;transform:none;width:100vw;height:100dvh;max-height:none;border:0;border-radius:0;padding-top:env(safe-area-inset-top)}
.tkp .tkp-input,.tkp .tkp-input:focus{font-size:16px}
.tkp-foot{display:none}
.tkp-row{min-height:48px}
.tka-form input{font-size:16px;height:40px}
}
@media (prefers-reduced-motion:reduce){.tka{transition:none}.tka-dot{animation:none;opacity:1}}
@media print{.tka,.tkp,.tkp-back,.tka-top{display:none!important}}
/* ── views.css ── */
/* ── Priorities (priority.js) ── */
.pzlead{font-size:17px;line-height:1.5;color:var(--text-2);margin:0 0 16px;max-width:86ch} .pzlead b{color:var(--text);font-weight:600} .pzlead .warn{color:var(--warn)}
.pzwho{font-family:'Instrument Serif',Georgia,serif;font-size:24px;line-height:1.1;color:var(--text)}
.pzrow{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:start;padding:11px 18px;border-top:1px solid var(--border)}
.pzn{font-family:'Instrument Serif',Georgia,serif;font-size:30px;line-height:1;color:var(--sales);text-align:center}
.pzrow.old .pzn{color:var(--warn)}
.pztxt{font-size:15.5px;line-height:1.4;color:var(--text)}
.pzid{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;color:var(--text-3);font-weight:400}
.pzmeta{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;font-size:13px;color:var(--text-3);margin-top:4px}
.pzmeta a{color:var(--sales);text-decoration:none} .pzmeta a:hover{text-decoration:underline} .pzmeta .old{color:var(--warn)}
.pzck{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--border-strong);background:transparent;color:transparent;font-size:14px;line-height:1;padding:0;cursor:pointer;margin-top:2px}
.pzck:hover{border-color:var(--ok);color:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 25%,transparent)}
.pzfold>summary{list-style:none;cursor:pointer;color:var(--text-3);font-size:13px;display:inline-block;padding:0 4px;border-radius:6px} .pzfold>summary::-webkit-details-marker{display:none}
.pzfold>summary:hover{color:var(--text)} .pzfold[open]>summary{color:var(--text)} .pzmeta .pzfold[open]{flex-basis:100%}
.pzform{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:8px 0 0}
.pzform input,.pzform select,.pzadd input,.pzadd select{font:inherit;font-size:14px;padding:8px 11px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text)}
.pzcom{font-size:13.5px;color:var(--text-2);border-left:2px solid var(--border-strong);padding-left:9px;margin:6px 0 0;white-space:pre-wrap;line-height:1.45}
.pzadd{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:14px 18px;border-top:1px dashed var(--border)}
.pzadd input[name=text]{flex:1;min-width:240px;font-size:15.5px;padding:10px 13px}
.pzadd>details{flex-basis:100%} .pzadd>details>summary{list-style:none;cursor:pointer;font-size:13px;color:var(--text-3);display:inline-block} .pzadd>details>summary::-webkit-details-marker{display:none}
.pzmore{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:8px}
.pzbox{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--text-2);padding:3px 9px;border:1px solid var(--border);border-radius:999px;cursor:pointer} .pzbox input{margin:0}
.pzbox:has(input:checked){color:var(--text);border-color:var(--sales);background:color-mix(in srgb,var(--sales) 14%,transparent)}
.pzprog{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:7px;font-size:13px;color:var(--text-2)}
.pzbarp{flex:0 0 120px;height:6px;border-radius:99px;background:color-mix(in srgb,var(--text) 10%,transparent);overflow:hidden} .pzbarp i{display:block;height:100%;background:var(--ok);border-radius:99px}
.pzprog a{color:var(--text);text-decoration:none} .pzprog a:hover{text-decoration:underline} .pzprog .late{color:var(--accent)}
.pzkids{margin:6px 0 0;padding:0;list-style:none;font-size:13.5px} .pzkids li{display:flex;gap:8px;align-items:baseline;padding:3px 0;color:var(--text-2)} .pzkids li.dn{color:var(--text-3);text-decoration:line-through} .pzkids a{color:inherit;text-decoration:none} .pzkids a:hover{color:var(--text)}
.pznone{font-size:13px;color:var(--text-3);margin-top:6px}
@media(max-width:640px){.pzrow{grid-template-columns:26px minmax(0,1fr) auto;padding:10px 14px}.pzadd input[name=text]{flex-basis:100%}}
/* ── Roadmap Gantt (roadmap.js) ── */
.gt{padding:10px 0 12px;overflow:hidden;position:relative}
.gt-grid{position:absolute;top:0;bottom:0;left:270px;right:14px;pointer-events:none}  .gt-row{display:grid;grid-template-columns:270px 1fr;align-items:center;min-height:34px;border-top:1px solid var(--border)} .gt-row:first-child{border-top:0}
.gt-lab{padding:6px 14px;font-size:14px;color:var(--text);display:flex;flex-direction:column;gap:2px;min-width:0} .gt-lab .gt-ms{font-weight:600} .gt-lab .gt-meta{font-size:12px;color:var(--text-3)} .gt-sub .gt-lab{padding-left:30px;font-size:13px;color:var(--text-2)} .gt-proj .gt-lab{font-family:'Instrument Serif',Georgia,serif;font-size:19px;padding-top:12px} .gt-proj .gt-lab a{color:var(--sales);text-decoration:none}
.gt-track{position:relative;height:34px;margin-right:14px} .gt-sub .gt-track{height:22px} .gt-axis .gt-track{height:26px} .gt-proj .gt-track{height:30px}
.gt-tick{position:absolute;top:0;bottom:0;width:1px;background:var(--border)} .gt-today{position:absolute;top:0;bottom:0;width:2px;background:var(--accent);opacity:.8}
.gt-tlab{position:absolute;top:4px;transform:translateX(-50%);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);white-space:nowrap} .gt-now{color:var(--accent);top:auto;bottom:0;font-weight:600}
.gt-bar{position:absolute;top:6px;height:22px;border-radius:6px;background:color-mix(in srgb,var(--sales) 22%,transparent);border:1px solid color-mix(in srgb,var(--sales) 55%,transparent);overflow:hidden} .gt-bar.thin{top:4px;height:14px;border-radius:4px}
.gt-bar.done{background:color-mix(in srgb,var(--ok) 22%,transparent);border-color:var(--ok)} .gt-bar.doing{background:color-mix(in srgb,var(--warn) 22%,transparent);border-color:var(--warn)} .gt-bar.late{background:color-mix(in srgb,var(--accent) 22%,transparent);border-color:var(--accent)}
.gt-fill{position:absolute;left:0;top:0;bottom:0;background:color-mix(in srgb,var(--sales) 45%,transparent)} .gt-bar.done .gt-fill{background:color-mix(in srgb,var(--ok) 45%,transparent)} .gt-bar.doing .gt-fill{background:color-mix(in srgb,var(--warn) 45%,transparent)} .gt-bar.late .gt-fill{background:color-mix(in srgb,var(--accent) 45%,transparent)}
.gt-txt{position:relative;font-size:11.5px;color:var(--text);padding:0 8px;line-height:20px;white-space:nowrap} .thin .gt-txt{line-height:12px;font-size:10.5px}
.gt-out{position:absolute;top:50%;transform:translateY(-50%);font-size:11.5px;color:var(--text-2);white-space:nowrap;max-width:22%;overflow:hidden;text-overflow:ellipsis;pointer-events:none} .gt-sub .gt-out{font-size:10.5px}
@media (max-width:900px){.gt-row{grid-template-columns:150px 1fr}.gt-grid{left:150px}}
/* ── Roadmap (roadmap.js) ── */
.rmchips{flex-wrap:wrap;margin-bottom:18px;max-width:100%}.rmchips .tab{text-decoration:none;white-space:nowrap}.rmchips .mono{font-size:12.5px;color:var(--text-3);margin-left:4px}
.rmpick{margin-left:8px;border-style:dashed;background:transparent;color:var(--text-2)}
.rmtl{position:relative;padding-left:34px;margin-top:6px}
.rmtl:before{content:"";position:absolute;left:11px;top:8px;bottom:8px;width:2px;background:linear-gradient(var(--border-strong),var(--border))}
.rmms{position:relative;margin-bottom:14px}
.rmms:before{content:"";position:absolute;left:-29px;top:19px;width:12px;height:12px;border-radius:50%;background:var(--bg,#111);border:2px solid var(--text-3);box-sizing:border-box}
.rmms.done:before{background:var(--ok);border-color:var(--ok)} .rmms.doing:before{border-color:var(--warn);box-shadow:0 0 0 4px color-mix(in srgb,var(--warn) 28%,transparent)} .rmms.late:before{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 28%,transparent)}
.rmcard>summary{list-style:none;cursor:pointer;display:flex;gap:12px;align-items:flex-start;padding:14px 18px}
.rmcard>summary::-webkit-details-marker{display:none}
.rmcard[open]>summary{border-bottom:1px solid var(--border)}
.rmtitle{font-family:'Inter',system-ui,sans-serif;font-weight:600;font-size:18px;line-height:1.3;letter-spacing:-.01em;color:var(--text)} .rmms.done .rmtitle{color:var(--text-2);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--ok) 60%,transparent)}
.rmmeta{display:flex;gap:6px 12px;flex-wrap:wrap;align-items:center;font-size:13px;color:var(--text-3);margin-top:5px}
.rmbar{display:inline-block;height:5px;border-radius:999px;background:var(--border);overflow:hidden;width:140px;vertical-align:middle} .rmbar>span{display:block;height:100%;border-radius:999px}
.rmchev{color:var(--text-3);transition:transform .15s;margin-top:3px;font-size:14px} .rmcard[open] .rmchev{transform:rotate(90deg)}
.rmbody{padding:4px 18px 14px}
.rmsucc{font-size:14px;color:var(--text-2);border-left:2px solid color-mix(in srgb,var(--ok) 55%,transparent);padding-left:10px;margin:8px 0 10px;white-space:pre-wrap}
.rmdesc{font-size:14px;color:var(--text-2);white-space:pre-wrap;margin:4px 0 8px;line-height:1.5}
.rmnode{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:9px 0;border-top:1px solid var(--border);align-items:start}
.rmnode.step{margin-left:26px;border-top:1px dashed var(--border)}
.rmck{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--border-strong);background:transparent;color:#fff;font-size:11px;line-height:1;margin-top:2px;padding:0;cursor:pointer}
.rmck:hover{border-color:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 25%,transparent)} .rmnode.done .rmck{background:var(--ok);border-color:var(--ok)} .rmnode.doing .rmck{border-color:var(--warn);background:color-mix(in srgb,var(--warn) 25%,transparent)}
.rmft{font-size:15px;color:var(--text);line-height:1.4} .rmnode.done .rmft{color:var(--text-2);text-decoration:line-through}
.rmnm{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;font-size:13px;color:var(--text-3);margin-top:3px}
.rmtasks{margin:6px 0 2px 26px;border-left:2px solid color-mix(in srgb,var(--border-strong) 70%,transparent)}
.rmtasks .task{padding:8px 0 8px 12px}
.rmfold>summary{list-style:none;cursor:pointer;font-size:13px;color:var(--text-3);margin-top:6px;display:inline-block} .rmfold>summary::-webkit-details-marker{display:none}
.rmform{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:8px 0 0}
.rmform input,.rmform select,.rmform textarea{font:inherit;font-size:13.5px;padding:7px 10px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text)}
.rmform input[name=title]{flex:1;min-width:220px}
.rmvision{padding:16px 18px;display:flex;flex-direction:column;gap:8px}
.rmvision .star{font-family:'Inter',system-ui,sans-serif;font-weight:600;font-size:17px;letter-spacing:-.01em;color:var(--text);line-height:1.35}
.rmempty{padding:16px 18px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:14.5px;color:var(--text-2)}
/* ── Todos (todos.js) ── */
.tcompose{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:14px 18px;margin-bottom:22px}
.tcompose input[name=text]{flex:1;min-width:260px}
.tcompose-hint{flex-basis:100%;font-size:13px;line-height:1.45}
.tcompose input,.tcompose select,.tform input,.tform select{font:inherit;font-size:14px;padding:8px 11px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text)}
.tcompose input:focus,.tform input:focus{outline:none;border-color:var(--accent)}
.twho-pop{position:relative;display:inline-block}
.twho-sum{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-size:14px;padding:8px 11px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);max-width:260px;white-space:nowrap}
.twho-sum::-webkit-details-marker{display:none} .twho-lab{overflow:hidden;text-overflow:ellipsis} .twho-car{color:var(--text-3);font-size:11px}
.twho-pop[open] .twho-sum{border-color:var(--ok)}
.twho-panel{position:absolute;z-index:30;top:calc(100% + 6px);left:0;min-width:280px;max-width:min(420px,90vw);padding:10px 12px;border-radius:12px;border:1px solid var(--border-strong);background:var(--bg,#111);box-shadow:0 12px 32px rgba(0,0,0,.45)}
.twho{display:inline-flex;gap:4px;flex-wrap:wrap;align-items:center}
.twho-box{font-size:13px;padding:5px 10px;border-radius:999px;border:1px solid var(--border);color:var(--text-2);cursor:pointer;user-select:none;display:inline-flex;align-items:center;gap:5px;background:var(--surface)}
.twho-box input{margin:0;width:12px;height:12px;accent-color:var(--ok)}
.twho-box.on,.twho-box:has(input:checked){border-color:var(--ok);color:var(--text);background:color-mix(in srgb,var(--ok) 14%,transparent)}
.trow{display:block;border-top:1px solid var(--border)} .trow:first-child{border-top:0}
.tsum{display:flex;gap:12px;align-items:flex-start;padding:12px 18px;cursor:pointer;list-style:none}
.tsum::-webkit-details-marker{display:none} .tsum:hover{background:var(--surface)}
.tcheckf{margin:0;flex:none}
.trow .tcheck{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--border-strong);background:transparent;color:#fff;font-size:13px;line-height:1;cursor:pointer;margin-top:2px;padding:0}
.trow .tcheck:hover{border-color:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 25%,transparent)}
.trow .tcheck.on{background:var(--ok);border-color:var(--ok)}
.ttitle{font-size:15.5px;color:var(--text);line-height:1.35} .ttitle.done{text-decoration:line-through;color:var(--text-2)}
.tmeta{font-size:13px;color:var(--text-3);margin-top:4px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.tmeta .chip{font-size:12px;padding:2px 8px;text-decoration:none}
.tans{font-size:13.5px;color:var(--text-2);margin-top:5px}
.tchev{color:var(--text-3);transition:transform .15s;margin-top:2px} .trow[open] .tchev{transform:rotate(90deg)}
.tbody{padding:2px 18px 14px 52px;display:flex;flex-direction:column;gap:8px}
.tform{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:0} .tform--dim{opacity:.8}
.treplies{display:flex;flex-direction:column} .treply{font-size:13.5px;color:var(--text-2);padding:5px 0;border-top:1px dashed var(--border)}
.tdet{font-size:14px;color:var(--text-2);white-space:pre-wrap;line-height:1.45}
#todotabs .tab{text-decoration:none}
.tproj summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;padding:12px 18px} .tproj summary::-webkit-details-marker{display:none}
/* ── Costs (tech.js) ── */
.cost-total{display:flex;flex-wrap:wrap;gap:8px 28px;align-items:flex-end;padding:22px 24px;margin-bottom:18px}
.cost-total .big{font-family:'Inter',system-ui,sans-serif;font-weight:600;font-size:clamp(38px,7vw,56px);line-height:1}
.cost-centre{padding:0;margin-bottom:10px}.cost-centre>summary{list-style:none;cursor:pointer;padding:16px 20px;display:flex;flex-direction:column;gap:8px}
.cost-centre>summary::-webkit-details-marker{display:none}.cost-centre[open]>summary{border-bottom:1px solid color-mix(in srgb,var(--text-3) 25%,transparent)}
.cc-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.cc-head .cost-num,.cc-open{white-space:nowrap}.cc-name{font-weight:500;font-size:18px}
.cc-bar{height:6px;border-radius:3px;background:color-mix(in srgb,var(--text-3) 18%,transparent);overflow:hidden}.cc-bar>span{display:block;height:100%;background:var(--ok);border-radius:3px}
.cc-sub{display:flex;justify-content:space-between;gap:10px;font-size:14px;color:var(--text-3)}.cost-centre[open] .cc-open{visibility:hidden}
.cc-body{padding:14px 20px 18px;display:flex;flex-direction:column;gap:6px}.cc-lines{width:100%}.cc-lines td{padding:7px 0;border-top:1px solid color-mix(in srgb,var(--text-3) 14%,transparent);font-size:15.5px}
.cc-lines th{font-size:13px;font-weight:500;color:var(--text-3);text-align:left;padding-bottom:4px}
/* ── quick pickers, inline edit, saved / failed flashes, attachments (were injected by os.js as #quickcss) ── */
.opick{position:relative;display:inline-block}
.opick-btn{cursor:pointer;text-align:left;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.opick-pop{position:absolute;right:0;top:calc(100% + 4px);z-index:70;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:8px 10px;display:flex;flex-direction:column;gap:5px;min-width:160px;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.opick-pop label{display:flex;gap:8px;align-items:center;font-size:14px;cursor:pointer;white-space:nowrap}
.opick-none{margin-top:2px;font:inherit;font-size:13px;color:var(--text-3);background:none;border:0;cursor:pointer;text-align:left;padding:2px 0}
form.qsaved .mini,form.qsaved .opick-btn,form.qsaved .tcheck{box-shadow:0 0 0 2px var(--ok)!important;transition:box-shadow .2s}
.qpick{position:relative;display:inline-block;max-width:100%}
.qpick-btn{cursor:pointer;text-align:left;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qpick-pop{position:absolute;left:0;top:calc(100% + 4px);z-index:70;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:6px;display:flex;flex-direction:column;min-width:260px;max-width:min(420px,90vw);max-height:340px;overflow:auto;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.qpick-q{margin:2px 4px 6px}
.qpick-g{font-size:12px;color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;padding:8px 10px 2px}
.qpick-opt{font:inherit;font-size:14px;text-align:left;background:none;border:0;color:inherit;padding:6px 10px;border-radius:8px;cursor:pointer;white-space:normal}
.qpick-opt:hover{background:color-mix(in srgb,var(--text) 8%,transparent)}
.qpick-opt.on{color:var(--warn)}
.qe-btn{opacity:.25;border:0;background:none;cursor:pointer;color:var(--text-3);font-size:13px;margin-left:5px;padding:0 3px}
tr:hover .qe-btn,.task:hover .qe-btn{opacity:1}
.qsaved{box-shadow:0 0 0 2px var(--ok);border-radius:6px;transition:box-shadow .2s}
.qfail{box-shadow:0 0 0 2px var(--accent);border-radius:6px}
.qe-ta{font:inherit;line-height:1.35}
.qtog{display:inline-flex}
.qtog button{font:inherit;font-size:12px;padding:2px 8px;border-radius:999px;border:1px dashed var(--border);background:none;color:var(--text-3);cursor:pointer;opacity:.45}
.qtog button.on{opacity:1;border-style:solid;color:var(--accent);border-color:color-mix(in srgb,var(--accent) 55%,transparent)}
tr:hover .qtog button,.task:hover .qtog button{opacity:1}
.qfile{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:6px}
.qfile input[type=file]{font-size:13px;max-width:260px}
.qbusy{opacity:.6}
.att-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.att-list a{display:inline-flex;align-items:center;gap:4px;font-size:13px}
.att-list img{height:56px;border-radius:6px;border:1px solid var(--border);object-fit:cover}
/* ── « show more » of long lists (was injected by os.js as #pgcss) ── */
.pgmore{display:block;width:100%;padding:12px 18px;background:transparent;border:0;border-top:1px dashed var(--border);color:var(--text-2);font:inherit;font-size:14px;cursor:pointer;text-align:left}.pgmore:hover{color:var(--text)}
/* ── northstar.css ── */
.ns-dim{color:var(--text-3);font-weight:400}
.ns-page{--ns-r:18px}
.ns-c-info{--c:var(--info)}.ns-c-ok{--c:var(--ok)}.ns-c-sales{--c:var(--sales)}.ns-c-accent{--c:var(--accent)}.ns-c-peach{--c:var(--peach)}.ns-c-warn{--c:var(--warn)}
.ns-hero{position:relative;overflow:hidden;display:flex;gap:var(--s-5);align-items:flex-end;justify-content:space-between;flex-wrap:wrap;padding:var(--s-6) var(--s-6) var(--s-5);border:1px solid var(--border);border-radius:var(--ns-r);background:radial-gradient(120% 140% at 0% 0%,color-mix(in srgb,var(--warn) 14%,transparent),transparent 55%),radial-gradient(90% 120% at 100% 0%,color-mix(in srgb,var(--sales) 14%,transparent),transparent 60%),var(--surface)}
.ns-hero-sky{position:absolute;inset:0;pointer-events:none}
.ns-hero-sky i{position:absolute;width:3px;height:3px;border-radius:50%;background:var(--text-3);opacity:.35}
.ns-hero-sky i:nth-child(1){top:14%;left:62%}.ns-hero-sky i:nth-child(2){top:30%;left:78%;width:2px;height:2px}.ns-hero-sky i:nth-child(3){top:18%;left:88%}.ns-hero-sky i:nth-child(4){top:58%;left:70%;width:2px;height:2px}
.ns-hero-sky i:nth-child(5){top:42%;left:93%}.ns-hero-sky i:nth-child(6){top:72%;left:84%;width:2px;height:2px}.ns-hero-sky i:nth-child(7){top:10%;left:44%;width:2px;height:2px}.ns-hero-sky i:nth-child(8){top:66%;left:54%}
.ns-hero-sky i:nth-child(9){top:24%;left:52%;width:2px;height:2px}.ns-hero-sky i:nth-child(10){top:82%;left:96%}.ns-hero-sky i:nth-child(11){top:8%;left:74%;width:4px;height:4px;opacity:.6;background:var(--warn);box-shadow:0 0 10px var(--warn)}
.ns-hero-sky i:nth-child(12){top:50%;left:60%;width:2px;height:2px}.ns-hero-sky i:nth-child(13){top:36%;left:66%}.ns-hero-sky i:nth-child(14){top:78%;left:64%;width:2px;height:2px}
.ns-hero-main{position:relative;min-width:0;max-width:640px}
.ns-eyebrow{font:500 var(--fs-xs)/16px var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--warn)}
.ns-page h1.ns-h1{margin:6px 0 0;font:400 44px/1.05 'Instrument Serif',Georgia,serif;letter-spacing:-.01em;color:var(--text)}
.ns-lede{margin:var(--s-2) 0 0;color:var(--text-2);font-size:var(--fs-base);line-height:22px}
.ns-pills{display:flex;gap:var(--s-2);flex-wrap:wrap;margin-top:var(--s-4)}
.ns-pill{display:inline-flex;align-items:baseline;gap:5px;padding:5px 12px;border-radius:999px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 70%,transparent);font-size:var(--fs-sm);color:var(--text-2);text-decoration:none}
.ns-pill b{color:var(--text);font:600 var(--fs-sm)/18px 'JetBrains Mono',ui-monospace,monospace}
.ns-pill--link:hover{border-color:var(--border-strong,var(--text-3))}
.ns-hero-side{position:relative;display:flex;gap:var(--s-2);align-items:center;flex-wrap:wrap}
.ns-readonly{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--text-3)}
.ns-new{margin-top:var(--s-4);padding:var(--s-3) var(--s-5);border:1px dashed var(--border);border-radius:var(--ns-r);background:var(--surface)}
.ns-new>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;font-weight:600;color:var(--text)}
.ns-new>summary::-webkit-details-marker{display:none}
.ns-new>summary .ns-dim{font-size:var(--fs-sm)}
.ns-new[open]{border-style:solid}
.ns-new-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-5);margin:var(--s-4) 0 var(--s-2)}
.ns-form{display:flex;flex-direction:column;gap:var(--s-2);min-width:0}
.ns-form-title{font-size:var(--fs-sm);color:var(--text-2);font-weight:500}
.ns-form .btn{align-self:flex-start}
.ns-check{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--text-2)}
.ns-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:var(--s-4);margin-top:var(--s-5)}
.ns-star{position:relative;overflow:hidden;display:flex;flex-direction:column;min-width:0;padding:var(--s-5);border:1px solid var(--border);border-radius:var(--ns-r);background:var(--surface);scroll-margin-top:80px;transition:border-color var(--t-fast),transform var(--t-fast)}
.ns-star:hover{border-color:color-mix(in srgb,var(--c) 45%,var(--border))}
.ns-star:target{border-color:var(--c);box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 22%,transparent)}
.ns-star::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--c),color-mix(in srgb,var(--c) 10%,transparent))}
.ns-star.is-private{background:linear-gradient(180deg,color-mix(in srgb,var(--warn) 6%,var(--surface)),var(--surface) 55%)}
.ns-badge{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;font-size:19px;color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent);border:1px solid color-mix(in srgb,var(--c) 30%,transparent)}
.ns-title{display:block;font:400 26px/1.15 'Instrument Serif',Georgia,serif;color:var(--text);text-decoration:none;overflow-wrap:anywhere}
.ns-title:hover{color:var(--c)}
.ns-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:4px;font-size:var(--fs-xs);color:var(--text-3)}
.ns-meta a{color:inherit}
.ns-tag{padding:1px 8px;border-radius:999px;font-weight:600;color:var(--warn);background:var(--warn-soft)}
.ns-goal{position:relative;margin:var(--s-4) 0 0;padding-left:var(--s-3);border-left:2px solid color-mix(in srgb,var(--c) 50%,transparent);color:var(--text-2);font-size:var(--fs-base);line-height:21px}
.ns-goal.is-empty{color:var(--text-3);border-left-style:dashed}
.ns-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--text-3);opacity:.5}
.ns-dot--ok{background:var(--ok);opacity:1}.ns-dot--warn{background:var(--warn);opacity:1}.ns-dot--danger{background:var(--danger);opacity:1;box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 20%,transparent)}
.ns-manage{margin-top:auto;padding-top:var(--s-4)}
.ns-manage>summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--text-3)}
.ns-manage>summary::-webkit-details-marker{display:none}
.ns-manage>summary:hover{color:var(--text)}
.ns-manage-body{display:flex;flex-direction:column;gap:var(--s-3);margin-top:var(--s-3);padding-top:var(--s-3);border-top:1px solid var(--border)}
.ns-manage form{margin:0}
.ns-add{display:flex;gap:var(--s-2);min-width:0}
.ns-add .select{flex:1;min-width:0}
.ns-outs{display:flex;flex-wrap:wrap;gap:6px}
.ns-out{display:inline-flex;align-items:center;gap:4px;padding:3px 6px 3px 10px;border-radius:999px;border:1px solid var(--border);background:none;color:var(--text-2);font:inherit;font-size:var(--fs-xs);cursor:pointer}
.ns-out:hover{border-color:var(--danger);color:var(--danger)}
.ns-out .icon{width:12px;height:12px}
.ns-h2{margin:0;font:400 24px/1.2 'Instrument Serif',Georgia,serif;color:var(--text)}
.ns-h2 .ns-dim{font:400 var(--fs-sm)/18px var(--font);margin-left:6px}
.ns-bridges{margin-top:var(--s-7,40px)}
.ns-bridge-list{display:flex;flex-direction:column;gap:6px;margin-top:var(--s-3)}
.ns-bridge{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap;padding:var(--s-3) var(--s-4);border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);text-decoration:none}
.ns-bridge:hover{border-color:var(--text-3)}
.ns-bridge-to{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}
.ns-bridge-star{padding:2px 9px;border-radius:999px;font-size:var(--fs-xs);color:var(--c);background:color-mix(in srgb,var(--c) 12%,transparent)}
.ns-loose{margin-top:var(--s-7,40px)}
.ns-loose>summary{cursor:pointer;list-style:none;display:flex;align-items:baseline;gap:var(--s-3);flex-wrap:wrap}
.ns-loose>summary::-webkit-details-marker{display:none}
.ns-loose>summary::after{content:"Show";margin-left:auto;font-size:var(--fs-sm);color:var(--text-3)}
.ns-loose[open]>summary::after{content:"Hide"}
.ns-loose-grid{columns:3 260px;column-gap:var(--s-5);margin-top:var(--s-4)}
.ns-loose-group{break-inside:avoid;margin-bottom:var(--s-4)}
.ns-loose-client{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-2);font-weight:600;margin-bottom:4px}
.ns-loose-p{display:flex;align-items:center;gap:8px;padding:4px 0;color:var(--text-2);font-size:var(--fs-sm);text-decoration:none}
.ns-loose-p:hover{color:var(--text)}
.ns-inline{margin:0}
.ns-pj-forms{display:flex;gap:var(--s-2);flex-wrap:wrap;align-items:center;margin-top:var(--s-3)}@media (max-width:760px){
.ns-hero{padding:var(--s-5) var(--s-4)}.ns-page h1.ns-h1{font-size:34px}.ns-new>summary .ns-dim{display:none}
.ns-list{grid-template-columns:minmax(0,1fr)}.ns-new-grid{grid-template-columns:minmax(0,1fr)}
.ns-star{padding:var(--s-4)}.ns-title{font-size:22px}
.ns-bridge-to{margin-left:0}
}
.ns-hero{padding:var(--s-5) var(--s-6);align-items:center}
.ns-hero-sky{display:none}
.ns-page h1.ns-h1{font-size:38px}
.ns-strip{display:flex;gap:8px;flex-wrap:wrap;margin-top:var(--s-4)}
.ns-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 6px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);text-decoration:none;font-size:var(--fs-sm);font-weight:500}
.ns-chip:hover{border-color:var(--c)}
.ns-chip-n{display:grid;place-items:center;min-width:26px;height:26px;padding:0 6px;border-radius:999px;background:color-mix(in srgb,var(--c) 16%,transparent);color:var(--c);font:600 12px/1 'JetBrains Mono',ui-monospace,monospace}
.ns-list{display:flex;flex-direction:column;gap:var(--s-4);margin-top:var(--s-4)}
.ns-pole{position:relative;padding:var(--s-5) var(--s-6);border:1px solid var(--border);border-left:3px solid var(--c);border-radius:var(--ns-r);background:var(--surface);scroll-margin-top:80px}
.ns-pole:target{box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 20%,transparent)}
.ns-pole.is-private{background:linear-gradient(180deg,color-mix(in srgb,var(--warn) 5%,var(--surface)),var(--surface) 60%)}
.ns-pole.is-empty{padding-top:var(--s-4);padding-bottom:var(--s-4)}
.ns-pole-h{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:var(--s-3) var(--s-6);align-items:start}
.ns-pole-id{display:flex;gap:var(--s-3);align-items:flex-start;min-width:0}
.ns-badge{width:36px;height:36px;border-radius:10px;font-size:17px}
.ns-title{font-size:28px}
.ns-meta{gap:12px;font-size:var(--fs-sm);margin-top:2px}
.ns-meta b{color:var(--text);font-weight:600}
.ns-goal{margin:0;padding:0;border:0;color:var(--text-2);font-size:var(--fs-sm);line-height:20px}
.ns-subs{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--s-3);margin-top:var(--s-5)}
.ns-sub{padding:var(--s-3) var(--s-4);border-radius:14px;background:color-mix(in srgb,var(--c) 6%,var(--surface-2));border:1px solid color-mix(in srgb,var(--c) 18%,var(--border));scroll-margin-top:80px;min-width:0}
.ns-sub:target{border-color:var(--c)}
.ns-sub-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ns-sub-t{display:inline-flex;align-items:center;gap:7px;font-weight:600;color:var(--text);text-decoration:none}
.ns-sub-t:hover{color:var(--c)}
.ns-sub-g{margin:4px 0 0;font-size:var(--fs-xs);line-height:17px;color:var(--text-3)}
.ns-sub .ns-manage{margin-top:var(--s-2)}
.ns-grps{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--s-4) var(--s-6);margin-top:var(--s-5);padding-top:var(--s-4);border-top:1px solid var(--border)}
.ns-subs + .ns-grps{margin-top:var(--s-4)}
.ns-grp{min-width:0}
.ns-grp-h{display:flex;justify-content:space-between;font-size:var(--fs-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);font-weight:600;margin-bottom:4px}
.ns-grp-h span{font-family:'JetBrains Mono',ui-monospace,monospace;font-weight:500}
.ns-ul{list-style:none;margin:0;padding:0}
.ns-ul--sub{margin-top:var(--s-2)}
.ns-it{display:flex;align-items:center;gap:8px;min-width:0;padding:4px 6px;margin:0 -6px;border-radius:8px;color:var(--text);text-decoration:none;font-size:var(--fs-sm)}
.ns-it:hover{background:color-mix(in srgb,var(--c) 9%,transparent)}
.ns-it-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ns-it-c{flex:none;font-size:var(--fs-xs);color:var(--text-3)}
.ns-it-x{flex:none;font:600 10px/14px 'JetBrains Mono',ui-monospace,monospace;color:var(--c)}
.ns-more>summary{cursor:pointer;list-style:none;padding:4px 0;font-size:var(--fs-xs);color:var(--text-3)}
.ns-more>summary::-webkit-details-marker{display:none}
.ns-more>summary::before{content:"+ "}
.ns-more[open]>summary{display:none}
.ns-thin{margin:var(--s-3) 0 0;font-size:var(--fs-sm);color:var(--text-3)}
.ns-manage{margin-top:var(--s-4);padding-top:0}
.ns-new{margin-top:var(--s-5)}@media (max-width:900px){.ns-pole{padding:var(--s-4)}.ns-pole-h{grid-template-columns:minmax(0,1fr)}.ns-title{font-size:24px}.ns-grps{grid-template-columns:minmax(0,1fr)}
}
.ns-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3);margin-top:var(--s-4)}
.ns-tab{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:baseline;padding:var(--s-3) var(--s-4);border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text-2);text-decoration:none}
.ns-tab b{font:400 24px/1.1 'Instrument Serif',Georgia,serif;color:var(--text)}
.ns-tab-n{justify-self:start;font:600 12px/1 'JetBrains Mono',ui-monospace,monospace;color:var(--text-3)}
.ns-tab-h{grid-column:1/-1;font-size:var(--fs-xs);color:var(--text-3);margin-top:2px}
.ns-tab:hover{border-color:var(--text-3)}
.ns-tab.is-on{border-color:var(--warn);box-shadow:inset 0 -3px 0 var(--warn);background:color-mix(in srgb,var(--warn) 5%,var(--surface))}
.ns-facts{display:flex;align-items:center;gap:var(--s-3) var(--s-5);flex-wrap:wrap;margin-top:var(--s-4);padding:var(--s-3) var(--s-4);border-radius:12px;background:var(--surface-2)}
.ns-stage{display:inline-flex;align-items:center;gap:3px;font-size:var(--fs-xs);color:var(--text-2)}
.ns-stage i{width:14px;height:5px;border-radius:3px;background:var(--border)}
.ns-stage i.on{background:var(--c,var(--ok))}
.ns-stage b{margin-left:6px;font-weight:600;color:var(--text)}
.ns-kind{padding:2px 9px;border-radius:999px;font-size:var(--fs-xs);font-weight:600}
.ns-kind--tech{color:var(--info);background:color-mix(in srgb,var(--info) 14%,transparent)}
.ns-measure{display:flex;flex-direction:column;gap:4px;min-width:180px;max-width:320px}
.ns-measure-t{display:flex;justify-content:space-between;gap:10px;font-size:var(--fs-xs);color:var(--text-3)}
.ns-measure-v{color:var(--text-2);white-space:nowrap}.ns-measure-v b{color:var(--text)}
.ns-measure.is-big{min-width:240px}.ns-measure.is-big .ns-measure-t{font-size:var(--fs-sm)}
.ns-bar{appearance:none;-webkit-appearance:none;width:100%;height:6px;border:0;border-radius:3px;background:var(--border);overflow:hidden}
.ns-bar::-webkit-progress-bar{background:var(--border);border-radius:3px}
.ns-bar::-webkit-progress-value{background:var(--c,var(--ok));border-radius:3px}
.ns-bar::-moz-progress-bar{background:var(--c,var(--ok));border-radius:3px}
.ns-kpis{display:flex;gap:var(--s-4);flex-wrap:wrap}
.ns-kpi{display:inline-flex;align-items:baseline;gap:5px;font-size:var(--fs-xs);color:var(--text-3)}
.ns-kpi b{font:600 var(--fs-sm)/1 'JetBrains Mono',ui-monospace,monospace;color:var(--text)}
.ns-kpi--warn b{color:var(--warn)}.ns-kpi--danger b{color:var(--danger)}
.ns-open{margin-left:auto;font-size:var(--fs-sm);font-weight:500;color:var(--c);text-decoration:none;white-space:nowrap}
.ns-open:hover{text-decoration:underline}
.ns-built{margin-top:var(--s-4);padding-top:var(--s-3);border-top:1px solid var(--border)}
.ns-built>summary{cursor:pointer;font-size:var(--fs-sm);color:var(--text-2)}
.ns-ul--cols{columns:3 220px;column-gap:var(--s-6);margin-top:var(--s-2)}
.ns-ul--cols li{break-inside:avoid}
.ns-lede.is-empty{color:var(--text-3)}
.ns-tablewrap{overflow-x:auto;border:1px solid var(--border);border-radius:14px;background:var(--surface)}
.ns-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}
.ns-table th{text-align:left;font-weight:600;font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);padding:10px 12px;border-bottom:1px solid var(--border);white-space:nowrap}
.ns-table td{padding:6px 12px;border-bottom:1px solid var(--border);white-space:nowrap}
.ns-table tr:last-child td{border-bottom:0}
.ns-table td:first-child{max-width:320px}
.ns-table .ns-it{margin:0;padding:2px 0}
.ns-td-dim{color:var(--text-3);font-size:var(--fs-xs)}
.ns-num{text-align:right;font-family:'JetBrains Mono',ui-monospace,monospace}
.ns-num.is-warn{color:var(--warn);font-weight:600}.ns-num.is-danger{color:var(--danger);font-weight:600}
.ns-line{display:flex;align-items:center;gap:10px;padding:6px 8px;margin:0 -8px;border-radius:8px;color:var(--text);text-decoration:none;font-size:var(--fs-sm);min-width:0}
.ns-line:hover{background:var(--surface-2)}@media (max-width:900px){.ns-tabs{grid-template-columns:minmax(0,1fr)}.ns-open{margin-left:0}
}
.np{--np-w:1180px;--np-r:20px;max-width:var(--np-w);margin:0 auto}
.np-cover{position:relative;height:176px;border-radius:var(--np-r);overflow:hidden;
background:radial-gradient(60% 120% at 12% 10%,color-mix(in srgb,var(--c) 55%,transparent),transparent 70%),radial-gradient(50% 140% at 88% 0%,color-mix(in srgb,var(--c) 30%,var(--sales) 20%),transparent 70%),linear-gradient(120deg,color-mix(in srgb,var(--c) 22%,var(--surface)),var(--surface-2))}
.np-cover::after{content:"";position:absolute;inset:0;background-image:linear-gradient(color-mix(in srgb,var(--text) 6%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--text) 6%,transparent) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(180deg,#000,transparent 85%);-webkit-mask-image:linear-gradient(180deg,#000,transparent 85%)}
.np-cover i{position:absolute;border-radius:50%;filter:blur(30px);opacity:.55;background:var(--c)}
.np-cover i:nth-child(1){width:180px;height:180px;left:58%;top:-60px}.np-cover i:nth-child(2){width:120px;height:120px;left:78%;top:70px;opacity:.35}.np-cover i:nth-child(3){width:90px;height:90px;left:30%;top:110px;opacity:.25}
.np-head{position:relative;padding:0 var(--s-6);margin-top:-46px}
.np-icon{display:grid;place-items:center;width:84px;height:84px;border-radius:22px;font-size:44px;line-height:1;color:var(--c);background:var(--surface);border:1px solid var(--border);box-shadow:0 10px 30px rgba(0,0,0,.18);cursor:default;list-style:none}
.np-iconpick{position:relative;display:inline-block}
.np-iconpick>summary{cursor:pointer}.np-iconpick>summary::-webkit-details-marker{display:none}
.np-iconpick>summary:hover{transform:translateY(-1px);box-shadow:0 14px 34px rgba(0,0,0,.24)}
.np-iconpick-p{position:absolute;z-index:20;top:92px;left:0;display:grid;grid-template-columns:repeat(8,36px);gap:4px;padding:8px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--sh-3)}
.np-iconpick-p form{margin:0}.np-iconpick-p button{width:36px;height:36px;border:0;border-radius:9px;background:none;font-size:20px;cursor:pointer;color:var(--c)}
.np-iconpick-p button:hover,.np-iconpick-p button.is-on{background:var(--surface-2)}
.np-crumb{display:flex;gap:8px;align-items:center;margin-top:var(--s-4);font-size:var(--fs-xs);color:var(--text-3);letter-spacing:.02em}
.np-crumb a{color:inherit;text-decoration:none}.np-crumb a:hover{color:var(--text)}
.np h1.np-title{margin:6px 0 0;font:400 54px/1.04 'Instrument Serif',Georgia,serif;letter-spacing:-.015em;color:var(--text)}
.np-goal{margin:var(--s-3) 0 0;max-width:760px;font-size:17px;line-height:26px;color:var(--text-2)}
.np-goal.is-empty{color:var(--text-3);font-style:italic}
.np-grid{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:var(--s-7,40px);padding:0 var(--s-6);margin-top:var(--s-5)}
.np-main{min-width:0}
.np-props{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:6px 0}
.np-prop{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;min-height:38px;padding:0 8px;margin:0 -8px;border-radius:8px}
.np-prop:hover{background:var(--surface-2)}
.np-prop-k{display:flex;align-items:center;gap:9px;font-size:var(--fs-sm);color:var(--text-3)}
.np-prop-k i{font-style:normal;width:16px;text-align:center;opacity:.8}
.np-prop-v{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:var(--fs-sm);color:var(--text);min-width:0}
.np-empty{color:var(--text-3);font-style:italic}
.np-dim{color:var(--text-3)}
.np-pill{display:inline-flex;align-items:center;gap:5px;padding:2px 10px;border-radius:6px;font-size:var(--fs-xs);font-weight:600}
.np-pill--biz{color:var(--c);background:color-mix(in srgb,var(--c) 15%,transparent)}
.np-pill--tech{color:var(--info);background:color-mix(in srgb,var(--info) 15%,transparent)}
.np-pill--gold{color:var(--warn);background:var(--warn-soft)}
.np-steps{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}
.np-step{padding:3px 12px;font-size:var(--fs-xs);color:var(--text-3);border-right:1px solid var(--border)}
.np-step:last-child{border-right:0}
.np-step.is-past{color:var(--text-2);background:color-mix(in srgb,var(--c) 8%,transparent)}
.np-step.is-on{color:#fff;font-weight:600;background:var(--c)}
.np-measure{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
.np-measure b{font:600 15px/1 'JetBrains Mono',ui-monospace,monospace}
.np-measure .ns-bar{width:140px}
.np-person{display:inline-flex;align-items:center;gap:7px}
.np-propedit{margin:6px 0 4px}
.np-propedit>summary{cursor:pointer;list-style:none;display:inline-block;padding:4px 8px;margin-left:-8px;border-radius:6px;font-size:var(--fs-xs);color:var(--text-3)}
.np-propedit>summary::-webkit-details-marker{display:none}
.np-propedit>summary:hover{background:var(--surface-2);color:var(--text)}
.np-propedit-f{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--s-3);padding:var(--s-3) 0 var(--s-2)}
.np-f{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-xs);color:var(--text-3);min-width:0}
.np-f--wide{grid-column:1/-1}.np-f--row{flex-direction:row;align-items:center;gap:var(--s-4)}
.np-glances{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:var(--s-5)}
.np-glance{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:var(--text-3);font-size:var(--fs-xs);text-decoration:none;transition:transform var(--t-fast),border-color var(--t-fast)}
.np-glance b{font:400 30px/1.05 'Instrument Serif',Georgia,serif;color:var(--text)}
.np-glance:hover{transform:translateY(-1px);border-color:var(--border-strong,var(--text-3))}
.np-glance--danger{background:color-mix(in srgb,var(--danger) 10%,var(--surface));border-color:color-mix(in srgb,var(--danger) 35%,var(--border))}.np-glance--danger b{color:var(--danger)}
.np-glance--warn{background:color-mix(in srgb,var(--warn) 10%,var(--surface));border-color:color-mix(in srgb,var(--warn) 35%,var(--border))}.np-glance--warn b{color:var(--warn)}
.np-label{font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--text-3);margin-bottom:8px}
.np-important{margin-top:var(--s-6,32px);scroll-margin-top:80px}
.np-imp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.np-imp{--t:var(--warn);position:relative;display:flex;flex-direction:column;gap:6px;padding:14px 16px 14px 18px;border-radius:14px;border:1px solid color-mix(in srgb,var(--t) 30%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--t) 14%,var(--surface)),var(--surface) 70%);color:var(--text);text-decoration:none;overflow:hidden}
.np-imp::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--t)}
.np-imp b{font-weight:650;font-size:var(--fs-base)}
.np-imp span{font-size:var(--fs-sm);line-height:20px;color:var(--text-2)}
.np-imp span i{color:var(--text-3)}
.np-imp:hover{border-color:var(--t)}
.np-tone--warn{--t:var(--warn)}.np-tone--danger{--t:var(--danger)}.np-tone--ok{--t:var(--ok)}.np-tone--info{--t:var(--info)}
.np-doc{margin-top:var(--s-6,32px)}
.np-blk{position:relative;padding:var(--s-4) 0 var(--s-2);scroll-margin-top:80px}
.np-blk + .np-blk{border-top:1px solid color-mix(in srgb,var(--border) 60%,transparent)}
.np-blk:target .np-blk-t{background:color-mix(in srgb,var(--c) 18%,transparent);border-radius:6px}
.np-blk-h{display:flex;align-items:center;gap:10px;min-width:0}
.np-blk-i{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:7px;font-size:13px;color:var(--text-3);background:var(--surface-2)}
.np-blk-t{flex:1;min-width:0;margin:0;font:400 27px/1.2 'Instrument Serif',Georgia,serif;color:var(--text)}
.np-pin{color:var(--warn);font-size:14px}
.np-prog{display:inline-flex;align-items:center;gap:8px;font:500 var(--fs-xs)/1 'JetBrains Mono',ui-monospace,monospace;color:var(--text-3)}
.np-prog progress{appearance:none;-webkit-appearance:none;width:80px;height:6px;border:0;border-radius:3px;background:var(--border);overflow:hidden}
.np-prog progress::-webkit-progress-bar{background:var(--border)}.np-prog progress::-webkit-progress-value{background:var(--ok)}.np-prog progress::-moz-progress-bar{background:var(--ok)}
.np-body{padding:var(--s-2) 0 0 36px;font-size:15px;line-height:1.7;color:var(--text);overflow-wrap:anywhere}
.np-body p{margin:0 0 8px}.np-body h3{margin:14px 0 6px;font-size:17px;font-weight:650}.np-body h4{margin:12px 0 4px;font-size:15px;font-weight:650;color:var(--text-2)}
.np-body blockquote{margin:8px 0;padding:2px 0 2px 14px;border-left:3px solid var(--c);color:var(--text-2)}
.np-body code{padding:1px 6px;border-radius:5px;background:var(--surface-2);font:500 13px/1 'JetBrains Mono',ui-monospace,monospace}
.np-body a{color:var(--text);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--c) 60%,transparent);text-underline-offset:3px}
.np-body a:hover{text-decoration-color:var(--c)}
.np-body.is-empty{color:var(--text-3);font-style:italic}
.np-ul{margin:0 0 8px;padding-left:20px}.np-ul li{margin:2px 0}.np-ul li::marker{color:var(--c)}
.np-check{list-style:none;margin:0 0 8px;padding:0}
.np-check li{display:flex;align-items:flex-start;gap:10px;padding:3px 0}
.np-check li.is-done>span:last-child{color:var(--text-3);text-decoration:line-through;text-decoration-color:var(--text-3)}
.np-tg{margin:0}.np-tg button{padding:0;border:0;background:none;cursor:pointer}
.np-box{display:grid;place-items:center;flex:none;width:18px;height:18px;margin-top:4px;border-radius:5px;border:1.5px solid var(--border-strong,var(--text-3));font-size:12px;line-height:1;color:#fff}
.np-box.is-done{background:var(--ok);border-color:var(--ok)}
.np-tg button:hover .np-box{border-color:var(--c)}
.np-mention{display:inline-flex;align-items:center;gap:5px;padding:0 7px 0 5px;border-radius:6px;background:color-mix(in srgb,var(--c) 12%,transparent);text-decoration:none!important;font-weight:500}
.np-item{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:13px}
.np-blk--callout .np-body{margin:var(--s-2) 0 0 36px;padding:12px 16px;border-radius:12px;border:1px solid color-mix(in srgb,var(--t,var(--warn)) 30%,var(--border));background:color-mix(in srgb,var(--t,var(--warn)) 9%,var(--surface))}
.np-blk--callout .np-blk-i{color:var(--t,var(--warn));background:color-mix(in srgb,var(--t,var(--warn)) 16%,transparent);font-weight:700}
.np-blk--links .np-body p{margin:0;padding:6px 10px;border-radius:8px;border:1px solid var(--border);margin-bottom:6px;background:var(--surface)}
.np-blk--links .np-body p::before{content:"↗ ";color:var(--c)}
.np-blk--checklist .np-blk-i{color:var(--ok)}
.np-menu{position:relative;flex:none}
.np-menu>summary,.np-edit>summary{list-style:none;cursor:pointer;opacity:0;transition:opacity var(--t-fast)}
.np-menu>summary::-webkit-details-marker,.np-edit>summary::-webkit-details-marker{display:none}
.np-blk:hover .np-menu>summary,.np-blk:hover .np-edit>summary,.np-blk:focus-within .np-menu>summary,.np-blk:focus-within .np-edit>summary,.np-menu[open]>summary{opacity:1}@media (hover:none){.np-menu>summary,.np-edit>summary{opacity:1}
}
.np-menu>summary{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;color:var(--text-3);font-size:18px}
.np-menu>summary:hover{background:var(--surface-2);color:var(--text)}
.np-menu-p{position:absolute;right:0;top:32px;z-index:20;min-width:200px;padding:6px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--sh-3)}
.np-menu-p form{margin:0}
.np-menu-b{display:block;width:100%;padding:7px 10px;border:0;border-radius:7px;background:none;color:var(--text);text-align:left;font:inherit;font-size:var(--fs-sm);cursor:pointer}
.np-menu-b:hover{background:var(--surface-2)}.np-menu-b.is-danger{color:var(--danger)}
.np-edit{padding-left:36px}
.np-edit>summary{display:inline-block;margin-top:2px;padding:2px 8px;border-radius:6px;font-size:var(--fs-xs);color:var(--text-3)}
.np-edit>summary:hover{background:var(--surface-2);color:var(--text)}
.np-blk:has(> .np-edit[open]) > .np-body{display:none}
.np-edit[open]>summary{display:none}
.np-edit-f{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid color-mix(in srgb,var(--c) 40%,var(--border));border-radius:12px;background:var(--surface);box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 10%,transparent)}
.np-edit-t{border:0;background:none;color:var(--text);font:400 22px/1.2 'Instrument Serif',Georgia,serif;padding:2px 0;outline:none}
.np-edit-b{border:0;background:none;color:var(--text);font:15px/1.7 var(--font);resize:vertical;min-height:140px;outline:none;field-sizing:content}
.np-edit-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:8px;border-top:1px solid var(--border)}
.np-edit-row .select{width:auto}
.np-tip{flex:1;font-size:var(--fs-xs);color:var(--text-3);min-width:160px}
.np-add{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:var(--s-4);padding:10px 12px;border:1px dashed var(--border);border-radius:14px}
.np-add-l{font-size:var(--fs-sm);color:var(--text-3);margin-right:4px}
.np-add-d>summary{list-style:none}.np-add-d>summary::-webkit-details-marker{display:none}
.np-add-b{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;border:1px solid var(--border);background:var(--surface);font-size:var(--fs-sm);color:var(--text-2);cursor:pointer}
.np-add-b i{font-style:normal;color:var(--c)}
.np-add-b:hover,.np-add-d[open]>.np-add-b{border-color:var(--c);color:var(--text)}
.np-add:has(.np-add-d[open]){flex-direction:column;align-items:stretch}
.np-add:has(.np-add-d[open]) .np-add-d:not([open]),.np-add:has(.np-add-d[open]) .np-add-l{display:none}
.np-add-f{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.np-add-f .btn{align-self:flex-start}
.np-start{padding:var(--s-6) var(--s-5);border:1px dashed color-mix(in srgb,var(--c) 45%,var(--border));border-radius:18px;background:color-mix(in srgb,var(--c) 5%,var(--surface));text-align:center;color:var(--text-2)}
.np-start p{max-width:560px;margin:0 auto var(--s-4)}.np-start form{margin:0}
.np-live{margin-top:var(--s-8,56px)}
.np-live-h{display:flex;align-items:baseline;gap:12px;padding-bottom:10px;border-bottom:2px solid var(--text);margin-bottom:var(--s-2)}
.np-live-h>span:first-child{font:400 30px/1.1 'Instrument Serif',Georgia,serif;color:var(--text)}
.np-live-h::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 4px color-mix(in srgb,var(--ok) 25%,transparent);align-self:center}
.np-live-s{margin-top:var(--s-6,32px);scroll-margin-top:80px}
.np-h3{margin:0 0 var(--s-3);font-size:var(--fs-base);font-weight:650;color:var(--text)}
.np-h3 .ns-dim{font-weight:400;font-size:var(--fs-sm);margin-left:6px}
.np-ok{margin:0;color:var(--ok);font-size:var(--fs-sm)}
.np-attn{border:1px solid var(--border);border-radius:14px;padding:6px 14px;background:var(--surface)}
.np-db .ns-table td{padding:8px 12px}
.np-db tbody tr:hover{background:var(--surface-2)}
.np-tag{display:inline-block;padding:1px 8px;border-radius:5px;font-size:var(--fs-xs);color:var(--text-2);background:var(--surface-2)}
.np-tag--products{color:var(--c);background:color-mix(in srgb,var(--c) 12%,transparent)}.np-tag--client{color:var(--info);background:color-mix(in srgb,var(--info) 12%,transparent)}
.np-tag--demos{color:var(--sales);background:color-mix(in srgb,var(--sales) 12%,transparent)}
.np-timeline{list-style:none;margin:0;padding:0 0 0 14px;border-left:2px solid var(--border)}
.np-timeline li{position:relative;display:flex;gap:10px;align-items:baseline;padding:6px 0;font-size:var(--fs-sm)}
.np-timeline li::before{content:"";position:absolute;left:-20px;top:13px;width:10px;height:10px;border-radius:50%;background:var(--surface);border:2px solid var(--c)}
.np-tl-d{flex:none;font:500 var(--fs-xs)/1 'JetBrains Mono',ui-monospace,monospace;color:var(--text-3)}
.np-tl-p{flex:none;font-size:var(--fs-xs);font-weight:600;color:var(--text-2)}
.np-tl-t{min-width:0;color:var(--text)}
.np-toc{position:sticky;top:80px;align-self:start;display:flex;flex-direction:column;gap:2px;max-height:calc(100vh - 100px);overflow:auto;padding-top:6px}
.np-toc-h{margin:12px 0 4px;font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);font-weight:600}
.np-toc-h:first-child{margin-top:0}
.np-toc a{display:flex;justify-content:space-between;gap:8px;padding:4px 10px;border-left:2px solid var(--border);color:var(--text-2);font-size:var(--fs-sm);text-decoration:none}
.np-toc a:hover{border-left-color:var(--c);color:var(--text);background:color-mix(in srgb,var(--c) 6%,transparent)}
.np-toc a b{font:500 11px/18px 'JetBrains Mono',ui-monospace,monospace;color:var(--text-3)}@media (max-width:1080px){.np-grid{grid-template-columns:minmax(0,1fr)}.np-toc{display:none}
}@media (max-width:760px){
.np-cover{height:120px;border-radius:14px}.np-head,.np-grid{padding:0 4px}.np-head{margin-top:-36px}
.np-icon{width:64px;height:64px;font-size:32px;border-radius:18px}.np h1.np-title{font-size:36px}.np-goal{font-size:15px;line-height:23px}
.np-prop{grid-template-columns:110px minmax(0,1fr)}.np-steps{flex-wrap:wrap}.np-step{padding:3px 8px}
.np-glances{grid-template-columns:repeat(3,minmax(0,1fr))}.np-propedit-f{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.np-body,.np-edit{padding-left:0}.np-blk--callout .np-body{margin-left:0}.np-blk-t{font-size:23px}
.np-iconpick-p{grid-template-columns:repeat(6,36px)}
}
.np-db .ns-table td:first-child{max-width:260px}.np-db .ns-it{gap:8px}.np-db .ns-it .chip{flex:none}
.ns-pinned{--t:var(--warn);display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin-top:var(--s-3);padding:10px 14px;border-radius:12px;border-left:3px solid var(--t);background:color-mix(in srgb,var(--t) 9%,var(--surface));color:var(--text);text-decoration:none;font-size:var(--fs-sm)}
.ns-pinned b{font-weight:600}.ns-pinned span{color:var(--text-2)}
.ns-pinned:hover{background:color-mix(in srgb,var(--t) 14%,var(--surface))}
