@font-face{font-family:Geist;src:url(/fonts/geist/Geist-Variable.woff2)format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/geist/GeistMono-Variable.woff2)format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap}:root{--font:"Geist", -apple-system, "SF Pro Text", "PingFang SC", "Helvetica Neue", sans-serif;--mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--bg:#fff;--surface:#fff;--surface-2:#f6f6f6;--surface-3:#ededed;--line:#e6e6e4;--line-2:#d5d5d3;--line-faint:#f1f1ef;--fg:#181818;--fg-2:#6a6a6a;--fg-3:#9a9aa2;--brand:#f26522;--accent:#2743a6;--accent-fg:#fff;--accent-wash:#2743a614;--accent-line:#2743a647;--ok:#067647;--ok-bg:#e6f4ed;--ok-line:#b7e2cd;--warn:#b54708;--warn-bg:#fdf2e5;--warn-line:#f5d9b0;--err:#b42318;--err-bg:#fdebe9;--err-line:#f5c4bf;--info:#2743a6;--info-bg:#eceffa;--info-line:#c5cdf0;--s1:#2743a6;--s2:#067647;--s3:#b54708;--s4:#7c3aed;--s5:#0e7490;--shadow-panel:0 1px 2px #1010140d, 0 6px 20px #1010140d;--shadow-float:0 2px 6px #1010140f, 0 16px 40px #1010141f;--panel-inner:none;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-14:56px;--sp-16:64px;--sp-18:72px;--row-h:44px;--row-h-compact:36px;--head-h:40px;--bar-h:56px;--nav-w:240px;--col-gutter:32px;--r-s:8px;--r-m:12px;--r-l:16px;--r-panel:20px;--r-xl:24px;--r-pill:20px;--w-prose:720px;--w-list:1160px;--dur-1:80ms;--dur-1-out:60ms;--dur-2:.12s;--dur-2-out:90ms;--dur-3:.16s;--dur-3-out:.12s;--dur-4:.2s;--dur-4-out:.15s;--dur-5:.26s;--dur-5-out:.2s;--dur-6:.32s;--dur-6-out:.24s;--dur-7:.4s;--dur-7-out:.3s;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.3, 0, 1, 1);--ease-std:cubic-bezier(.2, 0, 0, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1);--spring-snap:linear(0, .0314, .1054, .1996, .3002, .3986, .4901, .5723, .6445, .7067, .7595, .8038, .8408, .8713, .8963, .9168, .9334, .9468, .9576, .9663, .9733, .9788, .9833, .9868, .9896, .9918, .9936, .9949, 1);--spring-settle:linear(0, .0283, .0979, .1905, .2931, .3968, .4957, .5863, .6668, .7364, .7954, .8443, .8842, .9161, .9412, .9605, .9751, .9858, .9935, .9989, 1.0024, 1.0045, 1.0057, 1.0061, 1.0061, 1.0057, 1.0052, 1.0046, 1);--spring-drawer:linear(0, .0176, .0624, .1249, .1976, .275, .3532, .4292, .5013, .5683, .6294, .6844, .7333, .7763, .8138, .8462, .8739, .8975, .9173, .934, .9478, .9592, .9685, .976, .9821, .9869, .9908, .9937, 1)}[data-theme=dark]{--bg:#0a0a0a;--surface:#141416;--surface-2:#1b1b1e;--surface-3:#232327;--line:#26262a;--line-2:#33333a;--line-faint:#1c1c1f;--fg:#f2f2f4;--fg-2:#9a9aa4;--fg-3:#6b6b76;--brand:#ff7a3d;--accent:#8b9cf5;--accent-fg:#10101a;--accent-wash:#8b9cf524;--accent-line:#8b9cf55c;--ok:#4ade80;--ok-bg:#4ade8021;--ok-line:#4ade8047;--warn:#f0b657;--warn-bg:#f0b65721;--warn-line:#f0b65747;--err:#f87171;--err-bg:#f8717121;--err-line:#f871714d;--info:#8b9cf5;--info-bg:#8b9cf521;--info-line:#8b9cf54d;--s1:#8b9cf5;--s2:#4ade80;--s3:#f0b657;--s4:#c4a2fb;--s5:#5ec8d8;--shadow-panel:none;--shadow-float:0 8px 32px #0000008c;--panel-inner:inset 0 1px 0 #ffffff0a}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font);color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:16px;font-weight:400;line-height:24px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}svg{display:block}.t-title{letter-spacing:-.005em;font-size:18px;font-weight:600;line-height:24px}.t-kpi{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:32px;font-weight:600;line-height:36px}.t-section{letter-spacing:.02em;color:var(--fg-2);font-size:14px;font-weight:500;line-height:20px}.t-body{font-size:16px;font-weight:400;line-height:24px}.t-14{font-size:14px;font-weight:400;line-height:20px}.t-14-m{font-size:14px;font-weight:500;line-height:20px}.t-micro{letter-spacing:.02em;font-size:12px;font-weight:500;line-height:16px}.t-mono{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:13px}.muted{color:var(--fg-2)}.num{font-variant-numeric:tabular-nums}button{height:32px;padding:0 var(--sp-4);border:1px solid var(--line);background:var(--surface);border-radius:var(--r-s);cursor:pointer;align-items:center;gap:var(--sp-2);transition:background var(--dur-1) ease, border-color var(--dur-1) ease, transform var(--dur-2) var(--ease-out);font-size:14px;font-weight:500;line-height:20px;display:inline-flex}button:hover{background:var(--surface-2)}button:active{transform:scale(.97)}button.primary{background:var(--fg);color:var(--bg);border-color:var(--fg)}button.primary:hover{opacity:.88;background:var(--fg)}button.ghost{background:0 0;border-color:#0000}button.ghost:hover{background:var(--surface-2)}button:disabled{opacity:.4;cursor:default;transform:none}button:disabled:hover{background:var(--surface)}input,select,textarea{border:1px solid var(--line);border-radius:var(--r-s);padding:0 var(--sp-3);background:var(--surface);width:100%;height:32px;transition:border-color var(--dur-1) ease}textarea{padding:var(--sp-2) var(--sp-3);height:auto;line-height:20px}input:focus,select:focus,textarea:focus{border-color:var(--fg-2);outline:none}::placeholder{color:var(--fg-3)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.chip{align-items:center;gap:var(--sp-1);height:24px;padding:0 var(--sp-2);border-radius:var(--r-s);background:var(--surface-3);color:var(--fg-2);white-space:nowrap;font-size:12px;font-weight:500;line-height:20px;display:inline-flex}.chip:before{content:"";background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.chip.bare{background:0 0;padding:0}.chip.bare:before{display:none}.chip.ok{background:var(--ok-bg);color:var(--ok)}.chip.warn{background:var(--warn-bg);color:var(--warn)}.chip.err{background:var(--err-bg);color:var(--err)}.chip.info{background:var(--info-bg);color:var(--info)}.chip.on{color:var(--fg);background:var(--surface-3)}.kbd{min-width:20px;height:20px;padding:0 var(--sp-1) 2px;border:1px solid var(--line);color:var(--fg-2);border-radius:6px;justify-content:center;align-items:center;font-size:12px;display:inline-flex}.ico{color:currentColor;flex:none;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.row{gap:var(--sp-3);align-items:center;display:flex}.col{gap:var(--sp-3);flex-direction:column;display:flex}.spacer{flex:1}.section{margin-top:var(--sp-14)}.section:first-child{margin-top:0}.section>.t-section{margin-bottom:var(--sp-4)}.section>.rule{border-top:1px solid var(--line);margin-bottom:var(--sp-4)}.inset{background:var(--surface-2);border-radius:var(--r-m);padding:var(--sp-4);font-family:var(--mono);font-size:13px;line-height:20px;overflow:auto}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.spinner,[role=progressbar]{animation-duration:1s!important;animation-iteration-count:infinite!important}}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);box-shadow:var(--shadow-panel), var(--panel-inner);overflow:hidden}.panel-head{align-items:center;gap:var(--sp-2);padding:var(--sp-4) var(--sp-5);min-height:56px;display:flex}.panel-head .t{letter-spacing:-.005em;font-size:18px;font-weight:600}.panel-head .acts{gap:var(--sp-2);margin-left:auto;display:flex}.panel-body{padding:0 var(--sp-5) var(--sp-5)}.panel-body.flush{padding:0}.panel>.panel-body.flush:first-child{padding-top:0}.panel-body.flush>table.tbl th:first-child,.panel-body.flush>table.tbl td:first-child{padding-left:var(--sp-5)}.panel-body.flush>table.tbl th:last-child,.panel-body.flush>table.tbl td:last-child{padding-right:var(--sp-5)}.panel>.panel-body:first-child{padding-top:var(--sp-5)}.panel-split{border-top:1px solid var(--line)}.item{background:var(--surface-2);border-radius:var(--r-m);padding:var(--sp-4);transition:background var(--dur-1) ease}.item+.item{margin-top:var(--sp-2)}.item:hover{background:var(--surface-3)}.pills{gap:var(--sp-2);flex-wrap:wrap;display:flex}.pill{align-items:center;gap:var(--sp-2);height:36px;padding:0 var(--sp-4) 0 var(--sp-3);border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--line);color:var(--fg-2);white-space:nowrap;box-shadow:var(--panel-inner);font-size:14px;display:inline-flex}.pill b{color:var(--fg);font-variant-numeric:tabular-nums;font-weight:600}.pill .ico{color:var(--fg-3)}.pill.alert{border-color:var(--err-line);background:var(--err-bg);color:var(--err)}.pill.alert b,.pill.alert .ico{color:var(--err)}.badge{align-items:center;gap:var(--sp-1);height:24px;padding:0 var(--sp-2);border-radius:var(--r-s);letter-spacing:.01em;white-space:nowrap;background:var(--surface-3);color:var(--fg-2);font-size:12px;font-weight:500;display:inline-flex}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.err{background:var(--err-bg);color:var(--err)}.badge.info{background:var(--info-bg);color:var(--info)}.badge .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.chips{align-items:center;gap:var(--sp-1);flex-wrap:wrap;display:flex}.chipbtn{align-items:center;gap:var(--sp-2);height:36px;padding:0 var(--sp-3);border-radius:var(--r-pill);color:var(--fg-2);cursor:pointer;transition:background var(--dur-1) ease, color var(--dur-1) ease;background:0 0;border:1px solid #0000;font-size:14px;font-weight:400;display:inline-flex}.chipbtn:hover{background:var(--surface-2);color:var(--fg)}.chipbtn[aria-pressed=true]{background:var(--surface);border-color:var(--line);color:var(--fg);box-shadow:var(--panel-inner);font-weight:500}.chipbtn .n{border-radius:var(--r-pill);background:var(--surface-3);min-width:20px;height:20px;color:var(--fg-2);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;padding:0 6px;font-size:12px;display:inline-flex}.chipbtn[aria-pressed=true] .n{background:var(--fg);color:var(--surface)}.tabs{gap:var(--sp-6);border-bottom:1px solid var(--line);display:flex}.tab{align-items:center;gap:var(--sp-2);height:44px;color:var(--fg-2);cursor:pointer;transition:color var(--dur-1) ease, border-color var(--dur-2) var(--ease-std);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:0;font-size:14px;display:inline-flex}.tab:hover{color:var(--fg)}.tab[aria-selected=true]{color:var(--fg);border-bottom-color:var(--fg);font-weight:500}.tab .n{background:var(--surface-3);min-width:20px;height:20px;color:var(--fg-2);font-variant-numeric:tabular-nums;border-radius:6px;justify-content:center;align-items:center;padding:0 6px;font-size:12px;display:inline-flex}.meter{align-items:center;gap:var(--sp-3);display:flex}.meter-track{border-radius:var(--r-pill);background:var(--surface-3);flex:1;height:8px;overflow:hidden}.meter-fill{border-radius:var(--r-pill);background:var(--accent);transform-origin:0;height:100%;animation:meter-in var(--dur-6) var(--ease-out) both;display:block}.meter-fill.ok{background:var(--ok)}.meter-fill.warn{background:var(--warn)}.meter-fill.err{background:var(--err)}@keyframes meter-in{0%{transform:scaleX(0)}}.meter .pct{font-variant-numeric:tabular-nums;color:var(--fg-2);text-align:right;min-width:40px;font-size:12px}.hero{align-items:flex-start;gap:var(--sp-4);margin-bottom:var(--sp-6);display:flex}.hero-name{align-items:center;gap:var(--sp-3);display:flex}.hero-name h1{letter-spacing:-.02em;font-size:32px;font-weight:600;line-height:36px}.hero-sub{color:var(--fg-2);margin-top:var(--sp-1);font-size:14px}.hero .acts{gap:var(--sp-2);margin-left:auto;display:flex}.callout{gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-m);background:var(--warn-bg);color:var(--warn);font-size:14px;display:flex}.callout .ico{flex:none}.callout b{margin-bottom:2px;font-weight:600;display:block}.callout span{color:var(--fg-2)}.grid{gap:var(--sp-4);display:grid}.grid.c2{grid-template-columns:1fr 1fr}.grid.c3{grid-template-columns:repeat(3,1fr)}.grid.main-side{grid-template-columns:minmax(0,1fr) 380px}.map-panel{flex-direction:column;display:flex}.map-panel>.panel-body{flex:1;min-height:0}.map-fill,.map-fill>.mapc{height:100%}@media (max-width:1279px){.grid.c3,.grid.main-side{grid-template-columns:1fr}}.gauge .g-track{fill:none;stroke:var(--surface-3);stroke-width:8px;stroke-linecap:round}.gauge .g-band{fill:none;stroke-width:8px;stroke-linecap:butt;opacity:.9}.gauge .g-band.ok{stroke:var(--ok)}.gauge .g-band.warn{stroke:var(--warn)}.gauge .g-band.err{stroke:var(--err)}.gauge .g-tick{stroke:var(--fg-3);stroke-width:1px}.gauge .g-needle{stroke:var(--fg);stroke-width:2px;stroke-linecap:round}.gauge .g-hub{fill:var(--fg)}.gauge .g-value{fill:var(--fg);font-variant-numeric:tabular-nums;font-size:20px;font-weight:600}.gauge .g-unit{fill:var(--fg-2);font-size:12px;font-weight:400}.gauge .g-label{fill:var(--fg-2);font-size:12px}.barspark rect{fill:var(--fg-3)}.chart-preview{width:100%;margin-top:var(--sp-4);display:block}.chart-preview rect{fill:var(--accent)}.chart-preview text{fill:var(--fg-2);font-size:11px}.panel .chart{margin-top:var(--sp-2)}.subject{gap:var(--sp-4);display:grid}.subject-img{aspect-ratio:16/10;border-radius:var(--r-l);background:var(--surface-2) center/cover no-repeat;background-image:url(/img/container-light.webp);width:100%}[data-theme=dark] .subject-img{background-image:url(/img/container-dark.webp)}.subject-meta{gap:var(--sp-2);display:grid}.linkrow{align-items:center;gap:var(--sp-2);width:100%;height:44px;padding:0 var(--sp-2);border-radius:var(--r-s);color:var(--fg);cursor:pointer;text-align:left;background:0 0;border:none;display:flex}.linkrow:hover{background:var(--surface-2)}.listbar{margin-bottom:var(--sp-3);justify-content:flex-end;display:flex}.shell{grid-template-columns:var(--nav-w) 1fr;background:var(--bg);height:100%;display:grid}.shell[data-nav=collapsed]{grid-template-columns:64px 1fr}.nav{background:var(--surface);border-right:1px solid var(--line);padding:0 var(--sp-3) var(--sp-3);flex-direction:column;display:flex;overflow:hidden}.nav-mark{background:var(--brand);color:#fff;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;display:grid}.nav-mark svg{fill:currentColor;width:13px;height:13px}.nav-brand{height:var(--bar-h);align-items:center;gap:var(--sp-2);padding:0 var(--sp-3);letter-spacing:-.01em;flex:none;font-size:18px;font-weight:600;display:flex}.nav-scroll{scrollbar-width:thin;flex:1;overflow:hidden auto}.nav-group{margin-top:var(--sp-6)}.nav-group:first-child{margin-top:var(--sp-2)}.nav-group-label{letter-spacing:.02em;color:var(--fg-3);padding:0 var(--sp-3);margin-bottom:var(--sp-1);white-space:nowrap;font-size:12px;font-weight:500}.nav-item{align-items:center;gap:var(--sp-2);height:32px;padding:0 var(--sp-3);border-radius:var(--r-s);color:var(--fg-2);white-space:nowrap;transition:background var(--dur-1) ease, color var(--dur-1) ease;font-size:14px;font-weight:400;display:flex}.nav-item:hover{background:var(--surface-2);color:var(--fg)}.nav-item[aria-current=page],.nav-item.on{background:var(--surface-3);color:var(--fg);font-weight:500}.nav-sub{padding-bottom:var(--sp-1);flex-direction:column;display:flex}.nav-sub .nav-item{height:28px;color:var(--fg-2);animation:nav-sub-in var(--dur-3) var(--ease-out) both;animation-delay:calc(var(--i) * 20ms);padding-left:44px}@keyframes nav-sub-in{0%{opacity:0;transform:translateY(-4px)}}.nav-sub .nav-item[aria-current=page]{color:var(--fg);background:0 0;font-weight:500}.nav-sub .nav-item[aria-current=page]:hover{background:var(--surface-2)}.shell[data-nav=collapsed] .nav-group-label,.shell[data-nav=collapsed] .nav-label,.shell[data-nav=collapsed] .nav-sub,.shell[data-nav=collapsed] .nav-brand span:not(.nav-mark){display:none}.shell[data-nav=collapsed] .nav-item{justify-content:center;padding:0}.nav-foot{padding-top:var(--sp-3);border-top:1px solid var(--line);flex:none}.nav-user{align-items:center;gap:var(--sp-2);width:100%;height:32px;padding:0 var(--sp-2);border-radius:var(--r-s);color:var(--fg);cursor:pointer;background:0 0;border:none;font-size:14px;display:flex}.nav-user:hover{background:var(--surface-2)}.avatar{background:var(--fg);width:24px;height:24px;color:var(--bg);text-transform:uppercase;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:500;display:flex}.body{flex-direction:column;display:flex;overflow:hidden}.topbar{background:var(--surface);height:var(--bar-h);align-items:center;gap:var(--sp-2);padding:0 var(--sp-6);border-bottom:1px solid var(--line);flex:none;display:flex}.crumb{align-items:center;gap:var(--sp-2);color:var(--fg-2);font-size:14px;display:flex}.crumb b{color:var(--fg);font-weight:500}.crumb .sep{color:var(--fg-3)}.searchbtn{height:32px;padding:0 var(--sp-2) 0 var(--sp-2);gap:var(--sp-2);color:var(--fg-2);justify-content:flex-start;min-width:200px;font-weight:400}.searchbtn .kbd{margin-left:auto}.iconbtn{background:0 0;border-color:#0000;justify-content:center;width:32px;padding:0}.iconbtn:hover{background:var(--surface-2)}.iconbtn[data-dot]:after{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:6px;right:6px}.iconbtn{position:relative}.main{padding:var(--sp-8) var(--sp-8) var(--sp-16);flex:1;overflow-y:auto}.main[data-w=prose]>*{max-width:var(--w-prose)}.main[data-w=list]>*{max-width:var(--w-list)}.main[data-w=full]{padding:0;overflow:hidden}.page-head{align-items:flex-end;gap:var(--sp-4);margin-bottom:var(--sp-10);display:flex}.page-head .actions{gap:var(--sp-2);margin-left:auto;display:flex}.menu{min-width:200px;padding:var(--sp-1);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);box-shadow:var(--shadow-float);z-index:60;animation:menu-in var(--dur-3) var(--ease-out) both;position:fixed}@keyframes menu-in{0%{opacity:0;transform:translateY(4px)scale(.98)}}.menu-item{align-items:center;gap:var(--sp-2);width:100%;height:32px;padding:0 var(--sp-2);border-radius:var(--r-s);color:var(--fg);cursor:pointer;text-align:left;background:0 0;border:none;font-size:14px;font-weight:400;display:flex}.menu-item:hover,.menu-item[data-open=true]{background:var(--surface-2)}.menu-item .ico:last-child{color:var(--fg-3);margin-left:auto}.menu-item .check{color:var(--fg-2);margin-left:auto}.menu-sep{background:var(--line);height:1px;margin:var(--sp-1) 0}.menu-label{padding:var(--sp-2) var(--sp-2) var(--sp-1);color:var(--fg-3);font-size:12px}.tbl-wrap{position:relative;overflow:auto}table.tbl,table.data{border-collapse:separate;border-spacing:0;width:100%;font-size:14px;line-height:20px}table.tbl{table-layout:fixed}.tbl-wrap>table.tbl{min-width:min-content}table.data{table-layout:auto}table.tbl th,table.tbl td,table.data th,table.data td{padding:var(--sp-3) var(--col-gutter) var(--sp-3) 0;text-align:left;vertical-align:middle;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}table.tbl th:first-child,table.tbl td:first-child,table.data th:first-child,table.data td:first-child{padding-left:0}table.tbl th:last-child,table.tbl td:last-child,table.data th:last-child,table.data td:last-child{padding-right:0}table.data{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);box-shadow:var(--shadow-panel), var(--panel-inner)}table.data th:first-child,table.data td:first-child{padding-left:var(--sp-5)}table.data th:last-child,table.data td:last-child{padding-right:var(--sp-5)}table.data thead tr:first-child th:first-child{border-top-left-radius:calc(var(--r-panel) - 1px)}table.data thead tr:first-child th:last-child{border-top-right-radius:calc(var(--r-panel) - 1px)}table.data tbody tr:last-child td:first-child{border-bottom-left-radius:calc(var(--r-panel) - 1px)}table.data tbody tr:last-child td:last-child{border-bottom-right-radius:calc(var(--r-panel) - 1px)}table.data th,table.data td{max-width:46ch}table.data td.wrap{white-space:normal;max-width:none;height:auto}.badges{gap:var(--sp-1);padding:var(--sp-2) 0;flex-wrap:wrap;display:flex}.panel table.data,.card table.data{box-shadow:none;background:0 0;border:0;border-radius:0}.panel table.data th:first-child,.panel table.data td:first-child,.card table.data th:first-child,.card table.data td:first-child{padding-left:0}.panel table.data th:last-child,.panel table.data td:last-child,.card table.data th:last-child,.card table.data td:last-child{padding-right:0}table.tbl th,table.data th{height:var(--head-h);letter-spacing:.04em;color:var(--fg-2);z-index:2;background:var(--surface-2);box-shadow:inset 0 -1px 0 var(--line);-webkit-user-select:none;user-select:none;padding-top:0;padding-bottom:0;font-size:13px;font-weight:500;position:sticky;top:0}table.tbl td,table.data td{height:var(--row-h);color:var(--fg);box-shadow:inset 0 -1px 0 var(--line)}table.tbl tbody tr:last-child td,table.data tbody tr:last-child td{box-shadow:none}table.tbl tbody tr,table.data tbody tr{transition:background var(--dur-1) ease}table.tbl tbody tr:hover,table.tbl tbody tr:focus-within,table.data tbody tr:hover,table.data tbody tr:focus-within{background:var(--surface-2)}table.tbl [data-align=right],table.data [data-align=right]{text-align:right;font-variant-numeric:tabular-nums}table.tbl td.empty{color:var(--fg-2)}table.tbl td.mono{font-family:var(--mono);color:var(--fg-2);font-size:13px}table.tbl td.name{font-weight:500}.th-in{align-items:center;gap:var(--sp-1);max-width:100%;display:inline-flex}.th-in .sort{opacity:0;width:16px;transition:opacity var(--dur-1) ease;flex:none;font-size:12px}th:hover .sort,th:focus-visible .sort{opacity:.4}th[aria-sort]{color:var(--fg);font-weight:500}th[aria-sort] .sort{opacity:1}.tbl .acts{text-align:right;width:96px}.tbl .acts>*{opacity:0;transition:opacity var(--dur-2) ease}tr:hover .acts>*,tr:focus-within .acts>*{opacity:1}@media (hover:none){.tbl .acts>*{opacity:1}}.tbl tr.spacer td{height:0;box-shadow:none;padding:0}.tbl-empty{min-height:180px;padding:var(--sp-10) var(--sp-5);justify-content:center;align-items:center;gap:var(--sp-3);color:var(--fg-2);text-align:center;flex-direction:column;display:flex}.tbl-empty .ico{background:var(--surface-2);width:40px;height:40px;color:var(--fg-3);border-radius:50%;place-items:center;display:grid}.tbl-empty .t{color:var(--fg);font-size:14px;font-weight:500}.tbl-empty .d{max-width:44ch;font-size:13px}.card-empty{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);box-shadow:var(--shadow-panel), var(--panel-inner)}.panel .card-empty,.card .card-empty{box-shadow:none;background:0 0;border:0;border-radius:0}table.data:has(tbody:empty){display:none}.tbl-bar{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-2);min-height:32px;display:flex}.rowlist{flex-direction:column;display:flex}.listrow{align-items:center;gap:var(--sp-3);height:var(--row-h);padding:0 var(--sp-2) 0 0;box-shadow:inset 0 -1px 0 var(--line);transition:background var(--dur-1) ease;display:flex}.listrow:first-child{box-shadow:inset 0 -1px 0 var(--line), inset 0 1px 0 var(--line)}.listrow:hover{background:var(--surface-2)}.listrow .go{opacity:0;color:var(--fg-3);transition:opacity var(--dur-2) ease, transform var(--dur-2) var(--ease-out)}.listrow:hover .go,.listrow:focus-visible .go{opacity:1;transform:translate(2px)}@media (hover:none){.listrow .go{opacity:1}}.kpis{margin-bottom:var(--sp-14);grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.kpi{padding:0 var(--sp-6);border-left:1px solid var(--line)}.kpi:first-child{border-left:none;padding-left:0}.kpi-label{color:var(--fg-2);font-size:14px;line-height:20px}.kpi-value{align-items:baseline;gap:var(--sp-1);margin-top:var(--sp-2);display:flex}.kpi-unit{color:var(--fg-2);font-size:16px;font-weight:400}.kpi-foot{align-items:center;gap:var(--sp-2);height:24px;margin-top:var(--sp-2);color:var(--fg-2);font-size:14px;display:flex}.kpi-foot .spark{margin-left:auto}.delta{color:var(--fg);font-variant-numeric:tabular-nums;font-weight:500}.delta.over{color:var(--err)}.chart{position:relative}.chart .tick{fill:var(--fg-2);font-variant-numeric:tabular-nums;font-size:12px}.bars{flex-direction:column;display:flex}.bar-row{align-items:center;gap:var(--sp-3);grid-template-columns:120px 1fr 56px;height:32px;display:grid}.bar-row .num{text-align:right}.bar-track{background:var(--surface-3);border-radius:var(--r-s);height:8px;overflow:hidden}.bar-fill{background:var(--fg-2);border-radius:var(--r-s);transform-origin:0;height:100%;animation:bar-in var(--dur-6) var(--ease-out) both;display:block}@keyframes bar-in{0%{transform:scaleX(0)}}.multiples{gap:var(--sp-6) var(--sp-12);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.multiple-label{align-items:baseline;gap:var(--sp-2);margin-bottom:var(--sp-2);display:flex}.feed{flex-direction:column;display:flex}.feed-row{align-items:center;gap:var(--sp-3);height:var(--row-h);box-shadow:inset 0 -1px 0 var(--line);display:flex}.feed-row .when{color:var(--fg-2);font-variant-numeric:tabular-nums;margin-left:auto;font-size:14px}.feed-row .who{color:var(--fg-2);font-size:14px}.multiples>div{min-width:0}.fields{grid-template-columns:200px 1fr;display:grid}.field{display:contents}.field dt{padding:var(--sp-3) var(--sp-6) var(--sp-3) 0;color:var(--fg-2);box-shadow:inset 0 -1px 0 var(--line);font-size:14px}.field dd{padding:var(--sp-3) 0;box-shadow:inset 0 -1px 0 var(--line);font-variant-numeric:tabular-nums;font-size:14px}.pm-flow{align-items:center;gap:var(--sp-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.pm-flow li{align-items:center;gap:var(--sp-2);display:flex}.pm-flow li+li:before{content:"→";color:var(--fg-3);font-size:14px}.pm-step{height:32px;padding:0 var(--sp-4);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-pill);align-items:center;font-size:14px;font-weight:500;display:inline-flex}.pm-variant+.pm-variant{border-top:1px solid var(--line)}.pm-variant-head{align-items:center;gap:var(--sp-3);width:100%;height:var(--row-h);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:0;padding:0;display:flex}.pm-variant-head:hover{background:var(--surface-2)}.pm-variant-head .seq{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;overflow:hidden}.pm-variant-head .rot{transform:rotate(90deg)}.pm-cases{gap:var(--sp-1);padding:0 0 var(--sp-3);flex-wrap:wrap;display:flex}.pm-edge{align-items:center;gap:var(--sp-3);height:var(--row-h);box-shadow:inset 0 -1px 0 var(--line);display:flex}.pm-edge:last-child{box-shadow:none}.pm-edge .ends{align-items:center;gap:var(--sp-1);white-space:nowrap;flex:1;min-width:0;font-size:14px;display:flex;overflow:hidden}.pm-variant-head .bar,.pm-edge .bar{background:var(--surface-3);border-radius:3px;flex:none;width:120px;height:6px;overflow:hidden}.pm-variant-head .bar i,.pm-edge .bar i{background:var(--fg-2);border-radius:3px;height:100%;display:block}.pm-variant-head .num,.pm-edge .num{text-align:right;min-width:56px;color:var(--fg-2);font-variant-numeric:tabular-nums;flex:none;font-size:13px}.pm-edge .dur{min-width:72px}.pm-edge .dur.slow{color:var(--warn);font-weight:500}.dash-grid{gap:var(--sp-4);grid-template-columns:repeat(4,1fr);display:grid}@media (max-width:1279px){.dash-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:767px){.dash-grid{grid-template-columns:1fr}}.dash-grid>*{min-width:0}.dash-panel{height:100%}.dash-kpi{align-items:baseline;gap:var(--sp-2);display:flex}.dash-kpi .v{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:32px;font-weight:600}.dash-kpi .u{color:var(--fg-2);font-size:14px}.canvas-head{align-items:flex-end;gap:var(--sp-4);margin-bottom:var(--sp-4);display:flex}.canvas-head .f{gap:var(--sp-1);flex-direction:column;min-width:200px;display:flex}.canvas-head .f>span{color:var(--fg-2);font-size:13px}.canvas-head .spacer{flex:1}.canvas-row{align-items:center;gap:var(--sp-3);height:var(--row-h);box-shadow:inset 0 -1px 0 var(--line);display:flex}.canvas-row:last-child{box-shadow:none}.canvas-row .spacer{flex:1}.canvas-row .acts{gap:var(--sp-1);opacity:0;transition:opacity var(--dur-2) ease;display:flex}.canvas-row:hover .acts,.canvas-row:focus-within .acts{opacity:1}@media (hover:none){.canvas-row .acts{opacity:1}}.rot180{transform:rotate(180deg)}.graph-page{flex-direction:column;height:100%;display:flex}.graph-bar{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-6);background:var(--surface);border-bottom:1px solid var(--line);flex:none;display:flex}.graph{cursor:grab;touch-action:none;flex:1;width:100%;height:100%;display:block}.graph:active{cursor:grabbing}.canvas{flex:1;min-height:0;position:relative;overflow:hidden}.gnode{animation:gnode-in var(--dur-4) var(--ease-out) both;animation-delay:calc(min(var(--i) * 16ms, .4s));cursor:pointer;transition:opacity var(--dur-2) var(--ease-out)}@keyframes gnode-in{0%{opacity:0;transform:scale(.94)}}.gedge{animation:gedge-in var(--dur-6) var(--ease-out) both;transition:opacity var(--dur-2) var(--ease-out)}@keyframes gedge-in{0%{opacity:0}}.gnode-box{fill:var(--surface);stroke:var(--line);stroke-width:1px;transition:stroke var(--dur-2) var(--ease-out)}.gnode.on .gnode-box{stroke:var(--accent);stroke-width:1.5px}.gnode-in{align-items:center;gap:var(--sp-3);height:100%;padding:0 var(--sp-4);box-sizing:border-box;display:flex}.gnode-ico{border-radius:var(--r-m);background:var(--surface-3);width:36px;height:36px;color:var(--fg-2);flex:none;place-items:center;display:grid}.gnode.on .gnode-ico{background:var(--accent-wash);color:var(--accent)}.gnode-txt{flex-direction:column;gap:2px;min-width:0;display:flex}.gnode-txt b{color:var(--fg);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.gnode-txt em{color:var(--fg-2);font-variant-numeric:tabular-nums;font-size:12px;font-style:normal}.gnode-label{fill:var(--fg);font-variant-numeric:tabular-nums;paint-order:stroke;stroke:var(--bg);stroke-width:3px;stroke-linejoin:round;font-size:12px}.gedge-line{fill:none;stroke:var(--line-2);stroke-width:1.5px;transition:stroke var(--dur-2) var(--ease-out)}.gedge.on .gedge-line{stroke:var(--accent)}.gedge-label{fill:var(--fg-3);paint-order:stroke;stroke:var(--bg);stroke-width:4px;stroke-linejoin:round;transition:fill var(--dur-2) var(--ease-out);font-size:11px}.gedge.on .gedge-label{fill:var(--accent)}.pathq{align-items:flex-end;gap:var(--sp-3);flex-wrap:wrap;display:flex}.pathq .f{gap:var(--sp-2);flex-direction:column;display:flex}.pathq .f>span{color:var(--fg-2);font-size:12px}.pathq .f>input{width:260px}.pathq .arrow{color:var(--fg-3);margin-bottom:10px}.pathq .chipbtn{border-color:var(--line)}.pathrow{align-items:center;gap:var(--sp-4);display:flex}.pathrow .pathno{border-radius:var(--r-pill);background:var(--surface-3);width:24px;height:24px;color:var(--fg-2);font-variant-numeric:tabular-nums;flex:none;place-items:center;font-size:12px;display:grid}.pathrow .chain{align-items:center;gap:var(--sp-1);flex-wrap:wrap;flex:1;min-width:0;display:flex}.pathrow .hop{align-items:center;gap:var(--sp-1);display:inline-flex}.pathrow .hop .sep{color:var(--fg-3)}.pathrow .node{padding:4px var(--sp-2);border-radius:var(--r-s);background:var(--surface);align-items:baseline;gap:6px;display:inline-flex}.pathrow .node em{color:var(--fg-3);font-size:12px;font-style:normal}.pathrow .node b{color:var(--fg);font-variant-numeric:tabular-nums;font-size:14px;font-weight:500}.graph-hint{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);margin:var(--sp-3);color:var(--fg-2);font-size:14px;display:flex}@media (prefers-reduced-motion:reduce){.gnode,.gedge{animation-delay:0s!important}}.map-wrap{flex:1;min-height:0;position:relative;overflow:hidden}.mapc{width:100%;height:100%;position:relative;overflow:hidden}.mapc .graph{background:var(--surface)}.land{fill:var(--surface-2);stroke:var(--line-2);stroke-width:.5px}.site rect{fill:none;stroke:var(--fg-3);stroke-width:1.5px}.site text{fill:var(--fg-2);paint-order:stroke;stroke:var(--surface);stroke-width:3px;stroke-linejoin:round;font-size:11px}.asset{cursor:pointer}.asset .dot{fill:var(--fg-2);transition:r var(--dur-2) var(--ease-out)}.asset .dot.ok{fill:var(--ok)}.asset .dot.warn{fill:var(--warn)}.asset .dot.err{fill:var(--err)}.asset .halo{fill:none;stroke:currentColor;stroke-width:1.5px;opacity:.5;animation:halo-pulse 1.8s var(--ease-out) infinite}.asset .halo.ok{stroke:var(--ok)}.asset .halo.warn{stroke:var(--warn)}.asset .halo.err{stroke:var(--err)}@keyframes halo-pulse{0%{opacity:.55;transform-box:fill-box;transform-origin:50%;transform:scale(.72)}to{opacity:0;transform-box:fill-box;transform-origin:50%;transform:scale(1.25)}}.route{fill:none;stroke:var(--fg-3);stroke-width:1px;opacity:.35}.route.on{stroke:var(--accent);stroke-width:2px;opacity:1;stroke-dasharray:4 4}.compass{top:var(--sp-4);right:var(--sp-4);pointer-events:none;position:absolute}.compass .c-face{fill:var(--surface);stroke:var(--line)}.compass .c-tick{stroke:var(--fg-3);stroke-width:1px;opacity:.5}.compass .c-tick.major{stroke:var(--fg-2);opacity:1}.compass .c-needle{fill:var(--accent)}.compass .c-n{fill:var(--fg-2);font-size:9px;font-weight:600}.canvas-ctl{right:var(--sp-4);bottom:var(--sp-4);gap:var(--sp-1);flex-direction:column;display:flex;position:absolute}.canvas-ctl button{border-radius:var(--r-s);background:var(--surface);border:1px solid var(--line);width:32px;height:32px;box-shadow:var(--panel-inner);justify-content:center;padding:0}.map-card{right:var(--sp-4);gap:var(--sp-3);width:340px;padding:var(--sp-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);box-shadow:var(--shadow-float);animation:map-card-in var(--dur-3) var(--ease-out) both;flex-direction:column;display:flex;position:absolute;bottom:88px}@keyframes map-card-in{0%{opacity:0;transform:translateY(8px)}}.map-route{color:var(--fg)}.objpick{gap:var(--sp-1);flex-direction:column;min-width:240px;display:flex}.objpick .lbl{color:var(--fg-2);font-size:13px}.objpick .picked{align-items:center;gap:var(--sp-2);height:32px;padding:0 var(--sp-1) 0 var(--sp-3);border:1px solid var(--line);border-radius:var(--r-s);background:var(--surface);display:inline-flex}.objpick .picked em{color:var(--fg-2);font-size:13px;font-style:normal}.objpick .picked b{font-size:14px;font-weight:500}.objpick-field{align-items:center;gap:var(--sp-2);height:32px;padding:0 var(--sp-3);border:1px solid var(--line);border-radius:var(--r-s);background:var(--surface);color:var(--fg-3);display:flex;position:relative}.objpick-field input{background:0 0;border:0;height:30px;padding:0}.objpick-field input:focus{border:0}.objpick-menu{z-index:20;max-height:280px;padding:var(--sp-1);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);box-shadow:var(--shadow-float);position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.objpick-menu .pad{padding:var(--sp-3);font-size:13px}.objpick-item{align-items:center;gap:var(--sp-2);width:100%;height:32px;padding:0 var(--sp-2);border-radius:var(--r-s);text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.objpick-item:hover{background:var(--surface-2)}.objpick-item em{color:var(--fg-3);min-width:64px;font-size:12px;font-style:normal}.objpick-item span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;overflow:hidden}.objpick-item b{font-family:var(--mono);color:var(--fg-2);font-size:12px;font-weight:400}.auth{grid-template-columns:1fr;min-height:100dvh;display:grid}@media (min-width:960px){.auth{grid-template-columns:1fr 1fr}}.auth-brand{isolation:isolate;padding:var(--sp-12);background:var(--fg);color:var(--surface);flex-direction:column;justify-content:space-between;display:none;position:relative;overflow:hidden}@media (min-width:960px){.auth-brand{display:flex}}[data-theme=dark] .auth-brand{background:var(--surface-2);color:var(--fg)}.auth-brand-mark{align-items:center;gap:var(--sp-3);display:flex}.auth-brand-mark .nav-mark{width:32px;height:32px}.auth-brand-mark span{letter-spacing:-.01em;font-size:18px;font-weight:600}.auth-tagline{letter-spacing:-.02em;max-width:14ch;font-size:clamp(28px,3.2vw,44px);font-weight:500;line-height:1.12}.auth-stats{gap:var(--sp-12);display:flex}.auth-stat strong{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:300;display:block}.auth-stat span{opacity:.64;font-size:13px}.auth-brand:after{content:"";z-index:-1;opacity:.16;background-image:radial-gradient(currentColor 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0}.auth-main{padding:var(--sp-10) var(--sp-6);background:var(--surface);flex-direction:column;justify-content:center;display:flex}.auth-form{width:100%;max-width:360px;margin:0 auto}.auth-form h1{letter-spacing:-.01em;margin-top:var(--sp-6);font-size:24px;font-weight:600}.auth-form .sub{color:var(--fg-2);margin-top:var(--sp-2);font-size:14px}.auth-fields{gap:var(--sp-3);margin-top:var(--sp-6);flex-direction:column;display:flex}.auth-fields button{justify-content:center}.auth-sep{align-items:center;gap:var(--sp-3);margin:var(--sp-8) 0 var(--sp-4);color:var(--fg-2);white-space:nowrap;font-size:13px;display:flex}.auth-sep:before,.auth-sep:after{content:"";background:var(--line);flex:1;height:1px}.auth-personas{border:1px solid var(--line);border-radius:var(--r-l);flex-direction:column;display:flex;overflow:hidden}.auth-persona{align-items:center;gap:var(--sp-3);height:44px;padding:0 var(--sp-4);background:var(--surface);box-shadow:inset 0 -1px 0 var(--line);text-align:left;cursor:pointer;transition:background var(--dur-1) ease;border:0;border-radius:0;display:flex}.auth-personas .auth-persona:last-child{box-shadow:none}.auth-persona:hover{background:var(--surface-2)}.auth-persona .role{font-size:14px;font-weight:500}.auth-persona .scope{color:var(--fg-2);font-size:12px;font-family:var(--mono);margin-left:auto}.auth-note{color:var(--fg-2);margin-top:var(--sp-3);font-size:12px}.auth-orgs{gap:var(--sp-2);margin-top:var(--sp-4);flex-direction:column;display:flex}.auth-orgs button{justify-content:space-between;height:40px}.card{padding:var(--sp-5);margin-bottom:var(--sp-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);box-shadow:var(--shadow-panel), var(--panel-inner)}.card+.card{margin-top:var(--sp-6)}.section-label{color:var(--fg-2);letter-spacing:.02em;margin:var(--sp-14) 0 var(--sp-3);font-size:14px;font-weight:500;display:block}table.data+.muted{padding:var(--sp-10) 0}.palette-overlay{z-index:50;background:#0000002e;justify-content:center;align-items:flex-start;padding-top:15vh;display:flex;position:fixed;inset:0}.palette{background:var(--surface);border-radius:var(--r-l);border:1px solid var(--line);width:560px;padding:var(--sp-2);box-shadow:0 12px 48px #0000001f}.palette input{border:none;height:40px;font-size:16px}.palette input:focus{border:none}.drawer{background:var(--surface);border-left:1px solid var(--line);width:480px;max-width:44vw;padding:var(--sp-6);z-index:40;animation:drawer-in var(--dur-6) var(--ease-drawer) both;position:fixed;top:0;bottom:0;right:0;overflow-y:auto}@keyframes drawer-in{0%{transform:translate(100%)}}.cell-pre{white-space:pre-wrap;max-width:320px;font-size:12px;font-family:var(--mono);color:var(--fg-2);margin:0}.row-actions{white-space:nowrap;gap:var(--sp-2);display:flex}
