:root{--bg:#08111f;--panel:#111d2f;--panel2:#18263b;--line:#2b3d57;--text:#edf3fb;--muted:#93a4ba;--blue:#4f8cff;--cyan:#44d4c4;--danger:#ff7b81;--shadow:0 28px 80px rgba(0,0,0,.38)}
*{box-sizing:border-box}body{margin:0;min-height:100vh;font:15px/1.5 Inter,Segoe UI,Arial,sans-serif;color:var(--text);background:radial-gradient(circle at 15% 0,#173057 0,transparent 35%),radial-gradient(circle at 90% 15%,#123c3c 0,transparent 28%),var(--bg)}
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:28px}.auth-card{width:min(1040px,100%);display:grid;grid-template-columns:1.05fr .95fr;background:rgba(17,29,47,.94);border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}
.auth-intro{padding:56px;background:linear-gradient(145deg,rgba(79,140,255,.18),rgba(68,212,196,.05))}.mark{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,var(--blue),var(--cyan));font-weight:900;font-size:24px}.eyebrow{margin:30px 0 8px;color:var(--cyan);text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:800}.auth-intro h1{margin:0 0 16px;font-size:42px;line-height:1.05}.auth-intro p{color:var(--muted);max-width:520px}.auth-points{display:grid;gap:12px;margin-top:30px}.auth-point{display:flex;gap:12px;align-items:flex-start}.check{color:var(--cyan);font-weight:900}
.auth-form-wrap{padding:48px}.test-badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:#25395a;color:#bcd2ff;font-size:12px;font-weight:800}.auth-form-wrap h2{font-size:26px;margin:18px 0 6px}.muted{color:var(--muted)}label{display:block;color:#cbd8e8;font-weight:700;font-size:13px;margin:18px 0 7px}input,select{width:100%;padding:12px 13px;border-radius:10px;border:1px solid var(--line);background:#0b1627;color:var(--text);font:inherit;outline:none}input:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(79,140,255,.16)}button{font:inherit}.primary{width:100%;border:0;border-radius:10px;padding:13px;margin-top:20px;background:linear-gradient(135deg,var(--blue),#6b72ff);color:white;font-weight:800;cursor:pointer}.primary:disabled{opacity:.55;cursor:wait}.error{min-height:22px;color:#ffafb2;margin-top:12px}.demo{margin-top:23px;padding:14px;border-radius:12px;background:#0b1627;border:1px solid var(--line)}.demo summary{cursor:pointer;font-weight:800}.demo table{width:100%;margin-top:10px;border-collapse:collapse;font-size:12px}.demo td{padding:5px;border-bottom:1px solid #23334a;color:var(--muted)}.demo td:first-child{color:var(--text);font-weight:700}
.admin-shell{width:min(1180px,calc(100% - 32px));margin:24px auto 70px}.admin-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.admin-top h1{margin:3px 0}.admin-actions{display:flex;gap:8px}.ghost,.small{border:1px solid var(--line);border-radius:9px;background:var(--panel2);color:var(--text);padding:9px 12px;cursor:pointer;text-decoration:none}.admin-grid{display:grid;grid-template-columns:1fr 340px;gap:20px}.panel{background:rgba(17,29,47,.95);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--shadow)}.panel h2{margin:0 0 4px}.user-table{width:100%;border-collapse:collapse;margin-top:16px}.user-table th,.user-table td{text-align:left;padding:11px 9px;border-bottom:1px solid var(--line);vertical-align:middle}.user-table th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.user-table select{min-width:150px;padding:8px}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px;background:var(--cyan)}.status-dot.off{background:var(--danger)}.stack{display:grid;gap:12px}.stack label{margin:0}.audit{margin-top:20px}.audit-list{display:grid;gap:8px;margin-top:14px}.audit-item{padding:11px;border-radius:10px;background:#0b1627;border:1px solid #24344c}.audit-item strong{display:block}.audit-item small{color:var(--muted)}
.test-strip{position:fixed;z-index:50;right:18px;bottom:18px;display:flex;align-items:center;gap:10px;padding:8px 10px 8px 13px;border-radius:12px;background:#101c2d;border:1px solid #36527a;box-shadow:0 14px 38px rgba(0,0,0,.32);color:#dbe8f8;font:12px/1.2 Inter,Segoe UI,Arial,sans-serif}.test-strip b{color:#61e3d3}.test-strip button,.test-strip a{border:1px solid #385376;background:#1a2b43;color:#eff6ff;border-radius:7px;padding:6px 8px;text-decoration:none;cursor:pointer;font-weight:700}.permission-denied{opacity:.42!important;cursor:not-allowed!important;filter:grayscale(.7)}
@media(max-width:800px){.auth-card{grid-template-columns:1fr}.auth-intro{padding:32px}.auth-form-wrap{padding:32px}.auth-intro h1{font-size:34px}.admin-grid{grid-template-columns:1fr}.admin-top{align-items:flex-start;flex-direction:column}.test-strip{left:10px;right:10px;justify-content:center;flex-wrap:wrap}}
