:root{ --primary:#0b63c4; --accent:#A2D2FA; --ink:#1b2733; --muted:#67727e; }
*{box-sizing:border-box}
body{margin:0;background:#eef2f6;color:var(--ink);font-family:-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:15px;line-height:1.5}
a{color:var(--primary)}
.wrap{max-width:1000px;margin:0 auto;padding:18px}
.btn{display:inline-block;border:none;border-radius:9px;padding:11px 18px;font-size:15px;font-weight:700;cursor:pointer;background:var(--primary);color:#fff;text-decoration:none}
.btn:hover{filter:brightness(.93)}
.btn.ghost{background:#eef2f6;color:#243}
.btn.sm{padding:7px 12px;font-size:13px}
.card{background:#fff;border-radius:14px;box-shadow:0 4px 18px rgba(13,62,116,.08);padding:20px;margin-bottom:16px}
.muted{color:var(--muted)}
/* Topbar */
.topbar{background:#fff;border-bottom:1px solid #e1e7ee;display:flex;align-items:center;gap:6px;padding:10px 16px;flex-wrap:wrap}
.topbar .brand{font-weight:800;color:var(--primary);margin-right:10px}
.topbar a{color:#33414f;text-decoration:none;padding:7px 11px;border-radius:8px;font-size:14px}
.topbar a:hover{background:#f1f5f9}
.topbar a.active{background:var(--primary);color:#fff}
.topbar .sp{flex:1}
/* Stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
.stat{background:#fff;border-radius:14px;box-shadow:0 4px 18px rgba(13,62,116,.08);padding:16px;text-align:center}
.stat .n{font-size:26px;font-weight:800;color:var(--primary)}
.stat .l{font-size:13px;color:var(--muted);margin-top:2px}
/* Login */
.auth{max-width:400px;margin:8vh auto;padding:18px}
.auth .card{padding:26px}
.auth h1{font-size:20px;margin:0 0 4px}
.auth label{display:block;font-size:13px;color:var(--muted);margin:12px 0 4px}
.auth input{width:100%;padding:12px;border:1px solid #c3ccd5;border-radius:9px;font-size:15px}
.auth .btn{width:100%;margin-top:18px}
.err{background:#fbe3df;color:#9b2c1f;border-radius:9px;padding:10px 12px;font-size:14px;margin-bottom:12px}
.logo-top{text-align:center;margin-bottom:14px}
.logo-top .nm{font-weight:800;font-size:20px;color:var(--primary)}
@media(max-width:760px){ .stats{grid-template-columns:repeat(2,1fr)} }
