:root{--primary:#8FD6FF;--ink:#1E2A44;--bg:#fff;--muted:#F6F8FB;--border:#E3EAF2}
:root[data-theme="dark"]{--bg:#0F1524;--ink:#E8EEF9;--muted:#121A2E;--border:#2A3550}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,Segoe UI,Roboto,Arial}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1rem;border-bottom:1px solid var(--border);background:var(--muted)}
.content{padding:1rem;max-width:1100px;margin:0 auto}
.card{padding:1rem;border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.06);margin-bottom:10px}
.btn{display:inline-block;padding:.6rem 1rem;border:1px solid var(--border);background:var(--primary);color:#00314B;border-radius:10px;cursor:pointer;text-decoration:none}
.input,select{width:100%;padding:.6rem .75rem;border:1px solid var(--border);border-radius:10px;font-size:1rem}
label{font-weight:600;display:block;margin:.25rem 0}
.auth-wrap{min-height:calc(100vh - 58px);display:grid;place-items:center;padding:2rem}
.auth-card{width:min(520px,92vw);padding:1.5rem;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.table{width:100%;border-collapse:collapse}
.table th,.table td{border:1px solid var(--border);padding:.6rem;text-align:left}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.badge{display:inline-block;padding:.2rem .55rem;border-radius:999px;border:1px solid var(--border);font-size:.85rem}