@import "https://fonts.googleapis.com/css2?family=Geist:wght@300..700&family=Geist+Mono:wght@400;500&display=swap";:root,[data-theme=dark]{--bg:#0a0909;--scene-a:#d32e2f9e;--scene-b:#7e1e1e8c;--scene-c:#ff88601a;--ribbon-op:.55;--glass-rail:#100d0d94;--glass-panel:#18141475;--glass-raised:#ffffff0e;--glass-hover:#ffffff0b;--glass-active:#ffffff16;--edge:#ffffff16;--hl:#ffffff12;--outline:#00000059;--line:#ffffff12;--ink:#f5f2ef;--ink-2:#f5f2efad;--ink-3:#f5f2ef99;--ink-4:#f5f2ef33;--brand:#d32e2f;--glow:#ff5b4d;--ok:#52dc9c;--warn:#f4b860;--risk:#ff6b5e;--calm:#aeb8c6;--ok-bg:#52dc9c1f;--warn-bg:#f4b86021;--risk-bg:#ff6b5e24;--calm-bg:#aeb8c61f;--btn:#f5f2ef;--btn-ink:#131010;--field:#ffffff0b;--field-edge:#fff6;--accent:var(--ink);--paper:#f7f4f0;--shadow:0 40px 90px -30px #000000b3, 0 2px 8px #00000047;--shadow-sm:0 10px 30px -12px #0009;--grain-op:.07;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--bg:#ece7e3;--scene-a:#d32e2f33;--scene-b:#f4b29673;--scene-c:#fffffff2;--ribbon-op:.26;--glass-rail:#ffffff80;--glass-panel:#ffffff94;--glass-raised:#ffffffb8;--glass-hover:#17131309;--glass-active:#ffffffe6;--edge:#ffffffd9;--hl:#fffffff2;--outline:#461e1812;--line:#17131313;--ink:#171313;--ink-2:#171313a8;--ink-3:#1713139e;--ink-4:#17131329;--brand:#d32e2f;--glow:#d32e2f;--ok:#0e6b47;--warn:#8a5208;--risk:#a8241f;--calm:#4a515c;--ok-bg:#17865a1a;--warn-bg:#ce841e21;--risk-bg:#c7302a1a;--calm-bg:#59616e17;--btn:#171313;--btn-ink:#faf7f4;--field:#ffffffb3;--field-edge:#17131380;--accent:var(--ink);--paper:#fff;--shadow:0 40px 70px -34px #5a241847, 0 1px 2px #3c140a0f;--shadow-sm:0 10px 24px -14px #5a24184d;--grain-op:.045;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg)}body{color:var(--ink);-webkit-font-smoothing:antialiased;font-feature-settings:"ss01", "cv11";min-height:100vh;font-family:Geist,ui-sans-serif,system-ui,sans-serif;font-size:14px;line-height:1.45;position:relative;overflow-x:hidden}::selection{color:var(--ink);background:#d32e2f59}.num{font-variant-numeric:tabular-nums;letter-spacing:-.01em}.mono{letter-spacing:-.01em;font-family:Geist Mono,ui-monospace,monospace;font-size:.92em}svg.lucide{stroke-width:1.6px;flex:none;width:16px;height:16px}.scene{z-index:0;background:radial-gradient(55% 60% at 6% 104%, var(--scene-a), transparent 70%), radial-gradient(48% 50% at 102% -4%, var(--scene-b), transparent 70%), radial-gradient(40% 40% at 62% 58%, var(--scene-c), transparent 72%), var(--bg);position:fixed;inset:0;overflow:hidden}.scene .ribbon{filter:blur(70px);width:120%;height:120%;opacity:var(--ribbon-op);position:absolute;inset:-10%}.grain{z-index:1;pointer-events:none;opacity:var(--grain-op);mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");position:fixed;inset:0}.glass{background:var(--glass-panel);-webkit-backdrop-filter:blur(30px)saturate(160%);border:1px solid var(--edge);box-shadow:inset 0 1px 0 var(--hl), 0 0 0 1px var(--outline), var(--shadow);border-radius:20px;position:relative}.glass.rail{background:var(--glass-rail)}.glass.sm{box-shadow:inset 0 1px 0 var(--hl), 0 0 0 1px var(--outline), var(--shadow-sm);border-radius:14px}.app{z-index:2;grid-template-columns:244px 1fr;gap:12px;min-height:100vh;padding:12px;display:grid;position:relative}.side{flex-direction:column;height:calc(100vh - 24px);padding:14px 10px 10px;display:flex;position:sticky;top:12px}.brand{align-items:center;gap:10px;padding:4px 8px 14px;display:flex}.brand b{letter-spacing:.14em;font-size:13px;font-weight:600}.brand small{color:var(--ink-3);letter-spacing:.02em;margin-top:1px;font-size:11px;display:block}.jump{background:var(--field);border:1px solid var(--field-edge);height:34px;color:var(--ink-3);border-radius:10px;align-items:center;gap:8px;margin:0 2px 14px;padding:0 8px 0 10px;font-size:13px;display:flex}.jump .k{margin-left:auto}.k{color:var(--ink-3);border:1px solid var(--line);background:var(--glass-hover);border-radius:5px;padding:1px 5px;font-family:Geist Mono,monospace;font-size:11px}.nav-label{color:var(--ink-3);letter-spacing:.02em;padding:10px 10px 6px;font-size:11px}.nav a{height:34px;color:var(--ink-2);border-radius:10px;align-items:center;gap:10px;padding:0 10px;font-size:14px;text-decoration:none;display:flex}.jump{text-decoration:none}.nav a.dead{cursor:default}.theme span{cursor:pointer}.nav a:hover{background:var(--glass-hover);color:var(--ink)}.nav a.on{background:var(--glass-active);color:var(--ink);box-shadow:inset 0 1px 0 var(--hl), 0 0 0 1px var(--line)}.nav a .ct{color:var(--ink-3);margin-left:auto;font-size:12px}.nav a .ct.hot{color:var(--risk)}.nav a .live{color:var(--ok);align-items:center;gap:6px;margin-left:auto;font-size:12px;display:flex}.side .foot{border-top:1px solid var(--line);align-items:center;gap:10px;margin-top:auto;padding:12px 6px 2px;display:flex}.who{line-height:1.25}.who small{color:var(--ink-3);font-size:12px;display:block}.av{letter-spacing:.02em;width:28px;height:28px;color:var(--ink);box-shadow:inset 0 0 0 1px var(--edge);background:linear-gradient(140deg,#ffffff38,#ffffff0a);border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:600;display:grid}[data-theme=light] .av{background:linear-gradient(140deg,#fff,#e9e2de);box-shadow:inset 0 0 0 1px #17131314}.av.sm{width:22px;height:22px;font-size:9px}.avs{display:flex}.avs .av{box-shadow:0 0 0 2px var(--bg), inset 0 0 0 1px var(--edge);margin-left:-3px}.avs .av:first-child{margin-left:0}.theme{background:var(--field);border:1px solid var(--field-edge);border-radius:999px;gap:2px;margin-left:auto;padding:2px;display:flex}.theme span{width:24px;height:22px;color:var(--ink-3);border-radius:999px;place-items:center;display:grid}.theme span.on{background:var(--glass-active);color:var(--ink);box-shadow:0 0 0 1px var(--line)}.theme svg.lucide{width:13px;height:13px}.main{flex-direction:column;gap:12px;min-width:0;display:flex}.top{align-items:flex-end;gap:16px;padding:18px 8px 10px;display:flex}.top h1{letter-spacing:-.03em;font-size:30px;font-weight:500;line-height:1.05}.top p{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;font-size:14px;display:flex}.top .acts{align-items:center;gap:8px;margin-left:auto;display:flex}.sep{background:var(--ink-4);border-radius:50%;width:3px;height:3px}.grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;display:grid}.c8{grid-column:span 8}.c4{grid-column:span 4}.c6{grid-column:span 6}.c12{grid-column:span 12}.c7{grid-column:span 7}.c5{grid-column:span 5}.stack{flex-direction:column;gap:12px;display:flex}.panel{padding:18px 20px}.ph{align-items:center;gap:12px;margin-bottom:14px;display:flex}.ph h2{letter-spacing:-.01em;font-size:15px;font-weight:550}.ph .sub{color:var(--ink-3);font-size:13px}.ph .r{align-items:center;gap:8px;margin-left:auto;display:flex}.btn{height:34px;font:inherit;cursor:pointer;white-space:nowrap;border:0;border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:500;display:inline-flex}a.btn,a.role{text-decoration:none}.btn.pri{background:var(--btn);color:var(--btn-ink);box-shadow:0 6px 18px -8px #00000080,inset 0 1px #ffffff40}.btn.sec{background:var(--glass-raised);color:var(--ink);box-shadow:inset 0 1px 0 var(--hl), 0 0 0 1px var(--line)}.btn.ghost{color:var(--ink-2);background:0 0}.btn.risk{background:var(--risk);color:#fff}.btn.icon{justify-content:center;width:34px;padding:0}.btn.lg{height:48px;padding:0 20px;font-size:15px}.btn.block{justify-content:center;width:100%}.btn[disabled],.btn.off{opacity:.42;cursor:not-allowed}.btn .k{margin-left:2px}.dot-badge{position:relative}.dot-badge:after{content:"";background:var(--glow);width:6px;height:6px;box-shadow:0 0 10px var(--glow);border-radius:50%;position:absolute;top:7px;right:8px}.seg{background:var(--field);border:1px solid var(--field-edge);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.seg span{height:26px;color:var(--ink-2);border-radius:999px;align-items:center;gap:6px;padding:0 11px;font-size:13px;display:inline-flex}.seg span i{color:var(--ink-3);font-size:12px;font-style:normal}.seg span.on{background:var(--glass-active);color:var(--ink);box-shadow:inset 0 1px 0 var(--hl), 0 0 0 1px var(--line)}.lamp{background:var(--calm);border-radius:50%;flex:none;width:7px;height:7px}.lamp.ok{background:var(--ok);box-shadow:0 0 8px var(--ok)}.lamp.warn{background:var(--warn);box-shadow:0 0 8px var(--warn)}.lamp.risk{background:var(--risk);box-shadow:0 0 10px var(--risk)}.chip{height:22px;color:var(--ink-2);background:var(--calm-bg);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 8px;font-size:12px;font-weight:500;display:inline-flex}.chip.ok{color:var(--ok);background:var(--ok-bg)}.chip.warn{color:var(--warn);background:var(--warn-bg)}.chip.risk{color:var(--risk);background:var(--risk-bg)}.chip.out{box-shadow:inset 0 0 0 1px var(--line);background:0 0}.chip svg.lucide{width:12px;height:12px}.tbl{border-collapse:collapse;width:100%}.tbl th{text-align:left;color:var(--ink-3);letter-spacing:.01em;padding:0 10px 10px;font-size:12px;font-weight:500}.tbl td{border-top:1px solid var(--line);vertical-align:top;padding:12px 10px;font-size:13px}.tbl tr:hover td{background:var(--glass-hover)}.tbl .r{text-align:right}.t1{color:var(--ink);font-weight:500}.t2{color:var(--ink-3);margin-top:2px;font-size:12px}.clock{min-width:120px}.clock .track{background:var(--ink-4);border-radius:3px;height:3px;margin-top:7px;overflow:hidden}.clock .fill{background:var(--ink-2);border-radius:3px;height:100%}.clock.warn .fill{background:var(--warn)}.clock.risk .fill{background:var(--risk)}.clock .lbl{color:var(--ink-2);justify-content:space-between;font-size:12px;display:flex}.clock.warn .lbl b{color:var(--warn)}.clock.risk .lbl b{color:var(--risk)}.clock .lbl b{font-weight:500}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--ink-2);font-size:13px}.input{background:var(--field);border:1px solid var(--field-edge);height:40px;color:var(--ink);border-radius:10px;align-items:center;gap:8px;padding:0 12px;font-size:14px;display:flex}.input.ph{color:var(--ink-3)}.input.focus{border-color:var(--ink-2);box-shadow:0 0 0 4px var(--ink-4)}.input.err{border-color:var(--risk)}.hint{color:var(--ink-3);align-items:center;gap:6px;font-size:12px;display:flex}.hint.err{color:var(--risk)}.hint.ok{color:var(--ok)}.big{letter-spacing:-.045em;font-variant-numeric:tabular-nums;font-weight:300;line-height:.95}.hair{background:var(--line);height:1px}.muted{color:var(--ink-3)}.soft{color:var(--ink-2)}.row{align-items:center;gap:10px;display:flex}body.phone{font-size:15px}.ph-wrap{z-index:2;flex-direction:column;gap:12px;padding:14px 14px 120px;display:flex;position:relative}.status{justify-content:space-between;padding:2px 10px 6px;font-size:13px;font-weight:600;display:flex}.status span:last-child{align-items:center;gap:6px;display:flex}.status svg.lucide{width:15px;height:15px}.hello{padding:4px 6px 2px}.hello small{color:var(--ink-3);font-size:13px}.hello h1{letter-spacing:-.03em;margin-top:2px;font-size:26px;font-weight:500}.card{border-radius:22px;padding:16px}.tabbar{z-index:5;border-radius:24px;height:66px;padding:6px;display:flex;position:fixed;bottom:14px;left:12px;right:12px}.tabbar a{color:var(--ink-3);border-radius:18px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:11px;display:flex;position:relative}.tabbar a svg.lucide{width:20px;height:20px}.tabbar a.on{color:var(--ink);background:var(--glass-active);box-shadow:inset 0 1px 0 var(--hl), 0 0 0 1px var(--line)}.tabbar a .bd{background:var(--glow);color:#fff;border-radius:8px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:600;display:grid;position:absolute;top:7px;right:calc(50% - 18px)}.tap{min-height:48px}.btn.xl{border-radius:18px;height:54px;padding:0 22px;font-size:16px}body.phone:after{content:"";z-index:4;pointer-events:none;background:linear-gradient(to bottom, transparent, var(--bg) 78%);height:120px;position:fixed;bottom:0;left:0;right:0}.pg-fu .work2{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:12px;display:grid}.kpis{grid-template-columns:repeat(4,1fr);gap:0;margin-bottom:12px;padding:16px 20px;display:grid}.kpis>div{border-left:1px solid var(--line);padding:0 18px}.kpis>div:first-child{border-left:0;padding-left:0}.kpis small{color:var(--ink-3);font-size:13px;display:block}.kpis .big{margin-top:6px;font-size:36px}.pg-fu .item{border-top:1px solid var(--line)}.pg-fu .item .ih{grid-template-columns:minmax(0,1fr) repeat(3,76px) 110px;align-items:center;gap:10px;padding:14px 10px 8px;display:grid}.pg-fu .item .ih b{font-weight:550}.pg-fu .item .ih small{color:var(--ink-3);font-size:12px;display:block}.pg-fu .item .ih .n{text-align:right;font-variant-numeric:tabular-nums;font-size:13px}.pg-fu .item .ih .n small{font-size:11px}.pg-fu .vr,.pg-fu .colh{grid-template-columns:22px minmax(0,1.3fr) 90px 70px 92px minmax(0,1.4fr) 34px;align-items:center;gap:10px;display:grid}.pg-fu .vr{cursor:pointer;border-radius:10px;margin:0 0 2px;padding:8px 10px;font-size:13px}.pg-fu .vr.on{background:var(--glass-active);box-shadow:inset 0 1px 0 var(--hl), 0 0 0 1px var(--line)}.pg-fu .vr .nx{font-size:13px}.pg-fu .vr .nx small{color:var(--ink-3);font-size:12px;display:block}.pg-fu .vr .nx.late{color:var(--risk)}.pg-fu .vr .num{text-align:right}.pg-fu .vr .chip{justify-self:start}.pg-fu .colh{color:var(--ink-3);padding:0 10px 8px;font-size:12px}.pg-fu .colh span:nth-child(3),.pg-fu .colh span:nth-child(4){text-align:right}.cmpt td{padding:9px 8px}.cmpt th{padding:0 8px 8px}.cmpt .best{color:var(--ok)}.outc{flex-wrap:wrap;gap:6px;margin:10px 0 12px;display:flex}.outc button{height:30px;color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line);cursor:pointer;font-size:13px;font:inherit;background:0 0;border:0;border-radius:999px;align-items:center;padding:0 12px;display:inline-flex}.outc button.on{background:var(--glass-active);color:var(--ink);box-shadow:inset 0 1px 0 var(--hl), 0 0 0 1px var(--ink-4)}.ta{resize:vertical;height:auto;min-height:70px;padding:10px;font-size:14px;line-height:1.45}.nextd{align-items:center;gap:8px;margin-top:12px;display:flex}.nextd .input{flex:1}.pg-stock .work2{grid-template-columns:minmax(0,1fr) 400px;align-items:start;gap:12px;display:grid}.pg-stock .work2.solo{grid-template-columns:minmax(0,1fr)}.lvl{align-items:center;gap:10px;min-width:150px;display:flex}.lvl .tr{background:var(--ink-4);border-radius:4px;flex:1;height:6px;position:relative}.lvl .tr .f{background:var(--ink-2);border-radius:4px;position:absolute;top:0;bottom:0;left:0}.lvl .tr .mn{background:var(--warn);border-radius:1px;width:2px;position:absolute;top:-3px;bottom:-3px}.lvl.low .tr .f{background:var(--risk)}.unit-h .big{letter-spacing:-.02em;overflow-wrap:anywhere;font-family:Geist Mono,monospace;font-size:30px;font-weight:400}.tl{margin-top:6px;padding-left:22px;position:relative}.tl:before{content:"";background:var(--line);width:1px;position:absolute;top:6px;bottom:6px;left:6px}.ev{padding:0 0 14px;font-size:13px;position:relative}.ev:before{content:"";background:var(--bg);width:9px;height:9px;box-shadow:0 0 0 1.5px var(--ink-3);border-radius:50%;position:absolute;top:5px;left:-20px}.ev.now:before{background:var(--ok);box-shadow:0 0 0 3px var(--ok-bg), 0 0 10px var(--ok)}.ev small{color:var(--ink-3);font-size:12px;display:block}.kv2{grid-template-columns:110px 1fr;gap:8px;font-size:13px;display:grid}.kv2>span:nth-child(odd){color:var(--ink-3)}.aic{background:var(--glass-raised);width:32px;height:32px;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-2);border-radius:10px;flex:none;place-items:center;display:grid}.steps{gap:6px;margin-bottom:12px;padding:0 8px;display:flex}.steps span{color:var(--ink-3);border-top:3px solid var(--ink-4);flex:1;padding-top:8px;font-size:13px}.steps span.d{color:var(--ink-2);border-color:var(--ok)}.steps span.on{color:var(--ink);border-color:var(--ink)}.pg-bom .work2{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:12px;display:grid}.xlmap{border-collapse:collapse;width:100%;font-size:13px}.xlmap th{text-align:left;vertical-align:bottom;padding:0 8px 8px;font-weight:500}.xlmap th select{background:var(--glass-active);height:30px;color:var(--ink);box-shadow:inset 0 1px 0 var(--hl), 0 0 0 1px var(--line);font:inherit;border:0;border-radius:9px;padding:0 8px;font-size:13px}.xlmap th select.skip{color:var(--ink-3);box-shadow:inset 0 0 0 1px var(--line);background:0 0}.xlmap th small{color:var(--ink-3);white-space:nowrap;margin-bottom:6px;font-family:Geist Mono,monospace;font-size:11px;font-weight:400;display:block}.xlmap td{border-top:1px solid var(--line);white-space:nowrap;padding:8px}.scroll-x{overflow-x:auto}.fx{border-top:1px solid var(--line);gap:10px;padding:10px 0;font-size:13px;display:flex}.fx:first-of-type{border-top:0;padding-top:0}.fx small{color:var(--ink-3);font-size:12px;display:block}.fx .n{font-variant-numeric:tabular-nums;margin-left:auto}.res{grid-template-columns:1fr auto;gap:8px;font-size:13px;display:grid}.res>span:nth-child(odd){color:var(--ink-2);align-items:center;gap:8px;display:flex}td.fix{background:var(--warn-bg)}.pg-dsp .work3{grid-template-columns:250px minmax(0,1fr) 330px;align-items:start;gap:12px;display:grid}.boxes{flex-direction:column;gap:2px;padding:10px;display:flex}.boxes .bh{padding:8px 10px 10px;font-weight:550;display:flex}.boxes .bh span{color:var(--ink-3);margin-left:auto;font-size:13px;font-weight:400}.bx{cursor:pointer;color:inherit;font-size:13px;font:inherit;text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:10px;width:100%;padding:10px;display:flex}.bx.on{background:var(--glass-active);box-shadow:inset 0 1px 0 var(--hl), 0 0 0 1px var(--line)}.bx .n{background:var(--glass-raised);width:38px;height:38px;box-shadow:inset 0 0 0 1px var(--line);border-radius:10px;flex:none;place-items:center;font-family:Geist Mono,monospace;font-size:12px;display:grid}.bx small{color:var(--ink-3);font-size:12px;display:block}.bx .st{margin-left:auto}.bx.add{color:var(--ink-3);border:1px dashed var(--field-edge);justify-content:center;margin-top:6px}.lab{background:var(--paper);color:#1d1919;border-radius:12px;grid-template-columns:1fr 84px;gap:10px;padding:14px 16px;font-size:12px;display:grid;box-shadow:0 20px 40px -24px #0009}.lab b.big1{letter-spacing:-.02em;font-size:26px;font-weight:600;line-height:1;display:block}.lab .qr svg{width:84px;height:84px}.lab dl{color:#555;grid-template-columns:auto 1fr;gap:2px 8px;margin-top:8px;display:grid}.lab dd{color:#1d1919}.ship{grid-template-columns:1fr 1fr;gap:12px;display:grid}.li{border-top:1px solid var(--line);gap:10px;padding:11px 0;font-size:14px;display:flex}.li:first-of-type{border-top:0;padding-top:0}.li small{color:var(--ink-3);font-size:12px;display:block}.li .lamp{margin-top:6px}.serials{flex-wrap:wrap;gap:8px;display:flex}.serials span{background:var(--ok-bg);color:var(--ok);border-radius:999px;padding:5px 10px;font-family:Geist Mono,monospace;font-size:12px}.serials span.next{color:var(--ink-3);box-shadow:inset 0 0 0 1px var(--line);background:0 0}.snap{align-items:center;gap:8px;display:flex}.snap img{object-fit:cover;width:56px;height:56px;box-shadow:inset 0 0 0 1px var(--line);border-radius:10px}@media (width<=900px){.pg-fu .work2,.pg-stock .work2,.pg-bom .work2,.pg-dsp .work3,.ship{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,1fr);row-gap:14px}.kpis>div:nth-child(3){border-left:0;padding-left:0}.pg-fu .vr,.pg-fu .colh{grid-template-columns:22px minmax(0,1fr) 80px 92px}.pg-fu .vr>:nth-child(4),.pg-fu .colh>:nth-child(4),.pg-fu .vr>:nth-child(6),.pg-fu .colh>:nth-child(6),.pg-fu .vr>:nth-child(7),.pg-fu .colh>:nth-child(7){display:none}.pg-fu .item .ih{grid-template-columns:minmax(0,1fr) repeat(3,56px)}.pg-fu .item .ih>.chip{display:none}}.snap{flex-wrap:wrap}.snapdot{cursor:pointer;width:14px;height:14px;box-shadow:inset 0 0 0 1.5px var(--line);background:0 0;border:0;border-radius:999px;padding:0}.snapdot.done{background:var(--ok);box-shadow:none}.snapdot.on{box-shadow:0 0 0 2px var(--ink-2)}.snapdot:focus-visible{outline:2px solid var(--ink-2);outline-offset:2px}.gin-line{border-bottom:1px solid var(--line);gap:8px;padding-bottom:10px}.vcall{gap:2px;margin:0;padding:0;list-style:none;display:grid}.vcall li{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 0;display:flex}.vcall li.off{opacity:.55}.vcall-item{cursor:pointer;flex:240px;align-items:flex-start;gap:10px;min-width:0;display:flex}.vcall-item input{flex:none;width:18px;height:18px;margin-top:3px}.vcall-item b{font-weight:550;display:block}.vcall-item small{font-size:12.5px;display:block}.vcall-said{flex:0 auto;align-items:center;gap:6px;margin-left:auto;display:flex}.vcall-said .input{min-height:36px}.vcall-said .input.num{width:92px}.vcall-said select.input{width:128px}@media (width<=900px){.vcall-said{flex-basis:100%;margin-left:28px}.vcall-said .input.num{flex:1;width:auto}}.pg-verify .work{grid-template-columns:300px minmax(0,1fr) 380px;align-items:start;gap:12px;display:grid}.pg-verify .queue{flex-direction:column;gap:2px;max-height:calc(100vh - 160px);padding:10px;display:flex;overflow:auto}.pg-verify .queue .qh{align-items:center;padding:8px 10px 10px;display:flex}.pg-verify .queue .qh b{font-weight:550}.pg-verify .queue .qh .seg{margin-left:auto}.pg-verify .q{cursor:pointer;text-align:left;font:inherit;color:inherit;background:0 0;border:0;border-radius:12px;gap:10px;width:100%;padding:10px;display:flex}.pg-verify .q.on{background:var(--glass-active);box-shadow:inset 0 1px 0 var(--hl), 0 0 0 1px var(--line)}.pg-verify .q .ty{background:var(--paper);border-radius:6px;flex:none;width:32px;height:40px;position:relative;box-shadow:0 2px 6px #00000040}.pg-verify .q .ty:after{content:"";background:repeating-linear-gradient(#0002 0 1px,#0000 1px 4px);height:14px;position:absolute;top:8px;left:6px;right:6px}.pg-verify .q .x{flex:1;min-width:0}.pg-verify .q .x b{font-size:13px;font-weight:500;display:block}.pg-verify .q .x small{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.pg-verify .q .x .row{gap:6px;margin-top:5px}.pg-verify .viewer{flex-direction:column;min-height:560px;padding:14px;display:flex}.pg-verify .viewer .vt{align-items:center;gap:8px;min-width:0;margin-bottom:12px;display:flex}.pg-verify .viewer .vt b{white-space:nowrap;text-overflow:ellipsis;font-weight:550;overflow:hidden}.pg-verify .viewer .vt .r{gap:4px;margin-left:auto;display:flex}.pg-verify .paper{background:var(--paper);border-radius:10px;flex:1;min-height:520px;overflow:hidden;box-shadow:0 20px 50px -20px #00000080}.pg-verify .paper iframe,.pg-verify .paper img{object-fit:contain;border:0;width:100%;height:100%;min-height:520px;display:block}.pg-verify .fields{flex-direction:column;gap:14px;padding:18px;display:flex}.pg-verify .fields .fh{align-items:center;gap:8px;display:flex}.pg-verify .fields .fh b{font-size:15px;font-weight:550}.pg-verify .kv{grid-template-columns:110px 1fr;align-items:center;gap:8px 12px;font-size:13px;display:grid}.pg-verify .kv>label{color:var(--ink-3)}.pg-verify .kv .input,.pg-verify .kv select{height:32px;font-size:13px}.pg-verify .checks{flex-direction:column;gap:8px;display:flex}.ck{align-items:flex-start;gap:10px;font-size:13px;display:flex}.ck svg.lucide{flex:none;margin-top:2px}.ck.ok svg.lucide{color:var(--ok)}.ck.warn svg.lucide{color:var(--warn)}.ck.stop svg.lucide{color:var(--risk)}.ck small{color:var(--ink-3);font-size:12px;display:block}.pg-verify .link{background:var(--glass-raised);box-shadow:inset 0 0 0 1px var(--line);border-radius:12px;flex-direction:column;gap:6px;padding:12px;font-size:13px;display:flex}.pg-verify .link label{align-items:center;gap:8px;display:flex}.pg-verify .fields .acts{flex-wrap:wrap;gap:8px;display:flex}.strip{grid-template-columns:repeat(4,1fr);margin-bottom:12px;padding:16px 20px;display:grid}.strip>div{border-left:1px solid var(--line);padding:0 18px}.strip>div:first-child{border-left:0;padding-left:0}.strip small{color:var(--ink-3);font-size:13px;display:block}.strip .big{margin-top:6px;font-size:30px}.strip .d{color:var(--ink-2);margin-top:4px;font-size:12px}.aging{gap:6px;display:flex}.aging div{flex-direction:column;gap:6px;min-width:90px;display:flex}.aging i{border-radius:5px;height:10px;display:block}.aging .b0{background:var(--ink-2)}.aging .b1{background:var(--ink-3)}.aging .b2{background:var(--warn)}.aging .b3{background:var(--risk)}.aging span{color:var(--ink-3);font-size:12px}.aging b{font-size:15px;font-weight:500}.pg-bank .work2{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:12px;display:grid}.buckets{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.buckets>div{background:var(--glass-raised);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-3);border-radius:12px;padding:10px 12px;font-size:12px}.buckets b{color:var(--ink);margin-top:4px;font-size:20px;font-weight:500;display:block}.sugg{color:var(--ink-2);font-size:12px}.sugg b{font-weight:500}.pg-pay .work2{grid-template-columns:minmax(0,1fr) 420px;align-items:start;gap:12px;display:grid}.pg-pay .why{color:var(--ink-3);font-size:12px}.slip{font-size:13px}.slip .ln{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:7px 0;display:grid}.slip .ln small{color:var(--ink-3);font-size:12px;display:block}.slip .tot{font-weight:550}.rules{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.rules fieldset{background:var(--glass-raised);box-shadow:inset 0 0 0 1px var(--line);border:0;border-radius:14px;grid-template-columns:1fr 120px;align-items:center;gap:8px 10px;margin:0;padding:14px 16px;font-size:13px;display:grid}.rules legend{float:left;grid-column:1/-1;margin-bottom:6px;padding:0;font-size:14px;font-weight:550}.rules fieldset>label{color:var(--ink-2)}.rules .input{text-align:right;height:30px;font-size:13px}.rules .sw{color:var(--ink-2);grid-column:1/-1;align-items:center;gap:8px;display:flex}.slabs{grid-column:1/-1;grid-template-columns:1fr 80px 28px;gap:6px;display:grid}.slabs .input{height:28px}@media (width<=1100px){.pg-verify .work,.pg-bank .work2,.pg-pay .work2{grid-template-columns:minmax(0,1fr)}.strip,.buckets{grid-template-columns:repeat(2,1fr);row-gap:12px}}.bank-bulk{background:var(--field);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;padding:8px 12px;font-size:13px;display:flex}.tbl tr.on td{background:var(--field)}.bank-tagfor{font-size:13px}.check{align-items:center;gap:8px;font-size:13px;display:flex}.bank-linehead{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.bank-alloc{border:1px solid var(--line);border-radius:10px;max-height:46vh;margin:0;padding:0;list-style:none;overflow-y:auto}.bank-alloc li{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.bank-alloc li:last-child{border-bottom:0}.bank-alloc li.on{background:var(--field)}.bank-alloc-doc{flex:280px;align-items:flex-start;gap:8px;font-size:13px;display:flex}.bank-alloc-doc .t2{display:block}.bank-alloc-amt{gap:6px;display:flex}.bank-alloc-amt .input{width:120px}.bank-alloc-sum{justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.bank-alloc-sum .input{width:auto}.workq{margin:0;padding:0;list-style:none}.workq li+li{border-top:1px solid var(--line)}.workq-row{color:inherit;align-items:center;gap:12px;padding:10px 2px;font-size:13.5px;text-decoration:none;display:flex}.workq-row:hover,.workq-row:focus-visible{background:var(--field)}.workq-x{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.workq-x b{font-weight:500}.workq-x small{color:var(--ink-3);font-size:12.5px}.workq-row .lucide{color:var(--ink-3);flex:none}.gapnote{color:var(--warn);font-weight:500}.pg-verify .keys{white-space:nowrap;margin-left:auto;font-size:12px}.ckfold summary{cursor:pointer;color:var(--ink-3);align-items:center;gap:8px;padding:4px 0;font-size:13px;display:flex}.ckfold summary .lucide{color:var(--ok)}.bill2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px;display:grid}.tiles{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.tile{color:inherit;border-radius:20px;flex-direction:column;gap:6px;min-width:0;padding:16px;text-decoration:none;display:flex}a.tile:hover,button.tile:hover{background:var(--glass-hover)}button.tile{all:unset;box-sizing:border-box;cursor:pointer;border-radius:20px;flex-direction:column;gap:6px;padding:16px;display:flex}.tile-h{color:var(--ink-2);align-items:center;gap:8px;font-size:13px;display:flex}.tile-v{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:34px;font-weight:300;line-height:1}.tile-v.risk{color:var(--risk)}.tile-v.warn{color:var(--warn)}.tile-s{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.cols{grid-template-columns:minmax(0,1fr) 390px;align-items:start;gap:12px;display:grid}.cols>.stack,.side{flex-direction:column;gap:12px;min-width:0;display:flex}.halves{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;display:grid}.thirds{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:12px;display:grid}.rows{margin:0;padding:0;list-style:none}.rows>li{border-top:1px solid var(--line);align-items:center;gap:12px;min-width:0;padding:12px 0;display:flex}.rows>li:first-child{border-top:0;padding-top:4px}.rows .x{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.rows .x b{font-size:14px;font-weight:500}.rows .x small{color:var(--ink-3);font-size:12px}.rows .x .line{flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.rows .acts{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.rows a.x{color:inherit;text-decoration:none}.rank{background:var(--field);width:26px;height:26px;color:var(--ink-2);border-radius:999px;flex:none;place-items:center;font:500 12px/1 Geist Mono,monospace;display:grid}.kv{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding:10px 0;font-size:13px;display:flex}.kv:first-of-type{border-top:0}.kv span{color:var(--ink-2)}.kv b{text-align:right;font-weight:500}.stale{border-top:1px solid var(--line);margin-top:6px;padding-top:10px}.stale>summary{cursor:pointer;color:var(--ink-2);align-items:center;gap:8px;font-size:13px;list-style:none;display:flex}.stale>summary::-webkit-details-marker{display:none}.pbar{background:var(--ink-4);vertical-align:middle;border-radius:999px;flex:none;width:44px;height:4px;display:inline-block;overflow:hidden}.pbar>i{height:100%;width:var(--w,0%);border-radius:inherit;background:var(--ink-2);display:block}.pbar.ok>i{background:var(--ok)}.pbar.warn>i{background:var(--warn)}.pbar.risk>i{background:var(--risk)}.pbar.wide{width:100%;height:6px}.pct{color:var(--ink-2);align-items:center;gap:8px;font:12px Geist Mono,monospace;display:inline-flex}.seen{color:var(--ink-3);font-size:12px}.seen.not{color:var(--warn)}.mini{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.mini>div{background:var(--field);border-radius:10px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.mini b{font-size:15px;font-weight:500}.mini b.risk{color:var(--risk)}.mini small{color:var(--ink-3);font-size:12px}.who{align-items:center;gap:8px;min-width:0;display:inline-flex}.keys{border-top:1px solid var(--line);color:var(--ink-3);flex-wrap:wrap;gap:14px;padding-top:12px;font-size:12px;display:flex}.keys kbd{color:var(--ink-2);border:1px solid var(--field-edge);border-radius:6px;margin-right:6px;padding:1px 6px;font:11px Geist Mono,monospace}.callout{border-radius:14px;align-items:center;gap:8px;padding:10px 12px;font-size:13px;display:flex}.callout.warn{background:var(--warn-bg)}.callout.warn .lucide{color:var(--warn)}.callout.risk{background:var(--risk-bg)}.callout.risk .lucide{color:var(--risk)}.pick{flex-direction:column;gap:6px;max-height:300px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.pick button{all:unset;box-sizing:border-box;border:1px solid var(--line);cursor:pointer;border-radius:14px;align-items:center;gap:12px;width:100%;padding:10px 12px;display:flex}.pick button:hover{background:var(--glass-hover)}.pick button[aria-pressed=true]{background:var(--field);border-color:var(--ink-2)}.pick .x{flex-direction:column;flex:1;gap:2px;min-width:0;font-size:13px;display:flex}.pick .x small{color:var(--ink-3);font-size:12px}.ptime{position:relative;overflow-x:auto}.ptime-grid{grid-template-columns:220px minmax(560px,1fr);display:grid}.ptime-axis{display:contents}.ptime-axis>span{color:var(--ink-3);padding-bottom:8px;font-size:12px}.ptime-months{display:flex;position:relative}.ptime-months>span{color:var(--ink-3);border-left:1px solid var(--line);flex:1;padding:0 0 8px 6px;font-size:12px}.ptime-name{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;padding:8px 8px 8px 0;font-size:13px;text-decoration:none;overflow:hidden}.ptime-lane{border-left:1px solid var(--line);height:34px;position:relative}.ptime-bar{height:14px;top:10px;left:var(--l);width:var(--w);background:var(--field);box-shadow:inset 0 0 0 1px var(--line);border-radius:999px;position:absolute;overflow:hidden}.ptime-bar>i{height:100%;width:var(--done);border-radius:inherit;background:var(--ink-2);opacity:.85;display:block}.ptime-bar.ok>i{background:var(--ok)}.ptime-bar.warn>i{background:var(--warn)}.ptime-bar.risk>i{background:var(--risk)}.ptime-slip{height:14px;top:10px;left:var(--l);width:var(--w);background:var(--risk-bg);border-radius:999px;position:absolute}.ptime-ms{top:12px;left:var(--l);background:var(--ink);width:9px;height:9px;position:absolute;transform:translate(-4px)rotate(45deg)}.ptime-ms.done{background:var(--ok)}.ptime-ms.late{background:var(--risk)}.ptime-today{top:0;bottom:0;left:var(--l);background:var(--risk);pointer-events:none;width:2px;position:absolute}.ptime-legend{color:var(--ink-3);flex-wrap:wrap;gap:16px;padding-top:12px;font-size:12px;display:flex}@media (width<=1100px){.cols,.thirds{grid-template-columns:minmax(0,1fr)}}@media (width<=760px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tile{border-radius:18px;padding:12px}.tile-v{font-size:26px}.halves{grid-template-columns:minmax(0,1fr)}.rows>li{flex-wrap:wrap}.rows .acts{justify-content:stretch;width:100%}.rows .acts>.btn{flex:1;justify-content:center}.mini{grid-template-columns:repeat(3,minmax(0,1fr))}}.ptime-row{display:contents}.tile-of{color:var(--ink-3);letter-spacing:0;font-size:16px}.crumbs{color:var(--ink-3);align-items:center;gap:6px;padding:4px 4px 0;font-size:13px;display:flex}.crumbs a{color:inherit;text-decoration:none}.crumbs a:hover{color:var(--ink)}.crumbs .lucide{width:13px;height:13px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.small{font-size:12px}.row.end{justify-content:flex-end}.tbl-wrap{overflow-x:auto}.t2.late{color:var(--risk)}.warn-t{color:var(--warn)}.more-band>summary{cursor:pointer;margin-bottom:0;list-style:none}.more-band>summary::-webkit-details-marker{display:none}.more-band>summary>.lucide{margin-left:auto;transition:transform .15s}.more-band[open]>summary{margin-bottom:14px}.more-band[open]>summary>.lucide,.stale[open]>summary>.lucide{transform:rotate(90deg)}.folio td{vertical-align:middle}.ladder{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.ladder li{color:var(--ink-3);background:var(--field);border-radius:12px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.ladder li.done{color:var(--ink-2)}.ladder li.now{color:var(--ink);background:var(--risk-bg)}.ladder-n{background:var(--glass-raised);border-radius:999px;flex:none;place-items:center;width:20px;height:20px;font:500 11px/1 Geist Mono,monospace;display:grid}.ladder li.done .ladder-n{background:var(--ink-4)}.ladder li.now .ladder-n{background:var(--risk);color:var(--bg)}@media (width<=760px){.ladder{grid-template-columns:minmax(0,1fr)}}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;padding:12px;display:flex}.input.search{width:280px;height:34px}.input.search .lucide{color:var(--ink-3)}.input.search input,.input input{all:unset;flex:1;min-width:0;font-size:13px}.t13{font-size:13px}.folio a{text-decoration:none}.folio a:hover{text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--ink-4);text-decoration-color:var(--ink-4)}.folio th,.folio td.nw{white-space:nowrap}.folio td.ms-cell{min-width:180px;max-width:260px}.folio td.pri{min-width:220px}.folio tr.go:focus-visible{outline:2px solid var(--ink-2);outline-offset:-2px}@media (width<=700px){.folio td.ms-cell{min-width:0;max-width:none}.folio td.ms-cell>div{text-align:right}}.tbl tr.dim td{opacity:.55}.ptabs{scrollbar-width:none;border-bottom:1px solid var(--line);gap:4px;margin:2px 0;padding:2px;display:flex;overflow-x:auto}.ptabs::-webkit-scrollbar{display:none}.ptabs button{all:unset;cursor:pointer;color:var(--ink-2);white-space:nowrap;border-bottom:2px solid #0000;flex:none;margin-bottom:-1px;padding:10px 12px;font-size:13.5px}.ptabs button:hover{color:var(--ink)}.ptabs button.on{color:var(--ink);border-bottom-color:var(--ink);font-weight:500}.ptabs button:focus-visible{outline:2px solid var(--ink-2);outline-offset:-2px;border-radius:6px}.halves>.span2{grid-column:1/-1}.act-t{width:128px;color:var(--ink-3);flex:none;font-size:12px}.cal{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.cal-h{color:var(--ink-3);padding:0 4px 2px;font-size:12px}.cal-d{background:var(--field);border:1px solid #0000;border-radius:12px;flex-direction:column;gap:2px;min-width:0;min-height:78px;padding:8px;display:flex}.cal-d:first-of-type{grid-column-start:var(--start,1)}.cal-n{color:var(--ink-2);font:500 12px/1 Geist Mono,monospace}.cal-w{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:500;overflow:hidden}.cal-t{color:var(--ink-2);font:11.5px Geist Mono,monospace}.cal-f{color:var(--warn);font-size:11.5px}.cal-d.in{background:var(--ok-bg)}.cal-d.site{background:var(--calm-bg);box-shadow:inset 0 0 0 1px var(--line)}.cal-d.leave{background:var(--warn-bg)}.cal-d.absent{background:var(--risk-bg)}.cal-d.absent .cal-w{color:var(--risk)}.cal-d.off{border-color:var(--line);background:0 0}.cal-d.off .cal-w,.cal-d.future .cal-n{color:var(--ink-3)}.cal-d.future{border:1px dashed var(--line);background:0 0}.cal-d.today{border-color:var(--ink-2)}.cal-legend{color:var(--ink-3);flex-wrap:wrap;gap:14px;padding:12px 0 4px;font-size:12px;display:flex}.cal-legend i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:6px;display:inline-block}.cal-legend i.in{background:var(--ok-bg);box-shadow:inset 0 0 0 1px var(--ok)}.cal-legend i.site{background:var(--calm-bg);box-shadow:inset 0 0 0 1px var(--calm)}.cal-legend i.leave{background:var(--warn-bg);box-shadow:inset 0 0 0 1px var(--warn)}.cal-legend i.absent{background:var(--risk-bg);box-shadow:inset 0 0 0 1px var(--risk)}.cal-legend i.off{box-shadow:inset 0 0 0 1px var(--line)}@media (width<=760px){.cal{gap:3px}.cal-d{border-radius:8px;min-height:52px;padding:5px}.cal-t,.cal-f{display:none}.cal-w{font-size:10.5px}.act-t{width:auto}}.chip.sp{margin-left:6px}.field.grow{flex:1;min-width:160px}.runsteps .mesteps{margin-bottom:12px}.dpick{width:170px;height:34px}.aboard{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.acard{box-shadow:inset 0 0 0 1px var(--line);background:var(--glass-raised);border-radius:16px;flex-direction:column;gap:10px;padding:14px;display:flex}.acard.not_in{box-shadow:inset 0 0 0 1px var(--risk-bg), inset 0 0 0 999px var(--risk-bg)}.acard.off,.acard.leave{opacity:.78}.acard-h{align-items:center;gap:10px;min-width:0;display:flex}.acard-img{object-fit:cover;border-radius:12px;flex:none;place-items:center;width:44px;height:44px;font-size:13px;display:grid}.acard-img .lucide{width:18px;height:18px;color:var(--ink-3)}.acard-x{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.acard-x a{color:var(--ink);text-decoration:none}.acard-x a:hover{text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--ink-4);text-decoration-color:var(--ink-4)}.acard-x b{font-size:14px;font-weight:500}.acard-x small{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.acard-tags{flex-wrap:wrap;gap:6px;display:flex}.atrack{background:var(--ink-4);border-radius:999px;height:8px;position:relative}.atrack-bar{top:0;bottom:0;left:var(--l);width:var(--w);border-radius:inherit;background:var(--ok);position:absolute}.atrack-bar.late{background:var(--warn)}.atrack-930{background:var(--ink-2);width:1px;position:absolute;top:-3px;bottom:-3px;left:17.86%}.cal-legend i.tick{background:var(--ink-2);border-radius:0;width:1px;height:10px}.acard-f{color:var(--ink-2);align-items:center;gap:8px;min-height:34px;font-size:12.5px;display:flex}.acard-f .btn{margin-left:auto}.acard-why{text-overflow:ellipsis;white-space:nowrap;color:var(--warn);min-width:0;overflow:hidden}@media (width<=760px){.aboard{grid-template-columns:minmax(0,1fr)}}.agrid th[scope=row] a{color:var(--ink);text-decoration:none}.agrid th[scope=row] a:hover{text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--ink-4);text-decoration-color:var(--ink-4)}.agrid td.ac a{width:100%;height:100%;color:inherit;border-radius:inherit;place-items:center;text-decoration:none;display:grid}.agrid td.ac a:hover{box-shadow:inset 0 0 0 1px var(--ink-2)}.agrid .ac{width:26px;height:26px}.ac-site{background:var(--calm-bg)}.agrid th.sun{color:var(--ink-4)}.agrid th.now{color:var(--ink)}.agrid th.tot,.agrid td.tot{text-align:right;color:var(--ink-2);white-space:nowrap;padding:0 8px;font-size:12px}.agrid th.tot:first-of-type,.agrid td.tot:nth-last-child(3){border-left:1px solid var(--line)}.risk-t{color:var(--risk)!important}.vmark{--vh:250;letter-spacing:.02em;width:32px;height:32px;color:oklch(.86 .06 var(--vh));background:oklch(.36 .06 var(--vh) / .55);box-shadow:inset 0 0 0 1px oklch(.7 .06 var(--vh) / .25);border-radius:9px;flex:none;place-items:center;font:600 12px/1 Geist,sans-serif;display:inline-grid}[data-theme=light] .vmark{color:oklch(.38 .08 var(--vh));background:oklch(.93 .035 var(--vh));box-shadow:inset 0 0 0 1px oklch(.5 .06 var(--vh) / .18)}.vmark.sm{border-radius:6px;width:22px;height:22px;font-size:9.5px}.vmark.lg{border-radius:12px;width:48px;height:48px;font-size:16px}.vmark.img{object-fit:contain;box-shadow:inset 0 0 0 1px var(--line);background:#fff;padding:3px}.vmark.lg.img{padding:5px}.vh0{--vh:25}.vh1{--vh:70}.vh2{--vh:110}.vh3{--vh:155}.vh4{--vh:200}.vh5{--vh:245}.vh6{--vh:290}.vh7{--vh:335}.vtools{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.vtools .input.search{flex:260px}.vgrid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.vcard{background:var(--field);box-shadow:inset 0 0 0 1px var(--line);border-radius:14px;flex-direction:column;gap:10px;padding:12px;transition:box-shadow .15s;display:flex}.vcard:hover,.vcard:focus-within{box-shadow:inset 0 0 0 1px var(--ink-4)}.vcard-open{min-width:0;color:inherit;text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;align-items:center;gap:12px;padding:0;display:flex}.vcard-open:focus-visible{outline:2px solid var(--ink-2);outline-offset:4px;border-radius:10px}.vcard-x{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.vcard-x b{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;overflow:hidden}.vcard-x small{color:var(--ink-3);font-size:12px}.vcard-cats{flex-wrap:wrap;gap:4px;min-height:22px;display:flex}.vcard-f{color:var(--ink-3);justify-content:space-between;align-items:center;gap:8px;margin-top:auto;font-size:12px;display:flex}.vhead{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.sub-h{color:var(--ink-3);text-transform:none;letter-spacing:.01em;margin:6px 0 0;font-size:12px;font-weight:500}@media (width<=640px){.vgrid{grid-template-columns:1fr}}.stagebar{grid-template-columns:4fr 3fr 2fr 1fr;gap:10px;display:grid}.stagebar-g{background:var(--glass-rail);border:1px solid var(--line);border-radius:12px;gap:4px;min-width:0;padding:4px;display:flex}.stagebar-b{min-width:0;color:var(--ink-2);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;flex-direction:column;flex:1 1 0;align-items:flex-start;gap:1px;padding:6px 8px;display:flex}.stagebar-b b{font-variant-numeric:tabular-nums;color:var(--ink);font:500 16px/1.1 Geist,sans-serif}.stagebar-b small{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:11px;overflow:hidden}.stagebar-b.zero b{color:var(--ink-4)}.stagebar-b:hover{background:var(--glass-hover)}.stagebar-b.on{background:var(--glass-panel);box-shadow:inset 0 0 0 1px var(--ink-3)}.stagebar-b:focus-visible{outline:2px solid var(--ink-2);outline-offset:1px}.lane-pick{display:none}.lanes{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:10px;display:grid}.lane{background:var(--glass-rail);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:8px;min-width:0;min-height:180px;padding:10px;display:flex}.lane.over{border-color:var(--ink-3);box-shadow:inset 0 0 0 1px var(--ink-3)}.lane header{align-items:baseline;gap:8px;padding:0 2px 2px;display:flex}.lane header h3{color:var(--ink);text-transform:none;margin:0;font-size:13px;font-weight:550}.lane header small{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:11.5px;overflow:hidden}.lane header i{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:12px;font-style:normal}.lane-cards{flex-direction:column;gap:8px;display:flex}.lane-empty{color:var(--ink-4);text-align:center;margin:0;padding:18px 4px;font-size:12.5px}.lane-done .bcard{opacity:.82}.bcard-h{align-items:flex-start;gap:8px;min-width:0;display:flex}.bcard-h .bcard-open{flex:1;min-width:0}.bcard-h .vmark.sm{margin-top:1px}.bprog{align-items:center;gap:2px;display:flex}.bprog i{background:var(--line);border-radius:2px;flex:1 1 0;max-width:14px;height:4px}.bprog i.d{background:var(--ink-3)}.bprog i.n{background:var(--ink)}.bcard.risk .bprog i.n{background:var(--risk)}.bcard.warn .bprog i.n{background:var(--warn)}.bprog span{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;margin-left:6px;font-size:11.5px;overflow:hidden}@media (width<=1100px){.stagebar{grid-template-columns:1fr 1fr}.lanes{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.stagebar{scroll-snap-type:x proximity;display:flex;overflow-x:auto}.stagebar-g{flex:none}.stagebar-b{flex:none;width:86px}.lane-pick{display:flex}.lane-pick i{color:var(--ink-3);margin-left:3px;font-style:normal}.lanes{grid-template-columns:1fr}.lanes>.lane{display:none}.lanes.show-buy>.lane-buy,.lanes.show-ordered>.lane-ordered,.lanes.show-arrived>.lane-arrived,.lanes.show-done>.lane-done{display:flex}}.ptime.proc .ptime-grid{grid-template-columns:230px minmax(620px,1fr)}.ptime-weeks{border-bottom:1px solid var(--line);height:26px;position:relative}.ptime-weeks>span{left:var(--l);color:var(--ink-3);white-space:nowrap;border-left:1px solid var(--line);height:14px;padding-left:5px;font-size:11.5px;line-height:1;position:absolute;bottom:6px}.ptime-vendor{align-items:center;gap:8px;min-width:0;padding:14px 8px 4px 0;display:flex}.ptime-vendor b{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:550;overflow:hidden}.ptime-vendor small{color:var(--ink-3);white-space:nowrap;font-size:11.5px}.ptime-lane.head{height:auto;min-height:36px}.ptime-name.po{color:var(--ink);border-radius:8px;flex-direction:column;gap:1px;padding:5px 8px 5px 30px;display:flex}.ptime-name.po b{font-family:Geist Mono,monospace;font-size:12.5px;font-weight:500}.ptime-name.po small{color:var(--ink-3);text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.ptime-name.po:hover{background:var(--glass-hover)}.ptime-name.po:focus-visible{outline:2px solid var(--ink-2);outline-offset:-2px}.ptime.proc .ptime-lane{height:42px}.ptime.proc .ptime-bar,.ptime.proc .ptime-slip{top:14px}.ptime.proc .ptime-ms{top:16px}.ptime-bar.solid{background:var(--ok);opacity:.7;box-shadow:none}.ptime-bar.solid.warn{background:var(--warn)}.ptime-bar.solid.risk{background:var(--risk)}.ptime-bar.solid.open{background:repeating-linear-gradient(135deg, var(--ink-4) 0 4px, transparent 4px 8px);box-shadow:inset 0 0 0 1px var(--ink-4);opacity:1}.ptime-slip.hard{background:var(--risk);opacity:.95}.ptime-ms.need{background:var(--ink);box-shadow:0 0 0 2px var(--bg,#000)}.ptime-legend i{vertical-align:middle;margin-right:6px;display:inline-block}.ptime-legend .lg-bar{background:var(--ok);opacity:.7;border-radius:999px;width:18px;height:8px}.ptime-legend .lg-bar.open{background:repeating-linear-gradient(135deg, var(--ink-4) 0 3px, transparent 3px 6px);box-shadow:inset 0 0 0 1px var(--ink-4);opacity:1}.ptime-legend .lg-slip{background:var(--risk);border-radius:999px;width:18px;height:8px}.ptime-legend .lg-ms{background:var(--ink);width:8px;height:8px;transform:rotate(45deg)}.ptime-legend .lg-today{background:var(--risk);width:2px;height:12px}@media (width<=720px){.ptime.proc .ptime-grid{grid-template-columns:150px minmax(520px,1fr)}.ptime-name.po{padding-left:8px}}.vsearch{width:300px;height:36px}.crumbs{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 12px;font-size:13px;display:flex}.crumbs .lucide{width:14px;height:14px;color:var(--ink-4)}.crumbs>span{color:var(--ink)}.vtiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.vtile{--tint:var(--ink-3);aspect-ratio:1;width:100%;max-height:260px;color:inherit;font:inherit;text-align:left;cursor:pointer;border:0;border-radius:18px;flex-direction:column;align-items:flex-start;gap:4px;padding:18px;transition:transform .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.vtile:hover{box-shadow:inset 0 0 0 1px var(--ink-4);transform:translateY(-2px)}.vtile:focus-visible{outline:2px solid var(--ink-2);outline-offset:3px}.vtile-ic{background:color-mix(in oklch, var(--tint) 16%, transparent);width:44px;height:44px;color:var(--tint);border-radius:12px;place-items:center;margin-bottom:auto;display:grid}.vtile-ic .lucide{width:22px;height:22px}.vtile-n{font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--ink);margin-top:12px;font:500 34px/1 Geist,sans-serif}.vtile b{font-size:15px;font-weight:550}.vtile small{color:var(--ink-3);font-size:12px;line-height:1.35}.vtile-f{border-top:1px solid var(--line);width:100%;color:var(--ink-3);justify-content:space-between;gap:8px;margin-top:4px;padding-top:10px;font-size:11.5px;display:flex}.vtile.empty .vtile-n{color:var(--ink-4)}.vtile.empty .vtile-ic{background:var(--field);color:var(--ink-4)}.vt-projects{--tint:oklch(72% .11 250)}.vt-drawings{--tint:oklch(72% .1 215)}.vt-invoices{--tint:oklch(74% .12 145)}.vt-orders{--tint:oklch(74% .1 175)}.vt-reports{--tint:oklch(76% .11 85)}.vt-site_photos{--tint:oklch(72% .12 40)}.vt-punch{--tint:oklch(70% .1 330)}.vt-shipping{--tint:oklch(73% .1 60)}.vt-material{--tint:oklch(72% .09 280)}.vt-hr{--tint:oklch(72% .1 305)}.vt-payroll{--tint:oklch(72% .1 160)}.vt-other{--tint:var(--ink-3)}[data-theme=light] .vt-projects{--tint:oklch(50% .13 250)}[data-theme=light] .vt-drawings{--tint:oklch(50% .11 215)}[data-theme=light] .vt-invoices{--tint:oklch(50% .12 145)}[data-theme=light] .vt-orders{--tint:oklch(50% .1 175)}[data-theme=light] .vt-reports{--tint:oklch(55% .12 75)}[data-theme=light] .vt-site_photos{--tint:oklch(52% .14 40)}[data-theme=light] .vt-punch{--tint:oklch(50% .13 330)}[data-theme=light] .vt-shipping{--tint:oklch(52% .12 55)}[data-theme=light] .vt-material{--tint:oklch(50% .11 280)}[data-theme=light] .vt-hr{--tint:oklch(50% .12 305)}[data-theme=light] .vt-payroll{--tint:oklch(50% .11 160)}.vfolders{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.vfolder{background:var(--field);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;box-shadow:inset 0 0 0 1px var(--line);border:0;border-radius:12px;align-items:center;gap:12px;padding:12px;display:flex}.vfolder:hover{box-shadow:inset 0 0 0 1px var(--ink-4)}.vfolder:focus-visible{outline:2px solid var(--ink-2);outline-offset:2px}.vfolder>.lucide{color:oklch(72% .11 250);flex:none;width:22px;height:22px}[data-theme=light] .vfolder>.lucide{color:oklch(50% .13 250)}.vfolder-x{flex-direction:column;gap:2px;min-width:0;display:flex}.vfolder-x b{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:500;overflow:hidden}.vfolder-x small{color:var(--ink-3);font-size:12px}.vfile{all:unset;cursor:pointer;align-items:center;gap:10px;min-width:0;display:flex}.vfile>span{flex-direction:column;min-width:0;display:flex}.vfile:focus-visible{outline:2px solid var(--ink-2);outline-offset:2px;border-radius:6px}.vver{height:18px;margin-left:6px}.vfiles td.r{text-align:right}@media (width<=1100px){.vtiles{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=720px){.vtiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.vtile{border-radius:16px;padding:14px}.vtile small,.vtile-f>span:first-child{display:none}.vtile-n{font-size:28px}.vsearch{width:100%}}.vnote{color:var(--ink-3);margin:14px 2px 0;font-size:12px}.ins-tabs{margin-bottom:12px}.dash-bar{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.dash-date{width:160px}.dash-group{color:var(--ink-3);align-items:center;gap:8px;font-size:13px;display:inline-flex}.dash-group select{width:auto;height:34px;padding-right:28px}.dash-pills{scrollbar-width:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.dash-pills button{border:1px solid var(--line);background:var(--field);height:34px;color:var(--ink-2);font:inherit;cursor:pointer;white-space:nowrap;border-radius:999px;flex:none;padding:0 14px;font-size:13px}.dash-pills button:hover{color:var(--ink);background:var(--glass-hover)}.dash-pills button.on{background:var(--glass-active);color:var(--ink);box-shadow:inset 0 1px 0 var(--hl), 0 0 0 1px var(--ink-4)}.dash-pills button:focus-visible{outline:2px solid var(--ink-2);outline-offset:2px}.dash-period{color:var(--ink-3);margin:0;font-size:12px}.dash-note{color:var(--ink-3);margin:0;font-size:12.5px}.delta{font-variant-numeric:tabular-nums;color:var(--ink-2)}.delta.up-good{color:var(--ok)}.delta.up-bad{color:var(--risk)}@media (width<=720px){.dash-bar .seg{max-width:100%;overflow-x:auto}.dash-bar .seg button{flex:none}}.pg-ins .work2{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:12px;display:grid}.pg-ins .work2.people{grid-template-columns:minmax(0,1fr) 460px}.pg-ins .work2.solo{grid-template-columns:minmax(0,1fr)}.pg-ins .tbl tr.on td{background:var(--glass-active)}.kpi{border-top:1px solid var(--line);grid-template-columns:minmax(0,1.3fr) 90px 90px 120px;align-items:center;gap:10px;padding:11px 0;font-size:13px;display:grid}.kpi:first-of-type{border-top:0}.kpi .r{text-align:right;font-variant-numeric:tabular-nums}.kpi small{color:var(--ink-3);font-size:12px;display:block}.meter{background:var(--ink-4);border-radius:3px;height:4px;position:relative}.meter i{background:var(--ok);border-radius:3px;position:absolute;top:0;bottom:0;left:0}.meter i.w{background:var(--ink-3)}.meter i.r{background:var(--risk)}.meter b{background:var(--ink-2);width:2px;position:absolute;top:-3px;bottom:-3px}.hd{color:var(--ink-3);grid-template-columns:minmax(0,1.3fr) 90px 90px 120px;gap:10px;padding-bottom:6px;font-size:12px;display:grid}.hd span:nth-child(2),.hd span:nth-child(3){text-align:right}.pg-trn .work2{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:12px;display:grid}.pg-trn .work2.solo{grid-template-columns:minmax(0,1fr)}.stg{border-top:1px solid var(--line);grid-template-columns:20px 1fr auto;align-items:start;gap:14px;padding:16px 0;display:grid}.stg:first-of-type{border-top:0;padding-top:4px}.stg .dot{width:12px;height:12px;box-shadow:inset 0 0 0 1.5px var(--ink-3);border-radius:50%;margin-top:4px}.stg.d .dot{background:var(--ok);box-shadow:0 0 8px var(--ok)}.stg.on .dot{background:var(--ink);box-shadow:0 0 0 4px var(--ink-4)}.stg b{font-size:15px;font-weight:550;display:block}.stg small{color:var(--ink-3);font-size:13px}.stg .r2{text-align:right;font-size:13px}.stg .r2 small{font-size:12px;display:block}.stg:not(.d):not(.on) b{color:var(--ink-2)}.li{border-top:1px solid var(--line);grid-template-columns:14px 1fr auto;align-items:center;column-gap:8px;padding:10px 0;font-size:14px;display:grid}.li:first-of-type{border-top:0}.li small{color:var(--ink-3);grid-column:2;font-size:12px}section.track{gap:0;padding:14px 18px;display:flex;overflow-x:auto}section.track div{border-left:1px solid var(--line);min-width:110px;color:var(--ink-3);flex:1;padding:0 14px;font-size:13px}section.track div:first-child{border-left:0;padding-left:0}section.track div b{color:var(--ink-2);font-size:14px;font-weight:500;display:block}section.track div.on b{color:var(--ink)}section.track div.on{color:var(--ink-2)}.fault{padding:22px 24px;position:relative;overflow:hidden}.fault:before{content:"";pointer-events:none;background:radial-gradient(60% 80% at 100% 0,#f4b86029,#0000 70%);position:absolute;inset:0}.fault .k1{color:var(--warn);align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.fault h2{letter-spacing:-.02em;margin:10px 0 8px;font-size:26px;font-weight:500}.fault p{color:var(--ink-2);max-width:620px;line-height:1.55}.choice{grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;display:grid}.choice button{text-align:left;background:var(--field);border:1px solid var(--field-edge);font:inherit;color:inherit;cursor:pointer;border-radius:14px;padding:14px;font-size:14px}.choice button.on{background:var(--glass-active);border-color:var(--ink-3);box-shadow:inset 0 1px 0 var(--hl)}.choice button b{margin-bottom:4px;font-weight:550;display:block}.choice button small{color:var(--ink-3)}.ta{resize:vertical;width:100%;height:auto;min-height:96px;padding-top:10px;line-height:1.5}.note{color:var(--ink-3);gap:8px;margin-top:12px;font-size:13px;line-height:1.5;display:flex}.logline{border-top:1px solid var(--line);padding:10px 0;font-size:13px;line-height:1.5}.logline:first-of-type{border-top:0}.cr{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:14px;padding:14px 0;display:flex}.cr:first-of-type{border-top:0;padding-top:0}.cr b{font-size:15px;font-weight:500;display:block}.cr small{color:var(--ink-3);font-size:13px}.sc{gap:5px;margin-left:auto;display:flex}.sc button{background:var(--ink-4);cursor:pointer;border:0;border-radius:5px;width:30px;height:10px;padding:0}.sc button.on{background:var(--ink)}@media (width<=900px){.pg-ins .work2,.pg-ins .work2.people,.pg-trn .work2{grid-template-columns:minmax(0,1fr)}.kpi,.hd{grid-template-columns:minmax(0,1fr) 70px 70px}.kpi .meter,.hd span:nth-child(4){display:none}.choice{grid-template-columns:1fr}}.gaps{margin:8px 0 0;padding:0;list-style:none}.gaps li{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:9px 0;font-size:13.5px;display:flex}.gaps-x{flex-direction:column;flex:240px;gap:2px;min-width:0;display:flex}.gaps-x b{font-weight:500}.gaps-x small{color:var(--ink-3);font-size:12.5px}.gaps-act{gap:6px;display:flex}.agrid-wrap{overflow-x:auto}.agrid{border-collapse:separate;border-spacing:2px;font-size:12px}.agrid th[scope=col]{color:var(--ink-3);text-align:center;min-width:24px;font-weight:500}.agrid th[scope=col] small{font-size:10.5px;font-weight:400;display:block}.agrid th[scope=row]{background:var(--glass);text-align:left;white-space:nowrap;padding-right:10px;font-weight:500;position:sticky;left:0}.ac{text-align:center;background:var(--field);width:24px;height:24px;color:var(--ink-2);border-radius:6px;display:table-cell}i.ac{vertical-align:middle;place-items:center;margin-right:4px;font-style:normal;display:inline-grid}.ac-office,.ac-site,.ac-travel{background:color-mix(in oklab, var(--ok) 22%, transparent);color:var(--ink)}.ac-no_work{background:color-mix(in oklab, var(--ok) 10%, transparent)}.ac-leave,.ac-half{background:color-mix(in oklab, var(--accent,var(--ok)) 14%, transparent)}.ac-unpaid_leave,.ac-absent{background:color-mix(in oklab, var(--risk) 16%, transparent);color:var(--ink)}.ac-holiday,.ac-off{color:var(--ink-3);background:0 0}.ac-before,.ac-future{background:0 0}.ac.flag{box-shadow:inset 0 0 0 2px var(--warn)}.agrid-key{color:var(--ink-3);flex-wrap:wrap;gap:14px;margin-top:10px;font-size:12px;display:flex}.mesteps{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin:10px 0 12px;padding:0;list-style:none;display:grid}.mesteps li{background:var(--field);border-radius:12px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:flex}.mesteps li b{font-weight:500;display:block}.mesteps li small{color:var(--ink-3)}.mesteps-n{border:1px solid var(--line);border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:12px;display:grid}.mesteps li.done .mesteps-n{background:var(--ok);color:#fff;border-color:#0000}.mesteps li.on{box-shadow:inset 0 0 0 1px var(--ink-3)}.mesteps .lucide{width:14px;height:14px}.pm-flags{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:inline-flex}.pm-note{margin:4px 0;font-size:13px}.pm-miles{flex-direction:column;margin-top:12px;font-size:13px;display:flex}.pm-miles>div{border-top:1px solid var(--line);justify-content:space-between;gap:10px;padding:8px 0;display:flex}.pm-btn{all:unset;box-sizing:border-box;cursor:pointer;width:100%;display:flex}.proj-tabs{border-bottom:1px solid var(--line);gap:4px;padding:0 8px;display:flex;overflow-x:auto}.proj-tabs button{all:unset;cursor:pointer;white-space:nowrap;color:var(--ink-3);border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 12px;font-size:14px}.proj-tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--ink)}.proj-tabs button:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}.proj-part{margin:14px 8px 0}.stage-chip{align-items:center;gap:6px;display:inline-flex}.aw-when{white-space:nowrap;font-size:12px}.aw-note,.aw-kv{margin:0;font-size:13px}.aw-kv dd{margin:0}.aw-acts{justify-content:flex-end;gap:8px}.wo-figs{grid-template-columns:repeat(auto-fit,minmax(9.5em,1fr));gap:12px;margin:4px 0 14px;display:grid}.wo-figs small{color:var(--ink-3);font-size:12.5px;display:block}.wo-figs b{font-size:22px;font-weight:500}.wo-wait{border-top:1px solid var(--line);padding-top:12px;font-size:13.5px}.wo-wait b{font-weight:500}.wo-wait ul{margin:6px 0 0;padding-left:18px}.wo-ok{border-top:1px solid var(--line);align-items:center;gap:8px;margin:0;padding-top:12px;font-size:13.5px;display:flex}.wo-ok .lucide{color:var(--ok);flex:none}.wo-terms{grid-template-columns:max-content 1fr;gap:8px 14px;margin:0;font-size:13.5px;display:grid}.wo-terms dt{color:var(--ink-3)}.wo-terms dd{margin:0}.wo-terms dd small{color:var(--ink-3);margin-top:4px;font-size:12px;display:block}.wo-inv{border-top:1px solid var(--line);justify-content:space-between;gap:10px;padding:8px 0;font-size:13px;display:flex}@media (width<=700px){.wo-figs b{font-size:18px}.wo-terms{grid-template-columns:1fr;gap:2px}.wo-terms dd{margin-bottom:8px}}.risk-text{color:var(--risk);white-space:nowrap}.stage{z-index:2;place-items:center;min-height:100vh;padding:40px;display:grid;position:relative}.slab{border-radius:28px;grid-template-columns:420px 1fr;width:min(1040px,100%);min-height:620px;display:grid;overflow:hidden}.slab .form{background:var(--glass-rail);flex-direction:column;padding:44px 44px 36px;display:flex}.slab .form .mark{align-items:center;gap:10px;display:flex}.slab .form .mark b{letter-spacing:.16em;font-size:12.5px;font-weight:600}.slab .form h1{letter-spacing:-.03em;margin-top:auto;padding-top:40px;font-size:30px;font-weight:500}.slab .form>p{color:var(--ink-2);margin:8px 0 26px;font-size:14px}.slab .form .f{flex-direction:column;gap:12px;display:flex}.or{color:var(--ink-3);align-items:center;gap:12px;margin:18px 0;font-size:12px;display:flex}.or:before,.or:after{content:"";background:var(--line);flex:1;height:1px}.device-note{color:var(--ink-3);align-items:flex-start;gap:10px;margin-top:auto;padding-top:20px;font-size:12.5px;display:flex}.device-note svg{margin-top:1px}.art{position:relative;overflow:hidden}.art .glow{background:radial-gradient(60% 70% at 70% 60%,#d32e2fe6,#0000 70%),radial-gradient(40% 40% at 30% 20%,#ff8c6459,#0000 70%),#120c0c;position:absolute;inset:0}[data-theme=light] .art .glow{background:radial-gradient(60% 70% at 70% 60%,#d32e2fbf,#0000 70%),radial-gradient(50% 50% at 25% 20%,#ffd2bee6,#0000 70%),#f3e3dc}.art .ribbon-art{filter:blur(14px);width:100%;height:100%;position:absolute;inset:0}.reeds{display:flex;position:absolute;inset:0}.reeds i{-webkit-backdrop-filter:blur(9px);background:linear-gradient(90deg,#ffffff1a,#fff0 35%,#00000029);border-right:1px solid #0000002e;flex:1}[data-theme=light] .reeds i{background:linear-gradient(90deg,#ffffff59,#fff0 40%,#78281e14);border-right-color:#78281e14}.art .cap{color:#fff;justify-content:space-between;align-items:flex-end;gap:16px;display:flex;position:absolute;bottom:32px;left:36px;right:36px}[data-theme=light] .art .cap{color:#2a1414}.art .cap b{letter-spacing:-.02em;font-size:22px;font-weight:500;display:block}.art .cap span{opacity:.75;letter-spacing:.12em;white-space:nowrap;font-size:12.5px}@media (width<=900px){.stage{place-items:stretch stretch;padding:14px}.slab{grid-template-columns:1fr;min-height:calc(100vh - 28px)}.slab .art{display:none}.slab .form{padding:28px 22px}}input.input,select.input{width:100%;font:inherit;outline:none;font-size:14px}input.input:focus,select.input:focus{border-color:var(--ink-2);box-shadow:0 0 0 4px var(--ink-4)}input.input::placeholder{color:var(--ink-3)}.btn:focus-visible,.nav a:focus-visible,.seg button:focus-visible{outline:2px solid var(--ink-2);outline-offset:2px}a{color:inherit}.nav a{cursor:pointer}.seg button{all:unset;height:26px;color:var(--ink-2);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 11px;font-size:12.5px;display:inline-flex}.seg button.on{background:var(--glass-active);color:var(--ink);box-shadow:inset 0 1px 0 var(--hl), 0 0 0 1px var(--line)}.theme button{all:unset;width:24px;height:22px;color:var(--ink-3);cursor:pointer;border-radius:999px;place-items:center;display:grid}.theme button.on{background:var(--glass-active);color:var(--ink);box-shadow:0 0 0 1px var(--line)}.theme svg{width:13px;height:13px}.lucide{stroke-width:1.6px;flex:none;width:16px;height:16px}.jump{cursor:pointer}button.chip{all:unset;height:24px;color:var(--ink-2);background:var(--calm-bg);cursor:pointer;border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:500;display:inline-flex}button.chip.on{color:var(--ink);background:var(--glass-active);box-shadow:inset 0 0 0 1px var(--line)}.banner{align-items:flex-start;gap:12px;padding:14px 18px;display:flex}.banner>svg.lucide{color:var(--ink-2);flex:none;margin-top:2px}.banner b{font-size:14px;font-weight:550}.banner p{color:var(--ink-2);margin:4px 0 0;font-size:13px}.banner.milestone>svg.lucide{color:var(--ok)}.banner.celebration>svg.lucide{color:var(--warn)}.palette{z-index:11;border-radius:20px;flex-direction:column;width:min(620px,100vw - 24px);max-height:70vh;display:flex;position:fixed;top:12vh;left:50%;overflow:hidden;transform:translate(-50%)}.palette .pin{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:14px 16px;display:flex}.palette .pin input{color:var(--ink);font:inherit;background:0 0;border:0;outline:none;flex:1;min-width:0;font-size:15px}.palette .pin .k{color:var(--ink-3);border:1px solid var(--line);border-radius:6px;padding:1px 6px;font-size:11px}.palette .pres{padding:6px;overflow-y:auto}.palette .pr{cursor:pointer;border-radius:12px;grid-template-columns:18px 1fr auto;align-items:center;gap:12px;padding:9px 10px;font-size:13px;display:grid}.palette .pr.on{background:var(--glass-raised);box-shadow:inset 0 0 0 1px var(--line)}.palette .pr b{text-overflow:ellipsis;white-space:nowrap;font-weight:500;display:block;overflow:hidden}.palette .pr small{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.palette .pr>div{min-width:0}.empty{margin:auto 0}.empty .ic{background:var(--glass-raised);width:44px;height:44px;box-shadow:inset 0 0 0 1px var(--line);border-radius:14px;place-items:center;margin-bottom:14px;display:grid}.empty b{font-size:16px;font-weight:550;display:block}.empty p{color:var(--ink-2);max-width:420px;margin:6px 0 14px;font-size:13.5px;line-height:1.5}.empty.err .ic{color:var(--risk)}.sk{background:linear-gradient(90deg, var(--ink-4), #7f7f7f14, var(--ink-4));background-size:200% 100%;border-radius:6px;height:12px;margin:10px 0;animation:1.4s linear infinite sk}@keyframes sk{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.sk{animation:none}}.toast{z-index:20;border-radius:14px;align-items:center;gap:12px;padding:12px 14px;font-size:13.5px;display:flex;position:fixed;bottom:20px;right:20px}.veil{z-index:10;background:#08060640;position:fixed;inset:0}[data-theme=light] .veil{background:#ece7e333}.drawer{z-index:11;border-radius:22px;flex-direction:column;width:min(420px,100vw - 24px);display:flex;position:fixed;top:12px;bottom:12px;right:12px;overflow:hidden}.drawer .dh{align-items:center;gap:10px;padding:18px 20px 12px;display:flex}.drawer .dh h2{letter-spacing:-.01em;font-size:18px;font-weight:550}.drawer .dh .r{gap:6px;margin-left:auto;display:flex}.drawer .list{flex:1;overflow-y:auto}.n{border-top:1px solid var(--line);cursor:pointer;grid-template-columns:30px 1fr auto;gap:12px;padding:12px 20px;font-size:13.5px;display:grid;position:relative}.n.unread:before{content:"";background:var(--glow);width:6px;height:6px;box-shadow:0 0 8px var(--glow);border-radius:50%;position:absolute;top:22px;left:8px}.n .ic{background:var(--glass-raised);width:30px;height:30px;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-2);border-radius:9px;place-items:center;display:grid}.n small{color:var(--ink-3);margin-top:2px;font-size:12px;display:block}.n .tm{color:var(--ink-3);font-size:12px}.chan{border-top:1px solid var(--line);color:var(--ink-3);align-items:center;gap:8px;padding:12px 20px;font-size:12px;display:flex}.work{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:12px;display:grid}.sn{padding:10px}.sn a{height:34px;color:var(--ink-2);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:0 10px;font-size:13.5px;text-decoration:none;display:flex}.sn a.on{background:var(--glass-active);color:var(--ink);box-shadow:inset 0 1px 0 var(--hl), 0 0 0 1px var(--line)}.set{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:16px 0;display:grid}.set:first-of-type{border-top:0;padding-top:4px}.set b{font-weight:500;display:block}.set small{color:var(--ink-3);margin-top:2px;font-size:12.5px;line-height:1.45;display:block}.sw{all:unset;background:var(--ink-4);cursor:pointer;border-radius:999px;flex:none;width:40px;height:24px;position:relative}.sw:after{content:"";background:var(--ink);opacity:.9;border-radius:50%;width:18px;height:18px;transition:left .15s;position:absolute;top:3px;left:3px}[data-theme=light] .sw:after{background:#fff;box-shadow:0 1px 3px #0003}.sw.on{background:var(--ok)}.sw.on:after{background:#fff;left:19px}.sw[disabled]{opacity:.5;cursor:not-allowed}.sw:focus-visible{outline:2px solid var(--ink-2);outline-offset:2px}.sect{color:var(--ink-3);margin:22px 0 4px;font-size:12px}.matrix{border-collapse:collapse;width:100%}.matrix th{color:var(--ink-3);text-align:center;padding:0 6px 10px;font-size:11.5px;font-weight:500}.matrix th:first-child{text-align:left}.matrix td{border-top:1px solid var(--line);text-align:center;padding:8px 6px}.matrix td:first-child{text-align:left;font-size:13px}@media (width<=900px){.app{grid-template-columns:1fr;padding:10px 10px 100px}.app>.side{display:none}.work{grid-template-columns:1fr}.grid>*{grid-column:span 12!important}.top{flex-wrap:wrap}.top h1{font-size:26px}}@media (width>=901px){.tabbar{display:none}}.tabbar a{cursor:pointer;text-decoration:none}.code-reveal{letter-spacing:.08em;background:var(--field);border:1px solid var(--field-edge);text-align:center;border-radius:12px;padding:14px 16px;font-family:Geist Mono,monospace;font-size:22px}.qr{aspect-ratio:1;background:#fff;border-radius:12px;flex:none;align-self:center;width:200px;overflow:hidden}.qr img{width:100%;height:100%;image-rendering:pixelated;display:block}.backup-codes{grid-template-columns:repeat(2,1fr);gap:6px 16px;font-family:Geist Mono,monospace;font-size:13px;display:grid}.modal{z-index:11;width:min(480px,100vw - 24px);max-height:calc(100vh - 24px);padding:22px;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.nav>div,.nav{flex-direction:column;gap:2px;display:flex}.nav a.open{color:var(--ink)}.nav .sub{border-left:1px solid var(--line);flex-direction:column;gap:2px;margin:2px 0 6px 18px;padding-left:8px;display:flex}.nav .sub a{height:32px;font-size:13.5px}.side .foot{position:relative}.who-btn{all:unset;cursor:pointer;border-radius:12px;flex:1;align-items:center;gap:10px;min-width:0;padding:4px;display:flex}.who-btn:hover{background:var(--glass-hover)}.who-btn:focus-visible{outline:2px solid var(--ink-2);outline-offset:2px}.who-btn .who{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.veil.clear{background:0 0}.topbar{justify-content:flex-end;gap:6px;padding:4px 4px 0}.phone-only{display:none}@media (width<=900px){.phone-only{display:inline-flex}.tabbar a{text-align:center;padding:0 2px}}.punchbar{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 10px 8px 14px;font-size:13.5px;display:flex}.punchbar-text{flex:220px;min-width:0}.punchbar-text b{color:var(--ink);font-weight:550}.punchbar-actions{flex-wrap:wrap;gap:6px;margin-left:auto;display:flex}.punchbar-error{flex-basis:100%}:root,[data-theme=dark]{--glass-rail:#141111;--glass-panel:#1a1616;--glass-raised:#231e1e;--scene-a:#d32e2f57;--ribbon-op:.32}[data-theme=light]{--glass-rail:#fbf9f7;--glass-panel:#fff;--glass-raised:#fff;--glass-active:#fff;--scene-a:#d32e2f1a;--ribbon-op:.14}.glass{-webkit-backdrop-filter:none}button.chip:focus-visible,.theme button:focus-visible,.tabbar a:focus-visible,.bx:focus-visible,.tbl.dt tr.go:focus-visible,[role=tab]:focus-visible,.toggle input:focus-visible+label,.menu a:focus-visible,.menu button:focus-visible{outline:2px solid var(--ink-2);outline-offset:2px}.sk.w40{width:40%}.sk.h16{height:16px}.sk.w55{width:55%}.sk.w59{width:59%}.sk.w68{width:68%}.sk.w72{width:72%}.sk.w81{width:81%}.sk.w85{width:85%}.nil{color:var(--ink-2);padding:6px 0;font-size:13.5px}.confirm{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.confirm small{color:var(--ink)}.field .fhint{color:var(--ink-2);font-size:12px}.field .ferr{color:var(--risk);font-size:12px}textarea.input.area{height:auto;min-height:84px;font:inherit;resize:vertical;padding:10px 12px}.toggle{grid-template-columns:auto 1fr;align-items:center;gap:2px 10px;display:grid}.toggle input{appearance:none;background:var(--ink-4);cursor:pointer;border-radius:999px;width:40px;height:24px;margin:0;position:relative}.toggle input:after{content:"";background:var(--ink);border-radius:50%;width:18px;height:18px;transition:left .15s;position:absolute;top:3px;left:3px}.toggle input:checked{background:var(--ok)}.toggle input:checked:after{background:#fff;left:19px}.toggle input:disabled{opacity:.5;cursor:not-allowed}.toggle label{color:var(--ink);cursor:pointer;font-size:14px}.toggle .fhint{color:var(--ink-2);grid-column:2;font-size:12px}.tbl.dt tr.go{cursor:pointer}.tbl.dt tr.go:hover td{background:var(--glass-hover)}.modal.wide{width:min(640px,100vw - 24px)}.modal:focus{outline:none}.modal.sheet{width:auto;max-width:560px;max-height:85vh;padding-bottom:calc(22px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;margin:0 auto;inset:auto 0 0;transform:none}.toasts{z-index:30;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.toasts .toast{background:var(--glass-raised);color:var(--ink);box-shadow:0 0 0 1px var(--line), var(--shadow-sm);pointer-events:auto;position:static}.toasts .toast.ok svg{color:var(--ok)}.toasts .toast.risk svg{color:var(--risk)}.menu{flex-direction:column;gap:2px;display:flex}.menu a,.menu button{all:unset;min-height:44px;color:var(--ink);cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:0 12px;font-size:14px;display:flex}.menu a:hover,.menu button:hover,.menu a.on{background:var(--glass-hover)}.menu .sect{color:var(--ink-2);padding:12px 12px 4px;font-size:12px}.me-pop{z-index:12;border-radius:16px;padding:8px;position:absolute;bottom:64px;left:8px;right:8px}.queue-bar{background:var(--warn-bg);color:var(--ink);border-radius:14px;align-items:center;gap:10px;padding:10px 14px;font-size:13.5px;display:flex}.queue-bar.err{background:var(--risk-bg)}.offline-bar{z-index:6;text-align:center;background:var(--warn-bg);color:var(--ink);border-radius:12px;padding:8px 12px;font-size:13px;position:sticky;top:0}@media (width<=700px){.modal{width:auto;max-height:88vh;padding-bottom:calc(22px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;inset:auto 0 0;transform:none}.tbl.dt thead{display:none}.tbl.dt,.tbl.dt tbody,.tbl.dt tr,.tbl.dt td{width:100%;display:block}.tbl.dt tr{border-top:1px solid var(--line);padding:12px 2px}.tbl.dt td{text-align:left;border:0;justify-content:space-between;gap:12px;padding:2px 0;display:flex}.tbl.dt td.pri{padding-bottom:6px;font-size:15px;font-weight:550;display:block}.tbl.dt td[data-label]:before{content:attr(data-label);color:var(--ink-2);flex:none;font-size:12.5px}.tbl.dt td.desk{display:none}}@media (width<=900px),(pointer:coarse){.btn{height:44px;padding:0 16px}.btn.icon{width:44px}.btn.lg{height:52px}input.input,select.input{height:48px;font-size:16px}textarea.input{font-size:16px}.seg button{height:40px;padding:0 14px}button.chip{height:36px;padding:0 14px}.theme button{width:40px;height:36px}.toggle input{width:48px;height:28px}.toggle input:after{width:22px;height:22px}.toggle input:checked:after{left:23px}.tabbar a{min-height:48px}.toasts{bottom:96px;left:12px;right:12px}}.pad12{padding:12px}.grow{flex:1;min-width:0}.num.late{color:var(--risk)}.desc{color:var(--ink-2);white-space:pre-wrap;margin-top:14px}.split{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:12px;display:grid}dl.kv{grid-template-columns:110px 1fr;align-items:center;gap:10px 12px;font-size:13.5px;display:grid}dl.kv dt{color:var(--ink-2)}dl.kv dd{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mlist{flex-direction:column;list-style:none;display:flex}.mlist li{border-top:1px solid var(--line);align-items:center;gap:12px;padding:12px 0;display:flex}.mlist li:first-child{border-top:0}@media (width<=900px){.split{grid-template-columns:1fr}}.row.wrap{flex-wrap:wrap}.row.tight{gap:6px}.mlist li.wrap{flex-wrap:wrap}.note{border:1px solid var(--line);background:var(--field);border-radius:10px;padding:10px 12px;font-size:13.5px}.note.warn{border-color:var(--warn)}.note .t2{margin-top:4px}.load{background:var(--line);border-radius:4px;flex:none;width:96px;height:8px;display:inline-flex;overflow:hidden}.load i{height:100%;width:var(--rest,0);background:var(--ink-2);display:block}.load i.over{width:var(--over,0);background:var(--risk)}ol.history{flex-direction:column;gap:10px;font-size:13.5px;list-style:none;display:flex}ol.history li{grid-template-columns:92px 1fr;gap:10px;display:grid}ol.history time{color:var(--ink-2)}.sim{max-height:340px;overflow-y:auto}.gantt{max-height:min(70vh,640px);box-shadow:inset 0 0 0 1px var(--line);background:var(--glass-panel);border-radius:12px;display:flex;overflow:auto}.gantt:focus-within{box-shadow:inset 0 0 0 1px var(--ink-3)}.gantt .gl{z-index:2;background:var(--glass-panel);border-right:1px solid var(--line);flex:none;position:sticky;left:0}.gantt .gscroll{flex:none}.gantt .gt:focus{outline:none}.gantt text{fill:var(--ink);font-family:inherit;font-size:12px}.gantt .ghead{fill:var(--glass-raised)}.gantt .gcap,.gantt .gtick text{fill:var(--ink-3);font-size:11px}.gantt .gtick line{stroke:var(--line);stroke-width:1px}.gantt .gtick.major line{stroke:var(--ink-4)}.gantt .gtick.major text{fill:var(--ink-2);font-weight:550}.gantt .goff{fill:var(--ink-4);opacity:.35}.gantt .gband{fill:#0000}.gantt .grow.on .gband,.gantt .glabel.on rect{fill:var(--glass-hover)}.gantt .glabel{cursor:pointer}.gantt .glabel rect{fill:#0000}.gantt .glabel.done text{fill:var(--ink-3)}.gantt .gwho{fill:var(--ink-3);font-size:11px}.gantt .gphase{cursor:pointer}.gantt .gphase rect{fill:var(--glass-raised)}.gantt .gphase text{font-weight:550}.gantt .gphase .gcount{fill:var(--ink-3);font-weight:400}.gantt .gphasebar .gband{fill:var(--glass-raised)}.gantt .gphasebar rect:not(.gband){fill:var(--ink-2)}.gantt .gphasebar.late rect:not(.gband){fill:var(--risk)}.gantt .gbase{fill:var(--ink-4)}.gantt .gbar rect:first-child,.gantt .gbar.team rect:first-child{fill:var(--ink-2)}.gantt .gbar.late rect:first-child{fill:var(--risk)}.gantt .gbar.done rect:first-child{fill:var(--ok);opacity:.7}.gantt .gbar.client rect:first-child{stroke:var(--warn);stroke-width:1px}.gantt .gbar.crit rect:first-child{stroke:var(--ink);stroke-width:1.5px}.gantt .gbar.can{cursor:grab}.gantt .gbar.can:active{cursor:grabbing}.gantt .gpct{fill:var(--ink);opacity:.45;pointer-events:none}.gantt .gend{fill:#0000;cursor:ew-resize}.gantt .ghatch-bg{fill:var(--glass-raised)}.gantt .ghatch-ln{stroke:var(--warn);stroke-width:2.5px}.gantt .gdia{cursor:pointer}.gantt .gdia path{fill:var(--ink)}.gantt .gdia.late path{fill:var(--risk)}.gantt .gdia.done path{fill:var(--ok)}.gantt .gdia.client path{fill:var(--warn)}.gantt .gdia.crit path:last-of-type{stroke:var(--ink);stroke-width:1.5px}.gantt .gdia .gdia-base{fill:none;stroke:var(--ink-3);stroke-width:1px}.gantt .gpay{fill:var(--ink-2);font-weight:600}.gantt .gcode{fill:var(--ink-2);font-size:11px}.gantt .glate{fill:var(--risk);font-size:11px;font-weight:550}.gantt .garrow{fill:none;stroke:var(--ink-3);stroke-width:1px;opacity:.7}.gantt .garrow.crit{stroke:var(--ink);opacity:1}.gantt .garrowhead{fill:var(--ink-3)}.gantt .gtoday{stroke:var(--risk);stroke-width:1.5px;stroke-dasharray:3 3}.plan-desk{display:block}.plan-phone{display:none}@media (width<=700px){.plan-desk{display:none}.plan-phone{display:block}}.planlist h3{color:var(--ink-2);margin:14px 0 4px;font-size:13px;font-weight:550}.planlist ul{margin:0;padding:0;list-style:none}.planlist li button{all:unset;box-sizing:border-box;border-top:1px solid var(--line);cursor:pointer;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:48px;padding:10px 0;font-size:14px;display:grid}.planlist li button:focus-visible{outline:2px solid var(--ink-2);outline-offset:2px}.planlist small{color:var(--ink-3);font-size:12px;display:block}.planlist .dt{text-align:right;font-size:13px}.planlist .late{color:var(--risk)}.lamp{background:var(--ink-3);border-radius:50%;width:9px;height:9px}.lamp.ok{background:var(--ok)}.lamp.warn{background:var(--warn)}.lamp.risk{background:var(--risk)}.plan-legend{color:var(--ink-3);flex-wrap:wrap;gap:6px 16px;margin-top:8px;font-size:12px;display:flex}.plan-legend i{vertical-align:middle;background:var(--ink-2);border-radius:2px;width:18px;height:8px;margin-right:6px;display:inline-block}.plan-legend i.base{background:var(--ink-4);height:3px}.plan-legend i.late{background:var(--risk)}.plan-legend i.done{background:var(--ok)}.plan-legend i.client{background:repeating-linear-gradient(45deg, var(--warn) 0 2px, var(--glass-raised) 2px 5px)}.plan-legend i.today{background:var(--risk);width:2px;height:12px}.milestones{gap:8px;display:grid}.milestones .ms{background:var(--glass-raised);box-shadow:inset 0 0 0 1px var(--line);border-radius:12px;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:10px 12px;font-size:13px;display:grid}.milestones .ms small{color:var(--ink-3);grid-column:1/-1;font-size:12px}.milestones .ms.late{box-shadow:inset 3px 0 0 var(--risk), inset 0 0 0 1px var(--line)}.board-filters{align-items:flex-end;gap:8px 12px}.board{scroll-snap-type:x proximity;grid-auto-columns:minmax(220px,1fr);grid-auto-flow:column;gap:10px;padding-bottom:8px;display:grid;overflow-x:auto}.board-col{background:var(--glass-rail);border:1px solid var(--line);scroll-snap-align:start;border-radius:12px;flex-direction:column;gap:8px;min-height:160px;padding:10px;display:flex}.board-col.over{border-color:var(--ink-3);box-shadow:inset 0 0 0 1px var(--ink-3)}.board-col h3{color:var(--ink-2);text-transform:none;justify-content:space-between;font-size:12px;font-weight:550;display:flex}.board-col h3 i{color:var(--ink-3);font-style:normal}.bcard{background:var(--glass-panel);border:1px solid var(--line);border-left:3px solid var(--ok);cursor:grab;border-radius:10px;flex-direction:column;gap:6px;padding:10px;display:flex}.bcard.warn{border-left-color:var(--warn)}.bcard.risk{border-left-color:var(--risk)}.bcard:active{cursor:grabbing}.bcard-open{all:unset;cursor:pointer;flex-direction:column;gap:2px;font-size:13px;display:flex}.bcard-open:focus-visible{outline:2px solid var(--ink-2);outline-offset:2px;border-radius:4px}.bcard .gap{color:var(--ok);font-size:12px;font-weight:550}.bcard .gap.warn{color:var(--warn)}.bcard .gap.risk{color:var(--risk)}.bcard-foot{justify-content:space-between;align-items:center;gap:6px;font-size:12px;display:flex}.facts{grid-template-columns:max-content 1fr;gap:6px 16px;font-size:13px;display:grid}.facts dt{color:var(--ink-3)}.facts dd{flex-wrap:wrap;align-items:center;gap:6px;margin:0;display:flex}.checks{border:0;flex-direction:column;gap:8px;padding:0;display:flex}.checks legend{color:var(--ink-2);margin-bottom:6px;font-size:13px}.linkish{all:unset;cursor:pointer}.linkish:hover{text-decoration:underline}.linkish:focus-visible{outline:2px solid var(--ink-2)}.ptl{grid-template-columns:minmax(160px,240px) 1fr;gap:8px;display:grid;overflow-x:auto}.ptl-names{flex-direction:column;display:flex}.ptl-name{height:28px;color:inherit;white-space:nowrap;text-overflow:ellipsis;flex-direction:column;justify-content:center;font-size:12px;line-height:1.2;text-decoration:none;display:flex;overflow:hidden}.ptl-bars{width:100%;min-width:480px;height:auto}.ptl-bar{fill:var(--ok)}.ptl-bar.warn{fill:var(--warn)}.ptl-bar.risk{fill:var(--risk)}.ptl-bar.open{opacity:.45}.ptl-need{fill:var(--ink)}.ptl-today{stroke:var(--risk);stroke-dasharray:3 3}.pstrip{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;display:grid}.pstrip-n{border:1px solid var(--line);color:inherit;border-radius:10px;flex-direction:column;gap:2px;padding:10px 12px;font-size:12px;text-decoration:none;display:flex}.pstrip-n b{font-size:22px;font-weight:550}.pstrip-n.warn b{color:var(--warn)}.pstrip-n.risk b{color:var(--risk)}@media (width<=720px){.board{grid-auto-columns:82%}.facts{grid-template-columns:1fr}.facts dt{margin-top:6px}}.issue-line{border-bottom:1px solid var(--line);padding-bottom:8px}.count-in{text-align:right;width:96px}.btn{height:auto;min-height:34px;padding-block:6px;line-height:1.25}.btn.lg{min-height:48px}.btn.icon{height:auto;min-height:34px;padding-block:0}.chip{height:auto;min-height:22px;padding-block:2px;line-height:1.3}.nav a{height:auto;min-height:34px;padding-block:6px}.seg span{height:auto;min-height:26px}input.input,select.input{height:auto;min-height:40px;padding-block:8px}@media (width<=900px),(pointer:coarse){.btn,.btn.icon{min-height:44px}.btn.lg{min-height:52px}input.input,select.input{min-height:48px}.seg button{height:auto;min-height:40px}button.chip{height:auto;min-height:36px}}@media (width<=700px){.btn,.chip{white-space:normal;text-align:center}.ph{flex-wrap:wrap;row-gap:4px}.ph h2{flex-shrink:0}}:root,[data-theme=dark]{--s1:#3987e5;--s2:#d95926;--s3:#199e70;--s4:#c98500;--s5:#d55181;--s6:#008300;--s7:#9085e9;--s8:#e66767;--q1:#104281;--q2:#1c5cab;--q3:#2a78d6;--q4:#5598e7;--q5:#86b6ef;--q6:#b7d3f6;--c-grid:#ffffff0f;--c-base:#ffffff29;--c-surface:#151313}[data-theme=light]{--s1:#2a78d6;--s2:#eb6834;--s3:#1baf7a;--s4:#eda100;--s5:#e87ba4;--s6:#008300;--s7:#6250d6;--s8:#e34948;--q1:#cde2fb;--q2:#9ec5f4;--q3:#6da7ec;--q4:#3987e5;--q5:#256abf;--q6:#184f95;--c-grid:#17131312;--c-base:#17131333;--c-surface:#f4f0ed}.s1{--c:var(--s1)}.s2{--c:var(--s2)}.s3{--c:var(--s3)}.s4{--c:var(--s4)}.s5{--c:var(--s5)}.s6{--c:var(--s6)}.s7{--c:var(--s7)}.s8{--c:var(--s8)}.t-ok{--c:var(--ok)}.t-warn{--c:var(--warn)}.t-risk{--c:var(--risk)}.sw{background:var(--c);border-radius:3px;flex:none;width:10px;height:10px;display:inline-block}.cgrid-2{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;display:grid}.ccard{flex-direction:column;gap:10px;min-width:0;display:flex}.ccard.wide{grid-column:1/-1}.ccard-h{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.ccard-t{min-width:0}.ccard-t h3{color:var(--ink);text-transform:none;letter-spacing:0;margin:0;font-size:14px;font-weight:550}.ccard-t p{color:var(--ink-3);max-width:60ch;margin:3px 0 0;font-size:12px;line-height:1.4}.seg.sm button{height:26px;padding:0 10px;font-size:12px}.ccard-empty{text-align:center;color:var(--ink-4);margin:0;padding:40px 0;font-size:13px}.ccard-tbl{max-height:320px;overflow:auto}.ccard-tbl th.r,.ccard-tbl td.r{text-align:right}.clegend{color:var(--ink-2);flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.clegend li{align-items:center;gap:6px;display:inline-flex}.cplot{width:100%;min-height:220px;position:relative}.cplot svg{display:block;overflow:visible}.cgrid line{stroke:var(--c-grid);stroke-width:1px;shape-rendering:crispedges}.cgrid line.base{stroke:var(--c-base)}.cgrid text{fill:var(--ink-3);font-variant-numeric:tabular-nums;font-size:11px}.ccross{stroke:var(--ink-4);stroke-width:1px;shape-rendering:crispedges}.cser{color:var(--c)}.cline{fill:none;stroke:var(--c);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.carea{fill:var(--c);opacity:.1}.cdot{fill:var(--c);stroke:var(--c-surface);stroke-width:2px}.cbar{fill:var(--c);transition:opacity .12s}.cplot:hover .cbar{opacity:.55}.cplot:hover .cbar.on{opacity:1}.chit{fill:#0000}.ctip{z-index:3;top:var(--ty);left:var(--tx);background:var(--glass-panel);-webkit-backdrop-filter:blur(16px);min-width:150px;box-shadow:0 0 0 1px var(--line), 0 10px 30px #00000040;pointer-events:none;border-radius:10px;flex-direction:column;gap:4px;padding:8px 10px;font-size:12px;display:flex;position:absolute;transform:translate(12px)}.ctip.left{transform:translate(calc(-100% - 12px))}.ctip b{color:var(--ink);font-weight:550}.ctip span{color:var(--ink-2);align-items:center;gap:6px;display:flex}.ctip em{color:var(--ink);font-variant-numeric:tabular-nums;margin-left:auto;padding-left:12px;font-style:normal}.cdonut{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.cseg{fill:var(--c);cursor:default;transition:opacity .12s}.cseg.dim{opacity:.35}.cdonut-empty{fill:none;stroke:var(--c-grid);stroke-width:20px}.cdonut-n{fill:var(--ink);font-variant-numeric:tabular-nums;font:500 22px Geist,sans-serif}.cdonut-l{fill:var(--ink-3);font-size:11px}.cdonut-legend{flex-direction:column;flex:180px;gap:2px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.cdonut-legend li{color:var(--ink-2);border-radius:7px;align-items:center;gap:8px;padding:5px 6px;font-size:12.5px;display:flex}.cdonut-legend li.on{background:var(--glass-hover)}.cdonut-legend span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cdonut-legend em{color:var(--ink);font-variant-numeric:tabular-nums;font-style:normal}.cdonut-legend small{text-align:right;width:36px;color:var(--ink-3);font-variant-numeric:tabular-nums}.chbars{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.chbars li{border-radius:6px;grid-template-columns:minmax(90px,36%) 1fr auto;align-items:center;gap:10px;padding:2px 0;font-size:12.5px;display:grid}.chbars li:hover{background:var(--glass-hover)}.chb-l{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.chb-step{width:16px;color:var(--ink-4);font-variant-numeric:tabular-nums;flex:none;font-size:11px;font-style:normal}.chb-track{height:12px;position:relative}.chb-bar{width:var(--w);background:var(--c);border-radius:0 4px 4px 0;position:absolute;top:0;bottom:0;left:0}.chb-v{text-align:right;min-width:52px;color:var(--ink);font-variant-numeric:tabular-nums}.cheat-grid{grid-template-columns:40px repeat(var(--cols), minmax(0, 1fr));gap:3px;display:grid}.cheat-row{display:contents}.cheat-x{color:var(--ink-3);text-align:center;white-space:nowrap;text-overflow:ellipsis;padding-bottom:2px;font-size:11px;overflow:hidden}.cheat-y{color:var(--ink-3);align-self:center;font-size:11.5px}.cheat-c{background:var(--field);border-radius:5px;height:26px}.cheat-c.on{box-shadow:0 0 0 2px var(--ink-2)}.q1{background:var(--q1)}.q2{background:var(--q2)}.q3{background:var(--q3)}.q4{background:var(--q4)}.q5{background:var(--q5)}.q6{background:var(--q6)}.cheat-c.q0{background:var(--field)}.cheat-f{color:var(--ink-3);justify-content:space-between;align-items:center;gap:12px;margin-top:8px;font-size:12px;display:flex}.cheat-scale{gap:2px;display:inline-flex}.cheat-scale i{border-radius:2px;width:14px;height:8px}@media (width<=900px){.cgrid-2{grid-template-columns:1fr}}@media (forced-colors:active){.cbar,.cseg,.chb-bar,.sw{forced-color-adjust:none}}
