:root { --bg:#f5f6f8; --card:#fff; --text:#1d2330; --muted:#667085; --accent:#0a66c2; --border:#e4e7ec; }
* { box-sizing: border-box; }
body { margin:0; font:15px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif; background:var(--bg); color:var(--text); }
a { color:var(--accent); }
.topbar { display:flex; justify-content:space-between; align-items:center; padding:12px 24px; background:var(--card); border-bottom:1px solid var(--border); }
.topbar nav a { margin-left:16px; text-decoration:none; }
.brand { font-weight:700; text-decoration:none; color:var(--text); }
.container { max-width:1200px; margin:0 auto; padding:24px 16px; }
.card { background:var(--card); border:1px solid var(--border); border-radius:8px; padding:20px; display:flex; flex-direction:column; gap:10px; }
.narrow { max-width:420px; margin:40px auto; }
.stats, .actions { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:16px; margin-bottom:24px; }
.stats strong { font-size:1.5rem; }
.muted, small { color:var(--muted); }
label { display:flex; flex-direction:column; gap:4px; font-weight:500; }
input, textarea { padding:8px 10px; border:1px solid var(--border); border-radius:6px; font:inherit; }
button { padding:10px 14px; background:var(--accent); color:#fff; border:0; border-radius:6px; font:inherit; cursor:pointer; }
table { width:100%; border-collapse:collapse; background:var(--card); border:1px solid var(--border); }
th, td { text-align:left; padding:8px 12px; border-bottom:1px solid var(--border); }
.flash { padding:10px 14px; border-radius:6px; margin-bottom:16px; }
.flash-success { background:#e7f6ec; color:#125c2b; }
.flash-error { background:#fdecec; color:#8a1c1c; }
