:root{--navy:#0b1928;--azul:#0a4a73;--ambar:#f6a40c;--ambar-osc:#c97a00;--celeste:#7fb3d3;--bg:#f3f6fa;--card:#fff;--texto:#14212e;--muted:#566676;--borde:#d9e1ea;--ok:#1a7f4b;--warn:#8a5300;--bad:#b3261e;--radio:10px;color:var(--texto);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.45}*{box-sizing:border-box}body{background:var(--bg);min-height:100vh;color:var(--texto);margin:0}body:before{content:"";height:env(safe-area-inset-top,0px);z-index:10;background:var(--navy);position:fixed;inset:0 0 auto}h1{margin:0 0 .15rem;font-size:1.5rem}h2{margin:0 0 .75rem;font-size:1.05rem}h3{margin:1.1rem 0 .5rem;font-size:.98rem}h4{margin:.9rem 0 .4rem;font-size:.9rem}p{margin:.25rem 0 .6rem}a{color:var(--azul)}code{background:#eef2f6;border-radius:4px;padding:0 .3em;font-size:.85em}.muted{color:var(--muted)}.num{font-variant-numeric:tabular-nums}.der{text-align:right}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem}.txt-ok{color:var(--ok)}.txt-bad{color:var(--bad)}.txt-warn{color:var(--warn)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:3px solid var(--ambar);outline-offset:2px}.saltar{position:absolute;left:-999px}.saltar:focus{z-index:50;background:#fff;padding:.5rem 1rem;top:8px;left:8px}.cab{background:var(--navy);color:#fff;padding-block:.55rem;padding-left:max(20px, env(safe-area-inset-left,0px));padding-right:max(20px, env(safe-area-inset-right,0px));top:env(safe-area-inset-top,0px);z-index:10;flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex;position:sticky}.marca{align-items:center;gap:.55rem;display:flex}.marca-logo{background:var(--ambar);width:30px;height:30px;color:var(--navy);border-radius:8px;place-items:center;font-weight:800;display:inline-grid}.marca-sub{color:var(--celeste);font-size:.85rem}.nav{flex:1;gap:.15rem;min-width:0;display:flex;overflow-x:auto}.nav-enlace{color:#dce8f3;white-space:nowrap;border-radius:8px;padding:.45rem .8rem;font-size:.93rem;text-decoration:none}.nav-enlace:hover{background:#ffffff1a}.nav-enlace.activo{background:var(--azul);color:#fff;font-weight:600}.usuario{align-items:center;gap:.6rem;font-size:.88rem;display:flex}.rol{background:#ffffff24;border-radius:999px;padding:.1rem .6rem;font-size:.78rem}.banner-demo{color:#6b4300;text-align:center;padding-block:.35rem;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));background:#fff1d6;border-bottom:1px solid #f0d9a4;font-size:.85rem}main{outline:none}.pagina{max-width:1280px;padding-block:1.25rem;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));margin:0 auto}.pagina-angosta{max-width:920px}.pagina-cab{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.centro{min-height:100vh;padding-block:1rem;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));place-items:center;display:grid}.tarjeta{background:var(--card);border:1px solid var(--borde);border-radius:var(--radio);margin-bottom:1rem;padding:1.1rem 1.2rem}.tarjeta-cab{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.tarjeta-cab h2{margin-bottom:.5rem}.login{width:min(420px,100%)}.login .marca{margin-bottom:1rem}.login .marca-logo{width:38px;height:38px}.kpis{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.8rem;margin-bottom:1rem;display:grid}.kpi{background:var(--card);border:1px solid var(--borde);border-left:4px solid var(--azul);border-radius:var(--radio);padding:.8rem 1rem}.kpi-ok{border-left-color:var(--ok)}.kpi-bad{border-left-color:var(--bad)}.kpi-warn{border-left-color:var(--ambar-osc)}.kpi-titulo{color:var(--muted);font-size:.8rem}.kpi-valor{margin:.1rem 0;font-size:1.45rem;font-weight:700}.kpi-detalle{color:var(--muted);font-size:.8rem}.dash-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.dash-grid>.tarjeta{margin:0}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.chips-resumen{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;display:flex}.controles{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.grilla-campos{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));align-items:start;gap:.8rem 1rem;display:grid}.campo{flex-direction:column;gap:.25rem;min-width:0;font-size:.9rem;display:flex}.campo-doble{grid-column:span 2}.campo-completo{grid-column:1/-1}.campo-accion{justify-content:flex-end}.campo-etiqueta{font-size:.83rem;font-weight:600}.campo-ayuda{color:var(--muted);font-size:.78rem}.campo-error{color:var(--bad);font-size:.8rem}input,select,textarea{font:inherit;color:var(--texto);background:#fff;border:1px solid #b9c5d2;border-radius:8px;width:100%;min-width:0;padding:.5rem .6rem}input:focus,select:focus,textarea:focus{border-color:var(--azul)}input[type=checkbox]{width:auto}input[type=search]{max-width:420px}.check{align-items:center;gap:.5rem;margin:.6rem 0;font-size:.9rem;display:flex}.btn{font:inherit;color:var(--texto);cursor:pointer;background:#fff;border:1px solid #b9c5d2;border-radius:8px;padding:.5rem .95rem;font-size:.9rem;font-weight:600}.btn:hover:not(:disabled){background:#eef3f8}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primario{background:var(--azul);border-color:var(--azul);color:#fff}.btn-primario:hover:not(:disabled){background:#083a5b}.btn-peligro{border-color:var(--bad);color:var(--bad);background:#fff}.btn-peligro:hover:not(:disabled){background:#fde7e5}.btn-fantasma{color:var(--azul);background:0 0;border-color:#0000}.btn-claro{color:#dce8f3}.btn-claro:hover:not(:disabled){background:#ffffff1f}.btn-ancho{width:100%;margin-top:.6rem}.barra-acciones{background:linear-gradient(transparent, var(--bg) 30%);flex-wrap:wrap;align-items:center;gap:1rem;padding:1rem 0 .5rem;display:flex;position:sticky;bottom:0}.fila-botones{flex-wrap:wrap;gap:.6rem;margin-top:.75rem;display:flex}.fila-vertical{flex-direction:column}.filtros{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.75rem;display:flex}.filtros-chicos select{width:auto}.resumen-iva{background:#eef6fb;border:1px solid #cfe2ef;border-radius:8px;margin:.8rem 0 0;padding:.5rem .8rem;font-size:.92rem}.nota-timbrado{margin:.6rem 0 0;font-size:.85rem}.aviso{border:1px solid;border-radius:8px;margin:0 0 1rem;padding:.65rem .9rem;font-size:.9rem}.aviso ul{margin:.3rem 0 0 1.1rem;padding:0}.aviso p{margin:.3rem 0 0}.aviso-info{color:#0a3a5a;background:#e8f1f8;border-color:#bcd6ea}.aviso-ok{color:#14502f;background:#e3f4ea;border-color:#b3dcc3}.aviso-warn{color:#6b4300;background:#fff4de;border-color:#f0d9a4}.aviso-error{color:#8a1a13;background:#fde7e5;border-color:#f2b8b4}.badge{white-space:nowrap;border-radius:999px;padding:.1rem .55rem;font-size:.76rem;font-weight:600;display:inline-block}.b-ok{color:#14633a;background:#e3f4ea}.b-warn{color:#7a4a00;background:#fff1d6}.b-bad{color:#9b1c14;background:#fde7e5}.b-info{color:#0a4a73;background:#e4eef7}.b-gris{color:#4a5764;background:#eceff3}.vacio{color:var(--muted);text-align:center;padding:1rem 0}.tabla-scroll{overflow-x:auto}.tabla{border-collapse:collapse;background:#fff;width:100%;font-size:.88rem}.tabla th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.02em;border-bottom:2px solid var(--borde);white-space:nowrap;padding:.5rem .6rem;font-size:.76rem;font-weight:700}.tabla th.der{text-align:right}.tabla td{vertical-align:top;border-bottom:1px solid #edf1f5;padding:.5rem .6rem}.tabla-compacta td,.tabla-compacta th{padding:.35rem .5rem}.tabla tfoot td{border-top:2px solid var(--borde);border-bottom:0;font-weight:700}.tabla input{padding:.3rem .4rem}.fila-click{cursor:pointer}.fila-click:hover{background:#f3f8fc}.fila-anulada{color:var(--muted);background:#fafbfc}.fila-error{background:#fff5f4}.fila-detalle>td{background:#f7fafc;padding:.5rem 1rem 1rem}.acciones-fila{white-space:nowrap}.celda-concepto{text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.detalle-audit{color:var(--muted);word-break:break-word;max-width:420px;font-size:.78rem}.pestanas{border-bottom:1px solid var(--borde);gap:.25rem;margin-bottom:.9rem;display:flex;overflow-x:auto}.pestana{font:inherit;cursor:pointer;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;padding:.55rem .9rem;font-weight:600}.pestana.activa{color:var(--azul);border-bottom-color:var(--azul)}dialog.panel{background:var(--bg);width:min(680px,100vw);height:100dvh;max-height:100dvh;color:var(--texto);border:0;margin:0 0 0 auto;padding:0;box-shadow:-8px 0 30px #00000040}dialog.panel::backdrop{background:#0b192880}.panel-cab{background:var(--card);border-bottom:1px solid var(--borde);z-index:2;justify-content:space-between;align-items:flex-start;padding:1rem 1.2rem;display:flex;position:sticky;top:0}.panel-cab h2{margin:0;font-size:1.15rem}.panel-cab p{margin:.1rem 0 0;font-size:.85rem}.panel-cuerpo{padding:1rem 1.2rem 2rem}.panel-cuerpo section{background:var(--card);border:1px solid var(--borde);border-radius:var(--radio);margin-bottom:.9rem;padding:.2rem 1rem 1rem}.panel-resumen{background:var(--card);border:1px solid var(--borde);border-radius:var(--radio);grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.6rem;margin-bottom:.9rem;padding:.8rem 1rem;display:grid}.panel-resumen>div{flex-direction:column;align-items:flex-start;gap:.15rem;font-size:.85rem;display:flex}.panel-resumen strong{font-size:1rem}.form-cobro{border-top:1px dashed var(--borde);margin-top:.8rem;padding-top:.2rem}.zona-admin{background:#fffaf0!important;border-color:#e6cfa0!important}.grafico-scroll{overflow-x:auto}.grafico{width:100%;min-width:560px;height:auto}.g-linea{stroke:#e3e9f0;stroke-width:1px}.g-texto{fill:var(--muted);font-size:11px}.g-fact{fill:var(--azul);background:var(--azul)}.g-cobr{fill:var(--ambar-osc);background:var(--ambar-osc)}.leyenda{color:var(--muted);gap:1rem;margin:.4rem 0 0;padding:0;font-size:.82rem;list-style:none;display:flex}.leyenda li{align-items:center;gap:.4rem;display:flex}.sw{border-radius:3px;flex:none;width:12px;height:12px;display:inline-block}.leyenda-lista{color:var(--texto);flex-direction:column;gap:.35rem;margin-top:.8rem}.leyenda-lista li{grid-template-columns:14px 1fr auto auto;align-items:center;gap:.5rem;display:grid}.apilada{background:#e8edf3;border-radius:6px;height:26px;display:flex;overflow:hidden}.apilada-vacia{color:var(--muted);padding:.3rem .6rem;font-size:.8rem}.hbarras{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.hb-fila{justify-content:space-between;gap:.75rem;font-size:.88rem;display:flex}.hb-nombre{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hb-pista{background:#e8edf3;border-radius:5px;height:9px;margin:.25rem 0 .1rem;overflow:hidden}.hb-barra{background:var(--azul);border-radius:5px;height:100%}@media (width<=900px){.dash-grid{grid-template-columns:1fr}.span-2,.span-3,.campo-doble{grid-column:auto}.cab{gap:.5rem;padding-block:.5rem}.usuario{margin-left:auto}.usuario>span:first-child{display:none}.nav{flex:100%;order:3;padding-bottom:.15rem}.nav-enlace{padding:.55rem .9rem}.pagina{padding-block:.8rem}}.tabla td.num,.tabla td.der,.tabla th.der{white-space:nowrap}.filtros select{width:auto;max-width:100%}.filtros input[type=search]{flex:260px}dialog.dialogo-confirmar{border:1px solid var(--borde);border-radius:var(--radio);background:var(--card);width:min(440px,100vw - 32px);color:var(--texto);padding:1.25rem 1.4rem;box-shadow:0 12px 40px #0000004d}dialog.dialogo-confirmar::backdrop{background:#0b19288c}dialog.dialogo-confirmar p{margin:0 0 .5rem;font-size:.95rem}
