/* Balanxa · azul #0C2742, amarillo #FFC33E. Sin librerías externas. */
:root{--azul:#0C2742;--azul2:#16406b;--amarillo:#FFC33E;--fondo:#f3f5f9;--borde:#e3e7ee;--texto:#1d2433;--suave:#6b7385;--accion:#1f5fa8}
*{box-sizing:border-box}body{margin:0;font:15px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:var(--fondo);color:var(--texto)}
a{color:var(--accion)}
/* Menú lateral */
.lateral{position:fixed;top:0;left:0;bottom:0;width:232px;background:var(--azul);color:#cfd8ea;overflow-y:auto;padding:14px 10px;display:flex;flex-direction:column;z-index:20}
.lateral a{display:flex;align-items:center;gap:10px;color:#d6deeb;text-decoration:none;padding:8px 10px;border-radius:8px;font-size:14px;white-space:nowrap}
.lateral a:hover{background:#ffffff14;color:#fff}.lateral a.act{background:var(--amarillo);color:var(--azul);font-weight:600}
.lateral svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.lateral .marca{padding:6px 8px 14px;border-bottom:1px solid #ffffff1f;margin-bottom:6px}.lateral .marca img{height:34px;background:#fff;border-radius:6px;padding:3px}.lateral .marca span{color:var(--amarillo);font-weight:700;font-size:16px}
.grupo{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--amarillo);opacity:.85;margin:14px 10px 4px}
.pie-menu{margin-top:auto;padding-top:10px;border-top:1px solid #ffffff1f}.salir{width:100%;margin-top:6px;background:#ffffff14;color:#fff;font-size:13px}
.menu-t{display:none}.hamb{display:none}
body.con-menu main{margin-left:232px}
main{max-width:1180px;padding:22px 28px 40px}
body.sin-menu main{margin:40px auto;max-width:420px}.logo-login{text-align:center;margin-bottom:10px}.logo-login img{height:64px}
/* Encabezado de página */
.enc{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.enc h1{margin:0;font-size:24px;color:var(--azul)}.acciones{display:flex;gap:8px;flex-wrap:wrap}.acciones p{margin:0}
/* Tarjetas, botones */
.card{background:#fff;border-radius:12px;padding:18px;box-shadow:0 1px 3px #0c27420f;border:1px solid var(--borde);margin-bottom:16px}
.card h2{margin:0 0 10px;font-size:17px;color:var(--azul)}
button,a.btn,.btn{display:inline-block;background:var(--accion);color:#fff;border:0;padding:9px 16px;border-radius:8px;cursor:pointer;font:600 14px system-ui,sans-serif;text-decoration:none}
button:hover,a.btn:hover{background:var(--azul2)}
.btn2,a.btn2,button.btn2,a.cancelar{display:inline-block;background:#e8ebf0;color:#33405a;border:1px solid #d5dae3;padding:8px 14px;border-radius:8px;text-decoration:none;font:600 14px system-ui,sans-serif;cursor:pointer}
.btn2:hover,a.cancelar:hover{background:#dde1e8}
input,select,textarea{padding:8px 9px;border:1px solid #cfd5df;border-radius:8px;font:14px system-ui,sans-serif;background:#fff;max-width:100%}
input:focus,select:focus,textarea:focus{outline:2px solid #FFC33E99;border-color:var(--amarillo)}
/* Mensajes */
.err,.ok{padding:11px 14px;border-radius:10px;margin:0 0 14px;border-left:5px solid}.err{background:#fdecec;color:#8a1c1c;border-color:#d64545}.ok{background:#e8f7ee;color:#14532d;border-color:#22a35a}
p.err::before{content:"✖ ";font-weight:700}p.ok::before{content:"✔ ";font-weight:700}td.err{background:none;border:0;color:#b91c1c;padding:8px}
.nota{font-size:12.5px;color:var(--suave)}.aviso{border:2px solid var(--amarillo)}
/* Tablas */
table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 3px #0c27420f}
th{background:var(--azul);color:#fff;font-weight:600;font-size:13px;text-align:left;padding:9px 10px}
td{padding:8px 10px;border-bottom:1px solid #eef1f5;text-align:left;vertical-align:top}
tbody tr:nth-child(even) td,table tr:nth-child(even) td{background:#f8fafc}table tr:hover td{background:#fff8e6}
.r,.n,td.r,td.n,th.r,th.n{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.monto,.totales td,.totales b{white-space:nowrap}
.anulado td,.anulado{color:#9aa1ad}.anulado td:first-child a{text-decoration:line-through}
.estado{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;background:#eef1f6;color:#4b5563}
.estado.verde,.e-aprobada,.e-facturada{background:#dcf5e5;color:#166534}.estado.amarillo,.e-abierta{background:#fff3cc;color:#7a5200}.estado.gris,.e-anulada{background:#e9ecf1;color:#5b6472}.estado.rojo,.e-rechazada,.e-vencida{background:#fde4e4;color:#991b1b}
/* Filtros y paginación */
.filtros{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.filtros label{font-size:13px;color:var(--suave);white-space:nowrap}.filtros input.corto{width:95px}
.paginas{margin:12px 0;color:var(--suave);font-size:13px}.paginas a{margin-left:8px}
/* Formularios */
.grid4{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:12px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}
.cotizar label,.grid4 label{font-size:12.5px;color:var(--suave)}.cotizar label input,.cotizar label select{display:block;width:100%;margin-top:3px}
table.lineas{box-shadow:none}table.lineas input.desc{width:100%}table.lineas textarea{width:100%;margin-top:3px;font:12px system-ui;border:1px solid #e1e5ec;border-radius:6px;padding:4px}table.lineas input.num{width:100px;text-align:right}
.totales{font-size:15px;text-align:right}.totales b{font-size:18px}table.totales{width:auto;margin-left:auto;box-shadow:none}table.totales td{padding:4px 10px;background:#fff!important}
.grande{font-size:26px;color:var(--azul)}.facturar{border:2px solid var(--amarillo)}
.botonera{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:12px}
.permiso{display:inline-block;min-width:13em;margin:.2em 0}.qr svg{background:#fff}
.inline,form.inline{display:inline}.k{display:inline-block;margin-right:16px}.k b{font-size:24px;display:block}
tr.sep td{border-top:2px solid #cfd5e0;background:#f7f8fb}
/* Cuentas de grupo: fila gris en negrita con la suma de sus subcuentas */
table tr.grupo td,table tr.grupo th,table tr.grupo:hover td,table tr:nth-child(even).grupo td,table td.g,table tr:hover td.g{background:#d9dde3!important;color:#000!important;font-weight:700!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
table tr.grupo td a,table tr.grupo td b,table td.g a{color:#000!important;font-weight:700!important}
@media print{table tr.grupo td,table td.g{background:#d9dde3!important;color:#000!important;font-weight:700!important}}
/* Informes y tablero */
table.informe{font-size:13px}table.informe tr.tot th{border-top:2px solid var(--azul)}table.informe tr.grande-fila th{font-size:15px}.informe-enc{text-align:center;margin:6px 0 12px}.menu-informes li{margin:6px 0;font-size:16px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:16px}.kpi{background:#fff;border-radius:12px;padding:14px 16px;box-shadow:0 1px 3px #0c274214;border-left:5px solid var(--amarillo)}.kpi span{display:block;font-size:12px;color:var(--suave);text-transform:uppercase;letter-spacing:.03em}.kpi b{display:block;font-size:22px;margin:4px 0;color:var(--azul);white-space:nowrap}.kpi small{color:var(--suave);font-size:12px}.kpi.alerta{border-left-color:#d64545}
.graficos{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:16px}.grafico{width:100%;height:auto}
/* Celular */
@media (max-width:860px){
 .hamb{display:flex;position:fixed;top:10px;left:10px;z-index:30;background:var(--azul);color:#fff;width:42px;height:42px;border-radius:10px;align-items:center;justify-content:center;font-size:22px;cursor:pointer}
 .lateral{transform:translateX(-100%);transition:transform .2s;width:260px;box-shadow:4px 0 20px #0004}.menu-t:checked~.lateral{transform:none}
 body.con-menu main{margin-left:0;padding:62px 12px 30px}.enc h1{font-size:21px}
 .grid4,.grid2{grid-template-columns:1fr}.graficos{grid-template-columns:1fr}
 main table{display:block;overflow-x:auto;white-space:nowrap}main table td{white-space:nowrap}
 .filtros input[type=search]{width:100%}.acciones{width:100%}
}
@media print{.lateral,.hamb,.noprint,.acciones,.filtros,.paginas{display:none!important}body.con-menu main{margin:0;padding:0}body{background:#fff}h1{display:none}table{box-shadow:none}th{background:#fff;color:#000;border-bottom:2px solid #000}table.informe{font-size:10pt}}
/* Buscador general y accesos rápidos */
.buscador{display:flex;gap:8px;margin-bottom:14px}.buscador input{flex:1;padding:10px 12px;border-radius:10px}
.rapidos{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:16px}
.rapido{display:flex;align-items:center;gap:12px;background:var(--azul);color:#fff;text-decoration:none;padding:18px 20px;border-radius:14px;font-weight:700;font-size:16px;box-shadow:0 2px 6px #0c274233}
.rapido:hover{background:var(--azul2)}.rapido svg{width:30px;height:30px;fill:none;stroke:var(--amarillo);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.card h2 .nota{float:right;font-weight:400}
@media (max-width:860px){.buscador{margin-top:-4px}.rapidos{grid-template-columns:1fr 1fr}.rapido{padding:14px;font-size:14px}}
.sugerencias{position:absolute;z-index:50;background:#fff;border:1px solid #cfd5df;border-radius:8px;box-shadow:0 6px 18px #0c274233;max-height:260px;overflow:auto}.sugerencias div{padding:8px 12px;cursor:pointer;white-space:nowrap}.sugerencias div:hover,.sugerencias div.sel{background:#fff3cc;color:#0C2742}
.sugerida{color:#8a93a3;font-style:italic}.referencia{font-size:17px;font-weight:700;color:#0C2742;margin-bottom:4px}
/* Cuadro de totales del Crédito fiscal IVA VET */
table.cf-totales{width:auto;max-width:480px;margin:14px 0 0 auto;border-collapse:collapse;background:#fff;border:1px solid #d5d9e0;box-shadow:none;font-size:12px;color:#222}
table.cf-totales th,table.cf-totales td{background:#fff;color:#222;padding:7px 10px;border:0;border-bottom:1px solid #e6e9ee;white-space:nowrap;text-align:left}
table.cf-totales th{font-weight:700;font-size:11px}table.cf-totales td{text-align:right;min-width:90px}
table.cf-totales tr.cf-cel th,table.cf-totales tr.cf-cel td{background:#e8f2fb}
table.cf-totales tr.cf-total th{font-size:12px;border-bottom:0}table.cf-totales tr.cf-total th.n{text-align:right}
/* Lista de asientos contables: un bloque por asiento */
.as-filtro{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}.as-filtro .as-nuevo{margin-left:auto}
table.as-bloque{width:100%;table-layout:fixed;border-collapse:collapse;background:#fff;border:1px solid #d5d9e0;border-radius:8px;margin:0 0 18px;box-shadow:0 1px 3px #0c274214;font-size:13px}
main table.as-bloque{display:table;white-space:normal}table.as-bloque tr:nth-child(even) td,table.as-bloque tr:hover td{background:#fff}
table.as-bloque td,table.as-bloque th{background:#fff;color:#222;padding:6px 10px;border:0;border-bottom:1px solid #eef0f4;text-align:left;vertical-align:top}
table.as-bloque col.as-c1{width:135px}table.as-bloque col.as-c3{width:140px}table.as-bloque tr.as-cols th:nth-child(3),table.as-bloque tr.as-cols th:nth-child(4),table.as-bloque td.n{text-align:right}
table.as-bloque tr.as-enc td{background:#f3f6fa;border-bottom:2px solid #0C2742;padding:9px 10px;font-size:13.5px}
.as-num{font-weight:700;color:#0C2742;margin-right:6px}.as-fecha{color:#555;margin-right:6px}.as-org{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:10px;background:#e8eef6;color:#33415c;font-size:11.5px}
.as-acc{float:right;white-space:nowrap;font-size:12.5px}.as-anul{color:#b91c1c;font-weight:700;font-size:11.5px}
table.as-bloque tr.as-cols th{font-size:11px;text-transform:uppercase;color:#6b7280;font-weight:600;background:#fff}
table.as-bloque tr.as-h td:nth-child(2){padding-left:24px}
table.as-bloque tr.as-tot td{font-weight:700;border-top:1px solid #c9ced8;border-bottom:0}
table.as-gran{border:2px solid #0C2742}table.as-gran tr.as-tot td{font-size:14px}
/* Buscador del menú lateral */
.menu-busca{position:relative;margin:4px 2px 10px}
.menu-busca input{width:100%;box-sizing:border-box;padding:8px 10px;border-radius:8px;border:1px solid #ffffff40;background:#ffffff14;color:#fff;font-size:13px}
.menu-busca input::placeholder{color:#ffffffa0}.menu-busca input:focus{outline:none;background:#fff;color:#0C2742;border-color:#fff}
.menu-res{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:60;background:#fff;border:1px solid #cfd5df;border-radius:8px;box-shadow:0 6px 18px #0c274240;max-height:340px;overflow:auto}
.menu-res[hidden]{display:none}
.lateral .menu-res a.menu-res-item{display:block;padding:7px 12px;color:#0C2742;border-bottom:1px solid #eef0f4;font-size:13px;line-height:1.25;background:#fff;margin:0;border-radius:0;white-space:normal}
.lateral .menu-res a.menu-res-item small{display:block;color:#8a93a3;font-size:11px}
.lateral .menu-res a.menu-res-item:hover,.lateral .menu-res a.menu-res-item.sel{background:#fff3cc;color:#0C2742}
.menu-res-vacio{padding:8px 12px;color:#8a93a3;font-size:13px}
/* Activos fijos: nombre + nota pendiente legible, columnas ordenadas, botón «+ Nuevo activo» */
table.af-tabla td{vertical-align:top}
table.af-tabla td.af-nom{min-width:220px;max-width:340px;white-space:normal}
table.af-tabla td.af-nom b{display:block;font-weight:600;color:#0C2742}
table.af-tabla .af-pend{display:inline-block;margin-top:4px;padding:2px 8px;border-radius:6px;background:#fff4d6;border:1px solid #f0d58a;color:#5c4400;font-size:11px;line-height:1.35;font-weight:400;white-space:normal}
table.af-tabla td.n{text-align:right;white-space:nowrap}
table.af-tabla td.af-ctas{white-space:nowrap;font-size:12px;color:#33415c}
table.af-tabla .af-cg{display:block}table.af-tabla .af-sep{display:none}
table.af-tabla .af-vacio{color:#9aa3b2}
.af-barra{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin:0 0 12px}
details.af-nuevo>summary{list-style:none;cursor:pointer}details.af-nuevo>summary::-webkit-details-marker{display:none}
details.af-nuevo[open]{flex-basis:100%;display:flex;flex-direction:column;align-items:flex-end}
details.af-nuevo[open]>summary{margin-bottom:10px}
.af-form{width:100%;box-sizing:border-box;text-align:left}.af-form h3{margin:0 0 12px;font-size:16px;color:#0C2742}
.af-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px}
.af-grid label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;font-weight:600;color:#33415c}
.af-grid label input,.af-grid label select{width:100%;box-sizing:border-box;font-weight:400}
.af-grid .af-ancho{grid-column:1/-1}
.af-botones{display:flex;justify-content:flex-end}
@media (max-width:860px){.af-grid{grid-template-columns:1fr}}
/* Activos fijos: ficha de un activo */
table.af-tabla a.af-enl{color:#0C2742;text-decoration:none}table.af-tabla a.af-enl:hover{text-decoration:underline;color:#1f5fa8}
.af-tabs{display:flex;gap:4px;margin:0 0 12px}.af-tabs a{padding:9px 18px;border-radius:8px 8px 0 0;background:#e9edf3;color:#0C2742;font-weight:600;text-decoration:none}.af-tabs a:hover{background:#dbe3ee}
.af-ficha{padding-top:0;overflow:hidden}.af-cinta{display:inline-block;margin:0 0 14px -16px;padding:6px 14px;background:#1f5fa8;color:#fff;font-size:13px;letter-spacing:.3px;text-transform:uppercase;border-radius:0 0 8px 0}
.af-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 32px}
.af-dato{display:grid;grid-template-columns:44% 56%;gap:10px;padding:7px 8px;border-bottom:1px solid #eef1f5;font-size:13px}.af-dato:nth-child(odd){background:#f8fafc}
.af-et{color:#6b7689}.af-val{color:#1b2533;word-break:break-word}.af-val.n{font-variant-numeric:tabular-nums}.af-val .af-pend{display:inline-block;padding:2px 8px;border-radius:6px;background:#fff4d6;border:1px solid #f0d58a;color:#5c4400;font-size:11.5px}
.af-vacio{color:#9aa3b2}
table.af-hist td.n{text-align:right;white-space:nowrap}table.af-hist tr.af-ini td{background:#f4f6fa;color:#33415c;font-style:italic}
@media (max-width:860px){.af-cols{grid-template-columns:1fr}}
@media print{.af-tabs{display:none}.af-ficha{break-inside:avoid;box-shadow:none;border:1px solid #ccc}}
/* Recibos: corregir número (oct 2026) */
.corregir-num{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px 18px}
.corregir-num label{display:inline-flex;gap:6px;align-items:center}
/* Comprobantes de egreso (oct 2026) */
fieldset.eg-pago{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
#eg-tot{margin-left:6px}

/* Compras: concepto opcional (30-10-2026) */
.concepto-largo{width:100%;max-width:640px}label.bloque{display:block}.concepto-corto{display:inline-block;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}
/* Importar catálogo de cuentas (catalogo_importar.php) */
.imp-tabla{overflow-x:auto}.imp-tabla td:nth-child(3){white-space:nowrap}table tr.imp-error td{background:#fdecec}table tr.imp-nueva td{background:#e8f7ee}table tr.imp-renombre td,table tr.imp-renombre_mov td{background:#fff6dc}.imp-e{color:#8a1c1c;font-size:12.5px}.imp-a{color:#7a5a00;font-size:12.5px}table tr.imp-renombre td s,table tr.imp-renombre_mov td s{color:var(--suave)}
.mes-anio{display:inline-block;padding-left:8px;border-left:2px solid var(--borde);margin-left:4px}.mes-anio select{min-width:7em}

/* Caja chica (30-10-2026) */
.cc-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:8px 0}
.cc-panel .card{display:flex;flex-direction:column;gap:4px;margin:0}
.cc-panel b{font-size:1.4em}.cc-panel small,.cc-panel span{color:#666}
.cc-panel .cc-alerta{border-left:4px solid #c62828}
.cc-form label{display:inline-flex;gap:6px;align-items:center;margin:4px 10px 4px 0}
.cc-falta{color:#c62828;font-weight:bold}.cc-sobra{color:#1565c0;font-weight:bold}tr.cc-nuevo td{background:#fff8d6}
/* Ajustes de inventario (30-10-2026) */
form.ajuste fieldset label{margin-right:16px}.aj-motivo{grid-column:span 2}.aj-motivo input{width:100%}
form.ajuste .aj-ex{color:#666;white-space:nowrap}form.ajuste input.aj-k[readonly]{background:#f1f1f1;border-color:#ddd}

/* marca Balanxa */
.lateral .marca{flex-direction:column;align-items:flex-start;gap:4px}.lateral .marca img.bx-logo{height:26px;width:auto;background:none;padding:0;border-radius:0}.lateral .marca span:empty{display:none}.lateral .marca span{font-size:12px}
.logo-login{text-align:center;margin:24px 0 8px}.logo-login img.bx-logo{height:56px;width:auto;max-width:80%}
