:root{--fondo: #f4f5f7;--superficie: #ffffff;--borde: #dfe1e6;--texto: #1d2330;--texto-suave: #5e6676;--primario: #2457c5;--primario-suave: #e6edfb;--ok: #2e8b57;--llenar: #d98a00;--vaciar: #c6372f;--positivo: #2e8b57;--negativo: #c6372f;color-scheme:light}@media(prefers-color-scheme:dark){:root{--fondo: #14171d;--superficie: #1d2129;--borde: #333a46;--texto: #e6e8ec;--texto-suave: #9aa3b2;--primario: #7aa2ff;--primario-suave: #233056;--ok: #3fae6e;--llenar: #e5a020;--vaciar: #e5544b;--positivo: #3fae6e;--negativo: #e5544b;color-scheme:dark}}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--fondo);color:var(--texto)}h1{font-size:1.5rem;margin:8px 0 16px}h2{font-size:1.15rem;margin:0 0 12px}a{color:var(--primario)}.tarjeta{background:var(--superficie);border:1px solid var(--borde);border-radius:10px;padding:16px;margin-bottom:16px}.rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.formulario{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;align-items:end}.formulario label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--texto-suave)}input,select,textarea{font:inherit;padding:7px 9px;border:1px solid var(--borde);border-radius:6px;background:var(--superficie);color:var(--texto)}button{font:inherit;padding:8px 14px;border:1px solid var(--primario);border-radius:6px;background:var(--primario);color:#fff;cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button.secundario{background:transparent;color:var(--primario)}table{width:100%;border-collapse:collapse}table th,table td{text-align:left;padding:8px;border-bottom:1px solid var(--borde);vertical-align:middle}table th{font-size:.8rem;color:var(--texto-suave);font-weight:600}table .num{text-align:right;font-variant-numeric:tabular-nums}.tabla-scroll{overflow-x:auto}.importe-grande{font-size:1.6rem;font-weight:700;font-variant-numeric:tabular-nums}.suave{color:var(--texto-suave);font-size:.9rem}.positivo{color:var(--positivo)}.negativo{color:var(--negativo)}.error{background:color-mix(in srgb,var(--negativo) 12%,transparent);color:var(--negativo);border-radius:6px;padding:8px 12px;margin:8px 0}.exito{background:color-mix(in srgb,var(--positivo) 12%,transparent);color:var(--positivo);border-radius:6px;padding:8px 12px;margin:8px 0}.fila-titulo{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px}
