:root{--bg: #0f1117;--panel: #1a1d27;--panel-2: #232734;--text: #e7e9ee;--muted: #9aa0b0;--border: #2c3140;--accent: #5b8cff;--accent-hover: #4a7bef;--danger: #ff6b6b;--ok: #4ade80;--radius: 10px;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.auth-shell{min-height:100%;display:grid;place-items:center;padding:24px}.card{width:100%;max-width:400px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:28px}.brand{font-size:22px;font-weight:700;letter-spacing:-.02em;margin:0 0 4px}.subtitle{color:var(--muted);margin:0 0 22px;font-size:14px}.field{margin-bottom:16px}label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}input,select{width:100%;padding:10px 12px;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:15px}input:focus,select:focus{outline:none;border-color:var(--accent)}select{appearance:none;cursor:pointer}button.primary{width:100%;padding:11px 12px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer}button.primary:hover:not(:disabled){background:var(--accent-hover)}button.primary:disabled{opacity:.6;cursor:not-allowed}.error{background:#ff6b6b1f;border:1px solid rgba(255,107,107,.4);color:#ffb3b3;padding:10px 12px;border-radius:8px;font-size:14px;margin-bottom:16px}.notice{background:#5b8cff1a;border:1px solid rgba(91,140,255,.35);color:#b9ccff;padding:10px 12px;border-radius:8px;font-size:14px;margin-bottom:16px}.foot{margin-top:18px;font-size:14px;color:var(--muted);text-align:center}.hint{font-size:12px;color:var(--muted);margin-top:6px}.app{min-height:100%;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;border-bottom:1px solid var(--border);background:var(--panel)}.topbar .brand{font-size:18px;margin:0}.topbar .user{font-size:14px;color:var(--muted);display:flex;align-items:center;gap:14px}button.ghost{background:transparent;color:var(--text);border:1px solid var(--border);border-radius:8px;padding:7px 12px;font-size:14px;cursor:pointer}button.ghost:hover{background:var(--panel-2)}.content{padding:28px 22px;flex:1}.center-muted{color:var(--muted);display:grid;place-items:center;min-height:100%}
