:root {
  color-scheme: dark;
  --bg:#0e1116; --bg-2:#161b22; --bg-3:#1f2630; --fg:#e6edf3; --fg-dim:#9aa6b2;
  --accent:#58a6ff; --accent-2:#1f6feb; --ok:#3fb950; --warn:#d29922; --err:#f85149;
  --border:#30363d; --radius:8px;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Inter",sans-serif;
  --mono:ui-monospace,"SFMono-Regular","JetBrains Mono",Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:14px}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.muted{color:var(--fg-dim)}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;border-bottom:1px solid var(--border);background:var(--bg-2)}
.topbar h1{margin:0;font-size:16px}
.topbar nav a{margin-left:16px}
.container{max-width:1100px;margin:0 auto;padding:32px 24px 64px}
.hero{padding:32px 0}
.hero h2{font-size:28px;margin:0 0 8px}
.row{display:flex;gap:12px;margin:16px 0}
.btn{display:inline-block;padding:8px 14px;border-radius:6px;background:var(--bg-3);color:var(--fg);border:1px solid var(--border)}
.btn.primary{background:var(--accent-2);border-color:var(--accent-2);color:#fff}
.btn:hover{text-decoration:none;background:var(--accent);color:#fff}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:12px}
.card{background:var(--bg-2);border:1px solid var(--border);padding:16px;border-radius:var(--radius)}
.card h4{margin:0 0 8px}
footer{padding:16px 24px;border-top:1px solid var(--border);text-align:center;background:var(--bg-2)}

/* Admin layout */
.app{display:grid;grid-template-columns:220px 1fr;min-height:100vh}
.sidebar{background:var(--bg-2);border-right:1px solid var(--border);padding:16px 0}
.sidebar h2{margin:0 16px 8px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-dim)}
.sidebar nav a{display:block;padding:8px 16px;color:var(--fg);border-left:3px solid transparent}
.sidebar nav a.active{border-left-color:var(--accent);background:var(--bg-3)}
.sidebar nav a:hover{background:var(--bg-3);text-decoration:none}
.main{padding:24px}
.main h1{margin:0 0 16px;font-size:22px}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.tile{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);padding:16px}
.tile .label{color:var(--fg-dim);font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.tile .value{font-size:24px;font-weight:600;margin-top:6px}
.tile .value.ok{color:var(--ok)} .tile .value.warn{color:var(--warn)} .tile .value.err{color:var(--err)}
table{width:100%;border-collapse:collapse;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
th,td{text-align:left;padding:8px 12px;border-bottom:1px solid var(--border);font-size:13px;vertical-align:top}
th{background:var(--bg-3);color:var(--fg-dim);font-weight:600;text-transform:uppercase;letter-spacing:.05em;font-size:11px}
tr:last-child td{border-bottom:0}
code,pre{font-family:var(--mono);font-size:12px}
pre{background:var(--bg);border:1px solid var(--border);padding:12px;border-radius:6px;overflow:auto}
input,select,textarea{background:var(--bg-2);border:1px solid var(--border);color:var(--fg);padding:6px 10px;border-radius:6px;outline:none;font-family:inherit;font-size:inherit}
input:focus,select:focus{border-color:var(--accent)}
button{background:var(--accent-2);color:#fff;border:0;padding:8px 14px;border-radius:6px;cursor:pointer}
button:hover{background:var(--accent)}
button.secondary{background:var(--bg-3);color:var(--fg)}
button.danger{background:var(--err)}
.form-row{display:flex;gap:8px;align-items:center;margin-bottom:10px}
.form-row label{width:140px;color:var(--fg-dim);font-size:12px}
.form-row input,.form-row select,.form-row textarea{flex:1}
.toolbar{display:flex;gap:8px;margin-bottom:16px;align-items:center}
.toolbar .spacer{flex:1}
.badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;text-transform:uppercase;background:var(--bg-3);color:var(--fg-dim)}
.badge.ok{background:rgba(63,185,80,.15);color:var(--ok)}
.badge.warn{background:rgba(210,153,34,.15);color:var(--warn)}
.badge.err{background:rgba(248,81,73,.15);color:var(--err)}
.tag{display:inline-block;background:var(--bg-3);padding:2px 6px;border-radius:4px;font-family:var(--mono);font-size:11px}
.error{color:var(--err);margin-top:8px;font-size:12px}
.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px}
.login-card{width:100%;max-width:400px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);padding:32px}
hr{border:0;border-top:1px solid var(--border);margin:16px 0}
