* { box-sizing:border-box; }
body { margin:0; font-family:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background:#f6f7f9; color:#111; }
a { color:inherit; text-decoration:none; }
.login-page { min-height:100vh; display:grid; place-items:center; }
.login-card, .panel { background:#fff; border-radius:18px; padding:24px; box-shadow:0 12px 30px rgba(0,0,0,.06); }
.login-card { width:min(420px, calc(100vw - 32px)); }
label { display:block; margin:14px 0; font-weight:700; }
input, textarea, select { width:100%; margin-top:6px; padding:12px; border:1px solid #d7dce2; border-radius:10px; font:inherit; }
button { border:0; border-radius:10px; padding:12px 16px; background:#2563eb; color:#fff; font-weight:700; cursor:pointer; }
.sidebar { position:fixed; left:0; top:0; bottom:0; width:240px; background:#111; color:#fff; padding:20px; display:flex; flex-direction:column; gap:16px; }
.sidebar a { padding:10px 12px; border-radius:10px; background:rgba(255,255,255,.06); }
.content { margin-left:240px; padding:28px; }
.stats-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); gap:16px; }
.stat-card { background:#fff; padding:20px; border-radius:16px; box-shadow:0 12px 30px rgba(0,0,0,.06); }
table { width:100%; border-collapse:collapse; }
th, td { padding:12px; border-bottom:1px solid #e5e7eb; text-align:left; }
@media (max-width:800px) { .sidebar { position:static; width:auto; } .content { margin-left:0; } }

.sidebar-logout {
  width: 100%;
  margin-top: 18px;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,0.35);
  border-radius: 10px;
  background: rgba(255,255,255,0.08);
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}
.sidebar-logout:hover { background: rgba(255,255,255,0.18); }
