*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f5f7fb;color:#172033}.app{min-height:100vh;display:flex}.sidebar{width:250px;background:#0f172a;color:#fff;padding:22px 14px;position:fixed;left:0;top:0;bottom:0;display:flex;flex-direction:column}.brand{font-size:20px;font-weight:800;padding:0 12px}.brand-sub{color:#94a3b8;font-size:13px;padding:4px 12px 18px}.sidebar nav{display:flex;flex-direction:column;gap:4px}.sidebar nav a{color:#cbd5e1;text-decoration:none;padding:10px 12px;border-radius:10px;font-size:14px}.sidebar nav a:hover,.sidebar nav a.active{background:#1e293b;color:#fff}.sidebar-bottom{margin-top:auto;border-top:1px solid #1e293b;padding-top:15px}.user-mini{display:flex;flex-direction:column;padding:0 12px 10px;font-size:13px}.user-mini span{color:#94a3b8;font-size:11px;margin-top:2px}.logout{display:block;text-decoration:none;color:#fecaca;padding:10px 12px}.content{margin-left:250px;width:calc(100% - 250px);padding:28px;max-width:1600px}.page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px}.eyebrow{font-size:12px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.08em}.page-head h1{margin:6px 0 5px;font-size:30px}.muted{color:#64748b}.btn{display:inline-block;text-decoration:none;border-radius:10px;padding:10px 14px;font-weight:700;font-size:13px}.btn.outline{border:1px solid #cbd5e1;background:#fff;color:#0f172a}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:15px}.stat,.panel{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 5px 18px rgba(15,23,42,.04)}.stat{padding:18px}.stat span{display:block;color:#64748b;font-size:13px}.stat b{display:block;font-size:25px;margin-top:7px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:15px}.panel{padding:18px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.panel-head h2{margin:0;font-size:17px}.tag{font-size:11px;background:#eef2ff;padding:6px 8px;border-radius:999px;color:#4338ca}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid #eef2f7;white-space:nowrap}th{font-size:11px;text-transform:uppercase;color:#64748b}code{font-size:11px}.points{font-weight:800}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.summary-grid div{background:#f8fafc;padding:13px;border-radius:10px}.summary-grid span{display:block;color:#64748b;font-size:11px}.summary-grid strong{display:block;margin-top:5px}.note{padding:14px 2px;color:#64748b;font-size:12px}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#ecfdf5,#eff6ff);padding:20px}.login-card{width:min(420px,100%);background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:30px;box-shadow:0 20px 50px rgba(15,23,42,.10)}.logo{font-size:48px}.login-card h1{margin:4px 0;font-size:24px}.login-card label{display:block;font-size:13px;font-weight:700;margin:12px 0 6px}.login-card input{width:100%;padding:12px;border:1px solid #cbd5e1;border-radius:10px;font-size:15px}.btn.primary{margin-top:15px;border:0;background:#166534;color:#fff;width:100%;cursor:pointer}.alert{padding:12px;border-radius:10px;margin-top:14px;font-size:13px}.alert.error{background:#fef2f2;color:#991b1b}.back{display:block;text-align:center;margin-top:17px;color:#64748b;text-decoration:none;font-size:13px}@media(max-width:1100px){.stats{grid-template-columns:1fr 1fr}.grid-2{grid-template-columns:1fr}}@media(max-width:800px){.sidebar{position:static;width:100%;height:auto}.sidebar nav{display:grid;grid-template-columns:1fr 1fr}.sidebar-bottom{margin-top:14px}.app{display:block}.content{margin-left:0;width:100%;padding:18px}.page-head{flex-direction:column}}@media(max-width:520px){.stats{grid-template-columns:1fr}.sidebar nav{grid-template-columns:1fr}.content{padding:12px}}


/* ===== SHARED ADMIN NAVBAR ===== */
.admin-nav{display:flex;flex-direction:column;gap:4px}
.admin-nav a{display:flex;align-items:center;gap:9px;color:#cbd5e1;text-decoration:none;padding:10px 12px;border-radius:10px;font-size:14px;transition:.15s ease}
.admin-nav a:hover{background:#1e293b;color:#fff;transform:translateX(1px)}
.admin-nav a.active{background:#2563eb;color:#fff;box-shadow:0 4px 12px rgba(37,99,235,.22)}
.admin-nav a span:first-child{width:20px;text-align:center}
