:root,[data-theme=light]{--bg:#ecece7;--side:#e3e4de;--surface:#f7f7f3;--surface-2:#efefea;--ink:#12151b;--ink-2:#3a404a;--ink-3:#5b626e;--line:#12151b1f;--line-strong:#12151b4d;--accent:#244ded;--accent-ink:#fff;--accent-soft:#244ded1a;--ok:#1d7f52;--warning:#a86500;--danger:#c8402a;--info:#244ded;--g0:#3c63f0;--g1:#6d87f2;--g2:#1a37b3;--g3:#7a5ae0;--g4:#1f8f8a;--g5:#4d86c9;--fixed:#a9adb5;--signal:#9a5800;--signal-fill:#f5a524;--signal-soft:#f5a52429;--font:"Archivo Variable", "Helvetica Neue", Arial, sans-serif;--mono:"Geist Mono Variable", ui-monospace, Menlo, monospace;--radius:6px}[data-theme=dark]{--bg:#0b0e16;--side:#0e121c;--surface:#121726;--surface-2:#181e30;--ink:#e9ebf2;--ink-2:#b4bac8;--ink-3:#8b92a3;--line:#e9ebf21a;--line-strong:#e9ebf247;--accent:#5b7cff;--accent-ink:#fff;--accent-soft:#5b7cff29;--ok:#5fd39b;--warning:#f2b33d;--danger:#ff7f66;--info:#7d95ff;--g0:#4f6ffa;--g1:#7d95ff;--g2:#2f49c9;--g3:#8e74f2;--g4:#2fa79f;--g5:#5d97d9;--fixed:#3a4152;--signal:#f5a524;--signal-fill:#f5a524;--signal-soft:#f5a52429}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font:14px/1.45 var(--font);-webkit-font-smoothing:antialiased}a{color:inherit}button,select,input{font:inherit;color:inherit}h1,h2,p,ul,ol,dl,dd{margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}small{color:var(--ink-3);font-size:12px}.boot{height:100vh;color:var(--ink-3);place-items:center;gap:12px;display:grid}.shell{grid-template-rows:minmax(0,1fr);grid-template-columns:232px minmax(0,1fr);height:100dvh;display:grid;overflow:hidden}.side{background:var(--side);border-right:1px solid var(--line);flex-direction:column;gap:14px;min-height:0;padding:14px 10px;display:flex;overflow-y:auto}.side__brand{letter-spacing:-.02em;align-items:center;gap:8px;padding:2px 8px;font-size:16px;font-weight:600;text-decoration:none;display:flex}.side__brand svg{width:22px;height:22px}.side__brand b{color:var(--accent);font-weight:600}.logo-plan{fill:var(--accent)}.side__brand em{background:var(--accent-soft);color:var(--ink-3);font:normal 600 11px var(--font);border-radius:999px;margin-left:auto;padding:1px 8px}.side__scenario{gap:4px;padding:0 4px;display:grid}.side__label{font:600 11.5px var(--font);color:var(--ink-3);padding-left:4px}.side__scenario select{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);width:100%;height:34px;padding:0 8px}.side__nav,.side__foot{gap:2px;display:grid}.side__foot{border-top:1px solid var(--line);margin-top:auto;padding-top:10px}.side__link{border-radius:var(--radius);width:100%;height:34px;color:var(--ink-2);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:0 10px;text-decoration:none;display:flex}.side__link svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.side__link:hover{background:var(--surface-2);color:var(--ink)}.side__link.is-active{background:var(--surface);color:var(--ink);box-shadow:inset 2px 0 0 var(--accent);font-weight:600}.side__link--small{height:30px;font-size:13px}.signal{background:var(--accent-soft);min-width:20px;color:var(--accent);font:normal 600 11px/18px var(--mono);text-align:center;border-radius:10px;margin-left:auto;padding:0 6px}.signal--danger{background:color-mix(in srgb, var(--danger) 18%, transparent);color:var(--danger)}.main{grid-template-rows:48px minmax(0,1fr) 28px;min-width:0;min-height:0;display:grid}.top{border-bottom:1px solid var(--line);white-space:nowrap;align-items:center;gap:16px;min-width:0;padding:0 20px;display:flex}.top__menu{display:none}.top__btn svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px}.top__btn{gap:6px}.side .side__cta,.side-scrim{display:none}.crumbs{min-width:0;color:var(--ink-2);align-items:center;gap:8px;display:flex;overflow:hidden}.crumbs b{text-overflow:ellipsis;overflow:hidden}.crumbs__org{align-items:center;gap:8px;display:inline-flex}.crumbs__org i{background:var(--accent);width:20px;height:20px;color:var(--accent-ink);font:normal 700 11px var(--font);border-radius:6px;place-items:center;display:grid}.shell[data-engine=signal]{--fc:var(--signal);--fc-line:var(--signal-fill)}.shell[data-engine=signal] .crumbs__org i{background:var(--signal-fill);color:#12151b}.crumbs__sep{color:var(--ink-3)}.top__actions{gap:8px;margin-left:auto;display:flex}.work{padding:18px 20px 28px;overflow:auto}.status{border-top:1px solid var(--line);font:11px var(--mono);color:var(--ink-3);align-items:center;gap:20px;padding:0 20px;display:flex}.status span{align-items:center;gap:6px;display:inline-flex}.status span:last-child{margin-left:auto}.btn{border-radius:var(--radius);white-space:nowrap;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;height:32px;padding:0 12px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--accent);color:var(--accent-ink)}.btn--primary:hover:not(:disabled){filter:brightness(.92)}.btn--ghost{border-color:var(--line-strong);background:0 0}.btn--ghost:hover{background:var(--surface-2)}.btn--sm{height:28px;padding:0 10px;font-size:12.5px}.link{color:var(--accent);font-size:12.5px;font-weight:500;text-decoration:none}.link:hover{text-decoration:underline}.toolbar{align-items:center;gap:12px;display:flex}.toolbar label{color:var(--ink-3);align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.toolbar select{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);height:28px;padding:0 6px}.seg{border:1px solid var(--line-strong);border-radius:var(--radius);display:inline-flex;overflow:hidden}.seg button{cursor:pointer;background:0 0;border:0;height:26px;padding:0 10px;font-size:12.5px}.seg button+button{border-left:1px solid var(--line-strong)}.seg button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.screen{gap:16px;max-width:1600px;display:grid}.stack{align-content:start;gap:16px;min-width:0;display:grid}.grid{align-items:start;gap:16px;display:grid}.grid--home{grid-template-columns:minmax(0,2fr) minmax(300px,1fr)}.grid--master{grid-template-columns:minmax(260px,340px) minmax(0,1fr)}.grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0}.panel__head{border-bottom:1px solid var(--line);align-items:center;gap:10px;min-height:42px;padding:6px 14px;display:flex}.panel__head h2{font-size:13.5px;font-weight:650;font-stretch:104%}.panel__ctx{min-width:0;font:11px var(--mono);color:var(--ink-3);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.panel__actions{align-items:center;gap:8px;margin-left:auto;display:flex}.panel__body{padding:14px}.panel__body--flush{padding:0}.panel__hint{border-bottom:1px solid var(--line);color:var(--ink-3);padding:10px 14px;font-size:12.5px}.hint{color:var(--ink-3);font-size:13px}.lead{color:var(--ink);font-size:15px}.muted{color:var(--ink-3);margin-top:8px;font-size:13px}.note{border-radius:var(--radius);margin-top:10px;padding:8px 10px;font-size:13px}.note--warning{background:color-mix(in srgb, var(--warning) 14%, transparent);color:var(--ink)}.empty{color:var(--ink-3);padding:18px 14px}.band{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.band__item{padding:12px 16px}.band__item+.band__item{border-left:1px solid var(--line)}.band dt{color:var(--ink-3);font-size:12.5px}.band__value{align-items:baseline;gap:5px;margin-top:2px;display:flex}.band__value b{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:24px;font-weight:600}.band__value span{color:var(--ink-3)}.band__note{font:10.5px var(--mono);color:var(--ink-3)}.badge{white-space:nowrap;background:var(--surface-2);height:20px;color:var(--ink-2);border-radius:4px;align-items:center;padding:0 7px;font-size:11.5px;font-weight:500;display:inline-flex}.badge--ok{background:color-mix(in srgb, var(--ok) 15%, transparent);color:var(--ok)}.badge--warning{background:color-mix(in srgb, var(--warning) 16%, transparent);color:var(--warning)}.badge--danger{background:color-mix(in srgb, var(--danger) 15%, transparent);color:var(--danger)}.badge--info{background:var(--accent-soft);color:var(--info)}.dot{background:var(--ink-3);border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.dot--ok{background:var(--ok)}.dot--warning{background:var(--warning)}.dot--danger{background:var(--danger)}.dot--info{background:var(--info)}.score{font-variant-numeric:tabular-nums;align-items:center;gap:8px;display:inline-flex}.score__bar{background:var(--surface-2);border-radius:3px;width:64px;height:6px;overflow:hidden}.score__bar i{background:currentColor;height:100%;display:block}.score b{text-align:right;min-width:24px;color:var(--ink)}.score--ok{color:var(--ok)}.score--warning{color:var(--warning)}.score--danger{color:var(--danger)}.tone-ok{color:var(--ok)}.tone-danger{color:var(--danger)}.tone-warning{color:var(--warning)}.tone-info{color:var(--info)}.alerts,.list,.master{padding:0;list-style:none}.alerts li{border-bottom:1px solid var(--line);grid-template-columns:8px 1fr;gap:10px;padding:9px 0;display:grid}.alerts li:last-child{border-bottom:0}.alerts .dot{margin-top:6px}.alerts a{text-decoration:none}.alerts a:hover{text-decoration:underline}.alerts small{font-family:var(--mono);font-size:11px;display:block}.list li{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:9px 0;display:flex}.list li:last-child{border-bottom:0}.list a{min-width:0;text-decoration:none;display:grid}.list a:hover b{text-decoration:underline}.list .badge{margin-left:auto}.master__item{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;gap:6px;width:100%;padding:12px 14px;display:grid}.master__item:hover{background:var(--surface-2)}.master__item.is-active{background:var(--accent-soft);box-shadow:inset 2px 0 0 var(--accent)}.master__title{align-items:center;gap:8px;font-weight:600;display:flex}.master__meta{align-items:center;gap:8px;display:flex}.table-wrap{overflow-x:auto}.table th[scope=row]>a,.table th[scope=row]>small,.table td.num,.table .nowrap{white-space:nowrap}.table{border-collapse:collapse;width:100%}.table th,.table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;height:36px;padding:6px 14px}.table thead th{height:32px;color:var(--ink-3);background:var(--surface-2);font-size:12px;font-weight:500}.table tbody th{font-weight:600}.table tbody tr:last-child>*{border-bottom:0}.table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.table--kpi{border:1px solid var(--line);border-radius:var(--radius);margin-top:14px}.table--hover tbody tr{cursor:pointer}.table--hover tbody tr:hover,.table tbody tr.is-active{background:var(--accent-soft)}.alts{padding:0;list-style:none}.alt{border-bottom:1px solid var(--line);gap:8px;padding:12px 14px;display:grid}.alt:last-child{border-bottom:0}.alt.is-active{background:var(--accent-soft);box-shadow:inset 2px 0 0 var(--accent)}.alt.is-applied{box-shadow:inset 2px 0 0 var(--ok)}.alt__main{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:26px minmax(0,1fr) auto;align-items:start;gap:12px;padding:0;display:grid}.alt__rank{border:1px solid var(--line-strong);width:24px;height:24px;font:600 12px var(--mono);border-radius:4px;place-items:center;display:grid}.alt.is-active .alt__rank{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.alt__body{gap:3px;display:grid}.alt__body>span{color:var(--ink-2)}.alt__effects{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.alt__apply,.alt>.badge{justify-self:start;margin-left:38px}.gantt{font-family:var(--mono);overflow:auto}.gantt svg{display:block}.gantt__row{fill:#0000}.gantt__row--alt{fill:var(--surface-2);opacity:.5}.gantt__label{font:11px var(--font);fill:var(--ink-2)}.gantt__group{letter-spacing:.08em;text-transform:uppercase;fill:var(--ink-3);font-size:10px}.gantt__tick{stroke:var(--line)}.gantt__axis{fill:var(--ink-3);font-size:10px}.gantt__task rect{fill:var(--g0)}.gantt__task text{fill:#fff;pointer-events:none;font-size:10px}.gantt__task.g1 rect{fill:var(--g1)}.gantt__task.g2 rect{fill:var(--g2)}.gantt__task.g3 rect{fill:var(--g3)}.gantt__task.g4 rect{fill:var(--g4)}.gantt__task.g5 rect{fill:var(--g5)}.gantt__task.is-fixed rect{fill:var(--fixed)}.gantt__task.is-fixed text{fill:var(--ink)}.gantt__task.is-down rect{stroke:var(--danger);stroke-width:1.2px}.gantt__task.is-down text{fill:var(--danger);font-weight:600}.gantt__task.is-late rect{stroke:var(--danger);stroke-width:1.5px}.gantt__hatch-bg{fill:var(--danger);fill-opacity:.14}.gantt__hatch{stroke:var(--danger);stroke-width:2px;stroke-opacity:.7}.gantt__ghost{fill:none;stroke:var(--line-strong);stroke-dasharray:3 3}.gantt__now line{stroke:var(--ink);stroke-width:1.25px}.legend{color:var(--ink-3);flex-wrap:wrap;gap:8px 18px;padding:0;font-size:12.5px;list-style:none;display:flex}.legend li{align-items:center;gap:6px;display:inline-flex}.sw{border-radius:2px;width:18px;height:9px;display:inline-block}.sw--fixed{background:var(--fixed)}.sw--plan{background:var(--g0)}.sw--down{background:repeating-linear-gradient(45deg, color-mix(in srgb, var(--danger) 20%, transparent) 0 3px, var(--danger) 3px 4px)}.chart{width:100%;font-family:var(--mono)}.chart__grid{stroke:var(--line)}.chart__axis{fill:var(--ink-3);font-size:10px}.chart__axis--p50{fill:var(--fc,var(--accent));font-weight:600}.chart__line{fill:none;stroke:var(--accent);stroke-width:1.6px}.chart__line--hist{stroke:var(--ink)}.chart__p50{fill:none;stroke:var(--fc-line,var(--accent));stroke-width:1.8px;stroke-dasharray:5 4}.chart__band--90{fill:var(--fc-line,var(--accent));fill-opacity:.1}.chart__band--80{fill:var(--fc-line,var(--accent));fill-opacity:.18}.chart__today{stroke:var(--ink-3)}.chart__threshold{stroke:var(--danger);stroke-dasharray:4 3}.chart__threshold-label{fill:var(--danger);font-size:10px}.spark path{fill:none;stroke:var(--ink-2);stroke-width:1.2px}.heat{font-family:var(--mono);gap:2px;font-size:10.5px;display:grid;overflow-x:auto}.heat__row{display:contents}.heat__col{color:var(--ink-3);text-align:center;white-space:nowrap}.heat__label{font-family:var(--font);color:var(--ink-2);white-space:nowrap;padding-right:10px;font-size:12px}.heat__cell{background:color-mix(in srgb, var(--accent) calc(var(--v) * 85%), var(--surface-2));height:24px;color:var(--ink);border-radius:3px;place-items:center;display:grid}.heat__cell.is-hot{outline:1.5px solid var(--danger);outline-offset:-1.5px}.roster{overflow:auto}.roster table{border-collapse:separate;border-spacing:2px;font-family:var(--mono);padding:6px 10px 10px;font-size:11px}.roster thead th{color:var(--ink-3);white-space:nowrap;padding:4px 2px;font-weight:500}.roster thead th.is-weekend{color:var(--ink-2)}.roster thead th.is-now{color:var(--accent)}.roster tbody th{font:500 12px var(--font);text-align:left;white-space:nowrap;padding-right:10px}.roster__team th{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font:500 10px var(--mono)!important;padding-top:8px!important}.rc{text-align:center;vertical-align:middle;background:var(--surface-2);min-width:30px;height:24px;color:var(--ink-2);border-radius:3px;display:table-cell}i.rc{place-items:center;font-style:normal;display:inline-grid}.rc--base.rc--M{background:color-mix(in srgb, var(--accent) 16%, transparent)}.rc--base.rc--T{background:color-mix(in srgb, var(--accent) 34%, transparent)}.rc--base.rc--N{background:var(--ink-2);color:var(--bg)}.rc--backup,.rc--base.rc--R{background:color-mix(in srgb, var(--g5) 30%, transparent)}.rc--off{color:var(--ink-3);background:0 0}.rc--absent{background:color-mix(in srgb, var(--danger) 16%, transparent);color:var(--danger);box-shadow:inset 0 0 0 1.25px var(--danger);font-weight:700}.rc--cover{background:var(--accent);color:var(--accent-ink);font-weight:600}.rc.is-preview.rc--cover{box-shadow:inset 0 0 0 1.5px var(--ink)}.dialog{z-index:50;background:#0a0c1273;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dialog__box{background:var(--surface);border-radius:10px;width:min(560px,100%);padding:20px;box-shadow:0 24px 60px #0000004d}.dialog__box h2{letter-spacing:-.02em;font-size:18px}.options{gap:8px;margin-top:14px;display:grid}.option{border:1px solid var(--line-strong);border-radius:var(--radius);cursor:pointer;grid-template-columns:18px 1fr;gap:10px;padding:10px 12px;display:grid}.option.is-active{border-color:var(--accent);background:var(--accent-soft)}.option input{accent-color:var(--accent)}.option span{gap:2px;display:grid}.dialog__actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.compute{margin-top:14px}.compute__steps{font:12px var(--mono);color:var(--ink-3);gap:18px;padding:0;list-style:none;display:flex}.compute__steps li:before{content:"○ "}.compute__steps .is-done{color:var(--ok)}.compute__steps .is-done:before{content:"● "}.compute__steps .is-current{color:var(--accent)}.compute__steps .is-current:before{content:"◐ "}.compute__steps{flex-wrap:wrap}.search{background:var(--surface-2);border-radius:10px;margin:14px 0 10px;padding:12px 12px 6px}.search__head{color:var(--ink-3);justify-content:space-between;align-items:baseline;gap:12px;font-size:12px;display:flex}.search__count b{font:600 18px var(--mono);color:var(--ink);font-variant-numeric:tabular-nums;margin-right:4px}.search svg{width:100%;height:auto;display:block;overflow:visible}.search__axis{stroke:var(--line-strong)}.search__label{fill:var(--ink-3);font-size:10.5px}.search__dots circle{fill:var(--ink-3);opacity:.45}.search__dots circle.is-new{fill:var(--ink);opacity:1}.search__front{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round;stroke-dasharray:600;animation:.9s ease-out both search-draw}@keyframes search-draw{0%{stroke-dashoffset:600px}}.search__best circle{fill:#fff;stroke:var(--accent);stroke-width:2.5px}.search__best .search__halo{fill:var(--accent);stroke:none;opacity:.2}.search__best text{fill:var(--ink);font-size:11px;font-weight:650}.search__best.is-done .search__halo{transform-box:fill-box;transform-origin:50%;animation:1.6s ease-out infinite search-halo}@keyframes search-halo{0%{opacity:.4;transform:scale(.6)}to{opacity:0;transform:scale(2)}}@media (prefers-reduced-motion:reduce){.search__front,.search__best.is-done .search__halo{animation:none}}@media (width<=1100px){.grid--home,.grid--master,.grid--two{grid-template-columns:minmax(0,1fr)}}@media (width>=821px) and (height<=780px){.side{gap:10px;padding:10px 8px}.side__link{height:30px}.side__link--small{height:28px}.side__user{display:none}}@media (width<=1280px){.top__label{display:none}.top__btn{width:34px;padding:0}}@media (width>=821px) and (width<=1180px){.shell{grid-template-columns:64px minmax(0,1fr)}.side{align-items:stretch;padding:12px 8px}.side__brand{justify-content:center;padding:2px 0}.shell .side__brand span,.shell .side__brand em,.shell .side__label,.shell .side__link span,.shell .side__user span,.shell .case__btn span,.shell .case__btn>svg{display:none}.case{padding:0}.case__btn{grid-template-columns:28px;justify-content:center;padding:6px 0}.shell .case__list{width:270px;position:fixed;top:52px;left:70px;right:auto}.side__link{justify-content:center;padding:0;position:relative}.signal{min-width:16px;padding:0 4px;font-size:10px;line-height:15px;position:absolute;top:1px;right:3px}.side__user{justify-content:center;padding-inline:0}}@media (width<=820px){.shell{grid-template-columns:minmax(0,1fr)}.side{z-index:50;visibility:hidden;width:min(300px,86vw);transition:transform .25s,visibility 0s linear .25s;position:fixed;inset:0 auto 0 0;transform:translate(-102%);box-shadow:0 0 40px #0006}.is-menu .side{visibility:visible;transition:transform .25s;transform:none}.side-scrim{z-index:45;background:#03050a8c;border:0;animation:.2s scrim-in;display:block;position:fixed;inset:0}@keyframes scrim-in{0%{opacity:0}}.side .side__cta{justify-content:center;margin-top:auto;display:inline-flex}.side__cta+.side__foot{margin-top:0}.main{grid-template-rows:52px minmax(0,1fr) auto}.top{gap:8px;padding:0 10px}.top__menu{width:36px;height:36px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;place-items:center;display:inline-grid}.top__menu svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;width:20px;height:20px}.top__cta{display:none}.top__actions{gap:4px}.work{padding:12px}.status{gap:4px 12px;padding:4px 12px;font-size:11px}.status span:nth-child(2){display:none}}@media (prefers-reduced-motion:reduce){.side,.is-menu .side{transition:none}}.inbox,.sources{padding:0;list-style:none}.inbox li{border-bottom:1px solid var(--line);grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 14px;display:grid}.inbox li:last-child{border-bottom:0}.inbox b{font-weight:600;display:block}.inbox small{font-family:var(--mono);font-size:11px}.sources li{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 14px;font-size:13px;display:grid}.sources li:last-child{border-bottom:0}.sources small{font-family:var(--mono);font-size:11px}.gantt__task.s-ok rect{fill:var(--g0)}.gantt__task.s-risk rect{fill:var(--warning)}.gantt__task.s-risk text{fill:#1d1500}.gantt__task.s-late rect{fill:var(--danger)}.gantt__task.is-clickable{cursor:pointer}.gantt__task.is-clickable:hover rect{filter:brightness(1.12)}.gantt__task.is-hl rect{stroke:var(--ink);stroke-width:2px}.sw--ok{background:var(--g0)}.sw--risk{background:var(--warning)}.sw--late{background:var(--danger);outline:0}.with-detail{position:relative}.detail{z-index:5;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);width:min(320px,100% - 16px);position:absolute;top:8px;right:8px;box-shadow:0 12px 32px #0003}.detail header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.detail dl{gap:0;padding:4px 12px 10px;display:grid}.detail dl div{border-bottom:1px solid var(--line);grid-template-columns:120px 1fr;gap:8px;padding:5px 0;font-size:12.5px;display:grid}.detail dl div:last-child{border-bottom:0}.detail dt{color:var(--ink-3)}.alt__cost{text-align:right;justify-items:end;gap:1px;min-width:150px;display:grid}.alt__cost b{font-variant-numeric:tabular-nums;font-size:18px}.alt__cost small{font-size:11px}.alt__body b .badge{vertical-align:1px;margin-left:6px}.meter{background:var(--surface-2);vertical-align:middle;border-radius:3px;width:120px;height:6px;display:inline-block;overflow:hidden}.meter i{background:var(--accent);height:100%;display:block}.meter i.is-hot{background:var(--danger)}.table tr.is-danger th,.table tr.is-danger td{background:color-mix(in srgb, var(--danger) 6%, transparent)}.table a{color:var(--accent);text-decoration:none}.table a:hover{text-decoration:underline}code{font:11.5px var(--mono);color:var(--ink-2)}.status-line{align-items:center;gap:8px;display:inline-flex}.ticks{gap:8px;padding:0;list-style:none;display:grid}.ticks li{color:var(--ink-2);grid-template-columns:16px 1fr;display:grid}.ticks li:before{content:"";background:var(--accent);width:7px;height:7px;margin-top:7px}.ticks--danger li:before{background:var(--danger)}.field{color:var(--ink-3);gap:6px;margin-top:14px;font-size:12.5px;display:grid}.field textarea{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg);width:100%;color:var(--ink);font:inherit;resize:vertical;padding:8px 10px}.dialog__box--wide{width:min(900px,100%)}.dialog__box .table{border:1px solid var(--line);margin-top:12px}.chart__below{fill:var(--danger);fill-opacity:.06}.side__user{border-top:1px solid var(--line);align-items:center;gap:10px;margin-top:auto;padding:10px 8px 0;display:flex}.side__user i{background:var(--accent-soft);width:30px;height:30px;color:var(--accent);font:normal 600 13px var(--font);border-radius:50%;place-items:center;display:grid}.side__user span{display:grid}.side__user b{font-size:13px}.side__foot{margin-top:0}.is-touring .work{overflow:hidden}.tour-layer{z-index:60;position:fixed;inset:0}.tour-spot{pointer-events:none;border-radius:14px;transition:left .75s cubic-bezier(.22,.8,.24,1),top .75s cubic-bezier(.22,.8,.24,1),width .75s cubic-bezier(.22,.8,.24,1),height .75s cubic-bezier(.22,.8,.24,1);position:fixed;box-shadow:0 0 0 9999px #03050aad}.tour-spot:after{content:"";border:2px solid var(--accent);border-radius:16px;animation:2.2s ease-out infinite tour-ring;position:absolute;inset:-2px}[data-engine=signal] .tour-spot:after{border-color:var(--signal-fill)}.tour-spot.is-off:after{display:none}@keyframes tour-ring{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 55%, transparent)}70%,to{box-shadow:0 0 0 14px #0000}}.tour{z-index:2;background:var(--surface);width:min(380px,100vw - 32px);box-shadow:0 0 0 1px var(--line-strong), 0 24px 60px #00000073;border-radius:14px;gap:6px;padding:18px 18px 16px;transition:left .6s cubic-bezier(.22,.8,.24,1),top .6s cubic-bezier(.22,.8,.24,1);animation:.45s cubic-bezier(.22,.8,.24,1) .25s both tour-in;display:grid;position:fixed}@keyframes tour-in{0%{opacity:0;transform:translateY(10px)scale(.98)}}.tour__progress{background:var(--surface-2);border-radius:3px;height:3px;margin:-4px 0 6px;overflow:hidden}.tour__progress i{background:var(--accent);height:100%;transition:width .6s;display:block}[data-engine=signal] .tour__progress i{background:var(--signal-fill)}.tour small{color:var(--ink-3);font-size:11.5px;font-weight:600}.tour b{letter-spacing:-.01em;font-size:17px;font-weight:700;font-stretch:106%}.tour p{color:var(--ink-2);font-size:13.5px;line-height:1.5}.tour__actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.tour__back{margin-right:auto}.tour-cursor{z-index:3;opacity:0;pointer-events:none;width:34px;height:34px;margin:-12px 0 0 -12px;transition:transform .85s cubic-bezier(.45,0,.2,1),opacity .2s;position:fixed;top:0;left:0}.tour-cursor.is-on{opacity:1}.tour-cursor path{fill:#fff;stroke:#12151b;stroke-width:1.4px;stroke-linejoin:round;filter:drop-shadow(0 2px 3px #00000073)}.tour-cursor__ripple{fill:var(--accent);opacity:0;transform-box:fill-box;transform-origin:50%}.tour-cursor.is-click .tour-cursor__ripple{animation:.5s ease-out tour-click}.tour-cursor.is-click path{transform-origin:2px 1px;transition:transform .12s;transform:scale(.88)}@keyframes tour-click{0%{opacity:.55;transform:scale(.2)}to{opacity:0;transform:scale(1.4)}}@media (prefers-reduced-motion:reduce){.tour-spot,.tour{transition:none;animation:none}.tour-spot:after{animation:none}}.rp{background:var(--surface-2);min-width:92px;height:30px;font:500 11.5px var(--font);color:var(--ink);text-align:center;vertical-align:middle;white-space:nowrap;border-radius:3px;padding:2px 6px}.rp--empty{background:0 0}.rp s{color:var(--danger);font-size:10.5px;display:block}.rp b{color:var(--accent);font-weight:600;display:block}.rp--absent{background:color-mix(in srgb, var(--danger) 14%, transparent);box-shadow:inset 0 0 0 1.25px var(--danger)}.rp--covered{background:var(--accent-soft);box-shadow:inset 0 0 0 1.25px var(--accent)}.rp.is-preview{box-shadow:inset 0 0 0 2px var(--accent)}@media (width<=820px){.alt__main{grid-template-columns:26px minmax(0,1fr)}.alt__cost{text-align:left;grid-column:2;justify-items:start}.detail{width:auto;margin:8px;position:static}}.facts-list>div{border-bottom:1px solid var(--line);grid-template-columns:130px minmax(0,1fr);gap:10px;padding:8px 14px;font-size:13px;display:grid}.facts-list>div:last-child{border-bottom:0}.facts-list dt{color:var(--ink-3)}.facts-list dd{font-variant-numeric:tabular-nums;margin:0}.table tr.is-us th,.table tr.is-us td{background:var(--accent-soft)}.table tr.is-us th{box-shadow:inset 2px 0 0 var(--accent)}.bars-table td:nth-child(2){width:60%}.hbar{background:var(--fixed);border-radius:2px;height:7px;margin:2px 0;display:block}.hbar--us{background:var(--accent)}.panel__foot{border-top:1px solid var(--line);padding:10px 14px}.check-inline{color:var(--ink-2);cursor:pointer;align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.check-inline input{accent-color:var(--accent)}.forecast-meta{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:10px;font-size:13px;display:flex}.item-grid{grid-template-columns:minmax(0,3fr) minmax(300px,2fr);align-items:start;gap:18px;display:grid}.window-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);gap:8px;padding:14px 16px;font-size:13px;display:grid}.window-card h3{margin:0;font-size:13.5px}.window-card p{margin:0}.window-card__range{font-size:15px;font-weight:600}.window-card__stock{border-top:1px solid var(--line);padding-top:6px}.table--compact th,.table--compact td{padding:6px 8px;font-size:12.5px}.facts-list--inline{border:1px solid var(--line);border-radius:var(--radius);margin-top:10px}.table tr.is-current th,.table tr.is-current td{background:color-mix(in srgb, var(--warning) 8%, transparent)}.check-inline select{border:1px solid var(--line-strong);background:var(--surface);color:inherit;font:inherit;border-radius:4px;padding:3px 6px}@media (width<=1100px){.item-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=600px){.shell,.main,.work{min-width:0;max-width:100vw}.panel__ctx{-webkit-line-clamp:unset;display:block}.panel__head{flex-wrap:wrap;padding-block:8px}.panel__actions{flex-wrap:wrap;width:100%;margin-left:0}}.case{gap:6px;padding:0 4px;display:grid;position:relative}.case__btn,.case__item{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 8px;display:grid}.case__btn{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-strong)}.case__btn:hover,.case__btn[aria-expanded=true]{box-shadow:inset 0 0 0 1px var(--accent)}.case__btn svg{fill:none;width:12px;height:12px;stroke:var(--ink-3);stroke-width:1.5px}.case__btn span,.case__item span{min-width:0;line-height:1.25;display:grid}.case__btn b,.case__item b{font-size:13px;font-weight:650}.case__btn small,.case__item small{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.case__tile{width:28px;height:28px;font:normal 700 12px var(--font);border-radius:8px;place-items:center;display:grid}.case__tile--plan{background:var(--accent);color:var(--accent-ink)}.case__tile--signal{background:var(--signal-fill);color:#12151b}.case__list{z-index:30;background:var(--surface);box-shadow:0 0 0 1px var(--line-strong), 0 18px 40px -10px #00000073;border-radius:14px;gap:6px;padding:6px;animation:.16s ease-out case-in;display:grid;position:absolute;top:calc(100% + 6px);left:4px;right:4px}@keyframes case-in{0%{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.case__list{animation:none}}.case__group+.case__group{border-top:1px solid var(--line);padding-top:6px}.case__label{color:var(--ink-3);align-items:center;gap:6px;margin:4px 8px;font-size:11.5px;font-weight:650;display:flex}.case__label:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px}.case__label--signal:before{background:var(--signal-fill)}.case__item{grid-template-columns:28px minmax(0,1fr)}.case__item:hover,.case__item.is-active{background:var(--surface-2)}.tourney-app{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;display:grid}.tourney-app__title{align-items:center;gap:8px;margin:0 0 10px;font-size:13px;font-weight:650;display:flex}.tourney-app__list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.tourney-app__list li{border-radius:8px;grid-template-columns:minmax(0,15em) minmax(0,1fr) 4em;align-items:center;gap:12px;padding:7px 10px;display:grid;position:relative}.tourney-app__list li.is-winner{background:var(--signal-soft)}.tourney-app__name{flex-wrap:wrap;align-items:baseline;gap:2px 8px;font-weight:600;display:flex}.tourney-app__name small{color:var(--warning);font-weight:450}.tourney-app__bar{background:var(--surface-2);border-radius:6px;height:6px;overflow:hidden}.tourney-app__bar b{background:var(--ink-3);transform-origin:0;height:100%;animation:.7s ease-out both tourney-grow;animation-delay:calc(var(--k) * 90ms);border-radius:6px;display:block}.is-winner .tourney-app__bar b{background:var(--signal-fill)}.tourney-app__err{font:12px var(--mono);text-align:right}.tourney-app__win{background:var(--signal-fill);color:#12151b;border-radius:999px;padding:0 8px;font-size:11px;font-weight:700}@keyframes tourney-grow{0%{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){.tourney-app__bar b{animation:none}}@media (width<=1100px){.tourney-app{grid-template-columns:minmax(0,1fr)}}.shell[data-engine=signal] .hbar--us{background:var(--signal-fill)}
