:root{--bg-0: #070b14;--bg-1: #0b1220;--bg-2: #121a2b;--bg-3: #182235;--line: rgba(148, 163, 184, .16);--text: #e8eef7;--muted: #93a0b5;--accent: #7dd3c7;--accent-2: #5bb8ab;--warn: #f0b429;--danger: #ef6b6b;--ok: #5dcc8a;--sidebar: 260px;--nav-h: 56px;--radius: 10px;--font: "IBM Plex Sans", "Segoe UI", sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace;--shadow: 0 18px 50px rgba(0, 0, 0, .35)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font);color:var(--text);background:radial-gradient(1200px 600px at 10% -10%,rgba(125,211,199,.12),transparent 55%),radial-gradient(900px 500px at 90% 0%,rgba(240,180,41,.08),transparent 50%),linear-gradient(180deg,var(--bg-0),var(--bg-1) 40%,#09101c);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}.mono{font-family:var(--mono)}.app-shell{display:grid;grid-template-columns:var(--sidebar) 1fr;min-height:100vh}.sidebar{border-right:1px solid var(--line);background:#0b1220eb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1.25rem 1rem;display:flex;flex-direction:column;gap:1.5rem;position:sticky;top:0;height:100vh}.brand{display:flex;flex-direction:column;gap:.35rem;padding:.25rem .5rem}.brand-name{font-size:1.15rem;font-weight:700;letter-spacing:.02em}.brand-sub{color:var(--muted);font-size:.8rem}.env-badge{display:inline-flex;align-items:center;width:fit-content;padding:.15rem .45rem;border-radius:4px;font-family:var(--mono);font-size:.7rem;font-weight:500;letter-spacing:.06em;background:#f0b42926;color:var(--warn);border:1px solid rgba(240,180,41,.35)}.nav{display:flex;flex-direction:column;gap:.25rem}.nav a{padding:.7rem .8rem;border-radius:8px;color:var(--muted);transition:background .15s ease,color .15s ease;min-height:44px;display:flex;align-items:center}.nav a:hover,.nav a.active{background:#7dd3c71a;color:var(--text)}.nav a.active{box-shadow:inset 2px 0 0 var(--accent)}.main{display:flex;flex-direction:column;min-width:0}.topbar{height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;padding:0 1.25rem;border-bottom:1px solid var(--line);background:#070b148c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:5}.content{padding:1.25rem;animation:fadeIn .25s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.page-title{margin:0 0 .35rem;font-size:1.55rem;font-weight:650}.page-lead{margin:0 0 1.25rem;color:var(--muted);max-width:60ch}.panel{background:#121a2bbf;border:1px solid var(--line);border-radius:var(--radius);padding:1rem}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:#121a2b99}table{width:100%;border-collapse:collapse;min-width:720px}th,td{text-align:left;padding:.75rem .9rem;border-bottom:1px solid var(--line);font-size:.92rem}th{color:var(--muted);font-weight:500;background:#0000002e;position:sticky;top:0}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;border-radius:8px;padding:.65rem 1rem;min-height:44px;background:var(--accent);color:#06201c;font-weight:600;transition:transform .12s ease,background .12s ease}.btn:hover{background:var(--accent-2)}.btn:active{transform:scale(.98)}.btn.secondary{background:transparent;color:var(--text);border-color:var(--line)}.btn.danger{background:#ef6b6b26;color:#ffb4b4;border-color:#ef6b6b59}.btn.ghost{background:transparent;color:var(--muted);border-color:transparent}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.9rem}.field label{font-size:.82rem;color:var(--muted)}.field input,.field textarea,.field select{background:var(--bg-0);border:1px solid var(--line);border-radius:8px;color:var(--text);padding:.7rem .8rem;min-height:44px}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid rgba(125,211,199,.35);border-color:var(--accent)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin-bottom:1.25rem}.stat{padding:1rem;border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(180deg,#182235e6,#0c1220e6)}.stat strong{display:block;font-size:1.4rem;margin-top:.25rem}.stat span{color:var(--muted);font-size:.82rem}.tag{display:inline-flex;align-items:center;padding:.15rem .45rem;border-radius:999px;font-size:.75rem;border:1px solid var(--line);color:var(--muted)}.tag.ok{color:var(--ok);border-color:#5dcc8a59;background:#5dcc8a14}.tag.warn{color:var(--warn);border-color:#f0b42959;background:#f0b42914}.tag.danger{color:var(--danger);border-color:#ef6b6b59;background:#ef6b6b14}.login-page{min-height:100vh;display:grid;place-items:center;padding:1.25rem}.login-card{width:min(420px,100%);padding:1.5rem;border-radius:14px;border:1px solid var(--line);background:#0c1220e0;box-shadow:var(--shadow);animation:fadeIn .35s ease}.login-card h1{margin:0 0 .25rem;font-size:1.6rem}.login-card p{margin:0 0 1.25rem;color:var(--muted)}.field-footer{display:flex;justify-content:flex-end;margin-top:.45rem}.text-link{color:var(--accent);font-size:.9rem;text-decoration:underline;text-underline-offset:2px}.text-link:hover{color:var(--accent-2)}.checkbox-row{display:flex;align-items:center;gap:.5rem;color:var(--muted);font-size:.9rem;margin:.25rem 0 .75rem}.success{color:var(--ok);font-size:.95rem;margin:.5rem 0 1rem;line-height:1.45}.actions{display:flex;flex-wrap:wrap;gap:.6rem}.mobile-nav{display:none}.error{color:#ffb4b4;font-size:.9rem;margin:.5rem 0}.toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-bottom:1rem}.toolbar input{flex:1;min-width:180px;background:var(--bg-0);border:1px solid var(--line);border-radius:8px;color:var(--text);padding:.7rem .8rem;min-height:44px}.menu-toggle{display:none;background:transparent;border:1px solid var(--line);color:var(--text);border-radius:8px;min-width:44px;min-height:44px}.security-section{margin-bottom:1.5rem}.security-section h2{font-size:1.1rem;margin:0 0 .75rem}.row-current td{background:#7dd3c70f}.current-session{border-color:#7dd3c773}.mobile-cards{display:none;flex-direction:column;gap:.75rem}.desktop-only{display:block}.tester-card .actions{margin-top:.5rem}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{display:none;position:fixed;inset:0 auto 0 0;width:min(84vw,300px);z-index:20;height:100%}.sidebar.open{display:flex}.menu-toggle{display:inline-flex;align-items:center;justify-content:center}.mobile-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:15;background:#070b14f0;border-top:1px solid var(--line);padding:.35rem .5rem calc(.35rem + env(safe-area-inset-bottom));justify-content:space-around;gap:.25rem}.mobile-nav a{flex:1;text-align:center;padding:.65rem .25rem;min-height:48px;color:var(--muted);font-size:.75rem;border-radius:8px}.mobile-nav a.active{color:var(--accent);background:#7dd3c714}.content{padding:1rem 1rem 5.5rem}.stat-row,.grid-2{grid-template-columns:1fr}.mobile-cards{display:flex}.desktop-only,.desktop-table,.table-wrap{display:none}.security-section .table-wrap{display:block;overflow-x:auto}}
