/*!
 * GBS Contable — hoja propia v7 (06/11/2026).
 * Se carga DESPUÉS de assets/gbs.css (copia sin cambios de la hoja de GBS Digital, v11).
 * gbs.css pone la letra Manrope, los colores, el menú lateral (.lat), los botones y los avisos.
 * Aquí solo va lo propio del contable: tablas de comprobantes, formularios densos, totales y estados del SRI.
 */
:root{
  /* Mismos valores que gbs.css (--azul, --oscuro, --acento, --gris, --borde, --fondo) */
  --gbs-accion:#1572e8;--gbs-navy:#102b46;--gbs-warning:#f2b33d;--gbs-muted:#5b6880;--gbs-line:#dce8ef;--gbs-fondo:#f5f7fb;
  --gbs-ink:#102b46;--gbs-input:#c9d3d8;--gbs-pale:#eef5fe;--gbs-soft:#f7f9fc;--gbs-blue:#1c9bd3;--gbs-deep:#0879b0;
  --gbs-success:#198754;--gbs-danger:#c0392b;--gbs-font:Manrope,Arial,sans-serif;
  --gbs-radius-btn:10px;--gbs-radius-input:9px;--gbs-radius-card:14px;--gbs-shadow-card:0 2px 10px rgba(16,43,70,.05);
}
html{color-scheme:light}
:focus-visible{outline:3px solid var(--gbs-blue);outline-offset:3px}
h1,h2,h3{color:var(--gbs-navy);line-height:1.2}
h1{font-size:30px;margin:0 0 18px;font-weight:800}h2{font-size:20px;margin:28px 0 12px;font-weight:800}h3{font-size:16px;margin:18px 0 8px;font-weight:700}
.antetitulo{font-size:13px;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:var(--gbs-deep);margin:0 0 8px}
.suave{color:var(--gbs-muted);font-weight:400}

.contenido{min-width:0}
.sin-menu .contenido{max-width:1080px}

/* Tarjetas */
.tarjeta{background:#fff;border:1px solid var(--gbs-line);border-radius:var(--gbs-radius-card);padding:22px;margin-bottom:18px;box-shadow:none;font-size:16px}
.tarjeta.apagada{opacity:.6}
.angosta{max-width:460px}
.grilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.etiq{color:var(--gbs-muted);font-size:14px;margin-bottom:6px}
.cifra{font-size:30px;font-weight:800;color:var(--gbs-navy)}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}

