:root{--color-primary: #12304F;--color-primary-strong: #0C2036;--color-primary-soft: #EAF4FA;--color-on-primary: #FFFFFF;--color-accent: #C8722E;--color-accent-soft: #FFF3E0;--color-accent-border: #FFCC80;--color-accent-text: #8D4E00;--color-focus: #0B96D4;--color-bg: #F4F6F8;--color-surface: #FFFFFF;--color-text: #1C2833;--color-muted: #5C6873;--color-border: #DDE3E8;--color-success: #1B5E20;--color-success-soft: #E8F5E9;--color-success-border: #C8E6C9;--color-warning: #8A5000;--color-warning-soft: #FFF4E5;--color-warning-border: #FFD9A0;--color-danger: #B3261E;--color-danger-soft: #FDECEA;--color-danger-border: #F5C6C2;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-size-xs: 11px;--font-size-sm: 12.5px;--font-size-md: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-weight-medium: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-base: 1.45;--letter-spacing-wide: .04em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 14px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(18, 48, 79, .06);--shadow-md: 0 1px 2px rgba(18, 48, 79, .06), 0 8px 24px rgba(18, 48, 79, .07);--shadow-focus: 0 1px 10px rgba(11, 150, 212, .18);--tap: 48px;--control-height: 40px;--control-height-sm: 34px;--sidebar-width: 232px;--header-height: 64px;--content-max: 1100px;--safe-b: env(safe-area-inset-bottom, 0px);--transition-fast: .15s;--transition-base: .18s;--easing: cubic-bezier(.2, 0, .2, 1);--navy: var(--color-primary);--navy-dk: var(--color-primary-strong);--cyan: var(--color-focus);--copper: var(--color-accent);--tinta: var(--color-text);--gris: var(--color-muted);--linea: var(--color-border);--fondo: var(--color-bg);--tarjeta: var(--color-surface);--r: var(--radius-lg)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);font-size:var(--font-size-base);line-height:var(--line-height-base);-webkit-text-size-adjust:100%}.app{min-height:100dvh;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr)}.app-cuerpo{display:flex;flex-direction:column;min-width:0}.sidebar{background:var(--color-primary);color:var(--color-on-primary);display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5) var(--space-3) calc(var(--space-4) + var(--safe-b))}.sidebar-nav{display:flex;flex-direction:column;gap:var(--space-1);flex:1}.nav-item{display:flex;align-items:center;gap:var(--space-3);min-height:var(--tap);padding:0 var(--space-3);border:0;border-left:3px solid transparent;border-radius:var(--radius-sm);background:transparent;color:#cfe3f2;font:inherit;font-size:var(--font-size-md);font-weight:var(--font-weight-medium);text-align:left;cursor:pointer;transition:background-color var(--transition-fast) var(--easing),color var(--transition-fast) var(--easing)}.nav-item:hover{background:#ffffff1a;color:var(--color-on-primary)}.nav-item:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.nav-item[aria-current=page]{background:#ffffff24;border-left-color:var(--color-accent);color:var(--color-on-primary);font-weight:var(--font-weight-bold)}.nav-icono{flex:none;width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.sidebar-pie{border-top:1px solid rgba(255,255,255,.16);padding-top:var(--space-3);display:flex;flex-direction:column;gap:2px}.sidebar-pie .marca-pie{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);letter-spacing:.08em;color:var(--color-on-primary)}.sidebar-pie .origen{font-size:var(--font-size-xs);color:#a9c6de;letter-spacing:.02em}.header{background:var(--color-surface);color:var(--color-text);border-bottom:1px solid var(--color-border);min-height:var(--header-height);padding:var(--space-3) var(--space-5);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.header-marca{display:flex;flex-direction:column;gap:2px;min-width:0}.header-titulo{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-primary);letter-spacing:.5px;line-height:var(--line-height-tight)}.header-bajada{font-size:var(--font-size-sm);color:var(--color-muted)}@media(max-width:860px){.app{grid-template-columns:minmax(0,1fr)}.sidebar{flex-direction:row;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);overflow-x:auto}.sidebar-nav{flex-direction:row;flex:1}.nav-item{min-height:var(--control-height);border-left:0;border-bottom:3px solid transparent;white-space:nowrap}.nav-item[aria-current=page]{border-left-color:transparent;border-bottom-color:var(--color-accent)}.sidebar-pie{border-top:0;padding-top:0;text-align:right}.sidebar-pie .origen{display:none}}@media(max-width:520px){.header-bajada{display:none}}.identidad{display:flex;align-items:center;gap:var(--space-3)}.identidad .quien{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.identidad .rol{color:var(--color-primary);background:var(--color-primary-soft);border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:2px 9px;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wide)}.salir{background:transparent;color:var(--color-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:6px 10px;font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer;min-height:32px;transition:color var(--transition-fast) var(--easing),border-color var(--transition-fast) var(--easing)}.salir:hover{border-color:var(--color-primary);color:var(--color-primary)}@media(max-width:520px){.identidad .quien,.identidad .rol{display:none}}.acceso{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px 16px calc(24px + var(--safe-b));background:var(--fondo)}.tarjeta-acceso{width:100%;max-width:380px;display:flex;flex-direction:column;background:var(--tarjeta);border:1px solid var(--linea);border-radius:var(--r);padding:28px 24px;box-shadow:0 1px 2px #12304f0f,0 8px 24px #12304f12}.tarjeta-acceso.centrado{text-align:center;align-items:center;gap:4px}.marca-acceso{color:var(--navy);font-size:20px;margin-bottom:18px}.tarjeta-acceso h1{font-size:19px;margin:0 0 4px;color:var(--tinta)}.explicacion{color:var(--gris);font-size:13.5px;line-height:1.5;margin:0 0 16px}.explicacion b{color:var(--tinta)}.pista{color:var(--gris);font-size:12px;line-height:1.45;margin:-8px 0 12px}.tarjeta-acceso label{font-size:12.5px;font-weight:600;color:var(--gris);margin-bottom:5px}.tarjeta-acceso input{min-height:var(--tap);padding:0 12px;margin-bottom:14px;font:inherit;font-size:15px;color:var(--tinta);background:#fff;border:1px solid var(--linea);border-radius:10px}.tarjeta-acceso input:focus-visible{outline:2px solid var(--cyan);outline-offset:1px;border-color:var(--cyan)}.tarjeta-acceso input:disabled{background:var(--fondo);color:var(--gris)}.aviso-error{min-height:18px;margin:0 0 12px;font-size:12.5px;line-height:1.4;color:#b3261e}.aviso-error:empty{margin-bottom:4px}.barra-error{background:#fdecea;border-bottom:1px solid #F5C6C2;padding:10px 16px;margin:0;text-align:center}.principal,.secundario{min-height:var(--tap);border-radius:10px;font:inherit;font-size:15px;font-weight:700;cursor:pointer}.principal{background:var(--navy);color:#fff;border:1px solid var(--navy)}.principal:hover:not(:disabled){background:var(--navy-dk)}.principal:disabled{background:var(--gris);border-color:var(--gris);cursor:not-allowed}.secundario{background:transparent;color:var(--gris);border:1px solid var(--linea);margin-top:10px}.secundario:hover:not(:disabled){color:var(--tinta);border-color:var(--gris)}.principal:focus-visible,.secundario:focus-visible,.salir:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.lienzo{flex:1;padding:var(--space-6) var(--space-5) calc(var(--space-6) + var(--safe-b));max-width:var(--content-max);width:100%;margin:0 auto}.saludo{font-size:20px;font-weight:600;margin:0 0 18px}.saludo b{color:var(--navy)}.grilla{display:grid;gap:12px;grid-template-columns:1fr}@media(min-width:600px){.grilla{grid-template-columns:repeat(2,1fr)}}@media(min-width:1000px){.grilla{grid-template-columns:repeat(3,1fr)}}.tarjeta{background:var(--tarjeta);border:1px solid var(--linea);border-radius:var(--r);padding:16px;min-height:var(--tap);display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;gap:2px 12px;text-align:left;font:inherit;color:inherit;cursor:pointer;transition:border-color .12s,box-shadow .12s}.tarjeta:disabled{cursor:not-allowed;opacity:.55}.tarjeta:not(:disabled):hover{border-color:var(--cyan);box-shadow:0 1px 10px #0b96d42e}.tarjeta:not(:disabled):focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.tarjeta:not(:disabled) .titulo:after{content:" →";color:var(--cyan)}.tarjeta:not(:disabled) .icono{background:var(--navy);color:#fff}.tarjeta .icono{grid-row:1 / 3;align-self:center;display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:#eaf4fa;color:var(--navy);font-weight:800}.tarjeta .titulo{font-weight:700;color:var(--navy)}.tarjeta .detalle{font-size:13px;color:var(--gris)}.proximamente{margin-top:26px;padding:14px 16px;border:1px dashed var(--linea);border-radius:var(--r);background:#fff}.proximamente h2{margin:0 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.8px;color:var(--gris)}.proximamente ul{margin:0;padding-left:18px;color:var(--gris);font-size:14px}.pie{padding:var(--space-3) var(--space-5) calc(var(--space-3) + var(--safe-b));text-align:center;font-size:var(--font-size-sm);color:var(--color-muted);border-top:1px solid var(--color-border)}.cabecera-vista{display:flex;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}.cabecera-vista h1{font-size:20px;color:var(--tinta);margin:0}.volver{background:transparent;color:var(--navy);border:1px solid var(--linea);border-radius:10px;padding:8px 12px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;min-height:40px}.volver:hover{background:#fff;border-color:var(--navy)}.buscador{margin-bottom:14px}.buscador label{display:block;font-size:12.5px;font-weight:600;color:var(--gris);margin-bottom:6px}.buscador-fila{display:flex;gap:8px;flex-wrap:wrap}.buscador-fila input{flex:1 1 220px;min-height:var(--tap);padding:0 12px;font:inherit;font-size:15px;color:var(--tinta);background:#fff;border:1px solid var(--linea);border-radius:10px}.buscador-fila input:focus-visible{outline:2px solid var(--cyan);outline-offset:1px;border-color:var(--cyan)}.buscador .principal,.buscador .secundario{padding:0 18px;margin-top:0}.conteo{color:var(--gris);font-size:12.5px;margin:0 0 10px}.aviso{color:var(--gris);font-size:14px;line-height:1.5;margin:12px 0}.aviso-recuperable{margin:12px 0;display:flex;flex-direction:column;align-items:flex-start;gap:10px}.lista-clientes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.fila-cliente{width:100%;display:grid;align-items:center;gap:4px 14px;text-align:left;grid-template-columns:84px 1fr auto;grid-template-areas:"codigo razon estado" "codigo lugar estado";background:var(--tarjeta);border:1px solid var(--linea);border-radius:12px;padding:12px 14px;min-height:var(--tap);font:inherit;cursor:pointer}.fila-cliente:hover{border-color:var(--cyan);box-shadow:0 1px 8px #12304f14}.fila-cliente:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.fila-cliente .codigo{grid-area:codigo;color:var(--gris);font-size:13px;font-variant-numeric:tabular-nums}.fila-cliente .razon{grid-area:razon;color:var(--tinta);font-size:15px;font-weight:600}.fila-cliente .lugar{grid-area:lugar;color:var(--gris);font-size:12.5px}.estado{grid-area:estado;font-size:11px;font-weight:700;letter-spacing:.04em;border-radius:999px;padding:3px 10px;white-space:nowrap;color:#1b5e20;background:#e8f5e9;border:1px solid #C8E6C9}.estado-inactivo{color:#8a5000;background:#fff4e5;border-color:#ffd9a0}.ver-mas{margin-top:14px;padding:0 20px}.datos-cliente{margin:0;display:flex;flex-direction:column;gap:2px}.datos-cliente>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;background:var(--tarjeta);border:1px solid var(--linea);padding:12px 14px}.datos-cliente>div:first-child{border-radius:12px 12px 0 0}.datos-cliente>div:last-child{border-radius:0 0 12px 12px}.datos-cliente>div+div{border-top:0}.datos-cliente dt{color:var(--gris);font-size:12.5px;font-weight:600}.datos-cliente dd{margin:0;color:var(--tinta);font-size:15px;text-align:right}@media(max-width:520px){.fila-cliente{grid-template-columns:1fr auto;grid-template-areas:"razon estado" "codigo estado" "lugar estado"}}.cabecera-vista .nuevo{margin-left:auto;padding:0 18px}.filtros{display:flex;gap:8px 14px;flex-wrap:wrap;margin-top:10px;align-items:end}.filtro{display:flex;flex-direction:column;gap:2px;flex:0 1 190px;min-width:130px;height:fit-content}.filtro label{font-size:11px;font-weight:600;color:var(--gris);letter-spacing:.02em}.filtro input,.filtro select{flex:none;height:34px;min-height:34px;max-height:34px;border:1px solid var(--linea);border-radius:8px;padding:0 9px;font:inherit;font-size:13px;color:var(--tinta);background:var(--tarjeta)}@media(max-width:560px){.filtro{flex:1 1 45%}}.filtro input:focus-visible,.filtro select:focus-visible{outline:2px solid var(--cyan);outline-offset:1px;border-color:var(--cyan)}.lista-productos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.fila-producto{width:100%;display:grid;align-items:center;gap:4px 14px;text-align:left;grid-template-columns:130px minmax(0,1fr) 110px 110px 96px 120px 76px auto;grid-template-areas:"codigo descripcion marca familia predeterminado precio unidad estado";background:var(--tarjeta);border:1px solid var(--linea);border-radius:12px;padding:12px 14px;min-height:var(--tap);font:inherit;cursor:pointer}.fila-producto:hover{border-color:var(--cyan);box-shadow:0 1px 8px #12304f14}.fila-producto:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.fila-producto .codigo{grid-area:codigo;color:var(--tinta);font-size:13.5px;font-weight:600;font-variant-numeric:tabular-nums}.fila-producto .descripcion{grid-area:descripcion;color:var(--tinta);font-size:14px}.fila-producto .marca{grid-area:marca;color:var(--gris);font-size:12.5px}.fila-producto .familia{grid-area:familia;color:var(--gris);font-size:12.5px}.fila-producto .precio{grid-area:precio;color:var(--tinta);font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;text-align:right}.fila-producto .unidad{grid-area:unidad;color:var(--gris);font-size:11.5px}.fila-producto .predeterminado{grid-area:predeterminado;color:var(--gris);font-size:12.5px}.precio-sin{color:var(--gris)!important;font-weight:500!important;font-size:11.5px!important;letter-spacing:.02em}.cabecera-producto{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:4px}.cabecera-producto h1{margin:0;font-size:22px;font-variant-numeric:tabular-nums}.cabecera-producto .descripcion{margin:4px 0 0;color:var(--gris);font-size:14px}.cabecera-producto .estado{grid-area:auto}.acciones-producto{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 18px}.acciones-producto .secundario{padding:0 16px;margin-top:0}.bloque{margin:0 0 18px}.bloque h2{font-size:14px;color:var(--gris);letter-spacing:.03em;margin:0 0 8px;text-transform:uppercase}.datos{margin:0;display:flex;flex-direction:column;gap:2px}.datos .dato{display:flex;justify-content:space-between;align-items:baseline;gap:16px;background:var(--tarjeta);border:1px solid var(--linea);padding:10px 14px}.datos .dato:first-child{border-radius:12px 12px 0 0}.datos .dato:last-child{border-radius:0 0 12px 12px}.datos .dato+.dato{border-top:0}.datos dt{color:var(--gris);font-size:12.5px;font-weight:600}.datos dd{margin:0;color:var(--tinta);font-size:14.5px;text-align:right}.precio-grande{font-size:26px;font-weight:700;color:var(--tinta);margin:0 0 10px;font-variant-numeric:tabular-nums}.nota{color:var(--gris);font-size:12.5px;margin:8px 0 0}.tabla-envoltorio{overflow-x:auto;border:1px solid var(--linea);border-radius:12px;background:var(--tarjeta)}.tabla{width:100%;border-collapse:collapse;font-size:13.5px}.tabla th,.tabla td{padding:9px 12px;text-align:left;white-space:nowrap}.tabla th{color:var(--gris);font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--linea)}.tabla tbody tr+tr td{border-top:1px solid var(--linea)}.lista-alias{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.lista-alias li{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--tarjeta);border:1px solid var(--linea);border-radius:10px;padding:10px 14px}.lista-alias .codigo{font-weight:600;font-variant-numeric:tabular-nums}.etiqueta{font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--gris);background:var(--fondo);border:1px solid var(--linea);border-radius:999px;padding:2px 8px}.nota-alias{color:var(--gris);font-size:12.5px}.lista-alias .fecha{margin-left:auto;color:var(--gris);font-size:12px}.formulario-producto fieldset,.panel-accion{border:1px solid var(--linea);border-radius:12px;background:var(--tarjeta);padding:14px 16px;margin:0 0 14px}.formulario-producto legend,.panel-accion h2{font-size:12.5px;font-weight:700;color:var(--gris);text-transform:uppercase;letter-spacing:.04em;padding:0 6px;margin:0 0 4px}.campos{display:flex;flex-wrap:wrap;gap:12px}.campo{display:flex;flex-direction:column;gap:4px;flex:1 1 200px;min-width:0}.campo.ancho{flex-basis:100%}.campo label{font-size:12.5px;font-weight:600;color:var(--gris)}.campo input,.campo select,.campo textarea{border:1px solid var(--linea);border-radius:10px;padding:0 12px;height:var(--tap);font:inherit;color:var(--tinta);background:var(--blanco, #fff)}.campo textarea{height:auto;padding:10px 12px;resize:vertical}.campo input:focus-visible,.campo select:focus-visible,.campo textarea:focus-visible{outline:2px solid var(--cyan);outline-offset:1px;border-color:var(--cyan)}.campo small{color:var(--gris);font-size:11.5px}.campo .solo-lectura{display:flex;align-items:center;height:var(--tap);padding:0 12px;border:1px dashed var(--linea);border-radius:10px;color:var(--gris);font-variant-numeric:tabular-nums}.acciones-formulario{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.acciones-formulario .principal,.acciones-formulario .secundario{padding:0 18px;margin-top:0}.advertencia{margin:0 0 12px;padding-left:20px;color:var(--tinta);font-size:13.5px}.advertencia li+li{margin-top:4px}.confirmacion{border:1px solid var(--cyan);border-radius:10px;padding:12px 14px;background:var(--fondo)}.aviso-ok{color:#1b5e20;background:#e8f5e9;border:1px solid #C8E6C9;border-radius:10px;padding:10px 14px;margin:0 0 14px;font-size:13.5px}@media(max-width:900px){.fila-producto{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"descripcion estado" "codigo precio" "marca unidad" "familia predeterminado"}.fila-producto .precio{text-align:right}}.oculto-visual{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.simulador .bloque{margin-bottom:18px}.simulador .bloque h3{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px;font-size:15px;color:var(--navy)}.opciones-destinatario{display:grid;gap:10px;margin-bottom:12px}.radio{display:flex;align-items:center;gap:10px;min-height:var(--tap);font-size:14px;cursor:pointer}.radio input{width:18px;height:18px;accent-color:var(--cyan)}.cliente-elegido{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--cyan);border-radius:10px;background:var(--fondo)}.tabla-lineas .cantidad{width:92px;height:36px;padding:0 8px;border:1px solid var(--linea);border-radius:8px;font-size:14px;text-align:right;font-variant-numeric:tabular-nums}.tabla-lineas .cantidad[aria-invalid=true]{border-color:#b71c1c}.tabla-lineas .unidad{margin-left:6px;color:var(--gris);font-size:12px}.tabla-lineas .importe,.tabla-desglose .importe{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.tabla .quitar{min-width:32px;height:32px;border:1px solid var(--linea);border-radius:8px;background:#fff;color:var(--gris);cursor:pointer;font-size:14px}.tabla .quitar:hover{border-color:#b71c1c;color:#b71c1c}.linea-no-simulable{background:#fff8e1}.linea-no-simulable td{border-left:0}.linea-no-simulable td:first-child{border-left:3px solid var(--copper)}.aviso-linea{display:block;margin-top:4px;color:#8d4e00;font-size:12px}.requiere-autorizacion{display:inline-block;margin:8px 0 0;padding:2px 8px;border-radius:999px;background:#fff3e0;color:#8d4e00;border:1px solid #FFCC80;font-size:12px}.acciones-simular{display:grid;justify-items:center;gap:8px;margin:18px 0}.simular{min-width:260px}.acciones-simular .pista{margin:0}.resultado .sello{padding:2px 10px;border-radius:999px;font-size:11.5px;letter-spacing:.04em;background:#e8f5e9;color:#1b5e20;border:1px solid #C8E6C9}.resultado.desactualizado{opacity:.72;border-color:var(--copper)}.resultado.desactualizado .sello{background:#fff3e0;color:#8d4e00;border-color:#ffcc80}.tabla-desglose th[scope=row]{text-align:left;font-weight:500}.tabla-desglose .detalle-paso{display:block;color:var(--gris);font-size:11.5px}.tabla-desglose .signo{width:34px;text-align:center;color:var(--gris)}.tabla-desglose .neto th,.tabla-desglose .neto td{border-top:1px solid var(--linea);font-weight:600}.tabla-desglose .total th,.tabla-desglose .total td{border-top:3px double var(--navy);font-size:16px;font-weight:700;color:var(--navy);padding-top:10px}.precio-sin{color:var(--copper);font-size:12.5px;letter-spacing:.02em}@media(max-width:900px){.simular{min-width:100%}.tabla-lineas .cantidad{width:72px}}.cabecera-simulador{gap:var(--space-4);margin-bottom:var(--space-4)}.cabecera-simulador h1{margin:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-primary);line-height:var(--line-height-tight)}.cabecera-simulador .secundario{margin-left:auto;margin-top:0}.simulador-flujo>.bloque:first-child{margin-top:0}.ui-boton{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--tap);padding:0 var(--space-5);border:1px solid transparent;border-radius:var(--radius-md);font:inherit;font-size:var(--font-size-md);font-weight:var(--font-weight-bold);cursor:pointer;transition:background-color var(--transition-fast) var(--easing),border-color var(--transition-fast) var(--easing),color var(--transition-fast) var(--easing)}.ui-boton:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.ui-boton:disabled{cursor:not-allowed;opacity:.55}.ui-boton--primary{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.ui-boton--primary:hover:not(:disabled){background:var(--color-primary-strong);border-color:var(--color-primary-strong)}.ui-boton--secondary{background:var(--color-surface);color:var(--color-muted);border-color:var(--color-border)}.ui-boton--secondary:hover:not(:disabled){color:var(--color-primary);border-color:var(--color-primary)}.ui-boton--accent{background:var(--color-accent);color:var(--color-on-primary);border-color:var(--color-accent)}.ui-boton--accent:hover:not(:disabled){background:var(--color-accent-text);border-color:var(--color-accent-text)}.ui-input,.ui-select{width:100%;min-height:var(--tap);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:15px;transition:border-color var(--transition-fast) var(--easing)}.ui-input:hover:not(:disabled),.ui-select:hover:not(:disabled){border-color:var(--color-muted)}.ui-input:focus-visible,.ui-select:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px;border-color:var(--color-focus)}.ui-input:disabled,.ui-select:disabled{background:var(--color-bg);color:var(--color-muted);cursor:not-allowed}.ui-input[aria-invalid=true]{border-color:var(--color-danger)}.ui-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm)}.ui-card__titulo{margin:0 0 var(--space-2);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-primary)}.ui-tabla-envoltorio{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.ui-tabla{width:100%;border-collapse:collapse;font-size:13.5px}.ui-tabla th,.ui-tabla td{padding:var(--space-2) var(--space-3);text-align:left}.ui-tabla th{color:var(--color-muted);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);border-bottom:1px solid var(--color-border)}.ui-tabla tbody tr+tr td{border-top:1px solid var(--color-border)}.ui-tabla tbody tr:hover td{background:var(--color-bg)}.ui-badge{display:inline-block;border-radius:var(--radius-pill);padding:2px 10px;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wide);white-space:nowrap;color:var(--color-muted);background:var(--color-bg);border:1px solid var(--color-border)}.ui-badge--success{color:var(--color-success);background:var(--color-success-soft);border-color:var(--color-success-border)}.ui-badge--warning{color:var(--color-warning);background:var(--color-warning-soft);border-color:var(--color-warning-border)}.ui-badge--accent{color:var(--color-accent-text);background:var(--color-accent-soft);border-color:var(--color-accent-border)}.simulador-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,430px);gap:var(--space-5);align-items:start}.simulador-flujo{min-width:0;display:flex;flex-direction:column}.simulador-panel{position:sticky;top:var(--space-4);min-width:0}.simulador-panel .bloque{margin-bottom:0}.simulador-panel .tabla-envoltorio{overflow-x:visible;border:0;background:transparent;border-radius:0}.simulador-panel .tabla{width:100%}.simulador-panel .tabla-lineas{table-layout:fixed}.simulador-panel .tabla th,.simulador-panel .tabla td{padding:var(--space-2) var(--space-1);white-space:normal;overflow-wrap:anywhere}.simulador-panel .tabla .importe{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}.simulador-panel .tabla-desglose .signo{width:30px}.simulador-panel .tabla-desglose .importe{width:1%}.simulador-panel .tabla-desglose th[scope=row]{min-width:0}.simulador-panel .tabla-desglose .detalle-paso{overflow-wrap:anywhere}.simulador-panel .tabla-desglose th[scope=row]{text-transform:none;font-size:var(--font-size-sm);color:var(--color-text);line-height:var(--line-height-tight)}.simulador-panel .tabla-desglose .detalle-paso{text-transform:none;color:var(--color-muted)}.simulador-panel .tabla-desglose .total th[scope=row]{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-primary);white-space:nowrap}.simulador-panel{container-type:inline-size}.simulador-panel .tabla-desglose .total td.importe{font-size:clamp(16px,5.2cqi,22px);font-weight:var(--font-weight-bold);color:var(--color-primary);white-space:nowrap}.acciones-resultado{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-4)}.acciones-resultado .secundario{flex:1 1 auto;min-width:0;margin-top:0;min-height:var(--control-height);padding:0 var(--space-3)}.exportar-presupuesto{flex:1 1 auto;min-height:var(--control-height);padding:0 var(--space-3);font-size:var(--font-size-sm);white-space:nowrap}.exportar-presupuesto:disabled{opacity:.55;cursor:not-allowed}@media(max-width:460px){.acciones-resultado .secundario,.exportar-presupuesto{flex:1 1 100%}}.simulador-panel .tabla-lineas{font-size:var(--font-size-sm)}.simulador-panel .tabla-lineas th:nth-child(1),.simulador-panel .tabla-lineas td:nth-child(1){width:auto}.simulador-panel .tabla-lineas th:nth-child(2),.simulador-panel .tabla-lineas td:nth-child(2){width:74px}.simulador-panel .tabla-lineas th:nth-child(3),.simulador-panel .tabla-lineas td:nth-child(3),.simulador-panel .tabla-lineas th:nth-child(4),.simulador-panel .tabla-lineas td:nth-child(4){width:96px}.simulador{width:100%}.lienzo:has(.simulador){max-width:1640px}.resultado,.resultado-vacio,.resultado-error{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm)}.resultado-vacio{border-style:dashed}.resultado-vacio .aviso{margin:0}.resultado-error{border-left:3px solid var(--color-danger)}.tabla-desglose .total th,.tabla-desglose .total td{font-size:var(--font-size-xl);padding-top:var(--space-3)}.tabla-desglose .total td.importe{color:var(--color-primary)}.franja-cliente{gap:var(--space-3)}.franja-cliente .razon{font-weight:var(--font-weight-bold);color:var(--color-text)}.franja-cliente .lugar{color:var(--color-muted);font-size:var(--font-size-sm)}.franja-cliente .cambiar-cliente{margin-left:auto;min-height:var(--control-height)}.agregar-producto{min-height:var(--control-height);padding:0 var(--space-4)}.miniatura{grid-area:miniatura;width:44px;height:44px;border:1px dashed var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg)}.lista-productos-sim .fila-producto{grid-template-columns:44px 120px minmax(0,1fr) auto auto;grid-template-areas:"miniatura codigo razon precio accion";gap:var(--space-3)}.lista-productos-sim .fila-producto .codigo{grid-area:codigo}.lista-productos-sim .fila-producto .razon{grid-area:razon}.lista-productos-sim .fila-producto .precio,.lista-productos-sim .fila-producto .precio-sin{grid-area:precio;text-align:right}.lista-productos-sim .fila-producto button{grid-area:accion}.color-neutro{color:var(--color-muted);font-size:var(--font-size-sm)}.color-fijo{color:var(--color-text)}.color-selector{min-height:var(--control-height);max-width:190px;padding:0 var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--font-size-md);transition:border-color var(--transition-fast) var(--easing)}.color-selector:hover{border-color:var(--color-muted)}.color-selector:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px;border-color:var(--color-focus)}@media(max-width:1100px){.simulador-layout{grid-template-columns:minmax(0,1fr)}.simulador-panel{position:static}}@media(max-width:700px){.tabla-lineas thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.tabla-lineas,.tabla-lineas tbody,.tabla-lineas tr,.tabla-lineas td{display:block;width:100%}.tabla-envoltorio{overflow-x:visible;border:0;background:transparent}.tabla-lineas tr{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3);margin-bottom:var(--space-3)}.tabla-lineas tbody tr+tr td{border-top:0}.tabla-lineas td{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;text-align:right;white-space:normal}.tabla-lineas td+td{border-top:1px solid var(--color-border)}.tabla-lineas td:before{content:attr(data-label);color:var(--color-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-align:left;flex:none}.tabla-lineas .cantidad{width:96px}.color-selector{max-width:60%}.lista-productos-sim .fila-producto{grid-template-columns:44px minmax(0,1fr) auto;grid-template-areas:"miniatura codigo accion" "miniatura razon accion" "miniatura precio accion"}}.login{position:relative;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(24px,4vw,72px);padding:clamp(20px,min(3.5vw,5vh),56px) clamp(24px,4vw,72px);overflow:hidden;background:var(--color-primary);color:var(--color-on-primary)}.login:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url(/assets/institucional/fabrica.png);background-size:cover;background-position:50% 38%;background-repeat:no-repeat}.login:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to right,#0f2842e6,#12304fc7 34%,#12304f80 62%,#12304f61)}.login>*{position:relative;z-index:1}html:has(.login){scrollbar-color:var(--color-accent) rgba(15,40,66,.65)}.login-version{position:absolute;top:clamp(14px,2vh,26px);right:clamp(16px,2.4vw,34px);margin:0;z-index:2;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.12em;color:#ffffffc7;text-shadow:0 1px 4px rgba(0,0,0,.45)}.login-filigrana{position:absolute;top:-16%;left:-11%;width:clamp(320px,40%,620px);height:auto;z-index:1;opacity:.34;mix-blend-mode:multiply;pointer-events:none;-webkit-user-select:none;user-select:none;transform-origin:60% 40%;animation:flamear 15s ease-in-out infinite;will-change:transform}@keyframes flamear{0%{transform:translateZ(0) rotate(0) scale(1);opacity:.34}27%{transform:translate3d(6px,-5px,0) rotate(.5deg) scale(1.012);opacity:.39}55%{transform:translate3d(-4px,4px,0) rotate(-.4deg) scale(1.004);opacity:.3}78%{transform:translate3d(3px,6px,0) rotate(.25deg) scale(1.015);opacity:.37}to{transform:translateZ(0) rotate(0) scale(1);opacity:.34}}.login-institucional{display:grid;grid-template-rows:auto auto auto auto;align-content:space-between;align-self:stretch;justify-items:start;max-width:620px;padding:clamp(8px,1.5vh,28px) 0}.login-logo-oficial{width:clamp(292px,30vw,460px);height:auto;filter:drop-shadow(0 2px 10px rgba(255,255,255,.3)) drop-shadow(0 0 22px rgba(255,255,255,.18))}.login-mensaje{max-width:100%;margin-top:clamp(14px,3vh,44px)}.login-linea{display:block;width:54px;height:3px;margin-bottom:var(--space-4);background:var(--color-accent);border-radius:var(--radius-pill)}.login-lema{margin:0;font-size:clamp(34px,3.6vw,56px);font-weight:var(--font-weight-bold);line-height:1.05;letter-spacing:-.01em}.login-bajada{margin:var(--space-4) 0 0;font-size:clamp(19px,1.7vw,30px);line-height:1.3;color:#cfe2f1;max-width:20em}.login-bajada b{color:var(--color-focus);font-weight:var(--font-weight-bold);white-space:nowrap}.login-claim-bloque{margin-top:clamp(20px,3.4vh,38px)}.login-claim{margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-bold);letter-spacing:.14em;line-height:1.5;color:var(--color-on-primary)}.login-sellos{list-style:none;margin:clamp(10px,2vh,28px) 0 0;padding:0;display:flex;align-items:stretch;gap:var(--space-4);flex-wrap:wrap}.login-sellos li{background:#fffffff2;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:160px;min-height:110px}.login-sellos img{display:block;max-height:68px;max-width:100%;width:auto;height:auto;object-fit:contain}.login-sello-leyenda{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1.2;letter-spacing:.01em;text-align:center;color:var(--color-primary);white-space:nowrap}.login-tarjeta{width:clamp(396px,35vw,515px);justify-self:end;display:flex;flex-direction:column;padding:clamp(31px,2.9vw,48px) clamp(26px,2.6vw,44px);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:0 18px 48px #08182a4d;color:var(--color-text)}.login-formulario{display:flex;flex-direction:column;text-align:left}.login-titular{margin:var(--space-1) 0 0;font-size:clamp(30px,2.6vw,40px);font-weight:var(--font-weight-bold);letter-spacing:.02em;line-height:var(--line-height-tight)}.login-titular-nasello{color:var(--color-text)}.login-titular-go{color:var(--color-focus)}.login-barra{display:block;width:62px;height:3px;margin:var(--space-4) 0 0;background:var(--color-accent);border-radius:var(--radius-pill)}.login-subtitulo{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-primary)}.login-frase{margin:var(--space-4) 0 var(--space-6);font-size:var(--font-size-md);color:var(--color-muted)}.login-formulario label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-muted);margin-bottom:var(--space-1);text-align:left}.login-campo{position:relative;display:flex;margin-bottom:var(--space-4)}.login-formulario input{width:100%;min-height:var(--tap);padding:0 var(--space-3) 0 44px;font:inherit;font-size:15px;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:left;transition:border-color var(--transition-fast) var(--easing)}.login-campo:has(.login-ojo) input{padding-right:46px}.login-formulario input::placeholder{color:#9aa6b2}.login-formulario input:hover:not(:disabled){border-color:var(--color-muted)}.login-formulario input:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px;border-color:var(--color-focus)}.login-formulario input:disabled{background:var(--color-bg);color:var(--color-muted)}.login-icono-campo{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;stroke:var(--color-muted);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.login-ojo{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-muted);cursor:pointer;transition:color var(--transition-fast) var(--easing),background-color var(--transition-fast) var(--easing)}.login-ojo:hover:not(:disabled){color:var(--color-primary);background:var(--color-bg)}.login-ojo:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}.login-ojo:disabled{cursor:not-allowed;opacity:.5}.login-icono-ojo{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.login-formulario .principal{width:100%}.login-ingresar{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);min-height:54px;font-size:var(--font-size-md);letter-spacing:.08em}.login-flecha{font-size:19px;line-height:1}.login-formulario .aviso-error{text-align:left}.login-firma{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border);text-align:center}.login-razon{margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);letter-spacing:.06em;color:var(--color-text)}.login-anios{margin:2px 0 0;font-size:var(--font-size-xs);color:var(--color-muted)}.login-institucionales{list-style:none;margin:var(--space-4) 0 0;padding:var(--space-4) 0 0;border-top:1px solid var(--color-border);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.login-institucionales li{display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center;min-width:0;cursor:default}.login-institucionales svg{width:30px;height:30px;stroke:currentColor;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.login-institucionales .login-relleno{fill:currentColor;stroke:none}.login-institucional-titulo{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wide);overflow-wrap:anywhere}.login-institucional-detalle{font-size:11px;color:var(--color-muted)}.login-certificacion{color:var(--color-primary)}.login-contacto{color:#1f7a4c}.login-seguinos{color:#b4407a}@media(max-width:1180px){.login{gap:var(--space-5);padding:var(--space-6) var(--space-5)}.login-filigrana{width:clamp(240px,32%,400px);opacity:.26}.login-logo-oficial{width:clamp(190px,22vw,260px)}.login-tarjeta{width:clamp(340px,40vw,420px)}.login-sellos img{height:44px}.login-sellos li:last-child img{height:38px}.login-sellos li{min-height:88px}}@media(max-width:900px){.login{grid-template-columns:minmax(0,1fr);align-items:start;gap:var(--space-6);padding:var(--space-6) var(--space-4) calc(var(--space-6) + var(--safe-b))}.login-filigrana{display:none}.login-institucional{grid-template-rows:auto auto auto;max-width:none;padding:0}.login-logo-oficial{width:190px}.login-mensaje{margin-top:var(--space-5);max-width:none}.login-lema{font-size:30px}.login-bajada{font-size:18px;max-width:none}.login-claim-bloque{display:none}.login-sellos{margin-top:var(--space-5);gap:var(--space-3)}.login-sellos li{padding:var(--space-1) var(--space-2)}.login-sellos img{height:32px}.login-sellos li:last-child img{height:28px}.login-sellos li{min-height:74px}.login-tarjeta{width:100%;justify-self:stretch;padding:var(--space-6) var(--space-5)}.login-institucionales{gap:var(--space-2)}.login-institucionales svg{width:26px;height:26px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
