:root{--bg:#f5f7fa;--card:#fff;--ink:#172033;--muted:#687386;--accent:#1f5eff;--line:#e5e9f0}*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:var(--bg);color:var(--ink)}aside{position:fixed;left:0;top:0;bottom:0;width:230px;background:#111827;color:#fff;padding:24px 16px}aside h1{font-size:20px;margin:0 0 28px}nav a{display:block;color:#cbd5e1;text-decoration:none;padding:11px 12px;border-radius:8px;margin:3px 0}nav a:hover,nav a.active{background:#263247;color:#fff}main{margin-left:230px;padding:28px;max-width:1500px}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}h2{margin:0;font-size:26px}.grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:16px}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:0 1px 2px #00000008}.kpi b{display:block;font-size:26px;margin-top:7px}.muted{color:var(--muted);font-size:13px}.section{margin-top:18px}table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden}th,td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}th{background:#f8fafc;color:#536074}.btn{display:inline-block;background:var(--accent);color:#fff;padding:9px 13px;border:0;border-radius:8px;text-decoration:none;cursor:pointer}.btn.secondary{background:#eef2ff;color:#2445a5}.badge{padding:4px 8px;border-radius:99px;font-size:12px;background:#eef2f7}.bad{background:#fee2e2;color:#991b1b}.warn{background:#fff3cd;color:#8a5b00}.ok{background:#dcfce7;color:#166534}form .row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}label{display:block;font-size:13px;color:#536074;margin-bottom:5px}input,select,textarea{width:100%;padding:9px;border:1px solid #d8dee8;border-radius:7px;background:#fff}textarea{min-height:80px}.flash{background:#dcfce7;border:1px solid #86efac;padding:10px;border-radius:8px;margin-bottom:15px}@media(max-width:900px){aside{position:static;width:auto}main{margin-left:0}.grid{grid-template-columns:1fr 1fr}form .row{grid-template-columns:1fr}}
