
:root{
  --bg:#f7fbff;
  --panel:#ffffff;
  --primary:#1e67ff;
  --primary-600:#1a56d6;
  --primary-100:#e6efff;
  --muted:#6b7280;
  --ok:#10b981;
  --error:#ef4444;
  --neg:#ef4444;
  --pos:#10b981;
  --shadow: 0 10px 30px rgba(0,0,0,.08);
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:#0f172a}
a{color:var(--primary);text-decoration:none}
.topbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:10px 18px;background:var(--panel);box-shadow:var(--shadow)}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;color:#0f172a}
.logo{width:28px;height:28px}
.top-actions .link{margin-right:12px}
.btn-primary,.btn-outline,.btn-inline,.link{display:inline-flex;align-items:center;border-radius:10px;padding:10px 14px;border:0;cursor:pointer;font-weight:600}
.btn-primary{background:var(--primary);color:#fff;box-shadow:var(--shadow)}
.btn-primary:hover{background:var(--primary-600)}
.btn-outline{border:2px solid var(--primary);color:var(--primary);background:#fff}
.btn-inline{border:1px solid #d1d5db;background:#fff}
.link{background:transparent;color:var(--primary);padding:0;border:none}
.sidebar{position:fixed;top:58px;bottom:0;width:240px;background:var(--panel);box-shadow:var(--shadow);padding:10px;overflow:auto}
.sidebar nav a{display:block;padding:10px 12px;border-radius:8px;color:#0f172a;margin:6px 0}
.sidebar nav a.active, .sidebar nav a:hover{background:var(--primary-100);color:var(--primary)}
.content{margin-left:260px;padding:20px;min-height:calc(100vh - 58px)}
.footer{padding:30px;color:var(--muted);text-align:center}
.card{background:var(--panel);border-radius:16px;box-shadow:var(--shadow);padding:18px;margin-bottom:18px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.grid-5{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.grid-2 .card.hero{grid-column:span 1}
.hero .kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:10px 0}
.kpi{background:linear-gradient(180deg,#fff, #f5f9ff);border:1px solid #eef2ff;border-radius:14px;padding:12px}
.kpi-label{color:var(--muted);font-size:12px}
.kpi-value{font-size:24px;font-weight:800}
.kpi-sub{color:var(--muted);font-size:12px}
.quotes blockquote{font-size:18px;margin:0 0 6px 0;padding-left:10px;border-left:4px solid var(--primary)}
.login-card{max-width:420px;margin:40px auto;background:var(--panel);padding:24px;border-radius:14px;box-shadow:var(--shadow)}
label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}
input, select{width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:10px}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:8px 10px;border-bottom:1px solid #eef2ff}
.table .neg{color:var(--neg);font-weight:600}
.table .pos{color:var(--pos);font-weight:600}
.toolbar{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.toolbar .spacer{flex:1}
.pill{background:var(--primary-100);color:var(--primary);padding:6px 10px;border-radius:999px}
.progress{height:8px;background:#eef2ff;border-radius:999px;overflow:hidden}
.progress > div{height:8px;background:var(--primary);transition:width .4s ease}
.alert{padding:10px 12px;border-radius:10px;margin-bottom:10px}
.alert.ok{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}
.alert.error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}
.muted{color:var(--muted)}
.small{font-size:12px}
.hint{margin-top:10px;color:var(--muted)}
.row{display:grid;grid-template-columns:160px 1fr;align-items:center;gap:10px}
.nowrap{white-space:nowrap}
.bullets{line-height:1.8}
@media (max-width:980px){
  .sidebar{position:static;width:auto;box-shadow:none}
  .content{margin-left:0}
  .grid-2,.grid-3,.grid-4,.grid-5{grid-template-columns:1fr}
  .hero .kpis{grid-template-columns:1fr 1fr}
}
