:root{--bg:#f5f7fb;--surface:#fff;--text:#122033;--muted:#5f7088;--primary:#2d6cdf;--primary-100:#e8f0ff;--ok:#16944f;--warn:#d17d00;--danger:#d33131;--border:#dce4f0}*{box-sizing:border-box}body{color:var(--text);background:radial-gradient(circle at 10% 10%,#fff 0%,#eef3ff 45%,#e8edf7 100%);margin:0;font-family:Avenir Next,Segoe UI,sans-serif}.app{max-width:1200px;margin:0 auto;padding:20px}.header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.title{margin:0;font-size:1.6rem}.subtitle{color:var(--muted);margin:4px 0 0;font-size:.9rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px;box-shadow:0 10px 20px #0d24470d}.row{grid-template-columns:repeat(12,1fr);gap:10px;display:grid}.field{flex-direction:column;gap:4px;display:flex}.field label{color:var(--muted);font-size:.8rem}input,select,button{border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-size:.95rem}input,select{background:#fff}button{background:var(--primary);border-color:var(--primary);color:#fff;cursor:pointer}button.secondary{color:var(--text);background:#fff}button:disabled{opacity:.45;cursor:not-allowed}.tabs{gap:8px;margin:14px 0;display:flex}.tab{color:var(--text);border-color:var(--border);background:#fff}.tab.active{background:var(--primary-100);border-color:var(--primary);color:var(--primary);font-weight:700}.chips{flex-wrap:wrap;gap:8px;margin:8px 0 14px;display:flex}.chip{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:999px;padding:6px 12px;font-size:.86rem}.chip.active{background:var(--primary-100);border-color:var(--primary);color:var(--primary)}.kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.kpi{border:1px solid var(--border);background:#fff;border-radius:12px;padding:10px}.kpi .value{margin-top:6px;font-size:1.3rem;font-weight:800}.table{border-collapse:collapse;width:100%;margin-top:10px}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);padding:10px;font-size:.9rem}.badge{border-radius:999px;padding:3px 8px;font-size:.75rem;font-weight:700}.badge.urgent{color:#fff;background:var(--danger)}.badge.low{color:#fff;background:var(--warn)}.badge.ok{color:#fff;background:var(--ok)}.notice{color:var(--muted);margin-top:10px;font-size:.9rem}@media (width<=900px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.row{grid-template-columns:1fr}}
