/* Módulo de contabilidad. Se apoya en ventas/estilo.css: mismos colores y piezas. */

/* navegación del módulo */
.nav-conta{background:var(--sup);border-bottom:1px solid var(--linea)}
.nav-conta .in{padding:0 20px;display:flex;gap:1px;overflow-x:auto;max-width:1220px;margin:0 auto}
.nav-conta a{padding:11px 13px;font-size:13px;font-weight:500;color:var(--tinta2);white-space:nowrap;text-decoration:none;border-bottom:2.5px solid transparent}
.nav-conta a[aria-current="page"]{color:var(--azul);border-bottom-color:var(--azul2);font-weight:600}
.nav-conta a:focus-visible,.nav-sub a:focus-visible{outline:2px solid var(--azul2);outline-offset:-2px}
/* secciones del módulo abierto */
.nav-sub{background:var(--sup2);border-bottom:1px solid var(--linea)}
.nav-sub .in{padding:0 20px;display:flex;gap:4px;overflow-x:auto;max-width:1220px;margin:0 auto}
.nav-sub a{padding:9px 12px;font-size:12.5px;color:var(--tinta2);white-space:nowrap;text-decoration:none;border-bottom:2px solid transparent}
.nav-sub a[aria-current="page"]{color:var(--azul);border-bottom-color:var(--azul2);font-weight:600}
.top a.enl[aria-current="page"]{border-color:var(--azul2);color:var(--azul)}

/* mensajes del sistema */
.mensajes{display:grid;gap:8px;margin-bottom:14px}
.msj{padding:10px 14px;border-radius:9px;font-size:13px;border:1px solid}
.msj.success{background:var(--verde-tenue);border-color:var(--verde);color:var(--tinta)}
.msj.error{background:var(--rojo-tenue);border-color:var(--rojo);color:var(--tinta)}
.msj.info,.msj.warning{background:var(--ambar-tenue);border-color:var(--ambar);color:var(--tinta)}

.aviso.info{background:var(--azul-tenue);border-color:var(--azul-borde)}
.tile.ojo{border-left:3px solid var(--ambar)} .tile.ojo .v{color:var(--ambar)}
.dos{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px;align-items:start}
.dos>*{min-width:0}
.tarj-cpo{padding:16px}
.tarj+.tarj{margin-top:14px}
.nota{font-size:12px;color:var(--tinta3);margin:10px 0 0}
table.lista tr.clic{cursor:pointer}
table.lista tr.sel td{background:var(--azul-tenue)}
table.lista tr.sel td:first-child{box-shadow:inset 3px 0 0 var(--azul2)}
table.lista td a.fila{color:inherit;text-decoration:none;display:block}
table.lista tfoot td{font-weight:700;border-top:2px solid var(--linea);background:var(--sup2);padding:8px 12px}
.nom small{display:block;font-weight:400;color:var(--tinta3);font-size:11px}
.fila-dato{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--linea2);font-size:13px}
.fila-dato:last-child{border-bottom:0}
.fila-dato b{font-weight:600;text-align:right}
.rot{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--tinta3);font-weight:700;margin:16px 0 7px}
.rot:first-child{margin-top:0}

/* formularios */
.formu label.et{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--tinta3);font-weight:700;margin:12px 0 4px}
.formu .campo{width:100%}
.formu .par{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.formu .err{color:var(--rojo);font-size:12px;margin-top:3px}
.formu .err-gen{background:var(--rojo-tenue);border:1px solid var(--rojo);border-radius:8px;padding:8px 10px;font-size:12.5px;margin-bottom:10px}
.btn.lleno{width:100%;margin-top:12px;padding:10px;text-align:center}
.btn.rojo{border-color:var(--rojo);color:var(--rojo)}
.opcs{display:grid;gap:8px}
.opcs label{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--linea);border-radius:8px;padding:9px 12px;cursor:pointer;background:var(--sup)}
.opcs label:has(input:checked){border-color:var(--azul2);background:var(--azul-tenue)}
.opcs input{margin-top:3px;accent-color:var(--azul2)}
.opcs b{display:block;font-size:13px;font-weight:600}
.opcs small{font-size:11.5px;color:var(--tinta3)}
.chk{display:flex;gap:10px;align-items:flex-start;padding:11px 12px;border:1px solid var(--amar-bd);background:var(--amar);color:var(--amar-tx);border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;margin:14px 0 0}
.chk input{width:17px;height:17px;margin:1px 0 0;flex:none;accent-color:var(--azul2)}
.totales{background:var(--azul-tenue);border:1px solid var(--azul-borde);border-radius:8px;padding:8px 12px;margin-top:12px}

