:root{--ink:#142033;--muted:#667085;--line:#e5e7eb;--bg:#f5f7fb;--panel:#fff;--brand:#13315c;--brand2:#0b6b61;--danger:#b42318;--warning:#a15c00;--success:#16794a;--radius:16px}
*{box-sizing:border-box}body{margin:0;font:15px/1.45 Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--ink)}a{color:inherit;text-decoration:none}.layout{min-height:100vh;display:flex}.sidebar{width:250px;background:var(--brand);color:#fff;padding:24px 14px;position:fixed;inset:0 auto 0 0;overflow:auto}.brand{font-size:21px;font-weight:800;padding:2px 12px 22px}.brand span{display:block;font-size:12px;font-weight:500;color:#bcd0ee;margin-top:4px}.nav a{display:block;padding:10px 12px;border-radius:10px;color:#dfeaff;margin:4px 0}.nav a:hover,.nav a.active{background:rgba(255,255,255,.15);color:#fff}.content{width:calc(100% - 250px);margin-left:250px;padding:28px 34px 48px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.topbar h1{font-size:25px;margin:0}.sub{color:var(--muted);font-size:13px}.btn{display:inline-flex;gap:7px;align-items:center;padding:9px 12px;border-radius:9px;background:var(--brand);border:1px solid var(--brand);color:#fff;font-weight:700;cursor:pointer}.btn.secondary{background:#fff;color:var(--brand);border-color:#cbd5e1}.btn.danger{background:var(--danger);border-color:var(--danger)}.btn.small{padding:6px 9px;font-size:12px}.grid{display:grid;gap:16px}.grid.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.two{grid-template-columns:1fr 1fr}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:0 1px 3px rgba(16,24,40,.04)}.kpi .label{font-size:12px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.03em}.kpi .value{font-size:25px;font-weight:800;margin:7px 0}.kpi .hint{font-size:12px;color:var(--muted)}.positive{color:var(--success)}.negative{color:var(--danger)}.warning{color:var(--warning)}.section-head{display:flex;justify-content:space-between;align-items:center;margin:22px 0 10px}.section-head h2{font-size:17px;margin:0}.alert{padding:12px 14px;border-radius:10px;margin:12px 0}.alert.success{background:#ecfdf3;color:#067647}.alert.error{background:#fef3f2;color:#b42318}.alert.warning{background:#fffaeb;color:#a15c00}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;text-transform:uppercase;color:var(--muted);letter-spacing:.03em}.pill{padding:4px 8px;border-radius:99px;font-size:11px;font-weight:800;background:#eef2ff;color:#3730a3;display:inline-block}.pill.ok{background:#ecfdf3;color:#067647}.pill.warn{background:#fffaeb;color:#a15c00}.pill.bad{background:#fef3f2;color:#b42318}form.grid-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.full{grid-column:1/-1}label{font-size:12px;font-weight:800;color:#344054;display:block;margin-bottom:5px}input,select,textarea{width:100%;padding:10px;border:1px solid #d0d5dd;border-radius:9px;background:#fff;font:inherit}textarea{min-height:84px}input:focus,select:focus,textarea:focus{outline:2px solid #cce5ff;border-color:#5b9bd5}.login-wrap{min-height:100vh;display:grid;place-items:center;background:linear-gradient(130deg,#10264a,#0b6b61)}.login-card{width:min(430px,calc(100vw - 32px));background:#fff;border-radius:18px;padding:28px;box-shadow:0 30px 60px rgba(0,0,0,.25)}.login-card h1{margin:0 0 5px}.login-card p{color:var(--muted);margin-top:0}.login-card form{display:grid;gap:13px}.muted{color:var(--muted)}.empty{padding:22px;text-align:center;color:var(--muted)}.progress{height:9px;background:#edf2f7;border-radius:99px;overflow:hidden}.progress>span{display:block;height:100%;background:var(--brand2)}.health{display:flex;gap:10px;align-items:center}.health .score{font-size:28px;font-weight:900}.right{text-align:right}@media(max-width:980px){.sidebar{position:static;width:100%;height:auto}.layout{display:block}.content{width:100%;margin:0;padding:18px}.grid.kpis,.grid.two{grid-template-columns:1fr 1fr}.sidebar .nav{display:flex;gap:4px;overflow:auto}.nav a{white-space:nowrap}.brand{padding-bottom:10px}}@media(max-width:620px){.grid.kpis,.grid.two,form.grid-form{grid-template-columns:1fr}.content{padding:16px}.topbar{align-items:flex-start;gap:10px;flex-direction:column}table{font-size:13px;display:block;overflow:auto}.hide-mobile{display:none}}
