:root{--bg:#eef1f6;--surface:#fff;--text:#14171f;--muted:#667085;--border:#e0e4ec;--brand:#1d4ed8;--brand-contrast:#fff;--ok:#067647;--ok-bg:#dcfae6;--warn:#b54708;--warn-bg:#fef0c7;--bad:#b42318;--bad-bg:#fee4e2;--radius:2px}@media (prefers-color-scheme:dark){:root{--bg:#0c0f15;--surface:#161b24;--text:#eef1f6;--muted:#98a2b3;--border:#2a303c;--brand:#6b93ff;--brand-contrast:#0c0f15;--ok:#75e0a7;--ok-bg:#0b3a24;--warn:#fec84b;--warn-bg:#4a3206;--bad:#fda29b;--bad-bg:#4a1410}}*{box-sizing:border-box}html,body{margin:0}body{background:radial-gradient(900px 420px at 8% -4%, color-mix(in srgb, var(--brand) 7%, transparent), transparent 65%), radial-gradient(800px 500px at 96% 12%, color-mix(in srgb, var(--brand) 5%, transparent), transparent 60%), var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;background-attachment:fixed;font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}h1{letter-spacing:-.01em;margin:0 0 4px;font-size:24px}h2{margin:28px 0 12px;font-size:17px}.muted{color:var(--muted)}.shell{grid-template-columns:232px 1fr;min-height:100vh;display:grid}.side{background:color-mix(in srgb, var(--surface) 68%, transparent);-webkit-backdrop-filter:blur(16px)saturate(1.2);backdrop-filter:blur(16px)saturate(1.2);border-right:1px solid var(--border);flex-direction:column;height:100vh;padding:20px 0;display:flex;position:sticky;top:0}.side .logo{letter-spacing:-.02em;color:var(--text);border-bottom:1px solid var(--border);align-items:center;gap:10px;margin-bottom:12px;padding:0 20px 18px;font-size:18px;font-weight:800;text-decoration:none;display:flex}.side .logo:hover{text-decoration:none}.side .logo-mark{flex:none;width:24px;height:24px}.side .logo-mark svg{width:100%;height:100%;display:block}.side nav{flex-direction:column;gap:2px;padding:0 12px;display:flex}.side nav a{color:var(--text);border-left:2px solid #0000;border-radius:0;padding:9px 12px;display:block}.side nav a:hover{background:color-mix(in srgb, var(--brand) 8%, transparent);border-left-color:var(--brand);text-decoration:none}.side form{margin-top:auto;padding:12px 12px 0}.side form button{width:100%}.main{width:100%;max-width:1200px;padding:28px clamp(16px,4vw,40px) 60px}.grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.card{background:color-mix(in srgb, var(--surface) 72%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--border);border-top:2px solid color-mix(in srgb, var(--brand) 55%, transparent);border-radius:var(--radius);padding:16px 18px}.card .label{color:var(--muted);font-size:13px}.card .value{letter-spacing:-.02em;margin-top:2px;font-size:28px;font-weight:700}.card .sub{color:var(--muted);margin-top:4px;font-size:13px}table{border-collapse:collapse;background:color-mix(in srgb, var(--surface) 78%, transparent);border:1px solid var(--border);border-radius:var(--radius);width:100%;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:10px 14px;font-size:14px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}tr:last-child td{border-bottom:0}tbody tr:hover td{background:color-mix(in srgb, var(--brand) 4%, transparent)}.table-wrap{overflow-x:auto}.badge{border-radius:var(--radius);background:var(--bg);color:var(--muted);padding:2px 9px;font-size:12px;font-weight:600;display:inline-block}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.bad{background:var(--bad-bg);color:var(--bad)}button,.btn{font:inherit;cursor:pointer;border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 80%, transparent);color:var(--text);border-radius:var(--radius);padding:9px 14px;display:inline-block}button:hover,.btn:hover{border-color:var(--brand)}button.primary,.btn.primary{background:var(--brand);color:var(--brand-contrast);border-color:var(--brand);font-weight:600}button.danger{color:var(--bad)}input,select,textarea{font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in srgb, var(--surface) 85%, transparent);width:100%;color:var(--text);padding:9px 11px}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 2px color-mix(in srgb, var(--brand) 20%, transparent);outline:none}textarea{min-height:120px}label{margin:12px 0 4px;font-size:13px;font-weight:600;display:block}.form{max-width:520px}.row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.notice{border-radius:var(--radius);background:var(--warn-bg);color:var(--warn);border-left:3px solid;margin:14px 0;padding:12px 14px}.notice.ok{background:var(--ok-bg);color:var(--ok)}.notice.bad{background:var(--bad-bg);color:var(--bad)}.center{place-items:center;min-height:100vh;padding:20px;display:grid}.login-brand{align-items:center;gap:10px;display:flex}.login-mark{flex:none;width:28px;height:28px}.login-mark svg{width:100%;height:100%;display:block}.panel{background:color-mix(in srgb, var(--surface) 72%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:460px;padding:28px}.tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:2px;margin:12px 0 16px;padding-bottom:0;display:flex}.tabs a{color:var(--muted);background:0 0;border:1px solid #0000;border-bottom:0;border-radius:0;margin-bottom:-1px;padding:8px 14px;font-size:14px}.tabs a:hover{color:var(--text);text-decoration:none}.tabs a.on{background:color-mix(in srgb, var(--surface) 75%, transparent);color:var(--text);border-color:var(--border);border-top:2px solid var(--brand);font-weight:600}.bar{align-items:flex-end;gap:8px;height:140px;margin-top:8px;display:flex}.bar div{background:var(--brand);border-radius:0;flex:1;min-height:2px;position:relative}.bar span{text-align:center;color:var(--muted);font-size:11px;position:absolute;bottom:-20px;left:0;right:0}.meter{background:var(--bg);border:1px solid var(--border);border-radius:0;height:8px;margin-top:10px;overflow:hidden}.meter div{background:var(--brand);height:100%;transition:width .3s}@media (max-width:800px){.shell{grid-template-columns:1fr}.side{border-right:0;border-bottom:1px solid var(--border);height:auto;position:static}.side nav{flex-flow:wrap;gap:4px;display:flex}.side nav a{border-bottom:2px solid #0000;border-left:0}.side nav a:hover{border-bottom-color:var(--brand)}.side form{margin-top:12px}.row{grid-template-columns:1fr}}
