@font-face{font-family:YekanBakh;src:url(/fonts/YekanBakh-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:YekanBakh;src:url(/fonts/YekanBakh-Medium.woff2)format("woff2");font-weight:500 600;font-style:normal;font-display:swap}@font-face{font-family:YekanBakh;src:url(/fonts/YekanBakh-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:YekanBakh;src:url(/fonts/YekanBakh-Heavy.woff2)format("woff2");font-weight:800 900;font-style:normal;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font:"YekanBakh", Tahoma, system-ui, sans-serif;--bg:#f2f5f9;--bg-rail:#e9eef5;--surface:#fff;--surface-2:#f7f9fc;--surface-sunk:#eaeef4;--hover:#eef2f8;--press:#e3e9f2;--rule:#dde3ec;--rule-strong:#c6cfdc;--rail-line:#cdd6e3;--ink:#0d1a33;--ink-2:#3b4863;--ink-3:#5d6984;--ink-inv:#f5f8fc;--action:#0d1a33;--action-ink:#f5f8fc;--action-hover:#1d2c4c;--focus:#2f6fed;--you:#d8401f;--you-ink:#b8321a;--you-soft:#fdebe6;--you-ring:#d8401f47;--ok:#1f8a4c;--ok-soft:#e4f4ea;--warn:#a86400;--warn-soft:#fbf0dc;--danger:#b4233a;--danger-soft:#fbe7ea;--info:#2f5bc8;--info-soft:#e7eefb;--age-fresh:#2a9a58;--age-aging:#c99200;--age-late:#df6d16;--age-overdue:#d4351f;--line-azin:#d99100;--line-pluzio:#2f5fd6;--line-derize:#8a45d0;--line-kian:#4f9420;--line-homer:#a46a2f;--line-diamondfx:#0b8f9c;--shadow-1:0 1px 2px #0d1a330f, 0 1px 1px #0d1a330a;--shadow-2:0 6px 16px -6px #0d1a3329, 0 2px 4px #0d1a330f;--shadow-3:0 24px 48px -16px #0d1a3347, 0 4px 12px #0d1a3314;--scrim:#0910216b;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-pill:999px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--t-xs:.75rem;--t-sm:.8125rem;--t-md:.875rem;--t-lg:1rem;--t-xl:1.125rem;--t-2xl:1.375rem;--t-3xl:1.75rem;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in:cubic-bezier(.55, 0, 1, .45);--dur-1:.12s;--dur-2:.2s;--dur-3:.28s;--rail-w:252px;--topbar-h:56px;--col-w:292px;--sheet-w:600px;--z-sticky:10;--z-rail:20;--z-pop:40;--z-sheet:60;--z-toast:90;--z-palette:100}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a1226;--bg-rail:#0c1530;--surface:#111c37;--surface-2:#0e1832;--surface-sunk:#0b142c;--hover:#17244a;--press:#1d2c57;--rule:#1f2c4d;--rule-strong:#2c3b63;--rail-line:#2a3960;--ink:#eef2f9;--ink-2:#b9c3d8;--ink-3:#8f9bb7;--ink-inv:#0a1226;--action:#eef2f9;--action-ink:#0a1226;--action-hover:#d6deec;--focus:#6d9bff;--you:#ff6a49;--you-ink:#ff8467;--you-soft:#3a1a17;--you-ring:#ff6a4952;--ok:#46c27b;--ok-soft:#11301f;--warn:#f0b13b;--warn-soft:#33270e;--danger:#ff6b81;--danger-soft:#3a1520;--info:#7ea4ff;--info-soft:#16244a;--age-fresh:#46c27b;--age-aging:#e8b52c;--age-late:#ff9447;--age-overdue:#ff6a49;--line-azin:#f0aa1a;--line-pluzio:#5f87ff;--line-derize:#b07af0;--line-kian:#79c043;--line-homer:#d39a5c;--line-diamondfx:#27bfcc;--shadow-1:0 1px 2px #0006;--shadow-2:0 8px 20px -8px #0009, 0 2px 4px #0000004d;--shadow-3:0 28px 56px -18px #000000bf, 0 4px 12px #00000059;--scrim:#0206109e}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a1226;--bg-rail:#0c1530;--surface:#111c37;--surface-2:#0e1832;--surface-sunk:#0b142c;--hover:#17244a;--press:#1d2c57;--rule:#1f2c4d;--rule-strong:#2c3b63;--rail-line:#2a3960;--ink:#eef2f9;--ink-2:#b9c3d8;--ink-3:#8f9bb7;--ink-inv:#0a1226;--action:#eef2f9;--action-ink:#0a1226;--action-hover:#d6deec;--focus:#6d9bff;--you:#ff6a49;--you-ink:#ff8467;--you-soft:#3a1a17;--you-ring:#ff6a4952;--ok:#46c27b;--ok-soft:#11301f;--warn:#f0b13b;--warn-soft:#33270e;--danger:#ff6b81;--danger-soft:#3a1520;--info:#7ea4ff;--info-soft:#16244a;--age-fresh:#46c27b;--age-aging:#e8b52c;--age-late:#ff9447;--age-overdue:#ff6a49;--line-azin:#f0aa1a;--line-pluzio:#5f87ff;--line-derize:#b07af0;--line-kian:#79c043;--line-homer:#d39a5c;--line-diamondfx:#27bfcc;--shadow-1:0 1px 2px #0006;--shadow-2:0 8px 20px -8px #0009, 0 2px 4px #0000004d;--shadow-3:0 28px 56px -18px #000000bf, 0 4px 12px #00000059;--scrim:#0206109e}*,:before,:after{box-sizing:border-box}html{font-family:var(--font);-webkit-text-size-adjust:100%;text-rendering:optimizelegibility;scrollbar-color:var(--rule-strong) transparent;scrollbar-width:thin;font-size:100%;line-height:1.6}body{background:var(--bg);color:var(--ink);font-size:var(--t-md);-webkit-font-smoothing:antialiased;min-height:100dvh;margin:0}::selection{background:color-mix(in srgb, var(--focus) 24%, transparent);color:var(--ink)}h1,h2,h3,h4{letter-spacing:0;text-wrap:balance;margin:0;font-weight:700;line-height:1.35}p{margin:0}a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:0}button:disabled{cursor:not-allowed}img,svg{max-width:100%;display:block}input,textarea{caret-color:var(--focus)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--r-sm)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--rule-strong);background-clip:content-box;border:3px solid #0000;border-radius:999px}::-webkit-scrollbar-track{background:0 0}.num{font-variant-numeric:tabular-nums}.flip-rtl{transform:scaleX(-1)}.ltr{direction:ltr;unicode-bidi:isolate}.latin{white-space:nowrap}.latin:where(:not(:empty)){overflow-wrap:normal}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{inset-inline-start:var(--s-3);z-index:var(--z-palette);background:var(--action);color:var(--action-ink);padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);position:absolute;top:-60px}.skip-link:focus{top:var(--s-3)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.app{grid-template-columns:var(--rail-w) minmax(0, 1fr);min-height:100dvh;display:grid}.main{flex-direction:column;min-width:0;display:flex}.content{min-width:0;padding:var(--s-6) var(--s-8) var(--s-10);flex:1}.content.flush{flex-direction:column;min-height:0;padding:0;display:flex}.rail{height:100dvh;z-index:var(--z-rail);background:var(--bg-rail);border-inline-end:1px solid var(--rule);gap:var(--s-1);padding:var(--s-4) var(--s-3);flex-direction:column;display:flex;position:sticky;top:0;overflow-y:auto}.brand{align-items:center;gap:var(--s-3);padding:var(--s-1) var(--s-2) var(--s-4);text-decoration:none;display:flex}.brand-mark{flex:none;width:30px;height:30px}.brand>span:last-child{gap:2px;min-width:0;display:grid}.brand-name{font-weight:800;font-size:var(--t-lg);line-height:1.1}.brand-sub{font-size:var(--t-xs);color:var(--ink-3)}.nav-item{align-items:center;gap:var(--s-3);min-height:38px;padding:0 var(--s-3);border-radius:var(--r-md);color:var(--ink-2);transition:background var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);font-weight:500;text-decoration:none;display:flex}.nav-item:hover{background:var(--hover);color:var(--ink)}.nav-item[aria-current=page]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1);font-weight:700}.nav-item svg{flex:none;width:18px;height:18px}.nav-item .count{margin-inline-start:auto}.rail-section{margin-top:var(--s-5);padding:0 var(--s-3) var(--s-2);font-size:var(--t-xs);color:var(--ink-3);font-weight:700}.line-item{align-items:center;gap:var(--s-3);min-height:44px;padding:var(--s-1) var(--s-3);border-radius:var(--r-md);color:var(--ink);transition:background var(--dur-1) var(--ease-out);grid-template-columns:16px minmax(0,1fr) auto;text-decoration:none;display:grid;position:relative}.line-item:hover{background:var(--hover)}.line-item[aria-current=page]{background:var(--surface);box-shadow:var(--shadow-1)}.line-item .roundel{width:16px;height:16px}.line-name{font-weight:600;font-size:var(--t-md);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.line-load{background:var(--rule);border-radius:2px;grid-column:2/4;height:3px;margin-top:-2px;overflow:hidden}.line-load>span{background:var(--line);border-radius:inherit;height:100%;display:block}.roundel{border:3.5px solid var(--line);background:var(--surface);border-radius:50%;flex:none;display:block}.count{min-width:20px;height:20px;font-size:var(--t-xs);font-variant-numeric:tabular-nums;background:var(--surface-sunk);color:var(--ink-2);border-radius:5px;justify-content:center;align-items:center;padding:0 6px;font-weight:700;display:inline-flex}.count.you{background:var(--you);color:#fff}.rail-foot{padding-top:var(--s-4);gap:var(--s-1);flex-direction:column;margin-top:auto;display:flex}.topbar{z-index:var(--z-sticky);height:var(--topbar-h);align-items:center;gap:var(--s-3);padding:0 var(--s-8);background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(10px);backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid var(--rule);display:flex;position:sticky;top:0}.topbar-title{font-weight:700;font-size:var(--t-lg);align-items:center;gap:var(--s-2);min-width:0;display:flex}.topbar-title .crumb{color:var(--ink-3);font-weight:500}.topbar-spacer{flex:1}.search-trigger{align-items:center;gap:var(--s-2);height:36px;padding:0 var(--s-3);border-radius:var(--r-md);border:1px solid var(--rule);background:var(--surface);min-width:260px;color:var(--ink-3);font-size:var(--t-sm);display:flex}.search-trigger:hover{border-color:var(--rule-strong)}.search-trigger svg{width:16px;height:16px}.kbd{font-size:var(--t-xs);border:1px solid var(--rule);background:var(--surface-2);color:var(--ink-3);direction:ltr;border-radius:4px;margin-inline-start:auto;padding:1px 6px}.btn{justify-content:center;align-items:center;gap:var(--s-2);height:36px;padding:0 var(--s-4);border-radius:var(--r-sm);font-weight:600;font-size:var(--t-md);white-space:nowrap;border:1px solid var(--rule);background:var(--surface);color:var(--ink);transition:background var(--dur-1) var(--ease-out), border-color var(--dur-1) var(--ease-out), transform var(--dur-1) var(--ease-out);display:inline-flex}.btn:hover{background:var(--hover);border-color:var(--rule-strong)}.btn:active{transform:scale(.98)}.btn svg{flex:none;width:16px;height:16px}.btn.primary{background:var(--action);border-color:var(--action);color:var(--action-ink)}.btn.primary:hover{background:var(--action-hover)}.btn.you{background:var(--you);border-color:var(--you);color:#fff}.btn.you:hover{background:color-mix(in srgb, var(--you) 88%, #000)}.btn.ghost{color:var(--ink-2);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--hover);color:var(--ink)}.btn.danger{color:var(--danger)}.btn.danger:hover{background:var(--danger-soft);border-color:var(--danger)}.btn.sm{height:30px;padding:0 var(--s-3);font-size:var(--t-sm)}.btn.lg{height:44px;padding:0 var(--s-5);font-size:var(--t-lg)}.btn:disabled{opacity:.45}.btn[aria-busy=true]{color:#0000;position:relative}.btn[aria-busy=true]:after{content:"";border:2px solid;border-color:var(--ink-3) transparent var(--ink-3) transparent;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin;position:absolute}.icon-btn{border-radius:var(--r-md);width:36px;height:36px;color:var(--ink-2);transition:background var(--dur-1) var(--ease-out);place-items:center;display:inline-grid;position:relative}.icon-btn:hover{background:var(--hover);color:var(--ink)}.icon-btn svg{width:18px;height:18px}.icon-btn .dot{top:7px;background:var(--you);width:8px;height:8px;box-shadow:0 0 0 2px var(--bg);border-radius:50%;position:absolute;inset-inline-end:7px}@keyframes spin{to{transform:rotate(360deg)}}.chip{border-radius:var(--r-xs);white-space:nowrap;background:var(--surface-sunk);height:21px;color:var(--ink-2);align-items:center;gap:5px;padding:0 7px;font-size:11.5px;font-weight:600;display:inline-flex}.chip svg{flex:none;width:13px;height:13px}.chip.you{background:var(--you-soft);color:var(--you-ink)}.chip.ok{background:var(--ok-soft);color:var(--ok)}.chip.warn{background:var(--warn-soft);color:var(--warn)}.chip.info{background:var(--info-soft);color:var(--info)}.chip.danger{background:var(--danger-soft);color:var(--danger)}.chip.outline{box-shadow:inset 0 0 0 1px var(--rule-strong);background:0 0}.age{font-size:var(--t-xs);color:var(--ink-3);white-space:nowrap;align-items:center;gap:5px;font-weight:600;display:inline-flex}.age:before{content:"";background:var(--age-c,var(--age-fresh));border-radius:50%;width:8px;height:8px}.age[data-band=fresh]{--age-c:var(--age-fresh)}.age[data-band=aging]{--age-c:var(--age-aging)}.age[data-band=late]{--age-c:var(--age-late);color:var(--age-late)}.age[data-band=overdue]{--age-c:var(--age-overdue);color:var(--age-overdue)}.key{font-size:var(--t-xs);color:var(--ink-3);font-variant-numeric:tabular-nums;letter-spacing:.02em;direction:ltr;unicode-bidi:isolate;font-weight:700}.page-head{align-items:flex-end;gap:var(--s-4);margin-bottom:var(--s-6);flex-wrap:wrap;display:flex}.page-head h1{font-size:var(--t-3xl);font-weight:800}.page-head p{color:var(--ink-2);margin-top:var(--s-1)}.page-head .actions{gap:var(--s-2);margin-inline-start:auto;display:flex}.section{margin-top:var(--s-8)}.section-head{align-items:baseline;gap:var(--s-3);margin-bottom:var(--s-3);display:flex}.section-head h2{font-size:var(--t-xl);font-weight:800}.section-head .meta{color:var(--ink-3);font-size:var(--t-sm)}.section-head .link{font-size:var(--t-sm);color:var(--ink-2);margin-inline-start:auto;font-weight:600;text-decoration:none}.section-head .link:hover{color:var(--ink);text-decoration:underline}.network{background-color:var(--surface);background-image:radial-gradient(circle at 1px 1px, color-mix(in srgb, var(--ink) 9%, transparent) 1px, transparent 0);border:1px solid var(--rule);border-radius:var(--r-lg);padding:var(--s-5) var(--s-5) var(--s-3);background-size:18px 18px;overflow-x:auto}.network svg{width:100%;min-width:760px;height:auto;overflow:visible}.net-head{fill:var(--ink-2);font-size:12.5px;font-weight:700}.net-head.you{fill:var(--you-ink)}.net-name{fill:var(--ink);font-size:14px;font-weight:700}.net-sub{fill:var(--ink-3);font-size:11.5px}.net-count{fill:var(--ink);font-size:12px;font-weight:800}.net-age{fill:var(--ink-3);font-size:11px;font-weight:600}.net-station{cursor:pointer}.net-station:focus-visible{outline:none}.net-station:focus-visible .st-dot{stroke-width:5px}.net-station:hover .st-dot{filter:drop-shadow(0 2px 4px #0d1a3340)}.st-dot{fill:var(--surface);transition:r var(--dur-2) var(--ease-out)}.st-ring-you{fill:none;stroke:var(--you);stroke-width:2.5px;opacity:.9}.net-grid{stroke:var(--rule);stroke-dasharray:2 5}.net-legend{gap:var(--s-5);padding:var(--s-3) var(--s-1) 0;color:var(--ink-3);font-size:var(--t-xs);flex-wrap:wrap;display:flex}.net-legend span{align-items:center;gap:6px;display:inline-flex}.lg-dot{border:3px solid var(--ink-3);background:var(--surface);border-radius:50%;width:12px;height:12px}.lg-dot.you{border-color:var(--you);box-shadow:0 0 0 2px var(--you-ring)}.home-grid{gap:var(--s-6);grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;display:grid}.list{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-lg);overflow:hidden}.list-row{gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--rule);color:inherit;transition:background var(--dur-1) var(--ease-out);grid-template-columns:12px minmax(0,1fr) auto;align-items:start;text-decoration:none;display:grid}.list-row:last-child{border-bottom:0}.list-row:hover{background:var(--hover)}.list-row .roundel{border-width:3px;width:12px;height:12px;margin-top:6px}.list-title{font-weight:600;line-height:1.5}.list-why{color:var(--ink-3);font-size:var(--t-sm);margin-top:2px}.list-meta{align-items:flex-end;gap:var(--s-1);flex-direction:column;display:flex}.list-empty{padding:var(--s-8) var(--s-4);text-align:center;color:var(--ink-3)}.list-empty strong{color:var(--ink);font-size:var(--t-lg);margin-bottom:var(--s-1);display:block}.rank{font-size:var(--t-xs);color:var(--ink-3);font-variant-numeric:tabular-nums;font-weight:800}.week-strip{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-lg);grid-template-columns:132px repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.ws-head{padding:var(--s-2) var(--s-2);font-size:var(--t-xs);color:var(--ink-3);text-align:center;border-bottom:1px solid var(--rule);background:var(--surface-2);font-weight:700}.ws-head.today{color:var(--ink);background:var(--hover)}.ws-head small{font-weight:500;display:block}.ws-name{align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);font-weight:600;font-size:var(--t-sm);border-bottom:1px solid var(--rule);white-space:nowrap;display:flex;overflow:hidden}.ws-name .roundel{border-width:3px;width:12px;height:12px}.ws-cell{border-bottom:1px solid var(--rule);border-inline-start:1px solid var(--rule);flex-wrap:wrap;align-content:flex-start;gap:4px;min-height:40px;padding:6px;display:flex}.ws-cell.today{background:color-mix(in srgb, var(--hover) 60%, transparent)}.ws-pip{background:var(--line);opacity:.9;border-radius:3px;width:10px;height:10px}.ws-pip.done{opacity:.32}.ws-pip.owner{background:var(--you)}.ws-pip.overdue{outline:2px solid var(--age-overdue);outline-offset:1px}.board-head{align-items:center;gap:var(--s-4);padding:var(--s-4) var(--s-8) 0;flex-wrap:wrap;display:flex}.board-title{align-items:center;gap:var(--s-3);display:flex}.board-title .roundel{border-width:5px;width:26px;height:26px}.board-title h1{font-size:var(--t-2xl);font-weight:800}.board-title .domain{color:var(--ink-3);font-size:var(--t-sm);direction:ltr}.ai-pill{border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--rule);height:30px;font-size:var(--t-sm);color:var(--ink-2);align-items:center;gap:7px;padding:0 12px;font-weight:600;display:inline-flex}.ai-pill .pulse{background:var(--ink-3);border-radius:50%;width:8px;height:8px}.ai-pill.online .pulse{background:var(--ok);box-shadow:0 0 0 0 color-mix(in srgb, var(--ok) 60%, transparent);animation:pulse 2.4s var(--ease-out) infinite}.ai-pill.stalled{border-color:var(--age-late);color:var(--age-late)}.ai-pill.paused .pulse{background:var(--warn)}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--ok) 55%, transparent)}70%{box-shadow:0 0 0 7px #0000}to{box-shadow:0 0 #0000}}.tabs{gap:var(--s-1);padding:0 var(--s-8);margin-top:var(--s-3);border-bottom:1px solid var(--rule);scrollbar-width:none;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{height:42px;padding:0 var(--s-3);align-items:center;gap:var(--s-2);color:var(--ink-3);white-space:nowrap;font-weight:600;text-decoration:none;display:inline-flex;position:relative}.tab:hover,.tab[aria-current=page]{color:var(--ink)}.tab[aria-current=page]:after{content:"";inset-inline:var(--s-2);background:var(--line,var(--ink));border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:-1px}.tab svg{width:16px;height:16px}.route{grid-auto-flow:column;grid-auto-columns:var(--col-w);gap:var(--s-3);padding:var(--s-5) var(--s-8) var(--s-2);min-width:max-content;display:grid;position:relative}.route-track{top:calc(var(--s-5) + 13px);inset-inline:calc(var(--s-8) + var(--col-w) / 2);background:var(--line);opacity:.95;border-radius:3px;height:6px;position:absolute}.route-stop{color:inherit;background:0 0;flex-direction:column;align-items:center;gap:6px;display:flex;position:relative}.route-dot{z-index:1;background:var(--surface);border:4px solid var(--line);width:32px;height:32px;font-size:var(--t-xs);font-variant-numeric:tabular-nums;transition:transform var(--dur-2) var(--ease-out);border-radius:50%;place-items:center;font-weight:800;display:grid;position:relative}.route-stop:hover .route-dot{transform:scale(1.08)}.route-stop.crowded .route-dot{width:38px;height:38px;margin-top:-3px}.route-stop.you .route-dot{box-shadow:0 0 0 3px var(--surface), 0 0 0 6px var(--you)}.route-stop.over .route-dot{border-style:double;border-width:6px}.route-label{font-size:var(--t-xs);color:var(--ink-2);white-space:nowrap;font-weight:700}.route-stop.you .route-label{color:var(--you-ink)}.board-scroll{flex:1;min-height:0;overflow:auto}.columns{grid-auto-flow:column;grid-auto-columns:var(--col-w);gap:var(--s-3);padding:var(--s-2) var(--s-8) var(--s-8);align-items:start;min-width:max-content;display:grid}.column{background:color-mix(in srgb, var(--surface-sunk) 62%, transparent);border-radius:var(--r-lg);border:1px solid #0000;flex-direction:column;max-height:calc(100dvh - 250px);display:flex}.column.drop-target{border-color:var(--focus);background:color-mix(in srgb, var(--focus) 5%, var(--surface-2))}.column-head{align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-3) var(--s-2);display:flex}.column-head h3{font-size:var(--t-md);font-weight:800}.column-head .wip{font-size:var(--t-xs);color:var(--ink-3);font-weight:600}.column-head .wip.over{color:var(--age-late)}.column-head .icon-btn{width:30px;height:30px;margin-inline-start:auto}.column-hint{padding:0 var(--s-3) var(--s-2);font-size:var(--t-xs);color:var(--ink-3);align-items:center;gap:5px;display:flex}.column-hint svg{width:13px;height:13px}.column-body{gap:var(--s-2);padding:0 var(--s-2) var(--s-2);flex-direction:column;min-height:60px;display:flex;overflow-y:auto}.column-add{margin:0 var(--s-2) var(--s-2);color:var(--ink-3);justify-content:flex-start}.card{text-align:start;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-md);width:100%;padding:var(--s-3);color:inherit;cursor:pointer;transition:box-shadow var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out);text-decoration:none;display:block;position:relative}.card:hover{box-shadow:var(--shadow-1);border-color:var(--rule-strong)}.card[aria-selected=true]{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 22%, transparent)}.card.dragging{opacity:.4}.card.overlay{box-shadow:var(--shadow-3);cursor:grabbing;transform:rotate(-1.5deg)scale(1.02)}.card-top{align-items:center;gap:var(--s-2);margin-bottom:6px;display:flex}.card-type{font-size:var(--t-xs);color:var(--ink-3);align-items:center;gap:4px;font-weight:600;display:inline-flex}.card-type svg{width:13px;height:13px}.card-top .top-end{align-items:center;gap:6px;margin-inline-start:auto;display:inline-flex}.card-title{-webkit-line-clamp:3;-webkit-box-orient:vertical;font-weight:600;line-height:1.55;display:-webkit-box;overflow:hidden}.card-meta{align-items:center;gap:var(--s-2);margin-top:var(--s-2);flex-wrap:wrap;display:flex}.card-meta .stat{font-size:var(--t-xs);color:var(--ink-3);font-variant-numeric:tabular-nums;align-items:center;gap:3px;display:inline-flex}.card-meta .stat svg{width:13px;height:13px}.card-meta .end{gap:var(--s-2);align-items:center;margin-inline-start:auto;display:flex}.card-req{align-items:center;gap:var(--s-2);margin-top:var(--s-2);border-radius:var(--r-xs);font-size:var(--t-xs);background:var(--surface-2);color:var(--ink-2);border:1px solid var(--rule);padding:5px 8px;font-weight:700;display:flex}.card-req.you{background:color-mix(in srgb, var(--you-soft) 75%, var(--surface));color:var(--you-ink);border-color:color-mix(in srgb, var(--you) 25%, transparent)}.card-req .ring{border:2.5px solid;border-radius:50%;flex:none;width:12px;height:12px}.card-req time{opacity:.85;margin-inline-start:auto;font-weight:600}.card .shared{color:var(--info);display:inline-flex}.card .shared svg{width:15px;height:15px}.toolbar{align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-8) 0;flex-wrap:wrap;display:flex}.seg{border-radius:var(--r-md);background:var(--surface-sunk);gap:2px;padding:3px;display:inline-flex}.seg button{height:28px;padding:0 var(--s-3);font-size:var(--t-sm);color:var(--ink-3);border-radius:7px;font-weight:600}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1)}.filter-input{border-radius:var(--r-md);border:1px solid var(--rule);background:var(--surface);height:32px;padding:0 var(--s-3);min-width:220px;font-size:var(--t-sm)}.scrim{background:var(--scrim);z-index:var(--z-sheet);animation:fade-in var(--dur-2) var(--ease-out);position:fixed;inset:0}.sheet{top:0;bottom:0;width:min(var(--sheet-w), 100vw);z-index:calc(var(--z-sheet) + 1);background:var(--surface);box-shadow:var(--shadow-3);animation:sheet-in var(--dur-3) var(--ease-out);flex-direction:column;display:flex;position:fixed;inset-inline-end:0}@keyframes sheet-in{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.sheet-head{align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-5);border-bottom:1px solid var(--rule);display:flex}.sheet-head .roundel{border-width:3.5px;width:14px;height:14px}.sheet-head .crumb{color:var(--ink-3);font-size:var(--t-sm);font-weight:600}.sheet-head .spacer{flex:1}.sheet-body{padding:var(--s-5) var(--s-6) var(--s-10);flex:1;overflow-y:auto}.sheet-title{font-size:var(--t-2xl);border-radius:var(--r-sm);outline:none;font-weight:800;line-height:1.45}.sheet-title:hover{background:var(--hover)}.props{gap:6px var(--s-4);margin:var(--s-5) 0;font-size:var(--t-sm);grid-template-columns:112px minmax(0,1fr);display:grid}.props dt{color:var(--ink-3);align-items:center;gap:6px;min-height:30px;font-weight:600;display:flex}.props dt svg{width:15px;height:15px}.props dd{align-items:center;gap:var(--s-2);flex-wrap:wrap;min-height:30px;margin:0;display:flex}.prop-btn{height:30px;padding:0 var(--s-2);border-radius:var(--r-sm);color:var(--ink);align-items:center;gap:6px;font-weight:600;display:inline-flex}.prop-btn:hover{background:var(--hover)}.prop-btn svg{width:15px;height:15px;color:var(--ink-3)}.block{margin-top:var(--s-6)}.block-title{align-items:center;gap:var(--s-2);font-size:var(--t-md);margin-bottom:var(--s-3);font-weight:800;display:flex}.block-title svg{width:17px;height:17px;color:var(--ink-3)}.block-title .meta{color:var(--ink-3);font-weight:500;font-size:var(--t-sm)}.prose{color:var(--ink);overflow-wrap:anywhere;line-height:1.85}.prose p+p,.prose ul,.prose ol{margin-top:var(--s-2)}.prose ul,.prose ol{padding-inline-start:var(--s-5)}.prose code{background:var(--surface-sunk);direction:ltr;unicode-bidi:isolate;border-radius:4px;padding:1px 5px;font-family:ui-monospace,Consolas,monospace;font-size:.86em}.prose a{color:var(--info)}.prose table{border-collapse:collapse;margin-top:var(--s-2);font-size:var(--t-sm)}.prose th,.prose td{border:1px solid var(--rule);padding:4px 8px}.request{border-radius:var(--r-lg);border:1px solid var(--rule-strong);background:var(--surface);overflow:hidden}.request.you{border-color:color-mix(in srgb, var(--you) 55%, var(--rule));box-shadow:0 0 0 3px var(--you-ring)}.request.you .request-head{background:color-mix(in srgb, var(--you-soft) 70%, var(--surface));border-bottom:1px solid color-mix(in srgb, var(--you) 22%, var(--rule));padding-bottom:var(--s-3)}.request-head{align-items:center;gap:var(--s-3);padding:var(--s-4) var(--s-4) var(--s-2);display:flex}.request-head .ring{border:3.5px solid var(--you);background:var(--surface);width:20px;height:20px;box-shadow:0 0 0 2px var(--surface), 0 0 0 3.5px var(--you);border-radius:50%;flex:none;margin-inline:3px}.request-head h3{font-size:var(--t-lg);font-weight:800}.request-head p{font-size:var(--t-sm);color:var(--ink-2)}.request-body{padding:var(--s-3) var(--s-4) var(--s-4);gap:var(--s-3);flex-direction:column;display:flex}.request-actions{gap:var(--s-2);flex-wrap:wrap;display:flex}.request-actions .btn{flex:auto}.request-foot{font-size:var(--t-xs);color:var(--ink-3);gap:var(--s-3);display:flex}.option{gap:var(--s-3);padding:var(--s-3);border-radius:var(--r-md);border:1px solid var(--rule);background:var(--surface);cursor:pointer;text-align:start;align-items:flex-start;width:100%;display:flex}.option:hover{border-color:var(--rule-strong)}.option[aria-checked=true]{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.option .radio{border:2px solid var(--rule-strong);border-radius:50%;flex:none;width:18px;height:18px;margin-top:2px}.option[aria-checked=true] .radio{border:6px solid var(--ink)}.option strong{display:block}.option small{color:var(--ink-3)}.field{flex-direction:column;gap:6px;display:flex}.field label{font-weight:700;font-size:var(--t-sm)}.field .help{font-size:var(--t-xs);color:var(--ink-3)}.input,.textarea{border-radius:var(--r-md);border:1px solid var(--rule-strong);background:var(--surface);width:100%;min-height:40px;transition:border-color var(--dur-1) var(--ease-out), box-shadow var(--dur-1) var(--ease-out);padding:9px 12px}.input:focus,.textarea:focus{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 20%, transparent);outline:none}.textarea{resize:vertical;min-height:88px;line-height:1.7}.field.error .input,.field.error .textarea{border-color:var(--danger)}.field .err{color:var(--danger);font-size:var(--t-xs);font-weight:600}.slots{gap:var(--s-2);display:grid}.slot{gap:var(--s-3);padding:var(--s-3);border-radius:var(--r-md);border:1.5px dashed var(--rule-strong);background:var(--surface);grid-template-columns:44px minmax(0,1fr) auto;align-items:center;display:grid}.slot.filled{border-style:solid;border-color:var(--ok)}.slot-icon{border-radius:var(--r-md);background:var(--surface-sunk);width:44px;height:44px;color:var(--ink-3);place-items:center;display:grid}.slot-icon svg{width:20px;height:20px}.slot small{color:var(--ink-3);font-size:var(--t-xs);display:block}.thread{gap:var(--s-4);flex-direction:column;display:flex}.msg{gap:var(--s-3);grid-template-columns:32px minmax(0,1fr);display:grid}.avatar{width:32px;height:32px;font-size:var(--t-xs);background:var(--surface-sunk);color:var(--ink-2);border-radius:9px;flex:none;place-items:center;font-weight:800;display:grid}.avatar svg{width:16px;height:16px}.avatar.agent{background:color-mix(in srgb, var(--line,var(--ok)) 16%, var(--surface));color:var(--line,var(--ok))}.avatar.owner{background:var(--action);color:var(--action-ink)}.avatar.client{background:var(--warn-soft);color:var(--warn)}.msg-head{align-items:center;gap:var(--s-2);font-size:var(--t-sm);display:flex}.msg-head strong{font-weight:700}.msg-head time{color:var(--ink-3);font-size:var(--t-xs)}.msg-body{margin-top:2px}.msg.system{color:var(--ink-3);font-size:var(--t-sm);grid-template-columns:32px minmax(0,1fr);align-items:center}.msg.system .avatar{background:0 0}.badge-internal{color:var(--ink-3);border:1px solid var(--rule);border-radius:4px;padding:0 5px;font-size:10.5px;font-weight:700}.badge-shared{color:var(--info);border:1px solid color-mix(in srgb, var(--info) 40%, transparent);border-radius:4px;padding:0 5px;font-size:10.5px;font-weight:700}.composer{border:1px solid var(--rule-strong);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}.composer textarea{width:100%;min-height:72px;padding:var(--s-3) var(--s-4);resize:vertical;background:0 0;border:0;line-height:1.7}.composer textarea:focus{outline:none}.composer-bar{align-items:center;gap:var(--s-1);padding:var(--s-2);border-top:1px solid var(--rule);background:var(--surface-2);display:flex}.composer-bar .spacer{flex:1}.files{gap:var(--s-2);grid-template-columns:repeat(auto-fill,minmax(132px,1fr));display:grid}.file{border:1px solid var(--rule);border-radius:var(--r-md);background:var(--surface);color:inherit;text-decoration:none;overflow:hidden}.file-thumb{aspect-ratio:4/3;background:var(--surface-sunk);color:var(--ink-3);place-items:center;display:grid}.file-thumb svg{width:26px;height:26px}.file-thumb img{object-fit:cover;width:100%;height:100%}.file-name{font-size:var(--t-xs);white-space:nowrap;text-overflow:ellipsis;padding:6px 8px;font-weight:600;overflow:hidden}.file-meta{color:var(--ink-3);padding:0 8px 6px;font-size:11px}.dropzone{border:1.5px dashed var(--rule-strong);border-radius:var(--r-md);padding:var(--s-4);text-align:center;color:var(--ink-3);font-size:var(--t-sm)}.dropzone.active{border-color:var(--focus);background:color-mix(in srgb, var(--focus) 6%, transparent);color:var(--ink)}.plan-head{align-items:center;gap:var(--s-3);padding:var(--s-4) var(--s-8) var(--s-3);flex-wrap:wrap;display:flex}.plan-head h2{font-size:var(--t-xl);font-weight:800}.plan-note{margin:0 var(--s-8) var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);background:var(--surface);border:1px solid var(--rule);gap:var(--s-3);align-items:flex-start;display:flex}.plan-note svg{width:18px;height:18px;color:var(--ink-3);flex:none;margin-top:3px}.plan-grid{gap:var(--s-2);padding:0 var(--s-8) var(--s-8);grid-template-columns:repeat(7,minmax(160px,1fr));display:grid;overflow-x:auto}.day{background:var(--surface-2);border:1px solid var(--rule);border-radius:var(--r-lg);flex-direction:column;min-height:320px;display:flex}.day.today{border-color:var(--ink);box-shadow:inset 0 3px 0 var(--ink)}.day.off{background:repeating-linear-gradient(-45deg, var(--surface-2), var(--surface-2) 8px, var(--surface-sunk) 8px, var(--surface-sunk) 9px)}.day-head{padding:var(--s-3);align-items:baseline;gap:var(--s-2);border-bottom:1px solid var(--rule);display:flex}.day-head strong{font-weight:800}.day-head span{color:var(--ink-3);font-size:var(--t-xs)}.day-head .today-tag{background:var(--ink);color:var(--ink-inv);border-radius:var(--r-pill);margin-inline-start:auto;padding:1px 7px;font-size:10.5px;font-weight:800}.day-body{padding:var(--s-2);flex-direction:column;flex:1;gap:6px;display:flex}.pitem{gap:6px var(--s-2);border-radius:var(--r-md);background:var(--surface);border:1px solid var(--rule);font-size:var(--t-sm);cursor:grab;grid-template-columns:18px minmax(0,1fr);align-items:start;padding:8px;display:grid}.pitem:hover{border-color:var(--rule-strong);box-shadow:var(--shadow-1)}.pitem .check{border:2px solid var(--rule-strong);border-radius:5px;place-items:center;width:18px;height:18px;margin-top:2px;display:grid}.pitem .check svg{width:12px;height:12px}.pitem.done{opacity:.6}.pitem.done .check{background:var(--ok);border-color:var(--ok);color:#fff}.pitem.done .ptitle{text-decoration:line-through;-webkit-text-decoration-color:var(--ink-3);text-decoration-color:var(--ink-3)}.pitem.overdue{border-color:var(--age-overdue)}.pitem.owner{border-color:color-mix(in srgb, var(--you) 55%, var(--rule))}.ptitle{font-weight:600;line-height:1.5}.pmeta{color:var(--ink-3);flex-wrap:wrap;grid-column:2;align-items:center;gap:6px;font-size:11.5px;display:flex}.pmeta .line-dot{background:var(--line);border-radius:50%;flex:none;width:8px;height:8px}.pmeta .pboard{white-space:nowrap;text-overflow:ellipsis;max-width:100%;color:var(--ink-2);align-items:center;gap:4px;font-weight:600;display:inline-flex;overflow:hidden}.pmeta .pwho{align-items:center;gap:3px;display:inline-flex}.pmeta .pboard{flex-basis:100%}.dash-grid{gap:var(--s-4);padding:var(--s-5) var(--s-8) var(--s-10);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.panel{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-lg);padding:var(--s-4) var(--s-5);min-width:0}.panel h3{font-size:var(--t-md);margin-bottom:var(--s-1);font-weight:800}.panel .sub{color:var(--ink-3);font-size:var(--t-xs);margin-bottom:var(--s-3)}.span-12{grid-column:span 12}.span-8{grid-column:span 8}.span-7{grid-column:span 7}.span-6{grid-column:span 6}.span-5{grid-column:span 5}.span-4{grid-column:span 4}.departures{border-collapse:collapse;width:100%;font-size:var(--t-md)}.departures th{text-align:start;font-size:var(--t-xs);color:var(--ink-3);padding:0 var(--s-2) var(--s-2);border-bottom:1px solid var(--rule-strong);font-weight:700}.departures td{padding:10px var(--s-2);border-bottom:1px solid var(--rule);font-variant-numeric:tabular-nums}.departures tr:last-child td{border-bottom:0}.departures .metric{font-weight:700}.departures .val{font-size:var(--t-xl);font-weight:800}.delta{font-weight:700;font-size:var(--t-sm);align-items:center;gap:3px;display:inline-flex}.delta svg{width:14px;height:14px}.delta.good{color:var(--ok)}.delta.bad{color:var(--danger)}.delta.flat{color:var(--ink-3)}.trend{width:120px;height:28px}.trend path{fill:none;stroke:var(--line,var(--ink-2));stroke-width:1.75px;stroke-linejoin:round;stroke-linecap:round}.trend .area{fill:color-mix(in srgb, var(--line,var(--ink-2)) 12%, transparent);stroke:none}.chart-box{height:240px;position:relative}.chart-fallback{color:var(--ink-3);font-size:var(--t-sm);place-items:center;display:grid;position:absolute;inset:0}.bars{gap:var(--s-2);flex-direction:column;display:flex}.bar-row{gap:var(--s-3);font-size:var(--t-sm);grid-template-columns:110px minmax(0,1fr) 52px;align-items:center;display:grid}.bar-track{background:var(--surface-sunk);border-radius:5px;height:10px;display:flex;overflow:hidden}.bar-track>span{height:100%}.bar-row .v{text-align:end;font-variant-numeric:tabular-nums;font-weight:700}.portal{max-width:760px;padding:var(--s-6) var(--s-4) var(--s-10);margin:0 auto}.portal-brand{align-items:center;gap:var(--s-3);padding-bottom:var(--s-5);border-bottom:1px solid var(--rule);margin-bottom:var(--s-6);display:flex}.portal-brand .logo{width:auto;height:40px}.portal-brand h1{font-size:var(--t-xl);font-weight:800}.portal-brand p{color:var(--ink-3);font-size:var(--t-sm)}.portal-card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-lg);padding:var(--s-4);gap:var(--s-3);box-shadow:var(--shadow-1);flex-direction:column;display:flex}.portal-card+.portal-card{margin-top:var(--s-3)}.portal-card h3{font-size:var(--t-lg);font-weight:800;line-height:1.5}.portal-card .why{color:var(--ink-2);line-height:1.8}.toasts{bottom:var(--s-5);z-index:var(--z-toast);gap:var(--s-2);flex-direction:column;align-items:center;display:flex;position:fixed;inset-inline-start:50%;transform:translate(50%)}.toast{background:var(--action);color:var(--action-ink);border-radius:var(--r-md);box-shadow:var(--shadow-3);font-weight:600;font-size:var(--t-sm);gap:var(--s-3);animation:toast-in var(--dur-3) var(--ease-out);align-items:center;padding:10px 16px;display:flex}.toast button{color:inherit;font-weight:700;text-decoration:underline}.toast.error{background:var(--danger);color:#fff}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.palette-wrap{z-index:var(--z-palette);background:var(--scrim);animation:fade-in var(--dur-2) var(--ease-out);justify-content:center;padding-top:12vh;display:flex;position:fixed;inset:0}.palette{background:var(--surface);border-radius:var(--r-lg);width:min(640px,100vw - 32px);max-height:64vh;box-shadow:var(--shadow-3);border:1px solid var(--rule);flex-direction:column;display:flex;overflow:hidden}.palette input{border:0;border-bottom:1px solid var(--rule);padding:var(--s-4) var(--s-5);font-size:var(--t-lg);background:0 0}.palette input:focus{outline:none}.palette-list{padding:var(--s-2);overflow-y:auto}.palette-item{align-items:center;gap:var(--s-3);width:100%;padding:10px var(--s-3);border-radius:var(--r-md);text-align:start;display:flex}.palette-item[aria-selected=true]{background:var(--hover)}.palette-item .roundel{border-width:3px;width:12px;height:12px}.palette-group{padding:var(--s-2) var(--s-3) 4px;font-size:var(--t-xs);color:var(--ink-3);font-weight:700}.menu{z-index:var(--z-pop);background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-md);min-width:200px;box-shadow:var(--shadow-3);animation:fade-in var(--dur-1) var(--ease-out);padding:4px;position:fixed}.menu button{align-items:center;gap:var(--s-2);text-align:start;width:100%;font-size:var(--t-sm);border-radius:6px;padding:8px 10px;display:flex}.menu button:hover,.menu button:focus-visible{background:var(--hover);outline:none}.menu button svg{width:16px;height:16px;color:var(--ink-3)}.menu hr{border:0;border-top:1px solid var(--rule);margin:4px 0}.skeleton{background:linear-gradient(90deg, var(--surface-sunk), var(--hover), var(--surface-sunk));border-radius:var(--r-sm);background-size:200% 100%;animation:1.4s linear infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.banner{align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-8);font-size:var(--t-sm);background:var(--warn-soft);color:var(--warn);border-bottom:1px solid var(--rule);font-weight:600;display:flex}.banner svg{width:16px;height:16px}.bottom-nav,.fab{display:none}@media (width<=1100px){.home-grid{grid-template-columns:minmax(0,1fr)}.span-8,.span-7,.span-6,.span-5,.span-4{grid-column:span 12}}@media (width<=860px){:root{--col-w:84vw;--topbar-h:52px}html{font-size:106.25%}.app{grid-template-columns:minmax(0,1fr)}.rail{display:none}.topbar{padding:0 var(--s-4)}.search-trigger{justify-content:center;width:40px;min-width:0;padding:0}.search-trigger span,.search-trigger .kbd{display:none}.content{padding:var(--s-4) var(--s-4) calc(var(--s-10) + 64px)}.board-head,.tabs,.toolbar,.plan-head{padding-inline:var(--s-4)}.plan-note{margin-inline:var(--s-4)}.route{padding-inline:var(--s-4)}.route-track{inset-inline:calc(var(--s-4) + var(--col-w) / 2)}.columns{padding:var(--s-2) var(--s-4) calc(var(--s-10) + 64px);scroll-snap-type:x mandatory}.board-scroll{scroll-snap-type:x mandatory}.column{scroll-snap-align:center;max-height:none}.plan-grid{padding:0 var(--s-4) calc(var(--s-10) + 64px);scroll-snap-type:x mandatory;grid-template-columns:repeat(7,78vw)}.day{scroll-snap-align:center}.dash-grid{padding:var(--s-4) var(--s-4) calc(var(--s-10) + 64px);gap:var(--s-3)}.page-head h1{font-size:var(--t-2xl)}.sheet{width:100vw}.sheet-body{padding:var(--s-4) var(--s-4) calc(var(--s-10) + 20px)}.props{grid-template-columns:96px minmax(0,1fr)}.week-strip{grid-template-columns:96px repeat(7,minmax(0,1fr))}.hide-mobile{display:none!important}.topbar-title{font-size:var(--t-md);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.network svg.compact{min-width:0}.bottom-nav{bottom:0;z-index:var(--z-rail);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--rule);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset-inline:0}.bottom-nav a,.bottom-nav button{min-height:58px;color:var(--ink-3);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:11px;font-weight:600;text-decoration:none;display:flex;position:relative}.bottom-nav [aria-current=page]{color:var(--ink)}.bottom-nav svg{width:22px;height:22px}.bottom-nav .count{top:6px;min-width:18px;height:18px;padding:0 5px;font-size:10px;position:absolute;inset-inline-start:calc(50% + 4px)}.fab{bottom:calc(70px + env(safe-area-inset-bottom));z-index:var(--z-rail);background:var(--action);width:54px;height:54px;color:var(--action-ink);box-shadow:var(--shadow-3);border-radius:16px;place-items:center;display:grid;position:fixed;inset-inline-end:var(--s-4)}.fab svg{width:24px;height:24px}}.me-btn{border-radius:var(--r-sm);align-items:center;gap:8px;height:36px;padding:0 4px;display:inline-flex}.me-btn:hover{background:var(--hover)}.me-btn .avatar{border-radius:8px;width:28px;height:28px;font-size:12px}.menu .menu-label{font-size:var(--t-xs);color:var(--ink-3);padding:6px 10px 2px;font-weight:700}.menu button[aria-checked=true]{font-weight:700}.menu button[aria-checked=true]:after{content:"";background:var(--focus);border-radius:50%;width:6px;height:6px;margin-inline-start:auto}.spacer{flex:1}.grow{flex:1;min-width:0}.push-end{margin-inline-start:auto}.muted{color:var(--ink-3)}.muted-sm{color:var(--ink-3);font-size:var(--t-xs)}.mt{margin-top:var(--s-6)}.pad{padding:var(--s-5) var(--s-8) var(--s-10)}.ico13{width:13px;height:13px}.ico16{width:16px;height:16px}.row-start{gap:var(--s-2);flex-wrap:wrap;align-items:center;display:flex}.row-end{gap:var(--s-2);margin-top:var(--s-2);justify-content:flex-end;display:flex}.main-region{display:contents}.plain-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.plain-list li{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.clickable{cursor:pointer}.hint{font-size:var(--t-sm);color:var(--ink-3)}.err{color:var(--danger);font-size:var(--t-sm);font-weight:600}.ok-line{color:var(--ok);align-items:center;gap:6px;font-weight:700;display:flex}.ok-line svg{width:16px;height:16px}.page-title{font-size:var(--t-3xl);font-weight:800}.icon-btn.sm{width:28px;height:28px}.icon-btn.sm svg{width:15px;height:15px}.icon-btn.on{color:var(--info);background:var(--info-soft)}.btn.on{background:var(--surface-sunk)}.btn.danger-solid{background:var(--danger);border-color:var(--danger);color:#fff}.btn.danger-solid:hover{background:color-mix(in srgb, var(--danger) 88%, #000)}.chip button{width:16px;height:16px;color:inherit;border-radius:3px;place-items:center;margin-inline-start:2px;display:inline-grid}.chip button svg{width:11px;height:11px}.chip button:hover{background:color-mix(in srgb, currentColor 14%, transparent)}.seg-ico{vertical-align:-2px;width:13px;height:13px;margin-inline-end:4px;display:inline}.req{color:var(--danger)}.spinner{border:2.5px solid var(--rule-strong);border-top-color:var(--ink);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin;display:inline-block}.splash{place-items:center;min-height:100dvh;display:grid}.select{appearance:none;height:34px;min-height:34px;font-size:var(--t-sm);background-image:linear-gradient(45deg, transparent 50%, var(--ink-3) 50%), linear-gradient(135deg, var(--ink-3) 50%, transparent 50%);cursor:pointer;background-position:14px,9px;background-repeat:no-repeat;background-size:5px 5px;width:auto;max-width:100%;padding-block:0;padding-inline-end:30px}.props .select{height:30px;min-height:30px}.input.color{width:64px;height:36px;padding:2px}.date-btn{height:34px;min-height:34px;font-size:var(--t-sm);text-align:start;cursor:pointer;align-items:center;gap:6px;width:auto;padding:0 10px;display:inline-flex}.date-btn svg{width:15px;height:15px;color:var(--ink-3)}.ltr-input{text-align:left;direction:ltr;max-width:140px}.title-input{font-size:var(--t-xl);font-weight:800}.pw-wrap{position:relative}.pw-wrap .icon-btn{width:32px;height:32px;position:absolute;top:50%;left:4px;transform:translateY(-50%)}.pw-wrap input{padding-left:44px}.form-grid{gap:var(--s-3) var(--s-4);grid-template-columns:repeat(auto-fill,minmax(190px,1fr));align-items:start;display:grid}.form-stack{gap:var(--s-3);display:grid}.inline-add{gap:var(--s-2);margin-top:var(--s-2);align-items:center;display:flex}.inline-add.wrap{flex-wrap:wrap}.inline-add .input{flex:1;min-width:0}.inline-check{font-size:var(--t-sm);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.inline-check input{width:16px;height:16px;accent-color:var(--ink)}.dialog-wrap{z-index:calc(var(--z-sheet) + 10);background:var(--scrim);padding:var(--s-4);animation:fade-in var(--dur-2) var(--ease-out);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:var(--surface);border-radius:var(--r-lg);width:min(560px,100%);max-height:calc(100dvh - 32px);box-shadow:var(--shadow-3);border:1px solid var(--rule);animation:dialog-in var(--dur-3) var(--ease-out);flex-direction:column;display:flex}.dialog.wide{width:min(820px,100%)}@keyframes dialog-in{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:none}}.dialog-head{align-items:center;gap:var(--s-2);padding:var(--s-4) var(--s-5) var(--s-2);display:flex}.dialog-head h2{font-size:var(--t-lg);flex:1;font-weight:800}.dialog-body{padding:var(--s-2) var(--s-5) var(--s-4);gap:var(--s-3);display:grid;overflow-y:auto}.dialog-foot{gap:var(--s-2);padding:var(--s-3) var(--s-5);border-top:1px solid var(--rule);background:var(--surface-2);border-radius:0 0 var(--r-lg) var(--r-lg);flex-wrap:wrap;justify-content:flex-end;display:flex}.datepop{z-index:calc(var(--z-sheet) + 20);background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-md);width:280px;box-shadow:var(--shadow-3);padding:var(--s-2);animation:fade-in var(--dur-1) var(--ease-out);position:fixed}.datepop-head{justify-content:space-between;align-items:center;padding:2px 2px 6px;display:flex}.datepop-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.datepop-grid .dow{color:var(--ink-3);text-align:center;padding:4px 0;font-size:11px;font-weight:700}.day-cell{height:34px;font-size:var(--t-sm);font-variant-numeric:tabular-nums;border-radius:6px}.day-cell:hover{background:var(--hover)}.day-cell.is-off{color:var(--you-ink)}.day-cell.is-today{box-shadow:inset 0 0 0 1px var(--ink);font-weight:800}.day-cell.is-sel{background:var(--action);color:var(--action-ink);font-weight:800}.datepop-foot{border-top:1px solid var(--rule);justify-content:space-between;margin-top:6px;padding-top:6px;display:flex}.auth{min-height:100dvh;padding:var(--s-4);background-color:var(--bg);background-image:radial-gradient(circle at 1px 1px, color-mix(in srgb, var(--ink) 8%, transparent) 1px, transparent 0);background-size:18px 18px;place-items:center;display:grid}.auth-card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-lg);width:min(400px,100%);box-shadow:var(--shadow-2);padding:var(--s-6);gap:var(--s-4);display:grid}.auth-card h1{font-size:var(--t-2xl);font-weight:800}.auth-brand{align-items:center;gap:var(--s-3);display:flex}.auth-brand strong{font-weight:800;display:block}.auth-brand span{font-size:var(--t-xs);color:var(--ink-3)}.notif-panel{z-index:var(--z-pop);background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-md);width:min(380px,100vw - 16px);max-height:70vh;box-shadow:var(--shadow-3);animation:fade-in var(--dur-1) var(--ease-out);flex-direction:column;display:flex;position:fixed}.notif-panel header{padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--rule);align-items:center;display:flex}.notif-panel header strong{flex:1}.notif-list{padding:4px;overflow-y:auto}.notif{text-align:start;border-radius:6px;gap:2px;width:100%;padding:10px 12px;display:grid}.notif:hover{background:var(--hover)}.notif.unread{background:color-mix(in srgb, var(--you-soft) 45%, transparent)}.notif.unread .notif-title:before{content:"";background:var(--you);vertical-align:2px;border-radius:50%;width:7px;height:7px;margin-inline-end:6px;display:inline-block}.notif-title{font-weight:700;font-size:var(--t-sm)}.notif-body{font-size:var(--t-xs);color:var(--ink-2)}.notif time{color:var(--ink-3);font-size:11px}.palette-input{align-items:center;gap:var(--s-2);padding:0 var(--s-4);border-bottom:1px solid var(--rule);display:flex}.palette-input svg{width:18px;height:18px;color:var(--ink-3)}.palette-input input{padding:var(--s-4) 0;font-size:var(--t-lg);background:0 0;border:0;flex:1}.palette-input input:focus{outline:none}.palette-empty{padding:var(--s-5);text-align:center;color:var(--ink-3);font-size:var(--t-sm)}.pi-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.pi-hint{font-size:var(--t-xs);color:var(--ink-3)}.sheet-title.editable{cursor:text}.sheet-body.drag{outline:2px dashed var(--focus);outline-offset:-8px}.block-actions{gap:var(--s-2);margin-top:var(--s-3);flex-wrap:wrap;display:flex}.block-title .push-end{margin-inline-start:auto}.edit-body .textarea{min-height:200px}.checklist{gap:4px;margin:0;padding:0;list-style:none;display:grid}.checklist li{gap:var(--s-2);border-radius:6px;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;padding:4px 6px;display:grid}.checklist li:hover{background:var(--hover)}.checklist .check{border:2px solid var(--rule-strong);border-radius:5px;place-items:center;width:20px;height:20px;display:grid}.checklist .check.on{background:var(--ok);border-color:var(--ok);color:#fff}.checklist .check svg{width:13px;height:13px}.checklist .done{color:var(--ink-3);text-decoration:line-through}.row-tools{align-items:center;gap:4px;display:inline-flex}.file{flex-direction:column;display:flex}.file-open{text-align:start;width:100%;color:inherit;display:block}.file-meta{justify-content:space-between;align-items:center;gap:4px;padding:0 4px 4px 8px;display:flex}.upload-row{gap:var(--s-2);font-size:var(--t-xs);grid-template-columns:minmax(0,1fr) 120px 44px;align-items:center;margin-top:6px;display:grid}.upload-row progress{width:100%;height:6px;accent-color:var(--ink)}.dropzone{align-items:center;gap:var(--s-2);margin-top:var(--s-2);flex-direction:column;display:flex}.drop-actions{gap:var(--s-2);flex-wrap:wrap;justify-content:center;display:flex}.btn.recording{border-color:var(--you);color:var(--you-ink)}.rec-dot{background:var(--you);border-radius:50%;width:9px;height:9px;animation:1s ease-in-out infinite pulse-rec}@keyframes pulse-rec{50%{opacity:.3}}.request.closed{opacity:.92}.request.closed .request-head .ring{border-color:var(--ok);box-shadow:0 0 0 2px var(--surface), 0 0 0 3.5px var(--ok)}.request-head .ring.muted{border-color:var(--ink-3);box-shadow:0 0 0 2px var(--surface), 0 0 0 3.5px var(--ink-3)}.waiting-line{align-items:center;gap:var(--s-2);color:var(--ink-2);display:flex}.waiting-line span{flex:1}.resolved{color:var(--ink-2);font-size:var(--t-sm)}.answers{gap:6px;margin:0;display:grid}.answers div{gap:var(--s-3);border-bottom:1px solid var(--rule);font-size:var(--t-sm);grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:6px 0;display:grid}.answers dt{color:var(--ink-3)}.answers dd{margin:0;font-weight:600}.note{background:var(--surface-2);border-radius:var(--r-sm);padding:var(--s-2) var(--s-3);font-size:var(--t-sm)}.steps{gap:4px;margin:0;padding-inline-start:var(--s-5);display:grid}.options{gap:8px;display:grid}.option.compact{align-items:center;padding:8px 10px}.check-opt .box{border:2px solid var(--rule-strong);border-radius:4px;flex:none;place-items:center;width:18px;height:18px;display:grid}.check-opt[aria-checked=true] .box{background:var(--ink);border-color:var(--ink);color:var(--ink-inv)}.check-opt .box svg{width:12px;height:12px}.slot-files{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.builder{border:1px solid var(--rule);border-radius:var(--r-md);padding:var(--s-3);gap:var(--s-2);margin:0;display:grid}.builder legend{font-weight:800;font-size:var(--t-sm);padding:0 6px}.builder-row{gap:var(--s-2);flex-wrap:wrap;align-items:center;display:flex}.builder-row .input{flex:160px;min-width:0}.builder-q{padding-bottom:var(--s-2);border-bottom:1px dashed var(--rule);gap:6px;display:grid}.viewer{z-index:calc(var(--z-sheet) + 30);color:#eef2f9;background:#050912eb;flex-direction:column;display:flex;position:fixed;inset:0}.viewer-head{align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-4);border-bottom:1px solid #ffffff14;display:flex}.viewer-head .icon-btn,.viewer-head .muted-sm{color:#cfd6e4}.viewer-head .icon-btn:hover{background:#ffffff14}.viewer-head .btn{color:#eef2f9;background:0 0;border-color:#fff3}.viewer-body{padding:var(--s-4);flex:1;justify-content:center;align-items:flex-start;display:flex;overflow:auto}.viewer-img{object-fit:contain;max-width:100%;max-height:calc(100dvh - 90px);margin:auto}.viewer-video{max-width:100%;max-height:calc(100dvh - 90px);margin:auto}.viewer-audio{width:min(480px,100%);margin:auto}.viewer-none{text-align:center;gap:var(--s-3);color:#cfd6e4;place-items:center;margin:auto;display:grid}.viewer-none svg{width:48px;height:48px}.pdf-wrap{gap:var(--s-3);justify-items:center;width:100%;max-width:1100px;display:grid}.pdf-pages{gap:var(--s-3);justify-items:center;width:100%;display:grid}.pdf-pages canvas{background:#fff;max-width:100%;box-shadow:0 6px 24px #0006;height:auto!important}.text-view{white-space:pre-wrap;background:var(--surface);color:var(--ink);padding:var(--s-5);border-radius:var(--r-md);width:min(860px,100%);font-family:var(--font);line-height:1.9}.ready-pill{border-radius:var(--r-pill);border:1px solid var(--rule);background:var(--surface);height:30px;font-size:var(--t-sm);color:var(--ink-2);align-items:center;gap:8px;padding:0 12px;font-weight:600;text-decoration:none;display:inline-flex}.ready-bar{background:var(--surface-sunk);border-radius:3px;width:48px;height:6px;overflow:hidden}.ready-bar span{background:var(--ok);height:100%;display:block}.board-head .spacer{flex:1}.tab-wrap{align-items:center;display:inline-flex}.tab-sep{background:var(--rule-strong);width:1px;height:20px;margin:0 var(--s-2)}.search-box{position:relative}.search-box svg{inset-inline-start:10px;width:16px;height:16px;color:var(--ink-3);position:absolute;top:8px}.search-box .filter-input{padding-inline-start:32px}.plan-head.top{padding-top:var(--s-6)}.week-nav{align-items:center;gap:6px;display:flex}.week-nav strong{text-align:center;min-width:190px}.plan-summary{align-items:center;gap:var(--s-3);padding:0 var(--s-8) var(--s-3);font-size:var(--t-sm);color:var(--ink-2);flex-wrap:wrap;display:flex}.plan-summary .bar{background:var(--surface-sunk);border-radius:3px;width:160px;height:6px;overflow:hidden}.plan-summary .bar span{background:var(--ok);height:100%;display:block}.pitem .ptitle{text-align:start;color:inherit;font:inherit;cursor:pointer;padding:0;font-weight:600}.pitem .ptitle:hover{text-decoration:underline;-webkit-text-decoration-color:var(--rule-strong);text-decoration-color:var(--rule-strong)}.pitem.skipped{opacity:.5}.pitem.dragging{box-shadow:var(--shadow-3);cursor:grabbing}.pitem .chip{height:18px}.day.drop-target{border-color:var(--focus);background:color-mix(in srgb, var(--focus) 5%, var(--surface-2))}.weekday-pick{flex-wrap:wrap;gap:6px;display:flex}.chip-toggle{border-radius:var(--r-sm);border:1px solid var(--rule-strong);height:30px;font-size:var(--t-sm);color:var(--ink-2);padding:0 12px;font-weight:600}.chip-toggle[aria-pressed=true]{background:var(--action);color:var(--action-ink);border-color:var(--action)}.row-ico{width:18px;height:18px;color:var(--ink-3);margin-top:3px}.row-main{text-align:start;color:inherit;min-width:0}.list-row:has(.row-main){grid-template-columns:20px minmax(0,1fr) auto}.list-row:has(.row-ico){grid-template-columns:20px minmax(0,1fr) auto}.table-tools{align-items:center;gap:var(--s-2);margin:var(--s-3) 0 var(--s-2);display:flex}.table-wrap{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-lg);overflow-x:auto}.dtable{border-collapse:collapse;width:100%;font-size:var(--t-sm);min-width:760px}.dtable th{background:var(--surface-2);text-align:start;font-size:var(--t-xs);color:var(--ink-3);border-bottom:1px solid var(--rule-strong);white-space:nowrap;padding:0;font-weight:700;position:sticky;top:0}.dtable th button{text-align:start;width:100%;color:inherit;padding:9px 10px;font-weight:700}.dtable th[aria-sort=ascending] button:after{content:" ↑"}.dtable th[aria-sort=descending] button:after{content:" ↓"}.dtable td{border-bottom:1px solid var(--rule);vertical-align:middle;padding:8px 10px}.dtable tr:last-child td{border-bottom:0}.dtable tr:hover td{background:color-mix(in srgb, var(--hover) 55%, transparent)}.dtable tr.stale td{opacity:.55}.dtable td.editable{cursor:pointer}.dtable td.editable:hover{box-shadow:inset 0 0 0 1px var(--rule-strong);border-radius:4px}.dtable td.editable:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.num-col{text-align:start;font-variant-numeric:tabular-nums}.row-actions{white-space:nowrap;text-align:end}.row-actions>*{vertical-align:middle}.cell-link{color:var(--info);align-items:center;gap:4px;text-decoration:none;display:inline-flex}.cell-link:hover{text-decoration:underline}.cell-edit .input{height:30px;min-height:30px;padding:4px 8px}.pos{font-weight:800}.pos.top3{color:var(--ok)}.pos.top10{color:var(--info)}.pos.top20{color:var(--warn)}.count-strip{gap:var(--s-2);margin-bottom:var(--s-2);flex-wrap:wrap;display:flex}.count-cell{border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--rule);font-size:var(--t-sm);color:var(--ink-2);align-items:baseline;gap:6px;padding:6px 12px;display:inline-flex}.count-cell strong{font-size:var(--t-lg);color:var(--ink);font-variant-numeric:tabular-nums}.count-cell.good strong{color:var(--ok)}.count-cell.bad strong{color:var(--danger)}.tech-index{margin-bottom:var(--s-4)}.timeline{gap:var(--s-5);margin:0;padding:0;list-style:none;display:grid}.timeline>li>h3{font-size:var(--t-md);margin-bottom:var(--s-2);font-weight:800}.timeline ul{gap:var(--s-2);margin:0;padding:0;list-style:none;display:grid}.tl-item{gap:var(--s-3);background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-md);padding:var(--s-3);grid-template-columns:14px minmax(0,1fr) auto;align-items:start;display:grid}.timeline.compact .tl-item{grid-template-columns:14px minmax(0,1fr)}.tl-dot{border:3px solid var(--line,var(--ink-3));background:var(--surface);border-radius:50%;width:12px;height:12px;margin-top:6px}.tl-meta{gap:var(--s-2);flex-wrap:wrap;align-items:center;margin-top:4px;display:flex}.setup-grid{gap:var(--s-4);grid-template-columns:repeat(auto-fill,minmax(340px,1fr));display:grid}.setup-list{margin:var(--s-2) 0 0;gap:4px;padding:0;list-style:none;display:grid}.setup-item{gap:var(--s-2);border-bottom:1px solid var(--rule);grid-template-columns:12px minmax(0,1fr) auto;align-items:center;padding:6px 4px;display:grid}.setup-item:last-child{border-bottom:0}.s-dot{background:var(--rule-strong);border-radius:50%;width:10px;height:10px}.s-done .s-dot{background:var(--ok)}.s-in_progress .s-dot{background:var(--info)}.s-needs_client .s-dot{background:var(--age-aging)}.s-missing .s-dot{background:var(--you)}.s-not_applicable .s-dot{background:var(--surface-sunk);border:1px solid var(--rule-strong)}.s-not_applicable .s-label{color:var(--ink-3)}.report-grid{gap:var(--s-4);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.report-card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-lg);flex-direction:column;display:flex;overflow:hidden}.report-thumb{aspect-ratio:210/140;background:var(--surface-sunk);border-bottom:1px solid var(--rule);place-items:center;display:grid;position:relative;overflow:hidden}.report-thumb img{object-fit:cover;object-position:top;width:100%;height:100%;position:absolute;inset:0}.report-thumb svg{width:32px;height:32px;color:var(--ink-3)}.report-body{padding:var(--s-3) var(--s-4) var(--s-4);gap:6px;display:grid}.report-body h3{font-size:var(--t-md);font-weight:800;line-height:1.5}.report-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.departures .prev{color:var(--ink-3)}.goals{gap:var(--s-4);margin-top:var(--s-2);display:grid}.goal{gap:6px;display:grid}.goal-head{justify-content:space-between;gap:var(--s-2);display:flex}.goal .bar-track{height:8px}.portal-brand .grow h1{font-size:var(--t-xl)}.avatar.big{border-radius:14px;width:48px;height:48px}.avatar.big svg{width:22px;height:22px}.portal-list{gap:var(--s-3);display:grid}.portal-card{text-align:start;width:100%;color:inherit;cursor:pointer;transition:border-color var(--dur-1) var(--ease-out), box-shadow var(--dur-1) var(--ease-out)}.portal-card:hover{border-color:var(--rule-strong);box-shadow:var(--shadow-2)}.portal-cta{pointer-events:none;align-self:flex-start}.portal-cta svg{width:16px;height:16px}.portal-empty{padding:var(--s-5);border:1px dashed var(--rule-strong);border-radius:var(--r-lg);text-align:center;color:var(--ink-2);gap:4px;display:grid}.portal-empty strong{color:var(--ink)}.portal-kpis{gap:var(--s-2);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));display:grid}.pk{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-md);padding:var(--s-3);gap:2px;display:grid}.pk-label{font-size:var(--t-xs);color:var(--ink-3);font-weight:600}.pk-val{font-size:var(--t-xl);font-variant-numeric:tabular-nums;font-weight:800}.settings-grid{gap:var(--s-4);grid-template-columns:repeat(auto-fill,minmax(min(520px,100%),1fr));align-items:start;display:grid}.settings-section h2{font-size:var(--t-lg);align-items:center;gap:var(--s-2);margin-bottom:var(--s-2);font-weight:800;display:flex}.settings-section h2 svg{width:18px;height:18px;color:var(--ink-3)}.settings-section .list{margin-top:var(--s-2);margin-bottom:var(--s-2)}.copy-box{gap:var(--s-2);background:var(--surface-2);border:1px solid var(--rule);border-radius:var(--r-sm);align-items:center;padding:6px 6px 6px 10px;display:flex}.copy-box code{white-space:nowrap;font-size:var(--t-xs);flex:1;overflow-x:auto}.kv{gap:6px var(--s-4);font-size:var(--t-sm);grid-template-columns:150px minmax(0,1fr);margin:0;display:grid}.kv dt{color:var(--ink-3)}.kv dd{margin:0;font-weight:600}.kv dd.bad{color:var(--danger)}.sessions li{border-bottom:1px solid var(--rule);justify-content:space-between;padding:6px 0}.col-editor{gap:var(--s-2);display:grid}.col-row{gap:var(--s-2);padding:var(--s-2);border:1px solid var(--rule);border-radius:var(--r-md);background:var(--surface-2);flex-wrap:wrap;align-items:center;display:flex}.col-row>.input{flex:140px;min-width:0;height:34px;min-height:34px;padding-block:0}.col-order{display:inline-flex}.chips-wrap{gap:6px var(--s-3);margin-top:var(--s-2);flex-wrap:wrap;display:flex}@media (width<=860px){.pad{padding:var(--s-4) var(--s-4) calc(var(--s-10) + 64px)}.plan-summary{padding-inline:var(--s-4)}.week-nav strong{min-width:0}.dialog-wrap{align-items:flex-end;padding:0}.dialog{border-radius:var(--r-lg) var(--r-lg) 0 0;width:100%;max-height:92dvh}.dialog-foot{padding-bottom:calc(var(--s-3) + env(safe-area-inset-bottom));border-radius:0}.kv{grid-template-columns:120px minmax(0,1fr)}.setup-grid{grid-template-columns:minmax(0,1fr)}}
