/* UI básico oscuro */
:root{--bg:#0b1220;--card:#111827;--ink:#e5e7eb;--mut:#9ca3af;--brand:#20e3b2;--ring:#20e3b280;}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink)}
a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}
.topbar{position:sticky;top:0;background:#0f172a;border-bottom:1px solid #1f2937;display:flex;gap:12px;padding:10px 14px;align-items:center}
.topbar .brand{font-weight:700;color:#a7f3d0}.topbar nav{display:flex;gap:10px;flex-wrap:wrap}.topbar nav a{padding:6px 10px;border:1px solid #1f2937;border-radius:10px;background:#0b1220}.topbar nav a.on{outline:2px solid var(--ring)}
.topbar nav a.danger{color:#fff;background:#7f1d1d;border-color:#991b1b}.topbar .user{margin-left:auto;color:#a3e635}
.wrap{max-width:1100px;margin:16px auto;padding:0 14px;display:grid;gap:16px}
.grid.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.card{background:var(--card);border:1px solid #1f2937;border-radius:16px;padding:14px;box-shadow:0 10px 26px rgba(0,0,0,.16)}
.kpi{text-align:center}.kpi .kpi-val{font-size:1.7rem;font-weight:800;color:#86efac}.kpi .kpi-label{color:var(--mut)}
.table{display:grid;gap:6px}.table .row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:8px;border:1px solid #1f2937;border-radius:12px}.table .row.head{background:#0b1220;font-weight:700}
@media (max-width:720px){.table .row{grid-template-columns:1.2fr 1fr}.table .row.head{display:none}.table .row div:nth-child(3),.table .row div:nth-child(4){grid-column:1/-1;white-space:normal}}
.login-wrap{min-height:100dvh;display:grid;place-items:center;padding:16px}.login-wrap .card{width:min(480px,100%);text-align:center}
.form{display:grid;gap:10px;margin-top:10px}.form label{display:grid;gap:6px;text-align:left;color:#d1d5db}
input,textarea,button{font:inherit}input,textarea{background:#0b1220;color:#e5e7eb;border:1px solid #1f2937;border-radius:12px;padding:10px 12px}
input:focus,textarea:focus{box-shadow:0 0 0 3px var(--ring);border-color:#334155}.btn{background:linear-gradient(180deg,#20e3b2,#0ea5a3);color:#042f2e;font-weight:700;border:none;border-radius:12px;padding:10px 14px;cursor:pointer}
.btn.small{padding:6px 10px;font-size:.9rem}.err{color:#fecaca;background:#7f1d1d;border:1px solid #991b1b;padding:8px;border-radius:12px}.ok{color:#bbf7d0;background:#14532d;border:1px solid #166534;padding:8px;border-radius:12px}
