:root { color-scheme: light dark; }
* { box-sizing: border-box; }
body { margin: 0; font-family: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,'Helvetica Neue',sans-serif; }
.min-h { min-height: 100vh; background: var(--bg,#fff); color: var(--fg,#111); }
.dark .min-h { --bg:#0b0f14; --fg:#e6e6e6; }
.topbar { display:flex; justify-content:space-between; align-items:center; padding:10px 14px; border-bottom:1px solid #e5e7eb; }
.dark .topbar { border-color:#1f2937; }
.brand { font-weight:700; }
.actions { display:flex; gap:8px; align-items:center; }
.btn { padding:8px 12px; border-radius:10px; border:1px solid #d1d5db; background:transparent; cursor:pointer; text-decoration:none; color:inherit; }
.dark .btn { border-color:#374151; }
.btn.primary { background:#2563eb; color:#fff; border-color:#2563eb; }
.container { padding:24px; }
.grid { display:grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap:16px; }
.grid.two { grid-template-columns: repeat(2,minmax(0,1fr)); }
.card { background: var(--card,#fff); border:1px solid #e5e7eb; border-radius:12px; padding:16px; }
.dark .card { --card:#111827; border-color:#1f2937; }
.big { font-size:28px; margin-top:6px; }
.table { width:100%; border-collapse: collapse; }
.table th, .table td { padding:8px 10px; border-bottom:1px solid rgba(0,0,0,.05); }
.dark .table th, .dark .table td { border-bottom-color:#1f2937; }
.underline { text-decoration: underline; }
.login-page { display:grid; place-items:center; min-height:100vh; background: var(--bg,#f9fafb); }
.dark .login-page { --bg:#0b0f14; }
.login-card { width: 100%; max-width: 360px; background: var(--card,#fff); border:1px solid #e5e7eb; border-radius:12px; padding:20px; }
.dark .login-card { --card:#111827; border-color:#1f2937; }
.login-card h1 { margin-top:0; }
.login-card label { display:block; margin:10px 0; }
.login-card input { width:100%; padding:10px; border-radius:8px; border:1px solid #d1d5db; background:transparent; color:inherit; }
.alert { background:#fee2e2; color:#991b1b; padding:8px 10px; border-radius:8px; margin-bottom:8px; }
.user-label {
  margin-right: 12px;
  font-weight: 500;
  color: var(--fg);
}
