:root{--bg: #f4f5fb;--surface: #ffffff;--line: #e7e9f2;--text: #1f2340;--muted: #6b7090;--primary: #6d28d9;--primary-2: #7c3aed;--gold: #f59e0b;--ok: #16a34a;--ok-bg: #e7f6ec;--warn-bg: #fef3e2;--danger: #dc2626;--danger-bg: #fdecec;font-family:Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:15px}h1{font-size:26px;margin:0 0 4px}h2{font-size:20px;margin:0 0 14px}h3{font-size:15px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:22px 0 10px}a{color:var(--primary);text-decoration:none;font-weight:600}.err{color:var(--danger)}.ok{color:var(--ok);font-weight:600}.page{max-width:1040px;margin:0 auto;padding:24px}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 1px 3px #14143c0d}.pad{padding:20px 22px}.appbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:12px 22px;background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.brand{font-weight:800;font-size:18px;color:var(--primary);display:flex;align-items:center;gap:8px}.brand .mark{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font-size:15px;background:linear-gradient(140deg,var(--primary-2),var(--gold));color:#fff}.appbar .spacer{margin-left:auto}.nav{display:flex;gap:6px}.nav button{background:transparent;border:none;color:var(--muted);font-weight:600;padding:8px 14px;border-radius:999px}.nav button:hover{background:#f0edfb;color:var(--primary)}.nav button.active{background:#ede9fe;color:var(--primary)}button{font:inherit;font-weight:600;cursor:pointer;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--text);padding:9px 15px;transition:background .15s,box-shadow .15s,transform .1s}button:hover{background:#faf9ff}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:default}.primary{border:none;color:#fff;background:linear-gradient(180deg,var(--primary-2),var(--primary));box-shadow:0 6px 16px #6d28d947}.primary:hover{filter:brightness(1.06);background:linear-gradient(180deg,var(--primary-2),var(--primary))}.danger{color:var(--danger);border-color:#f3c9c9;background:var(--danger-bg)}input,select{font:inherit;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text);outline:none}input:focus,select:focus{border-color:var(--primary-2);box-shadow:0 0 0 3px #7c3aed26}label{font-weight:600;font-size:13px;color:var(--muted)}table{border-collapse:separate;border-spacing:0;width:100%;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}th,td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line)}th{background:#faf9ff;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}tr:last-child td{border-bottom:none}tbody tr:hover{background:#fcfbff}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700}.badge-ok{background:var(--ok-bg);color:var(--ok)}.badge-warn{background:var(--warn-bg);color:#b45309}.badge-off{background:#eef0f6;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:14px;margin:4px 0 18px}.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px}.stat .label{font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.stat .value{font-size:28px;font-weight:800;margin-top:4px}.stat.accent .value{color:var(--primary)}.login-wrap{min-height:100vh;display:grid;place-items:center;background:radial-gradient(1000px 700px at 50% -10%,#7c3aed,#5b21b6 45%,#3b1078);padding:24px}.login-card{width:100%;max-width:360px;background:#fff;border-radius:20px;padding:28px;box-shadow:0 30px 70px #00000059;display:grid;gap:12px}.login-card .brand{font-size:22px;justify-content:center;margin-bottom:4px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.muted{color:var(--muted)}.problems{list-style:none;padding:12px 16px;margin:12px 0 0;border-radius:12px;background:var(--danger-bg);color:var(--danger)}.problems li{margin:3px 0;font-size:14px}.version-pill{position:fixed;bottom:10px;right:12px;z-index:20;font-size:11px;font-weight:600;color:var(--muted);background:#fff;border:1px solid var(--line);padding:3px 10px;border-radius:999px;box-shadow:0 1px 3px #14143c14}
