@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.197tvtifbphtu.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.2e115y8-hourl.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.41rroleoq1br7.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.197tvtifbphtu.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.2e115y8-hourl.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.41rroleoq1br7.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque Fallback;src:local(Arial);ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.0%;size-adjust:105.43%}.bricolage_grotesque_c612bc1c-module__ql4Gwq__className{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.bricolage_grotesque_c612bc1c-module__ql4Gwq__variable{--f-disp-font:"Bricolage Grotesque", "Bricolage Grotesque Fallback"}
@font-face{font-family:Sora;font-style:normal;font-weight:400;font-display:swap;src:url(../media/3dbe685087e51055-s.3go3gb1_xu4rn.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6bd983bd58a87a3d-s.p.1hey5yyym6mz_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora;font-style:normal;font-weight:500;font-display:swap;src:url(../media/3dbe685087e51055-s.3go3gb1_xu4rn.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6bd983bd58a87a3d-s.p.1hey5yyym6mz_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora;font-style:normal;font-weight:600;font-display:swap;src:url(../media/3dbe685087e51055-s.3go3gb1_xu4rn.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6bd983bd58a87a3d-s.p.1hey5yyym6mz_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora;font-style:normal;font-weight:700;font-display:swap;src:url(../media/3dbe685087e51055-s.3go3gb1_xu4rn.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora;font-style:normal;font-weight:700;font-display:swap;src:url(../media/6bd983bd58a87a3d-s.p.1hey5yyym6mz_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora Fallback;src:local(Arial);ascent-override:85.29%;descent-override:25.5%;line-gap-override:0.0%;size-adjust:113.73%}.sora_6acdf0d6-module__8MRC1q__className{font-family:Sora,Sora Fallback;font-style:normal}.sora_6acdf0d6-module__8MRC1q__variable{--f-ui-font:"Sora", "Sora Fallback"}
@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/4ba802ed8e67eac5-s.0fuxtgzazslqx.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d7a0600e467cf0bd-s.451yigaaz_4mg.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/dc0d9adbac686440-s.p.3cik_s2si-ft-.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b8f2b92a9960dd69-s.0we3rzhp_h228.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/28e60ca39c9ae554-s.44izq0ia6orkf.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/8d05cfa5faa8406c-s.p.1s123piy9_v1m.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono Fallback;src:local(Arial);ascent-override:81.58%;descent-override:26.3%;line-gap-override:0.0%;size-adjust:137.28%}.space_mono_d07ed2d2-module__bMw4Aq__className{font-family:Space Mono,Space Mono Fallback;font-style:normal}.space_mono_d07ed2d2-module__bMw4Aq__variable{--f-mono-font:"Space Mono", "Space Mono Fallback"}
:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#070c16;--ink-2:#0a1120;--panel:#0e1728;--panel-2:#13203a;--line:#96accd1a;--line-2:#96accd33;--text:#e9eef8;--muted:#93a2bd;--faint:#5e6e8c;--amber:#ffb454;--amber-2:#ff863a;--teal:#4fd6bd;--blue:#6aa8ff;--danger:#ff6b76;--danger-2:#ff415f;--bright:#fff;--card-a:#13203ad9;--card-b:#0e1728e6;--input-bg:#070c1699;--code-bg:#03060cb3;--code-text:#cfe0f5;--label-text:#dfe8f5;--chip-bg:#0d1626;--bar-bg:#080d18b8;--scrim:#04070ea8;--f-disp:var(--f-disp-font), "Bricolage Grotesque", "Sora", sans-serif;--f-ui:var(--f-ui-font), "Sora", -apple-system, "PingFang SC", sans-serif;--f-mono:var(--f-mono-font), "Space Mono", ui-monospace, "SF Mono", monospace;--r:14px}@keyframes pop{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}body{font-family:var(--f-ui);color:var(--text);background:radial-gradient(1200px 800px at 15% -10%, #ff8a3a14, transparent 60%), radial-gradient(1000px 700px at 110% 10%, #4fd6bd0f, transparent 55%), var(--ink);min-height:100vh;margin:0;font-size:14px}h1,h2,h3{font-family:var(--f-disp);color:var(--bright);margin:0}a{color:var(--blue)}input,textarea,select{width:100%;font-family:var(--f-ui);color:var(--text);background:var(--input-bg);border:1px solid var(--line-2);box-sizing:border-box;border-radius:10px;padding:11px 13px;font-size:14px;transition:border-color .15s,box-shadow .15s,background .15s}input::placeholder,textarea::placeholder{color:var(--faint)}input:focus,textarea:focus,select:focus{border-color:var(--amber);background:var(--panel-2);outline:none;box-shadow:0 0 0 3px #ffb45424}textarea{resize:vertical;min-height:62px;line-height:1.5}input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--amber)}.field{margin-bottom:16px}.field>label{font-family:var(--f-mono);letter-spacing:1.5px;text-transform:uppercase;color:var(--faint);margin-bottom:7px;font-size:10.5px;display:block}.select-wrap{position:relative}.select-wrap select{appearance:none;cursor:pointer;padding-right:30px}.select-wrap:after{content:"▾";color:var(--muted);pointer-events:none;font-size:12px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.select-wrap select option{background:var(--panel);color:var(--text)}button{font-family:var(--f-ui);letter-spacing:.2px;border:1px solid var(--line-2);cursor:pointer;color:var(--muted);white-space:nowrap;background:#96accd0a;border-radius:11px;padding:10px 18px;font-size:13.5px;font-weight:600;transition:transform .12s,box-shadow .2s,background .2s,border-color .2s,color .2s,opacity .2s}button:hover:not(:disabled){color:var(--amber);background:#ffb4540f;border-color:#ffb45480}button:disabled{opacity:.4;cursor:not-allowed}button:not(:disabled):active{transform:translateY(1px)}.btn-primary,button.btn-primary{color:#201200;background:linear-gradient(135deg, var(--amber), var(--amber-2));border-color:#0000;box-shadow:0 8px 24px -8px #ff8a3a99}.btn-primary:hover:not(:disabled){color:#201200;background:linear-gradient(135deg, var(--amber), var(--amber-2));border-color:#0000;transform:translateY(-1px);box-shadow:0 12px 30px -8px #ff8a3abf}.btn-danger,button.btn-danger{color:var(--danger);background:#ff415f0f;border-color:#ff6b7673}.btn-danger:hover:not(:disabled){color:var(--bright);background:linear-gradient(135deg, var(--danger), var(--danger-2));border-color:#0000;box-shadow:0 10px 26px -10px #ff415fb3}.btn-block{width:100%;padding:13px}.linkbtn{font-family:var(--f-ui);color:var(--faint);cursor:pointer;background:0 0;border:none;padding:8px 6px;font-size:13px;transition:color .15s}.linkbtn:hover:not(:disabled){color:var(--text);background:0 0;border-color:#0000}.icon-btn{font-family:var(--f-ui);color:var(--muted);cursor:pointer;border:1px solid var(--line);background:#96accd0d;border-radius:9px;padding:7px 13px;font-size:13px}.icon-btn:hover:not(:disabled){color:var(--text);border-color:var(--line-2);background:#96accd1a}.pill-link{font-family:var(--f-ui);cursor:pointer;color:var(--blue);background:#6aa8ff12;border:1px solid #6aa8ff4d;border-radius:9px;padding:6px 12px;font-size:12.5px;text-decoration:none;display:inline-block}.pill-link:hover{background:#6aa8ff24;border-color:#6aa8ff80}.auth{flex-direction:column;justify-content:center;align-items:center;gap:22px;min-height:100vh;padding:24px;display:flex}.auth-card{background:linear-gradient(180deg, var(--card-a), var(--card-b));border:1px solid var(--line-2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:20px;width:100%;max-width:380px;padding:40px 34px 34px;animation:.5s cubic-bezier(.22,1,.36,1) both pop;box-shadow:0 30px 80px -30px #000000b3,inset 0 1px #ffffff0d}.auth-mark{flex-direction:column;gap:6px;margin-bottom:28px;display:flex}.mark-cn{font-family:var(--f-disp);letter-spacing:-.5px;color:var(--bright);font-size:30px;font-weight:800}.err{color:var(--danger);margin:8px 0 0;font-size:12.5px}.topbar{z-index:20;background:var(--bar-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);border-top:3px solid var(--cust,transparent);align-items:center;gap:14px;padding:14px 26px;display:flex;position:sticky;top:0}.brand{align-items:baseline;gap:12px;display:flex}.brand-cn{font-family:var(--f-disp);letter-spacing:-.3px;color:var(--bright);font-size:19px;font-weight:800}.customer-badge{font-family:var(--f-disp);letter-spacing:.6px;color:#0b1220;background:var(--cust,var(--amber));white-space:nowrap;border-radius:10px;padding:7px 16px 8px;font-size:20px;font-weight:800;line-height:1;box-shadow:0 3px 14px #00000059}.topnav{gap:4px;margin-left:22px;display:flex}.topnav-tab{font-family:var(--f-ui);cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:9px;padding:7px 14px;font-size:13.5px;font-weight:600;text-decoration:none}.topnav-tab:hover{color:var(--text);background:0 0}.topnav-tab.active{color:var(--bright);background:#ffb45424}.spacer{flex:1}.user{color:var(--muted);font-size:13px;font-family:var(--f-mono);align-items:center;gap:8px;display:inline-flex}.user-dot{background:var(--teal);width:7px;height:7px;box-shadow:0 0 10px var(--teal);border-radius:50%}.toast-err{cursor:pointer;font-family:var(--f-mono);color:#ffd9c2;background:#ff6b3a1f;border:1px solid #ff6b3a59;border-radius:10px;margin:12px 26px -6px;padding:10px 16px;font-size:12px}.toast-warn{cursor:pointer;font-family:var(--f-mono);color:#ffe9b0;background:#ffc1071a;border:1px solid #ffc10759;border-radius:10px;margin:12px 26px -6px;padding:10px 16px;font-size:12px}.wrap{flex-direction:column;gap:22px;max-width:980px;margin:0 auto;padding:30px 26px 80px;display:flex}.card{background:linear-gradient(180deg, var(--card-a), var(--card-b));border:1px solid var(--line);border-radius:var(--r);padding:22px;box-shadow:0 24px 60px -34px #000c}.card-label{font-family:var(--f-mono);letter-spacing:2px;text-transform:uppercase;color:var(--text);margin-bottom:18px;font-size:11px}.card-label .mono-faint,.mono-faint{color:var(--faint)}.card-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.card-head .card-label{margin-bottom:0}.hint{font-family:var(--f-mono);color:var(--amber);letter-spacing:.3px;font-size:11.5px}.empty,.empty-note{font-family:var(--f-mono);color:var(--faint);letter-spacing:.3px;padding:8px 2px;font-size:12.5px}.mono{font-family:var(--f-mono)}table{border-collapse:collapse;width:100%}thead th{text-align:left;font-family:var(--f-mono);letter-spacing:1.6px;text-transform:uppercase;color:var(--faint);border-bottom:1px solid var(--line);padding:0 12px 12px;font-size:10px;font-weight:400}tbody td{border-bottom:1px solid var(--line);vertical-align:middle;padding:10px 12px}tbody tr:hover{background:#6aa8ff0d}.bl{font-family:var(--f-mono);letter-spacing:.5px;color:var(--bright);font-size:14.5px;font-weight:700}.badge{font-family:var(--f-mono);letter-spacing:.4px;border:1px solid #0000;border-radius:999px;align-items:center;gap:7px;padding:4px 10px 4px 8px;font-size:11px;display:inline-flex}.badge .dot{background:currentColor;border-radius:50%;flex:none;width:7px;height:7px}.badge .dot.spin{animation:1.4s ease-in-out infinite pulse}.badge.stage-extract{color:var(--blue);background:#6aa8ff1a;border-color:#6aa8ff4d}.badge.stage-upload{color:var(--teal);background:#4fd6bd1a;border-color:#4fd6bd47}.badge.stage-edi{color:var(--amber);background:#ffb4541a;border-color:#ffb4544d}.badge.fail{color:var(--danger);background:#ff415f1a;border-color:#ff415f52}.chip{font-family:var(--f-mono);color:var(--muted);border:1px solid var(--line);background:#96accd14;border-radius:7px;padding:2px 8px;font-size:11px;display:inline-block}.tag-flag{font-family:var(--f-mono);letter-spacing:1px;vertical-align:middle;white-space:nowrap;border:1px solid;border-radius:6px;margin-left:6px;padding:2px 6px;font-size:9.5px;display:inline-block}.tag-flag.flag-bad{color:var(--danger);background:#ff6b761a}.tag-flag.flag-ok{color:var(--teal);background:#4fd6bd1a}.tag-flag.flag-warn{color:var(--amber);background:#ffb4541a}.modal{z-index:50;background:var(--scrim);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);justify-content:center;align-items:center;padding:20px;animation:.18s both fade;display:flex;position:fixed;inset:0}.sheet{background:linear-gradient(180deg, var(--panel-2), var(--panel));border:1px solid var(--line-2);box-sizing:border-box;border-radius:18px;flex-direction:column;gap:4px;width:100%;max-width:400px;padding:24px;display:flex;box-shadow:0 40px 100px -30px #000000d9}.sheet-wide{max-width:720px}.sheet-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.sheet-head h3{font-family:var(--f-disp);color:var(--bright);margin:0;font-size:18px;font-weight:700}.sheet-note{color:var(--muted);margin:-6px 0 8px;font-size:12.5px}.sheet .x{color:var(--faint);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 6px;font-size:15px}.sheet .x:hover{color:var(--text);background:#96accd1a}.actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;display:flex}.sheet-danger{border-color:#ff415f66;max-width:430px;box-shadow:0 40px 100px -30px #ff143c59,0 0 0 1px #ff415f33}.danger-hd{font-family:var(--f-disp);color:var(--danger);letter-spacing:.3px;margin-bottom:12px;font-size:20px;font-weight:800}.danger-body{color:var(--muted);margin:0 0 16px;font-size:13.5px;line-height:1.6}.danger-body b{color:#ffd0d6}.bl-echo{font-family:var(--f-mono);letter-spacing:4px;text-align:center;color:var(--bright);background:#ff415f14;border:1px dashed #ff415f66;border-radius:12px;margin-bottom:14px;padding:14px;font-size:26px;font-weight:700}.bl-input{text-align:center;font-family:var(--f-mono);letter-spacing:3px;font-size:16px}.bl-input:focus{border-color:var(--danger);box-shadow:0 0 0 3px #ff415f29}.switch{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;display:inline-flex}.switch input{opacity:0;width:0;height:0;position:absolute}.switch .track{border:1px solid var(--line-2);background:#96accd2e;border-radius:999px;flex:none;width:42px;height:24px;transition:background .2s,border-color .2s;position:relative}.switch .track:after{content:"";background:#cfd8e8;border-radius:50%;width:18px;height:18px;transition:transform .2s,background .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0006}.switch input:checked+.track{background:linear-gradient(135deg, var(--amber), var(--amber-2));border-color:#0000}.switch input:checked+.track:after{background:#2a1600;transform:translate(18px)}.switch-label{color:var(--muted);font-size:13px}.spec{background:var(--line);border:1px solid var(--line);border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1px;display:grid;overflow:hidden}.spec-cell{background:var(--panel);flex-direction:column;gap:4px;padding:11px 13px;display:flex}.spec-cell .k{font-family:var(--f-mono);letter-spacing:1px;text-transform:uppercase;color:var(--faint);font-size:9.5px}.spec-cell .v{color:var(--text);font-size:13.5px}.spec-cell .v.mono{font-family:var(--f-mono)}.spec-form{grid-template-columns:repeat(2,1fr)}.spec-form .spec-cell{justify-content:space-between}.up-status{font-family:var(--f-mono);margin-bottom:12px;font-size:13px}.up-status.ok{color:var(--teal)}.up-status.bad{color:var(--danger)}.alert-err{font-family:var(--f-mono);color:var(--danger);background:#ff415f14;border:1px solid #ff415f47;border-radius:8px;padding:9px 12px;font-size:12.5px}.wrap-wide{max-width:1240px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.page-head h1{letter-spacing:-.3px;font-size:22px}.page-head .sub{color:var(--muted);margin:4px 0 0;font-size:13px}.page-head .tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.page-head .tools input[type=date]{width:auto;padding:8px 11px;font-size:13px}.stamp{font-family:var(--f-mono);color:var(--faint);letter-spacing:.3px;font-size:11px}.kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.kpi{border:1px solid var(--line);background:#96accd0a;border-radius:12px;flex-direction:column;gap:4px;min-width:0;padding:14px 16px;display:flex}.kpi .k{font-family:var(--f-mono);letter-spacing:1.6px;text-transform:uppercase;color:var(--faint);font-size:10px}.kpi .v{font-family:var(--f-disp);color:var(--bright);letter-spacing:-.5px;font-size:28px;font-weight:800;line-height:1.1}.kpi .v.warn{color:var(--amber)}.kpi .v.bad{color:var(--danger)}.kpi .v.good{color:var(--teal)}.kpi .s{color:var(--muted);font-size:11.5px}.kpi .s b{color:var(--text);font-weight:600}.kpi-hero .v{font-size:44px}.kpis-hero{grid-template-columns:repeat(2,minmax(0,1fr))}td.nowrap,th.nowrap{white-space:nowrap}.cume{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.cume .col{flex-direction:column;gap:2px;display:flex}.cume .k{font-family:var(--f-mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--faint);font-size:10px}.cume .k i{color:var(--muted);margin-left:5px;font-style:normal}.cume .v{font-family:var(--f-disp);color:var(--bright);font-size:22px;font-weight:800}.cume .s{color:var(--muted);font-size:11px}.rank{flex-direction:column;gap:7px;display:flex}.rank-row{grid-template-columns:24px minmax(90px,160px) 1fr 56px minmax(150px,auto);align-items:center;gap:10px;font-size:12.5px;display:grid}.rank-row .no{font-family:var(--f-mono);color:var(--faint);font-size:11px}.rank-row .name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rank-row .name a{color:inherit;text-decoration:none}.rank-row .name a:hover{color:var(--amber)}.rank-row .n{text-align:right;font-family:var(--f-mono);color:var(--bright)}.rank-row .tail{text-align:right;color:var(--muted);white-space:nowrap;font-size:11.5px}.rank-row .tail b{font-weight:600}.bar{background:#96accd14;border-radius:5px;height:10px;display:flex;overflow:hidden}.bar .seg{height:100%}.bar .seg+.seg{margin-left:2px}.seg.ok{background:var(--blue)}.seg.ed{background:var(--amber)}.seg.err{background:var(--danger)}.seg.extra{background:#96accd59}.legend{color:var(--faint);font-size:11px;font-family:var(--f-mono);flex-wrap:wrap;gap:14px;display:flex}.legend i{vertical-align:-1px;border-radius:2px;width:9px;height:9px;margin-right:5px;display:inline-block}.chart{position:relative}.chart-head{color:var(--muted);justify-content:space-between;margin-bottom:6px;font-size:12px;display:flex}.chart-plot{border-bottom:1px solid var(--line-2);align-items:flex-end;gap:2px;height:140px;display:flex;position:relative}.chart-col{cursor:default;flex:1;align-items:flex-end;min-width:3px;height:100%;display:flex;position:relative}.chart-col .stack{border-radius:3px 3px 0 0;flex-direction:column-reverse;width:100%;display:flex;overflow:hidden}.chart-col .stack>span{width:100%;display:block}.chart-col .stack>span+span{margin-bottom:1px}.chart-col:hover .stack{filter:brightness(1.25)}.chart-col .peak{font-family:var(--f-mono);color:var(--muted);white-space:nowrap;margin-bottom:2px;font-size:10px;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.chart-col .errdot{background:var(--danger);border-radius:50%;width:5px;height:5px;position:absolute;bottom:-9px;left:50%;transform:translate(-50%)}.chart-ticks{font-family:var(--f-mono);color:var(--faint);justify-content:space-between;margin-top:10px;font-size:10px;display:flex}.tip{z-index:5;pointer-events:none;background:var(--panel-2);color:var(--text);border:1px solid var(--line-2);white-space:nowrap;border-radius:8px;padding:8px 10px;font-size:11px;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);box-shadow:0 10px 30px -10px #000c}.tip .d{font-family:var(--f-mono);color:var(--faint);font-size:10px}.tip .big{font-family:var(--f-disp);color:var(--bright);font-size:15px;font-weight:800}.tip-row{align-items:center;gap:6px;margin-top:2px;display:flex}.tip-row i{border-radius:2px;width:10px;height:3px;display:inline-block}.tip-row b{font-family:var(--f-mono);margin-left:auto;padding-left:12px;font-weight:400}.chart-col.edge-l .tip{left:0;transform:none}.chart-col.edge-r .tip{left:auto;right:0;transform:none}.st{font-family:var(--f-mono);letter-spacing:.3px;align-items:center;gap:6px;font-size:11px;display:inline-flex}.st:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px;box-shadow:0 0 8px}.st.online{color:var(--teal)}.st.stale{color:var(--amber)}.st.never{color:var(--faint)}.st.never:before{box-shadow:none}.st.disabled{color:var(--faint)}.st.disabled:before{box-shadow:none;background:0 0;border:1px solid}.nodes{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;display:grid}.node{border:1px solid var(--line);color:inherit;background:#96accd08;border-radius:12px;flex-direction:column;gap:6px;padding:12px 14px;text-decoration:none;transition:border-color .15s,background .15s;display:flex}.node:hover{background:#ffb4540d;border-color:#ffb45473}.node .hd{justify-content:space-between;align-items:center;gap:8px;display:flex}.node .nm{color:var(--bright);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.node .cu{font-family:var(--f-mono);letter-spacing:1px;color:var(--amber);text-transform:uppercase;font-size:10.5px}.node .nums{color:var(--muted);gap:14px;font-size:11.5px;display:flex}.node .nums b{font-family:var(--f-disp);color:var(--bright);font-size:18px;display:block}.node .ft{font-family:var(--f-mono);color:var(--faint);font-size:10px}.subtabs{border-bottom:1px solid var(--line);gap:4px;display:flex}.subtab{font-family:var(--f-ui);color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;padding:8px 12px;font-size:13px;font-weight:600}.subtab:hover:not(:disabled){color:var(--text);border-color:#0000;border-bottom-color:var(--line-2);background:0 0}.subtab.active{color:var(--amber);border-bottom-color:var(--amber)}.subtab .cnt{font-family:var(--f-mono);color:var(--faint);background:#96accd1a;border-radius:8px;margin-left:6px;padding:1px 6px;font-size:10px}.filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filters input,.filters select{width:auto;min-width:120px;padding:8px 11px;font-size:13px}.filters .select-wrap{display:inline-block}.filters button{padding:8px 14px;font-size:13px}.pager{font-family:var(--f-mono);color:var(--muted);align-items:center;gap:10px;font-size:11.5px;display:flex}.pager button{padding:6px 12px;font-size:12px}td.num,th.num{text-align:right;font-family:var(--f-mono)}.num-link{font-family:var(--f-mono);color:var(--blue);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px}.num-link:hover:not(:disabled){color:var(--amber);background:0 0;border:none}.num-link.bad{color:var(--danger)}.num-link:disabled{color:var(--faint);opacity:1;cursor:default}.ok-txt{color:var(--teal)}.bad-txt{color:var(--danger)}.warn-txt{color:var(--amber)}.faint{color:var(--faint)}.muted{color:var(--muted)}.err-msg{font-family:var(--f-mono);color:#ffd0d6;text-overflow:ellipsis;white-space:nowrap;max-width:420px;font-size:11.5px;display:block;overflow:hidden}.grid-2{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px;display:grid}@media (max-width:900px){.grid-2{grid-template-columns:1fr}.cume{grid-template-columns:repeat(2,1fr)}.rank-row{grid-template-columns:20px 80px 1fr 48px}.rank-row .tail{display:none}}.key-box{font-family:var(--f-mono);color:var(--bright);background:var(--code-bg);word-break:break-all;border:1px dashed #ffb45480;border-radius:10px;padding:12px 14px;font-size:13px}.form-grid{grid-template-columns:repeat(2,1fr);gap:0 14px;display:grid}
