@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.1w1m1wqmjasxa.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e629b5bc06499d58-s.1y3v-klcv8xov.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:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1a099d89ee94ee96-s.15dvesjzf7814.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:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.08ssgmy_tb90r.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:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.1w1m1wqmjasxa.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/e629b5bc06499d58-s.1y3v-klcv8xov.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:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1a099d89ee94ee96-s.15dvesjzf7814.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:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.08ssgmy_tb90r.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:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.1w1m1wqmjasxa.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e629b5bc06499d58-s.1y3v-klcv8xov.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:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a099d89ee94ee96-s.15dvesjzf7814.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:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.08ssgmy_tb90r.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:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.1w1m1wqmjasxa.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e629b5bc06499d58-s.1y3v-klcv8xov.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:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1a099d89ee94ee96-s.15dvesjzf7814.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:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.08ssgmy_tb90r.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:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.1w1m1wqmjasxa.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/e629b5bc06499d58-s.1y3v-klcv8xov.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:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/1a099d89ee94ee96-s.15dvesjzf7814.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:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.08ssgmy_tb90r.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:Plus Jakarta Sans Fallback;src:local(Arial);ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.0%;size-adjust:104.98%}.plus_jakarta_sans_beddda0c-module__XXgp5q__className{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.plus_jakarta_sans_beddda0c-module__XXgp5q__variable{--font-jakarta:"Plus Jakarta Sans", "Plus Jakarta Sans Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--primary:220 100% 57%;--primary-hex:#236cfe;--primary-foreground:#fff;--primary-soft:#ebf1ff;--primary-muted:#e2ebfd;--ring:#37f;--bg:#f6f8fc;--bg-elevated:#fff;--surface:#fff;--surface-muted:#f1f4f9;--text:#0f172a;--muted:#64748b;--border:#e2e8f0;--border-strong:#cbd5e1;--danger:#e11d48;--danger-soft:#fff1f2;--danger-border:#fecdd3;--success-bg:#ecfdf5;--success-border:#a7f3d0;--success-text:#047857;--error-bg:#fff1f2;--error-border:#fecdd3;--error-text:#be123c;--progress-bg:#f0f5ff;--progress-border:#b6cdfb;--progress-text:#144bb8;--warning-bg:#fffbeb;--warning-border:#fde68a;--warning-text:#b45309;--shadow-sm:0 1px 2px #0f172a0d;--shadow:0 1px 2px #0f172a0a, 0 10px 28px #0f172a0f;--shadow-lg:0 20px 50px #0f172a1a;--radius:14px;--radius-sm:10px;--radius-pill:999px;--font-sans:var(--font-jakarta), "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:var(--font-jakarta), "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--appbar-h:64px}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{font-family:var(--font-sans);background:radial-gradient(ellipse 80% 50% at 0% -10%, #246dff1f, transparent 50%), radial-gradient(ellipse 60% 40% at 100% 0%, #6699ff14, transparent 45%), linear-gradient(180deg, #eef3fb 0%, var(--bg) 35%, #e8eef8 100%);color:var(--text);-webkit-font-smoothing:antialiased}a{color:inherit}button,input{font:inherit}h1,h2,h3,.font-display{font-family:var(--font-display);letter-spacing:-.025em;font-weight:700}.muted{color:var(--muted)}.error-text{color:var(--error-text);margin:0;font-size:.9rem}code,.mono{font-family:var(--font-mono)}.brand-mark{color:inherit;align-items:center;gap:.55rem;line-height:1;text-decoration:none;display:inline-flex}.brand-mark img{object-fit:contain;width:auto;height:28px;display:block}.brand-mark-text{font-family:var(--font-display);letter-spacing:-.04em;color:var(--text);font-size:1.25rem;font-weight:800}.brand-mark-text .brand-accent{color:hsl(var(--primary))}.login-brand .brand-mark-text{color:#fff}.login-brand .brand-mark-text .brand-accent{color:#9ec0ff}.brand-sub{letter-spacing:.06em;text-transform:uppercase;color:hsl(var(--primary));font-size:.75rem;font-weight:600}.button{appearance:none;border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;min-height:44px;padding:.65rem 1.15rem;font-size:.925rem;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s,opacity .15s,transform .15s;display:inline-flex}.button:disabled{opacity:.55;cursor:not-allowed}.button-primary{background:hsl(var(--primary));color:var(--primary-foreground);box-shadow:0 1px 2px #0044cc40}.button-primary:hover:not(:disabled){background:#0a5cff;box-shadow:0 4px 14px #0055ff59}.button-secondary{background:var(--surface);border-color:var(--border);color:var(--text)}.button-secondary:hover:not(:disabled){background:var(--surface-muted);border-color:var(--border-strong)}.button-danger{background:var(--surface);border-color:var(--danger-border);color:var(--danger)}.button-danger:hover:not(:disabled){background:var(--danger-soft);border-color:#fda4af}.button-block{width:100%}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:1rem;height:1rem;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.notice{border-radius:var(--radius-sm);border:1px solid;align-items:flex-start;gap:.65rem;padding:.85rem 1rem;font-size:.925rem;line-height:1.45;animation:.28s notice-in;display:flex}.notice-icon{flex-shrink:0;width:1.15rem;height:1.15rem;margin-top:.1rem}.notice.progress{background:var(--progress-bg);border-color:var(--progress-border);color:var(--progress-text)}.notice.success{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}.notice.error{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}@keyframes notice-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.login-page{grid-template-columns:1fr;min-height:100dvh;display:grid}.login-brand{color:#fff;background:radial-gradient(circle at 18% 15%,#4c88ff73,#0000 40%),radial-gradient(circle at 90% 80%,#3bf3,#0000 35%),linear-gradient(155deg,#0a1840 0%,#122a6b 45%,#1e4db8 78%,#236cfe 100%);flex-direction:column;justify-content:flex-start;min-height:220px;padding:1.5rem 1.25rem 1.75rem;display:flex;position:relative;overflow:hidden}.login-brand:before,.login-brand:after{content:"";filter:blur(40px);pointer-events:none;border-radius:50%;position:absolute}.login-brand:before{background:#6699ff59;width:180px;height:180px;top:-40px;right:-30px}.login-brand:after{background:#6cf3;width:140px;height:140px;bottom:-30px;left:10%}.login-brand-inner{z-index:1;position:relative}.login-brand .brand-mark img{width:auto;height:42px}.login-brand-kicker{letter-spacing:.08em;text-transform:uppercase;color:#ffffffb3;margin:1.25rem 0 .5rem;font-size:.75rem;font-weight:600}.login-brand h2{max-width:16ch;margin:0;font-size:clamp(1.5rem,4vw,2rem);font-weight:700;line-height:1.2}.login-brand p{color:#ffffffc7;max-width:36ch;margin:.75rem 0 0;font-size:.95rem;line-height:1.5}.login-brand-footer{z-index:1;color:#ffffff8c;margin-top:1.25rem;font-size:.8rem;position:relative}.login-form-panel{background:var(--bg-elevated);justify-content:center;align-items:center;padding:1.75rem 1.25rem 2.5rem;display:flex}.login-form{width:min(400px,100%);animation:.35s form-enter}@keyframes form-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.login-form-header{margin-bottom:1.5rem}.login-form-header h1{margin:.35rem 0 .4rem;font-size:1.65rem;font-weight:700}.login-form-header p{color:var(--muted);margin:0;font-size:.95rem;line-height:1.5}.field{gap:.4rem;margin-bottom:1rem;display:grid}.field label{color:var(--text);font-size:.875rem;font-weight:600}.field input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:48px;color:var(--text);padding:.75rem .95rem;transition:border-color .15s,box-shadow .15s}.field input:focus{border-color:hsl(var(--primary));outline:none;box-shadow:0 0 0 3px #246dff33}.field input:disabled{opacity:.7;background:var(--surface-muted)}.login-alert{border-radius:var(--radius-sm);background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text);margin:0 0 1rem;padding:.75rem .9rem;font-size:.9rem}@media (min-width:900px){.login-page{grid-template-columns:minmax(340px,1.05fr) minmax(400px,1fr)}.login-brand{justify-content:center;min-height:100dvh;padding:2.5rem 2.75rem 2.25rem}.login-brand-inner{margin-block:auto}.login-brand-footer{margin-top:0;position:absolute;bottom:2.25rem;left:2.75rem;right:2.75rem}.login-form-panel{padding:2.5rem}}.app-shell{flex-direction:column;min-height:100dvh;animation:.35s page-enter;display:flex}@keyframes page-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.app-bar{z-index:40;min-height:var(--appbar-h);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm);background:#ffffffdb;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1.25rem;display:flex;position:sticky;top:0}.app-bar .brand-mark img{width:auto;height:32px}.app-bar-left{align-items:center;gap:.85rem;min-width:0;display:flex}.app-bar-divider{background:var(--border);flex-shrink:0;width:1px;height:1.5rem}.app-bar-title{flex-direction:column;gap:.1rem;min-width:0;display:flex}.app-bar-title strong{font-family:var(--font-display);letter-spacing:-.02em;font-size:1rem;font-weight:700}.app-bar-title span{color:var(--muted);font-size:.75rem}.app-bar-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.session-chip{border-radius:var(--radius-pill);background:var(--primary-soft);color:#144bb8;align-items:center;gap:.35rem;padding:.35rem .7rem;font-size:.75rem;font-weight:600;display:none}@media (min-width:640px){.session-chip{display:inline-flex}.app-bar{padding:.75rem 1.75rem}}.app-main{gap:1rem;width:min(880px,100% - 2rem);margin:0 auto;padding:1.5rem 0 3rem;display:grid}@media (min-width:640px){.app-main{gap:1.15rem;padding:2rem 0 3.5rem}}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem;overflow:hidden}@media (min-width:640px){.panel{padding:1.5rem}}.panel-danger{background:linear-gradient(180deg, #fffafb 0%, var(--surface) 40%);border-color:#fad1d8}.panel-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:1.1rem;display:flex}.panel-header h2{margin:0;font-size:1.05rem;font-weight:700}.panel-header p{color:var(--muted);margin:.3rem 0 0;font-size:.875rem;line-height:1.45}.section-label{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:0 0 .65rem;font-size:.7rem;font-weight:700}.status-summary{flex-wrap:wrap;align-items:center;gap:.65rem;margin-bottom:1rem;display:flex}.badge{border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface-muted);align-items:center;gap:.4rem;padding:.35rem .75rem;font-size:.8rem;font-weight:600;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:.45rem;height:.45rem}.badge.old{color:#475569;background:#f1f5f9;border-color:#e2e8f0}.badge.new{color:#144bb8;background:var(--primary-soft);border-color:#b6cdfb}.badge.mixed,.badge.unknown{color:var(--warning-text);background:var(--warning-bg);border-color:var(--warning-border)}.ip-chips{flex-wrap:wrap;gap:.65rem;margin-bottom:1rem;display:flex}.ip-chip{border-radius:var(--radius-sm);background:var(--surface-muted);border:1px solid var(--border);color:var(--muted);white-space:nowrap;align-items:center;gap:.5rem;padding:.5rem .85rem;font-size:.8rem;display:inline-flex}.ip-chip code{color:var(--text);font-size:.8rem;font-weight:600}.record-list{gap:.55rem;display:grid}.record-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:linear-gradient(#fafbfd 0%,#fff 100%);justify-content:space-between;align-items:flex-start;gap:.85rem;padding:.9rem 1rem;display:flex}.record-row .name{word-break:break-word;font-size:.95rem;font-weight:600}.record-meta{flex-wrap:wrap;gap:.35rem;margin-top:.4rem;display:flex}.chip{border-radius:var(--radius-pill);background:var(--primary-muted);color:#1d4aa5;align-items:center;padding:.15rem .5rem;font-size:.7rem;font-weight:600;display:inline-flex}.chip.neutral{color:#64748b;background:#eef2f7}.record-row .ip{font-family:var(--font-mono);color:var(--text);white-space:nowrap;font-size:.85rem;font-weight:600}@media (max-width:520px){.record-row{flex-direction:column}.record-row .ip{white-space:normal;word-break:break-all}}.switch-panel{flex-direction:column;gap:1rem;display:flex}.switch-control{border-radius:var(--radius);background:radial-gradient(circle at 0% 50%, #246dff14, transparent 55%), var(--primary-soft);border:1px solid #c5d7fc;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.1rem;display:flex}.toggle-labels{align-items:center;gap:.85rem;font-size:.95rem;font-weight:600;display:flex}.toggle-labels .active-side{color:hsl(var(--primary))}.switch{border-radius:var(--radius-pill);cursor:pointer;background:#94a3b8;border:none;flex-shrink:0;width:64px;height:36px;padding:0;transition:background .25s;position:relative}.switch[aria-checked=true]{background:hsl(var(--primary))}.switch:disabled{opacity:.55;cursor:not-allowed}.switch:focus-visible{outline:none;box-shadow:0 0 0 3px #246dff4d}.switch-knob{background:#fff;border-radius:50%;width:28px;height:28px;transition:transform .28s cubic-bezier(.34,1.4,.64,1);position:absolute;top:4px;left:4px;box-shadow:0 2px 6px #0f172a33}.switch[aria-checked=true] .switch-knob{transform:translate(28px)}.switch-hint{color:var(--muted);font-size:.85rem}.actions{flex-wrap:wrap;gap:.65rem;display:flex}.purge-body{gap:1rem;display:grid}.purge-warning{border-radius:var(--radius-sm);background:var(--danger-soft);border:1px solid var(--danger-border);color:#9f1239;align-items:flex-start;gap:.65rem;padding:.85rem 1rem;font-size:.875rem;line-height:1.45;display:flex}.purge-warning svg{flex-shrink:0;margin-top:.1rem}
