@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(../media/space-grotesk-latin-700-normal.2lryt7vlpdgap.woff2)format("woff2"),url(../media/space-grotesk-latin-700-normal.1548_r5u-5cgx.woff)format("woff")}
@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-latin-400-normal.1-h52z97c7bce.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-400-normal.0fuh4fyjfo9ap.woff)format("woff")}
@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-latin-600-normal.11xxlm8n0_7w8.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-600-normal.0o-mv26yr1hzk.woff)format("woff")}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-latin-400-normal.19gbeb610ur4n.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-400-normal.3nj-glub930lh.woff)format("woff")}
:root,:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--brand-line:#f1f2ee;--sinal:#2f9c8c;--bg:#12181a;--surface:#1a2226;--text:#e4e6e2;--strong:#f1f2ee;--muted:#f1f2eea8;--border:#f1f2ee24;--primary:#2f9c8c;--primary-hover:#36ad9b;--primary-text:#12181a;--link:#3fb3a1;--danger:#f2736a;--ok:#9ccb6b;--warn:#e8a64a;--radius:6px;--overlay:#080c0d9e;--selected:#2f9c8c2e;--topbar:#0d1214;--subnav:#12181a;--field:#151c1f;--shadow:0 1px 2px #00000059, 0 8px 24px #00000040;--gf-bg:#12181a;--gf-panel:#1a2226;--gf-border:#f1f2ee1f;--gf-text:#e4e6e2;--gf-strong:#f1f2ee;--gf-muted:#f1f2eea8;--gf-muted-solid:#9da6a3;--gf-hover:#f1f2ee12;--gf-track:#f1f2ee14;--gf-grid:#f1f2ee1a;--gf-crosshair:#f1f2ee66;--gf-tooltip:#0d1214;--gf-pill-text:#12181a;--gf-shadow:#00000080;--gf-text-shadow:none;--gf-selected:#2f9c8c2e;--viz-plan:#3987e5;--viz-actual:#199e70;--viz-committed:#d95926;--viz-forecast:#9085e9;--viz-good:#0ca30c;--viz-warning:#fab219;--viz-serious:#ec835a;--viz-critical:#d03b3b;--gf-green:#9ccb6b;--gf-yellow:#e6c24a;--gf-blue:#2f9c8c;--gf-orange:#e8a64a;--gf-red:#f2736a;--gf-purple:#8a9894;--gf-cyan:#b9c0bd;--gf-lime:#5b6b67}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--brand-line:#1a2226;--sinal:#2f9c8c;--bg:#f1f2ee;--surface:#fff;--text:#1a2226;--strong:#12181a;--muted:#5b6b67;--border:#dadcd6;--primary:#2f9c8c;--primary-hover:#268a7c;--primary-text:#12181a;--link:#1f7366;--danger:#b8402f;--ok:#4a7d1e;--warn:#8a5a00;--radius:6px;--overlay:#12181a73;--selected:#2f9c8c1f;--topbar:#1a2226;--subnav:#fff;--field:#fff;--shadow:0 1px 2px #1a22260f, 0 8px 24px #1a222614;--gf-bg:#f1f2ee;--gf-panel:#fff;--gf-border:#dadcd6;--gf-text:#1a2226;--gf-strong:#12181a;--gf-muted:#5b6b67;--gf-muted-solid:#5b6b67;--gf-hover:#1a22260d;--gf-track:#1a222612;--gf-grid:#1a22261a;--gf-crosshair:#1a222666;--gf-tooltip:#fff;--gf-pill-text:#fff;--gf-shadow:#0000002e;--gf-text-shadow:none;--gf-selected:#2f9c8c24;--viz-plan:#2a78d6;--viz-actual:#1baf7a;--viz-committed:#eb6834;--viz-forecast:#6250d6;--viz-good:#0ca30c;--viz-warning:#fab219;--viz-serious:#ec835a;--viz-critical:#d03b3b;--gf-green:#4a7d1e;--gf-yellow:#a37a00;--gf-blue:#268a7c;--gf-orange:#b45a00;--gf-red:#b8402f;--gf-purple:#5b6b67;--gf-cyan:#9da6a3;--gf-lime:#c6cbc7}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font:15.5px/1.5 IBM Plex Sans,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1,h2,h3{letter-spacing:-.015em;color:var(--strong);font-family:Space Grotesk,IBM Plex Sans,system-ui,sans-serif;font-weight:700}.kpi,.timer,.gf-stat-value,code,.mono{word-spacing:-.35ch;font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,monospace}a{color:var(--link);text-underline-offset:2px}h1{margin:0 0 1rem;font-size:1.55rem;line-height:1.2}h2{margin:1.75rem 0 .65rem;font-size:1.08rem}.page>h1,.page>.col>h1:first-child,.page>form>h1:first-child{border-bottom:2px solid var(--strong);margin-bottom:18px;padding-bottom:12px}.page-head{border-bottom:2px solid var(--strong);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:18px;padding-bottom:12px;display:flex}.page-head h1{border:0;margin:0;padding:0}.eyebrow{color:var(--muted);letter-spacing:.02em;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.78rem}.page{max-width:1600px;margin:0 auto;padding:24px 16px 72px}@media (min-width:720px){.page{padding:32px 24px 80px}}@media (min-width:1280px){.page{padding:32px 40px 88px}}.topbar{background:var(--topbar);color:#e4e6e2;z-index:6;--brand-line:#f1f2ee;position:sticky;top:0}.topbar .brand-lockup{color:#f1f2ee}.topbar-inner{align-items:center;gap:14px;min-height:60px;padding:0 24px;display:flex}.brand-link{border-radius:4px;padding:6px 0;text-decoration:none;display:inline-flex}.modules{background:#f1f2ee0f;border-radius:8px;gap:2px;margin-left:6px;padding:3px;display:flex}.module{color:#f1f2eeb3;white-space:nowrap;border-radius:6px;padding:6px 12px;font-size:.88rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s}.module:hover{color:#f1f2ee;background:#f1f2ee0f}.module.active{color:#f1f2ee;background:#2f9c8c33;box-shadow:inset 0 0 0 1px #2f9c8c73}.module .short{display:none}.module.static{color:#f1f2eeb3;border-left:1px solid #f1f2ee2e;border-radius:0;padding-left:12px}.topbar .chip.demo-chip{color:#f1f2ee;border-color:#f1f2ee4d;font-family:IBM Plex Mono,monospace;font-size:.72rem}.topbar a.chip.demo-chip{text-decoration:none;transition:border-color .15s,background .15s}.topbar a.chip.demo-chip:hover{border-color:var(--primary);background:#2f9c8c26}.topbar-actions{align-items:center;gap:4px;margin-left:auto;display:flex}.topbar .icon-btn,.topbar .theme-btn{color:#f1f2eed9}.subnav{background:var(--subnav);border-bottom:1px solid var(--border);z-index:5;position:sticky;top:60px}.subnav-inner{scrollbar-width:none;gap:4px;padding:0 12px;display:flex;overflow-x:auto}.subnav-inner::-webkit-scrollbar{display:none}.tab{color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;padding:13px 12px 11px;font-size:.92rem;font-weight:500;text-decoration:none;transition:color .15s,border-color .15s}.tab:hover{color:var(--text)}.tab.active{color:var(--strong);border-bottom-color:var(--primary)}@media (max-width:640px){.topbar-inner{gap:8px;padding:0 12px}.brand-link .brand-word{display:none}.modules{margin-left:0}.module{padding:6px 9px;font-size:.82rem}.user-name,.user-btn svg,.module .long{display:none}.module .short{display:inline}.topbar-actions{gap:0}.topbar .chip.demo-chip{padding:0 5px;font-size:.66rem}.topbar-actions .theme-btn{display:none}}.user-menu{position:relative}.user-btn{color:#e4e6e2;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;min-height:40px;padding:4px 6px 4px 4px;font-size:.9rem;transition:background .15s;display:inline-flex}.user-btn:hover{background:#f1f2ee14}.avatar{color:#f1f2ee;background:#2f9c8c38;border-radius:50%;place-items:center;width:30px;height:30px;font-family:Space Grotesk,sans-serif;font-size:.78rem;font-weight:700;display:inline-grid;box-shadow:inset 0 0 0 1px #2f9c8c8c}.menu{background:var(--surface);min-width:240px;color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow);z-index:10;border-radius:8px;flex-direction:column;padding:6px;animation:.14s ease-out pop;display:flex;position:absolute;top:calc(100% + 8px);right:0}.menu-head{border-bottom:1px solid var(--border);flex-direction:column;gap:2px;margin-bottom:4px;padding:8px 10px 10px;display:flex}.menu-head strong{color:var(--strong)}.menu-item{text-align:left;width:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:9px 10px;font-size:.92rem;text-decoration:none;display:flex}.menu-item:hover{background:var(--selected)}.menu-item.danger{color:var(--danger);border-top:1px solid var(--border);border-radius:0 0 6px 6px;margin-top:4px;padding-top:11px}.row{align-items:center;display:flex}.between{justify-content:space-between}.gap{gap:8px}.wrap{flex-wrap:wrap}.col{flex-direction:column;gap:12px;display:flex}.grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px;display:grid}@media (min-width:900px){.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.card.ticket{color:inherit;flex-direction:column;gap:6px;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.card.ticket:hover{border-color:color-mix(in srgb, var(--primary) 60%, var(--border));box-shadow:var(--shadow)}.card.ticket:active{transform:translateY(1px)}.list{flex-direction:column;gap:10px;display:flex}.kpi-card{flex-direction:column;gap:6px;min-height:108px;display:flex}.kpi-label{color:var(--muted);font-size:.82rem;font-weight:500}.kpi{font-variant-numeric:tabular-nums;color:var(--strong);font-size:1.85rem;font-weight:400;line-height:1.1}.kpi-hint{color:var(--muted);margin-top:auto;font-size:.78rem}.muted{color:var(--muted)}.small{font-size:.85rem}.pad{padding:12px}.empty{border:1px dashed var(--border);border-radius:var(--radius);text-align:center;color:var(--muted);padding:22px 16px}.badge{border:1px solid color-mix(in srgb, currentColor 35%, transparent);background:color-mix(in srgb, currentColor 9%, transparent);border-radius:999px;align-items:center;gap:6px;padding:2px 9px;font-size:.76rem;font-weight:600;line-height:1.6;display:inline-flex}.st-open{color:var(--danger)}.st-assigned,.st-accepted,.st-en_route{color:var(--warn)}.st-on_site{color:var(--link)}.st-completed{color:var(--ok)}.st-cancelled{color:var(--muted);text-decoration:line-through}.sla-ok{color:var(--ok)}.sla-risk{color:var(--warn)}.sla-breached{color:var(--danger)}.chip{border:1px solid var(--border);color:var(--muted);border-radius:4px;align-items:center;padding:1px 7px;font-size:.76rem;line-height:1.6;display:inline-flex}.timer{font-variant-numeric:tabular-nums;color:var(--muted)}.timer.running{color:var(--strong);font-weight:500}label{color:var(--strong);flex-direction:column;gap:6px;font-size:.9rem;font-weight:500;display:flex}input,select,textarea{font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--field);color:var(--text);width:100%;min-height:44px;padding:10px 12px;font-size:.95rem;font-weight:400;transition:border-color .15s,box-shadow .15s}input:hover,select:hover,textarea:hover{border-color:color-mix(in srgb, var(--muted) 55%, var(--border))}textarea{resize:vertical;min-height:92px}input::placeholder,textarea::placeholder{color:color-mix(in srgb, var(--muted) 75%, transparent)}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 28%, transparent);outline:none}button:focus-visible,a:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.field-error{color:var(--danger);font-size:.83rem;font-weight:500}.btn{font:inherit;border-radius:var(--radius);border:1px solid var(--primary);background:var(--primary);min-height:42px;color:var(--primary-text);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:.93rem;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn.secondary{color:var(--text);border-color:var(--border);background:0 0}.btn.secondary:hover:not(:disabled){background:var(--selected);border-color:var(--border)}.btn.danger{border-color:color-mix(in srgb, var(--danger) 55%, transparent);color:var(--danger);background:0 0}.btn.danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 10%, transparent);border-color:var(--danger)}.btn.ghost{color:var(--link);background:0 0;border-color:#0000;padding:0 10px}.btn.ghost:hover:not(:disabled){background:var(--selected);border-color:#0000}.btn:disabled{opacity:.5;cursor:not-allowed}.actions{flex-direction:column;gap:8px;display:flex}@media (min-width:560px){.actions{flex-flow:wrap}}.alert{border-radius:var(--radius);border:1px solid color-mix(in srgb, currentColor 30%, transparent);background:color-mix(in srgb, currentColor 7%, transparent);margin:8px 0;padding:11px 14px;font-size:.92rem}.alert>*{color:var(--text)}.alert.error{color:var(--danger)}.alert.success{color:var(--ok)}.alert.warn{color:var(--warn)}.alert.info{color:var(--link)}.timeline{border-left:1px solid var(--border);margin:0;padding:0 0 0 10px;list-style:none}.timeline li{padding:0 0 16px 16px;position:relative}.timeline li:before{content:"";background:var(--primary);width:9px;height:9px;box-shadow:0 0 0 3px var(--bg);border-radius:50%;position:absolute;top:7px;left:-5px}.icon-btn{color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;min-width:40px;min-height:40px;transition:background .15s;display:inline-grid;position:relative}.icon-btn:hover{background:#f1f2ee14}.count{background:var(--danger);color:#fff;text-align:center;border-radius:999px;min-width:17px;padding:0 5px;font-size:.66rem;font-weight:600;line-height:17px;position:absolute;top:3px;right:3px}.bell{position:relative}.popover{background:var(--surface);width:min(92vw,380px);max-height:65vh;color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow);z-index:10;border-radius:8px;animation:.14s ease-out pop;position:absolute;top:calc(100% + 8px);right:0;overflow:auto}.notice{text-align:left;width:100%;font:inherit;color:inherit;border:0;border-bottom:1px solid var(--border);cursor:pointer;background:0 0;flex-direction:column;gap:2px;padding:11px 14px;font-size:.9rem;transition:background .15s;display:flex}.notice:hover{background:var(--selected)}.notice.unread{background:color-mix(in srgb, var(--primary) 9%, transparent);box-shadow:inset 3px 0 0 var(--primary)}.modal{background:var(--overlay);z-index:20;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:flex-end;animation:.16s ease-out fade;display:flex;position:fixed;inset:0}@media (min-width:560px){.modal{align-items:center}}.sheet{background:var(--surface);width:100%;max-width:500px;max-height:92vh;box-shadow:var(--shadow);border-radius:12px 12px 0 0;flex-direction:column;gap:14px;padding:20px;animation:.2s ease-out rise;display:flex;overflow:auto}@media (min-width:560px){.sheet{border-radius:10px}}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:10px 8px;font-size:.9rem}th{color:var(--muted);font-size:.8rem;font-weight:600}tbody tr{transition:background .12s}tbody tr:hover{background:var(--selected)}.bars{align-items:flex-end;gap:2px;height:90px;display:flex}.bars div{background:var(--primary);border-radius:2px 2px 0 0;flex:1;min-height:2px}.hbar{background:var(--primary);border-radius:3px;height:6px}.center{place-items:center;min-height:100vh;padding:16px;display:grid}.narrow{width:100%;max-width:400px}.risks{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin:0;padding:10px 14px}.risks legend{padding:0 6px;font-weight:600}label.check{min-height:40px;color:var(--text);flex-direction:row;align-items:center;gap:10px;font-weight:400}label.check input{width:20px;height:20px;min-height:20px;accent-color:var(--primary);box-shadow:none;flex:none}.theme-btn{font:inherit;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;min-width:40px;min-height:40px;padding:0 8px;transition:background .15s;display:inline-grid}.theme-btn:hover{background:var(--selected)}.topbar .theme-btn:hover{background:#f1f2ee14}.theme-corner{z-index:30;position:fixed;top:12px;right:12px}.theme-corner .theme-btn{border:1px solid var(--border);background:var(--surface)}.legal h2{margin:1.2rem 0 .4rem;font-size:1.05rem}.legal p,.legal li{max-width:70ch}.auth{background:var(--bg);grid-template-columns:1fr;min-height:100vh;display:grid}@media (min-width:900px){.auth{grid-template-columns:minmax(360px,44%) 1fr}}.auth-side{color:#e4e6e2;--brand-line:#f1f2ee;background:#1a2226;flex-direction:column;justify-content:space-between;padding:48px;display:none}.auth-side .brand-lockup{color:#f1f2ee}@media (min-width:900px){.auth-side{display:flex}}.auth-side h2{color:#f1f2ee;max-width:16ch;margin:0 0 12px;font-size:1.9rem;line-height:1.15}.auth-side p{color:#f1f2eeb3;max-width:42ch;margin:0}.auth-side .eyebrow{color:#f1f2ee8c}.auth-main{place-items:center;padding:32px 16px;display:grid}.auth-main .narrow{background:0 0;border:0;padding:0}.auth-main h1{border:0;margin:0 0 10px;padding:0;font-size:1.6rem}@media (min-width:900px){.auth-main .brand-center{display:none}}.sticky-end{background:var(--surface);box-shadow:-6px 0 6px -6px var(--border);position:sticky;right:0}.brand-lockup{color:var(--strong);align-items:center;gap:10px;display:inline-flex}.brand-word{letter-spacing:-.02em;font-family:Space Grotesk,system-ui,sans-serif;font-weight:700;line-height:1}.brand-center{justify-content:center;margin-bottom:28px;display:flex}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.tool-page{padding-bottom:96px}.tool-section{border-top:1px solid var(--border);margin-top:22px;padding-top:18px}.tool-section-head{align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.tool-section-head h2{margin:0}.tool-section-head .eyebrow{color:var(--link)}.field-block{flex-direction:column;gap:6px;display:flex}.field-label{color:var(--strong);font-size:.9rem;font-weight:500}.item-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.item-list li{align-items:center;gap:6px;display:flex}.chip-btn{cursor:pointer;font:inherit;background:0 0;font-size:.78rem;transition:border-color .15s,color .15s}.chip-btn:hover{border-color:var(--primary);color:var(--text)}.tool-actions{background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-top:1px solid var(--border);z-index:4;margin-top:24px;padding:12px 0;position:sticky;bottom:0}.tool-actions .alert{margin-top:0}.stake-map{grid-template-rows:1fr auto;grid-template-columns:26px 1fr;gap:6px;margin-top:6px;display:grid}.axis-y{writing-mode:vertical-rl;color:var(--muted);justify-content:center;font-size:.78rem;display:flex;transform:rotate(180deg)}.quads{grid-template-columns:1fr 1fr;gap:6px;display:grid}.quad{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);border-left-width:3px;flex-direction:column;gap:4px;min-height:120px;padding:12px;display:flex}.quad strong{color:var(--strong);font-family:Space Grotesk,sans-serif}.quad-barrier{border-left-color:var(--danger);background:color-mix(in srgb, var(--danger) 6%, var(--surface))}.quad-champion{border-left-color:var(--primary);background:color-mix(in srgb, var(--primary) 8%, var(--surface))}.quad-spectator{border-left-color:var(--muted)}.quad-defender{border-left-color:var(--ok);background:color-mix(in srgb, var(--ok) 6%, var(--surface))}.axis-x{color:var(--muted);grid-column:2;justify-content:space-between;font-size:.78rem;display:flex}@media (max-width:560px){.quads,.stake-map{grid-template-columns:1fr}.axis-y,.axis-x{display:none}}@media print{.topbar,.subnav,.no-print,.theme-corner{display:none!important}body{color:#1a2226;background:#fff}.page{max-width:none;padding:0}input,textarea,select{resize:none;background:0 0;border:0;min-height:0;padding:0}.card,.quad{break-inside:avoid}}.risk-card{border-left-width:3px}.heat{grid-template-columns:minmax(96px,1.3fr) repeat(5,minmax(0,1fr));align-items:stretch;gap:4px;display:grid}.heat-row{display:contents}.heat-corner,.heat-head{text-align:center;justify-content:center;align-items:center;padding:4px;font-size:.74rem;line-height:1.2;display:flex}.heat-cell{min-height:44px;color:var(--strong);border:1px solid var(--border);border-radius:4px;place-items:center;font-family:IBM Plex Mono,monospace;font-weight:500;display:grid}.heat-low{background:color-mix(in srgb, var(--ok) 10%, var(--surface))}.heat-medium{background:color-mix(in srgb, var(--warn) 14%, var(--surface))}.heat-high{background:color-mix(in srgb, var(--danger) 16%, var(--surface))}.heat-cell.has{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--strong) 35%, transparent)}.heat-low.has{background:color-mix(in srgb, var(--ok) 28%, var(--surface))}.heat-medium.has{background:color-mix(in srgb, var(--warn) 34%, var(--surface))}.heat-high.has{background:color-mix(in srgb, var(--danger) 38%, var(--surface))}@media (max-width:560px){.heat{grid-template-columns:70px repeat(5,minmax(0,1fr))}.heat-head{font-size:.62rem}}.table-scroll{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow-x:auto}table.sched{min-width:1240px}table.sched th,table.sched td{vertical-align:middle;padding:6px}table.sched input,table.sched select{min-height:36px;padding:6px 8px;font-size:.88rem}table.sched input.num{width:72px}table.sched select{min-width:150px}table.sched td:nth-child(3) input{min-width:260px}table.sched td:nth-child(6) input{min-width:140px}table.sched tr.crit td:first-child{box-shadow:inset 3px 0 0 var(--primary)}.nowrap{white-space:nowrap}.chip-x{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;margin-left:4px}.gantt{flex-direction:column;gap:4px;display:flex;overflow-x:auto}.gantt-scale,.gantt-row{grid-template-columns:minmax(140px,30%) 1fr;align-items:center;gap:8px;min-width:640px;display:grid}.gantt-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gantt-track{height:22px;margin-right:12px;position:relative}.gantt-scale .gantt-track{height:18px}.gantt-tick{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:.68rem;position:absolute;top:0;transform:translate(-2px)}.gantt-grid{background:var(--border);width:1px;position:absolute;top:0;bottom:0}.gantt-bar{background:color-mix(in srgb, var(--muted) 45%, transparent);border-radius:3px;min-width:3px;height:12px;position:absolute;top:5px}.gantt-bar.crit{background:var(--primary)}.gantt-ms{background:var(--muted);border-radius:2px;width:14px;height:14px;position:absolute;top:4px;transform:rotate(45deg)}.gantt-ms.crit{background:var(--primary)}.legend{background:color-mix(in srgb, var(--muted) 45%, transparent);border-radius:2px;width:18px;height:8px;display:inline-block}.legend.crit{background:var(--primary)}.legend-ms{background:var(--muted);width:9px;height:9px;display:inline-block;transform:rotate(45deg)}.num-col,th.num-col{text-align:right}tr.voided td{opacity:.55}tr.voided td.num-col{text-decoration:line-through}.fin-bar{background:var(--border);border-radius:5px;height:10px;margin-top:4px;display:flex;overflow:hidden}.fin-bar span{height:100%;display:block}.fin-actual{background:var(--primary)}.fin-committed{background:color-mix(in srgb, var(--warn) 75%, transparent)}.fin-forecast,.legend.fin-forecast{background:color-mix(in srgb, var(--warn) 30%, transparent)}.fin-reserved{background:color-mix(in srgb, var(--muted) 60%, transparent)}.legend.fin-actual{background:var(--primary)}.legend.fin-committed{background:color-mix(in srgb, var(--warn) 75%, transparent)}.legend.fin-reserved{background:color-mix(in srgb, var(--muted) 60%, transparent)}.fin-kpis .kpi{white-space:nowrap;font-size:clamp(.8rem,3.3vw,1.6rem)}.fin-table{min-width:760px}.fin-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.fin-over{background:var(--danger)}.sc-criteria{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px 12px;display:grid}.sc-criteria label{gap:4px}tr.sc-approved td{background:color-mix(in srgb, var(--ok) 10%, transparent)}.seg{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-wrap:wrap;gap:4px;padding:3px;display:inline-flex}.seg button{font:inherit;color:var(--muted);border-radius:calc(var(--radius) - 2px);cursor:pointer;background:0 0;border:1px solid #0000;min-width:40px;padding:6px 12px;font-size:.9rem;transition:background .15s,color .15s}.seg button:hover{color:var(--text)}.seg button.on{background:color-mix(in srgb, var(--primary) 14%, var(--surface));color:var(--strong);border-color:var(--primary)}.kg-stage{flex-direction:column;gap:14px;display:flex}.kg-stage.full{background:var(--bg);padding:28px 32px;overflow:auto}.kg-blocks{flex-wrap:wrap;gap:6px;display:flex}.kg-block{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:.82rem}.kg-block.done{color:var(--text);border-color:color-mix(in srgb, var(--primary) 50%, var(--border))}.kg-block.on{background:var(--primary);border-color:var(--primary);color:#fff}.kg{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:20px;display:grid}.kg-q{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:12px;min-height:420px;padding:24px;display:flex}.kg-q h2{color:var(--strong);margin:0;font-family:Space Grotesk,sans-serif;font-size:clamp(1.4rem,2.4vw,2.1rem);line-height:1.15}.kg-q>p{margin:0;font-size:1rem}.kg-stage.full .kg-q h2{font-size:clamp(1.8rem,3vw,2.6rem)}.kg-stage.full .kg-q{font-size:1.08rem}.kg-text{min-height:150px;font-size:1.05rem}.kg-nav{border-top:1px solid var(--border);margin-top:auto;padding-top:12px}.kg-two{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.kg-quick{border-style:dashed}.kg-item{border-left-width:3px;flex-direction:column;gap:4px;display:flex}.kg-chips{flex-wrap:wrap;gap:6px;display:flex}.kg-chips .chip button{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;margin-left:6px}.kg-intro{grid-template-columns:1fr 1fr;gap:12px;font-size:1.05rem;display:grid}.kg-live{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:4px;padding:14px;display:flex;position:sticky;top:16px}.kg-live-row{text-align:left;font:inherit;color:var(--text);cursor:pointer;background:0 0;border:0;border-left:2px solid #0000;border-radius:4px;flex-direction:column;gap:2px;padding:6px 8px;display:flex}.kg-live-row:hover{background:color-mix(in srgb, var(--primary) 6%, transparent)}.kg-live-row.on{border-left-color:var(--primary);background:color-mix(in srgb, var(--primary) 8%, transparent)}.kg-checks{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.kg-checks li{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.kg-checks li>span{border-radius:50%;place-items:center;width:22px;height:22px;font-size:.8rem;font-weight:600;display:inline-grid}.kg-checks li.ok>span{background:color-mix(in srgb, var(--ok) 20%, transparent);color:var(--ok)}.kg-checks li.pending>span{background:color-mix(in srgb, var(--warn) 22%, transparent);color:var(--warn)}@media (max-width:960px){.kg,.kg-two{grid-template-columns:1fr}.kg-live{position:static}}@media (max-width:560px){.kg-intro{grid-template-columns:1fr}.kg-q{padding:16px}}.kg .heat{grid-template-columns:70px repeat(5,minmax(0,1fr))}.kg .heat-head,.kg .heat-corner{overflow-wrap:anywhere;font-size:.62rem}.viz-card{flex-direction:column;gap:10px;display:flex}.viz-title{color:var(--strong);margin:0;font-family:Space Grotesk,sans-serif;font-size:1.05rem}.viz-wrap{position:relative}.viz-svg{width:100%;height:auto;display:block;overflow:visible}.viz-grid{stroke:var(--gf-grid);stroke-width:1px}.viz-baseline{stroke:var(--gf-crosshair);stroke-width:1px;opacity:.6}.viz-axis{fill:var(--muted);font-variant-numeric:tabular-nums;font-family:IBM Plex Sans,system-ui,sans-serif;font-size:11px}.viz-line{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.viz-dot{stroke:var(--surface);stroke-width:2px}.viz-today{stroke:var(--gf-crosshair);stroke-width:1px}.viz-cross{stroke:var(--gf-crosshair);stroke-width:1px;pointer-events:none}.viz-current-band{fill:var(--gf-hover)}.viz-hover path{filter:brightness(1.12)}.viz-legend{color:var(--text);flex-wrap:wrap;align-items:center;gap:6px 16px;font-size:.82rem;display:flex}.viz-legend>span{align-items:center;gap:6px;display:inline-flex}.viz-key{border-radius:1px;width:14px;height:2px;display:inline-block}.viz-box{border-radius:2px;width:10px;height:10px;display:inline-block}.viz-tip{background:var(--gf-tooltip);min-width:190px;color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow);pointer-events:none;z-index:5;border-radius:6px;padding:8px 10px;font-size:.8rem;position:absolute;transform:translate(-50%)}.viz-tip-inline{margin-top:6px;display:inline-block;position:static;transform:none}.viz-tip-title{color:var(--muted);margin-bottom:4px}.viz-tip-row{align-items:center;gap:8px;display:flex}.viz-tip-row strong{color:var(--strong);font-variant-numeric:tabular-nums}.viz-tip-row span:last-child{color:var(--muted)}.viz-strip{border-radius:4px;gap:2px;height:14px;display:flex;overflow:hidden}.viz-strip span{min-width:6px;display:block}.viz-health{align-items:center;gap:6px;font-size:.85rem;display:inline-flex}.viz-health-dot{color:#12181a;border-radius:50%;place-items:center;width:16px;height:16px;font-size:.66rem;font-weight:700;display:inline-grid}.viz-cats{flex-direction:column;gap:12px;display:flex}.viz-cat{outline:none;flex-direction:column;gap:4px;display:flex}.viz-cat-track{background:var(--gf-track);border-radius:4px;gap:2px;min-width:4px;height:12px;display:flex;overflow:hidden}.viz-cat-track span{height:100%;display:block}tr.viz-current td{background:var(--gf-hover)}.fin-tiles{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.fin-hero{color:var(--strong);font-family:IBM Plex Sans,system-ui,sans-serif;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:600;line-height:1.1}.fin-dash-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;display:grid}@media (max-width:960px){.fin-dash-grid{grid-template-columns:1fr}}.fin-attn{color:var(--text);border-radius:4px;align-items:center;padding:6px 8px;text-decoration:none}.fin-attn:hover{background:var(--gf-hover)}.fin-plan{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px 12px;display:grid}.fin-tiles .kpi{white-space:nowrap;font-size:clamp(1.05rem,1.8vw,1.5rem)}.fin-tiles .fin-hero{white-space:nowrap;font-size:clamp(1.4rem,2.4vw,2rem)}.sc-neg{color:var(--muted);margin-top:2px;display:block}.sc-report{color:#1a2226;background:#fff;padding:20px;overflow-x:auto}.card-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,520px),1fr));align-items:start;display:grid}@media (min-width:1280px){.kpis-6{grid-template-columns:repeat(6,minmax(0,1fr))}}.form-page{max-width:880px}.proj-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:0 28px;display:grid}@media (min-width:1200px){.proj-layout{grid-template-columns:minmax(0,1fr) minmax(360px,34%)}.proj-side .card.row>span:first-child{flex:100%}.proj-side .card.row select{flex:1;width:auto;min-height:38px;padding:6px 10px}.proj-side .card.row>span:last-child{flex-wrap:nowrap;flex:100%}.proj-side .card{padding:12px 14px}}@media (min-width:1280px){.fin-tiles{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (min-width:961px){.fin-dash-grid.fin-wide{grid-template-columns:minmax(0,2fr) minmax(320px,1fr)}}.fin-filters{align-items:flex-end}.fin-filters label:not(.check){min-width:220px}.fin-limit{border-top:1px solid var(--border);gap:8px;padding-top:12px}.fin-attn{flex-wrap:wrap}.fin-attn>span:first-child{flex:180px}.fin-attn>span:last-child{white-space:nowrap;flex:none;margin-left:auto}.pend-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));align-items:start;gap:0 16px;display:grid}.page>p{max-width:110ch}.sx-scroll{overflow-x:auto}.sx-row{grid-template-columns:26px minmax(200px,1.25fr) 112px minmax(160px,.85fr) minmax(280px,2.2fr) 32px;align-items:center;gap:8px;min-width:900px;display:grid}.sx-head{border-bottom:1px solid var(--border);padding:0 0 6px}.sx-scale{height:18px}.sx-group{border-bottom:1px solid var(--border);padding:4px 0 6px}.sx-phase{padding:8px 0 4px}.sx-phase strong{color:var(--strong);font-size:.88rem}.sx-item{border-radius:6px}.sx-item.open{background:var(--gf-hover)}.sx-item>.sx-row{padding:3px 0}.sx-row.crit>span:first-child{box-shadow:inset 3px 0 0 var(--primary);padding-left:6px}.sx-name{flex-direction:column;gap:1px;min-width:0;display:flex}.sx-name input,.sx-row select,.sx-dur input{min-height:34px;padding:5px 8px;font-size:.88rem}.sx-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;padding-left:2px;font-size:.72rem;overflow:hidden}.sx-critical{color:var(--link);font-weight:600}.sx-dur{align-items:center;gap:2px;display:flex}.sx-dur input{text-align:center;width:46px;padding:5px 2px;font-family:IBM Plex Mono,monospace}.sx-step,.sx-more{border:1px solid var(--border);width:30px;height:30px;color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:6px;place-items:center;padding:0;font-size:1rem;line-height:1;display:inline-grid}.sx-step:hover:not(:disabled),.sx-more:hover,.sx-more.on{border-color:var(--primary);color:var(--primary)}.sx-step:disabled{opacity:.35;cursor:default}.sx-track{height:26px;margin-right:10px;position:relative}.sx-bar{background:color-mix(in srgb, var(--muted) 45%, transparent);touch-action:none;border-radius:3px;min-width:4px;height:14px;position:absolute;top:6px}.sx-bar.crit{background:var(--primary)}.sx-bar.grab{cursor:grab}.sx-bar.grab:active{cursor:grabbing}.sx-handle{cursor:ew-resize;touch-action:none;border-radius:3px;width:10px;height:20px;position:absolute;top:-3px;right:-4px}.sx-bar:hover .sx-handle{background:color-mix(in srgb, var(--strong) 35%, transparent)}.sx-ms{background:var(--muted);touch-action:none;border-radius:2px;width:14px;height:14px;position:absolute;top:6px;transform:rotate(45deg)}.sx-ms.crit{background:var(--primary)}.sx-ms.grab{cursor:grab}.sx-lag{border-top:2px dashed color-mix(in srgb, var(--muted) 70%, transparent);height:0;position:absolute;top:12px}.legend.sx-lag-legend{border-top:2px dashed color-mix(in srgb, var(--muted) 70%, transparent);background:0 0;border-radius:0;height:0}.sx-span{background:color-mix(in srgb, var(--strong) 30%, transparent);border-radius:2px;height:4px;position:absolute;top:11px}.sx-detail{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px 14px;padding:8px 12px 12px 34px;display:grid}.sx-deps{border:1px solid var(--border);border-radius:6px;flex-wrap:wrap;grid-column:1/-1;gap:0 16px;max-height:180px;padding:6px 10px;display:flex;overflow:auto}.sx-deps legend{color:var(--muted);padding:0 4px;font-size:.82rem}.sx-deps label.check{min-height:30px;font-size:.85rem}.sx-notes,.sx-actions{grid-column:1/-1}.sx-notes textarea{min-height:60px}.sx-quick{grid-template-columns:minmax(200px,1fr) 110px minmax(160px,260px) auto;align-items:end;gap:10px;margin-top:12px;display:grid}@media (max-width:720px){.sx-quick{grid-template-columns:1fr 1fr}.sx-quick label:first-child{grid-column:1/-1}}@media print{.sx-step,.sx-more{display:none}.sx-row{min-width:0}}@media (max-width:760px){.sx-row{grid-template-columns:26px auto minmax(0,1fr) 32px;grid-template-areas:"n name name more"".dur start start"".track track track";row-gap:6px;min-width:0}.sx-row>:first-child{grid-area:n}.sx-row>:nth-child(2){grid-area:name}.sx-row>:nth-child(3){grid-area:dur}.sx-row>:nth-child(4){grid-area:start;min-width:0}.sx-row>:nth-child(5){grid-area:track}.sx-row>:nth-child(6){grid-area:more}.sx-head{display:none}.sx-phase{grid-template-areas:"n name name more"".dur start start"".track track track"}.sx-item>.sx-row{border-top:1px solid var(--border);padding:8px 0}.sx-detail{padding-left:12px}}.kpis-auto{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.dx-row{grid-template-columns:minmax(240px,2fr) 210px minmax(0,3fr) 120px 32px;align-items:center;gap:10px;min-width:980px;display:grid}.dx-head{border-bottom:1px solid var(--border);padding:0 0 6px}.dx-item{border-bottom:1px solid var(--border);border-radius:6px}.dx-item.open{background:var(--gf-hover)}.dx-item>.dx-row{padding:8px 0}.dx-doc{flex-direction:column;gap:2px;min-width:0;padding-left:4px;display:flex}.dx-doc strong{color:var(--strong);font-weight:600}.dx-sub{color:var(--muted);font-size:.74rem}.dx-late{color:var(--danger)}.dx-areas{align-items:center;gap:6px;display:grid}.dx-area-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dx-na{text-align:center;opacity:.7;font-size:.72rem}.dx-v{border-radius:999px;min-height:32px;padding:4px 8px;font-size:.8rem}.dx-v.v-approved{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 55%, transparent);background:color-mix(in srgb, var(--ok) 10%, var(--field))}.dx-v.v-comments{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 55%, transparent);background:color-mix(in srgb, var(--warn) 10%, var(--field))}.dx-v.v-rejected{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 55%, transparent);background:color-mix(in srgb, var(--danger) 10%, var(--field))}.dx-waiting{color:var(--muted)}.dx-review{color:var(--link)}.dx-approved{color:var(--ok)}.dx-comments{color:var(--warn)}.dx-rejected{color:var(--danger)}.dx-act{justify-content:flex-end;display:flex}.dx-detail{flex-direction:column;gap:12px;padding:4px 12px 14px;display:flex}.dx-fields{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px 14px;display:grid}.dx-fields .dx-wide{grid-column:span 2}.dx-comments{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px 14px;display:grid}.dx-comments textarea{min-height:60px}.dx-history{margin:6px 0 0;padding-left:18px}.dx-bar{background:var(--border);border-radius:5px;height:10px;display:flex;overflow:hidden}.dx-bar span{height:100%;display:block}.dx-approved-bg{background:var(--ok)}.dx-review-bg{background:var(--link)}.dx-rejected-bg{background:var(--danger)}.dx-quick{grid-template-columns:150px minmax(220px,1fr) 160px 170px auto;align-items:end;gap:10px;margin-top:12px;display:grid}@media (max-width:860px){.dx-row{grid-template-columns:minmax(0,1fr) auto 32px;grid-template-areas:"doc act more""st st st""areas areas areas";row-gap:8px;min-width:0}.dx-row>:first-child{grid-area:doc}.dx-row>:nth-child(2){grid-area:st}.dx-row>:nth-child(3){grid-area:areas;grid-template-columns:repeat(2,minmax(0,1fr))!important}.dx-row>:nth-child(4){grid-area:act}.dx-row>:nth-child(5){grid-area:more}.dx-head{display:none}.dx-quick{grid-template-columns:1fr 1fr}.dx-quick label:nth-child(2),.dx-fields .dx-wide{grid-column:1/-1}}.ns{border-left:3px solid var(--primary);grid-template-columns:96px minmax(0,1fr);align-items:start;gap:18px;margin-top:14px;padding:18px 20px;display:grid}.ns-ring{width:88px;height:88px;position:relative}.ns-ring svg{display:block}.ns-ring-bg{fill:none;stroke:var(--border);stroke-width:7px}.ns-ring-fg{fill:none;stroke:var(--primary);stroke-width:7px;stroke-linecap:round;transition:stroke-dashoffset .8s cubic-bezier(.2,.8,.2,1)}.ns-ring-n{color:var(--muted);justify-content:center;align-items:center;gap:1px;font-family:IBM Plex Mono,monospace;font-size:.9rem;display:flex;position:absolute;inset:0}.ns-ring-n b{color:var(--strong);font-size:1.35rem;font-weight:500}.ns-body{flex-direction:column;gap:6px;min-width:0;display:flex}.ns-label{color:var(--link);text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;font-weight:600}.ns-title{margin:0;font-size:1.35rem;line-height:1.25}.ns-what{color:var(--text);margin:2px 0 0;font-size:1rem}.ns-why{margin:0 0 6px}.ns-track{flex-wrap:wrap;gap:0;margin:10px 0 0;padding:0;list-style:none;display:flex}.ns-track li{align-items:center;display:flex}.ns-track li+li:before{content:"";background:var(--border);width:18px;height:2px}.ns-track li.done+li:before,.ns-track li.done+li.done:before{background:var(--primary)}.ns-track span{border:2px solid var(--border);width:26px;height:26px;color:var(--muted);background:var(--surface);border-radius:50%;place-items:center;font-family:IBM Plex Mono,monospace;font-size:.74rem;display:grid}.ns-track li.done span{background:var(--primary);border-color:var(--primary);color:var(--primary-text);font-weight:700}.ns-track li.next span{border-color:var(--primary);color:var(--strong);box-shadow:0 0 0 4px color-mix(in srgb, var(--primary) 22%, transparent)}.ns-pace{margin:6px 0 0}.ns-cheer{color:var(--link)}.ns-flash{animation:.9s ease-out ns-pop}@keyframes ns-pop{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--primary) 45%, transparent)}to{box-shadow:0 0 0 14px #0000}}@media (prefers-reduced-motion:reduce){.ns-flash{animation:none}.ns-ring-fg{transition:none}}@media (max-width:560px){.ns{grid-template-columns:1fr}.ns-ring{width:88px}}@media print{.ns{display:none}}.dx-cell{flex-direction:column;gap:2px;min-width:0;display:flex}.dx-cell-area{color:var(--muted);font-size:.7rem;display:none}@media (max-width:860px){.dx-cell-area{display:block}.dx-na{text-align:left}}.gboard{margin-top:22px}.gboard-head{margin-bottom:12px}.board{scroll-snap-type:x proximity;grid-auto-columns:minmax(270px,1fr);grid-auto-flow:column;align-items:start;gap:12px;padding-bottom:8px;display:grid;overflow-x:auto}.bcol{background:color-mix(in srgb, var(--surface) 70%, var(--bg));border:1px solid var(--border);scroll-snap-align:start;border-radius:10px;flex-direction:column;gap:10px;min-width:0;padding:12px;display:flex}.bcol.current{border-color:var(--primary);box-shadow:inset 0 3px 0 var(--primary)}.bcol.pending{opacity:.62}.bcol-head{flex-direction:column;gap:6px;display:flex}.bcol-head strong{color:var(--strong);font-size:.92rem}.bcol-desc{margin:0}.bstate{white-space:nowrap;border:1px solid;border-radius:999px;align-self:flex-start;padding:2px 8px;font-size:.7rem;font-weight:600}.bstate.approved{color:var(--ok)}.bstate.current{color:var(--link)}.bstate.pending{color:var(--muted)}.bcount{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:.8rem}.bprog{background:var(--border);border-radius:3px;height:5px;overflow:hidden}.bprog span{background:var(--primary);height:100%;transition:width .5s;display:block}.bcol.approved .bprog span{background:var(--ok)}.bcards{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.bcard{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;grid-template-columns:26px minmax(0,1fr);align-items:start;gap:8px;padding:9px 10px;transition:border-color .15s,transform .15s;display:grid}.bcard:hover{border-color:color-mix(in srgb, var(--primary) 60%, var(--border));transform:translateY(-1px)}.bcard.doing{box-shadow:inset 3px 0 0 var(--warn), var(--shadow)}.bcard.done .bcard-name{color:var(--muted)}.bcol.approved .bcard{box-shadow:none;padding:6px 10px}.bcol.approved .bcard-meta{display:none}.bcard-check{border:2px solid var(--border);width:22px;height:22px;color:var(--primary-text);background:0 0;border-radius:50%;place-items:center;margin-top:1px;padding:0;font-size:.75rem;font-weight:700;display:grid}button.bcard-check{cursor:pointer}button.bcard-check:hover{border-color:var(--primary)}.bcard.done .bcard-check{background:var(--primary);border-color:var(--primary)}.bcol.approved .bcard.done .bcard-check{background:var(--ok);border-color:var(--ok)}.bcard-main{text-align:left;font:inherit;color:var(--text);cursor:pointer;background:0 0;border:0;flex-direction:column;gap:6px;min-width:0;padding:0;display:flex}.bcard-name{font-size:.88rem;line-height:1.3}.bcard-meta{flex-wrap:wrap;align-items:center;gap:4px 6px;display:flex}.bchip{background:color-mix(in srgb, var(--muted) 14%, transparent);color:var(--muted);border-radius:4px;padding:1px 7px;font-size:.68rem}.bchip.tool{background:color-mix(in srgb, var(--primary) 16%, transparent);color:var(--link)}.bchip.tool.draft{background:color-mix(in srgb, var(--warn) 16%, transparent);color:var(--warn)}.bcard-who{color:var(--muted);font-size:.68rem}.bcol-foot{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding-top:10px;display:flex}.bempty{margin:0}.bvalues{margin:2px 0 0;padding-left:16px}.bdrawer{gap:10px}@media (max-width:720px){.board{grid-auto-columns:84vw}}.plist{flex-direction:column;gap:0;padding:4px 12px;display:flex}.prow{border-bottom:1px solid var(--border);grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 0;display:grid}.prow:last-of-type{border-bottom:0}.pavatar{width:30px;height:30px;color:var(--strong);background:color-mix(in srgb, var(--primary) 18%, transparent);font-size:.7rem}.pname{flex-direction:column;min-width:0;display:flex}.pname strong{color:var(--strong);font-size:.9rem;font-weight:600}.pname .small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pact{align-items:center;gap:4px;display:flex}.pact select{max-width:190px;min-height:32px;padding:4px 8px;font-size:.8rem}.padd{align-self:flex-start;margin:4px 0}.pform{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding:10px 0;display:flex}.dialog-desc{flex-direction:column;gap:6px;display:flex}.dpanel{flex-direction:column;gap:8px;display:flex}.dlist{flex-direction:column;gap:3px;margin:0;padding-left:18px;display:flex}.dlist .warn,.dyears .warn{color:var(--warn)}.dyears{background:color-mix(in srgb, var(--muted) 10%, transparent);border-radius:6px;flex-direction:column;gap:3px;padding:8px 10px;display:flex}.bchip.late{background:color-mix(in srgb, var(--danger) 16%, transparent);color:var(--danger)}.bowner{width:22px;height:22px;color:var(--strong);background:color-mix(in srgb, var(--primary) 22%, transparent);border-radius:50%;place-items:center;margin-left:auto;font-size:.6rem;font-weight:700;display:inline-grid}.bassign{border-top:1px solid var(--border);grid-template-columns:1fr 160px;align-items:end;gap:8px 10px;padding-top:10px;display:grid}.bassign .btn{grid-column:1/-1;justify-self:start}.ns-owner{color:var(--muted);margin:0}.ns-late{color:var(--danger)}@media (max-width:480px){.bassign{grid-template-columns:1fr}}.tk-week{grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;margin:14px 0 4px;display:grid}.tk-day{border:1px solid var(--border);background:var(--surface);text-transform:capitalize;border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:8px 6px;display:flex}.tk-day b{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:1.2rem;font-weight:500}.tk-day.has b{color:var(--strong)}.tk-day.today{border-color:var(--primary);box-shadow:inset 0 2px 0 var(--primary)}.tk-day.late.late b,.tk-day.late,.tk-day.late b{color:var(--danger)}.tk-day.weekend{opacity:.6}.tk-group h2{margin-bottom:.5rem}.tk-list{border:1px solid var(--border);background:var(--surface);border-radius:10px;margin:0;padding:0;list-style:none}.tk-row{border-bottom:1px solid var(--border);grid-template-columns:92px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 14px;display:grid}.tk-row:last-child{border-bottom:0}.tk-row.late{box-shadow:inset 3px 0 0 var(--danger)}.tk-kind{background:color-mix(in srgb, var(--muted) 14%, transparent);color:var(--muted);border-radius:999px;justify-self:start;padding:2px 8px;font-size:.7rem;font-weight:600}.tk-kind.k-change,.tk-kind.k-approval{color:var(--link);background:color-mix(in srgb, var(--primary) 16%, transparent)}.tk-kind.k-returned,.tk-kind.k-unassigned{color:var(--warn);background:color-mix(in srgb, var(--warn) 14%, transparent)}.tk-kind.k-query{color:var(--link);background:color-mix(in srgb, var(--link) 12%, transparent)}.tk-main{min-width:0;color:var(--text);flex-direction:column;gap:2px;text-decoration:none;display:flex}.tk-main:hover strong{color:var(--link)}.tk-main strong{color:var(--strong);font-weight:600}.tk-main .small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tk-owner{align-items:center;gap:6px;display:inline-flex}.tk-due{color:var(--muted);white-space:nowrap;text-transform:capitalize;font-family:IBM Plex Mono,monospace;font-size:.78rem}.tk-due.late{color:var(--danger);font-weight:600}.tk-due.today{color:var(--warn);font-weight:600}.tk-people tr.on td{background:var(--selected)}.tk-filters label{min-width:220px}@media (max-width:720px){.tk-week{grid-template-columns:repeat(4,minmax(0,1fr))}.tk-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"kind due""main main""owner owner";row-gap:4px}.tk-kind{grid-area:kind}.tk-main{grid-area:main}.tk-due{grid-area:due}.tk-owner{grid-area:owner}.tk-main .small{white-space:normal}}.pprog{align-items:center;gap:10px;display:flex}.pprog .bprog{flex:1}.bsla{color:var(--muted)}.bsla.late{color:var(--danger);font-weight:600}.tm{flex-direction:column;gap:10px;display:flex}.tm-row{grid-template-columns:minmax(220px,1.4fr) 170px 112px 190px minmax(170px,.9fr) minmax(260px,2fr) 32px;align-items:center;gap:8px;min-width:1240px;display:grid}.tm-head{border-bottom:1px solid var(--border);padding:0 0 6px}.tm-scale{height:18px}.tm-gate{border-bottom:1px solid var(--border);padding:6px 0 10px}.tm-phase{padding:6px 0}.tm-phase .tm-gname{color:var(--strong);font-weight:600}.tm-row input,.tm-row select{width:100%;min-width:0;min-height:34px;padding:5px 8px;font-size:.88rem}.tm-row .sx-dur input{width:46px}.tm-item{border-radius:6px}.tm-item.open{background:var(--gf-hover)}.tm-item>.tm-row{padding:3px 0}.tm-track{height:26px;margin-right:10px;position:relative}.tm-nosla{font-size:.7rem;position:absolute;top:5px}.tm-deps{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.tm-detail{flex-direction:column;gap:8px;padding:8px 12px 12px;display:flex}.tm-quick{grid-template-columns:minmax(220px,420px) 80px auto;align-items:center;gap:8px;margin-top:6px;display:grid}.tm-quick input{min-height:34px;padding:5px 8px;font-size:.88rem}@media (max-width:760px){.tm-row{grid-template-columns:minmax(0,1fr) auto 32px;grid-template-areas:"name name more""tool dur dur""after after after""role role role""track track track";row-gap:6px;min-width:0}.tm-row>:first-child{grid-area:name}.tm-row>:nth-child(2){grid-area:tool}.tm-row>:nth-child(3){grid-area:dur}.tm-row>:nth-child(4){grid-area:after}.tm-row>:nth-child(5){grid-area:role}.tm-row>:nth-child(6){grid-area:track}.tm-row>:nth-child(7){grid-area:more}.tm-head{display:none}.tm-item>.tm-row{border-top:1px solid var(--border);padding:8px 0}.tm-quick{grid-template-columns:1fr 70px}.tm-quick .btn{grid-column:1/-1;justify-self:start}}.xs-ways{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:stretch;gap:12px;display:grid}.xs-way{gap:10px}.xs-steps{flex-direction:column;gap:2px;margin:0;padding-left:18px;display:flex}.xs-file{font-weight:600}.xs-file input[type=file]{min-height:0;padding:8px;font-weight:400}.xs-report{border-left:3px solid var(--border);gap:10px}.xs-report.ok{border-left-color:var(--ok)}.xs-report.bad{border-left-color:var(--danger)}.pit-block{gap:10px}.pit-crit{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding:8px 0;display:flex}.pit-dev{border-left:2px solid var(--warn);margin-left:12px;padding-left:10px}.pit-sign{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}@media print{@page{size:A4;margin:14mm}.pit-page .card{break-inside:avoid}.pit-page input,.pit-page select,.pit-page textarea{border:none;padding:0}}.pg-bar{background:color-mix(in srgb, var(--muted) 16%, transparent);border-radius:999px;min-width:140px;height:12px;position:relative;overflow:visible}.pg-bar .pg-done,.pg-bar .pg-pending{border-radius:999px;position:absolute;top:0;bottom:0;left:0}.pg-bar .pg-done{background:var(--primary)}.pg-bar .pg-pending{background:color-mix(in srgb, var(--primary) 35%, transparent)}.pg-bar .pg-plan{background:var(--strong);opacity:.75;width:2px;position:absolute;top:-3px;bottom:-3px}.rdo-day{gap:8px;display:grid}.hm-hero{border:1px solid var(--border);background:linear-gradient(135deg, color-mix(in srgb, var(--primary) 14%, var(--surface)), var(--surface) 65%);border-radius:14px;flex-wrap:wrap;align-items:center;gap:20px;padding:22px 24px;display:flex}.hm-hero-text{flex-direction:column;flex:1;gap:4px;min-width:240px;display:flex}.hm-hero h1{letter-spacing:-.01em;margin:0;font-size:clamp(1.5rem,3.4vw,2.1rem)}.hm-sub{color:var(--text);margin:0;font-size:1.05rem}.hm-live{align-items:center;gap:6px;display:inline-flex}.hm-live i{background:var(--ok);border-radius:50%;width:8px;height:8px;animation:1.8s ease-in-out infinite hm-pulse}@keyframes hm-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--ok) 55%, transparent)}50%{box-shadow:0 0 0 6px #0000}}.hm-ring{flex:none;width:104px;height:104px;position:relative}.hm-ring-label{flex-direction:column;justify-content:center;align-items:center;line-height:1.05;display:flex;position:absolute;inset:0}.hm-ring-label b{color:var(--strong);font-family:IBM Plex Mono,monospace;font-size:1.35rem;font-weight:500}.hm-ring-label span{color:var(--muted);font-size:.72rem}.hm-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.hm-tile{text-align:left;font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:12px;flex-direction:column;gap:4px;padding:14px 16px;transition:transform .12s,border-color .12s,box-shadow .12s;display:flex}.hm-tile:hover{border-color:var(--primary);transform:translateY(-2px)}.hm-tile.on{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--primary) 30%, transparent)}.hm-tile-label{color:var(--muted);font-size:.82rem}.hm-tile-hint{color:var(--muted);font-size:.72rem}.hm-tile-value{color:var(--strong);font-family:IBM Plex Mono,monospace;font-size:2.1rem;font-weight:400;line-height:1.1}.hm-tile.link .hm-tile-value{color:var(--link)}.hm-tile.danger:not(.zero) .hm-tile-value{color:var(--danger)}.hm-tile.warn:not(.zero) .hm-tile-value{color:var(--warn)}.hm-tile.zero .hm-tile-value{color:var(--muted)}.hm-week{margin:0}.hm-week .tk-day{cursor:pointer;font:inherit;justify-content:flex-start;min-height:78px;transition:transform .12s,border-color .12s;position:relative;overflow:hidden}.hm-week .tk-day:hover{border-color:var(--primary);transform:translateY(-2px)}.hm-week .tk-day.sel{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--primary) 30%, transparent)}.hm-week .tk-day i{background:color-mix(in srgb, var(--primary) 22%, transparent);pointer-events:none;transition:height .5s;position:absolute;bottom:0;left:0;right:0}.hm-week .tk-day.late i{background:color-mix(in srgb, var(--danger) 28%, transparent)}.hm-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:18px;display:grid}.hm-main,.hm-side{min-width:0}.hm-portfolio{flex-direction:column;gap:10px;display:flex}.hm-bar{background:color-mix(in srgb, var(--muted) 16%, transparent);border-radius:999px;height:12px;display:flex;overflow:hidden}.hm-bar span{transition:width .5s;display:block}.hm-key{align-items:center;gap:5px;display:inline-flex}.hm-key i{border-radius:50%;width:9px;height:9px;display:inline-block}.hm-links{flex-direction:column;align-items:stretch}.hm-links .btn{justify-content:flex-start;text-decoration:none}@media (max-width:900px){.hm-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.hm-grid{grid-template-columns:1fr}.hm-hero{padding:16px}}
.gf{background:var(--gf-bg);color:var(--gf-text);font-variant-numeric:tabular-nums;min-height:calc(100vh - 118px);padding:12px 16px 32px;font-size:13px;line-height:1.4}.page:has(.gf){max-width:none;padding:0}.gf a{color:var(--gf-blue)}.gf .muted{color:var(--gf-muted)}.gf-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin-bottom:12px;display:flex}.gf-title{flex-direction:column;display:flex}.gf-crumb{color:var(--gf-muted);font-size:12px}.gf-h1{color:var(--gf-strong);margin:0;font-family:Space Grotesk,system-ui,sans-serif;font-size:20px;font-weight:700}.gf-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.gf-btngroup{border:1px solid var(--gf-border);background:var(--gf-panel);border-radius:2px;display:inline-flex;overflow:hidden}.gf-btngroup button,.gf-btn{font:inherit;color:var(--gf-text);cursor:pointer;background:0 0;border:0;min-height:32px;padding:0 12px}.gf-btngroup button+button{border-left:1px solid var(--gf-border)}.gf-btngroup button[aria-pressed=true]{background:var(--gf-selected);color:var(--gf-strong);box-shadow:inset 0 -2px 0 var(--gf-blue)}.gf-btn{border:1px solid var(--gf-border);background:var(--gf-panel);border-radius:2px}.gf-btn:disabled{opacity:.6;cursor:default}.gf button:focus-visible,.gf a:focus-visible{outline:2px solid var(--gf-blue);outline-offset:1px}.gf-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:8px;margin-bottom:8px;display:grid}.gf-panel{background:var(--gf-panel);border:1px solid var(--gf-border);border-radius:2px;flex-direction:column;grid-column:span 12;min-width:0;display:flex}@media (min-width:720px){.gf-panel.s3,.gf-panel.s4,.gf-panel.s6{grid-column:span 6}.gf-panel.s8{grid-column:span 12}}@media (min-width:1100px){.gf-panel.s2{grid-column:span 2}.gf-panel.s3{grid-column:span 3}.gf-panel.s4{grid-column:span 4}.gf-panel.s6{grid-column:span 6}.gf-panel.s8{grid-column:span 8}.gf-panel.s12{grid-column:span 12}}.gf-panel-head{justify-content:space-between;align-items:center;min-height:32px;padding:6px 10px;display:flex}.gf-panel-title{color:var(--gf-strong);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:14px;font-weight:500;overflow:hidden}.gf-panel-info{color:var(--gf-muted);cursor:help;font-size:12px}.gf-panel-body{flex:1;min-height:0;padding:4px 10px 10px;position:relative}.gf-row{color:var(--gf-strong);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;margin:14px 0 8px;padding:0;font-family:inherit;font-size:14px;font-weight:500;display:flex}.gf-row span{color:var(--gf-muted)}.gf-stat{flex-direction:column;justify-content:flex-start;height:100%;min-height:112px;padding-top:6px;display:flex;position:relative;overflow:hidden}.gf-stat-value{z-index:1;font-size:34px;font-weight:500;line-height:1.1;position:relative}.gf-stat-unit{color:var(--gf-muted);margin-left:4px;font-size:16px}.gf-stat-sub{z-index:1;color:var(--gf-muted);margin-top:2px;font-size:12px;position:relative}.gf-stat svg{opacity:.75;width:100%;height:38%;position:absolute;bottom:0;left:0;right:0}.gf-bg-row{grid-template-columns:minmax(80px,30%) 1fr;align-items:center;gap:8px;margin:6px 0;display:grid}.gf-bg-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gf-bg-track{background:var(--gf-track);border-radius:2px;height:22px;position:relative}.gf-bg-fill{background:linear-gradient(90deg, #5794f259, var(--gf-blue));border-radius:2px;height:100%}.gf-bg-value{color:var(--gf-strong);text-shadow:var(--gf-text-shadow);justify-content:flex-end;align-items:center;font-weight:500;display:flex;position:absolute;inset:0 8px}.gf-chart{width:100%;display:block}.gf-chart text{fill:var(--gf-muted);font-size:11px}.gf-grid-line{stroke:var(--gf-grid);stroke-width:1px}.gf-tooltip{z-index:5;pointer-events:none;background:var(--gf-tooltip);color:var(--gf-text);border:1px solid var(--gf-border);min-width:140px;box-shadow:0 4px 12px var(--gf-shadow);border-radius:2px;padding:6px 8px;font-size:12px;position:absolute}.gf-tooltip b{color:var(--gf-strong);margin-bottom:2px;display:block}.gf-tooltip div{justify-content:space-between;align-items:center;gap:6px;display:flex}.gf-dot{vertical-align:middle;border-radius:1px;width:10px;height:3px;margin-right:4px;display:inline-block}.gf-legend{color:var(--gf-text);flex-wrap:wrap;gap:4px 14px;margin-top:6px;font-size:12px;display:flex}.gf-tablewrap{overflow-x:auto}.gf-table{border-collapse:collapse;width:100%}.gf-table th{text-align:left;color:var(--gf-blue);white-space:nowrap;background:var(--gf-hover);border-bottom:1px solid var(--gf-border);padding:6px 10px;font-size:12px;font-weight:500}.gf-table td{border-bottom:1px solid var(--gf-border);vertical-align:middle;padding:6px 10px}.gf-table tbody tr:hover{background:var(--gf-hover)}.gf-table .num{text-align:right}.gf-pill{color:var(--gf-pill-text);border-radius:2px;padding:0 8px;font-size:12px;font-weight:500;line-height:20px;display:inline-block}.gf-empty{color:var(--gf-muted);text-align:center;padding:24px 0}.gf .timer{color:var(--gf-muted)}.gf .timer.running{color:var(--gf-strong);font-weight:500}.gf .st-open{color:var(--gf-red)}.gf .st-assigned,.gf .st-accepted,.gf .st-en_route{color:var(--gf-orange)}.gf .st-on_site{color:var(--gf-blue)}.gf .st-completed{color:var(--gf-green)}.gf .st-cancelled{color:var(--gf-muted)}.gf select{background:var(--gf-panel);color:var(--gf-text);border:1px solid var(--gf-border);border-radius:2px;width:auto;min-height:32px;padding:0 8px}.gf-foot{color:var(--gf-muted);margin-top:12px;font-size:12px}