/* Formularios */
label{display:block;margin-bottom:12px;font-size:14px;color:var(--gbs-navy);font-weight:600}
label.check{display:flex;gap:8px;align-items:center;color:var(--gbs-ink);font-weight:400}
input,select,textarea{display:block;width:100%;margin-top:5px;padding:11px 12px;border:1px solid var(--gbs-input);border-radius:9px;background:#fff;color:var(--gbs-navy);font:inherit;font-weight:400}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gbs-accion);box-shadow:0 0 0 3px rgba(21,114,232,.2)}
input:not([type=checkbox]):not([type=radio]),select{height:44px}
label.check input{width:auto;margin:0}

/* Botones */
.btn{display:inline-block;background:var(--gbs-accion);color:#fff;border:2px solid var(--gbs-accion);border-radius:10px;padding:10px 20px;font:700 15px/1.2 var(--gbs-font);cursor:pointer;text-decoration:none}
.btn:hover{background:var(--gbs-navy);border-color:var(--gbs-navy);color:#fff}
.btn.sec{background:#fff;color:var(--gbs-accion);border:2px solid var(--gbs-accion);padding:10px 20px;margin:0;border-radius:10px}
.btn.sec:hover{background:#edf4fe;border-color:var(--gbs-accion);color:var(--gbs-navy)}
.btn.peligro{background:var(--gbs-danger);border-color:var(--gbs-danger)}.btn.peligro:hover{background:#b02a37;border-color:#b02a37}

/* Avisos: fondo blanco, letra oscura y borde izquierdo de 4 px (guía de marca) */
.aviso{padding:12px 16px;border-radius:10px;margin-bottom:18px;background:#fff;color:var(--gbs-navy);border:0;border-left:4px solid var(--gbs-warning);box-shadow:0 2px 10px rgba(16,43,70,.05)}
.aviso.ok,.aviso-ok{border-left-color:var(--gbs-success)}
.aviso.error,.aviso-error{border-left-color:var(--gbs-danger)}
.aviso.info{background:#fff;border-left-color:var(--gbs-accion)}

/* Tablas */
.tabla{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--gbs-line);border-radius:var(--gbs-radius-card);overflow:hidden;margin-bottom:16px;font-size:15px}
.tabla th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--gbs-muted);font-weight:800;padding:11px 12px;background:var(--gbs-soft);border-bottom:1px solid var(--gbs-line)}
.tabla td{padding:12px;border-bottom:1px solid var(--gbs-line)}
.tabla tr:last-child td{border-bottom:0}
.tabla tbody tr:hover td{background:var(--gbs-soft)}
.tabla td.num,.tabla th.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}

.etiqueta{font-size:12px;padding:3px 9px;border-radius:99px;background:var(--gbs-pale);color:var(--gbs-navy);border:1px solid var(--gbs-line)}
.etiqueta.alerta{background:#fdecee;color:#9b1c2a;border-color:#f5c2c7}

/* Entrada */
.caja-entrar{max-width:440px;margin:8vh auto}
.logo-entrar{display:block;width:220px;height:auto;margin:0 0 22px}
.caja-entrar h1{font-size:26px}

.barra{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:16px}.barra label{margin:0}

/* Estados del SRI */
.estado{font-size:12px;font-weight:700;padding:3px 10px;border-radius:99px;white-space:nowrap}
.estado.AUTORIZADO,.estado.FACTURADA{background:#d1e7dd;color:#0f5132}
.estado.BORRADOR,.estado.PROFORMA,.estado.PEDIDO{background:var(--gbs-pale);color:var(--gbs-navy)}
.estado.PENDIENTE,.estado.EN{background:#fdf0d5;color:#7a5200}
.estado.DEVUELTA,.estado.NO,.estado.ERROR,.estado.ANULADA,.estado.CANCELADO{background:#f8d7da;color:#842029}

.lineas input,.lineas select{margin:0;padding:7px 8px}.lineas input:not([type=checkbox]),.lineas select{height:40px}.lineas td{padding:6px}
.totales{margin-left:auto;max-width:330px}.totales div{display:flex;justify-content:space-between;gap:14px;padding:4px 0}
.totales .grande{font-size:20px;font-weight:var(--gbs-weight-title);color:var(--gbs-navy);border-top:1px solid var(--gbs-line);padding-top:8px}
.mensaje-sri{white-space:pre-wrap;font-family:ui-monospace,Consolas,monospace;font-size:13px}

@media (max-width:860px){
  .dos{grid-template-columns:1fr}
  .tabla{display:block;overflow-x:auto}.tarjeta{padding:18px}
  h1{font-size:25px}
}
[hidden]{display:none!important}
@media print{.lat,.lat-barra,.lat-velo,.pie,.no-imprimir,.aviso{display:none!important}.lat-cont{margin:0!important}.contenido{padding:0!important;max-width:none}.tarjeta{border:0;box-shadow:none}body{background:#fff;color:#000}}

/* gbs.css usa .num para la cifra grande de las tarjetas; en tablas es solo alineación numérica */
td.num,th.num{display:table-cell;margin:0;text-align:right;white-space:nowrap}
td.num{font-size:inherit;font-weight:inherit;line-height:inherit;color:inherit}
th.num{font-size:12px;font-weight:800;line-height:inherit;color:var(--gbs-muted);text-transform:uppercase;letter-spacing:.06em}
/* el ☰ de la barra móvil es un label: que no herede el color de las etiquetas de formulario */
.lat-barra .lat-btn{color:#fff;font-size:26px;font-weight:400;margin:0}
/* un bloque con hidden se oculta aunque tenga display:grid o flex */
[hidden]{display:none!important}
.lat .burbuja{margin-left:6px}
.nowrap{white-space:nowrap}

/* v16 · Contabilidad: plan de cuentas en árbol, libros */
form.en-linea{display:inline;margin:0}
button.enlace{background:none;border:0;padding:0;margin:0;font:inherit;color:var(--azul,#1572e8);cursor:pointer;text-decoration:underline}
button.enlace:hover{color:var(--gbs-navy)}
td.acciones{white-space:nowrap}td.acciones>*{margin-right:10px}
table.arbol tr.grupo td{background:#f7fafc}
table.arbol tr.inactiva td{color:var(--gbs-muted);opacity:.75}
button.plegar{background:none;border:0;padding:0 4px;margin:0;font-size:14px;color:var(--gbs-navy);cursor:pointer;width:20px}
table.libro tr.cab-asiento td{background:#f7fafc;border-top:2px solid var(--gbs-line)}
table.libro tr.total td,table.libro tr.saldo td{font-weight:700}
table.libro tr.clic{cursor:pointer}table.libro tr.clic:hover td{background:var(--gbs-pale)}
.sangria{padding-left:28px!important}
.lineas input.valor{text-align:right}
@media (max-width:860px){#asiento .lineas input[name="cuenta[]"]{min-width:210px}#asiento .lineas input[name="detalle[]"]{min-width:140px}#asiento .lineas input.valor{min-width:95px}}

/* v19 · Inventario */
.pestanas{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.pestanas .btn{margin:0}
td.hay{white-space:nowrap;vertical-align:middle}
@media (max-width:860px){#mov .lineas input[name="producto[]"]{min-width:200px}#mov .lineas input[name="detalle[]"]{min-width:130px}#mov .lineas input.valor{min-width:85px}}
details.ice{margin:12px 0}details.ice summary{cursor:pointer;font-weight:700;color:var(--gbs-navy);margin-bottom:8px}
/* v23 · Punto de venta: tarjetas para elegir caja */
a.tarjeta.pos-elegir{display:block;text-decoration:none;color:inherit;transition:border-color .15s}a.tarjeta.pos-elegir:hover{border-color:var(--gbs-accion)}
/* v24 · Estadísticas del punto de venta: barras */
.pos-barras td.barra-col,.pos-barras th.barra-col{width:38%}
.pos-barras .barra{display:block;height:12px;border-radius:6px;background:var(--gbs-accion)}
