:root{--bg:#f6f7f9;--fg:#1c2330;--mut:#667085;--card:#fff;--bd:#e3e6ec;--ac:#0b6e4f;--mal:#b42318;--warn:#b54708}
@media(prefers-color-scheme:dark){:root{--bg:#10141b;--fg:#e8ebf1;--mut:#9aa4b5;--card:#181e28;--bd:#2a3342;--ac:#3ecf9a;--mal:#ff7b72;--warn:#f0a24a}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.45 system-ui,sans-serif}
nav{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:center;padding:10px 16px;background:var(--card);border-bottom:1px solid var(--bd)}
nav a{color:var(--fg);text-decoration:none;font-weight:600;padding:6px 0}nav .salir{margin-left:auto;display:flex;gap:10px;align-items:center;color:var(--mut)}
main{max-width:1000px;margin:0 auto;padding:16px}h1{font-size:1.5rem;margin:.4em 0}h2{font-size:1.1rem;margin:1.6em 0 .5em}
a{color:var(--ac)}small{display:block;color:var(--mut);font-size:.8rem}.sub{color:var(--mut)}
.tarjetas{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:12px 0}
.t{background:var(--card);border:1px solid var(--bd);border-radius:10px;padding:12px}.t span{color:var(--mut);font-size:.85rem}.t b{display:block;font-size:1.4rem}
.t.alerta{border-color:var(--mal)}.t.alerta b{color:var(--mal)}
.tabla{overflow-x:auto;background:var(--card);border:1px solid var(--bd);border-radius:10px}table{width:100%;border-collapse:collapse}
th,td{padding:9px 12px;text-align:left;border-bottom:1px solid var(--bd);vertical-align:top}th{font-size:.8rem;color:var(--mut);font-weight:600}tr:last-child td{border-bottom:0}
td.n{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}tr.atraso td:first-child{border-left:3px solid var(--mal)}tr.anulado td{text-decoration:line-through;color:var(--mut)}tr.anulado small{text-decoration:none}
.b{padding:2px 8px;border-radius:99px;font-size:.78rem;font-weight:600;background:var(--bd)}.b-pagada,.b-saldada{background:#d1fadf;color:#05603a}.b-vencida{background:#fee4e2;color:var(--mal)}.b-parcial{background:#fef0c7;color:var(--warn)}.b-condonada{background:#e0e7ff;color:#3538cd}
label{display:block;font-size:.85rem;color:var(--mut);margin:0 0 10px}input,select,textarea{display:block;width:100%;margin-top:4px;padding:10px;font:inherit;color:var(--fg);background:var(--card);border:1px solid var(--bd);border-radius:8px}
button{padding:10px 16px;font:inherit;font-weight:600;border:0;border-radius:8px;background:var(--ac);color:#fff;cursor:pointer}@media(prefers-color-scheme:dark){button{color:#07130e}}
button.peq{padding:6px 10px;font-size:.8rem}button.peligro{background:var(--mal)}button.link{background:none;color:var(--ac);padding:0}
.caja{background:var(--card);border:1px solid var(--bd);border-radius:10px;padding:16px;max-width:380px;margin:20px auto}.caja.ancha{max-width:560px;margin:12px 0}
.filtros{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.filtros label{margin:0;flex:1 1 140px}.en-linea{display:flex;gap:6px}.en-linea input{margin:0}
.ok{background:#d1fadf;color:#05603a;padding:10px;border-radius:8px}.mal{background:#fee4e2;color:var(--mal);padding:10px;border-radius:8px}
.vacio,.ayuda{color:var(--mut);font-size:.9rem}[hidden]{display:none!important}