/* fotografía de la factura */
.foto{border:1px solid var(--linea);border-radius:8px;overflow:hidden;background:var(--sup2);margin-bottom:12px}
.foto img{display:block;width:100%;max-height:420px;object-fit:contain;background:var(--sup2)}
.foto .sin{padding:30px 12px;text-align:center;font-size:12.5px;color:var(--tinta3)}
.foto a.abrir{display:block;padding:8px 12px;font-size:12.5px;border-top:1px solid var(--linea2)}
.foto-campo{border:1.5px dashed var(--amar-bd);background:var(--amar);border-radius:10px;padding:14px;text-align:center;color:var(--amar-tx);font-weight:600;font-size:13px}
.foto-campo input{display:block;margin:8px auto 0;max-width:100%;font-weight:400}
.foto-previa{margin-top:10px;max-height:240px;border-radius:8px;max-width:100%}

/* vista del ejecutivo: una columna, pensada para el teléfono */
.movil{max-width:520px;margin:0 auto}
.movil .cab h2{font-size:19px}
.item{padding:12px 0;border-bottom:1px solid var(--linea2);display:grid;gap:5px}
.item:last-child{border-bottom:0}
.item .l1{display:flex;justify-content:space-between;gap:10px;align-items:baseline;font-size:13.5px}
.item .l1 b{font-weight:600;min-width:0}
.item .l2{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap}
.item .l3{font-size:12px;color:var(--tinta2)}
.resumen{font-size:12.5px;color:var(--tinta2);padding-bottom:10px;border-bottom:1px solid var(--linea)}
.cifras-ej{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--linea);border-bottom:1px solid var(--linea)}
.cifras-ej>div{padding:12px 12px 12px 0}
.cifras-ej>div+div{border-left:1px solid var(--linea);padding-left:12px}
.cifras-ej .k{font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--tinta3);font-weight:700}
.cifras-ej .v{margin:4px 0 2px;font-size:21px;font-weight:600;font-variant-numeric:tabular-nums}
.cifras-ej .mal{color:var(--rojo)}
.btn.subir{margin:16px 0}

/* alertas */
.alerta{display:grid;grid-template-columns:4px 1fr auto;background:var(--sup);border:1px solid var(--linea);border-radius:9px;overflow:hidden;margin-bottom:10px;box-shadow:var(--sombra)}
.alerta .tira{background:var(--tinta3)}
.alerta.cr .tira{background:var(--rojo)} .alerta.av .tira{background:var(--ambar)} .alerta.in .tira{background:var(--azul2)}
.alerta .cpo{padding:11px 15px}
.alerta h4{font-size:13.5px;font-weight:600;margin-bottom:2px}
.alerta p{margin:0;font-size:12.5px;color:var(--tinta2)}
.alerta .lado{padding:11px 15px;display:flex;align-items:center}
.sep{height:1px;background:var(--linea);margin:20px 0}

@media (max-width:820px){
  .dos{grid-template-columns:1fr}
  .wrap{padding:14px 16px 32px}
  .cab .der{margin-left:0}
}

/* pantallas contables */
.periodo{display:flex;align-items:center;gap:8px}
.periodo .campo{padding:5px 8px}
.subtabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
details.part{background:var(--sup);border:1px solid var(--linea);border-radius:10px;margin-bottom:9px;box-shadow:var(--sombra);overflow:hidden}
details.part>summary{list-style:none;cursor:pointer;padding:11px 15px;display:grid;grid-template-columns:auto auto 1fr auto auto;gap:12px;align-items:center;font-size:13px}
details.part>summary::-webkit-details-marker{display:none}
details.part>summary:focus-visible{outline:2px solid var(--azul2);outline-offset:-2px}
details.part .pid{font-family:var(--display);font-weight:700;color:var(--azul)}
details.part .con{min-width:0;font-weight:500}
details.part[open]>summary{border-bottom:1px solid var(--linea2);background:var(--sup2)}
details.part .pie{padding:9px 15px;font-size:12px;color:var(--tinta2);border-top:1px solid var(--linea2);display:flex;gap:10px;flex-wrap:wrap;align-items:center}
details.reversa{margin-left:auto}
details.reversa>summary{cursor:pointer;color:var(--rojo);font-weight:600}
details.reversa form{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
details.reversa .campo{width:260px;max-width:100%}
table.lista tr.n1 td{font-family:var(--display);font-weight:700;background:var(--sup2)}
table.lista tr.n2 td{font-weight:600}
table.lista tr.n2 td:nth-child(2){padding-left:26px}
table.lista tr.n3 td:nth-child(2){padding-left:42px}
table.estado td{padding:7px 12px}
table.estado td.sang{padding-left:26px}
table.estado tr.cab2 td{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--tinta3);font-weight:700;padding-top:14px}
table.estado tr.sub td{font-weight:700;background:var(--sup2);border-top:1px solid var(--linea)}
table.estado tr.tot td{font-weight:700;border-top:2px solid var(--tinta);font-family:var(--display)}
table.estado tbody tr:hover td{background:transparent}
@media (max-width:820px){
  details.part>summary{grid-template-columns:auto 1fr auto;row-gap:4px}
  details.part .con{grid-column:1 / -1;order:5}
}

