
:root{--bg:#f4f7fb;--card:#fff;--text:#172033;--muted:#64748b;--line:#e2e8f0;--primary:#1d4ed8;--side:#0f172a;--sideText:#e5e7eb}
[data-bs-theme="dark"]{--bg:#0b1220;--card:#111827;--text:#e5e7eb;--muted:#94a3b8;--line:#263244;--primary:#60a5fa;--side:#020617;--sideText:#e5e7eb}
*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}
.app-shell{display:flex;min-height:100vh}.sidebar{width:290px;background:var(--side);color:var(--sideText);padding:18px;display:flex;flex-direction:column;gap:18px}
.brand{display:flex;gap:12px;align-items:center}.brand-logo{width:54px;height:54px;border-radius:16px;background:linear-gradient(135deg,#1d4ed8,#0ea5e9);display:grid;place-items:center;font-weight:800}
.brand-title{font-size:18px;font-weight:800}.brand-sub{font-size:12px;color:#9ca3af}
nav{display:flex;flex-direction:column;gap:8px}nav a{color:var(--sideText);text-decoration:none;padding:12px;border-radius:14px}nav a.active,nav a:hover{background:rgba(255,255,255,.11)}
.license-box{margin-top:auto;font-size:12px;line-height:1.5;color:#cbd5e1;border-top:1px solid rgba(255,255,255,.12);padding-top:14px}
.content{flex:1;padding:24px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.topbar h1{margin:0;font-size:26px}.topbar p{margin:4px 0 0;color:var(--muted)}
.page-card,.card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:0 14px 30px rgba(15,23,42,.06)}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric{background:var(--bg);border:1px solid var(--line);border-radius:18px;padding:16px}.metric b{font-size:28px;display:block}.muted{color:var(--muted)}
.btn{border:0;background:var(--primary);color:white;border-radius:14px;padding:10px 14px;cursor:pointer}.btn.secondary{background:#475569}.table{width:100%;border-collapse:collapse;margin-top:12px}
.table th,.table td{padding:10px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}.table th{color:var(--muted)}
.form-row{display:grid;grid-template-columns:180px 1fr;gap:10px;margin-bottom:12px;align-items:center}.input{width:100%;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--text)}
.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#dbeafe;color:#1e40af;font-size:12px}.codebox{background:var(--bg);border:1px solid var(--line);padding:12px;border-radius:14px;overflow:auto}
@media(max-width:900px){.app-shell{flex-direction:column}.sidebar{width:100%}.grid{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:flex-start;gap:10px}}
