:root{--font-family:"Segoe UI Variable","Segoe UI",system-ui,sans-serif;--accent:#356ae6;--accent-hover:#285bd5;--accent-active:#204cb8;--accent-text:#fff;--bg-canvas:#e9edf4;--bg-layer:#fff;--bg-layer-alt:#f6f8fc;--bg-hover:#edf2fc;--bg-active:#e3eafa;--bg-input:#fff;--text-primary:#172033;--text-secondary:#65708a;--text-disabled:#98a1b3;--stroke:#dde3ed;--stroke-strong:#b7c1d2;--stroke-input:#7d8aa0;--danger:#b4233d;--danger-bg:#fff0f2;--success:#167a50;--success-bg:#e7f7ee;--warning:#9a5c00;--warning-bg:#fff6df;--shadow-card:0 1px 2px #12223e0f,0 8px 20px #12223e0d;--shadow-flyout:0 16px 32px #14213829;--radius-control:7px;--radius-surface:12px;--progress-track:#fffaf0;--progress-fill:#c88700;--progress-glow:#ffffffeb;--z-progress:40;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root.dark{--accent:#8eaeff;--accent-hover:#a8c0ff;--accent-active:#7198f3;--accent-text:#102043;--bg-canvas:#151a26;--bg-layer:#1d2433;--bg-layer-alt:#181f2d;--bg-hover:#273149;--bg-active:#2e3953;--bg-input:#202a3c;--text-primary:#f2f5fb;--text-secondary:#b3bfd3;--text-disabled:#7a879d;--stroke:#303b50;--stroke-strong:#526079;--stroke-input:#9cabc4;--danger:#ff9aab;--danger-bg:#482431;--success:#71d2a4;--success-bg:#193a32;--warning:#ffd17a;--warning-bg:#493a1d;--shadow-card:0 1px 2px #00000038,0 8px 20px #00000029;--shadow-flyout:0 16px 32px #00000059;--progress-track:#2e2515;--progress-fill:#f2bf55;--progress-glow:#fff8e0eb;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{font-family:var(--font-family);color:var(--text-primary);background:var(--bg-canvas);-webkit-font-smoothing:antialiased;font-size:14px}.btn{border:1px solid var(--stroke-strong);border-radius:var(--radius-control);min-height:34px;font:600 13px var(--font-family);color:var(--text-primary);background:var(--bg-layer);cursor:pointer;justify-content:center;align-items:center;gap:7px;padding:6px 13px;transition:background-color .16s,border-color .16s,transform .16s;display:inline-flex}.btn:hover{background:var(--bg-hover);border-color:#97a6bd}.btn:active{background:var(--bg-active);transform:translateY(1px)}.btn:disabled{opacity:.52;cursor:not-allowed;transform:none}.btn.primary{border-color:var(--accent);background:var(--accent);color:var(--accent-text)}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.danger{color:var(--danger)}.btn.subtle{background:0 0;border-color:#0000}.btn.subtle:hover{background:var(--bg-hover)}.input,.select{border:1px solid var(--stroke-strong);border-radius:var(--radius-control);width:100%;min-height:35px;font:14px var(--font-family);color:var(--text-primary);background:var(--bg-input);outline:none;padding:7px 10px;transition:border-color .16s,box-shadow .16s}.input:hover,.select:hover{border-color:#8e9db5}.input:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.card{background:var(--bg-layer);border:1px solid var(--stroke);border-radius:var(--radius-surface);box-shadow:var(--shadow-card);padding:20px}.badge{border-radius:99px;align-items:center;min-height:23px;padding:2px 8px;font-size:12px;font-weight:650;display:inline-flex}.badge.ok{color:var(--success);background:var(--success-bg)}.badge.err{color:var(--danger);background:var(--danger-bg)}.badge.warn{color:var(--warning);background:var(--warning-bg)}.table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.table th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);background:var(--bg-layer-alt);border-bottom:1px solid var(--stroke);white-space:nowrap;padding:11px 14px;font-size:11px;font-weight:700}.table td{border-bottom:1px solid var(--stroke);vertical-align:middle;padding:12px 14px}.table tbody tr{transition:background-color .15s}.table tbody tr:hover{background:var(--bg-hover)}.table tbody tr:last-child td{border-bottom:none}.page-title{letter-spacing:-.025em;margin:0;font-size:25px;font-weight:680;line-height:1.2}.page-desc{color:var(--text-secondary);margin:7px 0 26px;line-height:1.5}.field{margin-bottom:15px}.field label{color:var(--text-primary);margin-bottom:6px;font-size:12px;font-weight:650;display:block}.field .hint{color:var(--text-secondary);margin:5px 0 0;font-size:12px}.switch{width:38px;height:20px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.switch .track{border:1px solid var(--stroke-input);cursor:pointer;background:0 0;border-radius:12px;transition:all .16s;position:absolute;inset:0}.switch .track:before{content:"";background:var(--text-secondary);border-radius:50%;width:12px;height:12px;transition:all .16s;position:absolute;top:3px;left:3px}.switch input:checked+.track{border-color:var(--accent);background:var(--accent)}.switch input:checked+.track:before{background:var(--accent-text);left:21px}.overlay{z-index:20;background:#0b12207a;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.dialog{border:1px solid var(--stroke);background:var(--bg-layer);width:480px;max-width:calc(100vw - 32px);max-height:calc(100vh - 48px);box-shadow:var(--shadow-flyout);border-radius:12px;padding:24px;overflow:auto}.dialog h3{margin:0 0 18px;font-size:20px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#nprogress{pointer-events:none}#nprogress .bar{z-index:var(--z-progress);background:var(--progress-fill);width:100%;height:3px;box-shadow:0 0 0 1px var(--progress-track),0 0 8px var(--progress-glow);position:fixed;top:0;left:0}#nprogress .peg{opacity:1;width:80px;height:100%;box-shadow:0 0 8px var(--progress-glow),0 0 4px var(--progress-glow);display:block;position:absolute;right:0;transform:rotate(2deg)translateY(-1px)}#nprogress .spinner{display:none}@media (prefers-reduced-motion:reduce){#nprogress .bar{transition:none!important}.nprogress-custom-parent{position:relative;overflow:hidden}}@media (width<=700px){.page-title{font-size:22px}.table{min-width:680px}}
