:root{--suelo:#f2f1ec;--tinta:#1c1f24;--tinta-2:#44403c;--tenue:#57534e;--borde:#e7e5e4;--borde-2:#d6d3d1;--blanco:#ffffff;--naranja:#c2410c;--naranja-osc:#9a3412;--naranja-claro:#ffedd5;--azul:#1d4ed8;--azul-osc:#1e3a8a;--azul-claro:#dbeafe;--gris-claro:#f5f5f4;--asfalto:#1c1f24;--asfalto-2:#2a2e35}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:Barlow,system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;color:var(--tinta);background:var(--suelo);line-height:1.45}a{color:var(--naranja)}a:hover{color:var(--naranja-osc)}h1,h2,h3{font-family:Barlow Condensed,Barlow,sans-serif;font-weight:700;margin:0;line-height:1.1}h1{font-size:38px}h2{font-size:24px}h3{font-size:19px}button,input,select,textarea{font-family:inherit;font-size:15px}.marco{display:flex;flex-wrap:wrap;min-height:100vh}.lateral{flex:1 1 240px;max-width:100%;background:var(--asfalto);color:#e7e5e4;padding:24px 16px;display:flex;flex-direction:column;gap:22px}.marca{padding:0 8px}.marca b{display:block;font-family:Barlow Condensed,sans-serif;font-size:26px;letter-spacing:.04em;color:#fff}.marca span{font-size:13px;color:#a8a29e;letter-spacing:.06em;text-transform:uppercase}.menu{display:flex;flex-direction:column;gap:2px}.menu a{display:block;padding:11px 14px;border-radius:8px;min-height:44px;color:#e7e5e4;text-decoration:none;font-weight:600}.menu a:hover{background:var(--asfalto-2);color:#fff}.menu a.activo{background:var(--naranja);color:#fff}.cuenta{margin-top:auto;background:var(--asfalto-2);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:6px;font-size:14px}.cuenta .correo{color:#fff;font-weight:600;word-break:break-all}.cuenta .rol{color:#d6d3d1}.cuenta button{background:transparent;color:#fff;border:1px solid #78716c;border-radius:8px;padding:8px 12px;min-height:40px;cursor:pointer;font-weight:600}@media (max-width:820px){.lateral{padding:14px;gap:12px}.menu{flex-direction:row;flex-wrap:wrap}.menu a{padding:8px 12px;min-height:40px;font-size:15px}.cuenta{margin-top:0;flex-direction:row;flex-wrap:wrap;align-items:center}}.contenido{flex:999 1 560px;min-width:0;padding:28px 36px 64px}@media (max-width:640px){.contenido{padding:18px 16px 48px}h1{font-size:30px}}.ancho{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:22px}.cabecera{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;justify-content:space-between}.lema{font-size:13px;color:var(--tenue);text-transform:uppercase;letter-spacing:.08em}.tarjeta{background:var(--blanco);border:1px solid var(--borde);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:12px}.fila{display:flex;flex-wrap:wrap;gap:16px}.fila>*{flex:1 1 320px;min-width:0}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:14px;gap:14px}.kpi{background:var(--blanco);border:1px solid var(--borde);border-radius:12px;padding:18px}.kpi .et{font-size:14px;color:var(--tenue);font-weight:600}.kpi .val{font-family:Barlow Condensed,sans-serif;font-size:34px;font-weight:700}.kpi .sub{font-size:13px;color:var(--tenue)}.aviso{background:#fff7ed;border:1px solid #fdba74;border-radius:12px;padding:14px 18px;color:var(--tinta-2)}.aviso b{color:var(--naranja-osc)}.info{background:#eff6ff;border:1px solid #93c5fd;border-radius:10px;padding:12px 16px;color:var(--azul-osc)}.ok{background:#ecfdf5;border:1px solid #6ee7b7;border-radius:10px;color:#065f46}.error,.ok{padding:12px 16px;font-weight:600}.error{background:#fef2f2;border:1px solid #fca5a5;border-radius:10px;color:#991b1b}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:8px;padding:10px 18px;min-height:44px;font-weight:700;cursor:pointer;text-decoration:none;background:var(--naranja);color:#fff}.btn:hover{background:var(--naranja-osc);color:#fff}.btn.sec{background:var(--blanco);color:var(--tinta);border:1px solid var(--tinta)}.btn.sec:hover{background:var(--gris-claro);color:var(--tinta)}.btn.osc{background:var(--tinta)}.btn.peq{padding:6px 12px;min-height:36px;font-size:14px}.btn[disabled]{opacity:.6;cursor:default}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip,.chips{align-items:center}.chip{display:inline-flex;border-radius:999px;padding:8px 16px;min-height:40px;border:1px solid var(--tinta);background:var(--blanco);color:var(--tinta);font-weight:600;text-decoration:none}.chip.activo{background:var(--tinta);color:#fff}.etiqueta{display:inline-block;border-radius:999px;padding:3px 10px;font-size:13px;font-weight:700;white-space:nowrap}.e-ok{background:var(--azul-claro);color:var(--azul-osc)}.e-debe{background:var(--naranja-claro);color:var(--naranja-osc)}.e-gris{background:var(--gris-claro);color:var(--tenue)}.tabla-caja{overflow-x:auto;background:var(--blanco);border:1px solid var(--borde);border-radius:12px}table{border-collapse:collapse;width:100%}th{text-align:left;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--tenue);padding:12px 14px;border-bottom:1px solid var(--borde);white-space:nowrap}td{padding:11px 14px;border-bottom:1px solid var(--gris-claro);vertical-align:top}tr.anulado td{color:#a8a29e;text-decoration:line-through}.num{text-align:right;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ingreso{color:var(--azul);font-weight:700}.egreso{color:var(--naranja);font-weight:700}.tenue{color:var(--tenue);font-size:14px}.sin-fecha{color:var(--naranja-osc);font-style:italic}form.formulario{display:flex;flex-direction:column;gap:12px}.campos{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:12px;gap:12px}label.campo{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:600}label.campo input,label.campo select,label.campo textarea{padding:10px;border:1px solid #a8a29e;border-radius:8px;min-height:44px;background:#fff;font-weight:400}label.campo textarea{min-height:110px}label.check{display:flex;gap:10px;align-items:center;font-weight:600}label.check input{width:22px;height:22px}details.plegable>summary{cursor:pointer;font-weight:700;font-size:17px;list-style:none}details.plegable>summary::-webkit-details-marker{display:none}details.plegable>summary:before{content:"+ ";color:var(--naranja)}details.plegable[open]>summary:before{content:"− "}.barra,.barra-fondo{height:10px;border-radius:5px}.barra-fondo{background:var(--gris-claro)}.lista-fila{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--gris-claro)}.matriz{display:grid;grid-gap:4px;gap:4px;align-items:center}.celda{height:34px;border-radius:6px;font-weight:700;font-size:14px;border:1px solid transparent;padding:0}.c-pagado{background:var(--azul-osc);color:#fff;border-color:var(--azul-osc)}.c-debe{background:var(--naranja-claro);color:var(--naranja-osc);border-color:var(--naranja)}.c-futuro{background:#fff;border:1px dashed #a8a29e}.c-na{background:var(--gris-claro)}button.celda{cursor:pointer}button.celda:hover{outline:2px solid var(--tinta)}.leyenda{display:flex;flex-wrap:wrap;gap:16px;font-size:14px;color:var(--tinta-2)}.leyenda span{display:inline-flex;gap:8px;align-items:center}.leyenda i{display:inline-block;width:20px;height:20px;border-radius:5px}.tira{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-gap:3px;gap:3px}.tira span{height:16px;border-radius:3px}.informe{background:#fff;border:1px solid var(--borde-2);border-radius:4px;padding:40px 44px;max-width:820px;display:flex;flex-direction:column;gap:16px}.informe .enc{text-align:center}.informe .enc b{display:block;font-family:Barlow Condensed,sans-serif;font-size:22px;letter-spacing:.04em}.informe .linea{display:flex;justify-content:space-between;gap:16px;font-size:14px;padding:4px 0;border-bottom:1px dotted var(--borde-2)}.informe .total{padding-top:4px}.informe .saldo,.informe .total{display:flex;justify-content:space-between;font-weight:700}.informe .saldo{font-size:18px;border-top:2px solid var(--tinta);padding-top:10px}@media (max-width:640px){.informe{padding:22px 18px}}.centro{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}.caja-login{width:100%;max-width:420px;background:#fff;border-radius:14px;border:1px solid var(--borde);padding:28px;display:flex;flex-direction:column;gap:16px}@media print{.lateral,.no-imprimir{display:none!important}body{background:#fff}.contenido,.informe{padding:0}.informe{border:0;max-width:none}}