:root{--bg:#f6f8f7;--panel:#fbfcfc;--panel-2:#f0f3f2;--panel-3:#e4e9e7;--line:#2e3a3e16;--line-2:#2e3a3e33;--text:#101418;--t2:#596368;--t3:#646d71;--ink:#236de9;--ink-fg:#fff;--nav-bg:#fafbfaeb;--nav-text:var(--t2);--nav-t3:var(--t3);--nav-hover:rgba(var(--shade), .045);--nav-active:linear-gradient(145deg, #ffffffed, #f6fbf99e);--acc:#1d61d5;--acc-soft:#236de91a;--ok:#3b7412;--ok-soft:#82dd2d29;--bad:#c23028;--bad-soft:#ff5a501c;--warn:#7a5a16;--warn-soft:#f6e7c4;--c1:#123e8c;--c2:#1d61d5;--c3:#236de9;--c4:#5b93ef;--c5:#92b7f5;--c6:#c3d6fa;--c7:#a9b1b4;--font:"SF Pro Text", "PingFang SC", -apple-system, BlinkMacSystemFont, "Noto Sans SC", "Microsoft YaHei", sans-serif;--mono:"SF Mono", Consolas, Menlo, "PingFang SC", "Microsoft YaHei", monospace;--fs-num:28px;--lh-num:36px;--fs-title:20px;--lh-title:28px;--fs-h:16px;--lh-h:24px;--fs-body:14px;--lh-body:22px;--fs-xs:12px;--lh-xs:18px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--r-panel:16px;--r-ctl:12px;--r-xs:8px;--r-pill:999px;--nav-w:232px;--nav-w-mini:64px;--top-h:64px;--content-pad:24px;--row-h:44px;--ctl-h:36px;--shadow-pop:var(--e3), inset 0 0 0 1px #78848721;--dur:.18s;--ease:cubic-bezier(.16, 1, .3, 1);--line-strong:#2e3a3e1c;--ok-dot:#82dd2d;--bad-dot:#ff5a50;--warn-dot:#d9a93a;--shade:46, 58, 62;--e1:0 1px 2px rgba(var(--shade), .05), 0 5px 14px rgba(var(--shade), .04);--e2:0 1px 3px rgba(var(--shade), .06), 0 12px 30px rgba(var(--shade), .055);--e3:0 2px 6px rgba(var(--shade), .07), 0 22px 50px rgba(var(--shade), .08);--edge:inset 0 1px 0 #ffffffeb;--glass-line:#ffffffe0;--ambient-blue:#236de90e;--ambient-lime:#82dd2d12;--surface:linear-gradient(145deg, #fffffff7, #f9fcfbed);--top-bg:#fafbfad1;--button-surface:linear-gradient(145deg, #fffffff2, #f6fbf9b3);--control-hover-line:#2e3a3e47;--accent-shadow:#236de940;--focus-soft:#236de929;--focus:#236de9cc;--input-bg:#ffffffc7;--glass-line-soft:#ffffffb3;--groove-bg:#e1e7e599;--glass-hover:#ffffff80;--segment-active:linear-gradient(145deg, #fff, #f6fbf9e6);--row-hover:#236de90b;--overlay:#10141838;--float-bg:#f6f8f7e6;--toast-bg:#15181aeb;--toast-action:#a9c6f8;--nav-mobile-bg:#fafbfaf7;--primary-pressed:#1955bc;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;margin:0}html,body{height:100%}body{font:var(--fs-body)/var(--lh-body) var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}svg.i{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.up{color:var(--ok)}.down{color:var(--bad)}.muted{color:var(--t3)}.sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--acc);outline-offset:2px}.shell{grid-template-columns:var(--nav-w) 1fr;min-height:100%;display:grid}.nav{background:var(--nav-bg);color:var(--nav-text);flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.nav-brand{height:var(--top-h);align-items:center;gap:var(--s-3);padding:0 var(--s-5);font-size:var(--fs-h);color:#fff;font-weight:600;display:flex}.nav-brand .logo{flex:none;width:32px;height:32px}.logo-lg{width:40px;height:40px}.nav-scroll{padding:var(--s-2) var(--s-3) var(--s-4);flex:1;overflow-y:auto}.nav-group{font-size:var(--fs-xs);line-height:var(--lh-xs);color:var(--nav-t3);padding:var(--s-4) var(--s-3) var(--s-2)}.nav a{align-items:center;gap:var(--s-3);height:40px;padding:0 var(--s-3);border-radius:var(--r-ctl);color:var(--nav-text);transition:background var(--dur) var(--ease);text-decoration:none;display:flex}.nav a[aria-current=page]{background:var(--nav-active);color:#fff;font-weight:600}.nav a .badge{margin-left:auto}.nav-user{align-items:center;gap:var(--s-3);padding:var(--s-4) var(--s-5);border-top:1px solid #ffffff14;display:flex}.avatar{background:var(--nav-hover);color:#fff;width:32px;height:32px;font-size:var(--fs-xs);border-radius:50%;flex:none;place-items:center;font-weight:600;display:grid}.nav-user .who{line-height:var(--lh-xs);font-size:var(--fs-xs);color:var(--nav-t3)}.nav-user .who b{font-size:var(--fs-body);line-height:var(--lh-body);color:#fff;font-weight:600;display:block}.nav-user .logout{color:var(--nav-t3);border-radius:var(--r-ctl);cursor:pointer;background:0 0;border:0;place-items:center;width:40px;height:40px;margin-left:auto;display:grid}.main{flex-direction:column;min-width:0;display:flex}.top{height:var(--top-h);align-items:center;gap:var(--s-3);padding:0 var(--content-pad);background:var(--panel);z-index:5;box-shadow:0 1px 0 var(--line);display:flex;position:sticky;top:0}.top h1{font-size:var(--fs-title);line-height:var(--lh-title);white-space:nowrap;margin-right:auto;font-weight:600}.top .menu-btn{display:none}.content{padding:var(--content-pad);gap:var(--s-4);flex-direction:column;display:flex}.btn{height:var(--ctl-h);padding:0 var(--s-4);justify-content:center;align-items:center;gap:var(--s-2);border-radius:var(--r-ctl);border:1px solid var(--line-2);background:var(--panel);cursor:pointer;white-space:nowrap;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease);text-decoration:none;display:inline-flex}.btn:hover{background:var(--panel-2)}.btn.primary{background:var(--ink);border-color:var(--ink);color:var(--ink-fg)}.btn.ghost{background:0 0;border-color:#0000}.btn.sm{height:32px;padding:0 var(--s-3)}.btn.icon{width:var(--ctl-h);padding:0}.btn.sm.icon{width:32px}.btn[disabled],.btn[aria-busy=true]{opacity:.5;cursor:not-allowed}.seg{border:1px solid var(--line-2);border-radius:var(--r-ctl);height:var(--ctl-h);display:inline-flex;overflow:hidden}.seg button{background:var(--panel);padding:0 var(--s-4);cursor:pointer;border:0}.seg button[aria-pressed=true]{background:var(--acc-soft);color:var(--acc);font-weight:600}.page-tabs{align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.page-tabs .seg{flex:none;max-width:100%;overflow-x:auto}.page-tabs .seg button{white-space:nowrap;flex:none}.date{height:var(--ctl-h);align-items:center;gap:var(--s-2);padding:0 var(--s-3);border:1px solid var(--line-2);border-radius:var(--r-ctl);background:var(--panel);cursor:pointer;white-space:nowrap;display:inline-flex}.field{gap:var(--s-1);flex-direction:column;display:flex}.field>span{font-size:var(--fs-xs);line-height:var(--lh-xs);color:var(--t2)}.field small{font-size:var(--fs-xs);line-height:var(--lh-xs);color:var(--t3)}.field small.err{color:var(--bad)}.input,select.input{height:var(--ctl-h);padding:0 var(--s-3);border:1px solid var(--line-2);border-radius:var(--r-ctl);background:var(--panel);width:100%;min-width:0}.input:hover{border-color:#aeb5c2}.input:focus{border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-soft);outline:none}.input.err{border-color:var(--bad)}.input[readonly]{background:var(--panel-2)}.search{position:relative}.search svg{color:var(--t3);position:absolute;top:9px;left:10px}.search .input{width:240px;padding-left:34px}.check{align-items:center;gap:var(--s-2);cursor:pointer;white-space:nowrap;display:inline-flex}.check input{width:16px;height:16px;accent-color:var(--acc)}.tag{align-items:center;gap:var(--s-1);height:22px;padding:0 var(--s-2);border-radius:var(--r-xs);font-size:var(--fs-xs);line-height:var(--lh-xs);white-space:nowrap;background:var(--panel-2);color:var(--t2);display:inline-flex}.tag.acc{background:var(--acc-soft);color:var(--acc)}.tag.ok{background:var(--ok-soft);color:var(--ok)}.tag.bad{background:var(--bad-soft);color:var(--bad)}.tag.warn{background:var(--warn-soft);color:var(--warn)}.badge{border-radius:var(--r-pill);background:var(--bad);color:#fff;min-width:20px;height:20px;font-size:var(--fs-xs);text-align:center;line-height:20px;font-family:var(--mono);padding:0 6px}.panel{background:var(--panel);border-radius:var(--r-panel)}.panel-h{align-items:center;gap:var(--s-3);padding:var(--s-4) var(--s-5);min-height:64px;display:flex}.panel-h h2{font-size:var(--fs-h);line-height:var(--lh-h);margin-right:auto;font-weight:600}.panel-h .sub{font-size:var(--fs-xs);color:var(--t3);margin-left:var(--s-2);font-weight:400}.panel-b{padding:0 var(--s-5) var(--s-5)}.toolbar{align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.toolbar .spacer{margin-right:auto}.alerts{gap:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.alert{align-items:center;gap:var(--s-3);min-height:48px;padding:var(--s-3) var(--s-4);border-radius:var(--r-panel);background:var(--panel);text-align:left;cursor:pointer;transition:background var(--dur) var(--ease);border:0;display:flex}a.alert{color:inherit;text-decoration:none}a.alert:not([href]),div.alert{cursor:default}.alert .dot{border-radius:50%;flex:none;width:8px;height:8px}.alert.bad .dot{background:var(--bad)}.alert.warn .dot{background:var(--warn)}.alert>span:nth-child(2){flex:1;min-width:0}.alert .what{white-space:nowrap;text-overflow:ellipsis;font-weight:600;display:block;overflow:hidden}.alert .why{color:var(--t3);font-size:var(--fs-xs);line-height:var(--lh-xs);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.alert .go{color:var(--t3);margin-left:auto}.alert.bad{box-shadow:inset 3px 0 0 var(--bad)}.alert.warn{box-shadow:inset 3px 0 0 var(--warn)}.kpis{grid-template-columns:minmax(420px,5fr) 7fr;display:grid}.kpi-nums{padding:var(--s-5);grid-template-columns:repeat(3,1fr);display:grid}.kpi+.kpi{padding-left:var(--s-5);box-shadow:inset 1px 0 0 var(--line)}.kpi .lb{font-size:var(--fs-xs);line-height:var(--lh-xs);color:var(--t3)}.kpi .v{font-family:var(--mono);font-size:var(--fs-num);line-height:var(--lh-num);margin-top:var(--s-2);white-space:nowrap;font-weight:600}.kpi .cmp{font-size:var(--fs-xs);line-height:var(--lh-xs);color:var(--t3);margin-top:var(--s-2);white-space:nowrap}.kpi-mix{padding:var(--s-5);box-shadow:inset 1px 0 0 var(--line)}.mix-bar{border-radius:var(--r-xs);height:16px;margin-top:var(--s-3);gap:2px;display:flex;overflow:hidden}.mix-bar span{height:100%;display:block}.mix-legend{gap:var(--s-2);margin-top:var(--s-4);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.mix-legend div{font-size:var(--fs-xs);line-height:var(--lh-xs);color:var(--t3);min-width:0}.mix-legend i{width:8px;height:8px;margin-right:var(--s-1);vertical-align:0;border-radius:2px;display:inline-block}.mix-legend b{font-family:var(--mono);color:var(--text);font-weight:600;font-size:var(--fs-body);line-height:var(--lh-body);white-space:nowrap;display:block}.table-wrap{overflow-x:auto}table.t{border-collapse:collapse;width:100%}.t th,.t td{height:var(--row-h);padding:0 var(--s-3);text-align:left;white-space:nowrap}.t th{font-size:var(--fs-xs);line-height:var(--lh-xs);color:var(--t3);background:var(--panel-2);height:40px;font-weight:400}.t th:first-child{border-top-left-radius:var(--r-ctl);border-bottom-left-radius:var(--r-ctl)}.t th:last-child{border-top-right-radius:var(--r-ctl);border-bottom-right-radius:var(--r-ctl)}.t td{border-bottom:1px solid var(--line)}.t tr:last-child td{border-bottom:0}.t .r{text-align:right}.t .c{text-align:center}.t td.r{font-family:var(--mono);font-variant-numeric:tabular-nums}.t tbody tr.go{cursor:pointer}.t tfoot td{border-top:1px solid var(--line-2);border-bottom:0;font-weight:600}.t .chev{color:var(--t3);text-align:right;width:40px}.t .act{text-align:right;width:1%}.t .act .btn{vertical-align:middle}.t .act .btn+.btn{margin-left:var(--s-1)}.t .est{color:var(--warn)}.t .name{font-weight:600}.t .sub{font-size:var(--fs-xs);line-height:var(--lh-xs);color:var(--t3);font-weight:400;display:block}.t td.wrap{white-space:normal;min-width:220px}.t td.missing{color:var(--t3);font-family:var(--font)}.foot-note{justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-5) var(--s-4);font-size:var(--fs-xs);color:var(--t3);display:flex}.crumbs{margin-left:calc(-1 * var(--s-2));align-items:center;gap:var(--s-1);font-size:var(--fs-body);flex-wrap:wrap;display:flex}.crumbs button{color:var(--acc);cursor:pointer;padding:var(--s-1) var(--s-2);border-radius:var(--r-xs);background:0 0;border:0}.crumbs button:hover{background:var(--acc-soft)}.crumbs span[aria-current]{padding:var(--s-1) var(--s-2);font-weight:600}.crumbs .sep{color:var(--t3)}.pager,.pager-wrap{align-items:center;gap:var(--s-2);display:inline-flex}.pager-wrap{gap:var(--s-4)}.pager .num{color:var(--t2);text-align:center;min-width:48px}.switch{align-items:center;gap:var(--s-2);cursor:pointer;min-height:40px;display:inline-flex}.switch input{opacity:0;width:1px;height:1px;position:absolute}.switch .knob{border-radius:var(--r-pill);background:var(--line-2);width:36px;height:20px;transition:background var(--dur) var(--ease);flex:none;position:relative}.switch .knob:after{content:"";width:16px;height:16px;transition:transform var(--dur) var(--ease);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0f23474d}.switch input:checked+.knob{background:var(--acc)}.switch input:checked+.knob:after{transform:translate(16px)}.switch input:focus-visible+.knob{outline:2px solid var(--acc);outline-offset:2px}.switch small{font-size:var(--fs-xs)}.bar{background:var(--panel-3);border-radius:var(--r-pill);min-width:96px;height:6px;overflow:hidden}.bar>span{background:var(--acc);border-radius:var(--r-pill);height:100%;display:block}.prog{align-items:center;gap:var(--s-2);display:flex}.prog .num{font-size:var(--fs-xs);color:var(--t2);min-width:64px}.stats{grid-template-columns:repeat(4,1fr);display:grid}.stat{padding:var(--s-5)}.stat+.stat{box-shadow:inset 1px 0 0 var(--line)}.stat .lb{font-size:var(--fs-xs);line-height:var(--lh-xs);color:var(--t3)}.stat .v{font-family:var(--mono);font-size:var(--fs-title);line-height:var(--lh-title);margin-top:var(--s-2);font-weight:600}.empty{padding:var(--s-8) var(--s-5);align-items:center;gap:var(--s-3);text-align:center;flex-direction:column;display:flex}.empty h3{font-size:var(--fs-h);line-height:var(--lh-h);font-weight:600}.empty p{color:var(--t2);max-width:440px}.skel{border-radius:var(--r-xs);background:var(--panel-3);height:14px;display:block}.steps{gap:var(--s-3);text-align:left;flex-direction:column;width:100%;max-width:480px;display:flex}.steps li{gap:var(--s-3);align-items:center;list-style:none;display:flex}.scrim{z-index:20;background:#0f234752;display:none;position:fixed;inset:0}.scrim.open{padding:var(--s-5);place-items:center;display:grid}.dialog{background:var(--panel);border-radius:var(--r-panel);box-shadow:var(--shadow-pop);flex-direction:column;width:520px;max-width:100%;max-height:calc(100vh - 48px);display:flex}.dialog.wide{width:720px}.dialog-h{padding:var(--s-4) var(--s-5);align-items:center;min-height:64px;display:flex}.dialog-h h2{font-size:var(--fs-h);line-height:var(--lh-h);margin-right:auto;font-weight:600}.dialog-b{padding:0 var(--s-5) var(--s-5);gap:var(--s-4);flex-direction:column;display:flex;overflow-y:auto}.dialog-f{justify-content:flex-end;gap:var(--s-2);padding:var(--s-4) var(--s-5);box-shadow:inset 0 1px 0 var(--line);display:flex}.grid2{gap:var(--s-4);grid-template-columns:1fr 1fr;display:grid}.note{padding:var(--s-3) var(--s-4);border-radius:var(--r-ctl);background:var(--panel-2);color:var(--t2);font-size:var(--fs-xs);line-height:var(--lh-xs)}.note.bad{background:var(--bad-soft);color:var(--bad)}.note.warn{background:var(--warn-soft);color:var(--warn)}.note.ok{background:var(--ok-soft);color:var(--ok)}.note b{font-weight:600}.drawer{background:var(--panel);width:480px;max-width:100%;box-shadow:var(--shadow-pop);z-index:21;flex-direction:column;display:none;position:fixed;top:0;bottom:0;right:0}.drawer.open{display:flex}.log{flex-direction:column;padding:0;list-style:none;display:flex}.log li{padding:var(--s-3) 0;border-bottom:1px solid var(--line)}.log li:last-child{border-bottom:0}.log .meta{font-size:var(--fs-xs);color:var(--t3)}.toast{left:50%;bottom:var(--s-5);background:var(--ink);color:#fff;border-radius:var(--r-ctl);box-shadow:var(--shadow-pop);padding:0 var(--s-2) 0 var(--s-4);align-items:center;gap:var(--s-3);z-index:30;max-width:calc(100vw - 32px);min-height:44px;display:none;position:fixed;transform:translate(-50%)}.toast.open{display:flex}.toast .btn{color:#b9cbf4;background:0 0;border-color:#0000}.toast .btn:hover{background:#ffffff14}.demo{left:var(--s-3);z-index:40;background:var(--panel);box-shadow:var(--shadow-pop);border-radius:var(--r-panel);padding:var(--s-3);gap:var(--s-2);flex-direction:column;width:200px;display:flex;position:fixed;bottom:88px}.demo b{font-size:var(--fs-xs);color:var(--t3);font-weight:400}.demo select{height:32px}.login{min-height:100vh;padding:var(--s-5);background:var(--bg);grid-template-rows:1fr auto;place-items:center;display:grid}.login .icp{font-size:var(--fs-xs);line-height:var(--lh-xs);padding:var(--s-2);text-decoration:none}.login .icp:hover{text-decoration:underline}.login .card{background:var(--panel);border-radius:var(--r-panel);width:min(400px,100%);padding:var(--s-6);gap:var(--s-4);flex-direction:column;display:flex}.login h1{font-size:var(--fs-title);line-height:var(--lh-title);font-weight:600}.m-only{display:none}.m-card{align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line);display:flex}.m-card:last-child{border-bottom:0}.m-card .l{min-width:0;margin-right:auto}.m-card .l b{font-weight:600;display:block}.m-card .l span{font-size:var(--fs-xs);color:var(--t3)}.m-card .r{text-align:right;font-family:var(--mono)}.m-card .r small{font-size:var(--fs-xs);display:block}@media (width<=1279px){.c-lg{display:none}.kpis{grid-template-columns:1fr}.kpi-mix{box-shadow:inset 0 1px 0 var(--line)}}@media (width<=1099px){.c-md{display:none}.shell{grid-template-columns:var(--nav-w-mini) 1fr}.nav-brand span,.nav-group,.nav a span:not(.badge),.nav-user .who{display:none}.nav-user{gap:var(--s-1);flex-direction:column}.nav-user .logout{margin-left:0}.nav a{position:relative}.nav a .badge{min-width:16px;height:16px;margin:0;padding:0 4px;font-size:10px;line-height:16px;position:absolute;top:2px;right:2px}.nav-brand,.nav-user{justify-content:center;padding:0}.nav-user{padding:var(--s-4) 0}.nav a{justify-content:center;padding:0}.nav-scroll{padding:var(--s-2)}.mix-legend{grid-template-columns:repeat(4,minmax(0,1fr))}.stats{grid-template-columns:repeat(2,1fr)}.stat:nth-child(3){box-shadow:inset 0 1px 0 var(--line)}.stat:nth-child(4){box-shadow:inset 1px 0 0 var(--line), inset 0 1px 0 var(--line)}}@media (width<=719px){:root{--content-pad:16px;--ctl-h:44px}.shell{grid-template-columns:1fr}.nav{z-index:25;width:260px;transition:transform var(--dur) var(--ease);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.nav.open{transform:none}.nav.open .nav-brand span,.nav.open .nav-group,.nav.open a span,.nav.open a .badge,.nav.open .nav-user .who,.nav.open .nav-user .logout{display:revert}.nav.open .nav-brand{padding:0 var(--s-5);justify-content:flex-start}.nav.open a{padding:0 var(--s-3);justify-content:flex-start;height:44px}.nav.open .nav-user{padding:var(--s-4) var(--s-5);justify-content:flex-start;gap:var(--s-3);flex-direction:row}.nav.open .nav-user .logout{margin-left:auto}.nav.open a .badge{min-width:20px;height:20px;line-height:20px;font-size:var(--fs-xs);margin-left:auto;padding:0 6px;position:static}.nav{visibility:hidden;transition:transform var(--dur) var(--ease), visibility 0s linear var(--dur)}.nav.open{visibility:visible;transition:transform var(--dur) var(--ease)}.top{padding:0 var(--s-2) 0 var(--s-2);gap:var(--s-1)}.top .menu-btn{border-color:#0000;display:inline-flex}.top h1{font-size:var(--fs-h)}.top .d-only,.d-only{display:none!important}.m-only{display:block}.kpi-nums{row-gap:var(--s-4);padding:var(--s-4);grid-template-columns:1fr 1fr}.kpi:first-child{grid-column:1/-1}.kpi+.kpi{box-shadow:none;padding-left:0}.kpi:nth-child(3){padding-left:var(--s-4);box-shadow:inset 1px 0 0 var(--line)}.kpi-mix{padding:var(--s-4)}.mix-legend{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-h{padding:var(--s-3) var(--s-4);min-height:56px}.alerts{grid-template-columns:1fr}.alerts .alert:nth-child(n+3){display:none}.top .m-date{font-size:var(--fs-xs);color:var(--t3);padding-right:var(--s-2);white-space:nowrap;margin-left:auto;display:block}.login .card{padding:var(--s-5)}.stats{grid-template-columns:1fr 1fr}.stat{padding:var(--s-4)}.demo,.t.stack thead{display:none}.t.stack,.t.stack tbody,.t.stack tr{width:100%;display:block}.t.stack tr{padding:var(--s-3) 0;border-bottom:1px solid var(--line)}.t.stack tr:last-child{border-bottom:0}.t.stack td{height:auto;padding:var(--s-1) var(--s-3) var(--s-1) 0;white-space:normal;vertical-align:middle;border:0;display:inline-block}.t.stack td:first-child{display:block}.t.stack td.act{gap:var(--s-2);width:100%;padding-top:var(--s-2);text-align:left;flex-wrap:wrap;display:flex}.t.stack .act .btn+.btn{margin-left:0}}@media (hover:none){.t tbody tr.go:hover td{background:0 0}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}body{background:radial-gradient(1200px 600px at 85% -10%, var(--ambient-blue), transparent 60%), radial-gradient(900px 500px at 10% 110%, var(--ambient-lime), transparent 60%), var(--bg);background-attachment:fixed}.panel,.alert,.login .card{border:1px solid var(--line-strong);background:var(--surface);box-shadow:var(--edge), var(--e1)}.alert:hover{background:var(--panel-2)}.alert.bad,.alert.warn{box-shadow:var(--edge), var(--e1)}.alert.bad .dot{background:var(--bad-dot);box-shadow:0 0 0 4px var(--bad-soft)}.alert.warn .dot{background:var(--warn-dot);box-shadow:0 0 0 4px var(--warn-soft)}.top{background:var(--top-bg);-webkit-backdrop-filter:blur(22px)saturate(1.18);box-shadow:0 1px 0 var(--line)}.btn{background:var(--button-surface);border-color:var(--line-2);box-shadow:var(--edge)}.btn:hover{border-color:var(--control-hover-line);background:#fff}.btn:active{background:var(--panel-2)}.btn.primary{background:var(--ink);border-color:var(--ink);box-shadow:0 1px 2px var(--accent-shadow)}.btn.primary:hover{background:var(--acc)}.btn.primary:active{background:var(--primary-pressed)}.btn.ghost{box-shadow:none;background:0 0}.btn.ghost:hover{background:var(--nav-hover)}.date,.input,select.input{background:var(--input-bg)}.date:hover{background:#fff}.input:focus{box-shadow:0 0 0 3px var(--focus-soft)}:focus-visible{outline-color:var(--focus)}.seg{border:1px solid var(--glass-line-soft);background:var(--groove-bg);box-shadow:inset 0 1px 2px rgba(var(--shade), .06);border-radius:var(--r-ctl);gap:2px;padding:3px}.seg button{color:var(--t2);transition:background var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;border-radius:9px}.seg button+button{border-left:0}.seg button:hover{background:var(--glass-hover)}.seg button[aria-pressed=true]{background:var(--segment-active);color:var(--text);box-shadow:var(--e1), inset 0 0 0 1px var(--glass-line)}.tag{border-radius:var(--r-pill);background:rgba(var(--shade), .06);padding:0 10px}.tag.ok{background:var(--ok-soft)}.tag.warn{background:var(--warn-soft)}.badge{background:var(--bad)}.t th{background:rgba(var(--shade), .04)}.t tbody tr.go:hover td{background:var(--row-hover)}.t tbody tr.neg td:first-child{box-shadow:inset 3px 0 0 var(--bad-dot)}.t tfoot td{border-top-color:rgba(var(--shade), .16)}.mix-bar{border-radius:var(--r-pill)}.mix-legend i{border-radius:50%}.bar>span{background:var(--ink)}.bar.ok>span{background:var(--ok-dot)}.bar.bad>span{background:var(--bad-dot)}.note.warn{background:var(--warn-soft)}.scrim{background:var(--overlay);-webkit-backdrop-filter:blur(4px)}.dialog,.drawer{background:var(--float-bg);-webkit-backdrop-filter:blur(28px)saturate(1.08);box-shadow:var(--shadow-pop)}.dialog{border-radius:var(--r-panel)}.toast{background:var(--toast-bg);border-radius:var(--r-pill)}.toast .btn{box-shadow:none;color:var(--toast-action)}.nav{background:var(--nav-bg);-webkit-backdrop-filter:blur(22px);color:var(--t2);box-shadow:1px 0 0 var(--line)}.nav-brand{color:var(--text)}.nav-group{color:var(--t3)}.nav a{color:var(--t2);border-radius:var(--r-ctl);border:1px solid #0000}.nav a:hover{background:var(--nav-hover);color:var(--text)}.nav a[aria-current=page]{color:var(--text);background:var(--nav-active);border-color:var(--glass-line);box-shadow:var(--e2), inset 0 1px 0 #fffffffa, inset 0 -1px 0 #697a8014}.nav a[aria-current=page] svg{color:var(--ink)}.nav-user{border-top:1px solid var(--line)}.avatar{background:var(--acc-soft);color:var(--acc)}.nav-user .who{color:var(--t3)}.nav-user .who b{color:var(--text)}.nav-user .logout{color:var(--t3)}.nav-user .logout:hover{background:var(--nav-hover);color:var(--text)}@media (width<=719px){.nav{background:var(--nav-mobile-bg);box-shadow:var(--e3)}}.daily-summary{grid-template-columns:minmax(0,6fr) minmax(0,5fr);display:grid}.daily-metrics{padding:var(--s-5);gap:var(--s-5);grid-template-columns:minmax(0,1.35fr) minmax(0,1.3fr) minmax(0,1fr);display:grid}.daily-metric{min-width:0}.daily-metric+.daily-metric{border-left:1px solid var(--line);padding-left:var(--s-5)}.daily-metric .lb{font-size:var(--fs-xs);color:var(--t3);font-weight:500}.daily-metric .v{font:600 var(--fs-num)/var(--lh-num) var(--mono);margin-top:var(--s-3);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.profit-metric .v{font-size:40px;line-height:48px}.metric-note{color:var(--t3);font-size:var(--fs-xs);margin-top:var(--s-2)}.daily-detail{padding:var(--s-5);border-left:1px solid var(--line)}.daily-detail h2{align-items:center;gap:var(--s-2);font-size:var(--fs-xs);color:var(--t3);flex-wrap:wrap;font-weight:500;display:flex}.daily-detail-grid{gap:var(--s-5);margin-top:var(--s-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.daily-detail-grid dt{color:var(--t3);font-size:var(--fs-xs)}.daily-detail-grid dd{margin-top:var(--s-1);font-family:var(--mono);overflow-wrap:anywhere;font-weight:600}.daily-detail-grid .pending-value{font-family:var(--font);color:var(--t3);font-weight:400}.alert{min-width:0}.note a{color:inherit;text-decoration:underline}.btn{color:var(--text)}.btn.primary{color:var(--ink-fg)}.btn.danger{color:var(--bad)}.nav-user .who{overflow-wrap:anywhere;min-width:0}.dialog{border:1px solid var(--line-strong)}@media (width<=1399px){.daily-summary{grid-template-columns:1fr}.daily-detail{border-left:0;border-top:1px solid var(--line)}}@media (width>=720px) and (width<=999px){.panel:has(.m-cards) .table-wrap.d-only{display:none!important}.m-cards.m-only{display:block}}@media (width<=719px){.daily-metrics{padding:var(--s-4);gap:var(--s-4);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.profit-metric{grid-column:1/-1}.profit-metric .v{font-size:34px;line-height:40px}.daily-metric:nth-child(2){border-left:0;padding-left:0}.daily-metric:nth-child(3){padding-left:var(--s-4)}.daily-metric:not(.profit-metric) .v{font-size:24px;line-height:32px}.daily-detail{padding:var(--s-4)}.dialog,.drawer{background:var(--panel)}.top .date{min-width:0;padding:0 var(--s-2)}.top .date input{width:130px;min-width:0}.grid2{grid-template-columns:minmax(0,1fr)}}.scrim.open{grid-template-columns:minmax(0,1fr)}.dialog{min-width:0}.dialog-h h2{overflow-wrap:anywhere;min-width:0}.dialog-h .btn{flex-shrink:0}@media (width>=1000px) and (width<=1399px){.t th,.t td{padding-left:var(--s-2);padding-right:var(--s-2)}.t .name{white-space:normal}}@media (width>=720px) and (width<=999px){.t.stack thead{display:none}.t.stack,.t.stack tbody,.t.stack tr{width:100%;display:block}.t.stack tr{padding:var(--s-3) 0;border-bottom:1px solid var(--line)}.t.stack tr:last-child{border-bottom:0}.t.stack td{height:auto;padding:var(--s-1) var(--s-3) var(--s-1) 0;white-space:normal;vertical-align:middle;border:0;display:inline-block}.t.stack td:first-child{display:block}.t.stack td.act{gap:var(--s-2);width:100%;padding-top:var(--s-2);text-align:left;flex-wrap:wrap;display:flex}.t.stack .act .btn+.btn{margin-left:0}}.dialog .check{white-space:normal}.dialog .check input{flex-shrink:0}.m-card .l>span:not(.tag){display:block}.period-picker{justify-content:flex-end;align-items:center;gap:var(--s-2);flex-wrap:wrap;min-width:0;display:flex}.period-picker .date input{font:inherit;background:0 0;border:0}.delta{font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.cost-mix{margin:var(--s-4) 0 0;gap:var(--s-2);padding:0;list-style:none;display:grid}.cost-mix li{align-items:center;gap:var(--s-3);grid-template-columns:88px minmax(0,1fr) auto;min-width:0;display:grid}.cost-mix .lb{color:var(--t2);font-size:var(--fs-xs)}.cost-mix .bar{min-width:0}.cost-mix .amt{font-family:var(--mono);text-align:right;overflow-wrap:anywhere;font-weight:600}.cost-mix .amt .sub{margin-left:var(--s-2);color:var(--t3);font-weight:400;display:inline}.cost-mix .amt .pending-value{font-family:var(--font);color:var(--t3);font-weight:400}.cost-mix .cost-delta{font-family:var(--font);font-weight:400;font-size:var(--fs-xs);color:var(--t3);display:block}.cost-mix li.sum{border-top:1px solid var(--line);padding-top:var(--s-2)}.t tr.loss>td:first-child,.m-card.loss{box-shadow:inset 3px 0 0 var(--bad)}@media (width<=719px){.top:has(.period-picker){height:auto;padding-top:var(--s-2);padding-bottom:var(--s-2);row-gap:var(--s-2);flex-wrap:wrap}.period-picker{flex-basis:100%;justify-content:flex-start}.period-picker .seg button{padding:0 var(--s-3)}.period-picker .btn{display:none}.cost-mix li{grid-template-columns:72px minmax(0,1fr) auto}}.blk-h td{background:var(--panel-2);font-weight:600}.blk-h td .sub{margin-left:var(--s-2);display:inline}.t tr.child td:first-child{padding-left:calc(var(--s-3) + 24px)}.t tr.out td{color:var(--t3)}.t .btn.sm.link{height:auto;box-shadow:none;color:var(--acc);background:0 0;border:0;padding:0;font-weight:600}.split{gap:var(--s-4);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.split .panel{margin:0}.verdict{align-items:baseline;gap:var(--s-3);padding:var(--s-5);flex-wrap:wrap;display:flex}.verdict .v{font-family:var(--mono);font-size:40px;font-weight:600;line-height:48px}.verdict .lb{color:var(--t2)}.kv .sum{box-shadow:inset 0 1px 0 var(--line);padding-top:var(--s-2);font-weight:600}@media (width<=719px){.verdict{padding:var(--s-4)}.verdict .v{font-size:34px;line-height:40px}}.kv{gap:var(--s-2) var(--s-4);grid-template-columns:1fr auto;margin:0;display:grid}.kv dt{color:var(--t2)}.kv dd{font-family:var(--mono);text-align:right;margin:0}@media (width<=1099px){.split{grid-template-columns:minmax(0,1fr)}}@media (width<=719px){.kv{gap:var(--s-2) var(--s-3)}}.t tr.detail>td{background:var(--panel-2);white-space:normal;height:auto;padding:0}.pp-detail{gap:var(--s-4);padding:var(--s-3) var(--s-4) var(--s-4) calc(var(--s-3) + 24px);grid-template-columns:minmax(0,1fr) auto;display:grid}.pp-detail .log li{gap:var(--s-3);padding:var(--s-2) 0;grid-template-columns:112px 120px minmax(0,1fr) auto;align-items:baseline;display:grid}.pp-detail .log li .num{text-align:right;font-family:var(--mono)}.pp-detail .log li .meta{text-align:right}.pp-detail .log li.wide .num{text-align:left;font-family:var(--font);grid-column:span 2}.pp-detail .metric-note{margin-top:var(--s-2)}.pp-rec-acts{gap:var(--s-3);display:inline-flex}.pp-acts{gap:var(--s-2);flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;display:flex}.t td .sub.warn{color:var(--warn)}.t td.r .sub{font-family:var(--font)}.t .btn.sm.link.danger{color:var(--bad)}@media (width<=719px){.pp-detail{padding:var(--s-3) 0;grid-template-columns:minmax(0,1fr)}.pp-acts{justify-content:flex-start}.t.stack tr.detail td{display:block}.pp-detail .log li{grid-template-columns:auto minmax(0,1fr) auto}.pp-detail .log li .meta{text-align:left;grid-area:2/1/auto/-1}}.t .btn.sm.link.wrap-text{white-space:normal;text-align:left;justify-content:flex-start}@media (width<=379px){.top .btn:not(.icon){padding:0 var(--s-3)}}.page-tabs.wrap .seg{flex-wrap:wrap;height:auto;overflow:visible}.page-tabs.wrap .seg button{min-height:calc(var(--ctl-h) - 8px)}.costs-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.cost-fields{border:0;gap:16px;min-width:0;margin:0;padding:0;display:grid}.costs-table{table-layout:fixed}.costs-table td{overflow-wrap:anywhere;white-space:normal}.costs-table th{white-space:normal}.costs-table .act{width:132px}.costs-page .search{min-width:0;max-width:100%}.costs-page .search input{width:100%;min-width:0}@media (width<=1199px){.costs-table.stack,.costs-table.stack tbody{display:block}.costs-table.stack thead{display:none}.costs-table.stack tr{border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;display:grid}.costs-table.stack td{text-align:left;border:0;width:auto;min-width:0;padding:0;display:block}.costs-table.stack td small.m-only{display:block}.costs-table.stack .act{grid-column:1/-1;gap:8px;display:flex}}@media (width<=719px){.costs-actions .btn{padding-left:8px;padding-right:8px;font-size:12px}.costs-table.stack tr{grid-template-columns:minmax(0,1fr)}}