/* formularios de fichas (empresa, terceros, bancos, partidas) */
.campo-form{margin-top:10px}
.formu input[type=text],.formu input[type=number],.formu input[type=date],.formu input[type=email],.formu input[type=search],
.formu select,.formu textarea{width:100%;border:1px solid var(--linea);background:var(--sup);border-radius:7px;padding:7px 10px;font-size:13px;color:var(--tinta)}
.formu input:focus,.formu select:focus,.formu textarea:focus{outline:2px solid var(--azul2);outline-offset:1px}
.formu .ayuda{font-size:11.5px;color:var(--tinta3);margin-top:3px}
.formu .chk-l{display:flex;gap:8px;align-items:flex-start;font-size:13px;cursor:pointer}
.formu .chk-l input{margin-top:3px;accent-color:var(--azul2)}
.formu ul,.formu div[id^=id_]>div{list-style:none;padding:0;margin:0}
.formu input[type=radio]{accent-color:var(--azul2);margin-right:6px}
.par-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 14px}
.par-4 .campo-form{margin-top:4px}
table.lista.lineas td{padding:4px 8px}
table.lista.lineas select,table.lista.lineas input{width:100%;border:1px solid var(--linea);border-radius:6px;padding:5px 7px;font-size:12.5px;background:var(--sup);color:var(--tinta)}
table.lista.lineas td.d input{text-align:right;font-variant-numeric:tabular-nums}
.filtros{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.filtros input[type=search]{min-width:240px}
.dos>div>.tarj+.tarj,.dos>.tarj+.tarj{margin-top:14px}

/* tablero del contador: lista de pendientes */
a.pend{display:grid;grid-template-columns:14px 1fr;gap:10px;align-items:start;padding:12px 0;border-bottom:1px solid var(--linea2);text-decoration:none;color:var(--tinta)}
a.pend:last-child{border-bottom:0}
a.pend .pill{margin-top:5px}
a.pend b{display:block;font-size:13.5px;font-weight:600;color:var(--azul)}
a.pend small{display:block;font-size:12px;color:var(--tinta3);margin-top:2px}
a.pend:hover b{text-decoration:underline}
a.pend:focus-visible{outline:2px solid var(--azul2);outline-offset:2px}

/* cuentas por pagar y rondas */
.rojo-tx{color:var(--rojo)}
.acciones{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:16px 0 4px}
.acciones form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.acciones .campo{min-width:240px}
.migas{font-size:12px;margin-bottom:8px}
.migas a{color:var(--tinta3);text-decoration:none}
.migas a::before{content:"← "}
.migas a:hover{color:var(--azul)}
table.lista td .campo{padding:5px 7px;font-size:12.5px}
.cuadre{display:flex;gap:18px;flex-wrap:wrap;align-items:center;font-size:12.5px;color:var(--tinta2);padding:10px 0;border-top:1px solid var(--linea);border-bottom:1px solid var(--linea);margin:4px 0 8px}
.cuadre b{color:var(--azul);font-weight:600}

/* avisos de cada persona en el tablero */
.avisos{display:grid;gap:0;border-top:1px solid var(--azul);border-bottom:1px solid var(--linea);margin:0 0 28px}
.avisos .k{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--tinta2);font-weight:600;padding:10px 0 4px}
.avisos a{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--linea2);text-decoration:none;color:var(--azul);font-size:13px}
.avisos a b{font-weight:500}
.avisos a small{color:var(--tinta3);white-space:nowrap}
.avisos a:hover b{text-decoration:underline}
table.estado tr.sub2 td{font-weight:600;color:var(--tinta3);padding-top:10px;font-size:12px}
