:root {
    --bg: #0f172a;
    --bg-soft: #111827;
    --card: #ffffff;
    --line: #dbe4ee;
    --text: #122033;
    --muted: #5b6b80;
    --primary: #2563eb;
    --success: #0f9d58;
    --danger: #dc2626;
}
* { box-sizing: border-box; }
body { margin:0; font-family:Segoe UI, Arial, sans-serif; background:#f3f6fb; color:var(--text); }
.container { width:min(1180px, calc(100% - 32px)); margin:0 auto; }
.topbar { background:linear-gradient(135deg, #0f172a, #1e3a8a); color:#fff; padding:18px 0; margin-bottom:24px; }
.topbar-inner { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand { color:#fff; text-decoration:none; font-size:1.7rem; font-weight:700; }
.subtitle { color:#dbeafe; font-size:.92rem; margin-top:4px; }
.nav { display:flex; gap:10px; flex-wrap:wrap; }
.nav a { color:#fff; text-decoration:none; padding:10px 14px; border-radius:10px; }
.nav a.active, .nav a:hover { background:rgba(255,255,255,.13); }
.card { background:var(--card); border:1px solid var(--line); border-radius:18px; padding:20px; box-shadow:0 8px 24px rgba(15,23,42,.06); }
.grid { display:grid; gap:18px; }
.grid-2 { grid-template-columns:2fr 1fr; }
.grid-3 { grid-template-columns:repeat(3,1fr); }
@media (max-width: 900px){ .grid-2,.grid-3{ grid-template-columns:1fr; } .topbar-inner{flex-direction:column; align-items:flex-start;} }
h1,h2,h3 { margin-top:0; }
input, select, textarea { width:100%; padding:12px 14px; border-radius:12px; border:1px solid #cbd5e1; font:inherit; background:#fff; }
textarea { min-height:140px; resize:vertical; }
button, .btn { display:inline-block; background:var(--primary); color:#fff; border:none; border-radius:12px; padding:11px 16px; cursor:pointer; text-decoration:none; font-weight:600; }
.btn.secondary { background:#64748b; }
.btn.danger { background:var(--danger); }
.btn.success { background:var(--success); }
.toolbar { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:10px; }
.toolbar button { padding:8px 12px; border-radius:10px; background:#e2e8f0; color:#0f172a; }
.article-content { line-height:1.7; }
.article-content pre { background:#0f172a; color:#e2e8f0; padding:16px; border-radius:14px; overflow:auto; }
.article-content code { background:#eef2ff; padding:2px 6px; border-radius:6px; }
.table { width:100%; border-collapse:collapse; }
.table th, .table td { border-bottom:1px solid var(--line); text-align:left; padding:12px 10px; vertical-align:top; }
.table th { color:var(--muted); font-size:.92rem; }
.badge { display:inline-block; padding:6px 10px; border-radius:999px; background:#e0e7ff; color:#1d4ed8; font-size:.85rem; font-weight:700; }
.meta { color:var(--muted); font-size:.92rem; }
.alert { padding:14px 16px; border-radius:12px; margin-bottom:16px; }
.alert.success { background:#dcfce7; color:#166534; }
.alert.error { background:#fee2e2; color:#991b1b; }
.searchbar { display:flex; gap:12px; }
.searchbar input { flex:1; }
.searchbar button { white-space:nowrap; }
.footer { padding:28px 0 40px; color:#64748b; }
.kpi { font-size:2rem; font-weight:800; }
.small-actions { display:flex; gap:8px; flex-wrap:wrap; }
label { display:block; font-weight:700; margin-bottom:8px; }
.form-group { margin-bottom:16px; }
