/* Sin esto, cuando una imagen dentro de una tarjeta (miniatura de un
           producto, etc.) termina de cargar DESPUÉS de un cambio de módulo
           por AJAX y cambia el alto del contenido, el navegador "compensa"
           el scroll solo para mantener a la vista lo mismo que se estaba
           viendo antes de que esa imagen cargara ("scroll anchoring") — en
           listas largas eso puede arrastrar la página bastante después de
           que pv_nav_ajax_script() ya la había dejado arriba del todo. */
        html,body{overflow-anchor:none}
        /* Bloqueo real del pellizco-para-zoom. El meta viewport
           "user-scalable=no" (pv_front_viewport_meta(), 15-frontend-panel.php)
           es lo primero que se prueba siempre, pero Safari en iPhone lo
           IGNORA a propósito desde iOS 10 (decisión de accesibilidad de
           Apple, no hay forma de saltarla desde el sitio). "touch-action" es
           una propiedad CSS distinta — controla qué gestos táctiles reconoce
           el navegador en esta zona, no es una preferencia de accesibilidad
           del usuario, así que Safari SÍ la respeta. "pan-x pan-y" dejan el
           scroll normal intacto (para todos lados) pero excluyen pellizco y
           doble-toque para zoom. */
        html,body{touch-action:pan-x pan-y}
        /* iOS Safari hace zoom automático al enfocar cualquier <input>/
           <select>/<textarea> con letra menor a 16px, sin importar el
           "user-scalable=no" del viewport (ver pv_front_viewport_meta() en
           15-frontend-panel.php) — es un comportamiento fijo de iOS, no algo
           que el meta tag pueda apagar. Casi todos los campos del sistema
           usan 13px en desktop por diseño; en móvil se suben a 16px acá
           (solo dentro de este @media, el tamaño de escritorio no cambia)
           para que tocar un campo nunca dispare ese zoom no pedido.
           Android no tiene este problema, pero subir el tamaño ahí también
           no rompe nada — se ve igual de bien o mejor. */
        @media (max-width:820px){
            input,select,textarea{font-size:16px!important}
        }
        /* Fuerza nuestra tipografía moderna dentro del panel, en vez de heredar
           la fuente decorativa que traiga el tema de WordPress/Elementor. */
        /* Sin esto, si el sistema/navegador del usuario está en modo oscuro,
           Chrome/Firefox pintan los <select>/<input> nativos con fondo negro
           y letra blanca por su cuenta, IGNORANDO el background que ya les
           pusimos por CSS — se veía roto aunque el color estuviera bien
           declarado. Esto fuerza a que siempre se rendericen en modo claro. */
        .pv-wrap,.pvf-shell,.pv-modal-box{color-scheme:light}
        /* Elementor (u otro plugin/tema del sitio) aplica su propio estilo
           oscuro por defecto a los <select>/<input>/<textarea> nativos en
           TODA la página (ya nos pasó antes con el Select2 de Elementor) —
           esta regla usa el máximo de especificidad (todo el árbol de ids
           encadenados) + !important para ganarle a lo que sea que lo esté
           pintando de negro, sin tener que adivinar de dónde viene. */
        html body .pvf-shell input,html body .pvf-shell select,html body .pvf-shell textarea,
        html body .pv-modal-box input,html body .pv-modal-box select,html body .pv-modal-box textarea{background-color:#f8fafc!important;color:#1e1b2e!important;color-scheme:light!important;-webkit-text-fill-color:#1e1b2e!important}
        /* Mismo problema que el de arriba, pero con los íconos: Elementor
           trae su propio sistema de íconos SVG (e_font_icon_svg) con reglas
           globales para TODO <svg> de la página, pensadas para SUS íconos
           rellenos (fill), no para los nuestros (contorno: fill="none",
           stroke="currentColor") — según cómo pinte esa regla global, los
           nuestros pueden quedar invisibles (relleno del mismo color que el
           fondo) en vez de mostrarse como el trazo que son. Mismo remedio:
           máxima especificidad + !important, reafirmando cómo SE SUPONE que
           se vean nuestros propios SVG, sin tener que adivinar de dónde
           viene la regla que los pinta mal. */
        html body .pvf-shell svg,html body .pv-wrap svg,html body .pv-modal-box svg{display:inline-block!important;visibility:visible!important;opacity:1!important;fill:none!important;stroke:currentColor!important}
        html body .pvf-shell svg[fill]:not([fill="none"]),html body .pv-wrap svg[fill]:not([fill="none"]),html body .pv-modal-box svg[fill]:not([fill="none"]){fill:currentColor!important;stroke:none!important}
        .pv-wrap,.pvf-shell,.pv-modal-box{font-family:var(--pv-font)!important}
        .pv-wrap *,.pvf-shell *,.pv-modal-box *{font-family:inherit!important}
        .pv-wrap :is(button,input,select,textarea,option),
        .pvf-shell :is(button,input,select,textarea,option),
        .pv-modal-box :is(button,input,select,textarea,option){font-family:var(--pv-font)!important}
        body:has(.pv-wrap) :is(.select2-container,.select2-dropdown,.swal2-container,.ui-datepicker,.flatpickr-calendar),
        body:has(.pvf-shell) :is(.select2-container,.select2-dropdown,.swal2-container,.ui-datepicker,.flatpickr-calendar){font-family:var(--pv-font)!important}
        body:has(.pv-wrap) :is(.select2-container,.select2-dropdown,.swal2-container,.ui-datepicker,.flatpickr-calendar) *,
        body:has(.pvf-shell) :is(.select2-container,.select2-dropdown,.swal2-container,.ui-datepicker,.flatpickr-calendar) *{font-family:inherit!important}
        /* El sistema respeta exactamente las mayúsculas y minúsculas escritas
           en cada etiqueta o dato. No se aplica una transformación global. */
        /* Los códigos de divisa (USD, COP, EUR...) son siglas y se mantienen
           siempre en mayúscula completa. Aplica a los switches de divisa,
           su badge circular con la inicial, y la etiqueta pequeña que
           acompaña un monto (ej. "120,00 COP") en cualquier módulo. */
        .pv-wrap .pv-moneda-switch-label,.pvf-shell .pv-moneda-switch-label,.pv-modal-box .pv-moneda-switch-label,
        .pv-wrap .pv-moneda-switch-icono,.pvf-shell .pv-moneda-switch-icono,.pv-modal-box .pv-moneda-switch-icono,
        .pv-wrap .pv-moneda-badge,.pvf-shell .pv-moneda-badge,.pv-modal-box .pv-moneda-badge{text-transform:uppercase!important}
        /* Misma excepción para toda la pantalla POS de Nuevo Pedido, donde el
           código de divisa aparece pegado al monto ("30.000,00 COP") o solo
           ("COP/USD"). Se listan los elementos que son 100% dato de dinero —
           ahí subir todo a mayúscula no afecta nada más que la sigla. Los que
           mezclan sigla con texto corrido ("Falta 120,00 COP") no van acá:
           esos envuelven SOLO el código en .pv-cod-moneda, para no terminar
           gritando "FALTA". El prefijo "html body" es para ganarle en
           especificidad al ".pvf-shell *{text-transform:lowercase!important}"
           de más arriba, que también lleva !important. */
        html body .pv-cod-moneda,
        html body .pv-pedido-row-precio,html body .pv-pedido-card-precio,
        html body .pv-panel-rate,
        html body .pv-divisa-menu-btn,html body .pv-divisa-menu-btn *,
        html body .pv-divisa-rate-hero,
        html body .pv-divisa-avatar,html body .pv-divisa-row-codigo,html body .pv-divisa-row-tasa,
        html body .pv-divisa-base-badge,html body .pv-divisa-custom-moneda,
        html body .pv-pago-mixto-header strong,html body .pv-pago-mixto-fila-moneda{text-transform:uppercase!important}
        /* Excepción: los labels del formulario de Cotización usan
           display:flex (.pv-campos-fila .pv-form-row label / .pvf-row label,
           más arriba) para poder alinear el texto abajo del todo del renglón
           — pero ::first-letter NO aplica a contenedores flex (no tienen
           "primera línea"), así que con la regla de minúscula de arriba esos
           labels quedaban en minúscula completa ("fecha", "cédula o rif") en
           vez de solo la primera letra. Se anula la transformación aquí y se
           confía en cómo ya está escrito el texto en el PHP (mayúscula
           inicial correcta, y "RIF" siempre en mayúscula completa por ser
           sigla). Sin !important sobre "*" no le ganaría a la regla de la
           línea 96. */
        .pv-cot-form label{text-transform:none!important}
        .pv-wrap h1,.pv-wrap h2,.pv-wrap h3,.pvf-shell h1,.pvf-shell h2,.pvf-shell h3,.pv-modal-box h1,.pv-modal-box h2,.pv-modal-box h3{
            font-family:var(--pv-font)!important;color:var(--pv-ink)!important;margin-top:0
        }
        /* Escala tipográfica tomada tal cual del diseño RESISVEN (Panel
           RESISVEN.dc.html): h1 = título de página (24px/800/-0.02em en
           todas las pantallas: "Proveedores", "Historial de Pedidos",
           "Cuentas Bancarias", etc.), h2/h3 = título de tarjeta o sección
           (15px/700, sin letter-spacing). Los títulos de modal en el diseño
           corren un poco más grandes y pesados (16-18px/800) — se separan
           en su propia regla más abajo.
           SIN !important a propósito: esto es solo el valor por defecto
           para un h1/h2/h3 "pelado" sin clase propia. Muchas secciones ya
           tienen su tamaño específico bien afinado (.rv-main-welcome h2,
           .rv-main-card h3, .rv-provider-balances-head h3, etc.) — esas
           reglas tienen más especificidad (una clase de más) y ganan solas,
           sin que esta regla de base las aplaste. */
        .pv-wrap h1,.pvf-shell h1{font-size:24px;font-weight:800;letter-spacing:-.02em}
        .pv-wrap h2,.pv-wrap h3,.pvf-shell h2,.pvf-shell h3{font-size:15px;font-weight:700;letter-spacing:0}
        .pv-modal-box h1{font-size:20px;font-weight:800;letter-spacing:-.02em}

        .pv-modal-box h2,.pv-modal-box h3{font-size:17px;font-weight:800;letter-spacing:0}
        .pv-wrap.pvf-embed{max-width:1200px}
        .pvf-card,.pv-card{background:var(--pv-surface);border:1px solid var(--pv-border);padding:21px;margin-bottom:18px;margin-top:0;border-radius:16px;box-shadow:0 2px 10px rgba(30,27,46,.05)}
        .pv-table,.pvf-table{width:100%;border-collapse:collapse;margin-top:11px}
        .pv-table th,.pv-table td,.pvf-table th,.pvf-table td{border-bottom:1px solid var(--pv-border);padding:11px 9px;font-size:12px;text-align:left;vertical-align:middle}
        .pv-table tbody tr:hover td,.pvf-table tbody tr:hover td{background:#f5f9ff}
        .pv-table th,.pvf-table th{color:var(--pv-muted);font-weight:700;text-transform:uppercase;font-size:9.5px;letter-spacing:.04em;background:transparent;border-bottom:2px solid var(--pv-border)}
        .pv-table td a,.pvf-table td a{font-weight:700;color:var(--pv-ink);text-decoration:none}
        .pv-table td a:hover,.pvf-table td a:hover{color:var(--pv-primary)}
        .pv-table td a.pvf-btn,.pvf-table td a.pvf-btn,.pv-table td a.button,.pvf-table td a.button{color:#fff}
        .pv-table td a.pvf-btn:hover,.pvf-table td a.pvf-btn:hover,.pv-table td a.button:hover,.pvf-table td a.button:hover{color:#fff}
        .pv-form-row,.pvf-row{margin-bottom:14px}
        .pv-form-row label,.pvf-row label{display:block;font-weight:600;margin-bottom:6px;font-size:12px;color:var(--pv-ink)}
        .pv-form-row input,.pv-form-row select,.pv-form-row textarea,
        .pvf-row input,.pvf-row select,.pvf-row textarea{width:100%;max-width:420px;padding:9px 13px;border:1.5px solid var(--pv-border);border-radius:11px;font-size:13px;box-sizing:border-box;background:var(--pv-surface-2)!important;color:#1e1b2e!important;color-scheme:light;transition:border-color .15s,box-shadow .15s}
        .pv-form-row input:focus,.pvf-row input:focus,.pvf-row select:focus,.pvf-row textarea:focus{outline:none;border-color:var(--pv-primary);box-shadow:0 0 0 4px rgba(var(--pv-primary-rgb),.12);background:var(--pv-surface)}
        .pv-input-prefijo{position:relative}
        .pv-input-prefijo span{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--pv-muted);font-weight:700;font-size:13px;pointer-events:none}
        .pv-input-prefijo input{padding-left:26px!important}
        .pv-input-sufijo{position:relative}
        .pv-input-sufijo span{position:absolute;right:13px;top:50%;transform:translateY(-50%);color:var(--pv-muted);font-weight:700;font-size:13px;pointer-events:none}
        .pv-input-sufijo input{padding-right:26px!important}
        .pvf-btn{background:linear-gradient(135deg,var(--pv-primary),var(--pv-primary2));color:#fff;border:none;padding:10px 20px;border-radius:11px;cursor:pointer;font-size:13px;font-weight:700;display:inline-block;text-decoration:none;box-shadow:0 4px 14px rgba(var(--pv-primary-rgb),.25);transition:transform .12s,box-shadow .12s}
        /* "Nueva fabricación" lleva ícono + texto (antes solo texto) — flex
           con gap para separarlos bien; en móvil (ver @media más abajo) se
           reduce a círculo y el texto se esconde, quedando solo el ícono. */
        .pv-fab-nueva-btn{display:inline-flex!important;align-items:center;gap:7px}
        .pvf-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(var(--pv-primary-rgb),.32);color:#fff}
        /* Secundario: mismo tamaño/forma que el botón principal, pero en
           contorno (fondo blanco, borde+texto de color) — así una fila con
           varias acciones (Transferir/Retirar/Ingresar/Nuevo método, etc.)
           no se confunde visualmente con el único botón "estrella" de la
           pantalla, que se queda como el único relleno solido. */
        .pvf-btn-sec{background:var(--pv-surface);color:var(--pv-primary-dark);border:1.5px solid var(--pv-primary);box-shadow:none}
        .pvf-btn-sec:hover{background:var(--pv-bg);color:var(--pv-primary-dark);transform:translateY(-1px);box-shadow:none}
        .pvf-btn-accent{background:linear-gradient(135deg,var(--pv-accent),var(--pv-accent2));color:#fff;box-shadow:0 4px 14px rgba(var(--pv-accent-rgb),.28)}
        .pvf-btn-accent:hover{background:linear-gradient(135deg,var(--pv-accent),var(--pv-accent2));color:#fff;transform:translateY(-1px);box-shadow:0 6px 18px rgba(var(--pv-accent-rgb),.35)}
        .pvf-btn-naranja{background:linear-gradient(135deg,#f97316,#fb923c);color:#fff;box-shadow:0 4px 14px rgba(249,115,22,.3)}
        .pvf-btn-naranja:hover{background:linear-gradient(135deg,#f97316,#fb923c);color:#fff;transform:translateY(-1px);box-shadow:0 6px 18px rgba(249,115,22,.38)}
        /* .pvf-btn-del debe ir DESPUES de .pvf-btn-sec en el CSS: "Eliminar"
           se pinta combinando ambas clases (contorno + rojo), y con la
           misma especificidad (una sola clase cada regla) gana la que este
           mas abajo en la hoja de estilos — si quedara antes, el rojo de
           peligro nunca se veria, tapado por el contorno. */
        .pvf-btn-del{background:#ef4444;color:#fff;border:none;box-shadow:0 4px 14px rgba(239,68,68,.25)}
        .pvf-btn-del:hover{background:#dc2626;color:#fff;box-shadow:0 6px 18px rgba(239,68,68,.32)}
        .pvf-btn-sm{padding:8px 16px;font-size:12px}
        .pv-deuda{color:#dc2626;font-weight:700}
        .pv-favor{color:#16a34a;font-weight:700}
        .pv-form-seccion-borde{border-left:3px solid var(--pv-border);padding-left:12px;margin-bottom:12px}
        .pv-form-seccion-borde .pv-form-row,.pv-form-seccion-borde .pvf-row{margin-bottom:10px}
        .pv-form-seccion-borde-titulo{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:7px}
        .pv-form-seccion-indigo{border-left-color:var(--pv-primary)}
        .pv-form-seccion-indigo .pv-form-seccion-borde-titulo{color:var(--pv-primary)}
        .pv-form-seccion-teal{border-left-color:#0d9488}
        .pv-form-seccion-teal .pv-form-seccion-borde-titulo{color:#0d9488}
        .pv-form-seccion-amber{border-left-color:var(--pv-secondary)}
        .pv-form-seccion-amber .pv-form-seccion-borde-titulo{color:var(--pv-secondary2)}
        .pv-saldo-proveedor-card{background:var(--pv-surface);border:1px solid var(--pv-border);border-left:4px solid var(--pv-accent);border-radius:11px;padding:10px 14px;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
        .pv-saldo-proveedor-label{font-size:10px;font-weight:600;color:var(--pv-muted);text-transform:uppercase;letter-spacing:.03em}
        .pv-saldo-proveedor-monto{font-size:19px;font-weight:500;color:var(--pv-ink);margin-top:1px}
        .pv-total-box,.pvf-total-box{font-size:14px;margin-top:11px;background:var(--pv-bg);border:1px solid var(--pv-border);border-radius:13px;padding:14px 16px;max-width:360px;margin-left:auto}
        .pv-chips{display:flex;gap:7px;flex-wrap:wrap;margin:9px 0}
        .pv-chip{padding:7px 14px;background:var(--pv-bg);border-radius:999px;text-decoration:none;font-size:11px;color:var(--pv-ink);font-weight:600;transition:background .12s}
        .pv-chip:hover{background:#e2edfb}
        .pv-chip.active{background:linear-gradient(135deg,var(--pv-primary),var(--pv-primary2));color:#fff}
        .pv-chip-verde,.pv-chip-verde:hover{background:linear-gradient(135deg,#16a34a,#22c55e);color:#fff}
        .pv-chip-radio{cursor:pointer;position:relative;user-select:none;font-size:12px;padding:8px 16px}
        .pv-chip-radio input[type=radio]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;white-space:nowrap;border:0;clip:rect(0,0,0,0)}
        .pv-divisa-chips{margin:8px 0 0}
        .pv-filtro-select{border-radius:999px;border:1.5px solid var(--pv-border);color:var(--pv-ink);font-weight:600;font-size:12px;padding:8px 14px;background:var(--pv-surface);font-family:inherit;cursor:pointer}
        .pv-filtro-select:hover{border-color:var(--pv-primary)}
        .pv-filtro-select:focus{outline:none;border-color:var(--pv-primary);box-shadow:0 0 0 4px rgba(var(--pv-primary-rgb),.12)}
        .pv-moneda-badge{display:inline-block;background:var(--pv-bg);color:var(--pv-primary-dark);border-radius:7px;padding:2px 8px;font-size:10px;font-weight:700;letter-spacing:.02em;margin-left:4px;white-space:nowrap}
        .pv-pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:10px;font-weight:700}
        .pv-pill-full{background:#dcfce7;color:#166534}
        .pv-pill-empleado{background:var(--pv-bg);color:var(--pv-secondary2)}
        .pv-pill-admin{background:var(--pv-bg);color:var(--pv-primary-dark)}
        .pv-estado-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:10px;font-weight:700;white-space:nowrap}
        .pv-estado-verde{background:#dcfce7;color:#166534}
        .pv-estado-ambar{background:var(--pv-bg);color:var(--pv-secondary2)}
        .pv-estado-rojo{background:#fee2e2;color:#991b1b}
        .pv-estado-gris{background:#f1f5f9;color:#475569}
        .pv-estado-azul{background:#dbeafe;color:#1e40af}
        .pv-estado-naranja{background:#ffedd5;color:#9a3412}
        .pv-estado-morado{background:#f3e8ff;color:#6b21a8}
        .pv-estado-celeste{background:#CCFBF1;color:#0D9488}
        .pv-badge-color{display:inline-block;width:9px;height:9px;border-radius:50%;flex-shrink:0}
        .pv-pedido-layout{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:16px;align-items:start}
        @media (max-width:1100px){ .pv-pedido-layout{grid-template-columns:1fr} }
        /* El panel del frontend (.pvf-shell) es de altura fija (100vh) con su
           propio encabezado (.pvf-topbar, 66px) y relleno (.pvf-main-body,
           18px+25px) por encima de este contenido — 100vh solo, sin restar
           eso, hacía que el panel se calculara más alto que el espacio real
           disponible y los botones del final quedaran tapados. */
        .pv-pedido-col-resumen{position:sticky;top:18px;max-height:calc(100vh - 127px);overflow-y:auto}
        @media (max-width:1100px){ .pv-pedido-col-resumen{position:static;max-height:none;overflow-y:visible} }
        /* Dentro del modal de edición (Historial), el propio modal ya hace
           scroll completo — un segundo scroll independiente adentro solo
           recorta contenido, así que ahí se deja fluir normal. */
        .pv-modal-editar-pedido .pv-pedido-col-resumen{position:static;max-height:none;overflow-y:visible}
        .pv-pedido-catalogo{display:flex;flex-direction:column;gap:8px;max-height:520px;overflow-y:auto}
        .pv-pedido-item-card{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--pv-border);border-radius:14px;transition:box-shadow .12s,border-color .12s}
        .pv-pedido-item-card:hover{border-color:var(--pv-primary);box-shadow:0 4px 14px rgba(var(--pv-primary-rgb),.14)}
        .pv-pedido-topbar{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;margin-bottom:16px;background:var(--pv-surface);border:1px solid var(--pv-border);border-radius:18px;padding:14px 18px;box-shadow:0 1px 2px rgba(16,24,40,.04),0 10px 28px rgba(16,24,40,.06)}
        .pv-pedido-topbar-campo{display:flex;flex-direction:column;gap:5px;min-width:150px}
        .pv-pedido-topbar-campo label{font-size:11px;font-weight:600;color:var(--pv-ink)}
        .pv-pedido-topbar-campo input,.pv-pedido-topbar-campo select{padding:9px 13px;border:1.5px solid var(--pv-border2);border-radius:12px;font-size:13px;box-sizing:border-box;background:var(--pv-surface-2);color:#1e1b2e;color-scheme:light;transition:border-color .15s,box-shadow .15s}
        .pv-pedido-topbar-campo input:focus,.pv-pedido-topbar-campo select:focus{outline:none;border-color:var(--pv-primary);box-shadow:0 0 0 4px rgba(var(--pv-primary-rgb),.12);background:var(--pv-surface)}
        .pv-pedido-2col{display:grid;grid-template-columns:1fr 380px;gap:16px;align-items:start}
        @media (max-width:1100px){ .pv-pedido-2col{grid-template-columns:1fr} }
        .pv-pedido-2col > *{min-width:0}

        /* ================= NUEVO PEDIDO — VISTA POS =================
           Barra única de filtros arriba (buscar + canal + almacén + ajuste +
           tasa + personalizar + vista), catálogo en filas o cuadrícula, y
           panel del pedido con carrito vacío / venta actual / pago mixto.
           Es la misma pantalla de Noalyx, portada tal cual pero con los
           tokens de color del sistema (--pv-primary y compañía), para que no
           choque con el resto de los módulos. */
        .pv-pos-topbar-card{padding:12px 14px;margin-bottom:12px}
        .pv-pos-topbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
        .pv-pos-search-wrap{position:relative;flex:1 1 220px;min-width:180px}
        .pv-pedidos-head{--pv-pedidos-violet:#6844DF;--pv-pedidos-red:#F5011F;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:12px;padding:0 2px}
        .pv-pedidos-head-main{display:flex;align-items:center;gap:12px;min-width:0}
        .pv-pedidos-head-icon{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid rgba(104,68,223,.18);border-radius:10px;background:#fff;color:var(--pv-pedidos-red);box-shadow:none}
        .pv-pedidos-head-title{font-size:18px;line-height:1;font-weight:800;color:var(--pv-pedidos-violet);white-space:nowrap}
        .pv-pedidos-head-tabs{min-width:0}
        .pv-pedidos-head-tabs .pv-subtabs{gap:24px;margin:0!important;border-bottom:0;overflow-y:visible}
        .pv-pedidos-head-tabs .pv-subtab{padding:10px 0 9px;font-size:12px;color:#6F7890;border-bottom-width:2px}
        .pv-pedidos-head-tabs .pv-subtab:hover,.pv-pedidos-head-tabs .pv-subtab.active{color:var(--pv-pedidos-violet)}
        .pv-pedidos-head-tabs .pv-subtab.active{border-color:var(--pv-pedidos-violet)}
        .pv-pedidos-head-action{display:flex;align-items:center;gap:8px}
        .pv-pedido-scan-launch{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;min-height:40px;margin:0;padding:0 13px;border:1px solid #DCD5F5;border-radius:11px;background:linear-gradient(135deg,#F2FBFF 0%,#F8F5FF 54%,#FFF3F8 100%);color:#5F36D9;font-family:inherit;font-size:11px;font-weight:850;line-height:1;white-space:nowrap;cursor:pointer;box-shadow:0 7px 18px rgba(78,52,176,.1);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}
        .pv-pedido-scan-launch:hover,.pv-pedido-scan-launch:focus-visible{border-color:#A98EF2;background:linear-gradient(135deg,#ECF9FF 0%,#F2EDFF 54%,#FFECF4 100%);color:#5529D2;outline:0;box-shadow:0 10px 24px rgba(91,52,204,.16);transform:translateY(-1px)}
        .pv-pedido-scan-launch:active{transform:translateY(0)}
        .pv-pedido-scan-launch-icon{display:inline-grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:9px;background:linear-gradient(145deg,#16A6E5 0%,#7042F1 55%,#E90B68 100%);color:#fff;box-shadow:0 5px 12px rgba(105,60,221,.22)}
        .pv-pedido-scan-launch-icon svg{display:block!important;width:16px!important;height:16px!important;margin:0!important;fill:none!important;stroke:currentColor!important}
        .pv-fabricacion-head .pv-fabricacion-subtabs{margin:0!important}
        .pv-pedidos-topbar-card{--pv-pedidos-violet:#6844DF;--pv-pedidos-red:#F5011F;padding:8px 10px!important;border-color:#E1E5EE!important;border-radius:12px!important;box-shadow:none!important;background:#fff!important}
        .pv-pedidos-topbar{gap:7px}
        .pv-pedidos-topbar .pv-pos-search-icono,.pv-pedidos-topbar .pv-pedidos-control-icon,.pv-pedidos-topbar .pv-personalizar-icono,.pv-pedidos-topbar .pv-vista-toggle,.pv-pedidos-topbar .pv-ajuste-pct{color:var(--pv-pedidos-red)!important}
        .pv-pedidos-topbar .pv-personalizar-icono{display:inline-flex;align-items:center;justify-content:center}
        .pv-pedidos-topbar .pv-personalizar-icono svg{display:block}
        .pv-pedidos-topbar .pv-mini-select-wrap>.pv-pedidos-control-icon{position:absolute;left:11px;top:50%;z-index:2;transform:translateY(-50%);pointer-events:none}
        .pv-pedidos-topbar .pv-mini-select-wrap .pv-cs-trigger-form{padding-left:34px!important}
        .pv-pedidos-topbar .pv-mini-select-native{padding-left:34px}
        .pv-pedidos-topbar .pv-mini-select-btn,.pv-pedidos-topbar .pv-divisa-menu-btn,.pv-pedidos-topbar .pv-personalizar-btn,.pv-pedidos-topbar .pv-vista-toggle,.pv-pedidos-topbar .pv-cs-trigger-form,.pv-pedidos-topbar .pv-pos-search-input,.pv-pedidos-topbar .pv-topbar-input{height:38px!important;min-height:38px!important;border-color:#DCE1EB!important;border-radius:10px!important;box-shadow:none!important;transition:none!important}
        .pv-pedidos-topbar .pv-mini-select-btn,.pv-pedidos-topbar .pv-divisa-menu-btn,.pv-pedidos-topbar .pv-personalizar-btn,.pv-pedidos-topbar .pv-cs-trigger-form{color:var(--pv-pedidos-violet)!important}
        .pv-pedidos-topbar .pv-pos-search-input:focus,.pv-pedidos-topbar .pv-topbar-input:focus,.pv-pedidos-topbar .pv-mini-select-btn:hover,.pv-pedidos-topbar .pv-divisa-menu-btn:hover,.pv-pedidos-topbar .pv-personalizar-btn:hover,.pv-pedidos-topbar .pv-vista-toggle:hover,.pv-pedidos-topbar .pv-cs-trigger-form:hover{border-color:var(--pv-pedidos-violet)!important;background:#fff!important;box-shadow:none!important;transform:none!important}
        .pv-pedidos-topbar .pv-cs-chevron,.pv-pedidos-topbar .pv-combo-trigger-chevron,.pv-pedidos-topbar .pv-divisa-menu-chevron{border-top-color:var(--pv-pedidos-red)!important}
        .pv-pedidos-topbar .pv-personalizar-badge{background:var(--pv-pedidos-violet)!important}
        @media (min-width:1101px) and (max-width:1450px){
            .pv-pedidos-topbar{flex-wrap:wrap!important}
            .pv-pedidos-topbar .pv-pos-search-wrap{flex:1 1 100%;min-width:100%}
            .pv-pedidos-topbar .pv-mini-select-wrap{flex:0 0 92px;max-width:92px}
            .pv-pedidos-topbar .pv-mini-select-combo{flex:0 0 96px;max-width:96px}
            .pv-pedidos-topbar .pv-ajuste-wrap{flex:0 0 62px;width:62px}
            .pv-pedidos-topbar .pv-divisa-menu-btn{flex:0 0 110px;width:110px!important;min-width:110px!important;max-width:110px!important;overflow:hidden}
            .pv-pedidos-topbar :is(#pv-pedido-tasa-btn-label,#pv-fab-tasa-btn-label){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
            .pv-pedidos-topbar .pv-personalizar-wrap{flex:1 1 132px;min-width:132px}
            .pv-pedidos-topbar .pv-personalizar-btn{width:100%;justify-content:center}
            .pv-pedidos-topbar .pv-vista-toggle{flex:0 0 38px;width:38px;padding:0;justify-content:center}
        }
        @media (max-width:700px){.pv-pedidos-head-main{flex-wrap:wrap}.pv-pedidos-head-tabs{flex:1 1 100%;padding-left:48px}.pv-pedidos-head-tabs .pv-subtabs{gap:18px}.pv-pedidos-head-action{margin-left:auto}}
        /* Una sola fila en escritorio: el buscador es el ÚNICO que cede ancho
           (flex-basis 0), así los demás controles nunca se van a un segundo
           renglón — que es lo que pasaba al desplegar el menú lateral, porque
           el buscador arrancaba pidiendo 220px fijos y empujaba al resto.
           Cada control puede encogerse hasta su mínimo y recorta con "…" en
           vez de desbordar la tarjeta. Debajo de 1100px se sigue permitiendo
           que envuelva: ahí el ancho ya no alcanza para una línea legible. */
        @media (min-width:1101px){
            .pv-pos-topbar{flex-wrap:nowrap;gap:7px}
            .pv-pos-search-wrap{flex:1 1 0;min-width:104px}
            .pv-mini-select-wrap,.pv-mini-select-combo{flex:0 1 auto;min-width:0;max-width:152px}
            .pv-mini-select-wrap .pv-cs,.pv-combo-trigger.pv-mini-select-btn{width:100%;min-width:0}
            .pv-mini-select-combo .pv-combo-trigger-label,.pv-mini-select-wrap .pv-cs-trigger-label,:is(#pv-pedido-tasa-btn-label,#pv-fab-tasa-btn-label){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
            .pv-ajuste-wrap{flex:0 0 84px;width:84px}
            .pv-divisa-menu-btn{flex:0 1 auto;min-width:0;max-width:172px}
            .pv-personalizar-wrap,.pv-vista-toggle{flex:0 0 auto}
            .pv-personalizar-wrap .pv-personalizar-btn{max-width:100%}
            .pv-personalizar-wrap .pv-personalizar-texto{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
        }
        .pv-pos-search-icono{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--pv-primary);display:flex;pointer-events:none}
        .pv-pos-search-input{width:100%;box-sizing:border-box;padding:9px 12px 9px 34px;border:1px solid var(--pv-border2);border-radius:11px;font-size:13px;background:var(--pv-surface);color:var(--pv-ink);transition:border-color .15s,box-shadow .15s}
        .pv-pos-search-input:focus{outline:none;border-color:var(--pv-primary);box-shadow:0 0 0 4px rgba(var(--pv-primary-rgb),.12)}
        .pv-pos-search-input::placeholder{color:var(--pv-muted)}
        /* Píldoras de la barra: todas comparten alto y radio para que la fila
           se lea como una sola línea de controles, no como campos sueltos. */
        .pv-mini-select-btn,.pv-divisa-menu-btn,.pv-personalizar-wrap .pv-personalizar-btn,.pv-vista-toggle{
            height:36px;box-sizing:border-box;display:inline-flex;align-items:center;gap:7px;
            padding:0 12px;border:1px solid var(--pv-border2);border-radius:11px;
            background:var(--pv-surface);color:var(--pv-ink);font-size:12.5px;font-weight:600;
            cursor:pointer;white-space:nowrap;box-shadow:none;transition:border-color .15s,background .15s;
        }
        /* .pv-combo-trigger se define MÁS ABAJO en este mismo archivo con la
           misma especificidad (una clase), así que ganaría por orden y le
           devolvería el min-width/padding de combo grande — de ahí las dos
           clases juntas acá. */
        .pv-combo-trigger.pv-mini-select-btn{min-width:0;padding:0 12px;border-width:1px;font-size:12.5px;justify-content:space-between}
        .pv-mini-select-btn:hover,.pv-divisa-menu-btn:hover,.pv-vista-toggle:hover,.pv-personalizar-wrap .pv-personalizar-btn:hover{border-color:var(--pv-primary);background:var(--pv-surface-2)}
        /* "Precio base" es un <select> normal que pv_custom_select_script()
           convierte en .pv-cs (botón + panel propio). Lo que se ve, entonces,
           NO es el <select> sino ese botón — de ahí que la píldora se aplique
           sobre .pv-cs-trigger-form. El <select> queda oculto detrás y solo se
           vería si el JS no llegara a correr, así que conserva su flecha
           nativa como respaldo. */
        .pv-mini-select-wrap{position:relative;display:inline-flex}
        .pv-mini-select-native{color-scheme:light}
        .pv-mini-select-wrap .pv-cs{display:block;width:100%}
        .pv-mini-select-wrap .pv-cs-trigger-form{width:100%;height:36px;box-sizing:border-box;padding:0 12px;border:1px solid var(--pv-border2);border-radius:11px;background:var(--pv-surface);font-size:12.5px;font-weight:600;color:var(--pv-ink)}
        .pv-mini-select-wrap .pv-cs-trigger-form:hover{border-color:var(--pv-primary);background:var(--pv-surface-2)}
        /* Las tres flechitas de la barra venían de sitios distintos y con
           carácter distinto: el select propio del sistema usa "▾" (U+25BE) y
           los otros dos controles "▼" (U+25BC), que es bastante más grande y
           oscuro. En vez de emparejar tamaños de letra a ojo (dos glifos
           distintos nunca coinciden del todo), se esconde el carácter y se
           dibuja el triángulo con bordes CSS: así las tres salen idénticas al
           píxel. Va scoped a .pv-pos-topbar para no cambiarle la flecha a
           ningún otro select del sistema. */
        .pv-pos-topbar .pv-cs-chevron,.pv-pos-topbar .pv-combo-trigger-chevron,.pv-pos-topbar .pv-divisa-menu-chevron{
            font-size:0;line-height:0;align-self:center;flex-shrink:0;
            width:0;height:0;border-left:4.5px solid transparent;border-right:4.5px solid transparent;
            /* En ámbar (el color de marca), igual que la lupa del buscador y la
               tuerca de "Personalizar vista" — así los tres desplegables se leen
               como parte del mismo juego de controles. Va con la variable, no con
               un amarillo fijo, para que siga la paleta si se cambia. */
            border-top:5px solid var(--pv-primary);border-bottom:0;
        }
        .pv-mini-select-combo{position:relative}
        .pv-ajuste-wrap{position:relative;display:inline-flex;width:104px}
        .pv-topbar-input{width:100%;height:36px;box-sizing:border-box;padding:0 26px 0 12px;border:1px solid var(--pv-border2);border-radius:11px;font-size:12.5px;background:var(--pv-surface);color:var(--pv-ink)}
        .pv-topbar-input:focus{outline:none;border-color:var(--pv-primary);box-shadow:0 0 0 4px rgba(var(--pv-primary-rgb),.12)}
        .pv-topbar-input::placeholder{color:var(--pv-muted)}
        .pv-ajuste-pct{position:absolute;right:11px;top:50%;transform:translateY(-50%);font-size:11.5px;font-weight:700;color:var(--pv-primary);pointer-events:none}
        .pv-vista-toggle{padding:0 10px;color:var(--pv-primary)}
        /* Fabricación mete además el botón "Nueva fabricación" en la barra —
           se le empareja el alto para que no rompa la línea de píldoras. */
        .pv-pos-topbar .pv-fab-nueva-btn{height:36px;padding:0 12px;border-radius:11px;font-size:12.5px;flex-shrink:0;display:inline-flex;align-items:center;gap:6px}
        /* La tarjeta de cada línea en Fabricación lleva bastante más adentro
           (proveedor + costo de fabricación + costo de venta), así que se
           enmarca como tarjeta propia en vez de una fila con borde abajo. */
        #pv-fab-items-tabla .pv-fab-carrito-item{border:1px solid var(--pv-border)!important;border-radius:14px;padding:12px!important;margin-bottom:8px;background:var(--pv-surface-2)}
        /* Foto del artículo en la tarjeta del catálogo, con la cámara flotando
           en la esquina: el resto de la tarjeta sigue sirviendo para agregar,
           solo ese botón abre la foto completa. */
        .pv-fab-card-foto{position:relative;margin-bottom:6px}
        .pv-fab-card-foto img{width:100%;height:90px;object-fit:cover;border-radius:8px;display:block}
        .pv-fab-foto-btn-flotante{position:absolute;top:6px;right:6px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;border-radius:999px;background:rgba(255,255,255,.92);color:var(--pv-primary);cursor:zoom-in;box-shadow:0 2px 6px rgba(16,24,40,.22);padding:0}
        .pv-fab-foto-btn-flotante:hover{background:#fff;color:var(--pv-primary-dark,var(--pv-primary))}
        .pv-pedido-row-icon.pv-fab-ver-foto-btn{cursor:zoom-in}
        .pv-personalizar-wrap .pv-personalizar-btn .pv-personalizar-icono{color:var(--pv-primary)}

        /* ---- Catálogo en filas (vista por defecto) ---- */
        .pv-pedido-lista{display:flex;flex-direction:column;gap:8px}
        .pv-pedido-row{position:relative;display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--pv-surface);border:1px solid var(--pv-border);border-radius:14px;cursor:pointer;transition:border-color .12s,box-shadow .12s}
        .pv-pedido-row:hover{border-color:var(--pv-primary);box-shadow:0 4px 14px rgba(var(--pv-primary-rgb),.14)}
        .pv-pedido-row-icon{width:38px;height:38px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:9px;background:var(--pv-surface-2);color:var(--pv-muted);overflow:hidden}
        .pv-pedido-row-icon img{width:100%;height:100%;object-fit:cover;border-radius:9px;display:block}
        .pv-row-icon-clickable{cursor:zoom-in}
        .pv-pedido-row-info{flex:1;min-width:0}
        .pv-pedido-row-nombre{font-size:13.5px;font-weight:700;color:var(--pv-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
        .pv-pedido-row-meta{font-size:11.5px;color:var(--pv-muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
        .pv-pedido-row-meta-svc{color:var(--pv-primary-dark,var(--pv-primary));font-weight:700}
        .pv-pedido-row-right{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0}
        .pv-pedido-row-precio{font-size:14.5px;font-weight:800;color:var(--pv-ink);white-space:nowrap}
        /* "+N": cuántas unidades de ese ítem ya están en el carrito. Cuelga
           fuera de la tarjeta (igual que en Noalyx), así que la columna del
           catálogo no puede recortar — de ahí el overflow visible. */
        #pv-pedido-form .pv-pedido-col-catalogo,#pv-fab-form .pv-pedido-col-catalogo{overflow:visible}
        .pv-item-badge{position:absolute;top:-8px;right:-8px;z-index:2;min-width:22px;height:22px;padding:0 6px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;border-radius:999px;background:var(--pv-primary);color:#fff;font-size:11px;font-weight:800;box-shadow:0 2px 6px rgba(16,24,40,.18)}
        .pv-item-seleccionado{border-color:var(--pv-primary);box-shadow:0 0 0 3px rgba(var(--pv-primary-rgb),.18),0 4px 14px rgba(16,24,40,.08)}
        .pv-pedido-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
        .pv-pedido-cards-grid .pv-pedido-card{position:relative}
        .pv-catalogo-vacio{color:var(--pv-muted);font-size:12.5px;margin:10px 2px}

        /* ---- Panel del pedido ---- */
        /* Cliente como píldora: fondo gris, ícono de "agregar persona" y el
           texto en tono apagado hasta que hay uno elegido. Reemplaza al par
           etiqueta + campo cuadrado. El título "Pedido" de escritorio se va
           por lo mismo: la tarjeta arranca directo en la píldora. */
        #pv-pedido-form .pv-pedido-sheet-titulo-desktop,#pv-fab-form .pv-pedido-sheet-titulo-desktop{display:none}
        .pv-pedido-cliente-wrap{display:flex;align-items:center;gap:8px}
        .pv-pedido-cliente-wrap .pv-cs{flex:1;min-width:0;display:block}
        .pv-pedido-cliente-wrap .pv-cs-trigger-form{width:100%;padding:10px 16px;border-radius:999px;border:1px solid var(--pv-border);background:var(--pv-bg);font-size:13.5px;font-weight:600;color:var(--pv-muted)}
        /* El ícono se pinta con mask en vez de un <img>/background con color
           fijo, para que tome el color de la marca del sistema (--pv-primary)
           y no quede un rojo pegado como en el original.
           OJO: todo este bloque de CSS se echa desde una string PHP entre
           comillas SIMPLES, así que adentro del SVG no puede haber ninguna —
           por eso los atributos van con %27 (comilla simple URL-encoded, que
           el navegador decodifica igual) en vez de comillas de verdad. */
        .pv-pedido-cliente-wrap .pv-cs-trigger-form::before{content:"";flex-shrink:0;width:17px;height:17px;margin-right:2px;background-color:var(--pv-primary);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%23000%27 stroke-width=%272.3%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2%27/%3E%3Ccircle cx=%279%27 cy=%277%27 r=%274%27/%3E%3Cpath d=%27M19 8v6M22 11h-6%27/%3E%3C/svg%3E") no-repeat center/contain;mask:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%23000%27 stroke-width=%272.3%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2%27/%3E%3Ccircle cx=%279%27 cy=%277%27 r=%274%27/%3E%3Cpath d=%27M19 8v6M22 11h-6%27/%3E%3C/svg%3E") no-repeat center/contain}
        .pv-pedido-cliente-wrap .pv-cs-trigger-label{flex:1;min-width:0}
        .pv-pedido-cliente-wrap .pv-cs-trigger-form:hover{border-color:var(--pv-primary)}
        /* Con un cliente ya elegido el texto pasa a tono normal y peso fuerte:
           deja de ser un "placeholder" para ser el dato del pedido. */
        .pv-pedido-cliente-wrap .pv-cs-elegido .pv-cs-trigger-form{background:var(--pv-surface);color:var(--pv-ink);font-weight:700}
        .pv-pedido-hr{margin:14px 0;border:none;border-top:1px solid var(--pv-border)}
        /* La tarjeta del pedido mide siempre lo mismo (todo el alto visible) y
           scrollea POR DENTRO. Es la diferencia clave con Noalyx, que la deja
           crecer con su contenido: creciendo, para llegar al botón de guardar
           había que scrollear la página entera y el catálogo de al lado se iba
           con ella. Con alto fijo + sticky, cada columna se recorre por su
           cuenta. Con el carrito vacío el mismo alto sirve para centrar el
           estado vacío. */
        #pv-pedido-form .pv-pedido-col-resumen,#pv-fab-form .pv-pedido-col-resumen{display:flex;flex-direction:column;height:calc(100vh - 127px);max-height:none;overflow-y:auto;scrollbar-width:thin}
        #pv-pedido-form .pv-pedido-col-resumen::-webkit-scrollbar,#pv-fab-form .pv-pedido-col-resumen::-webkit-scrollbar{width:7px}
        #pv-pedido-form .pv-pedido-col-resumen::-webkit-scrollbar-thumb,#pv-fab-form .pv-pedido-col-resumen::-webkit-scrollbar-thumb{background:var(--pv-border2);border-radius:999px}
        #pv-pedido-form .pv-pedido-col-resumen::-webkit-scrollbar-thumb:hover,#pv-fab-form .pv-pedido-col-resumen::-webkit-scrollbar-thumb:hover{background:var(--pv-muted)}
        #pv-pedido-form .pv-pedido-col-resumen > *,#pv-fab-form .pv-pedido-col-resumen > *{flex-shrink:0}
        @media (max-width:1100px){
            /* Acá el panel deja de ser una columna sticky (y en teléfono pasa a
               ser la hoja deslizable del carrito) — forzarle el alto de la
               ventana lo rompería. */
            #pv-pedido-form .pv-pedido-col-resumen,#pv-fab-form .pv-pedido-col-resumen{height:auto;display:block}
        }
        .pv-carrito-vacio{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:46px 10px;color:var(--pv-primary)}
        .pv-carrito-vacio svg{animation:pv-carrito-salto 2.2s ease-in-out infinite;transform-origin:center bottom}
        @keyframes pv-carrito-salto{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
        @media (prefers-reduced-motion:reduce){ .pv-carrito-vacio svg{animation:none} }
        .pv-carrito-vacio-titulo{margin:14px 0 4px;font-size:15px;font-weight:800;color:var(--pv-muted)}
        .pv-carrito-vacio-sub{margin:0;font-size:12.5px;color:var(--pv-muted)}
        /* Aire entre la píldora del cliente y la cabecera "Venta actual": con la
           separación de antes el chip de la tasa quedaba pegado al selector de
           arriba y las dos filas se leían como una sola. */
        #pv-pedido-panel-items > .pv-pedido-hr:first-child,#pv-fab-panel-items > .pv-pedido-hr:first-child{margin:30px 0 0}
        .pv-panel-cart-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:18px 0 18px}
        .pv-panel-cart-title{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--pv-muted)}
        .pv-panel-cart-badge{min-width:19px;height:19px;padding:0 6px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:rgba(var(--pv-primary-rgb),.16);color:var(--pv-primary);font-size:10.5px;font-weight:800}
        #pv-pedido-cart-count{background:rgba(111,66,223,.14);color:#6F42DF}
        .pv-panel-cart-header-right{display:flex;align-items:center;gap:8px}
        /* Chip de la tasa: remarcado en rojo (borde + fondo tenue + ícono), con
           las cifras en negro y negrita para que salten a la vista por encima
           del resto del texto. */
        .pv-panel-rate{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:#dc2626;background:rgba(220,38,38,.06);border:1px solid #dc2626;border-radius:999px;padding:4px 9px}
        html body .pv-panel-rate .pv-panel-rate-num{color:var(--pv-ink);font-weight:800}
        .pv-panel-clear-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--pv-border2);border-radius:9px;background:var(--pv-surface);color:var(--pv-muted);cursor:pointer;box-shadow:none}
        .pv-panel-clear-btn:hover{color:#dc2626;border-color:#dc2626}
        .pv-cobrar-con-label{margin:0 0 7px;font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--pv-muted)}
        /* "Cobrar con": dos selects en una fila de 1fr 1fr dentro de un panel de
           380px, con nombres largos ("Divisas mercantil (USD)"). Sin min-width:0
           una celda de grid nunca se encoge por debajo del ancho de su
           contenido, así que los botones se desbordaban de la tarjeta. Con eso
           puesto + recorte con "…" y un tamaño más compacto, entran siempre. */
        #pv-pedido-cobrar-simple .pv-pedido-campos-grid,#pv-fab-cobrar-simple .pv-pedido-campos-grid{gap:0 8px;margin:0}
        #pv-pedido-cobrar-simple .pv-pedido-campos-grid > *,#pv-fab-cobrar-simple .pv-pedido-campos-grid > *{min-width:0}
        #pv-pedido-cobrar-simple .pv-cs,#pv-fab-cobrar-simple .pv-cs{display:block;width:100%;min-width:0}
        #pv-pedido-cobrar-simple .pv-cs-trigger-form,#pv-fab-cobrar-simple .pv-cs-trigger-form{width:100%;min-width:0;box-sizing:border-box;padding:7px 11px;border-radius:9px;font-size:12.5px;font-weight:700;gap:6px}
        #pv-pedido-cobrar-simple .pv-cs-trigger-label,#pv-fab-cobrar-simple .pv-cs-trigger-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
        #pv-pedido-cobrar-simple .pv-cs-chevron,#pv-fab-cobrar-simple .pv-cs-chevron{flex-shrink:0}
        /* El panel del desplegable es más ancho que su botón (230px mínimo para
           que se lean los nombres). Al de la derecha se le ancla el borde
           derecho, si no se salía de la tarjeta al abrirlo. */
        #pv-pedido-cobrar-simple .pv-pedido-campos-grid > *:last-child .pv-cs-panel,#pv-fab-cobrar-simple .pv-pedido-campos-grid > *:last-child .pv-cs-panel{left:auto;right:0}

        /* ---- Pago Mixto ---- */
        .pv-pago-mixto-divisor{display:flex;align-items:center;gap:10px;margin:14px 0 10px;color:var(--pv-muted);font-size:11px;font-weight:700}
        .pv-pago-mixto-divisor::before,.pv-pago-mixto-divisor::after{content:"";flex:1;height:1px;background:var(--pv-border)}
        .pv-btn-pago-mixto{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 14px;border:1px dashed var(--pv-primary);border-radius:12px;background:rgba(var(--pv-primary-rgb),.06);color:var(--pv-ink);font-size:13px;font-weight:700;cursor:pointer;box-shadow:none}
        .pv-btn-pago-mixto:hover{background:rgba(var(--pv-primary-rgb),.12)}
        .pv-pago-mixto-sub{font-weight:600;color:var(--pv-muted);font-size:11.5px}
        .pv-pago-mixto-panel{border:1px solid var(--pv-border);border-radius:14px;padding:14px;background:var(--pv-surface-2)}
        .pv-vuelto-box{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin-top:12px;overflow:hidden;border:1px solid #e4ddff;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(72,48,130,.09);container-type:inline-size}
        .pv-vuelto-box,.pv-vuelto-box *{box-sizing:border-box}
        .pv-vuelto-encabezados,.pv-vuelto-valores{display:grid;grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr);align-items:stretch}
        .pv-vuelto-encabezados{padding:10px 12px 9px;background:linear-gradient(135deg,#fbfaff 0%,#fff 62%,#fff8fa 100%);border-bottom:1px solid #eee9fb}
        .pv-vuelto-titulo{display:flex;align-items:center;gap:7px;min-width:0;color:#7c879f;font-size:9.5px;font-weight:850;letter-spacing:.065em;line-height:1.2;text-transform:uppercase}
        .pv-vuelto-titulo-cambio{color:#7042df}
        .pv-vuelto-icono{display:inline-flex;align-items:center;justify-content:center;flex:0 0 26px;width:26px;height:26px;border-radius:9px;color:#7042df;background:#eee9ff}
        .pv-vuelto-titulo-cambio .pv-vuelto-icono{color:#e51a63;background:#fff0f5}
        .pv-vuelto-icono svg{display:block!important;width:16px!important;height:16px!important;flex:0 0 16px!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;transform:none!important}
        .pv-vuelto-flujo{display:flex;align-items:center;justify-content:center;color:#ae9fcf}
        .pv-vuelto-flujo svg{width:15px;height:15px}
        .pv-vuelto-valores{padding:10px 12px 12px;background:#fff}
        .pv-vuelto-captura{display:block;min-width:0}
        .pv-vuelto-input-wrap{display:flex;align-items:center;height:52px;min-height:52px;max-height:52px;border:1px solid #dce1ec;border-radius:13px;background:#f9f8fc;overflow:hidden;box-shadow:inset 0 1px 2px rgba(33,43,71,.03);transition:border-color .18s ease,box-shadow .18s ease}
        .pv-vuelto-input-wrap:focus-within{border-color:#7a4df2;box-shadow:0 0 0 3px rgba(122,77,242,.11),0 4px 12px rgba(33,43,71,.06)}
        .pv-vuelto-input-wrap input{min-width:0!important;width:100%!important;height:50px!important;border:0!important;box-shadow:none!important;background:transparent!important;padding:10px 12px!important;font-size:14px!important;font-weight:800!important;color:var(--pv-ink)!important}
        .pv-vuelto-input-wrap input::placeholder{color:var(--pv-ink);opacity:1;font-weight:750}
        .pv-vuelto-input-wrap b{align-self:stretch;min-width:42px;display:flex;align-items:center;justify-content:center;padding:0 7px;border-left:1px solid #e5e0f5;font-size:10px;font-weight:850;letter-spacing:.035em;color:#7042df;background:linear-gradient(180deg,#f7f4ff,#f0ebff);text-transform:uppercase}
        .pv-vuelto-input-wrap b:empty{display:none}
        .pv-vuelto-resultado{position:relative;display:flex;align-self:center;align-items:center;justify-content:space-between;min-width:0;height:52px;min-height:52px;max-height:52px;padding:6px 8px 6px 10px;border-radius:13px;background:linear-gradient(115deg,#7447e8 0%,#a538ca 55%,#ed145e 100%);border:1px solid rgba(112,66,230,.18);box-shadow:0 7px 16px rgba(111,66,223,.16);overflow:hidden}
        .pv-vuelto-resultado:after{content:"";position:absolute;width:70px;height:70px;right:-30px;top:-34px;border-radius:50%;background:rgba(255,255,255,.12);pointer-events:none}
        .pv-vuelto-resultado strong{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;width:100%;min-width:0;gap:5px;white-space:nowrap;font-size:16px;font-weight:900;color:#fff;line-height:1;letter-spacing:-.02em;overflow:hidden;font-variant-numeric:tabular-nums}.pv-vuelto-resultado small{flex:0 0 auto;padding:3px 5px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.13);font-size:8.5px;font-weight:850;line-height:1;text-transform:uppercase;color:#fff}.pv-vuelto-resultado small:empty{display:none}
        .pv-vuelto-cuenta-simple{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:7px;margin:0 12px 10px;padding:10px 11px;border:1px solid #ddd6fe;border-radius:12px;background:rgba(249,247,255,.92);color:#5b4c7c}
        .pv-vuelto-cuenta-simple[hidden]{display:none!important}
        .pv-vuelto-cuenta-simple>span{display:block;width:100%;font-size:10.5px;font-weight:800;letter-spacing:.025em;line-height:1.25;text-transform:uppercase}
        .pv-vuelto-cuenta-simple select{min-width:0;width:100%;height:36px;margin:0}
        .pv-vuelto-cuenta-simple small{grid-column:1;display:block;width:100%;font-size:9.5px;line-height:1.35;color:var(--pv-muted);font-weight:600}
        .pv-vuelto-cuenta-simple.pv-vuelto-cuenta-sin-saldo{border-color:#fb7185;background:#fff1f2}.pv-vuelto-cuenta-simple.pv-vuelto-cuenta-sin-saldo small{color:#be123c}
        .pv-vuelto-box>p{display:flex;align-items:center;gap:7px;margin:0;padding:9px 12px 11px;border-top:1px solid #f0ecf8;background:#fcfbff;font-size:10.5px;line-height:1.4;color:#7c879f}.pv-vuelto-box>p:before{content:"i";display:inline-flex;align-items:center;justify-content:center;flex:0 0 18px;width:18px;height:18px;border-radius:50%;background:#eee9ff;color:#7244e3;font-size:10px;font-weight:850;font-style:normal}
        .pv-vuelto-box.pv-vuelto-insuficiente{border-color:#fb7185;background:#fff1f2}.pv-vuelto-box.pv-vuelto-insuficiente .pv-vuelto-resultado{background:linear-gradient(135deg,#e11d48,#fb3b67);border-color:#e11d48}.pv-vuelto-box.pv-vuelto-insuficiente .pv-vuelto-resultado strong{color:#fff}
        .pv-vuelto-mixto{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,1fr);gap:10px;align-items:center;margin-top:10px;padding:9px 10px;border:1px solid #ddd6fe;border-radius:11px;background:#faf8ff;font-size:11px;font-weight:800;color:#5b4c7c}.pv-vuelto-mixto select{min-width:0;width:100%;height:36px}
        .pv-vuelto-cuenta-cabecera{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;grid-column:1/-1}
        .pv-vuelto-cuenta-cabecera>span{min-width:0;font-size:10.5px;font-weight:850;letter-spacing:.025em;line-height:1.25;text-transform:uppercase;color:#5b4c7c}
        .pv-vuelto-dividir-btn{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:30px;padding:5px 10px;border:1px solid #7c4dff;border-radius:9px;background:#fff;color:#6f42df;font-size:10.5px;font-weight:850;line-height:1;cursor:pointer;box-shadow:none;transition:background .16s ease,color .16s ease,transform .16s ease}
        .pv-vuelto-dividir-btn:hover{background:#6f42df;color:#fff;transform:translateY(-1px)}
        .pv-vuelto-dividido-panel{display:grid;grid-column:1/-1;gap:8px;width:100%;padding:9px;border:1px solid #ded5ff;border-radius:11px;background:linear-gradient(145deg,#fff 0%,#faf8ff 100%)}
        .pv-vuelto-dividido-panel[hidden]{display:none!important}
        .pv-vuelto-dividido-lista{display:grid;gap:7px}
        .pv-vuelto-dividido-fila{display:grid;grid-template-columns:minmax(120px,1fr) minmax(112px,.7fr) 30px;align-items:center;gap:7px;min-width:0}
        .pv-vuelto-dividido-fila select{width:100%;min-width:0;height:38px!important;margin:0!important;padding-top:5px!important;padding-bottom:5px!important;border-color:#d9d2ee!important;background-color:#fff!important;font-size:11px!important;font-weight:700!important}
        .pv-vuelto-dividido-fila>.pv-cs{display:block;width:100%;min-width:0}.pv-vuelto-dividido-fila .pv-cs-trigger-form{width:100%;min-width:0;height:38px;padding:6px 8px;border-radius:9px;font-size:10.5px;gap:5px}.pv-vuelto-dividido-fila .pv-cs-trigger-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pv-vuelto-dividido-fila .pv-cs-chevron{flex:0 0 auto}
        .pv-vuelto-dividido-monto-wrap{display:flex;align-items:center;min-width:0;height:38px;border:1px solid #d9d2ee;border-radius:9px;background:#fff;overflow:hidden}
        .pv-vuelto-dividido-monto{width:100%!important;min-width:0!important;height:36px!important;margin:0!important;padding:6px 7px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;text-align:right;font-size:11.5px!important;font-weight:800!important;color:var(--pv-ink)!important}
        .pv-vuelto-dividido-moneda{align-self:stretch;display:flex;align-items:center;justify-content:center;min-width:38px;padding:0 5px;border-left:1px solid #ece7fa;background:#f5f2ff;color:#6f42df;font-size:9.5px;font-weight:900;text-transform:uppercase}
        .pv-vuelto-dividido-moneda:empty{display:none}
        .pv-vuelto-dividido-quitar{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid #fecdd3;border-radius:9px;background:#fff;color:#e11d48;font-size:17px;font-weight:500;line-height:1;cursor:pointer;box-shadow:none}
        .pv-vuelto-dividido-quitar:hover{background:#fff1f2;border-color:#fb7185}
        .pv-vuelto-agregar-cuenta{justify-self:start;display:inline-flex;align-items:center;min-height:30px;padding:5px 9px;border:1px dashed #8b5cf6;border-radius:8px;background:rgba(139,92,246,.05);color:#6f42df;font-size:10.5px;font-weight:800;cursor:pointer;box-shadow:none}
        .pv-vuelto-agregar-cuenta:hover{background:rgba(139,92,246,.11)}
        .pv-vuelto-dividido-resumen{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:32px;padding:7px 9px;border-radius:8px;background:#f5f3ff;color:#5b4c7c;font-size:10px;line-height:1.25}
        .pv-vuelto-dividido-resumen b,.pv-vuelto-dividido-resumen strong{font-weight:900}
        .pv-vuelto-dividido-resumen.pv-vuelto-resumen-ok{background:#ecfdf5;color:#047857}.pv-vuelto-dividido-resumen.pv-vuelto-resumen-error{background:#fff1f2;color:#be123c}
        .pv-vuelto-dividido-fila.pv-vuelto-fila-error select,.pv-vuelto-dividido-fila.pv-vuelto-fila-error .pv-vuelto-dividido-monto-wrap{border-color:#fb7185!important;box-shadow:0 0 0 2px rgba(244,63,94,.08)!important}
        .pv-vuelto-mixto>.pv-vuelto-cuenta-cabecera,.pv-vuelto-mixto>.pv-vuelto-dividido-panel{grid-column:1/-1}
        /* Ventana dedicada para repartir el vuelto. El panel continúa dentro
           del formulario original, por lo que no se altera el envío de datos. */
        body.pv-vuelto-modal-abierto{overflow:hidden!important}
        .pv-vuelto-dividido-panel.pv-vuelto-modal-overlay{position:fixed!important;inset:0!important;z-index:100090!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;margin:0!important;padding:16px!important;border:0!important;border-radius:0!important;background:rgba(24,20,36,.56)!important;backdrop-filter:blur(5px);box-shadow:none!important}
        .pv-vuelto-dividido-panel.pv-vuelto-modal-overlay[hidden]{display:none!important}
        .pv-vuelto-modal-dialog{display:flex;flex-direction:column;width:min(100%,520px);max-height:min(760px,calc(100vh - 32px));overflow:hidden;border:1px solid #e6e0f4;border-radius:22px;background:#fff;box-shadow:0 28px 80px rgba(35,25,67,.28)}
        .pv-vuelto-modal-header{display:flex;align-items:center;gap:11px;flex:0 0 auto;padding:15px 16px;border-bottom:1px solid #ede8f7;background:linear-gradient(135deg,#fff 0%,#fbf9ff 62%,#fff8fb 100%)}
        .pv-vuelto-modal-icono{display:inline-flex;align-items:center;justify-content:center;flex:0 0 42px;width:42px;height:42px;border-radius:13px;color:#fff;background:linear-gradient(135deg,#7447e8 0%,#a538ca 56%,#ed145e 100%);box-shadow:0 8px 20px rgba(125,64,220,.2)}
        .pv-vuelto-modal-icono svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
        .pv-vuelto-modal-titulos{min-width:0;flex:1}.pv-vuelto-modal-titulos strong{display:block;color:#171b2e;font-size:17px;font-weight:900;line-height:1.2}.pv-vuelto-modal-titulos small{display:block;margin-top:3px;color:#8490a8;font-size:10.5px;font-weight:650;line-height:1.25}
        .pv-vuelto-modal-cerrar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:36px;padding:0;border:1px solid #e2deec;border-radius:11px;background:#f8f9fc;color:#69758d;cursor:pointer;box-shadow:none}.pv-vuelto-modal-cerrar:hover{border-color:#cfc5ea;background:#f3efff;color:#6f42df}.pv-vuelto-modal-cerrar svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
        .pv-vuelto-modal-contenido{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:14px 16px 16px;scrollbar-width:thin;scrollbar-color:#c4b5eb transparent}
        .pv-vuelto-modal-metricas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-bottom:14px;overflow:hidden;border-radius:13px;background:#e7e1f3}
        .pv-vuelto-modal-metrica{min-width:0;padding:10px 9px;background:#f8f6fd}.pv-vuelto-modal-metrica span{display:block;color:#8791a8;font-size:8.5px;font-weight:850;line-height:1.2;letter-spacing:.04em;text-transform:uppercase}.pv-vuelto-modal-metrica b{display:block;margin-top:5px;overflow:hidden;color:#171b2e;font-size:13px;font-weight:900;line-height:1.1;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.pv-vuelto-modal-metrica:last-child b{color:#05a66a}
        .pv-vuelto-modal-dialog .pv-vuelto-dividido-lista{gap:10px}
        .pv-vuelto-modal-dialog .pv-vuelto-dividido-fila{display:grid;grid-template-columns:minmax(0,1fr) minmax(145px,.72fr);align-items:center;gap:8px;padding:11px;border:1px solid #e3def0;border-radius:14px;background:#fff;box-shadow:0 5px 16px rgba(55,42,90,.045)}
        .pv-vuelto-modal-dialog .pv-vuelto-dividido-fila-cabecera{display:flex;grid-column:1/-1;align-items:center;justify-content:space-between;gap:10px;margin-bottom:1px;color:#8993a9;font-size:9.5px;font-weight:850;letter-spacing:.055em;text-transform:uppercase}
        .pv-vuelto-modal-dialog .pv-vuelto-dividido-quitar{width:28px;height:28px;border:0;border-radius:9px;background:#fff1f4;color:#e11d48}.pv-vuelto-modal-dialog .pv-vuelto-dividido-quitar svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
        .pv-vuelto-modal-dialog .pv-vuelto-dividido-fila>select{height:44px!important;border-radius:11px!important;font-size:11.5px!important}.pv-vuelto-modal-dialog .pv-vuelto-dividido-fila>.pv-cs{width:100%;min-width:0}.pv-vuelto-modal-dialog .pv-vuelto-dividido-fila .pv-cs-trigger-form{height:44px;padding:7px 10px;border-radius:11px;font-size:11.5px}.pv-vuelto-modal-dialog .pv-vuelto-dividido-fila .pv-cs-panel{z-index:30;max-height:190px}
        html body .pv-vuelto-modal-dialog .pv-vuelto-dividido-fila .pv-cs.pv-campo-completo .pv-cs-trigger{position:relative!important;padding-right:76px!important}
        html body .pv-vuelto-modal-dialog .pv-vuelto-dividido-fila .pv-cs.pv-campo-completo .pv-cs-trigger::after{top:50%!important;right:43px!important;bottom:auto!important;width:18px!important;height:18px!important;margin:0!important;transform:translateY(-50%)!important;background-size:18px 18px!important}
        html body .pv-vuelto-modal-dialog .pv-vuelto-dividido-fila .pv-cs .pv-cs-chevron{position:absolute!important;top:50%!important;right:12px!important;bottom:auto!important;left:auto!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:18px!important;height:18px!important;margin:0!important;transform:translateY(-50%)!important}
        html body .pv-vuelto-modal-dialog .pv-vuelto-dividido-fila .pv-cs.pv-cs-open .pv-cs-chevron{transform:translateY(-50%) rotate(180deg)!important}
        .pv-vuelto-modal-dialog .pv-vuelto-dividido-monto-wrap{height:44px;border-radius:11px;background:#faf9fd}.pv-vuelto-modal-dialog .pv-vuelto-dividido-monto{height:42px!important;padding:7px 10px!important;font-size:13px!important}.pv-vuelto-modal-dialog .pv-vuelto-dividido-moneda{min-width:48px;padding:0 7px;font-size:10px}
        .pv-vuelto-modal-dialog .pv-vuelto-dividido-saldo{display:block;grid-column:1/-1;margin-top:-1px;color:#8a94a9;font-size:9.5px;font-weight:650;text-align:right}
        .pv-vuelto-modal-dialog .pv-vuelto-agregar-cuenta{display:flex;justify-content:center;width:100%;min-height:40px;margin-top:10px;padding:8px 12px;border-radius:11px;font-size:11.5px}
        .pv-vuelto-modal-dialog .pv-vuelto-dividido-resumen{min-height:43px;margin-top:12px;padding:9px 11px;border-radius:11px;font-size:10.5px}
        .pv-vuelto-modal-acciones{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:9px;flex:0 0 auto;padding:12px 16px 15px;border-top:1px solid #ede8f7;background:#fff}.pv-vuelto-modal-acciones button{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:9px 12px;border-radius:12px;font-size:11.5px;font-weight:850;cursor:pointer}.pv-vuelto-modal-cancelar{border:1px solid #dcd5ec;background:#fff;color:#5f687c}.pv-vuelto-modal-aplicar{border:0;background:linear-gradient(105deg,#7447e8 0%,#a538ca 55%,#ed145e 100%);color:#fff;box-shadow:0 8px 18px rgba(117,63,221,.2)}.pv-vuelto-modal-aplicar:disabled{opacity:.46;cursor:not-allowed;box-shadow:none}
        @container(max-width:350px){.pv-vuelto-encabezados,.pv-vuelto-valores{grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr)}.pv-vuelto-titulo{font-size:8.5px;gap:5px}.pv-vuelto-icono{flex-basis:23px;width:23px;height:23px}.pv-vuelto-resultado strong{font-size:18px}.pv-vuelto-input-wrap input{padding-left:9px!important;font-size:12px!important}.pv-vuelto-input-wrap b{min-width:35px;padding:0 4px}.pv-vuelto-encabezados,.pv-vuelto-valores{padding-left:9px;padding-right:9px}}
        @media(max-width:600px){.pv-vuelto-mixto,.pv-vuelto-cuenta-simple{grid-template-columns:1fr}.pv-vuelto-cuenta-simple small{grid-column:1}.pv-vuelto-dividido-fila{grid-template-columns:minmax(0,1fr) minmax(90px,.72fr) 26px;gap:5px}.pv-vuelto-dividido-panel{padding:8px}.pv-vuelto-dividido-fila select{font-size:10px!important}.pv-vuelto-dividido-fila .pv-cs-trigger-form{padding-left:6px;padding-right:6px;font-size:9.5px}.pv-vuelto-dividido-quitar{width:26px;height:28px}.pv-vuelto-dividido-moneda{min-width:32px;padding:0 3px}.pv-vuelto-dividido-monto{padding-left:5px!important;padding-right:5px!important;font-size:10.5px!important}.pv-vuelto-dividido-resumen{align-items:flex-start;flex-direction:column;gap:3px}.pv-vuelto-dividido-panel.pv-vuelto-modal-overlay{padding:10px!important}.pv-vuelto-modal-dialog{max-height:calc(100vh - 20px);border-radius:19px}.pv-vuelto-modal-header{padding:13px}.pv-vuelto-modal-icono{flex-basis:38px;width:38px;height:38px}.pv-vuelto-modal-titulos strong{font-size:16px}.pv-vuelto-modal-contenido{padding:12px}.pv-vuelto-modal-metrica{padding:9px 6px}.pv-vuelto-modal-metrica b{font-size:11.5px}.pv-vuelto-modal-dialog .pv-vuelto-dividido-fila{grid-template-columns:minmax(0,1fr);gap:7px;padding:10px}.pv-vuelto-modal-dialog .pv-vuelto-dividido-fila-cabecera,.pv-vuelto-modal-dialog .pv-vuelto-dividido-saldo{grid-column:1}.pv-vuelto-modal-dialog .pv-vuelto-dividido-fila .pv-cs-trigger-form{font-size:10.5px}.pv-vuelto-modal-dialog .pv-vuelto-dividido-monto{padding-left:9px!important;padding-right:9px!important;font-size:12px!important}.pv-vuelto-modal-dialog .pv-vuelto-dividido-moneda{min-width:44px}.pv-vuelto-modal-acciones{padding:11px 12px 13px}}
        .pv-pago-mixto-volver{display:inline-flex;align-items:center;gap:6px;margin-bottom:12px;padding:0;border:none;background:none;color:#6F42DF;font-size:12px;font-weight:700;cursor:pointer;box-shadow:none}
        .pv-pago-mixto-volver:hover{color:#5B35D5}
        .pv-pago-mixto-header{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;font-weight:800;letter-spacing:.04em;color:var(--pv-muted)}
        .pv-pago-mixto-header strong{font-size:14px;color:var(--pv-ink);letter-spacing:0}
        .pv-pago-mixto-barra{height:6px;border-radius:999px;background:var(--pv-border);overflow:hidden;margin:9px 0 7px}
        .pv-pago-mixto-barra-fill{height:100%;border-radius:999px;background:var(--pv-primary);transition:width .18s ease}
        .pv-pago-mixto-resumen{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11.5px;color:var(--pv-muted)}
        .pv-pago-mixto-resumen strong{color:var(--pv-ink)}
        .pv-pago-mixto-completo{color:#0a8a5c;font-weight:800}
        /* Pasarse tiene que verse tan claro como faltar: en rojo y con la barra
           en rojo. Antes un exceso se mostraba como "Falta 0,00" con la barra
           llena — indistinguible de un pago exacto. */
        .pv-pago-mixto-exceso{color:#dc2626;font-weight:800}
        .pv-pago-mixto-barra-fill.pv-pago-mixto-barra-exceso{background:#dc2626}
        .pv-pago-mixto-lista{display:flex;flex-direction:column;gap:7px;margin-top:11px}
        .pv-pago-mixto-fila{display:flex;align-items:center;gap:7px;background:var(--pv-surface);border:1px solid var(--pv-border);border-radius:11px;padding:7px 9px}
        .pv-pago-mixto-fila-nombre{flex:1;min-width:0;font-size:12.5px;font-weight:700;color:var(--pv-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
        .pv-pago-mixto-fila-input{width:104px;flex-shrink:0;padding:6px 9px;border:1px solid var(--pv-border2);border-radius:8px;font-size:12.5px;font-weight:700;text-align:right;background:var(--pv-surface);color:var(--pv-ink)}
        .pv-pago-mixto-fila-input:focus{outline:none;border-color:var(--pv-primary)}
        .pv-pago-mixto-fila-moneda{font-size:10.5px;font-weight:800;color:var(--pv-muted);flex-shrink:0}
        .pv-pago-mixto-fila-quitar{border:none;background:none;color:var(--pv-muted);font-size:13px;cursor:pointer;padding:2px 3px;box-shadow:none;flex-shrink:0}
        .pv-pago-mixto-fila-quitar:hover{color:#dc2626}
        /* "Agregar pago con" como desplegable: botón a lo ancho + panel flotante
           con una cuenta por fila (inicial, nombre y su divisa). */
        .pv-pago-mixto-agregar{position:relative;margin-top:14px}
        .pv-pago-mixto-agregar-btn{width:100%;display:flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid var(--pv-border2);border-radius:11px;background:var(--pv-surface);color:var(--pv-ink);font-size:12.5px;font-weight:700;cursor:pointer;box-shadow:none}
        .pv-pago-mixto-agregar-btn:hover{border-color:var(--pv-primary);background:rgba(var(--pv-primary-rgb),.06)}
        .pv-pago-mixto-agregar-texto{flex:1;text-align:left}
        .pv-pago-mixto-agregar-chevron{flex-shrink:0;width:0;height:0;border-left:4.5px solid transparent;border-right:4.5px solid transparent;border-top:5px solid var(--pv-primary);transition:transform .12s}
        .pv-pago-mixto-agregar-open .pv-pago-mixto-agregar-chevron{transform:rotate(180deg)}
        .pv-pago-mixto-agregar-panel{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:60;max-height:232px;overflow-y:auto;padding:6px;background:var(--pv-surface);border:1px solid var(--pv-border);border-radius:14px;box-shadow:0 10px 30px rgba(30,27,46,.15)}
        .pv-pago-mixto-agregar-panel[hidden]{display:none}
        .pv-pago-mixto-add-cuenta{width:100%;display:flex;align-items:center;gap:9px;padding:8px 10px;border:none;border-radius:10px;background:none;color:var(--pv-ink);font-size:12.5px;font-weight:700;cursor:pointer;box-shadow:none;text-align:left}
        .pv-pago-mixto-add-cuenta:hover{background:rgba(var(--pv-primary-rgb),.08)}
        .pv-pago-mixto-add-avatar{flex-shrink:0;width:25px;height:25px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:rgba(var(--pv-primary-rgb),.14);color:var(--pv-primary);font-size:11px;font-weight:800}
        .pv-pago-mixto-add-nombre{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
        html body .pv-pago-mixto-add-moneda{flex-shrink:0;font-size:10.5px;font-weight:800;color:var(--pv-muted);text-transform:uppercase!important}
        .pv-pago-mixto-add-icono{color:var(--pv-primary);font-weight:800}

        /* ---- Modal "Tasa de Cambio" ---- */
        .pv-divisa-modal-overlay{position:fixed;inset:0;z-index:2200;background:rgba(15,17,26,.34);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding:60px 16px 16px;overflow-y:auto}
        .pv-divisa-modal-overlay[hidden]{display:none}
        .pv-divisa-menu-panel{width:100%;max-width:380px;background:var(--pv-surface);border:1px solid var(--pv-border);border-radius:18px;box-shadow:0 26px 60px rgba(16,24,40,.22);overflow:hidden}
        .pv-divisa-menu-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:18px 20px 12px}
        .pv-divisa-menu-htitle{font-size:16px;font-weight:800;color:var(--pv-ink)}
        .pv-divisa-menu-hsub{margin-top:3px;font-size:10.5px;font-weight:800;letter-spacing:.06em;color:var(--pv-muted)}
        .pv-divisa-refresh-btn{width:30px;height:30px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:999px;background:var(--pv-surface-2);color:var(--pv-muted);font-size:13px;cursor:pointer;box-shadow:none}
        .pv-divisa-refresh-btn:hover{background:var(--pv-border);color:var(--pv-ink)}
        .pv-divisa-rate-hero{padding:0 20px 16px;font-size:19px;font-weight:800;color:var(--pv-primary)}
        .pv-divisa-col-headers{display:flex;align-items:center;justify-content:space-between;padding:9px 20px;border-top:1px solid var(--pv-border);border-bottom:1px solid var(--pv-border);background:var(--pv-surface-2);font-size:9.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--pv-muted)}
        .pv-divisa-menu-row{display:flex;align-items:center;gap:11px;padding:12px 20px;cursor:pointer;border-bottom:1px solid var(--pv-border);transition:background .12s}
        .pv-divisa-menu-row:hover{background:var(--pv-surface-2)}
        .pv-divisa-menu-row.active{background:rgba(var(--pv-primary-rgb),.08)}
        .pv-divisa-avatar{width:31px;height:31px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:999px;background:var(--pv-surface-2);color:var(--pv-muted);font-size:10.5px;font-weight:800}
        .pv-divisa-info{flex:1;min-width:0}
        .pv-divisa-row-codigo{font-size:13px;font-weight:800;color:var(--pv-ink)}
        .pv-divisa-row-nombre{font-size:11px;color:var(--pv-muted)}
        .pv-divisa-row-tasa{font-size:12px;font-weight:700;color:var(--pv-muted);text-align:right;white-space:nowrap}
        .pv-divisa-row-tasa.active{color:var(--pv-primary)}
        .pv-divisa-base-badge{display:inline-block;padding:3px 8px;border-radius:999px;background:rgba(var(--pv-primary-rgb),.16);color:var(--pv-primary);font-size:9.5px;font-weight:800;letter-spacing:.04em}
        .pv-divisa-check{color:var(--pv-primary);font-weight:800;flex-shrink:0}
        .pv-divisa-custom-section{padding:14px 20px 18px}
        .pv-divisa-custom-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
        .pv-divisa-custom-label{font-size:13px;font-weight:800;color:var(--pv-ink)}
        .pv-divisa-custom-toggle{border:none;background:none;padding:0;cursor:pointer;box-shadow:none}
        .pv-toggle-track{display:block;width:42px;height:23px;border-radius:999px;background:var(--pv-border);position:relative;transition:background .15s}
        .pv-toggle-thumb{position:absolute;top:2.5px;left:2.5px;width:18px;height:18px;border-radius:999px;background:#fff;box-shadow:0 1px 3px rgba(16,24,40,.28);transition:transform .15s}
        .pv-divisa-custom-toggle.active .pv-toggle-track{background:var(--pv-primary)}
        .pv-divisa-custom-toggle.active .pv-toggle-thumb{transform:translateX(19px)}
        #pv-pedido-descuento-recibo-toggle .pv-toggle-track,
        #pv-fab-descuento-recibo-toggle .pv-toggle-track,
        #pv-pedido-entrega-inmediata-toggle .pv-toggle-track{background:linear-gradient(135deg,rgba(111,66,223,.18) 0%,rgba(245,1,31,.15) 100%);box-shadow:inset 0 0 0 1px rgba(111,66,223,.28)}
        #pv-pedido-descuento-recibo-toggle .pv-toggle-thumb,
        #pv-fab-descuento-recibo-toggle .pv-toggle-thumb,
        #pv-pedido-entrega-inmediata-toggle .pv-toggle-thumb{transform:translateX(0)!important}
        #pv-pedido-descuento-recibo-toggle.active .pv-toggle-track,
        #pv-fab-descuento-recibo-toggle.active .pv-toggle-track,
        #pv-pedido-entrega-inmediata-toggle.active .pv-toggle-track{background:linear-gradient(135deg,#6F42DF 0%,#F5011F 100%);box-shadow:0 3px 9px rgba(111,66,223,.2)}
        #pv-pedido-descuento-recibo-toggle.active .pv-toggle-thumb,
        #pv-fab-descuento-recibo-toggle.active .pv-toggle-thumb,
        #pv-pedido-entrega-inmediata-toggle.active .pv-toggle-thumb{transform:translateX(19px)!important}
        #pv-pedido-descuento-recibo-toggle:focus-visible,
        #pv-fab-descuento-recibo-toggle:focus-visible,
        #pv-pedido-entrega-inmediata-toggle:focus-visible{outline:2px solid rgba(111,66,223,.5);outline-offset:3px;border-radius:999px}
        .pv-divisa-custom-form{margin-top:13px}
        .pv-divisa-custom-form[hidden]{display:none}
        .pv-divisa-custom-input-row{display:flex;align-items:center;border:1.5px solid var(--pv-primary);border-radius:11px;overflow:hidden;background:var(--pv-surface)}
        .pv-divisa-custom-input{flex:1;min-width:0;padding:9px 12px;border:none;background:transparent;font-size:13.5px;font-weight:700;color:var(--pv-ink)}
        .pv-divisa-custom-input:focus{outline:none}
        .pv-divisa-custom-moneda{padding:0 12px;align-self:stretch;display:flex;align-items:center;border-left:1.5px solid var(--pv-border);font-size:11px;font-weight:800;color:var(--pv-muted)}
        .pv-divisa-custom-hint{margin:7px 0 0;font-size:11.5px;color:var(--pv-muted)}
        .pv-divisa-custom-error{margin:7px 0 0;font-size:11.5px;color:#dc2626;font-weight:600}
        .pv-divisa-custom-btns{display:flex;gap:9px;margin-top:13px}
        .pv-divisa-custom-cancel,.pv-divisa-custom-apply{flex:1;padding:9px 12px;border-radius:11px;font-size:13px;font-weight:700;cursor:pointer;box-shadow:none}
        .pv-divisa-custom-cancel{border:1px solid var(--pv-border2);background:var(--pv-surface);color:var(--pv-ink)}
        .pv-divisa-custom-apply{border:1px solid var(--pv-primary);background:var(--pv-primary);color:#fff}

        /* Rediseño NOALYX del modal de tasa compartido por Nuevo Pedido y
           Fabricación. Se mantiene acotado para no alterar la topbar global. */
        :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal){align-items:center;padding:28px 16px;background:rgba(20,23,34,.42);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
        :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-divisa-menu-panel{max-width:560px;border:1px solid rgba(111,66,223,.12);border-radius:24px;background:#fff;box-shadow:0 28px 80px rgba(20,23,34,.28);overflow:hidden}
        :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-divisa-menu-header{align-items:center;padding:28px 32px 22px}
        :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-pedido-tasa-heading{display:flex;align-items:center;gap:16px;min-width:0}
        :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-pedido-tasa-icon{width:52px;height:52px;flex:0 0 52px;display:inline-flex;align-items:center;justify-content:center;border-radius:18px;background:linear-gradient(145deg,rgba(111,66,223,.15),rgba(197,36,167,.08));color:#6338e5}
        :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-pedido-tasa-icon svg{width:28px;height:28px}
        :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-divisa-menu-htitle{font-size:24px;line-height:1.1;letter-spacing:-.025em;color:#151b2b}
        :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-divisa-menu-hsub{margin-top:6px;font-size:11px;letter-spacing:.09em;color:#8b95aa}
        :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-divisa-refresh-btn{width:44px;height:44px;border:1.5px solid rgba(111,66,223,.28);border-radius:14px;background:#fff;color:#6f42df;transition:border-color .16s,background .16s,transform .16s}
        :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-divisa-refresh-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
        :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-divisa-refresh-btn:hover{border-color:#6f42df;background:rgba(111,66,223,.06);color:#6f42df;transform:translateY(-1px)}
        :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-pedido-tasa-resumen{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 32px 28px;padding:23px 25px;border:1px solid rgba(111,66,223,.14);border-radius:18px;background:linear-gradient(105deg,rgba(111,66,223,.075),rgba(245,1,31,.05))}
        :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-divisa-rate-hero{min-width:0;padding:0;font-size:25px;line-height:1.15;font-weight:850;letter-spacing:-.025em;text-transform:uppercase;color:#663bea;background:linear-gradient(90deg,#6039ef 0%,#9b31cf 53%,#e51d46 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
        :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-pedido-tasa-estado{flex:0 0 auto;padding:8px 13px;border:1px solid rgba(111,66,223,.18);border-radius:999px;background:rgba(255,255,255,.72);box-shadow:0 3px 12px rgba(111,66,223,.08);color:#673de0;font-size:10px;font-weight:850;letter-spacing:.045em}
        :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-divisa-col-headers{padding:0 49px 10px;border:0;background:transparent;font-size:10px;letter-spacing:.075em;color:#8993a8}
        :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) :is(#pv-pedido-tasa-lista,#pv-fab-tasa-lista){display:grid;gap:10px;padding:0 32px}
        :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-divisa-menu-row{min-height:72px;gap:14px;padding:12px 16px;border:1px solid #e7eaf1;border-radius:16px;background:#fff;box-shadow:0 2px 7px rgba(17,24,39,.025);transition:border-color .16s,background .16s,box-shadow .16s,transform .16s}
        :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-divisa-menu-row:hover{border-color:rgba(111,66,223,.28);background:rgba(111,66,223,.025);transform:translateY(-1px)}
        :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-divisa-menu-row.active{border:1px solid transparent;background:linear-gradient(90deg,#f8f5ff,#fff7f9) padding-box,linear-gradient(100deg,#6f42df,#b327b5 58%,#f5011f) border-box;box-shadow:0 8px 20px rgba(111,66,223,.11)}
        :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-divisa-avatar{width:43px;height:43px;flex-basis:43px;background:linear-gradient(145deg,#f3efff,#faf8ff);color:#6940df;font-size:12px}
        :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-divisa-row-codigo{font-size:16px;line-height:1.2;color:#151b2b}
        :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-divisa-row-nombre{margin-top:3px;font-size:12px;color:#8a94aa}
        :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-divisa-row-tasa{font-size:13px;font-weight:750;color:#7f899f}
        :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-divisa-row-tasa.active{color:#663bea}
        :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-divisa-base-badge{padding:6px 11px;background:#dff5ff;color:#0798df;font-size:10px;letter-spacing:.04em}
        :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-divisa-check{width:34px;height:34px;flex:0 0 34px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:linear-gradient(135deg,#6f42df,#9c2ed2 60%,#db1f5f);color:#fff;box-shadow:0 5px 12px rgba(111,66,223,.22)}
        :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-divisa-check svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
        :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-divisa-custom-section{margin:24px 32px 0;padding:22px 4px 26px;border-top:1px solid #e8eaf0}
        :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-pedido-tasa-custom-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
        :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-divisa-custom-label{font-size:15px;color:#171c2b}
        :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-pedido-tasa-custom-copy small{color:#8a94a8;font-size:11.5px;line-height:1.35}
        :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-toggle-track{width:55px;height:29px;background:linear-gradient(135deg,rgba(111,66,223,.17),rgba(245,1,31,.12));box-shadow:inset 0 0 0 1px rgba(111,66,223,.18)}
        :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-toggle-thumb{top:3px;left:3px;width:23px;height:23px;box-shadow:0 2px 5px rgba(20,23,34,.24)}
        :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-divisa-custom-toggle.active .pv-toggle-track{background:linear-gradient(135deg,#6f42df 0%,#a72ac3 55%,#f5011f 100%);box-shadow:0 4px 12px rgba(111,66,223,.2)}
        :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-divisa-custom-toggle.active .pv-toggle-thumb{transform:translateX(26px)}
        :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-divisa-custom-form{margin-top:16px}
        :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-divisa-custom-input-row{border-color:rgba(111,66,223,.65);border-radius:13px}
        :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) :is(.pv-divisa-custom-cancel,.pv-divisa-custom-apply){padding:11px 14px;border-radius:12px}
        :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-divisa-custom-apply{border-color:transparent;background:linear-gradient(100deg,#6f42df,#a72ac3 62%,#f5011f);box-shadow:0 6px 16px rgba(111,66,223,.18)}

        @media (max-width:640px){
            /* La barra de filtros pasa a dos columnas: buscar arriba a lo ancho
               y las píldoras repartidas debajo, en vez de una fila que se
               desborda a lo largo. */
            .pv-pos-topbar{gap:7px}
            .pv-pos-search-wrap{flex:1 1 100%}
            .pv-mini-select-wrap,.pv-mini-select-combo,.pv-ajuste-wrap{flex:1 1 calc(50% - 4px)}
            .pv-mini-select-wrap .pv-cs,.pv-combo-trigger.pv-mini-select-btn,.pv-ajuste-wrap,.pv-topbar-input{width:100%}
            /* "Personalizar vista" ya se convierte en botón redondo de ícono en
               móvil (regla #pv-pedido-form .pv-personalizar-btn, más abajo) —
               no se estira: comparte fila con el botón de vista. */
            .pv-divisa-menu-btn{flex:1 1 calc(50% - 4px);justify-content:center}
            .pv-pedido-row{padding:11px 12px;gap:10px}
            .pv-pedido-row-precio{font-size:13.5px}
            .pv-divisa-modal-overlay{padding:16px}
            :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal){padding:12px;align-items:center}
            :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-divisa-menu-panel{max-height:calc(100dvh - 24px);overflow-y:auto;border-radius:20px}
            :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-divisa-menu-header{padding:20px 18px 16px}
            :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-pedido-tasa-heading{gap:11px}
            :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-pedido-tasa-icon{width:42px;height:42px;flex-basis:42px;border-radius:14px}
            :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-pedido-tasa-icon svg{width:23px;height:23px}
            :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-divisa-menu-htitle{font-size:20px}
            :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-divisa-refresh-btn{width:39px;height:39px;border-radius:12px}
            :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-pedido-tasa-resumen{align-items:flex-start;flex-direction:column;margin:0 18px 20px;padding:17px 18px;gap:11px;border-radius:15px}
            :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-divisa-rate-hero{font-size:19px}
            :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-pedido-tasa-estado{padding:6px 10px;font-size:9px}
            :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-divisa-col-headers{padding:0 32px 8px}
            :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) :is(#pv-pedido-tasa-lista,#pv-fab-tasa-lista){gap:8px;padding:0 16px}
            :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-divisa-menu-row{min-height:66px;padding:10px 12px;gap:10px;border-radius:14px}
            :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-divisa-avatar{width:37px;height:37px;flex-basis:37px}
            :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-divisa-row-codigo{font-size:14px}
            :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-divisa-row-nombre{font-size:10.5px}
            :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-divisa-row-tasa{font-size:10.5px}
            :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-divisa-check{width:29px;height:29px;flex-basis:29px}
            :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-divisa-check svg{width:15px;height:15px}
            :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-divisa-custom-section{margin:19px 18px 0;padding:18px 2px 20px}
            :is(#pv-pedido-tasa-modal,#pv-fab-tasa-modal) .pv-pedido-tasa-custom-copy small{max-width:220px}
        }
        /* ================= FIN VISTA POS ================= */
        @media (max-width:640px){
            /* En teléfono la columna de resumen deja de ser sticky (ver regla
               de 1100px) y queda al final de una página larga — el botón de
               "Generar comprobante" terminaba abajo de todo el catálogo,
               había que bajar mucho para encontrarlo. Se fija abajo, arriba
               de la barra de navegación (.pvf-bottomnav, 64px de alto),
               siempre visible mientras se arma el pedido.
               NOTA: hoy Pedidos Y Fabricación traen los dos la clase
               .pv-pedido-carrito-flotante, así que a los dos les gana la
               regla de más abajo (position:sticky dentro del panel, 2 clases
               contra 1). Esta queda como base para cualquier pantalla que
               use .pv-pedido-acciones-fila sin el carrito flotante. */
            .pv-pedido-acciones-fila{position:fixed;left:0;right:0;bottom:72px;z-index:1700;background:var(--pv-surface);margin:0!important;padding:10px 14px calc(env(safe-area-inset-bottom,0px) + 10px);box-shadow:0 -4px 16px rgba(16,24,40,.08);border-top:1px solid var(--pv-border)}
            #pv-fab-form,#pv-pedido-form{padding-bottom:90px}
        }
        /* Carrito flotante de "Nuevo Pedido" (solo Pedidos por ahora — se
           reconoce por .pv-pedido-carrito-flotante, una clase EXTRA que
           Fabricación todavía no trae en su propia tarjeta de resumen, así
           que nada de esto le llega a Fabricación hasta que se le agregue
           ahí también). En escritorio, todo esto se queda oculto/inerte y
           .pv-pedido-col-resumen se ve exactamente igual que siempre. */
        .pv-pedido-sheet-handle,.pv-pedido-sheet-head,.pv-pedido-cart-fab,.pv-pedido-sheet-backdrop{display:none}
        /* Calendario propio de "Fecha" (Pedidos, móvil) — el selector nativo
           de fecha no se puede restylear con CSS en ningún navegador, así
           que en móvil se reemplaza visualmente por este calendario a la
           medida; el <input type="date"> real se queda oculto pero sigue
           siendo el que de verdad se envía en el formulario (el calendario
           solo le escribe el valor). En escritorio se queda oculto y el
           selector nativo de siempre sigue mandando. */
        .pv-fecha-combo{display:none}
        @media (max-width:640px){
            /* Carrito flotante como tarjeta CENTRADA (2026-07-15, revierte
               el panel-desde-abajo anterior) — mismo pedido que el de los
               modales normales: "que se despliegue en el centro de la
               pantalla". Con opacity+scale en vez de solo translateY: al
               estar centrado, la tarjeta cerrada queda física y
               exactamente encima del contenido de atrás (ya no fuera de
               pantalla como con el sheet que se deslizaba desde abajo), así
               que necesita opacity:0 + pointer-events:none mientras está
               cerrada para no bloquear los clics/scroll de la pantalla de
               atrás. El fondo oscuro (.pv-pedido-sheet-backdrop) se sigue
               usando igual, para cerrar tocando afuera. */
            .pv-pedido-col-resumen.pv-pedido-carrito-flotante{
                position:fixed;left:50%;top:50%;right:auto;bottom:auto;
                width:calc(100vw - 36px);max-width:420px;
                max-height:82vh;margin:0;
                border-radius:20px;
                box-shadow:0 20px 60px rgba(30,27,46,.35);
                z-index:1850;
                overflow-y:auto;
                opacity:0;pointer-events:none;
                transform:translate(-50%,-50%) scale(.96);
                transition:transform .22s ease,opacity .2s ease;
            }
            .pv-pedido-col-resumen.pv-pedido-carrito-flotante.pv-pedido-sheet-open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}
            /* El max-height:82vh + overflow-y:auto de la regla de arriba NO
               estaba llegando: la regla base de este archivo la escribe con
               un id ("#pv-pedido-form .pv-pedido-col-resumen", height:auto +
               max-height:none al bajar de 1100px) y un id le gana a dos
               clases sin importar el orden. Resultado en el teléfono: la
               tarjeta del carrito crecía con su contenido, y al estar
               centrada con position:fixed + translate(-50%,-50%) lo que
               sobraba quedaba FUERA de la pantalla por arriba y por abajo,
               sin forma de llegar a "Generar Comprobante" ni a los campos
               del final. Se repite el selector con el id para ganarle, en
               vez de recortar la regla base (que sigue siendo la correcta
               para el panel-columna de escritorio).
               overscroll-behavior:contain para que al llegar al final del
               panel el gesto no siga arrastrando la página de atrás. */
            #pv-pedido-form .pv-pedido-col-resumen.pv-pedido-carrito-flotante,
            #pv-fab-form .pv-pedido-col-resumen.pv-pedido-carrito-flotante{
                height:auto;max-height:82vh;
                overflow-y:auto;-webkit-overflow-scrolling:touch;
                overscroll-behavior:contain;
            }
            .pv-pedido-sheet-titulo-desktop{display:none}
            /* La manija de "deslizar" (.pv-pedido-sheet-handle) ya no aplica
               — era la seña visual de "arrastra para cerrar" del panel de
               abajo, no tiene sentido en una tarjeta centrada. Se deja
               apagada (hereda el display:none de la línea de arriba en
               este archivo) en vez de encenderla acá como antes. */
            .pv-pedido-sheet-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 6px;flex-shrink:0}
            .pv-pedido-sheet-close{width:26px;height:26px;border-radius:50%;background:var(--pv-bg);border:none;color:var(--pv-muted);font-size:15px;line-height:1;display:flex;align-items:center;justify-content:center}
            .pv-pedido-sheet-backdrop{display:block;position:fixed;inset:0;background:rgba(28,28,32,.32);-webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%);z-index:1840;opacity:0;pointer-events:none;transition:opacity .25s ease}
            .pv-pedido-sheet-backdrop.pv-pedido-sheet-open{opacity:1;pointer-events:auto}
            .pv-pedido-cart-fab{display:flex;align-items:center;justify-content:center;position:fixed;right:16px;bottom:88px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--pv-primary2),var(--pv-primary));color:#fff;border:none;box-shadow:0 10px 24px rgba(201,121,10,.4);z-index:1830;transform:scale(0);opacity:0;transition:transform .25s cubic-bezier(.34,1.56,.64,1),opacity .2s ease}
            .pv-pedido-cart-fab svg{width:23px;height:23px}
            .pv-pedido-cart-fab.pv-pedido-cart-fab-show{transform:scale(1);opacity:1}
            .pv-pedido-cart-badge{position:absolute;top:-3px;right:-3px;background:var(--pv-accent2);color:#fff;font-size:11px;line-height:1;font-weight:800;min-width:21px;height:21px;box-sizing:border-box;padding:0 4px;border-radius:999px;display:flex;align-items:center;justify-content:center;border:2px solid #fff;z-index:1;text-shadow:0 1px 1px rgba(0,0,0,.25)}
            /* Dentro del carrito flotante, el botón "Generar Comprobante"
               queda pegado abajo DEL PANEL (sticky en su propio scroll), no
               fijo a toda la pantalla como en la regla genérica de arriba —
               esta es más específica (2 clases) así que la gana sin tocar
               la regla que sigue usando Fabricación. */
            .pv-pedido-carrito-flotante .pv-pedido-acciones-fila{position:sticky;left:auto;right:auto;bottom:0;background:var(--pv-surface);padding:10px 0 calc(env(safe-area-inset-bottom,0px) + 10px);box-shadow:0 -4px 16px rgba(16,24,40,.08);border-top:1px solid var(--pv-border);margin:0!important}
            /* Los 90px de la regla de arriba eran para dejarle lugar a la
               barra de acciones FIJA a la pantalla — con el carrito flotante
               esa barra vive sticky adentro del panel, así que ese hueco al
               final del formulario ya no tiene sentido. Incluye #pv-fab-form:
               Fabricación también tiene el carrito flotante (le faltaba acá y
               le quedaba el hueco de 90px al fondo). */
            #pv-pedido-form,#pv-fab-form{padding-bottom:20px}
            /* Catálogo de "Nuevo Pedido" en 2 columnas fijas (no auto-fill) —
               con el padding anidado de página+tarjeta+columna, minmax(160px)
               casi nunca alcanzaba a caber 2 en el ancho real de un teléfono
               y todo terminaba en 1 sola columna, muy angosta y desperdiciada.
               Incluye #pv-fab-form: comparte la misma clase .pv-pedido-grid
               (le tocaba su turno, mismo problema exacto que Pedidos). */
            #pv-pedido-form .pv-pedido-grid,#pv-fab-form .pv-pedido-grid,
            #pv-pedido-form .pv-pedido-cards-grid{
                display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important
            }
            #pv-pedido-form .pv-pedido-cards-grid .pv-pedido-card{
                box-sizing:border-box!important;min-width:0!important;padding:10px!important;gap:6px!important;border-radius:12px!important
            }
            #pv-pedido-form .pv-pedido-card-top{
                gap:3px!important;font-size:8.5px!important;line-height:1.15!important
            }
            #pv-pedido-form .pv-pedido-card-main{
                display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:start!important;gap:5px!important;min-width:0!important
            }
            #pv-pedido-form .pv-pedido-card-nombre{
                min-height:29px!important;font-size:10.5px!important;line-height:1.35!important
            }
            #pv-pedido-form .pv-pedido-ver-foto-btn{
                width:31px!important;height:31px!important;min-width:31px!important;min-height:31px!important;padding:0!important;border-radius:8px!important
            }
            #pv-pedido-form .pv-pedido-ver-foto-btn svg{
                width:15px!important;height:15px!important;margin:0!important
            }
            #pv-pedido-form .pv-pedido-card-resumen{
                display:flex!important;align-items:center!important;justify-content:space-between!important;gap:4px!important;min-width:0!important;flex-wrap:wrap!important
            }
            #pv-pedido-form .pv-pedido-card-precio{
                min-width:0!important;font-size:11.5px!important;line-height:1.2!important;overflow-wrap:anywhere!important
            }
            #pv-pedido-form .pv-pedido-card-estado .pv-estado-badge,
            #pv-pedido-form .pv-pedido-card-resumen .pv-estado-badge{
                padding:3px 6px!important;font-size:8px!important
            }
            #pv-pedido-form .pv-pedido-card-btn{
                display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;width:100%!important;height:38px!important;min-height:38px!important;padding:0 6px!important;border-radius:8px!important;font-size:10px!important
            }
            #pv-pedido-form .pv-pedido-card-btn svg{
                width:14px!important;height:14px!important;margin:0!important
            }
            /* Tarjeta de campos de arriba (Canal/Ubicación/Fecha/Ajuste%):
               de 5 campos apilados uno por fila (cada uno ocupaba el ancho
               completo) a una grilla de 2 columnas — Canal+Ubicación en una
               fila, Fecha+Ajuste% en la siguiente. La Divisa se oculta acá
               (ver regla de abajo): ya existe el botón "Divisas" global del
               encabezado, que sincroniza este mismo selector por su cuenta
               (pv_moneda_switch_script(), rama "radioLocal") — no hace
               falta repetirlo aquí y competía por espacio. Scoped a
               #pv-pedido-form, mismo motivo que arriba. */
            #pv-pedido-form .pv-pedido-topbar{display:grid;grid-template-columns:1fr 1fr;gap:12px 22px;align-items:start;padding:14px}
            #pv-pedido-form .pv-pedido-topbar-campo{min-width:0;margin-bottom:0!important}
            #pv-pedido-form .pv-pedido-topbar-campo label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;margin:0 0 5px!important;font-weight:600!important;font-size:11px!important}
            #pv-pedido-form .pv-pedido-topbar-campo select,
            #pv-pedido-form .pv-pedido-topbar-campo input,
            #pv-pedido-form .pv-pedido-topbar-campo .pv-combo-trigger{width:100%;min-width:0;box-sizing:border-box;height:36px;padding:0 10px!important;font-size:12px;background:var(--pv-surface-2)!important;margin:0;max-width:100%}
            /* "Fecha" trae también la clase .pvf-row (formulario genérico),
               que le mete su propio padding/fondo por !important y lo
               desalineaba frente a "Ajuste %" (que no tiene esa clase) —
               los !important de arriba lo neutralizan para que ambos campos
               queden idénticos. */
            /* .pv-combo-trigger es un <button>, no un <select> — necesita su
               propio texto forzado a 1 sola línea (antes "Todos los
               almacenes" se partía en 2 y quedaba más alto que su vecino de
               al lado, desalineando la fila); ahora dice "Almacenes" y con
               esto no vuelve a pasar aunque el nombre de algún almacén sea
               largo. */
            #pv-pedido-form .pv-pedido-topbar-campo .pv-combo-trigger{display:flex;align-items:center}
            #pv-pedido-form .pv-pedido-topbar-campo .pv-combo-trigger-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}
            #pv-pedido-form .pv-pedido-divisa-campo,#pv-fab-form .pv-pedido-divisa-campo{display:none}
            /* Mismo criterio que Pedidos/Fabricación: la divisa general ya
               se elige arriba en el encabezado del panel, este selector
               repetido dentro del formulario de Cotización sobra en móvil.
               !important necesario: ".pv-campos-fila .pv-form-row/.pvf-row
               {display:flex}" (2 clases, sin media query) le gana a esta
               regla de 1 sola clase aunque esté en @media — mismo patrón de
               especificidad que ya se vio varias veces en esta sesión. */
            .pv-cot-divisa-campo{display:none!important}
            /* Pares de campos de Cotización (Fecha/Vencimiento, Razón
               social/RIF, Teléfono/Correo), en la misma fila en vez de
               apilados — el ancho mínimo compartido de .pv-campos-fila
               (220px por campo) no dejaba entrar los dos en un teléfono.
               Letra un poco más chica para que quepan cómodos. */
            .pv-cot-2col-fila{flex-wrap:nowrap!important;gap:8px!important}
            .pv-cot-2col-fila .pv-form-row,.pv-cot-2col-fila .pvf-row{flex:1 1 0!important;min-width:0!important}
            .pv-cot-2col-fila label{font-size:9.5px!important}
            .pv-cot-2col-fila input{font-size:11px!important;padding:9px 6px!important}
            /* Encabezado "Cotizaciones" del historial: ícono+título quedan
               centrados en su propia fila (antes pegados a la izquierda) y
               el ícono se achica; el buscador pasa a ocupar el ancho
               completo debajo, en vez de competir por espacio con el
               encabezado en la misma línea. */
            .pv-cot-hist-toolbar{flex-direction:column!important;align-items:stretch!important}
            .pv-cot-hist-toolbar .pv-card-header{justify-content:center;margin-bottom:12px!important}
            .pv-cot-hist-toolbar .pv-card-header-icono{width:26px;height:26px;border-radius:8px}
            .pv-cot-hist-toolbar .pv-card-header-icono svg{width:14px!important;height:14px!important}
            .pv-cot-hist-toolbar .pv-historial-buscar-input{width:100%;flex:1 1 100%;font-size:11px!important;font-weight:400!important}
            /* Formulario de filtros de Reportes: 4 campos + botón, todos
               hermanos sueltos dentro de un <form> flex (sin wrapper de
               fila como en Cotización). En vez de reestructurar el HTML,
               se le da a cada campo un flex-basis de ~50% para que el propio
               flex-wrap los acomode solo en 2+2 (Desde/Hasta, Incluir/
               Proveedor) y el botón, con basis 100%, cae siempre en su
               propia línea de abajo — 3 líneas en total sin tocar el DOM. */
            .pv-rep-filtros-form{gap:8px!important}
            .pv-rep-filtros-form>.pv-form-row,.pv-rep-filtros-form>.pvf-row{flex:1 1 calc(50% - 4px)!important;min-width:0!important}
            .pv-rep-filtros-form label{font-size:9.5px!important;margin-bottom:3px!important}
            .pv-rep-filtros-form input,.pv-rep-filtros-form select{font-size:11px!important;padding:9px 6px!important}
            .pv-rep-filtros-form>button{flex:1 1 100%!important;justify-content:center}
            /* "Incluir" y "Proveedor" son <select> nativos que
               pv_custom_select_script() convierte en el combo buscable
               .pv-cs — su panel desplegable hereda el ancho de la
               columna donde vive (".pv-form-row .pv-cs .pv-cs-panel
               {left:0;right:0}", sin !important). Como esas columnas
               ahora miden la mitad del formulario en móvil, el panel
               quedaba angosto y truncaba textos como "Compras y Pagos".
               Se libera de ese ancho heredado (la regla base no tiene
               !important, así que esto le gana sin igualar
               especificidad) y se ancla cada uno hacia el lado donde
               tiene espacio dentro de la tarjeta: Incluir (columna
               izquierda) crece hacia la derecha, Proveedor (columna
               derecha) crece hacia la izquierda — ninguno se sale de
               la pantalla. */
            .pv-rep-campo-incluir .pv-cs-panel{left:0!important;right:auto!important;width:max-content!important;min-width:min(230px,calc(100vw - 96px))!important;max-width:calc(100vw - 96px)!important}
            .pv-rep-campo-proveedor .pv-cs-panel{left:auto!important;right:0!important;width:max-content!important;min-width:min(230px,calc(100vw - 96px))!important;max-width:calc(100vw - 96px)!important}
            /* Franja de pastillas USD/COP/EUR/VES dentro de Cuentas por
               pagar/cobrar: es el MISMO selector de divisa que ya está en
               el encabezado (botón "Divisas" en móvil) — pv_moneda_switches_html()
               reusado en ambos lugares, cambia el mismo estado global. Se
               repite acá porque en escritorio hay espacio de sobra, pero en
               móvil es un control duplicado ocupando una fila entera. Se
               apaga solo la copia de ESTA página (selector con #pv-moneda-scope
               como padre directo) — la del encabezado, que vive en otro
               contenedor, no se toca. */
            #pv-moneda-scope > .pv-moneda-switches{display:none}
            /* El desplegable de "Ubicación" (.pv-combo-panel) traía un
               min-width:230px pensado para escritorio — en la grilla angosta
               de 2 columnas de móvil eso lo hacía más ancho que su propio
               botón y se salía de la tarjeta. Se ancla al borde DERECHO del
               botón (en vez de izquierdo) porque Ubicación es la columna de
               la derecha — así el panel crece hacia adentro de la tarjeta,
               nunca hacia afuera de la pantalla. */
            #pv-pedido-form .pv-combo-panel{left:auto;right:0;min-width:0;width:min(230px,calc(100vw - 64px))}
            /* Calendario propio de "Fecha" — ver comentario junto a
               .pv-fecha-combo{display:none} más arriba. */
            #pv-pedido-form #pv-pedido-fecha-nativo{display:none}
            #pv-pedido-form .pv-fecha-combo{display:block;position:relative}
            #pv-pedido-form .pv-fecha-trigger{width:100%}
            #pv-pedido-form .pv-fecha-panel{left:0;right:auto;min-width:0;width:min(272px,calc(100vw - 44px));padding:14px}
            #pv-pedido-form .pv-fecha-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
            #pv-pedido-form .pv-fecha-panel-mes{font-size:13px;font-weight:800;color:var(--pv-ink);text-transform:capitalize}
            #pv-pedido-form .pv-fecha-nav{width:28px;height:28px;border-radius:9px;border:1.5px solid var(--pv-border2);background:var(--pv-surface);color:var(--pv-muted3);font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer}
            #pv-pedido-form .pv-fecha-nav:hover{border-color:var(--pv-primary);color:var(--pv-primary-dark)}
            #pv-pedido-form .pv-fecha-panel-dow{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px}
            #pv-pedido-form .pv-fecha-panel-dow span{text-align:center;font-size:9.5px;font-weight:800;text-transform:uppercase;color:var(--pv-muted);letter-spacing:.02em}
            #pv-pedido-form .pv-fecha-panel-dias{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
            #pv-pedido-form .pv-fecha-dia{width:100%;aspect-ratio:1;border:none;background:none;border-radius:9px;font-size:12px;font-weight:600;color:var(--pv-ink);cursor:pointer;display:flex;align-items:center;justify-content:center}
            #pv-pedido-form .pv-fecha-dia:hover{background:var(--pv-bg)}
            #pv-pedido-form .pv-fecha-dia.pv-fecha-dia-otro{color:var(--pv-muted);opacity:.5}
            #pv-pedido-form .pv-fecha-dia.pv-fecha-dia-hoy{box-shadow:inset 0 0 0 1.5px var(--pv-accent2);color:var(--pv-accent2);font-weight:800}
            #pv-pedido-form .pv-fecha-dia.pv-fecha-dia-sel{background:linear-gradient(135deg,var(--pv-primary2),var(--pv-primary));color:#fff;font-weight:800;box-shadow:0 4px 10px rgba(201,121,10,.35)}
            #pv-pedido-form .pv-fecha-panel-foot{display:flex;justify-content:flex-end;margin-top:10px;padding-top:10px;border-top:1px solid var(--pv-border)}
            #pv-pedido-form .pv-fecha-hoy{border:none;background:none;color:var(--pv-primary-dark);font-size:12px;font-weight:800;cursor:pointer;padding:4px 6px}
            /* Fabricación (Nuevo Pedido) tiene su propia franja de arriba
               ("Nueva fabricación" + Fecha + Ajuste % + Divisa), más simple
               que la de Pedidos (fecha nativa, sin combo propio) — pero
               comparte la misma clase .pv-pedido-topbar-campo, y "Fecha"
               trae un margin-left:auto puesto en línea (pensado para
               escritorio: empuja Fecha/Ajuste/Divisa a la derecha del botón
               en la misma fila). Todo en una sola fila en vez de apilado:
               el botón se reduce a un círculo con solo el ícono (el texto
               "Nueva fabricación" se esconde), y Fecha/Ajuste % (Divisa ya
               está oculta, ver arriba) se reparten el resto del ancho por
               partes iguales — así entran los 3 sin que "Fecha" salte a su
               propia línea por el margin-left:auto. */
            #pv-fab-form .pv-pedido-topbar{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:flex-end;gap:14px;padding:14px}
            #pv-fab-form .pv-pedido-topbar-campo{margin-left:0!important;flex:1 1 0;min-width:0;width:auto}
            #pv-fab-form .pv-pedido-topbar-campo select,
            #pv-fab-form .pv-pedido-topbar-campo input{width:100%;box-sizing:border-box;font-size:12px!important;padding:8px 8px!important}
            /* La fecha nativa (día/mes/año + ícono de calendario) es lo que
               más sufre con el ancho angosto de la mitad de la fila — con el
               tamaño de letra normal, el año quedaba pegado o tapado por el
               ícono. */
            #pv-fab-form input[type="date"]{font-size:11.5px!important}
            #pv-fab-form .pv-fab-nueva-btn{width:38px;height:38px;padding:0;border-radius:50%;justify-content:center;flex-shrink:0}
            #pv-fab-form .pv-fab-nueva-texto{display:none}
            /* Buscador + "Personalizar vista" en la misma fila — la tuerca
               queda AL LADO del buscador (no encima/adentro), como un botón
               circular chico aparte: ~90% buscador, ~10% tuerca. */
            #pv-pedido-form .pv-pedido-search-row{flex-wrap:nowrap;align-items:center}
            #pv-pedido-form .pv-historial-buscar-input{flex:1 1 auto;width:auto;min-width:0}
            #pv-pedido-form .pv-personalizar-wrap{position:relative;flex-shrink:0}
            #pv-pedido-form .pv-personalizar-btn{position:relative;width:34px;height:34px;padding:0;border:1.5px solid var(--pv-border2);background:var(--pv-surface);border-radius:50%;justify-content:center;gap:0}
            #pv-pedido-form .pv-personalizar-btn:hover,
            #pv-pedido-form .pv-personalizar-btn.open{border-color:var(--pv-primary);background:var(--pv-bg)}
            #pv-pedido-form .pv-personalizar-icono{font-size:14px}
            #pv-pedido-form .pv-personalizar-texto{display:none}
            #pv-pedido-form .pv-personalizar-badge{position:absolute;top:-6px;right:-6px;min-width:19px;height:19px;box-sizing:border-box;font-size:10.5px;line-height:1;padding:0 4px;border:2px solid #fff;text-shadow:0 1px 1px rgba(0,0,0,.25)}
            /* left:0 (hacia la derecha) igual que en escritorio — acá el botón
               queda casi pegado al borde derecho de la pantalla, así que el
               clamp del JS es el que de verdad lo mantiene visible. */
            #pv-pedido-form .pv-personalizar-panel{left:0;right:auto;min-width:0;width:min(220px,calc(100vw - 44px))}
            /* Misma caja blanca de fondo que ya quitamos en Inventario
               (Productos/Movimientos/Servicios/Pedidos-historial): el
               catálogo de "Nuevo Pedido" ya es buscador + chips + tarjetas
               de producto, no necesita otra tarjeta blanca por detrás.
               Scoped a #pv-pedido-form (no toca Fabricación, que comparte
               esta misma clase .pv-pedido-col-catalogo, hasta que le
               toque su turno). */
            /* overflow:visible!important: la versión de escritorio recorta
               este contenedor (overflow:hidden, más abajo en este archivo)
               para que la grilla de productos no se salga del ancho de la
               tarjeta — pero en móvil eso también le corta el pedacito del
               badge de "Personalizar vista" que a propósito sobresale del
               botón redondo (position:absolute con offset negativo, ver
               .pv-personalizar-badge más abajo). Sin esto, el número del
               badge queda tapado por el borde circular del botón. */
            #pv-pedido-form .pv-pedido-col-catalogo{background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important;overflow:visible!important}
        }
        .pv-pedido-categoria-pills{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding-bottom:4px;-webkit-overflow-scrolling:touch;min-width:0}
        .pv-pedido-categoria-pills .pv-chip{cursor:pointer;border:none;flex-shrink:0}
        .pv-pedido-seccion-titulo{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--pv-muted);font-weight:700;margin:18px 0 8px}
        .pv-pedido-col-catalogo{min-width:0;overflow:hidden}
        .pv-pedido-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;min-width:0}
        .pv-pedido-card{border:1px solid var(--pv-border);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:6px;transition:box-shadow .12s,border-color .12s;background:var(--pv-surface);min-width:0}
        .pv-pedido-card:hover{border-color:var(--pv-primary);box-shadow:0 4px 14px rgba(var(--pv-primary-rgb),.1)}
        .pv-pedido-card-top{display:flex;justify-content:space-between;font-size:10.5px;color:var(--pv-muted);font-weight:700;gap:4px;min-width:0}
        .pv-pedido-card-top span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
        .pv-pedido-card-top span:last-child{white-space:nowrap;flex-shrink:0}
        .pv-pedido-card-nombre{font-size:13px;font-weight:700;color:var(--pv-ink);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:34px;overflow-wrap:break-word;word-break:break-word}
        .pv-pedido-card-estado{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0}
        .pv-pedido-card-estado .pv-estado-badge{padding:3px 8px;font-size:10px}
        .pv-pedido-ver-foto-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:1px solid var(--pv-border);border-radius:7px;background:var(--pv-surface-2);color:var(--pv-muted);cursor:pointer;flex-shrink:0}
        .pv-pedido-ver-foto-btn:hover{border-color:var(--pv-primary);color:var(--pv-primary)}
        .pv-pedido-card-precio{font-size:15px;font-weight:800;color:var(--pv-primary-dark);margin-top:auto;overflow-wrap:break-word;word-break:break-word}
        .pv-pedido-card-btn{padding:9px 10px;font-size:12.5px;border-radius:8px;box-shadow:none;width:100%;box-sizing:border-box}
        .pv-chip-servicio{background:linear-gradient(135deg,#7c3aed,#a78bfa);color:#fff;font-size:8px;padding:2px 6px}
        .pv-combo{position:relative}
        .pv-combo-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--pv-surface);border:1.5px solid var(--pv-border);border-radius:12px;padding:9px 13px;font-size:13px;font-weight:600;color:var(--pv-ink);font-family:inherit;cursor:pointer;min-width:170px;transition:border-color .12s,box-shadow .12s}
        .pv-combo-trigger:hover{border-color:var(--pv-primary)}
        .pv-combo-trigger.open{border-color:var(--pv-primary);box-shadow:0 0 0 4px rgba(var(--pv-primary-rgb),.12)}
        .pv-combo-trigger-chevron{color:var(--pv-muted);font-size:11px;transition:transform .15s}
        .pv-combo-trigger.open .pv-combo-trigger-chevron{transform:rotate(180deg)}
        .pv-combo-panel{position:absolute;top:calc(100% + 6px);left:0;min-width:230px;background:var(--pv-surface);border:1px solid var(--pv-border);border-radius:14px;box-shadow:0 10px 30px rgba(30,27,46,.15);padding:8px;z-index:60}
        .pv-combo-panel-izq{left:auto;right:0}
        .pv-combo-panel[hidden]{display:none}
        .pv-combo-buscar{width:100%;box-sizing:border-box;padding:8px 12px;border:1.5px solid var(--pv-border);border-radius:10px;font-size:12.5px;font-family:inherit;margin-bottom:6px}
        .pv-combo-buscar:focus{outline:none;border-color:var(--pv-primary)}
        .pv-combo-lista{display:flex;flex-direction:column;gap:2px;max-height:220px;overflow-y:auto}
        .pv-combo-opcion{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;cursor:pointer;font-size:12.5px;font-weight:600;color:var(--pv-ink)}
        .pv-combo-opcion:hover{background:var(--pv-bg)}
        .pv-combo-opcion.active{background:var(--pv-bg);color:var(--pv-primary-dark)}
        .pv-combo-avatar{width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,var(--pv-primary),var(--pv-primary2));color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;flex-shrink:0}
        .pv-combo-check{margin-left:auto;color:var(--pv-primary);font-weight:800;display:none}
        .pv-combo-opcion.active .pv-combo-check{display:inline}
        /* Historial de Fabricación — filtro de estados con el lenguaje
           visual Noalyx (violeta, menú tipo card y selección destacada). */
        #pv-fab-hist-filtro-estado-form{position:relative;flex:0 0 auto}
        #pv-combo-estado-fab{position:relative;min-width:210px}
        html body .pvf-shell #pv-combo-estado-fab .pv-combo-trigger{
            box-sizing:border-box;width:100%;min-width:210px;height:42px;min-height:42px;padding:0 13px;
            border:1px solid #6844DF!important;border-radius:11px;background:#fff!important;color:#172033!important;
            gap:10px;box-shadow:none!important;
        }
        html body .pvf-shell #pv-combo-estado-fab .pv-combo-trigger::before{
            content:"";display:block;flex:0 0 18px;width:18px;height:18px;
            background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%236844DF%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 5h16l-6.2 7.1V18l-3.6 1.8v-7.7L4 5Z%22/%3E%3C/svg%3E") center/18px 18px no-repeat;
        }
        #pv-combo-estado-fab .pv-combo-trigger-label{flex:1;min-width:0;overflow:hidden;color:#172033;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
        #pv-combo-estado-fab .pv-combo-trigger-chevron{display:inline-flex;align-items:center;justify-content:center;flex:0 0 18px;width:18px;height:18px;margin-left:auto;color:#6844DF!important;font-size:13px;line-height:1}
        html body .pvf-shell #pv-combo-estado-fab .pv-combo-trigger:hover,
        html body .pvf-shell #pv-combo-estado-fab .pv-combo-trigger.open{border-color:#6844DF!important;background:#FCFAFF!important;box-shadow:0 0 0 3px rgba(104,68,223,.10)!important}
        html body .pvf-shell #pv-combo-estado-fab .pv-combo-panel{
            top:calc(100% + 8px);right:0;left:auto;box-sizing:border-box;width:min(280px,calc(100vw - 32px));min-width:260px;
            padding:8px;border:1px solid #E3DBFC!important;border-radius:14px;background:#fff!important;
            box-shadow:0 15px 36px rgba(55,38,105,.16)!important;z-index:100200;
        }
        #pv-combo-estado-fab .pv-combo-buscar{box-sizing:border-box;width:100%;height:40px;margin:0 0 6px;padding:0 12px;border:1px solid #D8CDF8!important;border-radius:10px;background:#fff!important;color:#172033!important;font-size:12.5px;box-shadow:none!important}
        #pv-combo-estado-fab .pv-combo-buscar:focus{outline:none;border-color:#6844DF!important;box-shadow:0 0 0 3px rgba(104,68,223,.09)!important}
        #pv-combo-estado-fab .pv-combo-lista{display:grid;gap:2px;max-height:min(330px,calc(100vh - 180px));overflow-y:auto;padding:0 2px 0 0;scrollbar-width:thin;scrollbar-color:#B9AECF transparent}
        #pv-combo-estado-fab .pv-combo-opcion{box-sizing:border-box;min-height:42px;padding:8px 10px;border:1px solid transparent;border-radius:10px;color:#202A3D;font-size:12.5px;font-weight:650}
        #pv-combo-estado-fab .pv-combo-opcion:hover{border-color:#E8E1FC;background:#F8F5FF;color:#6844DF}
        #pv-combo-estado-fab .pv-combo-opcion.active{border-color:transparent;background:#F1EBFF;color:#6844DF;font-weight:750}
        #pv-combo-estado-fab .pv-combo-avatar{width:25px;height:25px;border:1px solid #DDD2FF;background:#F1EBFF;color:#6844DF;font-size:10px;box-shadow:none}
        #pv-combo-estado-fab .pv-combo-opcion.active .pv-combo-avatar{border-color:#6844DF;background:#6844DF;color:#fff}
        #pv-combo-estado-fab .pv-combo-check{display:none;margin-left:auto;color:#6844DF;font-size:17px;font-weight:900;line-height:1}
        #pv-combo-estado-fab .pv-combo-opcion.active .pv-combo-check{display:inline-flex;align-items:center;justify-content:center}
        @media(max-width:620px){#pv-combo-estado-fab{min-width:164px}html body .pvf-shell #pv-combo-estado-fab .pv-combo-trigger{min-width:164px}html body .pvf-shell #pv-combo-estado-fab .pv-combo-panel{min-width:min(260px,calc(100vw - 32px))}}
        .pv-personalizar-wrap{position:relative}
        .pv-personalizar-btn{display:flex;align-items:center;gap:7px;background:var(--pv-surface);border:1.5px solid var(--pv-border);border-radius:12px;padding:9px 14px;font-size:12.5px;font-weight:600;color:var(--pv-ink);font-family:inherit;cursor:pointer;white-space:nowrap;transition:border-color .12s}
        .pv-personalizar-btn:hover{border-color:var(--pv-primary)}
        .pv-personalizar-icono{font-size:13px}
        .pv-personalizar-badge{background:var(--pv-primary);color:#fff;border-radius:999px;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:800;padding:0 5px}
        /* Se despliega hacia la DERECHA (left:0 = borde izquierdo pegado al
           del botón). Antes era right:0, que lo abría hacia la izquierda y le
           tapaba el catálogo. El JS que lo abre (pv_pedidos_script(), busca
           "pv-pers-clamp") le corrige el desborde si al abrirse hacia la
           derecha se saldría de la pantalla — no se puede resolver solo con
           CSS porque depende de en qué X quedó el botón. */
        .pv-personalizar-panel{position:absolute;top:calc(100% + 6px);left:0;right:auto;min-width:220px;background:var(--pv-surface);border:1px solid var(--pv-border);border-radius:14px;box-shadow:0 10px 30px rgba(30,27,46,.15);padding:10px 14px;z-index:60}
        .pv-personalizar-panel[hidden]{display:none}
        .pv-personalizar-fila{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--pv-border);font-size:12.5px;font-weight:600;color:var(--pv-ink);cursor:pointer}
        .pv-personalizar-fila:last-child{border-bottom:none}
        .pv-personalizar-fila input[type="checkbox"]{width:17px;height:17px;accent-color:var(--pv-primary);cursor:pointer}
        :is(#pv-pedido-personalizar,#pv-fab-personalizar) .pv-personalizar-fila input[type="checkbox"]{-webkit-appearance:none!important;appearance:none!important;box-sizing:border-box!important;flex:0 0 18px!important;width:18px!important;height:18px!important;margin:0!important;border:1.5px solid #98A2B3!important;border-radius:3px!important;background:transparent!important;box-shadow:none!important;cursor:pointer}
        :is(#pv-pedido-personalizar,#pv-fab-personalizar) .pv-personalizar-fila input[type="checkbox"]:checked{border-color:#05A66A!important;background-color:transparent!important;background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 20 20%22%3E%3Cpath d=%22m4.5 10.2 3.4 3.4 7.6-7.5%22 fill=%22none%22 stroke=%22%2305A66A%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:15px 15px!important}
        :is(#pv-pedido-personalizar,#pv-fab-personalizar) .pv-personalizar-fila input[type="checkbox"]:focus-visible{outline:none!important;box-shadow:0 0 0 3px rgba(5,166,106,.12)!important}
        .pvf-items-row td{padding:5px 5px}
        .pv-detalle-toggle{cursor:pointer;color:var(--pv-primary);font-weight:600;font-size:11px;text-decoration:underline;background:none;border:none;padding:0}
        .pv-detalle-box{background:var(--pv-bg);border:1px solid var(--pv-border);border-radius:13px;padding:11px 14px;margin:5px 0 12px}
        /* El atributo HTML "hidden" es la única fuente de verdad para mostrar
           u ocultar esto (ver pv_cuentas_pendientes_script() en
           08-modulo-cuentas.php) — antes esta clase tenía "display:none" fijo
           sin importar el atributo, así que quitar "hidden" por JS no volvía
           a mostrar nada: esta regla explícita es la que de verdad manda. */
        .pv-detalle-box[hidden]{display:none!important}
        .pv-detalle-box.open{display:block}
        .pv-detalle-flecha{cursor:pointer;background:none;border:none;padding:0;font-size:18px;line-height:1;color:var(--pv-primary);transition:transform .15s}
        .pv-detalle-flecha.open{transform:rotate(90deg)}
        .pv-detalle-fila-compacta{font-size:7px;font-weight:700;text-transform:lowercase;padding:7px 6px}
        .pv-detalle-fila-compacta strong{font-weight:700}
        .pv-btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:4px;background:var(--pv-surface);border:1.5px solid;border-radius:999px;padding:4px 10px;font-size:9.5px;font-weight:700;cursor:pointer;white-space:nowrap;text-decoration:none;box-sizing:border-box}
        .pv-btn-outline svg{width:12px;height:12px}
        .pv-detalle-fila-compacta .pv-historial-acciones{display:flex;align-items:center;justify-content:center;gap:4px;min-width:0}
        .pv-detalle-fila-compacta > div{min-width:0;overflow-wrap:anywhere;word-break:break-word;text-align:center}
        .pv-detalle-box .pv-historial-header{text-align:center}
        .pv-btn-outline-verde{border-color:#16a34a;color:#16a34a}
        .pv-btn-outline-verde:hover{background:#f0fdf4;color:#16a34a}
        .pv-btn-outline-azul{border-color:#2563eb;color:#2563eb}
        .pv-btn-outline-azul:hover{background:#eff6ff;color:#2563eb}
        .pv-btn-outline-rojo{border-color:#dc2626;color:#dc2626}
        .pv-btn-outline-rojo:hover{background:#fef2f2;color:#dc2626}
        .pv-btn-outline-accent{background:linear-gradient(135deg,var(--pv-accent),var(--pv-accent2));border-color:transparent;color:#fff}
        .pv-btn-outline-accent:hover{background:linear-gradient(135deg,var(--pv-accent),var(--pv-accent2));color:#fff}
        .pv-acciones-kebab{background:none;border:none;font-size:18px;line-height:1;cursor:pointer;color:var(--pv-muted);padding:4px 8px}
        /* position:fixed (no absolute): varias tablas que usan este menú
           (Inventario, .rv-inv-table) tienen overflow:hidden para las
           esquinas redondeadas, y eso recortaba el menú apenas se abría en
           una de las últimas filas — quedaba cortado por el borde de la
           tarjeta. "fixed" ubica el menú relativo a la ventana, no a ningún
           contenedor con overflow, así que nunca lo recorta nadie — top/left
           se calculan por JS al abrirlo (ver el toggle en
           pv_cuentas_pendientes_script(), 08-modulo-cuentas.php) porque
           "fixed" ya no seguiría solo la posición del botón como hacía
           "absolute;top:100%;right:0". */
        .pv-acciones-menu{position:fixed;background:var(--pv-surface);border:1px solid var(--pv-border);border-radius:13px;box-shadow:0 10px 30px rgba(30,27,46,.18);padding:10px;display:flex;flex-direction:column;gap:8px;z-index:99999;min-width:150px}
        .pv-acciones-menu[hidden]{display:none}
        .pv-ficha-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:9px;margin-bottom:5px}
        .pv-comprobante-thumb{max-height:44px;max-width:64px;border:1px solid var(--pv-border);border-radius:7px;object-fit:cover}
        /* Mensajes Noalyx: bloque de estado para páginas restringidas y
           notificaciones flotantes coherentes con el sistema visual. */
        .pv-state-message-wrap{box-sizing:border-box;display:grid;place-items:center;width:100%;min-height:clamp(390px,calc(100vh - 245px),610px);padding:34px 18px}
        .pv-state-message{position:relative;isolation:isolate;box-sizing:border-box;width:min(100%,720px);overflow:hidden;border:1px solid rgba(121,85,230,.18);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(249,247,255,.96));box-shadow:0 24px 60px rgba(42,34,84,.12),0 2px 8px rgba(42,34,84,.05)}
        .pv-state-message:before{content:"";position:absolute;z-index:2;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--pv-primary) 0%,var(--pv-secondary2) 52%,var(--pv-accent) 100%)}
        .pv-state-message:after{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 12% 5%,rgba(8,166,236,.1),transparent 33%),radial-gradient(circle at 91% 94%,rgba(245,1,31,.075),transparent 29%)}
        .pv-state-orb{position:absolute;z-index:-1;border-radius:50%;filter:blur(1px);pointer-events:none}
        .pv-state-orb-a{top:-82px;right:-62px;width:205px;height:205px;background:linear-gradient(145deg,rgba(104,68,223,.12),rgba(8,166,236,.04))}
        .pv-state-orb-b{bottom:-70px;left:-45px;width:155px;height:155px;background:linear-gradient(145deg,rgba(245,1,31,.07),rgba(128,85,232,.06))}
        .pv-state-message-content{position:relative;z-index:3;display:flex;box-sizing:border-box;align-items:center;flex-direction:column;padding:48px 56px 30px;text-align:center}
        .pv-state-message-icon{position:relative;display:grid;place-items:center;width:82px;height:82px;margin-bottom:20px;border:7px solid #fff;border-radius:25px;background:linear-gradient(145deg,var(--pv-primary),var(--pv-secondary2) 58%,var(--pv-accent));color:#fff;box-shadow:0 15px 32px rgba(104,68,223,.27),0 0 0 1px rgba(104,68,223,.08)}
        .pv-state-message-icon:after{content:"";position:absolute;inset:-13px;border:1px solid rgba(104,68,223,.13);border-radius:31px}
        .pv-state-message-icon svg{width:36px!important;height:36px!important;margin:0!important;fill:none!important;stroke:currentColor!important}
        .pv-state-message-eyebrow{display:inline-flex;align-items:center;gap:7px;min-height:27px;padding:0 11px;border:1px solid #ded6fb;border-radius:999px;background:#f5f2ff;color:#6844df;font-size:10px;font-weight:850;letter-spacing:.075em;text-transform:uppercase}
        .pv-state-message-eyebrow i{width:7px;height:7px;border-radius:50%;background:#12b981;box-shadow:0 0 0 4px rgba(18,185,129,.1)}
        .pv-state-message h2{margin:15px 0 8px!important;color:#182033!important;font-size:clamp(24px,3vw,31px)!important;font-weight:850!important;line-height:1.12!important;letter-spacing:-.035em!important}
        .pv-state-message-lead{max-width:555px;margin:0!important;color:#3f4960!important;font-size:14.5px!important;font-weight:700!important;line-height:1.55!important}
        .pv-state-message-detail{max-width:560px;margin:8px 0 0!important;color:#8993a8!important;font-size:12.5px!important;font-weight:550!important;line-height:1.6!important}
        .pv-state-message-actions{display:flex;justify-content:center;margin-top:23px}
        .pv-state-message-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;box-sizing:border-box!important;min-height:46px!important;padding:0 19px!important;border:0!important;border-radius:13px!important;background:linear-gradient(110deg,var(--pv-secondary2),#8a3fe1 56%,var(--pv-accent))!important;color:#fff!important;font-size:12px!important;font-weight:800!important;line-height:1!important;text-decoration:none!important;box-shadow:0 11px 25px rgba(104,68,223,.23)!important;transition:transform .16s ease,box-shadow .16s ease!important}
        .pv-state-message-button:hover{color:#fff!important;transform:translateY(-2px);box-shadow:0 15px 30px rgba(104,68,223,.3)!important}
        .pv-state-message-button svg{width:17px!important;height:17px!important;margin:0!important;fill:none!important;stroke:currentColor!important}
        .pv-state-message-foot{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:29px;padding-top:19px;border-top:1px solid #ece8f7;color:#919bad;font-size:10.5px;font-weight:650}
        .pv-state-message-foot span{width:7px;height:7px;border-radius:50%;background:#12b981;box-shadow:0 0 0 4px rgba(18,185,129,.1)}
        .pv-state-message-error .pv-state-message-icon{background:linear-gradient(145deg,#ff596a,#dc2368 56%,#7d43e2)}
        .pv-state-message-info .pv-state-message-icon{background:linear-gradient(145deg,#08a6ec,#3478e5 48%,#6844df)}
        .pv-state-message-exito .pv-state-message-icon{background:linear-gradient(145deg,#19c18c,#08a6a7 50%,#3478e5)}
        .pv-notice{position:fixed;top:18px;right:18px;left:auto;z-index:99999;box-sizing:border-box;width:min(410px,calc(100vw - 36px));max-width:410px;min-height:66px;margin:0;padding:15px 18px 15px 61px;overflow:hidden;border:1px solid #e4e0f1;border-radius:18px;background:rgba(255,255,255,.97);color:#273047;font-size:12px;font-weight:750;line-height:1.45;box-shadow:0 18px 42px rgba(31,25,69,.18),0 2px 8px rgba(31,25,69,.06);backdrop-filter:blur(16px);animation:pv-toast-in .3s cubic-bezier(.22,.8,.32,1)}
        .pv-notice:before{content:"!";position:absolute;top:13px;left:15px;display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:linear-gradient(145deg,#ff596a,#d92777 58%,#7546e8);color:#fff;font-size:17px;font-weight:900;box-shadow:0 8px 17px rgba(217,39,119,.2)}
        .pv-notice:after{content:"";position:absolute;right:0;bottom:0;left:0;height:3px;background:linear-gradient(90deg,var(--pv-primary),var(--pv-secondary2),var(--pv-accent));transform-origin:left;animation:pv-toast-life 5.8s linear both}
        .pv-notice + .pv-notice{margin-top:76px}
        .pv-notice-ok{border-color:#ccefe3;background:rgba(250,255,253,.98);color:#166149}
        .pv-notice-ok:before{content:"✓";background:linear-gradient(145deg,#17c890,#06a778 55%,#1689b9);box-shadow:0 8px 17px rgba(6,167,120,.2)}
        .pv-notice-error{border-color:#f4d7df;background:rgba(255,251,252,.98);color:#7d2940}
        @keyframes pv-toast-in{from{opacity:0;transform:translate3d(18px,-8px,0) scale(.96)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
        @keyframes pv-toast-life{from{transform:scaleX(1)}to{transform:scaleX(0)}}
        @media(max-width:640px){
            .pv-state-message-wrap{min-height:430px;padding:22px 10px}
            .pv-state-message{border-radius:22px}
            .pv-state-message-content{padding:40px 22px 24px}
            .pv-state-message-icon{width:70px;height:70px;border-radius:21px}
            .pv-state-message-icon svg{width:31px!important;height:31px!important}
            .pv-state-message h2{font-size:23px!important}
            .pv-state-message-lead{font-size:13.5px!important}
            .pv-state-message-button{width:100%!important}
            .pv-state-message-foot{align-items:flex-start;text-align:left}
            .pv-notice{top:12px;right:12px;width:calc(100vw - 24px);max-width:none}
        }
        .pv-tab-radio{display:none}
        .pv-tabs-nav{display:flex;gap:7px;margin-bottom:16px;flex-wrap:wrap}
        .pv-tab-label{padding:9px 18px;border-radius:999px;background:var(--pv-bg);color:var(--pv-ink);font-weight:700;font-size:12px;cursor:pointer;transition:background .12s,color .12s;user-select:none}
        .pv-tab-label:hover{background:#e2edfb}
        .pv-tab-panel{display:none}
        #pv-tab-empresa:checked ~ .pv-tabs-nav label[for="pv-tab-empresa"],
        #pv-tab-usuarios:checked ~ .pv-tabs-nav label[for="pv-tab-usuarios"],
        #pv-tab-gastos-variables:checked ~ .pv-tabs-nav label[for="pv-tab-gastos-variables"],
        #pv-tab-gastos-fijos:checked ~ .pv-tabs-nav label[for="pv-tab-gastos-fijos"]{background:linear-gradient(135deg,var(--pv-primary),var(--pv-primary2));color:#fff}
        #pv-tab-empresa:checked ~ .pv-tab-panel-empresa{display:block}
        #pv-tab-usuarios:checked ~ .pv-tab-panel-usuarios{display:block}
        #pv-tab-gastos-variables:checked ~ .pv-tab-panel-gastos-variables{display:block}
        #pv-tab-gastos-fijos:checked ~ .pv-tab-panel-gastos-fijos{display:block}
        .pv-split-layout{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap}
        .pv-split-side{flex:1 1 380px;max-width:420px}
        .pv-split-main{flex:3 1 480px;min-width:0}
        @media (max-width:860px){ .pv-split-side{max-width:100%} }
        .pv-campos-fila{display:flex;gap:14px;flex-wrap:wrap}
        .pv-campo-full input,.pv-campo-full select,.pv-campo-full textarea{max-width:none!important}
        .pv-campos-fila .pv-form-row,.pv-campos-fila .pvf-row{flex:1 1 220px;min-width:0;display:flex;flex-direction:column}
        .pv-campos-fila .pv-form-row select,.pv-campos-fila .pv-form-row input,.pv-campos-fila .pvf-row select,.pv-campos-fila .pvf-row input{min-width:0;max-width:100%}
        .pv-campos-fila .pv-form-row label,.pv-campos-fila .pvf-row label{min-height:31px;display:flex;align-items:flex-end}
        .pv-form-seccion{background:var(--pv-bg);border:1px solid var(--pv-border);border-radius:13px;padding:16px;margin-bottom:18px}
        .pv-form-seccion .pv-form-row input,.pv-form-seccion .pv-form-row select,.pv-form-seccion .pvf-row input,.pv-form-seccion .pvf-row select{background:var(--pv-surface)}
        .pv-form-seccion .pv-chip{background:var(--pv-surface);border:1.5px solid var(--pv-border)}
        .pv-form-seccion .pv-chip.active{border-color:transparent}
        .pv-registro-layout{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap}
        .pv-registro-main{flex:3 1 480px;min-width:0}
        .pv-resumen-box{flex:1 1 260px;max-width:300px;background:var(--pv-bg);border:1px solid var(--pv-border);border-radius:13px;padding:16px;position:sticky;top:18px}
        .pv-resumen-total{display:flex;flex-direction:column;gap:4px;background:var(--pv-surface);border:1px solid var(--pv-border);border-radius:11px;padding:13px}
        .pv-resumen-total span{font-size:10.5px;color:var(--pv-muted);text-transform:uppercase;letter-spacing:.03em;font-weight:700}
        .pv-resumen-total strong{font-size:21px;color:var(--pv-primary-dark)}
        @media (max-width:860px){ .pv-resumen-box{max-width:100%;position:static} }
        .pv-cant-stepper{display:flex;align-items:center;gap:4px}
        .pv-cant-btn{width:24px;height:24px;border-radius:7px;border:1px solid var(--pv-border);background:var(--pv-surface);color:var(--pv-ink);font-weight:700;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:13px;line-height:1;padding:0}
        .pv-cant-btn:hover{background:var(--pv-bg)}
        .pv-items-card{margin-top:9px}
        .pv-items-head{display:grid;grid-template-columns:2.2fr 150px 170px 130px 44px;gap:14px;padding:0 4px 9px;font-size:9.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--pv-muted);font-weight:700;border-bottom:2px solid var(--pv-border)}
        .pv-items-card .pv-items-row{display:grid;grid-template-columns:2.2fr 150px 170px 130px 44px;gap:14px;align-items:center;padding:13px 4px;border-bottom:1px solid var(--pv-border)}
        /* Sin esto, un <select> con una opción de nombre largo (ej. un
           producto de Inventario elegido) no se achica a la columna que le
           toca — se monta encima de la celda de al lado (SKU) en vez de
           quedarse dentro de su propio ancho. min-width:0 ya ayuda, pero
           algunos navegadores igual insisten en el ancho del <select> según
           su opción más larga aunque tenga min-width:0 — overflow:hidden en
           la celda (el <div> que lo envuelve) es lo que de verdad garantiza
           que nunca se salga visualmente, pase lo que haga el navegador con
           el select por dentro. */
        .pv-items-row > div{min-width:0}
        .pv-items-input{width:100%;min-width:0;max-width:100%;padding:11px 13px;font-size:14px;font-weight:600;color:var(--pv-ink);border:1.5px solid var(--pv-border);border-radius:9px;box-sizing:border-box;background:var(--pv-surface-2);font-family:inherit}
        .pv-items-row > div select.pv-items-input{text-overflow:ellipsis}
        .pv-items-input:focus{outline:none;border-color:var(--pv-primary);box-shadow:0 0 0 4px rgba(var(--pv-primary-rgb),.12);background:var(--pv-surface)}
        input[readonly],textarea[readonly]{background:#eef1f5!important;color:var(--pv-muted);cursor:not-allowed}
        .pv-nc-bloqueado{opacity:.55;pointer-events:none}
        .pv-cant-stepper .pv-items-input{width:52px;text-align:center;padding:11px 4px}
        /* Ancho para al menos 4 cifras (ej. "9999") — Pedidos, Fabricación e
           Ingreso a Inventario (Reponer); Cotización/Comprobante siguen con
           el ancho compartido de arriba. */
        #pv-pedido-form .pv-cant-stepper .pv-items-input,
        #pv-fab-form .pv-cant-stepper .pv-items-input,
        #pv-reponer-items .pv-cant-stepper .pv-items-input{width:72px}
        .pv-items-col-total{display:none}
        /* Ítems de "Agregar cuenta pendiente" (Cuentas por pagar): dos renglones
           por producto en vez de una fila de 4 columnas apretadas — arriba el
           nombre a todo el ancho (es el campo largo) y abajo Cantidad, Precio
           unitario y el botón de quitar. Como ya no hay fila de encabezado,
           cada campo lleva su etiqueta propia (.pv-items-label).
           El !important es para ganarle a la regla de móvil de más abajo, que
           fuerza una sola columna con !important para todas las tablas de ítems
           del sistema; acá el reparto de dos por renglón entra bien incluso en
           un teléfono. */
        #pv-modal-cuenta-pendiente .pv-items-card .pv-items-row{
            grid-template-columns:1fr 1fr 44px!important;
            grid-template-areas:"prod prod prod" "cant precio quitar";
            gap:12px 12px;align-items:end;padding:14px 4px;
        }
        #pv-modal-cuenta-pendiente .pv-items-col-producto{grid-area:prod}
        #pv-modal-cuenta-pendiente .pv-items-col-cantidad{grid-area:cant}
        #pv-modal-cuenta-pendiente .pv-items-col-precio{grid-area:precio}
        #pv-modal-cuenta-pendiente .pv-items-col-quitar{grid-area:quitar;justify-self:end}
        /* Renglones de "Detalle (opcional)" de Cuentas POR COBRAR: mismo
           esquema de dos renglones que los de por pagar, pero sin columna de
           precio (acá el monto se escribe a mano arriba), así que Cantidad y
           el botón de quitar se reparten el segundo renglón sin dejar el
           hueco vacío donde iría el precio. 3 clases + el id para ganarle a
           la regla de arriba, y !important por la regla de móvil que fuerza
           una sola columna con !important para todas las tablas de ítems. */
        #pv-modal-cuenta-pendiente .pv-items-card .pv-items-row.pv-cob-items-row{
            grid-template-columns:1fr 44px!important;
            grid-template-areas:"desc desc" "cant quitar";
        }
        #pv-modal-cuenta-pendiente .pv-cob-items-row .pv-items-col-producto{grid-area:desc}
        #pv-modal-cuenta-pendiente .pv-cob-items-row .pv-items-col-cantidad{grid-area:cant}
        #pv-modal-cuenta-pendiente .pv-cob-items-row .pv-items-col-quitar{grid-area:quitar}
        /* Lista numerada de renglones del modal "Ver detalle" de una cuenta
           (pv_detalle_items_html() en 08-modulo-cuentas.php) — el número en un
           círculo a la izquierda y a la derecha nombre arriba / cantidad y
           precio abajo, para que cada cantidad se lea junto al producto que le
           corresponde. */
        .pv-dc-item{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--pv-border)}
        .pv-dc-item:last-child{border-bottom:none;padding-bottom:0}
        .pv-dc-item:first-child{padding-top:0}
        .pv-dc-item-num{flex:0 0 auto;width:20px;height:20px;border-radius:50%;background:var(--pv-surface-2);border:1px solid var(--pv-border2);color:var(--pv-muted);font-size:10.5px;font-weight:800;display:flex;align-items:center;justify-content:center;margin-top:1px}
        .pv-dc-item-cuerpo{display:flex;flex-direction:column;gap:2px;min-width:0}
        .pv-dc-item-nombre{font-size:13px;font-weight:700;color:var(--pv-ink);line-height:1.35;word-break:break-word}
        .pv-dc-item-meta{font-size:11.5px;color:var(--pv-muted);font-weight:600}
        .pv-items-label{display:block;font-size:9.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--pv-muted);font-weight:700;margin-bottom:6px}
        @media (max-width:760px){
            .pv-items-head{display:none}
            /* El !important es necesario: Cotización, Comprobante, Reponer
               Inventario y el formulario de Compra le ponen su propio
               grid-template-columns EN LÍNEA a cada .pv-items-row (8, 5, 3 y
               3 columnas fijas respectivamente, pensadas para escritorio) —
               un estilo en línea le gana a esta regla externa a menos que
               lleve !important, así que sin esto la tabla se quedaba con
               sus columnas de escritorio (cientos de píxeles) apretadas en
               un teléfono, sin importar que este bloque diga "una sola
               columna". */
            .pv-items-card .pv-items-row{grid-template-columns:1fr!important;gap:8px}
            .pv-items-col-quitar{justify-self:end}
            /* Ítems de Cotización específicamente: en vez de apilar las 8
               columnas una debajo de otra (una tarjeta altísima por cada
               producto), se arma una grilla propia de 2 columnas con pares
               que tienen sentido juntos (SKU+Cantidad, Unidad+Precio), cada
               campo con su etiqueta arriba (antes solo existía como
               encabezado de columna, que se apaga entero en móvil) y el
               Importe + botón de quitar comparten la última fila. */
            /* .pv-items-row.pv-cot-items-row (2 clases juntas, no una sola)
               a propósito: la regla genérica de arriba
               (.pv-items-card .pv-items-row{grid-template-columns:1fr}) TAMBIÉN
               tiene 2 clases de especificidad — con !important de los dos
               lados, gana la más específica, y ".pv-cot-items-row" sola
               (1 clase) perdía contra ella, dejando el grid en 1 sola
               columna real aunque grid-template-areas pidiera 2 — por eso
               SKU y Cantidad (y Unidad y Precio) se dibujaban encimados en
               la misma celda en vez de uno al lado del otro. */
            .pv-items-row.pv-cot-items-row{grid-template-columns:1fr 1fr!important;grid-template-areas:"producto producto" "sku cantidad" "desc desc" "unidad precio" "importe quitar"!important;gap:10px!important;background:var(--pv-surface-2);border:1px solid var(--pv-border);border-radius:14px;padding:14px;margin-bottom:10px}
            .pv-cot-items-row [data-label]::before{content:attr(data-label);display:block;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--pv-muted);margin-bottom:4px}
            /* .pv-items-input trae font-size:14px;font-weight:600 pensado
               para las columnas anchas de escritorio — en esta tarjeta
               angosta de móvil se veía enorme y muy pesada comparada con el
               resto del formulario (Fecha, Razón social, etc., ya a 11px
               sin negrita). Mismo tamaño acá para que todo el formulario
               se vea parejo. */
            .pv-cot-items-row .pv-items-input{font-size:11px!important;font-weight:400!important;padding:9px 8px!important}
            .pv-cot-items-row [data-label="Producto (Inventario)"]{grid-area:producto}
            .pv-cot-items-row [data-label="SKU"]{grid-area:sku}
            .pv-cot-items-row [data-label="Cantidad"]{grid-area:cantidad}
            .pv-cot-items-row [data-label="Descripción"]{grid-area:desc}
            .pv-cot-items-row [data-label="Unidad"]{grid-area:unidad}
            .pv-cot-items-row [data-label="Precio"]{grid-area:precio}
            .pv-cot-items-row .pv-cot-importe-cell{grid-area:importe}
            .pv-cot-items-row .pv-cot-importe-cell .pv-line-total{font-size:17px;font-weight:800;color:var(--pv-primary-dark)}
            .pv-cot-items-row .pv-cot-quitar-cell{grid-area:quitar;justify-self:end;align-self:end}
        }
        .pv-card-header{display:flex;align-items:flex-start;gap:11px;margin-bottom:16px}
        .pv-card-header-icono{width:36px;height:36px;border-radius:11px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--pv-primary),var(--pv-primary2));color:#fff}
        .pv-card-header-icono svg{width:18px;height:18px}
        .pv-card-header h2,.pv-card-header h3{margin:0 0 2px}
        .pv-iva-opciones{display:flex;flex-direction:column;gap:9px;margin-top:7px}
        .pv-iva-opcion{display:flex;align-items:center;gap:13px;padding:13px 14px;border:1.5px solid var(--pv-border);border-radius:13px;cursor:pointer;background:var(--pv-surface-2);transition:border-color .12s,background .12s}
        .pv-iva-opcion:hover{border-color:var(--pv-primary)}
        .pv-iva-opcion input[type=radio]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;white-space:nowrap;border:0;clip:rect(0,0,0,0)}
        .pv-iva-opcion-texto{display:flex;flex-direction:column;gap:2px;flex:1}
        .pv-iva-opcion-texto strong{font-size:12.5px;color:var(--pv-ink)}
        .pv-iva-opcion-texto span{font-size:11px;color:var(--pv-muted)}
        .pv-iva-opcion-icono{width:33px;height:33px;border-radius:9px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--pv-bg);color:var(--pv-muted)}
        .pv-iva-opcion-icono svg{width:16px;height:16px}
        .pv-iva-opcion.activa{border-color:var(--pv-primary);background:var(--pv-bg)}
        .pv-iva-opcion.activa .pv-iva-opcion-icono{background:linear-gradient(135deg,var(--pv-primary),var(--pv-primary2));color:#fff}
        .pv-iva-opciones-compacta{flex-direction:row;gap:6px;margin-top:8px}
        .pv-iva-opciones-compacta .pv-iva-opcion{flex:1;padding:9px 4px;justify-content:center;text-align:center;gap:0}
        .pv-iva-opciones-compacta .pv-iva-opcion-texto strong{font-size:10.5px;white-space:nowrap}
        .pv-pedido-campos-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 10px;margin:14px 0}
        .pv-carrito-item{display:flex;align-items:flex-start;gap:8px;border:1px solid var(--pv-border);border-radius:12px;padding:10px 12px;margin-bottom:8px;background:var(--pv-surface-2)}
        .pv-carrito-item-trash{flex-shrink:0;width:24px;height:24px;border-radius:8px;border:none;background:transparent;color:#991b1b;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;margin-top:2px}
        .pv-carrito-item-trash:hover{background:#fee2e2}
        .pv-carrito-item-nombre{flex:1;min-width:0;font-size:12.5px;font-weight:700;color:var(--pv-ink);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
        .pv-carrito-item-right{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:4px;min-width:104px;max-width:70%}
        .pv-carrito-item-cant-fila{display:flex;align-items:center;gap:6px}
        .pv-carrito-item-cant-fila input{width:58px;box-sizing:border-box;padding:4px 5px;border:1.5px solid var(--pv-border);border-radius:7px;font-size:11.5px;text-align:center;font-family:inherit;background:var(--pv-surface)}
        .pv-carrito-item-cant-fila input:focus{outline:none;border-color:var(--pv-primary);box-shadow:0 0 0 3px rgba(var(--pv-primary-rgb),.12)}
        .pv-carrito-item-tipo{font-size:10.5px;color:var(--pv-muted)}
        .pv-carrito-costo-compra{display:block;margin-top:2px;color:#7657b8;font-size:10.5px;font-weight:700;line-height:1.25;white-space:nowrap}
        .pv-carrito-costo-compra strong{color:#6f42df;font-size:11px;font-weight:850}
        .pv-carrito-item-bajo-costo{border-color:#fda4af!important;background:linear-gradient(135deg,#fff 0%,#fff5f6 100%)!important;box-shadow:0 0 0 2px rgba(244,63,94,.06)}
        .pv-carrito-item-bajo-costo .pv-carrito-costo-compra,.pv-carrito-item-bajo-costo .pv-carrito-costo-compra strong{color:#be123c}
        .pv-carrito-alerta-costo{display:block;max-width:190px;margin-top:3px;padding:3px 6px;border-radius:6px;background:#ffe4e8;color:#be123c;font-size:8.5px;font-weight:800;line-height:1.25;text-align:right}
        #pv-pedido-btn-generar-comprobante.pv-pedido-btn-costo-bloqueado{cursor:not-allowed!important;filter:grayscale(.25);opacity:.48!important;box-shadow:none!important}
        .pv-carrito-item-precio{background:none;border:none;padding:0;font-size:14px;font-weight:800;color:var(--pv-primary-dark);cursor:pointer;font-family:inherit}
        /* width:100% + input flex:1 (en vez de un ancho fijo en px) para que
           al agrandar el campo use el espacio en blanco que ya hay DENTRO de
           esta fila (limitada por max-width en .pv-carrito-item-right de
           arriba) — un ancho fijo empujaba toda la tarjeta hacia la derecha
           y provocaba scroll horizontal en vez de aprovechar ese espacio. */
        .pv-carrito-item-desc{display:flex;align-items:center;gap:6px;margin-top:2px;width:100%}
        .pv-carrito-item-desc label{font-size:9.5px;color:var(--pv-muted);white-space:nowrap}
        .pv-carrito-item-desc input{flex:1;min-width:90px;box-sizing:border-box;padding:4px 5px;border:1.5px solid var(--pv-border);border-radius:7px;font-size:11px;text-align:center;font-family:inherit;background:var(--pv-surface)}
        @media (min-width:821px){
            .pv-carrito-item-right{max-width:none}
            .pv-carrito-item-desc input{flex:0 0 160px}
        }
        .pv-fab-carrito-campos input,.pv-fab-carrito-campos select{padding:8px 11px;border:1.5px solid var(--pv-border);border-radius:9px;font-size:12.5px;box-sizing:border-box;background:var(--pv-surface);color:#1e1b2e;color-scheme:light;font-family:inherit;transition:border-color .15s,box-shadow .15s}
        .pv-fab-carrito-campos input:focus,.pv-fab-carrito-campos select:focus{outline:none;border-color:var(--pv-primary);box-shadow:0 0 0 4px rgba(var(--pv-primary-rgb),.12)}
        .pv-info-banner{display:flex;gap:13px;align-items:flex-start;background:var(--pv-bg);border:1px solid var(--pv-border2);border-radius:13px;padding:14px 16px;color:var(--pv-ink)}
        .pv-info-banner-icono{width:24px;height:24px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--pv-primary);color:#fff}
        .pv-info-banner-icono svg{width:14px;height:14px}
        .pv-info-banner p{margin:0;font-size:12.5px;line-height:1.6}
        .pv-resumen-sistema-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-bottom:11px}
        .pv-resumen-sistema-box,.pv-resumen-sistema-row{display:flex;gap:11px;align-items:center;background:var(--pv-bg);border:1px solid var(--pv-border);border-radius:13px;padding:13px}
        .pv-resumen-sistema-row{margin-bottom:11px}
        .pv-resumen-sistema-row:last-child{margin-bottom:0}
        .pv-resumen-sistema-icono{width:31px;height:31px;border-radius:9px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--pv-bg);color:var(--pv-primary-dark)}
        .pv-resumen-sistema-icono-ok{background:#dcfce7;color:#166534}
        .pv-resumen-sistema-label{display:block;font-size:10px;color:var(--pv-muted);font-weight:700;text-transform:uppercase;letter-spacing:.02em}
        .pv-resumen-sistema-valor{display:block;font-size:15px;font-weight:700;color:var(--pv-ink)}
        .pv-resumen-sistema-valor-sm{display:block;font-size:12px;font-weight:700;color:var(--pv-ink)}
        .pv-resumen-sistema-sub{display:block;font-size:10.5px;color:var(--pv-muted)}
        @media (max-width:640px){ .pv-resumen-sistema-grid{grid-template-columns:1fr} }
        .pv-comp-resumen-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:11px}
        .pv-comp-resumen-box{background:var(--pv-surface);border:1px solid var(--pv-border);border-radius:13px;padding:13px 14px;display:flex;flex-direction:column;justify-content:center;min-height:70px;box-sizing:border-box}
        .pv-comp-resumen-box strong{font-size:16px;color:var(--pv-ink);margin-top:4px}
        .pv-comp-resumen-box-primario{background:var(--pv-bg);border-color:var(--pv-border2)}
        .pv-comp-resumen-box-primario strong{color:var(--pv-primary-dark);font-size:18px}
        .pv-comp-resumen-box .pv-input-prefijo input{margin-top:0}
        @media (max-width:920px){ .pv-comp-resumen-grid{grid-template-columns:repeat(3,1fr)} }
        @media (max-width:560px){ .pv-comp-resumen-grid{grid-template-columns:repeat(2,1fr)} }
        /* Resumen de Cotización: 4 cuadros, TODOS del mismo tamaño siempre —
           a propósito su propia clase con exactamente 4 columnas iguales, en
           vez de reusar .pv-comp-resumen-grid (esa es de 5 columnas, pensada
           para el resumen de Comprobante; con solo 4 cajas ahí adentro
           quedarían descuadradas, cada una angosta de más). */
        .pv-cot-resumen-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}
        @media (max-width:560px){
            .pv-cot-resumen-grid{grid-template-columns:repeat(2,1fr);gap:8px}
            /* Las 4 cajitas (Subtotal/IVA%/Iva/Total) traen el tamaño de
               escritorio (70px de alto mínimo, números a 16-18px) — en el
               grid angosto de 2 columnas de un teléfono se ven infladas
               comparadas con el resto del formulario, ya achicado. */
            .pv-cot-resumen-grid .pv-comp-resumen-box{padding:10px 11px;min-height:0}
            .pv-cot-resumen-grid .pv-comp-resumen-box strong{font-size:13px!important;margin-top:2px}
            .pv-cot-resumen-grid .pv-comp-resumen-box-primario strong{font-size:14px!important}
            .pv-cot-resumen-grid .pv-resumen-sistema-label{font-size:9px}
            .pv-cot-resumen-grid .pv-items-input{font-size:12px!important;padding:8px!important}
        }
        .pv-pedido-resumen-tarjeta{background:var(--pv-surface);border:1px solid var(--pv-border);border-radius:13px;padding:14px 16px}
        .pv-pedido-resumen-fila-chica{display:flex;justify-content:space-between;font-size:12px;color:var(--pv-muted);padding:3px 0}
        .pv-pedido-resumen-fila-chica[hidden]{display:none!important}
        .pv-pedido-resumen-total-box{background:var(--pv-bg);border:1px solid var(--pv-border2);border-radius:10px;padding:10px 12px;display:flex;justify-content:space-between;align-items:baseline;margin:8px 0}
        .pv-pedido-resumen-total-box .pv-resumen-sistema-label{color:var(--pv-muted3)}
        .pv-pedido-resumen-total-box strong{font-size:16px;color:var(--pv-ink)}
        .pv-pedido-resumen-anticipo-fila{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;border-top:1px solid var(--pv-border);padding-top:10px;margin-top:2px}
        .pv-pedido-condicion-select{display:flex;flex:0 0 172px;flex-direction:column;gap:4px;width:172px;min-width:172px;max-width:172px;color:var(--pv-muted);font-size:9px;font-weight:850;letter-spacing:.045em;text-transform:uppercase}
        html body .pv-pedido-condicion-select select{box-sizing:border-box;width:100%;height:42px;min-height:42px;padding:0 36px 0 11px;border:1px solid #DCCFFB;border-radius:10px;background-color:#F8F5FF;color:#6844DF;font:inherit;font-size:12px;font-weight:850;letter-spacing:0;text-transform:none;box-shadow:none}
        html body #pvf-shell .pv-pedido-condicion-select>.pv-cs{display:block!important;width:100%!important;max-width:none!important;min-width:0!important}
        html body #pvf-shell .pv-pedido-condicion-select>.pv-cs>.pv-cs-trigger{position:relative!important;width:100%!important;height:42px!important;min-height:42px!important;padding:0 60px 0 11px!important;border:1px solid #DCCFFB!important;border-radius:10px!important;background:#F8F5FF!important;color:#6844DF!important;font-size:12px!important;font-weight:850!important;box-shadow:none!important}
        html body #pvf-shell .pv-pedido-condicion-select>.pv-cs>.pv-cs-trigger>.pv-cs-trigger-label{overflow:visible!important;text-overflow:clip!important;white-space:nowrap!important}
        html body #pvf-shell#pvf-shell .pv-pedido-condicion-select>.pv-cs.pv-campo-completo>.pv-cs-trigger::after{content:""!important;position:absolute!important;display:block!important;top:50%!important;right:35px!important;bottom:auto!important;left:auto!important;width:17px!important;height:17px!important;margin:0!important;transform:translateY(-50%)!important;background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Cpath d=%22m5 12.5 4.2 4.2L19 7%22 fill=%22none%22 stroke=%22%2305A66A%22 stroke-width=%222.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3C/svg%3E") center/17px 17px no-repeat!important;pointer-events:none!important}
        html body #pvf-shell#pvf-shell .pv-pedido-condicion-select>.pv-cs>.pv-cs-trigger>.pv-cs-chevron{position:absolute!important;top:50%!important;right:10px!important;bottom:auto!important;left:auto!important;width:18px!important;height:18px!important;margin:0!important;transform:translateY(-50%)!important}
        html body #pvf-shell#pvf-shell .pv-pedido-condicion-select>.pv-cs.pv-cs-open>.pv-cs-trigger>.pv-cs-chevron{transform:translateY(-50%) rotate(180deg)!important}
        .pv-pedido-resumen-anticipo-fila .pv-input-prefijo{position:relative;flex:0 0 138px;width:138px;height:42px}
        .pv-pedido-resumen-anticipo-fila .pv-input-prefijo>span{position:absolute;z-index:2;left:0;top:0;transform:none;width:38px;height:100%;display:flex;align-items:center;justify-content:center;border-right:1px solid var(--pv-border);border-radius:10px 0 0 10px;background:rgba(var(--pv-primary-rgb),.06);color:var(--pv-primary);font-size:13px;font-weight:800;pointer-events:none}
        .pv-pedido-resumen-anticipo-fila .pv-input-prefijo input{width:100%;height:42px;box-sizing:border-box;padding:0 14px 0 50px!important;text-align:right;border:1.5px solid var(--pv-border);border-radius:10px;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;font-family:inherit;background:var(--pv-surface-2)}
        .pv-pedido-resumen-anticipo-fila .pv-input-prefijo input:focus{outline:none;border-color:var(--pv-primary);box-shadow:0 0 0 3px rgba(var(--pv-primary-rgb),.12);background:var(--pv-surface)}
        .pv-pedido-resumen-anticipo-fila .pv-pedido-credito-monto-wrap>span{background:linear-gradient(145deg,#EEE8FF,#F7EEFF);color:#6F42DF;border-color:#DCCFFB}
        .pv-pedido-resumen-anticipo-fila .pv-pedido-credito-monto-wrap input{border-color:#DCCFFB;background:linear-gradient(105deg,#FAF8FF,#FFF7FB);color:#6844DF;font-weight:850}
        .pv-pedido-resumen-anticipo-fila .pv-pedido-credito-monto-wrap input::placeholder{color:#9A89CF;font-size:10.5px;font-weight:750}
        .pv-pedido-resumen-anticipo-fila [hidden],.pv-pedido-credito-resumen[hidden]{display:none!important}
        .pv-pedido-credito-total-badge{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 11px;border:1px solid #DCCFFB;border-radius:9px;background:linear-gradient(105deg,#F1ECFF,#FFF1F7);color:#6844DF;font-size:10.5px;font-weight:850;white-space:nowrap}
        .pv-pedido-credito-resumen{display:flex;flex-direction:column;gap:3px;margin-top:9px;padding:9px 10px;border:1px solid #DCD2FA;border-radius:10px;background:linear-gradient(110deg,#F8F5FF,#F4FAFF);color:#6040C7}
        .pv-pedido-credito-resumen span{font-size:10.5px;font-weight:850}.pv-pedido-credito-resumen small{font-size:9.5px;font-weight:650;color:#7B879D}
        .pv-pedido-credito-resumen.is-error{border-color:#F3B8C8;background:#FFF4F7;color:#C92354}.pv-pedido-credito-resumen.is-error small{color:#A7536B}
        .pv-pedido-resumen-fila-chica strong{color:var(--pv-ink);font-size:12.5px}
        /* overflow-x:auto acá para que, si una fila (ej. Historial de Pedidos
           con varios íconos de Acciones en una columna angosta) no entra en
           el ancho de la tarjeta, el scroll quede CONTENIDO adentro de la
           tarjeta — antes esto no existía y el contenido se salía visualmente
           por fuera del borde blanco de la tarjeta hacia el fondo gris de la
           página, en vez de scrollear. */
        .pv-historial-tabla{margin-top:9px;overflow-x:auto;-webkit-overflow-scrolling:touch}
        .pv-historial-fila{display:grid;grid-template-columns:110px 140px 1fr 150px 90px;gap:11px;align-items:center;padding:11px 6px;border-bottom:1px solid var(--pv-border);font-size:12px}
        .pv-historial-header{font-size:9.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--pv-muted);font-weight:700;border-bottom:2px solid var(--pv-border);padding-bottom:9px}
        .pv-historial-acciones{display:flex;gap:6px;align-items:center;flex-wrap:nowrap;position:relative}
        .pv-icon-btn{width:29px;height:29px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;background:var(--pv-bg);color:var(--pv-ink);border:none;cursor:pointer;text-decoration:none;flex-shrink:0}
        .pv-fab-nota-btn-activa{background:rgba(37,99,235,.12)!important;color:#2563EB!important}
        .pv-icon-btn:hover{background:#e2edfb;color:var(--pv-ink)}
        .pv-icon-btn-del{color:#dc2626}
        .pv-icon-btn-del:hover{background:#fee2e2;color:#dc2626}
        .pv-icon-btn-disabled{opacity:.35;cursor:not-allowed}
        .pv-paginacion{display:flex;align-items:center;justify-content:center;gap:13px;margin-top:14px;padding-top:13px;border-top:1px solid var(--pv-border)}
        .pv-paginacion-texto{font-size:11.5px;color:var(--pv-muted);font-weight:600}
        .pv-icon-btn-label{width:auto;height:29px;padding:0 13px;font-size:11.5px;font-weight:700}
        .pv-icon-btn-retencion{background:var(--pv-bg);color:var(--pv-warning-text)}
        .pv-icon-btn-retencion:hover{background:var(--pv-surface-2);color:var(--pv-warning-text)}
        .pv-file-input{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
        .pv-file-input-native{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;white-space:nowrap;border:0;clip:rect(0,0,0,0)}
        .pv-file-input-btn{display:inline-flex;align-items:center;background:var(--pv-bg);color:var(--pv-ink);border:1.5px solid var(--pv-border);padding:8px 14px;border-radius:9px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}
        .pv-file-input-btn:hover{background:#e2edfb}
        .pv-file-input-nombre{font-size:11.5px;color:var(--pv-muted)}
        .pv-color-picker{position:relative;display:inline-block}
        .pv-color-picker-trigger{display:flex;align-items:center;gap:10px;background:var(--pv-surface);border:1.5px solid var(--pv-border);border-radius:12px;padding:8px 14px;cursor:pointer;transition:border-color .12s,box-shadow .12s}
        .pv-color-picker-trigger:hover{border-color:var(--pv-primary)}
        .pv-color-picker-trigger.open{border-color:var(--pv-primary);box-shadow:0 0 0 4px rgba(var(--pv-primary-rgb),.12)}
        .pv-color-picker-circulo{width:22px;height:22px;border-radius:50%;box-shadow:0 0 0 1px rgba(30,27,46,.08)}
        .pv-color-picker-chevron{color:var(--pv-muted);font-size:11px}
        .pv-color-picker-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:60;background:var(--pv-surface);border:1px solid var(--pv-border);border-radius:14px;padding:12px;box-shadow:0 10px 30px rgba(30,27,46,.15);display:grid;grid-template-columns:repeat(5,1fr);gap:10px;width:210px}
        .pv-color-picker-panel[hidden]{display:none}
        .pv-color-swatch{width:30px;height:30px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}
        .pv-color-swatch:hover{transform:scale(1.08)}
        .pv-color-swatch.active{border-color:var(--pv-ink);box-shadow:0 0 0 2px #fff inset}
        .pv-enviar-inline form{display:flex;gap:6px;align-items:center;margin:0;flex-wrap:wrap}
        .pv-enviar-inline input[type=email]{flex:1 1 140px;min-width:0;padding:7px 11px;border:1.5px solid var(--pv-border);border-radius:9px;font-size:11.5px;font-family:inherit;box-sizing:border-box}
        .pv-enviar-inline input[type=email]:focus{outline:none;border-color:var(--pv-primary);box-shadow:0 0 0 4px rgba(var(--pv-primary-rgb),.12)}
        .pv-enviar-inline .pvf-btn{padding:8px 14px;font-size:11.5px;flex-shrink:0}

        /* ===== Recibo de compra: ventana profesional sin alterar el recibo ===== */
        #pv-modal-comprobante-generado{padding:22px;background:rgba(21,27,43,.54);backdrop-filter:blur(7px)}
        #pv-modal-comprobante-generado .pv-recibo-modal-shell{box-sizing:border-box;width:min(570px,calc(100vw - 44px));max-width:570px!important;max-height:94vh;max-height:94dvh;margin:auto;padding:0!important;overflow:auto;border:1px solid rgba(215,222,235,.9);border-radius:23px;background:#fff;box-shadow:0 28px 85px rgba(20,24,39,.27);scrollbar-width:thin;scrollbar-color:#c9c1e8 transparent}
        #pv-modal-comprobante-generado .pv-recibo-modal-header{position:sticky;top:0;z-index:4;display:flex;align-items:center;gap:14px;min-height:88px;padding:0 24px;border-bottom:1px solid #e8ebf2;background:rgba(255,255,255,.97);backdrop-filter:blur(14px)}
        #pv-modal-comprobante-generado .pv-recibo-modal-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;flex:0 0 48px;border-radius:14px;background:linear-gradient(140deg,#0aa6ed 0%,#7042e6 51%,#f21247 100%);color:#fff;box-shadow:0 9px 24px rgba(109,69,229,.2)}
        #pv-modal-comprobante-generado .pv-recibo-modal-icon svg{width:26px!important;height:26px!important;margin:0!important;color:#fff!important;fill:none!important;stroke:#fff!important;stroke-linecap:round!important;stroke-linejoin:round!important;stroke-width:1.8!important}
        #pv-modal-comprobante-generado .pv-recibo-modal-heading{display:flex;min-width:0;flex-direction:column;gap:4px}
        #pv-modal-comprobante-generado .pv-recibo-modal-heading h2{margin:0!important;color:#172033!important;font-size:21px!important;font-weight:820!important;line-height:1.15!important;letter-spacing:-.025em!important}
        #pv-modal-comprobante-generado .pv-recibo-modal-heading small{overflow:hidden;color:#8490a6;font-size:12px;font-weight:600;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
        #pv-modal-comprobante-generado .pv-recibo-modal-close{position:static!important;top:auto!important;right:auto!important;display:flex!important;align-items:center!important;justify-content:center!important;width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;flex:0 0 38px!important;margin:0 0 0 auto!important;padding:0!important;border:1px solid #dbe1ea!important;border-radius:11px!important;background:#f8fafc!important;color:#667085!important;text-decoration:none!important;box-shadow:none!important;transition:.18s ease!important}
        #pv-modal-comprobante-generado .pv-recibo-modal-close:hover{border-color:#c9bdf5!important;background:#f6f2ff!important;color:#6844df!important;transform:none!important}
        #pv-modal-comprobante-generado .pv-recibo-modal-close>span{display:block!important;width:20px!important;height:20px!important;margin:0!important;color:inherit!important;font-family:Arial,Helvetica,sans-serif!important;font-size:25px!important;font-weight:400!important;line-height:18px!important;text-align:center!important;transform:translateY(-1px)!important}
        #pv-modal-comprobante-generado .pv-recibo-modal-body{padding:20px 24px 25px}
        #pv-modal-comprobante-generado .pv-recibo-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
        #pv-modal-comprobante-generado .pv-recibo-paper-picker{display:grid;grid-template-columns:minmax(0,1fr) 194px;gap:12px;grid-column:1/-1;align-items:end;padding:12px;border:1px solid #e1daf9;border-radius:15px;background:linear-gradient(135deg,#fbfaff 0%,#f6f3ff 100%)}
        #pv-modal-comprobante-generado .pv-recibo-paper-control{display:flex;min-width:0;flex-direction:column;gap:7px}
        #pv-modal-comprobante-generado .pv-recibo-paper-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:0 2px}
        #pv-modal-comprobante-generado .pv-recibo-paper-title strong{color:#3d4659;font-size:10.5px;font-weight:850;line-height:1.1;text-transform:uppercase;letter-spacing:.045em}
        #pv-modal-comprobante-generado .pv-recibo-paper-title small{overflow:hidden;color:#929caf;font-size:9.5px;font-weight:600;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}
        #pv-modal-comprobante-generado .pv-recibo-paper-field{position:relative;display:flex;align-items:center;min-width:0;height:48px;margin:0;padding:0 40px 0 11px;border:1px solid #d8ddea;border-radius:12px;background:#fff;box-sizing:border-box;box-shadow:0 2px 7px rgba(44,34,85,.035);cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease}
        #pv-modal-comprobante-generado .pv-recibo-paper-field:focus-within{border-color:#6844df;box-shadow:0 0 0 3px rgba(104,68,223,.09)}
        #pv-modal-comprobante-generado .pv-recibo-paper-icon{display:flex;align-items:center;justify-content:center;width:30px;height:30px;flex:0 0 30px;margin-right:10px;border-radius:9px;background:#eee8ff;color:#6844df}
        #pv-modal-comprobante-generado .pv-recibo-paper-icon svg,#pv-modal-comprobante-generado .pv-recibo-paper-chevron{width:17px!important;height:17px!important;margin:0!important;fill:none!important;stroke:currentColor!important;stroke-linecap:round!important;stroke-linejoin:round!important;stroke-width:1.9!important}
        html body #pv-modal-comprobante-generado .pv-recibo-paper-select{display:block!important;width:100%!important;height:46px!important;min-height:46px!important;margin:0!important;padding:0!important;border:0!important;outline:0!important;background:transparent!important;background-image:none!important;color:#20283a!important;font-family:inherit!important;font-size:13px!important;font-weight:800!important;line-height:46px!important;box-shadow:none!important;appearance:none!important;-webkit-appearance:none!important;cursor:pointer!important}
        #pv-modal-comprobante-generado .pv-recibo-paper-chevron{position:absolute;right:13px;top:50%;color:#6844df;transform:translateY(-50%);pointer-events:none}
        html body #pv-modal-comprobante-generado .pv-recibo-paper-default{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;box-sizing:border-box!important;width:194px!important;min-width:194px!important;height:48px!important;margin:0!important;padding:0 13px!important;border:1px solid #d5c9fb!important;border-radius:12px!important;background:#fff!important;color:#6844df!important;font-size:11.5px!important;font-weight:800!important;line-height:1.1!important;text-align:left!important;box-shadow:0 2px 7px rgba(44,34,85,.035)!important;cursor:pointer!important;transition:.16s ease!important}
        #pv-modal-comprobante-generado .pv-recibo-paper-default:hover{border-color:#6844df!important;background:#f5f1ff!important}
        #pv-modal-comprobante-generado .pv-recibo-paper-default.is-default{border-color:#bfe9d4!important;background:#effbf5!important;color:#078c57!important}
        #pv-modal-comprobante-generado .pv-recibo-paper-default svg{width:18px!important;height:18px!important;margin:0!important;flex:0 0 18px!important;fill:none!important;stroke:currentColor!important;stroke-linecap:round!important;stroke-linejoin:round!important;stroke-width:1.8!important}
        #pv-modal-comprobante-generado .pv-recibo-paper-default-copy{display:flex;min-width:0;flex-direction:column;gap:3px}
        #pv-modal-comprobante-generado .pv-recibo-paper-default-copy strong{overflow:hidden;color:inherit;font-size:10.5px;font-weight:850;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}
        #pv-modal-comprobante-generado .pv-recibo-paper-default-copy small{color:#929caf;font-size:9px;font-weight:650;line-height:1}
        #pv-modal-comprobante-generado .pv-recibo-paper-default.is-default .pv-recibo-paper-default-copy small{color:#4f9f7a}
        #pv-modal-comprobante-generado .pv-recibo-action{display:flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;box-sizing:border-box!important;width:100%!important;height:46px!important;min-height:46px!important;margin:0!important;padding:0 16px!important;border-radius:12px!important;font-size:13px!important;font-weight:800!important;line-height:1!important;text-align:center!important;text-decoration:none!important;transition:transform .16s ease,box-shadow .16s ease,background .16s ease!important}
        #pv-modal-comprobante-generado .pv-recibo-action svg{width:19px!important;height:19px!important;margin:0!important;flex:0 0 19px!important;fill:none!important;stroke:currentColor!important;stroke-linecap:round!important;stroke-linejoin:round!important;stroke-width:1.8!important}
        #pv-modal-comprobante-generado .pv-recibo-action-print{border:1.5px solid #6844df!important;background:#fff!important;color:#6844df!important;box-shadow:none!important}
        #pv-modal-comprobante-generado .pv-recibo-action-print:hover{background:#f7f4ff!important;box-shadow:0 7px 16px rgba(104,68,223,.1)!important;transform:translateY(-1px)!important}
        #pv-modal-comprobante-generado .pv-recibo-action-pdf{border:1px solid transparent!important;background:linear-gradient(105deg,#6844df 0%,#9a36d6 55%,#f21247 100%)!important;color:#fff!important;box-shadow:0 9px 22px rgba(109,69,229,.2)!important}
        #pv-modal-comprobante-generado .pv-recibo-action-pdf:hover{box-shadow:0 12px 27px rgba(109,69,229,.28)!important;transform:translateY(-1px)!important}
        #pv-modal-comprobante-generado .pv-recibo-action-pdf svg{color:#fff!important;stroke:#fff!important}
        #pv-modal-comprobante-generado .pv-recibo-action-pdf.is-loading{pointer-events:none!important;opacity:.82!important}
        #pv-modal-comprobante-generado .pv-recibo-action-pdf.is-loading svg{animation:pvReciboPdfPulse .75s ease-in-out infinite alternate}
        @keyframes pvReciboPdfPulse{to{transform:translateY(-1px);opacity:.45}}
        #pv-modal-comprobante-generado .pv-recibo-email-panel{box-sizing:border-box;margin:0 0 16px;padding:14px;border:1px solid #e1daf9;border-radius:14px;background:linear-gradient(135deg,#faf9ff 0%,#f6f3ff 100%)}
        #pv-modal-comprobante-generado .pv-recibo-email-title{display:flex;align-items:center;gap:8px;margin:0 0 10px;color:#6844df}
        #pv-modal-comprobante-generado .pv-recibo-email-title>span{display:flex;align-items:center;justify-content:center;width:27px;height:27px;border-radius:8px;background:#eee8ff}
        #pv-modal-comprobante-generado .pv-recibo-email-title svg{width:15px!important;height:15px!important;margin:0!important;color:#6844df!important;fill:none!important;stroke:currentColor!important;stroke-linecap:round!important;stroke-linejoin:round!important;stroke-width:1.8!important}
        #pv-modal-comprobante-generado .pv-recibo-email-title strong{color:#6844df;font-size:12.5px;font-weight:800}
        #pv-modal-comprobante-generado .pv-recibo-email-panel form{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:10px;margin:0}
        #pv-modal-comprobante-generado .pv-recibo-email-input{position:relative;display:block;min-width:0;margin:0}
        html body #pv-modal-comprobante-generado .pv-recibo-email-input input[type=email]{box-sizing:border-box;width:100%;max-width:none;height:42px;min-height:42px;margin:0;padding:0 42px 0 13px;border:1px solid #d7dee8;border-radius:10px;background:#fff!important;color:#273047!important;font-size:12.5px;font-weight:550;box-shadow:none!important}
        html body #pv-modal-comprobante-generado .pv-recibo-email-input input[type=email]:focus{outline:none;border-color:#6844df!important;box-shadow:0 0 0 3px rgba(104,68,223,.1)!important}
        #pv-modal-comprobante-generado .pv-recibo-email-input>svg{position:absolute;right:13px;top:50%;width:19px!important;height:19px!important;margin:0!important;color:#08a968!important;fill:none!important;stroke:currentColor!important;stroke-linecap:round!important;stroke-linejoin:round!important;stroke-width:2.4!important;transform:translateY(-50%);pointer-events:none}
        html body #pv-modal-comprobante-generado .pv-recibo-email-send{display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;width:100%!important;height:42px!important;min-height:42px!important;margin:0!important;padding:0 16px!important;border:0!important;border-radius:10px!important;background:#6844df!important;color:#fff!important;font-size:12.5px!important;font-weight:800!important;line-height:1!important;box-shadow:0 7px 16px rgba(104,68,223,.18)!important;cursor:pointer!important}
        html body #pv-modal-comprobante-generado .pv-recibo-email-send:hover{background:#5c36d5!important;box-shadow:0 9px 20px rgba(104,68,223,.25)!important}
        #pv-modal-comprobante-generado .pv-recibo-preview-shell{display:flex;align-items:flex-start;justify-content:center;box-sizing:border-box;min-height:150px;padding:20px 16px;border:1px solid #e2e6ef;border-radius:16px;background:#f4f6fa;box-shadow:inset 0 1px 2px rgba(16,24,40,.035)}
        #pv-modal-comprobante-generado .pv-recibo-documento-original{box-sizing:border-box;max-width:100%;padding:18px 14px;background:#fff;box-shadow:0 5px 18px rgba(22,28,45,.11);filter:none!important;text-rendering:geometricPrecision;-webkit-font-smoothing:auto}
        #pv-modal-comprobante-generado .pv-recibo-documento-original .pv-recibo-80mm{filter:none!important;text-rendering:geometricPrecision;-webkit-font-smoothing:auto}
        #pv-modal-comprobante-generado .pv-recibo-documento-original img{image-rendering:auto}
        @media (max-width:620px){
            #pv-modal-comprobante-generado{padding:10px}
            #pv-modal-comprobante-generado .pv-recibo-modal-shell{width:calc(100vw - 20px);max-height:96vh;max-height:96dvh;border-radius:18px}
            #pv-modal-comprobante-generado .pv-recibo-modal-header{min-height:76px;padding:0 17px;gap:11px}
            #pv-modal-comprobante-generado .pv-recibo-modal-icon{width:42px;height:42px;flex-basis:42px;border-radius:12px}
            #pv-modal-comprobante-generado .pv-recibo-modal-heading h2{font-size:18px!important}
            #pv-modal-comprobante-generado .pv-recibo-modal-heading small{font-size:11px}
            #pv-modal-comprobante-generado .pv-recibo-modal-body{padding:16px}
            #pv-modal-comprobante-generado .pv-recibo-modal-actions{gap:9px}
            #pv-modal-comprobante-generado .pv-recibo-paper-picker{grid-template-columns:1fr;padding:9px}
            #pv-modal-comprobante-generado .pv-recibo-paper-title small{display:none}
            html body #pv-modal-comprobante-generado .pv-recibo-paper-default{width:100%!important;min-width:0!important;height:44px!important}
            #pv-modal-comprobante-generado .pv-recibo-action{height:43px!important;min-height:43px!important;padding:0 10px!important;font-size:12px!important}
            #pv-modal-comprobante-generado .pv-recibo-email-panel form{grid-template-columns:minmax(0,1fr) 82px;gap:8px}
            #pv-modal-comprobante-generado .pv-recibo-preview-shell{padding:15px 8px}
            #pv-modal-comprobante-generado .pv-recibo-documento-original{padding:14px 8px;max-width:100%}
        }
        @media (max-width:390px){
            #pv-modal-comprobante-generado .pv-recibo-action span{font-size:11px}
            #pv-modal-comprobante-generado .pv-recibo-action svg{width:17px!important;height:17px!important;flex-basis:17px!important}
            #pv-modal-comprobante-generado .pv-recibo-email-panel form{grid-template-columns:1fr}
            html body #pv-modal-comprobante-generado .pv-recibo-email-send{width:100%!important}
        }
        @media (max-width:820px){
            /* Antes: cada .pv-historial-fila quedaba como una fila plana más
               dentro de la lista (solo una línea divisoria fina), así que en
               móvil se veía como un muro de texto sin límites claros entre
               un pedido/movimiento y el siguiente. Ahora cada fila es su
               propia tarjeta (fondo, borde, sombra, radio) igual que
               .rv-prov-card, y sus campos van en pares etiqueta/valor uno
               al lado del otro en vez de apilados uno debajo del otro —
               reduce la altura a la mitad y se ve diseñado, no una lista. */
            .pv-historial-fila{grid-template-columns:1fr!important;gap:0;background:var(--pv-surface);border:1px solid var(--pv-border);border-radius:16px;box-shadow:0 1px 2px rgba(16,24,40,.04),0 8px 20px rgba(16,24,40,.05);padding:6px 14px!important;margin-bottom:10px}
            .pv-historial-header{display:none}
            .pv-historial-fila:not(.pv-historial-header):not(.rv-env-fila) > div{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--pv-border);text-align:right}
            .pv-historial-fila:not(.pv-historial-header):not(.rv-env-fila) > div:last-child{border-bottom:none}
            .pv-historial-fila:not(.pv-historial-header):not(.rv-env-fila) > div::before{content:attr(data-label);display:block;font-size:10px;text-transform:uppercase;color:var(--pv-muted);font-weight:700;letter-spacing:.03em;text-align:left;flex-shrink:0}
            /* Detalle de compras dentro de Cuentas por pagar/cobrar
               (.pv-detalle-fila-compacta, la tabla que se despliega al tocar
               la flechita de un proveedor): en escritorio son 9 columnas
               angostas a propósito (85px, 40px...) para caber todas juntas.
               En móvil, etiqueta y valor en la MISMA línea (el patrón
               genérico de arriba) dejaba muy poco ancho para el valor en
               columnas que ya partían angostas — con overflow-wrap:anywhere
               (necesario para que "Fabricación pedido fab-00009..." no se
               saliera de la tarjeta) el resultado era partir hasta fechas
               cortas letra por letra. Selector con 2 clases (más específico
               que la regla genérica de arriba) + !important: la etiqueta
               pasa a ir ARRIBA del valor en vez de al lado, así nunca
               compiten por el mismo ancho sin importar qué tan angosto sea
               el teléfono real. */
            .pv-historial-fila.pv-detalle-fila-compacta:not(.pv-historial-header) > div{display:flex!important;flex-direction:column!important;align-items:flex-start!important;text-align:left!important;gap:3px!important;width:100%!important}
            .pv-historial-fila.pv-detalle-fila-compacta:not(.pv-historial-header) > div::before{text-align:left!important}
            .pv-detalle-fila-compacta{font-size:11.5px!important}
            /* .rv-env-fila (tarjetas de Envíos) también trae pv-historial-fila
               (por el fondo/borde/sombra de tarjeta de arriba), pero su
               contenido NO es el patrón genérico "columnas -> pares
               etiqueta/valor": son secciones propias (badges, foto+nombre,
               carrusel de estado, acciones) cada una con su propio layout.
               Mismo bug que .rv-prov-card de arriba — sin este escape, esta
               regla le metía display:flex + justify-content:space-between a
               CADA hijo directo (incluido .rv-env-stepper-wrap), y como ese
               hijo pasaba a ser un contenedor flex sin ancho forzado, su
               contenido interno (el carrusel, con 5 pasos de 100% cada uno)
               se estiraba a su ancho máximo en vez de encogerse a la
               tarjeta — eso era lo que desbordaba TODA la página hacia la
               derecha. */
            /* .rv-prov-card también trae la clase pv-historial-fila (para
               reusar el clic-completo de tarjeta), pero su diseño es propio
               (avatar+nombre+insignia arriba, saldo/fecha abajo) — nada que
               ver con el genérico "columnas de tabla -> pares etiqueta/valor"
               de arriba. Sin este escape, ese !important de padding lo
               aplastaba y la regla > div le metía un borde y etiquetas
               fantasma (content:attr(data-label) vacío) a sus dos únicos
               hijos, empujando todo el texto a la derecha. Mismo patrón que
               .rv-cxp-card.pv-historial-fila más abajo en este archivo. */
            .rv-prov-card.pv-historial-fila{padding:20px!important}
            .pv-historial-fila:not(.pv-historial-header) > .rv-prov-card-top{padding:0;border-bottom:none;text-align:left;width:100%}
            .pv-historial-fila:not(.pv-historial-header) > .rv-prov-card-foot{padding:12px 0 0;border-bottom:none;text-align:left;width:100%}
            .pv-historial-fila:not(.pv-historial-header) > .rv-prov-card-top::before,
            .pv-historial-fila:not(.pv-historial-header) > .rv-prov-card-foot::before{content:none}
            /* "Saldo" y "Última compra" quedaban apretados hacia el centro de
               la tarjeta en vez de pegados a sus bordes — margin:auto en el
               lado libre de cada bloque es más contundente que fiarse solo
               de justify-content:space-between (que acá competía con el
               gap:10px heredado de la regla genérica de arriba). */
            .rv-prov-card-foot > div:first-child{margin-right:auto}
            .rv-prov-card-foot-der{margin-left:auto}
            /* Cada fila de .pv-table/.pvf-table se convierte en su propia
               tarjeta apilada (mismo lenguaje visual que .pvf-card) en vez
               de forzar scroll horizontal — pv_table_mobile_labels_script()
               (02-helpers.php) copia el texto de cada <th> a un atributo
               data-label en el <td> de su columna, que aquí se pinta como
               etiqueta chica encima del valor. */
            .pv-table,.pvf-table{display:block;border-collapse:separate}
            .pv-table thead,.pvf-table thead{display:none}
            .pv-table tbody,.pvf-table tbody{display:block}
            .pv-table tr,.pvf-table tr{display:block;background:var(--pv-surface);border:1px solid var(--pv-border);border-radius:18px;box-shadow:0 1px 2px rgba(16,24,40,.04),0 8px 20px rgba(16,24,40,.05);padding:14px 16px;margin-bottom:12px;white-space:normal}
            .pv-table tr:has(th),.pvf-table tr:has(th){display:none}
            .pv-table th,.pvf-table th{display:none}
            .pv-table td,.pvf-table td{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:9px 0;border-bottom:1px solid var(--pv-border);font-size:13px;text-align:right;white-space:normal}
            .pv-table td:last-child,.pvf-table td:last-child{border-bottom:none;padding-bottom:0}
            /* La primera celda de cada fila hace de "título" de la tarjeta
               (como el nombre en .rv-prov-card) — sin la etiqueta chica
               encima, en negrita y alineada a la izquierda — en vez de
               tratarse como un par etiqueta/valor más. */
            .pv-table td:first-of-type,.pvf-table td:first-of-type{font-weight:700;font-size:14.5px;color:var(--pv-ink);padding-top:0;text-align:left;justify-content:flex-start}
            .pv-table td:first-of-type::before,.pvf-table td:first-of-type::before{content:none!important}
            .pv-table td[data-label]::before,.pvf-table td[data-label]::before{content:attr(data-label);font-weight:700;color:var(--pv-muted);font-size:10.5px;text-transform:uppercase;letter-spacing:.03em;text-align:left;flex-shrink:0}
            .pv-table td[colspan],.pvf-table td[colspan]{text-align:left;color:var(--pv-muted);font-weight:400;font-size:13px}
            /* Historial de Cuentas — misma tarjeta genérica de arriba, pero con
               jerarquía propia: acento de color según el tipo de operación,
               cuenta+operación juntos arriba (como nombre+badge en las tarjetas
               de Cobrar/Pagar), y el monto como cierre destacado abajo en vez de
               una fila más entre las demás. Solo esta tabla — no toca .pv-table
               genérico usado por el resto de módulos. Orden real de columnas:
               1 cuenta, 2 fecha, 3 usuario, 4 operación, 5 concepto, 6 tasa,
               7 comisión, 8 monto — se reordenan visualmente con "order" sin
               tocar el PHP (los <td> son flex-items del <tr>). */
            #pv-hist-cuentas-tabla tr{display:flex!important;flex-direction:column;border-left-width:4px;border-left-style:solid;border-left-color:var(--pv-border2)}
            #pv-hist-cuentas-tabla tr.pv-hist-op-entrada{border-left-color:#16a34a}
            #pv-hist-cuentas-tabla tr.pv-hist-op-salida,#pv-hist-cuentas-tabla tr.pv-hist-op-eliminacion{border-left-color:#dc2626}
            #pv-hist-cuentas-tabla tr.pv-hist-op-registro{border-left-color:#2563eb}
            #pv-hist-cuentas-tabla td:nth-child(1){order:1;border-bottom:none;padding-bottom:2px}
            #pv-hist-cuentas-tabla td:nth-child(4){order:2;border-bottom:1px dashed var(--pv-border);padding-top:0;margin-bottom:4px}
            #pv-hist-cuentas-tabla td:nth-child(4) strong{display:inline-block;font-size:11px;text-transform:uppercase;letter-spacing:.03em;padding:3px 10px;border-radius:999px;background:var(--pv-bg)}
            #pv-hist-cuentas-tabla td:nth-child(5){order:3}
            #pv-hist-cuentas-tabla td:nth-child(2){order:4}
            /* Gastos (variables/fijos) — mismo criterio: acento de color según
               estado (pagado/pendiente/parcial), nombre+categoría+estado
               juntos arriba, pagado/por-pagar lado a lado como bloque, resto
               apilado. Se usa .pv-gasto-fila (SOLO en filas de datos, nunca
               en la fila de encabezado con <th>) en vez de un <tr> genérico
               a propósito — así no compite con la regla que oculta el
               encabezado en móvil. Orden real de columnas: 1 nombre,
               2 categoría, 3 pagado, 4 por pagar, 5 descripción, 6 fecha,
               7 estado, 8 acciones. */
            #pv-gastos-variables-tabla tr.pv-gasto-fila,#pv-gastos-fijos-tabla tr.pv-gasto-fila{
                display:grid!important;
                grid-template-columns:1fr 1fr;
                grid-template-areas:"nombre nombre" "categoria estado" "pagado pendiente" "fecha fecha" "descripcion descripcion" "acciones acciones";
                row-gap:8px;column-gap:24px;
                border-left-width:4px;border-left-style:solid;border-left-color:var(--pv-border2);
            }
            #pv-gastos-variables-tabla tr.pv-gasto-estado-pagado,#pv-gastos-fijos-tabla tr.pv-gasto-estado-pagado{border-left-color:#16a34a}
            #pv-gastos-variables-tabla tr.pv-gasto-estado-pendiente,#pv-gastos-fijos-tabla tr.pv-gasto-estado-pendiente{border-left-color:#dc2626}
            #pv-gastos-variables-tabla tr.pv-gasto-estado-parcial,#pv-gastos-fijos-tabla tr.pv-gasto-estado-parcial{border-left-color:var(--pv-secondary)}
            #pv-gastos-variables-tabla td:nth-child(1),#pv-gastos-fijos-tabla td:nth-child(1){grid-area:nombre;border-bottom:none;padding-bottom:0}
            #pv-gastos-variables-tabla td:nth-child(2),#pv-gastos-fijos-tabla td:nth-child(2){grid-area:categoria;border-bottom:none;padding:0;justify-content:flex-start}
            #pv-gastos-variables-tabla td:nth-child(2)::before,#pv-gastos-fijos-tabla td:nth-child(2)::before{display:none}
            #pv-gastos-variables-tabla td:nth-child(7),#pv-gastos-fijos-tabla td:nth-child(7){grid-area:estado;border-bottom:none;padding:0;justify-content:flex-start}
            #pv-gastos-variables-tabla td:nth-child(7)::before,#pv-gastos-fijos-tabla td:nth-child(7)::before{display:none}
            #pv-gastos-variables-tabla td:nth-child(7) strong,#pv-gastos-fijos-tabla td:nth-child(7) strong{display:inline-block;font-size:11px;padding:3px 10px;border-radius:999px;background:var(--pv-bg)}
            #pv-gastos-variables-tabla td:nth-child(3),#pv-gastos-fijos-tabla td:nth-child(3){grid-area:pagado;border-bottom:none;flex-direction:column!important;align-items:flex-start!important;gap:2px;background:var(--pv-bg);border-radius:10px;padding:8px 10px!important}
            #pv-gastos-variables-tabla td:nth-child(4),#pv-gastos-fijos-tabla td:nth-child(4){grid-area:pendiente;border-bottom:none;flex-direction:column!important;align-items:flex-start!important;gap:2px;background:var(--pv-bg);border-radius:10px;padding:8px 10px!important}
            #pv-gastos-variables-tabla td:nth-child(6),#pv-gastos-fijos-tabla td:nth-child(6){grid-area:fecha;border-bottom:none;padding:0}
            #pv-gastos-variables-tabla td:nth-child(5),#pv-gastos-fijos-tabla td:nth-child(5){grid-area:descripcion;border-bottom:none;padding:0}
            #pv-gastos-variables-tabla td:nth-child(8),#pv-gastos-fijos-tabla td:nth-child(8){grid-area:acciones;border-bottom:none;justify-content:center;padding:10px 0 0;border-top:1px solid var(--pv-border)}
            #pv-gastos-variables-tabla td:nth-child(8)::before,#pv-gastos-fijos-tabla td:nth-child(8)::before{display:none}
            #pv-hist-cuentas-tabla td:nth-child(3){order:5}
            #pv-hist-cuentas-tabla td:nth-child(6),#pv-hist-cuentas-tabla td:nth-child(7){order:6;font-size:11px;color:var(--pv-muted)}
            #pv-hist-cuentas-tabla td:nth-child(8){order:7;justify-content:center!important;text-align:center!important;border-bottom:none;border-top:1.5px solid var(--pv-border);margin-top:6px;padding-top:12px;font-size:17px;font-weight:800}
            #pv-hist-cuentas-tabla td:nth-child(8)::before{display:none}
            /* El ícono de cada tarjeta KPI (rv-kpi-card) queda arriba a la
               derecha por diseño de escritorio — en pantallas angostas se
               ve como si "flotara" fuera de la tarjeta porque el borde de
               la tarjeta es casi del mismo color que el fondo. Bajarlo
               junto a la etiqueta (en vez de esquina opuesta) lo ata
               visualmente al resto de la tarjeta. */
            .rv-kpi-card-top{flex-wrap:nowrap;gap:10px}
            .rv-kpi-card{border:1.5px solid var(--pv-border2)}
            /* La franja de divisas se repite en varios lugares (encabezado
               global, Ficha de Proveedor, Bancos, Gastos, selector "Divisa"
               en Nuevo Pedido) — misma clase .pv-moneda-switches en todos,
               así que este ajuste compacto para móvil se aplica sin
               restringirlo al encabezado, para que se vea igual de chico y
               consistente en cualquier módulo donde aparezca. */
            .pv-moneda-switches{gap:2px;padding:3px}
            .pv-moneda-switch{padding:6px 10px!important}
            .pv-moneda-switch-label{font-size:11.5px!important}
            .pv-moneda-switch.active{background:linear-gradient(135deg,var(--pv-primary),var(--pv-primary2))!important;box-shadow:0 4px 12px rgba(201,121,10,.3)}
            .pv-moneda-switch.active .pv-moneda-switch-label{color:#fff!important}
        }
        /* overflow-x:auto SIN overflow-y explícito hace que el navegador
           convierta automáticamente el otro eje también a "auto" (regla real
           de la spec de CSS) — sin esta línea aparecían DOS barras de scroll
           (horizontal Y vertical) alrededor de las pestañas, aunque el
           contenido entrara perfecto, con tema de scrollbar clásico de
           Windows. Bug viejo, no de esta ronda, pero se vio al pasar. */
        /* Sin scrollbar-width/::-webkit-scrollbar: la barra de scroll nativa
           gris se veía fea encima de las pestañas — se sigue pudiendo
           deslizar igual, solo se esconde el indicador nativo del sistema
           operativo/navegador (no cambia layout, es puramente cosmético,
           seguro en cualquier tamaño de pantalla). */
        .pv-subtabs{display:flex;gap:23px;margin:-4px 0 16px;border-bottom:1px solid var(--pv-border);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}
        .pv-subtabs::-webkit-scrollbar{display:none}
        .pv-subtab{padding:0 0 11px;font-size:13px;font-weight:600;color:var(--pv-ink);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;flex-shrink:0}
        .pv-subtab:hover{color:var(--pv-primary)}
        .pv-subtab.active{color:var(--pv-primary);border-color:var(--pv-primary)}
        .pv-fabricacion-subtabs .pv-subtab.active,
        .pv-fabricacion-subtabs .pv-subtab:hover{color:#6844DF!important;border-color:#6844DF!important}
        /* Variante <button> de .pv-subtab: las sub-pestañas normales son
           enlaces que navegan, pero el filtro de la ficha de proveedor
           cambia de sección sin recargar (los tres bloques ya vienen en el
           HTML). Un <button> trae fondo/borde/tipografía propios del
           navegador que hay que apagar para que se vea igual que un
           .pv-subtab de siempre. */
        .pv-subtab-btn{background:none;border:none;border-bottom:2px solid transparent;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:7px}
        .pv-subtab-num{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 6px;border-radius:999px;background:var(--pv-surface-2);border:1px solid var(--pv-border);font-size:11px;font-weight:700;color:var(--pv-muted)}
        .pv-subtab.active .pv-subtab-num{background:rgba(var(--pv-primary-rgb),.12);border-color:transparent;color:var(--pv-primary)}
        /* Aviso "Desliza →" debajo de la barra de sub-pestañas de Inventario
           (Productos/Categorías/Almacenes/Movimientos/Alertas/Servicios/
           Canales de venta — 7 ítems, se salen en un teléfono). Un intento
           anterior lo puso como ::after DENTRO de .pv-subtabs con
           position:absolute — no servía: .pv-subtabs tiene overflow-x:auto
           (que de paso vuelve el eje Y "hidden" también, ver comentario más
           arriba en este archivo), así que cualquier hijo posicionado fuera
           de su propia caja (bottom negativo) queda recortado por ese
           overflow y nunca se ve, aunque el CSS esté bien escrito. Por eso
           esto es un HERMANO real después de </div> (echo aparte en
           pv_tabs_inventario_html(), 18-modulo-inventario.php) — nunca lo
           toca el overflow del padre. Oculto en escritorio a propósito. */
        .pv-inv-tabs-hint{display:none}
        /* Botón "Imprimir"/"Descargar PDF" de Inventario: en escritorio el
           panel de los 2 botones queda siempre visible (así se veía antes
           de envolverlos en .rv-inv-print-wrap) y el ícono-engranaje de
           abajo se apaga — nada cambia acá. Se invierte solo en móvil, ver
           @media de abajo. */
        .rv-inv-print-toggle{display:none}
        .rv-inv-print-panel{display:flex;gap:10px;flex-wrap:wrap}
        @media (max-width:820px){
            .pv-inv-tabs-hint{
                display:block;
                text-align:right;
                margin:-10px 0 14px;
                font-size:10px;
                font-weight:700;
                color:var(--pv-primary);
                letter-spacing:.02em;
                animation:pv-subtabs-arrow 1.3s ease-in-out infinite;
            }
            @keyframes pv-subtabs-arrow{
                0%,100%{transform:translateX(0)}
                50%{transform:translateX(4px)}
            }
            /* "+ Movimiento"/"↓ Ingreso a inventario"/"+ Nuevo producto":
               BIEN CENTRADOS y ocupando la fila COMPLETA — la fila
               (.rv-inv-acciones-row) crece con flex:1 para llenar todo el
               ancho disponible (se oculta el <span> vacío de la izquierda
               que en escritorio la empuja a la derecha, para que tenga todo
               el ancho de la tarjeta), y cada botón toma flex:1 en partes
               iguales adentro con el texto centrado — quedan repartidos a
               lo ancho de punta a punta, ni pegados a un lado ni con hueco
               suelto. Mismo breakpoint (820px) que el aviso "Desliza →" de
               arriba (antes vivía en un @media(max-width:680px) aparte, y
               en el rango 680-820px no aplicaba nada todavía — se veían
               pegados a la derecha con ancho natural de escritorio).
               !important en accion-txt-corta: sin él, pierde contra la
               regla base "display:none" de más arriba en este archivo — las
               dos tienen la misma especificidad (una sola clase) y la base
               está escrita DESPUÉS en el archivo, así que ganaba ella y el
               texto corto ("+ Mov."/etc.) desaparecía por completo (botones
               vacíos, bug real de una vuelta anterior de este ajuste). */
            .rv-inv-toolbar-row>span:first-child{display:none}
            .rv-inv-accion-txt-larga{display:none}
            .rv-inv-accion-txt-corta{display:inline!important}
            .rv-inv-acciones-row{flex:1;flex-wrap:nowrap!important;gap:6px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}
            .rv-inv-acciones-row::-webkit-scrollbar{display:none}
            .rv-inv-acciones-row .pvf-btn{flex:1;white-space:nowrap;padding:7px 8px!important;font-size:11px!important;text-align:center}
            /* "Modificación masiva de precios"/"+ Agregar canal de venta"
               (Canales de venta): a diferencia de +Mov./↓Ingreso/+Nuevo de
               Productos, acá el texto es largo y no tiene versión corta —
               forzarlos al mismo scroll horizontal nowrap de arriba los
               dejaba cortados a la mitad contra el borde de la pantalla.
               Con solo 2 botones, apilarlos de a uno por fila es más claro
               que obligar a deslizar. :has() sobre el marcador
               .rv-inv-btn-canal para no tocar la fila de Productos. */
            .rv-inv-acciones-row:has(.rv-inv-btn-canal){flex-wrap:wrap!important;overflow-x:visible!important}
            .rv-inv-btn-canal{flex:1 1 100%!important;white-space:normal!important;font-size:12.5px!important;padding:10px 12px!important}
            /* "Imprimir"/"Descargar PDF" colapsados en un solo ícono 🖨:
               mismo patrón sin JS que .pv-personalizar-btn/-panel (checkbox
               + :has()). El panel flota anclado al ícono en vez de ocupar
               sitio en la fila, que ya está apretada con +Mov./↓Ingreso/
               +Nuevo al lado. */
            .rv-inv-print-wrap{position:relative;flex-shrink:0}
            .rv-inv-print-toggle{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--pv-surface);border:2px solid var(--pv-primary);color:var(--pv-primary-dark);cursor:pointer;flex-shrink:0;box-shadow:0 1px 3px rgba(16,24,40,.06)}
            .rv-inv-print-wrap:has(#rv-inv-print-check:checked) .rv-inv-print-toggle{background:var(--pv-bg)}
            .rv-inv-print-panel{display:none;position:absolute;top:calc(100% + 8px);left:0;z-index:120;flex-direction:column;gap:8px;background:var(--pv-surface);border:1px solid var(--pv-border);border-radius:14px;box-shadow:0 14px 34px rgba(30,27,46,.16);padding:10px;min-width:172px}
            .rv-inv-print-wrap:has(#rv-inv-print-check:checked) .rv-inv-print-panel{display:flex}
            .rv-inv-print-panel button{width:100%;justify-content:center;white-space:nowrap}
        }
        .pv-historial-toolbar{display:flex;justify-content:space-between;align-items:center;gap:11px;flex-wrap:wrap;margin-bottom:6px}
        .pv-historial-buscar-input{padding:8px 14px;border:1.5px solid var(--pv-border);border-radius:999px;font-size:12px;min-width:200px;background:var(--pv-surface-2);font-family:inherit;box-sizing:border-box}
        .pv-historial-buscar-input:focus{outline:none;border-color:var(--pv-primary);box-shadow:0 0 0 4px rgba(var(--pv-primary-rgb),.12);background:var(--pv-surface)}
        /* .pv-money nunca tuvo estilo propio — solo era un gancho para el
           formateo automático de pv_money_mask_script(), así que salía con
           el input feo por defecto del navegador en cualquier tabla donde
           se usara (ej. precios por canal). */
        .pv-money{padding:9px 12px;border:1.5px solid var(--pv-border2);border-radius:11px;font-size:13px;font-weight:600;font-family:inherit;background:var(--pv-surface-2);color:var(--pv-ink);box-sizing:border-box;transition:border-color .15s,box-shadow .15s,background .15s}
        .pv-money:focus{outline:none;border-color:var(--pv-primary);box-shadow:0 0 0 4px rgba(var(--pv-primary-rgb),.12);background:var(--pv-surface)}
        html body .pv-wrap .pv-money,html body .pvf-shell .pv-money,html body .pv-modal-box .pv-money{border:1.5px solid var(--pv-border2)!important;border-radius:11px!important;padding:9px 12px!important;background-color:#F3F4F9!important;font-weight:600!important;box-shadow:none!important}
        html body .pv-wrap .pv-money:focus,html body .pvf-shell .pv-money:focus,html body .pv-modal-box .pv-money:focus{border-color:var(--pv-primary)!important;background-color:#fff!important;box-shadow:0 0 0 4px rgba(var(--pv-primary-rgb),.12)!important}
        .pv-resumen-lista{display:flex;flex-direction:column;gap:2px;margin-top:9px}
        .pv-resumen-fila{display:flex;justify-content:space-between;align-items:flex-start;gap:9px;font-size:11.5px;padding:8px 0;border-bottom:1px solid var(--pv-border)}
        .pv-tr-credito-input-wrap{max-width:190px;flex-shrink:0}
        @media (max-width:480px){
            /* En pantallas angostas, la etiqueta larga ("Cantidad a acreditar
               en cuenta destino (editable)") + el input de al lado no caben
               en la misma línea — .pv-resumen-fila no envuelve por defecto,
               así que el input quedaba recortado contra el borde derecho de
               la tarjeta. Se apila: etiqueta arriba, input a todo el ancho
               abajo, igual que el resto de campos del formulario. */
            .pv-tr-credito-fila{flex-direction:column;align-items:stretch}
            .pv-tr-credito-input-wrap{max-width:none;width:100%}
        }
        .pv-resumen-fila span:first-child{color:var(--pv-muted);font-weight:600;flex-shrink:0}
        .pv-resumen-fila span:last-child{color:var(--pv-ink);font-weight:700;text-align:right;word-break:break-word}
        /* Fila de detalle de una cuenta pendiente — MISMA clase para Pagar y
           Cobrar a propósito, para que se vean idénticas. Ya no llevan la
           descripción completa adentro (eso ahora vive en el modal "Ver
           detalle", ver pv_modal_detalle_cuenta_pendiente() en
           08-modulo-cuentas.php) — antes esa descripción autogenerada
           ("saldo pendiente del pedido... comprobante... cliente... total...")
           era mucho más larga que el monto le dejaba espacio, y en un
           teléfono terminaba partida carácter por carácter. */
        .pv-cxp-fila-detalle span:first-child{flex-shrink:1;min-width:0;overflow-wrap:break-word;flex:1}
        .pv-cxp-fila-detalle span:last-child{flex-shrink:0;white-space:nowrap}
        @media (max-width:640px){
            .pv-cxp-fila-detalle{flex-direction:column;align-items:stretch;gap:6px}
            .pv-cxp-fila-detalle span:first-child{flex:none;width:100%;white-space:normal}
            .pv-cxp-fila-detalle span:last-child{justify-content:flex-end!important;width:100%;white-space:normal;flex-wrap:wrap;row-gap:6px}
            /* Monto e íconos de acción, cada uno en su propia línea (3 líneas
               en total con la fecha/"Ver detalle" de arriba), en vez de
               apretarlos juntos y que el navegador decida dónde partir. */
            .pv-cxp-detalle-derecha{flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:6px!important}
            .pv-cxp-detalle-monto{display:block!important;width:100%!important;text-align:center!important}
            .pv-cxp-detalle-monto .pv-moneda-badge{display:inline-block!important;width:auto!important;flex:none!important}
            .pv-cxp-detalle-acciones{flex-wrap:wrap;justify-content:center}
        }
        /* Tarjeta individual por cuenta dentro del detalle de Cobrar — clases
           propias y sin compartir con nada más (a diferencia de .pv-cxp-fila-
           detalle, que arrastraba reglas de otros lados difíciles de rastrear).
           Todo centrado, apilado, pensado para celular desde el inicio. */
        .pv-detalle-box:not([hidden]){display:block!important}
        .pv-cxp-item-card{display:block!important;float:none!important;width:auto!important;box-sizing:border-box!important;background:#fff;border:1px solid var(--pv-border);border-radius:12px;padding:12px 14px;margin:0 0 10px!important}
        .pv-cxp-item-card:last-child{margin-bottom:0!important}
        .pv-cxp-item-fecha{font-size:11.5px;color:var(--pv-muted);text-align:center;margin-bottom:8px}
        .pv-cxp-item-monto{text-align:center;font-size:15px;margin-bottom:10px}
        .pv-cxp-item-acciones{display:flex!important;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;position:relative}
        /* Escritorio: esta tarjeta se diseñó "pensada para celular desde el
           inicio" (ver comentario de arriba) y se quedó igual sin importar
           el ancho de pantalla — en monitor se veía como una fila angosta y
           centrada en medio de todo el espacio disponible. Acá abajo se
           convierte en una fila horizontal de verdad (fecha | monto |
           acciones), sin tocar ni una regla de las de arriba — esas siguen
           siendo las que mandan en móvil, intactas. */
        @media (min-width:641px){
            .pv-cxp-item-card{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px;flex-wrap:wrap}
            .pv-cxp-item-fecha{text-align:left;margin-bottom:0;flex:1 1 220px;min-width:0}
            .pv-cxp-item-monto{text-align:left;margin-bottom:0;flex:0 0 auto;white-space:nowrap}
            .pv-cxp-item-acciones{justify-content:flex-end;flex:0 0 auto;gap:8px}
        }
        .pv-resumen-nota{font-size:10px;color:var(--pv-muted);margin:11px 0 0}
        .pv-dash-welcome{margin-bottom:16px}
        .pv-saldos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:13px;margin-top:13px}
        .pv-saldo-card{background:var(--pv-bg);border:1px solid var(--pv-border);border-radius:13px;padding:14px}
        .pv-saldo-nombre{display:block;font-weight:700;color:var(--pv-ink);text-decoration:none;font-size:13px;margin-bottom:7px}
        .pv-saldo-nombre:hover{color:var(--pv-primary)}
        .pv-saldo-monto{font-size:13px}
        .pv-bancos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:13px}
        .pv-banco-card{display:flex;flex-direction:column;border-left:3px solid #0d9488}
        .pv-banco-card-top{display:flex;align-items:center;gap:8px;margin-bottom:7px}
        .pv-banco-card-top strong{font-size:13.5px;color:var(--pv-ink);font-weight:700}
        .pv-banco-icono{width:27px;height:27px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#ccfbf1;color:#0f766e}
        .pv-banco-icono svg{width:13px;height:13px}
        .pv-banco-saldo{font-size:15px;font-weight:700;color:var(--pv-ink)}
        .pv-banco-metodos{background:var(--pv-bg);border-radius:10px;padding:10px;margin-top:11px}
        .pv-banco-metodos .pv-pill{margin:0 6px 6px 0}
        .pv-kpi-trend{font-size:10.5px;font-weight:700}
        .pv-kpi-trend.up{color:#16a34a}
        .pv-kpi-trend.down{color:#dc2626}
        .pv-reporte-resumen{display:flex;align-items:stretch;flex-wrap:wrap}
        .pv-reporte-resumen-item{display:flex;gap:11px;align-items:center;padding:10px 22px;flex:1;min-width:150px}
        .pv-reporte-resumen-item+.pv-reporte-resumen-item{border-left:1px solid var(--pv-border)}
        @media (max-width:900px){ .pv-reporte-resumen-item+.pv-reporte-resumen-item{border-left:none;border-top:1px solid var(--pv-border)} }
        .pv-reporte-resumen-icono{width:40px;height:40px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center}
        .pv-reporte-resumen-label{font-size:11px;color:var(--pv-muted);font-weight:700;margin-bottom:2px}
        .pv-reporte-resumen-valor{font-size:18px;font-weight:800;color:var(--pv-ink);line-height:1.2}
        .pv-reporte-resumen-sub{font-size:10.5px;color:var(--pv-muted)}
        .pv-reporte-resumen-chart-item{flex:1.4;min-width:190px}
        .pv-reporte-chart-wrap{position:relative;height:52px;margin-top:4px}
        .pv-reporte-ic-indigo{background:var(--pv-bg);color:var(--pv-primary-dark)}
        .pv-reporte-ic-verde{background:#d1fae5;color:#059669}
        .pv-reporte-ic-amber{background:var(--pv-bg);color:var(--pv-secondary2)}
        .pv-reporte-vista-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:22px 0 4px}
        .pv-reporte-badge{background:var(--pv-bg);border:1px solid var(--pv-border);border-radius:999px;padding:5px 12px;font-size:11px;font-weight:700;color:var(--pv-muted)}
        .pv-reporte-tabla-header{display:flex;align-items:center;gap:10px}
        .pv-reporte-tabla-icono{width:34px;height:34px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center}
        .pv-reporte-total-row{display:flex;justify-content:space-between;padding:11px 9px 4px;font-size:12.5px;font-weight:700;color:var(--pv-ink);border-top:2px solid var(--pv-border);margin-top:2px}

        /* ===== Historial de Pedidos — tarjeta de móvil (boceto aprobado
           2026-07-15, mismo lenguaje que Producto/Movimiento/Servicio) =====
           Estado+Fecha arriba, Cliente como título (Número como subtítulo —
           al revés de Productos, acá el nombre importa más que el código),
           Total/Pagado en una franja de 2 columnas, Acciones al pie (hasta
           5 íconos según el estado del pedido — Editar/Despachar/Devolución/
           Ver recibo/Enviar/Eliminar — se acomodan en fila con salto de
           línea si no caben todos). Reordena SOLO con CSS Grid areas, sin
           tocar el HTML ni el grid-template-columns de escritorio. */
        .rv-ped-total-etiqueta{display:none}
        @media (max-width:680px){
            #pv-hist-pedidos-card{background:transparent;border:none;box-shadow:none;padding:0}
            /* Buscador + "Todos los estados" en la MISMA fila — antes el
               buscador tenía flex:1 1 220px (un mínimo demasiado ancho para
               un teléfono) así que el botón de estado nunca cabía al lado y
               se caía a su propia línea. Se encoge el buscador y el botón
               de estado se acorta (texto con elipsis) para que siempre
               entren los dos juntos. */
            #pv-hist-pedidos-card .pv-historial-toolbar{flex-wrap:nowrap!important;gap:8px!important}
            /* Cuentas pendientes por pagar/cobrar (misma clase .rv-cxp-toolbar
               en las dos, a propósito, para que se comporten IDÉNTICAS):
               título + buscador + total pendiente iban cada uno en su propia
               línea en móvil. Pasan a una sola fila que se desliza de lado
               si no entra todo — mismo patrón que las pestañas de
               Fabricación/Envíos. */
            .rv-cxp-toolbar{flex-wrap:nowrap!important;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}
            .rv-cxp-toolbar::-webkit-scrollbar{display:none}
            /* En móvil solo quedan visibles el buscador y el total pendiente
               — el título ya es redundante (la pestaña activa arriba ya dice
               "Cuentas por pagar"/"por cobrar"). */
            .rv-cxp-toolbar h2{display:none}
            .rv-cxp-toolbar .pv-historial-buscar-input{flex:1 1 auto;min-width:0}
            .rv-cxp-toolbar .pv-chip{flex-shrink:0}
            #pv-hist-pedidos-card .pv-historial-buscar-input{flex:1 1 auto!important;min-width:0!important}
            #pv-hist-pedidos-card #pv-hist-filtro-estado-form{flex-shrink:0!important}
            #pv-hist-pedidos-card .pv-combo-trigger{padding:9px 10px!important;font-size:11.5px!important;min-width:0!important}
            #pv-hist-pedidos-card .pv-combo-trigger-label{max-width:78px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
            .rv-ped-table-row.pv-historial-header{display:none!important}
            .rv-ped-table-row{
                display:grid!important;
                grid-template-columns:repeat(2,minmax(0,1fr))!important;
                grid-template-areas:
                    "estado fecha"
                    "cliente cliente"
                    "numero numero"
                    "total pagado"
                    "acciones acciones"!important;
                row-gap:7px!important;column-gap:8px!important;
                padding:14px 14px 12px!important;
                border:1px solid var(--pv-border)!important;
                border-radius:16px!important;
                margin-bottom:10px!important;
                background:var(--pv-surface);
                box-shadow:0 1px 2px rgba(16,24,40,.03),0 8px 20px rgba(16,24,40,.05);
            }
            .rv-ped-table-row>div{padding:0!important;border-bottom:none!important;justify-content:flex-start!important;text-align:left!important}
            .rv-ped-table-row>div::before{content:none!important}
            .rv-ped-table-row>div[data-label="Estado"]{grid-area:estado;justify-self:start}
            .rv-ped-table-row>div[data-label="Fecha"]{grid-area:fecha;justify-self:end;font-size:10.5px;font-weight:600;color:var(--pv-muted);font-variant-numeric:tabular-nums}
            .rv-ped-table-row>div[data-label="Cliente"]{grid-area:cliente;font-size:14.5px;font-weight:700;color:var(--pv-ink);line-height:1.3}
            .rv-ped-table-row>div[data-label="Número"]{grid-area:numero;margin-top:-4px;font-size:11px;color:var(--pv-muted);font-variant-numeric:tabular-nums}
            .rv-ped-table-row>div[data-label="Número"] strong{font-weight:600}
            .rv-ped-table-row>div[data-label="Total"],
            .rv-ped-table-row>div[data-label="Pagado"]{
                display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
                min-width:0;gap:3px;background:var(--pv-bg);padding:8px 4px!important;text-align:center!important;font-size:12.5px;font-weight:800;color:var(--pv-ink);overflow-wrap:break-word
            }
            .rv-ped-table-row>div[data-label="Total"]{grid-area:total;border-radius:10px 0 0 10px;border-right:1px solid var(--pv-border);color:var(--pv-primary-dark)}
            .rv-ped-table-row>div[data-label="Pagado"]{grid-area:pagado;border-radius:0 10px 10px 0}
            .rv-ped-table-row>div[data-label="Pagado"]::before{
                content:attr(data-label)!important;font-size:8.5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--pv-muted)
            }
            /* "TOTAL USD"/"TOTAL COP": HTML real (no ::before), mismo motivo
               y mismo bug ya resuelto que en Inventario → Productos
               (.rv-inv-precio-etiqueta): la divisa necesita SU PROPIO color
               ámbar, un pseudo-elemento no puede pintar la mitad de otro
               color, y el uppercase necesita !important porque
               ".pvf-shell *{text-transform:lowercase!important}" le gana a
               un uppercase sin !important en HTML real (a diferencia de
               ::before, que esa regla global no toca). El badge de divisa
               viejo (pv_moneda_badge, pegado al monto) se apaga porque
               ahora es redundante con la etiqueta de arriba. */
            .rv-ped-total-etiqueta{display:block!important;font-size:8.5px;font-weight:800;text-transform:uppercase!important;letter-spacing:.03em;color:var(--pv-muted);margin-bottom:1px}
            .rv-ped-total-moneda{color:var(--pv-primary);text-transform:uppercase!important}
            .rv-ped-table-row>div[data-label="Total"] .pv-moneda-badge{display:none}
            .rv-ped-table-row>div[data-label="Acciones"]{grid-area:acciones;display:flex!important;flex-wrap:wrap;justify-content:flex-end!important;align-items:center!important;gap:6px;padding-top:9px!important;border-top:1px solid var(--pv-border)!important;margin-top:2px}

            /* Historial de Fabricación: tarjeta propia, NO reusa
               .rv-ped-table-row — ese grid trae "estado"/"pagado" que acá no
               existen y le falta un área para "Ítems", que sí tiene. Reusarlo
               tal cual dejaba "Ítems" cayendo en el hueco de "estado" (arriba
               a la izquierda, donde no pertenece) y "Total" con la mitad de
               una píldora que nunca se completaba (sin "Pagado" al lado). */
            .rv-fab-hist-row.pv-historial-header{display:none!important}
            .rv-fab-hist-row{
                display:grid!important;
                grid-template-columns:repeat(2,minmax(0,1fr))!important;
                grid-template-areas:
                    "numero fecha"
                    "cliente cliente"
                    "items total"
                    "estado estado"
                    "acciones acciones"!important;
                row-gap:7px!important;column-gap:8px!important;
                padding:14px 14px 12px!important;
                border:1px solid var(--pv-border)!important;
                border-radius:16px!important;
                margin-bottom:10px!important;
                background:var(--pv-surface);
                box-shadow:0 1px 2px rgba(16,24,40,.03),0 8px 20px rgba(16,24,40,.05);
            }
            .rv-fab-hist-row>div{padding:0!important;border-bottom:none!important;justify-content:flex-start!important;text-align:left!important}
            .rv-fab-hist-row>div::before{content:none!important}
            .rv-fab-hist-row>div[data-label="Número"]{grid-area:numero;justify-self:start;font-size:11px;font-weight:600;color:var(--pv-muted);font-variant-numeric:tabular-nums}
            .rv-fab-hist-row>div[data-label="Fecha"]{grid-area:fecha;justify-self:end;font-size:10.5px;font-weight:600;color:var(--pv-muted);font-variant-numeric:tabular-nums}
            .rv-fab-hist-row>div[data-label="Cliente"]{grid-area:cliente;font-size:14.5px;font-weight:700;color:var(--pv-ink);line-height:1.3}
            .rv-fab-hist-row>div[data-label="Ítems"],
            .rv-fab-hist-row>div[data-label="Total"]{
                display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
                min-width:0;gap:3px;background:var(--pv-bg);padding:8px 4px!important;text-align:center!important;font-size:12.5px;font-weight:800;color:var(--pv-ink);overflow-wrap:break-word
            }
            .rv-fab-hist-row>div[data-label="Ítems"]{grid-area:items;border-radius:10px 0 0 10px;border-right:1px solid var(--pv-border)}
            .rv-fab-hist-row>div[data-label="Ítems"]::before{content:"Ítems"!important;font-size:8.5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--pv-muted)}
            .rv-fab-hist-row>div[data-label="Total"]{grid-area:total;border-radius:0 10px 10px 0;color:var(--pv-primary-dark)}
            .rv-fab-hist-row>div[data-label="Total"]::before{content:"Total"!important;font-size:8.5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--pv-muted)}
            .rv-fab-hist-row>div[data-label="Total"] .pv-moneda-badge{display:none}
            .rv-fab-hist-row>div[data-label="Estado"]{grid-area:estado;justify-self:start;display:block!important}
            /* El badge queda como hijo de un contenedor flex (regla genérica
               .pv-historial-fila > div{display:flex} más arriba) — un
               elemento con display:inline-block dentro de un flex container
               se "blockifica" para el layout Y hereda align-items:stretch
               por default, así que sin esto podía perder su forma de
               píldora (padding/radio/color aplastados) en vez de quedar
               como una etiqueta compacta. Se refuerza todo explícito para
               que la píldora se vea siempre igual acá, sin depender de
               heredar nada del contenedor. */
            .rv-fab-hist-row>div[data-label="Estado"] .pv-estado-badge{display:inline-flex!important;align-items:center!important;align-self:flex-start!important;padding:3px 10px!important;border-radius:999px!important;font-size:10px!important;font-weight:700!important}
            .rv-fab-hist-row>div[data-label="Acciones"]{grid-area:acciones;display:flex!important;flex-wrap:wrap;justify-content:flex-end!important;align-items:center!important;gap:6px;padding-top:9px!important;border-top:1px solid var(--pv-border)!important;margin-top:2px}
        }

        /* ===== Historial de Fabricación — rediseño Noalyx QA ===== */
        .pv-fh-page-head{box-sizing:border-box;margin:0 0 16px;padding:18px 22px;border:1px solid #E4E8F0;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(30,34,60,.06)}
        .pv-fh-heading-row{display:flex;align-items:center;justify-content:space-between;gap:20px}
        .pv-fh-title-wrap{display:flex;align-items:center;min-width:0;gap:13px}
        .pv-fh-title-wrap>span:last-child{min-width:0}
        .pv-fh-title-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 48px;width:48px;height:48px;border:1px solid rgba(104,68,223,.16);border-radius:14px;background:linear-gradient(145deg,#F4F0FF,#FFF1F5);color:#6844DF;box-shadow:0 7px 16px rgba(104,68,223,.10)}
        .pv-fh-title-icon svg{width:27px;height:27px;fill:none;stroke:url(#pv-fh-title-gradient);stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
        .pv-fh-page-head h1{margin:0!important;color:#172033!important;font-size:22px!important;font-weight:850!important;line-height:1.15!important;letter-spacing:-.025em!important}
        .pv-fh-page-head p{margin:5px 0 0!important;color:#8290A7!important;font-size:11.5px!important;line-height:1.35!important}
        html body .pvf-shell .pv-fh-new-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;box-sizing:border-box!important;min-width:156px!important;height:42px!important;min-height:42px!important;margin:0!important;padding:0 18px!important;border:0!important;border-radius:11px!important;background:linear-gradient(115deg,#6844DF 0%,#8B35E7 48%,#F5011F 100%)!important;color:#fff!important;font-size:12.5px!important;font-weight:800!important;line-height:1!important;text-decoration:none!important;box-shadow:0 8px 18px rgba(104,68,223,.20)!important}
        .pv-fh-new-btn>span{margin-right:7px;color:#fff!important;font-size:20px;line-height:1}
        .pv-fh-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:16px;padding:11px 0;border:1px solid #E5E9F1;border-radius:13px;background:#FCFDFE}
        .pv-fh-metric{display:flex;align-items:center;justify-content:center;min-width:0;gap:11px;padding:0 18px;border-left:1px solid #E6EAF1}
        .pv-fh-metric:first-child{border-left:0}
        .pv-fh-metric-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:36px;border-radius:10px;background:#F3F5F8;color:#7E899D}
        .pv-fh-metric-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
        .pv-fh-metric-violet{background:#F2EEFF;color:#6844DF}
        .pv-fh-metric-teal{background:#E6FAF7;color:#0BA596}
        .pv-fh-metric>span:last-child{display:flex;min-width:0;flex-direction:column;gap:3px}
        .pv-fh-metric strong{color:#172033;font-size:18px;font-weight:850;line-height:1;font-variant-numeric:tabular-nums}
        .pv-fh-metric small{color:#7F8CA1;font-size:10.5px;font-weight:600;white-space:nowrap}
        .pv-fh-metric-total strong{font-size:17px;white-space:nowrap}
        .pv-fh-metric-total strong em{margin-left:3px;color:#738097;font-size:10px;font-style:normal;font-weight:750}
        .pv-fh-card{padding:0!important;overflow:visible!important;border-radius:18px!important;box-shadow:0 12px 30px rgba(30,34,60,.065)!important}
        .pv-fh-toolbar{display:block!important;margin:0!important;padding:15px 17px 13px!important;border-bottom:1px solid #E6EAF1!important;border-radius:18px 18px 0 0!important;background:#fff!important}
        .pv-fh-filter-row{display:grid;grid-template-columns:minmax(250px,1fr) 210px auto minmax(230px,auto);align-items:center;gap:10px}
        .pv-fh-search-wrap{position:relative;display:block;min-width:0;margin:0!important}
        .pv-fh-search-wrap>span{position:absolute;left:13px;top:50%;z-index:2;display:inline-flex;width:17px;height:17px;transform:translateY(-50%);color:#596579;pointer-events:none}
        .pv-fh-search-wrap svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
        html body .pvf-shell #pv-fh-search{box-sizing:border-box;width:100%;max-width:none;height:42px!important;min-height:42px!important;margin:0!important;padding:0 13px 0 40px!important;border:1px solid #D7DEE9!important;border-radius:11px!important;background:#fff!important;color:#172033!important;font-size:12px!important;box-shadow:none!important}
        html body .pvf-shell #pv-fh-search:focus{outline:none;border-color:#6844DF!important;box-shadow:0 0 0 3px rgba(104,68,223,.09)!important}
        #pv-fab-hist-card #pv-fab-hist-filtro-estado-form{width:210px;margin:0!important}
        #pv-fab-hist-card #pv-combo-estado-fab{width:100%;min-width:0}
        html body .pvf-shell #pv-fab-hist-card #pv-combo-estado-fab .pv-combo-trigger{width:100%;min-width:0;height:42px;min-height:42px;border-color:#6844DF!important}
        .pv-fh-periods{display:flex;align-items:center;gap:6px;min-width:0;white-space:nowrap}
        html body .pvf-shell .pv-fh-period{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:42px!important;min-height:42px!important;margin:0;padding:0 14px;border:1px solid #D8DFEA!important;border-radius:11px;background:#fff!important;color:#677489!important;font-size:10.5px;font-weight:750;line-height:1;text-decoration:none!important;box-shadow:none!important;cursor:pointer}
        html body .pvf-shell .pv-fh-period.active{border-color:#6844DF!important;background:#6844DF!important;color:#fff!important;box-shadow:0 5px 12px rgba(104,68,223,.18)!important}
        .pv-fh-visible-summary{display:flex;align-items:center;justify-self:end;box-sizing:border-box;height:42px;min-height:42px;margin:0!important;color:#7F8CA1!important;font-size:10.5px!important;line-height:1.35!important;white-space:nowrap}
        .pv-fh-visible-summary strong{color:#172033;font-weight:800}
        .pv-fh-visible-summary .pv-cod-moneda{display:inline-block;margin-left:6px;color:#6844DF!important;font-size:9px!important}
        #pv-fab-hist-card #pv-fab-hist-tabla{overflow:visible}
        #pv-fab-hist-card .pv-fh-table-row{display:grid!important;grid-template-columns:minmax(205px,1.05fr) minmax(190px,1.28fr) 74px 175px 145px 140px!important;min-width:0;gap:0;padding:0 12px!important}
        #pv-fab-hist-card .pv-fh-table-row.pv-historial-header{min-height:43px;background:#F8F9FC;color:#8591A5}
        #pv-fab-hist-card .pv-fh-table-row.pv-historial-header>div{padding:11px 10px!important;font-size:9.5px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.045em!important}
        #pv-fab-hist-card .pv-fh-data-row{min-height:78px;background:#fff;transition:background .15s}
        #pv-fab-hist-card .pv-fh-data-row:hover{background:#FCFBFF}
        #pv-fab-hist-card .pv-fh-data-row>div{box-sizing:border-box;min-width:0;padding:12px 10px!important}
        .pv-fh-order-cell{display:flex!important;align-items:center!important;gap:10px!important}
        .pv-fh-order-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:36px;border:1px solid #DDD4FB;border-radius:10px;background:#FCFBFF;color:#6844DF}
        .pv-fh-order-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
        .pv-fh-order-copy{display:flex;min-width:0;flex-direction:column;gap:4px}
        .pv-fh-order-copy strong,.pv-fh-client-cell strong{overflow:hidden;color:#172033;font-size:11.5px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}
        .pv-fh-order-copy small{color:#7F8CA1;font-size:9.5px;font-weight:600}
        .pv-fh-client-cell,.pv-fh-items-cell,.pv-fh-total-cell,.pv-fh-status-cell{display:flex!important;align-items:center!important}
        .pv-fh-items-cell{justify-content:center!important;color:#172033;font-variant-numeric:tabular-nums}
        .pv-fh-items-cell strong{font-size:11.5px}
        .pv-fh-total-cell{gap:5px;white-space:nowrap;font-variant-numeric:tabular-nums}
        .pv-fh-total-cell strong{color:#172033;font-size:11.5px;font-weight:800}
        .pv-fh-total-cell .pv-cod-moneda{padding:4px 7px;border-radius:8px;background:#F2F5F9;color:#0873A7!important;font-size:8.5px!important;font-weight:850!important}
        .pv-fh-status-cell .pv-estado-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:5px 11px!important;border-radius:999px!important;font-size:9.5px!important;font-weight:750!important;white-space:nowrap}
        .pv-fh-actions{position:relative;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:7px!important;overflow:visible!important}
        html body .pvf-shell .pv-fh-view-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box;min-width:108px;height:36px;min-height:36px;padding:0 13px;border:1px solid #6844DF!important;border-radius:9px;background:#fff!important;color:#6844DF!important;font-size:10.5px;font-weight:800;text-transform:uppercase!important;text-decoration:none!important;box-shadow:none!important;white-space:nowrap}
        .pv-fh-more-wrap{position:relative;display:inline-flex;flex:0 0 auto}
        html body .pvf-shell .pv-fh-more-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box;width:36px!important;min-width:36px!important;height:36px!important;min-height:36px!important;margin:0!important;padding:0!important;border:1px solid #6844DF!important;border-radius:9px!important;background:#fff!important;color:#6844DF!important;box-shadow:none!important;cursor:pointer}
        .pv-fh-more-btn svg{width:17px;height:17px;fill:currentColor;stroke:none}
        .pv-fh-actions-menu{position:absolute;top:calc(100% + 7px);right:0;z-index:100300;box-sizing:border-box;min-width:158px;padding:7px;border:1px solid #E2DAFA;border-radius:11px;background:#fff;box-shadow:0 13px 30px rgba(48,35,91,.16)}
        .pv-fh-actions-menu[hidden]{display:none!important}
        .pv-fh-actions-menu a{display:flex!important;align-items:center!important;gap:9px;min-height:38px;padding:0 10px;border-radius:8px;color:#6844DF!important;font-size:11px;font-weight:750;text-decoration:none!important}
        .pv-fh-actions-menu a:hover{background:#F3EEFF!important}
        .pv-fh-actions-menu svg{width:16px!important;height:16px!important;color:#6844DF!important;stroke:currentColor!important}
        html body .pvf-shell #pv-fab-hist-card .pv-fh-data-row.pv-fh-filtered-out{display:none!important}
        #pv-fab-hist-card>.pv-muted{padding:24px!important}
        @media(max-width:1320px){.pv-fh-filter-row{grid-template-columns:minmax(250px,1fr) 210px auto}.pv-fh-visible-summary{grid-column:1/-1;justify-self:end}.pv-fh-metric{padding:0 12px}}
        @media(max-width:1020px){.pv-fh-metrics{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:12px;padding:12px}.pv-fh-metric{justify-content:flex-start;padding:4px 14px;border-left:0}.pv-fh-metric:nth-child(even){border-left:1px solid #E6EAF1}.pv-fh-filter-row{grid-template-columns:minmax(240px,1fr) 210px}.pv-fh-periods{grid-column:1/-1;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.pv-fh-periods::-webkit-scrollbar{display:none}.pv-fh-visible-summary{grid-column:1/-1}.pv-fh-card{overflow:hidden!important}#pv-fab-hist-card #pv-fab-hist-tabla{overflow-x:auto}#pv-fab-hist-card .pv-fh-table-row{min-width:960px}}
        @media(max-width:680px){.pv-fh-page-head{padding:15px;border-radius:15px}.pv-fh-heading-row{align-items:flex-start;flex-direction:column}.pv-fh-title-icon{flex-basis:42px;width:42px;height:42px}.pv-fh-title-icon svg{width:23px;height:23px}.pv-fh-page-head h1{font-size:18px!important}.pv-fh-page-head p{font-size:10.5px!important}html body .pvf-shell .pv-fh-new-btn{width:100%!important}.pv-fh-metrics{grid-template-columns:1fr 1fr;gap:0;padding:9px}.pv-fh-metric{padding:8px 9px}.pv-fh-metric:nth-child(even){border-left:1px solid #E6EAF1}.pv-fh-metric:nth-child(n+3){border-top:1px solid #E6EAF1}.pv-fh-metric-icon{flex-basis:32px;width:32px;height:32px}.pv-fh-metric strong{font-size:15px}.pv-fh-metric small{font-size:9px}.pv-fh-metric-total strong{font-size:13px}.pv-fh-card{overflow:visible!important}.pv-fh-toolbar{padding:12px!important}.pv-fh-filter-row{grid-template-columns:1fr}.pv-fh-search-wrap,#pv-fab-hist-card #pv-fab-hist-filtro-estado-form{width:100%}.pv-fh-periods{grid-column:1;overflow-x:auto}.pv-fh-visible-summary{grid-column:1;justify-self:start;white-space:normal}#pv-fab-hist-card #pv-fab-hist-tabla{overflow:visible;padding:10px;background:#F7F8FC}#pv-fab-hist-card .pv-fh-table-row.pv-historial-header{display:none!important}#pv-fab-hist-card .pv-fh-table-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-areas:"pedido pedido" "cliente cliente" "items total" "estado estado" "acciones acciones"!important;min-width:0!important;min-height:0!important;margin-bottom:10px;padding:13px!important;border:1px solid #E3E7EF!important;border-radius:14px!important;background:#fff!important;box-shadow:0 6px 18px rgba(24,31,51,.055)}#pv-fab-hist-card .pv-fh-data-row>div{padding:0!important;border:0!important}.pv-fh-order-cell{grid-area:pedido;padding-bottom:10px!important;border-bottom:1px solid #E9ECF2!important}.pv-fh-client-cell{grid-area:cliente;padding:10px 0!important}.pv-fh-items-cell{grid-area:items;justify-content:flex-start!important;min-height:44px;padding:8px 10px!important;border-radius:9px 0 0 9px!important;background:#F6F7FB}.pv-fh-items-cell::before{content:"Ítems";margin-right:auto;color:#8591A5;font-size:8.5px;font-weight:800;text-transform:uppercase}.pv-fh-total-cell{grid-area:total;justify-content:flex-end!important;min-height:44px;padding:8px 10px!important;border-left:1px solid #E2E6EE!important;border-radius:0 9px 9px 0!important;background:#F6F7FB}.pv-fh-status-cell{grid-area:estado;padding:10px 0!important}.pv-fh-actions{grid-area:acciones;padding-top:10px!important;border-top:1px solid #E9ECF2!important}.pv-fh-view-btn{flex:1}.pv-fh-actions-menu{right:0}.pv-fh-order-copy strong,.pv-fh-client-cell strong{white-space:normal}}

        @media(max-width:680px){.pv-fh-visible-summary{height:auto;min-height:42px}}

        /* ===== Historial de Pedidos — flujo compacto Noalyx QA ===== */
        .rv-prov-page-head.pv-hp-page-head{display:flex!important;grid-template-columns:none!important;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px!important;padding:17px 20px;border:1px solid var(--pv-border);border-radius:18px;background:var(--pv-surface);box-shadow:0 10px 28px rgba(30,34,60,.06)}
        .pv-hp-title-wrap{display:flex;align-items:center;gap:12px;min-width:0}
        .pv-hp-title-wrap>span:last-child{min-width:0}
        .pv-hp-title-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 42px;width:42px;height:42px;border-radius:13px;color:#fff;background:linear-gradient(140deg,#6d3df5,#d71978);box-shadow:0 8px 18px rgba(109,61,245,.2)}
        .pv-hp-title-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
        .pv-hp-page-head h1{font-size:20px!important;letter-spacing:-.025em}
        .pv-hp-page-head p{font-size:12px!important}
        .pv-hp-page-head .pv-hp-new-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;box-sizing:border-box!important;width:auto!important;min-width:158px!important;height:42px!important;min-height:42px!important;padding:0 18px!important;border:0!important;border-radius:11px!important;background:linear-gradient(115deg,#6D3DF5 0%,#8B35E7 48%,#F5011F 100%)!important;color:#fff!important;box-shadow:0 8px 18px rgba(109,61,245,.22)!important}
        .pv-hp-page-head .pv-hp-new-btn:hover{background:linear-gradient(115deg,#5B2DE2 0%,#7D2ED5 48%,#DF001C 100%)!important;box-shadow:0 10px 22px rgba(109,61,245,.28)!important;transform:translateY(-1px)}
        .pv-hp-card{padding:0!important;overflow:visible!important;border-radius:18px!important;box-shadow:0 12px 30px rgba(30,34,60,.065)!important}
        .pv-hp-toolbar{display:block!important;padding:15px 17px 12px!important;border-bottom:1px solid var(--pv-border);background:var(--pv-surface);border-radius:18px 18px 0 0}
        .pv-hp-filter-row{display:grid;grid-template-columns:minmax(260px,1fr) 175px 180px;gap:9px;align-items:center}
        .pv-hp-search-wrap{position:relative;display:block;min-width:0}
        .pv-hp-search-icon{position:absolute;left:13px;top:50%;z-index:2;display:inline-flex;width:16px;height:16px;transform:translateY(-50%);color:var(--pv-primary);pointer-events:none}
        .pv-hp-search-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
        #pv-hist-pedidos-card #pv-hp-search{width:100%;height:41px;padding:0 13px 0 39px!important;border:1px solid var(--pv-border2)!important;border-radius:11px!important;background:var(--pv-surface)!important;font-size:12px!important}
        #pv-hist-pedidos-card #pv-hp-search:focus{border-color:var(--pv-primary)!important;box-shadow:0 0 0 3px rgba(var(--pv-primary-rgb),.09)!important}
        .pv-hp-status-form{display:block!important;min-width:0}
        .pv-hp-status-form .pv-cs{display:block;width:100%;max-width:none}
        .pv-hp-status-form .pv-cs-trigger{height:41px;border-radius:11px;font-size:11.5px}
        #pv-hist-pedidos-card #pv-hp-payment-filter{width:100%;height:41px;margin:0}
        #pv-hist-pedidos-card .pv-hp-filter-row>.pv-cs{display:block;width:100%;max-width:none}
        #pv-hist-pedidos-card .pv-hp-filter-row>.pv-cs .pv-cs-trigger{height:41px;border-radius:11px;font-size:11.5px}
        html body #pv-hist-pedidos-card .pv-hp-status-form .pv-cs .pv-cs-trigger,
        html body #pv-hist-pedidos-card .pv-hp-filter-row>.pv-cs .pv-cs-trigger{position:relative!important;padding-right:46px!important}
        html body #pv-hist-pedidos-card .pv-hp-status-form .pv-cs.pv-campo-completo .pv-cs-trigger::after,
        html body #pv-hist-pedidos-card .pv-hp-filter-row>.pv-cs.pv-campo-completo .pv-cs-trigger::after{display:none!important}
        html body #pv-hist-pedidos-card .pv-hp-status-form .pv-cs .pv-cs-chevron,
        html body #pv-hist-pedidos-card .pv-hp-filter-row>.pv-cs .pv-cs-chevron{position:absolute!important;right:14px!important;top:50%!important;margin:0!important;transform:translateY(-50%)!important}
        html body #pv-hist-pedidos-card .pv-hp-status-form .pv-cs.pv-cs-open .pv-cs-chevron,
        html body #pv-hist-pedidos-card .pv-hp-filter-row>.pv-cs.pv-cs-open .pv-cs-chevron{transform:translateY(-50%) rotate(180deg)!important}
        .pv-hp-quick-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}
        .pv-hp-periods{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
        .pv-hp-period{min-height:29px;padding:0 10px;border:1px solid var(--pv-border);border-radius:9px;background:var(--pv-surface-2);color:var(--pv-muted);font-size:10px;font-weight:750;cursor:pointer}
        .pv-hp-period.active{border-color:#6D3DF5;background:#6D3DF5;color:#fff;box-shadow:0 5px 12px rgba(109,61,245,.18)}
        .pv-hp-visible-summary{color:var(--pv-muted);font-size:10px;white-space:nowrap}
        .pv-hp-visible-summary strong{color:var(--pv-ink);font-weight:750}
        #pv-hist-pedidos-card .pv-hp-visible-summary .pv-cod-moneda{display:inline-block;margin-left:6px;color:#6844DF!important;font-size:9px!important;font-weight:850!important}
        #pv-hist-pedidos-card .pv-historial-tabla{overflow:visible}
        #pv-hist-pedidos-card .pv-hp-table-row{grid-template-columns:minmax(180px,1.05fr) minmax(180px,1.25fr) 125px 155px 100px 145px!important;gap:0;min-width:940px;padding:0 12px!important}
        #pv-hist-pedidos-card .pv-hp-table-row.pv-historial-header{min-height:43px;background:var(--pv-surface-2);color:var(--pv-muted)}
        #pv-hist-pedidos-card .pv-hp-table-row.pv-historial-header>div{padding:11px 10px!important;font-size:9.5px!important;text-transform:uppercase!important;letter-spacing:.04em}
        #pv-hist-pedidos-card .pv-hp-data-row{min-height:70px;transition:background .15s}
        #pv-hist-pedidos-card .pv-hp-data-row:hover{background:rgba(var(--pv-primary-rgb),.025)}
        #pv-hist-pedidos-card .pv-hp-data-row>div{padding:11px 10px!important}
        .pv-hp-filtered-out{display:none!important}
        .pv-hp-order-cell{display:flex!important;align-items:center!important;gap:10px;min-width:0}
        .pv-hp-order-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:rgba(var(--pv-primary-rgb),.1);color:var(--pv-primary)}
        .pv-hp-order-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
        .pv-hp-order-copy,.pv-hp-client-cell{display:flex!important;flex-direction:column;align-items:flex-start!important;min-width:0}
        .pv-hp-order-copy strong,.pv-hp-client-cell strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pv-ink);font-size:11.5px;font-weight:750}
        .pv-hp-order-copy small,.pv-hp-client-cell small{margin-top:3px;color:var(--pv-muted);font-size:9.5px;line-height:1.25}
        .pv-hp-total-cell{display:flex!important;align-items:baseline!important;gap:4px;font-variant-numeric:tabular-nums;white-space:nowrap}
        .pv-hp-total-cell strong{font-size:12px;color:var(--pv-ink)}
        .pv-hp-total-cell .pv-moneda-badge{font-size:8px!important}
        .pv-hp-paid{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:750;white-space:nowrap}
        .pv-hp-paid svg{width:14px;height:14px}
        .pv-hp-paid-yes{color:#089b68}
        .pv-hp-paid-no{color:#d04449}
        .pv-hp-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:7px;overflow:visible!important}
        .pv-hp-mobile-refund-menu{display:none!important}
        .pv-hp-detail-btn{min-height:34px;padding:0 11px;border:1px solid var(--pv-primary);border-radius:9px;background:transparent;color:var(--pv-primary);font-size:10.5px;font-weight:750;white-space:nowrap;cursor:pointer}
        .pv-hp-detail-btn:hover{background:rgba(var(--pv-primary-rgb),.06)}
        .pv-hp-more-btn{display:inline-flex!important;align-items:center;justify-content:center;width:34px!important;height:34px!important;min-height:34px!important;padding:0!important;border:1px solid var(--pv-border)!important;border-radius:9px!important;background:var(--pv-surface)!important;color:var(--pv-muted)!important}
        .pv-hp-more-btn svg{width:17px;height:17px;fill:currentColor}
        .pv-hp-actions-menu{min-width:215px!important;padding:10px!important;gap:7px!important}
        .pv-hp-actions-menu form{display:block;width:100%;margin:0}
        .pv-hp-menu-action{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important;box-sizing:border-box!important;width:100%!important;height:48px!important;min-height:48px!important;max-height:48px!important;margin:0!important;padding:0 12px!important;border:1px solid #6D3DF5!important;border-radius:10px;background:var(--pv-surface);color:#6D3DF5!important;font-family:inherit!important;font-size:10.5px;font-weight:700;line-height:1.2!important;text-align:left;text-decoration:none;cursor:pointer}
        .pv-hp-menu-action:hover{border-color:#5B2DE2!important;background:rgba(109,61,245,.07);color:#5B2DE2!important}
        .pv-hp-menu-action svg{flex:0 0 15px;width:15px;height:15px}
        .pv-hp-menu-danger{border-color:#F5011F!important;color:#F5011F!important}
        .pv-hp-menu-danger:hover{border-color:#D9001B!important;background:#fff1f2;color:#D9001B!important}
        .pv-hp-detail-row{padding:0 13px 12px;background:var(--pv-surface)}
        .pv-hp-detail-row[hidden]{display:none!important}
        .pv-hp-detail-panel{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,.7fr);gap:16px;padding:14px 15px;border:1px solid rgba(var(--pv-primary-rgb),.2);border-radius:13px;background:rgba(var(--pv-primary-rgb),.035)}
        .pv-hp-detail-panel h3{margin:0 0 8px!important;font-size:11.5px!important}
        .pv-hp-detail-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid rgba(var(--pv-primary-rgb),.1);font-size:10.5px}
        .pv-hp-detail-item:last-of-type{border-bottom:0}
        .pv-hp-detail-item>span{display:flex;flex-direction:column;min-width:0}
        .pv-hp-detail-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pv-ink)}
        .pv-hp-detail-item small{margin-top:2px;color:var(--pv-muted);font-size:9px}
        .pv-hp-detail-item b{flex-shrink:0;color:var(--pv-ink);font-size:10px}
        .pv-hp-more-items{margin:7px 0 0;color:var(--pv-primary);font-size:9.5px;font-weight:700}
        .pv-hp-detail-summary{display:grid;gap:7px;align-content:start}
        .pv-hp-detail-summary>div{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px}
        .pv-hp-detail-summary>div span{color:var(--pv-muted)}
        .pv-hp-detail-summary>div strong{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pv-ink)}
        .pv-hp-detail-total{margin-top:3px;padding-top:8px;border-top:1px solid rgba(var(--pv-primary-rgb),.18);font-size:11px!important}
        .pv-hp-empty{padding:32px 18px;text-align:center;color:var(--pv-muted);font-size:11px}
        .pv-hp-empty[hidden]{display:none!important}
        @media (max-width:680px){
            .pv-hp-page-head{align-items:stretch;flex-direction:column;padding:14px;margin-bottom:10px!important}
            .pv-hp-page-head .pv-hp-new-btn{width:100%!important;justify-content:center}
            #pv-hist-pedidos-card{background:transparent!important;border:none!important;box-shadow:none!important}
            #pv-hist-pedidos-card .pv-hp-toolbar{padding:12px!important;border:1px solid var(--pv-border);border-radius:15px;margin-bottom:10px}
            .pv-hp-filter-row{grid-template-columns:minmax(0,1fr) minmax(118px,.55fr)!important;gap:7px}
            .pv-hp-search-wrap{grid-column:1/-1}
            .pv-hp-status-form{min-width:0}
            #pv-hist-pedidos-card .pv-hp-filter-row>.pv-cs{min-width:0}
            .pv-hp-quick-row{align-items:flex-start;flex-direction:column}
            .pv-hp-periods{flex-wrap:nowrap;width:100%;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
            .pv-hp-periods::-webkit-scrollbar{display:none}
            .pv-hp-period{flex:0 0 auto}
            .pv-hp-visible-summary{white-space:normal}
            #pv-hist-pedidos-card .pv-hp-table-row.pv-historial-header{display:none!important}
            #pv-hist-pedidos-card .pv-hp-data-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-areas:"pedido pedido" "cliente cliente" "estado pago" "total total" "acciones acciones"!important;min-width:0!important;row-gap:9px!important;column-gap:8px!important;padding:14px!important;border:1px solid var(--pv-border)!important;border-radius:16px!important;margin-bottom:10px!important;background:var(--pv-surface)!important;box-shadow:0 7px 20px rgba(16,24,40,.05)}
            #pv-hist-pedidos-card .pv-hp-data-row>div{padding:0!important;border:0!important;background:transparent!important}
            #pv-hist-pedidos-card .pv-hp-order-cell{grid-area:pedido}
            #pv-hist-pedidos-card .pv-hp-client-cell{grid-area:cliente;padding-bottom:8px!important;border-bottom:1px solid var(--pv-border)!important}
            #pv-hist-pedidos-card .pv-hp-data-row>div[data-label="Estado"]{grid-area:estado;justify-self:start}
            #pv-hist-pedidos-card .pv-hp-paid-cell{grid-area:pago;justify-self:end}
            #pv-hist-pedidos-card .pv-hp-total-cell{grid-area:total;padding:9px 10px!important;border-radius:10px!important;background:var(--pv-bg)!important;justify-content:space-between!important}
            #pv-hist-pedidos-card .pv-hp-total-cell .rv-ped-total-etiqueta{display:block!important;margin:0}
            #pv-hist-pedidos-card .pv-hp-actions{grid-area:acciones;padding-top:9px!important;border-top:1px solid var(--pv-border)!important;margin-top:1px;justify-content:flex-end!important}
            .pv-hp-detail-btn{flex:1}
            .pv-hp-detail-row{padding:0 0 10px;background:transparent}
            .pv-hp-detail-panel{grid-template-columns:1fr;padding:13px}
        }

        /* ===== Canales de venta / Precios por canal — rediseño Noalyx QA ===== */
        .pv-canales-panel{position:relative;overflow:hidden;padding:0!important;border-radius:18px!important;box-shadow:0 10px 30px rgba(35,28,76,.07)!important}
        .pv-canales-panel:before{content:"";position:absolute;z-index:1;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--pv-primary),#d91679,#24b9d7)}
        .pv-canales-panel-cabecera{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px 16px;border-bottom:1px solid var(--pv-border);background:linear-gradient(100deg,var(--pv-surface) 50%,rgba(var(--pv-primary-rgb),.035))}
        .pv-canales-titulo-wrap{display:flex;align-items:center;gap:11px;min-width:0}
        .pv-canales-titulo-wrap h2{margin:0!important;font-size:14px;line-height:1.3;color:var(--pv-ink)}
        .pv-canales-titulo-wrap p{margin:4px 0 0!important;font-size:11px;line-height:1.45}
        .pv-canales-titulo-icono{display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:rgba(var(--pv-primary-rgb),.11);color:var(--pv-primary)}
        .pv-canales-titulo-icono svg{width:19px;height:19px}
        .pv-canales-contador{display:inline-flex;align-items:center;justify-content:center;min-width:23px;height:21px;padding:0 7px;margin-left:5px;border-radius:999px;background:rgba(var(--pv-primary-rgb),.11);color:var(--pv-primary);font-size:10px;font-weight:800;vertical-align:1px}
        .pv-canales-resumen{flex-shrink:0;padding:6px 10px;border:1px solid var(--pv-border);border-radius:999px;background:var(--pv-surface);color:var(--pv-muted);font-size:10px;font-weight:700}
        .pv-canales-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding:14px;background:var(--pv-bg)}
        .pv-canal-card{position:relative;min-width:0;min-height:112px;padding:13px;border:1px solid var(--pv-border);border-radius:14px;background:var(--pv-surface);box-shadow:0 2px 9px rgba(23,25,45,.035);transition:border-color .16s,transform .16s,box-shadow .16s}
        .pv-canal-card:hover{transform:translateY(-2px);border-color:rgba(var(--pv-primary-rgb),.32);box-shadow:0 9px 20px rgba(45,37,85,.08)}
        .pv-canal-card.es-personalizado:after{content:"";position:absolute;right:-22px;bottom:-22px;width:42px;height:42px;border:8px solid rgba(36,185,215,.11);border-radius:50%;pointer-events:none}
        .pv-canal-card-top{display:flex;align-items:center;gap:7px;margin-bottom:12px}
        .pv-canal-card-icono{display:inline-flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:rgba(var(--pv-primary-rgb),.11);color:var(--pv-primary)}
        .pv-canal-card-icono svg{width:17px;height:17px}
        .pv-canal-card.es-personalizado .pv-canal-card-icono{background:rgba(36,185,215,.12);color:#0798b7}
        .pv-canal-tipo{margin-left:auto;padding:3px 7px;border-radius:999px;background:rgba(var(--pv-primary-rgb),.1);color:var(--pv-primary);font-size:9px;font-weight:800}
        .pv-canal-card.es-personalizado .pv-canal-tipo{display:none}
        .pv-canal-eliminar-form{display:inline-flex;margin-left:auto;position:relative;z-index:2}
        .pv-canal-eliminar-form .pv-icon-btn{width:28px!important;height:28px!important;min-height:28px!important;border:none!important;background:transparent!important;box-shadow:none!important}
        .pv-canal-card-nombre{display:block;overflow:hidden;color:var(--pv-ink);font-size:11.5px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
        .pv-canal-card-descripcion{display:block;margin-top:5px;color:var(--pv-muted);font-size:10px;line-height:1.35}
        .pv-canales-vacio{margin:0;padding:18px 20px}
        .pv-canales-subtabs-fila{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:17px 2px 11px}
        .pv-canales-subtabs-fila .pv-subtabs{margin:0!important;gap:20px}
        .pv-canales-subtabs-fila .pv-subtab{position:relative;padding:8px 2px!important;background:transparent!important;border:none!important;border-radius:0!important;color:var(--pv-muted)!important;font-size:11.5px;font-weight:700;box-shadow:none!important}
        .pv-canales-subtabs-fila .pv-subtab:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--pv-primary),#d91679);opacity:0;transform:scaleX(.35);transition:opacity .16s,transform .16s}
        .pv-canales-subtabs-fila .pv-subtab.active{color:var(--pv-primary)!important}
        .pv-canales-subtabs-fila .pv-subtab.active:after{opacity:1;transform:scaleX(1)}
        html body #pv-agregar-canal-venta-btn{border-color:transparent!important;background-color:#6D3DF5!important;background-image:linear-gradient(105deg,#6D3DF5 0%,#8B35E7 58%,#F5011F 100%)!important;color:#fff!important;box-shadow:0 8px 18px rgba(109,61,245,.18)!important}
        html body #pv-agregar-canal-venta-btn:hover{border-color:transparent!important;background-color:#6033E8!important;background-image:linear-gradient(105deg,#6033E8 0%,#812FD8 58%,#E6001D 100%)!important;color:#fff!important;box-shadow:0 10px 22px rgba(109,61,245,.24)!important;transform:translateY(-1px)}
        .pv-precios-canal-panel{padding:0!important;overflow:hidden;border-radius:18px!important;box-shadow:0 10px 30px rgba(35,28,76,.07)!important}
        .pv-precios-canal-toolbar{align-items:center!important;margin:0!important;padding:16px 18px!important;border-bottom:1px solid var(--pv-border);background:linear-gradient(100deg,var(--pv-surface) 50%,rgba(var(--pv-primary-rgb),.035))}
        .pv-precios-titulo-icono{background:rgba(var(--pv-primary-rgb),.11)}
        .pv-precios-canal-filtros{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
        .pv-precios-canal-filtros .pv-inv-filtro-select,.pv-precios-canal-filtros .pv-pc-search{height:38px!important;min-height:38px!important;border:1px solid var(--pv-border)!important;border-radius:11px!important;background:var(--pv-surface)!important;box-shadow:none!important;font-size:10.5px!important}
        .pv-precios-canal-filtros .pv-inv-filtro-select:focus,.pv-precios-canal-filtros .pv-pc-search:focus{border-color:var(--pv-primary)!important;box-shadow:0 0 0 3px rgba(var(--pv-primary-rgb),.1)!important}
        .pv-precios-almacen-select{width:300px;max-width:300px}
        #pv-precios-canal-card .pv-precios-canal-filtros>.pv-cs{width:300px;min-width:300px;max-width:300px}
        .pv-precios-canal-tabla{margin:0!important;overflow-x:auto}
        .pv-precios-canal-tabla .pv-historial-header{background:var(--pv-bg)!important;color:var(--pv-muted)!important;font-size:9px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.025em}
        .pv-precios-canal-tabla .rv-canal-table-row{width:100%;min-width:1180px;padding-left:14px!important;padding-right:14px!important;border-bottom:1px solid var(--pv-border)!important}
        .pv-precios-canal-tabla .rv-canal-table-row:last-child{border-bottom:none!important}
        .pv-precios-canal-tabla .rv-canal-table-row:not(.pv-historial-header):hover{background:rgba(var(--pv-primary-rgb),.025)}
        .pv-precio-item-nombre{display:flex!important;align-items:center!important;gap:9px!important;min-width:220px;color:var(--pv-ink);font-weight:700;line-height:1.3}
        .pv-precio-item-icono{display:inline-flex;align-items:center;justify-content:center;flex:0 0 29px;width:29px;height:29px;border-radius:9px;background:rgba(var(--pv-primary-rgb),.1);color:var(--pv-primary);font-size:9px;font-weight:800}
        .pv-precio-celda{display:flex!important;align-items:center!important;gap:4px!important}
        .pv-precio-celda .pv-money{width:92px!important;max-width:92px!important;min-height:34px!important;padding:6px 10px!important;border:1px solid var(--pv-border)!important;border-radius:9px!important;background:var(--pv-bg)!important;color:var(--pv-ink)!important;font-size:10.5px!important;font-weight:700!important;text-align:right;box-shadow:none!important;transition:border-color .16s,box-shadow .16s,background .16s}
        .pv-precio-celda .pv-money:focus{border-color:var(--pv-primary)!important;background:var(--pv-surface)!important;box-shadow:0 0 0 3px rgba(var(--pv-primary-rgb),.1)!important;outline:none!important}
        .pv-precio-celda .pv-money.pv-cambiado,.pv-precio-celda .pv-money[data-pv-modificado="1"]{border-color:var(--pv-primary)!important;background:rgba(var(--pv-primary-rgb),.08)!important;color:var(--pv-primary)!important}
        /* En esta matriz el check global de "campo completo" ocupa el espacio
           del monto y dificulta comparar precios. Se conserva la validación,
           pero sin ícono ni padding adicional dentro de estas celdas. */
        html body #pv-precios-canal-card .pv-precio-celda input.pv-money.pv-campo-completo{padding-right:10px!important;background-image:none!important;background-repeat:no-repeat!important}
        html body #pv-precios-canal-card .pv-precios-canal-filtros .pv-cs.pv-campo-completo .pv-cs-trigger{padding-right:46px!important}
        html body #pv-precios-canal-card .pv-precios-canal-filtros .pv-cs.pv-campo-completo .pv-cs-trigger::after{display:none!important}
        html body #pv-precios-canal-card .pv-precios-canal-filtros .pv-cs .pv-cs-trigger{position:relative!important}
        html body #pv-precios-canal-card .pv-precios-canal-filtros .pv-cs .pv-cs-chevron{position:absolute!important;right:14px!important;top:50%!important;margin:0!important;transform:translateY(-50%)!important}
        html body #pv-precios-canal-card .pv-precios-canal-filtros .pv-cs.pv-cs-open .pv-cs-chevron{transform:translateY(-50%) rotate(180deg)!important}
        .pv-precios-guardar-inferior{margin:14px 16px 16px!important}
        #pv-precios-canal-card .pv-paginacion{padding:0 16px 16px}
        @media(max-width:1180px){.pv-canales-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
        @media(max-width:760px){
            .pv-canales-panel-cabecera,.pv-precios-canal-toolbar{align-items:flex-start!important;flex-direction:column}
            .pv-canales-resumen{align-self:flex-start}
            .pv-precios-canal-filtros{width:100%;justify-content:flex-start}
        }
        @media(max-width:620px){
            .pv-canales-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px}
            .pv-canales-panel-cabecera{padding:16px}
            .pv-canales-subtabs-fila{align-items:flex-start;flex-direction:column}
            .pv-canales-subtabs-fila>button{align-self:stretch}
            .pv-precios-canal-filtros>*{flex:1 1 140px;min-width:0}
            .pv-precios-canal-filtros .pv-inv-filtro-select,.pv-precios-canal-filtros .pv-pc-search{width:100%;max-width:none!important}
            #pv-precios-canal-card .pv-precios-canal-filtros>.pv-cs{width:auto;min-width:0;max-width:none}
        }
        @media(max-width:390px){.pv-canales-grid{grid-template-columns:1fr}}

        /* ===== "Precio de venta por canal" — tarjeta de móvil (boceto
           aprobado 2026-07-15) =====
           A diferencia de Producto/Movimiento/Pedido/Servicio, esta tabla
           tiene un número DINÁMICO de columnas (una por cada canal de venta
           que el usuario haya creado), así que no se puede armar un
           grid-template-areas fijo como en esas otras. En vez de eso, se
           reusa el sistema GENÉRICO de .pv-historial-fila (el mismo que
           convierte cualquier tabla en tarjetas con label:valor, ya activo
           desde @media 820px más arriba en este archivo) — la única
           diferencia real de esta tabla es que antes NUNCA tuvo
           data-label en sus celdas (ni el nombre del producto ni cada
           canal), así que en móvil los precios aparecían sin decir de qué
           canal eran. Con los data-label agregados en PHP, el sistema
           genérico ya alcanza para mostrarlos bien — acá solo se afina el
           primer campo (nombre del producto) para que se vea como título
           de tarjeta en vez de una fila más "PRODUCTOS: nombre". */
        @media (max-width:680px){
            #pv-precios-canal-card{background:transparent;border:none;box-shadow:none;padding:0}
            .rv-canal-table-row.pv-historial-header{display:none!important}
            .rv-canal-table-row{
                display:block!important;
                padding:14px 16px 12px!important;
                border:1px solid var(--pv-border)!important;
                border-radius:16px!important;
                margin-bottom:10px!important;
                background:var(--pv-surface);
                box-shadow:0 1px 2px rgba(16,24,40,.03),0 8px 20px rgba(16,24,40,.05);
            }
            .rv-canal-table-row>div{padding:8px 0!important}
            /* Nombre del producto: título, sin el rótulo "PRODUCTOS" delante
               y con su propia línea divisoria (separa el título del resto
               de los canales, que sí siguen mostrando label:valor). */
            .rv-canal-table-row>div[data-label="Productos"]{font-size:14.5px;font-weight:700;color:var(--pv-ink);padding:0 0 10px!important;margin-bottom:2px;border-bottom:2px solid var(--pv-border)!important}
            .rv-canal-table-row>div[data-label="Productos"]::before{content:none!important}
            /* Nombre del canal (Detal/Mercado libre/Por mayor/…): texto
               normal en vez del rótulo chico gris mayúscula que usa el
               sistema genérico por defecto — acá el nombre del canal ES el
               dato principal de la fila, no una etiqueta secundaria. */
            .rv-canal-table-row>div:not([data-label="Productos"])::before{font-size:12.5px!important;font-weight:600!important;text-transform:none!important;letter-spacing:0!important;color:var(--pv-ink)!important}
            .rv-canal-table-row .pv-money{max-width:110px!important}
        }

        /* ===== Paginador de tablas largas (matriz de precios por canal) =====
           La barra la arma el JS de pv_money_mask_script() sobre cualquier
           contenedor con data-pv-paginar="N"; acá va solo el estilo.
           El display:none lleva !important a propósito: las reglas de tarjeta
           de móvil de más arriba (.rv-canal-table-row{display:block!important})
           le ganarían a un display:none normal y la fila "oculta" seguiría
           viéndose. */
        .pv-fila-oculta,.pv-historial-fila.pv-fila-oculta,.rv-canal-table-row.pv-fila-oculta{display:none!important}
        .pv-paginador{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;margin:16px 0 0}
        .pv-paginador:empty{display:none}
        .pv-paginador-info{width:100%;text-align:center;font-size:12px;font-weight:600;color:var(--pv-muted);margin-bottom:4px}
        .pv-pag-btn{min-width:34px;height:34px;padding:0 10px;border:1.5px solid var(--pv-border2);border-radius:10px;background:var(--pv-surface);color:var(--pv-ink);font-family:inherit;font-size:12.5px;font-weight:700;cursor:pointer;box-shadow:none;transition:border-color .15s,background .15s,color .15s}
        .pv-pag-btn:hover:not(:disabled){border-color:var(--pv-primary);color:var(--pv-primary)}
        .pv-pag-btn:disabled{opacity:.4;cursor:default}
        .pv-pag-btn.activa{background:var(--pv-primary);border-color:var(--pv-primary);color:#fff}
        .pv-pag-puntos{color:var(--pv-muted);font-weight:700;padding:0 2px}
        @media (max-width:680px){
            .pv-paginador{gap:5px;margin-top:12px}
            .pv-pag-btn{min-width:32px;height:32px;padding:0 8px;font-size:12px}
        }

        /* ===== Módulo Gastos — resumen premium (adaptado a la paleta del sistema) ===== */
        .rv-gastos-resumen{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 1.35fr;gap:16px;margin:0 0 18px}
        .rv-gasto-kpi,.rv-gasto-chart-card{background:var(--pv-surface);border:1px solid var(--pv-border);border-radius:18px;box-shadow:0 10px 26px rgba(30,27,46,.05);padding:20px;position:relative;overflow:hidden}
        .rv-gasto-kpi{min-height:170px;border-top:2px solid var(--pv-secondary)}
        .rv-gasto-kpi::after{content:"";position:absolute;right:20px;bottom:18px;width:110px;height:52px;background:repeating-linear-gradient(135deg,rgba(128,85,232,.16) 0 12px,transparent 12px 28px);opacity:.75}
        .rv-kpi-icon{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--pv-secondary2),var(--pv-secondary));color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:none;margin-bottom:16px}
        .rv-gasto-kpi span{display:block;font-size:12.5px;font-weight:700;color:var(--pv-muted);margin-bottom:6px}
        .rv-gasto-kpi strong{display:block;font-size:26px;line-height:1;font-weight:800;color:var(--pv-ink);letter-spacing:-.02em}
        .rv-gasto-kpi strong small{font-size:11px;color:var(--pv-primary);background:#eef0ff;padding:3px 7px;border-radius:999px;letter-spacing:0;vertical-align:middle;font-weight:700}
        .rv-gasto-kpi p{margin:12px 0 0;display:inline-flex;background:var(--pv-bg);color:var(--pv-muted);padding:5px 10px;border-radius:999px;font-size:11px;font-weight:700}
        .rv-gasto-chart-card{min-height:170px}
        .rv-chart-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
        .rv-chart-head h3{margin:0;font-size:14px;font-weight:800;color:var(--pv-ink)}
        .rv-chart-head span{color:var(--pv-muted);font-size:14px;cursor:default}
        .rv-chart-content{display:grid;grid-template-columns:96px 1fr;gap:18px;align-items:center}
        .rv-donut-empty{width:92px;height:92px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}
        .rv-donut-empty strong{font-size:15px;font-weight:800;color:var(--pv-ink);line-height:1}
        .rv-donut-empty small{margin-top:4px;font-size:10px;font-weight:700;color:var(--pv-muted)}
        .rv-chart-legend{font-size:12px;color:var(--pv-muted)}
        .rv-chart-legend p{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:7px 0}
        .rv-chart-legend p span{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:6px;flex-shrink:0}
        .rv-chart-legend p b{color:var(--pv-ink);font-weight:700}
        .rv-chart-legend hr{border:0;border-top:1px solid var(--pv-border);margin:10px 0}
        .rv-chart-legend>strong{display:flex;justify-content:space-between;color:var(--pv-ink);font-size:12.5px;font-weight:800}
        .pv-tab-label svg{width:13px;height:13px;vertical-align:-2px;margin-right:4px}
        .rv-empty-state{min-height:220px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:var(--pv-muted);padding:30px 20px}
        .rv-empty-state-icon{width:64px;height:64px;border-radius:20px;background:var(--pv-bg);border:1px solid var(--pv-border2);color:var(--pv-primary);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
        .rv-empty-state strong{color:var(--pv-ink);font-size:14px;font-weight:800;margin-bottom:5px}
        .rv-empty-state p{margin:0;font-size:12px;color:var(--pv-muted)}
        @media (max-width:1280px){ .rv-gastos-resumen{grid-template-columns:repeat(2,minmax(0,1fr))} .rv-gasto-chart-card{grid-column:span 2} }
        @media (max-width:760px){ .rv-gastos-resumen{grid-template-columns:1fr;gap:12px} .rv-gasto-chart-card{grid-column:span 1} .rv-chart-content{grid-template-columns:1fr;justify-items:center} }

        /* ===== Módulo Inventario — dashboard premium (tamaño reducido ~20%) ===== */
.rv-inv-smart-import-mobile,.rv-inv-mobile-heading,.rv-inv-tabs-next{display:none!important}
@media(max-width:680px){
html body .rv-inv-primary-tabs-row{gap:6px!important;padding-bottom:6px!important}
html body .rv-inv-primary-tabs-row>.rv-inv-smart-import-desktop{display:none!important}
html body .rv-inv-mobile-heading{display:flex!important;align-items:center!important;gap:10px!important;margin:5px 0 10px!important;padding:0 2px!important}
html body .rv-inv-mobile-heading-icon{display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 42px!important;width:42px!important;height:42px!important;border-radius:13px!important;background:linear-gradient(135deg,#7138f4 0%,#b72bce 58%,#ed116f 100%)!important;color:#fff!important;box-shadow:0 7px 16px rgba(113,56,244,.2)!important}
html body .rv-inv-mobile-heading-icon svg{width:21px!important;height:21px!important;color:#fff!important}
html body .rv-inv-mobile-heading-icon svg *{stroke:currentColor!important}
html body .rv-inv-mobile-heading-copy{min-width:0!important}
html body .rv-inv-mobile-heading h1{margin:0 0 4px!important;color:#172033!important;font-size:24px!important;font-weight:800!important;line-height:1.05!important;letter-spacing:-.6px!important}
html body .rv-inv-mobile-heading p{margin:0!important;color:#8190aa!important;font-size:11px!important;font-weight:600!important;line-height:1.3!important}
html body .pv-no-print:has(>.rv-inv-primary-tabs-row){position:relative!important}
html body .rv-inv-mobile-heading+.pv-subtabs{position:relative!important;display:flex!important;align-items:center!important;flex-wrap:nowrap!important;gap:3px!important;height:44px!important;min-height:44px!important;max-height:44px!important;overflow-x:auto!important;overscroll-behavior-x:contain;scrollbar-width:none;background:#fff!important;border:1px solid #dfe5f1!important;border-radius:12px!important;padding:3px!important;margin:0 0 10px!important;box-shadow:0 5px 14px rgba(27,36,55,.04)}
html body .rv-inv-mobile-heading+.pv-subtabs::-webkit-scrollbar{display:none}
html body .rv-inv-mobile-heading+.pv-subtabs>a{flex:0 0 auto!important;min-height:36px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border:0!important;border-radius:10px!important;padding:8px 11px!important;margin:0!important;font-size:11px!important;line-height:1!important;white-space:nowrap!important;text-decoration:none!important}
html body .pv-no-print .rv-inv-mobile-heading+.pv-subtabs>a.pv-subtab{height:34px!important;min-height:34px!important;max-height:34px!important;padding:0 10px!important;border-radius:9px!important}
html body .rv-inv-mobile-heading+.pv-subtabs>a.active,
html body .rv-inv-mobile-heading+.pv-subtabs>a.activo,
html body .rv-inv-mobile-heading+.pv-subtabs>a.is-active,
html body .rv-inv-mobile-heading+.pv-subtabs>a.pv-active,
html body .rv-inv-mobile-heading+.pv-subtabs>a.pvf-active,
html body .rv-inv-mobile-heading+.pv-subtabs>a.pv-subtab-active,
html body .rv-inv-mobile-heading+.pv-subtabs>a.current,
html body .rv-inv-mobile-heading+.pv-subtabs>a.selected,
html body .rv-inv-mobile-heading+.pv-subtabs>a[aria-current="page"]{color:#fff!important;background:linear-gradient(135deg,#7138f4 0%,#c72bc2 65%,#ef176d 100%)!important;box-shadow:0 5px 12px rgba(113,56,244,.2)!important}
html body .rv-inv-mobile-heading+.pv-subtabs>a.active *,
html body .rv-inv-mobile-heading+.pv-subtabs>a.activo *,
html body .rv-inv-mobile-heading+.pv-subtabs>a.is-active *,
html body .rv-inv-mobile-heading+.pv-subtabs>a.pv-active *,
html body .rv-inv-mobile-heading+.pv-subtabs>a.pvf-active *,
html body .rv-inv-mobile-heading+.pv-subtabs>a.pv-subtab-active *,
html body .rv-inv-mobile-heading+.pv-subtabs>a.current *,
html body .rv-inv-mobile-heading+.pv-subtabs>a.selected *,
html body .rv-inv-mobile-heading+.pv-subtabs>a[aria-current="page"] *{color:#fff!important}
html body .pv-no-print .rv-inv-mobile-heading+.pv-subtabs>a.pv-subtab.active,
html body .pv-no-print .rv-inv-mobile-heading+.pv-subtabs>a.pv-subtab.active:hover,
html body .pv-no-print .rv-inv-mobile-heading+.pv-subtabs>a.pv-subtab.active:focus{color:#fff!important;-webkit-text-fill-color:#fff!important;text-shadow:none!important}
html body .pv-inv-tabs-hint{position:absolute!important;right:7px!important;bottom:18px!important;z-index:4!important;display:flex!important;align-items:center!important;justify-content:center!important;width:32px!important;height:32px!important;margin:0!important;animation:none!important}
html body .rv-inv-tabs-next{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:42px!important;width:42px!important;height:28px!important;padding:0!important;border:0!important;border-radius:0 9px 9px 0!important;background:#fff!important;color:#6840eb!important;font-family:inherit!important;line-height:1!important;box-shadow:none!important;cursor:pointer!important}
html body .rv-inv-mobile-heading+.pv-subtabs>.rv-inv-tabs-next{position:sticky!important;right:0!important;z-index:5!important;flex:0 0 42px!important;align-self:center!important;margin-left:auto!important;background:#fff!important}
html body .rv-inv-mobile-heading+.pv-subtabs>.rv-inv-tabs-next:before{content:""!important;position:absolute!important;right:100%!important;top:-4px!important;bottom:-4px!important;width:22px!important;pointer-events:none!important;background:linear-gradient(90deg,rgba(255,255,255,0),#fff)!important}
html body .rv-inv-tabs-next>span{display:none!important}
html body .rv-inv-tabs-next b{display:flex!important;align-items:center!important;justify-content:center!important;width:18px!important;height:18px!important;border-radius:6px!important;background:#ede8ff!important;color:#6840eb!important;font-size:17px!important;font-weight:500!important;line-height:1!important}
html body .rv-inv-toolbar-row{position:relative!important;display:grid!important;grid-template-columns:minmax(0,1fr) 82px 126px!important;align-items:center!important;gap:9px 8px!important;margin:0 0 14px!important;padding:2px 0 0!important}
html body .rv-inv-toolbar-row .rv-inv-heading{display:none!important;grid-column:1!important;grid-row:1!important;width:auto!important;min-width:0!important;align-self:center!important}
html body .rv-inv-toolbar-row .rv-inv-heading h1{margin:0 0 3px!important;font-size:24px!important;line-height:1.05!important;letter-spacing:-.6px!important;color:#172033!important}
html body .rv-inv-toolbar-row .rv-inv-heading p{margin:0!important;font-size:11px!important;line-height:1.3!important;color:#8692aa!important}
html body .rv-inv-smart-import-mobile{display:flex!important;grid-column:3!important;grid-row:1!important;width:126px!important;min-height:44px!important;padding:6px 8px!important;margin:0!important;border-radius:13px!important;gap:7px!important;justify-self:end!important;align-self:center!important}
html body .rv-inv-smart-import-mobile .rv-inv-smart-import-icon{width:31px!important;height:31px!important;min-width:31px!important;border-radius:9px!important}
html body .rv-inv-smart-import-mobile .rv-inv-smart-import-copy{min-width:0!important;line-height:1.05!important}
html body .rv-inv-smart-import-mobile .rv-inv-smart-import-copy strong{font-size:11px!important;white-space:nowrap!important}
html body .rv-inv-smart-import-mobile .rv-inv-smart-import-copy small{font-size:8px!important;white-space:nowrap!important}
html body .rv-inv-smart-import-mobile .rv-inv-smart-import-badge{display:none!important}
html body .rv-inv-toolbar-row .rv-inv-imprimir-row{grid-column:2!important;grid-row:1!important;display:flex!important;align-items:center!important;justify-content:center!important;width:82px!important;min-width:82px!important;min-height:42px!important;margin:0!important;align-self:center!important}
html body .rv-inv-toolbar-row .rv-inv-print-toggle{display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;width:82px!important;height:42px!important;min-width:82px!important;min-height:42px!important;padding:0 8px!important;border:1px solid #6e3df4!important;border-radius:12px!important;background:#6e3df4!important;color:#fff!important;box-shadow:0 6px 15px rgba(110,61,244,.2)!important}
html body .rv-inv-toolbar-row .rv-inv-print-toggle svg{width:16px!important;height:16px!important;color:#fff!important}
html body .rv-inv-toolbar-row .rv-inv-print-toggle svg *{stroke:currentColor!important}
html body .rv-inv-print-label-text{display:inline!important;color:#fff!important;font-size:9.5px!important;font-weight:800!important;line-height:1!important;white-space:nowrap!important}
html body .rv-inv-toolbar-row .rv-inv-print-wrap{position:static!important}
html body .rv-inv-toolbar-row .rv-inv-print-panel{left:50%!important;right:auto!important;top:calc(44px + 9px)!important;transform:translateX(-50%)!important;box-sizing:border-box!important;width:min(216px,calc(100vw - 32px))!important;min-width:0!important;max-width:calc(100vw - 32px)!important;padding:10px!important;gap:8px!important;border:1px solid #e2e6f2!important;border-radius:16px!important;background:#fff!important;box-shadow:0 14px 34px rgba(28,37,61,.16)!important}
html body .rv-inv-toolbar-row .rv-inv-print-panel:before{left:calc(50% - 5px)!important;right:auto!important}
html body .rv-inv-toolbar-row .rv-inv-print-panel>button,
html body .rv-inv-toolbar-row .rv-inv-print-panel>a{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-width:0!important;min-height:43px!important;margin:0!important;padding:9px 12px!important;border-radius:11px!important;font-size:11px!important;font-weight:800!important;line-height:1.1!important;text-align:center!important;white-space:nowrap!important}
html body .rv-inv-toolbar-row .rv-inv-print-panel>button:first-child{border-color:#6e3df4!important;background:linear-gradient(135deg,#7138f4 0%,#9d31df 58%,#d51e9d 100%)!important;color:#fff!important;box-shadow:0 6px 14px rgba(110,61,244,.18)!important}
html body .rv-inv-toolbar-row .rv-inv-print-panel>button:first-child{overflow:hidden!important;gap:0!important}
html body .rv-inv-toolbar-row .rv-inv-print-panel>button:first-child .rv-inv-accion-txt-larga{display:none!important}
html body .rv-inv-toolbar-row .rv-inv-print-panel>button:first-child .rv-inv-accion-txt-corta{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:100%!important;color:#fff!important;text-align:center!important;white-space:nowrap!important}
html body .rv-inv-toolbar-row .rv-inv-print-panel>*:not(:first-child){border-color:#d9dff0!important;background:#fff!important;color:#6840eb!important;box-shadow:none!important}
html body .rv-inv-toolbar-row .rv-inv-acciones-row{grid-column:1/-1!important;grid-row:2!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;width:100%!important}
html body .rv-inv-toolbar-row .rv-inv-acciones-row>button{width:100%!important;min-width:0!important;min-height:44px!important;margin:0!important;border-radius:12px!important;padding:8px 5px!important;font-size:10.5px!important;line-height:1.1!important;white-space:nowrap!important;justify-content:center!important}
html body #pv-moneda-scope .rv-inv-toolbar-row>.rv-inv-acciones-row{grid-column-start:1!important;grid-column-end:4!important;justify-self:stretch!important;width:100%!important;max-width:none!important;min-width:0!important}
html body #pv-moneda-scope .rv-inv-toolbar-row>.rv-inv-acciones-row>button{width:100%!important;max-width:none!important;min-width:0!important;justify-self:stretch!important}
html body .rv-inv-toolbar-row .rv-inv-action-new{grid-column:1!important;grid-row:1!important;min-height:44px!important;background:linear-gradient(135deg,#7138f4 0%,#ad2bd4 55%,#ed116f 100%)!important;box-shadow:0 8px 18px rgba(125,50,225,.22)!important}
html body .rv-inv-toolbar-row .rv-inv-action-movement{grid-column:2!important;grid-row:1!important}
html body .rv-inv-toolbar-row .rv-inv-action-income{grid-column:3!important;grid-row:1!important}
html body .rv-inv-kpis{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;margin:0 0 13px!important}
html body .rv-inv-kpi{min-width:0!important;min-height:105px!important;border-radius:16px!important;padding:12px!important;gap:7px!important;align-items:center!important;overflow:hidden!important;box-shadow:0 8px 20px rgba(27,36,55,.055)!important}
html body .rv-inv-kpi>div:first-child{min-width:0!important;flex:1 1 auto!important}
html body .rv-inv-kpi span{display:block!important;margin:0 0 6px!important;font-size:10px!important;line-height:1.25!important;color:#8390a7!important}
html body .rv-inv-kpi strong{display:block!important;max-width:100%!important;font-size:16px!important;line-height:1.05!important;letter-spacing:-.35px!important;color:#162033!important;overflow-wrap:anywhere!important}
html body .rv-inv-kpi-purple strong,
html body .rv-inv-kpi-magenta strong{font-size:13px!important;line-height:1.1!important;letter-spacing:-.25px!important;white-space:nowrap!important;overflow-wrap:normal!important}
html body .rv-inv-kpi strong small{display:block!important;margin-top:3px!important;font-size:8px!important;line-height:1!important;color:#68758d!important;text-transform:uppercase!important}
html body .rv-inv-kpi p{margin:5px 0 0!important;font-size:8px!important;line-height:1.2!important;color:#9aa4b7!important}
html body .rv-inv-kpi .rv-inv-icon{width:39px!important;height:39px!important;min-width:39px!important;border-radius:12px!important}
html body .rv-inv-kpi-orange{grid-column:1/-1!important;min-height:64px!important;padding:10px 13px!important;border-color:#ffd8c2!important;background:linear-gradient(90deg,#fffaf7 0%,#fff 100%)!important;overflow:visible!important}
html body .rv-inv-kpi-orange>div:first-child{display:grid!important;grid-template-columns:auto auto!important;grid-template-rows:auto auto!important;align-items:center!important;justify-content:start!important;column-gap:9px!important}
html body .rv-inv-kpi-orange span{grid-column:1!important;grid-row:1!important;margin:0!important;color:#d8651e!important}
html body .rv-inv-kpi-orange strong{grid-column:2!important;grid-row:1/3!important;font-size:22px!important;color:#ff6b00!important}
html body .rv-inv-kpi-orange p{grid-column:1!important;grid-row:2!important;margin:2px 0 0!important;font-size:9px!important;color:#8b96aa!important}
html body .rv-inv-kpi-orange .rv-inv-icon{margin-left:auto!important;background:#fff0e7!important}
html body .rv-inv-kpi:not(.rv-inv-kpi-orange){position:relative!important;display:block!important;min-height:122px!important;padding:14px 42px 12px 16px!important;border:0!important;border-radius:17px!important;background:#fff!important;box-shadow:0 8px 22px rgba(32,42,67,.055)!important;overflow:hidden!important}
html body .rv-inv-kpi-purple{background:linear-gradient(135deg,rgba(111,60,244,.11) 0%,rgba(255,255,255,.98) 48%,#fff 100%)!important}
html body .rv-inv-kpi-magenta{background:linear-gradient(135deg,rgba(255,36,89,.10) 0%,rgba(255,255,255,.98) 48%,#fff 100%)!important}
html body .rv-inv-kpi-blue{background:linear-gradient(135deg,rgba(16,169,232,.11) 0%,rgba(255,255,255,.98) 48%,#fff 100%)!important}
html body .rv-inv-kpi-green{background:linear-gradient(135deg,rgba(18,169,91,.11) 0%,rgba(255,255,255,.98) 48%,#fff 100%)!important}
html body .rv-inv-kpi:not(.rv-inv-kpi-orange):before{content:""!important;position:absolute!important;left:0!important;top:0!important;bottom:0!important;width:6px!important;border-radius:17px 0 0 17px!important}
html body .rv-inv-kpi-purple:before{background:linear-gradient(180deg,#5c35f5 0%,#9944ef 100%)!important}
html body .rv-inv-kpi-magenta:before{background:linear-gradient(180deg,#ff174d 0%,#ff4775 100%)!important}
html body .rv-inv-kpi-blue:before{background:linear-gradient(180deg,#05b6e8 0%,#2678f4 100%)!important}
html body .rv-inv-kpi-green:before{background:linear-gradient(180deg,#08a957 0%,#38cf8a 100%)!important}
html body .rv-inv-kpi:not(.rv-inv-kpi-orange)>div:first-child{display:block!important;min-width:0!important;width:100%!important}
html body .rv-inv-kpi:not(.rv-inv-kpi-orange) span{max-width:105px!important;margin:0 0 8px!important;color:#48546c!important;font-size:11px!important;font-weight:800!important;line-height:1.18!important;text-transform:none!important}
html body .rv-inv-kpi:not(.rv-inv-kpi-orange) strong{margin:0!important;color:#172033!important;font-size:19px!important;font-weight:850!important;line-height:1.05!important;letter-spacing:-.4px!important}
html body .rv-inv-kpi-purple strong,
html body .rv-inv-kpi-magenta strong{font-size:13px!important;letter-spacing:-.15px!important;white-space:nowrap!important}
html body .rv-inv-kpi:not(.rv-inv-kpi-orange) strong small{display:block!important;margin-top:5px!important;color:#7f8ba2!important;font-size:8px!important;font-weight:800!important;letter-spacing:0!important}
html body .rv-inv-kpi:not(.rv-inv-kpi-orange) p{position:absolute!important;left:15px!important;right:10px!important;bottom:12px!important;margin:0!important;color:#8995aa!important;font-size:8px!important;font-weight:700!important;line-height:1.2!important}
html body .rv-inv-kpi:not(.rv-inv-kpi-orange) .rv-inv-icon{position:absolute!important;top:15px!important;right:13px!important;display:flex!important;width:24px!important;height:24px!important;min-width:24px!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
html body .rv-inv-kpi:not(.rv-inv-kpi-orange) .rv-inv-icon svg{width:22px!important;height:22px!important}
html body .rv-inv-kpi-purple .rv-inv-icon{color:#6f3cf4!important}
html body .rv-inv-kpi-magenta .rv-inv-icon{color:#ff2459!important}
html body .rv-inv-kpi-blue .rv-inv-icon{color:#10a9e8!important}
html body .rv-inv-kpi-green .rv-inv-icon{color:#12a95b!important}
html body .rv-inv-kpi:not(.rv-inv-kpi-orange) .rv-inv-icon svg *{fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
/* Inventario movil: copia del CSS visible de las rv-kpi-card del panel. */
html body .pvf-shell .rv-inv-dashboard .rv-inv-kpi:not(.rv-inv-kpi-orange){box-sizing:border-box!important;position:relative!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;gap:4px!important;width:100%!important;min-width:0!important;height:118px!important;min-height:118px!important;margin:0!important;padding:12px!important;overflow:hidden!important;border:1px solid rgba(104,68,223,.07)!important;border-left:5px solid #6844df!important;border-radius:16px!important;background:#fff!important;box-shadow:0 8px 22px rgba(26,35,58,.045)!important}
/* Mismo reparto cromatico que las cuatro cards del panel principal. Se
   repite la clase base para superar el :not() de la regla compartida y evitar
   que la cascada deje las cuatro tarjetas moradas. */
html body .pvf-shell .rv-inv-dashboard .rv-inv-kpi.rv-inv-kpi-purple:not(.rv-inv-kpi-orange){border-left-color:#6844df!important;background:linear-gradient(135deg,rgba(128,85,232,.065),#fff 72%)!important}
html body .pvf-shell .rv-inv-dashboard .rv-inv-kpi.rv-inv-kpi-magenta:not(.rv-inv-kpi-orange){border-left-color:#ff1744!important;background:#fff!important}
html body .pvf-shell .rv-inv-dashboard .rv-inv-kpi.rv-inv-kpi-blue:not(.rv-inv-kpi-orange){border-left-color:#08a6ec!important;background:#fff!important}
html body .pvf-shell .rv-inv-dashboard .rv-inv-kpi.rv-inv-kpi-green:not(.rv-inv-kpi-orange){border-left-color:#8055e8!important;background:linear-gradient(135deg,rgba(128,85,232,.065),#fff 72%)!important}
html body .pvf-shell .rv-inv-dashboard .rv-inv-kpi:not(.rv-inv-kpi-orange):before{display:none!important;content:none!important}
html body .pvf-shell .rv-inv-dashboard .rv-inv-kpi:not(.rv-inv-kpi-orange)>div:first-child{display:flex!important;flex-direction:column!important;align-items:flex-start!important;width:100%!important;height:100%!important;min-width:0!important}
html body .pvf-shell .rv-inv-dashboard .rv-inv-kpi:not(.rv-inv-kpi-orange) span{display:block!important;max-width:calc(100% - 30px)!important;margin:0!important;color:#344054!important;font-size:11px!important;font-weight:650!important;line-height:1.25!important}
html body .pvf-shell .rv-inv-dashboard .rv-inv-kpi:not(.rv-inv-kpi-orange) strong{display:block!important;max-width:100%!important;margin-top:3px!important;color:#101828!important;font-size:16px!important;font-weight:600!important;line-height:1.08!important;letter-spacing:-.025em!important;white-space:normal!important;overflow-wrap:anywhere!important}
html body .pvf-shell .rv-inv-dashboard .rv-inv-kpi:not(.rv-inv-kpi-orange) strong small{display:block!important;margin-top:4px!important;color:#8490a6!important;font-size:9px!important;font-weight:700!important;line-height:1!important;letter-spacing:0!important}
html body .pvf-shell .rv-inv-dashboard .rv-inv-kpi:not(.rv-inv-kpi-orange) p{position:static!important;display:block!important;width:100%!important;margin:auto 0 0!important;color:#64748b!important;font-size:9.5px!important;font-weight:600!important;line-height:1.2!important}
html body .pvf-shell .rv-inv-dashboard .rv-inv-kpi:not(.rv-inv-kpi-orange) .rv-inv-icon{position:absolute!important;top:12px!important;right:12px!important;display:flex!important;align-items:center!important;justify-content:center!important;width:22px!important;min-width:22px!important;height:22px!important;min-height:22px!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#6844df!important;box-shadow:none!important}
html body .pvf-shell .rv-inv-dashboard .rv-inv-kpi.rv-inv-kpi-purple:not(.rv-inv-kpi-orange) .rv-inv-icon{color:#6844df!important}
html body .pvf-shell .rv-inv-dashboard .rv-inv-kpi.rv-inv-kpi-magenta:not(.rv-inv-kpi-orange) .rv-inv-icon{color:#ff1744!important}
html body .pvf-shell .rv-inv-dashboard .rv-inv-kpi.rv-inv-kpi-blue:not(.rv-inv-kpi-orange) .rv-inv-icon{color:#08a6ec!important}
html body .pvf-shell .rv-inv-dashboard .rv-inv-kpi.rv-inv-kpi-green:not(.rv-inv-kpi-orange) .rv-inv-icon{color:#8055e8!important}
html body .pvf-shell .rv-inv-dashboard .rv-inv-kpi:not(.rv-inv-kpi-orange) .rv-inv-icon svg{width:17px!important;height:17px!important;filter:none!important}
}

/* ========================================================================
   3.2.93 · PANEL PRINCIPAL — centro de control operativo
   Todo queda estrictamente debajo de .rv-main-dashboard: la barra superior
   y el menú lateral conservan sin cambios su HTML, estilos e interacción.
   ======================================================================== */
.rv-main-dashboard #pv-moneda-scope{display:flex;flex-direction:column;gap:24px}
.pvf-shell .rv-main-dashboard .rv-week-banner.rv-dashboard-control-banner{height:auto!important;min-height:82px!important;padding:10px 18px!important;box-sizing:border-box;background:linear-gradient(180deg,#fff 0%,#fbfcfe 100%)!important;border:1px solid #7545e8!important;color:#101828;box-shadow:0 10px 28px rgba(70,46,137,.08);flex-wrap:nowrap}
.rv-main-dashboard .rv-dashboard-control-banner .rv-week-banner-icon{width:44px;height:44px;border-radius:0;background:transparent!important;border:0!important;color:#6844df;box-shadow:none!important;backdrop-filter:none}
.rv-main-dashboard .rv-dashboard-control-banner .rv-week-banner-icon svg{width:35px;height:35px}
.rv-main-dashboard .rv-dashboard-control-copy{flex:1;min-width:0;padding:0}
.rv-main-dashboard .rv-dashboard-control-banner .rv-week-banner-text{color:#101828;font-size:17px;font-weight:800;line-height:1.25}
.rv-main-dashboard .rv-dashboard-report-range{display:flex;align-items:baseline;gap:5px;margin-top:4px;color:#8994a8;font-size:10px;font-weight:600;line-height:1.25;letter-spacing:.005em}
.rv-main-dashboard .rv-dashboard-report-range span{color:#8994a8}
.rv-main-dashboard .rv-dashboard-report-range strong{color:#667085;font-weight:750}
.rv-main-dashboard .rv-dashboard-control-copy>p{margin:4px 0 9px;color:rgba(255,255,255,.83);font-size:12px;font-weight:500}
.rv-main-dashboard .rv-dashboard-control-chips{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.rv-main-dashboard .rv-dashboard-control-chips a,.rv-main-dashboard .rv-dashboard-control-chips span{display:inline-flex;align-items:center;min-height:27px;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.15);color:#fff!important;text-decoration:none!important;font-size:10.5px;font-weight:700;line-height:1.15;border:1px solid rgba(255,255,255,.04)}
.rv-main-dashboard .rv-dashboard-control-chips a:hover{background:rgba(255,255,255,.24);transform:translateY(-1px)}
.rv-main-dashboard .rv-dashboard-control-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.rv-main-dashboard .rv-dashboard-control-actions .rv-week-banner-btn{min-height:38px;padding:0 16px;background:linear-gradient(100deg,#6840df,#8539df)!important;border:1px solid transparent;color:#fff!important;cursor:pointer;justify-content:center;box-shadow:0 7px 16px rgba(92,52,187,.18)}
.rv-main-dashboard .rv-dashboard-control-actions .rv-week-banner-btn.is-light{background:#fff!important;border-color:#ddd5f5;color:#6a35df!important;box-shadow:0 7px 16px rgba(33,27,49,.07)}
.rv-main-dashboard .rv-dashboard-control-actions .rv-week-banner-btn:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(22,11,63,.18)}
html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-dashboard-control-actions .rv-week-banner-btn:not(.is-light),
html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-dashboard-control-actions .rv-week-banner-btn:not(.is-light):hover,
html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-dashboard-control-actions .rv-week-banner-btn:not(.is-light):focus,
html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-dashboard-control-actions .rv-week-banner-btn:not(.is-light):active{background:linear-gradient(100deg,#6840df,#8539df)!important;border-color:#6840df!important;color:#fff!important;box-shadow:0 7px 16px rgba(92,52,187,.18)!important}
html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-dashboard-control-actions .rv-week-banner-btn:not(.is-light):hover{background:linear-gradient(100deg,#5d34d2,#782fd1)!important;box-shadow:0 8px 18px rgba(77,42,166,.24)!important}
html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-dashboard-control-actions .rv-week-banner-btn.is-light:hover,
html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-dashboard-control-actions .rv-week-banner-btn.is-light:focus,
html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-dashboard-control-actions .rv-week-banner-btn.is-light:active{background:#f7f4ff!important;border-color:#a98cf0!important;color:#5f32d4!important;box-shadow:0 7px 16px rgba(73,48,133,.1)!important}
html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-dashboard-control-actions .rv-week-banner-btn svg,
html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-dashboard-control-actions .rv-week-banner-btn svg *{display:block!important;visibility:visible!important;opacity:1!important;color:#fff!important;stroke:#fff!important;fill:none!important}
html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-dashboard-control-actions .rv-week-banner-btn.is-light svg,
html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-dashboard-control-actions .rv-week-banner-btn.is-light svg *{color:#6844df!important;stroke:#6844df!important;fill:none!important}
html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-dashboard-control-actions .rv-week-banner-btn{min-width:120px!important;padding-inline:7px!important;gap:5px!important;font-size:10px!important}
html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-dashboard-control-actions .rv-week-banner-btn svg{width:14px!important;height:14px!important;flex-basis:14px!important}

.rv-main-dashboard .rv-dashboard-attention,.rv-main-dashboard .rv-dashboard-commitments{background:rgba(255,255,255,.96);border:1px solid var(--pv-border2);border-radius:20px;padding:22px;box-shadow:0 10px 28px rgba(28,39,65,.05);position:relative;overflow:hidden}
.rv-main-dashboard .rv-dashboard-attention:before,.rv-main-dashboard .rv-dashboard-commitments:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#6844df 0%,#8b3fdf 58%,#f5014c 100%)}
.rv-main-dashboard .rv-dashboard-section-head{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.rv-main-dashboard .rv-dashboard-section-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:11px;color:#f50150;background:#fff1f5}
.rv-main-dashboard .rv-dashboard-section-icon.is-green{color:#6844df;background:#f1edff}
.rv-main-dashboard .rv-dashboard-section-icon svg{width:20px;height:20px}
.rv-main-dashboard .rv-dashboard-section-head>div{min-width:0}
.rv-main-dashboard .rv-dashboard-section-head h3{margin:0;color:var(--pv-ink);font-size:18px;font-weight:800;letter-spacing:-.015em}
.rv-main-dashboard .rv-dashboard-section-head p{margin:3px 0 0;color:var(--pv-muted);font-size:11px;font-weight:500}
.rv-main-dashboard .rv-dashboard-section-head>a,.rv-main-dashboard .rv-dashboard-section-count{margin-left:auto;color:var(--pv-primary)!important;text-decoration:none!important;font-size:11px;font-weight:800;white-space:nowrap}
.rv-main-dashboard .rv-dashboard-commitments .rv-dashboard-section-head>a{color:#6d3df5!important}
.rv-main-dashboard .rv-dashboard-section-count{color:var(--pv-muted)!important;padding:7px 10px;border:1px solid var(--pv-border);border-radius:999px;background:var(--pv-surface-2)}
.rv-main-dashboard .rv-dashboard-alert-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.rv-main-dashboard .rv-dashboard-alert{min-width:0;display:grid;grid-template-columns:34px minmax(0,1fr) 15px;align-items:center;gap:10px;padding:14px;border-radius:14px;background:#fff;text-decoration:none!important;border:1px solid #e5e8ef;box-shadow:0 7px 18px rgba(15,23,42,.055);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.rv-main-dashboard .rv-dashboard-alert:hover{transform:translateY(-2px);border-color:#d7dae3;box-shadow:0 11px 24px rgba(15,23,42,.09)}
.rv-main-dashboard .rv-dashboard-alert.is-fabricacion,.rv-main-dashboard .rv-dashboard-alert.is-inventario,.rv-main-dashboard .rv-dashboard-alert.is-pagos{background:#fff;border-color:#e5e8ef;color:#6844df}
.rv-main-dashboard .rv-dashboard-alert.has-alert{border-color:#f4c8d3;color:#e2154d;box-shadow:0 7px 18px rgba(245,1,76,.07)}
.rv-main-dashboard .rv-dashboard-alert-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:9px;background:#f1edff;box-shadow:inset 0 0 0 1px rgba(104,68,223,.07)}
.rv-main-dashboard .rv-dashboard-alert.has-alert .rv-dashboard-alert-icon{background:#fff0f4}
.rv-main-dashboard .rv-dashboard-alert-icon svg{width:22px;height:22px}
.rv-main-dashboard .rv-dashboard-alert>span:nth-child(2){min-width:0;display:flex;flex-direction:column;gap:4px}
.rv-main-dashboard .rv-dashboard-alert strong{display:block;color:var(--pv-ink);font-size:12px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rv-main-dashboard .rv-dashboard-alert small{display:block;color:var(--pv-muted);font-size:9.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rv-main-dashboard .rv-dashboard-alert>i{display:flex;opacity:.65}
.rv-main-dashboard .rv-dashboard-alert>i svg{width:14px;height:14px}

.rv-main-dashboard .rv-dashboard-commitments-layout{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.7fr);align-items:stretch;gap:18px}
.rv-main-dashboard .rv-dashboard-commitment-totals{display:grid;grid-template-columns:1fr;gap:10px;margin:0}
.rv-main-dashboard .rv-dashboard-commitment-totals>div{min-width:0;min-height:112px;display:grid;grid-template-columns:minmax(0,1fr) 36px;grid-template-rows:auto auto auto;align-content:center;column-gap:10px;row-gap:4px;padding:16px 17px 15px;border:1px solid var(--pv-border2);border-left:5px solid;border-radius:16px;background:#fff;position:relative;overflow:hidden;box-shadow:0 8px 20px rgba(28,39,65,.055)}
.rv-main-dashboard .rv-dashboard-commitment-totals>div>i{grid-column:2;grid-row:1/3;align-self:start;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:9px;font-size:17px;font-style:normal;font-weight:900;background:transparent}
.rv-main-dashboard .rv-dashboard-commitment-totals .is-collect{border-left-color:#6844df;color:#6844df}
.rv-main-dashboard .rv-dashboard-commitment-totals .is-pay{border-left-color:#f5014c;color:#df1249}
.rv-main-dashboard .rv-dashboard-commitment-totals>div>span{grid-column:1;grid-row:1;color:var(--pv-ink);font-size:12px;font-weight:850;line-height:1.15}
.rv-main-dashboard .rv-dashboard-commitment-totals>div>small{grid-column:1/3;grid-row:3;color:currentColor;font-size:9px;font-weight:750}
.rv-main-dashboard .rv-dashboard-commitment-totals strong{grid-column:1;grid-row:2;color:var(--pv-ink);font-size:21px;font-weight:850;line-height:1.1;letter-spacing:-.03em;white-space:nowrap}
.rv-main-dashboard .rv-dashboard-commitment-totals strong small{font-size:9px;color:currentColor;font-weight:850;letter-spacing:0}
.rv-main-dashboard .rv-dashboard-commitment-list{min-width:0;display:flex;flex-direction:column;gap:7px;padding:8px;border:1px solid var(--pv-border);border-radius:17px;background:#f8f9fc}
.rv-main-dashboard .rv-dashboard-commitment-list>a{display:grid;grid-template-columns:34px minmax(0,1fr) auto 64px;align-items:center;gap:10px;min-height:62px;padding:9px 10px;background:#fff;border:1px solid #edf0f5;border-radius:12px;text-decoration:none!important;color:var(--pv-ink)!important;box-shadow:0 3px 10px rgba(30,39,58,.025);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.rv-main-dashboard .rv-dashboard-commitment-list>a:hover{transform:translateY(-1px);border-color:#ddd5fa;box-shadow:0 7px 17px rgba(57,42,94,.07)}
.rv-main-dashboard .rv-dashboard-commitment-flow{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#fff0f4;color:#df1249;font-size:15px;font-weight:900}
.rv-main-dashboard .rv-dashboard-commitment-list>a.is-cobrar .rv-dashboard-commitment-flow{background:#f1edff;color:#6844df}
.rv-main-dashboard .rv-dashboard-commitment-copy{min-width:0;display:flex;flex-direction:column;gap:3px}
.rv-main-dashboard .rv-dashboard-commitment-copy strong{font-size:12px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rv-main-dashboard .rv-dashboard-commitment-copy small{min-width:0;display:flex;align-items:center;gap:7px;font-size:9px;color:var(--pv-muted);white-space:nowrap;overflow:hidden}
.rv-main-dashboard .rv-dashboard-commitment-copy small em{flex:0 0 auto;padding:3px 6px;border-radius:999px;background:#f1edff;color:#6740d9;font-size:8px;font-style:normal;font-weight:750}
.rv-main-dashboard .rv-dashboard-commitment-copy small span{overflow:hidden;text-overflow:ellipsis}
.rv-main-dashboard .rv-dashboard-commitment-list>a>b{font-size:11px;font-weight:850;white-space:nowrap}
.rv-main-dashboard .rv-dashboard-commitment-list>a>b small{font-size:8px;color:var(--pv-muted);font-weight:750}
.rv-main-dashboard .rv-dashboard-commitment-list>a>i{font-style:normal;text-align:center;border-radius:999px;padding:7px 8px;background:#fff0f4;color:#df1249;font-size:9.5px;font-weight:800}
.rv-main-dashboard .rv-dashboard-commitment-list>a.is-cobrar>i{background:#f1edff;color:#6844df}
.rv-main-dashboard .rv-dashboard-commitment-empty,.rv-main-dashboard .rv-dashboard-mini-empty{padding:24px;text-align:center;color:var(--pv-muted);font-size:11px}

.pvf-shell .rv-main-dashboard .rv-dashboard-profit-card{box-sizing:border-box!important;padding:22px!important;border:1px solid var(--pv-border2)!important;border-radius:20px!important;box-shadow:0 10px 28px rgba(28,39,65,.05)!important;position:relative;overflow:hidden}
.rv-main-dashboard .rv-dashboard-profit-card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#6d3df5 0%,#9d35ea 54%,#f50150 100%)}
.rv-main-dashboard .rv-dashboard-profit-head{display:flex;align-items:center;gap:11px;margin-bottom:16px}
.rv-main-dashboard .rv-dashboard-profit-icon{width:38px;height:38px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:12px;background:linear-gradient(135deg,#eee9ff,#ffe9f1);color:#713ee9}
.rv-main-dashboard .rv-dashboard-profit-icon svg{width:20px;height:20px}
.rv-main-dashboard .rv-dashboard-profit-head>div{min-width:0}
.rv-main-dashboard .rv-dashboard-profit-head h3{margin:0;color:var(--pv-ink);font-size:18px;font-weight:850;letter-spacing:-.015em}
.rv-main-dashboard .rv-dashboard-profit-head p{margin:3px 0 0;color:var(--pv-muted);font-size:10.5px;font-weight:600}
.rv-main-dashboard .rv-dashboard-profit-period{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:2px;color:#6d3df5;white-space:nowrap}
.rv-main-dashboard .rv-dashboard-profit-period small{color:var(--pv-muted);font-size:8px;font-weight:700;line-height:1}
.rv-main-dashboard .rv-dashboard-profit-period strong{font-size:10px;font-weight:850;line-height:1.15;letter-spacing:-.01em}
.rv-main-dashboard .rv-dashboard-profit-summary{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.rv-main-dashboard .rv-dashboard-profit-summary>div{display:grid;grid-template-columns:9px auto;align-items:center;column-gap:7px;row-gap:1px;min-width:155px;padding:8px 11px;border:1px solid #eceef4;border-radius:12px;background:#fafbfc}
.rv-main-dashboard .rv-dashboard-profit-summary i{grid-row:1/3;width:9px;height:9px;border-radius:3px;background:#6d3df5}
.rv-main-dashboard .rv-dashboard-profit-summary span{color:var(--pv-muted);font-size:9.5px;font-weight:750}
.rv-main-dashboard .rv-dashboard-profit-summary strong{color:var(--pv-ink);font-size:13px;font-weight:900;white-space:nowrap}
.rv-main-dashboard .rv-dashboard-profit-summary strong small{color:var(--pv-muted);font-size:8px;font-weight:800}
.rv-main-dashboard .rv-dashboard-profit-summary .is-expense i{background:#f04438}
.rv-main-dashboard .rv-dashboard-profit-summary .is-profit i{background:#16a34a}
.rv-main-dashboard .rv-dashboard-profit-summary .is-loss i{background:#f50150}
.pvf-shell .rv-main-dashboard .rv-dashboard-profit-card .rv-utilidad-chart-scroll{width:100%!important;max-width:100%!important;overflow:hidden!important}
.pvf-shell .rv-main-dashboard .rv-dashboard-profit-card .rv-utilidad-chart-canvas{width:100%!important;min-width:0!important;max-width:none!important;height:260px!important}

.rv-main-dashboard .rv-dashboard-operational-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.pvf-shell .rv-main-dashboard .rv-dashboard-mini-card{min-width:0;min-height:295px;box-sizing:border-box!important;padding:22px!important;border:1px solid var(--pv-border2)!important;border-radius:20px!important;box-shadow:0 10px 28px rgba(28,39,65,.05)!important;position:relative;overflow:hidden}
.rv-main-dashboard .rv-dashboard-mini-card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:#7040ec}
.rv-main-dashboard .rv-dashboard-mini-card.is-orders:before{background:#08a6ec}
.rv-main-dashboard .rv-dashboard-mini-card.is-banks:before{background:#16a566}
.rv-main-dashboard .rv-dashboard-mini-card>header{display:flex;align-items:flex-start;gap:10px;margin-bottom:20px}
.rv-main-dashboard .rv-dashboard-mini-card>header>span{display:flex;color:var(--pv-ink);padding-top:1px}
.rv-main-dashboard .rv-dashboard-mini-card>header>span svg{width:20px;height:20px}
.rv-main-dashboard .rv-dashboard-mini-card>header>div{min-width:0}
.rv-main-dashboard .rv-dashboard-mini-card h3{margin:0;color:var(--pv-ink);font-size:17px;font-weight:800;letter-spacing:-.015em}
.rv-main-dashboard .rv-dashboard-mini-card header p{margin:3px 0 0;color:var(--pv-muted);font-size:10px}
.rv-main-dashboard .rv-dashboard-mini-card header>a{margin-left:auto;color:var(--pv-primary)!important;font-size:10px;font-weight:800;text-decoration:none!important}
.rv-main-dashboard .rv-dashboard-mini-card.is-evolution>header{margin-bottom:12px}
.rv-main-dashboard .rv-dashboard-income-summary{display:flex;align-items:center;gap:7px 12px;flex-wrap:wrap;margin:0 0 8px;padding:0 2px}
.rv-main-dashboard .rv-dashboard-income-summary>div{width:100%;min-width:0;display:flex;flex-direction:column;gap:2px}
.rv-main-dashboard .rv-dashboard-income-summary>div>small{color:var(--pv-muted);font-size:9px;font-weight:650}
.rv-main-dashboard .rv-dashboard-income-summary strong{color:var(--pv-ink);font-size:20px;font-weight:850;line-height:1.1;letter-spacing:-.035em;white-space:nowrap}
.rv-main-dashboard .rv-dashboard-income-summary strong b{font-size:9px;font-weight:800;letter-spacing:0;color:var(--pv-muted)}
.rv-main-dashboard .rv-dashboard-income-summary>span{display:inline-flex;align-items:center;gap:3px;padding:6px 8px;border-radius:999px;font-size:9px;font-weight:800;line-height:1.05;white-space:nowrap}
.rv-main-dashboard .rv-dashboard-income-summary>span small{font-size:8px;font-weight:650}
.rv-main-dashboard .rv-dashboard-income-summary>span.is-up{background:#e9f8f0;color:#098b53}
.rv-main-dashboard .rv-dashboard-income-summary>span.is-down{background:#fff0f3;color:#d7204e}
.rv-main-dashboard .rv-dashboard-income-summary>span.is-neutral{background:#f1f3f7;color:#7d8798}
.rv-main-dashboard .rv-dashboard-bars-chart{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;height:142px;margin-top:2px}
.rv-main-dashboard .rv-dashboard-bars-axis{display:flex;flex-direction:column;justify-content:space-between;padding:4px 0 23px;text-align:right;color:#98a2b3;font-size:7.5px;font-weight:700}
.rv-main-dashboard .rv-dashboard-bars-plot{min-width:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:stretch;gap:7px;background:repeating-linear-gradient(to bottom,#e8ebf2 0,#e8ebf2 1px,transparent 1px,transparent 55px);border-bottom:1px solid #d8dde8}
.rv-main-dashboard .rv-dashboard-bar{min-width:0;display:grid;grid-template-rows:18px 100px 22px;align-items:end;justify-items:center;position:relative}
.rv-main-dashboard .rv-dashboard-bar>span{max-width:100%;overflow:hidden;text-overflow:ellipsis;color:#667085;font-size:7.5px;font-weight:750;line-height:1;white-space:nowrap}
.rv-main-dashboard .rv-dashboard-bar>i{width:23px;max-width:72%;height:100%;display:flex;align-items:flex-end;border-radius:7px 7px 2px 2px;background:rgba(112,64,236,.055);overflow:hidden;position:relative}
.rv-main-dashboard .rv-dashboard-bar>i>b{display:block;width:100%;min-height:3px;border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,#9b6cff 0%,#7040ec 55%,#5b2bd4 100%);box-shadow:0 5px 12px rgba(112,64,236,.2);transition:height .25s ease}
.rv-main-dashboard .rv-dashboard-bar.is-zero>i>b{height:3px!important;min-height:3px;background:#d8dce6;box-shadow:none}
.rv-main-dashboard .rv-dashboard-bar.is-current>span{color:#7040ec;font-weight:850}
.rv-main-dashboard .rv-dashboard-bar.is-current>i{background:rgba(245,1,80,.06)}
.rv-main-dashboard .rv-dashboard-bar.is-current>i>b{background:linear-gradient(180deg,#f64a84 0%,#f50150 100%);box-shadow:0 5px 14px rgba(245,1,80,.22)}
.rv-main-dashboard .rv-dashboard-bar>small{align-self:end;color:#7d8798;font-size:8px;font-weight:700;line-height:1}
.rv-main-dashboard .rv-dashboard-bar.is-current>small{color:#f50150;font-weight:850}
.rv-main-dashboard .rv-dashboard-order-bars{display:flex;flex-direction:column;gap:19px;padding-top:9px}
.rv-main-dashboard .rv-dashboard-order-bars>div{display:grid;grid-template-columns:82px minmax(70px,1fr) 24px;align-items:center;gap:10px}
.rv-main-dashboard .rv-dashboard-order-bars span{font-size:10.5px;color:var(--pv-ink);white-space:nowrap}
.rv-main-dashboard .rv-dashboard-order-bars i{height:10px;border-radius:999px;background:#e8ecf4;overflow:hidden}
.rv-main-dashboard .rv-dashboard-order-bars i b{display:block;height:100%;border-radius:inherit}
.rv-main-dashboard .rv-dashboard-order-bars strong{text-align:right;font-size:12px;color:var(--pv-ink)}
.rv-main-dashboard .rv-dashboard-bank-list{display:flex;flex-direction:column}
.rv-main-dashboard .rv-dashboard-bank-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:47px;border-bottom:1px solid var(--pv-border)}
.rv-main-dashboard .rv-dashboard-bank-list>div>span{display:flex;align-items:center;gap:8px;min-width:0;color:var(--pv-muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rv-main-dashboard .rv-dashboard-bank-list>div>span i{width:9px;height:9px;border-radius:50%;flex:0 0 auto}
.rv-main-dashboard .rv-dashboard-bank-list>div>strong{color:var(--pv-ink);font-size:11px;white-space:nowrap}
.rv-main-dashboard .rv-dashboard-cash-status{margin-top:13px;padding:10px 12px;border-radius:11px;background:#fff5e7;color:#e18411;font-size:9.5px;font-weight:650}
.rv-main-dashboard .rv-dashboard-cash-status.is-open{background:#e9f8f0;color:#0b8e54}

html body .rv-main-dashboard .rv-dashboard-control-banner *,html body .rv-main-dashboard .rv-dashboard-attention *,html body .rv-main-dashboard .rv-dashboard-commitments *,html body .rv-main-dashboard .rv-dashboard-profit-card *{text-transform:none!important}

@media (max-width:1020px){
    .rv-main-dashboard .rv-dashboard-alert-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
    .rv-main-dashboard .rv-dashboard-commitments-layout{grid-template-columns:1fr}
    .rv-main-dashboard .rv-dashboard-commitment-totals{grid-template-columns:repeat(2,minmax(0,1fr))}
    .rv-main-dashboard .rv-dashboard-operational-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .rv-main-dashboard .rv-dashboard-mini-card.is-banks{grid-column:1/-1}
}
@media (max-width:820px){
    .pvf-shell .rv-main-dashboard .rv-week-banner.rv-dashboard-control-banner{align-items:flex-start;flex-wrap:wrap;padding:18px!important}
    .rv-main-dashboard .rv-dashboard-control-actions{width:100%;padding-left:62px}
    .rv-main-dashboard .rv-dashboard-control-actions .rv-week-banner-btn{flex:1}
    html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-week-banner.rv-dashboard-control-banner{display:grid!important;grid-template-columns:42px minmax(0,1fr)!important;align-items:center!important;gap:10px 12px!important;min-height:0!important;padding:14px!important}
    html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-dashboard-control-banner .rv-week-banner-icon{position:static!important;grid-column:1!important;grid-row:1!important;align-self:center!important;width:42px!important;height:42px!important}
    html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-dashboard-control-copy{grid-column:2!important;grid-row:1!important;width:auto!important;min-width:0!important;align-self:center!important}
    html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-dashboard-control-banner .rv-week-banner-text{display:block!important;min-height:0!important;padding-left:0!important;font-size:14px!important;line-height:1.25!important}
    html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-dashboard-report-range{display:flex!important;margin-top:4px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;font-size:9.5px!important;line-height:1.25!important}
    html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-dashboard-control-actions{grid-column:1/-1!important;grid-row:2!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important;padding-left:0!important;gap:10px!important}
    html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-dashboard-control-actions .rv-week-banner-btn.is-light{background:#fff!important;border-color:#a98cf0!important;color:#6844df!important;box-shadow:none!important}
    .rv-main-dashboard .rv-dashboard-attention,.rv-main-dashboard .rv-dashboard-commitments{padding:17px}
    .rv-main-dashboard .rv-dashboard-profit-card{padding:17px!important}
    .rv-main-dashboard .rv-dashboard-operational-grid{grid-template-columns:1fr}
    .rv-main-dashboard .rv-dashboard-mini-card.is-banks{grid-column:auto}
}
@media (max-width:560px){
    .rv-main-dashboard{gap:18px!important}
    .rv-main-dashboard #pv-moneda-scope{gap:18px}
    .rv-main-dashboard .rv-dashboard-control-banner .rv-week-banner-icon{width:42px;height:42px}
    .rv-main-dashboard .rv-dashboard-control-copy{width:calc(100% - 58px);flex:1 1 calc(100% - 58px)}
    .rv-main-dashboard .rv-dashboard-control-banner .rv-week-banner-text{font-size:15px}
    .rv-main-dashboard .rv-dashboard-report-range{flex-wrap:wrap;row-gap:1px;font-size:9.5px}
    .rv-main-dashboard .rv-dashboard-control-actions{padding-left:0}
    html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-dashboard-control-actions .rv-week-banner-btn{min-width:0!important;padding-inline:8px!important;font-size:10px!important}
    .rv-main-dashboard .rv-dashboard-alert-grid{grid-template-columns:1fr}
    .rv-main-dashboard .rv-dashboard-section-head{align-items:flex-start;flex-wrap:wrap}
    .rv-main-dashboard .rv-dashboard-section-count{margin-left:48px}
    .rv-main-dashboard .rv-dashboard-commitment-totals{grid-template-columns:1fr}
    .rv-main-dashboard .rv-dashboard-commitment-list>a{grid-template-columns:30px minmax(0,1fr) auto;gap:8px;padding:9px}
    .rv-main-dashboard .rv-dashboard-commitment-flow{grid-row:1/3;width:29px;height:29px}
    .rv-main-dashboard .rv-dashboard-commitment-list>a>b{grid-column:2;grid-row:2;text-align:left}
    .rv-main-dashboard .rv-dashboard-commitment-list>a>i{grid-column:3;grid-row:1/3;padding:6px 8px}
    .rv-main-dashboard .rv-dashboard-commitment-copy small span{display:none}
    .rv-main-dashboard .rv-dashboard-profit-head{align-items:flex-start;flex-wrap:wrap}
    .rv-main-dashboard .rv-dashboard-profit-period{margin-left:49px;align-items:flex-start}
    .rv-main-dashboard .rv-dashboard-profit-summary{display:grid;grid-template-columns:1fr;gap:7px}
    .rv-main-dashboard .rv-dashboard-profit-summary>div{min-width:0}
    .pvf-shell .rv-main-dashboard .rv-dashboard-profit-card .rv-utilidad-chart-canvas{height:220px!important}
    .rv-main-dashboard .rv-dashboard-mini-card{min-height:0;padding:18px!important}
}
.rv-inv-dashboard{width:100%}
        .rv-inv-kpis{display:grid;grid-template-columns:1.05fr 1.05fr .9fr .9fr .9fr;gap:13px;margin:0 0 14px}
        .rv-inv-kpi{min-height:80px;background:var(--pv-surface);border:1px solid var(--pv-border);border-radius:14px;padding:14px 16px;box-shadow:0 10px 26px rgba(30,27,46,.05);display:flex;justify-content:space-between;gap:10px;align-items:center}
        .rv-inv-kpi span{display:block;font-size:10px;font-weight:700;color:var(--pv-muted);margin-bottom:6px}
        .rv-inv-kpi strong{display:block;font-size:18px;line-height:1;font-weight:800;color:var(--pv-ink);letter-spacing:-.03em}
        .rv-inv-kpi strong small{font-size:8.5px;font-weight:800;letter-spacing:0}
        .rv-inv-kpi p{margin:7px 0 0;color:var(--pv-muted);font-size:9px;font-weight:700}
        .rv-inv-alert-number{color:#ff6b00!important}
        .rv-inv-icon{width:37px;height:37px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
        .rv-inv-icon svg{width:15px;height:15px}
        .rv-inv-icon.purple{background:#efecff;color:#5b45f3}
        .rv-inv-icon.green{background:#dcfce7;color:#16a34a}
        .rv-inv-icon.orange{background:#ffedd5;color:#f97316}
        .rv-inv-filter-card{background:var(--pv-surface);border:1px solid var(--pv-border);border-radius:14px;padding:13px 16px;box-shadow:0 10px 26px rgba(30,27,46,.04);display:grid;grid-template-columns:1fr minmax(176px,256px);gap:11px;align-items:end;margin-bottom:14px}
        /* Filtro de Almacén de Alertas de Stock — a propósito NO usa las
           clases de arriba (esas dependen del checkbox de la barra de
           búsqueda de Productos, que esta pantalla no tiene); siempre
           visible, tanto en escritorio como en móvil. */
        /* margin-bottom: sin esto, la tarjeta del filtro y la grilla de abajo
           quedaban prácticamente pegadas (mismo fondo blanco, cero espacio),
           como si fueran una sola caja — tanto en escritorio como en móvil. */
        .rv-alerta-filtro-bar{background:var(--pv-surface);border:1px solid var(--pv-border);border-radius:14px;padding:11px 14px;box-shadow:0 10px 26px rgba(30,27,46,.04);margin-bottom:16px}
        .rv-alerta-filtro-form{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
        .rv-alerta-filtro-label{font-size:11px;font-weight:700;color:var(--pv-muted);white-space:nowrap}
        .rv-alerta-filtro-select{min-width:180px;max-width:100%;height:36px;padding:0 11px;border:1.5px solid var(--pv-border)!important;border-radius:10px!important;font-size:12.5px!important;background:var(--pv-surface-2)!important;color:var(--pv-ink)}
        .rv-alerta-filtro-limpiar{font-size:11px;font-weight:700;color:var(--pv-primary-dark);text-decoration:none;margin-left:auto}
        @media (max-width:640px){ .rv-alerta-filtro-select{min-width:0;flex:1 1 auto} }
        /* Título "Filtros"/"Limpiar" y la etiqueta de cada campo (Almacén/
           Categoría/Estado) son SOLO para el panel flotante de móvil — en
           escritorio los 3 selects van siempre visibles en fila sin rótulo
           propio (el texto de la primera opción, "Todos los almacenes",
           ya hace de rótulo ahí), así que acá quedan ocultos por defecto. */
        .rv-inv-filter-panel-head{display:none}
        .rv-inv-filter-label{display:none}
        /* Rótulo "Precio COP"/"Precio USD" de la tarjeta de producto — solo
           para el diseño de tarjeta de móvil (ver @media de abajo); en
           escritorio la tabla ya tiene su propia columna "Precio" en el
           encabezado, este texto quedaría repetido. */
        .rv-inv-precio-etiqueta{display:none}
        .rv-inv-currency-group{display:flex;gap:6px}
        .rv-inv-currency{min-width:38px;height:26px;border-radius:8px;border:1px solid var(--pv-border);background:var(--pv-bg);color:var(--pv-muted);display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:800;text-decoration:none!important}
        .rv-inv-currency.active{background:linear-gradient(135deg,var(--pv-primary),var(--pv-primary2));color:#fff;border-color:transparent;box-shadow:0 8px 16px rgba(var(--pv-primary-rgb),.2)}
        .rv-inv-filter-form{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:8px}
        /* display:contents en escritorio: cada campo "desaparece" como caja
           y su <select> pasa a ser hijo directo de .rv-inv-filter-form (la
           etiqueta de arriba ya está oculta) — el grid de 3 columnas de
           escritorio sigue viendo exactamente 3 <select>, ni más ni menos,
           mismo resultado visual que si no existiera este wrapper. Se
           convierte en una fila real (label + select apilados) solo dentro
           del panel flotante de móvil, ver @media de abajo. */
        .rv-inv-filter-field{display:contents}
        /* display:contents en escritorio: el wrapper "desaparece" de la
           caja del grid y sus hijos participan directo como si fueran hijos
           de .rv-inv-filter-card — el checkbox (.pv-tab-radio, oculto global)
           y el <label> (oculto acá abajo) no cuentan, así que en escritorio
           el único hijo visible que queda es el buscador, exactamente el
           mismo resultado visual que antes de este cambio. El botón
           "Filtros" y el panel colapsable de selects son SOLO para móvil,
           encendidos dentro del @media de abajo. */
        .rv-inv-search-wrap{display:contents}
        .rv-inv-filtros-toggle{display:none}
        /* Texto corto de los botones "+ Movimiento"/"↓ Ingreso a
           inventario"/"+ Nuevo producto" — oculto en escritorio, se enciende
           dentro del @media de móvil de más abajo (el texto largo de
           siempre se apaga ahí). */
        .rv-inv-accion-txt-corta{display:none}
        .rv-inv-filter-form select,.rv-inv-search{height:32px!important;border-radius:10px!important;border:1px solid var(--pv-border)!important;background:var(--pv-surface)!important;padding:0 10px!important;font-size:10px!important;box-shadow:none!important}
        .rv-inv-main-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:13px;align-items:start}
        .rv-inv-products-card,.rv-inv-side-card{border-radius:14px!important;background:var(--pv-surface)!important;border:1px solid var(--pv-border)!important;box-shadow:0 12px 30px rgba(30,27,46,.05)!important}
        .rv-inv-products-card{padding:16px!important}
        .rv-inv-section-title{margin:0 0 13px;font-size:13px;font-weight:800;color:var(--pv-ink)}
        .rv-inv-table{border:1px solid var(--pv-border);border-radius:11px;overflow:hidden}
        .rv-inv-table-header,.rv-inv-table-row{grid-template-columns:72px 1.55fr 108px 72px 64px 84px 84px 104px!important}
        .rv-inv-table-header{background:var(--pv-bg)!important;color:var(--pv-muted)!important;font-size:9px!important;font-weight:800!important;text-transform:uppercase}
        .rv-inv-table-row{min-height:48px;padding:10px 11px!important;border-bottom:1px solid var(--pv-border)!important}
        .rv-inv-table-row:hover{background:#fbfcff!important}
        .rv-inv-table-row strong{font-weight:800;color:var(--pv-ink)}
        .rv-inv-table-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:10px;color:var(--pv-muted);font-size:10px;font-weight:700}
        .rv-inv-side{display:flex;flex-direction:column;gap:11px}
        .rv-inv-side-card{padding:14px!important}
        .rv-inv-side-card h3{margin:0 0 13px;color:var(--pv-ink);font-size:12px;font-weight:800}
        .rv-inv-donut{width:120px;height:120px;border-radius:50%;margin:3px auto 13px;display:flex;align-items:center;justify-content:center;flex-direction:column}
        .rv-inv-donut strong{font-size:9px;color:var(--pv-muted);font-weight:700}
        .rv-inv-donut span{margin-top:3px;font-size:12px;color:var(--pv-ink);font-weight:800}
        .rv-inv-legend{display:flex;flex-direction:column;gap:7px}
        .rv-inv-legend div{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px}
        .rv-inv-legend span{display:inline-flex;align-items:center;gap:6px;color:var(--pv-ink);font-weight:700}
        .rv-inv-legend i{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0}
        .rv-inv-legend strong{color:var(--pv-ink);font-weight:800;white-space:nowrap}
        .rv-inv-legend small{color:var(--pv-muted);font-weight:700;margin-left:2px}
        .rv-inv-low-list{display:flex;flex-direction:column;gap:8px}
        .rv-inv-low-item{display:grid;grid-template-columns:35px 1fr auto;gap:8px;align-items:center;padding:7px;border:1px solid var(--pv-border);border-radius:11px;background:var(--pv-surface)}
        .rv-inv-low-thumb{width:32px;height:32px;border-radius:9px;background:var(--pv-bg);border:1px solid var(--pv-border);display:flex;align-items:center;justify-content:center;color:var(--pv-primary);overflow:hidden;flex-shrink:0}
        .rv-inv-low-thumb img{width:100%;height:100%;object-fit:cover}
        .rv-inv-low-thumb svg{width:14px;height:14px}
        .rv-inv-low-item strong{display:block;color:var(--pv-ink);font-size:9px;line-height:1.25;font-weight:800}
        .rv-inv-low-item span{display:block;margin-top:2px;color:var(--pv-muted);font-size:8.5px;font-weight:700}
        .rv-inv-low-item b{color:var(--pv-secondary2);font-size:10px;font-weight:800;white-space:nowrap}
        .rv-inv-low-link{margin-top:11px;height:30px;border-radius:10px;border:1px solid var(--pv-border2);color:var(--pv-primary)!important;text-decoration:none!important;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:10px}
        .rv-inv-low-link:hover{background:var(--pv-bg)}
        .rv-inv-empty{min-height:176px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--pv-muted)}
        .rv-inv-empty div{width:51px;height:51px;border-radius:16px;background:var(--pv-bg);color:var(--pv-primary);display:flex;align-items:center;justify-content:center;margin-bottom:11px}
        .rv-inv-empty strong{color:var(--pv-ink);font-weight:800;font-size:11px}
        .rv-inv-empty p{margin:5px 0 0;font-size:10px}
        @media (max-width:1380px){ .rv-inv-kpis{grid-template-columns:repeat(3,minmax(0,1fr))} .rv-inv-main-grid{grid-template-columns:1fr} .rv-inv-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))} }
        @media (max-width:980px){ .rv-inv-kpis{grid-template-columns:repeat(2,minmax(0,1fr))} .rv-inv-filter-card{grid-template-columns:1fr} .rv-inv-filter-form{grid-template-columns:1fr} .rv-inv-side{grid-template-columns:1fr} }
        @media (max-width:680px){
            /* Slider horizontal (no grid apilado) para las 5 tarjetas KPI —
               todas del mismo ancho fijo, deslizan hacia los lados en vez de
               ocupar 3 filas completas de alto antes de llegar al buscador/
               lista real. Mismo patrón ya usado en los chips de categoría de
               Nuevo Pedido y las tabs de Fabricación (flex-wrap:nowrap +
               overflow-x:auto + scrollbar oculta). */
            .rv-inv-kpis{
                display:flex!important;
                flex-wrap:nowrap;
                overflow-x:auto;overflow-y:hidden;
                -webkit-overflow-scrolling:touch;
                scrollbar-width:none;
                gap:10px;
                padding-bottom:2px;
            }
            .rv-inv-kpis::-webkit-scrollbar{display:none}
            .rv-inv-kpi{flex:0 0 auto!important;width:190px;min-height:0}
            .rv-inv-table-header{display:none!important}
            /* Tarjeta de producto rediseñada (boceto aprobado 2026-07-15):
               en vez de 8 filas "etiqueta: valor" apiladas, se agrupa en 4
               franjas — categoría+estado arriba, nombre+código como título,
               Stock/Mínimo/Precio en una franja de 3 columnas, acciones al
               pie. Se reordena SOLO con CSS Grid areas, sin tocar el HTML:
               cada div de campo sigue en el mismo orden del DOM que usa
               escritorio (su propio grid-template-columns de 8 columnas,
               ahí arriba, no se toca). Todo con !important porque compite
               con las reglas genéricas de .pv-historial-fila (@media 820px,
               más arriba en este archivo) pensadas para el patrón simple
               "una fila por campo" que este diseño reemplaza solo acá. */
            .rv-inv-table-row{
                display:grid!important;
                /* minmax(0,1fr), NO 1fr a secas: sin el "0", una columna se
                   niega a encogerse más allá del ancho mínimo de su
                   contenido (default min-width:auto de Grid) — un precio de
                   4+ cifras ("285,71") empujaba SOLO las columnas de Precio
                   a crecer, descuadrando Stock/Mínimo y sacando toda la
                   tarjeta del ancho de la pantalla (scroll horizontal). Con
                   minmax(0,1fr) la columna puede encogerse y el texto
                   envuelve/trunca adentro en vez de romper el layout. */
                grid-template-columns:repeat(6,minmax(0,1fr))!important;
                grid-template-areas:
                    "cat cat cat cat estado estado"
                    "prod prod prod prod prod prod"
                    "code code code code code code"
                    "stock stock minimo minimo precio precio"
                    "acciones acciones acciones acciones acciones acciones"!important;
                row-gap:7px!important;column-gap:8px!important;
                padding:14px 14px 12px!important;
                border:1px solid var(--pv-border)!important;
                border-radius:16px!important;
                margin-bottom:10px!important;
                background:var(--pv-surface);
                box-shadow:0 1px 2px rgba(16,24,40,.03),0 8px 20px rgba(16,24,40,.05);
            }
            .rv-inv-table-row>div{padding:0!important;border-bottom:none!important;justify-content:flex-start!important;text-align:left!important}
            .rv-inv-table-row>div::before{content:none!important}
            .rv-inv-table-row>div[data-label="Categoría"]{grid-area:cat;display:flex!important;align-items:center!important;gap:6px;font-size:10.5px;font-weight:700;color:var(--pv-muted);text-transform:uppercase;letter-spacing:.03em}
            .rv-inv-table-row>div[data-label="Estado"]{grid-area:estado;justify-self:end;align-self:start}
            .rv-inv-table-row>div[data-label="Producto"]{grid-area:prod;display:flex!important;align-items:center!important;gap:8px}
            .rv-inv-table-row>div[data-label="Producto"] strong{flex:1;min-width:0;font-size:14.5px;font-weight:700;color:var(--pv-ink);line-height:1.3;overflow-wrap:break-word}
            .rv-inv-table-row>div[data-label="Producto"] .pv-detalle-flecha{order:2;flex-shrink:0;width:22px;height:22px;border-radius:50%;background:var(--pv-bg);display:inline-flex;align-items:center;justify-content:center;font-size:13px}
            .rv-inv-table-row>div[data-label="Código"]{grid-area:code;margin-top:-4px;font-size:11px;color:var(--pv-muted);font-variant-numeric:tabular-nums}
            .rv-inv-table-row>div[data-label="Stock"],
            .rv-inv-table-row>div[data-label="Mínimo"],
            .rv-inv-table-row>div[data-label="Precio"]{
                display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
                min-width:0;gap:3px;background:var(--pv-bg);padding:8px 4px!important;text-align:center!important;font-size:12.5px;font-weight:800;color:var(--pv-ink);overflow-wrap:break-word
            }
            .rv-inv-table-row>div[data-label="Stock"]{grid-area:stock;border-radius:10px 0 0 10px}
            .rv-inv-table-row>div[data-label="Mínimo"]{grid-area:minimo;border-left:1px solid var(--pv-border);border-right:1px solid var(--pv-border)}
            /* Precio con letra un toque más chica que Stock/Mínimo: es el
               valor con más probabilidad de tener varias cifras (montos
               grandes), y el badge de divisa (USD/COP/...) le agrega ancho
               extra al lado. */
            .rv-inv-table-row>div[data-label="Precio"]{grid-area:precio;border-radius:0 10px 10px 0;color:var(--pv-primary-dark);font-size:11px}
            /* El badge de divisa (USD/COP/...) que antes iba pegado al monto
               se apaga acá: la divisa ahora se lee directo en la etiqueta de
               arriba ("PRECIO COP"), repetirla también junto al monto era
               redundante. */
            .rv-inv-table-row>div[data-label="Precio"] .pv-moneda-badge{display:none}
            .rv-inv-table-row>div[data-label="Stock"]::before,
            .rv-inv-table-row>div[data-label="Mínimo"]::before{
                content:attr(data-label)!important;font-size:8.5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--pv-muted)
            }
            /* "PRECIO COP" / "PRECIO USD": HTML real (no ::before) porque la
               divisa necesita SU PROPIO color distinto al resto del rótulo
               — un pseudo-elemento ::before es un solo bloque de texto, no
               se puede pintar la mitad de otro color. Cambia sola al tocar
               el switch de divisas global del encabezado porque esa misma
               acción vuelve a renderizar esta tarjeta completa con el
               $vista_moneda nuevo. */
            /* text-transform:uppercase!important en las dos: a diferencia de
               ::before (que no lo necesita, ver comentario de arriba en este
               mismo archivo), esto SÍ es HTML real y la regla global
               ".pvf-shell *{text-transform:lowercase!important}" (fuerza
               minúscula en todo el panel) le gana a un uppercase sin
               !important — sin esto "Precio"/"COP" se veían en minúscula
               ("precio"/"cop") a pesar de la regla de arriba. */
            .rv-inv-precio-etiqueta{display:block;font-size:8.5px;font-weight:800;text-transform:uppercase!important;letter-spacing:.03em;color:var(--pv-muted);margin-bottom:1px}
            .rv-inv-precio-moneda{color:var(--pv-primary);text-transform:uppercase!important}
            .rv-inv-table-row>div[data-label="Acciones"]{grid-area:acciones;display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:6px;padding-top:9px!important;border-top:1px solid var(--pv-border)!important;margin-top:2px}
            .rv-inv-table-footer{flex-direction:column;align-items:flex-start}
            /* Tarjeta de movimiento rediseñada (boceto aprobado 2026-07-15,
               mismo lenguaje que la tarjeta de Producto de arriba): Tipo+
               Fecha arriba, Producto como título, Código como subtítulo,
               Almacén/Cantidad en una franja de 2 columnas (Cantidad se
               pinta roja/verde/ámbar según data-color, calculado en PHP a
               partir del mismo $colores_tipo que ya pinta el badge de
               Tipo), Motivo+"Por usuario" como nota de texto, Acciones al
               pie. Igual que Producto: reordena SOLO con CSS Grid areas,
               sin tocar el HTML ni el grid-template-columns de 8 columnas
               de escritorio. */
            .rv-mov-table-row{
                display:grid!important;
                grid-template-columns:repeat(2,minmax(0,1fr))!important;
                grid-template-areas:
                    "tipo fecha"
                    "prod prod"
                    "code code"
                    "almacen cantidad"
                    "motivo motivo"
                    "acciones acciones"!important;
                row-gap:7px!important;column-gap:8px!important;
                padding:14px 14px 12px!important;
                border:1px solid var(--pv-border)!important;
                border-radius:16px!important;
                margin-bottom:10px!important;
                background:var(--pv-surface);
                box-shadow:0 1px 2px rgba(16,24,40,.03),0 8px 20px rgba(16,24,40,.05);
            }
            .rv-mov-table-row.pv-historial-header{display:none!important}
            .rv-mov-table-row>div{padding:0!important;border-bottom:none!important;justify-content:flex-start!important;text-align:left!important}
            .rv-mov-table-row>div::before{content:none!important}
            .rv-mov-table-row>div[data-label="Tipo"]{grid-area:tipo;justify-self:start}
            .rv-mov-table-row>div[data-label="Fecha"]{grid-area:fecha;justify-self:end;font-size:10.5px;font-weight:600;color:var(--pv-muted);font-variant-numeric:tabular-nums}
            .rv-mov-table-row>div[data-label="Producto"]{grid-area:prod;font-size:14.5px;font-weight:700;color:var(--pv-ink);line-height:1.3}
            .rv-mov-table-row>div[data-label="Código"]{grid-area:code;margin-top:-4px;font-size:11px;color:var(--pv-muted);font-variant-numeric:tabular-nums}
            .rv-mov-table-row>div[data-label="Almacén"],
            .rv-mov-table-row>div[data-label="Cantidad"]{
                display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
                min-width:0;gap:3px;background:var(--pv-bg);padding:8px 4px!important;text-align:center!important;font-size:12.5px;font-weight:800;color:var(--pv-ink);overflow-wrap:break-word
            }
            .rv-mov-table-row>div[data-label="Almacén"]{grid-area:almacen;border-radius:10px 0 0 10px;border-right:1px solid var(--pv-border)}
            .rv-mov-table-row>div[data-label="Cantidad"]{grid-area:cantidad;border-radius:0 10px 10px 0}
            .rv-mov-table-row>div[data-label="Almacén"]::before,
            .rv-mov-table-row>div[data-label="Cantidad"]::before{
                content:attr(data-label)!important;font-size:8.5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--pv-muted)
            }
            .rv-mov-table-row>div[data-label="Cantidad"][data-color="rojo"]{color:#DC2626}
            .rv-mov-table-row>div[data-label="Cantidad"][data-color="verde"]{color:#16A34A}
            .rv-mov-table-row>div[data-label="Cantidad"][data-color="ambar"]{color:var(--pv-secondary2)}
            .rv-mov-table-row>div[data-label="Motivo"]{grid-area:motivo;font-size:11.5px;color:var(--pv-ink);line-height:1.5;padding-top:9px!important;border-top:1px solid var(--pv-border)!important}
            .rv-mov-table-row>div[data-label="Acciones"]{grid-area:acciones;display:flex!important;justify-content:flex-end!important;align-items:center!important;padding-top:9px!important;border-top:1px solid var(--pv-border)!important;margin-top:2px}
            /* La tarjeta BLANCA de fondo que envolvía toda la sección
               ("Historial de Movimientos" + buscador + lista) ya no hace
               falta — cada movimiento es su propia tarjeta blanca ahora, así
               que quedaba una tarjeta blanca metida dentro de otra tarjeta
               blanca (doble caja, se veía pesado). Se apaga solo acá, en
               móvil; en escritorio (tabla de 8 columnas de siempre) sigue
               siendo una sola tarjeta como está hoy. */
            #pv-hist-mov-inv-card{background:transparent;border:none;box-shadow:none;padding:0}
            /* Mismo criterio que Movimientos arriba: la tarjeta de Productos
               ya es una lista de tarjetas propias, la caja blanca que la
               envolvía quedaba de más. */
            #pv-hist-inventario-card{background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important}
            /* Tarjeta de servicio rediseñada (boceto aprobado 2026-07-15,
               mismo lenguaje que Producto/Movimiento): Nombre como título,
               Código como subtítulo, Descripción como nota de texto
               (cursiva gris "Sin descripción" si no tiene — el fallback
               real vive en PHP, pv_content_servicios_tab() en
               19-modulo-pedidos.php, así que sale igual en escritorio, que
               ya mostraba "—" ahí — no era ningún tratamiento visual propio
               de móvil, solo un texto más claro), Editar/Eliminar al pie.
               Reordena SOLO con CSS Grid areas, sin tocar el HTML ni el
               grid-template-columns de escritorio. */
            #pv-hist-servicios-card{background:transparent;border:none;box-shadow:none;padding:0}
            .rv-serv-table-row{
                display:grid!important;
                grid-template-columns:1fr!important;
                grid-template-areas:
                    "nombre"
                    "codigo"
                    "desc"
                    "acciones"!important;
                row-gap:4px!important;
                padding:14px 14px 12px!important;
                border:1px solid var(--pv-border)!important;
                border-radius:16px!important;
                margin-bottom:10px!important;
                background:var(--pv-surface);
                box-shadow:0 1px 2px rgba(16,24,40,.03),0 8px 20px rgba(16,24,40,.05);
            }
            .rv-serv-table-row.pv-historial-header{display:none!important}
            .rv-serv-table-row>div{padding:0!important;border-bottom:none!important;justify-content:flex-start!important;text-align:left!important}
            .rv-serv-table-row>div::before{content:none!important}
            .rv-serv-table-row>div[data-label="Nombre"]{grid-area:nombre;font-size:14.5px;font-weight:700;color:var(--pv-ink);line-height:1.3}
            .rv-serv-table-row>div[data-label="Código"]{grid-area:codigo;font-size:11px;color:var(--pv-muted);font-variant-numeric:tabular-nums}
            .rv-serv-table-row>div[data-label="Descripción"]{grid-area:desc;font-size:11.5px;color:var(--pv-ink);line-height:1.5;padding-top:9px!important;margin-top:5px;border-top:1px solid var(--pv-border)!important}
            .rv-serv-table-row>div[data-label="Descripción"].rv-serv-desc-vacia{color:var(--pv-muted);font-style:italic}
            .rv-serv-table-row>div[data-label="Acciones"]{grid-area:acciones;display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:6px;padding-top:9px!important;margin-top:5px;border-top:1px solid var(--pv-border)!important}
            /* Filtros: los 3 selects (Almacén/Categoría/Estado) que en
               escritorio van siempre visibles en una fila, en móvil se
               esconden dentro de un panel FLOTANTE que abre el botón
               "Filtros" — no empuja el resto de la tarjeta hacia abajo,
               aparece por encima con el mismo lenguaje visual que
               .pv-personalizar-panel/.pv-combo-panel (tarjeta blanca,
               sombra, esquinas redondas), con rótulo propio arriba de cada
               select en vez del texto de la opción haciendo de rótulo.
               Toggle sin JS: el checkbox (.pv-tab-radio, vive dentro de
               .rv-inv-search-wrap) se marca al hacer clic en el
               <label for="...">, y :has() en el contenedor padre muestra el
               panel — mismo mecanismo que ya usan los grupos del menú
               lateral (.pvf-nav-group:has(.pvf-nav-group-toggle:checked)). */
            .rv-inv-filter-card{position:relative}
            .rv-inv-search-wrap{display:flex;gap:8px;align-items:center}
            .rv-inv-search{flex:1;min-width:0}
            .rv-inv-filtros-toggle{position:relative;display:flex;align-items:center;gap:6px;flex-shrink:0;background:var(--pv-surface);border:1.5px solid var(--pv-border2);border-radius:10px;padding:0 13px;height:34px;font-size:11.5px;font-weight:700;color:var(--pv-ink);cursor:pointer;white-space:nowrap}
            .rv-inv-filtros-badge{position:absolute;top:-7px;right:-7px;background:var(--pv-primary);color:#fff;border-radius:999px;min-width:18px;height:18px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;font-size:10.5px;line-height:1;font-weight:800;padding:0 4px;border:2px solid #fff;text-shadow:0 1px 1px rgba(0,0,0,.25)}
            .rv-inv-filter-card:has(#rv-inv-filtros-check:checked) .rv-inv-filtros-toggle{border-color:var(--pv-primary);background:var(--pv-bg)}
            .rv-inv-filter-form{
                display:none;
                position:absolute;top:calc(100% + 8px);right:0;z-index:120;
                width:min(258px,calc(100vw - 44px));
                background:var(--pv-surface);border:1px solid var(--pv-border);border-radius:14px;
                box-shadow:0 14px 34px rgba(30,27,46,.16);
                padding:12px 14px 14px;
                grid-template-columns:1fr;gap:10px;
            }
            .rv-inv-filter-card:has(#rv-inv-filtros-check:checked) .rv-inv-filter-form{display:grid}
            .rv-inv-filter-panel-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid var(--pv-border)}
            .rv-inv-filter-panel-head strong{font-size:12px;font-weight:800;color:var(--pv-ink)}
            .rv-inv-filter-panel-head a{font-size:10.5px;font-weight:700;color:var(--pv-primary-dark);text-decoration:none}
            .rv-inv-filter-field{display:block}
            .rv-inv-filter-label{display:block;font-size:9.5px;font-weight:700;color:var(--pv-muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:5px}
            .rv-inv-filter-field select{width:100%;box-sizing:border-box;height:auto!important;padding:8px 11px!important;border:1.5px solid var(--pv-border)!important;border-radius:10px!important;font-size:12.5px!important;background:var(--pv-surface-2)!important;color:var(--pv-ink)}
            /* "+ Movimiento" / "↓ Ingreso a inventario" / "+ Nuevo producto"
               con texto completo no caben los 3 juntos en una fila de
               teléfono — el texto largo de siempre se apaga y se enciende
               una versión corta ("+ Mov." / "↓ Ingreso" / "+ Nuevo") SOLO acá
               adentro (escritorio sigue mostrando el texto completo, sin
               tocar). Los botones también se achican (padding/letra) y la
               fila se deja con scroll horizontal como respaldo, por si algún
               teléfono muy angosto todavía no alcanza a mostrar los 3
               completos con el texto corto. */
            /* Formulario "Nueva/Editar Categoría": Nombre+Almacén en una
               fila, Color+Botón en la siguiente — en vez de las 4 cayendo
               una debajo de otra (cada una a flex:0 0 Npx fijo de
               escritorio, ninguna cabe de a 2 en un teléfono y el
               flex-wrap las apila solas). CSS Grid con order: el DOM no se
               toca (Nombre, Color, Almacén, Botón, ese orden — el mismo
               que ya usa escritorio), solo se reacomoda visualmente. Los
               !important le ganan al flex:0 0 Npx inline de cada campo. */
            .pv-cat-form-fila{display:grid!important;grid-template-columns:1fr 1fr;gap:12px}
            .pv-cat-form-fila>div{flex:none!important;width:auto!important;margin-bottom:0!important}
            .pv-cat-form-fila>div:nth-child(1){order:1}
            .pv-cat-form-fila>div:nth-child(3){order:2}
            .pv-cat-form-fila>div:nth-child(2){order:3}
            .pv-cat-form-fila>div:nth-child(4){order:4}
            .pv-cat-form-fila>div:nth-child(4)>div{display:flex!important}
            .pv-cat-form-fila>div:nth-child(4) .pvf-btn{flex:1}
        }
        /* ===== Panel Principal — dashboard premium ===== */
        .rv-main-dashboard{width:100%;display:flex;flex-direction:column;gap:28px}
        .rv-main-welcome{margin:0}
        .rv-main-welcome h2{margin:0 0 4px;color:var(--pv-ink);font-size:26px!important;font-weight:800!important;letter-spacing:-.02em!important}
        .rv-main-welcome p{margin:0;color:var(--pv-muted);font-size:14px}
        .rv-week-banner{display:flex;align-items:center;gap:16px;background:var(--pv-surface);border:1px solid rgba(var(--pv-primary-rgb),.30);border-radius:18px;padding:16px 20px;box-shadow:0 1px 2px rgba(16,24,40,.04);flex-wrap:wrap}
        .rv-week-banner-icon{width:44px;height:44px;border-radius:12px;background:rgba(var(--pv-primary-rgb),.12);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--pv-primary)}
        .rv-week-banner-text{flex:1;font-size:14px;font-weight:700;color:var(--pv-ink);min-width:180px}
        .rv-week-banner-range{font-weight:500;color:var(--pv-muted);font-size:12.5px;margin-left:6px;background:var(--pv-surface-2);padding:3px 9px;border-radius:999px}
        .rv-week-banner-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:11px;color:#fff;font-size:12.5px;font-weight:700;text-decoration:none!important;white-space:nowrap}
        .rv-week-banner-btn.verde{background:linear-gradient(135deg,var(--pv-primary2),var(--pv-primary))}
        .rv-week-banner-btn.gris{background:var(--pv-surface-2);border:1px solid var(--pv-border2);color:var(--pv-ink)!important}
        .rv-dash-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
        .rv-kpi-card{position:relative;overflow:hidden;padding:20px;border-radius:16px;background:linear-gradient(180deg,#fff,#FBFCFE);border:1px solid var(--pv-border);border-left:4px solid var(--pv-primary);box-shadow:0 1px 0 rgba(255,255,255,.8) inset,0 2px 4px rgba(16,24,40,.05),0 16px 32px rgba(16,24,40,.08);transition:box-shadow .25s ease,transform .25s ease;display:flex;flex-direction:column;gap:10px}
        .rv-kpi-card:hover{box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 4px 8px rgba(16,24,40,.06),0 28px 48px rgba(16,24,40,.16);transform:translateY(-6px)}
        .rv-kpi-card.coral{border-left-color:var(--pv-danger)}
        .rv-kpi-card.teal{border-left-color:#0D9488}
        .rv-kpi-card.orange{border-left-color:var(--pv-secondary)}
        .rv-kpi-card.purple{border-left-color:#7C3AED}
        .rv-kpi-card-top{display:flex;align-items:flex-start;justify-content:space-between}
        .rv-kpi-icon{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:linear-gradient(135deg,var(--pv-primary2),var(--pv-primary));color:#fff;box-shadow:0 6px 14px rgba(var(--pv-primary-rgb),.35),inset 0 1px 0 rgba(255,255,255,.5),inset 0 -2px 4px rgba(0,0,0,.08)}
        .rv-kpi-icon svg{width:17px;height:17px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.15))}
        .rv-kpi-card.coral .rv-kpi-icon{background:linear-gradient(135deg,var(--pv-danger-text),var(--pv-danger));box-shadow:0 6px 14px rgba(239,68,68,.35),inset 0 1px 0 rgba(255,255,255,.5),inset 0 -2px 4px rgba(0,0,0,.08)}
        .rv-kpi-card.teal .rv-kpi-icon{background:linear-gradient(135deg,#0F766E,#14B8A6);box-shadow:0 6px 14px rgba(20,184,166,.35),inset 0 1px 0 rgba(255,255,255,.5),inset 0 -2px 4px rgba(0,0,0,.08)}
        .rv-kpi-card.orange .rv-kpi-icon{background:linear-gradient(135deg,var(--pv-secondary2),var(--pv-secondary));box-shadow:0 6px 14px rgba(6,182,212,.35),inset 0 1px 0 rgba(255,255,255,.5),inset 0 -2px 4px rgba(0,0,0,.08)}
        .rv-kpi-card.purple .rv-kpi-icon{background:linear-gradient(135deg,#5B21B6,#7C3AED);box-shadow:0 6px 14px rgba(124,58,237,.35),inset 0 1px 0 rgba(255,255,255,.5),inset 0 -2px 4px rgba(0,0,0,.08)}
        .rv-kpi-card.green{border-left-color:var(--pv-success)}
        .rv-kpi-card.green .rv-kpi-icon{background:linear-gradient(135deg,var(--pv-success-text),var(--pv-success));box-shadow:0 6px 14px rgba(34,197,94,.35),inset 0 1px 0 rgba(255,255,255,.5),inset 0 -2px 4px rgba(0,0,0,.08)}
        /* ===== Utilidad y Pérdida ===== */
        .rv-utilidad-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}
        /* En el Panel Principal este resumen abre la zona de indicadores.
           El margen separa sus cinco métricas de la fila operativa sin
           introducir una tarjeta o un título que recargue el dashboard. */
        .rv-dashboard-utilidad-kpis{margin:0 0 18px}
        .rv-utilidad-highlight{display:flex;flex-direction:column;gap:8px;border-left:4px solid var(--pv-border2)}
        .rv-utilidad-highlight.rv-utilidad-neg{border-left-color:var(--pv-danger)}
        .rv-utilidad-highlight.rv-utilidad-pos{border-left-color:var(--pv-success)}
        .rv-utilidad-highlight h2{margin:0;font-size:14px;font-weight:700;color:var(--pv-ink)}
        .rv-utilidad-highlight .rv-kpi-value{font-size:24px;font-weight:800;color:var(--pv-ink)}
        .rv-utilidad-highlight-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
        .rv-utilidad-divisas-desglose{display:flex;min-width:0;align-items:center;gap:6px;overflow-x:auto;scrollbar-width:none}
        .rv-utilidad-divisas-desglose::-webkit-scrollbar{display:none}
        .rv-utilidad-divisa-chip{display:inline-flex;min-height:28px;align-items:center;gap:5px;padding:0 8px;border:1px solid #E4DDF7;border-radius:9px;background:#F8F5FF;color:#5F43C5;font-size:10px;font-weight:850;white-space:nowrap}
        .rv-utilidad-divisa-chip strong{font-size:10px;font-weight:950}.rv-utilidad-divisa-chip.pos{border-color:#BFEAD8;background:#ECFAF4;color:#078653}.rv-utilidad-divisa-chip.neg{border-color:#FFD2D9;background:#FFF1F3;color:#D92D48}.rv-utilidad-divisa-chip.cero{color:#667085}
        .rv-utilidad-badge{background:#FDECEC;color:#DC2626;font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;white-space:nowrap}
        .rv-utilidad-anio-nav{display:grid;grid-template-columns:46px minmax(122px,auto) 46px;align-items:center;gap:7px;padding:6px;border:1px solid #E2DCF7;border-radius:17px;background:linear-gradient(135deg,#FAF9FF,#F6F8FC);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 8px 20px rgba(76,54,140,.07)}
        .rv-utilidad-anio-nav .pv-icon-btn{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:46px;height:46px;min-width:46px;padding:0;border:1px solid #DDD4FF;border-radius:13px;background:#fff;color:#6D3DF5;box-shadow:0 3px 10px rgba(83,61,145,.07);transition:transform .18s ease,border-color .18s ease,background-color .18s ease,box-shadow .18s ease}
        .rv-utilidad-anio-nav .pv-icon-btn:hover{transform:translateY(-1px);border-color:#BFAFFF;background:#F8F5FF;box-shadow:0 6px 14px rgba(109,61,245,.12)}
        .rv-utilidad-anio-nav .pv-icon-btn:focus-visible{outline:3px solid rgba(109,61,245,.18);outline-offset:2px}
        .rv-utilidad-anio-nav .pv-icon-btn.is-disabled{border-color:#E8E4F3;background:#F7F7FA;color:#C6BDD9;box-shadow:none;cursor:not-allowed}
        .rv-utilidad-anio-nav .pv-icon-btn svg{width:16px;height:16px}
        .rv-utilidad-anio-pill{display:flex;align-items:center;justify-content:center;box-sizing:border-box;height:46px;min-height:46px;padding:0 18px;border-radius:13px;background:linear-gradient(135deg,#6D3DF5 0%,#A62ED2 52%,#F50150 100%);color:#fff;font-size:13px;font-weight:850;line-height:1;letter-spacing:.01em;white-space:nowrap;box-shadow:0 8px 18px rgba(109,61,245,.20),inset 0 1px 0 rgba(255,255,255,.22)}
        /* Capital: foto patrimonial real del cierre seleccionado. */
        .rv-utilidad-capital{margin:20px 0 0}
        .rv-utilidad-capital-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 12px;padding:0 4px}
        .rv-utilidad-capital-heading>div>span,.rv-utilidad-capital-chart-head>div>span{display:block;margin-bottom:3px;color:#7448E8;font-size:9px;font-weight:900;letter-spacing:.10em;text-transform:uppercase}
        .rv-utilidad-capital-heading h2{margin:0!important;color:var(--pv-ink)!important;font-size:21px!important;font-weight:900!important;letter-spacing:-.02em}
        .rv-utilidad-capital-heading p{max-width:470px;margin:0;color:var(--pv-muted);font-size:11px;font-weight:650;text-align:right}
        .rv-utilidad-capital-layout{display:grid;grid-template-columns:minmax(280px,1.05fr) minmax(390px,1.12fr) minmax(330px,1fr);gap:14px;align-items:stretch}
        .rv-utilidad-capital-total,.rv-utilidad-capital-mini,.rv-utilidad-capital-chart{box-sizing:border-box;min-width:0;border:1px solid #E7E3F1;border-radius:19px;background:#fff;box-shadow:0 10px 28px rgba(31,27,58,.07)}
        .rv-utilidad-capital-total{position:relative;display:flex;min-height:250px;overflow:hidden;justify-content:flex-end;flex-direction:column;padding:25px;color:#fff;border:0;background:linear-gradient(135deg,#7542F1 0%,#9B3CEB 48%,#D3209C 100%);box-shadow:0 16px 34px rgba(109,61,245,.22)}
        .rv-utilidad-capital-total:before,.rv-utilidad-capital-total:after{position:absolute;border:1px solid rgba(255,255,255,.15);border-radius:50%;content:""}
        .rv-utilidad-capital-total:before{top:-92px;right:-55px;width:230px;height:230px}
        .rv-utilidad-capital-total:after{top:-42px;right:-4px;width:130px;height:130px}
        .rv-utilidad-capital-total-icon{position:absolute;top:23px;left:24px;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid rgba(255,255,255,.23);border-radius:15px;background:rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}
        .rv-utilidad-capital-total-icon svg{width:23px!important;height:23px!important}
        .rv-utilidad-capital-total-trend{position:absolute;top:24px;right:22px;z-index:1}
        .rv-utilidad-capital-total-trend .pv-kpi-trend{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:9px;background:rgba(255,255,255,.92);color:#C11665!important;font-size:10px;font-weight:850;box-shadow:0 5px 14px rgba(62,21,117,.12)}
        .rv-utilidad-capital-total>strong{position:relative;z-index:1;font-size:31px;font-weight:950;line-height:1;letter-spacing:-.035em}
        .rv-utilidad-capital-total>strong small{font-size:11px;font-weight:850;letter-spacing:0;opacity:.78}
        .rv-utilidad-capital-total>span:not(.rv-utilidad-capital-total-icon){position:relative;z-index:1;margin-top:7px;font-size:11px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
        .rv-utilidad-capital-total>small{position:relative;z-index:1;margin-top:13px;padding-top:13px;border-top:1px solid rgba(255,255,255,.2);font-size:9.5px;font-weight:650;opacity:.82}
        .rv-utilidad-capital-components{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
        .rv-utilidad-capital-mini{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:11px;min-height:119px;padding:15px;overflow:hidden}
        .rv-utilidad-capital-mini:before{position:absolute;inset:0 auto 0 0;width:4px;border-radius:4px;background:#8B5CF6;content:""}
        .rv-utilidad-capital-mini.bancos:before{background:#5B21F5}.rv-utilidad-capital-mini.cobrar:before{background:#B196FF}.rv-utilidad-capital-mini.pagar:before{background:#F50150}
        .rv-utilidad-capital-mini-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:#F1ECFF;color:#6D3DF5}
        .rv-utilidad-capital-mini.pagar .rv-utilidad-capital-mini-icon{background:#FFF0F4;color:#E91650}
        .rv-utilidad-capital-mini-icon svg{width:18px!important;height:18px!important}
        .rv-utilidad-capital-mini>div{display:flex;min-width:0;flex-direction:column}
        .rv-utilidad-capital-mini>div>span:first-child{color:#475467;font-size:10px;font-weight:850}
        .rv-utilidad-capital-mini strong{overflow:hidden;margin:4px 0;color:#172033;font-size:18px;font-weight:900;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}
        .rv-utilidad-capital-mini strong small{font-size:8.5px;color:#8A96AA;font-weight:800}
        .rv-utilidad-capital-mini .pv-kpi-trend{overflow:hidden;color:#7E8A9E;font-size:8.8px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}
        .rv-utilidad-capital-mini .pv-kpi-trend.up{color:#0B9A65}.rv-utilidad-capital-mini .pv-kpi-trend.down{color:#E52B52}
        .rv-utilidad-capital-chart{display:flex;min-height:250px;flex-direction:column;padding:18px 20px}
        .rv-utilidad-capital-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
        .rv-utilidad-capital-chart-head h3{margin:0!important;color:#172033!important;font-size:15px!important;font-weight:900!important;text-transform:uppercase}
        .rv-utilidad-capital-chart-head>strong{color:#172033;font-size:13px;font-weight:900;text-align:right;white-space:nowrap}.rv-utilidad-capital-chart-head>strong small{font-size:8px;color:#8B96A8}
        .rv-utilidad-capital-donut{position:relative;display:grid;width:132px;height:132px;margin:8px auto 11px;place-items:center;border-radius:50%;background:conic-gradient(#A855F7 0 var(--rv-cap-inv),#5B21F5 var(--rv-cap-inv) var(--rv-cap-ban),#B9A1FF var(--rv-cap-ban) 100%);box-shadow:0 9px 23px rgba(91,33,245,.17)}
        .rv-utilidad-capital-donut:before{position:absolute;inset:25px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #EEEAF7;content:""}
        .rv-utilidad-capital-donut>div{position:relative;z-index:1;display:flex;align-items:center;flex-direction:column}.rv-utilidad-capital-donut strong{color:#2B2241;font-size:17px;font-weight:950}.rv-utilidad-capital-donut span{color:#929BAA;font-size:8px;font-weight:800;text-transform:uppercase}
        .rv-utilidad-capital-legend{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:auto}
        .rv-utilidad-capital-legend>span{display:flex;align-items:center;gap:4px;color:#7E899C;font-size:8.5px;font-weight:700}.rv-utilidad-capital-legend i{width:7px;height:7px;border-radius:50%;background:#A855F7}.rv-utilidad-capital-legend .bancos i{background:#5B21F5}.rv-utilidad-capital-legend .cobrar i{background:#B9A1FF}.rv-utilidad-capital-legend strong{color:#4D586B;font-size:8.5px}
        @media (max-width:1180px){.rv-utilidad-capital-layout{grid-template-columns:minmax(270px,.9fr) minmax(390px,1.1fr)}.rv-utilidad-capital-chart{grid-column:1/-1}.rv-utilidad-capital-donut{width:118px;height:118px}.rv-utilidad-capital-chart{min-height:220px}}
        @media (max-width:720px){
            .rv-utilidad-capital{margin-top:16px}.rv-utilidad-capital-heading{align-items:flex-start;flex-direction:column;gap:5px;padding:0 2px}.rv-utilidad-capital-heading h2{font-size:18px!important}.rv-utilidad-capital-heading p{text-align:left;font-size:9.5px}
            .rv-utilidad-capital-layout{grid-template-columns:1fr;gap:10px}.rv-utilidad-capital-total{min-height:190px;padding:20px}.rv-utilidad-capital-total-icon{top:18px;left:19px;width:42px;height:42px}.rv-utilidad-capital-total-trend{top:18px;right:17px}.rv-utilidad-capital-total-trend .pv-kpi-trend{max-width:150px;min-height:25px;padding:0 8px;font-size:8px}.rv-utilidad-capital-total>strong{font-size:25px}.rv-utilidad-capital-total>small{margin-top:10px;padding-top:10px;font-size:8.5px}
            .rv-utilidad-capital-components{gap:8px}.rv-utilidad-capital-mini{grid-template-columns:32px minmax(0,1fr);gap:8px;min-height:102px;padding:11px}.rv-utilidad-capital-mini-icon{width:32px;height:32px;border-radius:10px}.rv-utilidad-capital-mini-icon svg{width:15px!important;height:15px!important}.rv-utilidad-capital-mini>div>span:first-child{font-size:8.5px}.rv-utilidad-capital-mini strong{font-size:14px}.rv-utilidad-capital-mini .pv-kpi-trend{font-size:7.5px;white-space:normal;line-height:1.25}
            .rv-utilidad-capital-chart{grid-column:auto;min-height:228px;padding:15px}.rv-utilidad-capital-chart-head h3{font-size:13px!important}.rv-utilidad-capital-chart-head>strong{font-size:11px}.rv-utilidad-capital-donut{width:112px;height:112px;margin-top:10px}.rv-utilidad-capital-donut:before{inset:21px}.rv-utilidad-capital-legend{gap:8px}.rv-utilidad-capital-legend>span,.rv-utilidad-capital-legend strong{font-size:7.5px}
        }
        .rv-utilidad-ver-detalle{align-self:flex-start;background:none;border:none;padding:0;margin-top:2px;color:#6D3DF5!important;font-size:12px;font-weight:800;text-decoration:underline;text-decoration-color:rgba(109,61,245,.5);text-underline-offset:3px;cursor:pointer;box-shadow:none}
        .rv-utilidad-ver-detalle:hover{color:#5528D6!important;text-decoration-color:#5528D6}
        .rv-util-topbar{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;overflow:hidden;padding:22px 24px;border-color:#E9E3F7!important;background:linear-gradient(118deg,#fff 0%,#fff 62%,#FBF8FF 100%)!important;box-shadow:0 13px 34px rgba(49,35,92,.08)!important}
        .rv-util-topbar:before{position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#1EA7F2 0%,#7542F1 48%,#F50150 100%);content:""}
        .rv-util-topbar:after{position:absolute;right:18%;bottom:-78px;width:175px;height:175px;border:24px solid rgba(125,72,232,.035);border-radius:50%;content:"";pointer-events:none}
        .rv-util-topbar-left{position:relative;z-index:1;display:flex;align-items:center;gap:15px;min-width:0}
        .rv-util-topbar-icon{display:flex;width:50px;height:50px;align-items:center;justify-content:center;flex:0 0 50px;border-radius:15px;background:linear-gradient(145deg,#269FF1 0%,#7843EE 55%,#EF075A 100%);color:#fff;box-shadow:0 10px 22px rgba(109,61,245,.22)}
        .rv-util-topbar-icon svg{width:23px!important;height:23px!important;color:#fff!important;stroke:currentColor!important}
        .rv-util-topbar-copy{display:flex;min-width:0;flex-direction:column}
        .rv-util-topbar-kicker{margin-bottom:3px;color:#7448E8;font-size:9px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
        .rv-util-topbar-title-row{display:flex;align-items:center;gap:11px;min-width:0}
        .rv-util-topbar h1{margin:0!important;color:var(--pv-ink)!important;font-size:23px!important;font-weight:900!important;line-height:1.08;letter-spacing:-.025em;text-transform:none}
        .rv-util-topbar-fecha{display:inline-flex;min-height:24px;align-items:center;padding:0 9px;border:1px solid #E8DFFF;border-radius:8px;background:#F4F0FF;color:#6D3DF5;font-size:10.5px;font-weight:850;white-space:nowrap}
        .rv-util-topbar-copy p{margin:5px 0 0;color:var(--pv-muted);font-size:10.5px;font-weight:650}
        .rv-utilidad-filtro-form{position:relative;z-index:1;display:flex;align-items:stretch;gap:8px;padding:6px;border:1px solid #E7E0F5;border-radius:16px;background:rgba(247,244,253,.9);box-shadow:inset 0 1px 0 #fff}
        .rv-utilidad-filter-control{position:relative;display:flex;min-width:172px;height:54px;flex-direction:column;justify-content:center;padding:7px 10px 6px 38px;border:1px solid transparent;border-radius:12px;background:#fff;box-shadow:0 4px 14px rgba(45,31,84,.06);transition:border-color .18s ease,box-shadow .18s ease}
        .rv-utilidad-filter-control.anio{min-width:116px}
        .rv-utilidad-filter-control:focus-within{border-color:#8A63FA;box-shadow:0 0 0 3px rgba(109,61,245,.10)}
        .rv-utilidad-filter-control:before{position:absolute;left:13px;top:50%;width:17px;height:17px;transform:translateY(-50%);background:center/17px 17px no-repeat url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%236D3DF5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 11h18'/%3E%3C/svg%3E");content:""}
        .rv-utilidad-filter-control>span{display:block;color:#8A96AA;font-size:8px;font-weight:900;line-height:1;text-transform:uppercase}
        .rv-util-topbar-select{width:100%;height:25px;appearance:none;-webkit-appearance:none;padding:0 22px 0 0;border:0!important;outline:0!important;border-radius:0;font-family:inherit;font-size:13px;font-weight:850;background-color:transparent!important;color:var(--pv-ink);cursor:pointer;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236D3DF5' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 3px center;box-shadow:none!important}
        .rv-util-topbar-select:hover{background-color:transparent!important}

        /* Escritorio: Mes y Año son dos controles equivalentes. Se elimina
           la tarjeta/icono exterior porque el selector NOALYX ya aporta su
           propio icono; así no quedan dos calendarios ni cajas anidadas. */
        @media (min-width:901px){
            .rv-utilidad-filtro-form{display:grid;grid-template-columns:repeat(2,184px);align-items:end;gap:8px;padding:6px}
            .rv-utilidad-filter-control,.rv-utilidad-filter-control.anio{box-sizing:border-box;display:flex;width:184px;min-width:0;height:auto;gap:5px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
            .rv-utilidad-filter-control:before{display:none}
            .rv-utilidad-filter-control:focus-within{border-color:transparent;box-shadow:none}
            .rv-utilidad-filter-control>span{padding-left:4px}
            .rv-utilidad-filter-control .pv-cs{box-sizing:border-box;width:100%;min-width:0}
            html body .pvf-shell .rv-utilidad-filter-control .pv-cs-trigger{box-sizing:border-box;display:grid;width:100%!important;min-width:0!important;height:42px!important;min-height:42px!important;grid-template-columns:18px minmax(0,1fr) 14px;align-items:center;gap:8px;padding:0 11px!important;border:1px solid #ddd5f4!important;border-radius:11px!important;background:#fff!important;color:#172033!important;box-shadow:0 3px 10px rgba(48,35,87,.05)!important}
            .rv-utilidad-filter-control .pv-cs-trigger-icon{display:grid;width:18px;height:18px;place-items:center;color:#6d3df5}
            .rv-utilidad-filter-control .pv-cs-trigger-icon svg{width:17px!important;height:17px!important}
            .rv-utilidad-filter-control .pv-cs-trigger-label{display:block;min-width:0;overflow:hidden;color:#172033;font-size:13px;font-weight:800;line-height:1;text-align:left;text-overflow:ellipsis;white-space:nowrap}
            .rv-utilidad-filter-control .pv-cs-chevron{display:grid;width:14px;height:14px;place-items:center;color:#6d3df5}
        }
        /* Mes y año son filtros de navegación, no campos que requieran el
           check verde del validador global. Este respaldo visual también
           limpia una clase persistida por navegaciones AJAX anteriores. */
        .rv-utilidad-filtro-form .rv-util-topbar-select.pv-campo-completo{padding-right:22px!important;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236D3DF5' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 3px center!important;background-size:10px 6px!important}
        @media (max-width:720px){
            .rv-util-topbar{align-items:stretch;flex-direction:column;gap:14px;padding:17px 15px}.rv-util-topbar:after{right:-70px;bottom:-90px}
            .rv-util-topbar-left{gap:11px}.rv-util-topbar-icon{width:43px;height:43px;flex-basis:43px;border-radius:13px}.rv-util-topbar-icon svg{width:20px!important;height:20px!important}
            .rv-util-topbar-kicker{font-size:7.5px}.rv-util-topbar-title-row{gap:7px;flex-wrap:wrap}.rv-util-topbar h1{font-size:18px!important}.rv-util-topbar-fecha{min-height:21px;padding:0 7px;font-size:8.5px}.rv-util-topbar-copy p{display:none}
            .rv-utilidad-filtro-form{display:grid;width:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:6px;border-radius:14px}
            .rv-utilidad-filter-control,.rv-utilidad-filter-control.anio{box-sizing:border-box;display:flex;min-width:0;height:auto;gap:5px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
            .rv-utilidad-filter-control:before{display:none}
            .rv-utilidad-filter-control:focus-within{border-color:transparent;box-shadow:none}
            .rv-utilidad-filter-control>span{padding-left:4px;color:#7F8AA0;font-size:7.5px;line-height:1;letter-spacing:.04em}
            .rv-utilidad-filter-control .pv-cs{box-sizing:border-box;width:100%;min-width:0}
            html body .pvf-shell .rv-utilidad-filter-control .pv-cs-trigger{box-sizing:border-box;display:grid;width:100%!important;min-width:0!important;height:44px!important;min-height:44px!important;grid-template-columns:18px minmax(0,1fr) 14px;align-items:center;gap:8px;padding:0 11px!important;border:1px solid #DDD5F4!important;border-radius:12px!important;background:#fff!important;color:#172033!important;box-shadow:0 4px 12px rgba(48,35,87,.06)!important}
            .rv-utilidad-filter-control .pv-cs-trigger-icon{display:grid;width:18px;height:18px;place-items:center;color:#6D3DF5}
            .rv-utilidad-filter-control .pv-cs-trigger-icon svg{width:17px!important;height:17px!important}
            .rv-utilidad-filter-control .pv-cs-trigger-label{display:block;min-width:0;overflow:hidden;color:#172033;font-size:13px;font-weight:800;line-height:1;text-align:left;text-overflow:ellipsis;white-space:nowrap}
            .rv-utilidad-filter-control .pv-cs-chevron{display:grid;width:14px;height:14px;place-items:center;color:#6D3DF5}
            .rv-utilidad-filter-control .pv-cs-chevron svg{width:13px!important;height:13px!important}
            .rv-util-topbar-select{height:23px;font-size:11.5px}
        }
        /* Un pequeño respiro a la derecha hace que ambas flechas queden
           visualmente centradas dentro del botón, sin alterar el texto. */
        html body .pvf-shell .rv-utilidad-filter-control .pv-cs-chevron{position:relative!important;right:6px!important}
        html body .pvf-shell .rv-utilidad-filter-control .pv-cs.pv-cs-open .pv-cs-chevron{transform:rotate(180deg)!important}
        #pv-modal-utilidad-cambiario{padding:18px;background:rgba(20,24,35,.54);backdrop-filter:blur(9px)}
        #pv-modal-utilidad-cambiario .rv-utilidad-cambio-modal{display:flex;width:min(760px,calc(100vw - 36px));max-width:760px;max-height:min(88vh,840px);flex-direction:column;box-sizing:border-box;padding:0;overflow:hidden;border:1px solid rgba(255,255,255,.72);border-radius:24px;background:#F8F9FD;box-shadow:0 30px 80px rgba(27,21,51,.3)}
        .rv-utilidad-cambio-head{position:relative;display:flex;min-height:112px;align-items:center;gap:15px;box-sizing:border-box;padding:22px 76px 22px 25px;border-bottom:1px solid #E8E3F2;background:linear-gradient(118deg,#fff 0%,#FCF8FF 68%,#FFF4F8 100%)}
        .rv-utilidad-cambio-head:before{position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#16A9E8 0%,#753DF3 48%,#F40654 100%);content:""}
        .rv-utilidad-cambio-head-icon{display:grid;width:50px;height:50px;flex:0 0 50px;place-items:center;border-radius:15px;background:linear-gradient(145deg,#25A9E9 0%,#7140EC 54%,#EA0B61 100%);color:#fff;box-shadow:0 10px 24px rgba(111,61,238,.25)}
        .rv-utilidad-cambio-head-icon svg{width:25px;height:25px}
        .rv-utilidad-cambio-head-copy{min-width:0}
        .rv-utilidad-cambio-head-copy>span{display:block;margin-bottom:4px;color:#7042EF;font-size:10px;font-weight:900;letter-spacing:.11em}
        .rv-utilidad-cambio-head-copy h2{margin:0;color:#172033;font-size:23px;font-weight:950;line-height:1.15;letter-spacing:-.025em}
        .rv-utilidad-cambio-head-copy p{margin:5px 0 0;color:#7F8BA2;font-size:12px;font-weight:600;line-height:1.4}
        #pv-modal-utilidad-cambiario .pv-modal-close{position:absolute;top:24px;right:24px;display:grid;width:38px;height:38px;min-width:38px;place-items:center;margin:0;padding:0;border:1px solid #DDD5F2;border-radius:12px;background:#fff;color:#693DE8;font-size:25px;font-weight:400;line-height:1;box-shadow:0 5px 14px rgba(55,42,93,.08)}
        #pv-modal-utilidad-cambiario .pv-modal-close:hover{border-color:#BDAEFF;background:#F8F5FF;transform:translateY(-1px)}
        .rv-utilidad-cambio-body{min-height:0;overflow:auto;padding:20px 24px 25px;scrollbar-color:#AFA7C2 transparent;scrollbar-width:thin}
        .rv-utilidad-cambio-resumen{display:grid;grid-template-columns:minmax(0,1.45fr) repeat(2,minmax(150px,.75fr));gap:10px;margin-bottom:16px}
        .rv-utilidad-cambio-total,.rv-utilidad-cambio-metrica{display:flex;min-height:92px;flex-direction:column;justify-content:center;box-sizing:border-box;border:1px solid #E5E0EF;border-radius:17px;background:#fff;box-shadow:0 8px 20px rgba(39,30,73,.05)}
        .rv-utilidad-cambio-total{position:relative;padding:14px 18px 14px 21px;overflow:hidden;background:linear-gradient(120deg,#FBF8FF,#FFF7FA)}
        .rv-utilidad-cambio-total:before{position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(180deg,#7641F0,#EF0B5B);content:""}
        .rv-utilidad-cambio-total.pos:before{background:linear-gradient(180deg,#0EAA72,#38D39D)}
        .rv-utilidad-cambio-total>span,.rv-utilidad-cambio-metrica>span{color:#7E899F;font-size:9.5px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
        .rv-utilidad-cambio-total>strong{margin-top:4px;color:#172033;font-size:23px;font-weight:950;line-height:1.05;letter-spacing:-.035em}
        .rv-utilidad-cambio-total.neg>strong{color:#DF2447}.rv-utilidad-cambio-total.pos>strong{color:#07945D}
        .rv-utilidad-cambio-total>strong small{font-size:10px;font-weight:900;letter-spacing:0}
        .rv-utilidad-cambio-total>small,.rv-utilidad-cambio-metrica>small{margin-top:5px;color:#8994A8;font-size:9.5px;font-weight:650;line-height:1.3}
        .rv-utilidad-cambio-metrica{padding:13px 15px}
        .rv-utilidad-cambio-metrica>strong{margin-top:3px;color:#6740DE;font-size:22px;font-weight:950;line-height:1}
        .rv-utilidad-cambio-lista{display:flex;flex-direction:column;gap:10px}
        .rv-utilidad-cambio-evento{position:relative;padding:15px 16px 14px;overflow:hidden;border:1px solid #E3DFEC;border-radius:17px;background:#fff;box-shadow:0 7px 18px rgba(44,35,74,.045)}
        .rv-utilidad-cambio-evento:before{position:absolute;inset:0 auto 0 0;width:4px;background:#A6A0B6;content:""}
        .rv-utilidad-cambio-evento.neg:before{background:#F02B4F}.rv-utilidad-cambio-evento.pos:before{background:#13AE75}
        .rv-utilidad-cambio-evento-head{display:grid;grid-template-columns:auto auto auto minmax(130px,1fr);align-items:center;gap:7px;padding-left:3px}
        .rv-utilidad-cambio-evento-head time{display:inline-flex;min-height:28px;align-items:center;padding:0 9px;border-radius:8px;background:#F3F4F8;color:#778399;font-size:10.5px;font-weight:900}
        .rv-utilidad-cambio-moneda{display:inline-flex;min-height:28px;align-items:center;padding:0 10px;border-radius:8px;background:#EEE8FF;color:#683CE1;font-size:10px;font-weight:950;letter-spacing:.04em}
        .rv-utilidad-cambio-direccion{display:inline-flex;min-height:28px;align-items:center;padding:0 9px;border-radius:8px;font-size:9.5px;font-weight:850;white-space:nowrap}
        .rv-utilidad-cambio-direccion.subio{background:#FFF0F3;color:#D92648}.rv-utilidad-cambio-direccion.bajo{background:#EAF9F2;color:#078854}
        .rv-utilidad-cambio-impacto{justify-self:end;color:#667085;font-size:16px;font-weight:950;letter-spacing:-.02em;white-space:nowrap}
        .rv-utilidad-cambio-evento.neg .rv-utilidad-cambio-impacto{color:#E32645}.rv-utilidad-cambio-evento.pos .rv-utilidad-cambio-impacto{color:#079455}
        .rv-utilidad-cambio-impacto small{font-size:9px;font-weight:900;letter-spacing:0}
        .rv-utilidad-cambio-tasas{display:grid;grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr);align-items:center;gap:8px;margin:12px 0 10px;padding:10px 13px;border:1px solid #ECE8F3;border-radius:12px;background:#FAFAFD}
        .rv-utilidad-cambio-tasas>span{display:flex;align-items:center;justify-content:space-between;gap:8px}
        .rv-utilidad-cambio-tasas small,.rv-utilidad-cambio-evento-foot small{color:#8994A8;font-size:8.5px;font-weight:850;text-transform:uppercase}
        .rv-utilidad-cambio-tasas strong{color:#273044;font-size:12px;font-weight:900;font-variant-numeric:tabular-nums}
        .rv-utilidad-cambio-tasas i{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:#EEE8FF;color:#6D3DF5;font-size:15px;font-style:normal}
        .rv-utilidad-cambio-evento-foot{display:grid;grid-template-columns:1fr 1.35fr;gap:10px;padding-left:3px}
        .rv-utilidad-cambio-evento-foot>span{display:flex;min-width:0;flex-direction:column;gap:3px}
        .rv-utilidad-cambio-evento-foot strong{overflow:hidden;color:#455066;font-size:10.5px;font-weight:750;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
        .rv-utilidad-cambio-vacio{display:flex;min-height:240px;align-items:center;justify-content:center;flex-direction:column;text-align:center}
        .rv-utilidad-cambio-vacio>span{display:grid;width:48px;height:48px;place-items:center;border-radius:15px;background:#EAF9F2;color:#079455;font-size:22px;font-weight:900}.rv-utilidad-cambio-vacio strong{margin-top:12px;color:#172033;font-size:17px}.rv-utilidad-cambio-vacio p{max-width:390px;margin:6px 0 0;color:#7F8BA2;font-size:12px;line-height:1.5}
        @media(max-width:620px){
            #pv-modal-utilidad-cambiario{align-items:flex-end;padding:7px}
            #pv-modal-utilidad-cambiario .rv-utilidad-cambio-modal{width:100%;max-height:96vh;border-radius:20px}
            .rv-utilidad-cambio-head{min-height:88px;gap:10px;padding:14px 54px 14px 14px}
            .rv-utilidad-cambio-head-icon{width:42px;height:42px;flex-basis:42px;border-radius:13px}.rv-utilidad-cambio-head-icon svg{width:21px;height:21px}
            .rv-utilidad-cambio-head-copy>span{font-size:8px}.rv-utilidad-cambio-head-copy h2{font-size:17px}.rv-utilidad-cambio-head-copy p{display:none}
            #pv-modal-utilidad-cambiario .pv-modal-close{top:16px;right:14px;width:36px;height:36px;min-width:36px;border-radius:11px;font-size:23px}
            .rv-utilidad-cambio-body{padding:13px 12px 16px}
            .rv-utilidad-cambio-resumen{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
            .rv-utilidad-cambio-total{grid-column:1/-1;min-height:86px;padding:12px 14px 12px 18px}.rv-utilidad-cambio-total>strong{font-size:21px}
            .rv-utilidad-cambio-metrica{min-height:72px;padding:10px 12px}.rv-utilidad-cambio-metrica>strong{font-size:19px}.rv-utilidad-cambio-metrica>small{font-size:8.3px}
            .rv-utilidad-cambio-evento{padding:12px 11px 12px 13px;border-radius:15px}
            .rv-utilidad-cambio-evento-head{grid-template-columns:auto auto minmax(0,1fr);gap:5px;padding-left:2px}
            .rv-utilidad-cambio-direccion{justify-self:start;padding:0 7px;font-size:8px}.rv-utilidad-cambio-impacto{grid-column:1/-1;justify-self:stretch;margin-top:4px;padding:8px 10px;border-radius:10px;background:#F8F8FB;font-size:16px;text-align:right}
            .rv-utilidad-cambio-evento.neg .rv-utilidad-cambio-impacto{background:#FFF1F3}.rv-utilidad-cambio-evento.pos .rv-utilidad-cambio-impacto{background:#ECFAF4}
            .rv-utilidad-cambio-tasas{margin:8px 0;padding:8px 9px}.rv-utilidad-cambio-tasas>span{align-items:flex-start;flex-direction:column;gap:2px}.rv-utilidad-cambio-tasas strong{font-size:11px}.rv-utilidad-cambio-tasas i{width:24px;height:24px}
            .rv-utilidad-cambio-evento-foot{grid-template-columns:1fr;gap:8px}.rv-utilidad-cambio-evento-foot>span{padding-top:7px;border-top:1px solid #F0EDF5}.rv-utilidad-cambio-evento-foot strong{font-size:10px;white-space:normal}
        }
        @media (max-width:1100px){ .rv-utilidad-kpis{grid-template-columns:repeat(3,minmax(0,1fr))} }
        @media (max-width:720px){ .rv-utilidad-kpis{grid-template-columns:repeat(2,minmax(0,1fr))} }
        .rv-kpi-label{font-size:13px;color:var(--pv-muted);font-weight:600}
        .rv-kpi-value{color:var(--pv-ink);font-size:25px;font-weight:800;line-height:1;letter-spacing:-.02em}
        .rv-kpi-value small{font-size:12px;letter-spacing:0;color:var(--pv-muted);font-weight:600}
        .rv-kpi-card .pv-kpi-trend{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700}
        .rv-kpi-card .pv-kpi-trend.up{color:var(--pv-success-text)}
        .rv-kpi-card .pv-kpi-trend.down{color:var(--pv-danger-text)}
        .rv-kpi-spark{margin-top:2px;overflow:visible}
        @media (max-width:720px){
            .rv-utilidad-kpis{gap:10px;margin-top:14px}
            .rv-utilidad-kpis .rv-kpi-card{
                --rv-kpi-accent:#7542F1;--rv-kpi-soft:#F2ECFF;
                position:relative;isolation:isolate;box-sizing:border-box;min-height:124px;gap:0;overflow:hidden;
                padding:14px 12px 12px;border:1px solid #E8E3F1!important;border-radius:18px!important;
                background:linear-gradient(145deg,#fff 0%,#FCFAFF 100%);box-shadow:0 10px 25px rgba(34,27,65,.09)!important;
                transform:none!important
            }
            .rv-utilidad-kpis .rv-kpi-card.coral{--rv-kpi-accent:#F04452;--rv-kpi-soft:#FFF0F2}
            .rv-utilidad-kpis .rv-kpi-card.teal{--rv-kpi-accent:#0F9D91;--rv-kpi-soft:#EAFBF7}
            .rv-utilidad-kpis .rv-kpi-card.orange{--rv-kpi-accent:#7542F1;--rv-kpi-soft:#F2ECFF}
            .rv-utilidad-kpis .rv-kpi-card.green{--rv-kpi-accent:#18A76F;--rv-kpi-soft:#EAF9F2}
            .rv-utilidad-kpis .rv-kpi-card:before{position:absolute;z-index:0;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--rv-kpi-accent),#F50150);content:""}
            .rv-utilidad-kpis .rv-kpi-card:after{position:absolute;z-index:0;top:-28px;right:-26px;width:86px;height:86px;border-radius:50%;background:var(--rv-kpi-soft);content:"";opacity:.8}
            .rv-utilidad-kpis .rv-kpi-card>*{position:relative;z-index:1}
            .rv-utilidad-kpis .rv-kpi-card-top{min-height:34px;align-items:center;gap:7px}
            .rv-utilidad-kpis .rv-kpi-label{display:flex;min-height:0;align-items:center;color:#667085;font-size:9.7px;font-weight:900;line-height:1.2;letter-spacing:.01em}
            .rv-utilidad-kpis .rv-kpi-icon{display:flex!important;width:32px!important;height:32px!important;align-items:center;justify-content:center;flex:0 0 32px;border-radius:10px!important;box-shadow:0 7px 15px rgba(73,45,155,.2)!important}
            .rv-utilidad-kpis .rv-kpi-icon svg{width:15px!important;height:15px!important}
            .rv-utilidad-kpis .rv-kpi-value{margin-top:11px;color:#172033;font-size:18px;line-height:1.05;letter-spacing:-.035em;white-space:nowrap;font-variant-numeric:tabular-nums}
            .rv-utilidad-kpis .rv-kpi-value small{margin-left:2px;color:#8792A6;font-size:8px;font-weight:900;letter-spacing:.01em}
            .rv-utilidad-kpis .rv-kpi-card .pv-kpi-trend{display:inline-flex;width:fit-content;max-width:100%;min-height:22px;align-items:center;align-self:flex-start;box-sizing:border-box;margin-top:9px;padding:4px 7px;border-radius:999px;background:#F2F4F7;font-size:8.2px;font-weight:900;line-height:1.15;white-space:normal}
            .rv-utilidad-kpis .rv-kpi-card .pv-kpi-trend.up{background:#EAF9F2;color:#079455}
            .rv-utilidad-kpis .rv-kpi-card .pv-kpi-trend.down{background:#FFF0F2;color:#E62E45}
            .rv-utilidad-kpis .rv-kpi-card .pv-kpi-trend.pv-muted{border-radius:8px;color:#667085}
            .rv-utilidad-kpis .rv-kpi-card:last-child{grid-column:1/-1;display:grid;width:100%;height:168px;min-height:168px;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:32px 52px 34px;gap:8px 10px;padding:15px}
            .rv-utilidad-kpis .rv-kpi-card:last-child .rv-kpi-card-top{display:contents}.rv-utilidad-kpis .rv-kpi-card:last-child .rv-kpi-label{grid-column:1;grid-row:1;align-items:center}.rv-utilidad-kpis .rv-kpi-card:last-child .rv-kpi-icon{grid-column:2;grid-row:1}
            .rv-utilidad-kpis .rv-kpi-card:last-child .rv-kpi-value{display:flex;grid-column:1/-1;grid-row:2;min-height:52px;align-items:center;align-self:stretch;box-sizing:border-box;margin:0;padding:0 13px;border:1px solid #E7F3ED;border-radius:13px;background:#F1FBF6;font-size:22px}.rv-utilidad-kpis .rv-kpi-card:last-child .pv-kpi-trend{grid-column:1/-1;grid-row:3;align-self:center;justify-self:start;max-width:100%;min-height:22px;margin:0;text-align:left}
            .rv-reporte-grid-2{gap:12px!important;margin-top:14px}
            .rv-reporte-grid-2>.rv-utilidad-highlight{position:relative;display:grid!important;width:100%;height:168px;min-height:168px;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:32px 52px 34px;gap:8px 10px;overflow:hidden;box-sizing:border-box;padding:15px!important;border:1px solid #E8E3F1!important;border-left:1px solid #E8E3F1!important;border-radius:18px!important;background:linear-gradient(145deg,#fff 0%,#FCFAFF 100%)!important;box-shadow:0 10px 27px rgba(36,29,67,.08)!important}
            .rv-reporte-grid-2>.rv-utilidad-highlight:before{position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#7542F1,#F50150);content:""}
            .rv-reporte-grid-2>.rv-utilidad-highlight.rv-utilidad-pos:before{background:linear-gradient(90deg,#19A974,#31D7A2)}
            .rv-reporte-grid-2>.rv-utilidad-highlight .rv-utilidad-highlight-head{display:flex;grid-column:1/-1;grid-row:1;align-items:center;gap:8px}.rv-reporte-grid-2>.rv-utilidad-highlight h2{grid-column:1/-1;grid-row:1;align-self:center;max-width:70%;color:#172033!important;font-size:13.5px!important;font-weight:900!important;line-height:1.18}
            .rv-reporte-grid-2>.rv-utilidad-highlight:not(:first-child) h2{max-width:none;padding-right:8px}
            .rv-utilidad-badge{display:inline-flex;min-height:24px;align-items:center;padding:0 8px;border-radius:999px;background:#FFF0F3;color:#E52B52;font-size:8.5px;font-weight:900;white-space:nowrap}
            .rv-reporte-grid-2>.rv-utilidad-highlight .rv-kpi-value{display:flex;grid-column:1/-1;grid-row:2;min-height:52px;align-items:center;box-sizing:border-box;padding:0 13px;border:1px solid #ECE5FA;border-radius:13px;background:#F8F5FF;color:#172033;font-size:23px!important;font-weight:950!important;letter-spacing:-.03em}
            .rv-reporte-grid-2>.rv-utilidad-highlight .rv-kpi-value small{margin-left:5px;font-size:8.5px;font-weight:850}
            .rv-reporte-grid-2>.rv-utilidad-highlight>.pv-muted{grid-column:1;grid-row:3;align-self:center;font-size:8.8px;line-height:1.25}
            .rv-reporte-grid-2>.rv-utilidad-highlight>.rv-utilidad-divisas-desglose{grid-column:1;grid-row:3;align-self:center}
            .rv-reporte-grid-2 .rv-utilidad-divisa-chip{min-height:30px;padding:0 7px;font-size:8.7px}.rv-reporte-grid-2 .rv-utilidad-divisa-chip strong{font-size:8.7px}
            .rv-reporte-grid-2>.rv-utilidad-highlight>.pv-kpi-trend{grid-column:1/-1;grid-row:3;align-self:center;justify-self:start;margin:0;font-size:9px;line-height:1.3}
            .rv-reporte-grid-2 .rv-utilidad-ver-detalle{display:inline-flex;grid-column:2;grid-row:3;width:max-content;min-height:32px;align-items:center;justify-content:center;align-self:center;margin:0;padding:0 11px;border:1px solid #D8CAFF;border-radius:10px;background:#fff;color:#6D3DF5;font-size:9.2px;font-weight:850;text-decoration:none;box-shadow:0 4px 12px rgba(109,61,245,.08)}
            .rv-reporte-grid-2 .rv-utilidad-ver-detalle:before{margin-right:5px;font-size:12px;content:"⌁"}
        }
        .rv-provider-balances{overflow:hidden;border:1px solid var(--pv-border2);border-radius:18px;padding:0;margin-bottom:0;background:rgba(255,255,255,.92);box-shadow:0 8px 24px rgba(26,35,58,.04)}
        .rv-provider-balances-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0;padding:14px 18px;border-bottom:1px solid var(--pv-border);flex-wrap:wrap}
        .rv-provider-balances-head h3{margin:0;display:flex;align-items:center;gap:10px;color:var(--pv-ink);font-size:18px;font-weight:600;line-height:1.35;letter-spacing:-.01em}
        .rv-provider-title-icon{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
        .rv-provider-title-icon svg{display:block;width:32px;height:32px;overflow:visible}
        .rv-provider-balances-summary{min-height:38px;box-sizing:border-box;display:inline-flex;align-items:center;gap:8px;padding:0 13px;border:1px solid var(--pv-border2);border-radius:12px;background:rgba(255,255,255,.72);color:var(--pv-muted);font-size:12px;font-weight:500;white-space:nowrap}
        .rv-provider-balances-summary svg{width:18px;height:18px;color:#8490A6}
        .rv-provider-balances-summary i{font-style:normal;color:#A7B0C1}
        .rv-provider-balances-summary strong{font-size:13px;font-weight:600;color:var(--pv-ink)}
        .rv-provider-balance-list{overflow:hidden;border:0;border-radius:0;background:transparent;box-shadow:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
        .rv-provider-card{min-height:84px;box-sizing:border-box;border:0;border-bottom:1px solid var(--pv-border);border-radius:0;background:transparent;padding:12px 16px 12px 24px;position:relative;overflow:hidden;box-shadow:none;text-decoration:none!important;display:grid;grid-template-columns:38px minmax(0,1fr) minmax(105px,auto) 18px;grid-template-areas:"avatar info amount chevron" "avatar status amount chevron";align-items:center;column-gap:12px;row-gap:3px;transition:background .18s ease}
        .rv-provider-card:nth-child(odd){border-right:1px solid var(--pv-border)}
        .rv-provider-card:last-child{border-bottom:0}
        .rv-provider-card:nth-last-child(2):nth-child(odd){border-bottom:0}
        .rv-provider-card:hover{background:#F8F9FD;box-shadow:none}
        .rv-provider-card::before{content:"";position:absolute;left:12px;top:17px;bottom:17px;width:3px;border-radius:999px;background:#6844DF}
        .rv-provider-card.rv-provider-accent-cyan::before{background:#08A6EC}
        .rv-provider-card.rv-provider-accent-purple::before{background:#8055E8}
        .rv-provider-card.rv-provider-accent-red::before{background:#FF1744}
        .rv-provider-card.rv-provider-accent-violet::before{background:#6844DF}
        .rv-provider-card .rv-prov-icon{grid-area:avatar;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:static;letter-spacing:.02em}
        .rv-provider-card .rv-prov-icon svg{display:none}
        /* El tema del sitio le baja el peso a las letras dentro de estos
           círculos (se ven finas/ilegibles, una "L" parece una "I") — se
           blinda con la misma técnica de cadena html body ya usada contra
           el tema en el resto del encabezado. */
        html body .pvf-shell .rv-provider-card .rv-prov-icon{color:#fff!important;font-weight:700!important;font-size:14px!important}
        .rv-provider-card h4{margin:0;color:var(--pv-ink);font-size:14px;font-weight:500;line-height:1.3;white-space:normal;overflow:visible;text-overflow:clip}
        .rv-provider-card-info{grid-area:info;min-width:0}
        .rv-provider-card strong{grid-area:amount;display:block;font-size:13.5px;font-weight:600;color:var(--pv-ink);text-align:right;white-space:nowrap}
        .rv-provider-card .rv-provider-status{grid-area:status;justify-self:start;min-height:25px;box-sizing:border-box;display:inline-flex;align-items:center;gap:5px;margin:0;padding:0 9px;border-radius:999px;background:rgba(128,85,232,.08);color:#6844DF;font-size:10.5px;font-weight:600;white-space:nowrap}
        .rv-provider-card .rv-provider-status svg{width:14px;height:14px}
        .rv-provider-card.favor .rv-provider-status{background:rgba(8,166,236,.08);color:#087EB4}
        .rv-provider-card.al-dia .rv-provider-status{background:#F1F3F7;color:#64748B}
        .rv-provider-chevron{grid-area:chevron;display:flex!important;align-items:center;justify-content:center;margin:0!important;color:#98A2B3!important}
        .rv-provider-chevron svg{width:16px;height:16px;transition:transform .18s ease}
        .rv-provider-card:hover .rv-provider-chevron svg{transform:translateX(2px)}
        @media (max-width:1100px){
            .rv-provider-balance-list{grid-template-columns:1fr}
            .rv-provider-card:nth-child(odd){border-right:0}
            .rv-provider-card:nth-last-child(2):nth-child(odd){border-bottom:1px solid var(--pv-border)}
        }
        @media (max-width:820px){
            .rv-provider-balances-head{align-items:flex-start;gap:10px}
            .rv-provider-balances-head h3{font-size:16px}
            .rv-provider-balances-summary{width:100%;min-height:34px;justify-content:center;padding:0 10px;font-size:10.5px;gap:6px}
            .rv-provider-balances-summary strong{font-size:11.5px}
            .rv-provider-balances{border-radius:15px}
            .rv-provider-balance-list{border-radius:0;grid-template-columns:1fr}
            .rv-provider-card{
                min-height:96px;
                padding:12px 12px 12px 22px;
                grid-template-columns:38px minmax(0,1fr) 18px;
                grid-template-areas:
                    "avatar info chevron"
                    "avatar status chevron"
                    "avatar amount chevron";
                column-gap:10px;
                row-gap:3px;
            }
            .rv-provider-card::before{left:10px;top:16px;bottom:16px}
            .rv-provider-card .rv-prov-icon{grid-area:avatar;width:36px;height:36px}
            .rv-provider-card-info{grid-area:info}
            .rv-provider-card h4{font-size:12.5px}
            .rv-provider-card .rv-provider-status{grid-area:status;justify-self:start;min-height:24px;padding:0 8px;font-size:10px}
            .rv-provider-card strong{grid-area:amount;text-align:left;font-size:12px}
            .rv-provider-chevron{grid-area:chevron}
        }
        .rv-main-grid-2{display:grid;grid-template-columns:1.6fr 1fr;gap:20px}
        .rv-main-card{border-radius:24px;padding:24px;overflow:hidden;background:var(--pv-surface);border:1px solid var(--pv-border);box-shadow:0 1px 2px rgba(16,24,40,.04),0 10px 28px rgba(16,24,40,.06)}
        .rv-main-card h3{margin:0 0 4px;color:var(--pv-ink);font-size:15px;font-weight:700}
        .rv-main-card .rv-muted{margin:0 0 12px;color:var(--pv-muted);font-size:12px}
        .rv-utilidad-chart-card{margin-top:28px!important;padding:24px!important}
        .rv-utilidad-chart-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}
        .rv-utilidad-chart-title h3{margin:0!important;color:var(--pv-ink)!important;font-size:17px!important;font-weight:850!important;letter-spacing:-.015em}
        .rv-utilidad-chart-title p{margin:4px 0 0;color:var(--pv-muted);font-size:12px;font-weight:650}
        .rv-utilidad-chart-summary{display:flex;align-items:center;gap:22px;min-height:54px;padding:10px 14px;margin-bottom:4px;border:1px solid var(--pv-border);border-radius:14px;background:var(--pv-surface-2)}
        .rv-utilidad-chart-total{display:grid;grid-template-columns:10px auto;align-items:center;column-gap:8px;row-gap:2px;min-width:0}
        .rv-utilidad-chart-total .rv-utilidad-chart-dot{grid-row:1/3;width:9px;height:9px;border-radius:50%}
        .rv-utilidad-chart-total.ingresos .rv-utilidad-chart-dot{background:#6D3DF5;box-shadow:0 0 0 4px rgba(109,61,245,.10)}
        .rv-utilidad-chart-total.utilidad .rv-utilidad-chart-dot{background:#16A34A;box-shadow:0 0 0 4px rgba(22,163,74,.10)}
        .rv-utilidad-chart-total>span:not(.rv-utilidad-chart-dot){color:var(--pv-muted);font-size:11px;font-weight:750}
        .rv-utilidad-chart-total strong{color:var(--pv-ink);font-size:14px;font-weight:900;white-space:nowrap}
        .rv-utilidad-chart-total strong small{font-size:9px;color:var(--pv-muted);font-weight:800}
        .rv-utilidad-chart-note{margin-left:auto;color:var(--pv-muted);font-size:10.5px;font-weight:650;text-align:right}
        .rv-utilidad-chart-scroll{width:100%;max-width:100%;overflow:visible}
        .rv-utilidad-chart-canvas{position:relative;width:100%;height:330px}
        @media (max-width:680px){
            .rv-utilidad-chart-card{margin-top:18px!important;padding:15px!important}
            .rv-utilidad-chart-head{align-items:flex-start;flex-direction:column;margin-bottom:12px}
            .rv-utilidad-chart-head .rv-utilidad-anio-nav{grid-template-columns:40px minmax(112px,1fr) 40px;align-self:stretch;justify-content:center;gap:6px;padding:5px;border-radius:14px}
            .rv-utilidad-chart-head .rv-utilidad-anio-nav .pv-icon-btn{width:40px;height:40px;min-width:40px;border-radius:11px}
            .rv-utilidad-chart-head .rv-utilidad-anio-pill{height:40px;min-height:40px;padding:0 12px;border-radius:11px;font-size:12.5px}
            .rv-utilidad-chart-title h3{font-size:14px!important}
            .rv-utilidad-chart-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:9px}
            .rv-utilidad-chart-total{padding:8px;border-radius:10px;background:var(--pv-surface)}
            .rv-utilidad-chart-total strong{font-size:12px;white-space:normal}
            .rv-utilidad-chart-note{grid-column:1/-1;margin:0;text-align:center}
            /* Los doce meses necesitan más ancho que el teléfono para que
               etiquetas, puntos y curvas no se compriman. El contenedor se
               convierte en una pista horizontal táctil únicamente en móvil;
               el gráfico mantiene un ancho legible y puede recorrerse con el
               dedo sin mover ni deformar el resto de la pantalla. */
            .rv-utilidad-chart-scroll{
                position:relative;display:block;width:100%;max-width:100%;
                overflow-x:auto;overflow-y:hidden;padding:0 0 8px;
                overscroll-behavior-inline:contain;scroll-snap-type:x proximity;
                -webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;
                scrollbar-width:thin;scrollbar-color:#A58AF5 #EEEAFB
            }
            .rv-utilidad-chart-scroll::-webkit-scrollbar{height:5px}
            .rv-utilidad-chart-scroll::-webkit-scrollbar-track{background:#EEEAFB;border-radius:999px}
            .rv-utilidad-chart-scroll::-webkit-scrollbar-thumb{background:linear-gradient(90deg,#6D3DF5,#F50150);border-radius:999px}
            .rv-utilidad-chart-canvas{width:760px;min-width:760px;max-width:none;height:280px;scroll-snap-align:start}
        }
        .rv-chart-wrap{position:relative}
        .rv-chart-legend{display:flex;gap:16px;font-size:12px;color:var(--pv-muted)}
        .rv-chart-legend span{display:flex;align-items:center;gap:6px}
        .rv-chart-legend i{width:8px;height:8px;border-radius:50%;display:inline-block}
        /* Igual que los botones del topbar: el texto va pegado detrás de un
           ícono/punto de color sin su propio contenedor con caja, así que
           ::first-letter (la regla global de "solo primera letra en
           mayúscula") no logra aplicarse — se sale de la minúscula forzada
           por completo y queda con mayúscula/minúscula tal cual el PHP. */
        .rv-chart-legend span,.rv-top-list-row span:first-child,.rv-inv-legend span,.pv-inv-cat-nombre{text-transform:none!important}
        .rv-donut-layout{display:flex;flex-direction:column}
        .rv-donut-wrap{width:150px;height:150px;position:relative;display:flex;align-items:center;justify-content:center;margin:6px auto 16px}
        .rv-donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;text-align:center}
        .rv-donut-center div{font-size:11px;color:var(--pv-muted)}
        .rv-donut-center strong{display:block;color:var(--pv-ink);font-size:22px;font-weight:800}
        .rv-top-list{display:flex;flex-direction:column;gap:9px}
        .rv-top-list-row{display:grid;grid-template-columns:1fr 40px 82px;gap:8px;align-items:center;color:var(--pv-muted);font-size:11.5px;font-weight:700}
        .rv-top-list-row span:first-child{display:inline-flex;align-items:center;gap:7px;color:var(--pv-ink)}
        .rv-dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex-shrink:0}
        .rv-finance-charts-grid{align-items:stretch}
        .rv-finance-chart-card,.rv-sales-status-card{min-height:382px;background:#fff}
        .rv-finance-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}
        .rv-finance-chart-head h3{margin:0;color:var(--pv-ink);font-size:18px;font-weight:750;letter-spacing:-.02em}
        .rv-finance-chart-head p{margin:5px 0 0;color:var(--pv-muted);font-size:12.5px;line-height:1.45}
        .rv-legend-dot{box-shadow:0 0 0 4px rgba(16,24,40,.025)}
        .rv-legend-compras{background:#FF1744!important}
        .rv-legend-pagos{background:#08A6EC!important}
        .rv-bar-chart-wrap{width:100%;min-height:270px;display:flex;align-items:center}
        .rv-bar-chart-svg{display:block!important;width:100%!important;height:auto!important;min-height:250px;overflow:visible!important;fill:initial!important;stroke:none!important}
        .rv-bar-grid-line{stroke:#E9EDF4!important;stroke-width:1!important}
        .rv-bar-axis-label,.rv-bar-month-label{fill:#8B96AA!important;stroke:none!important;font-family:Inter,system-ui,sans-serif!important;font-size:11px!important;font-weight:600!important;text-transform:none!important}
        .rv-chart-bar{stroke:none!important;cursor:pointer;transform-box:fill-box;transform-origin:center bottom;animation:rv-noalyx-bars-rise .8s cubic-bezier(.22,.8,.32,1) both;transition:opacity .18s ease,filter .18s ease,transform .18s ease}
        .rv-chart-bar-compras{fill:url(#pvBarCompras)!important}
        .rv-chart-bar-pagos{fill:url(#pvBarPagos)!important;animation-delay:.1s}
        .rv-chart-bar:hover{opacity:.82;filter:drop-shadow(0 7px 8px rgba(52,120,229,.18));transform:translateY(-2px)}
        @keyframes rv-noalyx-bars-rise{from{transform:scaleY(.08);opacity:.2}to{transform:scaleY(1);opacity:1}}
        .rv-sales-status-card{display:flex;flex-direction:column;position:relative;overflow:hidden}
        .rv-sales-status-card::after{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#6D3DF5,#A83DDD 55%,#F50150);pointer-events:none}
        .rv-sales-status-period{min-height:26px;display:inline-flex;align-items:center;padding:0 10px;border:1px solid rgba(109,61,245,.14);border-radius:999px;background:#F6F2FF;color:#6844DF;font-size:10px;font-weight:750;white-space:nowrap}
        .rv-sales-status-overview{display:grid;grid-template-columns:178px minmax(0,1fr);align-items:center;gap:20px;min-height:278px}
        .rv-sales-status-donut-area{display:grid;place-items:center;padding:4px 0}
        .rv-sales-status-donut{width:174px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;position:relative;box-shadow:0 16px 34px rgba(109,61,245,.14);animation:rv-noalyx-donut-in .75s cubic-bezier(.22,.8,.32,1) both}
        .rv-sales-status-donut::before{content:"";position:absolute;width:68%;height:68%;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #EEF1F6}
        .rv-sales-status-donut-center{position:relative;z-index:1;text-align:center;display:flex;flex-direction:column;gap:2px}
        .rv-sales-status-donut-center strong{font-size:30px;font-weight:800;letter-spacing:-.04em;color:var(--pv-ink)}
        .rv-sales-status-donut-center span{font-size:11px;font-weight:650;color:var(--pv-muted);text-transform:none!important}
        @keyframes rv-noalyx-donut-in{from{transform:scale(.82) rotate(-18deg);opacity:.25}to{transform:scale(1) rotate(0);opacity:1}}
        .rv-sales-status-list{display:grid;gap:9px}
        .rv-sales-status-row{min-height:66px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;padding:9px 12px;border:1px solid #E9EDF4;border-radius:13px;background:linear-gradient(135deg,#FBFCFF,#F8F9FD);transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
        .rv-sales-status-row:hover{border-color:rgba(109,61,245,.2);transform:translateY(-1px);box-shadow:0 8px 18px rgba(39,30,82,.055)}
        .rv-sales-status-dot{width:10px;height:10px;border-radius:50%;display:block;background:var(--rv-sales-status-color);box-shadow:0 0 0 5px color-mix(in srgb,var(--rv-sales-status-color) 11%,transparent)}
        .rv-sales-status-label,.rv-sales-status-value{display:flex;min-width:0;flex-direction:column;gap:3px;text-transform:none!important}
        .rv-sales-status-label strong{overflow:hidden;color:var(--pv-ink);font-size:12px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}
        .rv-sales-status-label small{color:var(--pv-muted);font-size:10px;font-weight:600}
        .rv-sales-status-value{align-items:flex-end;text-align:right}
        .rv-sales-status-value strong{color:var(--pv-ink);font-size:15px;font-weight:800;line-height:1}
        .rv-sales-status-value small{color:var(--pv-muted);font-size:9.5px;font-weight:650}
        .rv-sales-status-empty{min-height:278px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:18px;text-align:center;color:var(--pv-muted)}
        .rv-sales-status-empty > span{width:48px;height:48px;display:grid;place-items:center;margin-bottom:10px;border-radius:15px;background:#F3EEFF;color:#6D3DF5}
        .rv-sales-status-empty > span svg{width:22px!important;height:22px!important}
        .rv-sales-status-empty strong{color:var(--pv-ink);font-size:13px}
        .rv-sales-status-empty p{max-width:280px;margin:5px 0 0;font-size:11px;line-height:1.45}
        .rv-main-card.rv-general-movements-card{background:#fff;padding:0!important;overflow:hidden}
        .rv-general-movements-head{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;border-bottom:1px solid var(--pv-border)}
        .rv-general-movements-title{display:flex;align-items:center;gap:12px;min-width:0}
        .rv-general-movements-icon{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#6844DF;background:linear-gradient(135deg,rgba(8,166,236,.1),rgba(128,85,232,.1));border:1px solid rgba(104,68,223,.1)}
        .rv-general-movements-icon svg{width:17px!important;height:17px!important}
        .rv-general-movements-title h3{margin:0;font-size:16px;font-weight:750;letter-spacing:-.02em;color:var(--pv-ink)}
        .rv-general-movements-title p{margin:3px 0 0;font-size:11px;color:var(--pv-muted)}
        .rv-general-movements-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-shrink:0}
        .rv-general-movements-count{min-height:34px;display:inline-flex;align-items:center;padding:0 12px;border-radius:10px;background:#F7F9FC;border:1px solid var(--pv-border);font-size:11px;font-weight:700;color:var(--pv-muted2);white-space:nowrap}
        .rv-general-movements-date-form{display:flex;align-items:center;gap:7px;margin:0}
        .rv-general-movements-date{box-sizing:border-box;height:36px;min-width:138px;padding:0 10px;border:1px solid var(--pv-border2);border-radius:10px;background:#F8FAFC;color:var(--pv-ink);font-family:inherit;font-size:11.5px;font-weight:650;outline:none}
        .rv-general-movements-date:focus{border-color:#6844DF;box-shadow:0 0 0 3px rgba(104,68,223,.1)}
        .rv-general-movements-date-btn{box-sizing:border-box;height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;border:1px solid #6844DF;border-radius:10px;background:#fff;color:#6844DF;font-family:inherit;font-size:11.5px;font-weight:750;white-space:nowrap;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease}
        .rv-general-movements-date-btn:hover{background:#6844DF;color:#fff;transform:translateY(-1px)}
        .rv-general-movements-list{overflow:hidden}
        .rv-general-movement-row{box-sizing:border-box;height:56px;min-height:56px;display:grid;grid-template-columns:34px minmax(220px,1fr) 88px minmax(145px,175px) minmax(90px,auto);align-items:center;gap:10px;padding:6px 16px;border-bottom:1px solid var(--pv-border);background:#fff;overflow:hidden;transition:background .18s ease}
        .rv-general-movement-row:last-child{border-bottom:0}
        .rv-general-movement-row:hover{background:#F8FAFC}
        .rv-general-movement-module-icon{width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;color:#6844DF;background:rgba(128,85,232,.08)}
        .rv-general-movement-module-icon svg{width:15px!important;height:15px!important}
        .rv-general-movement-module-inventario,.rv-general-movement-module-bancos{color:#08A6EC;background:rgba(8,166,236,.08)}
        .rv-general-movement-module-pagos,.rv-general-movement-module-gastos{color:#F5011F;background:rgba(245,1,31,.07)}
        .rv-general-movement-main{min-width:0}
        .rv-general-movement-main strong{display:block;font-size:12.5px;font-weight:700;line-height:1.2;color:var(--pv-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
        .rv-general-movement-main span{display:block;margin-top:3px;font-size:10.5px;font-weight:600;line-height:1.15;color:var(--pv-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
        .rv-general-movement-main i{font-style:normal;padding:0 3px;color:#C1C7D0}
        .rv-general-movement-operation{min-height:27px;display:inline-flex;align-items:center;justify-content:center;justify-self:start;padding:0 9px;border-radius:999px;background:rgba(104,68,223,.08);color:#6844DF;font-size:10px;font-weight:700;white-space:nowrap}
        .rv-general-movement-operation-entrada{background:rgba(8,166,236,.08);color:#087EB4}
        .rv-general-movement-operation-salida,.rv-general-movement-operation-eliminacion{background:rgba(245,1,31,.07);color:#D90B33}
        .rv-general-movement-user{display:flex;align-items:center;gap:8px;min-width:0}
        .rv-general-movement-avatar{width:27px;height:27px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:linear-gradient(135deg,#08A6EC,#8055E8 60%,#F5011F);color:#fff;font-size:9px;font-weight:800}
        .rv-general-movement-user div{min-width:0}
        .rv-general-movement-user strong{display:block;font-size:11px;font-weight:700;line-height:1.15;color:var(--pv-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
        .rv-general-movement-user span:not(.rv-general-movement-avatar){display:block;margin-top:2px;font-size:10px;line-height:1.1;color:var(--pv-muted)}
        .rv-general-movement-metric{font-size:11.5px;font-weight:750;line-height:1.2;color:var(--pv-ink);text-align:right;white-space:nowrap}
        .rv-general-movements-pagination{min-height:44px;display:grid;grid-template-columns:88px 1fr 88px;align-items:center;gap:10px;padding:5px 16px;border-top:1px solid var(--pv-border);background:#F8FAFC}
        .rv-general-movements-pagination a,.rv-general-movements-pagination span{height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #6844DF;border-radius:9px;background:#fff;color:#6844DF!important;text-decoration:none!important;font-size:10.5px;font-weight:700}
        .rv-general-movements-pagination a:hover{background:#6844DF;color:#fff!important}
        .rv-general-movements-pagination .is-disabled{border-color:var(--pv-border);color:#A5AEBD!important;background:#F4F6FA}
        .rv-general-movements-pagination strong{text-align:center;font-size:10.5px;font-weight:700;color:var(--pv-muted2)}
        .rv-general-movements-empty{min-height:138px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;color:var(--pv-muted)}
        .rv-general-movements-empty > span{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:10px;background:#F4F6FA;color:#8B96AA}
        .rv-general-movements-empty > span svg{width:19px!important;height:19px!important}
        .rv-general-movements-empty strong{font-size:13px;color:var(--pv-ink)}
        .rv-general-movements-empty p{max-width:470px;margin:5px 0 0;font-size:11.5px;line-height:1.5}
        @media (max-width:980px){
            .rv-general-movement-row{height:auto;min-height:64px;grid-template-columns:36px minmax(0,1fr) auto;grid-template-areas:"icon main metric" "icon user operation";gap:6px 10px}
            .rv-general-movement-module-icon{grid-area:icon}
            .rv-general-movement-main{grid-area:main}
            .rv-general-movement-operation{grid-area:operation;justify-self:end}
            .rv-general-movement-user{grid-area:user}
            .rv-general-movement-metric{grid-area:metric}
        }
        @media (max-width:640px){
            .rv-finance-chart-head{flex-direction:column;margin-bottom:10px}
            .rv-finance-chart-card,.rv-sales-status-card{min-height:0;padding:16px}
            .rv-finance-chart-head h3{font-size:16px}
            .rv-bar-chart-wrap{overflow-x:auto;min-height:240px}
            .rv-bar-chart-svg{min-width:570px}
            .rv-sales-status-overview{grid-template-columns:1fr;gap:14px;min-height:0}
            .rv-sales-status-donut{width:148px}
            .rv-sales-status-row{min-height:56px}
            .rv-general-movements-head{align-items:flex-start;flex-direction:column;padding:14px}
            .rv-general-movements-actions{width:100%;justify-content:space-between;align-items:flex-end}
            .rv-general-movements-count{padding:0 9px}
            .rv-general-movements-date-form{margin-left:auto}
            .rv-general-movements-date{min-width:126px}
            .rv-general-movement-row{padding:8px 14px;grid-template-columns:32px minmax(0,1fr) auto}
            .rv-general-movement-module-icon{width:32px;height:32px}
            .rv-general-movement-user strong{max-width:120px}
            .rv-general-movements-pagination{padding:5px 12px;grid-template-columns:78px 1fr 78px}
        }

        /* Movimientos generales 3.2.84 — bloque compacto y controles uniformes. */
        html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-main-card.rv-general-movements-card{
            position:relative!important;
            padding:0!important;
            overflow:hidden!important;
            border:1px solid #e5e9f1!important;
            border-radius:18px!important;
            background:#fff!important;
            box-shadow:0 12px 34px rgba(31,42,68,.065)!important;
        }
        html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-main-card.rv-general-movements-card::before{
            content:"";
            position:absolute;
            z-index:2;
            inset:0 0 auto;
            height:3px;
            background:linear-gradient(90deg,#6844df 0%,#8a3fe1 58%,#f5014c 100%);
        }
        html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-general-movements-head{
            box-sizing:border-box!important;
            min-height:76px!important;
            display:flex!important;
            flex-direction:row!important;
            align-items:center!important;
            justify-content:space-between!important;
            gap:18px!important;
            padding:15px 20px 14px!important;
            border-bottom:1px solid #edf0f5!important;
            background:#fff!important;
        }
        html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-general-movements-title{
            display:flex!important;
            align-items:center!important;
            gap:12px!important;
            min-width:0!important;
        }
        html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-general-movements-icon{
            width:38px!important;
            height:38px!important;
            flex:0 0 38px!important;
            border:1px solid rgba(104,68,223,.12)!important;
            border-radius:11px!important;
            background:linear-gradient(145deg,#f7f3ff,#eef7ff)!important;
            color:#6844df!important;
        }
        html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-general-movements-title h3{
            margin:0!important;
            color:#101828!important;
            font-size:16px!important;
            font-weight:780!important;
            line-height:1.25!important;
            letter-spacing:-.02em!important;
        }
        html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-general-movements-title p{
            margin:3px 0 0!important;
            color:#8a96aa!important;
            font-size:11.5px!important;
            font-weight:550!important;
            line-height:1.35!important;
        }
        html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-general-movements-actions{
            display:flex!important;
            grid-template-columns:none!important;
            align-items:center!important;
            justify-content:flex-end!important;
            gap:9px!important;
            width:auto!important;
            flex:0 0 auto!important;
        }
        html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-general-movements-count,
        html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-general-movements-date,
        html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-general-movements-date-btn{
            box-sizing:border-box!important;
            height:42px!important;
            min-height:42px!important;
            max-height:42px!important;
            margin:0!important;
            border-radius:11px!important;
            font-family:inherit!important;
            font-size:11.5px!important;
            font-weight:750!important;
            line-height:1!important;
        }
        html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-general-movements-count{
            display:inline-flex!important;
            align-items:center!important;
            justify-content:center!important;
            padding:0 14px!important;
            border:1px solid #e4e8f0!important;
            background:#f7f9fc!important;
            color:#69758a!important;
            white-space:nowrap!important;
        }
        html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-general-movements-date-form{
            display:flex!important;
            grid-column:auto!important;
            grid-template-columns:none!important;
            align-items:center!important;
            gap:9px!important;
            width:auto!important;
            margin:0!important;
        }
        html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-general-movements-date{
            width:166px!important;
            min-width:166px!important;
            max-width:166px!important;
            padding:0 12px!important;
            border:1px solid #dde3ec!important;
            outline:0!important;
            background:#fff!important;
            color:#182033!important;
        }
        html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-general-movements-date:focus{
            border-color:#6844df!important;
            box-shadow:0 0 0 3px rgba(104,68,223,.1)!important;
        }
        html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-general-movements-date-btn{
            display:inline-flex!important;
            align-items:center!important;
            justify-content:center!important;
            width:auto!important;
            min-width:106px!important;
            padding:0 16px!important;
            border:1px solid #6844df!important;
            background:linear-gradient(135deg,#7745e8,#6844df)!important;
            color:#fff!important;
            cursor:pointer!important;
        }
        html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-general-movements-date-btn:hover,
        html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-general-movements-date-btn:focus{
            background:#5930c7!important;
            border-color:#5930c7!important;
            color:#fff!important;
        }
        html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-general-movements-empty{
            box-sizing:border-box!important;
            min-height:108px!important;
            display:flex!important;
            flex-direction:row!important;
            align-items:center!important;
            justify-content:center!important;
            gap:12px!important;
            padding:18px 20px!important;
            text-align:left!important;
            background:linear-gradient(180deg,#fff 0%,#fcfcfe 100%)!important;
        }
        html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-general-movements-empty > span{
            width:38px!important;
            height:38px!important;
            flex:0 0 38px!important;
            margin:0!important;
            border:0!important;
            border-radius:11px!important;
            background:#f3f0fb!important;
            color:#7665a1!important;
        }
        html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-general-movements-empty-copy{
            min-width:0!important;
            max-width:560px!important;
        }
        html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-general-movements-empty-copy strong{
            display:block!important;
            margin:0!important;
            color:#20283a!important;
            font-size:12.5px!important;
            font-weight:720!important;
            line-height:1.35!important;
        }
        html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-general-movements-empty-copy p{
            margin:4px 0 0!important;
            color:#8b97aa!important;
            font-size:11px!important;
            line-height:1.4!important;
        }
        @media (max-width:680px){
            html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-main-card.rv-general-movements-card{
                border-radius:15px!important;
            }
            html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-general-movements-head{
                min-height:0!important;
                flex-direction:column!important;
                align-items:stretch!important;
                gap:12px!important;
                padding:15px 14px 14px!important;
            }
            html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-general-movements-actions{
                display:grid!important;
                grid-template-columns:minmax(0,1fr)!important;
                gap:8px!important;
                width:100%!important;
            }
            html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-general-movements-count{
                width:100%!important;
            }
            html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-general-movements-date-form{
                display:grid!important;
                grid-template-columns:minmax(0,1fr) 104px!important;
                gap:8px!important;
                width:100%!important;
            }
            html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-general-movements-date{
                width:100%!important;
                min-width:0!important;
                max-width:none!important;
            }
            html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-general-movements-date-btn{
                width:100%!important;
                min-width:0!important;
                padding:0 10px!important;
            }
            html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-general-movements-empty{
                min-height:112px!important;
                justify-content:flex-start!important;
                padding:17px 14px!important;
            }
        }

        /* Panel Principal 3.2.84 — distribución comercial que sustituye la
           gráfica financiera: dos tarjetas reales, fluidas y sin canvas. */
        .rv-main-dashboard .rv-dashboard-sales-grid{
            display:grid;
            grid-template-columns:minmax(0,1fr) minmax(0,1fr);
            align-items:stretch;
            gap:18px;
        }
        html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-dashboard-sales-card{
            position:relative!important;
            min-width:0!important;
            min-height:388px!important;
            padding:0!important;
            overflow:hidden!important;
            border:1px solid #e5e9f1!important;
            border-radius:18px!important;
            background:#fff!important;
            box-shadow:0 12px 34px rgba(31,42,68,.06)!important;
        }
        html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-dashboard-sales-card::before{
            content:"";
            position:absolute;
            z-index:2;
            inset:0 0 auto;
            height:3px;
            background:linear-gradient(90deg,#08a6ec 0%,#6d3df0 53%,#c026d3 77%,#f5014c 100%);
        }
        .rv-main-dashboard .rv-dashboard-sales-head{
            min-height:83px;
            box-sizing:border-box;
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:14px;
            margin:0 20px;
            padding:17px 0 14px;
            border-bottom:1px solid #e9edf3;
        }
        .rv-main-dashboard .rv-dashboard-sales-head > div{min-width:0}
        .rv-main-dashboard .rv-dashboard-sales-head h3{
            display:flex;
            align-items:center;
            gap:8px;
            margin:0;
            color:#121a2a;
            font-size:17px;
            font-weight:800;
            line-height:1.2;
            letter-spacing:-.025em;
        }
        .rv-main-dashboard .rv-dashboard-sales-head h3 i{
            width:9px;
            height:9px;
            flex:0 0 9px;
            border:4px solid #f0e9ff;
            border-radius:999px;
            background:#9a44ec;
            box-sizing:content-box;
        }
        .rv-main-dashboard .rv-dashboard-sales-head p{
            margin:4px 0 0 17px;
            color:#8b97aa;
            font-size:11.5px;
            font-weight:550;
            line-height:1.35;
        }
        .rv-main-dashboard .rv-dashboard-sales-head > span{
            flex:0 0 auto;
            color:#6844df;
            font-size:10.5px;
            font-weight:750;
            white-space:nowrap;
        }
        .rv-main-dashboard .rv-dashboard-category-list{
            display:flex;
            flex-direction:column;
            gap:10px;
            padding:16px 20px 20px;
        }
        .rv-main-dashboard .rv-dashboard-category-row{
            padding:13px 14px 12px;
            border:1px solid #ece7f5;
            border-radius:14px;
            background:linear-gradient(115deg,#fff 0%,#fcfaff 100%);
            box-shadow:0 5px 15px rgba(70,48,112,.035);
        }
        .rv-main-dashboard .rv-dashboard-category-line{
            display:grid;
            grid-template-columns:34px minmax(0,1fr) auto;
            align-items:center;
            gap:10px;
        }
        .rv-main-dashboard .rv-dashboard-category-rank{
            width:32px;
            height:32px;
            display:grid;
            place-items:center;
            border-radius:10px;
            background:#f0ebff;
            color:#7445e8;
            font-size:10.5px;
            font-weight:800;
        }
        .rv-main-dashboard .rv-dashboard-category-line > strong{
            min-width:0;
            overflow:hidden;
            color:#332a49;
            font-size:12.5px;
            font-weight:750;
            text-overflow:ellipsis;
            white-space:nowrap;
        }
        .rv-main-dashboard .rv-dashboard-category-line > b,
        .rv-main-dashboard .rv-dashboard-state-item > b{
            color:#171426;
            font-size:12.5px;
            font-weight:800;
            white-space:nowrap;
        }
        .rv-main-dashboard .rv-dashboard-category-line small,
        .rv-main-dashboard .rv-dashboard-state-item > b small{color:#7f899a;font-size:8.5px;font-weight:700}
        .rv-main-dashboard .rv-dashboard-category-track{
            height:8px;
            margin-top:10px;
            overflow:hidden;
            border-radius:999px;
            background:#ece8f2;
        }
        .rv-main-dashboard .rv-dashboard-category-track i{
            display:block;
            height:100%;
            min-width:4px;
            border-radius:inherit;
            background:linear-gradient(90deg,#6233e7 0%,#893eea 58%,#d23ac7 100%);
        }
        .rv-main-dashboard .rv-dashboard-category-meta{
            display:flex;
            align-items:center;
            gap:9px;
            margin-top:9px;
            color:#8b829e;
            font-size:10px;
            line-height:1.2;
        }
        .rv-main-dashboard .rv-dashboard-category-meta span + span::before{content:"•";margin-right:9px;color:#c8bfd8}
        .rv-main-dashboard .rv-dashboard-category-meta strong{margin-left:auto;color:#7445e8;font-weight:800;white-space:nowrap}
        .rv-main-dashboard .rv-dashboard-state-body{
            display:flex;
            flex-direction:column;
            align-items:center;
            gap:14px;
            padding:18px 20px 20px;
        }
        .rv-main-dashboard .rv-dashboard-state-donut{
            width:202px;
            height:202px;
            display:grid;
            place-items:center;
            flex:0 0 202px;
            border:12px solid #f8f5ff;
            border-radius:50%;
            background:var(--rv-dashboard-state-chart);
            box-shadow:0 0 0 1px #ebe5f7,0 8px 22px rgba(91,45,195,.09);
        }
        .rv-main-dashboard .rv-dashboard-state-donut > div{
            width:58%;
            height:58%;
            display:flex;
            flex-direction:column;
            align-items:center;
            justify-content:center;
            border-radius:50%;
            background:#fff;
            box-shadow:0 0 0 1px rgba(255,255,255,.95);
        }
        .rv-main-dashboard .rv-dashboard-state-donut strong{color:#251744;font-size:24px;font-weight:850;line-height:1}
        .rv-main-dashboard .rv-dashboard-state-donut span{margin-top:5px;color:#806b9f;font-size:9.5px;font-weight:800;text-transform:uppercase}
        .rv-main-dashboard .rv-dashboard-state-legend{
            display:grid;
            grid-template-columns:repeat(2,minmax(0,1fr));
            gap:7px;
            width:100%;
        }
        .rv-main-dashboard .rv-dashboard-state-item{
            min-width:0;
            min-height:48px;
            box-sizing:border-box;
            display:grid;
            grid-template-columns:8px minmax(0,1fr) auto;
            align-items:center;
            gap:8px;
            padding:7px 9px;
            border:1px solid #e9e3f5;
            border-radius:11px;
            background:#fcfaff;
        }
        .rv-main-dashboard .rv-dashboard-state-item > i{width:8px;height:28px;border-radius:999px}
        .rv-main-dashboard .rv-dashboard-state-item > span{min-width:0}
        .rv-main-dashboard .rv-dashboard-state-item > span strong{
            display:block;
            overflow:hidden;
            color:#3c324f;
            font-size:10.5px;
            font-weight:780;
            text-overflow:ellipsis;
            white-space:nowrap;
        }
        .rv-main-dashboard .rv-dashboard-state-item > span small{
            display:block;
            margin-top:2px;
            overflow:hidden;
            color:#948aa7;
            font-size:8.5px;
            line-height:1.2;
            text-overflow:ellipsis;
            white-space:nowrap;
        }
        .rv-main-dashboard .rv-dashboard-sales-empty{
            min-height:270px;
            display:flex;
            flex-direction:column;
            align-items:center;
            justify-content:center;
            padding:24px;
            color:#8b97aa;
            text-align:center;
        }
        .rv-main-dashboard .rv-dashboard-sales-empty strong{color:#283145;font-size:13px}
        .rv-main-dashboard .rv-dashboard-sales-empty span{max-width:330px;margin-top:5px;font-size:11px;line-height:1.45}
        @media (max-width:1100px){
            .rv-main-dashboard .rv-dashboard-sales-grid{grid-template-columns:1fr}
            html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-dashboard-sales-card{min-height:0!important}
        }
        @media (max-width:680px){
            .rv-main-dashboard .rv-dashboard-sales-grid{gap:14px}
            html body #pvf-shell.pvf-shell .pvf-main-body.pvf-view-panel .rv-main-dashboard .rv-dashboard-sales-card{border-radius:15px!important}
            .rv-main-dashboard .rv-dashboard-sales-head{min-height:76px;margin:0 14px;padding:15px 0 12px}
            .rv-main-dashboard .rv-dashboard-sales-head h3{font-size:15px}
            .rv-main-dashboard .rv-dashboard-sales-head p{max-width:230px;font-size:10px}
            .rv-main-dashboard .rv-dashboard-category-list{gap:9px;padding:13px 14px 15px}
            .rv-main-dashboard .rv-dashboard-category-row{padding:11px}
            .rv-main-dashboard .rv-dashboard-category-line{grid-template-columns:30px minmax(0,1fr) auto;gap:8px}
            .rv-main-dashboard .rv-dashboard-category-rank{width:29px;height:29px;border-radius:9px}
            .rv-main-dashboard .rv-dashboard-category-line > strong,.rv-main-dashboard .rv-dashboard-category-line > b{font-size:11px}
            .rv-main-dashboard .rv-dashboard-category-meta{flex-wrap:wrap;gap:5px 8px;font-size:9px}
            .rv-main-dashboard .rv-dashboard-category-meta span + span::before{margin-right:8px}
            .rv-main-dashboard .rv-dashboard-category-meta strong{flex:1 0 100%;margin-left:0;text-align:right}
            .rv-main-dashboard .rv-dashboard-state-body{padding:15px 14px}
            .rv-main-dashboard .rv-dashboard-state-donut{width:174px;height:174px;flex-basis:174px;border-width:10px}
            .rv-main-dashboard .rv-dashboard-state-legend{grid-template-columns:1fr}
            .rv-main-dashboard .rv-dashboard-state-item{min-height:46px}
            .rv-main-dashboard .rv-dashboard-sales-empty{min-height:190px;padding:20px 16px}
        }

        /* ===== Proveedores — grid de tarjetas + ficha ===== */
        .rv-prov-page{display:flex;flex-direction:column;gap:14px}
        .rv-prov-page-head{display:grid;grid-template-columns:minmax(250px,auto) minmax(300px,1fr) auto;align-items:center;gap:18px;padding:16px 18px;background:var(--pv-surface);border:1px solid var(--pv-border);border-radius:16px;box-shadow:0 8px 22px rgba(30,41,59,.035)}
        .rv-prov-title-wrap{display:flex;align-items:center;gap:12px;min-width:0}
        .rv-prov-title-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:0;border-radius:0;background:transparent;color:#6844DF}
        .rv-prov-title-icon svg{display:block!important;width:46px!important;height:46px!important;margin:0!important;overflow:visible}
        .rv-prov-title-icon .pv-provider-emoji-float{transform-origin:22px 22px;animation:rv-prov-title-float 2.4s ease-in-out infinite!important}
        .rv-prov-title-icon .pv-provider-emoji-coin{transform-origin:36px 35px;animation:rv-prov-title-coin 1.8s ease-in-out infinite!important}
        @keyframes rv-prov-title-float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-2px) rotate(-1deg)}}
        @keyframes rv-prov-title-coin{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
        .rv-prov-page-head h1{margin:0;font-size:23px;line-height:1.12;letter-spacing:-.02em}
        .rv-prov-page-head p{margin:3px 0 0;color:var(--pv-muted);font-size:12.5px}
        .rv-prov-nuevo-btn{height:42px;min-height:42px;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 18px;border-radius:10px;background:#6844DF!important;color:#fff!important;font-size:13px;font-weight:700;cursor:pointer;box-shadow:none!important;border:1px solid #6844DF!important;white-space:nowrap}
        .rv-prov-nuevo-btn svg{width:17px!important;height:17px!important;margin:0!important}
        .rv-prov-search{height:42px;box-sizing:border-box;display:flex;align-items:center;gap:10px;max-width:none;background:#fff;border-radius:10px;padding:0 13px;border:1px solid var(--pv-border2)}
        .rv-prov-search:focus-within{border-color:#6844DF;box-shadow:0 0 0 3px rgba(104,68,223,.08)}
        .rv-prov-search svg{width:17px!important;height:17px!important;flex-shrink:0;color:var(--pv-muted);margin:0!important}
        .rv-prov-search input{height:100%;flex:1;border:none!important;outline:none!important;box-shadow:none!important;font-size:13px;font-family:inherit;min-width:0;padding:0!important}
        html body .pvf-shell .rv-prov-search input{background-color:#fff!important;color:var(--pv-ink)!important}
        .rv-prov-directory{overflow:hidden;background:var(--pv-surface);border:1px solid var(--pv-border);border-radius:16px;box-shadow:0 8px 22px rgba(30,41,59,.035)}
        .rv-prov-summary{height:82px;min-height:82px;box-sizing:border-box;display:flex;align-items:center;gap:22px;padding:12px 18px;border-bottom:1px solid var(--pv-border)}
        .rv-prov-summary-item{display:flex;align-items:center;gap:12px;min-width:150px}
        .rv-prov-summary-item > span:last-child{display:flex;flex-direction:column;gap:1px}
        .rv-prov-summary-item strong{font-size:20px;line-height:1.1;color:var(--pv-ink);font-weight:750;font-variant-numeric:tabular-nums}
        .rv-prov-summary-item small{font-size:12px;color:var(--pv-muted);font-weight:500}
        .rv-prov-summary-balance{min-width:250px}
        .rv-prov-summary-balance small{order:-1}
        .rv-prov-summary-icon{width:38px;height:38px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:10px;background:rgba(104,68,223,.07);color:#6844DF}
        .rv-prov-summary-icon svg{width:19px!important;height:19px!important;margin:0!important}
        .rv-prov-summary-divider{width:1px;height:44px;background:var(--pv-border);flex-shrink:0}
        .rv-prov-status-filter{height:42px;width:188px;min-width:188px;max-width:188px;margin-left:auto;position:relative;box-sizing:border-box;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid #6844DF;border-radius:10px;background:#fff;color:#6844DF}
        .rv-prov-status-filter svg{width:17px;height:17px;flex-shrink:0}
        .rv-prov-status-filter select{height:100%;flex:1;min-width:0;padding:0 22px 0 0!important;border:0!important;outline:0!important;box-shadow:none!important;background-color:transparent!important;color:var(--pv-ink);font-family:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
        .rv-prov-status-filter .pv-cs{flex:1;min-width:0;height:40px}
        .rv-prov-status-filter .pv-cs-trigger{height:40px!important;min-height:40px!important;width:100%;padding:0 2px!important;border:0!important;border-radius:0!important;background:transparent!important;color:#6844DF!important;box-shadow:none!important}
        .rv-prov-status-filter .pv-cs-trigger-label{font-size:13px;font-weight:700;color:#6844DF}
        .rv-prov-status-filter .pv-cs-chevron{width:14px;height:14px;margin-left:auto;display:inline-flex;align-items:center;justify-content:center;line-height:1;font-size:11px;color:#6844DF;transform:translateY(-1px)}
        html body .pvf-shell .rv-prov-page .rv-prov-nuevo-btn{height:42px!important;min-height:42px!important;padding:0 18px!important;border:1px solid #6844DF!important;border-radius:10px!important;background:#6844DF!important;color:#fff!important}
        html body .pvf-shell .rv-prov-page .rv-prov-nuevo-btn .rv-prov-nuevo-btn-txt{display:inline-block!important;color:#fff!important}
        html body .pvf-shell .rv-prov-page .rv-prov-nuevo-btn svg{display:block!important;visibility:visible!important;opacity:1!important;flex:0 0 17px!important;width:17px!important;min-width:17px!important;height:17px!important;color:#fff!important;stroke:#fff!important;fill:none!important;margin:0!important}
        html body .pvf-shell .rv-prov-page .rv-prov-nuevo-btn svg path{stroke:#fff!important}
        html body .pvf-shell .rv-prov-page .rv-prov-status-filter{width:188px!important;min-width:188px!important;max-width:188px!important;height:42px!important;min-height:42px!important;border:1px solid #6844DF!important;border-radius:10px!important;background:#fff!important}
        html body .pvf-shell .rv-prov-page .rv-prov-status-filter .pv-cs-trigger{height:40px!important;min-height:40px!important;padding:0 2px!important;border:0!important;border-radius:0!important;background:transparent!important;color:#6844DF!important;box-shadow:none!important}
        html body .pvf-shell .rv-prov-page .rv-prov-status-filter select{display:block!important;width:100%!important;min-width:0!important;height:40px!important;min-height:40px!important;padding:0 25px 0 2px!important;border:0!important;border-radius:0!important;background-color:transparent!important;background-position:right 1px center!important;background-size:18px 18px!important;color:#101828!important;font-size:13px!important;font-weight:700!important;box-shadow:none!important}
        html body .pvf-shell .rv-prov-page .rv-prov-search{height:42px!important;min-height:42px!important;padding:0 13px!important;border:1px solid var(--pv-border2)!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important}
        html body .pvf-shell .rv-prov-page .rv-prov-search:focus-within{border-color:#6844DF!important;box-shadow:0 0 0 3px rgba(104,68,223,.08)!important}
        html body .pvf-shell .rv-prov-page .rv-prov-search input[type="search"]{height:40px!important;min-height:40px!important;padding:0!important;border:0!important;border-radius:0!important;outline:0!important;background:transparent!important;box-shadow:none!important}
        /* Chips de filtro por estado (Todos/Deben/A favor/Al día) — solo
           móvil, oculto por defecto acá y encendido dentro del @media de
           abajo; en escritorio la tabla de 3 columnas se queda tal cual. */
        .rv-prov-chips{display:none;gap:7px;overflow-x:auto;padding:12px 14px 2px;margin:0;-webkit-overflow-scrolling:touch;scrollbar-width:none;justify-content:center}
        .rv-prov-chips::-webkit-scrollbar{display:none}
        .rv-prov-chip{flex-shrink:0;font-size:11.5px;font-weight:700;padding:7px 13px;border-radius:100px;background:var(--pv-surface);border:1px solid var(--pv-border2);color:var(--pv-muted);white-space:nowrap;text-decoration:none!important;display:flex;align-items:center;gap:5px}
        .rv-prov-chip .n{font-weight:800;font-size:10px;opacity:.75}
        .rv-prov-chip.active{background:linear-gradient(135deg,var(--pv-primary2),var(--pv-primary));border-color:transparent;color:#fff!important;box-shadow:0 6px 14px rgba(201,121,10,.28)}
        .rv-prov-chip.active .n{opacity:.9}
        .rv-prov-chip.c-debe{color:#DC2626!important}
        .rv-prov-chip.c-favor{color:#2563EB!important}
        .rv-prov-chip.c-aldia{color:#16A34A!important}
        .rv-prov-chip.active.c-debe,.rv-prov-chip.active.c-favor,.rv-prov-chip.active.c-aldia{color:#fff!important}
        .rv-prov-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
        .rv-prov-card.pv-historial-fila{min-height:138px;position:relative;box-sizing:border-box;padding:17px 22px 17px 30px!important;display:grid!important;grid-template-columns:46px minmax(0,1fr) auto 18px;grid-template-rows:auto auto;grid-template-areas:"avatar identity badge chevron" "avatar metrics metrics chevron";align-items:center;column-gap:13px;row-gap:12px;background:var(--pv-surface);border:0!important;border-radius:0!important;border-right:1px solid var(--pv-border)!important;border-bottom:1px solid var(--pv-border)!important;text-decoration:none!important;box-shadow:none!important;transform:none!important;overflow:hidden}
        .rv-prov-card:nth-child(2n){border-right:0!important}
        .rv-prov-card:hover{background:#FBFCFE!important;box-shadow:none!important;transform:none!important}
        .rv-prov-card-accent{position:absolute;left:12px;top:24px;bottom:24px;width:3px;border-radius:99px}
        .rv-prov-avatar{grid-area:avatar;width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
        .rv-prov-avatar-grande{width:64px;height:64px;font-size:20px}
        html body .pvf-shell .rv-prov-avatar{color:#fff!important;font-weight:800!important;font-size:15px!important;letter-spacing:.02em}
        html body .pvf-shell .rv-prov-avatar-grande{font-size:20px!important}
        .rv-prov-card-nombre{grid-area:identity;min-width:0}
        .rv-prov-card-nombre-txt{font-size:14px;font-weight:700;color:var(--pv-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
        .rv-prov-card-rif{margin-top:2px;font-size:11.5px;color:var(--pv-muted)}
        .rv-prov-badge{grid-area:badge;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;justify-self:end;font-size:10.5px;font-weight:700;line-height:1;text-align:center;padding:5px 10px;border-radius:8px;flex-shrink:0;text-transform:none!important}
        .rv-prov-badge-debe{color:#DC2626;background:rgba(239,68,68,.10)}
        .rv-prov-badge-aldia{color:#16A34A;background:rgba(34,197,94,.10)}
        .rv-prov-badge-favor{color:#2563EB;background:rgba(37,99,235,.10)}
        .rv-prov-card .rv-prov-card-foot{grid-area:metrics;width:auto!important;display:grid;grid-template-columns:minmax(130px,1fr) minmax(100px,.8fr);align-items:center;gap:16px;padding:0!important;border:0!important;text-align:left!important}
        .rv-prov-card-foot > div{min-width:0}
        .rv-prov-card-foot > div + div{padding-left:16px;border-left:1px solid var(--pv-border)}
        .rv-prov-card-foot span{display:block;font-size:11.5px;color:var(--pv-muted)}
        .rv-prov-card-foot strong{display:block;font-size:14px;font-weight:750;color:var(--pv-ink);margin-top:2px;white-space:nowrap;font-variant-numeric:tabular-nums}
        .rv-prov-card-foot-der{text-align:left;margin-left:0}
        .rv-prov-card-chevron{grid-area:chevron;align-self:center;display:flex;color:var(--pv-muted);transform:rotate(-90deg)}
        .rv-prov-card-chevron svg{width:16px!important;height:16px!important;margin:0!important}

        /* ===== Clientes — directorio SaaS compacto ===== */
        .rv-clientes-page{display:flex;flex-direction:column;gap:14px;width:100%}
        .rv-clientes-head-card,.rv-clientes-directory{background:#fff;border:1px solid var(--pv-border);border-radius:16px;box-shadow:0 8px 22px rgba(30,41,59,.035);overflow:hidden}
        .rv-clientes-head-card{padding:16px 18px;box-sizing:border-box}
        .rv-clientes-head-top{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}
        .rv-clientes-title-wrap{display:flex;align-items:center;gap:12px;min-width:0}
        .rv-clientes-title-icon{width:50px;height:50px;display:flex;align-items:center;justify-content:center;flex:0 0 50px;color:#6844DF}
        .rv-clientes-title-icon svg{display:block!important;width:48px!important;height:48px!important;margin:0!important;overflow:visible}
        .rv-clientes-title-icon .pv-clientes-libro{transform-origin:26px 26px;animation:rv-clientes-libro 2.5s ease-in-out infinite!important}
        .rv-clientes-title-icon .pv-clientes-pestanas{transform-origin:44px 27px;animation:rv-clientes-pestanas 1.8s ease-in-out infinite!important}
        @keyframes rv-clientes-libro{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-2px) rotate(-.7deg)}}
        @keyframes rv-clientes-pestanas{0%,100%{transform:translateX(0);opacity:.82}50%{transform:translateX(1.5px);opacity:1}}
        .rv-clientes-title-copy{min-width:0}
        .rv-clientes-title-copy h1{margin:0;font-size:23px;font-weight:800;line-height:1.12;letter-spacing:-.02em;color:var(--pv-ink)}
        .rv-clientes-title-copy p{margin:3px 0 0;font-size:12.5px;color:var(--pv-muted)}
        .rv-clientes-nuevo-btn{height:42px!important;min-height:42px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;padding:0 18px!important;border:1px solid #6844DF!important;border-radius:10px!important;background:#6844DF!important;color:#fff!important;font:inherit;font-size:13px!important;font-weight:750!important;white-space:nowrap;cursor:pointer;box-shadow:none!important}
        .rv-clientes-nuevo-btn svg{width:17px!important;height:17px!important;margin:0!important;color:#fff!important;stroke:#fff!important}
        .rv-clientes-search{height:42px;box-sizing:border-box;display:flex;align-items:center;gap:10px;width:100%;padding:0 13px;border:1px solid var(--pv-border2);border-radius:10px;background:#fff;color:var(--pv-muted)}
        .rv-clientes-search:focus-within{border-color:#6844DF;box-shadow:0 0 0 3px rgba(104,68,223,.08)}
        .rv-clientes-search>svg{width:18px;height:18px;flex:0 0 18px}
        html body .pvf-shell .rv-clientes-search input[type="search"]{width:100%!important;height:40px!important;min-height:40px!important;padding:0!important;border:0!important;border-radius:0!important;outline:0!important;background:transparent!important;color:var(--pv-ink)!important;font-size:13px!important;box-shadow:none!important}
        .rv-clientes-table-head,.rv-cliente-row{display:grid;grid-template-columns:minmax(230px,1.1fr) minmax(270px,1fr) minmax(155px,.65fr) minmax(220px,auto);align-items:center;column-gap:20px}
        .rv-clientes-table-head{min-height:48px;padding:0 20px;border-bottom:1px solid var(--pv-border);background:#FBFCFE;color:var(--pv-muted);font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
        .rv-cliente-row.pv-historial-fila{min-height:72px!important;padding:11px 20px!important;border:0!important;border-bottom:1px solid var(--pv-border)!important;background:#fff;box-sizing:border-box;font-size:13px!important}
        .rv-cliente-row:last-child{border-bottom:0!important}
        .rv-cliente-row:hover{background:#F8F9FD}
        .rv-cliente-identidad{display:flex;align-items:center;min-width:0;text-decoration:none!important;color:inherit!important}
        .rv-cliente-avatar{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:0 0 44px;color:#fff!important;font-size:14px;font-weight:800;letter-spacing:.02em}
        .rv-cliente-identidad-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
        .rv-cliente-identidad-copy strong{font-size:13.5px;font-weight:750;color:var(--pv-ink);text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
        .rv-cliente-identidad-copy small{font-size:11.5px;color:var(--pv-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
        .rv-cliente-credit-pill{align-self:flex-start;display:inline-flex;align-items:center;min-height:19px;padding:0 7px;border:1px solid #D9CEFF;border-radius:6px;background:#F4F0FF;color:#6844DF;font-size:8.5px;font-style:normal;font-weight:850;letter-spacing:.035em;text-transform:uppercase}
        .rv-cliente-credit-pill.is-exhausted{border-color:#FFD8A8;background:#FFF7E8;color:#B86608}
        .rv-cliente-contacto{display:flex;flex-direction:column;gap:5px;min-width:0}
        .rv-cliente-contacto>span{display:flex;align-items:center;gap:8px;min-width:0;color:var(--pv-muted3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
        .rv-cliente-contacto i{width:18px;height:18px;display:flex;align-items:center;justify-content:center;flex:0 0 18px;color:#08A6EC;font-style:normal}
        .rv-cliente-contacto i svg{width:15px!important;height:15px!important;margin:0!important}
        .rv-cliente-actividad{display:flex;align-items:center;gap:8px;color:var(--pv-muted)}
        .rv-cliente-actividad>svg{width:16px!important;height:16px!important;margin:0!important;flex-shrink:0;color:#6844DF}
        .rv-cliente-actividad>span{display:flex;flex-direction:column;gap:2px}
        .rv-cliente-actividad strong{font-size:12px;font-weight:700;color:var(--pv-muted3);white-space:nowrap}
        .rv-cliente-actividad small{font-size:10.5px;color:var(--pv-muted);white-space:nowrap}
        .rv-cliente-acciones{display:flex;align-items:center;justify-content:flex-end;gap:8px;white-space:nowrap}
        .rv-cliente-eliminar-form{display:inline-flex;margin:0}
        .rv-cliente-ver-btn,.rv-cliente-icon-btn{height:42px!important;min-height:42px!important;box-sizing:border-box;display:inline-flex!important;align-items:center!important;justify-content:center!important;border:1px solid #6844DF!important;border-radius:10px!important;background:#fff!important;color:#6844DF!important;box-shadow:none!important;text-decoration:none!important;font:inherit;font-size:12.5px!important;font-weight:750!important;cursor:pointer}
        .rv-cliente-ver-btn{padding:0 17px!important;min-width:104px}
        .rv-cliente-icon-btn{width:42px!important;min-width:42px!important;padding:0!important}
        .rv-cliente-icon-btn svg{width:17px!important;height:17px!important;margin:0!important;color:#6844DF!important;stroke:#6844DF!important}
        .rv-cliente-icon-btn-del{border-color:#F5011F!important;color:#F5011F!important}
        .rv-cliente-icon-btn-del svg{color:#F5011F!important;stroke:#F5011F!important}
        .rv-clientes-empty{min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;color:var(--pv-muted)}
        .rv-clientes-empty strong{margin-top:10px;font-size:15px;color:var(--pv-ink)}
        .rv-clientes-empty p{margin:6px 0 0;max-width:420px;font-size:12px;line-height:1.5}
        .rv-clientes-directory>.pv-paginador{margin:0;padding:12px 20px;border-top:1px solid var(--pv-border);background:#FBFCFE}
        @media (max-width:1100px){
            .rv-clientes-table-head,.rv-cliente-row{grid-template-columns:minmax(220px,1fr) minmax(250px,1fr) minmax(220px,auto)}
            .rv-clientes-table-head>span:nth-child(3),.rv-cliente-actividad{display:none}
        }
        @media (max-width:720px){
            .rv-clientes-head-card{padding:14px}
            .rv-clientes-head-top{align-items:flex-start;flex-wrap:wrap}
            .rv-clientes-title-icon{width:44px;height:44px;flex-basis:44px}
            .rv-clientes-title-icon svg{width:42px!important;height:42px!important}
            .rv-clientes-title-copy h1{font-size:20px}
            .rv-clientes-table-head{display:none}
            .rv-cliente-row.pv-historial-fila{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:11px 14px;padding:14px!important}
            .rv-cliente-contacto{grid-column:1/-1;padding:10px 0;border-top:1px solid var(--pv-border);border-bottom:1px solid var(--pv-border)}
            .rv-cliente-actividad{grid-column:1;display:flex}
            .rv-cliente-acciones{grid-column:2;grid-row:3;align-self:center}
            .rv-cliente-ver-btn{min-width:92px;padding:0 12px!important}
        }
        @media (max-width:520px){
            .rv-clientes-nuevo-btn{width:100%}
            .rv-clientes-head-top{display:grid;grid-template-columns:1fr}
            .rv-clientes-title-wrap{grid-column:1}
            .rv-cliente-row.pv-historial-fila{grid-template-columns:1fr}
            .rv-cliente-actividad,.rv-cliente-acciones{grid-column:1;grid-row:auto}
            .rv-cliente-acciones{justify-content:stretch}
            .rv-cliente-ver-btn{flex:1}
        }
        @media (prefers-reduced-motion:reduce){.rv-clientes-title-icon .pv-clientes-libro,.rv-clientes-title-icon .pv-clientes-pestanas{animation:none!important}}

        /* ===== Clientes — modal compacto de alta y edición ===== */
        #pv-modal-cliente-form{padding:20px}
        #pv-modal-cliente-form .rv-cliente-form-modal{box-sizing:border-box;width:min(820px,calc(100vw - 40px));max-width:820px;max-height:92vh;max-height:92dvh;padding:0!important;overflow:auto;border:1px solid #E3E7EF;border-radius:18px;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.22);animation:none}
        #pv-modal-cliente-form .rv-cliente-form-header{position:sticky;top:0;z-index:4;display:flex;align-items:center;gap:13px;min-height:76px;padding:0 24px;border-bottom:1px solid #E5E7EB;background:rgba(255,255,255,.98);backdrop-filter:blur(12px)}
        #pv-modal-cliente-form .rv-cliente-form-title-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;color:#6844DF}
        #pv-modal-cliente-form .rv-cliente-form-title-icon svg{display:block!important;width:44px!important;height:44px!important}
        #pv-modal-cliente-form .rv-cliente-form-title-icon .pv-clientes-libro{animation:pv-clientes-flotar 3.2s ease-in-out infinite}
        #pv-modal-cliente-form .rv-cliente-form-title-icon .pv-clientes-pestanas{transform-origin:center;animation:pv-clientes-pulso 2.4s ease-in-out infinite}
        #pv-modal-cliente-form .rv-cliente-form-header h2{margin:0!important;font-size:21px!important;font-weight:800!important;letter-spacing:-.02em!important;color:#172033!important}
        #pv-modal-cliente-form .rv-cliente-form-header>.pv-modal-close{position:static!important;top:auto!important;right:auto!important;float:none!important;margin:0 0 0 auto!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;flex:0 0 34px!important;border:1px solid #6844DF!important;border-radius:10px!important;background-color:#fff!important;color:transparent!important;box-shadow:none!important}
        #pv-modal-cliente-form .rv-cliente-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:15px 18px;padding:22px 28px 0}
        #pv-modal-cliente-form .rv-cliente-form-field{min-width:0;margin:0}
        #pv-modal-cliente-form .rv-cliente-form-field>label{display:block;margin:0 0 7px;font-size:12.5px;font-weight:700;line-height:1.25;color:#172033}
        #pv-modal-cliente-form .rv-cliente-form-full{grid-column:1/-1}
        #pv-modal-cliente-form .rv-cliente-input-wrap{position:relative;display:block;width:100%}
        #pv-modal-cliente-form .rv-cliente-input-wrap>i{position:absolute;left:14px;top:50%;z-index:2;display:flex;align-items:center;justify-content:center;width:20px;height:20px;transform:translateY(-50%);color:#94A3B8;pointer-events:none}
        #pv-modal-cliente-form .rv-cliente-input-wrap>i svg{display:block!important;width:19px!important;height:19px!important;color:inherit!important;stroke:currentColor!important;margin:0!important}
        html body #pv-modal-cliente-form .rv-cliente-input-wrap>input{box-sizing:border-box;width:100%;max-width:none;height:48px;min-height:48px;padding:0 14px 0 46px;border:1px solid #D7DEE8;border-radius:10px;background-color:#F7F9FC!important;color:#172033!important;font-size:13.5px;font-weight:500;box-shadow:none!important}
        html body #pv-modal-cliente-form .rv-cliente-input-wrap>textarea{box-sizing:border-box;width:100%;max-width:none;min-height:78px;padding:14px 14px 12px 46px;border:1px solid #D7DEE8;border-radius:10px;background-color:#F7F9FC!important;color:#172033!important;font-size:13.5px;font-weight:500;line-height:1.45;resize:vertical;box-shadow:none!important}
        #pv-modal-cliente-form .rv-cliente-textarea-wrap>i{top:15px;transform:none}
        html body #pv-modal-cliente-form .rv-cliente-input-wrap>:is(input,textarea)::placeholder{color:#98A2B3;opacity:1}
        html body #pv-modal-cliente-form .rv-cliente-input-wrap>:is(input,textarea):focus{outline:none;border-color:#6844DF!important;background-color:#fff!important;box-shadow:0 0 0 3px rgba(104,68,223,.1)!important}
        #pv-modal-cliente-form .rv-cliente-input-wrap:focus-within>i{color:#6844DF}
        #pv-modal-cliente-form .rv-cliente-credit-editor{box-sizing:border-box;padding:15px 16px;border:1px solid #E2DBFA;border-radius:13px;background:linear-gradient(135deg,#FBFAFF 0%,#F7FBFF 60%,#FFF8FB 100%)}
        #pv-modal-cliente-form .rv-cliente-credit-switch{display:flex;align-items:center;gap:14px;cursor:pointer}
        #pv-modal-cliente-form .rv-cliente-credit-switch>span{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}
        #pv-modal-cliente-form .rv-cliente-credit-switch strong{color:#1F2940;font-size:13px;font-weight:850}
        #pv-modal-cliente-form .rv-cliente-credit-switch small{color:#7D899D;font-size:10.5px;font-weight:600}
        #pv-modal-cliente-form .rv-cliente-credit-switch>input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}
        #pv-modal-cliente-form .rv-cliente-credit-switch>i{position:relative;width:42px;height:24px;flex:0 0 42px;border:1px solid #D5D9E4;border-radius:999px;background:#E9ECF2;box-shadow:inset 0 1px 2px rgba(23,32,51,.08);transition:.18s ease}
        #pv-modal-cliente-form .rv-cliente-credit-switch>i b{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(23,32,51,.22);transition:.18s ease}
        #pv-modal-cliente-form .rv-cliente-credit-switch>input:checked+i{border-color:#7042ED;background:linear-gradient(100deg,#08A6EC,#7042ED 55%,#E81762)}
        #pv-modal-cliente-form .rv-cliente-credit-switch>input:checked+i b{transform:translateX(18px)}
        #pv-modal-cliente-form .rv-cliente-credit-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid #E8E2F8}
        #pv-modal-cliente-form .rv-cliente-credit-fields[hidden],#pv-modal-cliente-form .rv-cliente-credit-password[hidden]{display:none!important}
        #pv-modal-cliente-form .rv-cliente-credit-fields>label,#pv-modal-cliente-form .rv-cliente-credit-password>label{display:flex;flex-direction:column;gap:6px;color:#344054;font-size:10.5px;font-weight:800}
        #pv-modal-cliente-form .rv-cliente-credit-input{display:flex;align-items:center;height:42px;overflow:hidden;border:1px solid #D9DCEA;border-radius:10px;background:#fff}
        #pv-modal-cliente-form .rv-cliente-credit-input>b{display:flex;align-items:center;align-self:stretch;padding:0 10px;background:#F2EEFF;color:#6844DF;font-size:10px;font-weight:900}
        html body #pv-modal-cliente-form .rv-cliente-credit-input>input{box-sizing:border-box;width:100%;min-width:0;height:42px!important;min-height:42px!important;padding:0 11px!important;border:0!important;border-radius:0!important;background:#fff!important;color:#172033!important;font-size:13px;font-weight:750;box-shadow:none!important}
        #pv-modal-cliente-form .rv-cliente-credit-password{margin-top:14px;padding-top:14px;border-top:1px solid #E8E2F8}
        #pv-modal-cliente-form .rv-cliente-credit-password>small{display:block;margin-top:6px;color:#7D899D;font-size:9.5px;font-weight:600}
        #pv-modal-cliente-form .rv-cliente-form-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:3px -28px 0;padding:17px 28px;border-top:1px solid #E5E7EB;background:#fff}
        html body #pv-modal-cliente-form .rv-cliente-form-save,html body #pv-modal-cliente-form .rv-cliente-form-cancel{position:static!important;float:none!important;box-sizing:border-box;width:auto!important;min-width:164px!important;height:42px!important;min-height:42px!important;margin:0!important;padding:0 18px!important;border-radius:10px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;font-size:13px!important;font-weight:750!important;line-height:1!important;box-shadow:none!important;cursor:pointer}
        html body #pv-modal-cliente-form .rv-cliente-form-save{border:1.5px solid #6844DF!important;background:#6844DF!important;color:#fff!important}
        html body #pv-modal-cliente-form .rv-cliente-form-save *,html body #pv-modal-cliente-form .rv-cliente-form-save svg{color:#fff!important;stroke:#fff!important}
        html body #pv-modal-cliente-form .rv-cliente-form-save svg{width:16px!important;height:16px!important;margin:0!important}
        html body #pv-modal-cliente-form .rv-cliente-form-cancel{border:1.5px solid #6844DF!important;background:#fff!important;color:#6844DF!important}
        @media (max-width:680px){
            #pv-modal-cliente-form{padding:10px}
            #pv-modal-cliente-form .rv-cliente-form-modal{width:calc(100vw - 20px);max-height:96vh;max-height:96dvh;border-radius:15px}
            #pv-modal-cliente-form .rv-cliente-form-header{min-height:66px;padding:0 16px;gap:10px}
            #pv-modal-cliente-form .rv-cliente-form-title-icon,#pv-modal-cliente-form .rv-cliente-form-title-icon svg{width:38px!important;height:38px!important;flex-basis:38px}
            #pv-modal-cliente-form .rv-cliente-form-header h2{font-size:18px!important}
            #pv-modal-cliente-form .rv-cliente-form{grid-template-columns:1fr;gap:13px;padding:18px 16px 0}
            #pv-modal-cliente-form .rv-cliente-form-full{grid-column:1}
            #pv-modal-cliente-form .rv-cliente-credit-fields{grid-template-columns:1fr}
            #pv-modal-cliente-form .rv-cliente-form-actions{grid-column:1;margin:2px -16px 0;padding:15px 16px;display:grid;grid-template-columns:1fr 1fr}
            html body #pv-modal-cliente-form .rv-cliente-form-save,html body #pv-modal-cliente-form .rv-cliente-form-cancel{width:100%!important;min-width:0!important;padding:0 10px!important}
        }
        @media (max-width:430px){#pv-modal-cliente-form .rv-cliente-form-actions{grid-template-columns:1fr}#pv-modal-cliente-form .rv-cliente-form-save{order:1}#pv-modal-cliente-form .rv-cliente-form-cancel{order:2}}

        /* ===== Proveedores — alta y edición profesional ===== */
        #pv-modal-nuevo-cliente{padding:20px}
        #pv-modal-nuevo-cliente .rv-cliente-form-modal{box-sizing:border-box;width:min(820px,calc(100vw - 40px));max-width:820px;max-height:92vh;max-height:92dvh;padding:0!important;overflow:auto;border:1px solid #E3E7EF;border-radius:18px;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.22);animation:none}
        #pv-modal-nuevo-cliente .rv-cliente-form-header{position:sticky;top:0;z-index:4;display:flex;align-items:center;gap:13px;min-height:76px;padding:0 24px;border-bottom:1px solid #E5E7EB;background:rgba(255,255,255,.98);backdrop-filter:blur(12px)}
        #pv-modal-nuevo-cliente .rv-cliente-form-title-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;color:#6844DF}
        #pv-modal-nuevo-cliente .rv-cliente-form-title-icon svg{display:block!important;width:44px!important;height:44px!important}
        #pv-modal-nuevo-cliente .rv-cliente-form-title-icon .pv-clientes-libro{animation:pv-clientes-flotar 3.2s ease-in-out infinite}
        #pv-modal-nuevo-cliente .rv-cliente-form-title-icon .pv-clientes-pestanas{transform-origin:center;animation:pv-clientes-pulso 2.4s ease-in-out infinite}
        #pv-modal-nuevo-cliente .rv-cliente-form-header h2{margin:0!important;font-size:21px!important;font-weight:800!important;letter-spacing:-.02em!important;color:#172033!important}
        #pv-modal-nuevo-cliente .rv-cliente-form-header>.pv-modal-close{position:static!important;top:auto!important;right:auto!important;float:none!important;margin:0 0 0 auto!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;flex:0 0 34px!important;border:1px solid #6844DF!important;border-radius:10px!important;background-color:#fff!important;color:#172033!important;font-size:18px!important;box-shadow:none!important}
        #pv-modal-nuevo-cliente .rv-cliente-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:15px 18px;padding:22px 28px 0}
        #pv-modal-nuevo-cliente .rv-cliente-form-field{min-width:0;margin:0}
        #pv-modal-nuevo-cliente .rv-cliente-form-field>label{display:block;margin:0 0 7px;font-size:12.5px;font-weight:700;line-height:1.25;color:#172033}
        #pv-modal-nuevo-cliente .rv-cliente-form-full{grid-column:1/-1}
        #pv-modal-nuevo-cliente .rv-cliente-input-wrap{position:relative;display:block;width:100%}
        #pv-modal-nuevo-cliente .rv-cliente-input-wrap>i{position:absolute;left:14px;top:50%;z-index:2;display:flex;align-items:center;justify-content:center;width:20px;height:20px;transform:translateY(-50%);color:#94A3B8;pointer-events:none}
        #pv-modal-nuevo-cliente .rv-cliente-input-wrap>i svg{display:block!important;width:19px!important;height:19px!important;color:inherit!important;stroke:currentColor!important;margin:0!important}
        html body #pv-modal-nuevo-cliente .rv-cliente-input-wrap>input{box-sizing:border-box;width:100%;max-width:none;height:48px;min-height:48px;padding:0 14px 0 46px;border:1px solid #D7DEE8;border-radius:10px;background-color:#F7F9FC!important;color:#172033!important;font-size:13.5px;font-weight:500;box-shadow:none!important}
        html body #pv-modal-nuevo-cliente .rv-cliente-input-wrap>textarea{box-sizing:border-box;width:100%;max-width:none;min-height:78px;padding:14px 14px 12px 46px;border:1px solid #D7DEE8;border-radius:10px;background-color:#F7F9FC!important;color:#172033!important;font-size:13.5px;font-weight:500;line-height:1.45;resize:vertical;box-shadow:none!important}
        #pv-modal-nuevo-cliente .rv-cliente-textarea-wrap>i{top:15px;transform:none}
        html body #pv-modal-nuevo-cliente .rv-cliente-input-wrap>:is(input,textarea)::placeholder{color:#98A2B3;opacity:1}
        html body #pv-modal-nuevo-cliente .rv-cliente-input-wrap>:is(input,textarea):focus{outline:none;border-color:#6844DF!important;background-color:#fff!important;box-shadow:0 0 0 3px rgba(104,68,223,.1)!important}
        #pv-modal-nuevo-cliente .rv-cliente-input-wrap:focus-within>i{color:#6844DF}
        #pv-modal-nuevo-cliente .rv-cliente-form-error{grid-column:1/-1;margin:0;padding:10px 12px;border:1px solid #FECACA;border-radius:9px;background:#FEF2F2;color:#DC2626!important;font-size:12.5px;font-weight:650}
        #pv-modal-nuevo-cliente .rv-cliente-form-error[hidden]{display:none!important}
        #pv-modal-nuevo-cliente .rv-cliente-form-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:3px -28px 0;padding:17px 28px;border-top:1px solid #E5E7EB;background:#fff}
        html body #pv-modal-nuevo-cliente .rv-cliente-form-save,html body #pv-modal-nuevo-cliente .rv-cliente-form-cancel{position:static!important;float:none!important;box-sizing:border-box;width:auto!important;min-width:164px!important;height:42px!important;min-height:42px!important;margin:0!important;padding:0 18px!important;border-radius:10px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;font-size:13px!important;font-weight:750!important;line-height:1!important;box-shadow:none!important;cursor:pointer}
        html body #pv-modal-nuevo-cliente .rv-cliente-form-save{border:1.5px solid #6844DF!important;background:#6844DF!important;color:#fff!important}
        html body #pv-modal-nuevo-cliente .rv-cliente-form-save *,html body #pv-modal-nuevo-cliente .rv-cliente-form-save svg{color:#fff!important;stroke:#fff!important}
        html body #pv-modal-nuevo-cliente .rv-cliente-form-save svg{width:16px!important;height:16px!important;margin:0!important}
        html body #pv-modal-nuevo-cliente .rv-cliente-form-cancel{border:1.5px solid #6844DF!important;background:#fff!important;color:#6844DF!important}
        @media (max-width:680px){
            #pv-modal-nuevo-cliente{padding:10px}
            #pv-modal-nuevo-cliente .rv-cliente-form-modal{width:calc(100vw - 20px);max-height:96vh;max-height:96dvh;border-radius:15px}
            #pv-modal-nuevo-cliente .rv-cliente-form-header{min-height:66px;padding:0 16px;gap:10px}
            #pv-modal-nuevo-cliente .rv-cliente-form-title-icon,#pv-modal-nuevo-cliente .rv-cliente-form-title-icon svg{width:38px!important;height:38px!important;flex-basis:38px}
            #pv-modal-nuevo-cliente .rv-cliente-form-header h2{font-size:18px!important}
            #pv-modal-nuevo-cliente .rv-cliente-form{grid-template-columns:1fr;gap:13px;padding:18px 16px 0}
            #pv-modal-nuevo-cliente .rv-cliente-form-full{grid-column:1}
            #pv-modal-nuevo-cliente .rv-cliente-form-actions{grid-column:1;margin:2px -16px 0;padding:15px 16px;display:grid;grid-template-columns:1fr 1fr}
            html body #pv-modal-nuevo-cliente .rv-cliente-form-save,html body #pv-modal-nuevo-cliente .rv-cliente-form-cancel{width:100%!important;min-width:0!important;padding:0 10px!important}
        }
        @media (max-width:430px){#pv-modal-nuevo-cliente .rv-cliente-form-actions{grid-template-columns:1fr}#pv-modal-nuevo-cliente .rv-cliente-form-save{order:1}#pv-modal-nuevo-cliente .rv-cliente-form-cancel{order:2}}

        /* ===== Pedidos — alta rápida de producto ===== */
        #pv-modal-producto-rapido{padding:18px;background:rgba(23,18,43,.52);backdrop-filter:blur(5px)}
        #pv-modal-producto-rapido .rv-producto-form-modal{position:relative;box-sizing:border-box;display:flex;flex-direction:column;width:min(880px,calc(100vw - 36px));max-width:880px;max-height:94vh;max-height:94dvh;padding:0!important;overflow:hidden;border:1px solid #DED9EC;border-radius:22px;background:#fff;box-shadow:0 30px 90px rgba(26,18,56,.28);animation:none}
        #pv-modal-producto-rapido .rv-producto-form-modal::before{position:absolute;z-index:7;top:0;left:24px;right:24px;height:3px;border-radius:0 0 8px 8px;background:linear-gradient(90deg,#08A6EC 0%,#7042ED 52%,#F01446 100%);content:""}
        #pv-modal-producto-rapido .rv-producto-form-shell{display:flex;min-height:0;flex:1;flex-direction:column;margin:0}
        #pv-modal-producto-rapido .rv-producto-form-header{position:relative;z-index:4;display:flex;align-items:center;gap:13px;min-height:70px;padding:0 24px;border-bottom:1px solid #ECEAF2;background:linear-gradient(180deg,#FFF 0%,#FDFCFF 100%)}
        #pv-modal-producto-rapido .rv-producto-form-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 42px;border:1px solid #DCCFFC;border-radius:13px;background:linear-gradient(145deg,#F0FAFF 0%,#F1ECFF 58%,#FFF0F4 100%);color:#6844DF;box-shadow:0 7px 18px rgba(104,68,223,.10)}
        #pv-modal-producto-rapido .rv-producto-form-icon svg{display:block!important;width:21px!important;height:21px!important;margin:0!important;color:inherit!important;stroke:currentColor!important}
        #pv-modal-producto-rapido .rv-producto-form-header>span:nth-child(2){display:flex;min-width:0;flex-direction:column;gap:3px}
        #pv-modal-producto-rapido .rv-producto-form-header h2{margin:0!important;color:#172033!important;font-size:20px!important;font-weight:850!important;line-height:1.15!important;letter-spacing:-.025em!important}
        #pv-modal-producto-rapido .rv-producto-form-header small{color:#7F8BA1;font-size:11.5px;font-weight:570;line-height:1.3}
        #pv-modal-producto-rapido .rv-producto-form-header>.pv-modal-close{position:static!important;top:auto!important;right:auto!important;float:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;margin:0 0 0 auto!important;width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;flex:0 0 40px!important;border:1px solid #DDD8EA!important;border-radius:12px!important;background:#FAF9FD!important;color:#566075!important;font-size:20px!important;line-height:1!important;box-shadow:none!important;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease!important}
        #pv-modal-producto-rapido .rv-producto-form-header>.pv-modal-close:hover:not(:disabled){border-color:#BEAFF0!important;background:#F5F1FF!important;color:#6844DF!important;transform:translateY(-1px)}
        #pv-modal-producto-rapido .rv-producto-form-body{min-height:0;overflow:auto;scrollbar-gutter:stable;padding:17px 24px 15px;background:linear-gradient(180deg,#FFF 0%,#FCFBFF 100%);transition:opacity .18s ease}
        #pv-modal-producto-rapido.rv-producto-is-busy .rv-producto-form-body{pointer-events:none;opacity:.7}
        #pv-modal-producto-rapido .rv-producto-form-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px 16px}
        #pv-modal-producto-rapido .rv-producto-half{grid-column:span 3}
        #pv-modal-producto-rapido .rv-producto-third{grid-column:span 2}
        #pv-modal-producto-rapido .rv-producto-full{grid-column:1/-1}
        #pv-modal-producto-rapido .rv-producto-field{min-width:0;margin:0!important}
        #pv-modal-producto-rapido .rv-producto-field>label{display:flex;align-items:center;gap:6px;margin:0 0 6px;color:#2B3549;font-size:11.5px;font-weight:790;line-height:1.25}
        #pv-modal-producto-rapido .rv-producto-field>label svg{width:13px!important;height:13px!important;margin:0!important;color:#6844DF!important;stroke:currentColor!important}
        #pv-modal-producto-rapido .rv-producto-optional{margin-left:auto;padding:3px 6px;border-radius:999px;background:#F2EFF9;color:#7F7598;font-size:8.5px;font-weight:850;letter-spacing:.045em;text-transform:uppercase}
        html body #pv-modal-producto-rapido .rv-producto-field>input,
        html body #pv-modal-producto-rapido .rv-producto-field>select{box-sizing:border-box;width:100%;max-width:none;height:44px;min-height:44px;margin:0;padding:0 13px;border:1px solid #D7DCE7;border-radius:11px;background-color:#F8F9FC!important;color:#172033!important;font-family:Inter,system-ui,sans-serif;font-size:12.5px;font-weight:580;box-shadow:0 1px 0 rgba(15,23,42,.02)!important;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease!important}
        html body #pv-modal-producto-rapido .rv-producto-field>select{padding-right:36px!important;background-position:right 12px center!important}
        html body #pv-modal-producto-rapido .rv-producto-field>input:hover,
        html body #pv-modal-producto-rapido .rv-producto-field>select:hover{border-color:#B9AECF;background-color:#FFF!important}
        html body #pv-modal-producto-rapido .rv-producto-field>input::placeholder{color:#99A3B5;opacity:1}
        html body #pv-modal-producto-rapido .rv-producto-field>input:focus,
        html body #pv-modal-producto-rapido .rv-producto-field>select:focus{outline:none;border-color:#7042ED!important;background-color:#FFF!important;box-shadow:0 0 0 3px rgba(112,66,237,.12)!important}
        #pv-modal-producto-rapido .rv-producto-field .pv-cs-trigger{min-height:44px;border-color:#D7DCE7;border-radius:11px;background:#F8F9FC;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}
        #pv-modal-producto-rapido .rv-producto-field .pv-cs-trigger:hover{border-color:#B9AECF;background:#FFF}
        #pv-modal-producto-rapido .rv-producto-field .pv-cs-trigger:focus-visible{outline:none;border-color:#7042ED;box-shadow:0 0 0 3px rgba(112,66,237,.12)}
        #pv-modal-producto-rapido .rv-producto-field.is-invalid>input,
        #pv-modal-producto-rapido .rv-producto-field.is-invalid .pv-cs-trigger{border-color:#E64463!important;background:#FFF7F8!important;box-shadow:0 0 0 3px rgba(230,68,99,.10)!important}
        html body #pv-modal-producto-rapido #pv-prod-costo-total[readonly]{background:#F0F2F6!important;color:#667085!important;cursor:not-allowed}
        #pv-modal-producto-rapido .rv-producto-price-summary{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:40px;padding:0 13px;border:1px solid #E3DCF8;border-radius:11px;background:linear-gradient(90deg,#F7F4FF 0%,#FBF9FF 100%);color:#6844DF}
        #pv-modal-producto-rapido .rv-producto-price-summary span{font-size:12px;font-weight:850}
        #pv-modal-producto-rapido .rv-producto-price-summary small{color:#78849A;font-size:10.5px;font-weight:580;text-align:right}
        #pv-modal-producto-rapido .rv-producto-currency .pv-divisa-chips{box-sizing:border-box;display:grid!important;grid-template-columns:none!important;grid-auto-flow:column!important;grid-auto-columns:minmax(0,1fr)!important;width:100%!important;max-width:none!important;min-height:44px;margin:0!important;padding:3px!important;border:1px solid #D7DCE7!important;border-radius:11px!important;background:#F2F4F8!important;gap:3px!important}
        #pv-modal-producto-rapido .rv-producto-currency .pv-moneda-switch{box-sizing:border-box;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-width:0!important;height:36px!important;min-height:36px!important;margin:0!important;padding:0 7px!important;border:1px solid transparent!important;border-radius:8px!important;background:transparent!important;color:#8792A7!important;box-shadow:none!important;transition:background .16s ease,color .16s ease,box-shadow .16s ease!important}
        #pv-modal-producto-rapido .rv-producto-currency .pv-moneda-switch:hover{background:rgba(255,255,255,.72)!important;color:#6844DF!important}
        #pv-modal-producto-rapido .rv-producto-currency .pv-moneda-switch.active,
        #pv-modal-producto-rapido .rv-producto-currency .pv-moneda-switch:has(input:checked){border-color:#DFD5FB!important;background:#FFF!important;color:#6844DF!important;box-shadow:0 2px 8px rgba(44,32,83,.10)!important}
        #pv-modal-producto-rapido .rv-producto-currency .pv-moneda-switch-icono,
        #pv-modal-producto-rapido .rv-producto-currency .pv-moneda-switch-track{display:none!important}
        #pv-modal-producto-rapido .rv-producto-currency .pv-moneda-switch-label{font-size:11px!important;font-weight:830!important}

        :is(#pv-modal-producto-inv,#pv-modal-producto-rapido) .rv-producto-image-help{display:block;margin:-2px 0 7px;color:#7F8BA1;font-size:10.5px;font-weight:570;line-height:1.35}
        :is(#pv-modal-producto-inv,#pv-modal-producto-rapido) .rv-producto-image .pv-file-input{position:relative;box-sizing:border-box;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;width:100%;min-width:0;gap:10px;margin:0}
        :is(#pv-modal-producto-inv,#pv-modal-producto-rapido) .rv-producto-image .pv-file-input-btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:7px;height:44px;min-height:44px;margin:0;padding:0 15px;border:1px solid #9278E9;border-radius:11px;background:linear-gradient(180deg,#FFF 0%,#FAF8FF 100%);color:#6844DF;font-size:11.5px;font-weight:820;box-shadow:0 4px 11px rgba(104,68,223,.07);white-space:nowrap;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}
        :is(#pv-modal-producto-inv,#pv-modal-producto-rapido) .rv-producto-image .pv-file-input-btn:hover{border-color:#7042ED;background:#F7F3FF;box-shadow:0 7px 16px rgba(104,68,223,.12);transform:translateY(-1px)}
        :is(#pv-modal-producto-inv,#pv-modal-producto-rapido) .rv-producto-image .pv-file-input:focus-within .pv-file-input-btn{outline:3px solid rgba(112,66,237,.18);outline-offset:2px}
        :is(#pv-modal-producto-inv,#pv-modal-producto-rapido) .rv-producto-image .pv-file-input-btn svg{width:15px!important;height:15px!important;margin:0!important;color:inherit!important;stroke:currentColor!important}
        :is(#pv-modal-producto-inv,#pv-modal-producto-rapido) .rv-producto-image .pv-file-input-nombre{display:block;min-width:0;overflow:hidden;color:#8691A5;font-size:10.5px;font-weight:620;text-overflow:ellipsis;white-space:nowrap}
        :is(#pv-modal-producto-inv,#pv-modal-producto-rapido) .rv-producto-image.pv-has-new-image .pv-file-input-btn{border-color:#8DD9B7;background:#F1FBF6;color:#087D51;box-shadow:0 5px 13px rgba(8,125,81,.09)}
        :is(#pv-modal-producto-inv,#pv-modal-producto-rapido) .rv-producto-image.pv-has-new-image .pv-file-input-nombre{color:#087D51;font-weight:780}
        :is(#pv-modal-producto-inv,#pv-modal-producto-rapido) .rv-producto-image.is-invalid .pv-file-input-btn{border-color:#E64463;background:#FFF5F7;color:#C62949;box-shadow:0 0 0 3px rgba(230,68,99,.09)}
        :is(#pv-modal-producto-inv,#pv-modal-producto-rapido) .rv-producto-image .pv-producto-upload-preview{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;box-sizing:border-box;width:100%;min-height:60px;margin-top:8px;padding:9px 11px;border:1px solid #DCD3F7;border-radius:12px;background:linear-gradient(105deg,#F8F5FF 0%,#FCFBFF 100%);box-shadow:0 5px 14px rgba(104,68,223,.05)}
        :is(#pv-modal-producto-inv,#pv-modal-producto-rapido) .rv-producto-image .pv-producto-upload-preview.has-image{grid-template-columns:58px minmax(0,1fr) auto;padding:6px;border-color:#BCE7D3;background:linear-gradient(105deg,#F2FCF7 0%,#F9FFFC 100%);box-shadow:0 5px 14px rgba(8,125,81,.06)}
        :is(#pv-modal-producto-inv,#pv-modal-producto-rapido) .rv-producto-image .pv-producto-upload-preview img{display:block;width:58px;height:46px;border-radius:9px;object-fit:cover;background:#E8EDF3;box-shadow:0 2px 7px rgba(15,23,42,.10)}
        :is(#pv-modal-producto-inv,#pv-modal-producto-rapido) .rv-producto-image .pv-producto-upload-preview span{display:flex;min-width:0;flex-direction:column;gap:2px}
        :is(#pv-modal-producto-inv,#pv-modal-producto-rapido) .rv-producto-image .pv-producto-upload-preview strong{color:#6844DF;font-size:11px;font-weight:850;line-height:1.25}
        :is(#pv-modal-producto-inv,#pv-modal-producto-rapido) .rv-producto-image .pv-producto-upload-preview.has-image strong{color:#087D51}
        :is(#pv-modal-producto-inv,#pv-modal-producto-rapido) .rv-producto-image.is-invalid .pv-producto-upload-preview{border-color:#F0B1BF;background:#FFF5F7;box-shadow:0 5px 14px rgba(198,41,73,.06)}
        :is(#pv-modal-producto-inv,#pv-modal-producto-rapido) .rv-producto-image.is-invalid .pv-producto-upload-preview strong{color:#C62949}
        :is(#pv-modal-producto-inv,#pv-modal-producto-rapido) .rv-producto-image .pv-producto-upload-preview small{display:block;min-width:0;overflow:hidden;color:#637589;font-size:10px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
        :is(#pv-modal-producto-inv,#pv-modal-producto-rapido) .rv-producto-image .pv-producto-upload-remove{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:32px;margin:0;padding:0 9px;border:1px solid #E6CAD4;border-radius:9px;background:#FFF;color:#B62450;font:750 10px var(--pv-font);cursor:pointer;box-shadow:none;transition:border-color .16s ease,background .16s ease,color .16s ease}
        :is(#pv-modal-producto-inv,#pv-modal-producto-rapido) .rv-producto-image .pv-producto-upload-remove:hover{border-color:#E09AAF;background:#FFF4F7;color:#A11642}
        :is(#pv-modal-producto-inv,#pv-modal-producto-rapido) .rv-producto-image .pv-producto-upload-remove:focus-visible{outline:3px solid rgba(190,36,80,.16);outline-offset:2px}
        :is(#pv-modal-producto-inv,#pv-modal-producto-rapido) .rv-producto-image .pv-producto-upload-remove svg{display:block;width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

        #pv-modal-producto-rapido .rv-producto-form-error{margin:0 0 14px;padding:11px 13px;border:1px solid #F4B8C4;border-left:4px solid #E33054;border-radius:11px;background:#FFF5F7;color:#BF2443!important;font-size:11.5px;font-weight:690;line-height:1.4;box-shadow:0 5px 14px rgba(190,36,67,.06)}
        #pv-modal-producto-rapido .rv-producto-form-error[hidden]{display:none!important}
        #pv-modal-producto-rapido .rv-producto-form-error:focus{outline:3px solid rgba(227,48,84,.14);outline-offset:2px}
        #pv-modal-producto-rapido .rv-producto-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:13px 24px 14px;border-top:1px solid #EAE7F0;background:#FFF;box-shadow:0 -8px 24px rgba(32,24,61,.035)}
        #pv-modal-producto-rapido .rv-producto-sr-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;white-space:nowrap;border:0;clip:rect(0,0,0,0);clip-path:inset(50%)}
        html body #pv-modal-producto-rapido .rv-producto-create,
        html body #pv-modal-producto-rapido .rv-producto-cancel{position:static!important;float:none!important;box-sizing:border-box;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;width:auto!important;min-width:164px!important;height:44px!important;min-height:44px!important;max-height:44px!important;margin:0!important;padding:0 18px!important;border-radius:11px!important;font-size:12.5px!important;font-weight:820!important;line-height:1!important;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,opacity .16s ease,transform .16s ease!important}
        html body #pv-modal-producto-rapido .rv-producto-create{border:1px solid transparent!important;background:linear-gradient(110deg,#7042ED 0%,#9B35C2 56%,#F01446 100%)!important;color:#FFF!important;box-shadow:0 9px 21px rgba(126,52,197,.22)!important}
        html body #pv-modal-producto-rapido .rv-producto-create:hover:not(:disabled){filter:saturate(1.05) brightness(1.03);box-shadow:0 12px 25px rgba(126,52,197,.28)!important;transform:translateY(-1px)}
        html body #pv-modal-producto-rapido .rv-producto-create:active:not(:disabled),
        html body #pv-modal-producto-rapido .rv-producto-cancel:active:not(:disabled){transform:translateY(0) scale(.99)}
        html body #pv-modal-producto-rapido .rv-producto-create *,html body #pv-modal-producto-rapido .rv-producto-create svg{color:#FFF!important;stroke:#FFF!important}
        html body #pv-modal-producto-rapido .rv-producto-create svg{width:15px!important;height:15px!important;margin:0!important}
        html body #pv-modal-producto-rapido .rv-producto-cancel{border:1px solid #B7A5EC!important;background:#FFF!important;color:#6844DF!important;box-shadow:none!important}
        html body #pv-modal-producto-rapido .rv-producto-cancel:hover:not(:disabled){border-color:#7D5CE1!important;background:#F7F3FF!important;box-shadow:0 6px 15px rgba(104,68,223,.10)!important;transform:translateY(-1px)}
        html body #pv-modal-producto-rapido :is(.rv-producto-create,.rv-producto-cancel,.pv-modal-close):focus-visible{outline:3px solid rgba(112,66,237,.22)!important;outline-offset:2px!important}
        html body #pv-modal-producto-rapido :is(.rv-producto-create,.rv-producto-cancel,.pv-modal-close):disabled{cursor:wait!important;filter:none!important;opacity:.68!important;transform:none!important}
        #pv-modal-producto-rapido .rv-producto-btn-spinner{display:none;width:15px;height:15px;flex:0 0 15px;box-sizing:border-box;border:2px solid rgba(255,255,255,.42);border-top-color:#FFF;border-radius:50%;animation:rvProductoSpin .72s linear infinite}
        #pv-modal-producto-rapido .rv-producto-create[aria-busy="true"] .rv-producto-btn-spinner{display:inline-block}
        #pv-modal-producto-rapido .rv-producto-create[aria-busy="true"] .rv-producto-btn-icon{display:none}
        @keyframes rvProductoSpin{to{transform:rotate(360deg)}}

        @media (max-width:760px){
            #pv-modal-producto-rapido{padding:10px}
            #pv-modal-producto-rapido .rv-producto-form-modal{width:calc(100vw - 20px);max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px);border-radius:18px}
            #pv-modal-producto-rapido .rv-producto-form-header{min-height:64px;padding:0 15px}
            #pv-modal-producto-rapido .rv-producto-form-header>.pv-modal-close{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;flex-basis:44px!important}
            #pv-modal-producto-rapido .rv-producto-form-header small{display:none}
            #pv-modal-producto-rapido .rv-producto-form-body{padding:14px 15px}
            #pv-modal-producto-rapido .rv-producto-form-grid{grid-template-columns:1fr 1fr;gap:11px}
            #pv-modal-producto-rapido .rv-producto-half,#pv-modal-producto-rapido .rv-producto-third{grid-column:span 1}
            #pv-modal-producto-rapido .rv-producto-full{grid-column:1/-1}
            #pv-modal-producto-rapido .rv-producto-form-actions{display:grid;grid-template-columns:1fr 1fr;padding:12px 15px max(12px,env(safe-area-inset-bottom))}
            html body #pv-modal-producto-rapido .rv-producto-create,html body #pv-modal-producto-rapido .rv-producto-cancel{width:100%!important;min-width:0!important}
        }
        @media (max-width:520px){
            #pv-modal-producto-rapido .rv-producto-form-grid{grid-template-columns:1fr}
            #pv-modal-producto-rapido .rv-producto-half,#pv-modal-producto-rapido .rv-producto-third,#pv-modal-producto-rapido .rv-producto-full{grid-column:1}
            #pv-modal-producto-rapido .rv-producto-price-summary{align-items:flex-start;flex-direction:column;gap:3px;padding:9px 11px}
            #pv-modal-producto-rapido .rv-producto-price-summary small{text-align:left}
            #pv-modal-producto-rapido .rv-producto-form-actions{grid-template-columns:1fr}
            :is(#pv-modal-producto-inv,#pv-modal-producto-rapido) .rv-producto-image .pv-producto-upload-preview{min-height:56px}
            :is(#pv-modal-producto-inv,#pv-modal-producto-rapido) .rv-producto-image .pv-producto-upload-preview.has-image{grid-template-columns:52px minmax(0,1fr) auto}
            :is(#pv-modal-producto-inv,#pv-modal-producto-rapido) .rv-producto-image .pv-producto-upload-preview img{width:52px;height:42px}
        }
        @media (prefers-reduced-motion:reduce){
            #pv-modal-producto-rapido .rv-producto-btn-spinner{animation-duration:1.5s}
            #pv-modal-producto-rapido :is(.rv-producto-create,.rv-producto-cancel,.pv-modal-close),
            :is(#pv-modal-producto-inv,#pv-modal-producto-rapido) .rv-producto-image .pv-file-input-btn{transition:none!important}
        }

        /* Inventario reutiliza el mismo formulario profesional de Pedidos. */
        #pv-modal-producto-inv{padding:18px}
        #pv-modal-producto-inv .rv-producto-form-modal{box-sizing:border-box;display:flex;flex-direction:column;width:min(920px,calc(100vw - 36px));max-width:920px;max-height:94vh;max-height:94dvh;padding:0!important;overflow:hidden;border:1px solid #E3E7EF;border-radius:18px;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.22);animation:none}
        #pv-modal-producto-inv .rv-producto-form-shell{display:flex;flex:1;min-height:0;flex-direction:column;margin:0}
        #pv-modal-producto-inv .rv-producto-form-header{position:relative;z-index:4;display:flex;align-items:center;gap:13px;min-height:68px;padding:0 24px;border-bottom:1px solid #E5E7EB;background:#fff}
        #pv-modal-producto-inv .rv-producto-form-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 42px;border:1px solid rgba(104,68,223,.2);border-radius:11px;background:linear-gradient(145deg,rgba(8,166,236,.1),rgba(104,68,223,.1) 58%,rgba(255,23,68,.08));color:#6844DF}
        #pv-modal-producto-inv .rv-producto-form-icon svg{display:block!important;width:22px!important;height:22px!important;margin:0!important;color:inherit!important;stroke:currentColor!important}
        #pv-modal-producto-inv .rv-producto-form-header>span:nth-child(2){display:flex;min-width:0;flex-direction:column;gap:2px}
        #pv-modal-producto-inv .rv-producto-form-header h2{margin:0!important;color:#172033!important;font-size:21px!important;font-weight:800!important;line-height:1.15!important;letter-spacing:-.02em!important}
        #pv-modal-producto-inv .rv-producto-form-header small{color:#8B98AD;font-size:11.5px;font-weight:550;line-height:1.25}
        #pv-modal-producto-inv .rv-producto-form-header>.pv-modal-close{position:static!important;top:auto!important;right:auto!important;float:none!important;margin:0 0 0 auto!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;flex:0 0 34px!important;border:1px solid #D9E0EA!important;border-radius:10px!important;background:#F8FAFC!important;color:#172033!important;font-size:18px!important;box-shadow:none!important;text-decoration:none!important}
        #pv-modal-producto-inv .rv-producto-form-body{min-height:0;overflow:auto;padding:16px 24px 14px;background:linear-gradient(180deg,#fff 0%,#FCFCFE 100%)}
        #pv-modal-producto-inv .rv-producto-form-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px 16px}
        #pv-modal-producto-inv .rv-producto-half{grid-column:span 3}
        #pv-modal-producto-inv .rv-producto-third{grid-column:span 2}
        #pv-modal-producto-inv .rv-producto-full{grid-column:1/-1}
        #pv-modal-producto-inv .rv-producto-field{min-width:0;margin:0!important}
        #pv-modal-producto-inv .rv-producto-field>label{display:flex;align-items:center;gap:5px;margin:0 0 6px;color:#253047;font-size:12px;font-weight:750;line-height:1.25}
        #pv-modal-producto-inv .rv-producto-field>label svg{width:13px!important;height:13px!important;margin:0!important;color:#6844DF!important;stroke:currentColor!important}
        html body #pv-modal-producto-inv .rv-producto-field>input,html body #pv-modal-producto-inv .rv-producto-field>select{box-sizing:border-box;width:100%;max-width:none;height:41px;min-height:41px;margin:0;padding:0 13px;border:1px solid #D7DEE8;border-radius:10px;background-color:#F8FAFC!important;color:#172033!important;font-family:Inter,system-ui,sans-serif;font-size:13px;font-weight:550;box-shadow:none!important}
        html body #pv-modal-producto-inv .rv-producto-field>select{padding-right:36px!important;background-position:right 12px center!important}
        html body #pv-modal-producto-inv .rv-producto-field>input::placeholder{color:#98A2B3;opacity:1}
        html body #pv-modal-producto-inv .rv-producto-field>input:focus,html body #pv-modal-producto-inv .rv-producto-field>select:focus{outline:none;border-color:#6844DF!important;background-color:#fff!important;box-shadow:0 0 0 3px rgba(104,68,223,.09)!important}
        html body #pv-modal-producto-inv #pv-prod-costo-total[readonly]{background:#F1F4F8!important;color:#667085!important;cursor:not-allowed}
        #pv-modal-producto-inv .rv-producto-price-summary{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:36px;padding:0 13px;border:1px solid #E7EAF1;border-radius:10px;background:#F7F5FF;color:#6844DF}
        #pv-modal-producto-inv .rv-producto-price-summary span{font-size:12.5px;font-weight:800}
        #pv-modal-producto-inv .rv-producto-price-summary small{color:#7C879C;font-size:11.5px;font-weight:550;text-align:right}
        #pv-modal-producto-inv .rv-producto-currency .pv-divisa-chips{box-sizing:border-box;display:grid!important;grid-template-columns:none!important;grid-auto-flow:column!important;grid-auto-columns:minmax(0,1fr)!important;width:100%!important;max-width:none!important;min-height:43px;margin:0!important;padding:3px!important;border:1px solid #D7DEE8!important;border-radius:11px!important;background:#F4F6FA!important;gap:3px!important}
        #pv-modal-producto-inv .rv-producto-currency .pv-moneda-switch{position:relative;box-sizing:border-box;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-width:0!important;height:35px!important;min-height:35px!important;margin:0!important;padding:0 12px!important;border:1px solid transparent!important;border-radius:8px!important;background:transparent!important;color:#8A94A7!important;box-shadow:none!important;transition:background .16s,border-color .16s,color .16s,box-shadow .16s!important}
        #pv-modal-producto-inv .rv-producto-currency .pv-moneda-switch:hover{background:rgba(255,255,255,.68)!important;color:#6844DF!important}
        #pv-modal-producto-inv .rv-producto-currency .pv-moneda-switch.active,#pv-modal-producto-inv .rv-producto-currency .pv-moneda-switch:has(input:checked){border-color:#E4DDFB!important;background:#fff!important;color:#6844DF!important;box-shadow:0 2px 7px rgba(40,31,74,.10)!important}
        #pv-modal-producto-inv .rv-producto-currency .pv-moneda-switch-icono,#pv-modal-producto-inv .rv-producto-currency .pv-moneda-switch-track{display:none!important}
        #pv-modal-producto-inv .rv-producto-currency .pv-moneda-switch-label{font-size:12px!important;font-weight:850!important;letter-spacing:.025em!important}
        #pv-modal-producto-inv .rv-producto-currency .pv-moneda-switch.active::after,#pv-modal-producto-inv .rv-producto-currency .pv-moneda-switch:has(input:checked)::after{content:"\2713";display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;margin-left:8px;border-radius:50%;background:#EEE9FF;color:#6844DF;font-size:10px;font-weight:900;line-height:1}
        #pv-modal-producto-inv .rv-producto-image>small{display:block;margin:-2px 0 5px;font-size:10.5px}
        #pv-modal-producto-inv .rv-producto-image .pv-file-input{box-sizing:border-box;display:flex;align-items:center;gap:10px;min-height:41px;margin:0}
        #pv-modal-producto-inv .rv-producto-image .pv-file-input-btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:41px;margin:0;padding:0 15px;border:1px solid #6844DF;border-radius:10px;background:#fff;color:#6844DF;font-size:12px;font-weight:750;box-shadow:none;white-space:nowrap}
        #pv-modal-producto-inv .rv-producto-image .pv-file-input-btn svg{margin:0!important;color:inherit!important;stroke:currentColor!important}
        #pv-modal-producto-inv .rv-producto-image .pv-file-input-nombre{min-width:0;overflow:hidden;color:#8A94A7;font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}
        #pv-modal-producto-inv .rv-producto-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:13px 24px;border-top:1px solid #E5E7EB;background:#fff}
        html body #pv-modal-producto-inv .rv-producto-create,html body #pv-modal-producto-inv .rv-producto-cancel{position:static!important;float:none!important;box-sizing:border-box;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;width:auto!important;min-width:170px!important;height:42px!important;min-height:42px!important;margin:0!important;padding:0 18px!important;border-radius:10px!important;font-size:13px!important;font-weight:780!important;line-height:1!important;box-shadow:none!important;cursor:pointer;text-decoration:none!important}
        html body #pv-modal-producto-inv .rv-producto-create{border:1px solid transparent!important;background:linear-gradient(135deg,#6844DF 0%,#7B3FE4 50%,#F01446 100%)!important;color:#fff!important}
        html body #pv-modal-producto-inv .rv-producto-create *,html body #pv-modal-producto-inv .rv-producto-create svg{color:#fff!important;stroke:#fff!important}
        html body #pv-modal-producto-inv .rv-producto-create svg{width:16px!important;height:16px!important;margin:0!important}
        html body #pv-modal-producto-inv .rv-producto-cancel{border:1.5px solid #6844DF!important;background:#fff!important;color:#6844DF!important}
        @media (max-width:760px){#pv-modal-producto-inv{padding:10px}#pv-modal-producto-inv .rv-producto-form-modal{width:calc(100vw - 20px);max-height:96vh;max-height:96dvh;border-radius:15px}#pv-modal-producto-inv .rv-producto-form-header{min-height:66px;padding:0 16px}#pv-modal-producto-inv .rv-producto-form-header small{display:none}#pv-modal-producto-inv .rv-producto-form-body{padding:17px 16px 15px}#pv-modal-producto-inv .rv-producto-form-grid{grid-template-columns:1fr 1fr;gap:12px}#pv-modal-producto-inv .rv-producto-half,#pv-modal-producto-inv .rv-producto-third{grid-column:span 1}#pv-modal-producto-inv .rv-producto-full{grid-column:1/-1}#pv-modal-producto-inv .rv-producto-form-actions{padding:14px 16px;display:grid;grid-template-columns:1fr 1fr}html body #pv-modal-producto-inv .rv-producto-create,html body #pv-modal-producto-inv .rv-producto-cancel{width:100%!important;min-width:0!important}}
        @media (max-width:520px){#pv-modal-producto-inv .rv-producto-form-grid{grid-template-columns:1fr}#pv-modal-producto-inv .rv-producto-half,#pv-modal-producto-inv .rv-producto-third,#pv-modal-producto-inv .rv-producto-full{grid-column:1}#pv-modal-producto-inv .rv-producto-price-summary{align-items:flex-start;flex-direction:column;gap:3px;padding:9px 12px}#pv-modal-producto-inv .rv-producto-price-summary small{text-align:left}#pv-modal-producto-inv .rv-producto-form-actions{grid-template-columns:1fr}}

        #pv-modal-nuevo-proveedor,#pv-modal-proveedor-form{padding:20px}
        #pv-modal-nuevo-proveedor .rv-proveedor-form-modal,#pv-modal-proveedor-form .rv-proveedor-form-modal{box-sizing:border-box;width:min(820px,calc(100vw - 40px));max-width:820px;max-height:92vh;max-height:92dvh;padding:0!important;overflow:auto;border:1px solid #E3E7EF;border-radius:18px;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.22);animation:none}
        .rv-proveedor-form-header{position:sticky;top:0;z-index:4;display:flex;align-items:center;gap:13px;min-height:76px;padding:0 24px;border-bottom:1px solid #E5E7EB;background:rgba(255,255,255,.98);backdrop-filter:blur(12px)}
        .rv-proveedor-form-title-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;color:#6844DF}
        .rv-proveedor-form-title-icon svg{display:block!important;width:44px!important;height:44px!important;margin:0!important}
        .rv-proveedor-form-header h2{margin:0!important;font-size:21px!important;font-weight:800!important;letter-spacing:-.02em!important;color:#172033!important}
        .rv-proveedor-form-header>.pv-modal-close{position:static!important;top:auto!important;right:auto!important;float:none!important;margin:0 0 0 auto!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;flex:0 0 34px!important;border:1px solid #6844DF!important;border-radius:10px!important;background-color:#fff!important;color:transparent!important;box-shadow:none!important}
        .rv-proveedor-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:15px 18px;padding:22px 28px 0}
        .rv-proveedor-form-field{min-width:0;margin:0}
        .rv-proveedor-form-field>label{display:block;margin:0 0 7px;font-size:12.5px;font-weight:700;line-height:1.25;color:#172033}
        .rv-proveedor-form-full,.rv-proveedor-form-error{grid-column:1/-1}
        .rv-proveedor-input-wrap{position:relative;display:block;width:100%}
        .rv-proveedor-input-wrap>i{position:absolute;left:14px;top:50%;z-index:2;display:flex;align-items:center;justify-content:center;width:20px;height:20px;transform:translateY(-50%);color:#94A3B8;font-style:normal;pointer-events:none}
        .rv-proveedor-input-wrap>i svg{display:block!important;width:19px!important;height:19px!important;color:inherit!important;stroke:currentColor!important;margin:0!important}
        html body .rv-proveedor-input-wrap>input{box-sizing:border-box;width:100%;max-width:none;height:48px;min-height:48px;padding:0 14px 0 46px;border:1px solid #D7DEE8;border-radius:10px;background-color:#F7F9FC!important;color:#172033!important;font-size:13.5px;font-weight:500;box-shadow:none!important}
        html body .rv-proveedor-input-wrap>textarea{box-sizing:border-box;width:100%;max-width:none;min-height:78px;padding:14px 14px 12px 46px;border:1px solid #D7DEE8;border-radius:10px;background-color:#F7F9FC!important;color:#172033!important;font-size:13.5px;font-weight:500;line-height:1.45;resize:vertical;box-shadow:none!important}
        .rv-proveedor-textarea-wrap>i{top:15px;transform:none}
        html body .rv-proveedor-input-wrap>:is(input,textarea)::placeholder{color:#98A2B3;opacity:1}
        html body .rv-proveedor-input-wrap>:is(input,textarea):focus{outline:none;border-color:#6844DF!important;background-color:#fff!important;box-shadow:0 0 0 3px rgba(104,68,223,.1)!important}
        .rv-proveedor-input-wrap:focus-within>i{color:#6844DF}
        .rv-proveedor-form-error{margin:0!important;padding:10px 12px;border:1px solid #FECACA;border-radius:9px;background:#FEF2F2;color:#DC2626!important;font-size:12px;font-weight:650}
        .rv-proveedor-form-error[hidden]{display:none!important}
        .rv-proveedor-form-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:3px -28px 0;padding:17px 28px;border-top:1px solid #E5E7EB;background:#fff}
        html body .rv-proveedor-form-save,html body .rv-proveedor-form-cancel{position:static!important;float:none!important;box-sizing:border-box;width:auto!important;min-width:174px!important;height:42px!important;min-height:42px!important;margin:0!important;padding:0 18px!important;border-radius:10px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;font-size:13px!important;font-weight:750!important;line-height:1!important;box-shadow:none!important;text-decoration:none!important;cursor:pointer}
        html body .rv-proveedor-form-save{border:1.5px solid #6844DF!important;background:#6844DF!important;color:#fff!important}
        html body .rv-proveedor-form-save *,html body .rv-proveedor-form-save svg{color:#fff!important;stroke:#fff!important}
        html body .rv-proveedor-form-save svg{width:16px!important;height:16px!important;margin:0!important}
        html body .rv-proveedor-form-cancel{border:1.5px solid #6844DF!important;background:#fff!important;color:#6844DF!important}
        @media (max-width:680px){
            #pv-modal-nuevo-proveedor,#pv-modal-proveedor-form{padding:10px}
            #pv-modal-nuevo-proveedor .rv-proveedor-form-modal,#pv-modal-proveedor-form .rv-proveedor-form-modal{width:calc(100vw - 20px);max-height:96vh;max-height:96dvh;border-radius:15px}
            .rv-proveedor-form-header{min-height:66px;padding:0 16px;gap:10px}
            .rv-proveedor-form-title-icon,.rv-proveedor-form-title-icon svg{width:38px!important;height:38px!important;flex-basis:38px}
            .rv-proveedor-form-header h2{font-size:18px!important}
            .rv-proveedor-form{grid-template-columns:1fr;gap:13px;padding:18px 16px 0}
            .rv-proveedor-form-full,.rv-proveedor-form-error{grid-column:1}
            .rv-proveedor-form-actions{grid-column:1;margin:2px -16px 0;padding:15px 16px;display:grid;grid-template-columns:1fr 1fr}
            html body .rv-proveedor-form-save,html body .rv-proveedor-form-cancel{width:100%!important;min-width:0!important;padding:0 10px!important}
        }
        @media (max-width:430px){.rv-proveedor-form-actions{grid-template-columns:1fr}.rv-proveedor-form-save{order:1}.rv-proveedor-form-cancel{order:2}}

        /* ===== Clientes — ficha profesional en vista previa ===== */
        #pv-modal-cliente-ficha{padding:18px;background:rgba(15,23,42,.48);backdrop-filter:blur(8px)}
        #pv-modal-cliente-ficha .rv-cliente-preview-modal{box-sizing:border-box;width:min(1180px,calc(100vw - 36px));max-width:1180px;max-height:92vh;max-height:92dvh;padding:0!important;overflow:auto;border:1px solid #E2E7F0;border-radius:18px;background:#fff;box-shadow:0 26px 80px rgba(15,23,42,.24);scrollbar-width:thin;scrollbar-color:#98A2B3 transparent}
        #pv-modal-cliente-ficha .rv-cliente-preview-modal>.pv-modal-close{position:absolute!important;z-index:12;top:20px!important;right:22px!important;box-sizing:border-box;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;margin:0!important;border:1px solid #E3E7EF!important;border-radius:10px!important;background-color:#F8FAFC!important;color:transparent!important;box-shadow:none!important}
        .rv-cliente-preview-body{min-height:360px}
        .rv-cliente-preview-loading,.rv-cliente-preview-error{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:30px;text-align:center;color:#667085}
        .rv-cliente-preview-loading strong,.rv-cliente-preview-error strong{font-size:15px;color:#172033}
        .rv-cliente-preview-error span{font-size:12.5px}
        .rv-cliente-preview-spinner{width:34px;height:34px;border:3px solid #E8E2FF;border-top-color:#6844DF;border-radius:50%;animation:rv-cliente-spin .75s linear infinite}
        @keyframes rv-cliente-spin{to{transform:rotate(360deg)}}
        .rv-cliente-preview-shell{width:100%;background:#F7F8FC;color:#172033}
        .rv-cliente-preview-page{box-sizing:border-box;max-width:1180px;margin:0 auto;border:1px solid #E2E7F0;border-radius:18px;overflow:hidden;background:#fff}
        .rv-cliente-preview-header{position:sticky;top:0;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px;padding:0 76px 0 24px;border-bottom:1px solid #E4E7EC;background:rgba(255,255,255,.97);backdrop-filter:blur(12px)}
        .rv-cliente-preview-page .rv-cliente-preview-header{padding-right:24px}
        .rv-cliente-preview-heading{display:flex;align-items:center;gap:12px;min-width:0}
        .rv-cliente-preview-title-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;flex:0 0 44px}
        .rv-cliente-preview-title-icon svg{display:block!important;width:44px!important;height:44px!important;margin:0!important;overflow:visible}
        .rv-cliente-preview-title-icon .pv-clientes-libro{transform-origin:26px 26px;animation:rv-clientes-libro 2.5s ease-in-out infinite!important}
        .rv-cliente-preview-title-icon .pv-clientes-pestanas{transform-origin:44px 27px;animation:rv-clientes-pestanas 1.8s ease-in-out infinite!important}
        .rv-cliente-preview-kicker{display:block;margin-bottom:2px;font-size:9px;font-weight:850;letter-spacing:.12em;color:#6844DF}
        .rv-cliente-preview-heading h2{margin:0!important;font-size:21px!important;font-weight:800!important;line-height:1.1!important;letter-spacing:-.025em!important;color:#172033!important}
        .rv-cliente-preview-header-actions{display:flex;align-items:center;gap:9px;margin-left:auto}
        html body .rv-cliente-preview-edit,html body .rv-cliente-preview-back{box-sizing:border-box;height:40px!important;min-height:40px!important;padding:0 15px!important;border:1.5px solid #6844DF!important;border-radius:10px!important;background:#fff!important;color:#6844DF!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;font:inherit;font-size:12.5px!important;font-weight:750!important;text-decoration:none!important;box-shadow:none!important;cursor:pointer}
        .rv-cliente-preview-edit svg,.rv-cliente-preview-back svg{width:16px!important;height:16px!important;margin:0!important;color:#6844DF!important;stroke:#6844DF!important}
        .rv-cliente-preview-content{display:flex;flex-direction:column;gap:16px;padding:20px 24px 24px}
        .rv-cliente-profile-card{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(360px,.8fr);gap:22px;padding:22px;border:1px solid #E1E6EF;border-radius:15px;background:#fff}
        .rv-cliente-profile-main{display:flex;align-items:center;gap:18px;min-width:0}
        .rv-cliente-avatar{width:72px;height:72px;flex:0 0 72px;border-radius:22px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#08A6EC 0%,#8055E8 62%,#F5011F 135%);color:#fff;font-size:20px;font-weight:800;letter-spacing:.02em}
        .rv-cliente-profile-copy{min-width:0;flex:1}
        .rv-cliente-profile-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
        .rv-cliente-profile-title h3{margin:0!important;font-size:19px!important;font-weight:800!important;letter-spacing:-.02em;color:#172033!important}
        .rv-cliente-profile-copy>p{margin:4px 0 13px;font-size:12px;color:#8490A6}
        .rv-cliente-status{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:999px;font-size:10.5px;font-weight:800}
        .rv-cliente-status.is-current{background:#EAF8F0;color:#079455}.rv-cliente-status.is-pending{background:#FFF0F1;color:#D92D20}.rv-cliente-status.is-credit{border:1px solid #DDD1FF;background:#F3EFFF;color:#6844DF}.rv-cliente-status.is-credit-off{border:1px solid #E4E7EC;background:#F8FAFC;color:#98A2B3}
        .rv-cliente-contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
        .rv-cliente-contact-grid>span{display:grid;grid-template-columns:30px minmax(0,1fr);grid-template-rows:auto auto;column-gap:8px;min-width:0}
        .rv-cliente-contact-grid i{grid-row:1/3;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:9px;background:#EAF8FE;color:#08A6EC;font-style:normal}
        .rv-cliente-contact-grid i svg{width:15px!important;height:15px!important;margin:0!important}
        .rv-cliente-contact-grid small{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#98A2B3}
        .rv-cliente-contact-grid strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:700;color:#344054}
        .rv-cliente-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;min-height:88px;border:1px solid #E4E7EC;border-radius:12px;background:#FBFCFE;overflow:hidden}
        .rv-cliente-metrics>div{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:0;padding:12px 10px;border-left:1px solid #E4E7EC;text-align:center}
        .rv-cliente-metrics>div:first-child{border-left:0}
        .rv-cliente-metrics small{display:flex;align-items:center;justify-content:center;min-height:18px;font-size:8.5px;font-weight:800;line-height:1.15;text-transform:uppercase;letter-spacing:.035em;color:#98A2B3;white-space:nowrap}
        .rv-cliente-metrics strong{font-size:13.5px;font-weight:850;line-height:1.15;color:#172033;white-space:nowrap}.rv-cliente-metrics strong.is-debt{color:#D92D20}.rv-cliente-metrics strong.is-ok{color:#079455}
        .rv-cliente-preview-tabs{display:flex;align-items:center;justify-content:center;gap:30px;min-height:48px;padding:0 16px;border:1px solid #E1E6EF;border-radius:14px;background:#fff;overflow-x:auto;scrollbar-width:none}
        .rv-cliente-preview-tabs::-webkit-scrollbar{display:none}
        .rv-cliente-preview-tabs button{position:relative;height:48px!important;min-height:48px!important;padding:0 2px!important;border:0!important;border-radius:0!important;background:transparent!important;color:#475467!important;font:inherit;font-size:12.5px!important;font-weight:750!important;white-space:nowrap;box-shadow:none!important;cursor:pointer}
        .rv-cliente-preview-tabs button:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:transparent}
        .rv-cliente-preview-tabs button.active{color:#6844DF!important}.rv-cliente-preview-tabs button.active:after{background:#6844DF}
        .rv-cliente-preview-tabs button span{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;margin-left:5px;padding:0 6px;border-radius:999px;background:#F2F4F7;color:#667085;font-size:10px}
        .rv-cliente-preview-panel{display:none}.rv-cliente-preview-panel.active{display:block}
        .rv-cliente-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
        .rv-cliente-section-card{box-sizing:border-box;padding:18px;border:1px solid #E1E6EF;border-radius:14px;background:#fff}
        .rv-cliente-table-card+.rv-cliente-table-card{margin-top:14px}
        .rv-cliente-section-heading{display:flex;align-items:center;gap:10px;min-width:0;margin-bottom:14px}
        .rv-cliente-section-heading>span{width:34px;height:34px;flex:0 0 34px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#F2EEFF;color:#6844DF}
        .rv-cliente-section-heading>span svg{width:17px!important;height:17px!important;margin:0!important}
        .rv-cliente-section-heading>div{min-width:0}.rv-cliente-section-heading h3{margin:0!important;font-size:14px!important;font-weight:800!important;color:#172033!important}.rv-cliente-section-heading p{margin:2px 0 0;font-size:10.5px;color:#8490A6}
        .rv-cliente-section-total{margin-left:auto;font-size:15px;color:#172033;white-space:nowrap}
        .rv-cliente-record-list,.rv-cliente-timeline{display:flex;flex-direction:column}
        .rv-cliente-record{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:8px 4px;border-top:1px solid #EEF1F5;color:#172033!important;text-decoration:none!important}
        .rv-cliente-record:first-child{border-top:0}.rv-cliente-record-icon{width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:#EAF8FE;color:#08A6EC}.rv-cliente-record-icon svg{width:15px!important;height:15px!important;margin:0!important}
        .rv-cliente-record>span:nth-child(2){display:flex;flex-direction:column;min-width:0}.rv-cliente-record strong{font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rv-cliente-record small{font-size:10px;color:#98A2B3}.rv-cliente-record>b{font-size:11.5px;white-space:nowrap}
        .rv-cliente-timeline-item{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:48px;padding:6px 4px;border-top:1px solid #EEF1F5}.rv-cliente-timeline-item:first-child{border-top:0}
        .rv-cliente-timeline-item>i{width:8px;height:8px;border-radius:50%;background:#6844DF}.rv-cliente-timeline-item>i.is-entrada{background:#12B76A}.rv-cliente-timeline-item>i.is-salida{background:#F04438}
        .rv-cliente-timeline-item>span{display:flex;flex-direction:column;min-width:0}.rv-cliente-timeline-item strong{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rv-cliente-timeline-item small{font-size:9.5px;color:#98A2B3}.rv-cliente-timeline-item>b{font-size:10.5px;white-space:nowrap}
        .rv-cliente-table-wrap{overflow:auto;border:1px solid #E6EAF0;border-radius:11px}.rv-cliente-table-wrap table{width:100%;border-collapse:collapse;font-size:11.5px}.rv-cliente-table-wrap th{padding:10px 12px;background:#F8FAFC;border-bottom:1px solid #E6EAF0;text-align:left;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#8490A6}.rv-cliente-table-wrap td{padding:11px 12px;border-top:1px solid #EEF1F5;color:#344054;white-space:nowrap}.rv-cliente-table-wrap tbody tr:first-child td{border-top:0}.rv-cliente-table-wrap .is-debt{color:#D92D20}.rv-cliente-table-wrap .is-ok{color:#079455}
        .rv-cliente-preview-doc{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid #6844DF;border-radius:9px;color:#6844DF!important}.rv-cliente-preview-doc svg{width:15px!important;height:15px!important;margin:0!important}
        .rv-cliente-operation{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;background:#F2EEFF;color:#6844DF;font-size:10px;font-weight:800}.rv-cliente-operation.is-entrada{background:#EAF8F0;color:#079455}.rv-cliente-operation.is-salida{background:#FFF0F1;color:#D92D20}
        .rv-cliente-empty{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#8490A6}.rv-cliente-empty>span{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#F2EEFF;color:#6844DF}.rv-cliente-empty>span svg{margin:0!important}.rv-cliente-empty strong{margin-top:8px;font-size:12.5px;color:#344054}.rv-cliente-empty p{margin:3px 0 0;font-size:10.5px}
        .rv-cliente-notes{display:flex;align-items:flex-start;gap:10px;padding:13px 15px;border:1px solid #E1E6EF;border-radius:12px;background:#FBFCFE}.rv-cliente-notes>span{color:#6844DF}.rv-cliente-notes>span svg{width:17px!important;height:17px!important;margin:0!important}.rv-cliente-notes small{display:block;font-size:9.5px;font-weight:800;text-transform:uppercase;color:#98A2B3}.rv-cliente-notes p{margin:2px 0 0;font-size:11.5px;color:#475467}
        .rv-cliente-receipt-preview{min-height:650px;background:#F6F7FB;color:#172033}
        .rv-cliente-receipt-header{position:sticky;top:0;z-index:8;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;min-height:76px;padding:0 76px 0 24px;border-bottom:1px solid #E4E7EC;background:rgba(255,255,255,.98);backdrop-filter:blur(12px)}
        html body .rv-cliente-receipt-back{box-sizing:border-box;height:40px!important;min-height:40px!important;padding:0 14px!important;border:1.5px solid #6844DF!important;border-radius:10px!important;background:#fff!important;color:#6844DF!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;font:inherit;font-size:12.5px!important;font-weight:750!important;box-shadow:none!important;cursor:pointer}
        .rv-cliente-receipt-back svg{width:15px!important;height:15px!important;margin:0!important;color:#6844DF!important;stroke:#6844DF!important}
        .rv-cliente-receipt-title{display:flex;align-items:center;justify-content:center;gap:10px;min-width:0}.rv-cliente-receipt-title>span{width:38px;height:38px;flex:0 0 38px;display:flex;align-items:center;justify-content:center;border-radius:11px;background:#F2EEFF;color:#6844DF}.rv-cliente-receipt-title>span svg{width:18px!important;height:18px!important;margin:0!important}.rv-cliente-receipt-title small{display:block;font-size:9px;font-weight:850;letter-spacing:.1em;color:#6844DF}.rv-cliente-receipt-title h2{margin:1px 0 0!important;font-size:18px!important;font-weight:800!important;letter-spacing:-.02em!important;color:#172033!important}
        .rv-cliente-receipt-number{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 11px;border:1px solid #D8DDE8;border-radius:9px;background:#fff;font-size:11px;font-weight:800;color:#475467}
        .rv-cliente-receipt-stage{box-sizing:border-box;min-height:574px;display:flex;align-items:flex-start;justify-content:center;padding:28px;background:radial-gradient(circle at 50% 0,rgba(104,68,223,.08),transparent 42%),#F2F4F8}
        .rv-cliente-receipt-paper{box-sizing:border-box;width:340px;max-width:100%;padding:26px 30px;border:1px solid #E1E5EC;border-radius:4px;background:#fff;box-shadow:0 16px 38px rgba(15,23,42,.13)}
        .rv-cliente-preview-error [data-pv-cliente-volver]{height:40px!important;padding:0 16px!important;border:1.5px solid #6844DF!important;border-radius:10px!important;background:#fff!important;color:#6844DF!important;font:inherit;font-size:12.5px!important;font-weight:750!important;box-shadow:none!important;cursor:pointer}
        @media (max-width:900px){.rv-cliente-profile-card{grid-template-columns:1fr}.rv-cliente-summary-grid{grid-template-columns:1fr}.rv-cliente-contact-grid{grid-template-columns:1fr 1fr}.rv-cliente-metrics{min-height:72px}}
        @media (max-width:640px){#pv-modal-cliente-ficha{padding:8px}#pv-modal-cliente-ficha .rv-cliente-preview-modal{width:calc(100vw - 16px);max-height:96dvh;border-radius:15px}.rv-cliente-preview-header{min-height:68px;padding:0 60px 0 14px}.rv-cliente-preview-heading h2{font-size:18px!important}.rv-cliente-preview-title-icon,.rv-cliente-preview-title-icon svg{width:38px!important;height:38px!important;flex-basis:38px}.rv-cliente-preview-edit span,.rv-cliente-preview-back span{display:none}.rv-cliente-preview-edit,.rv-cliente-preview-back{width:38px!important;padding:0!important}.rv-cliente-preview-content{padding:13px;gap:12px}.rv-cliente-profile-card{padding:16px}.rv-cliente-profile-main{align-items:flex-start}.rv-cliente-avatar{width:54px;height:54px;flex-basis:54px;border-radius:16px;font-size:16px}.rv-cliente-contact-grid{grid-template-columns:1fr}.rv-cliente-metrics{grid-template-columns:1fr}.rv-cliente-metrics>div{border-left:0;border-top:1px solid #E4E7EC}.rv-cliente-metrics>div:first-child{border-top:0}.rv-cliente-preview-tabs{justify-content:flex-start;gap:22px}.rv-cliente-section-card{padding:14px}.rv-cliente-section-heading{align-items:flex-start;flex-wrap:wrap}.rv-cliente-section-total{width:100%;margin-left:44px}.rv-cliente-record{grid-template-columns:32px minmax(0,1fr)}.rv-cliente-record>b{grid-column:2}.rv-cliente-timeline-item{grid-template-columns:10px minmax(0,1fr)}.rv-cliente-timeline-item>b{grid-column:2}.rv-cliente-table-wrap table{min-width:650px}.rv-cliente-receipt-header{grid-template-columns:auto 1fr;min-height:68px;padding:0 54px 0 12px;gap:10px}.rv-cliente-receipt-back{width:38px!important;padding:0!important}.rv-cliente-receipt-back span{display:none}.rv-cliente-receipt-title{justify-content:flex-start}.rv-cliente-receipt-title>span{display:none}.rv-cliente-receipt-title h2{font-size:15px!important}.rv-cliente-receipt-number{display:none}.rv-cliente-receipt-stage{padding:16px 10px}.rv-cliente-receipt-paper{width:320px;padding:22px 20px}}
        @media (prefers-reduced-motion:reduce){.rv-cliente-preview-title-icon .pv-clientes-libro,.rv-cliente-preview-title-icon .pv-clientes-pestanas,.rv-cliente-preview-spinner{animation:none!important}}

        .rv-prov-ficha{display:flex;flex-direction:column;gap:20px;width:100%;max-width:1080px;margin:0 auto}
        .rv-prov-ficha-page-title{display:flex;align-items:center;gap:14px;padding:4px 0 14px;border-bottom:1px solid var(--pv-border)}
        .rv-prov-ficha-page-title h1{margin:0;font-size:24px;font-weight:800;color:var(--pv-ink)}
        .rv-prov-ficha-page-title-icon,.pv-ficha-modal-title-icon{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid rgba(var(--pv-primary-rgb),.18);border-radius:12px;background:#F8F6FF;color:var(--pv-primary);flex:0 0 46px}
        .rv-prov-ficha-page-title-icon svg,.pv-ficha-modal-title-icon svg{display:block!important;width:38px!important;height:38px!important;margin:0!important;overflow:visible!important}
        .pv-provider-detail-float{transform-origin:24px 24px;animation:pv-provider-detail-float 2.5s ease-in-out infinite}
        .pv-provider-detail-pulse{transform-origin:36px 12px;animation:pv-provider-detail-pulse 1.8s ease-in-out infinite}
        @keyframes pv-provider-detail-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-1.8px)}}
        @keyframes pv-provider-detail-pulse{0%,100%{transform:scale(.9);opacity:.78}50%{transform:scale(1.12);opacity:1}}
        .rv-prov-ficha-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0}
        .rv-prov-ficha-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}
        .rv-prov-ficha-actions-danger{display:flex;align-items:center;justify-content:flex-end;margin:0 0 0 auto;flex:0 0 auto}
        .rv-prov-ficha-actions .pvf-btn,.rv-prov-ficha-actions-danger button{height:42px!important;min-height:42px!important;padding:0 18px!important;border-radius:10px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;font-size:13px!important;font-weight:750!important;box-shadow:none!important;transform:none!important}
        .rv-prov-ficha-actions .rv-prov-action-print{background:#6844DF!important;border:1.5px solid #6844DF!important;color:#fff!important}
        .rv-prov-ficha-actions .rv-prov-action-print svg{color:#fff!important;stroke:#fff!important}
        .rv-prov-ficha-actions .rv-prov-action-pdf,.rv-prov-ficha-actions .rv-prov-action-reports,.rv-prov-ficha-actions .rv-prov-action-edit{background:#fff!important;border:1.5px solid #6844DF!important;color:#6844DF!important}
        .rv-prov-ficha-actions .rv-prov-action-pdf svg,.rv-prov-ficha-actions .rv-prov-action-reports svg,.rv-prov-ficha-actions .rv-prov-action-edit svg{color:#6844DF!important;stroke:#6844DF!important}
        .rv-prov-btn-quiet-del{appearance:none;font:inherit;background:#fff!important;color:#EF233C!important;border:1.5px solid #EF233C!important;box-shadow:none!important;padding:0 18px!important;font-size:13px!important;font-weight:750!important;border-radius:10px!important;cursor:pointer;display:inline-flex;align-items:center;gap:7px}
        .rv-prov-btn-quiet-del svg{color:#EF233C!important;stroke:#EF233C!important}
        .rv-prov-btn-quiet-del:hover{background:#FFF5F6!important}
        .rv-prov-ficha-header{display:flex;flex-direction:column;background:var(--pv-surface);border:1px solid var(--pv-border);border-radius:14px;padding:28px;box-shadow:0 1px 2px rgba(16,24,40,.03)}
        .rv-prov-ficha-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
        .rv-prov-ficha-id{display:flex;align-items:center;gap:18px;min-width:0}
        .rv-prov-ficha-header .rv-prov-avatar-grande{width:82px!important;height:82px!important;flex:0 0 82px!important;background:linear-gradient(135deg,#08A6EC 0%,#8055E8 100%)!important;font-size:22px!important;font-weight:500!important}
        .rv-prov-ficha-header-info{min-width:0}
        .rv-prov-ficha-header-nombre{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
        .rv-prov-ficha-header-nombre h1{margin:0;font-size:21px;font-weight:800;letter-spacing:-.02em}
        .rv-prov-ficha-header-sub{font-size:13px;color:var(--pv-muted);margin-top:6px}
        .rv-prov-ficha-saldo{text-align:right;flex-shrink:0}
        .rv-prov-ficha-saldo-label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--pv-muted)}
        .rv-prov-ficha-saldo-valor{font-size:24px;font-weight:850;margin-top:4px;letter-spacing:-.02em}
        .rv-prov-badge-debe-text{color:#DC2626}
        .rv-prov-badge-aldia-text{color:#16A34A}
        .rv-prov-badge-favor-text{color:#2563EB}
        .rv-prov-ficha-contact-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:24px;padding-top:22px;border-top:1px solid var(--pv-border)}
        .rv-prov-ficha-contact-item{display:flex;align-items:center;gap:10px;min-width:0}
        .rv-prov-ficha-contact-ic{width:36px;height:36px;border-radius:10px;background:#EAF8FE;color:#08A6EC;display:flex;align-items:center;justify-content:center;flex-shrink:0}
        .rv-prov-ficha-contact-ic svg{margin:0!important;width:18px!important;height:18px!important}
        .rv-prov-ficha-contact-text{min-width:0}
        .rv-prov-ficha-contact-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--pv-muted)}
        .rv-prov-ficha-contact-valor{font-size:13px;font-weight:750;color:var(--pv-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
        .rv-prov-ficha > .pvf-card[style*="margin-bottom:20px"],.rv-prov-ficha > .pv-card[style*="margin-bottom:20px"]{margin:0!important;padding:17px 20px!important;border-radius:12px!important;box-shadow:none!important;background:#FAFBFD!important}
        .rv-prov-ficha-tabs{justify-content:flex-start;align-items:center;gap:38px;margin:0;padding:0 18px;overflow:visible}
        .rv-prov-ficha-tabs .pv-subtab{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 0 10px!important;text-align:center;background:transparent!important;border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;box-shadow:none!important;transform:none!important}
        .rv-prov-ficha-tabs .pv-subtab:hover{background:transparent!important;color:var(--pv-primary)!important;box-shadow:none!important;transform:none!important}
        .rv-prov-ficha-tabs .pv-subtab.active{background:transparent!important;color:var(--pv-primary)!important;border-bottom-color:var(--pv-primary)!important}
        @media (max-width:700px){.rv-prov-ficha-tabs{gap:22px;padding-left:4px;overflow-x:auto;overflow-y:hidden}}
        .rv-cfg-card-icono-ambar{background:rgba(var(--pv-primary-rgb),.14);color:var(--pv-primary-dark)}
        .rv-prov-card-hint{margin:2px 0 14px 42px;font-size:11.5px;color:var(--pv-muted)}
        .rv-prov-ficha-timeline h2{margin:0}
        .rv-prov-timeline-list{display:flex;flex-direction:column}
        .rv-prov-timeline-row{display:flex;align-items:flex-start;gap:14px;padding:13px 0;border-bottom:1px solid var(--pv-border)}
        .rv-prov-timeline-row:last-child{border-bottom:0}
        .rv-prov-timeline-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
        .rv-prov-timeline-icon.compra{background:rgba(6,182,212,.12);color:var(--pv-secondary)}
        .rv-prov-timeline-icon.pago{background:rgba(34,197,94,.12);color:#16A34A}
        .rv-prov-timeline-text{flex:1;min-width:0}
        .rv-prov-timeline-desc{font-size:13px;font-weight:700;color:var(--pv-ink);line-height:1.4;white-space:normal;word-break:break-word}
        .rv-prov-timeline-fecha{font-size:12px;color:var(--pv-muted);margin-top:3px}
        .rv-prov-timeline-monto{font-size:13.5px;font-weight:800;flex-shrink:0;padding-top:1px;white-space:nowrap}
        .rv-prov-timeline-monto.compra{color:#DC2626}
        .rv-prov-timeline-monto.pago{color:#16A34A}
        .rv-prov-prod-list{display:flex;flex-direction:column}
        .rv-prov-prod-row{display:flex;align-items:flex-start;gap:14px;padding:13px 0;border-bottom:1px solid var(--pv-border)}
        .rv-prov-prod-row:last-child{border-bottom:0}
        .rv-prov-prod-body{flex:1;min-width:0}
        .rv-prov-prod-title{font-size:13px;font-weight:700;color:var(--pv-ink);line-height:1.4;white-space:normal;word-break:break-word}
        .rv-prov-prod-fecha{font-size:12px;color:var(--pv-muted);margin-top:3px}
        .rv-prov-prod-link{font-size:12px;color:var(--pv-primary-dark);font-weight:700;text-decoration:none;margin-top:5px;display:inline-block;background:none;border:none;padding:0;cursor:pointer;font-family:inherit}
        .rv-prov-prod-right{display:flex;align-items:center;gap:8px;flex-shrink:0;padding-top:1px}
        .rv-prov-prod-amount{font-size:13.5px;font-weight:800;color:var(--pv-ink);white-space:nowrap}
        /* ===== "Productos comprados" de la ficha de proveedor (rediseño) =====
           Antes era una lista de filas separadas por una línea fina: mucho aire
           vertical, poca jerarquía, y el enlace "Ver detalle de productos" en
           ámbar fuerte y negrita compitiendo de tú a tú con el título de la
           compra (que es el dato importante). Ahora cada compra es su propia
           tarjeta: ícono de anclaje a la izquierda, título + metadatos en el
           medio, monto grande a la derecha, y el detalle desplegable integrado
           abajo detrás de un enlace discreto con su flecha.
           OJO con la flecha: va como ::after, NUNCA como ::before ni como un
           <span> antes del texto — un ícono pegado delante del texto rompe el
           ::first-letter que este sistema usa para la mayúscula inicial y la
           etiqueta saldría toda en minúscula. */
        .rv-prov-ficha [data-pv-ficha-panel]{border:1px solid var(--pv-border)!important;border-radius:14px!important;padding:22px!important;box-shadow:none!important;background:#fff!important}
        .rv-prov-compra{border:1px solid var(--pv-border);border-radius:12px;background:var(--pv-surface);margin-bottom:10px;transition:none}
        .rv-prov-compra:last-child{margin-bottom:0}
        .rv-prov-compra:hover{border-color:var(--pv-border2);background:var(--pv-surface-2)}
        .rv-prov-compra-head{display:flex;align-items:flex-start;gap:14px;padding:16px}
        .rv-prov-compra-ico{flex-shrink:0;width:40px;height:40px;border-radius:10px;background:#EAF8FE;color:#08A6EC;display:flex;align-items:center;justify-content:center}
        .rv-prov-compra-info{flex:1;min-width:0}
        .rv-prov-compra-title{font-size:13.5px;font-weight:700;color:var(--pv-ink);line-height:1.45;word-break:break-word}
        .rv-prov-compra-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:5px;font-size:11.5px;font-weight:600;color:var(--pv-muted)}
        .rv-prov-compra-meta-punto{width:3px;height:3px;border-radius:50%;background:var(--pv-border2);flex-shrink:0}
        .rv-prov-compra-monto{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0;text-align:right}
        .rv-prov-compra-cifra{font-size:16px;font-weight:800;color:var(--pv-ink);white-space:nowrap;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
        .rv-prov-compra-acciones{flex-shrink:0;display:flex;align-items:center;padding-top:2px}
        .rv-prov-compra-pie{padding:0 16px}
        .rv-prov-compra-toggle{display:inline-flex;align-items:center;gap:7px;background:none;border:none;padding:0 0 13px;margin:0;font-family:inherit;font-size:11.5px;font-weight:700;color:var(--pv-muted);cursor:pointer;transition:color .15s}
        .rv-prov-compra-toggle:hover{color:var(--pv-primary-dark)}
        .rv-prov-compra-toggle::after{content:"";width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-top:-3px;transition:transform .18s}
        .rv-prov-compra-toggle.open::after{transform:rotate(-135deg);margin-top:2px}
        .rv-prov-compra .pv-detalle-box{margin:0 0 14px}
        @media (max-width:600px){
            .rv-prov-compra-head{gap:10px;padding:13px 13px}
            .rv-prov-compra-ico{width:30px;height:30px;border-radius:10px}
            .rv-prov-compra-cifra{font-size:14.5px}
            .rv-prov-compra-pie{padding:0 13px}
        }
        .rv-prov-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:26px 10px;text-align:center;color:var(--pv-muted)}
        .rv-prov-empty svg{margin:0 0 8px!important;opacity:.5;width:26px!important;height:26px!important}
        .rv-prov-empty-title{font-size:12.5px;font-weight:700;color:var(--pv-ink)}
        .rv-prov-empty-sub{font-size:11.5px;margin-top:2px}
        .rv-prov-pagina-grupo{display:contents}
        .rv-prov-pagina-grupo[hidden]{display:none}
        .pv-paginacion-cliente{margin-top:16px}
        @media (max-width:640px){
            .rv-prov-ficha-contact-row{grid-template-columns:1fr}
            .rv-prov-ficha-header-top{flex-direction:column}
            .rv-prov-ficha-saldo{text-align:left;width:100%}
            .rv-prov-ficha-saldo .pv-moneda-switches{justify-content:flex-start!important}
            /* Encabezado de página (título + bajada) — este mismo patrón
               .rv-prov-page-head se reusa en Proveedores, Cuentas Bancarias,
               Por pagar/cobrar, etc. El título se queda grande (24px, el
               mismo tamaño de siempre); es la bajada la que ocupaba
               demasiado alto en un teléfono, sobre todo cuando es una
               oración larga que termina partida en 2 líneas. */
            .rv-prov-page-head p{font-size:6px;line-height:1.3}
            /* "Por pagar / por cobrar": título centrado, bajada afuera del
               todo (no solo achicada) y el botón "+" al lado en la misma
               fila en vez de caer debajo — antes .rv-prov-page-head
               envolvía (flex-wrap) porque el bloque título+bajada pedía
               todo el ancho, empujando el botón a su propia línea. */
            .rv-cxp-page-head{flex-wrap:nowrap!important;align-items:center!important}
            .rv-cxp-page-head > div:first-child{flex:1;min-width:0;text-align:center}
            .rv-cxp-page-head p{display:none!important}
        }
        @media (max-width:1200px){
            .rv-prov-page-head{grid-template-columns:minmax(0,1fr) auto}
            .rv-prov-search{grid-column:1/-1;grid-row:2}
            .rv-prov-summary{gap:18px}
        }
        @media (max-width:820px){
            .rv-prov-summary{flex-wrap:wrap;min-height:0}
            .rv-prov-summary-divider{display:none}
            .rv-prov-status-filter{margin-left:0}
        }
        @media (max-width:1100px){
            .rv-prov-grid{grid-template-columns:1fr}
            .rv-prov-card.pv-historial-fila{border-right:0!important}
            .rv-prov-ficha-infocards{grid-template-columns:1fr}
            .rv-prov-ficha-header{flex-wrap:wrap}
            .rv-prov-ficha-saldo{text-align:left;width:100%}
        }
        @media (max-width:640px){
            .rv-prov-grid{grid-template-columns:1fr}
            .rv-prov-page-head{grid-template-columns:minmax(0,1fr) auto;padding:13px}
            .rv-prov-title-icon{width:38px;height:38px}
            .rv-prov-page-head h1{font-size:20px}
            .rv-prov-page .rv-prov-title-wrap p{font-size:11.5px!important}
            .rv-prov-search{grid-column:1/-1;grid-row:2;height:40px}
            .rv-prov-summary{display:grid;grid-template-columns:1fr 1fr;padding:13px 14px;gap:12px}
            .rv-prov-summary-item,.rv-prov-summary-balance{min-width:0}
            .rv-prov-summary-icon{width:34px;height:34px}
            .rv-prov-summary-item strong{font-size:16px}
            .rv-prov-status-filter{display:none}
            .rv-prov-card.pv-historial-fila{min-height:126px;grid-template-columns:40px minmax(0,1fr) auto;grid-template-areas:"avatar identity badge" ". metrics metrics";padding:15px 15px 15px 25px!important;border-right:0!important}
            .rv-prov-card-accent{left:9px;top:20px;bottom:20px}
            .rv-prov-avatar{width:40px;height:40px}
            .rv-prov-card-chevron{display:none}
            .rv-prov-card .rv-prov-card-foot{grid-template-columns:1fr 1fr;gap:10px}
            .rv-prov-card-foot > div + div{padding-left:10px}
            .rv-prov-card-foot strong{font-size:12.5px}
            /* El botón de texto completo "+ Nuevo Proveedor" competía con el
               título por ancho — en móvil queda un círculo con "+", mismo
               lenguaje que el botón "Gasto" de la barra inferior. */
            .rv-prov-nuevo-btn{width:38px;height:38px;padding:0;border-radius:50%;justify-content:center;flex-shrink:0}
            .rv-prov-nuevo-btn-txt{display:none}
            .rv-prov-chips{display:flex}
        }

        /* ===== Divisas — grid de tarjetas ===== */
        /* Ficha de proveedor: perfil lateral + espacio de actividad. */
        .rv-prov-ficha-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:24px;align-items:stretch;min-width:0}
        .rv-prov-ficha-profile,.rv-prov-ficha-workspace{min-width:0}
        .rv-prov-ficha-profile .rv-prov-ficha-header{height:100%;box-sizing:border-box;padding:28px 22px;border-radius:14px;background:#FAFBFD;box-shadow:none}
        .rv-prov-ficha-profile .rv-prov-ficha-header-top{display:flex;flex-direction:column;align-items:stretch;gap:0}
        .rv-prov-ficha-profile .rv-prov-ficha-id{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
        .rv-prov-ficha-profile .rv-prov-avatar-grande{width:76px!important;height:76px!important;flex-basis:76px!important;font-size:22px!important}
        .rv-prov-ficha-profile .rv-prov-ficha-header-info{width:100%}
        .rv-prov-ficha-profile .rv-prov-ficha-header-nombre{display:flex;flex-direction:column;align-items:center;gap:9px}
        .rv-prov-ficha-profile .rv-prov-ficha-header-nombre h1{max-width:250px;font-size:20px;line-height:1.22;text-align:center}
        .rv-prov-ficha-profile .rv-prov-ficha-header-sub{margin-top:7px;text-align:center;font-size:12px}
        .rv-prov-ficha-profile .rv-prov-ficha-saldo{display:flex;flex-direction:column;align-items:center;width:100%;margin-top:20px;padding-top:18px;border-top:1px solid var(--pv-border);text-align:center}
        .rv-prov-ficha-profile .rv-prov-ficha-saldo-valor{font-size:23px}
        .rv-prov-ficha-profile .rv-prov-ficha-saldo .pv-moneda-switches{justify-content:center!important;margin:10px auto 0!important}
        .rv-prov-ficha-profile .rv-prov-ficha-contact-row{display:grid;grid-template-columns:1fr;gap:16px;margin-top:20px;padding-top:20px}
        .rv-prov-ficha-profile .rv-prov-ficha-contact-item{gap:12px}
        .rv-prov-ficha-profile .rv-prov-ficha-contact-ic{width:38px;height:38px}
        .rv-prov-ficha-profile .rv-prov-ficha-contact-valor{font-size:12.5px}
        .rv-prov-ficha-workspace{display:flex;flex-direction:column;min-height:570px;padding:22px 24px;border:1px solid var(--pv-border);border-radius:14px;background:#fff;box-shadow:none}
        .rv-prov-ficha-workspace .rv-prov-ficha-tabs{flex:0 0 auto;width:100%;box-sizing:border-box;justify-content:center;margin:0 0 22px;padding:0;gap:46px}
        .rv-prov-ficha-workspace [data-pv-ficha-panel]{width:100%;box-sizing:border-box;margin:0!important;padding:20px!important;border-radius:13px!important}
        .rv-prov-ficha-workspace [data-pv-ficha-panel="productos"] .rv-cfg-card-head{display:inline-flex;vertical-align:middle}
        .rv-prov-ficha-workspace [data-pv-ficha-panel="productos"] .rv-prov-card-hint{margin:-29px 0 20px 270px;min-height:29px;display:flex;align-items:center;line-height:1.4}
        .rv-prov-ficha-workspace .rv-prov-compra-head{align-items:center;padding:15px 16px}
        .rv-prov-ficha-workspace .rv-prov-compra-pie{padding-left:70px}
        .rv-prov-ficha-workspace .rv-prov-compra-toggle{color:#08A6EC;padding-bottom:14px}
        #pv-ficha-modal-overlay .pv-modal-box{width:min(1450px,calc(100vw - 56px));max-width:1450px}
        #pv-ficha-modal-overlay .rv-prov-ficha-toolbar{position:sticky;top:18px;z-index:7;min-height:42px;margin:-82px 54px 20px 337px}
        #pv-ficha-modal-overlay .rv-prov-ficha-toolbar .rv-prov-ficha-actions{gap:9px;flex-wrap:nowrap}
        #pv-ficha-modal-overlay .rv-prov-ficha-toolbar .rv-prov-ficha-actions .pvf-btn,
        #pv-ficha-modal-overlay .rv-prov-ficha-toolbar .rv-prov-ficha-actions-danger button{height:40px!important;min-height:40px!important;padding:0 15px!important;font-size:12.5px!important}
        #pv-ficha-modal-overlay .pv-ficha-modal-titlebar{min-height:76px;z-index:6}
        #pv-ficha-modal-overlay .pv-modal-close{top:18px;margin:-58px 24px 0 10px}
        #pv-ficha-modal-overlay .pv-modal-content{padding:24px 28px 28px}
        @media (max-width:1100px){
            #pv-ficha-modal-overlay .rv-prov-ficha-toolbar{position:sticky;top:76px;margin:0 0 18px;padding:12px 0;background:rgba(255,255,255,.97);backdrop-filter:blur(12px)}
            #pv-ficha-modal-overlay .rv-prov-ficha-toolbar .rv-prov-ficha-actions{flex-wrap:wrap}
            .rv-prov-ficha-layout{grid-template-columns:280px minmax(0,1fr);gap:18px}
            .rv-prov-ficha-workspace .rv-prov-ficha-tabs{gap:24px}
            .rv-prov-ficha-workspace [data-pv-ficha-panel="productos"] .rv-prov-card-hint{margin:4px 0 16px 42px;min-height:0;display:block}
        }
        @media (max-width:780px){
            .rv-prov-ficha-layout{grid-template-columns:1fr}
            .rv-prov-ficha-profile .rv-prov-ficha-header{height:auto}
            .rv-prov-ficha-workspace{min-height:0;padding:16px}
            .rv-prov-ficha-workspace .rv-prov-ficha-tabs{justify-content:flex-start;gap:22px;overflow-x:auto}
            .rv-prov-ficha-profile .rv-prov-ficha-contact-row{grid-template-columns:1fr 1fr}
        }
        @media (max-width:520px){.rv-prov-ficha-profile .rv-prov-ficha-contact-row{grid-template-columns:1fr}}

        .rv-divisa-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
        .rv-divisa-card{border-radius:22px;padding:20px;display:flex;flex-direction:column;gap:12px}
        .rv-divisa-top{display:flex;align-items:center;gap:10px}
        .rv-divisa-bandera{font-size:26px;line-height:1}
        .rv-divisa-id{min-width:0;flex:1}
        .rv-divisa-code{font-size:14.5px;font-weight:700;color:var(--pv-ink)}
        .rv-divisa-name{font-size:12px;color:var(--pv-muted)}
        .rv-divisa-badge-base{color:var(--pv-muted2);background:rgba(107,114,128,.12)}
        .rv-divisa-badge-manual{color:var(--pv-secondary2);background:var(--pv-bg)}
        .rv-divisa-badge-auto{color:#0891B2;background:rgba(6,182,212,.12)}
        .rv-divisa-badge-activa{color:#16A34A;background:rgba(34,197,94,.10)}
        .rv-divisa-rate{font-size:24px;font-weight:800;color:var(--pv-ink)}
        .rv-divisa-rate small{font-size:13px;font-weight:700;color:var(--pv-muted)}
        .rv-divisa-tasa-form{display:flex;align-items:center;gap:8px}
        .rv-divisa-tasa-prefijo{font-size:12.5px;color:var(--pv-muted);font-weight:600;white-space:nowrap;flex-shrink:0}
        .rv-divisa-tasa-form input{flex:1;min-width:0;border:1.5px solid var(--pv-border);border-radius:10px;padding:8px 10px;font-size:14px;font-weight:700;font-family:inherit;box-sizing:border-box}
        .rv-divisa-tasa-guardar{flex-shrink:0;width:34px;height:34px;border-radius:10px;border:none;background:var(--pv-primary);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
        .rv-divisa-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:12px;border-top:1px solid var(--pv-border)}
        .rv-divisa-updated{font-size:11.5px;color:var(--pv-muted)}
        .rv-divisa-acciones form{margin:0}
        .rv-divisa-modo-btn{background:none;border:none;color:var(--pv-primary2);font-size:11.5px;font-weight:700;cursor:pointer;padding:0;text-decoration:underline}
        @media (max-width:980px){
            .rv-divisa-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
        }
        @media (max-width:640px){
            .rv-divisa-grid{grid-template-columns:1fr;gap:10px}
            /* "Tasa VES automática...": en móvil el párrafo de explicación y
               la fecha de última actualización se comen toda la tarjeta (el
               texto se envuelve palabra por palabra por falta de espacio) —
               se deja solo el botón "Actualizar tasa BCV", que es lo único
               con lo que el usuario interactúa acá. */
            .pv-info-banner{justify-content:center}
            .pv-info-banner-icono,.pv-info-banner>div{display:none}
            .pv-info-banner a.pvf-btn{width:100%;justify-content:center}
            /* Las tarjetas de divisa (bandera+código+nombre+badge arriba)
               vivían dentro de un flex/grid sin min-width:0 en ningún nivel
               — por default un ítem de flex/grid no se achica por debajo del
               ancho de SU contenido (min-width:auto), así que un nombre
               largo como "Peso colombiano" empujaba la fila entera más
               ancha que la tarjeta, sacando el badge ("Activa"/"Base") a
               medias fuera de la pantalla. Se libera toda la cadena
               (tarjeta → fila superior → formulario de tasa) para que sí se
               achique al ancho real disponible, y el nombre/código truncan
               con "…" en vez de forzar el ancho. */
            .rv-divisa-card{min-width:0;padding:13px;gap:8px}
            .rv-divisa-top{min-width:0}
            .rv-divisa-id{overflow:hidden}
            .rv-divisa-code,.rv-divisa-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
            .rv-divisa-bandera{font-size:20px}
            .rv-divisa-code{font-size:13px}
            .rv-divisa-name{font-size:10.5px}
            .rv-prov-badge{font-size:9.5px;padding:4px 8px}
            .rv-divisa-rate{font-size:18px}
            .rv-divisa-rate small{font-size:11px}
            .rv-divisa-tasa-form{min-width:0}
            .rv-divisa-tasa-prefijo{font-size:11px}
            .rv-divisa-tasa-form input{font-size:12.5px;padding:7px 8px}
            .rv-divisa-tasa-guardar{width:30px;height:30px}
            .rv-divisa-foot{padding-top:9px}
            .rv-divisa-updated{font-size:10.5px}
        }

        /* ===== Inventario — centro de alertas preventivas. ===== */
        .rv-inv-toolbar-row-alertas{display:none!important}
        .rv-alerta-module{display:grid;width:100%;gap:18px}
        .rv-alerta-hero{position:relative;display:grid;grid-template-columns:58px minmax(260px,1fr) auto;align-items:center;gap:16px;box-sizing:border-box;width:100%;min-height:112px;padding:22px 24px;overflow:hidden;border:1px solid #e3def0;border-radius:22px;background:linear-gradient(118deg,#fff 0%,#fff 53%,#f8f4ff 78%,#fff3f7 100%);box-shadow:0 14px 34px rgba(45,35,78,.075)}
        .rv-alerta-hero::before{content:"";position:absolute;top:0;right:30px;left:30px;height:4px;border-radius:0 0 10px 10px;background:linear-gradient(90deg,#11a8e8 0%,#7042ed 45%,#e31761 76%,#ff315b 100%)}
        .rv-alerta-hero-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:linear-gradient(145deg,#7042ed 0%,#b52da9 54%,#ef174f 100%);color:#fff;box-shadow:0 12px 26px rgba(154,45,178,.24)}
        .rv-alerta-hero-icon svg,.rv-alerta-icono svg,.rv-alerta-product-icon svg,.rv-alerta-filtro-copy>span svg,.rv-alerta-empty>span svg,.rv-alerta-message svg,.rv-alerta-location svg,.rv-alerta-action svg{display:block;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
        .rv-alerta-hero-copy{min-width:0}
        .rv-alerta-hero-copy>small{display:block;margin:0 0 5px;color:#7042ed;font-size:12px;font-weight:900;line-height:1;letter-spacing:.1em}
        .rv-alerta-hero-copy h2{margin:0!important;color:#172033!important;font-size:24px!important;font-weight:900!important;line-height:1.15!important;letter-spacing:-.03em!important}
        .rv-alerta-hero-copy p{margin:6px 0 0;color:#768196;font-size:14px;line-height:1.4}
        .rv-alerta-hero-stats{display:grid;grid-template-columns:repeat(4,minmax(86px,1fr));gap:9px}
        .rv-alerta-hero-stats>span{display:flex;box-sizing:border-box;min-height:62px;align-items:center;justify-content:center;flex-direction:column;padding:8px 12px;border:1px solid #e4e0eb;border-radius:14px;background:rgba(255,255,255,.88);box-shadow:0 5px 14px rgba(47,37,77,.045)}
        .rv-alerta-hero-stats strong{color:#7042ed;font-size:20px;font-weight:950;line-height:1}
        .rv-alerta-hero-stats .is-critical strong{color:#e02952}
        .rv-alerta-hero-stats .is-warning strong{color:#d88400}
        .rv-alerta-hero-stats .is-over strong{color:#1688c4}
        .rv-alerta-hero-stats small{margin-top:5px;color:#8490a4;font-size:11px;font-weight:850;line-height:1;text-transform:uppercase;white-space:nowrap}
        .rv-alerta-filtro-bar{position:relative;box-sizing:border-box;width:100%;padding:16px 18px;overflow:hidden;border:1px solid #e1e5ef;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(31,39,68,.05)}
        .rv-alerta-filtro-form{display:grid;grid-template-columns:minmax(230px,1fr) minmax(280px,360px) auto;align-items:end;gap:16px;width:100%}
        .rv-alerta-filtro-copy{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;min-width:0}
        .rv-alerta-filtro-copy>span{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:linear-gradient(145deg,#f0ebff,#faf8ff);color:#7042ed;box-shadow:inset 0 0 0 1px #e1d8fc}
        .rv-alerta-filtro-copy>div{display:flex;min-width:0;flex-direction:column;gap:3px}
        .rv-alerta-filtro-copy small{color:#7042ed;font-size:11px;font-weight:900;line-height:1;letter-spacing:.08em}
        .rv-alerta-filtro-copy strong{color:#202a3d;font-size:15px;font-weight:850;line-height:1.2}
        .rv-alerta-filtro-copy em{overflow:hidden;color:#8792a6;font-size:12px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
        .rv-alerta-filtro-control{display:flex;min-width:0;flex-direction:column;gap:7px}
        .rv-alerta-filtro-label{margin:0;color:#657187;font-size:12px;font-weight:850;line-height:1;text-transform:uppercase}
        .rv-alerta-filtro-control :where(select,.pv-cs,.pv-cs-trigger){box-sizing:border-box;width:100%!important;min-width:0!important;max-width:100%!important}
        .rv-alerta-filtro-control :where(select,.pv-cs-trigger){height:48px!important;min-height:48px!important;margin:0!important;border:1px solid #d8deea!important;border-radius:13px!important;background:#fafbfd!important;color:#243047!important;font-size:14px!important;font-weight:700!important;box-shadow:none!important}
        .rv-alerta-filtro-control :where(select,.pv-cs-trigger):focus{border-color:#7042ed!important;outline:0!important;box-shadow:0 0 0 3px rgba(112,66,237,.1)!important}
        .rv-alerta-filtro-limpiar{display:inline-flex;align-items:center;justify-content:center;min-width:78px;height:48px;margin:0;padding:0 15px;border:1px solid #ddd4ff;border-radius:13px;background:#f7f4ff;color:#7042ed;font-size:13px;font-weight:850;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}
        .rv-alerta-filtro-limpiar:hover{border-color:#bdaffc;background:#f1ecff;transform:translateY(-1px)}
        .rv-alerta-filtro-limpiar[hidden]{display:none!important}
        .rv-alerta-filtro-bar::after{content:"";position:absolute;z-index:4;right:0;bottom:0;left:0;height:3px;opacity:0;pointer-events:none;background:linear-gradient(90deg,transparent,#7042ed,#e31761,transparent);transform:translateX(-100%)}
        .rv-alerta-module.is-filtering .rv-alerta-filtro-bar::after{opacity:1;animation:pvAlertaFiltroProgreso .75s ease-in-out infinite}
        .rv-alerta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:18px;width:100%;transition:opacity .16s ease,transform .16s ease}
        .rv-alerta-module.is-filtering .rv-alerta-grid{opacity:.58;transform:translateY(1px);pointer-events:none}
        .rv-alerta-card{--rv-alert-accent:#7042ed;--rv-alert-soft:#f4f0ff;position:relative;display:flex;box-sizing:border-box;min-width:0;min-height:238px;flex-direction:column;margin:0!important;padding:0!important;overflow:hidden;border:1px solid #e1e5ef!important;border-radius:21px!important;background:#fff!important;box-shadow:0 12px 30px rgba(31,39,68,.065)!important}
        .rv-alerta-card::before{content:"";position:absolute;z-index:2;top:0;bottom:0;left:0;width:4px;background:var(--rv-alert-accent)}
        .rv-alerta-card-sin{--rv-alert-accent:#ef3159;--rv-alert-soft:#fff1f4}
        .rv-alerta-card-bajo{--rv-alert-accent:#e89508;--rv-alert-soft:#fff8e8}
        .rv-alerta-card-sobre{--rv-alert-accent:#1688c4;--rv-alert-soft:#edf8ff}
        .rv-alerta-top{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;margin:0!important;padding:17px 18px 16px;border-bottom:1px solid #e9ecf2;background:linear-gradient(135deg,#fff 52%,var(--rv-alert-soft))}
        .rv-alerta-icono{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--rv-alert-soft);color:var(--rv-alert-accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--rv-alert-accent) 14%,#fff)}
        .rv-alerta-id{display:flex;min-width:0;flex-direction:column;gap:4px}
        .rv-alerta-titulo{color:#182134;font-size:17px;font-weight:900;line-height:1.15}
        .rv-alerta-sub{color:#7e899d;font-size:12px;line-height:1.35}
        .rv-alerta-count{display:flex;min-width:56px;align-items:center;justify-content:center;flex-direction:column;padding:8px 10px;border:1px solid color-mix(in srgb,var(--rv-alert-accent) 18%,#fff);border-radius:12px;background:rgba(255,255,255,.9)}
        .rv-alerta-count strong{color:var(--rv-alert-accent);font-size:18px;font-weight:950;line-height:1}
        .rv-alerta-count small{margin-top:4px;color:#8490a4;font-size:9px;font-weight:850;line-height:1;text-transform:uppercase}
        .rv-alerta-lista{display:flex;max-height:470px;flex-direction:column;gap:10px;margin:0!important;padding:12px!important;overflow:auto;border:0!important;scrollbar-width:thin;scrollbar-color:#d8d2e7 transparent}
        .rv-alerta-item{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;box-sizing:border-box;width:100%;padding:13px;border:1px solid #e5e9f1;border-radius:15px;background:#fff;box-shadow:0 5px 16px rgba(31,39,68,.045)}
        .rv-alerta-item-top{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0}
        .rv-alerta-product-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--rv-alert-soft);color:var(--rv-alert-accent)}
        .rv-alerta-product-icon svg{width:18px;height:18px}
        .rv-alerta-item-nombre{display:flex;min-width:0;flex-direction:column;gap:3px}
        .rv-alerta-item-nombre small{overflow:hidden;color:#8893a7;font-size:11px;font-weight:800;line-height:1;text-overflow:ellipsis;white-space:nowrap}
        .rv-alerta-item-nombre strong{overflow:hidden;color:#172033;font-size:14px;font-weight:850;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
        .rv-alerta-status{display:inline-flex;align-items:center;justify-content:center;min-height:27px;padding:0 9px;border:1px solid color-mix(in srgb,var(--rv-alert-accent) 18%,#fff);border-radius:999px;background:var(--rv-alert-soft);color:var(--rv-alert-accent);font-size:11px;font-weight:850;white-space:nowrap}
        .rv-alerta-message{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:7px;padding:9px 10px;border-radius:10px;background:var(--rv-alert-soft);color:var(--rv-alert-accent)}
        .rv-alerta-message svg{width:16px;height:16px}
        .rv-alerta-message span{color:#48546a;font-size:12px;font-weight:700;line-height:1.35}
        .rv-alerta-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}
        .rv-alerta-metrics>span{display:flex;min-width:0;min-height:58px;align-items:flex-start;justify-content:center;flex-direction:column;gap:5px;padding:8px 10px;border:1px solid #e7eaf1;border-radius:11px;background:#f8f9fb}
        .rv-alerta-metrics>span:first-child{border-color:color-mix(in srgb,var(--rv-alert-accent) 14%,#fff);background:var(--rv-alert-soft)}
        .rv-alerta-metrics small{color:#8490a4;font-size:10px;font-weight:850;line-height:1;text-transform:uppercase}
        .rv-alerta-metrics strong{color:#202a3d;font-size:16px;font-weight:900;line-height:1}
        .rv-alerta-metrics>span:first-child strong{color:var(--rv-alert-accent)}
        .rv-alerta-metrics em{font-size:9px;font-style:normal;font-weight:800}
        .rv-alerta-item-foot{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding-top:10px;border-top:1px solid #e9ecf2}
        .rv-alerta-location{display:flex;min-width:0;align-items:center;gap:7px;color:#7042ed}
        .rv-alerta-location svg{flex:0 0 16px;width:16px;height:16px}
        .rv-alerta-location span{overflow:hidden;color:#69758a;font-size:11px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}
        .rv-alerta-action{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;width:auto!important;min-width:124px!important;height:42px!important;min-height:42px!important;margin:0!important;padding:0 13px!important;border:0!important;border-radius:11px!important;background:linear-gradient(110deg,#7042ed 0%,#a52bba 64%,#e31761 100%)!important;color:#fff!important;box-shadow:0 7px 16px rgba(112,66,237,.18)!important;font-size:12px!important;font-weight:850!important;cursor:pointer!important;transition:filter .18s ease,transform .18s ease,box-shadow .18s ease!important}
        .rv-alerta-action-adjust{background:linear-gradient(110deg,#167fb7,#0f9aa8)!important;box-shadow:0 7px 16px rgba(15,139,164,.18)!important}
        .rv-alerta-action svg,.rv-alerta-action svg *{width:16px!important;height:16px!important;color:#fff!important;fill:none!important;stroke:#fff!important}
        .rv-alerta-action span{color:#fff!important}
        .rv-alerta-action:hover{filter:brightness(1.05)!important;transform:translateY(-1px)!important;box-shadow:0 10px 21px rgba(112,66,237,.24)!important}
        .rv-alerta-action:focus-visible{outline:3px solid rgba(112,66,237,.2)!important;outline-offset:3px!important}
        .rv-alerta-empty{display:flex;min-height:104px;align-items:center;gap:12px;margin:12px;padding:16px;border:1px dashed #dce2ec;border-radius:14px;background:#fafbfd}
        .rv-alerta-empty>span{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:12px;background:#ecfbf4;color:#16a564}
        .rv-alerta-empty>div{display:flex;flex-direction:column;gap:3px}
        .rv-alerta-empty strong{color:#344054;font-size:14px;font-weight:850}
        .rv-alerta-empty small{color:#8490a4;font-size:12px}
        @keyframes pvAlertaFiltroProgreso{to{transform:translateX(100%)}}
        @media (max-width:1180px){.rv-alerta-hero{grid-template-columns:54px minmax(0,1fr)}.rv-alerta-hero-stats{grid-column:1/-1}.rv-alerta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
        @media (min-width:681px) and (max-width:860px){.rv-alerta-filtro-form,.rv-alerta-grid{grid-template-columns:1fr}.rv-alerta-filtro-limpiar{width:100%}}

        /* ===== Reportes ===== */
        .rv-reporte-export-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;border-radius:12px;background:var(--pv-surface);box-shadow:0 1px 2px rgba(16,24,40,.04),0 10px 28px rgba(16,24,40,.06);border:1px solid var(--pv-border);font-size:13px;font-weight:600;color:var(--pv-ink)!important;cursor:pointer;text-decoration:none!important}
        .rv-reporte-export-btn svg{color:var(--pv-primary);flex-shrink:0}
        .rv-reporte-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
        .rv-reporte-kpi{border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:4px}
        .rv-reporte-kpi span{font-size:12px;color:var(--pv-muted)}
        .rv-reporte-kpi strong{font-size:20px;font-weight:800;color:var(--pv-ink)}
        .rv-reporte-kpi strong small{font-size:12px;font-weight:700;color:var(--pv-muted)}
        .rv-reporte-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
        .rv-reporte-grid-2 h2{font-size:14.5px;font-weight:700;margin:0 0 16px}
        .rv-reporte-bars{display:flex;flex-direction:column;gap:12px}
        .rv-reporte-bar-head{display:flex;justify-content:space-between;font-size:12.5px;margin-bottom:4px}
        .rv-reporte-bar-head span{color:var(--pv-muted3)}
        .rv-reporte-bar-head strong{font-weight:700;color:var(--pv-ink)}
        .rv-reporte-bar-track{height:8px;border-radius:4px;background:var(--pv-bg);overflow:hidden}
        .rv-reporte-bar-fill{height:100%;border-radius:4px}
        .rv-reporte-funnel{display:flex;flex-direction:column;gap:10px}
        .rv-reporte-funnel-row{display:flex;align-items:center;gap:12px}
        .rv-reporte-funnel-bar{height:34px;border-radius:10px;display:flex;align-items:center;padding-left:12px;color:#fff;font-size:12.5px;font-weight:700;transition:width .3s ease;white-space:nowrap;overflow:hidden}
        .rv-reporte-funnel-row span{font-size:12.5px;font-weight:700;color:var(--pv-muted3);width:30px;flex-shrink:0;text-align:right}
        .rv-reporte-evolucion-labels{display:flex;justify-content:space-between;margin-top:6px;font-size:10.5px;color:var(--pv-muted)}
        @media (max-width:980px){
            .rv-reporte-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
            .rv-reporte-grid-2{grid-template-columns:1fr}
        }
        @media (max-width:640px){
            .rv-reporte-kpis{grid-template-columns:1fr}
        }

        /* ===== Cuentas por Pagar/Cobrar — grupos como tarjetas expandibles ===== */
        .rv-cxp-lista{display:flex;flex-direction:column;gap:12px}
        .rv-cxp-card.pv-historial-fila{display:block!important;grid-template-columns:none!important;gap:0!important;padding:0 20px!important;border-bottom:none!important;font-size:inherit!important}
        .rv-cxp-card{background:var(--pv-surface);border:1px solid var(--pv-border);border-radius:20px;box-shadow:0 1px 2px rgba(16,24,40,.04);padding:0 20px;overflow:hidden}
        .rv-cxp-resumen{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:16px 0}
        .rv-cxp-resumen .pv-detalle-flecha{flex-shrink:0}
        .rv-cxp-nombre{flex:1 1 160px;min-width:0}
        .rv-cxp-nombre strong{display:block;font-size:14px;font-weight:700;color:var(--pv-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
        .rv-cxp-nombre span{display:block;font-size:12px;color:var(--pv-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
        /* Insignia "Cliente"/"Proveedor" junto al nombre en Cuentas por
           pagar/cobrar cuando la cuenta es del OTRO tipo (ver el toggle A
           quién) — !important necesario para ganarle a la regla genérica
           ".rv-cxp-nombre span{display:block}" de arriba, que la
           convertiría en un bloque debajo del nombre en vez de una
           insignia en línea al lado. */
        .pv-badge-entidad{display:inline-block!important;flex:none!important;width:auto!important;vertical-align:middle;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;background:var(--pv-surface-2);border:1px solid var(--pv-border2);color:var(--pv-muted)}
        .rv-cxp-monto{flex-shrink:0;text-align:right;font-size:14px;white-space:nowrap}
        .rv-cxp-acciones{display:flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:nowrap;margin-left:auto}
        .rv-cxp-acciones form{margin:0}
        .rv-cxp-pagar-btn{border:none;border-radius:11px;padding:9px 16px;font-size:12.5px;font-weight:700;color:#fff;cursor:pointer;background:linear-gradient(135deg,var(--pv-primary2),var(--pv-primary));box-shadow:0 6px 14px rgba(var(--pv-primary-rgb),.25);white-space:nowrap}
        .rv-cxp-abonar-btn{border:1px solid var(--pv-border2);border-radius:11px;padding:9px 16px;font-size:12.5px;font-weight:700;color:var(--pv-ink);cursor:pointer;background:var(--pv-surface-2);white-space:nowrap}
        .rv-cxp-mas-btn{display:inline-flex;align-items:center;justify-content:center;width:39px;height:39px;flex:0 0 39px;padding:0;border:1px solid #D9D1F6;border-radius:10px;background:#F7F5FC;color:#6840DA;font-size:19px;font-weight:750;line-height:1;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}
        .rv-cxp-mas-btn:hover{border-color:#7650E5;background:#F1ECFF;transform:translateY(-1px)}
        .pv-origen-badge{display:inline-flex;align-items:center;min-height:21px;padding:2px 8px;border:1px solid transparent;border-radius:999px;font-size:9.5px;font-weight:800;letter-spacing:.03em;line-height:1;text-transform:uppercase;white-space:nowrap;vertical-align:middle}
        .pv-origen-badge strong{margin-left:3px;font-weight:850}
        .pv-origen-mano{border-color:var(--pv-border2);background:var(--pv-surface-2);color:var(--pv-muted)}
        .pv-origen-otros{border-color:rgba(217,119,6,.28);background:rgba(217,119,6,.10);color:#B45309}
        .pv-origen-pedido{border-color:rgba(37,99,235,.25);background:rgba(37,99,235,.10);color:#1D4ED8}
        .pv-origen-fab{border-color:rgba(147,51,234,.25);background:rgba(147,51,234,.10);color:#7E22CE}
        .pv-origen-recibo{border-color:rgba(5,150,105,.25);background:rgba(5,150,105,.10);color:#047857}
        .rv-cxp-card .pv-detalle-box{margin:0 0 16px}
        @media (max-width:640px){
            /* En flex-wrap orgánico, dónde "saltaba" el monto a la siguiente
               línea dependía del largo del texto de nombre/subtítulo — cada
               tarjeta se acomodaba distinto según cuánto texto tuviera. Con
               grid, flecha+nombre+monto quedan SIEMPRE en la misma fila
               (el nombre ya trunca con ellipsis, nunca empuja al monto) y
               los botones siempre van debajo, ocupando todo el ancho. */
            .rv-cxp-resumen{
                display:grid!important;
                grid-template-columns:auto 1fr auto;
                grid-template-areas:"flecha nombre monto" "acciones acciones acciones";
                row-gap:12px;
                column-gap:10px;
            }
            .rv-cxp-resumen .pv-detalle-flecha{grid-area:flecha}
            .rv-cxp-nombre{grid-area:nombre;flex:none;min-width:0;text-align:left!important}
            .rv-cxp-nombre strong,.rv-cxp-nombre span{text-align:left!important}
            .rv-cxp-monto{grid-area:monto;order:0}
            .rv-cxp-acciones{grid-area:acciones;order:0;flex:none;justify-content:flex-end;margin-left:0}
        }

        /* ===== Cuentas por pagar/cobrar — interfaz Noalyx 2026 ===== */
        .rv-cxp-page-head{position:relative;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:22px;margin:0 0 14px!important;padding:18px 22px!important;border:1px solid #E7E3F5!important;border-radius:20px!important;background:linear-gradient(112deg,#fff 0%,#fff 68%,#FFF7FB 100%)!important;box-shadow:0 10px 30px rgba(32,24,67,.06)!important;overflow:hidden}
        .rv-cxp-page-head:after{content:"";position:absolute;right:-45px;top:-90px;width:210px;height:210px;border-radius:50%;border:34px solid rgba(109,69,229,.055);pointer-events:none}
        .rv-cxp-title-group{position:relative;z-index:1;display:flex!important;align-items:center!important;gap:14px!important;min-width:0!important;text-align:left!important}
        .rv-cxp-title-icon{width:50px;height:50px;flex:0 0 50px;display:inline-flex;align-items:center;justify-content:center;border-radius:15px;color:#fff;background:linear-gradient(140deg,#7647ED 4%,#B827B0 58%,#F50143 100%);box-shadow:0 10px 22px rgba(109,69,229,.22)}
        .rv-cxp-title-icon svg{width:24px;height:24px;display:block}.rv-cxp-eyebrow{display:block;margin-bottom:2px;color:#7B58DD;font-size:10px;font-weight:850;letter-spacing:.09em}
        .rv-cxp-page-head h1{margin:0!important;color:#161D2D!important;font-size:24px!important;font-weight:850!important;line-height:1.15!important;letter-spacing:-.025em!important}
        .rv-cxp-page-head p{display:block!important;margin:5px 0 0!important;color:#8490A5!important;font-size:13px!important;line-height:1.4!important}
        .rv-cxp-new-btn{position:relative;z-index:1;flex:0 0 auto!important;width:auto!important;min-width:215px!important;min-height:46px!important;justify-content:center!important;border:0!important;border-radius:13px!important;padding:0 20px!important;color:#fff!important;background:linear-gradient(100deg,#7143ED 0%,#B91D9C 58%,#F50132 100%)!important;box-shadow:0 10px 22px rgba(109,69,229,.2)!important}
        .rv-cxp-new-btn,.rv-cxp-new-btn *{color:#fff!important}
        html body .pvf-shell .rv-cxp-page-head .rv-cxp-new-btn{border:0!important;color:#fff!important;background:linear-gradient(100deg,#7143ED 0%,#B91D9C 58%,#F50132 100%)!important;box-shadow:0 10px 22px rgba(109,69,229,.2)!important}
        html body .pvf-shell .rv-cxp-page-head .rv-cxp-new-btn *{color:#fff!important;stroke:#fff!important}
        .rv-cxp-tabs{display:inline-flex!important;align-items:center!important;gap:4px!important;width:auto!important;margin:0 0 12px!important;padding:4px!important;border:1px solid #E5E1F2!important;border-radius:14px!important;background:#F5F3FA!important;overflow:visible!important}
        .rv-cxp-tabs .pv-subtab{display:inline-flex!important;align-items:center!important;gap:8px!important;min-height:39px!important;margin:0!important;padding:0 16px!important;border:0!important;border-radius:10px!important;color:#69748A!important;font-size:12.5px!important;font-weight:750!important;text-decoration:none!important}
        .rv-cxp-tabs .pv-subtab.active{color:#6741DA!important;background:#fff!important;box-shadow:0 3px 10px rgba(50,38,91,.08)!important}
        .rv-cxp-tab-dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#A6AFBE}.rv-cxp-tabs .pv-subtab.active .rv-cxp-tab-dot-pay{background:#F50132;box-shadow:0 0 0 4px rgba(245,1,50,.09)}.rv-cxp-tabs .pv-subtab.active .rv-cxp-tab-dot-collect{background:#7546E8;box-shadow:0 0 0 4px rgba(117,70,232,.1)}
        .rv-cxp-currency-bar{display:flex;align-items:center;gap:12px;width:max-content;max-width:100%;margin:0 0 14px;padding:7px 9px 7px 13px;border:1px solid #E4E7EF;border-radius:13px;background:#fff;box-shadow:0 5px 16px rgba(30,41,59,.04)}
        .rv-cxp-currency-label{color:#8792A7;font-size:10px;font-weight:800;letter-spacing:.045em;text-transform:uppercase;white-space:nowrap}.rv-cxp-currency-bar .pv-moneda-switches{max-width:min(52vw,520px);margin:0!important;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#BBA9F6 transparent}
        .rv-cxp-overview{position:relative;margin:0!important;padding:17px 18px!important;border:1px solid #E4E7F0!important;border-radius:18px!important;background:#fff!important;box-shadow:0 8px 25px rgba(27,35,60,.055)!important;overflow:hidden}
        .rv-cxp-overview:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#7647ED,#F50132)}.rv-cxp-overview-collect:before{background:linear-gradient(180deg,#7546E8,#B827B0)}
        .rv-cxp-toolbar{display:grid!important;grid-template-columns:minmax(235px,1fr) minmax(240px,.72fr) auto!important;align-items:center!important;gap:14px!important;margin:0!important;padding:0!important;overflow:visible!important}
        .rv-cxp-toolbar-title{display:flex;align-items:center;gap:11px;min-width:0}.rv-cxp-toolbar-icon{width:38px;height:38px;flex:0 0 38px;display:inline-flex;align-items:center;justify-content:center;border-radius:11px;color:#6D45E5;background:#F1ECFF}.rv-cxp-overview-pay .rv-cxp-toolbar-icon{color:#E31345;background:#FFF0F4}.rv-cxp-toolbar-icon svg{width:19px;height:19px}
        .rv-cxp-toolbar-title h2{display:block!important;margin:0!important;color:#1C2434!important;font-size:14px!important;font-weight:820!important;line-height:1.25!important}.rv-cxp-toolbar-title p{margin:3px 0 0;color:#8A95A9;font-size:11px;font-weight:600}
        .rv-cxp-search{height:43px;min-width:0;display:flex;align-items:center;gap:9px;padding:0 12px;border:1.5px solid #DED7F8;border-radius:12px;background:#FBFAFE}.rv-cxp-search:focus-within{border-color:#7546E8;background:#fff;box-shadow:0 0 0 3px rgba(117,70,232,.08)}.rv-cxp-search>svg{width:17px;height:17px;flex:0 0 17px;color:#7650DF}
        .rv-cxp-search .pv-historial-buscar-input{width:100%!important;min-width:0!important;height:39px!important;margin:0!important;padding:0!important;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;color:#242B3B!important;font-size:12.5px!important}
        .rv-cxp-total{min-width:190px;min-height:48px;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;padding:6px 13px;border:1px solid #E1D8FA;border-radius:12px;background:linear-gradient(110deg,#F7F3FF,#FFF5F8)}.rv-cxp-total small{color:#8D97AA;font-size:9.5px;font-weight:800;letter-spacing:.045em;text-transform:uppercase}.rv-cxp-total strong{margin-top:2px;color:#6840DA;font-size:15px;font-weight:850;white-space:nowrap}.rv-cxp-overview-pay .rv-cxp-total strong{color:#D91845}.rv-cxp-total em{margin-left:5px;color:#6D45E5;font-size:10px;font-style:normal;font-weight:850}
        .rv-cxp-lista{gap:11px!important;margin-top:12px!important}.rv-cxp-card{position:relative;padding:0 18px!important;border:1px solid #E3E6EF!important;border-radius:17px!important;background:#fff!important;box-shadow:0 6px 20px rgba(20,28,49,.045)!important;overflow:hidden!important}.rv-cxp-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#7246E8,#F50132);opacity:.88}#pv-hist-cobrar .rv-cxp-card:before{background:linear-gradient(180deg,#7546E8,#B827B0)}
        .rv-cxp-card.pv-historial-fila[style*="display: none"],.rv-cxp-card.pv-historial-fila[style*="display:none"]{display:none!important}
        .rv-cxp-resumen{display:grid!important;grid-template-columns:34px 42px minmax(180px,1fr) auto auto!important;align-items:center!important;gap:12px!important;padding:14px 0!important}.rv-cxp-resumen .pv-detalle-flecha{width:32px;height:32px;display:inline-flex!important;align-items:center!important;justify-content:center!important;border:1px solid #DDD6F5!important;border-radius:10px!important;background:#F7F4FF!important;color:#6D45E5!important;font-size:20px!important;font-weight:700!important}
        .rv-cxp-avatar{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;color:#fff;background:linear-gradient(140deg,#7045E6,#A82EB3);font-size:15px;font-weight:850;box-shadow:0 6px 14px rgba(109,69,229,.16)}#pv-hist-pagar .rv-cxp-avatar{background:linear-gradient(140deg,#7647ED,#E21558)}
        .rv-cxp-nombre{min-width:0!important}.rv-cxp-name-line{display:flex;align-items:center;gap:7px;min-width:0}.rv-cxp-name-line>strong{min-width:0;font-size:13.5px!important;font-weight:780!important;color:#1D2535!important}.rv-cxp-subline{display:flex;align-items:center;gap:7px;margin-top:5px;min-width:0}.rv-cxp-subline>span:first-child{display:inline!important;flex:0 0 auto;color:#8B96AA!important;font-size:10.5px!important}
        .rv-cxp-vencimiento{display:inline-flex!important;align-items:center!important;width:auto!important;padding:3px 7px;border-radius:999px;font-size:9.5px!important;font-weight:800!important;line-height:1!important}.rv-cxp-vencimiento.vencida{color:#D4143D!important;background:#FFE9EE}.rv-cxp-vencimiento.proxima{color:#B06A00!important;background:#FFF3D6}.rv-cxp-vencimiento.vigente{color:#078657!important;background:#E4FAEF}.rv-cxp-vencimiento.sin-fecha{color:#7D8799!important;background:#F0F2F6}
        .rv-cxp-monto{min-width:140px!important;text-align:right!important;font-size:12px!important}.rv-cxp-monto strong{font-size:16px!important;font-weight:850!important;letter-spacing:-.01em}.rv-cxp-acciones{gap:7px!important;margin-left:0!important}.rv-cxp-pagar-btn,.rv-cxp-abonar-btn{height:39px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0 14px!important;border-radius:10px!important;font-size:11.5px!important;font-weight:800!important;box-shadow:none!important}.rv-cxp-pagar-btn{border:0!important;color:#fff!important;background:linear-gradient(100deg,#7043E7,#B525A8 62%,#ED1649)!important}.rv-cxp-abonar-btn{border:1px solid #7650E5!important;color:#6840DA!important;background:#fff!important}
        .rv-cxp-card .pv-detalle-box{margin:0 0 14px!important;padding:13px!important;border:1px solid #E8E5F1!important;border-radius:14px!important;background:#F8F8FC!important}.rv-cxp-card .pv-detalle-box h4{color:#74658E!important;font-size:10px!important;font-weight:850!important;letter-spacing:.065em!important}.rv-cxp-card .pv-cxp-item-card{min-height:54px!important;margin-bottom:8px!important;padding:9px 11px!important;border:1px solid #E5E7EF!important;border-radius:11px!important;background:#fff!important}.rv-cxp-card .pv-cxp-item-fecha{color:#7F8A9F!important;font-size:10.5px!important}.rv-cxp-card .pv-cxp-item-monto strong{color:#252D3D;font-size:13px!important}.rv-cxp-card .pv-icon-btn{border-color:#7850E8!important;color:#6D45E5!important;background:#fff!important}.rv-cxp-card .pv-icon-btn-del{border-color:#FF244F!important;color:#F50132!important}
        .pv-cxp-detail-heading{margin:0 0 8px;font-size:11.5px;color:var(--pv-muted);text-transform:uppercase;letter-spacing:.03em}.pv-cxp-detail-heading-payments{margin-top:18px}.pv-cxp-item-due:before{content:"("}.pv-cxp-item-due:after{content:")"}.pv-cxp-item-reference:before{content:" — "}
        @media(max-width:1080px){.rv-cxp-toolbar{grid-template-columns:minmax(210px,1fr) minmax(220px,1fr)!important}.rv-cxp-total{grid-column:1/-1;align-items:flex-start;min-height:44px}.rv-cxp-resumen{grid-template-columns:34px 42px minmax(160px,1fr) auto!important;grid-template-areas:"arrow avatar name amount" "actions actions actions actions"!important}.rv-cxp-resumen .pv-detalle-flecha{grid-area:arrow!important}.rv-cxp-avatar{grid-area:avatar}.rv-cxp-nombre{grid-area:name!important}.rv-cxp-monto{grid-area:amount!important}.rv-cxp-acciones{grid-area:actions!important;justify-content:flex-end!important}}
        @media(max-width:680px){.rv-cxp-page-head{gap:10px!important;padding:14px!important;border-radius:17px!important}.rv-cxp-title-group{gap:10px!important}.rv-cxp-title-icon{width:42px;height:42px;flex-basis:42px;border-radius:12px}.rv-cxp-title-icon svg{width:20px;height:20px}.rv-cxp-eyebrow{display:none}.rv-cxp-page-head h1{font-size:17px!important}.rv-cxp-page-head p{display:none!important}.rv-cxp-new-btn{width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important;padding:0!important;border-radius:12px!important}.rv-cxp-new-btn .rv-prov-nuevo-btn-txt{display:none!important}.rv-cxp-tabs{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important}.rv-cxp-tabs .pv-subtab{justify-content:center!important;min-width:0!important;padding:0 8px!important;font-size:11px!important}.rv-cxp-currency-bar{width:100%;box-sizing:border-box;overflow:hidden}.rv-cxp-currency-label{display:none}.rv-cxp-currency-bar .pv-moneda-switches{width:100%!important;max-width:100%!important}.rv-cxp-overview{padding:13px!important;border-radius:15px!important}.rv-cxp-toolbar{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;overflow:visible!important}.rv-cxp-toolbar-title{display:flex!important}.rv-cxp-search{width:100%;box-sizing:border-box}.rv-cxp-total{grid-column:auto;min-width:0;align-items:flex-start}.rv-cxp-card{padding:0 13px!important;border-radius:15px!important}.rv-cxp-resumen{grid-template-columns:40px minmax(0,1fr) 32px!important;grid-template-areas:"avatar name arrow" "amount amount amount" "actions actions actions"!important;gap:10px!important;padding:13px 0!important}.rv-cxp-resumen .pv-detalle-flecha{grid-area:arrow!important}.rv-cxp-avatar{grid-area:avatar;width:38px;height:38px}.rv-cxp-nombre{grid-area:name!important;text-align:left!important}.rv-cxp-name-line{min-width:0;flex-wrap:wrap}.rv-cxp-subline{flex-wrap:wrap}.rv-cxp-monto{grid-area:amount!important;display:flex;align-items:center;justify-content:space-between;min-width:0!important;padding:9px 10px;border-radius:10px;background:#F7F5FC;text-align:left!important}.rv-cxp-acciones{grid-area:actions!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;justify-content:stretch!important}.rv-cxp-acciones>.rv-cxp-pagar-btn,.rv-cxp-acciones>.rv-cxp-abonar-btn{width:100%!important}.rv-cxp-acciones>.pv-icon-btn{justify-self:end}.rv-cxp-card .pv-detalle-box{padding:10px!important}}

        /* Cuentas por pagar — detalle móvil compacto. Deliberadamente queda
           limitado a #pv-hist-pagar y a 680px para no alterar escritorio ni
           las tarjetas de otros módulos. */
        @media(max-width:680px){
            #pv-hist-pagar .pv-detalle-box{padding:11px!important;border-color:#E6E1F3!important;border-radius:15px!important;background:linear-gradient(180deg,#FAF9FD 0%,#F6F7FB 100%)!important}
            #pv-hist-pagar .pv-cxp-detail-heading{display:flex;align-items:center;gap:8px;margin:2px 2px 10px!important;color:#645778!important;font-size:10px!important;font-weight:900!important;letter-spacing:.075em!important;line-height:1.25}
            #pv-hist-pagar .pv-cxp-detail-heading:before{content:"";width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:linear-gradient(135deg,#7546E8,#ED1650);box-shadow:0 0 0 4px rgba(117,70,232,.08)}
            #pv-hist-pagar .pv-cxp-detail-heading-payments{margin-top:17px!important}
            #pv-hist-pagar .pv-cxp-detail-heading-payments:before{background:#0BAA72;box-shadow:0 0 0 4px rgba(11,170,114,.09)}
            #pv-hist-pagar .pv-cxp-item-card{position:relative;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"meta meta" "amount actions"!important;align-items:center!important;gap:10px 12px!important;min-height:0!important;margin:0 0 10px!important;padding:12px!important;border:1px solid #E2E5EE!important;border-radius:14px!important;background:#fff!important;box-shadow:0 5px 15px rgba(32,39,61,.045)!important;overflow:visible!important}
            #pv-hist-pagar .pv-cxp-item-account:before,#pv-hist-pagar .pv-cxp-item-payment:before{content:"";position:absolute;left:-1px;top:12px;bottom:12px;width:3px;border-radius:0 4px 4px 0;background:linear-gradient(180deg,#7546E8,#E41A62)}
            #pv-hist-pagar .pv-cxp-item-payment:before{background:linear-gradient(180deg,#08A76F,#25C796)}
            #pv-hist-pagar .pv-cxp-item-fecha{grid-area:meta;display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:6px 8px!important;min-width:0!important;margin:0!important;padding:0 0 9px!important;border-bottom:1px solid #EDF0F5!important;color:#738097!important;text-align:left!important}
            #pv-hist-pagar .pv-cxp-item-date{display:inline-flex;align-items:center;min-height:25px;padding:0 9px;border-radius:8px;background:#F2EEFF;color:#6741D9;font-size:10.5px;font-weight:850;white-space:nowrap}
            #pv-hist-pagar .pv-cxp-item-payment .pv-cxp-item-date{background:#EAF9F3;color:#07835A}
            #pv-hist-pagar .pv-cxp-item-due,#pv-hist-pagar .pv-cxp-item-reference{display:inline-flex;align-items:center;min-height:25px;box-sizing:border-box;padding:0 8px;border-radius:8px;background:#F3F5F8;color:#78859A;font-size:9.5px;font-weight:750;white-space:nowrap}
            #pv-hist-pagar .pv-cxp-item-due:before,#pv-hist-pagar .pv-cxp-item-due:after,#pv-hist-pagar .pv-cxp-item-reference:before{content:none}
            #pv-hist-pagar .pv-cxp-detalle-btn{order:3;margin-left:auto!important;min-height:31px!important;padding:0 10px!important;border:1px solid #7650E7!important;border-radius:9px!important;background:#fff!important;color:#6840DA!important;font-size:10px!important;font-weight:850!important;line-height:1!important;white-space:nowrap!important;box-shadow:none!important}
            #pv-hist-pagar .pv-cxp-item-monto{grid-area:amount;display:flex!important;align-items:baseline!important;flex-wrap:wrap!important;gap:3px 6px!important;min-width:0!important;margin:0!important;text-align:left!important}
            #pv-hist-pagar .pv-cxp-item-monto:before{content:"Saldo pendiente";display:block;width:100%;margin-bottom:1px;color:#8A95A9;font-size:8px;font-weight:900;letter-spacing:.055em;text-transform:uppercase}
            #pv-hist-pagar .pv-cxp-item-payment .pv-cxp-item-monto:before{content:"Pago registrado"}
            #pv-hist-pagar .pv-cxp-item-monto strong{min-width:0;color:#1B2434!important;font-size:15px!important;font-weight:900!important;line-height:1.1;letter-spacing:-.015em;overflow-wrap:anywhere}
            #pv-hist-pagar .pv-cxp-item-monto .pv-moneda-badge{flex:0 0 auto!important;margin:0!important}
            #pv-hist-pagar .pv-cxp-item-acciones{grid-area:actions;display:flex!important;align-items:center!important;justify-content:flex-end!important;flex-wrap:nowrap!important;gap:7px!important;min-width:0!important;margin:0!important}
            #pv-hist-pagar .pv-cxp-item-acciones .pv-icon-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 37px!important;width:37px!important;min-width:37px!important;height:37px!important;min-height:37px!important;margin:0!important;padding:0!important;border-radius:10px!important}
            #pv-hist-pagar .pv-cxp-item-acciones .pv-icon-btn svg{width:16px!important;height:16px!important}
            #pv-hist-pagar .pv-cxp-item-acciones form{display:flex!important;margin:0!important}
        }
        @media(max-width:370px){
            #pv-hist-pagar .pv-cxp-item-card{grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"meta meta" "amount actions"!important;column-gap:8px!important}
            #pv-hist-pagar .pv-cxp-item-monto{min-width:0!important}
            #pv-hist-pagar .pv-cxp-item-acciones{justify-content:flex-end!important;gap:6px!important}
            #pv-hist-pagar .pv-cxp-item-acciones .pv-icon-btn{flex-basis:35px!important;width:35px!important;min-width:35px!important;height:35px!important;min-height:35px!important}
        }

        /* ===== Fabricación — Historial (tarjetas por etapa) ===== */
        .rv-fab-tabs{display:inline-flex;align-items:center;gap:4px;background:var(--pv-surface-2);border:1px solid var(--pv-border2);border-radius:14px;padding:4px;margin-bottom:16px;flex-wrap:wrap}
        .rv-fab-tab{padding:10px 16px;border-radius:11px;font-size:13px;font-weight:700;color:var(--pv-muted);text-decoration:none!important;white-space:nowrap}
        .rv-fab-tab span{color:var(--pv-muted);margin-left:2px}
        .rv-fab-tab.active{background:var(--pv-surface);color:var(--pv-primary2);box-shadow:0 1px 2px rgba(16,24,40,.06)}
        .rv-fab-tab.active span{color:var(--pv-primary2)}
        /* "Pedidos" no es una etapa de fabricación como las demás — un
           separador visual deja claro que es una categoría aparte, no el
           siguiente paso del flujo. */
        .rv-fab-tab-separada{margin-left:8px;border-left:1.5px solid var(--pv-border2);padding-left:16px}
        .rv-fab-lista{display:flex;flex-direction:column;gap:12px}
        .rv-fab-fila{display:flex;align-items:center;gap:16px;border-radius:20px;padding:16px 20px}
        .rv-fab-foto{width:44px;height:44px;border-radius:10px;object-fit:cover;flex-shrink:0}
        .rv-fab-id{flex:1.4;min-width:0}
        .rv-fab-nombre{font-size:14.5px;font-weight:700;color:var(--pv-ink)}
        .rv-fab-nombre span{font-weight:600;color:var(--pv-muted)}
        .rv-fab-sub{font-size:12.5px;color:var(--pv-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
        .rv-fab-progreso{flex:1;min-width:120px}
        .rv-fab-progreso-head{display:flex;justify-content:space-between;font-size:11.5px;color:var(--pv-muted);margin-bottom:5px}
        .rv-fab-progreso-track{height:6px;border-radius:3px;background:var(--pv-bg)}
        .rv-fab-progreso-fill{height:100%;border-radius:3px}
        .rv-fab-progreso-ambar{background:var(--pv-secondary)}
        .rv-fab-progreso-celeste{background:#14B8A6}
        .rv-fab-progreso-azul{background:#3B82F6}
        .rv-fab-progreso-verde{background:#22C55E}
        .rv-fab-progreso-morado{background:#8B5CF6}
        .rv-fab-rentabilidad,.rv-fab-fecha{flex-shrink:0;text-align:center;min-width:90px}
        .rv-fab-rentabilidad span,.rv-fab-fecha span{display:block;font-size:11px;color:var(--pv-muted)}
        .rv-fab-rentabilidad strong{font-size:15px;font-weight:800}
        .rv-fab-fecha strong{font-size:13px;font-weight:700;color:var(--pv-ink)}
        .rv-fab-guia-nota{font-size:10.5px;color:var(--pv-muted);margin-top:2px}
        .rv-fab-acciones{display:flex;align-items:center;gap:8px;flex-shrink:0}
        .rv-fab-acciones form{margin:0}
        /* Módulo Envíos — badge de origen (Fabricación/Pedido) + el ancho que
           necesita el stepper de etapas dentro de la misma fila compartida. */
        .rv-env-fila{position:relative;flex-wrap:wrap}
        /* .rv-env-header agrupa foto+nombre en su propia fila (antes eran
           flex-items sueltos de .rv-env-fila). flex:1.4 acá replica la
           proporción que .rv-fab-id tenía antes por su cuenta frente al
           stepper (1.6) — adentro, la foto se queda con su ancho fijo y el
           nombre ocupa el resto, mismo resultado visual de antes.
           (Nota: se probó con display:contents primero para no tocar nada
           de escritorio, pero rompía el layout completo de la página en
           móvil — bug conocido de motores que no manejan bien
           display:contents dentro de flexbox — así que se usa flex real,
           más predecible entre navegadores.) */
        .rv-env-header{display:flex;align-items:center;gap:16px;flex:1.4;min-width:0}
        .rv-env-badges{position:absolute;top:10px;right:14px;display:flex;align-items:center;gap:6px}
        .rv-env-badge{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;padding:3px 8px;border-radius:20px;white-space:nowrap;border:none;font-family:inherit}
        .rv-env-badge-fab{background:rgba(var(--pv-primary-rgb),.14);color:var(--pv-primary-dark)}
        .rv-env-badge-ped{background:var(--pv-bg);color:var(--pv-muted)}
        .rv-env-badge-retencion{background:var(--pv-bg);color:var(--pv-warning-text)}
        button.rv-env-badge-retencion{cursor:pointer}
        button.rv-env-badge-retencion:hover{background:var(--pv-surface-2)}
        .rv-env-stepper-wrap{flex:1.6;min-width:240px}
        .rv-env-stepper-wrap .pv-track-stepper{gap:0}
        .rv-env-stepper-wrap .pv-track-meta{margin-top:8px}
        .rv-env-stepper-wrap .pv-track-guia,.rv-env-stepper-wrap .pv-track-nota{font-size:11.5px;padding:7px 10px}
        .rv-fab-btn{border:none;border-radius:999px;padding:10px 18px;font-size:12.5px;font-weight:700;cursor:pointer;white-space:nowrap}
        .rv-fab-btn-celeste{background:rgba(20,184,166,.14);color:#0D9488}
        .rv-fab-btn-azul{background:rgba(59,130,246,.12);color:#2563EB}
        .rv-fab-btn-verde{background:rgba(34,197,94,.12);color:#16A34A}
        .rv-fab-btn-morado{background:rgba(139,92,246,.14);color:#7C3AED}
        @media (max-width:1100px){
            .rv-fab-fila{flex-wrap:wrap}
            .rv-fab-id{flex:1 1 100%}
            .rv-fab-progreso{flex:1 1 160px}
        }
        @media (max-width:640px){
            /* Los chips de etapa (En fabricación / Dpto de Calidad / ...) no
               caben en una fila en un teléfono — en vez de partirlos en 2-3
               líneas (se ve roto), se deja UNA sola fila que se desliza hacia
               los lados, patrón ya conocido de cualquier app con filtros. */
            .rv-fab-tabs{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;max-width:100%}
            .rv-fab-tabs::-webkit-scrollbar{display:none}
            .rv-fab-tab{flex-shrink:0}
            .rv-fab-fila{padding:14px 14px;border-radius:16px;gap:10px}
            .rv-fab-rentabilidad,.rv-fab-fecha{text-align:left;min-width:0}
            .rv-fab-acciones{flex:1 1 100%;justify-content:flex-end}
            /* Buscador + filtro "Solo Fabricación/Pedidos" de Envíos: el
               buscador traía flex:1 1 220px puesto en línea, más ancho que lo
               que queda libre junto al select en un teléfono — con
               flex-wrap el select terminaba saltando a su propia fila en vez
               de quedar al lado. Se achica el buscador (deja de pedir 220px
               fijos) y el select no se encoge, así entran los dos juntos. */
            .rv-env-toolbar{flex-wrap:nowrap!important}
            .rv-env-toolbar .pv-historial-buscar-input{flex:1 1 auto!important;min-width:0}
            .rv-env-toolbar .pv-filtro-select{flex:0 0 auto!important;max-width:132px!important;min-width:0}
            /* Stepper de seguimiento dentro de cada tarjeta de Envíos: pasó a
               ser un carrusel de un paso a la vez (ver pv_stepper_css() en
               02-helpers.php, que trae ese comportamiento y también lo usa
               la página pública de tracking). Acá solo se le da al wrapper
               el ancho completo de la tarjeta (antes tenía min-width:240px,
               que en un teléfono angosto podía ser MÁS ancho que el espacio
               real disponible), para que el carrusel tenga dónde deslizar. */
            .rv-env-stepper-wrap{flex:1 1 100%;width:100%;min-width:0;padding-top:14px;margin-top:14px;border-top:1px solid var(--pv-border)}
            /* En escritorio .rv-env-stepper-wrap .pv-track-stepper pide
               gap:0 (los 5 pasos van pegados, con la línea conectora entre
               ellos). En el carrusel de un paso a la vez eso hacía que la
               tarjeta del paso siguiente asomara PEGADA al borde de la
               actual al deslizar, sin separación — se ve la esquina del
               siguiente paso tocando al primero. Acá se le da un espacio
               real entre tarjetas (misma selectividad que la regla de
               escritorio para poder pisarla). */
            .rv-env-stepper-wrap .pv-track-stepper{gap:14px}
            /* Tarjeta de Envíos completa: el badge de origen flotaba
               position:absolute encima del nombre/pedido y lo tapaba en
               textos largos ("Pedido fab-00017 · na..." se cortaba contra
               el pill "Fabricación"). Pasa a ser su propia fila arriba,
               alineada a la derecha; foto+nombre quedan juntos debajo (ver
               .rv-env-header, que ya es flex real desde la regla base — acá
               solo se le cambia el gap y se lo fuerza a ancho completo); y
               cada sección (estado, acciones) se separa con una línea tenue
               en vez de quedar todo flotando sin jerarquía. */
            .rv-env-badges{position:static;flex:1 1 100%;justify-content:flex-end;margin:0 0 2px}
            .rv-env-header{display:flex;align-items:center;gap:12px;flex:1 1 100%;min-width:0}
            .rv-env-fila .rv-fab-id{flex:1;min-width:0}
            .rv-env-fila .rv-fab-sub{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.4}
            .rv-env-fila .rv-fab-acciones{padding-top:12px;margin-top:2px;border-top:1px solid var(--pv-border)}
        }

        /* ===== Cuentas Bancarias — resumen de saldos Noalyx ===== */
        .rv-banco-totales{position:relative}
        .rv-banco-total-pill{box-sizing:border-box;display:inline-flex;align-items:center;gap:10px;min-height:54px;padding:7px 13px;border:1px solid #bfaef4;border-radius:15px;background:var(--pv-surface);color:var(--pv-ink);white-space:nowrap;cursor:pointer;list-style:none;box-shadow:0 4px 13px rgba(73,49,139,.06);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
        .rv-banco-total-pill:hover{border-color:#8f6fe9;box-shadow:0 7px 18px rgba(73,49,139,.11);transform:translateY(-1px)}
        .rv-banco-total-pill::-webkit-details-marker{display:none}
        .rv-banco-total-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:0 0 36px;border-radius:11px;background:rgba(104,68,223,.1);color:#6844df}
        .rv-banco-total-icon svg{width:17px!important;height:17px!important}
        .rv-banco-total-copy{display:flex;align-items:flex-start;flex-direction:column;gap:1px;min-width:0}
        .rv-banco-total-copy small{color:var(--pv-muted);font-size:9.5px;font-weight:750;line-height:1.1}
        .rv-banco-total-copy>span{display:flex;align-items:baseline;gap:4px;color:var(--pv-ink);font-style:normal}
        .rv-banco-total-copy strong{font-size:13.5px;font-weight:850;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
        .rv-banco-total-copy em{color:#6844df;font-size:10.5px;font-weight:850;font-style:normal;text-transform:uppercase!important}
        .rv-banco-totales-chevron{display:inline-flex;align-items:center;justify-content:center;margin-left:2px;color:#6844df;transition:transform .2s ease}
        .rv-banco-totales-chevron svg{width:15px!important;height:15px!important}
        .rv-banco-totales[open] .rv-banco-total-pill{border-color:#6844df;box-shadow:0 0 0 3px rgba(104,68,223,.12)}
        .rv-banco-totales[open] .rv-banco-totales-chevron{transform:rotate(180deg)}
        .rv-banco-totales-panel{box-sizing:border-box;position:absolute;right:0;left:auto;top:calc(100% + 10px);width:410px;max-width:calc(100vw - 32px);overflow:hidden;background:var(--pv-surface);border:1px solid #d8ccfb;border-radius:20px;box-shadow:0 24px 60px rgba(31,23,59,.2);z-index:200;animation:rv-banco-totales-in .16s ease}
        @keyframes rv-banco-totales-in{from{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
        .rv-banco-totales-panel-head{position:relative;display:flex;align-items:center;gap:11px;margin:0;padding:15px 16px;border-bottom:1px solid #e7dfff;background:linear-gradient(110deg,var(--pv-surface) 54%,#faf6ff 80%,#fff3f6)}
        .rv-banco-totales-panel-icon{display:inline-flex;align-items:center;justify-content:center;width:39px;height:39px;flex:0 0 39px;border-radius:12px;color:#fff;background:linear-gradient(145deg,#7549ed,#c61183 70%,#f5011f);box-shadow:0 8px 18px rgba(117,73,237,.2)}
        .rv-banco-totales-panel-icon svg,.rv-banco-totales-panel-icon svg path,.rv-banco-totales-panel-icon svg line,.rv-banco-totales-panel-icon svg circle{width:18px!important;height:18px!important;color:#fff!important;stroke:#fff!important}
        .rv-banco-totales-panel-head>div{min-width:0;padding-right:38px}
        .rv-banco-totales-panel-eyebrow{display:block;color:#6844df;font-size:9px;font-weight:850;text-transform:uppercase!important;letter-spacing:.07em}
        .rv-banco-totales-panel-head h3{margin:1px 0 0;color:var(--pv-ink);font-size:15px;font-weight:850;text-transform:none!important}
        .rv-banco-totales-panel-head p{margin:2px 0 0;color:var(--pv-muted);font-size:9.8px;font-weight:650}
        .rv-banco-totales-cerrar{position:absolute;top:50%;right:13px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin:0;padding:0;border:1px solid #9b7cf0;border-radius:10px;background:var(--pv-surface);color:#6844df;font-size:17px;line-height:1;cursor:pointer;transform:translateY(-50%);z-index:2}
        .rv-banco-totales-cerrar:hover{border-color:#6844df;background:#f8f5ff}
        .rv-banco-totales-lista{display:flex;flex-direction:column;padding:7px 16px}
        .rv-banco-totales-fila{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:13px;padding:10px 0;border-bottom:1px solid var(--pv-border)}
        .rv-banco-totales-fila:last-child{border-bottom:none}
        .rv-banco-totales-codigo{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:4px 8px;border-radius:9px;font-size:10.5px;font-weight:850;text-transform:uppercase!important;letter-spacing:.02em}
        .rv-banco-totales-fila-copy{display:flex;align-items:flex-end;flex-direction:column;min-width:0;text-align:right}
        .rv-banco-totales-fila-copy small{max-width:100%;overflow:hidden;color:var(--pv-muted);font-size:9px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}
        .rv-banco-totales-fila-copy strong{max-width:100%;overflow:hidden;color:var(--pv-ink);font-size:14px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap}
        .rv-banco-totales-general-block{padding:14px 16px 16px;border-top:1px solid #e7dfff;background:#faf8ff}
        .rv-banco-totales-general-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}
        .rv-banco-totales-general-head>span{display:flex;align-items:flex-start;flex-direction:column;min-width:0}
        .rv-banco-totales-general-head>span strong{color:#6844df;font-size:9px;font-weight:850;text-transform:uppercase!important;letter-spacing:.05em}
        .rv-banco-totales-general-head>span small{color:var(--pv-muted);font-size:9px;font-weight:650}
        .rv-banco-totales-general-valor{display:flex;align-items:baseline;justify-content:flex-end;gap:5px;min-width:0;text-align:right}
        .rv-banco-totales-general-valor strong{max-width:220px;overflow:hidden;color:#5f37d6;font-size:19px;font-weight:850;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}
        .rv-banco-totales-general-valor span{color:#1680ae;font-size:10.5px;font-weight:850;text-transform:uppercase!important}
        .rv-banco-totales-chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:7px}
        .rv-banco-totales-chip{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:37px;padding:0 10px;border:1px solid #9b7cf0;border-radius:10px;background:var(--pv-surface);color:#6844df;font-size:10.5px;font-weight:850;text-transform:uppercase!important;letter-spacing:.02em;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease}
        .rv-banco-totales-chip:hover{border-color:#6844df;background:#f8f5ff;transform:translateY(-1px)}
        .rv-banco-totales-chip.active{border-color:transparent;background:linear-gradient(105deg,#6844df 0%,#b61a88 66%,#f5011f 100%);color:#fff;box-shadow:0 7px 16px rgba(126,48,178,.18)}
        @media (max-width:640px){
            .rv-banco-total-pill{width:100%;min-width:0}
            .rv-banco-total-copy{flex:1}
            .rv-banco-totales-chevron{margin-left:auto}
            .rv-banco-totales-panel{position:fixed;left:50%;top:50%;right:auto;width:min(410px,calc(100vw - 24px));max-height:86vh;overflow-y:auto;transform:translate(-50%,-50%);animation:rv-banco-totales-in-movil .16s ease}
            .rv-banco-totales[open]::before{content:"";position:fixed;inset:0;background:rgba(22,24,29,.35);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:199}
            .rv-banco-totales-general-head{align-items:flex-start;flex-direction:column;gap:7px}
            .rv-banco-totales-general-valor{justify-content:flex-start;text-align:left}
            .rv-banco-totales-general-valor strong{max-width:260px}
        }
        @keyframes rv-banco-totales-in-movil{from{opacity:0;transform:translate(-50%,-50%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
        .rv-banco-page-head{padding:18px 20px!important}
        .rv-banco-page-title{display:flex;align-items:center;gap:13px;min-width:0}
        .rv-banco-page-icon{width:46px;height:46px;flex:0 0 46px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;color:#fff;background:linear-gradient(135deg,var(--pv-primary),#d71978);box-shadow:0 9px 22px rgba(var(--pv-primary-rgb),.24)}
        .rv-banco-page-icon svg{width:22px;height:22px}
        .rv-banco-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}
        .rv-banco-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:14px}
        .rv-banco-card{--rv-banco-color:#6D3DF5;--rv-banco-texto:#fff;border-radius:18px;min-height:184px;overflow:hidden;color:var(--rv-banco-texto);background:linear-gradient(135deg,var(--rv-banco-color) 0%,color-mix(in srgb,var(--rv-banco-color) 76%,#161028) 100%);box-shadow:0 11px 24px color-mix(in srgb,var(--rv-banco-color) 20%,transparent);position:relative;isolation:isolate;transition:transform .16s ease,box-shadow .16s ease}
        .rv-banco-card::before,.rv-banco-card::after{content:"";position:absolute;border-radius:50%;pointer-events:none;z-index:-1}
        .rv-banco-card::before{width:150px;height:150px;right:-65px;top:-80px;border:22px solid rgba(255,255,255,.11)}
        .rv-banco-card::after{width:96px;height:96px;right:25px;bottom:-70px;border:15px solid rgba(255,255,255,.08)}
        .rv-banco-card-texto-oscuro{background:linear-gradient(135deg,var(--rv-banco-color) 0%,color-mix(in srgb,var(--rv-banco-color) 82%,#fff) 100%);box-shadow:0 14px 30px color-mix(in srgb,var(--rv-banco-color) 18%,transparent)}
        .rv-banco-card-texto-oscuro::before{border-color:rgba(23,32,51,.10)}
        .rv-banco-card-texto-oscuro::after{border-color:rgba(23,32,51,.07)}
        .rv-banco-card:hover{transform:translateY(-3px);box-shadow:0 20px 38px color-mix(in srgb,var(--rv-banco-color) 28%,transparent)}
        .rv-banco-card-link{display:flex;flex-direction:column;gap:12px;min-height:184px;padding:16px 17px 54px;box-sizing:border-box;color:inherit!important;text-decoration:none!important;cursor:pointer}
        .rv-banco-card-top{display:flex;align-items:center;justify-content:space-between}
        .rv-banco-card-nombre{font-size:13.5px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:10px}
        .rv-banco-wifi{opacity:.85;transform:rotate(90deg);display:flex}
        .rv-banco-wifi svg{width:19px;height:19px}
        .rv-banco-card-saldo{min-width:0}
        .rv-banco-saldo-label{font-size:12px;font-weight:600;opacity:.76}
        .rv-banco-saldo-valor{font-size:21px;font-weight:850;letter-spacing:-.025em;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
        .rv-banco-saldo-valor small{font-size:13px;font-weight:700;opacity:.85}
        .rv-banco-saldo-conv{font-size:12px;opacity:.8;margin-top:2px}
        .rv-banco-metodos{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}
        .rv-banco-metodo-pill{padding:5px 10px;border-radius:8px;background:rgba(0,0,0,.16);font-size:11px;color:inherit;font-weight:700;backdrop-filter:blur(3px)}
        .rv-banco-card-texto-oscuro .rv-banco-metodo-pill{background:rgba(255,255,255,.42)}
        .rv-banco-acciones{display:flex;align-items:center;justify-content:flex-end;gap:6px;position:absolute;left:0;right:0;bottom:0;height:46px;padding:0 13px;border-top:1px solid rgba(255,255,255,.22);background:rgba(0,0,0,.08);z-index:3}
        .rv-banco-card-texto-oscuro .rv-banco-acciones{border-top-color:rgba(23,32,51,.13);background:rgba(255,255,255,.18)}
        html body .pvf-shell .rv-banco-card .rv-banco-acciones a,html body .pvf-shell .rv-banco-card .rv-banco-acciones button{box-sizing:border-box!important;width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;max-width:32px!important;max-height:32px!important;flex:0 0 32px!important;margin:0!important;padding:0!important;line-height:1!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:9px!important;background:rgba(255,255,255,.19)!important;color:var(--rv-banco-texto)!important;display:flex!important;align-items:center!important;justify-content:center!important;cursor:pointer;transition:transform .15s ease,background .15s ease}
        html body .pvf-shell .rv-banco-card.rv-banco-card-texto-oscuro .rv-banco-acciones a,html body .pvf-shell .rv-banco-card.rv-banco-card-texto-oscuro .rv-banco-acciones button{background:rgba(255,255,255,.42)!important;border-color:rgba(23,32,51,.10)!important}
        html body .pvf-shell .rv-banco-card .rv-banco-acciones button.pv-cuenta-editar-btn,html body .pvf-shell .rv-banco-card .rv-banco-acciones button.pv-cuenta-editar-btn svg,html body .pvf-shell .rv-banco-card .rv-banco-acciones button.pv-cuenta-editar-btn svg path{color:#fff!important;stroke:#fff!important}
        html body .pvf-shell .rv-banco-card .rv-banco-acciones a:hover,html body .pvf-shell .rv-banco-card .rv-banco-acciones button:hover{transform:translateY(-1px);background:rgba(255,255,255,.32)!important}
        .rv-banco-acciones svg{display:block!important;width:16px!important;height:16px!important;margin:0!important}
        .rv-banco-acciones form{display:flex;width:32px;height:32px;flex:0 0 32px;margin:0;padding:0}
        @media (max-width:1380px){
            .rv-banco-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
        }
        /* Selector de color por cuenta bancaria. El panal ofrece una paleta
           amplia, pero siempre conserva HEX y el selector nativo como
           alternativa exacta y accesible. */
        .rv-banco-color-editor{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.8fr);gap:18px;margin:16px 0;padding:16px;border:1px solid var(--pv-border);border-radius:18px;background:var(--pv-bg)}
        .rv-banco-color-controles{min-width:0}
        .rv-banco-color-titulo{display:flex;align-items:center;gap:10px;margin-bottom:12px}
        .rv-banco-color-titulo>span{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:11px;background:#f1ebff;color:var(--pv-primary)}
        .rv-banco-color-titulo>span svg{width:18px;height:18px}
        .rv-banco-color-titulo strong{display:block;color:var(--pv-ink);font-size:14px}
        .rv-banco-color-titulo small{display:block;margin-top:2px;color:var(--pv-muted);font-size:11.5px}
        .rv-banco-colores-marca{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
        .rv-banco-color-chip{--rv-color-opcion:#6D3DF5;width:31px;height:31px;border-radius:50%;border:3px solid var(--pv-surface);background:var(--rv-color-opcion);box-shadow:0 0 0 1px var(--pv-border2);cursor:pointer;position:relative}
        .rv-banco-color-chip.active{box-shadow:0 0 0 2px var(--pv-primary),0 4px 10px rgba(var(--pv-primary-rgb),.22)}
        .rv-banco-color-chip.active::after,.rv-banco-color-hex.active::after{content:"✓";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;font-weight:900;text-shadow:0 1px 3px rgba(0,0,0,.55)}
        .rv-banco-panal{display:grid;grid-template-columns:repeat(9,29px);grid-auto-rows:28px;gap:2px 3px;max-width:100%;padding:4px 0 7px}
        .rv-banco-color-hex{--rv-color-opcion:#6D3DF5;width:29px;height:32px;padding:0;border:0;background:var(--rv-color-opcion);clip-path:polygon(25% 4%,75% 4%,100% 50%,75% 96%,25% 96%,0 50%);cursor:pointer;position:relative;transition:transform .12s ease,filter .12s ease}
        .rv-banco-color-hex:nth-child(18n + 10),.rv-banco-color-hex:nth-child(18n + 11),.rv-banco-color-hex:nth-child(18n + 12),.rv-banco-color-hex:nth-child(18n + 13),.rv-banco-color-hex:nth-child(18n + 14),.rv-banco-color-hex:nth-child(18n + 15),.rv-banco-color-hex:nth-child(18n + 16),.rv-banco-color-hex:nth-child(18n + 17),.rv-banco-color-hex:nth-child(18n + 18){transform:translateX(15px)}
        .rv-banco-color-hex:hover{filter:brightness(1.08);z-index:2}
        .rv-banco-color-hex.active{outline:2px solid var(--pv-ink);outline-offset:1px;z-index:3}
        .rv-banco-color-personalizado{display:flex;align-items:center;gap:8px;margin-top:11px;max-width:365px}
        .rv-banco-color-personalizado>label:not(.rv-banco-color-nativo){font-size:10px;font-weight:800;color:var(--pv-muted)}
        .rv-banco-color-muestra{width:29px;height:29px;flex:0 0 29px;border-radius:8px;background:#6D3DF5;border:2px solid var(--pv-surface);box-shadow:0 0 0 1px var(--pv-border2)}
        html body .pvf-shell #pv-modal-nueva-cuenta #pv-nc-color-hex{box-sizing:border-box!important;width:112px!important;min-width:112px!important;height:38px!important;min-height:38px!important;margin:0!important;padding:0 34px 0 11px!important;border:1px solid #d9d3eb!important;border-radius:10px!important;outline:0!important;background:#fff!important;color:#172033!important;box-shadow:0 2px 7px rgba(55,41,105,.05)!important;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11.5px!important;font-weight:800!important;line-height:38px!important;letter-spacing:.02em}
        html body .pvf-shell #pv-modal-nueva-cuenta #pv-nc-color-hex:hover{border-color:#b9a8ed!important}
        html body .pvf-shell #pv-modal-nueva-cuenta #pv-nc-color-hex:focus{border-color:#7549ed!important;background:#fff!important;box-shadow:0 0 0 3px rgba(117,73,237,.12)!important}
        .rv-banco-color-nativo{height:38px;display:inline-flex;align-items:center;gap:6px;padding:0 11px;border:1px solid var(--pv-border2);border-radius:10px;background:var(--pv-surface);color:var(--pv-primary);font-size:11.5px;font-weight:800;cursor:pointer}
        .rv-banco-color-nativo input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
        .rv-banco-color-preview-wrap{display:flex;flex-direction:column;min-width:0}
        .rv-banco-preview-label{margin-bottom:8px;color:var(--pv-muted);font-size:10px;font-weight:800;text-transform:uppercase!important;letter-spacing:.06em}
        .rv-banco-color-preview{--rv-banco-color:#6D3DF5;--rv-banco-texto:#fff;position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:190px;padding:19px;overflow:hidden;border-radius:18px;color:var(--rv-banco-texto);background:linear-gradient(135deg,var(--rv-banco-color),color-mix(in srgb,var(--rv-banco-color) 76%,#161028));box-shadow:0 14px 28px color-mix(in srgb,var(--rv-banco-color) 22%,transparent)}
        .rv-banco-color-preview::after{content:"";position:absolute;width:130px;height:130px;right:-56px;top:-66px;border:19px solid currentColor;border-radius:50%;opacity:.09}
        .rv-banco-preview-top{display:flex;align-items:center;justify-content:space-between;gap:10px;position:relative;z-index:1}
        .rv-banco-preview-top strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
        .rv-banco-preview-top span{display:flex;transform:rotate(90deg);opacity:.82}
        .rv-banco-preview-saldo{position:relative;z-index:1}
        .rv-banco-preview-saldo small{display:block;opacity:.75;font-size:11.5px}
        .rv-banco-preview-saldo strong{display:block;margin-top:3px;font-size:22px;line-height:1.15;font-variant-numeric:tabular-nums}
        .rv-banco-preview-saldo em{font-size:12px;font-style:normal;opacity:.85}
        .rv-banco-preview-metodo{align-self:flex-start;padding:5px 9px;border-radius:8px;background:rgba(0,0,0,.15);font-size:10.5px;font-weight:700;position:relative;z-index:1}
        /* Modal de nueva/editar cuenta: mantiene el panal completo y la vista
           previa, pero ordena la captura en bloques cortos y consistentes. */
        .rv-banco-cuenta-modal{box-sizing:border-box!important;width:min(790px,calc(100vw - 30px))!important;max-width:790px!important;padding:0!important;overflow-x:hidden!important;overflow-y:auto!important;border-radius:20px!important}
        .rv-banco-modal-head{position:relative;display:flex;align-items:center;gap:12px;padding:16px 20px 14px;border-bottom:1px solid #ece8f5;background:linear-gradient(110deg,#fff 56%,#faf6ff 82%,#fff3f6)}
        .rv-banco-modal-head-icon{display:flex;align-items:center;justify-content:center;width:39px;height:39px;flex:0 0 39px;border-radius:12px;color:#fff;background:linear-gradient(145deg,#7549ed,#c61183 70%,#f5011f);box-shadow:0 8px 17px rgba(117,73,237,.2)}
        .rv-banco-modal-head-icon svg,.rv-banco-modal-head-icon svg path{width:18px!important;height:18px!important;color:#fff!important;stroke:#fff!important}
        .rv-banco-modal-head-copy{min-width:0;padding-right:45px}
        .rv-banco-modal-head-copy h2{margin:0!important;color:#172033!important;font-size:19px!important;line-height:1.15!important}
        .rv-banco-modal-head-copy p{margin:3px 0 0;color:#8490a5;font-size:10.5px}
        .rv-banco-modal-head .pv-modal-close{position:absolute!important;top:50%!important;right:18px!important;left:auto!important;margin:0!important;transform:translateY(-50%)!important}
        .rv-banco-cuenta-modal>form{padding:15px 20px 18px!important}
        .rv-banco-datos-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,.55fr);gap:10px;margin:0}
        .rv-banco-datos-grid>.pv-form-row{min-width:0;margin:0!important}
        .rv-banco-datos-grid>.rv-banco-nombre-field{grid-column:1/-1}
        .rv-banco-datos-grid label,.rv-banco-metodo-grid label{display:block;margin-bottom:7px!important;color:#354055!important;font-size:10.5px!important;font-weight:800!important}
        .rv-banco-datos-grid label small{color:#929caf;font-size:9.5px;font-weight:650}
        .rv-banco-datos-grid input{box-sizing:border-box!important;width:100%!important;max-width:none!important;min-height:40px!important;border-radius:10px!important;background:#f8f9fc!important}
        .rv-banco-datos-grid .pv-divisa-chips{min-height:40px!important;border-radius:10px!important;background:#f8f9fc!important}
        .rv-banco-datos-grid .pv-divisa-chips{display:flex!important;align-items:center!important;padding:4px!important}
        .rv-banco-cuenta-modal .rv-banco-color-editor{grid-template-columns:minmax(0,1.18fr) minmax(225px,.82fr);gap:14px;margin:13px 0!important;padding:13px!important;border-color:#e3e6ee!important;background:#f8f9fc!important}
        .rv-banco-cuenta-modal .rv-banco-color-titulo{margin-bottom:9px}
        .rv-banco-cuenta-modal .rv-banco-color-titulo>span{width:32px;height:32px;border-radius:10px}
        .rv-banco-cuenta-modal .rv-banco-color-titulo strong{font-size:12.5px}
        .rv-banco-cuenta-modal .rv-banco-color-titulo small{font-size:10.5px}
        .rv-banco-cuenta-modal .rv-banco-color-preview{min-height:158px;padding:16px;border-radius:15px}
        .rv-banco-cuenta-modal .rv-banco-preview-saldo strong{font-size:19px}
        .rv-banco-color-desplegable{margin:0;border:1px solid #ded9ee;border-radius:12px;background:#fff}
        .rv-banco-color-desplegable>summary{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:46px;padding:6px 10px;list-style:none;cursor:pointer}
        .rv-banco-color-desplegable>summary::-webkit-details-marker{display:none}
        .rv-banco-color-resumen-muestra{width:27px;height:27px;border:2px solid #fff;border-radius:8px;background:#6D3DF5;box-shadow:0 0 0 1px #d9dfea}
        .rv-banco-color-resumen-copy{display:flex;min-width:0;flex-direction:column}
        .rv-banco-color-resumen-copy strong{color:#313c50;font-size:10.5px}
        .rv-banco-color-resumen-copy small{margin-top:1px;color:#6844df;font-size:10px;font-weight:800}
        .rv-banco-color-resumen-accion{display:flex;align-items:center;gap:5px;color:#6844df;font-size:10.5px;font-weight:800;white-space:nowrap}
        .rv-banco-color-resumen-accion svg{width:14px!important;height:14px!important;transition:transform .16s ease}
        .rv-banco-color-desplegable[open] .rv-banco-color-resumen-accion svg{transform:rotate(180deg)}
        .rv-banco-color-desplegable-panel{padding:11px 10px 12px;border-top:1px solid #ece8f5}
        .rv-banco-color-desplegable-panel .rv-banco-colores-marca{margin-bottom:8px}
        .rv-banco-color-desplegable-panel .rv-banco-panal{transform:scale(.9);transform-origin:left top;margin-bottom:-20px}
        .rv-banco-color-desplegable-panel .rv-banco-color-personalizado{margin-top:8px}
        .rv-banco-metodo-card{margin:0!important;padding:12px!important;border:1px solid #e3e6ee!important;border-radius:14px!important;background:#fafbfe!important}
        .rv-banco-metodo-card+.rv-banco-metodo-card{margin-top:10px!important}
        .rv-banco-metodo-head{display:flex;align-items:center;gap:9px;margin-bottom:10px}
        .rv-banco-metodo-head>span{display:flex;align-items:center;justify-content:center;width:30px;height:30px;flex:0 0 30px;border-radius:9px;color:#6844df;background:#eee9ff}
        .rv-banco-metodo-head>span svg{width:17px!important;height:17px!important}
        .rv-banco-metodo-head>strong{color:#263147;font-size:12px;font-weight:850}
        .rv-banco-metodo-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(120px,.6fr) minmax(120px,.6fr);gap:9px}
        .rv-banco-metodo-grid>.pv-form-row{min-width:0;margin:0!important}
        .rv-banco-metodo-grid input{min-height:39px!important;border-radius:10px!important;background:#fff!important}
        .rv-banco-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:13px;padding-top:13px;border-top:1px solid #eceef4}
        .rv-banco-modal-footer button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:40px!important;padding:0 16px!important;border-radius:10px!important;font-size:11px!important;font-weight:850!important;cursor:pointer}
        .rv-banco-modal-cancelar{border:1px solid #d9dfea!important;background:#fff!important;color:#4e596d!important}
        .rv-banco-modal-guardar{min-width:172px!important;border:0!important;color:#fff!important;background:linear-gradient(105deg,#6844df,#b61a88 68%,#f5011f)!important;box-shadow:0 7px 16px rgba(126,48,178,.2)!important}
        html body .pvf-shell #pv-modal-nueva-cuenta .rv-banco-modal-footer #pv-nc-submit-btn{border:1px solid transparent!important;background:linear-gradient(105deg,#6844df 0%,#b61a88 66%,#f5011f 100%)!important;color:#fff!important;box-shadow:0 8px 18px rgba(126,48,178,.24)!important}
        html body .pvf-shell #pv-modal-nueva-cuenta .rv-banco-modal-footer #pv-nc-submit-btn:hover{border-color:transparent!important;background:linear-gradient(105deg,#5f37d6 0%,#ad147f 66%,#e9001d 100%)!important;color:#fff!important;transform:translateY(-1px)}
        html body .pvf-shell #pv-modal-nueva-cuenta .rv-banco-modal-footer #pv-nc-submit-btn:focus-visible{outline:3px solid rgba(117,73,237,.22)!important;outline-offset:2px!important}
        html body .pvf-shell #pv-nc-agregar-btn{border:1px solid transparent!important;background:linear-gradient(105deg,#6844df 0%,#b61a88 66%,#f5011f 100%)!important;color:#fff!important;box-shadow:0 8px 18px rgba(126,48,178,.24)!important}
        html body .pvf-shell #pv-nc-agregar-btn svg,html body .pvf-shell #pv-nc-agregar-btn svg path{color:#fff!important;stroke:#fff!important}
        html body .pvf-shell #pv-nc-agregar-btn:hover{border-color:transparent!important;background:linear-gradient(105deg,#5f37d6 0%,#ad147f 66%,#e9001d 100%)!important;color:#fff!important;transform:translateY(-1px)}
        html body .pvf-shell #pv-nc-agregar-btn:focus-visible{outline:3px solid rgba(117,73,237,.22)!important;outline-offset:2px!important}
        /* Nuevo método de pago: formulario compacto por secciones, selector
           limpio y acciones consistentes con el sistema Noalyx. */
        #pv-modal-nuevo-metodo .rv-metodo-modal{box-sizing:border-box!important;width:min(660px,calc(100vw - 28px))!important;max-width:660px!important;padding:0!important;overflow-x:hidden!important;overflow-y:auto!important;border:1px solid #d8ccfb!important;border-radius:21px!important}
        #pv-modal-nuevo-metodo .rv-metodo-head{position:relative;display:flex;align-items:center;gap:12px;padding:17px 20px 15px;border-bottom:1px solid #e7dfff;background:linear-gradient(110deg,#fff 54%,#faf6ff 80%,#fff3f6)}
        #pv-modal-nuevo-metodo .rv-metodo-head-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 40px;border-radius:12px;color:#fff;background:linear-gradient(145deg,#7549ed,#c61183 70%,#f5011f);box-shadow:0 8px 18px rgba(117,73,237,.21)}
        #pv-modal-nuevo-metodo .rv-metodo-head-icon svg,#pv-modal-nuevo-metodo .rv-metodo-head-icon svg path,#pv-modal-nuevo-metodo .rv-metodo-head-icon svg line,#pv-modal-nuevo-metodo .rv-metodo-head-icon svg rect,#pv-modal-nuevo-metodo .rv-metodo-head-icon svg circle{width:19px!important;height:19px!important;color:#fff!important;stroke:#fff!important}
        #pv-modal-nuevo-metodo .rv-metodo-head-copy{min-width:0;padding-right:48px}
        #pv-modal-nuevo-metodo .rv-metodo-head-copy h2{margin:0!important;color:#172033!important;font-size:20px!important;line-height:1.15!important}
        #pv-modal-nuevo-metodo .rv-metodo-head-copy p{margin:4px 0 0;color:#8490a5;font-size:10.8px}
        #pv-modal-nuevo-metodo .rv-metodo-head .pv-modal-close{position:absolute!important;top:50%!important;right:18px!important;left:auto!important;margin:0!important;transform:translateY(-50%)!important}
        #pv-modal-nuevo-metodo #pv-metodo-form{padding:15px 20px 18px!important}
        #pv-modal-nuevo-metodo .rv-metodo-section{margin:0 0 11px;padding:13px;border:1px solid #d8ccfb;border-radius:14px;background:#fcfbff;box-shadow:0 3px 10px rgba(71,47,135,.035)}
        #pv-modal-nuevo-metodo .rv-metodo-details-grid,#pv-modal-nuevo-metodo .rv-metodo-commissions-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:11px!important;margin:0!important}
        #pv-modal-nuevo-metodo .rv-metodo-section .pv-form-row,#pv-modal-nuevo-metodo .rv-metodo-section .pvf-row{box-sizing:border-box!important;min-width:0!important;width:100%!important;max-width:none!important;margin:0!important}
        #pv-modal-nuevo-metodo .rv-metodo-section label{display:block;margin-bottom:7px!important;color:#303b50!important;font-size:10.7px!important;font-weight:850!important}
        #pv-modal-nuevo-metodo .rv-metodo-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px;padding-bottom:9px;border-bottom:1px solid #ece7f8}
        #pv-modal-nuevo-metodo .rv-metodo-section-head strong{color:#273147;font-size:11px;font-weight:900}
        #pv-modal-nuevo-metodo .rv-metodo-section-head span{color:#8a95a8;font-size:9.8px;font-weight:650;text-align:right}
        #pv-modal-nuevo-metodo select,#pv-modal-nuevo-metodo input[type=text],#pv-modal-nuevo-metodo .pv-custom-select-button,#pv-modal-nuevo-metodo .pv-cs-trigger{box-sizing:border-box!important;width:100%!important;max-width:none!important;min-height:43px!important;margin:0!important;border:1px solid #bfaef4!important;border-radius:11px!important;background:#fff!important;color:#202a3d!important;box-shadow:0 2px 7px rgba(73,49,139,.04)!important}
        #pv-modal-nuevo-metodo select:hover,#pv-modal-nuevo-metodo input[type=text]:hover,#pv-modal-nuevo-metodo .pv-custom-select-button:hover,#pv-modal-nuevo-metodo .pv-cs-trigger:hover{border-color:#9474ed!important}
        #pv-modal-nuevo-metodo select:focus,#pv-modal-nuevo-metodo input[type=text]:focus,#pv-modal-nuevo-metodo .pv-custom-select-button:focus,#pv-modal-nuevo-metodo .pv-cs-trigger:focus{outline:0!important;border-color:#6844df!important;box-shadow:0 0 0 3px rgba(104,68,223,.12)!important}
        #pv-modal-nuevo-metodo .pv-cs,#pv-modal-nuevo-metodo .pv-custom-select{box-sizing:border-box!important;width:100%!important;max-width:none!important}
        html body .pvf-shell #pv-modal-nuevo-metodo .pv-cs.pv-campo-completo .pv-cs-trigger::after{content:none!important;display:none!important;background:none!important}
        html body .pvf-shell #pv-modal-nuevo-metodo .pv-cs .pv-cs-trigger{position:relative!important;padding-right:42px!important}
        html body .pvf-shell #pv-modal-nuevo-metodo .pv-cs .pv-cs-chevron{position:absolute!important;top:50%!important;right:13px!important;bottom:auto!important;left:auto!important;margin:0!important;transform:translateY(-50%)!important}
        html body .pvf-shell #pv-modal-nuevo-metodo .pv-cs.pv-cs-open .pv-cs-chevron{transform:translateY(-50%) rotate(180deg)!important}
        html body .pvf-shell #pv-modal-nuevo-metodo select.pv-campo-completo:not(.pv-cs-native){padding-right:42px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 18 18%22%3E%3Cpath d=%22M4 6.5 9 12l5-5.5Z%22 fill=%22%236844DF%22/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 13px center!important;background-size:18px 18px!important}
        #pv-modal-nuevo-metodo .rv-metodo-footer{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:13px;padding-top:13px;border-top:1px solid #e8e2f8}
        #pv-modal-nuevo-metodo .rv-metodo-footer button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:41px!important;padding:0 16px!important;border-radius:10px!important;font-size:11px!important;font-weight:850!important;cursor:pointer!important}
        #pv-modal-nuevo-metodo .rv-metodo-cancel{border:1px solid #bfaef4!important;background:#fff!important;color:#6844df!important}
        html body .pvf-shell #pv-modal-nuevo-metodo #pv-metodo-btn{min-width:190px!important;border:1px solid transparent!important;background:linear-gradient(105deg,#6844df 0%,#b61a88 66%,#f5011f 100%)!important;color:#fff!important;box-shadow:0 8px 18px rgba(126,48,178,.23)!important}
        html body .pvf-shell #pv-modal-nuevo-metodo #pv-metodo-btn:hover{background:linear-gradient(105deg,#5f37d6 0%,#ad147f 66%,#e9001d 100%)!important;transform:translateY(-1px)}
        @media(max-width:640px){
            #pv-modal-nuevo-metodo .rv-metodo-modal{width:calc(100vw - 16px)!important;max-height:calc(100vh - 16px)!important;border-radius:18px!important}
            #pv-modal-nuevo-metodo .rv-metodo-head{align-items:flex-start;padding:15px 15px 13px}
            #pv-modal-nuevo-metodo .rv-metodo-head-icon{width:37px;height:37px;flex-basis:37px}
            #pv-modal-nuevo-metodo .rv-metodo-head-copy h2{font-size:17px!important}
            #pv-modal-nuevo-metodo .rv-metodo-head-copy p{font-size:10px}
            #pv-modal-nuevo-metodo .rv-metodo-head .pv-modal-close{top:14px!important;right:12px!important;transform:none!important}
            #pv-modal-nuevo-metodo #pv-metodo-form{padding:13px 14px 16px!important}
            #pv-modal-nuevo-metodo .rv-metodo-details-grid,#pv-modal-nuevo-metodo .rv-metodo-commissions-grid{grid-template-columns:1fr!important}
            #pv-modal-nuevo-metodo .rv-metodo-section-head{align-items:flex-start;flex-direction:column;gap:3px}
            #pv-modal-nuevo-metodo .rv-metodo-section-head span{text-align:left}
            #pv-modal-nuevo-metodo .rv-metodo-footer{align-items:stretch;flex-direction:column-reverse}
            #pv-modal-nuevo-metodo .rv-metodo-footer button{width:100%!important}
        }
        /* Ingreso de saldo: misma jerarquía visual del retiro, con el método
           de pago ocupando todo el ancho de su tarjeta. */
        #pv-modal-fondeo .rv-fondeo-modal{box-sizing:border-box!important;width:min(660px,calc(100vw - 28px))!important;max-width:660px!important;padding:0!important;overflow-x:hidden!important;overflow-y:auto!important;border:1px solid #d8ccfb!important;border-radius:21px!important}
        #pv-modal-fondeo .rv-fondeo-head{position:relative;display:flex;align-items:center;gap:12px;padding:17px 20px 15px;border-bottom:1px solid #e7dfff;background:linear-gradient(110deg,#fff 54%,#faf6ff 80%,#fff3f6)}
        #pv-modal-fondeo .rv-fondeo-head-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 40px;border-radius:12px;color:#fff;background:linear-gradient(145deg,#7549ed,#c61183 70%,#f5011f);box-shadow:0 8px 18px rgba(117,73,237,.21)}
        #pv-modal-fondeo .rv-fondeo-head-icon svg,#pv-modal-fondeo .rv-fondeo-head-icon svg path,#pv-modal-fondeo .rv-fondeo-head-icon svg line{width:19px!important;height:19px!important;color:#fff!important;stroke:#fff!important}
        #pv-modal-fondeo .rv-fondeo-head-copy{min-width:0;padding-right:48px}
        #pv-modal-fondeo .rv-fondeo-head-copy h2{margin:0!important;color:#172033!important;font-size:20px!important;line-height:1.15!important}
        #pv-modal-fondeo .rv-fondeo-head-copy p{margin:4px 0 0;color:#8490a5;font-size:10.8px}
        #pv-modal-fondeo .rv-fondeo-head .pv-modal-close{position:absolute!important;top:50%!important;right:18px!important;left:auto!important;margin:0!important;transform:translateY(-50%)!important}
        #pv-modal-fondeo #pv-fondeo-form{padding:15px 20px 18px!important}
        #pv-modal-fondeo .rv-fondeo-section{margin:0 0 11px;padding:13px;border:1px solid #d8ccfb;border-radius:14px;background:#fcfbff;box-shadow:0 3px 10px rgba(71,47,135,.035)}
        #pv-modal-fondeo .rv-fondeo-section .pv-form-row,#pv-modal-fondeo .rv-fondeo-section .pvf-row{min-width:0;margin:0!important}
        #pv-modal-fondeo .rv-fondeo-main-grid{display:grid!important;grid-template-columns:minmax(0,1.45fr) minmax(170px,.55fr)!important;gap:11px!important;margin:0!important}
        #pv-modal-fondeo .rv-fondeo-section label{display:block;margin-bottom:7px!important;color:#303b50!important;font-size:10.7px!important;font-weight:850!important}
        #pv-modal-fondeo .rv-fondeo-section label .pv-muted{color:#8a95a8!important;font-size:9.7px!important;font-weight:700!important}
        #pv-modal-fondeo select,#pv-modal-fondeo input[type=text],#pv-modal-fondeo textarea,#pv-modal-fondeo .pv-custom-select-button,#pv-modal-fondeo .pv-cs-trigger{box-sizing:border-box!important;width:100%!important;max-width:none!important;margin:0!important;border:1px solid #bfaef4!important;border-radius:11px!important;background:#fff!important;color:#202a3d!important;box-shadow:0 2px 7px rgba(73,49,139,.04)!important}
        #pv-modal-fondeo select,#pv-modal-fondeo input[type=text],#pv-modal-fondeo .pv-custom-select-button,#pv-modal-fondeo .pv-cs-trigger{min-height:43px!important}
        #pv-modal-fondeo textarea{min-height:76px!important;padding:11px 13px!important;resize:vertical!important}
        #pv-modal-fondeo select:hover,#pv-modal-fondeo input[type=text]:hover,#pv-modal-fondeo textarea:hover,#pv-modal-fondeo .pv-custom-select-button:hover,#pv-modal-fondeo .pv-cs-trigger:hover{border-color:#9474ed!important}
        #pv-modal-fondeo select:focus,#pv-modal-fondeo input[type=text]:focus,#pv-modal-fondeo textarea:focus,#pv-modal-fondeo .pv-custom-select-button:focus,#pv-modal-fondeo .pv-cs-trigger:focus{outline:0!important;border-color:#6844df!important;box-shadow:0 0 0 3px rgba(104,68,223,.12)!important}
        #pv-modal-fondeo .rv-fondeo-method>.pv-form-row,#pv-modal-fondeo .rv-fondeo-method>.pvf-row,#pv-modal-fondeo .rv-fondeo-method>.pv-campo-full,#pv-modal-retiro .rv-retiro-method>.pv-form-row,#pv-modal-retiro .rv-retiro-method>.pvf-row,#pv-modal-retiro .rv-retiro-method>.pv-campo-full{box-sizing:border-box!important;width:100%!important;max-width:none!important;flex:1 1 100%!important}
        #pv-modal-fondeo .rv-fondeo-method .pv-cs,#pv-modal-fondeo .rv-fondeo-method .pv-custom-select,#pv-modal-retiro .rv-retiro-method .pv-cs,#pv-modal-retiro .rv-retiro-method .pv-custom-select{box-sizing:border-box!important;width:100%!important;max-width:none!important}
        html body .pvf-shell #pv-modal-fondeo .pv-cs.pv-campo-completo .pv-cs-trigger::after{content:none!important;display:none!important;background:none!important}
        html body .pvf-shell #pv-modal-fondeo .pv-cs .pv-cs-trigger{position:relative!important;padding-right:42px!important}
        html body .pvf-shell #pv-modal-fondeo .pv-cs .pv-cs-chevron{position:absolute!important;top:50%!important;right:13px!important;bottom:auto!important;left:auto!important;margin:0!important;transform:translateY(-50%)!important}
        html body .pvf-shell #pv-modal-fondeo .pv-cs.pv-cs-open .pv-cs-chevron{transform:translateY(-50%) rotate(180deg)!important}
        html body .pvf-shell #pv-modal-fondeo select.pv-campo-completo:not(.pv-cs-native){padding-right:42px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 18 18%22%3E%3Cpath d=%22M4 6.5 9 12l5-5.5Z%22 fill=%22%236844DF%22/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 13px center!important;background-size:18px 18px!important}
        #pv-modal-fondeo .pv-mov-metodo-aviso{margin:7px 0 0!important;padding:8px 10px!important;border:1px solid #ffc5cd!important;border-radius:9px!important;background:#fff5f6!important;color:#c8102e!important;font-size:10px!important}
        #pv-modal-fondeo .rv-fondeo-footer{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:13px;padding-top:13px;border-top:1px solid #e8e2f8}
        #pv-modal-fondeo .rv-fondeo-footer button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:41px!important;padding:0 16px!important;border-radius:10px!important;font-size:11px!important;font-weight:850!important;cursor:pointer!important}
        #pv-modal-fondeo .rv-fondeo-cancel{border:1px solid #bfaef4!important;background:#fff!important;color:#6844df!important}
        html body .pvf-shell #pv-modal-fondeo #pv-fondeo-btn{min-width:170px!important;border:1px solid transparent!important;background:linear-gradient(105deg,#6844df 0%,#b61a88 66%,#f5011f 100%)!important;color:#fff!important;box-shadow:0 8px 18px rgba(126,48,178,.23)!important}
        html body .pvf-shell #pv-modal-fondeo #pv-fondeo-btn:hover{background:linear-gradient(105deg,#5f37d6 0%,#ad147f 66%,#e9001d 100%)!important;transform:translateY(-1px)}
        @media(max-width:640px){
            #pv-modal-fondeo .rv-fondeo-modal{width:calc(100vw - 16px)!important;max-height:calc(100vh - 16px)!important;border-radius:18px!important}
            #pv-modal-fondeo .rv-fondeo-head{align-items:flex-start;padding:15px 15px 13px}
            #pv-modal-fondeo .rv-fondeo-head-icon{width:37px;height:37px;flex-basis:37px}
            #pv-modal-fondeo .rv-fondeo-head-copy h2{font-size:17px!important}
            #pv-modal-fondeo .rv-fondeo-head-copy p{font-size:10px}
            #pv-modal-fondeo .rv-fondeo-head .pv-modal-close{top:14px!important;right:12px!important;transform:none!important}
            #pv-modal-fondeo #pv-fondeo-form{padding:13px 14px 16px!important}
            #pv-modal-fondeo .rv-fondeo-main-grid{grid-template-columns:1fr!important}
            #pv-modal-fondeo .rv-fondeo-footer{align-items:stretch;flex-direction:column-reverse}
            #pv-modal-fondeo .rv-fondeo-footer button{width:100%!important}
        }
        /* Retiro bancario: mismo lenguaje de Cuentas, con selectores limpios
           y la validación existente conservada por sus clases originales. */
        #pv-modal-retiro .rv-retiro-modal{box-sizing:border-box!important;width:min(660px,calc(100vw - 28px))!important;max-width:660px!important;padding:0!important;overflow-x:hidden!important;overflow-y:auto!important;border:1px solid #d8ccfb!important;border-radius:21px!important}
        #pv-modal-retiro .rv-retiro-head{position:relative;display:flex;align-items:center;gap:12px;padding:17px 20px 15px;border-bottom:1px solid #e7dfff;background:linear-gradient(110deg,#fff 54%,#faf6ff 80%,#fff3f6)}
        #pv-modal-retiro .rv-retiro-head-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 40px;border-radius:12px;color:#fff;background:linear-gradient(145deg,#7549ed,#c61183 70%,#f5011f);box-shadow:0 8px 18px rgba(117,73,237,.21)}
        #pv-modal-retiro .rv-retiro-head-icon svg,#pv-modal-retiro .rv-retiro-head-icon svg path,#pv-modal-retiro .rv-retiro-head-icon svg line{width:19px!important;height:19px!important;color:#fff!important;stroke:#fff!important}
        #pv-modal-retiro .rv-retiro-head-copy{min-width:0;padding-right:48px}
        #pv-modal-retiro .rv-retiro-head-copy h2{margin:0!important;color:#172033!important;font-size:20px!important;line-height:1.15!important}
        #pv-modal-retiro .rv-retiro-head-copy p{margin:4px 0 0;color:#8490a5;font-size:10.8px}
        #pv-modal-retiro .rv-retiro-head .pv-modal-close{position:absolute!important;top:50%!important;right:18px!important;left:auto!important;margin:0!important;transform:translateY(-50%)!important}
        #pv-modal-retiro #pv-retiro-form{padding:15px 20px 18px!important}
        #pv-modal-retiro .rv-retiro-section{margin:0 0 11px;padding:13px;border:1px solid #d8ccfb;border-radius:14px;background:#fcfbff;box-shadow:0 3px 10px rgba(71,47,135,.035)}
        #pv-modal-retiro .rv-retiro-section .pv-form-row,#pv-modal-retiro .rv-retiro-section .pvf-row{min-width:0;margin:0!important}
        #pv-modal-retiro .rv-retiro-main-grid{display:grid!important;grid-template-columns:minmax(0,1.45fr) minmax(170px,.55fr)!important;gap:11px!important;margin:0!important}
        #pv-modal-retiro .rv-retiro-section label{display:block;margin-bottom:7px!important;color:#303b50!important;font-size:10.7px!important;font-weight:850!important}
        #pv-modal-retiro .rv-retiro-section label .pv-muted{color:#8a95a8!important;font-size:9.7px!important;font-weight:700!important}
        #pv-modal-retiro select,#pv-modal-retiro input[type=text],#pv-modal-retiro textarea,#pv-modal-retiro .pv-custom-select-button,#pv-modal-retiro .pv-cs-trigger{box-sizing:border-box!important;width:100%!important;max-width:none!important;margin:0!important;border:1px solid #bfaef4!important;border-radius:11px!important;background:#fff!important;color:#202a3d!important;box-shadow:0 2px 7px rgba(73,49,139,.04)!important}
        #pv-modal-retiro select,#pv-modal-retiro input[type=text],#pv-modal-retiro .pv-custom-select-button,#pv-modal-retiro .pv-cs-trigger{min-height:43px!important}
        #pv-modal-retiro textarea{min-height:76px!important;padding:11px 13px!important;resize:vertical!important}
        #pv-modal-retiro select:hover,#pv-modal-retiro input[type=text]:hover,#pv-modal-retiro textarea:hover,#pv-modal-retiro .pv-custom-select-button:hover,#pv-modal-retiro .pv-cs-trigger:hover{border-color:#9474ed!important}
        #pv-modal-retiro select:focus,#pv-modal-retiro input[type=text]:focus,#pv-modal-retiro textarea:focus,#pv-modal-retiro .pv-custom-select-button:focus,#pv-modal-retiro .pv-custom-select.is-open .pv-custom-select-button,#pv-modal-retiro .pv-cs-trigger:focus,#pv-modal-retiro .pv-cs.pv-cs-open .pv-cs-trigger{border-color:#7549ed!important;outline:0!important;box-shadow:0 0 0 3px rgba(117,73,237,.12)!important}
        #pv-modal-retiro .pv-custom-select-dropdown{border:1px solid #bfaef4!important;border-radius:12px!important;box-shadow:0 14px 32px rgba(58,38,112,.16)!important}
        html body .pvf-shell #pv-modal-retiro .pv-cs.pv-campo-completo .pv-cs-trigger{position:relative!important;padding-right:44px!important}
        html body .pvf-shell #pv-modal-retiro .pv-cs.pv-campo-completo .pv-cs-trigger::after{content:none!important;display:none!important;background:none!important}
        html body .pvf-shell #pv-modal-retiro .pv-cs .pv-cs-chevron{position:absolute!important;top:50%!important;right:13px!important;bottom:auto!important;left:auto!important;margin:0!important;transform:translateY(-50%)!important}
        html body .pvf-shell #pv-modal-retiro .pv-cs.pv-cs-open .pv-cs-chevron{transform:translateY(-50%) rotate(180deg)!important}
        html body .pvf-shell #pv-modal-retiro select.pv-campo-completo:not(.pv-cs-native){padding-right:42px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 18 18%22%3E%3Cpath d=%22M4 6.5 9 12l5-5.5Z%22 fill=%22%236844DF%22/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 13px center!important;background-size:18px 18px!important}
        #pv-modal-retiro .pv-retiro-saldo-aviso,#pv-modal-retiro .pv-mov-metodo-aviso{margin:7px 0 0!important;padding:8px 10px!important;border:1px solid #ffc5cd!important;border-radius:9px!important;background:#fff5f6!important;color:#c8102e!important;font-size:10px!important}
        #pv-modal-retiro .rv-retiro-footer{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:13px;padding-top:13px;border-top:1px solid #e8e2f8}
        #pv-modal-retiro .rv-retiro-footer button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:41px!important;padding:0 16px!important;border-radius:10px!important;font-size:11px!important;font-weight:850!important;cursor:pointer!important}
        #pv-modal-retiro .rv-retiro-cancel{border:1px solid #bfaef4!important;background:#fff!important;color:#6844df!important}
        html body .pvf-shell #pv-modal-retiro #pv-retiro-btn{min-width:170px!important;border:1px solid transparent!important;background:linear-gradient(105deg,#6844df 0%,#b61a88 66%,#f5011f 100%)!important;color:#fff!important;box-shadow:0 8px 18px rgba(126,48,178,.23)!important}
        html body .pvf-shell #pv-modal-retiro #pv-retiro-btn:hover{background:linear-gradient(105deg,#5f37d6 0%,#ad147f 66%,#e9001d 100%)!important;transform:translateY(-1px)}
        @media(max-width:640px){
            #pv-modal-retiro .rv-retiro-modal{width:calc(100vw - 16px)!important;max-height:calc(100vh - 16px)!important;border-radius:18px!important}
            #pv-modal-retiro .rv-retiro-head{align-items:flex-start;padding:15px 15px 13px}
            #pv-modal-retiro .rv-retiro-head-icon{width:37px;height:37px;flex-basis:37px}
            #pv-modal-retiro .rv-retiro-head-copy h2{font-size:17px!important}
            #pv-modal-retiro .rv-retiro-head-copy p{font-size:10px}
            #pv-modal-retiro .rv-retiro-head .pv-modal-close{top:14px!important;right:12px!important;transform:none!important}
            #pv-modal-retiro #pv-retiro-form{padding:13px 14px 16px!important}
            #pv-modal-retiro .rv-retiro-main-grid{grid-template-columns:1fr!important}
            #pv-modal-retiro .rv-retiro-footer{align-items:stretch;flex-direction:column-reverse}
            #pv-modal-retiro .rv-retiro-footer button{width:100%!important}
        }
        /* Transferencia entre cuentas: secciones claras, bordes violetas y
           resumen previo sin alterar los ids usados por sus cálculos. */
        #pv-modal-transferencia .rv-transfer-modal{box-sizing:border-box!important;width:min(760px,calc(100vw - 28px))!important;max-width:760px!important;padding:0!important;overflow-x:hidden!important;overflow-y:auto!important;border:1px solid #d8ccfb!important;border-radius:21px!important}
        #pv-modal-transferencia .rv-transfer-head{position:relative;display:flex;align-items:center;gap:12px;padding:17px 20px 15px;border-bottom:1px solid #e7dfff;background:linear-gradient(110deg,#fff 54%,#faf6ff 80%,#fff3f6)}
        #pv-modal-transferencia .rv-transfer-head-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 40px;border-radius:12px;color:#fff;background:linear-gradient(145deg,#7549ed,#c61183 70%,#f5011f);box-shadow:0 8px 18px rgba(117,73,237,.21)}
        #pv-modal-transferencia .rv-transfer-head-icon svg,#pv-modal-transferencia .rv-transfer-head-icon svg path{width:19px!important;height:19px!important;color:#fff!important;stroke:#fff!important}
        #pv-modal-transferencia .rv-transfer-head-copy{min-width:0;padding-right:48px}
        #pv-modal-transferencia .rv-transfer-head-copy h2{margin:0!important;color:#172033!important;font-size:20px!important;line-height:1.15!important}
        #pv-modal-transferencia .rv-transfer-head-copy p{margin:4px 0 0;color:#8490a5;font-size:10.8px}
        #pv-modal-transferencia .rv-transfer-head .pv-modal-close{position:absolute!important;top:50%!important;right:18px!important;left:auto!important;margin:0!important;transform:translateY(-50%)!important}
        #pv-modal-transferencia #pv-transferencia-form{padding:15px 20px 18px!important}
        #pv-modal-transferencia .rv-transfer-section{margin:0 0 11px;padding:13px;border:1px solid #d8ccfb;border-radius:14px;background:#fcfbff;box-shadow:0 3px 10px rgba(71,47,135,.035)}
        #pv-modal-transferencia .rv-transfer-section .pv-form-row,#pv-modal-transferencia .rv-transfer-section .pvf-row{min-width:0;margin:0!important}
        #pv-modal-transferencia .rv-transfer-section label{display:block;margin-bottom:7px!important;color:#303b50!important;font-size:10.7px!important;font-weight:850!important}
        #pv-modal-transferencia .rv-transfer-section label .pv-muted{color:#8a95a8!important;font-size:9.7px!important;font-weight:700!important}
        #pv-modal-transferencia .rv-transfer-accounts-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px!important;margin:0!important}
        #pv-modal-transferencia .rv-transfer-method small{display:block;margin:-2px 0 8px;color:#8a95a8;font-size:9.8px}
        #pv-modal-transferencia select,#pv-modal-transferencia input[type=text],#pv-modal-transferencia .pv-custom-select-button{box-sizing:border-box!important;width:100%!important;max-width:none!important;min-height:43px!important;margin:0!important;border:1px solid #bfaef4!important;border-radius:11px!important;background:#fff!important;color:#202a3d!important;box-shadow:0 2px 7px rgba(73,49,139,.04)!important}
        #pv-modal-transferencia select:hover,#pv-modal-transferencia input[type=text]:hover,#pv-modal-transferencia .pv-custom-select-button:hover{border-color:#9474ed!important}
        #pv-modal-transferencia select:focus,#pv-modal-transferencia input[type=text]:focus,#pv-modal-transferencia .pv-custom-select-button:focus,#pv-modal-transferencia .pv-custom-select.is-open .pv-custom-select-button{border-color:#7549ed!important;outline:0!important;box-shadow:0 0 0 3px rgba(117,73,237,.12)!important}
        #pv-modal-transferencia .pv-custom-select-dropdown{border:1px solid #bfaef4!important;border-radius:12px!important;box-shadow:0 14px 32px rgba(58,38,112,.16)!important}
        html body .pvf-shell #pv-modal-transferencia .pv-cs.pv-campo-completo .pv-cs-trigger{position:relative!important;padding-right:44px!important}
        html body .pvf-shell #pv-modal-transferencia .pv-cs.pv-campo-completo .pv-cs-trigger::after{content:none!important;display:none!important;background:none!important}
        html body .pvf-shell #pv-modal-transferencia .pv-cs .pv-cs-chevron{position:absolute!important;top:50%!important;right:13px!important;bottom:auto!important;left:auto!important;margin:0!important;transform:translateY(-50%)!important}
        html body .pvf-shell #pv-modal-transferencia .pv-cs.pv-cs-open .pv-cs-chevron{transform:translateY(-50%) rotate(180deg)!important}
        html body .pvf-shell #pv-modal-transferencia select.pv-campo-completo:not(.pv-cs-native){padding-right:42px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 18 18%22%3E%3Cpath d=%22M4 6.5 9 12l5-5.5Z%22 fill=%22%236844DF%22/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 13px center!important;background-size:18px 18px!important}
        #pv-modal-transferencia .rv-transfer-values-grid{display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(180px,.75fr)!important;gap:11px!important;margin:0!important}
        #pv-modal-transferencia .rv-transfer-values-grid>div{min-width:0!important;width:auto!important;margin:0!important}
        #pv-modal-transferencia #pv-tr-tasa-wrap{grid-column:1/-1}
        #pv-modal-transferencia .rv-transfer-values-grid>div:last-child{grid-column:1/-1}
        #pv-modal-transferencia .pv-input-sufijo{position:relative;display:block!important}
        #pv-modal-transferencia .pv-input-sufijo>span{position:absolute;top:50%;right:13px;transform:translateY(-50%);color:#6844df;font-size:11px;font-weight:850}
        #pv-modal-transferencia .pv-input-sufijo>input{padding-right:40px!important}
        #pv-modal-transferencia .rv-transfer-tipos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
        #pv-modal-transferencia .rv-transfer-tipos .pv-iva-opcion{display:flex!important;align-items:center!important;justify-content:center!important;min-height:41px!important;margin:0!important;padding:0 10px!important;border:1px solid #c8b9f5!important;border-radius:11px!important;background:#fff!important;color:#5f4b9f!important;cursor:pointer!important;transition:.15s ease}
        #pv-modal-transferencia .rv-transfer-tipos .pv-iva-opcion input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
        #pv-modal-transferencia .rv-transfer-tipos .pv-iva-opcion:has(input:checked){border-color:#7549ed!important;background:#f1ebff!important;color:#6844df!important;box-shadow:0 0 0 2px rgba(117,73,237,.08)!important}
        #pv-modal-transferencia .rv-transfer-tipos .pv-iva-opcion-texto{font-size:10.5px!important;font-weight:850!important;text-align:center}
        #pv-modal-transferencia .rv-transfer-summary{margin:0!important;padding:0 13px!important;overflow:hidden;border:1px solid #c8b9f5!important;border-radius:14px!important;background:linear-gradient(135deg,#fbf9ff,#fff)!important}
        #pv-modal-transferencia .rv-transfer-summary .pv-resumen-fila{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(155px,.42fr)!important;align-items:center!important;gap:12px!important;min-height:54px!important;padding:8px 0!important;border-bottom:1px solid #e8e2f8!important;color:#758197!important;font-size:10.7px!important;font-weight:750!important}
        #pv-modal-transferencia .rv-transfer-summary .pv-resumen-fila:last-child{border-bottom:0!important}
        #pv-modal-transferencia .rv-transfer-summary .pv-resumen-fila>span:last-child{color:#172033!important;font-size:12.5px!important;font-weight:900!important;text-align:right}
        #pv-modal-transferencia .rv-transfer-summary .pv-tr-credito-input-wrap{width:100%!important}
        #pv-modal-transferencia .rv-transfer-summary #pv-tr-credito{min-height:39px!important;border-color:#bfaef4!important;background:#fff!important;text-align:right!important}
        #pv-modal-transferencia .rv-transfer-footer{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:13px;padding-top:13px;border-top:1px solid #e8e2f8}
        #pv-modal-transferencia .rv-transfer-footer button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:41px!important;padding:0 16px!important;border-radius:10px!important;font-size:11px!important;font-weight:850!important;cursor:pointer!important}
        #pv-modal-transferencia .rv-transfer-cancel{border:1px solid #bfaef4!important;background:#fff!important;color:#6844df!important}
        html body .pvf-shell #pv-modal-transferencia #pv-transfer-submit{min-width:185px!important;border:1px solid transparent!important;background:linear-gradient(105deg,#6844df 0%,#b61a88 66%,#f5011f 100%)!important;color:#fff!important;box-shadow:0 8px 18px rgba(126,48,178,.23)!important}
        html body .pvf-shell #pv-modal-transferencia #pv-transfer-submit:hover{background:linear-gradient(105deg,#5f37d6 0%,#ad147f 66%,#e9001d 100%)!important;transform:translateY(-1px)}
        @media(max-width:700px){
            #pv-modal-transferencia .rv-transfer-modal{width:calc(100vw - 16px)!important;max-height:calc(100vh - 16px)!important;border-radius:18px!important}
            #pv-modal-transferencia .rv-transfer-head{align-items:flex-start;padding:15px 15px 13px}
            #pv-modal-transferencia .rv-transfer-head-icon{width:37px;height:37px;flex-basis:37px}
            #pv-modal-transferencia .rv-transfer-head-copy h2{font-size:17px!important}
            #pv-modal-transferencia .rv-transfer-head-copy p{font-size:10px}
            #pv-modal-transferencia .rv-transfer-head .pv-modal-close{top:14px!important;right:12px!important;transform:none!important}
            #pv-modal-transferencia #pv-transferencia-form{padding:13px 14px 16px!important}
            #pv-modal-transferencia .rv-transfer-accounts-grid,#pv-modal-transferencia .rv-transfer-values-grid{grid-template-columns:1fr!important}
            #pv-modal-transferencia .rv-transfer-tipos{grid-template-columns:1fr!important}
            #pv-modal-transferencia .rv-transfer-summary .pv-resumen-fila{grid-template-columns:1fr!important;gap:5px!important}
            #pv-modal-transferencia .rv-transfer-summary .pv-resumen-fila>span:last-child{text-align:left!important}
            #pv-modal-transferencia .rv-transfer-footer{align-items:stretch;flex-direction:column-reverse}
            #pv-modal-transferencia .rv-transfer-footer button{width:100%!important}
        }
        @media (max-width:980px){
            .rv-banco-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
            .rv-banco-color-editor{grid-template-columns:1fr}
            .rv-banco-cuenta-modal{width:min(700px,calc(100vw - 24px))!important}
        }
        @media (max-width:640px){
            .rv-banco-page-head{align-items:flex-start!important}
            .rv-banco-head-actions{width:100%;justify-content:stretch}
            .rv-banco-head-actions>*{flex:1 1 140px}
            /* Los 4 botones de arriba (Transferir/Retirar/Ingresar/Nuevo
               método) medían lo que pedía su propio texto — "Transferir
               entre cuentas" mucho más ancho que "− Retirar Saldo" al lado,
               se veía disparejo en 2 filas desiguales. Pasan a una grilla
               2x2 pareja, mismo ancho cada uno. */
            .rv-banco-acciones-top{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
            .rv-banco-acciones-top .pvf-btn{width:100%;text-align:center}
            /* display:flex en vez de grid-template-columns:1fr: con CSS Grid,
               el alto automático de cada fila se estaba calculando SOLO en
               base al <a> de adentro (el link con nombre/saldo/métodos) e
               ignorando a .rv-banco-acciones (los 3 botones), que es un
               hermano FUERA del link — la fila quedaba más baja que el
               contenido real, y los botones se salían por abajo de la
               tarjeta, invisibles sobre el fondo de la página en vez del
               fondo de color. En una sola columna ya no hace falta grid
               para nada — un flex-column simple soluciona esto porque cada
               tarjeta mide su propio contenido completo, sin ese cálculo
               compartido de "alto de fila" que fallaba. */
            .rv-banco-grid{display:flex;flex-direction:column}
            /* La tarjeta traía min-height:150px y 20px de separación entre
               cada bloque (nombre, saldo, métodos) pensados para una
               grilla de 3-4 columnas en escritorio, donde la tarjeta es
               angosta y necesita alto para no verse aplastada. En móvil es
               ancho completo, una sola columna — ese mismo alto mínimo y
               esos espacios ya no hacen falta y dejan un hueco enorme
               vacío entre el saldo y los métodos de pago. Se achican sin
               tocar nada del contenido (los botones de ver/editar/eliminar
               siguen ahí, solo con menos aire alrededor). */
            .rv-banco-card{min-height:176px}
            .rv-banco-card-link{min-height:176px;padding:15px 15px 52px;gap:11px}
            .rv-banco-metodos{margin-top:0}
            /* En escritorio los 3 iconos (ver/editar/eliminar) quedan
               absolutos arriba a la derecha, junto al ícono de wifi. En
               móvil pasan a estar en el flujo normal, pero quedaban pegados
               abajo a la izquierda sin nada que los separe del contenido de
               arriba (métodos de pago) — un espacio enorme vacío a la
               derecha y ningún límite visual. Se les da una línea divisoria
               (blanco translúcido, porque el fondo de la tarjeta es de
               color sólido — el --pv-border normal no se vería) y quedan
               alineados a la derecha, mismo patrón que el resto de las
               tarjetas de acciones del sistema. También se agrandan un
               poco los botones — 26px es chico para tocar con el dedo. */
            .rv-banco-acciones{justify-content:flex-end}
            html body .pvf-shell .rv-banco-card .rv-banco-acciones a,html body .pvf-shell .rv-banco-card .rv-banco-acciones button{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;max-width:34px!important;max-height:34px!important;flex-basis:34px!important}
            .rv-banco-acciones form{width:34px;height:34px;flex-basis:34px}
            .rv-banco-color-editor{margin-left:-2px;margin-right:-2px;padding:13px}
            .rv-banco-panal{grid-template-columns:repeat(9,26px);grid-auto-rows:25px;gap:2px;transform-origin:left top;max-width:100%;overflow:hidden}
            .rv-banco-color-hex{width:26px;height:29px}
            .rv-banco-color-hex:nth-child(18n + 10),.rv-banco-color-hex:nth-child(18n + 11),.rv-banco-color-hex:nth-child(18n + 12),.rv-banco-color-hex:nth-child(18n + 13),.rv-banco-color-hex:nth-child(18n + 14),.rv-banco-color-hex:nth-child(18n + 15),.rv-banco-color-hex:nth-child(18n + 16),.rv-banco-color-hex:nth-child(18n + 17),.rv-banco-color-hex:nth-child(18n + 18){transform:translateX(13px)}
            .rv-banco-color-personalizado{flex-wrap:wrap}
            .rv-banco-cuenta-modal{width:calc(100vw - 16px)!important;max-height:calc(100vh - 16px)!important;border-radius:18px!important}
            .rv-banco-modal-head{align-items:flex-start;padding:17px 16px 14px}
            .rv-banco-modal-head-icon{width:40px;height:40px;flex-basis:40px}
            .rv-banco-modal-head-copy h2{font-size:18px!important}
            .rv-banco-modal-head-copy p{font-size:10.5px}
            .rv-banco-modal-head .pv-modal-close{position:absolute!important;top:16px!important;right:13px!important;left:auto!important;transform:none!important}
            .rv-banco-cuenta-modal>form{padding:15px 16px 18px!important}
            .rv-banco-datos-grid,.rv-banco-metodo-grid{grid-template-columns:1fr}
            .rv-banco-datos-grid>.rv-banco-nombre-field{grid-column:auto}
            .rv-banco-modal-footer{align-items:stretch;flex-direction:column-reverse}
            .rv-banco-modal-footer button{width:100%!important}
        }

        /* ===== Gastos ===== */
        .rv-gastos-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px}
        .rv-gastos-tile{border-radius:20px;padding:20px;display:flex;flex-direction:column;gap:4px}
        .rv-gastos-tile span{font-size:12.5px;color:var(--pv-muted)}
        .rv-gastos-tile strong{font-size:22px;font-weight:800;color:var(--pv-ink)}
        .rv-gastos-tile strong small{font-size:12px;font-weight:700;color:var(--pv-muted)}
        .rv-gastos-tile-total{background:linear-gradient(135deg,var(--pv-primary2),var(--pv-primary));box-shadow:0 8px 20px rgba(var(--pv-primary-rgb),.25)}
        .rv-gastos-tile-total span{color:rgba(255,255,255,.85)}
        .rv-gastos-tile-total strong,.rv-gastos-tile-total strong small{color:#fff}
        .rv-gastos-cat-badge{display:inline-block;font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:8px;text-transform:none!important}
        @media (max-width:640px){
            .rv-gastos-tiles{grid-template-columns:1fr}
            .rv-gastos-tabs{margin-top:20px}
            /* El selector de divisas (USD/COP/EUR/VES) ocupaba una línea
               propia arriba de los filtros, empujando todo hacia abajo sin
               aportar mucho en el celular — se oculta acá (el usuario sigue
               pudiendo cambiar de divisa desde cualquier otro módulo, el
               valor elegido se comparte entre todos vía cookie). Los 3
               filtros (categoría/mes/año) pasan a una sola fila — MÁS CHICOS
               en vez de con scroll horizontal: cada <select> de acá se
               convierte en un dropdown propio con buscador (pv_custom_
               select_script(), corre sobre TODO <select> de la página) que
               se posiciona "absolute" — con overflow-x:auto en este
               contenedor ese panel quedaba recortado/apretado por el propio
               scroll (se probó y se veía roto). Achicando el tamaño alcanza
               para que los 3 quepan sin necesitar overflow. */
            .rv-gastos-page .pv-moneda-switches{display:none}
            .rv-gastos-filtros{flex-wrap:nowrap!important}
            .rv-gastos-filtros .pv-filtro-select{flex:1 1 0;min-width:0;padding:7px 8px;font-size:11px;text-align:center}
        }

        .rv-bottom-grid{display:grid;grid-template-columns:.92fr .86fr .86fr;gap:16px;margin-bottom:16px}
        .rv-finance-mini{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
        .rv-fin-mini-item{border-right:1px solid var(--pv-border);padding-right:10px}
        .rv-fin-mini-item:last-child{border-right:0}
        .rv-fin-mini-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f1efff;color:var(--pv-primary);margin-bottom:10px}
        .rv-fin-mini-icon svg{width:16px;height:16px}
        .rv-fin-mini-item span{color:var(--pv-muted);font-size:10px;font-weight:800;display:block;min-height:26px}
        .rv-fin-mini-item strong{display:block;color:var(--pv-ink);font-size:20px;font-weight:900;letter-spacing:-.03em}
        .rv-aging-row{display:grid;grid-template-columns:82px 1fr 74px 40px;gap:9px;align-items:center;margin-bottom:11px;font-size:11px;font-weight:800;color:var(--pv-muted)}
        .rv-aging-bar{height:8px;border-radius:999px;background:var(--pv-bg);overflow:hidden}
        .rv-aging-bar span{display:block;height:100%;border-radius:inherit}
        .rv-activity-list{display:flex;flex-direction:column;gap:11px}
        .rv-activity-row{display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center;padding-bottom:9px;border-bottom:1px solid var(--pv-border)}
        .rv-activity-row:last-child{border-bottom:0;padding-bottom:0}
        .rv-act-icon{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#f1efff;color:var(--pv-primary)}
        .rv-act-icon svg{width:15px;height:15px}
        .rv-act-icon.green{background:#dcfce7;color:#16a34a}
        .rv-act-icon.orange{background:#ffedd5;color:#f97316}
        .rv-activity-row strong{display:block;color:var(--pv-ink);font-size:11.5px;font-weight:900}
        .rv-activity-row span{display:block;color:var(--pv-muted);font-size:10.5px;font-weight:700}
        .rv-activity-row b{color:var(--pv-ink);font-size:11.5px;font-weight:900;white-space:nowrap}
        .rv-table-card{border-radius:18px;padding:18px}
        .rv-table-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
        .rv-table-head h3{margin:0;color:var(--pv-ink);font-size:15px;font-weight:900}
        .rv-table-head a{color:var(--pv-primary)!important;font-size:12px;font-weight:900;text-decoration:none!important}
        .rv-table{border:1px solid var(--pv-border);border-radius:14px;overflow:hidden}
        .rv-table-row{display:grid;grid-template-columns:110px 170px 1fr 130px 90px;gap:12px;padding:12px 14px;border-bottom:1px solid var(--pv-border);align-items:center;font-size:12.5px;color:var(--pv-ink)}
        .rv-table-row:last-child{border-bottom:0}
        .rv-table-header{background:var(--pv-bg);color:var(--pv-muted);font-size:10px;font-weight:900;text-transform:uppercase}
        .rv-table-row a{color:var(--pv-primary)!important;font-weight:800;text-decoration:underline}
        @media (max-width:1180px){
            .rv-provider-balance-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
            .rv-dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
            .rv-main-grid-2,.rv-bottom-grid{grid-template-columns:1fr}
        }
        @media (max-width:980px){
            .rv-main-welcome{flex-direction:column}
            .rv-provider-balance-grid,.rv-dash-kpis{grid-template-columns:1fr}
            .rv-donut-layout{grid-template-columns:1fr}
            .rv-finance-mini{grid-template-columns:repeat(2,minmax(0,1fr))}
            .rv-table-row,.rv-table-header{grid-template-columns:1fr}
            .rv-table-header{display:none}
            .rv-table-row{border:1px solid var(--pv-border);border-radius:12px;margin-bottom:9px}
        }
        @media (max-width:640px){
            /* El saludo "Hola, {nombre}" heredaba el tamaño de escritorio
               (26px) y se veía desproporcionado en un teléfono angosto —
               se achica solo acá, el h2/p de escritorio no se tocan. */
            .rv-main-welcome h2{font-size:18px!important}
            .rv-main-welcome p{font-size:12px}
            /* A 1 sola columna las tarjetas KPI quedaban gigantes y muy
               separadas del texto — 2 por fila (como en el resto del diseño
               móvil) aprovecha mejor el ancho y se ve más una app, menos una
               lista larga de tarjetas sueltas. El valor también se achica y
               puede partirse en 2 líneas — a 25px un monto largo como
               "$426.621.639,29" se salía de una tarjeta de medio ancho. */
            .rv-dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
            .rv-kpi-card{padding:14px}
            .rv-kpi-value{font-size:18px;white-space:normal;overflow-wrap:break-word;line-height:1.15}
            .rv-kpi-label{font-size:11.5px}
        }
        @media (max-width:620px){
            .rv-finance-mini{grid-template-columns:1fr}
            .rv-provider-balances,.rv-main-card,.rv-table-card,.rv-kpi-card{border-radius:16px;padding:15px}
        }
        .pv-permisos-grid{display:flex;flex-direction:column;gap:9px;margin:13px 0}
        .pv-permisos-modulo{background:var(--pv-bg);border:1px solid var(--pv-border);border-radius:11px;padding:11px 14px;display:flex;flex-wrap:wrap;align-items:center;gap:14px}
        .pv-permisos-modulo-nombre{font-weight:700;color:var(--pv-ink);font-size:12px;min-width:170px}
        .pv-permisos-acciones{display:flex;gap:14px;flex-wrap:wrap}
        .pv-permiso-check{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--pv-ink);cursor:pointer;user-select:none}
        .pv-permiso-check input{width:15px;height:15px;accent-color:var(--pv-primary);margin:0}
        /* ===== Configuración — centro de ajustes Noalyx ===== */
        .rv-prov-page-head.rv-cfg-page-head{
            position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) auto;
            gap:14px;overflow:hidden;padding:15px 18px;
            background:linear-gradient(112deg,#fff 58%,#faf8ff 82%,#fff8fb)
        }
        .rv-prov-page-head.rv-cfg-page-head:before{
            position:absolute;top:0;right:20px;left:20px;height:2px;border-radius:0 0 4px 4px;
            background:linear-gradient(90deg,#08A6EC,#6D45E5 48%,#D71979 76%,#F5013C);content:""
        }
        .rv-cfg-page-icon{
            display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;
            color:#fff;background:linear-gradient(145deg,#7654EC,#6336DC);
            box-shadow:0 9px 20px rgba(109,69,229,.22)
        }
        .rv-cfg-page-icon svg,.rv-cfg-page-icon svg *{width:21px!important;height:21px!important;fill:none!important;stroke:currentColor!important}
        .rv-cfg-page-copy{min-width:0}
        .rv-cfg-page-kicker{display:block;margin-bottom:3px;color:#6D45E5;font-size:8px;font-weight:900;line-height:1;letter-spacing:.11em;text-transform:uppercase}
        .rv-cfg-page-status{display:flex;align-items:center;gap:9px;min-width:172px;padding:9px 12px;border:1px solid #E3DDF8;border-radius:12px;background:rgba(255,255,255,.82)}
        .rv-cfg-page-status>i{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#12B886;box-shadow:0 0 0 4px rgba(18,184,134,.11)}
        .rv-cfg-page-status>span{display:flex;min-width:0;flex-direction:column;gap:2px}
        .rv-cfg-page-status small{color:#8A94A9;font-size:7.5px;font-weight:850;line-height:1;letter-spacing:.06em}
        .rv-cfg-page-status strong{overflow:hidden;color:#364154;font-size:11px;font-weight:750;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}
        .rv-cfg-shell{display:flex;flex-direction:column;gap:16px;margin-top:14px}
        .rv-cfg-rail{
            position:relative;display:flex;flex-wrap:nowrap;align-items:stretch;gap:8px;overflow:hidden;
            padding:8px;background:linear-gradient(135deg,#FFFFFF 0%,#FBFAFF 48%,#FFF9FC 100%);
            border:1px solid #E6E1F1;border-radius:18px;
            box-shadow:0 2px 5px rgba(38,31,67,.04),0 16px 36px rgba(49,37,91,.065)
        }
        .rv-cfg-rail:before{
            position:absolute;top:0;right:26px;left:26px;height:2px;border-radius:0 0 8px 8px;
            background:linear-gradient(90deg,#08A6EC 0%,#6D45E5 43%,#D71979 74%,#F5013C 100%);content:""
        }
        .rv-cfg-rail-group{display:contents}
        .rv-cfg-rail-label{display:none}
        .rv-cfg-rail-item{
            position:relative;display:flex;align-items:center;justify-content:center;gap:10px;
            flex:1 1 0;min-width:0;min-height:48px;overflow:hidden;white-space:nowrap;
            padding:0 14px;border:1px solid transparent;border-radius:13px;outline:none;
            background:rgba(255,255,255,.38);color:#657087;font:inherit;font-size:11.5px;font-weight:750;
            text-align:center;cursor:pointer;
            transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease
        }
        .rv-cfg-rail-item span{min-width:0;overflow:hidden;text-overflow:ellipsis}
        .rv-cfg-rail-item svg{
            box-sizing:content-box;width:17px!important;height:17px!important;flex:0 0 17px;padding:7px;
            border-radius:10px;background:#F2F0F8;color:#7B8498;opacity:1;
            transition:background .16s ease,color .16s ease,box-shadow .16s ease
        }
        .rv-cfg-rail-item:hover{transform:translateY(-1px);border-color:#DDD4F5;background:#F9F7FF;color:#342A54;box-shadow:0 6px 15px rgba(63,45,119,.06)}
        .rv-cfg-rail-item:hover svg{background:#ECE7FF;color:#6D45E5}
        .rv-cfg-rail-item:focus-visible{border-color:#8E72EA;box-shadow:0 0 0 3px rgba(109,69,229,.12)}
        .rv-cfg-rail-item.active{
            transform:none;border-color:#D9CEF8;background:linear-gradient(135deg,#F8F5FF 0%,#FFF 70%);
            color:#3C2C78;font-weight:850;box-shadow:0 7px 18px rgba(76,51,153,.10),inset 0 0 0 1px rgba(255,255,255,.8)
        }
        .rv-cfg-rail-item.active:after{position:absolute;right:22px;bottom:0;left:22px;height:3px;border-radius:5px 5px 0 0;background:linear-gradient(90deg,#08A6EC,#6D45E5 52%,#D71979);content:""}
        .rv-cfg-rail-item.active svg{background:linear-gradient(145deg,#7654EC,#6336DC);color:#fff;box-shadow:0 7px 14px rgba(109,69,229,.22)}
        .rv-cfg-rail-item-peligro{color:#B91C1C}
        .rv-cfg-rail-item-peligro svg{background:#FFF1F2;color:#DC2626}
        .rv-cfg-rail-item-peligro:hover{border-color:#FECDD3;background:#FFF7F8;color:#B91C1C;box-shadow:0 6px 15px rgba(190,24,60,.06)}
        .rv-cfg-rail-item-peligro:hover svg{background:#FFE4E6;color:#E11D48}
        .rv-cfg-rail-item-peligro.active{border-color:#FECDD3;background:linear-gradient(135deg,#FFF1F2,#FFF);color:#B91C1C;box-shadow:0 7px 18px rgba(190,24,60,.09)}
        .rv-cfg-rail-item-peligro.active svg{background:linear-gradient(145deg,#F43F5E,#E11D48);color:#fff;box-shadow:0 7px 14px rgba(225,29,72,.18)}
        .rv-cfg-rail-item-peligro.active:after{background:linear-gradient(90deg,#FB7185,#E11D48)}
        .rv-cfg-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:16px}
        .rv-cfg-pane{display:none}
        .rv-cfg-pane.active{display:flex;flex-direction:column;gap:16px}
        /* Título grande de cada sección (Mi nombre / Datos generales / ...) —
           antes solo estaba el ícono chiquito adentro de la tarjeta, se
           perdía la jerarquía frente al título general "Configuración". */
        .rv-cfg-pane-head{display:flex;align-items:center;min-height:28px;margin-bottom:-3px;padding:0 2px}
        .rv-cfg-pane-head h2{margin:0;font-size:19px;font-weight:850;color:var(--pv-ink);letter-spacing:-.018em}
        @media (max-width:1120px){
            .rv-cfg-rail{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}
            .rv-cfg-rail::-webkit-scrollbar{display:none}
            .rv-cfg-rail-item{flex:0 0 auto;min-width:170px;padding:0 13px}
        }
        @media (max-width:640px){
            .rv-prov-page-head.rv-cfg-page-head{grid-template-columns:40px minmax(0,1fr);gap:10px;padding:12px}
            .rv-cfg-page-icon{width:40px;height:40px;border-radius:12px}
            .rv-cfg-page-status{display:none}
            .rv-cfg-rail{gap:6px;padding:7px;border-radius:15px}
            .rv-cfg-rail-item{min-width:158px;min-height:44px;padding:0 11px}
            .rv-cfg-rail-item svg{width:16px!important;height:16px!important;padding:6px}
        }
        .rv-cfg-card{background:var(--pv-surface);border:1px solid var(--pv-border);border-radius:18px;padding:20px;box-shadow:0 1px 2px rgba(16,24,40,.04),0 10px 28px rgba(16,24,40,.04);min-width:0}
        /* Cuando 2 tarjetas viven dentro del mismo <form> (ej. "Identidad" +
           "Operación" en Datos generales), el gap del contenedor padre
           (.rv-cfg-pane) no les llega — quedan pegadas sin este separador.
           "~" (cualquier hermano siguiente) en vez de "+" (hermano
           INMEDIATO): en Cotización hay un <script> suelto entre la
           tarjeta de Ítems y la de Resumen — con "+" ese script rompía la
           adyacencia y la regla no aplicaba, quedaban pegadas igual. */
        .rv-cfg-card ~ .rv-cfg-card{margin-top:20px}
        @media (max-width:640px){
            /* En un teléfono, 20px entre tarjetas ("Ítems" terminando justo
               donde empieza "Resumen") se ve casi pegado — más separación
               para que cada tarjeta se lea como su propio bloque. */
            .rv-cfg-card ~ .rv-cfg-card{margin-top:28px}
        }
        .rv-cfg-card-head{display:flex;align-items:center;gap:11px;margin-bottom:16px}
        .rv-cfg-card-icono{width:36px;height:36px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
        .rv-cfg-card-icono svg{width:17px!important;height:17px!important}
        .rv-cfg-card-icono-verde{background:rgba(34,197,94,.12);color:#16A34A}
        .rv-cfg-card-icono-azul{background:rgba(37,99,235,.12);color:#2563EB}
        .rv-cfg-card-icono-cian{background:rgba(8,166,236,.11);color:#0788C3}
        .rv-cfg-card-icono-violeta{background:rgba(109,69,229,.11);color:#6D45E5}
        .rv-cfg-card-head h2{margin:0;font-size:14px;font-weight:850;color:var(--pv-ink);letter-spacing:-.01em}
        .rv-cfg-card-title{display:flex;min-width:0;flex-direction:column;gap:3px}
        .rv-cfg-card-title p{margin:0;color:var(--pv-muted);font-size:10.5px;line-height:1.3}
        .rv-cfg-general-pane{width:100%;max-width:1320px;margin-right:auto;margin-left:auto}
        .rv-cfg-general-pane .rv-cfg-card{position:relative;box-sizing:border-box;border-color:#E5E7EF;border-radius:17px;box-shadow:0 8px 24px rgba(31,42,68,.045)}
        .rv-cfg-general-pane .rv-cfg-card:before{position:absolute;top:0;right:22px;left:22px;height:2px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,rgba(8,166,236,.72),rgba(109,69,229,.72),rgba(215,25,121,.55));content:""}
        .rv-cfg-profile-card{display:grid;grid-template-columns:minmax(230px,.65fr) minmax(430px,1.35fr);align-items:center;gap:20px;padding:17px 20px}
        .rv-cfg-profile-card .rv-cfg-card-head{margin:0}
        .rv-cfg-profile-form{display:grid;grid-template-columns:minmax(260px,1fr) auto;align-items:end;gap:10px}
        .rv-cfg-profile-form .rv-cfg-campo{width:100%;max-width:none;margin:0}
        .rv-cfg-profile-form .pvf-btn{min-width:140px;min-height:42px}
        .rv-cfg-company-form{display:flex;flex-direction:column;gap:16px;min-width:0}
        .rv-cfg-company-form>.rv-cfg-card~.rv-cfg-card{margin-top:0}
        .rv-cfg-company-form>.rv-cfg-card{padding:20px 22px}
        .rv-cfg-company-form .rv-cfg-card-head{grid-column:1/-1;margin-bottom:2px;padding-bottom:13px;border-bottom:1px solid #EDF0F5}
        .rv-cfg-company-form .rv-cfg-campo{min-width:0;margin:0}
        .rv-cfg-company-form .rv-cfg-campo label,.rv-cfg-profile-form .rv-cfg-campo label{min-height:0;margin:0 0 6px;color:#77839A;font-size:9px;font-weight:850;line-height:1.2;letter-spacing:.045em}
        .rv-cfg-company-form .rv-cfg-campo input[type=text],.rv-cfg-company-form .rv-cfg-campo input[type=email],.rv-cfg-company-form .rv-cfg-campo select,.rv-cfg-profile-form .rv-cfg-campo input[type=text]{width:100%;max-width:none;min-height:42px;height:42px;padding:0 13px;border:1px solid #DCE1EA;border-radius:10px;background:#FAFBFD;color:#20293A;font-size:12px;box-shadow:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
        .rv-cfg-company-form .rv-cfg-campo input:focus,.rv-cfg-company-form .rv-cfg-campo select:focus,.rv-cfg-profile-form .rv-cfg-campo input:focus{outline:none;border-color:#8062E8;box-shadow:0 0 0 3px rgba(109,69,229,.10);background:#fff}
        /* Configuración: checks y flechas siempre centrados verticalmente
           dentro del control, sin depender de la altura de la etiqueta o
           del texto de ayuda que aparezca debajo. */
        html body #pvf-shell .pvf-main-body.pvf-view-config .rv-cfg-content input.pv-campo-completo:not([type=date]){background-position:right 14px 50%!important}
        html body #pvf-shell .pvf-main-body.pvf-view-config .rv-cfg-content input[type=date].pv-campo-completo{background-position:right 43px 50%!important}
        html body #pvf-shell .pvf-main-body.pvf-view-config .rv-cfg-content select.pv-campo-completo:not(.pv-cs-native){background-position:right 46px 50%,right 14px 50%!important}
        html body #pvf-shell .pvf-main-body.pvf-view-config .rv-cfg-content .pv-cs>.pv-cs-trigger{position:relative!important}
        html body #pvf-shell .pvf-main-body.pvf-view-config .rv-cfg-content .pv-cs.pv-campo-completo>.pv-cs-trigger:after{top:50%!important;right:46px!important;bottom:auto!important;margin:0!important;transform:translateY(-50%)!important}
        html body #pvf-shell .pvf-main-body.pvf-view-config .rv-cfg-content .pv-cs>.pv-cs-trigger .pv-cs-chevron{position:absolute!important;top:50%!important;right:14px!important;bottom:auto!important;margin:0!important;transform:translateY(-50%)!important}
        html body #pvf-shell .pvf-main-body.pvf-view-config .rv-cfg-content .pv-cs.pv-cs-open>.pv-cs-trigger .pv-cs-chevron{transform:translateY(-50%) rotate(180deg)!important}
        .rv-cfg-card-identity{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:15px 14px}
        .rv-cfg-card-identity>.rv-cfg-field-company-name,.rv-cfg-card-identity>.rv-cfg-field-address{grid-column:span 6}
        .rv-cfg-card-identity>.pv-campos-fila{display:contents}
        .rv-cfg-card-identity>.pv-campos-fila>.rv-cfg-campo{grid-column:span 3}
        .rv-cfg-logo-panel{position:relative;grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:28px;min-height:72px;margin-top:2px;padding:10px 18px;overflow:hidden;border:1px solid #DCD3F7;border-radius:14px;background:linear-gradient(105deg,rgba(8,166,236,.075),rgba(109,69,229,.09) 48%,rgba(245,1,60,.06));box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 7px 18px rgba(75,54,145,.055)}
        .rv-cfg-logo-panel:before{position:absolute;top:0;right:14%;left:14%;height:2px;border-radius:0 0 5px 5px;background:linear-gradient(90deg,#08A6EC,#6D45E5 50%,#D71979 78%,#F5013C);content:""}
        .rv-cfg-logo-copy{display:flex;align-items:center;gap:10px;min-width:210px;flex:0 0 auto}
        .rv-cfg-logo-copy>span:last-child{display:flex;min-width:0;flex-direction:column;gap:2px}
        .rv-cfg-logo-copy strong{color:#273147;font-size:11.5px;font-weight:850}
        .rv-cfg-logo-copy small{color:#8B96AA;font-size:9.5px;font-weight:650}
        .rv-cfg-logo-preview{display:flex;align-items:center;justify-content:center;width:46px;height:46px;flex:0 0 46px;overflow:hidden;border:1px solid #DDD7EF;border-radius:11px;color:#6D45E5;background:#fff}
        .rv-cfg-logo-preview img{display:block;max-width:39px;max-height:34px;object-fit:contain}
        .rv-cfg-logo-preview>span{display:flex}
        .rv-cfg-logo-preview:has(img:not([hidden]))>span{display:none}
        .rv-cfg-logo-controles{display:flex;align-items:center;justify-content:center;gap:12px;min-width:0;flex:0 1 650px;flex-wrap:nowrap}
        .rv-cfg-logo-controles .pv-file-input{display:flex;align-items:center;gap:10px;min-width:320px;flex:1}
        .rv-cfg-logo-controles .pv-file-input-btn{min-height:39px;box-sizing:border-box;padding:0 16px;border-color:#BBAAF1;border-radius:10px;color:#6840DC;background:#fff;font-size:10.5px;box-shadow:0 5px 12px rgba(91,61,183,.075)}
        .rv-cfg-logo-controles .pv-file-input-btn:hover{border-color:#8E72EA;background:#FAF8FF}
        .rv-cfg-logo-controles .pv-file-input-nombre{min-width:0;overflow:hidden;color:#7F8BA1;text-overflow:ellipsis;white-space:nowrap}
        .rv-cfg-logo-controles .pvf-btn{min-height:37px;padding:0 13px;font-size:10.5px}
        .rv-cfg-logo-controles .pvf-btn:disabled{opacity:.45;cursor:not-allowed}
        .rv-cfg-logo-controles .pvf-btn:not(:disabled){border:0;color:#fff;background:linear-gradient(100deg,#7143ED,#C42A9B 68%,#F5013C);box-shadow:0 7px 16px rgba(132,48,184,.18)}
        .rv-cfg-card-social{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px 14px}
        .rv-cfg-card-social>.pv-campos-fila{display:contents}
        .rv-cfg-card-social>.rv-cfg-campo{grid-column:span 2}
        .rv-cfg-card-operation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:15px 14px}
        .rv-cfg-card-operation>.pv-campos-fila{display:contents}
        .rv-cfg-card-operation .pv-muted{margin-top:6px!important;color:#8A95A9;font-size:9.5px!important;line-height:1.35}
        .rv-cfg-savebar{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:2px;padding:11px 12px;border:1px solid #E6E0F7;border-radius:12px;background:linear-gradient(100deg,#FAF8FF,#FFF)}
        .rv-cfg-savebar>span{display:flex;align-items:center;gap:7px;color:#7D6BAF;font-size:10.5px;font-weight:700}
        .rv-cfg-savebar>span svg{width:15px!important;height:15px!important;flex:0 0 15px}
        .rv-cfg-savebar .pvf-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:190px;min-height:42px;margin:0;border:0!important;color:#fff!important;background:linear-gradient(100deg,#7143ED,#C42A9B 68%,#F5013C)!important;box-shadow:0 8px 18px rgba(132,48,184,.20)}
        html body #pvf-shell .pvf-main-body.pvf-view-config .rv-cfg-savebar>button.pvf-btn{border-color:transparent!important;color:#fff!important;background:linear-gradient(100deg,#7143ED,#C42A9B 68%,#F5013C)!important;box-shadow:0 8px 18px rgba(132,48,184,.20)!important}
        .rv-cfg-savebar .pvf-btn:hover{transform:translateY(-1px);filter:brightness(1.03)}
        .rv-cfg-savebar .pvf-btn svg{width:15px!important;height:15px!important}

        /* ===== Configuración · Cotización ===== */
        .rv-cfg-cot-pane{width:100%;max-width:1320px;margin-right:auto;margin-left:auto}
        .rv-cfg-cot-pane-head{align-items:flex-end;justify-content:space-between;min-height:48px;margin:0;padding:0 3px}
        .rv-cfg-cot-pane-head>div{display:flex;min-width:0;flex-direction:column}
        .rv-cfg-cot-pane-head h2{font-size:22px;line-height:1.1}
        .rv-cfg-cot-pane-head p{margin:5px 0 0;color:#7D899E;font-size:11.5px;line-height:1.4}
        .rv-cfg-cot-kicker{margin-bottom:5px;color:#7044E5;font-size:8px;font-weight:900;line-height:1;letter-spacing:.105em;text-transform:uppercase}
        .rv-cfg-cot-ready{display:inline-flex;align-items:center;gap:7px;min-height:30px;box-sizing:border-box;padding:0 11px;border:1px solid #D9F1E8;border-radius:999px;background:#F1FBF7;color:#087F5B;font-size:9.5px;font-weight:800;white-space:nowrap}
        .rv-cfg-cot-ready>i{width:7px;height:7px;border-radius:50%;background:#12B886;box-shadow:0 0 0 4px rgba(18,184,134,.10)}
        .rv-cfg-cot-workspace{position:relative;overflow:hidden;padding:18px;border-color:#E2E5ED;background:linear-gradient(135deg,#FFFFFF 0%,#FCFBFF 58%,#FFF9FC 100%);box-shadow:0 14px 34px rgba(31,42,68,.065)}
        .rv-cfg-cot-workspace:before{position:absolute;top:0;right:15%;left:15%;height:2px;border-radius:0 0 5px 5px;background:linear-gradient(90deg,#08A6EC,#6D45E5 51%,#D71979 78%,#F5013C);content:""}
        .rv-cfg-cot-form{display:flex;flex-direction:column;min-width:0}
        .rv-cfg-cot-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px}
        .rv-cfg-cot-section{min-width:0;box-sizing:border-box;padding:18px;border:1px solid #E5E7EF;border-radius:16px;background:rgba(255,255,255,.88);box-shadow:0 7px 20px rgba(40,47,78,.035)}
        .rv-cfg-cot-section-head{display:flex;align-items:center;gap:10px;margin-bottom:17px;padding-bottom:13px;border-bottom:1px solid #EDF0F5}
        .rv-cfg-cot-section-head>span:last-child{display:flex;min-width:0;flex-direction:column;gap:3px}
        .rv-cfg-cot-section-head strong{color:#263147;font-size:12.5px;font-weight:850;letter-spacing:-.005em}
        .rv-cfg-cot-section-head small{color:#8B96A9;font-size:9.5px;line-height:1.3}
        .rv-cfg-cot-section-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex:0 0 36px;border-radius:11px;background:linear-gradient(145deg,#F0EBFF,#F8F5FF);color:#6D45E5;box-shadow:inset 0 0 0 1px #E2D9FC}
        .rv-cfg-cot-section-icon.is-pink{color:#CF1775;background:linear-gradient(145deg,#FFF0F7,#FFF8FB);box-shadow:inset 0 0 0 1px #F8D9E8}
        .rv-cfg-cot-section-icon svg,.rv-cfg-cot-section-icon svg *{width:17px!important;height:17px!important;fill:none!important;stroke:currentColor!important}
        .rv-cfg-cot-template{display:grid;grid-template-columns:220px minmax(0,1fr);align-items:center;gap:24px;min-height:286px}
        .rv-cfg-cot-paper{position:relative;width:220px;aspect-ratio:8.5/11;overflow:hidden;border:1px solid #E2DCF1;border-radius:12px;background:#fff;box-shadow:0 20px 38px rgba(39,31,72,.14),0 4px 10px rgba(39,31,72,.08)}
        .rv-cfg-cot-paper:after{position:absolute;right:0;bottom:0;left:0;height:1px;background:linear-gradient(90deg,#08A6EC,#6D45E5,#E31B72);content:""}
        .rv-cfg-cot-paper img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;background:#fff}
        .rv-cfg-cot-paper>span{position:absolute;top:14%;right:9%;color:#252938;font-size:8px;font-weight:950;letter-spacing:.08em}
        .rv-cfg-cot-paper>iframe{display:block;width:100%;height:100%;border:0;background:#fff;pointer-events:none}
        .rv-cfg-cot-template-info{display:flex;min-width:0;align-items:flex-start;flex-direction:column}
        .rv-cfg-cot-state{display:inline-flex;align-items:center;gap:6px;min-height:24px;box-sizing:border-box;padding:0 9px;border:1px solid #DED5FA;border-radius:999px;background:#F6F3FF;color:#6A42D5;font-size:8.5px;font-weight:850;letter-spacing:.025em;text-transform:uppercase}
        .rv-cfg-cot-state>i{width:6px;height:6px;border-radius:50%;background:#7A55E7;box-shadow:0 0 0 3px rgba(122,85,231,.10)}
        .rv-cfg-cot-state.is-custom{border-color:#D7EAF7;background:#F3FAFF;color:#087EBA}
        .rv-cfg-cot-state.is-custom>i{background:#08A6EC;box-shadow:0 0 0 3px rgba(8,166,236,.11)}
        .rv-cfg-cot-template-info h3{margin:11px 0 3px;color:#20293A;font-size:16px;font-weight:880;letter-spacing:-.02em}
        .rv-cfg-cot-template-info>p{margin:0;color:#8994A7;font-size:10px;line-height:1.4}
        .rv-cfg-cot-upload-actions{display:flex;align-items:flex-start;gap:8px;width:100%;margin-top:17px;flex-wrap:wrap}
        .rv-cfg-cot-upload-actions .pv-file-input{display:flex;min-width:0;align-items:center;gap:8px;flex:1 1 210px}
        html body #pvf-shell .rv-cfg-cot-upload-actions .pv-file-input-btn{display:inline-flex!important;height:34px!important;min-height:34px!important;box-sizing:border-box!important;align-items:center!important;gap:6px!important;padding:0 12px!important;border:1px solid #CFC2F6!important;border-radius:9px!important;background:linear-gradient(180deg,#FFFFFF 0%,#FAF8FF 100%)!important;color:#6540D5!important;font-size:10px!important;font-weight:820!important;line-height:1!important;box-shadow:0 3px 9px rgba(98,62,205,.075)!important;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease!important}
        html body #pvf-shell .rv-cfg-cot-upload-actions .pv-file-input-btn:hover{border-color:#9277E8!important;background:#F7F3FF!important;box-shadow:0 5px 12px rgba(98,62,205,.11)!important;transform:translateY(-1px)}
        html body #pvf-shell .rv-cfg-cot-upload-actions .pv-file-input-btn svg{width:13px!important;height:13px!important;stroke-width:2.1!important}
        .rv-cfg-cot-upload-actions .pv-file-input-nombre{min-width:78px;max-width:135px;overflow:hidden;color:#8A95A8;font-size:9px;text-overflow:ellipsis;white-space:nowrap}
        .rv-cfg-cot-reset{min-height:39px;box-sizing:border-box;padding:0 12px;border:1px solid #E6DFF9;border-radius:10px;background:#FAF8FF;color:#6A43D6;font:inherit;font-size:9.5px;font-weight:780;cursor:pointer;transition:border-color .16s ease,background .16s ease}
        .rv-cfg-cot-reset:hover{border-color:#CFC1F4;background:#F4F0FF}
        .rv-cfg-cot-preview{display:inline-flex;align-items:center;gap:8px;min-height:36px;box-sizing:border-box;margin-top:14px;padding:0 13px 0 7px;border:1px solid #D7CDF7;border-radius:10px;background:linear-gradient(180deg,#FFF,#F8F5FF);color:#5F3CC9;font:inherit;font-size:10px;font-weight:850;cursor:pointer;box-shadow:0 4px 11px rgba(81,53,164,.08);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease}
        .rv-cfg-cot-preview:hover{transform:translateY(-1px);border-color:#9278E9;color:#C61C78;box-shadow:0 7px 16px rgba(81,53,164,.13)}
        .rv-cfg-cot-preview svg{box-sizing:content-box;width:14px;height:14px;padding:5px;border-radius:8px;background:linear-gradient(145deg,#7654EC,#C72B9A);color:#fff;box-shadow:0 4px 9px rgba(109,69,229,.18)}
        #pv-modal-cot-preview{box-sizing:border-box;padding:18px;background:rgba(20,24,38,.52);-webkit-backdrop-filter:blur(12px) saturate(145%);backdrop-filter:blur(12px) saturate(145%)}
        .rv-cfg-cot-preview-modal{position:relative;display:flex;flex-direction:column;width:min(1240px,calc(100vw - 36px));max-width:1240px!important;height:min(900px,calc(100dvh - 36px));max-height:calc(100dvh - 36px)!important;box-sizing:border-box;padding:0!important;overflow:hidden!important;border:1px solid rgba(255,255,255,.74);border-radius:24px;background:#fff;box-shadow:0 34px 95px rgba(20,24,38,.34),0 12px 32px rgba(109,69,229,.10);animation:none!important}
        .rv-cfg-cot-preview-modal:before{position:absolute;z-index:7;top:0;right:30px;left:30px;height:3px;border-radius:0 0 8px 8px;background:linear-gradient(90deg,#08A6EC,#6D45E5 43%,#D71979 74%,#F5013C);content:""}
        .rv-cfg-cot-preview-head{position:relative;z-index:6;display:grid;grid-template-columns:46px minmax(220px,1fr) auto auto 36px;align-items:center;gap:12px;min-height:76px;box-sizing:border-box;padding:12px 18px;border-bottom:1px solid #E7EAF1;background:linear-gradient(112deg,#FFFFFF 54%,#FAF7FF 79%,#FFF6F9)}
        .rv-cfg-cot-preview-head-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;color:#fff;background:linear-gradient(145deg,#08A6EC,#6D45E5 49%,#D71979 77%,#F5013C);box-shadow:0 9px 20px rgba(109,69,229,.21)}
        .rv-cfg-cot-preview-head-icon svg,.rv-cfg-cot-preview-head-icon svg *{width:21px!important;height:21px!important;fill:none!important;stroke:currentColor!important}
        .rv-cfg-cot-preview-head-copy{display:flex;min-width:0;flex-direction:column;gap:2px}
        .rv-cfg-cot-preview-head-copy small{color:#6D45E5;font-size:7.5px;font-weight:900;line-height:1;letter-spacing:.105em}
        .rv-cfg-cot-preview-head-copy>strong{overflow:hidden;color:#172033;font-size:18px;font-weight:900;line-height:1.12;letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap}
        .rv-cfg-cot-preview-head-copy em{overflow:hidden;color:#8490A6;font-size:9.5px;font-style:normal;font-weight:650;text-overflow:ellipsis;white-space:nowrap}
        .rv-cfg-cot-preview-head-status{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 10px;border:1px solid #CCEFE0;border-radius:10px;color:#087A50;background:#EFFAF5;font-size:9px;font-weight:800;white-space:nowrap}
        .rv-cfg-cot-preview-head-status>i{width:7px;height:7px;border-radius:50%;background:#0BB76D;box-shadow:0 0 0 4px rgba(11,183,109,.11)}
        .rv-cfg-cot-preview-head-actions{display:flex;align-items:center;gap:7px}
        .rv-cfg-cot-preview-head-action{display:grid;grid-template-columns:29px minmax(0,1fr);align-items:center;gap:7px;min-width:118px;height:44px;box-sizing:border-box;padding:5px 9px;border:1px solid #DDDFF0;border-radius:11px;background:#fff;color:#4A556B;font:inherit;text-align:left;cursor:pointer;box-shadow:0 4px 11px rgba(38,45,69,.045);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
        .rv-cfg-cot-preview-head-action:hover{transform:translateY(-1px);border-color:#A995EF;box-shadow:0 7px 16px rgba(77,58,142,.10)}
        .rv-cfg-cot-preview-head-action>svg{box-sizing:content-box;width:15px!important;height:15px!important;padding:7px;border-radius:9px;background:#F0EBFF;color:#6D45E5}
        .rv-cfg-cot-preview-head-action>span{display:flex;min-width:0;flex-direction:column;gap:1px}
        .rv-cfg-cot-preview-head-action strong{font-size:9.5px;font-weight:850;line-height:1.05;white-space:nowrap}
        .rv-cfg-cot-preview-head-action small{color:#8A95A8;font-size:7.5px;font-weight:650;line-height:1.05}
        .rv-cfg-cot-preview-head-action.is-pdf{border-color:transparent;color:#fff;background:linear-gradient(110deg,#6D45E5,#B02CA9 60%,#F5013C);box-shadow:0 7px 16px rgba(159,38,142,.18)}
        .rv-cfg-cot-preview-head-action.is-pdf>svg{color:#fff;background:rgba(255,255,255,.18)}
        .rv-cfg-cot-preview-head-action.is-pdf small{color:rgba(255,255,255,.76)}
        .rv-cfg-cot-preview-head-action.is-loading{pointer-events:none;opacity:.72}
        .rv-cfg-cot-preview-head>.pv-modal-close{position:static!important;display:grid!important;place-items:center!important;box-sizing:border-box!important;float:none!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;margin:0!important;padding:0!important;border:1px solid #DDD7EF!important;border-radius:10px!important;color:#6D45E5!important;background:#fff!important;font-size:21px!important;line-height:1!important;box-shadow:0 3px 9px rgba(50,43,75,.05)}
        .rv-cfg-cot-preview-head>.pv-modal-close:hover{border-color:#9D86EF!important;background:#F8F5FF!important}
        .rv-cfg-cot-preview-stage{display:flex;min-height:0;flex:1;flex-direction:column;padding:0 16px 16px;background:radial-gradient(circle at 12% 0,rgba(8,166,236,.055),transparent 28%),radial-gradient(circle at 88% 0,rgba(245,1,60,.045),transparent 28%),#EEF1F6}
        .rv-cfg-cot-preview-stage-label{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px;padding:0 2px;color:#657086;font-size:8.5px;font-weight:800}
        .rv-cfg-cot-preview-stage-label span{display:inline-flex;align-items:center;gap:7px}
        .rv-cfg-cot-preview-stage-label i{width:6px;height:6px;border-radius:50%;background:#6D45E5}
        .rv-cfg-cot-preview-stage-label strong{color:#8A95A8;font-size:8px;font-weight:750}
        .rv-cfg-cot-preview-frame{display:block;width:100%;min-height:0;flex:1;border:1px solid #DDE2EA;border-radius:14px;background:#E9EDF2;box-shadow:0 12px 30px rgba(31,41,61,.10)}
        @media(max-width:900px){
            #pv-modal-cot-preview{padding:8px}
            .rv-cfg-cot-preview-modal{width:calc(100vw - 16px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)!important;border-radius:18px}
            .rv-cfg-cot-preview-head{grid-template-columns:40px minmax(0,1fr) auto 32px;gap:9px;min-height:68px;padding:9px 11px}
            .rv-cfg-cot-preview-head-icon{width:40px;height:40px;border-radius:12px}
            .rv-cfg-cot-preview-head-status{display:none}
            .rv-cfg-cot-preview-head-actions{grid-column:3}
            .rv-cfg-cot-preview-head-action{display:grid;place-items:center;min-width:34px;width:34px;height:34px;padding:0}
            .rv-cfg-cot-preview-head-action>svg{box-sizing:border-box;width:30px!important;height:30px!important;padding:7px}
            .rv-cfg-cot-preview-head-action>span{display:none}
            .rv-cfg-cot-preview-head>.pv-modal-close{grid-column:4;width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important}
            .rv-cfg-cot-preview-stage{padding:0 8px 8px}
        }
        .rv-cfg-cot-content{display:flex;flex-direction:column}
        .rv-cfg-cot-field+.rv-cfg-cot-field{margin-top:14px}
        .rv-cfg-cot-field-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px}
        .rv-cfg-cot-field-title label{margin:0;color:#4A566C;font-size:9.5px;font-weight:850;letter-spacing:.045em;text-transform:uppercase}
        .rv-cfg-cot-field-title span{color:#9AA4B5;font-size:8.5px;font-weight:650;white-space:nowrap}
        .rv-cfg-cot-field textarea{display:block;width:100%;min-height:104px;box-sizing:border-box;padding:12px 13px;border:1px solid #DDE2EB;border-radius:11px;outline:none;background:#FAFBFD;color:#20293A;font:inherit;font-size:11.5px;line-height:1.5;resize:vertical;box-shadow:inset 0 1px 2px rgba(20,28,45,.02);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
        .rv-cfg-cot-field textarea:focus{border-color:#8062E8;background:#fff;box-shadow:0 0 0 3px rgba(109,69,229,.10)}
        .rv-cfg-cot-savebar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;padding:12px 13px;border:1px solid #E4DDF8;border-radius:13px;background:linear-gradient(100deg,#F9F7FF 0%,#FFFFFF 58%,#FFF8FC 100%)}
        .rv-cfg-cot-savebar>span{display:flex;align-items:center;gap:8px;color:#756A91;font-size:10px;font-weight:700}
        .rv-cfg-cot-savebar>span>i{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#13B886;box-shadow:0 0 0 4px rgba(19,184,134,.09)}
        .rv-cfg-cot-savebar .pvf-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:190px;min-height:42px;margin:0;border:0!important;border-radius:11px!important;color:#fff!important;background:linear-gradient(100deg,#7143ED,#C42A9B 68%,#F5013C)!important;box-shadow:0 9px 20px rgba(132,48,184,.20)!important;transition:transform .16s ease,filter .16s ease}
        .rv-cfg-cot-savebar .pvf-btn:hover{transform:translateY(-1px);filter:brightness(1.035)}
        .rv-cfg-cot-savebar .pvf-btn svg{width:15px!important;height:15px!important;fill:none!important;stroke:currentColor!important}

        /* ===== Configuración · Sucursales ===== */
        .rv-cfg-branch-pane{width:100%;max-width:1320px;margin-right:auto;margin-left:auto}
        .rv-cfg-branch-pane-head{align-items:flex-end;justify-content:space-between;min-height:48px;margin:0;padding:0 3px}
        .rv-cfg-branch-pane-head>div{display:flex;min-width:0;flex-direction:column}
        .rv-cfg-branch-pane-head h2{font-size:22px;line-height:1.1}
        .rv-cfg-branch-pane-head p{margin:5px 0 0;color:#7D899E;font-size:11.5px;line-height:1.4}
        .rv-cfg-branch-kicker{margin-bottom:5px;color:#7044E5;font-size:8px;font-weight:900;line-height:1;letter-spacing:.105em;text-transform:uppercase}
        .rv-cfg-branch-ready{display:inline-flex;align-items:center;gap:7px;min-height:30px;box-sizing:border-box;padding:0 11px;border:1px solid #DCE8F7;border-radius:999px;background:#F4F9FE;color:#2471A8;font-size:9.5px;font-weight:800;white-space:nowrap}
        .rv-cfg-branch-ready>i{width:7px;height:7px;border-radius:50%;background:#08A6EC;box-shadow:0 0 0 4px rgba(8,166,236,.10)}
        .pv-ms-branch-workspace{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(350px,.8fr);align-items:start;gap:16px}
        .pv-ms-branch-editor,.pv-ms-branch-network{position:relative;min-width:0;box-sizing:border-box;overflow:hidden;border:1px solid #E2E6EE;border-radius:18px;background:linear-gradient(145deg,#FFFFFF 0%,#FCFBFF 100%);box-shadow:0 12px 30px rgba(31,42,68,.055)}
        .pv-ms-branch-editor:before,.pv-ms-branch-network:before{position:absolute;top:0;right:16%;left:16%;height:2px;border-radius:0 0 5px 5px;background:linear-gradient(90deg,#08A6EC,#6D45E5 55%,#D71979);content:""}
        .pv-ms-branch-panel-head{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:17px 19px;border-bottom:1px solid #E9EDF3;background:linear-gradient(115deg,#FFFFFF 58%,#FAF8FF)}
        .pv-ms-branch-panel-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,#7654EC,#6038D7);color:#fff;box-shadow:0 8px 18px rgba(98,57,215,.21)}
        .pv-ms-branch-panel-icon svg,.pv-ms-branch-panel-icon svg *{width:19px!important;height:19px!important;fill:none!important;stroke:currentColor!important}
        .pv-ms-branch-panel-head>div{display:flex;min-width:0;flex-direction:column}
        .pv-ms-branch-panel-head>div>small{color:#7357D1;font-size:7.5px;font-weight:900;line-height:1;letter-spacing:.09em;text-transform:uppercase}
        .pv-ms-branch-panel-head h3{margin:4px 0 2px;color:#20293B;font-size:15px;font-weight:880;letter-spacing:-.015em}
        .pv-ms-branch-panel-head p{margin:0;color:#8792A5;font-size:9.5px;line-height:1.35}
        .pv-ms-branch-mode{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:0 9px;border:1px solid #DED5FA;border-radius:999px;background:#F6F3FF;color:#6842D3;font-size:8px;font-weight:850;letter-spacing:.045em;text-transform:uppercase}
        .pv-ms-branch-form{display:flex;flex-direction:column;padding:18px 19px 16px}
        .pv-ms-branch-form-section+.pv-ms-branch-form-section{margin-top:18px;padding-top:17px;border-top:1px solid #EDF0F5}
        .pv-ms-branch-form-section-title{display:flex;align-items:center;gap:8px;margin-bottom:12px}
        .pv-ms-branch-form-section-title>span{display:flex;align-items:center;justify-content:center;width:23px;height:23px;border-radius:8px;background:#F0EBFF;color:#6B45D6;font-size:8px;font-weight:900}
        .pv-ms-branch-form-section-title>strong{color:#3C485D;font-size:10.5px;font-weight:850}
        .pv-ms-branch-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
        .pv-ms-branch-form-grid.is-identity{grid-template-columns:minmax(140px,.7fr) minmax(240px,1.3fr)}
        .pv-ms-branch-form-grid.is-identity>.pv-ms-branch-field:last-child{grid-column:1}
        .pv-ms-branch-field{display:flex;min-width:0;flex-direction:column;gap:6px}
        .pv-ms-branch-field.is-wide{grid-column:1/-1}
        .pv-ms-branch-field>span{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#778399;font-size:8.5px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
        .pv-ms-branch-field>span>em{padding:3px 6px;border-radius:6px;background:#F2EEFF;color:#7250D7;font-size:6.5px;font-style:normal;font-weight:900;letter-spacing:.055em}
        html body #pvf-shell #pv-cfg-pane-sucursales .pv-ms-branch-field>input{display:block!important;width:100%!important;min-width:0!important;max-width:none!important;height:40px!important;min-height:40px!important;box-sizing:border-box!important;margin:0!important;padding:0 12px!important;border:1px solid #DDE2EB!important;border-radius:10px!important;outline:none!important;background:#FAFBFD!important;color:#20293A!important;font:inherit!important;font-size:11px!important;box-shadow:none!important;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease!important}
        html body #pvf-shell #pv-cfg-pane-sucursales .pv-ms-branch-field>input:focus{border-color:#8062E8!important;background:#fff!important;box-shadow:0 0 0 3px rgba(109,69,229,.10)!important}
        .pv-ms-branch-auto-note{display:grid;grid-template-columns:33px minmax(0,1fr);align-items:center;gap:10px;margin-top:17px;padding:10px 12px;border:1px solid #D9EDE5;border-radius:11px;background:linear-gradient(100deg,#F2FBF7,#FBFEFC)}
        .pv-ms-branch-auto-note>span{display:flex;align-items:center;justify-content:center;width:33px;height:33px;border-radius:10px;background:#DFF6EB;color:#0A8A63}
        .pv-ms-branch-auto-note svg{width:16px;height:16px}
        .pv-ms-branch-auto-note>div{display:flex;min-width:0;flex-direction:column;gap:2px}
        .pv-ms-branch-auto-note strong{color:#27604D;font-size:9.5px;font-weight:850}
        .pv-ms-branch-auto-note small{color:#6F8E83;font-size:8.5px;line-height:1.35}
        .pv-ms-branch-form-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:17px;padding-top:15px;border-top:1px solid #EDF0F5}
        .pv-ms-branch-form-actions>span{color:#929CAD;font-size:8.5px;font-weight:650}
        .pv-ms-branch-cancel{color:#7A8496;font-size:9.5px;font-weight:750;text-decoration:none!important}
        .pv-ms-branch-cancel:hover{color:#5F3DCA}
        .pv-ms-branch-form-actions .pvf-btn{display:inline-flex;min-width:154px;min-height:39px;align-items:center;justify-content:center;gap:7px;margin:0;border:0!important;border-radius:10px!important;color:#fff!important;background:linear-gradient(100deg,#7143ED,#C42A9B 68%,#F5013C)!important;box-shadow:0 8px 18px rgba(132,48,184,.18)!important}
        .pv-ms-branch-form-actions .pvf-btn:hover{transform:translateY(-1px);filter:brightness(1.035)}
        .pv-ms-branch-form-actions .pvf-btn svg{width:14px!important;height:14px!important;fill:none!important;stroke:currentColor!important}
        .pv-ms-branch-network{display:flex;min-height:100%;flex-direction:column}
        .pv-ms-branch-network-head{display:grid;grid-template-columns:minmax(0,1fr) 65px;align-items:center;gap:12px;padding:17px 18px;border-bottom:1px solid #E9EDF3;background:linear-gradient(120deg,#FFFFFF,#F7FBFE)}
        .pv-ms-branch-network-head>div{display:flex;min-width:0;flex-direction:column}
        .pv-ms-branch-network-head>div>small{color:#0787BF;font-size:7.5px;font-weight:900;line-height:1;letter-spacing:.09em;text-transform:uppercase}
        .pv-ms-branch-network-head h3{margin:4px 0 2px;color:#20293B;font-size:15px;font-weight:880;letter-spacing:-.015em}
        .pv-ms-branch-network-head p{margin:0;color:#8792A5;font-size:9.5px}
        .pv-ms-branch-network-head>span{display:flex;min-height:47px;align-items:center;justify-content:center;flex-direction:column;border:1px solid #DCE7F5;border-radius:11px;background:#F5F9FD}
        .pv-ms-branch-network-head>span>strong{color:#5F42CF;font-size:17px;font-weight:880;line-height:1}
        .pv-ms-branch-network-head>span>small{margin-top:3px;color:#8290A5;font-size:7px;font-weight:850;text-transform:uppercase}
        .pv-ms-branch-list{display:flex;max-height:510px;min-height:0;flex-direction:column;gap:10px;overflow:auto;padding:14px}
        #pvf-shell #pv-cfg-pane-sucursales .pv-ms-branch-card{position:relative;box-sizing:border-box;padding:13px;border:1px solid #E2E7EF;border-radius:14px;background:#fff;box-shadow:0 5px 14px rgba(32,43,69,.035);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
        #pvf-shell #pv-cfg-pane-sucursales .pv-ms-branch-card:hover{border-color:#D4C9F5;box-shadow:0 8px 20px rgba(69,48,133,.075);transform:translateY(-1px)}
        .pv-ms-branch-card-head{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px}
        .pv-ms-branch-card-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:11px;background:#F0EBFF;color:#6844D7}
        .pv-ms-branch-card.is-active .pv-ms-branch-card-icon{background:#EAF8FF;color:#078EC8}
        .pv-ms-branch-card-icon svg{width:17px;height:17px}
        .pv-ms-branch-card-head>div{display:flex;min-width:0;flex-direction:column;gap:3px}
        .pv-ms-branch-card-head>div>strong{overflow:hidden;color:#253044;font-size:11.5px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}
        .pv-ms-branch-card-head>div>small{overflow:hidden;color:#8A95A7;font-size:7.5px;font-weight:750;letter-spacing:.025em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}
        .pv-ms-branch-status{display:inline-flex;align-items:center;gap:5px;min-height:22px;padding:0 7px;border-radius:999px;background:#F1EDFF;color:#6843D2;font-size:7.5px;font-weight:850}
        .pv-ms-branch-status>i{width:5px;height:5px;border-radius:50%;background:#7954E5}
        .pv-ms-branch-card.is-active .pv-ms-branch-status{background:#ECF9F4;color:#087B5C}
        .pv-ms-branch-card.is-active .pv-ms-branch-status>i{background:#15B787}
        .pv-ms-branch-card.is-inactive .pv-ms-branch-status{background:#F3F4F6;color:#747D8B}
        .pv-ms-branch-card.is-inactive .pv-ms-branch-status>i{background:#99A1AE}
        .pv-ms-branch-card-details{display:flex;flex-direction:column;gap:6px;margin-top:11px;padding:9px 10px;border-radius:10px;background:#F8F9FC}
        .pv-ms-branch-card-details>span{display:flex;min-width:0;align-items:center;gap:7px;overflow:hidden;color:#727E92;font-size:8.5px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
        .pv-ms-branch-card-details svg{width:13px;height:13px;flex:0 0 13px;color:#8063DC}
        .pv-ms-branch-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}
        .pv-ms-branch-card-foot>span{color:#929CAE;font-size:7.5px;font-weight:700;text-transform:uppercase}
        .pv-ms-branch-card-foot>span>strong{margin-left:4px;color:#526077;font-size:8.5px}
        .pv-ms-branch-card-foot>a{display:inline-flex;min-height:29px;align-items:center;justify-content:center;gap:5px;padding:0 9px;border:1px solid #D5C9F6;border-radius:8px;background:#FBFAFF;color:#6540D2;font-size:8.5px;font-weight:800;text-decoration:none!important}
        .pv-ms-branch-card-foot>a:hover{border-color:#987DE8;background:#F5F1FF}
        .pv-ms-branch-card-foot>a svg{width:12px;height:12px}
        .pv-ms-branch-network-foot{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:auto;padding:11px 14px;border-top:1px solid #E9EDF3;background:#FAFBFD;color:#8390A4;font-size:8.5px}
        .pv-ms-branch-network-foot>i{width:6px;height:6px;border-radius:50%;background:#13B886;box-shadow:0 0 0 3px rgba(19,184,134,.09)}
        .pv-ms-branch-network-foot strong{color:#5D3DCA;font-size:9.5px}
        @media (max-width:1050px){
            .rv-cfg-profile-card{grid-template-columns:minmax(220px,.75fr) minmax(360px,1.25fr)}
            .rv-cfg-card-identity{grid-template-columns:repeat(2,minmax(0,1fr))}
            .rv-cfg-card-identity>.rv-cfg-field-company-name,.rv-cfg-card-identity>.rv-cfg-field-address{grid-column:1/-1}
            .rv-cfg-card-identity>.pv-campos-fila>.rv-cfg-campo{grid-column:auto}
            .rv-cfg-logo-panel{gap:18px}
            .rv-cfg-card-social,.rv-cfg-card-operation{grid-template-columns:repeat(2,minmax(0,1fr))}
            .rv-cfg-card-social>.rv-cfg-campo{grid-column:1/-1}
        }
        @media (max-width:720px){
            .rv-cfg-profile-card{grid-template-columns:1fr;gap:14px}
            .rv-cfg-profile-form{grid-template-columns:1fr}
            .rv-cfg-profile-form .pvf-btn{width:100%}
            .rv-cfg-company-form>.rv-cfg-card{padding:17px 15px}
            .rv-cfg-card-identity,.rv-cfg-card-social,.rv-cfg-card-operation{grid-template-columns:1fr;gap:13px}
            .rv-cfg-card-identity>.rv-cfg-field-company-name,.rv-cfg-card-identity>.rv-cfg-field-address,.rv-cfg-card-identity>.pv-campos-fila>.rv-cfg-campo,.rv-cfg-card-social>.rv-cfg-campo{grid-column:1}
            .rv-cfg-logo-panel{align-items:stretch;flex-direction:column;gap:12px}
            .rv-cfg-logo-copy{justify-content:center;min-width:0}
            .rv-cfg-logo-controles{align-items:stretch;flex:0 0 auto;flex-direction:column}
            .rv-cfg-logo-controles .pv-file-input{width:100%;min-width:0}
            .rv-cfg-logo-controles .pvf-btn{width:100%}
            .rv-cfg-savebar{align-items:stretch;flex-direction:column}
            .rv-cfg-savebar .pvf-btn{width:100%;min-width:0}
        }
        @media (max-width:980px){
            .rv-cfg-cot-grid{grid-template-columns:1fr}
            .rv-cfg-cot-template{grid-template-columns:200px minmax(0,1fr);min-height:260px}
            .rv-cfg-cot-paper{width:200px}
            .pv-ms-branch-workspace{grid-template-columns:1fr}
            .pv-ms-branch-list{display:grid;max-height:none;grid-template-columns:repeat(2,minmax(0,1fr))}
            .pv-ms-branch-network-foot{margin-top:0}
        }
        @media (max-width:620px){
            .rv-cfg-cot-pane-head{align-items:flex-start;gap:12px}
            .rv-cfg-cot-ready{display:none}
            .rv-cfg-cot-workspace{padding:12px;border-radius:16px}
            .rv-cfg-cot-section{padding:15px;border-radius:14px}
            .rv-cfg-cot-template{grid-template-columns:1fr;justify-items:center;gap:17px}
            .rv-cfg-cot-paper{width:min(180px,72vw)}
            .rv-cfg-cot-template-info{width:100%;align-items:center;text-align:center}
            .rv-cfg-cot-upload-actions{justify-content:center}
            .rv-cfg-cot-upload-actions .pv-file-input{justify-content:center;flex-basis:100%}
            .rv-cfg-cot-field-title{align-items:flex-start;flex-direction:column;gap:3px}
            .rv-cfg-cot-field-title span{white-space:normal}
            .rv-cfg-cot-savebar{align-items:stretch;flex-direction:column;padding:13px}
            .rv-cfg-cot-savebar .pvf-btn{width:100%;min-width:0}
            .rv-cfg-branch-pane-head{align-items:flex-start;gap:12px}
            .rv-cfg-branch-ready{display:none}
            .pv-ms-branch-panel-head{grid-template-columns:38px minmax(0,1fr);padding:14px}
            .pv-ms-branch-panel-icon{width:38px;height:38px;border-radius:11px}
            .pv-ms-branch-mode{display:none}
            .pv-ms-branch-form{padding:15px 14px 14px}
            .pv-ms-branch-form-grid,.pv-ms-branch-form-grid.is-identity{grid-template-columns:1fr}
            .pv-ms-branch-form-grid.is-identity>.pv-ms-branch-field:last-child{grid-column:auto}
            .pv-ms-branch-field.is-wide{grid-column:auto}
            .pv-ms-branch-form-actions{align-items:stretch;flex-direction:column}
            .pv-ms-branch-form-actions .pvf-btn{width:100%}
            .pv-ms-branch-list{grid-template-columns:1fr;padding:11px}
            .pv-ms-branch-network-head{padding:14px}
        }
        .rv-cfg-campo{margin-bottom:12px}
        .rv-cfg-campo label{display:block;font-size:11px;font-weight:700;color:var(--pv-muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.02em}
        .rv-cfg-campo input[type=text],.rv-cfg-campo input[type=email],.rv-cfg-campo select,.rv-cfg-campo textarea{width:100%;box-sizing:border-box;padding:10px 13px;border:1.5px solid var(--pv-border2);border-radius:11px;background:var(--pv-surface-2);font-size:13px;color:var(--pv-ink);font-family:inherit;resize:vertical}
        .rv-cfg-logo-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}
        .rv-cfg-logo-row img{max-height:32px;border-radius:6px;border:1px solid var(--pv-border)}
        .rv-cfg-paletas-grid{display:flex;gap:14px;flex-wrap:wrap}
        .rv-cfg-paleta-opcion{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:14px;border:1.5px solid var(--pv-border2);border-radius:14px;background:#F9FAFC;cursor:pointer;min-width:140px}
        .rv-cfg-paleta-opcion input[type=radio]{position:absolute;opacity:0;pointer-events:none}
        /* :has() en vez de depender solo de la clase renderizada por PHP, para
           que el resaltado salte a la opción clickeada al toque, sin JS ni
           esperar a que se recargue la página al guardar. */
        .rv-cfg-paleta-opcion:has(input:checked),.rv-cfg-paleta-activa{border-color:var(--pv-primary);background:var(--pv-surface);box-shadow:0 0 0 3px rgba(0,0,0,.04)}
        .rv-cfg-paleta-swatches{display:flex;gap:5px}
        .rv-cfg-paleta-swatch{width:22px;height:22px;border-radius:7px;border:1px solid rgba(0,0,0,.08)}
        .rv-cfg-paleta-nombre{font-size:13px;font-weight:700;color:var(--pv-ink)}
        .rv-cfg-peligro{background:#FEF2F2;border:1px solid #FCA5A5;border-radius:20px;padding:22px}
        .rv-cfg-peligro-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px}
        .rv-cfg-peligro-icono{flex-shrink:0;width:38px;height:38px;border-radius:11px;background:#FEE2E2;color:#DC2626;display:flex;align-items:center;justify-content:center}
        .rv-cfg-peligro-head h2{margin:0 0 4px;color:#B91C1C;font-size:15px}
        .rv-cfg-peligro-head p{margin:0;color:#7F1D1D;font-size:12.5px;max-width:620px}
        .rv-user-row{display:flex;align-items:center;gap:12px;padding:10px 12px;margin:0 -12px;border-radius:12px;cursor:pointer}
        .rv-user-row + .rv-user-row{border-top:1px solid var(--pv-border)}
        .rv-user-row:hover{background:var(--pv-bg)}
        .rv-user-row.active{background:var(--pv-bg)}
        .rv-user-row .rv-prov-avatar{width:36px;height:36px;font-size:12.5px}
        .rv-user-nombre{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
        .rv-user-nombre strong{font-size:13px;color:var(--pv-ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
        .rv-user-nombre span{font-size:11px;color:var(--pv-muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
        /* Tarjeta de permisos por usuario: en vez de modal, se ve inline
           debajo de la lista — solo la del usuario elegido queda visible. */
        .rv-user-permisos-panel{display:none}
        .rv-user-permisos-panel.active{display:block}

        /* ===== Configuración · Usuarios y permisos ===== */
        .rv-cfg-users-pane{width:100%;max-width:1320px;margin-right:auto;margin-left:auto}
        .rv-cfg-users-pane-head{align-items:flex-end;justify-content:space-between;min-height:48px;margin:0;padding:0 3px}
        .rv-cfg-users-pane-head>div{display:flex;min-width:0;flex-direction:column}
        .rv-cfg-users-pane-head h2{font-size:22px;line-height:1.1}
        .rv-cfg-users-pane-head p{margin:5px 0 0;color:#7D899E;font-size:11.5px;line-height:1.4}
        .rv-cfg-users-kicker{margin-bottom:5px;color:#7044E5;font-size:8px;font-weight:900;line-height:1;letter-spacing:.105em;text-transform:uppercase}
        .rv-cfg-users-ready{display:inline-flex;align-items:center;gap:7px;min-height:30px;box-sizing:border-box;padding:0 11px;border:1px solid #D9F1E8;border-radius:999px;background:#F1FBF7;color:#087F5B;font-size:9.5px;font-weight:800;white-space:nowrap}
        .rv-cfg-users-ready>i{width:7px;height:7px;border-radius:50%;background:#12B886;box-shadow:0 0 0 4px rgba(18,184,134,.10)}
        .rv-users-password-card{position:relative;display:grid;grid-template-columns:minmax(310px,.85fr) minmax(520px,1.15fr);align-items:center;gap:22px;box-sizing:border-box;overflow:hidden;padding:15px 18px;border:1px solid #E2E6EE;border-radius:17px;background:linear-gradient(110deg,#FFFFFF 52%,#FAF8FF 82%,#FFF9FC);box-shadow:0 10px 27px rgba(31,42,68,.05)}
        .rv-users-password-card:before{position:absolute;top:0;right:17%;left:17%;height:2px;border-radius:0 0 5px 5px;background:linear-gradient(90deg,#08A6EC,#6D45E5 52%,#D71979);content:""}
        .rv-users-password-copy{display:flex;min-width:0;align-items:center;gap:12px}
        .rv-users-password-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 42px;border-radius:13px;background:linear-gradient(145deg,#7654EC,#6038D7);color:#fff;box-shadow:0 8px 18px rgba(98,57,215,.20)}
        .rv-users-password-icon svg,.rv-users-password-icon svg *{width:19px!important;height:19px!important;fill:none!important;stroke:currentColor!important}
        .rv-users-password-copy>div{display:flex;min-width:0;flex-direction:column}
        .rv-users-password-copy small{color:#7256CE;font-size:7.5px;font-weight:900;letter-spacing:.085em;text-transform:uppercase}
        .rv-users-password-copy h3{margin:4px 0 2px;color:#20293B;font-size:14.5px;font-weight:880}
        .rv-users-password-copy p{margin:0;color:#8590A3;font-size:9px;line-height:1.35}
        .rv-users-password-copy p strong{color:#5F46B1}
        .rv-users-password-form{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr)) auto;align-items:end;gap:9px}
        .rv-users-password-form>label{display:flex;min-width:0;flex-direction:column;gap:5px}
        .rv-users-password-form>label>span{color:#778399;font-size:8px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
        html body #pvf-shell .rv-users-password-form input{display:block!important;width:100%!important;min-width:0!important;max-width:none!important;height:38px!important;min-height:38px!important;box-sizing:border-box!important;margin:0!important;padding:0 11px!important;border:1px solid #DDE2EB!important;border-radius:9px!important;outline:none!important;background:#fff!important;color:#20293A!important;font-size:10.5px!important;box-shadow:none!important}
        html body #pvf-shell .rv-users-password-form input:focus{border-color:#8062E8!important;box-shadow:0 0 0 3px rgba(109,69,229,.10)!important}
        .rv-users-password-form .pvf-btn{display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:7px;margin:0;padding:0 13px;border:0!important;border-radius:9px!important;color:#fff!important;background:linear-gradient(100deg,#7143ED,#C42A9B 70%,#F5013C)!important;box-shadow:0 7px 16px rgba(132,48,184,.17)!important;white-space:nowrap}
        .rv-users-password-form .pvf-btn svg{width:13px!important;height:13px!important;fill:none!important;stroke:currentColor!important}
        .rv-users-workspace{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:16px}
        .rv-users-directory,.rv-user-permisos-panel,.rv-users-editor-empty{position:relative;min-width:0;box-sizing:border-box;overflow:hidden;border:1px solid #E2E6EE;border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(31,42,68,.055)}
        .rv-users-directory:before,.rv-user-permisos-panel:before{position:absolute;top:0;right:16%;left:16%;height:2px;border-radius:0 0 5px 5px;background:linear-gradient(90deg,#08A6EC,#6D45E5 55%,#D71979);content:""}
        .rv-users-directory-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:14px 16px;border-bottom:1px solid #E9EDF3;background:linear-gradient(120deg,#FFFFFF,#F8FBFE)}
        .rv-users-directory-head>div{display:flex;min-width:0;flex-direction:column}
        .rv-users-directory-head>div>small{color:#0789C1;font-size:7px;font-weight:900;line-height:1;letter-spacing:.09em;text-transform:uppercase}
        .rv-users-directory-head h3{margin:4px 0 2px;color:#20293B;font-size:14.5px;font-weight:880}
        .rv-users-directory-head p{margin:0;color:#8792A5;font-size:8.5px;line-height:1.35}
        .rv-users-directory-head>.rv-users-directory-actions{display:flex;min-width:0;align-items:center;justify-content:flex-end;flex-direction:row;gap:9px}
        .rv-users-count{display:flex;min-height:44px;align-items:center;justify-content:center;flex-direction:column;border:1px solid #DDE6F3;border-radius:10px;background:#F6F9FD}
        .rv-users-count{width:58px;flex:0 0 58px}
        .rv-users-count strong{color:#6143D0;font-size:16px;line-height:1}
        .rv-users-count small{margin-top:3px;color:#8995A8;font-size:6.5px;font-weight:850;text-transform:uppercase}
        .rv-users-create{display:flex;width:auto;min-width:138px;min-height:38px;box-sizing:border-box;align-items:center;justify-content:center;gap:7px;margin:0;padding:0 14px;border:1px solid #D3C7F7;border-radius:9px;background:linear-gradient(180deg,#FFFFFF,#FAF8FF);color:#6540D3;font:inherit;font-size:9.5px;font-weight:820;cursor:pointer;box-shadow:0 4px 11px rgba(98,62,205,.055)}
        .rv-users-create:hover{border-color:#947AE8;background:#F6F2FF}
        .rv-users-create svg{width:13px!important;height:13px!important}
        .rv-users-list{display:grid;max-height:228px;min-height:0;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start;gap:9px;overflow:auto;padding:11px 12px 12px}
        #pvf-shell #pv-cfg-pane-usuarios .rv-user-row{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr) 18px 29px;align-items:center;gap:9px;min-height:68px;box-sizing:border-box;margin:0;padding:9px;border:1px solid transparent;border-radius:12px;background:#FAFBFD;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}
        #pvf-shell #pv-cfg-pane-usuarios .rv-user-row+.rv-user-row{border-top:1px solid transparent}
        #pvf-shell #pv-cfg-pane-usuarios .rv-user-row:hover{border-color:#E0DAF5;background:#F9F7FF;transform:translateY(-1px)}
        #pvf-shell #pv-cfg-pane-usuarios .rv-user-row.active{border-color:#D2C5F7;background:#F6F2FF;box-shadow:0 6px 14px rgba(86,61,157,.075)}
        #pvf-shell #pv-cfg-pane-usuarios .rv-user-row .rv-prov-avatar{display:flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:11px;color:#fff;font-size:10px;font-weight:850}
        #pvf-shell #pv-cfg-pane-usuarios .rv-user-row>.rv-prov-avatar{grid-area:auto}
        #pvf-shell #pv-cfg-pane-usuarios .rv-user-nombre{display:flex;min-width:0;flex-direction:column;gap:2px}
        #pvf-shell #pv-cfg-pane-usuarios .rv-user-nombre strong{overflow:hidden;color:#283348;font-size:10.5px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}
        #pvf-shell #pv-cfg-pane-usuarios .rv-user-nombre span{overflow:hidden;color:#6C4CCC;font-size:8px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}
        #pvf-shell #pv-cfg-pane-usuarios .rv-user-nombre small{overflow:hidden;color:#929CAD;font-size:7.5px;text-overflow:ellipsis;white-space:nowrap}
        .rv-user-row-chevron{display:flex;color:#9A8FC0;transition:transform .16s ease}
        .rv-user-row-chevron svg{width:15px;height:15px}
        .rv-user-row.active .rv-user-row-chevron{color:#6844D8;transform:translateX(2px)}
        .rv-user-delete-form{margin:0}
        .rv-user-delete{display:flex;width:29px;height:29px;align-items:center;justify-content:center;padding:0;border:1px solid #F4D8DE;border-radius:8px;background:#FFF8FA;color:#DC3158;cursor:pointer}
        .rv-user-delete:hover{border-color:#F1AABA;background:#FFF0F3}
        .rv-user-delete svg{width:13px!important;height:13px!important}
        .rv-users-directory-foot{display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 12px;border-top:1px solid #E9EDF3;background:#FAFBFD;color:#8995A8;font-size:7.5px;font-weight:700}
        .rv-users-directory-foot>i{width:6px;height:6px;border-radius:50%;background:#13B886;box-shadow:0 0 0 3px rgba(19,184,134,.09)}
        .rv-users-empty,.rv-users-editor-empty{display:flex;min-height:180px;align-items:center;justify-content:center;flex-direction:column;padding:22px;text-align:center}
        .rv-users-empty>span,.rv-users-editor-empty>span{display:flex;width:42px;height:42px;align-items:center;justify-content:center;margin-bottom:10px;border-radius:13px;background:#F0EBFF;color:#6945D7}
        .rv-users-empty svg,.rv-users-editor-empty svg{width:19px!important;height:19px!important}
        .rv-users-empty strong,.rv-users-editor-empty strong{color:#354157;font-size:11px}
        .rv-users-empty small,.rv-users-editor-empty small{margin-top:4px;color:#8C97A9;font-size:8.5px}
        .rv-users-editor-stack{min-width:0}
        #pvf-shell #pv-cfg-pane-usuarios .rv-user-permisos-panel{display:none;padding:0}
        #pvf-shell #pv-cfg-pane-usuarios .rv-user-permisos-panel.active{display:block}
        .rv-user-permisos-head{display:flex;min-height:72px;box-sizing:border-box;align-items:center;justify-content:space-between;gap:15px;padding:13px 16px;border-bottom:1px solid #E9EDF3;background:linear-gradient(115deg,#FFFFFF 58%,#FAF8FF)}
        .rv-user-permisos-identidad{display:flex;min-width:0;align-items:center;gap:10px}
        .rv-user-permisos-identidad>.rv-prov-avatar{display:flex;width:40px;height:40px;flex:0 0 40px;align-items:center;justify-content:center;border-radius:12px;color:#fff;font-size:10.5px;font-weight:850}
        .rv-user-permisos-identidad>div{display:flex;min-width:0;flex-direction:column}
        .rv-user-permisos-identidad small{color:#7357D1;font-size:7px;font-weight:900;line-height:1;letter-spacing:.085em;text-transform:uppercase}
        .rv-user-permisos-identidad h3{margin:4px 0 2px;color:#20293B;font-size:14.5px;font-weight:880}
        .rv-user-permisos-identidad p{max-width:460px;margin:0;overflow:hidden;color:#8792A5;font-size:8.5px;text-overflow:ellipsis;white-space:nowrap}
        .rv-users-check-all{display:inline-flex;min-height:32px;align-items:center;justify-content:center;gap:6px;padding:0 10px;border:1px solid #D5C9F6;border-radius:9px;background:#FBFAFF;color:#6540D2;font:inherit;font-size:8.5px;font-weight:820;white-space:nowrap;cursor:pointer}
        .rv-users-check-all:hover{border-color:#987DE8;background:#F5F1FF}
        .rv-users-check-all svg{width:13px;height:13px}
        .rv-user-permisos-form{display:flex;flex-direction:column;gap:12px;padding:14px 16px}
        .rv-user-access-card,.rv-user-permissions-card,.rv-user-create-section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0;padding:13px;border:1px solid #E7EAF0;border-radius:13px;background:#FBFCFE}
        .rv-user-access-title{grid-column:1/-1;display:flex;align-items:center;gap:8px;margin-bottom:1px}
        .rv-user-access-title>span{display:flex;width:23px;height:23px;align-items:center;justify-content:center;border-radius:8px;background:#EEE9FF;color:#6A44D5;font-size:7.5px;font-weight:900}
        .rv-user-access-title>div{display:flex;min-width:0;flex-direction:column;gap:2px}
        .rv-user-access-title strong{color:#3C485D;font-size:10px;font-weight:850}
        .rv-user-access-title small{color:#929CAD;font-size:8px;line-height:1.3}
        .rv-user-name-field{display:flex;min-width:0;flex-direction:column;gap:6px}
        .rv-user-name-field>span,.rv-user-access-card .pv-ms-user-scope .pv-form-row>label,.rv-user-access-card .pv-ms-user-scope .pvf-row>label{margin:0!important;color:#778399;font-size:8px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
        html body #pvf-shell #pv-cfg-pane-usuarios .rv-user-name-field>input,html body #pvf-shell #pv-cfg-pane-usuarios .pv-ms-user-scope input[type=text],html body #pvf-shell #pv-cfg-pane-usuarios .pv-ms-user-scope select{display:block!important;width:100%!important;min-width:0!important;max-width:none!important;height:39px!important;min-height:39px!important;box-sizing:border-box!important;margin:0!important;padding:0 11px!important;border:1px solid #DDE2EB!important;border-radius:9px!important;outline:none!important;background:#fff!important;color:#20293A!important;font-size:10.5px!important;box-shadow:none!important}
        html body #pvf-shell #pv-cfg-pane-usuarios .pv-ms-user-scope select.pv-cs-native{display:none!important}
        #pvf-shell #pv-cfg-pane-usuarios .pv-ms-user-scope .pv-cs{width:100%;max-width:none}
        #pvf-shell #pv-cfg-pane-usuarios .pv-ms-user-scope .pv-cs-trigger{width:100%;height:39px!important;min-height:39px!important;max-height:39px!important;box-sizing:border-box;border-radius:9px}
        html body #pvf-shell #pv-cfg-pane-usuarios .rv-user-name-field>input:focus,html body #pvf-shell #pv-cfg-pane-usuarios .pv-ms-user-scope input:focus,html body #pvf-shell #pv-cfg-pane-usuarios .pv-ms-user-scope select:focus{border-color:#8062E8!important;box-shadow:0 0 0 3px rgba(109,69,229,.10)!important}
        .rv-user-access-card>.pv-ms-user-scope{display:contents}
        .rv-user-access-card .pv-ms-user-scope>.pv-form-row,.rv-user-access-card .pv-ms-user-scope>.pvf-row{display:flex;min-width:0;max-width:none!important;flex-direction:column;gap:6px;margin:0}
        .rv-user-access-card .pv-ms-user-scope>.pv-form-row:last-child,.rv-user-access-card .pv-ms-user-scope>.pvf-row:last-child{grid-column:1/-1}
        .rv-user-access-card .pv-ms-user-scope .pv-muted{margin:4px 0 0!important;color:#8C97A9!important;font-size:8px!important;line-height:1.35}
        #pvf-shell #pv-cfg-pane-usuarios .pv-ms-user-scope .pv-permisos-acciones{display:flex!important;gap:7px!important;flex-wrap:wrap!important}
        #pvf-shell #pv-cfg-pane-usuarios .pv-ms-user-scope .pv-permiso-check{min-height:30px;padding:0 9px;border:1px solid #E0E4EC;border-radius:9px;background:#fff;color:#4C586D;font-size:8.5px;font-weight:750}
        #pvf-shell #pv-cfg-pane-usuarios .pv-ms-assignment-field{gap:9px!important;padding:11px;border:1px solid #E3E6EF;border-radius:12px;background:linear-gradient(145deg,#FFF 48%,#FAF8FF)}
        #pvf-shell #pv-cfg-pane-usuarios .pv-ms-assignment-head{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px}
        #pvf-shell #pv-cfg-pane-usuarios .pv-ms-assignment-title{display:flex;min-width:0;align-items:center;gap:8px}
        #pvf-shell #pv-cfg-pane-usuarios .pv-ms-assignment-title>i{display:flex;width:29px;height:29px;flex:0 0 29px;align-items:center;justify-content:center;border-radius:9px;background:#EEE9FF;color:#6942D6}
        #pvf-shell #pv-cfg-pane-usuarios .pv-ms-assignment-title>i svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
        #pvf-shell #pv-cfg-pane-usuarios .pv-ms-assignment-title>span{display:flex;min-width:0;flex-direction:column;gap:2px}
        #pvf-shell #pv-cfg-pane-usuarios .pv-ms-assignment-title strong{color:#303B50;font-size:9px;font-weight:880;letter-spacing:0;text-transform:none}
        #pvf-shell #pv-cfg-pane-usuarios .pv-ms-assignment-title small{color:#8B96A8;font-size:7.5px;font-weight:650;line-height:1.25;letter-spacing:0;text-transform:none}
        #pvf-shell #pv-cfg-pane-usuarios .pv-ms-assignment-total{flex:0 0 auto;padding:4px 7px;border-radius:999px;background:#F1EDFF;color:#6A45D3;font-size:7px;font-weight:850;line-height:1;letter-spacing:.02em;text-transform:none}
        #pvf-shell #pv-cfg-pane-usuarios .pv-ms-assignment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:7px;min-width:0}
        #pvf-shell #pv-cfg-pane-usuarios .pv-ms-assignment-option{position:relative;display:block!important;min-width:0;margin:0!important;color:inherit!important;cursor:pointer;text-transform:none!important}
        #pvf-shell #pv-cfg-pane-usuarios .pv-ms-assignment-option>input{position:absolute!important;width:1px!important;height:1px!important;min-width:0!important;min-height:0!important;margin:0!important;overflow:hidden;opacity:0;pointer-events:none}
        #pvf-shell #pv-cfg-pane-usuarios .pv-ms-assignment-card{display:grid;min-height:48px;box-sizing:border-box;grid-template-columns:25px minmax(0,1fr);align-items:center;gap:8px;padding:7px 9px;border:1px solid #E0E4ED;border-radius:10px;background:#FFF;box-shadow:0 2px 7px rgba(37,46,69,.025);transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}
        #pvf-shell #pv-cfg-pane-usuarios .pv-ms-assignment-option:hover .pv-ms-assignment-card{border-color:#CBBEF1;background:#FCFBFF;box-shadow:0 4px 11px rgba(91,62,165,.07);transform:translateY(-1px)}
        #pvf-shell #pv-cfg-pane-usuarios .pv-ms-assignment-option>input:focus-visible+.pv-ms-assignment-card{outline:2px solid rgba(109,69,229,.28);outline-offset:2px}
        #pvf-shell #pv-cfg-pane-usuarios .pv-ms-assignment-mark{display:flex;width:25px;height:25px;box-sizing:border-box;align-items:center;justify-content:center;border:1px solid #CCD3DF;border-radius:8px;background:#F7F9FC;color:transparent;transition:border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease}
        #pvf-shell #pv-cfg-pane-usuarios .pv-ms-assignment-mark svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
        #pvf-shell #pv-cfg-pane-usuarios .pv-ms-assignment-copy{display:flex;min-width:0;flex-direction:column;gap:2px;text-transform:none!important}
        #pvf-shell #pv-cfg-pane-usuarios .pv-ms-assignment-copy strong{overflow:hidden;color:#3D485C;font-size:8.5px;font-weight:850;line-height:1.2;letter-spacing:0;text-overflow:ellipsis;text-transform:none;white-space:nowrap}
        #pvf-shell #pv-cfg-pane-usuarios .pv-ms-assignment-copy small{color:#98A2B2;font-size:7px;font-weight:650;line-height:1.15;letter-spacing:0;text-transform:none}
        #pvf-shell #pv-cfg-pane-usuarios .pv-ms-assignment-option>input:checked+.pv-ms-assignment-card{border-color:#BFAEF1;background:linear-gradient(135deg,#FBFAFF,#F4F0FF);box-shadow:0 4px 12px rgba(97,63,194,.09)}
        #pvf-shell #pv-cfg-pane-usuarios .pv-ms-assignment-option>input:checked+.pv-ms-assignment-card .pv-ms-assignment-mark{border-color:#7149DD;background:linear-gradient(145deg,#7D56E8,#5F3BCD);color:#FFF;box-shadow:0 4px 9px rgba(101,61,207,.22)}
        #pvf-shell #pv-cfg-pane-usuarios .pv-ms-assignment-option>input:checked+.pv-ms-assignment-card .pv-ms-assignment-copy strong{color:#5935C5}
        .rv-user-permissions-card{display:block}
        .rv-user-permissions-card .rv-user-access-title{margin-bottom:11px}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permisos-grid{display:flex;flex-direction:column;gap:11px;margin:0}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permisos-categoria{min-width:0;overflow:hidden;border:1px solid #E3E7EF;border-radius:13px;background:#F7F9FC}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permisos-categoria-head{display:flex;min-height:32px;box-sizing:border-box;align-items:center;justify-content:space-between;gap:12px;padding:7px 11px;border-bottom:1px solid #E5E9F0;background:linear-gradient(100deg,#F3F6FA,#FAF9FE)}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permisos-categoria-head>span{color:#5D6980;font-size:8px;font-weight:900;letter-spacing:.075em;text-transform:uppercase}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permisos-categoria-head>small{color:#929CAE;font-size:7.5px;font-weight:750}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permisos-categoria-lista{display:flex;flex-direction:column;gap:6px;padding:7px}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permisos-modulo{display:block;min-height:0;box-sizing:border-box;overflow:hidden;margin:0;padding:0;border:1px solid #E2E6ED;border-radius:11px;background:#fff;transition:border-color .16s ease,box-shadow .16s ease}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permisos-modulo:hover{border-color:#D6CEF0;background:#fff}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permisos-modulo[open]{border-color:#CEC1F3;box-shadow:0 6px 16px rgba(91,62,165,.07)}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permisos-modulo-resumen{display:grid;min-height:55px;box-sizing:border-box;grid-template-columns:34px minmax(0,1fr) 62px 18px;align-items:center;gap:10px;padding:8px 11px;list-style:none;cursor:pointer;background:#fff;user-select:none}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permisos-modulo-resumen:focus{outline:none}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permisos-modulo-resumen:focus-visible{box-shadow:inset 0 0 0 2px rgba(109,69,229,.28)}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permisos-modulo-resumen::-webkit-details-marker{display:none}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permisos-modulo[open]>.pv-permisos-modulo-resumen{border-bottom:1px solid #E8E5F2;background:linear-gradient(100deg,#FFF,#FAF8FF)}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permisos-modulo-icono{display:flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:10px;background:#EEE9FF;color:#6842D5;font-size:8px;font-weight:900;letter-spacing:.03em}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permisos-modulo.has-active .pv-permisos-modulo-icono{background:linear-gradient(145deg,#7550E6,#6840D7);color:#fff;box-shadow:0 5px 11px rgba(102,65,211,.17)}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permisos-modulo-nombre{display:flex;min-width:0;flex-direction:column;gap:2px;color:#384459}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permisos-modulo-nombre>strong{color:#354157;font-size:9.5px;font-weight:850}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permisos-modulo-nombre>small{overflow:hidden;color:#929CAD;font-size:7.5px;font-weight:600;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permisos-modulo-conteo{display:grid;grid-template-columns:auto auto;align-items:baseline;justify-content:end;column-gap:2px;text-align:right}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permisos-modulo-conteo>strong{color:#6943D5;font-size:12px;font-weight:900}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permisos-modulo-conteo>span{color:#9AA3B3;font-size:8px;font-weight:750}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permisos-modulo-conteo>small{grid-column:1/-1;color:#9AA3B3;font-size:6px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permisos-modulo-chevron{display:flex;color:#9488B8;transition:transform .16s ease}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permisos-modulo-chevron svg{width:15px;height:15px}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permisos-modulo[open] .pv-permisos-modulo-chevron{color:#6842D6;transform:rotate(180deg)}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permisos-grid .pv-permisos-acciones{display:flex;flex-direction:column;gap:10px;padding:11px;background:#FCFCFE}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permisos-accion-grupo{display:flex;min-width:0;flex-direction:column;gap:6px}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permisos-accion-grupo+.pv-permisos-accion-grupo{padding-top:9px;border-top:1px dashed #E0E4EC}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permisos-accion-grupo-titulo{color:#7C879A;font-size:7px;font-weight:900;letter-spacing:.065em;text-transform:uppercase}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permisos-accion-lista{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permisos-grid .pv-permiso-check{position:relative;display:grid;min-width:0;min-height:55px;box-sizing:border-box;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 9px;border:1px solid #E3E7EE;border-radius:10px;background:#fff;color:#596579;cursor:pointer;user-select:none;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permisos-grid .pv-permiso-check:hover{border-color:#CFC3F1;background:#FBFAFF}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permisos-grid .pv-permiso-check:has(input:checked){border-color:#CBBDF2;background:#F9F7FF;box-shadow:0 3px 9px rgba(91,62,165,.055)}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permisos-grid .pv-permiso-check.is-disabled{opacity:.52;cursor:not-allowed}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permisos-grid .pv-permiso-check>input[type=checkbox]{position:absolute!important;width:1px!important;height:1px!important;min-width:0!important;min-height:0!important;margin:0!important;overflow:hidden;opacity:0;pointer-events:none}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permiso-switch{position:relative;display:block;width:30px;height:18px;border-radius:999px;background:#DCE1E9;box-shadow:inset 0 0 0 1px rgba(68,78,96,.04);transition:background .16s ease}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permiso-switch>i{position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(38,47,63,.24);transition:transform .16s ease}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permiso-check>input:checked+.pv-permiso-switch{background:linear-gradient(100deg,#7250E5,#B936B2)}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permiso-check>input:checked+.pv-permiso-switch>i{transform:translateX(12px)}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permiso-copy{display:flex;min-width:0;flex-direction:column;gap:2px}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permiso-copy>strong{color:#3C485C;font-size:8.7px;font-weight:830;line-height:1.25}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permiso-copy>small{color:#8C97A8;font-size:7.2px;font-weight:550;line-height:1.35}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permiso-riesgo{align-self:start;margin:0;padding:3px 5px;border-radius:999px;background:#FFF3DF;color:#A9660B;font-size:5.8px;font-style:normal;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
        #pvf-shell #pv-cfg-pane-usuarios .pv-permiso-check.is-critico .pv-permiso-riesgo{background:#FFF0F3;color:#C73352}
        #pvf-shell #pv-cfg-pane-usuarios .rv-user-multisession>input[type=checkbox]{width:15px!important;height:15px!important;min-width:15px!important;min-height:15px!important;margin:0!important;accent-color:#6D45E5!important}
        .rv-user-multisession{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:flex-start;gap:9px;padding:10px 12px;border:1px solid #DDE9F6;border-radius:11px;background:#F6FAFE;cursor:pointer}
        .rv-user-multisession>input{margin-top:1px!important}
        .rv-user-multisession>span{display:flex;min-width:0;flex-direction:column;gap:2px}
        .rv-user-multisession strong{color:#38536B;font-size:9px;font-weight:830}
        .rv-user-multisession small{color:#7F93A6;font-size:8px;line-height:1.35}
        .rv-user-permisos-save{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 11px;border:1px solid #E4DDF8;border-radius:11px;background:linear-gradient(100deg,#F9F7FF,#FFF)}
        .rv-user-permisos-save>span{display:flex;align-items:center;gap:7px;color:#7E719F;font-size:8.5px;font-weight:700}
        .rv-user-permisos-save>span>i{width:6px;height:6px;border-radius:50%;background:#13B886;box-shadow:0 0 0 3px rgba(19,184,134,.09)}
        html body #pvf-shell #pv-cfg-pane-usuarios .rv-user-permisos-save .rv-user-save-btn{position:relative;display:inline-flex!important;min-width:158px!important;height:36px!important;min-height:36px!important;box-sizing:border-box!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important;margin:0!important;padding:3px 13px 3px 3px!important;overflow:hidden;border:1px solid rgba(96,54,205,.18)!important;border-radius:10px!important;color:#fff!important;background:linear-gradient(105deg,#6844DF 0%,#9C3BC4 55%,#E21468 100%)!important;box-shadow:0 8px 18px rgba(112,54,189,.22),inset 0 1px 0 rgba(255,255,255,.24)!important;font-size:10.5px!important;font-weight:850!important;letter-spacing:.005em!important;line-height:1!important;white-space:nowrap!important;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease!important}
        html body #pvf-shell #pv-cfg-pane-usuarios .rv-user-permisos-save .rv-user-save-btn:after{position:absolute;top:-18px;bottom:-18px;left:-34%;width:28%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.24),transparent);transform:skewX(-17deg);content:"";transition:left .38s ease}
        html body #pvf-shell #pv-cfg-pane-usuarios .rv-user-permisos-save .rv-user-save-btn:hover{color:#fff!important;filter:saturate(1.08) brightness(1.035)!important;transform:translateY(-1px)!important;box-shadow:0 11px 22px rgba(112,54,189,.28),inset 0 1px 0 rgba(255,255,255,.28)!important}
        html body #pvf-shell #pv-cfg-pane-usuarios .rv-user-permisos-save .rv-user-save-btn:hover:after{left:115%}
        html body #pvf-shell #pv-cfg-pane-usuarios .rv-user-permisos-save .rv-user-save-btn:active{filter:none!important;transform:translateY(0) scale(.985)!important;box-shadow:0 5px 11px rgba(112,54,189,.20)!important}
        html body #pvf-shell #pv-cfg-pane-usuarios .rv-user-permisos-save .rv-user-save-btn:focus-visible{outline:3px solid rgba(109,69,229,.22)!important;outline-offset:3px!important}
        html body #pvf-shell #pv-cfg-pane-usuarios .rv-user-save-btn>span{color:#fff!important}
        .rv-user-save-btn-icon{position:relative;z-index:1;display:flex;width:28px;height:28px;flex:0 0 28px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:rgba(255,255,255,.16);color:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.14)}
        .rv-user-save-btn>span:last-child{position:relative;z-index:1;text-shadow:0 1px 1px rgba(52,20,91,.16)}
        .rv-user-save-btn-icon svg{width:14px!important;height:14px!important;fill:none!important;stroke:currentColor!important}
        .rv-user-password-reset{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 16px 15px;padding:11px 12px;border:1px solid #F0E4D4;border-radius:12px;background:#FFFBF5}
        .rv-user-password-reset>div{display:flex;min-width:0;align-items:center;gap:9px}
        .rv-user-password-reset>div>span{display:flex;width:31px;height:31px;flex:0 0 31px;align-items:center;justify-content:center;border-radius:9px;background:#FFF0D9;color:#B56D0B}
        .rv-user-password-reset>div>span svg{width:15px;height:15px}
        .rv-user-password-reset>div>div{display:flex;min-width:0;flex-direction:column;gap:2px}
        .rv-user-password-reset strong{color:#6A4C27;font-size:9px;font-weight:830}
        .rv-user-password-reset small{color:#987D59;font-size:8px}
        .rv-user-password-reset>form{display:flex;min-width:280px;align-items:center;gap:7px;margin:0}
        html body #pvf-shell .rv-user-password-reset input[type=password]{display:block!important;width:100%!important;min-width:0!important;height:35px!important;min-height:35px!important;box-sizing:border-box!important;margin:0!important;padding:0 10px!important;border:1px solid #E5D8C7!important;border-radius:9px!important;outline:none!important;background:#fff!important;box-shadow:none!important}
        .rv-user-password-reset .pvf-btn{min-height:35px;margin:0;padding:0 11px;border-color:#D6B98E!important;border-radius:9px!important;background:#fff!important;color:#9A5D09!important;font-size:8.5px!important}
        .rv-user-create-modal{width:min(980px,calc(100vw - 36px));max-width:980px!important;max-height:92vh!important;padding:0!important;overflow:auto!important;border:1px solid rgba(255,255,255,.7);border-radius:20px!important}
        .rv-user-create-modal:before{position:absolute;z-index:4;top:0;right:24px;left:24px;height:3px;border-radius:0 0 7px 7px;background:linear-gradient(90deg,#08A6EC,#6D45E5 48%,#D71979 76%,#F5013C);content:""}
        .rv-user-create-modal>.pv-modal-close{position:absolute!important;z-index:5;top:14px!important;right:14px!important;float:none!important;margin:0!important}
        .rv-user-create-head{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:11px;padding:16px 58px 16px 18px;border-bottom:1px solid #E8ECF2;background:linear-gradient(115deg,#fff 55%,#FAF7FF)}
        .rv-user-create-head>span{display:flex;width:44px;height:44px;align-items:center;justify-content:center;border-radius:13px;background:linear-gradient(145deg,#7654EC,#6038D7);color:#fff;box-shadow:0 8px 18px rgba(98,57,215,.20)}
        .rv-user-create-head>span svg,.rv-user-create-head>span svg *{width:19px!important;height:19px!important;fill:none!important;stroke:currentColor!important}
        .rv-user-create-head>div{display:flex;min-width:0;flex-direction:column}
        .rv-user-create-head small{color:#7256CE;font-size:7px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
        .rv-user-create-head h2{margin:4px 0 2px!important;color:#20293B!important;font-size:17px!important;font-weight:880!important}
        .rv-user-create-head p{margin:0;color:#8792A5;font-size:9px}
        .rv-user-create-form{display:flex;flex-direction:column;gap:12px;padding:15px 17px 17px}
        .rv-user-create-section{display:block}
        .rv-user-create-section>.rv-user-access-title{margin-bottom:11px}
        .rv-user-create-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
        .rv-user-create-fields>label{display:flex;min-width:0;flex-direction:column;gap:5px}
        .rv-user-create-fields>label>span{color:#778399;font-size:8px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
        html body #pvf-shell .rv-user-create-fields input{display:block!important;width:100%!important;min-width:0!important;max-width:none!important;height:38px!important;min-height:38px!important;box-sizing:border-box!important;margin:0!important;padding:0 11px!important;border:1px solid #DDE2EB!important;border-radius:9px!important;outline:none!important;background:#fff!important;color:#20293A!important;font-size:10.5px!important;box-shadow:none!important}
        .rv-user-create-section>.pv-ms-user-scope{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:11px}
        .rv-user-create-section>.pv-ms-user-scope>.pv-form-row,.rv-user-create-section>.pv-ms-user-scope>.pvf-row{display:flex;max-width:none!important;flex-direction:column;gap:5px;margin:0}
        .rv-user-create-section>.pv-ms-user-scope label{margin:0!important;color:#778399;font-size:8px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
        #pvf-shell #pv-modal-crear-usuario .rv-user-create-section>.pv-ms-user-scope .pv-cs-trigger{height:38px!important;min-height:38px!important;max-height:38px!important}
        .rv-user-create-section>.pv-ms-user-scope .pv-permisos-acciones{display:flex!important;gap:7px!important;flex-wrap:wrap!important}
        .rv-user-create-section>.pv-ms-user-scope .pv-permiso-check{min-height:30px;padding:0 9px;border:1px solid #E0E4EC;border-radius:9px;background:#fff}
        .rv-user-create-permissions-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}
        .rv-user-create-permissions-head>.rv-user-access-title{margin:0}
        .rv-user-create-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid #E4DDF8;border-radius:11px;background:linear-gradient(100deg,#F9F7FF,#FFF)}
        .rv-user-create-foot>span{display:flex;align-items:center;gap:7px;color:#7E719F;font-size:8.5px;font-weight:700}
        .rv-user-create-foot>span>i{width:6px;height:6px;border-radius:50%;background:#13B886;box-shadow:0 0 0 3px rgba(19,184,134,.09)}
        .rv-user-create-foot .pvf-btn{display:inline-flex;min-width:140px;min-height:37px;align-items:center;justify-content:center;gap:7px;margin:0;border:0!important;border-radius:9px!important;color:#fff!important;background:linear-gradient(100deg,#7143ED,#C42A9B 68%,#F5013C)!important;box-shadow:0 7px 16px rgba(132,48,184,.17)!important}
        .rv-user-create-foot .pvf-btn svg{width:13px!important;height:13px!important}
        @media(max-width:1080px){
            .rv-users-password-card{grid-template-columns:1fr}
            .rv-users-workspace{grid-template-columns:minmax(0,1fr)}
            #pvf-shell #pv-cfg-pane-usuarios .pv-permisos-modulo{grid-template-columns:1fr;gap:7px}
        }
        @media(max-width:820px){
            .rv-users-workspace{grid-template-columns:1fr}
            .rv-users-list{display:grid;max-height:none;grid-template-columns:repeat(2,minmax(0,1fr))}
        }
        @media(max-width:640px){
            .rv-cfg-users-pane-head{align-items:flex-start}
            .rv-cfg-users-ready{display:none}
            .rv-users-password-card{padding:14px}
            .rv-users-password-form{grid-template-columns:1fr}
            .rv-users-password-form .pvf-btn{width:100%}
            .rv-users-directory-head{grid-template-columns:1fr}
            .rv-users-directory-actions{justify-content:space-between}
            .rv-users-create{flex:1}
            .rv-users-list{grid-template-columns:1fr}
            .rv-user-permisos-head{align-items:flex-start;flex-direction:column}
            .rv-users-check-all{align-self:flex-start}
            .rv-user-access-card{grid-template-columns:1fr}
            .rv-user-access-title,.rv-user-access-card .pv-ms-user-scope>.pv-form-row:last-child,.rv-user-access-card .pv-ms-user-scope>.pvf-row:last-child{grid-column:auto}
            #pvf-shell #pv-cfg-pane-usuarios .pv-permisos-acciones{grid-template-columns:repeat(2,minmax(0,1fr))}
            #pvf-shell #pv-cfg-pane-usuarios .pv-permisos-accion-lista{grid-template-columns:1fr}
            #pvf-shell #pv-cfg-pane-usuarios .pv-permisos-modulo-resumen{grid-template-columns:32px minmax(0,1fr) 52px 16px;gap:8px;padding:8px}
            .rv-user-permisos-save,.rv-user-password-reset,.rv-user-create-foot{align-items:stretch;flex-direction:column}
            .rv-user-permisos-save .pvf-btn{width:100%}
            .rv-user-password-reset>form{width:100%;min-width:0}
            .rv-user-create-fields,.rv-user-create-section>.pv-ms-user-scope{grid-template-columns:1fr}
            .rv-user-create-permissions-head{align-items:flex-start;flex-direction:column}
            #pvf-shell #pv-cfg-pane-usuarios .pv-ms-assignment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
        }
        @media(max-width:380px){#pvf-shell #pv-cfg-pane-usuarios .pv-ms-assignment-grid{grid-template-columns:1fr}}
        .pv-inline-form{display:inline-flex;gap:6px;align-items:center;margin:0}
        .pv-muted{color:var(--pv-muted);font-size:11px}
        /* Fondo "vidrio esmerilado" (glassmorphism) en TODOS los desplegables
           del sistema, no solo móvil — se ve lo de atrás (sidebar/topbar/
           contenido) desenfocado en vez de un tinte oscuro plano y sólido.
           -webkit- primero por Safari, que todavía necesita el prefijo. */
        .pv-modal-overlay{position:fixed;inset:0;background:rgba(28,28,32,.32);-webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%);z-index:100000;display:flex;align-items:center;justify-content:center;padding:18px}
        .pv-modal-overlay[hidden]{display:none}
        .pv-modal-box{background:var(--pv-surface);border-radius:18px;max-width:900px;width:100%;max-height:88vh;max-height:88dvh;overflow:auto;position:relative;box-shadow:0 20px 60px rgba(30,27,46,.35);padding:25px;animation:pv-modal-in .18s ease}
        .pv-modal-close{position:sticky;top:0;float:right;margin:-8px -8px 0 12px;background:#eaf1fb;border:none;width:31px;height:31px;border-radius:50%;font-size:18px;line-height:1;cursor:pointer;color:var(--pv-ink);text-decoration:none;display:flex;align-items:center;justify-content:center}
        .pv-modal-close:hover{background:#dbe7f7}
        /* Vista previa profesional de Cotización. La hoja comercial mantiene
           su HTML original; solo se rediseña el marco de trabajo alrededor. */
        #pv-modal-cotizacion-ver{box-sizing:border-box;padding:24px;background:rgba(20,24,38,.54);backdrop-filter:blur(10px)}
        #pv-modal-cotizacion-ver .pv-cot-preview-modal{display:flex;flex-direction:column;box-sizing:border-box;width:min(1120px,calc(100vw - 48px));max-width:1120px!important;height:min(860px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);margin:auto;padding:0!important;overflow:hidden!important;border:1px solid rgba(255,255,255,.72);border-radius:24px;background:#fff;box-shadow:0 28px 80px rgba(20,24,38,.3),0 10px 30px rgba(109,69,229,.1);animation:none}
        #pv-modal-cotizacion-ver .pv-cot-preview-modal:before{position:absolute;z-index:5;top:0;right:28px;left:28px;height:3px;border-radius:0 0 8px 8px;background:linear-gradient(90deg,#08a6ec,#6d45e5 42%,#cf248d 72%,#f5013c);content:""}
        #pv-modal-cotizacion-ver .pv-cot-preview-head{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) auto 38px;align-items:center;gap:13px;min-height:82px;padding:14px 20px;border-bottom:1px solid #e7eaf1;background:linear-gradient(112deg,#fff 58%,#faf7ff 82%,#fff6f9)}
        #pv-modal-cotizacion-ver .pv-cot-preview-head-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;color:#fff;background:linear-gradient(145deg,#08a6ec,#6d45e5 48%,#d71979 77%,#f5013c);box-shadow:0 9px 20px rgba(109,69,229,.21)}
        #pv-modal-cotizacion-ver .pv-cot-preview-head-icon svg,#pv-modal-cotizacion-ver .pv-cot-preview-head-icon svg *{width:22px!important;height:22px!important;fill:none!important;stroke:#fff!important}
        #pv-modal-cotizacion-ver .pv-cot-preview-head-copy{min-width:0}
        #pv-modal-cotizacion-ver .pv-cot-preview-head-copy>span{display:block;margin-bottom:3px;color:#6d45e5;font-size:8.5px;font-weight:900;line-height:1;letter-spacing:.1em}
        #pv-modal-cotizacion-ver .pv-cot-preview-head-copy h2{margin:0!important;color:#172033!important;font-size:20px!important;font-weight:900!important;line-height:1.08!important;letter-spacing:-.025em!important}
        #pv-modal-cotizacion-ver .pv-cot-preview-head-copy p{margin:4px 0 0;color:#8490a6;font-size:10.5px;font-weight:650;line-height:1.2}
        #pv-modal-cotizacion-ver .pv-cot-preview-ready{display:inline-flex;align-items:center;gap:7px;height:31px;padding:0 11px;border:1px solid #ccefe0;border-radius:10px;color:#087a50;background:#effaf5;font-size:9.5px;font-weight:800;white-space:nowrap}
        #pv-modal-cotizacion-ver .pv-cot-preview-ready i{display:block;width:7px;height:7px;border-radius:50%;background:#0bb76d;box-shadow:0 0 0 4px rgba(11,183,109,.11)}
        #pv-modal-cotizacion-ver .pv-cot-preview-head>.pv-modal-close{position:static!important;grid-column:4;display:grid!important;place-items:center!important;box-sizing:border-box!important;float:none!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;max-width:34px!important;max-height:34px!important;margin:0!important;padding:0!important;border:1px solid #ddd7ef!important;border-radius:10px!important;color:#6d45e5!important;background:#fff!important;font-size:21px!important;line-height:1!important;text-decoration:none;box-shadow:0 3px 9px rgba(50,43,75,.05)}
        #pv-modal-cotizacion-ver .pv-cot-preview-head>.pv-modal-close:hover{border-color:#9d86ef;background:#f8f5ff}
        #pv-modal-cotizacion-ver .pv-cot-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:78px;padding:11px 20px;border-bottom:1px solid #e8ebf1;background:#fff}
        #pv-modal-cotizacion-ver .pv-cot-preview-actions{display:flex;align-items:center;gap:9px;flex:0 0 auto}
        #pv-modal-cotizacion-ver .pv-cot-preview-action{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;box-sizing:border-box;width:154px;height:52px;padding:6px 10px;border:1px solid #dde2eb;border-radius:13px;color:#344054;background:#fff;text-decoration:none;box-shadow:0 4px 12px rgba(31,42,68,.045);transition:.16s ease}
        #pv-modal-cotizacion-ver .pv-cot-preview-action:hover{transform:translateY(-1px);border-color:#ab96f1;box-shadow:0 7px 17px rgba(71,52,131,.1)}
        #pv-modal-cotizacion-ver .pv-cot-preview-action-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;color:#6d45e5;background:#f0ebff}
        #pv-modal-cotizacion-ver .pv-cot-preview-action-icon svg,#pv-modal-cotizacion-ver .pv-cot-preview-action-icon svg *{width:16px!important;height:16px!important;fill:none!important;stroke:currentColor!important}
        #pv-modal-cotizacion-ver .pv-cot-preview-action>span:last-child{display:flex;min-width:0;flex-direction:column;gap:2px}
        #pv-modal-cotizacion-ver .pv-cot-preview-action strong{overflow:hidden;color:inherit;font-size:10.5px;font-weight:850;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}
        #pv-modal-cotizacion-ver .pv-cot-preview-action small{color:#8a95a8;font-size:8.5px;font-weight:650;line-height:1.05}
        #pv-modal-cotizacion-ver .pv-cot-preview-action.is-pdf{border-color:transparent;color:#fff;background:linear-gradient(110deg,#6d45e5,#ad2dae 58%,#f5013c);box-shadow:0 7px 17px rgba(159,38,142,.2)}
        #pv-modal-cotizacion-ver .pv-cot-preview-action.is-pdf .pv-cot-preview-action-icon{color:#fff;background:rgba(255,255,255,.17)}
        #pv-modal-cotizacion-ver .pv-cot-preview-action.is-pdf small{color:rgba(255,255,255,.78)}
        #pv-modal-cotizacion-ver .pv-cot-preview-action.is-loading{pointer-events:none;opacity:.88}
        #pv-modal-cotizacion-ver .pv-cot-preview-action.is-loading .pv-cot-preview-action-icon svg{display:none!important}
        #pv-modal-cotizacion-ver .pv-cot-preview-action.is-loading .pv-cot-preview-action-icon:after{width:15px;height:15px;border:2px solid rgba(255,255,255,.42);border-top-color:#fff;border-radius:50%;content:"";animation:pv-cot-pdf-spin .65s linear infinite}
        #pv-modal-cotizacion-ver .pv-cot-preview-action.is-success{background:linear-gradient(110deg,#059669,#10b981)!important}
        #pv-modal-cotizacion-ver .pv-cot-preview-action.is-print.is-success{border-color:#c9bbff;color:#6440df;background:linear-gradient(135deg,#f4efff,#fff)!important;box-shadow:0 7px 17px rgba(109,69,229,.12)}
        #pv-modal-cotizacion-ver .pv-cot-preview-action.is-print.is-success .pv-cot-preview-action-icon{color:#fff;background:linear-gradient(135deg,#6d45e5,#d320a8)}
        #pv-modal-cotizacion-ver .pv-cot-preview-action.is-print.is-success small{color:#7f6eaa}
        #pv-modal-cotizacion-ver .pv-cot-preview-action.is-print.is-loading .pv-cot-preview-action-icon:after{border-color:rgba(109,69,229,.24);border-top-color:#6d45e5}
        @keyframes pv-cot-pdf-spin{to{transform:rotate(360deg)}}
        #pv-modal-cotizacion-ver .pv-cot-preview-share{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;min-width:310px;max-width:430px;height:52px;padding:6px 7px 6px 9px;border:1px solid #e0e4ed;border-radius:13px;background:#fafbfe}
        #pv-modal-cotizacion-ver .pv-cot-preview-share-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;color:#08a6ec;background:#e9f8ff}
        #pv-modal-cotizacion-ver .pv-cot-preview-share-icon svg,#pv-modal-cotizacion-ver .pv-cot-preview-share-icon svg *{width:16px!important;height:16px!important;fill:none!important;stroke:currentColor!important}
        #pv-modal-cotizacion-ver .pv-cot-preview-share-copy{display:flex;min-width:0;flex-direction:column;gap:2px}
        #pv-modal-cotizacion-ver .pv-cot-preview-share-copy small{color:#8490a6;font-size:8px;font-weight:750}
        #pv-modal-cotizacion-ver .pv-cot-preview-share-copy strong{overflow:hidden;color:#344054;font-size:9.5px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}
        #pv-modal-cotizacion-ver .pv-cot-preview-share-btn{display:flex;align-items:center;justify-content:center;height:34px;padding:0 13px;border:1px solid #cdbff5;border-radius:9px;color:#6d45e5;background:#fff;font-size:9.5px;font-weight:850;text-decoration:none}
        #pv-modal-cotizacion-ver .pv-cot-preview-stage{flex:1;min-height:0;padding:0 20px 22px;overflow-x:auto!important;overflow-y:auto!important;overscroll-behavior:contain;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;contain:layout paint;scrollbar-gutter:auto;scrollbar-color:#b8bfcc transparent;scrollbar-width:thin;background:radial-gradient(circle at 12% 0,rgba(8,166,236,.06),transparent 28%),radial-gradient(circle at 88% 0,rgba(245,1,60,.05),transparent 28%),#eef1f6}
        #pv-modal-cotizacion-ver .pv-cot-preview-stage-head{position:sticky;z-index:4;top:0;display:flex;align-items:center;justify-content:space-between;gap:12px;height:42px;padding:0 2px;background:#eef1f6;color:#657086;font-size:9px;font-weight:800}
        #pv-modal-cotizacion-ver .pv-cot-preview-stage-head span{display:inline-flex;align-items:center;gap:7px}
        #pv-modal-cotizacion-ver .pv-cot-preview-stage-head i{width:6px;height:6px;border-radius:50%;background:#6d45e5}
        #pv-modal-cotizacion-ver .pv-cot-preview-stage-head strong{color:#8a95a8;font-size:8.5px;font-weight:750}
        #pv-modal-cotizacion-ver .pv-cot-preview-paper-wrap{display:flex;justify-content:center;min-width:816px;padding:0 0 5px}
        #pv-modal-cotizacion-ver .pv-cot-preview-document{box-sizing:border-box;width:816px;max-width:816px;margin:0 auto;overflow:hidden;border:1px solid #dde2ea;border-radius:3px;background:#fff;box-shadow:0 18px 42px rgba(31,41,61,.18)}
        @media(max-width:900px){#pv-modal-cotizacion-ver{padding:10px}#pv-modal-cotizacion-ver .pv-cot-preview-modal{width:calc(100vw - 20px);height:calc(100dvh - 20px);max-height:calc(100dvh - 20px);border-radius:19px}#pv-modal-cotizacion-ver .pv-cot-preview-head{grid-template-columns:42px minmax(0,1fr) 32px;min-height:72px;padding:11px 13px;gap:10px}#pv-modal-cotizacion-ver .pv-cot-preview-head-icon{width:42px;height:42px;border-radius:13px}#pv-modal-cotizacion-ver .pv-cot-preview-head-copy h2{font-size:17px!important}#pv-modal-cotizacion-ver .pv-cot-preview-ready{display:none}#pv-modal-cotizacion-ver .pv-cot-preview-head>.pv-modal-close{grid-column:3;width:32px;height:32px;min-width:32px;min-height:32px;border-radius:9px}#pv-modal-cotizacion-ver .pv-cot-preview-toolbar{align-items:stretch;flex-direction:column;padding:10px 12px;gap:8px}#pv-modal-cotizacion-ver .pv-cot-preview-actions{display:grid;grid-template-columns:1fr 1fr}#pv-modal-cotizacion-ver .pv-cot-preview-action{width:100%}#pv-modal-cotizacion-ver .pv-cot-preview-share{box-sizing:border-box;width:100%;min-width:0;max-width:none}#pv-modal-cotizacion-ver .pv-cot-preview-stage{padding:0 10px 14px}}
        @media print{#pv-modal-cotizacion-ver .pv-cot-preview-head,#pv-modal-cotizacion-ver .pv-cot-preview-toolbar,#pv-modal-cotizacion-ver .pv-cot-preview-stage-head{display:none!important}#pv-modal-cotizacion-ver .pv-cot-preview-modal,#pv-modal-cotizacion-ver .pv-cot-preview-stage,#pv-modal-cotizacion-ver .pv-cot-preview-paper-wrap{display:block!important;width:auto!important;height:auto!important;max-height:none!important;margin:0!important;padding:0!important;overflow:visible!important;border:0!important;background:#fff!important;box-shadow:none!important}#pv-modal-cotizacion-ver .pv-cot-preview-document{width:816px!important;max-width:none!important;margin:0!important;border:0!important;box-shadow:none!important}}
        #pv-ficha-modal-overlay{padding:28px;background:rgba(17,24,39,.34);backdrop-filter:blur(12px)}
        #pv-ficha-modal-overlay .pv-modal-box{width:min(1180px,calc(100vw - 56px));max-width:1180px;max-height:92vh;max-height:92dvh;padding:0;border:1px solid rgba(255,255,255,.7);border-radius:18px;overflow:auto;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.24);animation:none}
        #pv-ficha-modal-overlay .pv-ficha-modal-titlebar{position:sticky;top:0;z-index:4;display:flex;align-items:center;gap:16px;min-height:84px;padding:0 78px 0 28px;border-bottom:1px solid var(--pv-border);background:rgba(255,255,255,.97);backdrop-filter:blur(12px)}
        #pv-ficha-modal-overlay .pv-ficha-modal-titlebar h2{margin:0!important;font-size:24px!important;font-weight:800!important;color:var(--pv-ink)!important;letter-spacing:-.02em!important}
        #pv-ficha-modal-overlay .pv-ficha-modal-title-icon{width:48px;height:48px;flex-basis:48px}
        #pv-ficha-modal-overlay .pv-modal-close{position:sticky;top:22px;float:right;z-index:6;margin:-62px 28px 0 12px;width:40px;height:40px;border:1px solid var(--pv-border);border-radius:10px;background:#F8FAFC;color:var(--pv-ink);font-size:23px;box-shadow:none}
        #pv-ficha-modal-overlay .pv-modal-close:hover{background:#F1F5F9}
        #pv-ficha-modal-overlay .pv-modal-content{clear:both;padding:24px 28px 30px}
        #pv-ficha-modal-overlay .rv-prov-ficha{max-width:none;gap:20px}
        @media (max-width:720px){
            #pv-ficha-modal-overlay{padding:10px}
            #pv-ficha-modal-overlay .pv-modal-box{width:calc(100vw - 20px);max-height:96vh;max-height:96dvh;border-radius:15px}
            #pv-ficha-modal-overlay .pv-ficha-modal-titlebar{min-height:68px;padding:0 60px 0 16px;gap:10px}
            #pv-ficha-modal-overlay .pv-ficha-modal-titlebar h2{font-size:18px!important}
            #pv-ficha-modal-overlay .pv-ficha-modal-title-icon{width:38px;height:38px;flex-basis:38px}
            #pv-ficha-modal-overlay .pv-modal-close{top:17px;margin:-51px 16px 0 8px;width:34px;height:34px}
            #pv-ficha-modal-overlay .pv-modal-content{padding:16px}
            .rv-prov-ficha-toolbar{align-items:stretch;flex-direction:column}
            .rv-prov-ficha-actions-danger{margin:0}
            .rv-prov-ficha-actions .pvf-btn,.rv-prov-ficha-actions-danger button{flex:1 1 auto}
        }
        .pv-modal-loading{padding:36px;text-align:center;color:var(--pv-muted)}
        #pv-confirm-modal{z-index:100700}
        #pv-confirm-modal .pv-confirm-box{width:min(430px,calc(100vw - 32px));max-width:430px;padding:26px;border:1px solid rgba(255,255,255,.75);border-radius:18px;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.28)}
        .pv-confirm-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}
        .pv-confirm-head h2{margin:0!important;font-size:21px!important;font-weight:800!important;color:var(--pv-ink)!important}
        .pv-confirm-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 42px;border:1px solid rgba(109,69,229,.18);border-radius:12px;background:#F5F2FF;color:#6D45E5}
        .pv-confirm-icon svg{display:block;width:21px;height:21px}
        .pv-confirm-icon svg[hidden]{display:none!important}
        #pv-confirm-mensaje{font-size:13px;line-height:1.55;color:var(--pv-muted)}
        .pv-confirm-password-wrap{margin-top:18px}
        .pv-confirm-password-wrap[hidden]{display:none!important}
        .pv-confirm-password-wrap label{display:block;margin-bottom:7px;font-size:12px;font-weight:800;color:var(--pv-ink)}
        .pv-confirm-password-wrap input{width:100%;height:44px;box-sizing:border-box;padding:0 14px;border:1px solid var(--pv-border2);border-radius:11px;background:#fff;color:var(--pv-ink);font:600 13px var(--pv-font);outline:none;box-shadow:none}
        .pv-confirm-password-wrap input:focus{border-color:#6D45E5;box-shadow:0 0 0 3px rgba(109,69,229,.10)}
        .pv-confirm-password-error{margin:7px 0 0;font-size:11.5px;font-weight:700;color:#E11D48}
        .pv-confirm-password-error[hidden]{display:none!important}
        .pv-confirm-actions{display:flex;gap:10px;margin-top:20px}
        @media (max-width:520px){.pv-confirm-actions{flex-direction:column-reverse}.pv-confirm-actions button{width:100%}.pv-confirm-head h2{font-size:18px!important}}

        /* Confirmaciones destructivas: la acción explica qué ocurrirá y usa
           la identidad Noalyx sin depender del rojo plano del botón genérico. */
        html body #pv-confirm-modal.pv-confirm-danger{padding:20px;background:rgba(20,24,38,.58);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}
        html body #pv-confirm-modal.pv-confirm-danger .pv-confirm-box{position:relative;box-sizing:border-box;width:min(430px,calc(100vw - 32px));max-width:430px;margin:auto;padding:26px;overflow:hidden;border:1px solid rgba(244,63,94,.17);border-radius:24px;background:linear-gradient(150deg,#fff 0%,#fff 68%,#fff7fa 100%);box-shadow:0 30px 78px rgba(20,24,38,.32),0 10px 28px rgba(190,31,121,.11)}
        html body #pv-confirm-modal.pv-confirm-danger .pv-confirm-box::before{content:"";position:absolute;top:0;right:30px;left:30px;height:3px;border-radius:0 0 8px 8px;background:linear-gradient(90deg,#7042ed 0%,#c02599 52%,#f50145 100%)}
        html body #pv-confirm-modal.pv-confirm-danger .pv-confirm-head{display:grid;grid-template-columns:54px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:4px 14px;margin:0 0 18px}
        html body #pv-confirm-modal.pv-confirm-danger .pv-confirm-icon{grid-column:1;grid-row:1/3;display:grid;place-items:center;box-sizing:border-box;width:54px;height:54px;margin:0;border:1px solid rgba(255,255,255,.72);border-radius:16px;background:linear-gradient(145deg,#7042ed 0%,#c02599 50%,#f50145 100%);color:#fff;box-shadow:0 10px 22px rgba(190,31,121,.22)}
        html body #pv-confirm-modal.pv-confirm-danger .pv-confirm-icon-default,
        html body #pv-confirm-modal.pv-confirm-danger .pv-confirm-icon-checkout,
        html body #pv-confirm-modal.pv-confirm-danger .pv-confirm-icon-cart-clear{display:none!important}
        html body #pv-confirm-modal.pv-confirm-danger .pv-confirm-icon-danger{display:block!important;width:24px;height:24px;stroke:#fff}
        html body #pv-confirm-modal.pv-confirm-danger .pv-confirm-kicker{grid-column:2;grid-row:1;display:block!important;margin:0;color:#d91e57;font-size:10px;font-weight:850;line-height:1;letter-spacing:.085em}
        html body #pv-confirm-modal.pv-confirm-danger .pv-confirm-head h2{grid-column:2;grid-row:2;margin:0!important;color:#182034!important;font-size:22px!important;font-weight:900!important;line-height:1.15!important;letter-spacing:-.025em!important}
        html body #pv-confirm-modal.pv-confirm-danger #pv-confirm-mensaje{box-sizing:border-box;margin:0!important;padding:15px 16px!important;border:1px solid #f1d9e1;border-radius:14px;background:#fff8fa;color:#5b6578;font-size:14px;line-height:1.55}
        html body #pv-confirm-modal.pv-confirm-danger .pv-confirm-danger-note{display:flex!important;align-items:center;gap:8px;margin:10px 2px 0;color:#c91f55;font-size:13px;font-weight:750;line-height:1.3}
        html body #pv-confirm-modal.pv-confirm-danger .pv-confirm-danger-note::before{content:"!";display:inline-grid;place-items:center;flex:0 0 20px;width:20px;height:20px;border-radius:50%;background:#ffe4eb;color:#e11d48;font-size:12px;font-weight:900}
        html body #pv-confirm-modal.pv-confirm-danger .pv-confirm-actions{display:grid;grid-template-columns:.9fr 1.25fr;gap:10px;margin:21px 0 0}
        html body #pv-confirm-modal.pv-confirm-danger .pv-confirm-actions button{display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;height:49px!important;min-height:49px!important;margin:0!important;padding:0 16px!important;border-radius:13px!important;font-size:14px!important;font-weight:850!important;line-height:1!important;text-align:center!important}
        html body #pv-confirm-modal.pv-confirm-danger #pv-confirm-cancelar{border:1px solid #d9deea!important;background:#fff!important;color:#455066!important;box-shadow:none!important;transition:border-color .18s ease,background .18s ease,color .18s ease!important}
        html body #pv-confirm-modal.pv-confirm-danger #pv-confirm-cancelar:hover{border-color:#bfc6d4!important;background:#f8fafc!important;color:#2f394c!important}
        html body #pv-confirm-modal.pv-confirm-danger #pv-confirm-aceptar{position:relative!important;gap:8px!important;overflow:hidden!important;border:1px solid transparent!important;background:linear-gradient(112deg,#7042ed 0%,#b52da9 50%,#f50145 100%)!important;color:#fff!important;box-shadow:0 10px 22px rgba(190,31,121,.24),inset 0 1px 0 rgba(255,255,255,.22)!important;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease!important}
        html body #pv-confirm-modal.pv-confirm-danger #pv-confirm-aceptar::before{content:""!important;display:block!important;width:17px!important;height:17px!important;flex:0 0 17px!important;background:currentColor!important;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18M8 6V4h8v2m3 0-1 14H6L5 6m5 5v5m4-5v5'/%3E%3C/svg%3E") center/contain no-repeat!important;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18M8 6V4h8v2m3 0-1 14H6L5 6m5 5v5m4-5v5'/%3E%3C/svg%3E") center/contain no-repeat!important}
        html body #pv-confirm-modal.pv-confirm-danger #pv-confirm-aceptar:hover{filter:brightness(1.05)!important;transform:translateY(-1px)!important;box-shadow:0 13px 27px rgba(190,31,121,.3),inset 0 1px 0 rgba(255,255,255,.25)!important}
        html body #pv-confirm-modal.pv-confirm-danger #pv-confirm-aceptar:active{filter:brightness(.98)!important;transform:translateY(0) scale(.99)!important;box-shadow:0 6px 14px rgba(190,31,121,.22)!important}
        html body #pv-confirm-modal.pv-confirm-danger #pv-confirm-cancelar:focus-visible{outline:3px solid rgba(112,66,237,.16)!important;outline-offset:3px!important}
        html body #pv-confirm-modal.pv-confirm-danger #pv-confirm-aceptar:focus-visible{outline:3px solid rgba(112,66,237,.22)!important;outline-offset:3px!important}
        html body #pv-confirm-modal.pv-confirm-danger #pv-confirm-aceptar:disabled{cursor:not-allowed!important;filter:saturate(.55)!important;opacity:.62!important;transform:none!important;box-shadow:none!important}
        @media (max-width:520px){html body #pv-confirm-modal.pv-confirm-danger{padding:16px}html body #pv-confirm-modal.pv-confirm-danger .pv-confirm-box{width:100%;padding:22px;border-radius:21px}html body #pv-confirm-modal.pv-confirm-danger .pv-confirm-head{grid-template-columns:48px minmax(0,1fr);gap:4px 12px}html body #pv-confirm-modal.pv-confirm-danger .pv-confirm-icon{width:48px;height:48px;border-radius:14px}html body #pv-confirm-modal.pv-confirm-danger .pv-confirm-head h2{font-size:19px!important}html body #pv-confirm-modal.pv-confirm-danger .pv-confirm-actions{grid-template-columns:1fr}html body #pv-confirm-modal.pv-confirm-danger #pv-confirm-cancelar{order:2}}

        /* Vaciar carrito: confirmación destructiva contenida y coherente con Noalyx. */
        html body #pv-confirm-modal.pv-confirm-cart-clear{padding:20px;background:rgba(19,24,39,.56);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}
        html body #pv-confirm-modal.pv-confirm-cart-clear .pv-confirm-box{position:relative;box-sizing:border-box;width:min(470px,calc(100vw - 32px));max-width:470px;margin:auto;padding:27px;overflow:hidden;border:1px solid rgba(109,69,229,.16);border-radius:24px;background:linear-gradient(148deg,#fff 0%,#fff 72%,#faf8ff 100%);box-shadow:0 30px 80px rgba(15,23,42,.30),0 10px 28px rgba(109,69,229,.10)}
        html body #pv-confirm-modal.pv-confirm-cart-clear .pv-confirm-box::before{content:"";position:absolute;top:0;right:30px;left:30px;height:3px;border-radius:0 0 8px 8px;background:linear-gradient(90deg,#12a8e8 0%,#7042ed 52%,#d51e73 100%)}
        html body #pv-confirm-modal.pv-confirm-cart-clear .pv-confirm-head{display:grid;grid-template-columns:54px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:4px 14px;margin:0 0 18px}
        html body #pv-confirm-modal.pv-confirm-cart-clear .pv-confirm-icon{grid-column:1;grid-row:1/3;display:grid;place-items:center;box-sizing:border-box;width:54px;height:54px;margin:0;border:1px solid #ded7f4;border-radius:16px;background:linear-gradient(145deg,#f3efff 0%,#fff 100%);color:#7042ed;box-shadow:0 9px 22px rgba(65,49,122,.10)}
        html body #pv-confirm-modal.pv-confirm-cart-clear .pv-confirm-icon-default,
        html body #pv-confirm-modal.pv-confirm-cart-clear .pv-confirm-icon-danger,
        html body #pv-confirm-modal.pv-confirm-cart-clear .pv-confirm-icon-checkout{display:none!important}
        html body #pv-confirm-modal.pv-confirm-cart-clear .pv-confirm-icon-cart-clear{display:block!important;width:24px;height:24px;stroke:#7042ed}
        html body #pv-confirm-modal.pv-confirm-cart-clear .pv-confirm-kicker{grid-column:2;grid-row:1;display:block!important;margin:0;color:#7042ed;font-size:10px;font-weight:850;line-height:1;letter-spacing:.085em}
        html body #pv-confirm-modal.pv-confirm-cart-clear .pv-confirm-head h2{grid-column:2;grid-row:2;margin:0!important;color:#182034!important;font-size:22px!important;font-weight:900!important;line-height:1.15!important;letter-spacing:-.025em!important}
        html body #pv-confirm-modal.pv-confirm-cart-clear #pv-confirm-mensaje{box-sizing:border-box;margin:0!important;padding:15px 16px!important;border:1px solid #e6e9f0;border-radius:14px;background:#f8fafc;color:#5b6578;font-size:14px;line-height:1.55}
        html body #pv-confirm-modal.pv-confirm-cart-clear .pv-confirm-danger-note{display:none!important}
        html body #pv-confirm-modal.pv-confirm-cart-clear .pv-confirm-actions{display:grid;grid-template-columns:1fr 1.08fr;gap:10px;margin:20px 0 0}
        html body #pv-confirm-modal.pv-confirm-cart-clear .pv-confirm-actions button{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;min-width:0;height:48px;min-height:48px;margin:0!important;padding:0 16px!important;border-radius:13px!important;font-size:14px!important;font-weight:800!important;line-height:1!important;text-align:center;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}
        html body #pv-confirm-modal.pv-confirm-cart-clear #pv-confirm-cancelar{border:1px solid #d9deea!important;background:#fff!important;color:#465166!important;box-shadow:none!important}
        html body #pv-confirm-modal.pv-confirm-cart-clear #pv-confirm-aceptar{border:1px solid #be1e55!important;background:#c9215a!important;color:#fff!important;box-shadow:0 9px 20px rgba(190,30,85,.18)!important}
        html body #pv-confirm-modal.pv-confirm-cart-clear #pv-confirm-cancelar:hover{border-color:#bfc6d4!important;background:#f8fafc!important}
        html body #pv-confirm-modal.pv-confirm-cart-clear #pv-confirm-aceptar:hover{background:#b71c50!important;box-shadow:0 11px 24px rgba(190,30,85,.24)!important;transform:translateY(-1px)}
        html body #pv-confirm-modal.pv-confirm-cart-clear .pv-confirm-actions button:active{transform:translateY(0) scale(.99)}
        html body #pv-confirm-modal.pv-confirm-cart-clear .pv-confirm-actions button:disabled{cursor:not-allowed;opacity:.55;transform:none;box-shadow:none!important}
        html body #pv-confirm-modal.pv-confirm-cart-clear #pv-confirm-cancelar:focus-visible{outline:3px solid rgba(109,69,229,.20)!important;outline-offset:2px!important}
        html body #pv-confirm-modal.pv-confirm-cart-clear #pv-confirm-aceptar:focus-visible{outline:3px solid rgba(201,33,90,.24)!important;outline-offset:2px!important}
        @media (max-width:520px){html body #pv-confirm-modal.pv-confirm-cart-clear{padding:16px}html body #pv-confirm-modal.pv-confirm-cart-clear .pv-confirm-box{width:100%;padding:22px;border-radius:21px}html body #pv-confirm-modal.pv-confirm-cart-clear .pv-confirm-head{grid-template-columns:48px minmax(0,1fr);gap:4px 12px}html body #pv-confirm-modal.pv-confirm-cart-clear .pv-confirm-icon{width:48px;height:48px;border-radius:14px}html body #pv-confirm-modal.pv-confirm-cart-clear .pv-confirm-head h2{font-size:19px!important}html body #pv-confirm-modal.pv-confirm-cart-clear #pv-confirm-mensaje{font-size:14px}html body #pv-confirm-modal.pv-confirm-cart-clear .pv-confirm-actions{grid-template-columns:1fr}}
        .pv-modal-editar-pedido-box{max-width:1320px}
        .pv-pedido-editar-mobile-head{display:none}
        @keyframes pv-modal-in{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}
        /* Móvil (2026-07-15, revierte el intento anterior de "pantalla
           completa como app nativa"): el usuario pidió expresamente que
           TODOS los modales del sistema se vean como una tarjeta chica
           centrada — igual look que escritorio, ni ventana angosta
           estirada ni pantalla completa. No hace falta forzar un
           max-width nuevo: cada modal ya trae el suyo (520px, 900px,
           1320px para editar pedido, etc.) combinado con width:100% en la
           regla base — en una pantalla angosta ese width:100% ya lo
           encoge solo al ancho disponible (viewport menos el padding del
           overlay), sin importar qué tan grande sea su max-width propio.
           El botón de cerrar usa position:absolute (no sticky): sticky
           combinado con el float:right que trae por defecto no se pegaba
           bien al hacer scroll dentro de un modal alto (se iba con el
           contenido en vez de quedarse arriba) — bug real encontrado en
           "Modificar precios" antes de generalizar este ajuste. */
        @media (max-width:600px){
            .pv-modal-overlay{padding:16px}
            .pv-modal-box{max-height:85vh;padding:22px 18px}
            /* position:absolute quedaba relativo a .pv-modal-box, que es
               justo el elemento con overflow:auto — así que el botón se
               scrolleaba junto con el contenido y desaparecía en cuanto el
               modal era largo (ej. un recibo largo): no quedaba forma
               visible de cerrarlo ni volver al panel de atrás. position:
               fixed lo ancla a la pantalla en vez de al modal, así se queda
               siempre visible sin importar cuánto se haya scrolleado adentro. */
            .pv-modal-close{position:fixed;top:16px;right:16px;left:auto;bottom:auto;float:none;margin:0;z-index:100001}
        }
        #pv-modal-agregar-gasto .pv-gasto-modal-box{max-width:714px;max-height:calc(100dvh - 26px);box-sizing:border-box;padding:0;border:1px solid #E4E7EC;border-radius:20px;background:#fff;box-shadow:0 24px 64px rgba(16,24,40,.18);overflow:auto}
        #pv-modal-agregar-gasto .pv-gasto-modal-header{display:flex;align-items:center;gap:11px;min-height:70px;box-sizing:border-box;padding:17px 64px 17px 22px;border-bottom:1px solid #EAECF0;background:#fff}
        #pv-modal-agregar-gasto .pv-gasto-modal-titulo-icono{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;color:var(--pv-primary);background:transparent;border:0;overflow:visible}
        #pv-modal-agregar-gasto .pv-icono-gasto-animado-noalyx{display:block!important;width:44px!important;height:44px!important;overflow:visible!important}
        #pv-modal-agregar-gasto .pv-gasto-recibo-flotar{transform-origin:23px 23px;animation:pv-gasto-recibo-flotar 3.2s ease-in-out infinite}
        #pv-modal-agregar-gasto .pv-gasto-moneda-pulso{transform-origin:35.5px 34.5px;animation:pv-gasto-moneda-pulso 2.4s cubic-bezier(.2,.8,.2,1) infinite}
        #pv-modal-agregar-gasto .pv-gasto-destello{transform-origin:39px 11.6px;animation:pv-gasto-destello 2.4s ease-in-out infinite}
        @keyframes pv-gasto-recibo-flotar{0%,100%{transform:translateY(0) rotate(-.6deg)}50%{transform:translateY(-2px) rotate(.8deg)}}
        @keyframes pv-gasto-moneda-pulso{0%,24%,100%{transform:scale(.94)}45%{transform:scale(1.07)}62%{transform:scale(1)}}
        @keyframes pv-gasto-destello{0%,28%,100%{transform:scale(.75) rotate(0);opacity:.45}48%{transform:scale(1.12) rotate(12deg);opacity:1}68%{transform:scale(1) rotate(0);opacity:.75}}
        @media (prefers-reduced-motion:reduce){#pv-modal-agregar-gasto .pv-gasto-recibo-flotar,#pv-modal-agregar-gasto .pv-gasto-moneda-pulso,#pv-modal-agregar-gasto .pv-gasto-destello{animation:none}}
        #pv-modal-agregar-gasto .pv-gasto-modal-titulo{margin:0;font-size:20px;line-height:1.2;font-weight:750;color:var(--pv-ink)}
        #pv-modal-agregar-gasto .pv-modal-close{position:absolute;top:18px;right:20px;left:auto;bottom:auto;float:none;margin:0;width:34px;height:34px;border-radius:10px;background:#F2F4F7;border:1px solid #EAECF0;color:#344054;font-size:19px;z-index:3;box-shadow:none}
        #pv-modal-agregar-gasto .pv-modal-close:hover{background:#EAECF0;color:#101828}
        #pv-gasto-form{display:flex;flex-direction:column;gap:15px;padding:18px 22px 0}
        #pv-gasto-form .pvf-row,#pv-gasto-form .pv-form-row{margin:0}
        #pv-gasto-form .pv-campos-fila{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 18px}
        #pv-gasto-form .pv-campos-fila .pvf-row,#pv-gasto-form .pv-campos-fila .pv-form-row{display:flex;flex-direction:column;min-width:0}
        #pv-gasto-form .pvf-row>label,#pv-gasto-form .pv-form-row>label{display:flex;align-items:center;min-height:0;margin:0 0 7px;font-size:13px;line-height:1.25;font-weight:650;color:#1D2939}
        #pv-gasto-form .pvf-row input,#pv-gasto-form .pvf-row select,#pv-gasto-form .pv-form-row input,#pv-gasto-form .pv-form-row select,#pv-gasto-form .pv-cs-trigger{width:100%;max-width:none;min-height:42px;height:42px;padding:0 14px;border:1px solid #D0D5DD;border-radius:11px;background:#fff!important;color:#101828!important;font-size:13.5px;box-shadow:none!important}
        #pv-gasto-form .pvf-row textarea,#pv-gasto-form .pv-form-row textarea{width:100%;max-width:none;min-height:84px;padding:12px 14px;border:1px solid #D0D5DD;border-radius:11px;background:#fff!important;color:#101828!important;font-size:13.5px;box-shadow:none!important;resize:vertical}
        #pv-gasto-form .pvf-row input:focus,#pv-gasto-form .pvf-row select:focus,#pv-gasto-form .pvf-row textarea:focus,#pv-gasto-form .pv-form-row input:focus,#pv-gasto-form .pv-form-row select:focus,#pv-gasto-form .pv-form-row textarea:focus,#pv-gasto-form .pv-cs-trigger:focus{outline:none;border-color:#6F42DF!important;box-shadow:0 0 0 3px rgba(111,66,223,.12)!important;background-color:#fff!important}
        #pv-gasto-form .pvf-row select,#pv-gasto-form .pv-form-row select{-webkit-appearance:none;appearance:none;padding-right:44px!important;background-color:#fff!important;background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2218%22 height=%2218%22 viewBox=%220 0 18 18%22%3E%3Cpath d=%22M4 6.5 9 12l5-5.5Z%22 fill=%22%236F42DF%22/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:18px 18px!important}
        #pv-gasto-form .pvf-row select:focus,#pv-gasto-form .pv-form-row select:focus{border-color:#6F42DF!important;box-shadow:0 0 0 3px rgba(111,66,223,.12)!important}
        #pv-gasto-form select option:checked{color:#fff;background:#6F42DF}
        #pv-gasto-form .pv-gasto-validable{position:relative}
        #pv-gasto-form .pv-gasto-valid-check{position:absolute;right:15px;top:45px;z-index:4;display:none;align-items:center;justify-content:center;width:20px;height:20px;color:#05A66A;transform:translateY(-50%);pointer-events:none}
        #pv-gasto-form .pv-gasto-valid-check svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
        #pv-gasto-form .pv-gasto-campo-valido>.pv-gasto-valid-check{display:flex}
        #pv-gasto-form .pv-gasto-campo-select>.pv-gasto-valid-check,#pv-gasto-form .pv-gasto-campo-fecha>.pv-gasto-valid-check{right:46px}
        #pv-gasto-form .pv-campo-full>.pv-gasto-valid-check{top:65px}
        #pv-gasto-form .pv-gasto-campo-valido>input:not([type="date"]),#pv-gasto-form .pv-gasto-campo-valido>textarea{padding-right:44px}
        #pv-gasto-form .pv-gasto-campo-valido>select,#pv-gasto-form .pv-gasto-campo-valido .pv-gasto-control-con-icono>select{padding-right:76px!important}
        #pv-gasto-form .pv-gasto-campo-valido>input[type="date"]{padding-right:72px}
        #pv-gasto-form .pv-cs{width:100%;max-width:none}
        #pv-gasto-form .pv-cs-trigger{padding-right:24px!important}
        #pv-gasto-form .pv-cs-chevron{margin-left:10px;color:#6F42DF}
        #pv-gasto-form .pv-cs-trigger:focus,#pv-gasto-form .pv-cs.pv-cs-open .pv-cs-trigger-form{border-color:#6F42DF!important;box-shadow:0 0 0 3px rgba(111,66,223,.12)!important}
        #pv-gasto-form .pv-cs-option:hover,#pv-gasto-form .pv-cs-option-highlight{background:rgba(111,66,223,.07)}
        #pv-gasto-form .pv-cs-option.active{background:rgba(111,66,223,.10);color:#6F42DF}
        #pv-gasto-form .pv-gasto-tipo-selector{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin:0}
        #pv-gasto-form .pv-gasto-tipo-selector .pv-chip-radio{display:flex;align-items:center;justify-content:center;gap:9px;min-height:46px;box-sizing:border-box;padding:0 16px;border:1px solid #D0D5DD;border-radius:11px;background:#fff;color:#344054;font-size:13.5px;font-weight:650;text-align:center}
        #pv-gasto-form .pv-gasto-tipo-selector .pv-chip-radio::before{content:"";width:14px;height:14px;box-sizing:border-box;border:1.5px solid #98A2B3;border-radius:50%;background:#fff}
        #pv-gasto-form .pv-gasto-tipo-selector .pv-chip-radio.active{border-color:#6F42DF;background:#fff;color:#1D2939}
        #pv-gasto-form .pv-gasto-tipo-selector .pv-chip-radio.active::before{border:4px solid #6F42DF}
        #pv-gasto-form .pv-gasto-ayuda{margin:-1px 0 2px;padding:0;border:0;background:transparent;color:#667085;font-size:11.5px;line-height:1.45}
        #pv-gasto-form .pv-mov-disponible{margin-left:5px;font-size:10.5px;font-weight:550;color:#667085}
        #pv-gasto-form .pv-mov-disponible-valor{color:#16A34A;font-weight:750}
        #pv-gasto-form .pv-gasto-control-con-icono{position:relative;width:100%}
        #pv-gasto-form .pv-gasto-control-icono{position:absolute;left:14px;top:50%;z-index:2;display:flex;align-items:center;justify-content:center;color:#344054;transform:translateY(-50%);pointer-events:none}
        #pv-gasto-form .pv-gasto-control-con-icono>select,#pv-gasto-form .pv-gasto-control-con-icono>.pv-cs .pv-cs-trigger{padding-left:44px!important}
        #pv-gasto-form .pv-retiro-saldo-aviso,#pv-gasto-form .pv-mov-metodo-aviso{margin:0!important}
        #pv-gasto-form .pv-gasto-modal-acciones{position:sticky;bottom:0;z-index:2;display:flex;align-items:center;justify-content:flex-end;gap:11px;min-height:74px;box-sizing:border-box;margin:2px -22px 0;padding:14px 22px 16px;border-top:1px solid #EAECF0;background:#fff}
        #pv-gasto-form .pv-gasto-modal-acciones button{display:inline-flex;align-items:center;justify-content:center;flex:1 1 0;min-width:0;width:auto;height:43px;box-sizing:border-box;margin:0;padding:0 20px;border-radius:11px;font-size:13.5px;font-weight:700;box-shadow:none!important;transform:none!important;transition:none!important}
        #pv-gasto-form .pv-gasto-cancelar{position:static;float:none;color:#6F42DF;background:#fff;border:1.5px solid #6F42DF}
        #pv-gasto-form .pv-gasto-cancelar:hover{color:#5F2ED2;background:rgba(111,66,223,.05)}
        #pv-gasto-form #pv-gasto-submit-btn{color:#fff;background:linear-gradient(135deg,#6F42DF,#6A33E8);border:1.5px solid transparent}
        #pv-gasto-form #pv-gasto-submit-btn:hover{color:#fff;background:linear-gradient(135deg,#6F42DF,#6A33E8)}
        @media (max-width:600px){
            #pv-modal-agregar-gasto .pv-gasto-modal-box{max-height:88dvh;border-radius:16px}
            #pv-modal-agregar-gasto .pv-gasto-modal-header{padding:17px 58px 14px 17px}
            #pv-modal-agregar-gasto .pv-modal-close{position:absolute;top:15px;right:15px}
            #pv-gasto-form{gap:14px;padding:17px 17px 0}
            #pv-gasto-form .pv-campos-fila{grid-template-columns:1fr;gap:14px}
            /* En móvil el pie no puede flotar sobre el último selector: el
               check de validación y la flecha pertenecen al campo, no a los
               botones. Al dejar las acciones en el flujo conservan su sitio
               y aparecen completas al terminar de recorrer el formulario. */
            #pv-gasto-form .pv-gasto-modal-acciones{position:relative;right:auto;bottom:auto;left:auto;z-index:2;margin:4px -17px 0;padding:13px 17px 17px;gap:9px}
            #pv-gasto-form .pv-gasto-modal-acciones button{min-width:0;flex:1 1 0;padding:0 10px}
        }
        /* Modificación masiva de precios: flujo compacto en cuatro pasos. La
           lógica y los nombres de campos son los originales; solo cambia la
           presentación y se añade el resumen preventivo en vivo. */
        #pv-modal-mod-masiva-precios .pv-mmp-dialog{display:flex;flex-direction:column;width:min(760px,calc(100vw - 32px));max-width:760px!important;max-height:min(90vh,780px);padding:0!important;overflow:hidden;border:1px solid #e5e8f0;border-radius:20px;background:#fff;box-shadow:0 24px 70px rgba(23,32,51,.22)}
        #pv-modal-mod-masiva-precios .pv-mmp-header{display:flex;align-items:center;gap:12px;flex:0 0 auto;padding:17px 20px 15px;border-bottom:1px solid #e7eaf1;background:linear-gradient(110deg,#fff 55%,#faf8ff)}
        #pv-modal-mod-masiva-precios .pv-mmp-header-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;border-radius:12px;color:#fff;background:linear-gradient(140deg,#6d3df5,#d71978);box-shadow:0 8px 18px rgba(109,61,245,.20)}
        #pv-modal-mod-masiva-precios .pv-mmp-header-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
        #pv-modal-mod-masiva-precios .pv-mmp-header-copy{min-width:0;flex:1}
        #pv-modal-mod-masiva-precios .pv-mmp-header h2{margin:0;font-size:18px;font-weight:800;letter-spacing:-.02em;color:#172033}
        #pv-modal-mod-masiva-precios .pv-mmp-header p{margin:3px 0 0;font-size:11.5px;color:#8490a5}
        #pv-modal-mod-masiva-precios .pv-mmp-close{position:static!important;display:inline-flex;align-items:center;justify-content:center;float:none;flex:0 0 34px;width:34px;height:34px;margin:0;padding:0;border:1px solid #6d3df5;border-radius:10px;background:#fff;color:#6d3df5}
        #pv-modal-mod-masiva-precios .pv-mmp-close svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
        #pv-modal-mod-masiva-precios .pv-mmp-empty{padding:28px 20px;color:#8490a5}
        #pv-modal-mod-masiva-precios .pv-mmp-form{display:flex;flex-direction:column;min-height:0;overflow:hidden}
        #pv-modal-mod-masiva-precios .pv-mmp-body{min-height:0;padding:15px 20px 17px;overflow:auto;background:#f8f9fc}
        #pv-modal-mod-masiva-precios .pv-mmp-operation{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:10px;margin-bottom:12px}
        #pv-modal-mod-masiva-precios .pv-mmp-section-kicker{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.055em;color:#8a96aa}
        #pv-modal-mod-masiva-precios .pv-iva-opciones-compacta{display:flex!important;gap:0!important;margin:0!important;padding:3px;background:#eff1f7;border-radius:11px}
        #pv-modal-mod-masiva-precios .pv-iva-opcion{min-height:35px;border:none!important;background:none!important;padding:8px 6px!important;color:#6f7b90}
        #pv-modal-mod-masiva-precios .pv-iva-opcion.activa{background:#fff!important;border-radius:9px!important;color:#5632d8!important;box-shadow:0 1px 3px rgba(16,24,40,.10)}
        #pv-modal-mod-masiva-precios .pv-iva-opcion-texto strong{font-size:11.5px;font-weight:750}
        #pv-modal-mod-masiva-precios .pv-mmp-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}
        #pv-modal-mod-masiva-precios .pv-mmp-column{display:grid;gap:12px;min-width:0}
        #pv-modal-mod-masiva-precios .pv-mmp-card{min-width:0;padding:14px;border:1px solid #e1e5ee;border-radius:15px;background:#fff;box-shadow:0 3px 10px rgba(30,42,70,.035)}
        #pv-modal-mod-masiva-precios .pv-mmp-card-heading{display:flex;align-items:center;gap:9px;margin-bottom:12px;min-width:0}
        #pv-modal-mod-masiva-precios .pv-mmp-card-heading>span:nth-child(2){display:flex;flex-direction:column;min-width:0}
        #pv-modal-mod-masiva-precios .pv-mmp-card-heading strong{font-size:12.5px;line-height:1.25;color:#172033}
        #pv-modal-mod-masiva-precios .pv-mmp-card-heading small{margin-top:2px;font-size:9.7px;line-height:1.25;color:#8995a9}
        #pv-modal-mod-masiva-precios .pv-mmp-card-heading small b{color:#6d3df5}
        #pv-modal-mod-masiva-precios .pv-mmp-step{display:inline-flex;align-items:center;justify-content:center;flex:0 0 25px;width:25px;height:25px;border-radius:8px;background:#f0ecff;color:#6d3df5;font-size:11px;font-weight:850}
        #pv-modal-mod-masiva-precios .pv-mmp-card-heading-action{padding-right:0}
        #pv-modal-mod-masiva-precios .pv-mmp-select-all{margin-left:auto;padding:5px 7px;border:0;background:transparent;color:#6d3df5;font-size:9.5px;font-weight:800;white-space:nowrap;cursor:pointer}
        #pv-modal-mod-masiva-precios .pv-mmp-select-all:hover{text-decoration:underline}
        #pv-modal-mod-masiva-precios .pv-mmp-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
        #pv-modal-mod-masiva-precios .pv-mmp-choice{display:flex;align-items:center;gap:8px;min-width:0;padding:10px;border:1px solid #e0e4ed;border-radius:11px;background:#fafbfe;cursor:pointer}
        #pv-modal-mod-masiva-precios .pv-mmp-choice:has(input:checked){border-color:#a992ff;background:#f5f2ff;box-shadow:0 0 0 2px rgba(109,61,245,.06)}
        #pv-modal-mod-masiva-precios .pv-mmp-choice input,#pv-modal-mod-masiva-precios .pv-permiso-check input{flex:0 0 auto;width:17px;height:17px;margin:0;accent-color:#6d3df5}
        #pv-modal-mod-masiva-precios .pv-mmp-choice span{display:flex;flex-direction:column;min-width:0}
        #pv-modal-mod-masiva-precios .pv-mmp-choice strong{font-size:11px;color:#253047}
        #pv-modal-mod-masiva-precios .pv-mmp-choice small{margin-top:1px;font-size:8.5px;color:#8a95a8;white-space:nowrap}
        #pv-modal-mod-masiva-precios .pv-mmp-field-label{display:block;margin:0 0 5px;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.035em;color:#7e8a9f}
        #pv-modal-mod-masiva-precios #pv-mmp-almacen{width:100%;margin:0}
        #pv-modal-mod-masiva-precios #pv-mmp-filtros-inventario .pv-cs{display:block;width:100%;max-width:none}
        #pv-modal-mod-masiva-precios #pv-mmp-filtros-inventario .pv-cs-trigger{height:38px;font-size:11.5px;border-radius:10px}
        #pv-modal-mod-masiva-precios .pv-mmp-categories-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:11px 0 6px}
        #pv-modal-mod-masiva-precios .pv-mmp-categories-head .pv-mmp-field-label{margin:0}
        #pv-modal-mod-masiva-precios .pv-mmp-categories-head small{font-size:8.8px;color:#98a2b3}
        #pv-modal-mod-masiva-precios .pv-mmp-checklist{border:1px solid #e2e6ef;border-radius:11px;background:#fff;overflow:auto}
        #pv-modal-mod-masiva-precios .pv-mmp-checklist.pv-mmp-oculto{display:none!important}
        #pv-modal-mod-masiva-precios .pv-mmp-checklist .pv-permiso-check{display:flex!important;align-items:center;gap:8px;min-width:0;padding:8px 10px;border-bottom:1px solid #edf0f5;font-size:10.5px;font-weight:650;color:#313b50;cursor:pointer}
        #pv-modal-mod-masiva-precios .pv-mmp-checklist .pv-permiso-check:last-child{border-bottom:0}
        #pv-modal-mod-masiva-precios .pv-mmp-checklist .pv-permiso-check:has(input:checked){background:#f7f4ff;color:#5730d8}
        #pv-modal-mod-masiva-precios .pv-mmp-checklist .pv-permiso-check.pv-mmp-oculto{display:none!important}
        #pv-modal-mod-masiva-precios .pv-mmp-category-grid{max-height:126px}
        #pv-modal-mod-masiva-precios .pv-mmp-category-grid .pv-permiso-check{padding:7px 9px;font-size:9.8px}
        #pv-modal-mod-masiva-precios .pv-mmp-channel-list{max-height:181px}
        #pv-modal-mod-masiva-precios .pv-mmp-empty-note{margin:8px 0 0;font-size:9.5px;color:#8a95a8}
        #pv-modal-mod-masiva-precios .pv-mmp-empty-note[hidden]{display:none!important}
        #pv-modal-mod-masiva-precios .pv-mmp-card-disabled{opacity:.5}
        #pv-modal-mod-masiva-precios .pv-mmp-method{margin-bottom:11px!important}
        #pv-modal-mod-masiva-precios .pv-mmp-valor-wrap{display:flex!important;align-items:stretch;height:42px;border:1.5px solid #d9deea;border-radius:11px;overflow:hidden;background:#fff}
        #pv-modal-mod-masiva-precios .pv-mmp-valor-wrap:focus-within{border-color:#6d3df5;box-shadow:0 0 0 3px rgba(109,61,245,.09)}
        #pv-modal-mod-masiva-precios .pv-mmp-valor-wrap input[name="valor"]{flex:1;min-width:0;height:40px;padding:0 12px;border:none!important;border-radius:0!important;background:#fff;font-size:14px;font-weight:750;color:#20283a;box-shadow:none!important}
        #pv-modal-mod-masiva-precios .pv-mmp-valor-unidad{display:flex!important;align-items:center;justify-content:center;flex:0 0 42px;width:42px;background:#f1f3f8;color:#6d3df5;font-size:12px;font-weight:850}
        #pv-modal-mod-masiva-precios .pv-mmp-example{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px;padding:8px 10px;border-radius:10px;background:#f5f7fb;color:#8290a4;font-size:9.5px}
        #pv-modal-mod-masiva-precios .pv-mmp-example strong{color:#0b9b6a;font-size:10.5px}
        #pv-modal-mod-masiva-precios .pv-mmp-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:0 0 auto;padding:13px 20px 15px;border-top:1px solid #e5e8f0;background:#fff}
        #pv-modal-mod-masiva-precios .pv-mmp-summary{display:flex;align-items:center;gap:9px;min-width:0;flex:1}
        #pv-modal-mod-masiva-precios .pv-mmp-summary-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 27px;width:27px;height:27px;border-radius:9px;background:#eaf9f3;color:#08a66d;font-size:12px;font-weight:900}
        #pv-modal-mod-masiva-precios .pv-mmp-summary>span:last-child{display:flex;flex-direction:column;min-width:0}
        #pv-modal-mod-masiva-precios .pv-mmp-summary small{font-size:8.5px;text-transform:uppercase;letter-spacing:.04em;color:#94a0b2}
        #pv-modal-mod-masiva-precios .pv-mmp-summary strong{margin-top:2px;max-width:330px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;color:#253047}
        #pv-modal-mod-masiva-precios .pv-mmp-actions{display:flex;gap:8px;flex:0 0 auto}
        #pv-modal-mod-masiva-precios .pv-mmp-cancel,#pv-modal-mod-masiva-precios .pv-mmp-submit{position:static!important;float:none;width:auto;height:39px;margin:0;padding:0 14px;border-radius:10px;font-size:11px;font-weight:800}
        #pv-modal-mod-masiva-precios .pv-mmp-cancel{border:1px solid #dfe3ec;background:#fff;color:#69758a}
        #pv-modal-mod-masiva-precios .pv-mmp-submit{border:0!important;background:linear-gradient(120deg,#6d3df5 0%,#8b35e7 54%,#f5011f 100%)!important;color:#fff!important;box-shadow:0 8px 18px rgba(109,61,245,.20)}
        #pv-modal-mod-masiva-precios .pv-mmp-submit:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
        @media (max-width:720px){
            #pv-modal-mod-masiva-precios .pv-mmp-dialog{width:calc(100vw - 24px);max-height:92vh}
            #pv-modal-mod-masiva-precios .pv-mmp-header{padding:14px 15px}
            #pv-modal-mod-masiva-precios .pv-mmp-body{padding:12px}
            #pv-modal-mod-masiva-precios .pv-mmp-operation{grid-template-columns:1fr;gap:6px}
            #pv-modal-mod-masiva-precios .pv-mmp-layout{grid-template-columns:1fr}
            #pv-modal-mod-masiva-precios .pv-mmp-footer{align-items:stretch;flex-direction:column;padding:11px 12px 13px}
            #pv-modal-mod-masiva-precios .pv-mmp-summary strong{max-width:100%}
            #pv-modal-mod-masiva-precios .pv-mmp-actions{width:100%}
            #pv-modal-mod-masiva-precios .pv-mmp-actions button{flex:1;min-width:0}
        }
        @media (max-width:600px){
            .pvf-fab{position:fixed;bottom:20px;right:20px;left:auto;top:auto;width:52px;height:52px;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px;z-index:500;box-shadow:0 6px 20px rgba(var(--pv-primary-rgb),.4)}
            .pvf-fab .pvf-fab-texto{display:none}
            .pvf-fab::after{content:"+";line-height:1}
        }
        @media (max-width:600px){
            .pvf-btn:not(.pvf-fab){padding:8px 14px;font-size:12px;border-radius:9px}
        }
        select.pv-cs-native{display:none!important}
        html body .pvf-shell .rv-prov-page .rv-prov-status-filter select.pv-cs-native{display:none!important}
        .pv-cs{position:relative;display:inline-block;max-width:100%;min-width:0;box-sizing:border-box;vertical-align:middle}
        .pv-form-row .pv-cs,.pvf-row .pv-cs,.pv-items-row .pv-cs,.rv-cfg-campo .pv-cs{display:block;width:100%;min-width:0;max-width:420px}
        .pv-items-row .pv-cs,.rv-cfg-campo .pv-cs{max-width:100%}
        .pv-cs-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;box-sizing:border-box;width:100%;min-width:0;height:42px;padding:0 14px;border:1px solid #D0D5DD;border-radius:11px;background:#fff;color:#172033;cursor:pointer;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:13.5px;font-weight:500;line-height:1.2;text-align:left;box-shadow:none}
        .pv-cs-trigger:hover{border-color:#6844DF}
        .pv-cs.pv-cs-open .pv-cs-trigger,.pv-cs-trigger:focus{outline:none;border-color:#6844DF;box-shadow:0 0 0 3px rgba(104,68,223,.10)}
        .pv-cs-trigger-icon,.pv-cs-option-icon,.pv-cs-option-check,.pv-cs-search-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:#6844DF}
        .pv-cs-trigger-icon{width:18px;height:18px}
        .pv-cs-trigger-icon svg,.pv-cs-option-icon svg,.pv-cs-option-check svg,.pv-cs-search-icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
        .pv-cs-trigger-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
        .pv-cs-chevron{display:inline-flex;align-items:center;justify-content:center;flex:0 0 18px;width:18px;height:18px;margin-left:auto;color:#6844DF;font-size:0;line-height:0}
        .pv-cs-chevron svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
        .pv-cs.pv-cs-open .pv-cs-chevron{transform:rotate(180deg)}
        .pv-cs.pv-cs-disabled .pv-cs-trigger{opacity:.55;cursor:not-allowed}
        .pv-cs.pv-cs-error .pv-cs-trigger{border-color:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.10)}
        .pv-cs-panel{position:fixed;min-width:220px;box-sizing:border-box;padding:7px;background:#fff;border:1px solid #E1E5EC;border-radius:12px;box-shadow:0 12px 30px rgba(23,32,51,.12);z-index:100200;overflow:hidden;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
        /* Cuando no hay espacio abajo (trigger pegado al fondo de un modal
           con scroll propio) se abre hacia arriba en vez de hacia abajo —
           JS decide cuál usar en pv_custom_select_script(), esto solo pinta
           la variante. */
        .pv-cs-panel[hidden]{display:none}
        .pv-cs-search-wrap{display:flex;align-items:center;gap:9px;height:40px;box-sizing:border-box;padding:0 11px;margin-bottom:5px;border:1px solid #D0D5DD;border-radius:9px;background:#fff}
        .pv-cs-search-icon{width:16px;height:16px;color:#98A2B3}
        .pv-cs-search{width:100%;height:100%;min-width:0;padding:0;border:0!important;outline:0!important;border-radius:0;font-size:12.5px;font-family:inherit;box-shadow:none!important;background:transparent!important;color:#172033!important}
        .pv-cs-search-wrap:focus-within{border-color:#6844DF;box-shadow:0 0 0 3px rgba(104,68,223,.08)}
        .pv-cs-options{max-height:min(320px,calc(100vh - 42px));overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#C7CAD1 transparent}
        .pv-cs-option{appearance:none;display:flex;align-items:center;gap:11px;width:100%;min-height:40px;box-sizing:border-box;padding:8px 11px;border:0;border-radius:9px;background:transparent;color:#172033;cursor:pointer;font:500 13px/1.3 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;text-align:left;box-shadow:none}
        .pv-cs-option:hover,.pv-cs-option:focus,.pv-cs-option-highlight{outline:none;background:#F7F8FA}
        .pv-cs-option-icon{width:18px;height:18px;color:#7A5BE5}
        .pv-cs-option-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
        .pv-cs-option.active{background:#F2EEFF;color:#6844DF;font-weight:700}
        .pv-cs-option.active .pv-cs-option-icon{color:#6844DF}
        .pv-cs-option-check{width:19px;height:19px;margin-left:auto;color:#6844DF}
        .pv-cs-option-disabled{opacity:.42;cursor:not-allowed}
        /* Registrar movimiento: el producto siempre conserva un buscador,
           incluso cuando el almacén actual tenga pocas opciones. */
        .pv-cs-panel.pv-cs-panel-movimiento-producto-movil{padding:9px;border-color:#D9D0F5;border-radius:14px;background:linear-gradient(180deg,#FFFFFF,#FCFBFF);box-shadow:0 18px 42px rgba(35,29,62,.18),0 4px 12px rgba(104,68,223,.08)}
        .pv-cs-panel-movimiento-producto-movil .pv-cs-search-wrap{height:44px;margin-bottom:7px;padding:0 12px;border-color:#D7CDF5;border-radius:11px;background:#FAF8FF}
        .pv-cs-panel-movimiento-producto-movil .pv-cs-search-wrap:focus-within{border-color:#7042ED;background:#FFFFFF;box-shadow:0 0 0 3px rgba(112,66,237,.10)}
        .pv-cs-panel-movimiento-producto-movil .pv-cs-search-icon{width:18px;height:18px;color:#7042ED}
        .pv-cs-panel-movimiento-producto-movil .pv-cs-search{font-size:13px;font-weight:600}
        .pv-cs-panel-movimiento-producto-movil .pv-cs-options{max-height:min(340px,calc(100vh - 150px));padding-right:2px}
        .pv-cs-panel-movimiento-producto-movil .pv-cs-option{min-height:44px;padding:9px 10px;border-radius:10px}
        .pv-cs-panel-movimiento-producto-movil .pv-cs-option-label{white-space:normal;text-overflow:clip;line-height:1.35}
        .pv-cs-product-search-empty{display:flex;align-items:center;flex-direction:column;padding:22px 12px 18px;color:#8A94A5;text-align:center}
        .pv-cs-product-search-empty[hidden]{display:none}
        .pv-cs-product-search-empty>span{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;background:#F0ECFF;color:#7042ED;font-size:18px;font-weight:900}
        .pv-cs-product-search-empty>strong{margin-top:7px;color:#3A4558;font-size:11px}
        .pv-cs-product-search-empty>small{margin-top:2px;font-size:9px}
        @media(max-width:680px){.pv-cs-panel.pv-cs-panel-movimiento-producto-movil{max-width:calc(100vw - 16px)!important;padding:8px;border-radius:16px}.pv-cs-panel-movimiento-producto-movil .pv-cs-search-wrap{height:48px}.pv-cs-panel-movimiento-producto-movil .pv-cs-search{height:46px!important;min-height:46px!important;font-size:16px!important}.pv-cs-panel-movimiento-producto-movil .pv-cs-option{min-height:48px;padding:10px;font-size:13px;touch-action:manipulation}}
        /* Combo "Producto (Inventario)" de Cotización: pv_custom_select_script()
           inserta el .pv-cs generado como hermano INMEDIATO del <select>
           original (que sigue en el DOM, solo oculto) — el "+" lo engancha
           sin tocar ningún otro combo del sitio. La regla genérica de más
           arriba (".pv-items-row .pv-cs .pv-cs-panel{left:0;right:0;
           min-width:0}") hace que el panel desplegable herede el ancho de
           su columna en la tabla de ítems (~190px), truncando con "…"
           nombres de producto largos ("Rsv-cb100 — cable de cobre..."). Acá
           se libera de ese ancho Y además se deja que el texto pase a la
           siguiente línea en vez de cortarse — así el nombre completo
           siempre se alcanza a leer, sin importar qué tan largo sea. */
        .pv-cot-producto-select + .pv-cs .pv-cs-panel{left:0!important;right:auto!important;min-width:min(320px,calc(100vw - 48px))!important;width:max-content!important;max-width:calc(100vw - 48px)!important}
        .pv-cot-producto-select + .pv-cs .pv-cs-option-label{white-space:normal!important;text-overflow:clip!important;line-height:1.35}
        /* Mismo criterio que Cotización arriba, para el selector de producto
           de "Ingreso a inventario" (Reponer) — la descripción completa se
           lee entera en vez de cortarse con "...". */
        #pv-reponer-items .pv-cs-option-label{white-space:normal!important;text-overflow:clip!important;line-height:1.35}
        /* Check verde global para campos completados correctamente. */
        html body input.pv-campo-completo:not([type="date"]),html body textarea.pv-campo-completo{padding-right:44px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Cpath d=%22m5 12.5 4.2 4.2L19 7%22 fill=%22none%22 stroke=%22%2305A66A%22 stroke-width=%222.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 14px center!important;background-size:20px 20px!important}
        /* El monto del vuelto dividido necesita todo el ancho: conserva la validación, sin check visual. */
        html body input.pv-vuelto-dividido-monto.pv-campo-completo{padding-right:7px!important;background-image:none!important}
        @media(max-width:600px){html body input.pv-vuelto-dividido-monto.pv-campo-completo{padding-right:5px!important}}
        html body textarea.pv-campo-completo{background-position:right 14px top 14px!important}
        html body input[type="date"].pv-campo-completo{padding-right:72px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Cpath d=%22m5 12.5 4.2 4.2L19 7%22 fill=%22none%22 stroke=%22%2305A66A%22 stroke-width=%222.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 43px center!important;background-size:20px 20px!important}
        html body select.pv-campo-completo:not(.pv-cs-native){padding-right:78px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Cpath d=%22m5 12.5 4.2 4.2L19 7%22 fill=%22none%22 stroke=%22%2305A66A%22 stroke-width=%222.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 18 18%22%3E%3Cpath d=%22M4 6.5 9 12l5-5.5Z%22 fill=%22%236844DF%22/%3E%3C/svg%3E")!important;background-repeat:no-repeat,no-repeat!important;background-position:right 46px center,right 14px center!important;background-size:19px 19px,18px 18px!important}
        .pv-cs.pv-campo-completo .pv-cs-trigger{position:relative;padding-right:78px!important}
        .pv-cs.pv-campo-completo .pv-cs-trigger::after{content:"";position:absolute;right:46px;top:50%;width:19px;height:19px;transform:translateY(-50%);background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Cpath d=%22m5 12.5 4.2 4.2L19 7%22 fill=%22none%22 stroke=%22%2305A66A%22 stroke-width=%222.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3C/svg%3E") center/19px 19px no-repeat;pointer-events:none}
        /* Nuevo artículo de fabricación: modal compacto y consistente con el
           lenguaje visual Noalyx usado en Pedidos y Canales de venta. */
        html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal{
            align-items:flex-start!important;padding:18px!important;background:rgba(20,23,34,.42)!important;
            backdrop-filter:blur(7px)!important;-webkit-backdrop-filter:blur(7px)!important;overflow-y:auto!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-dialog{
            position:relative!important;width:min(1040px,calc(100vw - 36px))!important;max-width:1040px!important;
            max-height:none!important;margin:auto!important;padding:0!important;border:1px solid rgba(111,66,223,.13)!important;
            border-radius:24px!important;background:#fff!important;box-shadow:0 28px 80px rgba(20,23,34,.28)!important;overflow:hidden!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo>.pv-fabcat-dialog>.pv-modal-close{
            position:absolute!important;z-index:12!important;top:22px!important;right:24px!important;display:inline-flex!important;
            align-items:center!important;justify-content:center!important;width:40px!important;height:40px!important;padding:0!important;
            border:1.5px solid rgba(111,66,223,.3)!important;border-radius:12px!important;background:#fff!important;color:#6f42df!important;
            font-size:22px!important;line-height:1!important;text-decoration:none!important;box-shadow:none!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-form-card{
            margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-form-header{
            display:flex!important;align-items:center!important;gap:14px!important;padding:22px 82px 18px 26px!important;
            border-bottom:1px solid #eef0f5!important;background:linear-gradient(120deg,#fff 0%,#faf8ff 60%,#fff7fa 100%)!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-form-header-icon{
            display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 46px!important;
            width:46px!important;height:46px!important;border-radius:14px!important;background:linear-gradient(140deg,#eee9ff,#fceaf4)!important;
            color:#6844df!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-form-header-icon svg{width:23px!important;height:23px!important}
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-form-header-copy{min-width:0!important}
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-form-header h2{
            margin:0!important;color:#172033!important;font-size:21px!important;font-weight:800!important;letter-spacing:-.02em!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-form-header p{
            margin:4px 0 0!important;color:#8993a8!important;font-size:11.5px!important;font-weight:550!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-form{padding:22px 26px 0!important}
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-grid-main{
            display:grid!important;grid-template-columns:minmax(0,1.65fr) minmax(130px,.65fr) minmax(190px,1fr)!important;gap:14px!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-field{min-width:0!important;margin:0!important}
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-field>label,
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-currency-field>label{
            display:block!important;margin:0 0 7px!important;color:#283044!important;font-size:11.5px!important;font-weight:750!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-field input:not([type="file"]),
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-field select,
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-field .pv-cs-trigger{
            width:100%!important;height:44px!important;min-height:44px!important;box-sizing:border-box!important;border:1px solid #dce1eb!important;
            border-radius:11px!important;background:#fbfcfe!important;color:#172033!important;box-shadow:none!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-field textarea{
            width:100%!important;min-height:104px!important;box-sizing:border-box!important;padding:12px 13px!important;border:1px solid #dce1eb!important;
            border-radius:11px!important;background:#fbfcfe!important;color:#172033!important;box-shadow:none!important;resize:vertical!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-field input:focus,
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-field textarea:focus{
            border-color:#6844df!important;background:#fff!important;box-shadow:0 0 0 3px rgba(104,68,223,.1)!important;outline:none!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-cost-panel{
            margin:20px 0 0!important;padding:18px!important;border:1px solid #e4dcfb!important;border-radius:16px!important;
            background:linear-gradient(110deg,#f9f7ff,#fff9fb)!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-cost-head{
            display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:18px!important;margin-bottom:14px!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-cost-head h3,
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-catalog-head h2{
            margin:0!important;color:#172033!important;font-size:15px!important;font-weight:800!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-cost-head p,
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-catalog-head p{
            margin:3px 0 0!important;color:#8993a8!important;font-size:10.5px!important;font-weight:550!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-currency-field{flex:0 0 auto!important;margin:0!important}
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-currency-field>label{text-align:right!important}
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-currency-field .pv-moneda-switches{
            display:inline-flex!important;width:auto!important;gap:4px!important;padding:4px!important;border:1px solid #ded9ed!important;
            border-radius:11px!important;background:#f0f2f7!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-currency-field .pv-moneda-switch{
            min-width:48px!important;height:32px!important;padding:0 10px!important;border:0!important;border-radius:8px!important;background:transparent!important;
            color:#8993a8!important;font-size:11px!important;font-weight:750!important;box-shadow:none!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-currency-field .pv-moneda-switch.active,
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-currency-field .pv-moneda-switch:has(input:checked){
            background:linear-gradient(100deg,#6844df,#a54d9e 55%,#f5011f)!important;color:#fff!important;
            box-shadow:0 5px 14px rgba(104,68,223,.18)!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-currency-field .pv-moneda-switch.active .pv-moneda-switch-label,
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-currency-field .pv-moneda-switch:has(input:checked) .pv-moneda-switch-label{
            color:#fff!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-currency-field .pv-moneda-switch.active::after,
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-currency-field .pv-moneda-switch:has(input:checked)::after{
            content:"✓";display:inline-flex;align-items:center;justify-content:center;flex:0 0 17px;width:17px;height:17px;
            margin-left:1px;border:1px solid rgba(255,255,255,.52);border-radius:50%;background:rgba(255,255,255,.18);
            color:#fff;font-size:11px;font-weight:900;line-height:1;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-grid-costs{
            display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-grid-costs input.pv-campo-completo{
            background-image:none!important;padding-right:13px!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-cost-hint{
            margin:10px 0 0!important;color:#8993a8!important;font-size:10.5px!important;font-weight:550!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-grid-extra{
            display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr)!important;gap:14px!important;margin-top:20px!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-optional{
            display:inline-flex!important;align-items:center!important;margin-left:6px!important;padding:2px 6px!important;border-radius:999px!important;
            background:#F1EEFC!important;color:#7357CC!important;font-size:8px!important;font-weight:800!important;line-height:1.2!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-upload-box{
            position:relative!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:center!important;justify-items:stretch!important;
            gap:9px!important;min-height:112px!important;box-sizing:border-box!important;padding:14px!important;border:1px dashed #a99aec!important;border-radius:14px!important;
            background:linear-gradient(145deg,#FBFAFF 0%,#F8F6FF 55%,#FFF9FC 100%)!important;color:#6844df!important;text-align:left!important;
            box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 7px 18px rgba(104,68,223,.055)!important;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-upload-box:has(.pv-fabcat-current-image){grid-template-columns:76px minmax(0,1fr)!important}
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-upload-box.pv-has-new-image{grid-template-columns:minmax(0,1fr)!important;border-color:#72CEAA!important;background:linear-gradient(145deg,#F3FCF8 0%,#F9FFFC 58%,#F8F5FF 100%)!important;box-shadow:0 0 0 3px rgba(22,163,106,.08),0 8px 20px rgba(8,125,81,.07)!important}
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-upload-box.pv-has-new-image .pv-fabcat-current-wrap{display:none!important}
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-current-wrap{
            display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;flex-direction:column!important;
            gap:4px!important;margin:0!important;padding:0!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-current-wrap small{
            color:#69758B!important;font-size:8px!important;font-weight:750!important;line-height:1!important;white-space:nowrap!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-upload-controls{
            display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:center!important;justify-items:stretch!important;
            gap:7px!important;min-width:0!important;width:100%!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-upload-box small{color:#8993a8!important;font-size:10px!important}
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-upload-controls>.rv-producto-image-help{margin:0!important;text-align:left!important;line-height:1.3!important}
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-upload-box .pv-file-wrap,
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-upload-box .pv-file-input{margin:0!important}
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-upload-box .pv-file-input{position:relative!important;display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:10px!important;width:100%!important;max-width:100%!important}
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-upload-box .pv-file-input-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;box-sizing:border-box!important;height:43px!important;margin:0!important;padding:0 15px!important;border:1px solid #8F73ED!important;border-radius:11px!important;background:#FFFFFF!important;color:#6844DF!important;font-size:11px!important;font-weight:820!important;box-shadow:0 5px 13px rgba(104,68,223,.09)!important;white-space:nowrap!important}
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-upload-box .pv-file-input-btn:hover{border-color:#7042ED!important;background:#F7F3FF!important;box-shadow:0 8px 18px rgba(104,68,223,.13)!important}
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-upload-box .pv-file-input-nombre{display:block!important;min-width:0!important;overflow:hidden!important;color:#7F8BA1!important;font-size:10px!important;font-weight:650!important;text-overflow:ellipsis!important;white-space:nowrap!important}
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-upload-box.pv-has-new-image .pv-file-input-btn{border-color:#74CEAA!important;background:#F0FBF6!important;color:#087D51!important;box-shadow:0 5px 13px rgba(8,125,81,.09)!important}
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-upload-box.pv-has-new-image .pv-file-input-nombre{color:#087D51!important;font-weight:800!important}
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-upload-box .pv-file-input-native{
            position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
            overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;opacity:0!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-current-image{
            display:block!important;flex:0 0 auto!important;width:76px!important;height:56px!important;margin:0!important;
            border:1px solid #E1E5EC!important;border-radius:9px!important;background:#FFFFFF!important;box-shadow:0 4px 12px rgba(31,35,65,.08)!important;object-fit:cover!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-upload-box .pv-producto-upload-preview{grid-column:1/-1!important;display:grid!important;grid-template-columns:66px minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;min-height:64px!important;margin:0!important;padding:6px!important;border:1px solid #BCE7D3!important;border-radius:12px!important;background:rgba(255,255,255,.82)!important;box-shadow:0 5px 15px rgba(8,125,81,.06)!important}
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-upload-box .pv-producto-upload-preview img{display:block!important;width:66px!important;height:52px!important;border-radius:9px!important;background:#E8EDF3!important;object-fit:cover!important;box-shadow:0 3px 9px rgba(15,23,42,.11)!important}
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-upload-box .pv-producto-upload-preview>span{display:flex!important;min-width:0!important;flex-direction:column!important;gap:3px!important}
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-upload-box .pv-producto-upload-preview strong{color:#087D51!important;font-size:11px!important;font-weight:850!important;line-height:1.2!important}
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-upload-box .pv-producto-upload-preview small{display:block!important;min-width:0!important;overflow:hidden!important;color:#65758B!important;font-size:9.5px!important;line-height:1.2!important;text-overflow:ellipsis!important;white-space:nowrap!important}
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-upload-box .pv-producto-upload-remove{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;height:34px!important;margin:0!important;padding:0 10px!important;border:1px solid #E6CAD4!important;border-radius:9px!important;background:#FFF!important;color:#B62450!important;font-size:9.5px!important;font-weight:800!important;line-height:1!important;cursor:pointer!important;box-shadow:none!important}
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-upload-box .pv-producto-upload-remove:hover{border-color:#DF9BAF!important;background:#FFF4F7!important;color:#A11642!important}
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-upload-box .pv-producto-upload-remove svg{display:block!important;width:13px!important;height:13px!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important}
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-upload-box.is-invalid{border-color:#E64463!important;background:#FFF5F7!important;box-shadow:0 0 0 3px rgba(230,68,99,.09)!important}
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-actions{
            display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;margin:22px -26px 0!important;
            padding:16px 26px!important;border-top:1px solid #eceff4!important;background:#fafbfd!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-actions .pvf-btn{
            display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:126px!important;height:42px!important;
            min-height:42px!important;margin:0!important;padding:0 17px!important;border-radius:11px!important;font-size:11.5px!important;font-weight:750!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-cancel{
            border:1px solid #dce1eb!important;background:#fff!important;color:#566074!important;box-shadow:none!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-submit{
            border:1px solid transparent!important;background:linear-gradient(100deg,#6844df,#a54d9e 55%,#f5011f)!important;color:#fff!important;
            box-shadow:0 8px 20px rgba(104,68,223,.2)!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-catalog-card{
            margin:0!important;padding:20px 26px 24px!important;border:0!important;border-top:10px solid #f4f5f9!important;border-radius:0!important;
            background:#fff!important;box-shadow:none!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-catalog-head{
            display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin-bottom:12px!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-search-wrap{
            position:relative!important;width:min(260px,100%)!important;margin:0 0 12px!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-search-wrap svg{
            position:absolute!important;z-index:2!important;left:12px!important;top:50%!important;width:16px!important;height:16px!important;
            color:#6844df!important;transform:translateY(-50%)!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-search-wrap input{
            width:100%!important;height:40px!important;margin:0!important;padding:0 12px 0 38px!important;border:1px solid #dce1eb!important;
            border-radius:10px!important;background:#fbfcfe!important;color:#172033!important;box-shadow:none!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo #pv-fab-catalogo-tabla{overflow-x:auto!important}
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-table-row{
            display:grid;grid-template-columns:minmax(190px,1.35fr) minmax(145px,1fr) 70px 125px 125px 92px!important;
            min-width:820px!important;align-items:center!important;gap:10px!important;padding:10px 8px!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-table-row.pv-historial-header{
            padding-top:8px!important;padding-bottom:8px!important;background:transparent!important;color:#8993a8!important;font-size:9.5px!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-item-cell{display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important}
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-item-cell img,
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-item-placeholder{
            display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 38px!important;width:38px!important;height:38px!important;
            border-radius:10px!important;background:linear-gradient(140deg,#eee9ff,#fceaf4)!important;color:#6844df!important;object-fit:cover!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-item-placeholder svg{width:18px!important;height:18px!important}
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-item-cell strong{
            min-width:0!important;color:#172033!important;font-size:11.5px!important;font-weight:750!important;overflow:hidden!important;text-overflow:ellipsis!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-historial-acciones{display:flex!important;align-items:center!important;gap:6px!important}
        html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-historial-acciones .pv-icon-btn{
            display:inline-flex!important;align-items:center!important;justify-content:center!important;width:36px!important;height:36px!important;padding:0!important;
            border-radius:10px!important;background:#fff!important;box-shadow:none!important;
        }
        @media(max-width:760px){
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal{padding:10px!important}
            html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-dialog{width:calc(100vw - 20px)!important;border-radius:18px!important}
            html body .pvf-shell #pv-modal-fabricacion-catalogo>.pv-fabcat-dialog>.pv-modal-close{top:16px!important;right:16px!important;width:36px!important;height:36px!important}
            html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-form-header{padding:18px 62px 16px 18px!important}
            html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-form-header-icon{display:none!important}
            html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-form{padding:18px 16px 0!important}
            html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-grid-main,
            html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-grid-costs,
            html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-grid-extra{grid-template-columns:1fr!important}
            html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-cost-head{align-items:stretch!important;flex-direction:column!important}
            html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-currency-field>label{text-align:left!important}
            html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-actions{margin-left:-16px!important;margin-right:-16px!important;padding:14px 16px!important}
            html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-actions .pvf-btn{flex:1 1 0!important;min-width:0!important}
            html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-catalog-card{padding:18px 16px 20px!important}
            html body .pvf-shell #pv-modal-fabricacion-catalogo .pv-fabcat-search-wrap{width:100%!important}
        }
        /* Nuevo artículo · composición exclusiva del modal móvil. El nombre
           conserva todo el ancho; unidad/categoría y los dos costos se
           agrupan en pares. El formulario tiene scroll propio y mantiene las
           acciones accesibles al pie sin modificar la pantalla de Artículos. */
        @media(max-width:760px){
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal{
                align-items:center!important;box-sizing:border-box!important;padding:8px!important;overflow:hidden!important;
            }
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal .pv-fabcat-dialog{
                display:flex!important;flex-direction:column!important;box-sizing:border-box!important;
                width:calc(100vw - 16px)!important;max-width:430px!important;max-height:calc(100dvh - 16px)!important;
                margin:auto!important;border-radius:18px!important;overflow:hidden!important;
            }
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal>.pv-fabcat-dialog>.pv-modal-close{
                top:12px!important;right:12px!important;width:32px!important;height:32px!important;
                border:1px solid rgba(111,66,223,.24)!important;border-radius:10px!important;
                background:rgba(255,255,255,.9)!important;color:#6F42DF!important;font-size:19px!important;
                box-shadow:0 5px 14px rgba(111,66,223,.10)!important;
            }
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal .pv-fabcat-form-card{
                display:flex!important;flex:1 1 auto!important;flex-direction:column!important;min-height:0!important;max-height:calc(100dvh - 16px)!important;
            }
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal .pv-fabcat-form-header{
                position:relative!important;display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;
                align-items:center!important;gap:10px!important;flex:0 0 auto!important;padding:13px 52px 12px 14px!important;
                overflow:hidden!important;border-bottom:1px solid rgba(111,66,223,.12)!important;
                background:
                    radial-gradient(circle at 84% -40%,rgba(245,1,88,.12),transparent 52%),
                    linear-gradient(120deg,#FFFFFF 0%,#F8F5FF 58%,#FFF5F9 100%)!important;
            }
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal .pv-fabcat-form-header::after{
                content:""!important;position:absolute!important;left:14px!important;right:52px!important;bottom:0!important;height:2px!important;
                border-radius:999px 999px 0 0!important;background:linear-gradient(90deg,#10A7E8 0%,#7042ED 48%,#F50158 100%)!important;
            }
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal .pv-fabcat-form-header-icon{
                display:inline-flex!important;align-items:center!important;justify-content:center!important;
                box-sizing:border-box!important;flex:0 0 38px!important;width:38px!important;height:38px!important;
                border:1px solid rgba(255,255,255,.75)!important;border-radius:12px!important;
                background:linear-gradient(145deg,#7042ED 0%,#9B2EC9 55%,#F50158 100%)!important;color:#FFFFFF!important;
                box-shadow:0 7px 16px rgba(112,66,237,.20)!important;
            }
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal .pv-fabcat-form-header-icon svg{
                width:19px!important;height:19px!important;stroke:#FFFFFF!important;
            }
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal .pv-fabcat-form-header-copy{
                display:block!important;min-width:0!important;
            }
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal .pv-fabcat-form-header-copy::before{
                content:"CATÁLOGO DE FABRICACIÓN"!important;display:block!important;margin:0 0 3px!important;
                color:#6F42DF!important;font-size:7px!important;font-weight:900!important;line-height:1!important;
                letter-spacing:.085em!important;text-transform:uppercase!important;
            }
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal .pv-fabcat-form-header h2{
                font-size:17px!important;line-height:1.08!important;letter-spacing:-.025em!important;
            }
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal .pv-fabcat-form-header p{
                margin-top:3px!important;font-size:8.5px!important;line-height:1.22!important;
            }
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal .pv-fabcat-form{
                display:flex!important;flex:1 1 auto!important;flex-direction:column!important;box-sizing:border-box!important;
                min-height:0!important;padding:12px 14px 0!important;overflow-x:hidden!important;overflow-y:auto!important;
                overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;
            }
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal .pv-fabcat-grid-main{
                display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px 8px!important;
            }
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal .pv-fabcat-field-name{grid-column:1/-1!important}
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal .pv-fabcat-field>label,
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal .pv-fabcat-currency-field>label{
                margin-bottom:5px!important;font-size:9px!important;line-height:1.2!important;
            }
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal .pv-fabcat-field input:not([type="file"]),
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal .pv-fabcat-field select,
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal .pv-fabcat-field .pv-cs-trigger{
                height:40px!important;min-height:40px!important;border-radius:10px!important;font-size:10.5px!important;
            }
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal .pv-fabcat-field .pv-cs-trigger{
                position:relative!important;display:flex!important;align-items:center!important;padding-right:68px!important;
            }
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal .pv-fabcat-field .pv-cs-trigger-icon,
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal .pv-fabcat-field .pv-cs-trigger-label{
                display:inline-flex!important;align-items:center!important;align-self:center!important;min-height:18px!important;line-height:1.1!important;
            }
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal .pv-fabcat-field .pv-cs .pv-cs-chevron{
                position:absolute!important;top:50%!important;right:12px!important;bottom:auto!important;left:auto!important;
                display:inline-flex!important;align-items:center!important;justify-content:center!important;
                width:18px!important;height:18px!important;margin:0!important;transform:translateY(-50%)!important;
            }
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal .pv-fabcat-field .pv-cs.pv-cs-open .pv-cs-chevron{
                transform:translateY(-50%) rotate(180deg)!important;
            }
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal .pv-fabcat-field .pv-cs.pv-campo-completo .pv-cs-trigger::after{
                top:50%!important;right:40px!important;bottom:auto!important;width:18px!important;height:18px!important;margin:0!important;
                background-size:18px 18px!important;transform:translateY(-50%)!important;
            }
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal .pv-fabcat-cost-panel{
                margin-top:12px!important;padding:12px!important;border-radius:14px!important;
            }
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal .pv-fabcat-cost-head{
                align-items:stretch!important;flex-direction:column!important;gap:9px!important;margin-bottom:10px!important;
            }
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal .pv-fabcat-cost-head h3{
                font-size:13px!important;line-height:1.15!important;
            }
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal .pv-fabcat-cost-head p{
                margin-top:2px!important;font-size:8.5px!important;line-height:1.25!important;
            }
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal .pv-fabcat-currency-field{
                width:100%!important;min-width:0!important;
            }
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal .pv-fabcat-currency-field .pv-moneda-switches{
                display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
                box-sizing:border-box!important;width:100%!important;gap:3px!important;padding:3px!important;border-radius:10px!important;
            }
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal .pv-fabcat-currency-field .pv-moneda-switch{
                box-sizing:border-box!important;width:100%!important;min-width:0!important;height:30px!important;padding:0 4px!important;font-size:9px!important;
            }
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal .pv-fabcat-currency-field .pv-moneda-switch.active::after,
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal .pv-fabcat-currency-field .pv-moneda-switch:has(input:checked)::after{
                flex-basis:15px!important;width:15px!important;height:15px!important;font-size:9px!important;
            }
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal .pv-fabcat-grid-costs{
                display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;
            }
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal .pv-fabcat-grid-costs .pv-fabcat-field>label{
                min-height:22px!important;
            }
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal .pv-fabcat-cost-hint{
                margin-top:7px!important;font-size:8px!important;line-height:1.3!important;
            }
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal .pv-fabcat-grid-extra{
                grid-template-columns:1fr!important;gap:10px!important;margin-top:12px!important;
            }
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal .pv-fabcat-field textarea{
                min-height:72px!important;padding:10px!important;border-radius:10px!important;font-size:10.5px!important;
            }
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal .pv-fabcat-upload-box{
                min-height:66px!important;padding:10px!important;border-radius:10px!important;
            }
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal .pv-fabcat-actions{
                position:sticky!important;z-index:8!important;bottom:-1px!important;flex:0 0 auto!important;
                margin:12px -14px 0!important;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px))!important;
                background:rgba(250,251,253,.97)!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;
                box-shadow:0 -8px 20px rgba(23,32,51,.055)!important;
            }
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-modal .pv-fabcat-actions .pvf-btn{
                height:40px!important;min-height:40px!important;padding:0 8px!important;border-radius:10px!important;font-size:10px!important;
            }
        }
        /* Catálogo como pantalla: versión aprobada, separada del modal de
           creación rápida. Conserva el mismo contenido y acciones. */
        html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-page{
            width:100%!important;margin:0!important;padding:0!important;background:transparent!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-page .pv-fabcat-catalog-card{
            overflow:hidden!important;margin:0!important;padding:0 0 4px!important;border:1px solid #e4e7f0!important;
            border-radius:18px!important;background:#fff!important;box-shadow:0 12px 32px rgba(31,26,63,.07)!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-page .pv-fabcat-catalog-head{
            display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;
            margin:0!important;padding:20px 22px 16px!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-page .pv-fabcat-catalog-title-group{
            display:flex!important;align-items:center!important;gap:12px!important;min-width:0!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-page .pv-fabcat-catalog-icon{
            display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 42px!important;
            width:42px!important;height:42px!important;border-radius:12px!important;background:linear-gradient(145deg,#eee9ff,#fff0f6)!important;color:#6844df!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-page .pv-fabcat-catalog-icon svg{width:21px!important;height:21px!important}
        html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-page .pv-fabcat-catalog-head h2{
            color:#172033!important;font-size:18px!important;font-weight:800!important;letter-spacing:-.02em!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-page .pv-fabcat-catalog-head p{
            margin-top:4px!important;color:#7d89a1!important;font-size:11px!important;font-weight:600!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-page .pv-fabcat-catalog-count{
            display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;
            min-height:30px!important;padding:0 10px!important;border-radius:9px!important;background:#eee9ff!important;color:#6844df!important;
            font-size:10.5px!important;font-weight:800!important;white-space:nowrap!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-page .pv-fabcat-search-wrap{
            width:min(430px,calc(100% - 44px))!important;margin:0 22px 18px!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-page .pv-fabcat-search-wrap svg{
            left:14px!important;width:18px!important;height:18px!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-page .pv-fabcat-search-wrap input{
            height:44px!important;padding-left:42px!important;border-color:#e0e4ee!important;border-radius:11px!important;background:#f9f9fc!important;font-size:12px!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-page .pv-fabcat-search-wrap input:focus{
            border-color:#6844df!important;background:#fff!important;box-shadow:0 0 0 3px rgba(104,68,223,.1)!important;outline:none!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-page #pv-fab-catalogo-tabla{
            width:100%!important;border-top:1px solid #e4e7f0!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-page .pv-fabcat-table-row{
            grid-template-columns:minmax(260px,1.45fr) minmax(195px,1.05fr) 75px minmax(135px,.8fr) minmax(135px,.8fr) 138px!important;
            min-width:982px!important;gap:12px!important;padding:13px 14px!important;border-bottom:1px solid #e7eaf1!important;background:#fff!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-page .pv-fabcat-table-row.pv-historial-header{
            padding-top:11px!important;padding-bottom:11px!important;background:#f8f7fc!important;color:#7d89a1!important;font-size:9.5px!important;font-weight:800!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-page .pv-fabcat-table-row:not(.pv-historial-header):hover{
            background:#fcfbff!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-page .pv-fabcat-item-cell img,
        html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-page .pv-fabcat-item-placeholder{
            flex-basis:42px!important;width:42px!important;height:42px!important;border-radius:11px!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-page .pv-fabcat-item-cell strong{
            font-size:11.5px!important;font-weight:800!important;white-space:normal!important;line-height:1.3!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-page .pv-historial-acciones{
            justify-content:flex-start!important;gap:8px!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-page .pv-historial-acciones .pv-icon-btn{
            width:38px!important;height:38px!important;border-radius:10px!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-page .pv-fabcat-foto-btn{
            border-color:#9edcf6!important;background:#f1faff!important;color:#0d9fdf!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-page .pv-fabcat-foto-btn:hover{
            border-color:#0d9fdf!important;background:#e6f7ff!important;box-shadow:0 5px 14px rgba(13,159,223,.16)!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-page .pv-fabcat-foto-btn.has-photo{
            border-color:#a7e5c9!important;background:#f0fbf6!important;color:#0a9a61!important;
        }
        html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-page .pv-fabcat-foto-btn.is-loading,
        html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-page [data-pv-fabcat-thumb].is-loading{
            opacity:.55!important;pointer-events:none!important;
        }
        @media(max-width:760px){
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-page .pv-fabcat-catalog-card{border-radius:16px!important}
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-page .pv-fabcat-catalog-head{align-items:flex-start!important;padding:16px!important}
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-page .pv-fabcat-catalog-icon{flex-basis:38px!important;width:38px!important;height:38px!important}
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-page .pv-fabcat-catalog-count{display:none!important}
            html body .pvf-shell #pv-modal-fabricacion-catalogo.pv-fabcat-page .pv-fabcat-search-wrap{width:calc(100% - 32px)!important;margin:0 16px 16px!important}
        }
        /* Las dos filas respetan una división 50/50 dentro del margen útil de
           la tarjeta. minmax(0,1fr) evita que el selector desborde la card. */
        html body #pv-fab-form .pv-fab-carrito-principal{
            display:grid!important;
            grid-template-columns:repeat(2,minmax(0,1fr))!important;
            gap:8px!important;
        }
        html body #pv-fab-form .pv-fab-carrito-costos{
            display:grid!important;
            grid-template-columns:repeat(2,minmax(0,1fr))!important;
            gap:8px!important;
            margin-top:8px!important;
        }
        html body #pv-fab-form .pv-fab-carrito-principal>label,
        html body #pv-fab-form .pv-fab-carrito-costos>label{min-width:0!important}
        html body #pv-fab-form .pv-fab-proveedor-select + .pv-cs,
        html body #pv-fab-form .pv-fab-proveedor-select + .pv-cs .pv-cs-trigger{
            width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important;
        }
        @media(max-width:430px){
            html body #pv-fab-form .pv-fab-carrito-principal,
            html body #pv-fab-form .pv-fab-carrito-costos{grid-template-columns:1fr!important}
        }
        /* En Fabricación el proveedor solo necesita su flecha. El check global
           de campo completo le resta espacio al nombre y desplaza el chevron. */
        html body #pv-fab-form .pv-fab-proveedor-select + .pv-cs.pv-campo-completo .pv-cs-trigger{padding-right:42px!important}
        html body #pv-fab-form .pv-fab-proveedor-select + .pv-cs.pv-campo-completo .pv-cs-trigger::after{content:none!important;display:none!important}
        html body #pv-fab-form .pv-fab-proveedor-select + .pv-cs .pv-cs-chevron{
            position:absolute!important;top:50%!important;right:14px!important;bottom:auto!important;left:auto!important;
            margin:0!important;transform:translateY(-50%)!important;
        }
        html body #pv-fab-form .pv-fab-proveedor-select + .pv-cs.pv-cs-open .pv-cs-chevron{transform:translateY(-50%) rotate(180deg)!important}
        .rv-cat-warehouse-field .pv-cs.pv-campo-completo .pv-cs-trigger{padding-right:46px!important}
        .rv-cat-warehouse-field .pv-cs.pv-campo-completo .pv-cs-trigger::after{display:none!important}
        .rv-cat-warehouse-field .rv-cat-new-warehouse{display:none!important}
        .rv-cat-warehouse-field>label{justify-content:flex-start!important}
        .rv-cat-warehouse-field .pv-cs-chevron{top:calc(50% - 8px)!important;right:14px!important;margin:0!important;transform:translateY(-50%)!important;align-items:center!important;justify-content:center!important}
        .rv-cat-warehouse-field .pv-cs.pv-cs-open .pv-cs-chevron{transform:translateY(-50%) rotate(180deg)!important}
        .pv-cs.pv-campo-completo .pv-cs-chevron{position:absolute;right:14px;top:50%;margin:0;transform:translateY(-50%)}
        .pv-cs.pv-campo-completo.pv-cs-open .pv-cs-chevron{transform:translateY(-50%) rotate(180deg)}
        #pv-modal-producto-rapido .pv-cs.pv-campo-completo .pv-cs-trigger,#pv-modal-producto-inv .pv-cs.pv-campo-completo .pv-cs-trigger{padding-right:78px!important}
        /* Nuevo producto: la regla global que neutraliza transformaciones de
           botones también alcanzaba el check y el chevron del custom select.
           Se restablece su centrado solo dentro de este modal. */
        html body .pvf-shell #pv-modal-producto-inv .pv-cs.pv-campo-completo .pv-cs-trigger::after{
            top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;
        }
        html body .pvf-shell #pv-modal-producto-inv .pv-cs .pv-cs-chevron{
            position:absolute!important;top:50%!important;right:14px!important;bottom:auto!important;left:auto!important;
            margin:0!important;transform:translateY(-50%)!important;
        }
        html body .pvf-shell #pv-modal-producto-inv .pv-cs.pv-cs-open .pv-cs-chevron{
            transform:translateY(-50%) rotate(180deg)!important;
        }
        .pv-moneda-switches{display:flex;align-items:center;gap:2px;background:var(--pv-surface-2);border:1px solid var(--pv-border2);border-radius:12px;padding:4px;width:max-content}
        /* Más aire entre el selector de divisa y la card de abajo (Panel,
           Proveedores, Bancos, Cuentas Pendientes, Gastos, Inventario — todas
           envuelven el selector en #pv-moneda-scope). Sin esto quedaba pegado
           al borde superior de la card, con muy poca separación visual entre
           los dos bloques. El chip de divisa del topbar (pvf-topbar-moneda)
           no vive dentro de #pv-moneda-scope, así que no lo toca. */
        #pv-moneda-scope > .pv-moneda-switches{margin-bottom:20px}
        .pv-moneda-switch{display:inline-flex!important;flex-flow:row nowrap;align-items:center;gap:6px;flex-shrink:0;width:max-content;background:none;border:none;border-radius:9px;padding:6px 12px;text-decoration:none;transition:background .15s,color .15s;box-sizing:border-box;margin-bottom:0!important}
        .pv-moneda-switch:hover{background:rgba(255,255,255,.6)}
        .pv-moneda-switch-icono,.pv-moneda-switch-track{display:none}
        .pv-moneda-switch-label{font-size:12.5px;font-weight:700;color:var(--pv-muted);transition:color .12s;white-space:nowrap;flex-shrink:0}
        .pv-moneda-switch.active{background:var(--pv-surface)}
        .pv-moneda-switch.active:hover{background:var(--pv-surface)}
        .pv-moneda-switch.active .pv-moneda-switch-label{color:var(--pv-ink)}
        /* Categorías de inventario: creación compacta + tarjetas por almacén */
        .rv-cat-page{display:grid;gap:16px}.rv-cat-page>.pv-card,.rv-cat-page>.pvf-card{margin:0!important}.rv-cat-create-card{overflow:visible!important;padding:0!important;border-color:#e4def8!important}.rv-cat-create-head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 22px;border-bottom:1px solid #ece8f8;background:linear-gradient(120deg,#fff 52%,#f7f3ff 78%,#fff6f8);border-radius:16px 16px 0 0}.rv-cat-title-wrap{display:flex;align-items:center;gap:13px;min-width:0}.rv-cat-title-icon,.rv-cat-warehouse-icon,.rv-cat-swatch{display:flex;align-items:center;justify-content:center;flex:0 0 auto}.rv-cat-title-icon{width:43px;height:43px;border-radius:13px;color:#fff;background:linear-gradient(145deg,#7549ed,#c61183 72%,#f5011f);box-shadow:0 9px 19px rgba(109,69,229,.2)}.rv-cat-title-icon svg,.rv-cat-warehouse-icon svg,.rv-cat-swatch svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.rv-cat-title-wrap small,.rv-cat-group-head small{display:block;margin-bottom:3px;color:#7650dc;font-size:9px;font-weight:900;letter-spacing:.08em}.rv-cat-title-wrap h2{margin:0!important;color:#172033!important;font-size:19px!important;line-height:1.15!important}.rv-cat-title-wrap p{margin:4px 0 0;color:#8792a6;font-size:11px}.rv-cat-metrics{display:flex;overflow:hidden;border:1px solid #e6e1f3;border-radius:13px;background:rgba(255,255,255,.82);box-shadow:0 4px 12px rgba(55,41,105,.05)}.rv-cat-metrics>span{display:flex;min-width:86px;align-items:center;justify-content:center;flex-direction:column;padding:9px 13px;border-left:1px solid #ece8f4}.rv-cat-metrics>span:first-child{border-left:0}.rv-cat-metrics strong{color:#5f36d7;font-size:16px;font-weight:900;line-height:1}.rv-cat-metrics small{margin-top:4px;color:#8a95a8;font-size:8px;font-weight:800;text-transform:uppercase}.rv-cat-create-card>form{margin:0!important;padding:17px 22px 20px}.rv-cat-create-form{display:grid!important;grid-template-columns:minmax(210px,1.3fr) 90px minmax(220px,1fr) auto;gap:12px;align-items:end;margin:0!important}.rv-cat-create-form>div{width:auto!important;margin:0!important}.rv-cat-create-form label{margin-bottom:7px!important;color:#4b5669!important;font-size:10px!important;font-weight:850!important}.rv-cat-warehouse-field>label{display:flex!important;align-items:center;justify-content:space-between;gap:8px}.rv-cat-new-warehouse{padding:0!important;border:0!important;background:none!important;color:#6d45e5!important;font:inherit!important;font-size:9px!important;font-weight:900!important;cursor:pointer}.rv-cat-new-warehouse:hover{color:#f5011f!important}.rv-cat-create-form input[type=text],.rv-cat-create-form .pv-custom-select-button{min-height:46px!important;background:#fbfcfe!important}.rv-cat-color-field .pv-color-picker,.rv-cat-color-field .pv-color-picker-trigger{width:100%}.rv-cat-color-field .pv-color-picker-trigger{min-height:46px;justify-content:space-between;padding:8px 13px}.rv-cat-color-field .pv-color-picker-circulo{width:25px;height:25px}.rv-cat-form-actions{display:flex;align-items:center;gap:7px}.rv-cat-submit-btn{min-height:46px!important;padding:0 18px!important;border:0!important;border-radius:12px!important;color:#fff!important;background:linear-gradient(100deg,#7143ed,#c10e83 74%,#f5011f)!important;box-shadow:0 8px 18px rgba(109,69,229,.18)!important;white-space:nowrap}.rv-cat-form-actions .pvf-btn-sec{min-height:46px!important}.rv-cat-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.rv-cat-group-card{overflow:hidden!important;padding:0!important;border-color:#e4e8f0!important}.rv-cat-group-head{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;padding:15px 17px;border-bottom:1px solid #eceff4;background:linear-gradient(135deg,#fafbff,#f7f3ff)}.rv-cat-group-head.is-global{background:linear-gradient(135deg,#fafbff,#fff5f8)}.rv-cat-warehouse-icon{width:38px;height:38px;border-radius:12px;color:#6d45e5;background:#eee9ff}.rv-cat-group-head.is-global .rv-cat-warehouse-icon{color:#d2115b;background:#fff0f5}.rv-cat-group-head h2{overflow:hidden;margin:0!important;color:#172033!important;font-size:14px!important;line-height:1.2!important;text-overflow:ellipsis;white-space:nowrap}.rv-cat-group-head>strong{padding:6px 9px;border-radius:9px;background:#fff;color:#6d45e5;font-size:9px;font-weight:850;white-space:nowrap;box-shadow:0 2px 7px rgba(48,38,88,.06)}.rv-cat-items{padding:5px 14px 8px}.rv-cat-item{display:grid;grid-template-columns:40px minmax(0,1fr) auto auto;align-items:center;gap:11px;min-height:68px;padding:9px 2px;border-bottom:1px solid #edf0f5}.rv-cat-item:last-child{border-bottom:0}.rv-cat-swatch{width:38px;height:38px;border-radius:12px;color:var(--rv-cat-color);background:color-mix(in srgb,var(--rv-cat-color) 12%,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--rv-cat-color) 22%,#fff)}.rv-cat-swatch:after{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--rv-cat-color);content:""}.rv-cat-swatch{position:relative}.rv-cat-swatch svg{opacity:.28}.rv-cat-item-copy{display:flex;min-width:0;flex-direction:column;gap:4px}.rv-cat-item-copy strong{overflow:hidden;color:#202a3d;font-size:12px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.rv-cat-item-copy small{overflow:hidden;color:#8b96a8;font-size:9.5px;text-overflow:ellipsis;white-space:nowrap}.rv-cat-product-count{display:flex;min-width:65px;align-items:flex-end;flex-direction:column}.rv-cat-product-count strong{color:#5f36d7;font-size:13px;font-weight:900;line-height:1}.rv-cat-product-count small{margin-top:3px;color:#909bad;font-size:8px;font-weight:750}.rv-cat-item-actions{display:flex;align-items:center;gap:6px}.rv-cat-item-actions form{display:inline!important;margin:0!important}.rv-cat-item-actions .pv-icon-btn{width:35px!important;height:35px!important;min-width:35px!important;border-color:#cdbfff!important;border-radius:10px!important;color:#6d45e5!important}.rv-cat-item-actions .pv-icon-btn:hover{border-color:#6d45e5!important;color:#fff!important;background:#6d45e5!important}.rv-cat-item-actions .pv-icon-btn-del{border-color:#ffadb9!important;color:#f5011f!important}.rv-cat-item-actions .pv-icon-btn-del:hover{border-color:#f5011f!important;color:#fff!important;background:#f5011f!important}.rv-cat-empty{display:flex!important;align-items:center;gap:14px;padding:22px!important}.rv-cat-empty h2{margin:0 0 4px!important;font-size:15px!important}.rv-cat-empty p{margin:0;color:#8a95a8;font-size:11px}
        @media(max-width:980px){.rv-cat-create-head{align-items:flex-start;flex-direction:column}.rv-cat-create-form{grid-template-columns:1fr 100px 1fr!important}.rv-cat-submit-field{grid-column:1/-1}.rv-cat-form-actions .rv-cat-submit-btn{flex:1}.rv-cat-groups{grid-template-columns:1fr}}
        @media(max-width:620px){.rv-cat-create-head{padding:17px}.rv-cat-metrics{width:100%}.rv-cat-metrics>span{min-width:0;flex:1}.rv-cat-create-card>form{padding:15px 17px 18px}.rv-cat-create-form{grid-template-columns:1fr 88px!important}.rv-cat-warehouse-field,.rv-cat-submit-field{grid-column:1/-1}.rv-cat-form-actions{align-items:stretch;flex-direction:column}.rv-cat-form-actions>*{width:100%!important}.rv-cat-group-head{grid-template-columns:36px minmax(0,1fr)}.rv-cat-group-head>strong{grid-column:2;justify-self:start}.rv-cat-item{grid-template-columns:38px minmax(0,1fr) auto}.rv-cat-product-count{grid-column:2;align-items:flex-start;flex-direction:row;gap:4px}.rv-cat-product-count small{margin:0}.rv-cat-item-actions{grid-column:3;grid-row:1/3}.rv-cat-item-copy small{white-space:normal}}
        .rv-cat-warehouse-module{display:grid;gap:18px}.rv-cat-warehouse-create-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}.rv-cat-warehouse-create-row>.rv-cat-page{height:100%}.rv-cat-warehouse-create-row .rv-cat-create-card,.rv-warehouse-create-card{height:100%;margin:0!important;overflow:visible!important;padding:0!important;border-color:#e4def8!important}.rv-cat-warehouse-create-row .rv-cat-create-head{align-items:flex-start;flex-direction:column;padding:17px 18px}.rv-cat-warehouse-create-row .rv-cat-metrics{width:100%}.rv-cat-warehouse-create-row .rv-cat-metrics>span{min-width:0;flex:1}.rv-cat-warehouse-create-row .rv-cat-create-card>form,.rv-warehouse-create-card>form{padding:15px 18px 18px}.rv-cat-warehouse-create-row .rv-cat-create-form{grid-template-columns:minmax(0,1fr) 88px!important}.rv-cat-warehouse-create-row .rv-cat-warehouse-field,.rv-cat-warehouse-create-row .rv-cat-submit-field{grid-column:1/-1}.rv-cat-warehouse-create-row .rv-cat-form-actions .rv-cat-submit-btn{flex:1}.rv-warehouse-create-icon{background:linear-gradient(145deg,#6547e8,#9240d5 58%,#e4136c)}.rv-warehouse-create-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}.rv-warehouse-create-form>div{width:auto!important;margin:0!important}.rv-warehouse-create-form label{margin-bottom:7px!important;color:#4b5669!important;font-size:10px!important;font-weight:850!important}.rv-warehouse-create-form input{min-height:46px!important;background:#fbfcfe!important}.rv-warehouse-create-action{grid-column:1/-1}.rv-warehouse-create-action .rv-cat-submit-btn{width:100%}.rv-cat-warehouse-lists{display:grid;gap:18px}.rv-cat-warehouse-lists>.rv-warehouse-list-card,.rv-cat-warehouse-lists>.rv-warehouse-edit-card,.rv-cat-warehouse-lists>.rv-cat-page{margin:0!important}.rv-cat-list-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 20px;border:1px solid #e4e8f0;border-radius:16px;background:linear-gradient(110deg,#fff,#f8f5ff 70%,#fff5f7)}.rv-cat-list-heading small{display:block;margin-bottom:3px;color:#7650dc;font-size:9px;font-weight:900;letter-spacing:.08em}.rv-cat-list-heading h2{margin:0!important;color:#172033!important;font-size:18px!important}.rv-cat-list-heading p{margin:4px 0 0;color:#8792a6;font-size:10px}.rv-cat-list-heading>strong{padding:7px 11px;border-radius:10px;background:#eee8ff;color:#6d45e5;font-size:10px;font-weight:900;white-space:nowrap}.rv-cat-warehouse-lists .rv-cat-groups{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:1100px){.rv-cat-warehouse-create-row{grid-template-columns:1fr}.rv-cat-warehouse-create-row>.rv-cat-page{height:auto}}@media(max-width:760px){.rv-cat-warehouse-lists .rv-cat-groups{grid-template-columns:1fr}.rv-warehouse-create-form{grid-template-columns:1fr}.rv-cat-list-heading{align-items:flex-start;flex-direction:column}}@media(max-width:620px){.rv-cat-warehouse-create-row .rv-cat-create-head,.rv-cat-warehouse-create-row .rv-cat-create-card>form,.rv-warehouse-create-card>form{padding-left:17px;padding-right:17px}}
        /* Almacenes: tarjetas editoriales Noalyx. Cada dato tiene su propio
           bloque para que nombres de empresas y descripciones extensas no
           vuelvan a competir dentro de una única fila horizontal. */
        html body #pvf-shell .rv-cat-warehouse-lists>.rv-warehouse-list-card{position:relative;box-sizing:border-box;width:100%;overflow:hidden;padding:22px 24px 24px!important;border:1px solid #E2E6EF;border-radius:20px;background:linear-gradient(145deg,#FFFFFF 66%,#FBFAFF);box-shadow:0 12px 30px rgba(32,40,67,.06)}
        html body #pvf-shell .rv-cat-warehouse-lists>.rv-warehouse-list-card:before{position:absolute;top:0;right:28px;left:28px;height:3px;border-radius:0 0 8px 8px;background:linear-gradient(90deg,#08A6EC,#7042ED 48%,#E31761);content:""}
        html body #pvf-shell .rv-warehouse-list-head{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:0 0 18px;padding:0 0 17px;border-bottom:1px solid #E8EBF2}
        html body #pvf-shell .rv-warehouse-list-head>div:first-child{min-width:0}
        html body #pvf-shell .rv-warehouse-list-head small{display:block;margin:0 0 4px;color:#7042ED;font-size:9px;font-weight:900;letter-spacing:.085em}
        html body #pvf-shell .rv-warehouse-list-head h2{margin:0!important;color:#172033!important;font-size:20px!important;font-weight:880!important;line-height:1.15!important;letter-spacing:-.02em}
        html body #pvf-shell .rv-warehouse-list-head p{margin:5px 0 0;color:#8490A4;font-size:11px;line-height:1.4}
        html body #pvf-shell .rv-warehouse-list-controls{display:flex;flex:0 0 auto;align-items:center;gap:10px}
        html body #pvf-shell .rv-warehouse-list-count{display:flex;min-width:74px;min-height:50px;box-sizing:border-box;align-items:center;justify-content:center;flex-direction:column;padding:7px 12px;border:1px solid #E1DAF8;border-radius:13px;background:#F8F5FF;box-shadow:inset 0 1px 0 #FFF}
        html body #pvf-shell .rv-warehouse-list-count strong{color:#6037D4;font-size:16px;font-weight:920;line-height:1}
        html body #pvf-shell .rv-warehouse-list-count small{margin:4px 0 0;color:#8B80B2;font-size:7px;font-weight:850;letter-spacing:.045em;text-transform:uppercase}
        html body #pvf-shell .rv-warehouse-items-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;align-items:stretch}
        html body #pvf-shell .rv-cat-warehouse-lists .rv-warehouse-item{position:relative;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"main actions" "meta meta" "products products"!important;align-content:start!important;align-items:center!important;gap:14px 12px!important;box-sizing:border-box!important;min-width:0!important;min-height:205px!important;margin:0!important;padding:17px!important;overflow:hidden!important;border:1px solid #E1E6EF!important;border-radius:17px!important;background:#FFF!important;box-shadow:0 7px 20px rgba(31,39,68,.055)!important;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease!important}
        html body #pvf-shell .rv-cat-warehouse-lists .rv-warehouse-item:before{position:absolute;top:0;right:16px;left:16px;height:3px;border-radius:0 0 8px 8px;background:linear-gradient(90deg,#08A6EC,#7042ED 70%);content:""}
        html body #pvf-shell .rv-cat-warehouse-lists .rv-warehouse-item:nth-child(even):before{background:linear-gradient(90deg,#7042ED,#B42AA9 68%,#E31761)}
        html body #pvf-shell .rv-cat-warehouse-lists .rv-warehouse-item:hover{border-color:#D2C8F2!important;box-shadow:0 12px 28px rgba(63,46,125,.095)!important;transform:translateY(-2px)}
        html body #pvf-shell .rv-warehouse-item-main{grid-area:main;display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:11px;min-width:0}
        html body #pvf-shell .rv-warehouse-row-icon{display:inline-flex;width:44px;height:44px;box-sizing:border-box;align-items:center;justify-content:center;border:1px solid #D8EDFA;border-radius:13px;background:linear-gradient(145deg,#EAF8FF,#F3F0FF);color:#087FCA;box-shadow:0 5px 12px rgba(8,166,236,.09)}
        html body #pvf-shell .rv-warehouse-row-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
        html body #pvf-shell .rv-warehouse-item:nth-child(even) .rv-warehouse-row-icon{border-color:#E1D7FB;background:linear-gradient(145deg,#F1ECFF,#FFF2F8);color:#7042ED}
        html body #pvf-shell .rv-warehouse-item-copy{display:flex;min-width:0;flex-direction:column;gap:4px}
        html body #pvf-shell .rv-warehouse-item-state{display:flex;align-items:center;gap:5px;color:#139263;font-size:7.5px;font-weight:880;letter-spacing:.055em;text-transform:uppercase}
        html body #pvf-shell .rv-warehouse-item-state>i{width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:#18B979;box-shadow:0 0 0 3px rgba(24,185,121,.1)}
        html body #pvf-shell .rv-warehouse-item-state.is-inactive{color:#B46B13}
        html body #pvf-shell .rv-warehouse-item-state.is-inactive>i{background:#E79A31;box-shadow:0 0 0 3px rgba(231,154,49,.12)}
        html body #pvf-shell .rv-warehouse-item-copy h3{min-width:0;margin:0!important;overflow:hidden;color:#1F293C;font-size:15px!important;font-weight:880!important;line-height:1.2!important;letter-spacing:-.012em;text-overflow:ellipsis;white-space:nowrap}
        html body #pvf-shell .rv-warehouse-item-actions{grid-area:actions;display:flex;align-items:center;justify-self:end;gap:6px;padding:4px;border:1px solid #E7EAF1;border-radius:12px;background:#FAFBFD}
        html body #pvf-shell .rv-warehouse-item-actions form{display:block!important;margin:0!important}
        html body #pvf-shell .rv-warehouse-item-actions .pv-icon-btn{display:inline-flex!important;width:35px!important;min-width:35px!important;height:35px!important;min-height:35px!important;align-items:center!important;justify-content:center!important;margin:0!important;padding:0!important;border:1px solid #DDD5F8!important;border-radius:9px!important;background:#FFF!important;color:#7042ED!important;box-shadow:none!important}
        html body #pvf-shell .rv-warehouse-item-actions .pv-icon-btn:hover{border-color:#7042ED!important;background:#7042ED!important;color:#FFF!important}
        html body #pvf-shell .rv-warehouse-item-actions .pv-icon-btn-del{border-color:#FFD3DC!important;background:#FFF7F8!important;color:#EF174E!important}
        html body #pvf-shell .rv-warehouse-item-actions .pv-icon-btn-del:hover{border-color:#EF174E!important;background:#EF174E!important;color:#FFF!important}
        html body #pvf-shell .rv-warehouse-item-meta{grid-area:meta;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;min-width:0;padding:9px;border:1px solid #E9ECF2;border-radius:13px;background:#F8FAFD}
        html body #pvf-shell .rv-warehouse-meta-block{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:2px 7px 2px 2px}
        html body #pvf-shell .rv-warehouse-meta-block.is-description{border-left:1px solid #E4E8EF;padding-left:10px}
        html body #pvf-shell .rv-warehouse-meta-block>i{display:flex;width:30px;height:30px;align-items:center;justify-content:center;border-radius:9px;background:#ECE7FF;color:#6940D7}
        html body #pvf-shell .rv-warehouse-meta-block.is-description>i{background:#EAF8FF;color:#078BCF}
        html body #pvf-shell .rv-warehouse-meta-block>i svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
        html body #pvf-shell .rv-warehouse-meta-block>span{display:flex;min-width:0;flex-direction:column;gap:3px}
        html body #pvf-shell .rv-warehouse-meta-block small{margin:0;color:#909AAD;font-size:7px;font-weight:850;line-height:1;letter-spacing:.045em;text-transform:uppercase}
        html body #pvf-shell .rv-warehouse-meta-block strong{display:-webkit-box;min-width:0;overflow:hidden;color:#455166;font-size:9px;font-weight:780;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:2}
        html body #pvf-shell .rv-warehouse-product-link{grid-area:products;display:flex;min-height:42px;box-sizing:border-box;align-items:center;justify-content:space-between;gap:12px;padding:7px 10px 7px 12px;border:1px solid #DFD6FB;border-radius:12px;background:linear-gradient(105deg,#F9F7FF,#F4F0FF);color:#6338D2;text-decoration:none;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}
        html body #pvf-shell .rv-warehouse-product-link:hover{border-color:#BDAAF2;background:#F3EEFF;box-shadow:0 5px 13px rgba(100,58,208,.09)}
        html body #pvf-shell .rv-warehouse-product-copy{display:flex!important;min-width:0;align-items:flex-start!important;flex-direction:column;gap:3px!important}
        html body #pvf-shell .rv-warehouse-product-copy small{margin:0;color:#8F81BA;font-size:7px;font-weight:850;line-height:1;letter-spacing:.045em;text-transform:uppercase}
        html body #pvf-shell .rv-warehouse-product-copy strong{color:#6035D0;font-size:10.5px;font-weight:900;line-height:1.1}
        html body #pvf-shell .rv-warehouse-product-link>svg{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .16s ease}
        html body #pvf-shell .rv-warehouse-product-link:hover>svg{transform:translateX(2px)}
        html body #pvf-shell .rv-warehouse-empty{display:flex;align-items:center;gap:12px;padding:18px;border:1px dashed #DCD4F6;border-radius:14px;background:#FAF8FF}
        html body #pvf-shell .rv-warehouse-empty>span{display:flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:11px;background:#ECE6FF;color:#7042ED}
        html body #pvf-shell .rv-warehouse-empty svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
        html body #pvf-shell .rv-warehouse-empty>div{display:flex;flex-direction:column;gap:3px}
        html body #pvf-shell .rv-warehouse-empty strong{color:#2B3549;font-size:11px;font-weight:850}
        html body #pvf-shell .rv-warehouse-empty small{color:#8792A5;font-size:9px}
        @media(max-width:1050px){html body #pvf-shell .rv-warehouse-items-grid{grid-template-columns:1fr}}
        @media(max-width:680px){html body #pvf-shell .rv-cat-warehouse-lists>.rv-warehouse-list-card{padding:13px!important}html body #pvf-shell .rv-warehouse-list-controls{width:100%;justify-content:space-between}html body #pvf-shell .rv-warehouse-list-count{min-height:42px}html body #pvf-shell .rv-warehouse-item-meta{grid-template-columns:1fr}html body #pvf-shell .rv-warehouse-meta-block.is-description{border-top:1px solid #E4E8EF;border-left:0;padding-top:9px;padding-left:2px}}
        @media(min-width:621px){
            .rv-cat-warehouse-create-row .rv-cat-create-form{grid-template-columns:minmax(0,1fr) 110px 110px 190px!important}
            .rv-cat-warehouse-create-row .rv-cat-name-field{grid-column:1/4}
            .rv-cat-warehouse-create-row .rv-cat-color-field{grid-column:4}
            .rv-cat-warehouse-create-row .rv-cat-warehouse-field{grid-column:1/4}
            .rv-cat-warehouse-create-row .rv-cat-submit-field{grid-column:4}
            .rv-cat-warehouse-create-row .rv-cat-form-actions,
            .rv-cat-warehouse-create-row .rv-cat-submit-btn{width:100%!important}
        }
        html body:has(.rv-cat-create-card input[name="categoria_id"]),
        html body:has(.rv-warehouse-edit-card){overflow:hidden!important}
        html body .pvf-shell .rv-cat-warehouse-module:has(.rv-cat-create-card input[name="categoria_id"])::before,
        html body .pvf-shell .rv-cat-warehouse-module:has(.rv-warehouse-edit-card)::before{content:"";position:fixed;inset:0;z-index:100100;background:rgba(23,32,51,.46);backdrop-filter:blur(2px)}
        html body .pvf-shell .rv-cat-create-card:has(input[name="categoria_id"]),
        html body .pvf-shell .rv-warehouse-edit-card{position:fixed!important;top:50%!important;left:50%!important;z-index:100150!important;width:min(880px,calc(100vw - 32px))!important;height:auto!important;max-height:calc(100vh - 32px)!important;margin:0!important;overflow:auto!important;transform:translate(-50%,-50%)!important;border-color:#ded7f5!important;background:#fff!important;box-shadow:0 28px 80px rgba(23,32,51,.28)!important}
        html body .pvf-shell .rv-warehouse-edit-card{width:min(760px,calc(100vw - 32px))!important;padding:0!important}
        .rv-warehouse-edit-head{display:flex;align-items:center;gap:14px;padding:21px 24px;border-bottom:1px solid #ebe7f7;background:linear-gradient(120deg,#fff 58%,#f7f3ff 82%,#fff5f8)}
        .rv-warehouse-edit-head small{display:block;margin-bottom:3px;color:#7650dc;font-size:9px;font-weight:900;letter-spacing:.08em}
        .rv-warehouse-edit-head h2{margin:0!important;color:#172033!important;font-size:19px!important;line-height:1.15!important}
        .rv-warehouse-edit-head p{margin:4px 0 0;color:#8792a6;font-size:11px}
        .rv-warehouse-edit-card>form{padding:22px 24px 24px}
        .rv-warehouse-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
        .rv-warehouse-edit-grid>div{width:auto!important;margin:0!important}
        .rv-warehouse-edit-grid label{margin-bottom:7px!important;color:#4b5669!important;font-size:10px!important;font-weight:850!important}
        .rv-warehouse-edit-grid input,.rv-warehouse-edit-grid textarea{box-sizing:border-box;width:100%!important;min-height:48px!important;border-radius:12px!important;background:#fbfcfe!important}
        .rv-warehouse-edit-grid textarea{height:48px!important;min-height:48px!important;resize:none}
        .rv-warehouse-edit-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:18px;border-top:1px solid #eceef4}
        .rv-warehouse-edit-actions .pvf-btn{min-height:46px!important;margin:0!important;padding:0 20px!important;border-radius:12px!important}
        .rv-warehouse-edit-actions .rv-warehouse-save-btn{border-color:#6d45e5!important;background:#6d45e5!important;color:#fff!important}
        @media(max-width:620px){.rv-warehouse-edit-head{padding:18px}.rv-warehouse-edit-card>form{padding:18px}.rv-warehouse-edit-grid{grid-template-columns:1fr}.rv-warehouse-edit-actions{align-items:stretch;flex-direction:column}.rv-warehouse-edit-actions .pvf-btn{width:100%!important}}
        /* Acceso destacado al importador inteligente de Inventario */
        .rv-inv-primary-tabs-row{display:flex;align-items:center;gap:18px;border-bottom:1px solid #e9eaf1}.rv-inv-primary-tabs-row>.pv-subtabs{flex:1;min-width:0;margin-bottom:0!important;border-bottom:0!important}.rv-inv-smart-import{position:relative;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;width:218px;min-height:42px;margin:0 0 5px auto;padding:5px 8px;overflow:hidden;border:1px solid #8d6af1;border-radius:12px;background:linear-gradient(135deg,#fff 20%,#faf7ff 72%,#fff7fa);box-shadow:0 5px 13px rgba(87,54,192,.1);color:#172033;text-align:left;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.rv-inv-smart-import:before{content:"";position:absolute;top:0;left:8px;right:8px;height:2px;border-radius:0 0 5px 5px;background:linear-gradient(90deg,#08a6ec,#7549ed 55%,#f5011f);background-size:180% 100%;animation:rvInvImportGlow 3s linear infinite}.rv-inv-smart-import:hover{transform:translateY(-1px);border-color:#7245e9;box-shadow:0 8px 18px rgba(87,54,192,.17)}.rv-inv-smart-import:focus-visible{outline:3px solid rgba(109,69,229,.2);outline-offset:3px}.rv-inv-smart-import-icon{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;color:#fff;background:linear-gradient(145deg,#7549ed,#c61183 70%,#f5011f);box-shadow:0 5px 10px rgba(147,34,153,.18)}.rv-inv-smart-import-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.rv-inv-smart-import-copy{display:flex;min-width:0;flex-direction:column;gap:1px}.rv-inv-smart-import-copy strong{overflow:hidden;color:#172033;font-size:11px;font-weight:850;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}.rv-inv-smart-import-copy small{color:#7f8aa0;font-size:9px;font-weight:650}.rv-inv-smart-import-badge{padding:4px 6px;border-radius:7px;background:#eee8ff;color:#6d45e5;font-size:7px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}@keyframes rvInvImportGlow{0%{background-position:0 0}100%{background-position:180% 0}}
        .rv-inv-smart-import:after{content:"";position:absolute;z-index:0;top:-80%;bottom:-80%;left:-45%;width:32%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);transform:rotate(18deg);animation:rvInvImportShine 4.2s ease-in-out infinite}.rv-inv-smart-import>*{position:relative;z-index:1}.rv-inv-smart-import-icon{animation:rvInvImportIcon 2.8s ease-in-out infinite}.rv-inv-smart-import-badge{animation:rvInvImportBadge 2.2s ease-in-out infinite}@keyframes rvInvImportShine{0%,52%{left:-45%;opacity:0}60%{opacity:1}82%,100%{left:120%;opacity:0}}@keyframes rvInvImportIcon{0%,100%{transform:translateY(0);box-shadow:0 5px 10px rgba(147,34,153,.18)}50%{transform:translateY(-1px);box-shadow:0 7px 16px rgba(147,34,153,.32)}}@keyframes rvInvImportBadge{0%,100%{transform:scale(1);background:#eee8ff}50%{transform:scale(1.05);background:#e4d9ff}}@media(prefers-reduced-motion:reduce){.rv-inv-smart-import:before,.rv-inv-smart-import:after,.rv-inv-smart-import-icon,.rv-inv-smart-import-badge{animation:none!important}}
        @media(max-width:680px){.rv-inv-primary-tabs-row{align-items:stretch;flex-direction:column;gap:7px;padding-bottom:8px}.rv-inv-primary-tabs-row>.pv-subtabs{width:100%}.rv-inv-smart-import{width:min(218px,100%);margin:0 0 0 auto;padding:5px 8px!important;text-align:left!important}.rv-inv-smart-import-copy strong{font-size:11px}.rv-inv-smart-import-badge{display:inline-flex}}
        /* Importador inteligente de Inventario */
        .pv-importador-modal{width:min(920px,calc(100vw - 32px));max-width:920px!important;max-height:min(880px,calc(100vh - 28px));padding:0!important;border:1px solid rgba(109,69,229,.14)!important;border-radius:28px!important;overflow:auto!important;background:#fff!important;box-shadow:0 32px 90px rgba(23,32,51,.28)!important;transition:width .25s ease,max-width .25s ease}.pv-importador-modal:has(.pv-ocr-results:not([hidden])){width:min(1240px,calc(100vw - 32px));max-width:1240px!important}
        .pv-importador-header{position:relative;display:flex;align-items:center;gap:16px;padding:25px 28px 21px;border-bottom:1px solid #eef0f6;background:linear-gradient(120deg,#fff 62%,rgba(109,69,229,.055),rgba(245,1,31,.035))}
        .pv-importador-header:before{content:"";position:absolute;top:0;left:28px;right:28px;height:3px;border-radius:0 0 8px 8px;background:linear-gradient(90deg,#08a6ec,#6d45e5 56%,#f5011f)}
        .pv-importador-logo{display:flex;align-items:center;justify-content:center;width:52px;height:52px;flex:0 0 52px;border-radius:17px;color:#fff;background:linear-gradient(145deg,#7848f4,#5831d1);box-shadow:0 12px 25px rgba(109,69,229,.26)}
        .pv-importador-logo svg,.pv-importador-metodo-icon svg,.pv-ocr-actions svg,.pv-ocr-drop-icon svg,.pv-ocr-results-icon svg,.pv-ocr-loader svg,.pv-importador-intro svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
        .pv-importador-head-copy{min-width:0;padding-right:54px}.pv-importador-eyebrow,.pv-ocr-processing-kicker,.pv-ocr-results-kicker{display:block;margin-bottom:3px;color:#6d45e5;font-size:10.5px;font-weight:850;letter-spacing:.11em;text-transform:uppercase}.pv-importador-head-copy h2{margin:0!important;color:#172033!important;font-size:23px!important;line-height:1.2!important;letter-spacing:-.025em}.pv-importador-head-copy p{margin:5px 0 0;color:#7e8aa1;font-size:13px;line-height:1.45}.pv-importador-header .pv-modal-close{position:absolute!important;z-index:3;top:22px!important;right:22px!important;left:auto!important;bottom:auto!important;float:none!important;margin:0!important;width:40px!important;height:40px!important;border-color:#d9d0ff!important;border-radius:13px!important;color:#6d45e5!important;background:#fff!important}
        .pv-importador-metodos{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px 28px;background:#fafbfe;border-bottom:1px solid #eef0f6}.pv-importador-metodo{position:relative;display:flex;align-items:center;gap:12px;min-width:0;padding:14px 15px;border:1.5px solid #e1e5ee;border-radius:16px;background:#fff;color:#172033;text-align:left;cursor:pointer;transition:.18s ease}.pv-importador-metodo:hover{transform:translateY(-1px);border-color:#bcaeff;box-shadow:0 9px 22px rgba(64,47,120,.08)}.pv-importador-metodo.active{border-color:#7549ed;background:linear-gradient(135deg,#f8f5ff,#fff);box-shadow:0 0 0 3px rgba(109,69,229,.08)}.pv-importador-metodo:disabled{cursor:not-allowed;opacity:.5}.pv-importador-metodo-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 42px;border-radius:13px;color:#6d45e5;background:#f0ebff}.pv-importador-metodo-icon.is-camera{color:#d2115b;background:#fff0f5}.pv-importador-metodo>span:nth-child(2){display:flex;flex-direction:column;gap:3px;min-width:0}.pv-importador-metodo strong{font-size:13.5px}.pv-importador-metodo small{overflow:hidden;color:#8a96aa;font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.pv-importador-metodo>i{margin-left:auto;padding:5px 7px;border-radius:8px;background:#f0f2f7;color:#7b879b;font-size:9px;font-style:normal;font-weight:800;text-transform:uppercase}.pv-importador-metodo>i.is-new{background:#fff0f4;color:#e2103d}
        .pv-importador-panel{padding:22px 28px 26px}.pv-importador-panel[hidden],.pv-ocr-capture[hidden],.pv-ocr-processing[hidden],.pv-ocr-results[hidden]{display:none!important}.pv-importador-metodo:focus{outline:none}.pv-importador-metodo:focus-visible{outline:3px solid rgba(109,69,229,.18);outline-offset:2px}.pv-importador-intro{display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid #dcecf8;border-radius:12px;background:#f4fbff;color:#087fb9}.pv-importador-intro span{display:flex;flex:0 0 auto}.pv-importador-intro svg{width:19px;height:19px}.pv-importador-intro p{margin:0;color:#56788b;font-size:11.5px}.pv-importador-columnas{display:flex;gap:7px;flex-wrap:wrap;margin:13px 0 19px}.pv-importador-columnas span{padding:6px 9px;border:1px solid #e5e0fa;border-radius:9px;background:#faf8ff;color:#6746c7;font-size:10.5px;font-weight:750}.pv-importador-form>.pv-importador-field{margin-bottom:18px}.pv-importador-field>label{display:block;margin-bottom:8px!important;color:#253047!important;font-size:12px!important;font-weight:800!important}.pv-importador-file{display:flex;align-items:center;gap:14px;min-height:58px;padding:8px 12px;border:1px solid #e0e4ed;border-radius:14px;background:#fbfcfe}.pv-importador-file .pv-file-input{flex:1}.pv-importador-file .pv-file-input-btn{border:0!important;border-radius:11px!important;color:#fff!important;background:linear-gradient(135deg,#7345ee,#6237db)!important;box-shadow:0 7px 16px rgba(109,69,229,.18)}.pv-importador-file>small{color:#95a0b2;font-size:10.5px;white-space:nowrap}.pv-importador-settings{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr);gap:16px;padding:17px;border:1px solid #eceef4;border-radius:17px;background:#fafbfe}.pv-importador-settings .pvf-row,.pv-importador-settings .pv-form-row{margin:0}.pv-importador-settings .pv-custom-select-button{min-height:48px!important;background:#fff!important}.pv-importador-settings .pv-divisa-chips{min-height:48px;background:#fff}.pv-importador-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:19px;padding-top:18px;border-top:1px solid #eceef4}.pv-importador-footer p{max-width:480px;margin:0;color:#7e8aa0;font-size:11.5px;line-height:1.5}.pv-importador-footer p strong{color:#4c586e}.pv-importador-primary{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;min-width:190px!important;min-height:48px!important;border:0!important;border-radius:14px!important;color:#fff!important;background:linear-gradient(100deg,#7143ed,#d20c7c 72%,#f5011f)!important;box-shadow:0 11px 24px rgba(109,69,229,.22)!important}.pv-importador-primary:hover{transform:translateY(-1px);filter:brightness(1.04)}.pv-importador-primary span{font-size:18px}
        .pv-ocr-guide{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:24px;align-items:center;margin-bottom:16px;padding:20px 22px;border:1px solid #eadfff;border-radius:20px;background:linear-gradient(120deg,#fbf9ff,#fff8fb)}.pv-ocr-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:9px;background:#edfff5;color:#087c48;font-size:9.5px;font-weight:850;letter-spacing:.035em;text-transform:uppercase}.pv-ocr-badge i,.pv-ocr-ready i{width:7px;height:7px;border-radius:50%;background:#13b76a;box-shadow:0 0 0 4px rgba(19,183,106,.12)}.pv-ocr-guide h3,.pv-ocr-processing h3,.pv-ocr-results-head h3{margin:10px 0 5px!important;color:#172033!important;font-size:20px!important;letter-spacing:-.02em}.pv-ocr-guide p{max-width:540px;margin:0;color:#77849a;font-size:12px;line-height:1.55}.pv-ocr-tips{display:flex;gap:14px;flex-wrap:wrap;margin-top:13px}.pv-ocr-tips span{color:#5d687a;font-size:10.5px;font-weight:700}.pv-ocr-document-art{position:relative;overflow:hidden;padding:18px;border:1px solid #dcd3fb;border-radius:15px;background:#fff;box-shadow:0 15px 30px rgba(58,36,110,.1);transform:rotate(1.2deg)}.pv-ocr-document-art:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#08a6ec,#6d45e5,#f5011f)}.pv-ocr-document-art>div{display:grid;grid-template-columns:.65fr 1.5fr .7fr;gap:8px;padding:7px 0;border-bottom:1px solid #edf0f5}.pv-ocr-document-art b{color:#8290a6;font-size:7px}.pv-ocr-document-art i{height:5px;border-radius:4px;background:#e9edf4}.pv-ocr-document-art .scan-line{position:absolute;z-index:2;left:8px;right:8px;height:2px;background:#9b60ff;box-shadow:0 0 12px 2px rgba(109,69,229,.45);animation:pvOcrScan 2.8s ease-in-out infinite}@keyframes pvOcrScan{0%,100%{top:18%}50%{top:82%}}
        .pv-ocr-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:245px;padding:24px;border:1.5px dashed #bcaeff;border-radius:20px;background:linear-gradient(135deg,rgba(109,69,229,.035),rgba(8,166,236,.025));text-align:center;transition:.18s ease}.pv-ocr-dropzone.is-dragging{transform:scale(.995);border-color:#f5011f;background:#fff6f8}.pv-ocr-drop-icon{display:flex;align-items:center;justify-content:center;width:58px;height:58px;margin-bottom:12px;border-radius:19px;color:#fff;background:linear-gradient(145deg,#7848f4,#d20c7c);box-shadow:0 12px 25px rgba(109,69,229,.2)}.pv-ocr-dropzone>strong{color:#253047;font-size:15px}.pv-ocr-dropzone>small{margin:5px 0 15px;color:#93a0b3;font-size:11px}.pv-ocr-actions{display:flex;gap:9px}.pv-ocr-actions button,.pv-ocr-change-btn,.pv-ocr-add-row,.pv-ocr-restart-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 15px;border:1px solid #d7dce7;border-radius:12px;background:#fff;color:#4e5b70;font-size:11.5px;font-weight:800;cursor:pointer}.pv-ocr-actions button:first-child{border-color:#7549ed;color:#fff;background:#6d45e5}.pv-ocr-actions svg{width:17px;height:17px}.pv-ocr-dropzone>em{margin-top:14px;color:#9ba6b7;font-size:9.5px;font-style:normal}.pv-ocr-preview{display:grid;grid-template-columns:minmax(250px,.75fr) minmax(0,1.25fr);gap:22px;align-items:center;padding:18px;border:1px solid #e4e7ee;border-radius:20px;background:#fafbfe}.pv-ocr-preview-image{position:relative;display:flex;align-items:center;justify-content:center;height:250px;overflow:hidden;border:1px solid #e2def4;border-radius:14px;background:linear-gradient(145deg,#f5f2ff,#eef5fb)}.pv-ocr-preview-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;padding:20px;color:#8b79c9;text-align:center;transition:.2s ease}.pv-ocr-preview-placeholder:before{content:"";position:absolute;inset:12px;border:1px dashed #cfc3f7;border-radius:10px}.pv-ocr-preview-placeholder svg{position:relative;width:34px;height:34px;margin-bottom:4px;fill:none;stroke:#6d45e5;stroke-width:1.6}.pv-ocr-preview-placeholder strong{position:relative;color:#6048b4;font-size:11px}.pv-ocr-preview-placeholder small{position:relative;color:#98a2b3;font-size:9.5px}.pv-ocr-preview-image img{position:relative;z-index:2;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .2s ease}.pv-ocr-preview-image.is-ready img{opacity:1}.pv-ocr-preview-image.is-ready .pv-ocr-preview-placeholder{opacity:0;visibility:hidden}.pv-ocr-preview-image.is-error .pv-ocr-preview-placeholder strong{font-size:0}.pv-ocr-preview-image.is-error .pv-ocr-preview-placeholder strong:after{content:"Vista previa no disponible";font-size:11px}.pv-ocr-preview-info{min-width:0}.pv-ocr-ready{display:inline-flex;align-items:center;gap:8px;color:#0c8d54;font-size:10px;font-weight:850;text-transform:uppercase}.pv-ocr-preview-info>strong{display:block;overflow:hidden;margin-top:12px;color:#253047;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.pv-ocr-preview-info>small{display:block;margin-top:4px;color:#8c98aa;font-size:10.5px}.pv-ocr-preview-info>p{margin:16px 0;color:#77849a;font-size:11.5px;line-height:1.5}.pv-ocr-preview-info>div{display:flex;gap:9px}.pv-ocr-analyze-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:43px;padding:0 17px;border:0;border-radius:12px;color:#fff;background:linear-gradient(100deg,#7143ed,#d20c7c);font-size:11.5px;font-weight:850;cursor:pointer}.pv-ocr-analyze-btn:disabled{cursor:wait;opacity:.7}
        .pv-ocr-processing{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:440px;padding:40px;text-align:center}.pv-ocr-loader{position:relative;width:108px;height:108px;margin-bottom:24px}.pv-ocr-loader>span{position:absolute;inset:0;border:2px solid transparent;border-top-color:#6d45e5;border-radius:50%;animation:pvOcrSpin 1.3s linear infinite}.pv-ocr-loader>span:nth-child(2){inset:9px;border-top-color:#f5011f;animation-duration:1.8s;animation-direction:reverse}.pv-ocr-loader>span:nth-child(3){inset:18px;border-top-color:#08a6ec;animation-duration:2.1s}.pv-ocr-loader svg{position:absolute;top:50%;left:50%;width:30px;height:30px;color:#6d45e5;transform:translate(-50%,-50%)}@keyframes pvOcrSpin{to{transform:rotate(360deg)}}.pv-ocr-processing h3{margin-top:4px!important}.pv-ocr-processing>p{margin:5px 0 17px;color:#768399;font-size:12px}.pv-ocr-progress{width:min(360px,90%);height:6px;overflow:hidden;border-radius:20px;background:#eceff4}.pv-ocr-progress i{display:block;width:35%;height:100%;border-radius:20px;background:linear-gradient(90deg,#08a6ec,#6d45e5,#f5011f);animation:pvOcrProgress 1.4s ease-in-out infinite}@keyframes pvOcrProgress{0%{transform:translateX(-100%)}100%{transform:translateX(390%)}}.pv-ocr-processing>small{margin-top:14px;color:#9aa5b5;font-size:9.5px}
        .pv-ocr-results-head{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:13px;align-items:center;margin-bottom:16px}.pv-ocr-results-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:15px;color:#fff;background:linear-gradient(145deg,#16b66a,#0c9152);box-shadow:0 10px 20px rgba(12,145,82,.18)}.pv-ocr-results-icon svg{width:24px;height:24px;stroke-width:2.4}.pv-ocr-results-head h3{margin:2px 0!important;font-size:18px!important}.pv-ocr-results-head p{margin:0;color:#8591a4;font-size:10.5px}.pv-ocr-count{padding:7px 10px;border-radius:10px;background:#f0ebff;color:#6d45e5;font-size:10.5px}.pv-ocr-table-wrap{overflow:auto;border:1px solid #e2e6ee;border-radius:15px}.pv-ocr-table{width:100%;min-width:790px;border-collapse:collapse;background:#fff}.pv-ocr-table th{padding:10px 8px;border-bottom:1px solid #e4e8f0;background:#f5f6fa;color:#8793a6;font-size:8.5px;font-weight:850;letter-spacing:.04em;text-align:left;text-transform:uppercase}.pv-ocr-table td{padding:7px 5px;border-bottom:1px solid #edf0f5}.pv-ocr-table tr:last-child td{border-bottom:0}.pv-ocr-table input,.pv-ocr-table select{width:100%;height:38px!important;min-height:38px!important;padding:0 8px!important;border:1px solid transparent!important;border-radius:9px!important;background:#f7f8fb!important;color:#29354a!important;font-size:10.5px!important;box-shadow:none!important}.pv-ocr-table input:focus,.pv-ocr-table select:focus{border-color:#9071f5!important;background:#fff!important;box-shadow:0 0 0 3px rgba(109,69,229,.09)!important}.pv-ocr-table th:nth-child(1){width:115px}.pv-ocr-table th:nth-child(2){min-width:235px}.pv-ocr-table th:nth-child(3){width:130px}.pv-ocr-table th:nth-child(4){width:105px}.pv-ocr-table th:nth-child(5){width:82px}.pv-ocr-table th:nth-child(6){width:95px}.pv-ocr-remove-row{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #ffb2bc;border-radius:9px;background:#fff;color:#f5011f;cursor:pointer}.pv-ocr-remove-row svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}.pv-ocr-add-row{margin-top:10px;border-color:#cdbfff;color:#6d45e5}.pv-ocr-settings{margin-top:16px}.pv-ocr-error{margin:12px 0 0;padding:10px 12px;border:1px solid #ffc7ce;border-radius:10px;background:#fff5f6;color:#c8102e;font-size:11px}.pv-ocr-results-footer{justify-content:flex-end}.pv-ocr-restart-btn{margin-right:auto}.pv-ocr-results-footer .pv-importador-primary{min-width:210px}
        .pv-importador-modal:has(.pv-ocr-results:not([hidden])) .pv-ocr-table{min-width:1040px;table-layout:fixed}.pv-importador-modal:has(.pv-ocr-results:not([hidden])) .pv-ocr-table th:nth-child(1){width:13%}.pv-importador-modal:has(.pv-ocr-results:not([hidden])) .pv-ocr-table th:nth-child(2){width:29%}.pv-importador-modal:has(.pv-ocr-results:not([hidden])) .pv-ocr-table th:nth-child(3){width:16%}.pv-importador-modal:has(.pv-ocr-results:not([hidden])) .pv-ocr-table th:nth-child(4){width:13%}.pv-importador-modal:has(.pv-ocr-results:not([hidden])) .pv-ocr-table th:nth-child(5){width:11%}.pv-importador-modal:has(.pv-ocr-results:not([hidden])) .pv-ocr-table th:nth-child(6){width:11%}.pv-importador-modal:has(.pv-ocr-results:not([hidden])) .pv-ocr-table th:nth-child(7){width:52px}.pv-importador-modal:has(.pv-ocr-results:not([hidden])) .pv-ocr-table td{box-sizing:border-box;min-width:0;overflow:hidden;padding:7px 6px;vertical-align:middle}.pv-importador-modal:has(.pv-ocr-results:not([hidden])) .pv-ocr-table input{display:block;box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0 10px!important;font-size:12px!important;outline:0!important}.pv-importador-modal:has(.pv-ocr-results:not([hidden])) .pv-ocr-table input:focus{position:relative;z-index:2;border-color:#8d6af1!important;box-shadow:inset 0 0 0 1px #8d6af1,0 3px 10px rgba(109,69,229,.1)!important}.pv-ocr-remove-row{position:relative!important;isolation:isolate;min-width:34px!important;min-height:34px!important;margin:auto!important;padding:0!important;font-size:0!important}.pv-ocr-remove-row:before,.pv-ocr-remove-row:after{display:none!important;content:none!important}.pv-ocr-remove-row svg{position:relative;z-index:2;display:block!important;color:#f5011f!important;stroke:#f5011f!important}
        @media(max-width:700px){.pv-importador-modal,.pv-importador-modal:has(.pv-ocr-results:not([hidden])){width:calc(100vw - 16px);max-width:calc(100vw - 16px)!important;max-height:calc(100vh - 16px);border-radius:22px!important}.pv-importador-header{align-items:flex-start;padding:21px 18px 17px}.pv-importador-header:before{left:18px;right:18px}.pv-importador-logo{width:44px;height:44px;flex-basis:44px}.pv-importador-head-copy{padding-right:32px}.pv-importador-head-copy h2{font-size:19px!important}.pv-importador-head-copy p{font-size:11px}.pv-importador-header .pv-modal-close{top:17px!important;right:14px!important}.pv-importador-metodos{grid-template-columns:1fr;padding:13px 16px}.pv-importador-panel{padding:17px 16px 21px}.pv-importador-settings,.pv-ocr-guide,.pv-ocr-preview{grid-template-columns:1fr}.pv-importador-file{align-items:flex-start;flex-direction:column}.pv-importador-file>small{white-space:normal}.pv-importador-footer{align-items:stretch;flex-direction:column}.pv-importador-primary{width:100%}.pv-ocr-document-art{display:none}.pv-ocr-guide{padding:17px}.pv-ocr-dropzone{min-height:260px;padding:20px 12px}.pv-ocr-actions{width:100%;flex-direction:column}.pv-ocr-actions button{width:100%}.pv-ocr-preview-image{height:210px}.pv-ocr-preview-info>div{flex-direction:column}.pv-ocr-results-head{grid-template-columns:42px minmax(0,1fr)}.pv-ocr-results-icon{width:42px;height:42px}.pv-ocr-count{grid-column:2;justify-self:start}.pv-ocr-results-footer{flex-direction:column-reverse}.pv-ocr-restart-btn{width:100%}}
        .pv-informe-imprimir{display:none;font-family:var(--pv-font);color:#172033}
        /* Reporte profesional de Historial de Envíos. La fuente sigue siendo
           la misma consulta logística; estas clases solo organizan su salida
           impresa y la tabla que consume el generador de PDF. */
        .pv-env-print-report{position:relative;box-sizing:border-box;width:216mm;min-height:279mm;padding:0 13mm 17mm;overflow:hidden;background:#fff;color:#172033;font-family:Arial,Helvetica,sans-serif;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.pv-env-print-report *{box-sizing:border-box}.pv-env-print-accent{display:grid;grid-template-columns:32% 40% 28%;height:2.8mm;margin:0 -13mm 7mm}.pv-env-print-accent i:nth-child(1){background:#08a6ec}.pv-env-print-accent i:nth-child(2){background:#6d45e5}.pv-env-print-accent i:nth-child(3){background:#f5013c}.pv-env-print-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10mm;padding:0 1mm 5mm;border-bottom:.3mm solid #e1e6ef}.pv-env-print-brand{display:flex;align-items:center;gap:3.5mm;min-width:0}.pv-env-print-brand .pv-informe-logo{display:block;max-width:31mm;max-height:11mm;object-fit:contain;flex:0 0 auto}.pv-env-print-brand .pv-informe-empresa{min-width:0}.pv-env-print-brand .pv-informe-empresa strong{display:block;color:#172033;font-size:9pt;font-weight:850;line-height:1.2;text-transform:uppercase}.pv-env-print-brand .pv-informe-empresa span{display:block;max-width:105mm;margin-top:.7mm;color:#8490a6;font-size:6.6pt;line-height:1.35}.pv-env-print-meta{display:flex;align-items:flex-end;flex-direction:column;gap:1mm;padding-top:.5mm;text-align:right;white-space:nowrap}.pv-env-print-meta strong{color:#6d45e5;font-size:6.5pt;font-weight:850;letter-spacing:.09em}.pv-env-print-meta span{color:#98a2b3;font-size:6.5pt}.pv-env-print-title{position:relative;margin:6mm 0 4.5mm;padding:0 1mm}.pv-env-print-title>span{display:block;margin-bottom:1.3mm;color:#6d45e5;font-size:6.4pt;font-weight:850;letter-spacing:.1em}.pv-env-print-title h1{margin:0!important;color:#172033!important;font-family:Arial,Helvetica,sans-serif!important;font-size:18pt!important;font-weight:850!important;line-height:1.08!important;letter-spacing:-.025em}.pv-env-print-title p{margin:1.6mm 0 0;color:#667085;font-size:7.3pt}.pv-env-print-summary{display:grid;grid-template-columns:repeat(4,1fr);margin:0 0 6mm;overflow:hidden;border:.35mm solid #dde3ed;border-radius:3mm;background:#fff;break-inside:avoid;page-break-inside:avoid}.pv-env-print-summary>div{display:flex;justify-content:center;flex-direction:column;min-width:0;min-height:18mm;padding:3mm 3.5mm;border-left:.3mm solid #e4e8f0}.pv-env-print-summary>div:first-child{border-left:0}.pv-env-print-summary span{margin-bottom:1.1mm;color:#8490a6;font-size:6.1pt;font-weight:850;letter-spacing:.04em}.pv-env-print-summary strong{color:#172033;font-size:12pt;font-weight:850;line-height:1.05}.pv-env-print-summary div:nth-child(1) strong{color:#6d45e5}.pv-env-print-summary div:nth-child(3) strong{color:#08a6ec}.pv-env-print-summary div:nth-child(4) strong{color:#e31761}.pv-env-print-summary small{margin-top:.8mm;color:#98a2b3;font-size:5.8pt;font-weight:650}.pv-env-print-section-head{display:flex;align-items:center;justify-content:space-between;gap:5mm;margin-bottom:3mm}.pv-env-print-section-head>div{display:flex;align-items:center;gap:3mm}.pv-env-print-section-head>div>i{display:block;width:2.2mm;height:10mm;border-radius:1.3mm;background:linear-gradient(#6d45e5,#f5013c)}.pv-env-print-section-head>div>span{display:flex;flex-direction:column;gap:.8mm}.pv-env-print-section-head strong{color:#172033;font-size:11pt;font-weight:850}.pv-env-print-section-head small{color:#8490a6;font-size:6.6pt}.pv-env-print-section-head>b{display:inline-flex;align-items:center;justify-content:center;min-height:6.5mm;padding:0 3mm;border:.25mm solid #d6cbff;border-radius:2mm;background:#f7f4ff;color:#6d45e5;font-size:6.4pt;white-space:nowrap}.pv-env-print-table-wrap{overflow:hidden;border:.35mm solid #dde3ed;border-radius:2.5mm}.pv-env-print-report table{width:100%;margin:0;border-collapse:collapse;table-layout:fixed}.pv-env-print-report thead{display:table-header-group}.pv-env-print-report th,.pv-env-print-report td{padding:3mm 2.5mm;border:0;border-top:.25mm solid #e4e8f0;text-align:left;color:#344054;font-size:7pt;line-height:1.3;vertical-align:middle}.pv-env-print-report th{border-top:0;background:#f1edff;color:#5f3fbd;font-size:5.8pt;font-weight:900;letter-spacing:.045em;text-transform:uppercase}.pv-env-print-report th:nth-child(1){width:21mm}.pv-env-print-report th:nth-child(2){width:43mm}.pv-env-print-report th:nth-child(3){width:43mm}.pv-env-print-report th:nth-child(4){width:29mm}.pv-env-print-report th:nth-child(5){width:25mm}.pv-env-print-report th:nth-child(6){width:27mm}.pv-env-print-report tbody tr:nth-child(even) td{background:#fafbfc}.pv-env-print-report tr{break-inside:avoid;page-break-inside:avoid}.pv-env-print-report td strong{display:block;color:#263044;font-size:7.1pt;font-weight:800}.pv-env-print-report td small{display:block;margin-top:.7mm;color:#8a96aa;font-size:6.1pt}.pv-env-print-origin,.pv-env-print-delivered{display:inline-flex;align-items:center;justify-content:center;min-height:5.5mm;padding:0 2mm;border-radius:1.7mm;font-size:5.8pt;font-weight:850;line-height:1.1}.pv-env-print-origin.is-fab{background:#eaf8ff;color:#0877aa}.pv-env-print-origin.is-order{background:#f1ecff;color:#6d45e5}.pv-env-print-delivered{background:#eafaf1;color:#087a4a;white-space:nowrap}.pv-env-print-empty{display:flex;align-items:center;min-height:20mm;padding:0 5mm;border:.35mm solid #dde3ed;border-radius:3mm;background:#f8f9fc;color:#8490a6;font-size:8pt}.pv-env-print-footer{position:absolute;left:13mm;right:13mm;bottom:7mm;display:flex;align-items:center;justify-content:space-between;gap:8mm;padding-top:3mm;border-top:.3mm solid #e1e6ef;color:#98a2b3;font-size:6.3pt}
        .pv-prov-statement{position:relative;box-sizing:border-box;width:100%;min-height:245mm;padding:0 0 13mm;background:#fff;color:#172033;font-family:var(--pv-font);-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
        .pv-prov-statement *{box-sizing:border-box}.pv-prov-statement-accent{display:grid;grid-template-columns:34% 38% 28%;height:2.5mm;margin:0 0 5mm;overflow:hidden}.pv-prov-statement-accent i:nth-child(1){background:#08A6EC}.pv-prov-statement-accent i:nth-child(2){background:#6D45E5}.pv-prov-statement-accent i:nth-child(3){background:#F5011F}
        .pv-prov-statement-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10mm;padding:0 1mm 3.8mm;border-bottom:.3mm solid #E1E6EF}
        .pv-prov-statement-brand{display:flex;align-items:center;gap:3.5mm;min-width:0}.pv-informe-logo{display:block;max-height:10mm;max-width:29mm;object-fit:contain;flex-shrink:0}.pv-informe-empresa{min-width:0;line-height:1.3}.pv-informe-empresa strong{display:block;font-size:9pt;font-weight:800;color:#172033;text-transform:uppercase!important}.pv-informe-empresa span{display:block;max-width:92mm;margin-top:.6mm;font-size:6.7pt;line-height:1.35;color:#8490A6}
        .pv-prov-statement-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.8mm;padding-top:.5mm;text-align:right;white-space:nowrap}.pv-prov-statement-meta strong{font-size:6.8pt;letter-spacing:.055em;color:#475467}.pv-prov-statement-meta span{font-size:6.6pt;color:#98A2B3}
        .pv-prov-statement-provider{min-width:0;margin:5mm 0 4mm;padding:0 1mm}.pv-prov-statement-provider h1{margin:0 0 1.2mm!important;color:#172033!important;font-family:var(--pv-font)!important;font-size:15pt!important;font-weight:850!important;line-height:1.12!important;letter-spacing:-.02em}.pv-prov-statement-provider p{margin:0;font-size:7.8pt;line-height:1.35;color:#667085}
        .pv-prov-statement-summary{display:grid;grid-template-columns:26% 29% 45%;min-height:19mm;margin:0 0 6mm;border:.35mm solid #DDE3ED;border-radius:3mm;background:#fff;overflow:hidden;break-inside:avoid;page-break-inside:avoid}.pv-prov-statement-summary-item{display:flex;align-items:center;gap:3mm;min-width:0;padding:3mm 4mm;border-left:.3mm solid #E4E8F0}.pv-prov-statement-summary-item:first-child{border-left:0}.pv-prov-statement-summary-icon{display:inline-flex;align-items:center;justify-content:center;width:8mm;height:8mm;flex:0 0 8mm;color:#08A6EC}.pv-prov-statement-summary-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.pv-prov-statement-summary-item.is-records .pv-prov-statement-summary-icon{color:#6D45E5}.pv-prov-statement-summary-item.is-balance .pv-prov-statement-summary-icon{color:#F5011F}.pv-prov-statement-summary-item>span:nth-child(2){display:flex;flex-direction:column;gap:.8mm;min-width:0}.pv-prov-statement-summary-item small{font-size:6.4pt;font-weight:800;letter-spacing:.045em;color:#8490A6}.pv-prov-statement-summary-item strong{font-size:8.5pt;font-weight:800;color:#172033;white-space:nowrap}.pv-prov-statement-summary-item.is-balance{display:grid;grid-template-columns:8mm minmax(0,1fr);grid-template-rows:auto auto;column-gap:2.8mm;row-gap:1mm;align-content:center}.pv-prov-statement-summary-item.is-balance .pv-prov-statement-summary-icon{grid-row:1/3}.pv-prov-statement-summary-item.is-balance>span:nth-child(2){grid-column:2;grid-row:1}.pv-prov-statement-summary-item.is-balance strong{font-size:9.8pt;color:#D92D20}.pv-prov-statement-summary-item.is-balance>b{grid-column:2;grid-row:2;justify-self:start;display:inline-flex;align-items:center;justify-content:center;min-height:4.8mm;margin:0;padding:0 1.8mm;border-radius:1.6mm;font-size:5.8pt;font-weight:750;line-height:1;white-space:nowrap}.pv-prov-statement-summary-item.is-balance>b.is-due{border:.25mm solid #FDA29B;background:#FFF1F0;color:#D92D20}.pv-prov-statement-summary-item.is-balance>b.is-credit,.pv-prov-statement-summary-item.is-balance>b.is-current{border:.25mm solid #ABEFC6;background:#ECFDF3;color:#067647}
        .pv-prov-statement-section{margin-top:6mm;break-inside:auto}.pv-prov-statement-section-title{display:grid;grid-template-columns:2.5mm minmax(0,1fr) auto;align-items:center;gap:3mm;margin-bottom:3.2mm}.pv-prov-statement-section-title>span{width:2.5mm;height:10.5mm;border-radius:1.5mm}.pv-prov-statement-section-title>span.is-blue{background:#08A6EC}.pv-prov-statement-section-title>span.is-violet{background:#6D45E5}.pv-prov-statement-section-title h2{margin:0!important;padding:0!important;border:0!important;color:#172033!important;font-family:var(--pv-font)!important;font-size:12pt!important;font-weight:800!important}.pv-prov-statement-section-title p{margin:1mm 0 0;font-size:7.6pt;color:#8490A6}.pv-prov-statement-section-title b{display:inline-flex;align-items:center;justify-content:center;min-height:7mm;padding:0 3.5mm;border:.25mm solid #DDE3ED;border-radius:2mm;background:#fff;font-size:7pt;font-weight:750;color:#667085;white-space:nowrap}.pv-prov-statement-section.is-payments .pv-prov-statement-section-title b{border-color:#84CAFF;color:#087BB4}.pv-prov-statement-section.is-purchases .pv-prov-statement-section-title b{border-color:#C7B9FF;color:#5B36CA}
        .pv-prov-statement-table{overflow:hidden;border:.35mm solid #DDE3ED;border-radius:2.5mm}.pv-prov-statement table{width:100%;margin:0;border-collapse:collapse;table-layout:auto}.pv-prov-statement th,.pv-prov-statement td{padding:3.4mm 3mm;border:0;border-top:.25mm solid #E4E8F0;text-align:left;color:#344054;font-size:8.1pt;line-height:1.35;vertical-align:middle}.pv-prov-statement thead{display:table-header-group}.pv-prov-statement th{border-top:0;background:#F2F4F7;color:#344054;text-transform:uppercase;font-size:6.8pt;letter-spacing:.035em;font-weight:800}.pv-prov-statement tbody tr:nth-child(even) td{background:#F8F9FC}.pv-prov-statement tr{break-inside:avoid;page-break-inside:avoid}
        .pv-prov-statement-empty{box-sizing:border-box;min-height:16mm;display:flex;align-items:center;padding:0 6mm;border:.35mm solid #E1E6EF;border-radius:3mm;background:#F8F9FC;font-size:8pt;color:#8490A6}
        .pv-prov-statement-footer{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:8mm;padding-top:3mm;border-top:.3mm solid #E1E6EF;font-size:6.8pt;color:#98A2B3}
        /* Estado de movimientos bancarios: modal y documento compartido por impresion/PDF. */
        .pv-bank-mov-modal{width:min(920px,calc(100vw - 32px))!important;max-width:920px!important;padding:26px!important;border:1px solid #e2e6ef!important;border-radius:24px!important;background:#fff!important;box-shadow:0 24px 70px rgba(16,24,40,.22)!important}.pv-bank-mov-head{display:flex;align-items:center;gap:15px;padding:0 50px 18px 0;border-bottom:1px solid #e7eaf0}.pv-bank-mov-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;flex:0 0 52px;border-radius:16px;color:#fff;background:linear-gradient(135deg,#6d45e5 12%,#c12bc7 58%,#f5013c);box-shadow:0 10px 24px rgba(109,69,229,.22)}.pv-bank-mov-icon svg{width:27px;height:27px}.pv-bank-mov-head>div{min-width:0}.pv-bank-mov-head>div>span{display:block;margin-bottom:3px;color:#7a55e7;font-size:10px;font-weight:850;letter-spacing:.08em}.pv-bank-mov-head h2{margin:0!important;color:#172033!important;font-size:23px!important;line-height:1.15!important}.pv-bank-mov-head p{margin:5px 0 0!important;color:#8490a6;font-size:12px}.pv-bank-mov-actions{display:flex;align-items:center;gap:10px;margin:17px 0}.pv-bank-mov-actions button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:148px;height:44px;padding:0 18px;border-radius:12px;font-size:12px;font-weight:800;cursor:pointer;transition:.18s ease}.pv-bank-mov-actions button svg{width:17px;height:17px}.pv-bank-print-btn{border:1px solid #6d45e5;background:#fff;color:#6d45e5}.pv-bank-print-btn:hover{background:#f5f1ff}.pv-bank-pdf-btn{border:0;background:linear-gradient(105deg,#6d45e5 0%,#bd2bc5 55%,#f5013c 100%);color:#fff;box-shadow:0 8px 18px rgba(109,69,229,.19)}.pv-bank-pdf-btn:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(109,69,229,.27)}.pv-bank-mov-actions button:disabled{opacity:.65;cursor:wait}.pv-bank-mov-modal .pv-historial-tabla{overflow:hidden;border:1px solid #e1e6ef;border-radius:15px}.pv-bank-mov-modal .pv-historial-fila{min-height:58px;padding:10px 14px;border-color:#e8ebf1}.pv-bank-mov-modal .pv-historial-header{min-height:42px;background:#f5f6fa;color:#7e8aa0;font-size:10px;font-weight:850;text-transform:uppercase}.pv-bank-mov-modal .pv-modal-close{top:22px!important;right:22px!important}
        .pv-informe-imprimir.pv-bank-print-source{display:block;position:fixed;z-index:-10;left:-10000px;top:0;width:216mm;margin:0;pointer-events:none}.pv-bank-statement{position:relative;box-sizing:border-box;width:216mm;min-height:279mm;padding:0 13mm 17mm;overflow:hidden;background:#fff;color:#172033;font-family:Arial,Helvetica,sans-serif;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.pv-bank-statement *{box-sizing:border-box}.pv-bank-statement-accent{display:grid;grid-template-columns:32% 40% 28%;height:2.8mm;margin:0 -13mm 7mm}.pv-bank-statement-accent i:nth-child(1){background:#08a6ec}.pv-bank-statement-accent i:nth-child(2){background:#6d45e5}.pv-bank-statement-accent i:nth-child(3){background:#f5013c}.pv-bank-statement-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10mm;padding:0 1mm 5mm;border-bottom:.3mm solid #e1e6ef}.pv-bank-statement-brand{display:flex;align-items:center;gap:3.5mm;min-width:0}.pv-bank-statement-meta{display:flex;align-items:flex-end;flex-direction:column;gap:1mm;padding-top:.5mm;text-align:right}.pv-bank-statement-meta strong{font-size:7pt;letter-spacing:.08em;color:#475467}.pv-bank-statement-meta span{font-size:6.5pt;color:#98a2b3}.pv-bank-statement-meta b{display:inline-flex;align-items:center;justify-content:center;min-width:15mm;height:5.5mm;margin-top:.5mm;padding:0 2.5mm;border:.25mm solid #d6cbff;border-radius:2mm;background:#f5f1ff;color:#6d45e5;font-size:6.8pt}.pv-bank-statement-account{position:relative;margin:6mm 0 4.5mm;padding:0 1mm}.pv-bank-statement-account:after{position:absolute;right:1mm;top:1mm;width:24mm;height:24mm;border:4mm solid #f3efff;border-radius:50%;content:""}.pv-bank-statement-account>span{display:block;margin-bottom:1.2mm;color:#6d45e5;font-size:6.4pt;font-weight:850;letter-spacing:.09em}.pv-bank-statement-account h1{position:relative;z-index:1;margin:0!important;color:#172033!important;font-family:Arial,Helvetica,sans-serif!important;font-size:18pt!important;font-weight:850!important;line-height:1.1!important;letter-spacing:-.025em}.pv-bank-statement-account p{position:relative;z-index:1;margin:1.5mm 0 0;color:#667085;font-size:7.5pt}.pv-bank-statement-summary{display:grid;grid-template-columns:16% 28% 28% 28%;margin:0 0 6mm;overflow:hidden;border:.35mm solid #dde3ed;border-radius:3mm;background:#fff;break-inside:avoid;page-break-inside:avoid}.pv-bank-statement-summary>div{display:flex;justify-content:center;flex-direction:column;min-width:0;min-height:18mm;padding:3mm 3.5mm;border-left:.3mm solid #e4e8f0}.pv-bank-statement-summary>div:first-child{border-left:0}.pv-bank-statement-summary span{margin-bottom:1.2mm;color:#8490a6;font-size:6.3pt;font-weight:800;letter-spacing:.035em}.pv-bank-statement-summary strong{color:#172033;font-size:9pt;font-weight:850;line-height:1.2;white-space:nowrap}.pv-bank-statement-summary small{font-size:5.8pt;font-weight:800;color:#8490a6}.pv-bank-statement-summary .is-income strong,.pv-bank-statement-summary .is-net-positive strong{color:#039855}.pv-bank-statement-summary .is-expense strong,.pv-bank-statement-summary .is-net-negative strong{color:#d92d20}.pv-bank-statement-body{margin-top:1mm}.pv-bank-statement-section-head{display:flex;align-items:center;justify-content:space-between;gap:5mm;margin-bottom:3mm}.pv-bank-statement-section-head>div{display:flex;align-items:center;gap:3mm}.pv-bank-statement-section-head>div>span{display:block;width:2.2mm;height:10mm;border-radius:1.3mm;background:linear-gradient(#6d45e5,#f5013c)}.pv-bank-statement-section-head h2{margin:0!important;color:#172033!important;font-family:Arial,Helvetica,sans-serif!important;font-size:11.5pt!important;font-weight:850!important}.pv-bank-statement-section-head p{margin:.8mm 0 0;color:#8490a6;font-size:6.8pt}.pv-bank-statement-section-head>b{display:inline-flex;align-items:center;justify-content:center;min-height:6.5mm;padding:0 3mm;border:.25mm solid #d6cbff;border-radius:2mm;background:#f7f4ff;color:#6d45e5;font-size:6.5pt;white-space:nowrap}.pv-bank-statement-table-wrap{overflow:hidden;border:.35mm solid #dde3ed;border-radius:2.5mm}.pv-bank-statement table{width:100%;margin:0;border-collapse:collapse;table-layout:fixed}.pv-bank-statement thead{display:table-header-group}.pv-bank-statement th,.pv-bank-statement td{padding:3.2mm 3mm;border:0;border-top:.25mm solid #e4e8f0;text-align:left;color:#344054;font-size:7.5pt;line-height:1.35;vertical-align:middle}.pv-bank-statement th{border-top:0;background:#f2f4f7;color:#667085;font-size:6.3pt;font-weight:850;letter-spacing:.045em;text-transform:uppercase}.pv-bank-statement th:nth-child(1){width:25mm}.pv-bank-statement th:nth-child(2){width:35mm}.pv-bank-statement th:nth-child(4){width:32mm;text-align:right}.pv-bank-statement td:last-child{text-align:right}.pv-bank-statement tbody tr:nth-child(even) td{background:#fafbfc}.pv-bank-statement tr{break-inside:avoid;page-break-inside:avoid}.pv-bank-statement-type{display:inline-flex;align-items:center;justify-content:center;min-height:5.5mm;padding:0 2.2mm;border-radius:1.8mm;font-size:6pt;font-weight:800;line-height:1.1}.pv-bank-statement-type.is-verde{background:#ecfdf3;color:#067647}.pv-bank-statement-type.is-rojo{background:#fff1f0;color:#d92d20}.pv-bank-statement-type.is-gris{background:#f2f4f7;color:#475467}.pv-bank-statement-amount{font-weight:850;white-space:nowrap}.pv-bank-statement-amount.is-income{color:#039855}.pv-bank-statement-amount.is-expense{color:#d92d20}.pv-bank-statement-empty{display:flex;align-items:center;min-height:18mm;padding:0 5mm;border:.35mm solid #dde3ed;border-radius:3mm;background:#f8f9fc;color:#8490a6;font-size:8pt}.pv-bank-statement-footer{position:absolute;left:13mm;right:13mm;bottom:7mm;display:flex;align-items:center;justify-content:space-between;gap:8mm;padding-top:3mm;border-top:.3mm solid #e1e6ef;color:#98a2b3;font-size:6.5pt}
        @media(max-width:700px){.pv-bank-mov-modal{width:calc(100vw - 16px)!important;padding:20px 15px!important;border-radius:20px!important}.pv-bank-mov-head{align-items:flex-start}.pv-bank-mov-icon{width:45px;height:45px;flex-basis:45px;border-radius:14px}.pv-bank-mov-head h2{font-size:19px!important}.pv-bank-mov-actions{align-items:stretch;flex-direction:column}.pv-bank-mov-actions button{width:100%}.pv-bank-mov-modal .pv-historial-tabla{overflow-x:auto}.pv-bank-mov-modal .pv-historial-fila{min-width:760px}}
        .pv-bank-statement-account:after{display:none!important;content:none!important}.pv-bank-pdf-btn.is-loading{min-width:168px!important}.pv-bank-pdf-btn.is-loading:before{display:block;width:14px;height:14px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;content:"";animation:pvBankPdfSpin .7s linear infinite}@keyframes pvBankPdfSpin{to{transform:rotate(360deg)}}
        /* Buscador compacto de Cuentas por pagar/cobrar: una sola superficie. */
        html body .pvf-shell .rv-cxp-toolbar label.rv-cxp-search{position:relative!important;display:grid!important;grid-template-columns:19px minmax(0,1fr)!important;align-items:center!important;gap:10px!important;box-sizing:border-box!important;width:100%!important;height:46px!important;min-height:46px!important;margin:0!important;padding:0 14px!important;border:1px solid #D9D1F6!important;border-radius:14px!important;background:#fff!important;box-shadow:0 4px 13px rgba(50,38,92,.045)!important;cursor:text!important;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease!important}html body .pvf-shell .rv-cxp-toolbar label.rv-cxp-search:focus-within{border-color:#6D45E5!important;background:#fff!important;box-shadow:0 0 0 3px rgba(109,69,229,.1),0 7px 18px rgba(50,38,92,.07)!important}html body .pvf-shell .rv-cxp-toolbar label.rv-cxp-search>svg{position:static!important;display:block!important;width:18px!important;height:18px!important;margin:0!important;color:#7751E5!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;pointer-events:none!important}html body .pvf-shell .rv-cxp-toolbar label.rv-cxp-search input.pv-historial-buscar-input[type="search"]{display:block!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:none!important;height:42px!important;min-height:42px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;outline:0!important;background:transparent!important;color:#20283A!important;font:600 13px/1.2 Inter,system-ui,-apple-system,"Segoe UI",sans-serif!important;box-shadow:none!important;appearance:none!important;-webkit-appearance:none!important}html body .pvf-shell .rv-cxp-toolbar label.rv-cxp-search input.pv-historial-buscar-input[type="search"]:focus,html body .pvf-shell .rv-cxp-toolbar label.rv-cxp-search input.pv-historial-buscar-input[type="search"]:active{border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important}html body .pvf-shell .rv-cxp-toolbar label.rv-cxp-search input.pv-historial-buscar-input[type="search"]::placeholder{color:#8B95A7!important;font-weight:550!important;opacity:1!important}html body .pvf-shell .rv-cxp-toolbar label.rv-cxp-search input[type="search"]::-webkit-search-decoration,html body .pvf-shell .rv-cxp-toolbar label.rv-cxp-search input[type="search"]::-webkit-search-cancel-button,html body .pvf-shell .rv-cxp-toolbar label.rv-cxp-search input[type="search"]::-webkit-search-results-button,html body .pvf-shell .rv-cxp-toolbar label.rv-cxp-search input[type="search"]::-webkit-search-results-decoration{display:none!important;-webkit-appearance:none!important}
        /* ===== Clientes móvil — interfaz Noalyx 2026 ===== */
        .rv-clientes-mobile-metrics,.rv-clientes-mobile-filters,.rv-cliente-list-avatar,.rv-cliente-mobile-balance,.rv-cliente-mobile-chevron,.rv-cliente-mobile-actions,.rv-cliente-mobile-create-order,.rv-cliente-form-section-title{display:none}
        @media(max-width:640px){
            html body .pvf-shell .rv-clientes-page{gap:12px!important;width:100%!important;max-width:100%!important}
            html body .pvf-shell .rv-clientes-head-card{padding:14px!important;border:1px solid #E5E1F4!important;border-radius:16px!important;background:#fff!important;box-shadow:0 8px 24px rgba(38,26,76,.055)!important;overflow:visible!important}
            html body .pvf-shell .rv-clientes-head-top{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;margin:0 0 12px!important}
            html body .pvf-shell .rv-clientes-title-wrap{display:block!important;min-width:0!important}
            html body .pvf-shell .rv-clientes-title-icon{display:none!important}
            html body .pvf-shell .rv-clientes-title-copy h1{margin:0!important;color:#172033!important;font-size:24px!important;font-weight:850!important;line-height:1.05!important;letter-spacing:-.035em!important}
            html body .pvf-shell .rv-clientes-title-copy p{margin:4px 0 0!important;color:#8490A6!important;font-size:11.5px!important;font-weight:600!important}
            html body .pvf-shell .rv-clientes-nuevo-btn{box-sizing:border-box!important;width:auto!important;min-width:138px!important;height:42px!important;min-height:42px!important;margin:0!important;padding:0 14px!important;border:0!important;border-radius:11px!important;background:linear-gradient(110deg,#7047EB 0%,#A934D4 55%,#ED0A62 100%)!important;color:#fff!important;font-size:12.5px!important;font-weight:800!important;box-shadow:0 9px 20px rgba(112,71,235,.18)!important}
            html body .pvf-shell .rv-clientes-nuevo-btn svg{width:16px!important;height:16px!important;color:#fff!important;stroke:#fff!important}
            html body .pvf-shell .rv-clientes-search{height:46px!important;margin:0!important;padding:0 13px!important;border:1px solid #DCD5F2!important;border-radius:12px!important;background:#fff!important;box-shadow:none!important}
            html body .pvf-shell .rv-clientes-search:focus-within{border-color:#7047EB!important;box-shadow:0 0 0 3px rgba(112,71,235,.09)!important}
            html body .pvf-shell .rv-clientes-search>svg{width:18px!important;height:18px!important;color:#7450E6!important}
            html body .pvf-shell .rv-clientes-search input[type=search]{height:44px!important;min-height:44px!important;font-size:12.5px!important;font-weight:600!important}
            html body .pvf-shell .rv-clientes-mobile-metrics{display:grid!important;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)!important;gap:10px!important;margin-top:12px!important}
            html body .pvf-shell .rv-clientes-mobile-metrics>div{position:relative;display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;grid-template-rows:auto auto!important;column-gap:9px!important;box-sizing:border-box!important;min-width:0!important;min-height:72px!important;padding:11px 12px!important;border:1px solid #E7E3F2!important;border-radius:13px!important;background:#FBFAFE!important;overflow:hidden!important}
            html body .pvf-shell .rv-clientes-mobile-metrics>div:before{position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:0 4px 4px 0;background:#7047EB;content:""}
            html body .pvf-shell .rv-clientes-mobile-metrics>div.is-pending:before{background:#ED0A62}
            html body .pvf-shell .rv-clientes-mobile-metrics>div>span{grid-row:1/3;display:flex!important;align-items:center!important;justify-content:center!important;width:34px!important;height:34px!important;align-self:center!important;border-radius:10px!important;background:#F0EBFF!important;color:#7047EB!important}
            html body .pvf-shell .rv-clientes-mobile-metrics>div.is-pending>span{background:#FFF0F5!important;color:#E91662!important}
            html body .pvf-shell .rv-clientes-mobile-metrics svg{width:18px!important;height:18px!important;margin:0!important;color:inherit!important;stroke:currentColor!important}
            html body .pvf-shell .rv-clientes-mobile-metrics small{align-self:end!important;min-width:0!important;color:#8490A6!important;font-size:9.5px!important;font-weight:750!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
            html body .pvf-shell .rv-clientes-mobile-metrics strong{align-self:start!important;min-width:0!important;margin-top:3px!important;color:#172033!important;font-size:15px!important;font-weight:850!important;line-height:1.05!important;letter-spacing:-.02em!important;white-space:nowrap!important}
            html body .pvf-shell .rv-clientes-mobile-metrics em{color:#7047EB!important;font-size:9px!important;font-style:normal!important;font-weight:850!important;letter-spacing:.02em!important}
            html body .pvf-shell .rv-clientes-mobile-filters{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;margin-top:11px!important}
            html body .pvf-shell .rv-clientes-mobile-filters button{display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;box-sizing:border-box!important;width:100%!important;height:36px!important;min-height:36px!important;margin:0!important;padding:0 8px!important;border:1px solid #E4E0EF!important;border-radius:10px!important;background:#F8F7FC!important;color:#667085!important;font:inherit!important;font-size:10.5px!important;font-weight:750!important;white-space:nowrap!important;box-shadow:none!important}
            html body .pvf-shell .rv-clientes-mobile-filters button span{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:18px!important;height:18px!important;padding:0 4px!important;border-radius:6px!important;background:#fff!important;color:inherit!important;font-size:9px!important}
            html body .pvf-shell .rv-clientes-mobile-filters button.active{border-color:#7047EB!important;background:#7047EB!important;color:#fff!important}
            html body .pvf-shell .rv-clientes-mobile-filters button.active span{background:rgba(255,255,255,.2)!important;color:#fff!important}
            html body .pvf-shell .rv-clientes-directory{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
            html body .pvf-shell .rv-clientes-list{display:flex!important;flex-direction:column!important;gap:10px!important}
            html body .pvf-shell .rv-cliente-row.pv-historial-fila{display:flex!important;flex-direction:column!important;box-sizing:border-box!important;min-height:0!important;margin:0!important;padding:12px!important;border:1px solid #E5E1F0!important;border-radius:15px!important;background:#fff!important;box-shadow:0 7px 20px rgba(38,26,76,.045)!important;overflow:hidden!important}
            html body .pvf-shell .rv-cliente-row.pv-fila-oculta{display:none!important}
            html body .pvf-shell .rv-cliente-identidad{display:grid!important;grid-template-columns:44px minmax(0,1fr) minmax(70px,auto) 10px!important;align-items:center!important;gap:9px!important;width:100%!important;min-width:0!important;padding:0!important}
            html body .pvf-shell .rv-cliente-list-avatar{display:flex!important;align-items:center!important;justify-content:center!important;width:44px!important;height:44px!important;border-radius:13px!important;background:linear-gradient(145deg,#EEE9FF,#F9EAF3)!important;color:#7047EB!important;font-size:13px!important;font-weight:850!important;letter-spacing:.02em!important}
            html body .pvf-shell .rv-cliente-identidad-copy{gap:3px!important;min-width:0!important}
            html body .pvf-shell .rv-cliente-identidad-copy strong{color:#172033!important;font-size:12.5px!important;font-weight:800!important;line-height:1.22!important;text-transform:none!important;white-space:normal!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important}
            html body .pvf-shell .rv-cliente-identidad-copy small{color:#8490A6!important;font-size:10.5px!important;font-weight:600!important}
            html body .pvf-shell .rv-cliente-mobile-balance{display:flex!important;align-items:flex-end!important;flex-direction:column!important;gap:4px!important;min-width:70px!important;text-align:right!important}
            html body .pvf-shell .rv-cliente-mobile-balance strong{color:#172033!important;font-size:10.5px!important;font-weight:850!important;line-height:1.15!important;white-space:nowrap!important}
            html body .pvf-shell .rv-cliente-mobile-balance em{color:#7047EB!important;font-size:8.5px!important;font-style:normal!important;font-weight:850!important}
            html body .pvf-shell .rv-cliente-mobile-balance small{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:20px!important;padding:0 7px!important;border-radius:7px!important;font-size:8.5px!important;font-weight:800!important;line-height:1!important}
            html body .pvf-shell .rv-cliente-mobile-balance small.is-current{background:#EAF8F0!important;color:#079455!important}
            html body .pvf-shell .rv-cliente-mobile-balance small.is-pending{background:#FFF0F2!important;color:#D92D20!important}
            html body .pvf-shell .rv-cliente-mobile-chevron{display:block!important;color:#7047EB!important;font-size:22px!important;font-weight:500!important;line-height:1!important}
            html body .pvf-shell .rv-cliente-contacto{display:block!important;margin:5px 0 0 53px!important;padding:0!important;border:0!important}
            html body .pvf-shell .rv-cliente-contacto>span{gap:6px!important;min-width:0!important;color:#667085!important;font-size:9.8px!important}
            html body .pvf-shell .rv-cliente-contacto>span:nth-child(2){display:none!important}
            html body .pvf-shell .rv-cliente-contacto i{width:17px!important;height:17px!important;flex-basis:17px!important;color:#08A6EC!important}
            html body .pvf-shell .rv-cliente-contacto i svg{width:14px!important;height:14px!important}
            html body .pvf-shell .rv-cliente-actividad{display:none!important}
            html body .pvf-shell .rv-cliente-acciones{display:none!important}
            html body .pvf-shell .rv-clientes-directory>.pv-paginador{margin-top:10px!important;padding:10px 4px!important;border:0!important;border-radius:12px!important;background:transparent!important}
            html body .pvf-shell .rv-clientes-empty{min-height:220px!important;padding:24px 18px!important;border:1px solid #E5E1F0!important;border-radius:15px!important;background:#fff!important}

            html body #pv-modal-cliente-form{align-items:stretch!important;padding:8px!important;background:rgba(15,23,42,.5)!important;backdrop-filter:blur(7px)!important}
            html body #pv-modal-cliente-form .rv-cliente-form-modal{width:100%!important;max-width:none!important;max-height:calc(100dvh - 16px)!important;margin:auto!important;border:1px solid #E1DCEF!important;border-radius:18px!important;background:#fff!important;box-shadow:0 24px 70px rgba(15,23,42,.24)!important;overflow:auto!important}
            html body #pv-modal-cliente-form .rv-cliente-form-header{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;min-height:62px!important;padding:0 52px!important;border-bottom:1px solid #E8E5F0!important;background:#fff!important;backdrop-filter:none!important}
            html body #pv-modal-cliente-form .rv-cliente-form-title-icon{display:none!important}
            html body #pv-modal-cliente-form .rv-cliente-form-header h2{font-size:18px!important;font-weight:850!important;letter-spacing:-.025em!important}
            html body #pv-modal-cliente-form .rv-cliente-form-header>.pv-modal-close{position:absolute!important;left:auto!important;right:14px!important;top:14px!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;margin:0!important;border-color:#E0DAF1!important;border-radius:10px!important;background:#F9F8FC!important;color:transparent!important;font-size:0!important}
            html body #pv-modal-cliente-form .rv-cliente-form-header>.pv-modal-close:before{display:block!important;color:#475467!important;font-size:21px!important;font-weight:500!important;line-height:1!important;content:"×"!important}
            html body #pv-modal-cliente-form .rv-cliente-form{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;padding:11px 14px 0!important}
            html body #pv-modal-cliente-form .rv-cliente-form-section-title{display:block!important;grid-column:1!important;margin:2px 0 0!important;padding-top:2px!important;color:#7047EB!important;font-size:9px!important;font-weight:850!important;letter-spacing:.055em!important;text-transform:uppercase!important}
            html body #pv-modal-cliente-form .rv-cliente-form-section-title:not(:first-of-type){margin-top:5px!important;padding-top:9px!important;border-top:1px solid #EEEAF5!important}
            html body #pv-modal-cliente-form .rv-cliente-form-field{grid-column:1!important;margin:0!important}
            html body #pv-modal-cliente-form .rv-cliente-form-field>label{margin-bottom:5px!important;color:#344054!important;font-size:10.5px!important;font-weight:750!important}
            html body #pv-modal-cliente-form .rv-cliente-input-wrap>input{height:44px!important;min-height:44px!important;border-color:#D9D4E7!important;border-radius:10px!important;background:#FBFBFD!important;font-size:11.5px!important}
            html body #pv-modal-cliente-form .rv-cliente-input-wrap>textarea{min-height:58px!important;border-color:#D9D4E7!important;border-radius:10px!important;background:#FBFBFD!important;font-size:11.5px!important;resize:none!important}
            html body #pv-modal-cliente-form .rv-cliente-form-actions{position:sticky!important;z-index:6!important;bottom:0!important;grid-column:1!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important;margin:5px -14px 0!important;padding:11px 14px calc(11px + env(safe-area-inset-bottom))!important;border-top:1px solid #E8E5F0!important;background:#fff!important;box-shadow:0 -8px 18px rgba(23,32,51,.05)!important}
            html body #pv-modal-cliente-form .rv-cliente-form-save,html body #pv-modal-cliente-form .rv-cliente-form-cancel{width:100%!important;min-width:0!important;height:46px!important;min-height:46px!important;padding:0 8px!important;border-radius:11px!important;font-size:11.5px!important}
            html body #pv-modal-cliente-form .rv-cliente-form-save{order:2!important;border:0!important;background:linear-gradient(110deg,#7047EB 0%,#A934D4 55%,#ED0A62 100%)!important;box-shadow:0 9px 20px rgba(112,71,235,.16)!important}
            html body #pv-modal-cliente-form .rv-cliente-form-cancel{order:1!important}

            html body #pv-modal-cliente-ficha{align-items:stretch!important;padding:8px!important;background:rgba(15,23,42,.5)!important;backdrop-filter:blur(7px)!important}
            html body #pv-modal-cliente-ficha .rv-cliente-preview-modal{width:100%!important;max-width:none!important;max-height:calc(100dvh - 16px)!important;margin:auto!important;border:1px solid #E1DCEF!important;border-radius:18px!important;background:#F7F8FC!important;box-shadow:0 24px 70px rgba(15,23,42,.24)!important;overflow:auto!important;overscroll-behavior:contain!important}
            html body #pv-modal-cliente-ficha .rv-cliente-preview-modal>.pv-modal-close{position:absolute!important;z-index:20!important;top:17px!important;left:14px!important;right:auto!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;border-color:#E1DCEF!important;border-radius:10px!important;background:#F9F8FC!important;color:transparent!important;font-size:0!important}
            html body #pv-modal-cliente-ficha .rv-cliente-preview-modal>.pv-modal-close:before{display:block!important;color:#475467!important;font-size:24px!important;font-weight:500!important;line-height:1!important;content:"‹"!important}
            html body .rv-cliente-preview-body{min-height:calc(100dvh - 18px)!important}
            html body .rv-cliente-preview-shell{min-height:100%!important;background:#F7F8FC!important}
            html body .rv-cliente-preview-header{position:static!important;display:flex!important;align-items:center!important;justify-content:center!important;min-height:68px!important;padding:0 54px!important;border-bottom:1px solid #E5E1F0!important;background:#fff!important;backdrop-filter:none!important}
            html body .rv-cliente-preview-heading{justify-content:center!important;width:100%!important;text-align:center!important}
            html body .rv-cliente-preview-title-icon,.rv-cliente-preview-kicker{display:none!important}
            html body .rv-cliente-preview-heading h2{font-size:17px!important;font-weight:850!important}
            html body .rv-cliente-preview-header-actions{display:none!important}
            html body .rv-cliente-preview-content{gap:11px!important;padding:12px!important}
            html body .rv-cliente-profile-card{display:flex!important;flex-direction:column!important;gap:9px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
            html body .rv-cliente-profile-main{align-items:center!important;gap:12px!important;padding:13px!important;border:1px solid #E4E0EF!important;border-radius:14px!important;background:#fff!important;box-shadow:0 6px 18px rgba(38,26,76,.035)!important}
            html body .rv-cliente-profile-card .rv-cliente-avatar{width:52px!important;height:52px!important;flex-basis:52px!important;border-radius:15px!important;font-size:15px!important}
            html body .rv-cliente-profile-title{gap:7px!important}
            html body .rv-cliente-profile-title h3{font-size:16px!important;line-height:1.2!important}
            html body .rv-cliente-profile-copy>p{margin:3px 0 0!important;font-size:10.5px!important}
            html body .rv-cliente-status{min-height:21px!important;padding:0 7px!important;border-radius:7px!important;font-size:8.5px!important}
            html body .rv-cliente-contact-grid{display:none!important}
            html body .rv-cliente-contact-grid>span{grid-template-columns:28px minmax(0,1fr)!important;column-gap:8px!important}
            html body .rv-cliente-contact-grid i{width:28px!important;height:28px!important;border-radius:8px!important}
            html body .rv-cliente-contact-grid small{font-size:8px!important}
            html body .rv-cliente-contact-grid strong{font-size:10.5px!important}
            html body .rv-cliente-metrics{display:grid!important;grid-template-columns:1fr 1fr!important;min-height:0!important;border:0!important;border-radius:0!important;background:transparent!important;gap:8px!important;overflow:visible!important}
            html body .rv-cliente-metrics>div{box-sizing:border-box!important;align-items:flex-start!important;min-height:64px!important;padding:10px!important;border:1px solid #E6E2EF!important;border-radius:11px!important;background:#FBFAFD!important;text-align:left!important}
            html body .rv-cliente-metrics>div:first-child{grid-column:auto!important}
            html body .rv-cliente-metrics small{justify-content:flex-start!important;min-height:0!important;font-size:8px!important;white-space:normal!important}
            html body .rv-cliente-metrics strong{font-size:12px!important;white-space:normal!important}
            html body .rv-cliente-mobile-actions{position:relative!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important}
            html body .rv-cliente-mobile-actions>a,html body .rv-cliente-mobile-actions>button,html body .rv-cliente-mobile-more>summary{display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;box-sizing:border-box!important;width:100%!important;height:42px!important;min-height:42px!important;margin:0!important;padding:0 5px!important;border:1px solid #DCD5F2!important;border-radius:10px!important;background:#fff!important;color:#7047EB!important;font:inherit!important;font-size:9.5px!important;font-weight:800!important;text-decoration:none!important;box-shadow:none!important;list-style:none!important;cursor:pointer!important}
            html body .rv-cliente-mobile-more{position:relative!important;min-width:0!important}
            html body .rv-cliente-mobile-more>summary::-webkit-details-marker{display:none!important}
            html body .rv-cliente-mobile-more>summary{flex-direction:column!important;gap:0!important;line-height:.8!important}
            html body .rv-cliente-mobile-more>summary>span{font-size:8px!important;line-height:1.1!important}
            html body .rv-cliente-mobile-more>div{position:absolute!important;z-index:30!important;top:47px!important;right:0!important;display:flex!important;flex-direction:column!important;box-sizing:border-box!important;width:172px!important;padding:7px!important;border:1px solid #E0DAF1!important;border-radius:11px!important;background:#fff!important;box-shadow:0 14px 32px rgba(23,32,51,.18)!important}
            html body .rv-cliente-mobile-more>div>a,html body .rv-cliente-mobile-more>div button{display:flex!important;align-items:center!important;gap:8px!important;box-sizing:border-box!important;width:100%!important;height:38px!important;min-height:38px!important;margin:0!important;padding:0 10px!important;border:0!important;border-radius:8px!important;background:#fff!important;color:#344054!important;font:inherit!important;font-size:10px!important;font-weight:750!important;text-decoration:none!important;box-shadow:none!important}
            html body .rv-cliente-mobile-more>div form{margin:0!important}
            html body .rv-cliente-mobile-more>div form button{color:#D92D20!important}
            html body .rv-cliente-mobile-actions svg{width:15px!important;height:15px!important;margin:0!important;color:inherit!important;stroke:currentColor!important}
            html body .rv-cliente-preview-tabs{justify-content:flex-start!important;gap:20px!important;min-height:44px!important;padding:0 12px!important;border:1px solid #E4E0EF!important;border-radius:12px!important;background:#fff!important}
            html body .rv-cliente-preview-tabs button{height:44px!important;min-height:44px!important;font-size:10.5px!important}
            html body .rv-cliente-preview-tabs button span{min-width:18px!important;height:18px!important;margin-left:3px!important;padding:0 4px!important;font-size:8px!important}
            html body .rv-cliente-summary-grid{grid-template-columns:1fr!important;gap:10px!important}
            html body .rv-cliente-section-card{padding:13px!important;border-color:#E4E0EF!important;border-radius:13px!important;box-shadow:none!important}
            html body .rv-cliente-section-heading{gap:9px!important;margin-bottom:10px!important}
            html body .rv-cliente-section-heading>span{width:32px!important;height:32px!important;flex-basis:32px!important;border-radius:9px!important}
            html body .rv-cliente-section-heading h3{font-size:12.5px!important}
            html body .rv-cliente-section-heading p{font-size:9.5px!important}
            html body .rv-cliente-section-total{width:100%!important;margin:4px 0 0 41px!important;font-size:12px!important}
            html body .rv-cliente-record{grid-template-columns:30px minmax(0,1fr) auto!important;gap:8px!important;min-height:54px!important}
            html body .rv-cliente-record-icon{width:30px!important;height:30px!important}
            html body .rv-cliente-record>b{grid-column:auto!important;font-size:9.5px!important}
            html body .rv-cliente-timeline-item{grid-template-columns:9px minmax(0,1fr) auto!important;gap:8px!important}
            html body .rv-cliente-timeline-item>b{grid-column:auto!important;font-size:9px!important}
            html body .rv-cliente-table-wrap{max-width:100%!important;border-radius:10px!important;-webkit-overflow-scrolling:touch!important}
            html body .rv-cliente-table-wrap table{min-width:560px!important;font-size:10px!important}
            html body .rv-cliente-notes{padding:11px 12px!important;border-radius:11px!important}
            html body .rv-cliente-mobile-create-order{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;box-sizing:border-box!important;width:100%!important;height:46px!important;min-height:46px!important;margin-top:1px!important;border:0!important;border-radius:11px!important;background:linear-gradient(110deg,#7047EB 0%,#A934D4 55%,#ED0A62 100%)!important;color:#fff!important;font-size:11.5px!important;font-weight:850!important;text-decoration:none!important;box-shadow:0 9px 20px rgba(112,71,235,.16)!important}
            html body .rv-cliente-mobile-create-order svg{width:17px!important;height:17px!important;margin:0!important;color:#fff!important;stroke:#fff!important}
        }
        @media(max-width:365px){
            html body .pvf-shell .rv-cliente-identidad{grid-template-columns:42px minmax(0,1fr) minmax(62px,auto) 9px!important;gap:7px!important}
            html body .pvf-shell .rv-cliente-mobile-balance strong{font-size:9.5px!important}
            html body .pvf-shell .rv-cliente-contacto{grid-template-columns:1fr!important}
        }
        /* ===== Proveedores móvil — experiencia completa Noalyx 2026 ===== */
        .rv-prov-subtitle-mobile,.rv-prov-mobile-summary,.rv-prov-card-link,
        .rv-prov-mobile-ficha-metrics,.rv-prov-tab-mobile,.rv-proveedor-form-section-title{display:none}
        @media(max-width:640px){
            html body .pvf-shell .rv-prov-page{gap:10px!important}
            html body .pvf-shell .rv-prov-page-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto auto!important;gap:9px 8px!important;box-sizing:border-box!important;margin:0!important;padding:12px!important;border:1px solid #E3DEEF!important;border-radius:15px!important;background:#fff!important;box-shadow:0 8px 22px rgba(31,35,65,.045)!important}
            html body .pvf-shell .rv-prov-title-wrap{grid-column:1!important;grid-row:1!important;display:block!important;min-width:0!important}
            html body .pvf-shell .rv-prov-title-icon{display:none!important}
            html body .pvf-shell .rv-prov-page-head h1{margin:0!important;color:#172033!important;font-size:20px!important;font-weight:850!important;line-height:1.1!important;letter-spacing:-.025em!important}
            html body .pvf-shell .rv-prov-page-head p{margin:4px 0 0!important;color:#8290A8!important;font-size:10.5px!important;font-weight:650!important;line-height:1.2!important}
            html body .pvf-shell .rv-prov-subtitle-desktop{display:none!important}
            html body .pvf-shell .rv-prov-subtitle-mobile{display:inline!important}
            html body .pvf-shell .rv-prov-page .rv-prov-nuevo-btn{grid-column:2!important;grid-row:1!important;align-self:center!important;display:inline-flex!important;width:auto!important;min-width:116px!important;height:38px!important;min-height:38px!important;padding:0 11px!important;border:0!important;border-radius:10px!important;background:linear-gradient(110deg,#7047EB 0%,#873ADF 58%,#D62286 100%)!important;color:#fff!important;font-size:10.5px!important;font-weight:850!important;white-space:nowrap!important;box-shadow:0 8px 16px rgba(112,71,235,.16)!important}
            html body .pvf-shell .rv-prov-page .rv-prov-nuevo-btn .rv-prov-nuevo-btn-txt{display:inline-block!important;color:#fff!important}
            html body .pvf-shell .rv-prov-page .rv-prov-nuevo-btn svg{width:14px!important;min-width:14px!important;height:14px!important;flex-basis:14px!important}
            html body .pvf-shell .rv-prov-search{grid-column:1/-1!important;grid-row:2!important;box-sizing:border-box!important;width:100%!important;height:40px!important;min-height:40px!important;margin:0!important;padding:0 11px!important;border:1px solid #DCD5EF!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important}
            html body .pvf-shell .rv-prov-search svg{width:16px!important;height:16px!important;color:#7650DC!important}
            html body .pvf-shell .rv-prov-search input[type="search"]{height:38px!important;min-height:38px!important;font-size:11.5px!important;color:#273248!important}

            html body .pvf-shell .rv-prov-mobile-summary{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
            html body .pvf-shell .rv-prov-mobile-summary-item{position:relative!important;display:grid!important;grid-template-columns:32px minmax(0,1fr)!important;align-items:center!important;gap:8px!important;box-sizing:border-box!important;min-height:70px!important;padding:9px 10px!important;border:1px solid #E3DEEF!important;border-radius:13px!important;background:#fff!important;overflow:hidden!important;box-shadow:0 6px 16px rgba(31,35,65,.035)!important}
            html body .pvf-shell .rv-prov-mobile-summary-item:before{content:""!important;position:absolute!important;left:0!important;top:10px!important;bottom:10px!important;width:3px!important;border-radius:0 4px 4px 0!important;background:#7047EB!important}
            html body .pvf-shell .rv-prov-mobile-summary-item.is-balance:before{background:#ED0A62!important}
            html body .pvf-shell .rv-prov-mobile-summary-icon{display:flex!important;align-items:center!important;justify-content:center!important;width:32px!important;height:32px!important;border-radius:9px!important;background:#F2EDFF!important;color:#7047EB!important}
            html body .pvf-shell .rv-prov-mobile-summary-item.is-balance .rv-prov-mobile-summary-icon{background:#FFF0F5!important;color:#ED0A62!important}
            html body .pvf-shell .rv-prov-mobile-summary-icon svg{width:17px!important;height:17px!important;margin:0!important}
            html body .pvf-shell .rv-prov-mobile-summary-item>span:last-child{display:flex!important;flex-direction:column!important;min-width:0!important}
            html body .pvf-shell .rv-prov-mobile-summary-item small{color:#8490A6!important;font-size:8.6px!important;font-weight:800!important;line-height:1.15!important;white-space:nowrap!important}
            html body .pvf-shell .rv-prov-mobile-summary-item strong{margin-top:3px!important;color:#172033!important;font-size:14px!important;font-weight:850!important;line-height:1.05!important;white-space:nowrap!important;letter-spacing:-.02em!important;font-variant-numeric:tabular-nums!important}
            html body .pvf-shell .rv-prov-mobile-summary-item.is-balance strong{font-size:11.5px!important}
            html body .pvf-shell .rv-prov-mobile-summary-item strong em{color:#7047EB!important;font-size:8px!important;font-style:normal!important;letter-spacing:0!important}

            html body .pvf-shell .rv-prov-directory{overflow:visible!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
            html body .pvf-shell .rv-prov-summary{display:none!important}
            html body .pvf-shell .rv-prov-chips{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;overflow:visible!important;margin:0 0 9px!important;padding:0!important}
            html body .pvf-shell .rv-prov-chip{display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;width:100%!important;height:36px!important;min-height:36px!important;padding:0 6px!important;border:1px solid #DED8EC!important;border-radius:9px!important;background:#fff!important;color:#667085!important;font-size:9.5px!important;font-weight:800!important;box-shadow:none!important}
            html body .pvf-shell .rv-prov-chip.c-favor{display:none!important}
            html body .pvf-shell .rv-prov-chip.c-debe{color:#D92D50!important}
            html body .pvf-shell .rv-prov-chip.c-debe{font-size:0!important}
            html body .pvf-shell .rv-prov-chip.c-debe:before{content:"Con deuda"!important;font-size:9.5px!important}
            html body .pvf-shell .rv-prov-chip.c-debe .n{font-size:8px!important}
            html body .pvf-shell .rv-prov-chip.c-aldia{color:#218A62!important}
            html body .pvf-shell .rv-prov-chip.active{border-color:#7047EB!important;background:#7047EB!important;color:#fff!important;box-shadow:0 7px 14px rgba(112,71,235,.14)!important}
            html body .pvf-shell .rv-prov-grid{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}
            html body .pvf-shell .rv-prov-card.pv-historial-fila{position:relative!important;display:grid!important;grid-template-columns:44px minmax(0,1fr) auto 10px!important;grid-template-rows:auto auto!important;grid-template-areas:"avatar identity badge chevron" "avatar metrics link chevron"!important;align-items:center!important;box-sizing:border-box!important;width:100%!important;min-height:104px!important;margin:0!important;padding:13px 12px!important;border:1px solid #E1DCEB!important;border-radius:13px!important;background:#fff!important;column-gap:9px!important;row-gap:9px!important;overflow:hidden!important;box-shadow:0 7px 17px rgba(31,35,65,.035)!important}
            html body .pvf-shell .rv-prov-card-accent{display:none!important}
            html body .pvf-shell .rv-prov-card .rv-prov-avatar{grid-area:avatar!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;border-radius:11px!important;background:linear-gradient(135deg,#7047EB,#D62286)!important;color:#fff!important;font-size:12.5px!important;font-weight:850!important}
            html body .pvf-shell .rv-prov-card-nombre{grid-area:identity!important;align-self:center!important}
            html body .pvf-shell .rv-prov-card-nombre-txt{color:#172033!important;font-size:12px!important;font-weight:850!important;line-height:1.15!important;white-space:normal!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
            html body .pvf-shell .rv-prov-card-rif{margin-top:3px!important;color:#8290A8!important;font-size:9px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
            html body .pvf-shell .rv-prov-card .rv-prov-badge{grid-area:badge!important;align-self:start!important;height:23px!important;padding:0 7px!important;border-radius:7px!important;font-size:8px!important;font-weight:850!important}
            html body .pvf-shell .rv-prov-card .rv-prov-card-foot{grid-area:metrics!important;display:block!important;width:auto!important;padding:0!important;border:0!important}
            html body .pvf-shell .rv-prov-card-foot>div:first-child span{display:none!important}
            html body .pvf-shell .rv-prov-card-foot>div:first-child strong{margin:0!important;color:#172033!important;font-size:11.5px!important;font-weight:850!important;white-space:nowrap!important}
            html body .pvf-shell .rv-prov-card-foot-der{display:none!important}
            html body .pvf-shell .rv-prov-card-link{grid-area:link!important;display:inline-flex!important;align-items:center!important;justify-content:flex-end!important;color:#7047EB!important;font-size:9px!important;font-weight:850!important;white-space:nowrap!important}
            html body .pvf-shell .rv-prov-card-chevron{grid-area:chevron!important;display:flex!important;align-items:center!important;justify-content:center!important;color:#7047EB!important;transform:rotate(-90deg)!important}
            html body .pvf-shell .rv-prov-card-chevron svg{width:12px!important;height:12px!important}
            html body .pvf-shell #pv-lista-proveedores>.pv-paginador{margin-top:10px!important;padding:8px 0!important;border:0!important;background:transparent!important}

            html body #pv-modal-proveedor-form,html body #pv-modal-nuevo-proveedor{align-items:stretch!important;padding:8px!important;background:rgba(15,23,42,.5)!important;backdrop-filter:blur(7px)!important;-webkit-backdrop-filter:blur(7px)!important}
            html body #pv-modal-proveedor-form .rv-proveedor-form-modal,html body #pv-modal-nuevo-proveedor .rv-proveedor-form-modal{width:100%!important;max-width:none!important;max-height:calc(100dvh - 16px)!important;margin:auto!important;border:1px solid #E1DCEF!important;border-radius:18px!important;background:#fff!important;box-shadow:0 24px 70px rgba(15,23,42,.24)!important;overflow:auto!important;overscroll-behavior:contain!important}
            html body #pv-modal-proveedor-form .rv-proveedor-form-header,html body #pv-modal-nuevo-proveedor .rv-proveedor-form-header{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;min-height:62px!important;padding:0 52px!important;border-bottom:1px solid #E8E5F0!important;background:#fff!important;backdrop-filter:none!important}
            html body #pv-modal-proveedor-form .rv-proveedor-form-title-icon,html body #pv-modal-nuevo-proveedor .rv-proveedor-form-title-icon{display:none!important}
            html body #pv-modal-proveedor-form .rv-proveedor-form-header h2,html body #pv-modal-nuevo-proveedor .rv-proveedor-form-header h2{margin:0!important;color:#172033!important;font-size:18px!important;font-weight:850!important;line-height:1.1!important;letter-spacing:-.025em!important;text-align:center!important}
            html body #pv-modal-proveedor-form .rv-proveedor-form-header>.pv-modal-close,html body #pv-modal-nuevo-proveedor .rv-proveedor-form-header>.pv-modal-close{position:absolute!important;left:auto!important;right:14px!important;top:14px!important;display:flex!important;align-items:center!important;justify-content:center!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;margin:0!important;padding:0!important;border:1px solid #E0DAF1!important;border-radius:10px!important;background:#F9F8FC!important;color:#475467!important;font-size:21px!important;line-height:1!important;text-decoration:none!important;box-shadow:none!important}
            html body #pv-modal-proveedor-form .rv-proveedor-form{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;padding:11px 14px 0!important}
            html body #pv-modal-nuevo-proveedor .rv-proveedor-form{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;padding:12px 14px 0!important}
            html body #pv-modal-proveedor-form .rv-proveedor-form-section-title{display:block!important;grid-column:1!important;margin:2px 0 0!important;padding-top:2px!important;color:#7047EB!important;font-size:9px!important;font-weight:850!important;letter-spacing:.055em!important;text-transform:uppercase!important}
            html body #pv-modal-proveedor-form .rv-proveedor-form-section-title:not(:first-of-type){margin-top:5px!important;padding-top:9px!important;border-top:1px solid #EEEAF5!important}
            html body #pv-modal-proveedor-form .rv-proveedor-form-field,html body #pv-modal-nuevo-proveedor .rv-proveedor-form-field{grid-column:1!important;margin:0!important}
            html body #pv-modal-proveedor-form .rv-proveedor-form-field>label,html body #pv-modal-nuevo-proveedor .rv-proveedor-form-field>label{margin-bottom:5px!important;color:#344054!important;font-size:10.5px!important;font-weight:750!important}
            html body #pv-modal-proveedor-form .rv-proveedor-input-wrap>input,html body #pv-modal-nuevo-proveedor .rv-proveedor-input-wrap>input{height:44px!important;min-height:44px!important;border-color:#D9D4E7!important;border-radius:10px!important;background:#FBFBFD!important;font-size:11.5px!important}
            html body #pv-modal-proveedor-form .rv-proveedor-input-wrap>textarea,html body #pv-modal-nuevo-proveedor .rv-proveedor-input-wrap>textarea{min-height:62px!important;border-color:#D9D4E7!important;border-radius:10px!important;background:#FBFBFD!important;font-size:11.5px!important;resize:none!important}
            html body #pv-modal-proveedor-form .rv-proveedor-form-actions,html body #pv-modal-nuevo-proveedor .rv-proveedor-form-actions{position:sticky!important;z-index:6!important;bottom:0!important;grid-column:1!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important;margin:5px -14px 0!important;padding:11px 14px calc(11px + env(safe-area-inset-bottom))!important;border-top:1px solid #E8E5F0!important;background:#fff!important;box-shadow:0 -8px 18px rgba(23,32,51,.05)!important}
            html body #pv-modal-proveedor-form .rv-proveedor-form-save,html body #pv-modal-proveedor-form .rv-proveedor-form-cancel,html body #pv-modal-nuevo-proveedor .rv-proveedor-form-save,html body #pv-modal-nuevo-proveedor .rv-proveedor-form-cancel{display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;height:46px!important;min-height:46px!important;padding:0 8px!important;border-radius:11px!important;font-size:11.5px!important;text-decoration:none!important}
            html body #pv-modal-proveedor-form .rv-proveedor-form-save,html body #pv-modal-nuevo-proveedor .rv-proveedor-form-save{order:2!important;border:0!important;background:linear-gradient(110deg,#7047EB 0%,#A934D4 55%,#ED0A62 100%)!important;color:#fff!important;box-shadow:0 9px 20px rgba(112,71,235,.16)!important}
            html body #pv-modal-proveedor-form .rv-proveedor-form-cancel,html body #pv-modal-nuevo-proveedor .rv-proveedor-form-cancel{order:1!important}

            html body #pv-ficha-modal-overlay{align-items:stretch!important;padding:8px!important;background:rgba(15,23,42,.5)!important;backdrop-filter:blur(7px)!important;-webkit-backdrop-filter:blur(7px)!important}
            html body #pv-ficha-modal-overlay>.pv-modal-box{position:relative!important;width:100%!important;max-width:none!important;max-height:calc(100dvh - 16px)!important;margin:auto!important;padding:0!important;border:1px solid #E1DCEF!important;border-radius:18px!important;background:#F7F8FC!important;box-shadow:0 24px 70px rgba(15,23,42,.24)!important;overflow:auto!important;overscroll-behavior:contain!important}
            html body #pv-ficha-modal-overlay .pv-ficha-modal-titlebar{position:static!important;display:flex!important;align-items:center!important;justify-content:center!important;min-height:62px!important;padding:0 52px!important;border-bottom:1px solid #E8E5F0!important;background:#fff!important;backdrop-filter:none!important}
            html body #pv-ficha-modal-overlay .pv-ficha-modal-title-icon{display:none!important}
            html body #pv-ficha-modal-overlay .pv-ficha-modal-titlebar h2{margin:0!important;color:#172033!important;font-size:17px!important;font-weight:850!important;letter-spacing:-.025em!important;text-align:center!important}
            html body #pv-ficha-modal-overlay>.pv-modal-box>.pv-modal-close{position:absolute!important;z-index:30!important;left:auto!important;right:14px!important;top:14px!important;display:flex!important;align-items:center!important;justify-content:center!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;margin:0!important;padding:0!important;border:1px solid #E0DAF1!important;border-radius:10px!important;background:#F9F8FC!important;color:#475467!important;font-size:21px!important;line-height:1!important;box-shadow:none!important}
            html body #pv-ficha-modal-overlay .pv-modal-content{clear:both!important;padding:10px!important}
            html body #pv-ficha-modal-overlay .rv-prov-ficha{gap:10px!important;max-width:none!important;margin:0!important}
            html body #pv-ficha-modal-overlay .rv-prov-ficha-toolbar{position:static!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:7px!important;min-height:0!important;margin:0!important;padding:0!important;background:transparent!important;backdrop-filter:none!important}
            html body #pv-ficha-modal-overlay .rv-prov-ficha-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;width:100%!important}
            html body #pv-ficha-modal-overlay .rv-prov-ficha-actions .pvf-btn{display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;height:40px!important;min-height:40px!important;padding:0 5px!important;border:1px solid #7047EB!important;border-radius:9px!important;background:#fff!important;color:#7047EB!important;font-size:9.5px!important;font-weight:850!important;white-space:nowrap!important;box-shadow:none!important}
            html body #pv-ficha-modal-overlay .rv-prov-ficha-actions .rv-prov-action-print{background:#7047EB!important;color:#fff!important}
            html body #pv-ficha-modal-overlay .rv-prov-ficha-actions .rv-prov-action-print svg{color:#fff!important;stroke:#fff!important}
            html body #pv-ficha-modal-overlay .rv-prov-ficha-actions .pvf-btn svg{width:15px!important;height:15px!important;margin:0!important}
            html body #pv-ficha-modal-overlay .rv-prov-ficha-actions-danger{display:flex!important;justify-content:flex-end!important;width:100%!important;margin:0!important}
            html body #pv-ficha-modal-overlay .rv-prov-ficha-actions-danger button{height:34px!important;min-height:34px!important;padding:0 10px!important;border:1px solid #FDA4AF!important;border-radius:8px!important;background:#FFF7F8!important;color:#E11D48!important;font-size:9.5px!important;box-shadow:none!important}
            html body #pv-ficha-modal-overlay .rv-prov-ficha-layout{display:flex!important;flex-direction:column!important;gap:10px!important}
            html body #pv-ficha-modal-overlay .rv-prov-ficha-profile .rv-prov-ficha-header{height:auto!important;padding:13px!important;border:1px solid #E2DDED!important;border-radius:13px!important;background:#fff!important;box-shadow:none!important}
            html body #pv-ficha-modal-overlay .rv-prov-ficha-profile .rv-prov-ficha-header-top{display:block!important}
            html body #pv-ficha-modal-overlay .rv-prov-ficha-profile .rv-prov-ficha-id{display:grid!important;grid-template-columns:52px minmax(0,1fr)!important;align-items:center!important;gap:10px!important;text-align:left!important}
            html body #pv-ficha-modal-overlay .rv-prov-ficha-profile .rv-prov-avatar-grande{width:52px!important;height:52px!important;min-width:52px!important;min-height:52px!important;flex-basis:52px!important;border-radius:12px!important;background:linear-gradient(135deg,#7047EB,#D62286)!important;color:#fff!important;font-size:15px!important;font-weight:850!important}
            html body #pv-ficha-modal-overlay .rv-prov-ficha-header-info{width:100%!important;min-width:0!important}
            html body #pv-ficha-modal-overlay .rv-prov-ficha-header-nombre{display:flex!important;flex-direction:row!important;align-items:center!important;gap:6px!important;min-width:0!important}
            html body #pv-ficha-modal-overlay .rv-prov-ficha-header-nombre h1{min-width:0!important;margin:0!important;color:#172033!important;font-size:14px!important;font-weight:850!important;line-height:1.15!important;text-align:left!important;white-space:normal!important}
            html body #pv-ficha-modal-overlay .rv-prov-ficha-header-sub{margin-top:4px!important;color:#8290A8!important;font-size:9.5px!important;text-align:left!important}
            html body #pv-ficha-modal-overlay .rv-prov-ficha-saldo{display:none!important}
            html body #pv-ficha-modal-overlay .rv-prov-ficha-contact-row{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;margin-top:11px!important;padding-top:10px!important;border-top:1px solid #EEEAF5!important}
            html body #pv-ficha-modal-overlay .rv-prov-ficha-contact-item{gap:8px!important}
            html body #pv-ficha-modal-overlay .rv-prov-ficha-contact-ic{width:29px!important;height:29px!important;border-radius:8px!important;background:#EAF8FE!important;color:#08A6EC!important}
            html body #pv-ficha-modal-overlay .rv-prov-ficha-contact-ic svg{width:14px!important;height:14px!important}
            html body #pv-ficha-modal-overlay .rv-prov-ficha-contact-label{font-size:7.5px!important}
            html body #pv-ficha-modal-overlay .rv-prov-ficha-contact-valor{font-size:10px!important}
            html body #pv-ficha-modal-overlay .rv-prov-mobile-ficha-metrics{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;margin-top:11px!important}
            html body #pv-ficha-modal-overlay .rv-prov-mobile-ficha-metrics>div{display:flex!important;flex-direction:column!important;justify-content:center!important;box-sizing:border-box!important;min-height:57px!important;padding:8px 9px!important;border:1px solid #E5E0EF!important;border-radius:10px!important;background:#FAF9FD!important}
            html body #pv-ficha-modal-overlay .rv-prov-mobile-ficha-metrics small{color:#8490A6!important;font-size:7.8px!important;font-weight:800!important;line-height:1.15!important}
            html body #pv-ficha-modal-overlay .rv-prov-mobile-ficha-metrics strong{margin-top:4px!important;color:#172033!important;font-size:11px!important;font-weight:850!important;line-height:1.1!important;white-space:nowrap!important;font-variant-numeric:tabular-nums!important}
            html body #pv-ficha-modal-overlay .rv-prov-ficha-workspace{display:flex!important;flex-direction:column!important;min-height:0!important;padding:10px!important;border:1px solid #E2DDED!important;border-radius:13px!important;background:#fff!important;box-shadow:none!important}
            html body #pv-ficha-modal-overlay .rv-prov-ficha-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important;width:100%!important;margin:0 0 10px!important;padding:0!important;border:1px solid #E5E0EF!important;border-radius:10px!important;overflow:hidden!important}
            html body #pv-ficha-modal-overlay .rv-prov-ficha-tabs .pv-subtab{display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;min-width:0!important;height:42px!important;min-height:42px!important;padding:0 3px!important;border:0!important;border-right:1px solid #E5E0EF!important;border-bottom:2px solid transparent!important;border-radius:0!important;background:#fff!important;color:#667085!important;font-size:8.3px!important;font-weight:800!important;line-height:1.1!important;white-space:normal!important;box-shadow:none!important}
            html body #pv-ficha-modal-overlay .rv-prov-ficha-tabs .pv-subtab:last-child{border-right:0!important}
            html body #pv-ficha-modal-overlay .rv-prov-ficha-tabs .pv-subtab.active{border-bottom-color:#7047EB!important;background:#FAF8FF!important;color:#7047EB!important}
            html body #pv-ficha-modal-overlay .rv-prov-tab-desktop{display:none!important}
            html body #pv-ficha-modal-overlay .rv-prov-tab-mobile{display:inline!important}
            html body #pv-ficha-modal-overlay .rv-prov-ficha-tabs .pv-subtab-num{min-width:17px!important;height:17px!important;margin-left:3px!important;padding:0 3px!important;font-size:7px!important}
            html body #pv-ficha-modal-overlay .rv-prov-ficha-workspace [data-pv-ficha-panel]{box-sizing:border-box!important;width:100%!important;margin:0!important;padding:11px!important;border:1px solid #E8E4F0!important;border-radius:10px!important;background:#fff!important}
            html body #pv-ficha-modal-overlay .rv-cfg-card-head{gap:8px!important}
            html body #pv-ficha-modal-overlay .rv-cfg-card-head h2{font-size:12px!important}
            html body #pv-ficha-modal-overlay .rv-prov-card-hint{display:none!important}
            html body #pv-ficha-modal-overlay .rv-prov-compra{border-radius:10px!important}
            html body #pv-ficha-modal-overlay .rv-prov-compra-head{grid-template-columns:30px minmax(0,1fr) auto!important;gap:8px!important;padding:10px!important}
            html body #pv-ficha-modal-overlay .rv-prov-compra-ico{width:30px!important;height:30px!important}
            html body #pv-ficha-modal-overlay .rv-prov-compra-title{font-size:10px!important}
            html body #pv-ficha-modal-overlay .rv-prov-compra-meta{font-size:8px!important}
            html body #pv-ficha-modal-overlay .rv-prov-compra-cifra{font-size:10px!important}
            html body #pv-ficha-modal-overlay .rv-prov-compra-pie{padding:0 10px 9px!important}
            html body #pv-ficha-modal-overlay .rv-prov-compra-toggle{font-size:9px!important;padding:0!important}
            html body #pv-ficha-modal-overlay .pv-detalle-box{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
            html body #pv-ficha-modal-overlay .pv-detalle-box table{min-width:520px!important;font-size:9px!important}
            html body #pv-ficha-modal-overlay .rv-prov-prod-row,html body #pv-ficha-modal-overlay .rv-prov-timeline-row{gap:8px!important;padding:10px 0!important}
            html body #pv-ficha-modal-overlay .rv-prov-prod-title,html body #pv-ficha-modal-overlay .rv-prov-timeline-desc{font-size:10px!important}
            html body #pv-ficha-modal-overlay .rv-prov-prod-fecha,html body #pv-ficha-modal-overlay .rv-prov-timeline-fecha{font-size:8px!important}
            html body #pv-ficha-modal-overlay .rv-prov-prod-amount,html body #pv-ficha-modal-overlay .rv-prov-timeline-monto{font-size:10px!important}
        }
        @media(max-width:355px){
            html body .pvf-shell .rv-prov-page .rv-prov-nuevo-btn{min-width:108px!important;padding:0 8px!important;font-size:9.8px!important}
            html body .pvf-shell .rv-prov-mobile-summary-item{grid-template-columns:28px minmax(0,1fr)!important;padding:8px!important;gap:6px!important}
            html body .pvf-shell .rv-prov-mobile-summary-icon{width:28px!important;height:28px!important}
            html body .pvf-shell .rv-prov-mobile-summary-item.is-balance strong{font-size:10px!important}
        }
        /* ===== Pedidos movil — interfaz Noalyx aprobada 2026-08-19 ===== */
        .pv-ped-mobile-overview{display:none}
        .pv-pedido-mobile-cliente-slot{display:none}
        .pv-hp-mobile-metrics{display:none}
        @media(max-width:640px){
            html body .pvf-shell:has(#pv-pedido-form) .pvf-main-body{padding-left:12px!important;padding-right:12px!important}
            .pv-ped-mobile-overview{display:block;margin:0 0 10px;padding:16px;border:1px solid #E0E4ED;border-radius:15px;background:#fff;box-shadow:0 7px 22px rgba(28,35,63,.055)}
            .pv-ped-mobile-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}
            .pv-ped-mobile-heading h1{margin:0!important;color:#12182B;font-size:22px!important;line-height:1.08;letter-spacing:-.035em}
            .pv-ped-mobile-heading p{margin:4px 0 0!important;color:#748097;font-size:11px!important;font-weight:600}
            .pv-ped-mobile-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;min-width:0;flex:0 0 auto}
            .pv-ped-mobile-scan{flex:0 0 auto;min-height:39px;height:39px;padding:0 10px;border-radius:9px;font-size:10.5px;box-shadow:0 7px 16px rgba(91,52,204,.12)}
            .pv-ped-mobile-scan .pv-pedido-scan-launch-icon{flex-basis:25px;width:25px;height:25px;border-radius:8px}
            .pv-ped-mobile-scan .pv-pedido-scan-launch-icon svg{width:14px!important;height:14px!important}
            .pv-ped-mobile-new{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;box-sizing:border-box;height:39px;padding:0 13px;border:0;border-radius:9px;background:linear-gradient(115deg,#6234E7 0%,#7136DE 62%,#D91B77 100%);box-shadow:0 7px 16px rgba(98,52,231,.18);color:#fff!important;font-size:11px;font-weight:800;text-decoration:none!important}
            .pv-ped-mobile-new>span{font-size:17px;font-weight:400;line-height:1}
            .pv-ped-mobile-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}
            .pv-ped-mobile-metrics article{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:9px;min-width:0;padding:11px;border:1px solid #E4E7EF;border-radius:12px;background:#fff}
            .pv-ped-mobile-metric-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px}
            .pv-ped-mobile-metric-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
            .pv-ped-mobile-metric-icon.is-orders{color:#6138E7;background:#F0EBFF}
            .pv-ped-mobile-metric-icon.is-sales{color:#ED1768;background:#FFF0F5}
            .pv-ped-mobile-metrics article>span:last-child{display:flex;flex-direction:column;min-width:0}
            .pv-ped-mobile-metrics small{overflow:hidden;color:#69758D;font-size:9px;font-weight:700;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
            .pv-ped-mobile-metrics strong{margin-top:3px;overflow-wrap:anywhere;color:#12182B;font-size:15px;line-height:1.15;font-weight:900;font-variant-numeric:tabular-nums}
            .pv-ped-mobile-metrics strong em{color:#6844DF;font-size:8px;font-style:normal;font-weight:900}

            html body .pvf-shell:has(#pv-pedido-form) .pv-pedidos-head{display:block;margin:0 0 12px;padding:0;border-bottom:1px solid #E2E6EF}
            html body .pvf-shell:has(#pv-pedido-form) .pv-pedidos-head-main{display:block;width:100%}
            html body .pvf-shell:has(#pv-pedido-form) .pv-pedidos-head-tabs{width:100%;padding:0}
            html body .pvf-shell:has(#pv-pedido-form) .pv-pedidos-head-tabs .pv-subtabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;width:100%;margin:0!important}
            html body .pvf-shell:has(#pv-pedido-form) .pv-pedidos-head-tabs .pv-subtab{display:flex;align-items:center;justify-content:center;min-height:46px;padding:0!important;border-bottom:3px solid transparent;font-size:12px;font-weight:750}
            html body .pvf-shell:has(#pv-pedido-form) .pv-pedidos-head-tabs .pv-subtab.active{border-bottom-color:#6844DF;color:#6844DF}
            html body .pvf-shell:has(#pv-pedido-form) .pv-pedidos-head-action{display:flex;justify-content:flex-end;margin:8px 0 0}
            html body .pvf-shell:has(#pv-pedido-form) .pv-pedidos-head-action .pv-pedido-nuevo-producto-btn{min-height:34px!important;padding:0 11px!important;border:1px solid #DDD5FF!important;border-radius:9px!important;background:#F8F6FF!important;color:#6844DF!important;box-shadow:none!important;font-size:9.5px!important}

            #pv-pedido-form .pv-pedido-2col{display:block!important}
            #pv-pedido-form .pv-pedido-mobile-cliente-slot{display:block;margin-bottom:9px}
            #pv-pedido-form .pv-pedido-mobile-cliente-slot:empty{display:none}
            #pv-pedido-form .pv-pedido-cliente-wrap{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:7px;width:100%}
            #pv-pedido-form .pv-pedido-cliente-wrap .pv-cs-trigger-form{height:48px!important;min-height:48px!important;padding:0 13px!important;border:1px solid #DDE2EC!important;border-radius:11px!important;background:#fff!important;color:#192035!important;font-size:12px!important;font-weight:750!important}
            #pv-pedido-form .pv-pedido-cliente-wrap .pv-cs-trigger-form:before{width:19px;height:19px}
            #pv-pedido-form .pv-pedido-cliente-wrap .pv-icon-btn{display:inline-flex!important;align-items:center;justify-content:center;width:44px!important;height:48px!important;min-height:48px!important;margin:0!important;padding:0!important;border:1px solid #D7DDEC!important;border-radius:11px!important;background:#fff!important;color:#6844DF!important}
            #pv-pedido-form .pv-pedido-cliente-wrap .pv-icon-btn[style*="display:none"]{display:none!important}

            #pv-pedido-form .pv-pedidos-topbar-card{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
            #pv-pedido-form .pv-pedidos-topbar{display:grid!important;grid-template-columns:repeat(8,minmax(0,1fr))!important;gap:7px!important;width:100%!important;min-width:0!important;padding:0!important;overflow:visible}
            #pv-pedido-form .pv-pedidos-topbar .pv-pos-search-wrap{grid-column:1/-1!important;order:initial!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;flex:none!important}
            #pv-pedido-form .pv-pedidos-topbar .pv-pos-search-input{height:47px!important;min-height:47px!important;padding-left:40px!important;border:1px solid #DDE2EC!important;border-radius:11px!important;background:#fff!important;font-size:12px!important}
            #pv-pedido-form .pv-pedidos-topbar .pv-pos-search-icono{left:14px!important;color:#6844DF!important}
            #pv-pedido-form .pv-pedidos-topbar>.pv-mini-select-wrap{grid-column:span 3!important;min-width:0!important}
            #pv-pedido-form .pv-pedidos-topbar>.pv-mini-select-combo{grid-column:span 5!important;min-width:0!important}
            #pv-pedido-form .pv-pedidos-topbar>.pv-ajuste-wrap{grid-column:span 3!important;min-width:0!important}
            #pv-pedido-form .pv-pedidos-topbar>.pv-divisa-menu-btn{grid-column:span 3!important;min-width:0!important}
            #pv-pedido-form .pv-pedidos-topbar>.pv-personalizar-wrap{grid-column:span 1!important;min-width:0!important}
            #pv-pedido-form .pv-pedidos-topbar>.pv-vista-toggle{grid-column:span 1!important;min-width:0!important}
            #pv-pedido-form .pv-pedidos-topbar .pv-personalizar-btn{width:100%!important}
            #pv-pedido-form .pv-pedidos-topbar .pv-vista-toggle{display:inline-flex!important}
            #pv-pedido-form .pv-pedidos-topbar :is(.pv-mini-select-btn,.pv-divisa-menu-btn,.pv-personalizar-btn,.pv-cs-trigger-form,.pv-topbar-input){width:100%!important;height:36px!important;min-height:36px!important;padding-right:9px!important;border-radius:9px!important;background:#fff!important;font-size:9.5px!important}
            #pv-pedido-form .pv-pedido-categoria-carousel{margin:10px 0 11px!important;padding:0!important;border:0!important;background:transparent!important}
            #pv-pedido-form .pv-pedido-categoria-flecha{display:none!important}
            #pv-pedido-form .pv-pedido-categoria-viewport{overflow-x:auto!important;scrollbar-width:none}
            #pv-pedido-form .pv-pedido-categoria-viewport::-webkit-scrollbar{display:none}
            #pv-pedido-form .pv-pedido-categoria-carousel>.pv-pedido-categoria-todo,
            #pv-pedido-form .pv-pedido-categoria-track .pv-chip{height:36px!important;min-height:36px!important;padding:0 14px!important;border:1px solid #DDE2EC!important;border-radius:9px!important;background:#fff!important;color:#283047!important;font-size:10px!important;font-weight:750!important;white-space:nowrap}
            #pv-pedido-form .pv-pedido-categoria-carousel .pv-chip.active{border-color:#6844DF!important;background:#6844DF!important;color:#fff!important}
            #pv-pedido-form .pv-pedido-seccion-titulo{font-size:11px!important}
            #pv-pedido-form .pv-pedido-cards-grid{align-items:stretch!important}
            #pv-pedido-form .pv-pedido-cards-grid .pv-pedido-card{display:flex!important;flex-direction:column!important;min-height:173px!important;padding:10px!important;border:1px solid #DCE2ED!important;border-top:2px solid #6844DF!important;border-radius:13px!important;background:#fff!important;box-shadow:0 6px 16px rgba(23,30,55,.045)!important}
            #pv-pedido-form .pv-pedido-card-top{min-height:21px;color:#8490A7!important}
            #pv-pedido-form .pv-pedido-card-main{min-height:46px!important}
            #pv-pedido-form .pv-pedido-card-nombre{color:#172036!important;font-weight:800!important}
            #pv-pedido-form .pv-pedido-ver-foto-btn{border-color:#D8D0FF!important;background:#FBFAFF!important;color:#6844DF!important}
            #pv-pedido-form .pv-pedido-card-resumen{margin-top:auto!important}
            #pv-pedido-form .pv-pedido-card-precio{color:#4D32DB!important;font-weight:900!important}
            #pv-pedido-form .pv-pedido-card-btn{margin-top:1px!important;border:1px solid #6844DF!important;background:#fff!important;color:#6844DF!important;box-shadow:none!important;font-weight:850!important}
            #pv-pedido-form .pv-pedido-card-btn:active{background:#6844DF!important;color:#fff!important}

            #pv-pedido-form{padding-bottom:154px!important}
            html body .pv-pedido-cart-fab{display:grid!important;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:9px;left:12px!important;right:12px!important;bottom:76px!important;width:auto!important;height:70px!important;padding:8px 9px!important;border:1px solid #E1E5EE!important;border-radius:15px!important;background:#fff!important;color:#171D31!important;box-shadow:0 12px 32px rgba(29,35,62,.18)!important;transform:translateY(18px)!important;opacity:0!important}
            html body .pv-pedido-cart-fab.pv-pedido-cart-fab-show{transform:translateY(0)!important;opacity:1!important}
            .pv-pedido-cart-fab-icon{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:11px;background:#F0EBFF;color:#6844DF}
            .pv-pedido-cart-fab-icon>svg{width:20px!important;height:20px!important}
            .pv-pedido-cart-fab .pv-pedido-cart-badge{top:-6px;right:-5px;background:#6844DF;text-shadow:none}
            .pv-pedido-cart-fab-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0;text-align:left}
            .pv-pedido-cart-fab-copy small{display:-webkit-box;max-width:100%;overflow:hidden;color:#77839A;font-size:9.5px;font-weight:650;line-height:1.15;white-space:normal;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}
            .pv-pedido-cart-fab-copy strong{margin-top:2px;overflow:hidden;max-width:100%;color:#172036;font-size:11px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
            .pv-pedido-cart-fab-copy strong b{font-size:13px;font-weight:900}
            .pv-pedido-cart-fab-copy strong em{display:none!important}
            .pv-pedido-cart-fab-action{display:flex;align-items:center;justify-content:center;gap:7px;height:44px;padding:0 14px;border-radius:10px;background:linear-gradient(115deg,#6234E7,#4B22D8);color:#fff;font-size:11px;font-weight:850;white-space:nowrap}
            .pv-pedido-cart-fab-action svg{width:15px!important;height:15px!important;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

            #pv-pedido-form .pv-pedido-col-resumen.pv-pedido-carrito-flotante{left:auto!important;right:0!important;top:0!important;bottom:0!important;box-sizing:border-box!important;width:min(92vw,430px)!important;max-width:430px!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;padding:12px 14px calc(24px + env(safe-area-inset-bottom,0px))!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;border:0!important;border-left:1px solid #E4E8F0!important;border-radius:22px 0 0 22px!important;background:#fff!important;box-shadow:-18px 0 46px rgba(24,30,48,.22)!important;opacity:0!important;pointer-events:none!important;transform:translateX(104%)!important;transition:transform .24s cubic-bezier(.22,.8,.28,1),opacity .18s ease!important}
            #pv-pedido-form .pv-pedido-col-resumen.pv-pedido-carrito-flotante.pv-pedido-sheet-open{opacity:1!important;pointer-events:auto!important;transform:translateX(0)!important}
            #pv-pedido-form .pv-pedido-sheet-head{position:sticky;top:-12px;z-index:12;display:flex!important;align-items:center;justify-content:center;min-height:58px;margin:0 -14px 12px;padding:8px 56px;border-bottom:1px solid #E4E8F0;border-radius:22px 0 0 0;background:#fff}
            #pv-pedido-form .pv-pedido-sheet-title{display:flex;flex-direction:column;align-items:center;gap:2px}
            #pv-pedido-form .pv-pedido-sheet-head h3{color:#172036;font-size:16px!important;font-weight:850}
            #pv-pedido-form .pv-pedido-sheet-title small{color:#77839A;font-size:10px;font-weight:650}
            #pv-pedido-form .pv-pedido-sheet-close{position:absolute;right:14px;top:10px;width:38px;height:38px;border:1px solid #DDE2EC;border-radius:10px;background:#FAFBFD;color:#6844DF;font-size:24px;font-weight:300}
            #pv-pedido-form .pv-pedido-col-resumen .pv-pedido-cliente-wrap{margin-bottom:10px;padding:10px;border:1px solid #DDE2EC;border-radius:12px;background:#fff}
            #pv-pedido-form .pv-pedido-col-resumen .pv-panel-cart-header{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:8px!important;margin:12px 0!important;padding:10px 0!important;border-top:1px solid #E7EAF1!important;border-bottom:1px solid #E7EAF1!important}
            #pv-pedido-form .pv-pedido-col-resumen .pv-panel-cart-title{display:inline-flex!important;align-items:center!important;gap:7px!important;min-width:0!important;color:#59657C!important;font-size:10.5px!important;font-weight:850!important;letter-spacing:.045em!important;line-height:1!important;white-space:nowrap!important}
            #pv-pedido-form .pv-pedido-col-resumen .pv-panel-cart-badge{position:static!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 24px!important;width:24px!important;min-width:24px!important;height:24px!important;margin:0!important;padding:0!important;border-radius:999px!important;background:#EEE9FF!important;color:#7046E8!important;font-size:11px!important;font-weight:900!important}
            #pv-pedido-form .pv-pedido-col-resumen .pv-panel-cart-header-right{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:6px!important;min-width:0!important}
            #pv-pedido-form .pv-pedido-col-resumen .pv-panel-rate{min-height:34px!important;padding:0 9px!important;border-radius:10px!important;font-size:10.5px!important;white-space:nowrap!important}
            #pv-pedido-form .pv-pedido-col-resumen .pv-panel-clear-btn{flex:0 0 32px!important;width:32px!important;height:32px!important;border:0!important;border-radius:9px!important;background:#FFF1F3!important;color:#F5011F!important}
            #pv-pedido-form .pv-pedido-col-resumen .pv-carrito-item{margin-bottom:10px!important;border:1px solid #E0E5EE!important;border-radius:15px!important;background:#fff!important;box-shadow:0 7px 20px rgba(24,35,58,.055)!important}
            #pv-pedido-form .pv-pedido-col-resumen .pv-pedido-resumen-tarjeta{border:1px solid #DDE2EC!important;border-radius:13px!important;background:#fff!important;box-shadow:none!important}
            #pv-pedido-form .pv-pedido-col-resumen .pv-cobrar-con-label{margin-top:4px!important;color:#172036!important;font-size:12px!important}
            #pv-pedido-form .pv-pedido-col-resumen #pv-pedido-cobrar-simple .pv-cs-trigger-form{height:46px!important;border-radius:11px!important;background:#fff!important}
            #pv-pedido-form .pv-pedido-col-resumen .pv-vuelto-box{border-radius:13px!important;box-shadow:none!important}
            /* Las acciones cierran el flujo del pedido: no permanecen pegadas
               a la pantalla y aparecen solo al llegar al final del contenido. */
            #pv-pedido-form .pv-pedido-col-resumen .pv-pedido-acciones-fila{position:static!important;bottom:auto!important;z-index:auto!important;display:grid!important;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8px!important;margin:16px 0 0!important;padding:12px 0 calc(4px + env(safe-area-inset-bottom,0px))!important;border-top:1px solid #E3E7EF!important;background:#fff!important;box-shadow:none!important}
            #pv-pedido-form .pv-pedido-col-resumen .pv-pedido-acciones-fila>*{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-width:0!important;min-height:46px!important;margin:0!important;padding:0 8px!important;border-radius:10px!important;font-size:10.5px!important;line-height:1.2!important}
            #pv-pedido-sheet-backdrop{background:rgba(27,30,43,.24)!important;backdrop-filter:blur(3px)!important;-webkit-backdrop-filter:blur(3px)!important}

            /* Historial: la misma jerarquia del diseño aprobado, usando las
               filas y filtros reales que ya tenia el modulo. */
            html body .pvf-shell:has(#pv-hist-pedidos-card) .pvf-main-body{padding-left:12px!important;padding-right:12px!important}
            html body .pvf-shell:has(#pv-hist-pedidos-card) .pv-pedidos-head{display:none!important}
            html body .pvf-shell .rv-prov-page-head.pv-hp-page-head{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:9px!important;margin:0 0 9px!important;padding:13px 14px!important;border-radius:14px!important;box-shadow:0 7px 22px rgba(28,35,63,.05)!important}
            html body .pvf-shell .pv-hp-title-wrap{gap:0!important}
            html body .pvf-shell .pv-hp-title-icon{display:none!important}
            html body .pvf-shell .pv-hp-page-head h1{font-size:18px!important;line-height:1.08!important;white-space:nowrap}
            html body .pvf-shell .pv-hp-page-head p{max-width:175px!important;margin-top:4px!important;overflow:hidden!important;font-size:9.5px!important;line-height:1.25!important;text-overflow:ellipsis!important;white-space:nowrap!important}
            html body .pvf-shell .pv-hp-page-head .pv-hp-new-btn{width:auto!important;min-width:124px!important;height:39px!important;min-height:39px!important;padding:0 11px!important;border-radius:9px!important;font-size:10px!important}
            html body .pvf-shell .pv-hp-page-head .pv-hp-new-btn svg{width:15px!important;height:15px!important}
            .pv-hp-mobile-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 9px}
            .pv-hp-mobile-metrics article{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:10px;border:1px solid #E2E6EF;border-radius:12px;background:#fff}
            .pv-hp-mobile-metric-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px}
            .pv-hp-mobile-metric-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
            .pv-hp-mobile-metric-icon.is-orders{color:#6238E8;background:#F0EBFF}
            .pv-hp-mobile-metric-icon.is-sales{color:#ED1768;background:#FFF0F5}
            .pv-hp-mobile-metrics article>span:last-child{display:flex;flex-direction:column;min-width:0}
            .pv-hp-mobile-metrics article small{overflow:hidden;color:#748097;font-size:8.8px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
            .pv-hp-mobile-metrics article strong{margin-top:3px;overflow-wrap:anywhere;color:#161D32;font-size:14px;line-height:1.15;font-weight:900}
            .pv-hp-mobile-metrics article strong em{color:#6844DF;font-size:8px;font-style:normal}
            .pv-hp-mobile-payment-tabs{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:4px;border:1px solid #E0E5EE;border-radius:11px;background:#fff}
            .pv-hp-mobile-payment-tabs button{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;height:36px;padding:0 5px;border:0;border-radius:8px;background:transparent;color:#273047;font-size:9.5px;font-weight:800;white-space:nowrap}
            .pv-hp-mobile-payment-tabs button b{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#F0F2F7;color:#56627A;font-size:8.5px}
            .pv-hp-mobile-payment-tabs button.active{background:#6844DF;color:#fff;box-shadow:0 5px 12px rgba(104,68,223,.2)}
            .pv-hp-mobile-payment-tabs button.active b{background:rgba(255,255,255,.18);color:#fff}
            html body .pvf-shell #pv-hist-pedidos-card .pv-hp-toolbar{margin-bottom:9px!important;padding:10px!important;border-radius:13px!important;background:#fff!important}
            html body .pvf-shell #pv-hist-pedidos-card .pv-hp-filter-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
            html body .pvf-shell #pv-hist-pedidos-card .pv-hp-search-wrap{grid-column:1/-1!important}
            html body .pvf-shell #pv-hist-pedidos-card #pv-hp-search{height:43px!important;border-radius:10px!important;font-size:11px!important}
            html body .pvf-shell #pv-hist-pedidos-card .pv-hp-status-form .pv-cs-trigger,
            html body .pvf-shell #pv-hist-pedidos-card .pv-hp-filter-row>.pv-cs .pv-cs-trigger{height:38px!important;min-height:38px!important;border-radius:9px!important;font-size:9px!important}
            html body .pvf-shell #pv-hist-pedidos-card .pv-hp-quick-row{margin-top:8px!important}
            html body .pvf-shell #pv-hist-pedidos-card .pv-hp-period{height:31px!important;min-height:31px!important;border-radius:8px!important;font-size:8.8px!important}
            html body .pvf-shell #pv-hist-pedidos-card .pv-hp-visible-summary{display:none!important}
            html body .pvf-shell #pv-hist-pedidos-card #pv-hist-pedidos{display:grid;gap:9px;padding:0!important;background:transparent!important}
            html body .pvf-shell #pv-hist-pedidos-card .pv-hp-data-row{margin:0!important;padding:13px!important;border-left:3px solid #6844DF!important;border-radius:13px!important;box-shadow:0 6px 17px rgba(22,29,52,.045)!important}
            html body .pvf-shell #pv-hist-pedidos-card .pv-hp-data-row:nth-of-type(4n+1){border-left-color:#ED1768!important}
            html body .pvf-shell #pv-hist-pedidos-card .pv-hp-order-icon{display:none!important}
            html body .pvf-shell #pv-hist-pedidos-card .pv-hp-order-copy strong{font-size:13px!important;font-weight:900!important}
            html body .pvf-shell #pv-hist-pedidos-card .pv-hp-order-copy small,
            html body .pvf-shell #pv-hist-pedidos-card .pv-hp-client-cell small{font-size:9px!important}
            html body .pvf-shell #pv-hist-pedidos-card .pv-hp-client-cell strong{font-size:11px!important}
            html body .pvf-shell #pv-hist-pedidos-card .pv-hp-total-cell{padding:8px 9px!important;border-radius:9px!important;background:#F7F8FC!important}
            html body .pvf-shell #pv-hist-pedidos-card .pv-hp-total-cell strong{font-size:13px!important;font-weight:900!important}
            html body .pvf-shell #pv-hist-pedidos-card .pv-hp-actions{display:grid!important;grid-template-columns:minmax(0,1fr) 36px!important;gap:7px!important}
            html body .pvf-shell #pv-hist-pedidos-card .pv-hp-detail-btn{height:36px!important;min-height:36px!important;border-radius:9px!important}
            html body .pvf-shell #pv-hist-pedidos-card .pv-hp-more-btn{width:36px!important;height:36px!important;min-height:36px!important}
            html body .pvf-shell #pv-hist-pedidos-card .pv-hp-detail-panel{padding:12px!important;border-radius:12px!important;background:#FBFAFF!important}
        }
        /* ===== Pedidos movil — ajuste final de orden y consistencia =====
           Esta capa solo corrige presentacion en telefono. No cambia la
           estructura ni los eventos del pedido y no alcanza escritorio. */
        @media(max-width:640px){
            html body .pvf-shell:has(#pv-pedido-form),
            html body .pvf-shell:has(#pv-hist-pedidos-card){overflow-x:hidden!important}
            html body .pvf-shell:has(#pv-pedido-form) .pvf-main-body,
            html body .pvf-shell:has(#pv-hist-pedidos-card) .pvf-main-body{box-sizing:border-box!important;width:100%!important;max-width:100%!important}

            /* Historial móvil: se conserva el menú completo y solamente se
               sustituye "Editar pedido" por "Devolución". */
            html body .pvf-shell #pv-hist-pedidos-card .pv-hp-desktop-edit-action,
            html body .pvf-shell #pv-hist-pedidos-card .pv-hp-desktop-facturado-refund{display:none!important}
            html body .pvf-shell #pv-hist-pedidos-card .pv-hp-mobile-refund-menu{
                display:block!important;
                width:100%!important;
                margin:0!important;
            }

            /* Editar pedido desde el Historial: modal móvil con una cabecera
               propia, resumen compacto y acciones legibles. Todo queda
               encerrado en este selector y media query; escritorio conserva
               exactamente su composición anterior. */
            html body #pv-modal-editar-pedido{
                box-sizing:border-box!important;
                align-items:center!important;
                padding:10px!important;
            }
            html body #pv-modal-editar-pedido .pv-modal-editar-pedido-box{
                box-sizing:border-box!important;
                width:min(100%,430px)!important;
                max-width:430px!important;
                max-height:calc(100dvh - 20px)!important;
                margin:0!important;
                padding:0!important;
                overflow-x:hidden!important;
                overflow-y:auto!important;
                border:1px solid #E2E6EF!important;
                border-radius:20px!important;
                background:#F6F7FB!important;
                box-shadow:0 24px 62px rgba(21,28,47,.26)!important;
                overscroll-behavior:contain!important;
                -webkit-overflow-scrolling:touch!important;
            }
            html body #pv-modal-editar-pedido .pv-pedido-editar-desktop-close{display:none!important}
            html body #pv-modal-editar-pedido .pv-pedido-editar-mobile-head{
                position:sticky!important;
                top:0!important;
                z-index:50!important;
                box-sizing:border-box!important;
                display:grid!important;
                grid-template-columns:40px minmax(0,1fr) 36px!important;
                align-items:center!important;
                gap:10px!important;
                width:100%!important;
                min-height:68px!important;
                padding:10px 12px!important;
                border-bottom:1px solid #E4E7EF!important;
                background:linear-gradient(112deg,#FFFFFF 55%,#FCF5FA 100%)!important;
                box-shadow:0 4px 14px rgba(27,34,55,.045)!important;
            }
            html body #pv-modal-editar-pedido .pv-pedido-editar-mobile-icon{
                display:grid!important;
                place-items:center!important;
                width:40px!important;
                height:40px!important;
                border:1px solid #DCCFFF!important;
                border-radius:12px!important;
                background:linear-gradient(145deg,#F3EEFF,#FFF0F7)!important;
                color:#6D42E7!important;
            }
            html body #pv-modal-editar-pedido .pv-pedido-editar-mobile-icon svg{width:21px!important;height:21px!important}
            html body #pv-modal-editar-pedido .pv-pedido-editar-mobile-copy{display:flex!important;flex-direction:column!important;min-width:0!important}
            html body #pv-modal-editar-pedido .pv-pedido-editar-mobile-copy strong{color:#172033!important;font-size:16px!important;font-weight:900!important;line-height:1.05!important;letter-spacing:-.02em!important}
            html body #pv-modal-editar-pedido .pv-pedido-editar-mobile-copy small{margin-top:4px!important;overflow:hidden!important;color:#7D899E!important;font-size:9.5px!important;font-weight:650!important;line-height:1.15!important;text-overflow:ellipsis!important;white-space:nowrap!important}
            html body #pv-modal-editar-pedido .pv-pedido-editar-mobile-close{
                position:static!important;
                display:grid!important;
                place-items:center!important;
                box-sizing:border-box!important;
                width:36px!important;
                min-width:36px!important;
                height:36px!important;
                min-height:36px!important;
                margin:0!important;
                padding:0!important;
                border:1px solid #D9DFF0!important;
                border-radius:10px!important;
                background:#FFFFFF!important;
                color:#6844DF!important;
                font-size:22px!important;
                font-weight:400!important;
                line-height:1!important;
                text-decoration:none!important;
                box-shadow:none!important;
            }
            html body #pv-modal-editar-pedido .pv-pedido-editar-resumen{
                box-sizing:border-box!important;
                display:grid!important;
                grid-template-columns:minmax(0,1fr)!important;
                gap:10px!important;
                width:auto!important;
                margin:10px 10px 8px!important;
                padding:12px!important;
                border:1px solid #E0E4ED!important;
                border-top:3px solid transparent!important;
                border-radius:14px!important;
                background:linear-gradient(#FFFFFF,#FFFFFF) padding-box,linear-gradient(90deg,#6844DF,#B136C4,#F50158) border-box!important;
                box-shadow:0 7px 20px rgba(28,35,61,.055)!important;
            }
            html body #pv-modal-editar-pedido .pv-pedido-editar-identidad{min-width:0!important}
            html body #pv-modal-editar-pedido .pv-pedido-editar-identidad h2{
                display:flex!important;
                align-items:center!important;
                flex-wrap:wrap!important;
                gap:7px!important;
                margin:0!important;
                color:#172033!important;
                font-size:17px!important;
                font-weight:900!important;
                line-height:1.1!important;
                letter-spacing:-.02em!important;
            }
            html body #pv-modal-editar-pedido .pv-pedido-editar-identidad .pv-estado-badge{min-height:23px!important;padding:0 9px!important;font-size:9px!important}
            html body #pv-modal-editar-pedido .pv-pedido-editar-identidad p{margin:5px 0 0!important;font-size:10px!important;font-weight:650!important}
            html body #pv-modal-editar-pedido .pv-pedido-editar-resumen-acciones{
                display:grid!important;
                grid-template-columns:repeat(2,minmax(0,1fr))!important;
                align-items:stretch!important;
                gap:7px!important;
                width:100%!important;
                min-width:0!important;
            }
            html body #pv-modal-editar-pedido .pv-pedido-editar-resumen-acciones>*{box-sizing:border-box!important;width:100%!important;min-width:0!important;margin:0!important}
            html body #pv-modal-editar-pedido .pv-pedido-editar-resumen-acciones form{display:block!important}
            html body #pv-modal-editar-pedido .pv-pedido-editar-resumen-acciones :is(a,button){display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;height:38px!important;min-height:38px!important;margin:0!important;padding:0 8px!important;border-radius:9px!important;font-size:10.5px!important;font-weight:800!important;line-height:1!important;text-align:center!important;white-space:nowrap!important}
            html body #pv-modal-editar-pedido .pv-pedido-editar-resumen-acciones svg{width:15px!important;height:15px!important}
            html body #pv-modal-editar-pedido #pv-pedido-form{box-sizing:border-box!important;padding:0 10px 12px!important}
            html body #pv-modal-editar-pedido #pv-pedido-form .pv-pedidos-topbar-card{margin:0 0 8px!important;padding:10px!important;border-radius:14px!important;background:#FFFFFF!important;box-shadow:0 6px 18px rgba(28,35,61,.045)!important}
            html body #pv-modal-editar-pedido #pv-pedido-form .pv-pedido-categoria-carousel{min-height:48px!important;margin:0 0 8px!important;padding:4px!important;border-radius:12px!important;background:#FFFFFF!important}
            html body #pv-modal-editar-pedido #pv-pedido-form .pv-pedido-categoria-flecha{width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important}
            html body #pv-modal-editar-pedido #pv-pedido-form .pv-pedido-categoria-flecha svg{width:15px!important;height:15px!important}

            /* Cabecera y metricas: compactas, sin saltos de ancho. */
            .pv-ped-mobile-overview{box-sizing:border-box!important;width:100%!important;padding:14px!important;border-radius:14px!important}
            .pv-ped-mobile-heading{min-width:0!important}
            .pv-ped-mobile-heading>div{min-width:0!important}
            .pv-ped-mobile-heading h1{font-size:20px!important}
            .pv-ped-mobile-new{height:38px!important;min-height:38px!important;padding:0 12px!important;border-radius:9px!important;white-space:nowrap!important}
            .pv-ped-mobile-metrics{gap:7px!important;margin-top:12px!important}
            .pv-ped-mobile-metrics article{box-sizing:border-box!important;grid-template-columns:34px minmax(0,1fr)!important;gap:7px!important;min-height:62px!important;padding:9px!important;border-radius:11px!important}
            .pv-ped-mobile-metric-icon{width:34px!important;height:34px!important;border-radius:10px!important}
            .pv-ped-mobile-metric-icon svg{width:18px!important;height:18px!important}
            .pv-ped-mobile-metrics strong{font-size:13px!important;overflow-wrap:anywhere!important}

            /* Navegacion Pedidos/Inventario/Historial. El acceso principal
               "Nuevo producto" ya vive en la cabecera móvil y no se duplica. */
            html body .pvf-shell:has(#pv-pedido-form) .pv-pedidos-head{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:end!important;gap:0!important;box-sizing:border-box!important;width:100%!important;margin-bottom:10px!important}
            html body .pvf-shell:has(#pv-pedido-form) .pv-pedidos-head-main{min-width:0!important;width:auto!important}
            html body .pvf-shell:has(#pv-pedido-form) .pv-pedidos-head-tabs{min-width:0!important;width:100%!important}
            html body .pvf-shell:has(#pv-pedido-form) .pv-pedidos-head-tabs .pv-subtabs{grid-template-columns:repeat(3,minmax(0,1fr))!important;min-width:0!important}
            html body .pvf-shell:has(#pv-pedido-form) .pv-pedidos-head-tabs .pv-subtab{height:42px!important;min-height:42px!important;font-size:10.5px!important;white-space:nowrap!important}
            html body .pvf-shell:has(#pv-pedido-form) .pv-pedidos-head-action{display:none!important}
            html body .pvf-shell:has(#pv-pedido-form) .pv-pedidos-head-action .pv-pedido-nuevo-producto-btn{height:38px!important;min-height:38px!important;min-width:108px!important;margin:0!important;padding:0 10px!important;white-space:nowrap!important}
            html body .pvf-shell:has(#pv-fab-form) .pv-fabricacion-head .pv-pedidos-head-action{display:none!important}

            /* Cliente y barra de catalogo. El buscador ocupa una fila; luego
               los controles quedan en pares, todos con la misma altura. */
            #pv-pedido-form .pv-pedido-mobile-cliente-slot{width:100%!important;margin-bottom:8px!important}
            #pv-pedido-form .pv-pedido-cliente-wrap{box-sizing:border-box!important;grid-template-columns:minmax(0,1fr) 42px!important;gap:7px!important;min-width:0!important}
            #pv-pedido-form .pv-pedido-cliente-wrap .pv-cs-trigger-form,
            #pv-pedido-form .pv-pedido-cliente-wrap .pv-icon-btn{height:44px!important;min-height:44px!important;border-radius:10px!important}
            #pv-pedido-form .pv-pedido-cliente-wrap .pv-cs-trigger-form{justify-content:flex-start!important}
            #pv-pedido-form .pv-pedido-cliente-wrap .pv-icon-btn{width:42px!important}
            /* Un solo eje lateral para todo el módulo: el formulario, el
               catálogo, la barra de filtros, las categorías y las tarjetas
               respetan el ancho real del contenedor. Antes la barra usaba
               100vw y quedaba más ancha que la cabecera por ignorar sus
               márgenes móviles. */
            #pv-pedido-form,
            #pv-pedido-form .pv-pedido-2col,
            #pv-pedido-form .pv-pedido-col-catalogo,
            #pv-pedido-form .pv-pedidos-topbar-card,
            #pv-pedido-form .pv-pedido-categoria-carousel,
            #pv-pedido-form #pv-pedido-seccion-productos,
            #pv-pedido-form #pv-pedido-seccion-servicios{
                box-sizing:border-box!important;
                width:100%!important;
                min-width:0!important;
                max-width:100%!important;
                margin-left:0!important;
                margin-right:0!important;
            }
            #pv-pedido-form .pv-pedidos-topbar{box-sizing:border-box!important;display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:7px!important;width:100%!important;min-width:0!important;max-width:100%!important}
            #pv-pedido-form .pv-pedidos-topbar .pv-pos-search-wrap{grid-column:1/-1!important;order:initial!important;justify-self:stretch!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;flex:none!important;margin:0!important}
            #pv-pedido-form .pv-pedidos-topbar .pv-pos-search-input{display:block!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important}
            #pv-pedido-form .pv-pedidos-topbar>.pv-mini-select-wrap{grid-column:span 3!important}
            #pv-pedido-form .pv-pedidos-topbar>.pv-mini-select-combo{grid-column:span 4!important}
            #pv-pedido-form .pv-pedidos-topbar>.pv-ajuste-wrap{grid-column:span 3!important}
            #pv-pedido-form .pv-pedidos-topbar>.pv-divisa-menu-btn{grid-column:span 3!important}
            #pv-pedido-form .pv-pedidos-topbar>.pv-personalizar-wrap{grid-column:span 1!important}
            #pv-pedido-form .pv-pedidos-topbar>.pv-mini-select-wrap,
            #pv-pedido-form .pv-pedidos-topbar>.pv-mini-select-combo,
            #pv-pedido-form .pv-pedidos-topbar>.pv-ajuste-wrap,
            #pv-pedido-form .pv-pedidos-topbar>.pv-divisa-menu-btn,
            #pv-pedido-form .pv-pedidos-topbar>.pv-personalizar-wrap{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:none!important;flex:none!important}
            #pv-pedido-form .pv-pedidos-topbar .pv-pos-search-input{height:44px!important;min-height:44px!important;border-radius:10px!important}
            #pv-pedido-form .pv-pedidos-topbar :is(.pv-mini-select-btn,.pv-divisa-menu-btn,.pv-personalizar-btn,.pv-cs-trigger-form,.pv-topbar-input){box-sizing:border-box!important;width:100%!important;height:40px!important;min-height:40px!important;max-height:40px!important;padding-top:0!important;padding-bottom:0!important;border:1px solid #DDE2EC!important;border-radius:10px!important;font-size:10px!important;line-height:1!important}
            #pv-pedido-form .pv-pedidos-topbar .pv-personalizar-btn{justify-content:center!important}
            #pv-pedido-form .pv-pedidos-topbar .pv-combo-trigger-label,
            #pv-pedido-form .pv-pedidos-topbar .pv-cs-trigger-label,
            #pv-pedido-form .pv-pedidos-topbar .pv-personalizar-texto{overflow:hidden!important;min-width:0!important;text-overflow:ellipsis!important;white-space:nowrap!important}
            #pv-pedido-form .pv-pedidos-topbar .pv-combo-panel,
            #pv-pedido-form .pv-pedidos-topbar .pv-cs-panel,
            #pv-pedido-form .pv-pedidos-topbar .pv-personalizar-panel{z-index:120!important;box-sizing:border-box!important;max-width:calc(100vw - 24px)!important}

            /* Categorias y productos: dos columnas reales y tarjetas de alto
               uniforme, con precio y boton siempre en la misma posicion. */
            #pv-pedido-form .pv-pedido-categoria-carousel{display:flex!important;align-items:center!important;width:100%!important;min-width:0!important;gap:6px!important}
            #pv-pedido-form .pv-pedido-categoria-viewport{min-width:0!important;flex:1 1 auto!important}
            #pv-pedido-form .pv-pedido-cards-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;width:100%!important;min-width:0!important}
            #pv-pedido-form .pv-pedido-cards-grid .pv-pedido-card{box-sizing:border-box!important;width:100%!important;min-width:0!important;min-height:178px!important;overflow:hidden!important;padding:9px!important;border-radius:12px!important}
            #pv-pedido-form .pv-pedido-card-top{min-height:19px!important;font-size:8px!important}
            #pv-pedido-form .pv-pedido-card-top span{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
            /* La cantidad ya agregada (+1, +2…) debe quedar completamente
               dentro de la tarjeta sin tapar las existencias. */
            #pv-pedido-form .pv-pedido-cards-grid .pv-item-badge{
                top:6px!important;
                right:6px!important;
                z-index:4!important;
                min-width:23px!important;
                height:23px!important;
                padding:0 5px!important;
                border:2px solid #fff!important;
                background:linear-gradient(135deg,#7042ED,#F5014F)!important;
                font-size:9px!important;
                line-height:1!important;
                box-shadow:0 5px 11px rgba(170,35,164,.23)!important;
            }
            #pv-pedido-form .pv-pedido-cards-grid .pv-item-seleccionado .pv-pedido-card-top{padding-right:27px!important}
            /* La tarjeta seleccionada se distingue sin alterar el contenido:
               borde Noalyx en movimiento y una sombra inferior discreta. */
            @keyframes pvPedidoSelectedBorderMobile{
                0%{background-position:0% 50%}
                50%{background-position:100% 50%}
                100%{background-position:0% 50%}
            }
            #pv-pedido-form .pv-pedido-cards-grid .pv-pedido-card.pv-item-seleccionado{
                border-color:transparent!important;
                box-shadow:0 10px 18px rgba(31,38,68,.10),0 4px 9px rgba(104,68,223,.09)!important;
            }
            #pv-pedido-form .pv-pedido-cards-grid .pv-pedido-card.pv-item-seleccionado::before{
                content:"";
                position:absolute;
                inset:0;
                z-index:3;
                padding:2px;
                border-radius:12px;
                background:linear-gradient(110deg,#6844DF,#A53DDD,#F50158,#6844DF);
                background-size:260% 100%;
                pointer-events:none;
                animation:pvPedidoSelectedBorderMobile 2.8s linear infinite;
                -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
                -webkit-mask-composite:xor;
                mask-composite:exclude;
            }
            @media (prefers-reduced-motion:reduce){
                #pv-pedido-form .pv-pedido-cards-grid .pv-pedido-card.pv-item-seleccionado::before{
                    animation:none!important;
                    background-position:50% 50%!important;
                }
            }
            #pv-pedido-form .pv-pedido-card-main{min-height:43px!important}
            #pv-pedido-form .pv-pedido-card-nombre{min-height:30px!important;font-size:10.5px!important;line-height:1.35!important;-webkit-line-clamp:2!important}
            #pv-pedido-form .pv-pedido-card-resumen{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:4px!important;width:100%!important;min-width:0!important}
            #pv-pedido-form .pv-pedido-card-precio{min-width:0!important;font-size:11px!important;line-height:1.2!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
            #pv-pedido-form .pv-pedido-card-resumen .pv-estado-badge{max-width:64px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
            #pv-pedido-form .pv-pedido-card-btn{height:38px!important;min-height:38px!important;margin-top:4px!important;border-radius:9px!important;font-size:10px!important}

            /* Resumen/carrito: ocupa el espacio util entre topbar y barra
               inferior, con scroll interno y acciones siempre accesibles. */
            html body #pv-pedido-form .pv-pedido-col-resumen.pv-pedido-carrito-flotante{box-sizing:border-box!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important}
            #pv-pedido-form .pv-pedido-sheet-head{box-sizing:border-box!important;min-height:54px!important}
            #pv-pedido-form .pv-pedido-sheet-close{top:8px!important;width:36px!important;height:36px!important;min-height:36px!important}
            #pv-pedido-form .pv-pedido-col-resumen .pv-pedido-cliente-wrap{box-sizing:border-box!important;width:100%!important;padding:8px!important}
            /* Sin cliente elegido, el boton de editar esta oculto. La rejilla
               no debe reservar su columna porque dejaba un hueco a la derecha. */
            #pv-pedido-form .pv-pedido-col-resumen .pv-pedido-cliente-wrap:not(:has(.pv-cs-elegido)){
                grid-template-columns:minmax(0,1fr)!important;
                gap:0!important;
            }
            #pv-pedido-form .pv-pedido-col-resumen .pv-pedido-cliente-wrap:not(:has(.pv-cs-elegido)) .pv-cs,
            #pv-pedido-form .pv-pedido-col-resumen .pv-pedido-cliente-wrap:not(:has(.pv-cs-elegido)) .pv-cs-trigger-form{
                box-sizing:border-box!important;
                width:100%!important;
                max-width:none!important;
            }
            #pv-pedido-form .pv-pedido-col-resumen .pv-carrito-item{box-sizing:border-box!important;display:grid!important;grid-template-columns:minmax(0,1fr) 32px!important;grid-template-areas:"name trash" "details details"!important;align-items:start!important;gap:10px!important;width:100%!important;min-width:0!important;min-height:0!important;padding:13px!important}
            #pv-pedido-form .pv-pedido-col-resumen .pv-carrito-item-nombre{grid-area:name!important;display:-webkit-box!important;min-width:0!important;overflow:hidden!important;color:#172033!important;font-size:13.5px!important;font-weight:850!important;line-height:1.25!important;white-space:normal!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important}
            #pv-pedido-form .pv-pedido-col-resumen .pv-carrito-item-trash{grid-area:trash!important;justify-self:end!important;width:32px!important;height:32px!important;margin:0!important;border-radius:9px!important;background:#FFF1F3!important;color:#F5011F!important}
            #pv-pedido-form .pv-pedido-col-resumen .pv-carrito-item-right{grid-area:details!important;display:grid!important;grid-template-columns:136px minmax(0,1fr)!important;grid-template-areas:"qty price" "type price" "cost cost" "alert alert" "desc desc"!important;align-items:center!important;gap:5px 10px!important;width:100%!important;min-width:0!important;max-width:none!important}
            #pv-pedido-form .pv-pedido-col-resumen .pv-carrito-item-cant-fila{
                grid-area:qty!important;
                align-self:center!important;
                justify-self:start!important;
                grid-template-columns:36px 64px 36px!important;
                width:136px!important;
                height:34px!important;
                margin:0!important;
                border-color:#D9DFEA!important;
                border-radius:10px!important;
                overflow:hidden!important;
            }
            #pv-pedido-form .pv-pedido-col-resumen .pv-carrito-item-cant-fila>*{
                display:flex!important;
                align-items:center!important;
                justify-content:center!important;
            }
            #pv-pedido-form .pv-pedido-col-resumen .pv-carrito-item-cant-fila .pv-pedido-cantidad-step{width:36px!important;height:32px!important}
            #pv-pedido-form .pv-pedido-col-resumen .pv-carrito-item-cant-fila .pv-pedido-cantidad-input{width:64px!important;height:32px!important}
            #pv-pedido-form .pv-pedido-col-resumen .pv-carrito-item-tipo{
                grid-area:type!important;
                align-self:center!important;
                justify-self:start!important;
                width:auto!important;
                margin:0!important;
                padding:3px 7px!important;
                border-radius:999px!important;
                background:#F3F5F9!important;
                color:#7A869C!important;
                font-size:9px!important;
                font-weight:750!important;
                line-height:1!important;
                white-space:nowrap!important;
                text-align:left!important;
            }
            #pv-pedido-form .pv-pedido-col-resumen .pv-carrito-item-precio{grid-area:price!important;display:flex!important;flex-direction:column!important;align-items:flex-end!important;justify-self:end!important;min-width:0!important;margin:0!important;color:#075B93!important;font-size:15px!important;font-weight:900!important;line-height:1.1!important;text-align:right!important;white-space:nowrap!important}
            #pv-pedido-form .pv-pedido-col-resumen .pv-carrito-item-precio::before{content:"Subtotal"!important;margin-bottom:4px!important;color:#929CAF!important;font-size:9px!important;font-weight:700!important;letter-spacing:.02em!important}
            #pv-pedido-form .pv-pedido-col-resumen .pv-carrito-costo-compra{grid-area:cost!important;width:100%!important;margin:3px 0 0!important;padding-top:8px!important;border-top:1px solid #EDF0F5!important;color:#7657B8!important;font-size:10.5px!important;font-weight:750!important;text-align:right!important;white-space:normal!important}
            #pv-pedido-form .pv-pedido-col-resumen .pv-carrito-alerta-costo{grid-area:alert!important;justify-self:end!important;max-width:100%!important}
            #pv-pedido-form .pv-pedido-col-resumen .pv-carrito-item-desc{grid-area:desc!important;width:100%!important;min-width:0!important}

            /* Acabado profesional del cajón móvil: una sola escala de alturas,
               columnas equilibradas y jerarquía clara sin alterar controles. */
            html body .pvf-shell #pv-pedido-form .pv-pedido-col-resumen.pv-pedido-carrito-flotante{
                position:fixed!important;
                inset:0 0 0 auto!important;
                padding:8px 10px calc(16px + env(safe-area-inset-bottom,0px))!important;
                border-radius:10px 0 0 10px!important;
                background:linear-gradient(180deg,#FFFFFF 0%,#FBFCFF 52%,#F7F9FD 100%)!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-sheet-head{
                position:relative!important;
                top:auto!important;
                box-sizing:border-box!important;
                height:44px!important;
                min-height:44px!important;
                margin:0 -10px 7px!important;
                padding:3px 42px 3px 34px!important;
                border-radius:10px 0 0 0!important;
                box-shadow:0 8px 22px rgba(37,45,66,.045)!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-sheet-head h3{
                font-size:14.5px!important;
                line-height:1.1!important;
                letter-spacing:-.015em!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-sheet-title small{
                margin-top:2px!important;
                font-size:9px!important;
                line-height:1!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-sheet-close,
            html body .pvf-shell #pv-pedido-form .pv-panel-clear-btn,
            html body .pvf-shell #pv-pedido-form .pv-carrito-item-trash{
                box-sizing:border-box!important;
                width:34px!important;
                min-width:34px!important;
                height:34px!important;
                min-height:34px!important;
                padding:0!important;
                border:1px solid #E5E0FF!important;
                border-radius:9px!important;
                background:#FFFFFF!important;
                color:#6A42E7!important;
                box-shadow:0 5px 14px rgba(96,61,213,.07)!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-sheet-close{
                top:50%!important;
                right:10px!important;
                z-index:2!important;
                display:grid!important;
                place-items:center!important;
                width:30px!important;
                min-width:30px!important;
                height:30px!important;
                min-height:30px!important;
                border:0!important;
                border-radius:0!important;
                background:transparent!important;
                box-shadow:none!important;
                color:#6844DF!important;
                font-family:Verdana,sans-serif!important;
                font-size:0!important;
                font-weight:400!important;
                line-height:1!important;
                text-indent:0!important;
                opacity:1!important;
                transform:translateY(-50%)!important;
                isolation:isolate!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-sheet-close::before{
                content:""!important;
                position:absolute!important;
                top:50%!important;
                left:0!important;
                z-index:-1!important;
                box-sizing:border-box!important;
                width:30px!important;
                height:22px!important;
                border:1px solid #E5E0FF!important;
                border-radius:6px!important;
                background:#FFFFFF!important;
                box-shadow:0 4px 10px rgba(96,61,213,.06)!important;
                transform:translateY(-50%)!important;
                pointer-events:none!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-sheet-close::after{
                content:"×"!important;
                position:absolute!important;
                inset:0!important;
                display:grid!important;
                place-items:center!important;
                color:#6844DF!important;
                font-family:Verdana,sans-serif!important;
                font-size:17px!important;
                font-weight:400!important;
                line-height:1!important;
                pointer-events:none!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-panel-clear-btn,
            html body .pvf-shell #pv-pedido-form .pv-carrito-item-trash{
                border-color:#FFE0E5!important;
                color:#F5012D!important;
                box-shadow:none!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-cliente-wrap{
                margin:10px 0 12px!important;
                padding:0!important;
                border:0!important;
                border-radius:14px!important;
                background:transparent!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-cliente-wrap .pv-cs-trigger-form{
                box-sizing:border-box!important;
                width:100%!important;
                height:44px!important;
                min-height:44px!important;
                padding:0 13px!important;
                border:1px solid #DDE3EF!important;
                border-radius:11px!important;
                background:#FFFFFF!important;
                box-shadow:0 7px 20px rgba(30,42,68,.05)!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-cliente-wrap:not(:has(.pv-cs-elegido)) #pv-pedido-cliente-editar-btn{
                display:none!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-cliente-wrap:has(.pv-cs-elegido) #pv-pedido-cliente-editar-btn{
                display:inline-flex!important;
                align-items:center!important;
                justify-content:center!important;
            }
            html body .pvf-shell #pv-pedido-form #pv-pedido-panel-items > .pv-pedido-hr:first-child{
                display:none!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-col-resumen .pv-panel-cart-header{
                margin:6px 0 8px!important;
                padding:8px 0!important;
                border-top:0!important;
                border-bottom:1px solid #E5E9F1!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-col-resumen .pv-panel-cart-title{
                color:#4F5C74!important;
                font-size:9.5px!important;
                letter-spacing:.055em!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-col-resumen .pv-panel-cart-badge{
                width:22px!important;
                min-width:22px!important;
                height:22px!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-col-resumen .pv-panel-rate{
                box-sizing:border-box!important;
                height:34px!important;
                min-height:34px!important;
                padding:0 9px!important;
                border-radius:9px!important;
                background:#FFF9FA!important;
                font-size:9.5px!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-col-resumen .pv-carrito-item{
                gap:10px!important;
                min-height:154px!important;
                margin-bottom:10px!important;
                padding:12px!important;
                border-color:#DFE5EF!important;
                border-radius:14px!important;
                background:#FFFFFF!important;
                box-shadow:0 8px 22px rgba(25,36,59,.055)!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-col-resumen .pv-carrito-item-nombre{
                align-self:center!important;
                font-size:13px!important;
                line-height:1.32!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-col-resumen .pv-carrito-item-right{
                display:grid!important;
                grid-template-columns:132px minmax(106px,1fr)!important;
                grid-template-areas:"qty price" "type price" "cost cost" "alert alert" "desc desc"!important;
                align-items:center!important;
                gap:4px 12px!important;
                width:100%!important;
                min-width:0!important;
                max-width:none!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-col-resumen .pv-carrito-item-cant-fila{
                grid-area:qty!important;
                display:grid!important;
                grid-template-columns:34px 64px 34px!important;
                align-items:stretch!important;
                justify-items:stretch!important;
                box-sizing:border-box!important;
                width:132px!important;
                min-width:0!important;
                height:34px!important;
                min-height:34px!important;
                margin:0!important;
                padding:0!important;
                justify-self:center!important;
                border:1px solid #D9E0EC!important;
                border-radius:9px!important;
                background:#FFFFFF!important;
                overflow:hidden!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-col-resumen .pv-carrito-item-cant-fila .pv-pedido-cantidad-step,
            html body .pvf-shell #pv-pedido-form .pv-pedido-col-resumen .pv-carrito-item-cant-fila .pv-pedido-cantidad-input{
                box-sizing:border-box!important;
                display:grid!important;
                place-items:center!important;
                width:100%!important;
                height:100%!important;
                min-height:0!important;
                max-height:none!important;
                margin:0!important;
                padding:0!important;
                align-self:stretch!important;
                border-radius:0!important;
                line-height:1!important;
                text-align:center!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-col-resumen .pv-carrito-item-cant-fila .pv-pedido-cantidad-step{
                position:relative!important;
                display:block!important;
                color:#6844DF!important;
                font-size:0!important;
                font-weight:850!important;
                line-height:0!important;
                text-indent:0!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-col-resumen .pv-carrito-item-cant-fila .pv-pedido-cantidad-step::before{
                content:""!important;
                position:absolute!important;
                top:calc(50% - 3px)!important;
                left:50%!important;
                width:10px!important;
                height:2px!important;
                border-radius:999px!important;
                background:#6844DF!important;
                transform:translate(-50%,-50%)!important;
                pointer-events:none!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-col-resumen .pv-carrito-item-cant-fila .pv-pedido-cantidad-step[data-delta="1"]::after{
                content:""!important;
                position:absolute!important;
                top:calc(50% - 3px)!important;
                left:50%!important;
                width:2px!important;
                height:10px!important;
                border-radius:999px!important;
                background:#6844DF!important;
                transform:translate(-50%,-50%)!important;
                pointer-events:none!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-col-resumen .pv-carrito-item-cant-fila .pv-pedido-cantidad-input{
                display:block!important;
                box-sizing:border-box!important;
                width:64px!important;
                min-width:64px!important;
                max-width:64px!important;
                padding:0 0 5px!important;
                color:#172033!important;
                font-size:13px!important;
                font-weight:850!important;
                line-height:normal!important;
                text-align:center!important;
                text-indent:0!important;
                appearance:textfield!important;
                -moz-appearance:textfield!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-col-resumen .pv-carrito-item-cant-fila .pv-pedido-cantidad-input::-webkit-inner-spin-button,
            html body .pvf-shell #pv-pedido-form .pv-pedido-col-resumen .pv-carrito-item-cant-fila .pv-pedido-cantidad-input::-webkit-outer-spin-button{
                margin:0!important;
                -webkit-appearance:none!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-col-resumen .pv-carrito-item-tipo{
                grid-area:type!important;
                justify-self:center!important;
                margin:1px 0 0!important;
                padding:3px 7px!important;
                text-align:center!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-col-resumen .pv-carrito-item-precio{
                grid-area:price!important;
                box-sizing:border-box!important;
                width:100%!important;
                min-width:0!important;
                padding:2px 0!important;
                overflow:hidden!important;
                color:#075B93!important;
                font-size:15.5px!important;
                text-overflow:ellipsis!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-col-resumen .pv-carrito-item-precio::before{
                margin-bottom:4px!important;
                color:#8D98AD!important;
                font-size:8.5px!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-col-resumen .pv-carrito-costo-compra{
                margin-top:5px!important;
                padding-top:9px!important;
                border-top:1px solid #E8ECF3!important;
                text-align:right!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-col-resumen .pv-cobrar-con-label{
                margin:10px 0 7px!important;
                color:#526079!important;
                font-size:10px!important;
                letter-spacing:.045em!important;
            }
            html body .pvf-shell #pv-pedido-form #pv-pedido-cobrar-simple{
                width:100%!important;
                min-width:0!important;
            }
            html body .pvf-shell #pv-pedido-form #pv-pedido-cobrar-simple :is(.pv-cs-trigger-form,select){
                box-sizing:border-box!important;
                width:100%!important;
                height:44px!important;
                min-height:44px!important;
                border-radius:11px!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-acciones-fila{
                grid-template-columns:repeat(2,minmax(0,1fr))!important;
                gap:8px!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-acciones-fila > *{
                box-sizing:border-box!important;
                width:100%!important;
                min-width:0!important;
                height:44px!important;
                min-height:44px!important;
                border-radius:10px!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-toggles-inline{
                display:grid!important;
                grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)!important;
                align-items:stretch!important;
                gap:6px!important;
                width:100%!important;
                margin:8px 0!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-toggle-inline-item{
                box-sizing:border-box!important;
                display:grid!important;
                grid-template-columns:minmax(0,1fr) 42px!important;
                align-items:center!important;
                gap:5px!important;
                width:100%!important;
                min-width:0!important;
                min-height:42px!important;
                margin:0!important;
                padding:6px 7px!important;
                overflow:hidden!important;
                border:1px solid #E4E8F1!important;
                border-radius:10px!important;
                background:#FFFFFF!important;
                color:#5F6B81!important;
                font-size:8.25px!important;
                font-weight:650!important;
                line-height:1.15!important;
                white-space:normal!important;
                box-shadow:0 5px 14px rgba(28,40,65,.035)!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-toggle-inline-item > :is(button,.pv-toggle){
                justify-self:end!important;
                box-sizing:border-box!important;
                width:42px!important;
                min-width:42px!important;
                max-width:42px!important;
                margin:0!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-vuelto-box .pv-vuelto-numero-compacto{
                box-sizing:border-box!important;
                min-width:0!important;
                padding-right:6px!important;
                padding-left:6px!important;
                overflow:hidden!important;
                font-size:13px!important;
                font-weight:800!important;
                letter-spacing:-.025em!important;
                line-height:1.1!important;
                text-overflow:clip!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-vuelto-box :is(.pv-vuelto-entrada-compacta,.pv-vuelto-resultado-compacto){
                box-sizing:border-box!important;
                height:42px!important;
                min-height:42px!important;
                max-height:42px!important;
                border-radius:10px!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-vuelto-box .pv-vuelto-resultado-compacto > :first-child{
                min-width:0!important;
                overflow:hidden!important;
                font-size:10.5px!important;
                letter-spacing:-.035em!important;
                text-overflow:clip!important;
                white-space:nowrap!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-vuelto-box .pv-vuelto-resultado strong{
                min-width:0!important;
                max-width:100%!important;
                overflow:hidden!important;
                font-size:10.5px!important;
                font-weight:850!important;
                font-variant-numeric:tabular-nums!important;
                letter-spacing:-.035em!important;
                line-height:1!important;
                text-overflow:clip!important;
                white-space:nowrap!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-vuelto-box .pv-vuelto-valores{
                display:grid!important;
                grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr)!important;
                align-items:center!important;
                gap:6px!important;
                width:100%!important;
                min-width:0!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-vuelto-box .pv-vuelto-valores :is(.pv-vuelto-input-wrap,.pv-vuelto-resultado){
                box-sizing:border-box!important;
                width:100%!important;
                min-width:0!important;
                max-width:none!important;
                height:44px!important;
                min-height:44px!important;
                max-height:44px!important;
                margin:0!important;
                border-radius:10px!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-vuelto-box .pv-vuelto-valores .pv-vuelto-input-wrap input{
                box-sizing:border-box!important;
                width:100%!important;
                height:100%!important;
                min-height:0!important;
                max-height:none!important;
                margin:0!important;
            }
            /* En Pedidos móvil el código de divisa ya está visible en la tasa y
               en el resumen. Ocultarlo dentro del monto recibido libera todo el
               ancho para cifras largas, igual que en el flujo de Fabricación. */
            html body .pvf-shell #pv-pedido-form .pv-vuelto-box .pv-vuelto-input-wrap #pv-pedido-recibido-moneda{
                display:none!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-vuelto-box .pv-vuelto-entrada-compacta > input{
                height:40px!important;
                min-height:40px!important;
                max-height:40px!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-col-resumen .pv-pago-mixto-panel{
                box-sizing:border-box!important;
                padding:12px!important;
                border:1px solid #D9D0FF!important;
                border-radius:14px!important;
                background:linear-gradient(145deg,#F4F1FF 0%,#FBFAFF 100%)!important;
                box-shadow:0 8px 22px rgba(91,59,190,.08)!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-col-resumen .pv-pago-mixto-header{
                color:#766A96!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-col-resumen .pv-pago-mixto-header strong{
                color:#34245F!important;
                font-size:13px!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-col-resumen .pv-pago-mixto-barra{
                background:#E4DDF8!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-col-resumen .pv-pago-mixto-barra-fill{
                background:linear-gradient(90deg,#6844DF 0%,#A53AC8 58%,#E51A63 100%)!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-col-resumen .pv-pago-mixto-fila{
                box-sizing:border-box!important;
                display:grid!important;
                grid-template-columns:minmax(0,1fr) 108px 28px 24px!important;
                align-items:center!important;
                gap:4px!important;
                width:100%!important;
                min-width:0!important;
                min-height:54px!important;
                padding:7px 8px!important;
                border:1px solid #E1DCF5!important;
                border-radius:11px!important;
                background:#FFFFFF!important;
                box-shadow:0 4px 12px rgba(68,47,127,.04)!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-col-resumen .pv-pago-mixto-fila > *{
                box-sizing:border-box!important;
                min-width:0!important;
                max-width:100%!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-col-resumen .pv-pago-mixto-fila-nombre{
                display:-webkit-box!important;
                overflow:hidden!important;
                color:#251B3E!important;
                font-size:10.5px!important;
                font-weight:800!important;
                line-height:1.15!important;
                white-space:normal!important;
                text-overflow:clip!important;
                -webkit-box-orient:vertical!important;
                -webkit-line-clamp:2!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-col-resumen .pv-pago-mixto-fila-input{
                box-sizing:border-box!important;
                width:100%!important;
                min-width:0!important;
                height:36px!important;
                min-height:36px!important;
                padding:0 7px!important;
                overflow:hidden!important;
                border:1px solid #D8CFFF!important;
                border-radius:9px!important;
                background:#F0ECFF!important;
                background-image:none!important;
                color:#281B53!important;
                font-size:10px!important;
                font-weight:800!important;
                font-variant-numeric:tabular-nums!important;
                letter-spacing:-.025em!important;
                line-height:1!important;
                text-align:right!important;
                text-overflow:clip!important;
                appearance:none!important;
                -webkit-appearance:none!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-col-resumen .pv-pago-mixto-fila-input:focus{
                border-color:#6844DF!important;
                outline:0!important;
                box-shadow:0 0 0 3px rgba(104,68,223,.1)!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-col-resumen .pv-pago-mixto-fila-moneda{
                justify-self:center!important;
                color:#7656C9!important;
                font-size:9.5px!important;
                font-weight:850!important;
                text-align:center!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-col-resumen .pv-pago-mixto-fila-quitar{
                display:grid!important;
                place-items:center!important;
                width:26px!important;
                min-width:26px!important;
                height:26px!important;
                min-height:26px!important;
                margin:0!important;
                padding:0!important;
                color:#8F85A7!important;
                font-size:12px!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-col-resumen .pv-pago-mixto-agregar-btn{
                min-height:42px!important;
                border-color:#B9A7F7!important;
                background:#FFFFFF!important;
                color:#5938C5!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-col-resumen :is(.pv-pago-mixto-total,.pv-pago-mixto-asignado,.pv-pago-mixto-restante){
                min-width:0!important;
                font-size:12px!important;
                font-variant-numeric:tabular-nums!important;
                letter-spacing:-.02em!important;
                white-space:nowrap!important;
            }
            html body .pvf-shell #pv-pedido-form .pv-pedido-col-resumen :has(> .pv-pago-mixto-fila){
                display:grid!important;
                gap:7px!important;
                width:100%!important;
                min-width:0!important;
            }
            html body .pvf-shell #pv-pedido-foto-modal .pv-modal-box{
                position:relative!important;
                box-sizing:border-box!important;
                padding:12px!important;
                border-radius:16px!important;
                overflow:hidden!important;
            }
            html body .pvf-shell #pv-pedido-foto-modal .pv-modal-close{
                position:absolute!important;
                top:9px!important;
                right:9px!important;
                z-index:3!important;
                display:grid!important;
                place-items:center!important;
                box-sizing:border-box!important;
                width:30px!important;
                min-width:30px!important;
                height:30px!important;
                min-height:30px!important;
                margin:0!important;
                padding:0!important;
                border:1px solid #DDD7FF!important;
                border-radius:9px!important;
                background:#FFFFFF!important;
                color:#6844DF!important;
                font-size:20px!important;
                line-height:1!important;
                box-shadow:none!important;
            }
            html body .pvf-shell #pv-pedido-foto-modal #pv-pedido-foto-modal-titulo{
                box-sizing:border-box!important;
                display:flex!important;
                align-items:center!important;
                min-height:30px!important;
                margin:0 38px 10px 0!important;
                color:#172033!important;
                font-size:13px!important;
                font-weight:850!important;
                line-height:1.25!important;
            }
            #pv-pedido-form .pv-pedido-col-resumen .pv-pedido-resumen-tarjeta,
            #pv-pedido-form .pv-pedido-col-resumen .pv-vuelto-box{box-sizing:border-box!important;width:100%!important;max-width:100%!important;overflow:hidden!important}
            #pv-pedido-form .pv-pedido-col-resumen :is(input,select,button,.pv-cs-trigger-form){max-width:100%!important}
            #pv-pedido-form .pv-pedido-col-resumen .pv-pedido-acciones-fila>*{height:44px!important;min-height:44px!important}

            /* Boton flotante y listado del historial sin desbordamientos. */
            html body .pv-pedido-cart-fab{box-sizing:border-box!important;height:64px!important;min-height:64px!important;border-radius:14px!important}
            .pv-pedido-cart-fab-action{height:40px!important;padding:0 12px!important;border-radius:9px!important}
            html body .pvf-shell #pv-hist-pedidos-card{width:100%!important;max-width:100%!important;overflow:visible!important}
            html body .pvf-shell #pv-hist-pedidos-card .pv-hp-toolbar,
            html body .pvf-shell #pv-hist-pedidos-card .pv-hp-data-row,
            html body .pvf-shell #pv-hist-pedidos-card .pv-hp-detail-panel{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important}
            html body .pvf-shell #pv-hist-pedidos-card .pv-hp-filter-row>*{min-width:0!important;max-width:100%!important}
            html body .pvf-shell #pv-hist-pedidos-card .pv-hp-periods{box-sizing:border-box!important;max-width:100%!important}
            html body .pvf-shell #pv-hist-pedidos-card .pv-hp-data-row{overflow:visible!important}
            /* top/left/right los calcula el controlador del kebab según la
               posición real del botón. No se fuerzan aquí: hacerlo pegaba el
               menú al borde de la pantalla en vez de a los tres puntos. */
            html body .pvf-shell #pv-hist-pedidos-card .pv-hp-actions-menu{max-width:calc(100vw - 24px)!important}
        }
        @media(max-width:365px){
            .pv-ped-mobile-overview{padding:13px}
            .pv-ped-mobile-heading{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:11px!important}
            .pv-ped-mobile-heading h1{font-size:20px!important}
            .pv-ped-mobile-actions{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr);gap:7px;width:100%}
            .pv-ped-mobile-actions>button{box-sizing:border-box;width:100%;min-width:0}
            .pv-ped-mobile-scan{height:37px;min-height:37px;padding:0 8px;font-size:10px}
            .pv-ped-mobile-new{height:37px;padding:0 10px;font-size:10px}
            .pv-ped-mobile-metrics article{grid-template-columns:32px minmax(0,1fr);gap:7px;padding:9px}
            .pv-ped-mobile-metric-icon{width:32px;height:32px}
            .pv-ped-mobile-metric-icon svg{width:17px;height:17px}
            .pv-pedido-cart-fab-action{padding:0 10px;font-size:10px}
            html body .pvf-shell:has(#pv-pedido-form) .pv-pedidos-head{gap:0!important}
            html body .pvf-shell:has(#pv-pedido-form) .pv-pedidos-head-tabs .pv-subtab{font-size:9.5px!important}
            html body .pvf-shell:has(#pv-pedido-form) .pv-pedidos-head-action .pv-pedido-nuevo-producto-btn{min-width:100px!important;padding:0 8px!important;font-size:9px!important}
            #pv-pedido-form .pv-pedidos-topbar{gap:6px!important}
            #pv-pedido-form .pv-pedidos-topbar :is(.pv-mini-select-btn,.pv-divisa-menu-btn,.pv-personalizar-btn,.pv-cs-trigger-form,.pv-topbar-input){font-size:9px!important}
            #pv-pedido-form .pv-pedido-cards-grid{gap:6px!important}
            #pv-pedido-form .pv-pedido-cards-grid .pv-pedido-card{min-height:174px!important;padding:8px!important}
            html body .pv-pedido-cart-fab{grid-template-columns:36px minmax(0,1fr) auto!important;gap:7px!important;padding-left:8px!important;padding-right:8px!important}
            .pv-pedido-cart-fab-icon{width:36px!important;height:36px!important}
            .pv-pedido-cart-fab-action{padding:0 9px!important;font-size:9.5px!important}
        }

        @media print{
            @page{size:letter portrait;margin:9mm 12mm}
            #adminmenumain,#wpadminbar,#wpfooter,.pvf-no-print,.pv-no-print,#wpbody-content > .notice,.pvf-sidebar{display:none!important}
            #wpbody-content{margin-left:0!important}
            .pv-print-area,.pvf-print-area{max-width:700px;margin:0 auto}
            .pv-informe-imprimir{display:block!important;margin:0!important}
            .pv-env-print-report{width:auto!important;min-height:252mm!important;padding:0 1mm 14mm!important;overflow:visible!important}.pv-env-print-accent{margin:0 -1mm 7mm!important}.pv-env-print-footer{left:1mm!important;right:1mm!important;bottom:2mm!important}
            .pv-informe-imprimir.pv-bank-print-source{position:static!important;z-index:auto!important;left:auto!important;top:auto!important;width:auto!important;pointer-events:auto!important}.pv-bank-statement{width:auto!important;min-height:252mm!important;padding:0 1mm 14mm!important;overflow:visible!important}.pv-bank-statement-accent{margin:0 -1mm 7mm!important}.pv-bank-statement-footer{left:1mm!important;right:1mm!important;bottom:2mm!important}
            #pv-ficha-modal-overlay .pv-ficha-modal-titlebar{display:none!important}
            .pvf-shell{margin:0!important;width:auto!important;min-height:0!important}
            .pvf-main{padding:0!important}
            .pv-wrap{margin-top:0!important;padding-top:0!important}
            body{margin-top:0!important}
            .pv-modal-overlay:not([hidden]){position:static!important;background:none!important;padding:0!important;display:block!important}
            .pv-modal-box{box-shadow:none!important;max-height:none!important;overflow:visible!important;padding:0!important}
            .pv-modal-close{display:none!important}
            /* #pv-modal-movimientos-cuenta (Cuentas Bancarias → Ver
               movimientos) es de los pocos modales que se renderiza SIEMPRE
               "abierto" (sin atributo hidden, solo aparece por PHP según la
               URL) — igual que el recibo/la ficha de proveedor. Pero a
               diferencia de esos dos, este NO se quiere imprimir tal cual:
               tiene su propio informe aparte en .pv-informe-imprimir (misma
               idea que Inventario/Envíos), así que hay que ganarle a la
               regla ".pv-modal-overlay:not([hidden])" de arriba con un
               selector por id (más específico) en vez de solo pv-no-print. */
            #pv-modal-movimientos-cuenta{display:none!important}
            /* El resto de la página (menú, listas, tarjetas del módulo
               detrás) se oculta con display:none desde JS justo antes de
               imprimir (ver pv_modal_generic_script() en 02-helpers.php,
               listener de "beforeprint") — no alcanza con volverlo invisible
               por CSS (visibility/opacity) porque esos elementos seguirían
               reservando su alto normal y el navegador generaría páginas en
               blanco extra para "cubrir" ese espacio vacío. Con display:none
               real, el recibo queda solo en el flujo normal del documento y
               ocupa exactamente el número de páginas que en verdad necesita. */
            .pv-modal-recibo{margin:0!important;background:var(--pv-surface)!important}
            .pv-modal-recibo .pv-modal-box{margin:0 auto!important;page-break-inside:avoid}
            .pv-modal-recibo .pv-recibo-80mm{margin:0 auto!important}
            #pv-modal-comprobante-generado .pv-recibo-modal-shell{width:auto!important;max-width:none!important;border:0!important;border-radius:0!important;background:#fff!important}
            #pv-modal-comprobante-generado .pv-recibo-modal-body{padding:0!important}
            #pv-modal-comprobante-generado .pv-recibo-preview-shell{min-height:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important}
            #pv-modal-comprobante-generado .pv-recibo-documento-original{padding:0!important;background:#fff!important;box-shadow:none!important}
        }
        
        .pv-track-stepper{display:flex;align-items:flex-start;gap:0}
        .pv-track-paso{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative}
        .pv-track-paso:not(:last-child)::after{content:'';position:absolute;top:14px;left:calc(50% + 15px);right:calc(-50% + 15px);height:2px;background:var(--pv-border)}
        .pv-track-paso.hecho:not(:last-child)::after{background:var(--pv-primary)}
        .pv-track-punto{width:28px;height:28px;border-radius:50%;background:var(--pv-bg);color:var(--pv-muted);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;z-index:1;border:2px solid var(--pv-border)}
        .pv-track-paso.hecho .pv-track-punto{background:var(--pv-primary);border-color:var(--pv-primary);color:#fff}
        .pv-track-paso.activo .pv-track-punto{background:#fff;border-color:var(--pv-primary);color:var(--pv-primary2);box-shadow:0 0 0 4px rgba(var(--pv-primary-rgb),.15)}
        .pv-track-paso-label{font-size:10.5px;font-weight:700;color:var(--pv-muted);margin-top:7px;line-height:1.25}
        .pv-track-paso.hecho .pv-track-paso-label,.pv-track-paso.activo .pv-track-paso-label{color:var(--pv-ink)}
        .pv-track-paso-fecha{font-size:9.5px;color:var(--pv-muted);margin-top:2px}
        /* La descripción larga por paso ("Tu pedido está siendo elaborado.")
           se pidió sacar de acá — 5 párrafos en fila se veía apretado incluso
           en escritorio. Ahora ese mismo texto se muestra UNA sola vez, del
           paso ACTUAL, en el encabezado de la tarjeta (.pv-track-head-estado,
           22-fabricacion-tracking.php) en vez de repetido bajo cada círculo. */
        .pv-track-paso-desc{display:none}
        /* Flechas de navegación del carrusel (ocultas en escritorio, donde
           .pv-track-stepper ya muestra los 5 pasos en fila — no hace falta
           deslizar nada). Van absolutas dentro de .pv-track-carousel, así
           que quedan FIJAS encima aunque el usuario deslice el contenido. */
        .pv-track-carousel{position:relative}
        .pv-track-nav{display:none}
        /* Puntos debajo del carrusel (solo aparecen en móvil, ver más abajo)
           — indicador estándar de "cuántos pasos hay y en cuál estás",
           mismo lenguaje visual que un carrusel de fotos o un onboarding.
           Son <button>, no <span>: tocar un punto salta directo a ese paso. */
        .pv-track-dots{display:none}
        /* Guía de envío / nota del artículo: cada una es una tarjetita propia
           con su ícono (camión para la guía, nota para el comentario) en vez
           de un bloque de texto suelto — así se leen como dos piezas de
           información distintas, no como el mismo tipo de dato repetido. */
        .pv-track-meta{display:flex;flex-direction:column;gap:8px;margin-top:14px}
        .pv-track-guia,.pv-track-nota{display:flex;align-items:flex-start;gap:10px;font-size:12.5px;padding:10px 12px;border-radius:12px;background:var(--pv-bg);border:1px solid var(--pv-border)}
        .pv-track-guia{color:var(--pv-ink)}
        .pv-track-guia svg,.pv-track-nota svg{flex-shrink:0;margin-top:1px;color:var(--pv-muted)}
        .pv-track-guia strong{font-variant-numeric:tabular-nums;overflow-wrap:break-word;word-break:break-word}
        .pv-track-nota{color:var(--pv-muted);font-style:italic;overflow-wrap:break-word;word-break:break-word}
        .pv-track-meta-label{display:block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--pv-muted);font-style:normal;margin-bottom:2px}
        .pv-track-nota-emoji{margin-left:auto;flex-shrink:0;align-self:center;font-size:26px;line-height:1;font-style:normal;animation:pv-track-nota-emoji-bounce 1.6s ease-in-out infinite}
        @keyframes pv-track-nota-emoji-bounce{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-4px) rotate(-8deg)}}
        @media (prefers-reduced-motion: reduce){ .pv-track-nota-emoji{ animation:none } }
        /* Teléfono: antes cada paso ocupaba el ancho COMPLETO del carrusel
           (uno a la vez, deslizando con flechas ‹ ›) porque las etiquetas de
           2-3 palabras no tenían dónde partirse en una fila de 5. Ahora se
           pidió mantener la MISMA fila conectada que en escritorio también
           en móvil — se logra encogiendo círculo/letra y dejando que la
           etiqueta parta en dos líneas, en vez de cambiar el layout. Ya no
           hace falta deslizar nada, así que ‹ › y los puntos de abajo
           simplemente no se muestran acá (siguen en display:none, heredado
           de la regla base) — pv_stepper_js() no rompe nada si no los
           encuentra, ya estaba escrito con chequeos "if (prev)"/"if (next)". */
        @media (max-width:640px){
            .pv-track-stepper{gap:0}
            .pv-track-paso{padding:0 1px}
            .pv-track-paso::after{left:calc(50% + 11px);right:calc(-50% + 11px)}
            .pv-track-punto{width:24px;height:24px;font-size:9.5px;border-width:1.5px}
            .pv-track-paso-label{font-size:8px;margin-top:5px;line-height:1.15;padding:0 1px}
            .pv-track-paso-fecha{font-size:7px;margin-top:1px}
        }
    
        /* ===== Estadísticas ===== */
.pv-est-page{--pv-est-command-h:44px;gap:18px}
.pv-est-command{--pv-est-head-control-h:38px;--pv-est-head-control-w:178px;position:relative;display:grid;grid-template-columns:minmax(310px,1fr) auto auto;align-items:center;column-gap:14px;overflow:hidden;background:var(--pv-surface);border:1px solid #e2e7f0;border-radius:19px;box-shadow:0 12px 32px rgba(34,45,71,.07)}
.pv-est-command:before{position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#16a9e8 0%,#753df3 48%,#f40654 100%);content:"";z-index:1}
.pv-est-head{display:contents}
.pv-est-head-left{grid-column:1;grid-row:1;display:flex;align-items:center;gap:13px;min-width:0;padding:15px 0 13px 18px}
.pv-est-head-ico{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#7441ef 0%,#d921aa 58%,#f20b55 100%);color:#fff;box-shadow:0 8px 18px rgba(123,61,234,.20);flex-shrink:0}
.pv-est-head-ico svg{width:21px;height:21px}
.pv-est-head h1{margin:0;font-size:21px;line-height:1.05;font-weight:880;letter-spacing:-.03em;color:var(--pv-ink)}
.pv-est-head p{margin:3px 0 0;color:#8490a5;font-size:11px;line-height:1.3;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pv-est-head-right{grid-column:3;grid-row:1;align-self:end;display:flex;align-items:center;justify-content:flex-end;gap:11px;min-width:0;padding:0 18px 10px 0}
.pv-est-chip-alerta{background:#FEF3C7;color:#92400E;font-size:11px;font-weight:700;padding:2px 9px;border-radius:999px}
.pv-est-buscador{display:flex;align-items:center;gap:9px;width:min(410px,32vw);height:var(--pv-est-command-h);box-sizing:border-box;background:#f8faff;border:1px solid #dce2ed;border-radius:12px;padding:0 13px;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.pv-est-buscador:focus-within{border-color:#7142ef;box-shadow:0 0 0 4px rgba(113,66,239,.10)}
.pv-est-buscador svg{width:17px!important;height:17px!important;flex-shrink:0;color:#8792a8}
html body .pvf-shell .pv-est-buscador input[type="search"]{height:42px!important;min-height:42px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;outline:none!important;font:inherit!important;font-size:12.5px!important;font-weight:500!important;width:100%;color:var(--pv-ink)!important;min-width:0}
.pv-est-btn-sec{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border-radius:11px;background:var(--pv-surface);border:1px solid var(--pv-border2);color:var(--pv-ink)!important;font-size:12.5px;font-weight:600;text-decoration:none;cursor:pointer;white-space:nowrap}
.pv-est-btn-sec:hover{background:var(--pv-bg)}
.pv-est-btn-sec svg{width:15px;height:15px}
.pv-est-refresh-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:var(--pv-est-head-control-w);height:var(--pv-est-head-control-h);box-sizing:border-box;padding:0 14px;border:0;border-radius:10px;background:linear-gradient(100deg,#713bf0 0%,#b923c2 55%,#ef0b55 100%);color:#fff!important;font-size:11.5px;font-weight:800;text-decoration:none;white-space:nowrap;box-shadow:0 6px 14px rgba(177,35,181,.16);transition:background .16s ease,transform .16s ease}
.pv-est-refresh-action:hover{background:linear-gradient(100deg,#6332df 0%,#ab1db4 55%,#df064d 100%);color:#fff!important;transform:translateY(-1px)}
.pv-est-refresh-action svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pv-est-topline{display:flex;align-items:stretch;justify-content:space-between;gap:18px;width:100%;min-width:0}
.pv-est-topline .pv-est-subtabs{flex:0 1 520px}
.pv-est-topline .pv-est-rango-activo{flex:0 0 auto;margin-left:auto}
html body .pvf-shell .pv-est-page .pv-est-topline .pv-est-subtabs{display:flex!important;grid-template-columns:none!important;flex-wrap:nowrap!important;align-items:stretch;gap:0!important;margin:0!important;border:0!important;border-bottom:1px solid var(--pv-border)!important;border-radius:0!important;background:transparent!important;overflow:visible;width:min(100%,520px);max-width:100%;padding:0!important}
.pv-est-subtabs .pv-subtab{position:relative;display:inline-flex;flex:1 1 0;align-items:center;justify-content:center;min-width:84px;height:var(--pv-est-command-h);box-sizing:border-box;margin:0!important;padding:0 16px!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--pv-muted2)!important;font-size:11.5px!important;font-weight:750!important;text-decoration:none;white-space:nowrap;box-shadow:none!important}
.pv-est-subtabs .pv-subtab.active{background:transparent!important;color:#6738e8!important;box-shadow:none!important}
.pv-est-subtabs .pv-subtab.active:after{content:"";position:absolute;left:16px;right:16px;bottom:-1px;height:3px;border-radius:3px 3px 0 0;background:#6738e8}

/* Filtros */
.pv-est-command .pv-est-filtros{display:contents;margin:0;padding:0;border:0;background:transparent;box-shadow:none;border-radius:0}
.pv-est-filtros-form{display:contents}
.pv-est-toolbar-row{grid-column:2;grid-row:1;display:grid;grid-template-columns:minmax(0,1fr);align-items:end;gap:12px;padding:11px 0 10px;border:0;background:transparent}
/* Fila de arriba: solo lo que se toca siempre. Los campos van en flex (no
   en una rejilla de columnas fijas) para que un campo oculto — los dos de
   fecha, que solo salen con "Rango personalizado" — simplemente no ocupe
   lugar, en vez de dejar el hueco que descuadraba las filas. */
.pv-est-barra{display:flex;align-items:flex-end;justify-content:flex-start;gap:10px;min-width:0;flex-wrap:nowrap}
.pv-est-periodo-grupo{display:flex;flex:1 1 auto;align-items:flex-end;gap:10px;min-width:0;flex-wrap:nowrap}
.pv-est-campo{display:flex;flex-direction:column;gap:5px;min-width:0}
.pv-est-campo>span{font-size:10.5px;font-weight:800;letter-spacing:.025em;color:var(--pv-muted)}
.pv-est-campo select,.pv-est-campo input{width:100%;height:var(--pv-est-command-h);box-sizing:border-box;padding:0 13px;border:1px solid var(--pv-border2);border-radius:11px;background:var(--pv-surface);font:inherit;font-size:12px;color:var(--pv-ink);min-width:0}
.pv-est-campo select:focus,.pv-est-campo input:focus{outline:2px solid rgba(var(--pv-primary-rgb),.45);outline-offset:1px}
.pv-est-campo-periodo{width:244px;flex-shrink:0}
html body .pvf-shell .pv-est-campo-periodo .pv-cs,html body .pvf-shell .pv-est-campo-periodo .pv-cs .pv-cs-trigger{height:var(--pv-est-head-control-h)!important;min-height:var(--pv-est-head-control-h)!important}
html body .pvf-shell .pv-est-campo-periodo .pv-cs .pv-cs-trigger{padding-top:0!important;padding-bottom:0!important;align-items:center!important}
html body .pvf-shell .pv-est-campo-periodo .pv-cs .pv-cs-trigger:after{content:none!important;display:none!important;background:none!important}
html body .pvf-shell .pv-est-campo-periodo .pv-cs .pv-cs-trigger-label{display:flex!important;align-items:center!important;height:100%!important;padding-right:0!important}
html body .pvf-shell .pv-est-campo-periodo .pv-cs .pv-cs-chevron{position:static!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;align-self:center!important;margin-left:auto!important;transform:none!important}
html body .pvf-shell .pv-est-campo-periodo .pv-cs .pv-cs-chevron svg{display:block!important;margin:0!important}
.pv-est-campo-fecha{width:125px;flex-shrink:0}
.pv-est-campo-fecha input{height:var(--pv-est-head-control-h)}
.pv-est-campo-origen{flex-shrink:0}
.pv-est-btn-fecha{align-self:flex-end;height:var(--pv-est-head-control-h)!important;min-height:var(--pv-est-head-control-h)!important;padding:0 10px!important;white-space:nowrap}
.pv-est-oculto{display:none!important}
.pv-est-selector{height:var(--pv-est-command-h);min-height:var(--pv-est-command-h);box-sizing:border-box;align-items:center;border-radius:11px!important;padding:3px!important}
.pv-est-selector-op{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 13px!important;border-radius:8px!important;font-size:11px!important}
.pv-est-rango-activo{display:inline-flex;align-items:center;gap:8px;height:var(--pv-est-command-h);box-sizing:border-box;margin-left:auto;color:var(--pv-muted);background:#fff;border:1px solid #dce2ed;border-radius:11px;padding:0 12px;white-space:nowrap}
.pv-est-rango-activo svg{width:16px;height:16px;flex-shrink:0;color:#7041ed}
.pv-est-rango-copy{display:flex;flex-direction:column;justify-content:center;gap:1px;line-height:1.05}
.pv-est-rango-copy small{color:#98a2b3;font-size:8.5px;font-weight:800;letter-spacing:.045em;text-transform:uppercase}
.pv-est-rango-copy strong{color:#69768d;font-size:10.5px;font-weight:800}

/* Panel plegable de filtros avanzados (<details> nativo, sin JS) */
.pv-est-avanzados-inline{flex:0 0 auto;margin:0;padding:0;border:0}
.pv-est-command .pv-est-avanzados>summary{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:var(--pv-est-head-control-w);height:var(--pv-est-head-control-h);box-sizing:border-box;cursor:pointer;list-style:none;padding:0 12px;border:1px solid var(--pv-border2);border-radius:10px;font-size:11.5px;font-weight:750;color:var(--pv-muted2);background:var(--pv-surface);user-select:none;white-space:nowrap}
.pv-est-avanzados>summary::-webkit-details-marker{display:none}
.pv-est-avanzados>summary:hover{background:var(--pv-bg);color:var(--pv-ink);border-color:rgba(var(--pv-primary-rgb),.35)}
.pv-est-avanzados>summary:focus-visible{outline:2px solid rgba(var(--pv-primary-rgb),.5);outline-offset:1px}
.pv-est-avanzados-ico{display:inline-flex;color:#7040ed}
.pv-est-avanzados-ico svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pv-est-avanzados-num{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 6px;border-radius:999px;background:rgba(var(--pv-primary-rgb),.16);color:var(--pv-primary-dark);font-size:11px;font-weight:800}
.pv-est-avanzados-chevron{display:inline-flex;transition:transform .18s ease}
.pv-est-avanzados-chevron{align-items:center;justify-content:center;align-self:center}
.pv-est-avanzados-chevron svg{display:block;width:14px;height:14px;margin:0}
.pv-est-avanzados[open]>summary .pv-est-avanzados-chevron{transform:rotate(180deg)}
.pv-est-avanzados[open]>summary{color:var(--pv-ink)}
.pv-est-avanzados-panel{display:none;grid-column:1/-1;grid-row:auto;margin:0 20px 15px;padding:18px;border:1px solid rgba(111,66,223,.16);border-radius:16px;background:linear-gradient(135deg,rgba(111,66,223,.035),rgba(245,1,31,.018));box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.pv-est-toolbar-row:has(.pv-est-avanzados-inline[open]) + .pv-est-avanzados-panel,.pv-est-avanzados-panel.is-open{display:block}
.pv-est-avanzados-cuerpo{padding:0}
/* Los filtros avanzados conservan una sola línea horizontal. Cuando el
   ancho no alcanza, la propia fila se desplaza sin formar una segunda. */
.pv-est-rejilla{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(160px,1fr);grid-template-rows:auto;gap:14px;align-items:end;overflow-x:auto;overflow-y:hidden;padding:0 0 5px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(112,65,237,.28) transparent}
.pv-est-rejilla::-webkit-scrollbar{height:5px}.pv-est-rejilla::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(112,65,237,.28)}
.pv-est-rejilla .pv-est-campo{min-width:160px}
.pv-est-rejilla .pv-est-campo{gap:7px}
.pv-est-rejilla .pv-est-campo>span{font-size:11px;font-weight:800;color:#77839a}
html body .pvf-shell .pv-est-rejilla .pv-cs,html body .pvf-shell .pv-est-rejilla .pv-cs .pv-cs-trigger{height:52px!important;min-height:52px!important}
html body .pvf-shell .pv-est-rejilla .pv-cs .pv-cs-trigger{position:relative!important;display:flex!important;align-items:center!important;padding:0 43px 0 15px!important;border:1px solid #d7ddeb!important;border-radius:13px!important;background:#fff!important;color:#182033!important}
html body .pvf-shell .pv-est-rejilla .pv-cs .pv-cs-trigger:hover{border-color:rgba(111,66,223,.52)!important}
html body .pvf-shell .pv-est-rejilla .pv-cs .pv-cs-trigger-label{display:flex!important;align-items:center!important;height:100%!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:#182033!important}
html body .pvf-shell .pv-est-rejilla .pv-cs .pv-cs-trigger-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 20px!important;width:20px!important;height:20px!important;margin-right:10px!important;color:#7041ed!important}
html body .pvf-shell .pv-est-rejilla .pv-cs .pv-cs-trigger-icon svg{display:block!important;width:19px!important;height:19px!important;margin:0!important}
html body .pvf-shell .pv-est-rejilla .pv-cs .pv-cs-trigger:after{content:none!important;display:none!important;background:none!important}
html body .pvf-shell .pv-est-rejilla .pv-cs .pv-cs-trigger .pv-cs-chevron{position:absolute!important;right:12px!important;top:calc(50% - 9px)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:18px!important;height:18px!important;margin:0!important;transform:none!important;color:#7041ed!important}
html body .pvf-shell .pv-est-rejilla .pv-cs .pv-cs-chevron svg{display:block!important;width:18px!important;height:18px!important;margin:0!important}
html body .pvf-shell .pv-est-rejilla .pv-cs.pv-cs-open .pv-cs-trigger .pv-cs-chevron svg{transform:rotate(180deg)!important}
.pv-est-avanzados-pie{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid rgba(111,66,223,.12)}
.pv-est-avanzados-pie .pvf-btn{min-width:170px;justify-content:center!important;background:linear-gradient(100deg,#713bf0 0%,#b923c2 55%,#ef0b55 100%)!important;border:0!important;color:#fff!important}
.pv-est-avanzados-pie .pvf-btn,.pv-est-avanzados-pie .pvf-btn *{color:#fff!important;stroke:#fff!important}
.pv-est-avanzados-pie .pv-est-btn-sec{min-height:42px;justify-content:center;padding-inline:19px}

/* Chips de lo que está filtrando ahora mismo */
.pv-est-chips{grid-column:1/-1;display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 20px 15px;padding:13px 2px 0;border-top:1px dashed rgba(111,66,223,.18)}
.pv-est-chips-titulo{font-size:11px;font-weight:700;color:var(--pv-muted);margin-right:2px}
.pv-est-chip{display:inline-flex;align-items:center;gap:8px;min-height:32px;box-sizing:border-box;padding:5px 8px 5px 12px;border-radius:999px;background:#f3efff;border:1px solid #d9ccff;color:#6337d7!important;font-size:11.5px;font-weight:650;text-decoration:none;max-width:100%}
.pv-est-chip:hover{background:#ebe3ff}
.pv-est-chip>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pv-est-chip strong{font-weight:800}
.pv-est-chip-x{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#daceff;color:#6738dd;font-size:13px;line-height:1;flex-shrink:0}
.pv-est-chip-limpiar{font-size:11.5px;font-weight:700;color:var(--pv-muted2)!important;text-decoration:underline;margin-left:4px}

/* ---- KPIs ----
   auto-fit + align:stretch = todas las tarjetas de una fila miden lo mismo
   sin tener que calcular nada. El pie ("Ver más detalle") queda alineado
   entre tarjetas porque el cuerpo de arriba se estira (flex:1). */
.pv-est-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(238px,1fr));gap:14px;align-items:stretch}
.pv-est-ventas-shell{--pv-est-ventas-violeta:#7041ed;--pv-est-ventas-azul:#169fd6;--pv-est-ventas-verde:#20b795;display:flex;flex-direction:column;gap:16px;min-width:0}
.pv-est-ventas-seccion{display:flex;align-items:center;gap:11px;margin:6px 2px -3px}
.pv-est-ventas-seccion-ico{display:inline-flex;align-items:center;justify-content:center;flex:0 0 35px;width:35px;height:35px;border-radius:11px;background:linear-gradient(145deg,#eee9ff,#e8f8fd);color:#7041ed}
.pv-est-ventas-seccion-ico svg{width:17px;height:17px}
.pv-est-ventas-seccion-kicker{display:block;margin-bottom:1px;color:#7653dc;font-size:8.7px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.pv-est-ventas-seccion h2{margin:0;color:#182033;font-size:15px;font-weight:850;letter-spacing:-.012em}
.pv-est-ventas-seccion p{margin:3px 0 0;color:#7e8aa0;font-size:10.5px;line-height:1.4}
.pv-est-kpis-ventas{grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
.pv-est-kpis-ventas .pv-est-kpi{grid-column:span 3}
.pv-est-kpis-ventas .pv-est-kpi:nth-last-child(-n+3){grid-column:span 4}
.pv-est-pedidos-resumen-grid{display:grid;grid-template-columns:1.08fr .82fr 1.25fr;gap:16px;align-items:stretch}
.pv-est-pedidos-resumen-card{position:relative;display:flex;flex-direction:column;min-width:0;box-sizing:border-box;overflow:hidden;padding:18px 19px 16px;border:1px solid #e4e7f0;border-radius:18px;background:#fff;box-shadow:0 9px 25px rgba(34,42,70,.065)}
.pv-est-pedidos-resumen-card:before{position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#16a9e8 0%,#753df3 50%,#f40654 100%);content:""}
.pv-est-pedidos-resumen-card header{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #eef0f5}
.pv-est-pedidos-resumen-card header>div{display:flex;flex-direction:column;min-width:0}
.pv-est-pedidos-resumen-card header>div>span{color:#182033;font-size:13.5px;font-weight:850;line-height:1.2}
.pv-est-pedidos-resumen-card header small{margin-top:3px;color:#8a95a9;font-size:9.8px;line-height:1.25}
.pv-est-pedidos-resumen-icono{display:inline-flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;border-radius:11px;background:linear-gradient(145deg,#eee9ff,#e8f8fd);color:#7041ed}
.pv-est-pedidos-resumen-icono svg{width:17px;height:17px}
.pv-est-pedidos-resumen-hero{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.pv-est-pedidos-resumen-hero>span,.pv-est-pedidos-resumen-datos span,.pv-est-pedidos-alcance-datos span,.pv-est-pedidos-tiempos-compactos span{color:#7f8ba0;font-size:10.5px;font-weight:700;line-height:1.3}
.pv-est-pedidos-resumen-hero>strong{color:#172033;font-size:29px;font-weight:750;line-height:1.05;letter-spacing:-.025em}
.pv-est-pedidos-resumen-hero>strong small,.pv-est-pedidos-alcance-datos strong small{color:#8793a8;font-size:11px;font-weight:750;letter-spacing:0}
.pv-est-pedidos-tendencia{display:block;margin-top:3px;font-size:9.7px;font-weight:850;line-height:1.3}
.pv-est-pedidos-tendencia.is-up{color:#12914f}.pv-est-pedidos-tendencia.is-down{color:#e32732}.pv-est-pedidos-tendencia.is-neutral{color:#8a95a9}
.pv-est-pedidos-resumen-datos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:13px}
.pv-est-pedidos-resumen-datos>div,.pv-est-pedidos-alcance-datos>div,.pv-est-pedidos-tiempos-compactos>div{display:flex;flex-direction:column;min-width:0;padding:10px 11px;border:1px solid #ece8f6;border-radius:12px;background:#faf9ff}
.pv-est-pedidos-resumen-datos strong{margin-top:4px;color:#27213d;font-size:15px;font-weight:850;line-height:1.15;white-space:nowrap}
.pv-est-pedidos-resumen-acciones{display:flex;align-items:center;gap:14px;margin-top:auto;padding-top:12px}
.pv-est-pedidos-resumen-acciones a{display:inline-flex;align-items:center;gap:6px;color:#7041ed!important;font-size:10.5px;font-weight:850;text-decoration:none!important}
.pv-est-pedidos-resumen-acciones a:hover span{transform:translateX(2px)}
.pv-est-pedidos-resumen-acciones a span{transition:transform .16s ease}
.pv-est-pedidos-alcance-datos{display:grid;grid-template-columns:1fr;gap:9px;flex:1}
.pv-est-pedidos-alcance-datos>div:first-child{border-color:#e5ddff;background:#faf8ff}
.pv-est-pedidos-alcance-datos>div:last-child{border-color:#dceef8;background:#f8fcff}
.pv-est-pedidos-alcance-datos strong{margin-top:5px;color:#172033;font-size:23px;font-weight:750;line-height:1.05;letter-spacing:-.02em}
.pv-est-pedidos-estados-compactos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.pv-est-pedidos-estados-compactos>a,.pv-est-pedidos-estados-compactos>div{display:flex;align-items:center;justify-content:space-between;gap:5px;min-width:0;padding:8px 9px;border:1px solid #ece8f5;border-radius:11px;background:#fafbfe;color:#4c566b!important;text-decoration:none!important}
.pv-est-pedidos-estados-compactos span{overflow:hidden;font-size:9.6px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}
.pv-est-pedidos-estados-compactos strong{color:#20283a;font-size:15px;font-weight:850}
.pv-est-pedidos-estados-compactos .is-abierto{background:#fffaf3}.pv-est-pedidos-estados-compactos .is-completado{background:#f3fbf7}.pv-est-pedidos-estados-compactos .is-cancelado{background:#fff7f8}
.pv-est-pedidos-estado-barra{display:flex;width:100%;height:8px;overflow:hidden;margin:10px 0 12px;border-radius:999px;background:#eef1f6}
.pv-est-pedidos-estado-barra i{display:block;height:100%}.pv-est-pedidos-estado-barra .is-completado{background:#20b775}.pv-est-pedidos-estado-barra .is-abierto{background:#f59e0b}.pv-est-pedidos-estado-barra .is-cancelado{background:#ef476f}
.pv-est-pedidos-tiempos-compactos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.pv-est-pedidos-tiempos-compactos strong{margin-top:4px;color:#27213d;font-size:14px;font-weight:850;line-height:1.2}
.pv-est-pedidos-tiempos-compactos small{margin-top:3px;color:#8a95a9;font-size:9px;line-height:1.3}
.pv-est-pedidos-tiempos-compactos .is-sin-abiertos{border-color:#dfeee8;background:#f7fcfa}
.pv-est-fabricacion-shell{--pv-est-fab-violeta:#7041ed;--pv-est-fab-azul:#16a9e8;--pv-est-fab-verde:#20b775;--pv-est-fab-rosa:#ef1764}
.pv-est-fabricacion-shell .pv-est-aviso-fuente{margin-top:-3px;border-color:#e5e8f1;background:#fff;box-shadow:0 5px 18px rgba(34,42,70,.035)}
.pv-est-fabricacion-resumen-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;align-items:stretch}
.pv-est-fabricacion-resumen-card{position:relative;display:flex;flex-direction:column;grid-column:span 4;min-width:0;box-sizing:border-box;overflow:hidden;padding:17px 17px 15px;border:1px solid #e4e7f0;border-radius:18px;background:#fff;box-shadow:0 9px 25px rgba(34,42,70,.065)}
.pv-est-fabricacion-resumen-card:before{position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#16a9e8 0%,#753df3 50%,#f40654 100%);content:""}
.pv-est-fabricacion-resumen-card header{display:flex;align-items:center;gap:9px;margin-bottom:12px;padding-bottom:11px;border-bottom:1px solid #eef0f5}
.pv-est-fabricacion-resumen-card header>div{display:flex;flex-direction:column;min-width:0}
.pv-est-fabricacion-resumen-card header>div>span{color:#182033;font-size:13px;font-weight:850;line-height:1.2}
.pv-est-fabricacion-resumen-card header small{margin-top:3px;color:#8a95a9;font-size:9.5px;line-height:1.25}
.pv-est-fabricacion-resumen-icono{display:inline-flex;align-items:center;justify-content:center;flex:0 0 33px;width:33px;height:33px;border-radius:11px;background:linear-gradient(145deg,#eee9ff,#e8f8fd);color:#7041ed}
.pv-est-fabricacion-resumen-icono svg{width:17px;height:17px}
.pv-est-fabricacion-hero{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.pv-est-fabricacion-hero>span,.pv-est-fabricacion-datos span,.pv-est-fabricacion-estados span{color:#7f8ba0;font-size:9.9px;font-weight:700;line-height:1.3}
.pv-est-fabricacion-hero>strong{max-width:100%;color:#172033;font-size:clamp(21px,1.55vw,27px);font-weight:750;line-height:1.08;letter-spacing:-.025em;overflow-wrap:anywhere}
.pv-est-fabricacion-hero>strong small,.pv-est-fabricacion-datos strong small{color:#8793a8;font-size:10px;font-weight:750;letter-spacing:0}
.pv-est-fabricacion-datos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:11px}
.pv-est-fabricacion-datos.is-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.pv-est-fabricacion-datos>div{display:flex;flex-direction:column;min-width:0;padding:9px 9px;border:1px solid #ece8f6;border-radius:11px;background:#faf9ff}
.pv-est-fabricacion-datos>div>small{margin-top:3px;color:#8a95a9;font-size:8.6px;line-height:1.25}
.pv-est-fabricacion-datos strong{margin-top:4px;color:#27213d;font-size:13.5px;font-weight:850;line-height:1.18;overflow-wrap:anywhere}
.pv-est-fabricacion-datos .pv-est-pedidos-tendencia{font-size:8.4px}
.pv-est-fabricacion-accion{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;margin-top:auto;padding-top:11px;color:#7041ed!important;font-size:10.3px;font-weight:850;text-decoration:none!important}
.pv-est-fabricacion-accion span{transition:transform .16s ease}.pv-est-fabricacion-accion:hover span{transform:translateX(2px)}
.pv-est-fabricacion-estados{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.pv-est-fabricacion-estados>div{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0;padding:8px 9px;border:1px solid #ece8f5;border-radius:10px;background:#fafbfe}
.pv-est-fabricacion-estados strong{color:#20283a;font-size:15px;font-weight:850}
.pv-est-fabricacion-estados .is-proceso{background:#f8f6ff}.pv-est-fabricacion-estados .is-calidad{background:#f5fbff}.pv-est-fabricacion-estados .is-finalizado{background:#f3fbf7}.pv-est-fabricacion-estados .is-retrasado{background:#fff7f8}
.pv-est-fabricacion-estado-barra{display:flex;width:100%;height:7px;overflow:hidden;margin:9px 0 10px;border-radius:999px;background:#eef1f6}
.pv-est-fabricacion-estado-barra i{display:block;height:100%}.pv-est-fabricacion-estado-barra .is-proceso{background:#7041ed}.pv-est-fabricacion-estado-barra .is-calidad{background:#16a9e8}.pv-est-fabricacion-estado-barra .is-finalizado{background:#20b775}.pv-est-fabricacion-estado-barra .is-otro{background:#c9d0dc}
.pv-est-fabricacion-progreso{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.pv-est-fabricacion-progreso>span{display:flex;flex-direction:column;min-width:0}.pv-est-fabricacion-progreso b{color:#4d586d;font-size:9.7px}.pv-est-fabricacion-progreso small{margin-top:2px;color:#8a95a9;font-size:8.8px}.pv-est-fabricacion-progreso>strong{color:#20a66b;font-size:13px;font-weight:850}
.pv-est-fabricacion-progreso-track{height:6px;overflow:hidden;margin-top:6px;border-radius:999px;background:#ebeff4}.pv-est-fabricacion-progreso-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#16a9e8,#20b775)}
.pv-est-fabricacion-alerta{margin-top:8px;padding:7px 8px;border-radius:9px;font-size:8.9px;font-weight:700;line-height:1.35}.pv-est-fabricacion-alerta.is-alerta{background:#fff3f4;color:#bf334c}.pv-est-fabricacion-alerta.is-ok{background:#edf9f3;color:#158152}.pv-est-fabricacion-alerta.is-neutra{background:#f5f6fa;color:#78859a}
.pv-est-fabricacion-margen{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:9px;padding:8px 9px;border:1px solid #dff0e8;border-radius:10px;background:#f3fbf7}.pv-est-fabricacion-margen span{color:#698175;font-size:9.1px;font-weight:750}.pv-est-fabricacion-margen strong{color:#16875a;font-size:15px;font-weight:850}
.pv-est-fabricacion-shell .pv-est-subgrafico{margin-top:14px;padding-top:14px}
.pv-est-fabricacion-shell .pv-est-tabla-scroll{border-radius:13px}
.pv-est-fabricacion-shell .pv-est-grafica-cuerpo{background:#fff}
.pv-est-fabricacion-shell .pv-est-ventas-panel-grafica .pv-est-chart-wrap{overflow:hidden;border:1px solid #f0edf5;border-radius:15px;background:#fff}
.pv-est-fabricacion-pendientes-panel{padding:20px!important;overflow:hidden}
.pv-est-fabricacion-pendientes-panel .pv-est-card-head{align-items:center;margin-bottom:15px;padding-bottom:14px;border-bottom:1px solid #eceff5}
.pv-est-fabricacion-pendientes-panel .pv-est-tabla-scroll{overflow:auto;border:1px solid #e6e2ef;border-radius:15px;background:#fff;box-shadow:0 6px 20px rgba(42,32,68,.04)}
.pv-est-tabla-fabricacion-pendiente{min-width:1240px!important}
.pv-est-tabla-fabricacion-pendiente thead th{position:sticky;top:0;z-index:2;height:44px;padding:0 11px!important;border:0!important;border-bottom:1px solid #ddd5ec!important;background:linear-gradient(180deg,#f8f6ff 0%,#f4f2fa 100%)!important;color:#75688c!important;font-size:9px!important;font-weight:900!important;letter-spacing:.045em!important;text-transform:uppercase!important;white-space:nowrap}
.pv-est-tabla-fabricacion-pendiente tbody td{height:58px;padding:8px 11px!important;border:0!important;border-bottom:1px solid #edf0f5!important;color:#394357!important;font-size:10.5px!important;line-height:1.35!important;vertical-align:middle!important}
.pv-est-tabla-fabricacion-pendiente tbody tr:nth-child(even) td{background:#fcfbfe}
.pv-est-tabla-fabricacion-pendiente tbody tr:hover td{background:#f8f5ff!important}
.pv-est-tabla-fabricacion-pendiente tbody tr:last-child td{border-bottom:0!important}
.pv-est-fab-numero{display:inline-flex;padding:5px 8px;border:1px solid #ddd4f1;border-radius:8px;background:#f5f1ff;color:#6436d6;font-size:9.8px;font-weight:900;letter-spacing:.02em;white-space:nowrap}
.pv-est-fab-cliente{display:block;max-width:145px;color:#242c3d;font-weight:800;line-height:1.35}
.pv-est-fab-producto{display:block;max-width:280px;color:#424b5e;font-weight:680;line-height:1.35}
.pv-est-fab-cantidad{display:inline-flex;min-width:28px;justify-content:center;padding:4px 7px;border-radius:8px;background:#eef8fd;color:#087aa9;font-weight:900}
.pv-est-fab-etapa{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:#f0ebff;color:#6840d8;font-size:9.5px;font-weight:850;white-space:nowrap}
.pv-est-fab-etapa:before{width:6px;height:6px;border-radius:50%;background:currentColor;content:""}
.pv-est-fab-etapa.is-dpto_calidad,.pv-est-fab-etapa.is-calidad{background:#eaf8ff;color:#087ba9}
.pv-est-fab-etapa.is-terminado,.pv-est-fab-etapa.is-entregado,.pv-est-fab-etapa.is-enviado{background:#eaf9f1;color:#12804d}
.pv-est-fab-plazo{display:inline-flex;align-items:center;gap:4px;max-width:155px;padding:5px 8px;border-radius:9px;font-size:9.5px;font-weight:850;line-height:1.3}
.pv-est-fab-plazo.pv-est-alerta{background:#fff0f2;color:#c62d4b}.pv-est-fab-plazo.pv-est-aviso{background:#fff6e8;color:#b36a08}.pv-est-fab-plazo.pv-est-ok{background:#eaf9f1;color:#12804d}.pv-est-fab-plazo.pv-est-neutro{background:#f2f4f8;color:#8190a7}
.pv-est-fab-responsable{display:inline-flex;align-items:center;gap:6px;color:#4c566a;font-weight:750}.pv-est-fab-responsable:before{display:inline-flex;width:22px;height:22px;flex:0 0 22px;align-items:center;justify-content:center;border-radius:8px;background:linear-gradient(145deg,#eee9ff,#e8f8fd);color:#6940df;content:"R";font-size:8px;font-weight:900}
.pv-est-fabricacion-pendientes-panel .pv-est-descargar-productos-pdf{height:40px;min-height:40px;padding:0 15px;border-radius:12px}
/* Resumen comercial con el patrón limpio que ya usa Noalyx en Utilidad:
   fondo blanco, acento lateral continuo, icono sin pastilla y comparación
   como texto. Se conserva todo el dato de cada KPI sin la ornamentación de
   barras superiores, badges grandes o degradados que competían con él. */
.pv-est-kpis-ventas .pv-est-kpi{position:relative;box-sizing:border-box;min-height:158px;overflow:visible;gap:5px;padding:17px 18px 14px 20px;border:0;border-left:5px solid var(--acento);border-radius:16px;background:linear-gradient(135deg,#fff 0%,#fff 78%,var(--acento-suave) 150%);box-shadow:0 8px 23px rgba(34,42,70,.065)}
.pv-est-kpis-ventas .pv-est-kpi:before{display:none;content:none}
.pv-est-kpis-ventas .pv-est-kpi:nth-child(1){--acento:#6D3DF0;--acento-suave:rgba(109,61,240,.10)}
.pv-est-kpis-ventas .pv-est-kpi:nth-child(2){--acento:#F20B52;--acento-suave:rgba(242,11,82,.08)}
.pv-est-kpis-ventas .pv-est-kpi:nth-child(3){--acento:#FF3158;--acento-suave:rgba(255,49,88,.08)}
.pv-est-kpis-ventas .pv-est-kpi:nth-child(4){--acento:#8A49ED;--acento-suave:rgba(138,73,237,.09)}
.pv-est-kpis-ventas .pv-est-kpi:nth-child(5){--acento:#0EA5E9;--acento-suave:rgba(14,165,233,.08)}
.pv-est-kpis-ventas .pv-est-kpi:nth-child(6){--acento:#EF4444;--acento-suave:rgba(239,68,68,.08)}
.pv-est-kpis-ventas .pv-est-kpi:nth-child(7){--acento:#18B86B;--acento-suave:rgba(24,184,107,.09)}
.pv-est-kpis-ventas .pv-est-kpi-top{min-height:25px;align-items:center}
.pv-est-kpis-ventas .pv-est-kpi-label{font-size:12.8px;font-weight:800;color:#1c2333}
.pv-est-kpis-ventas .pv-est-kpi-ico{width:25px;height:25px;border-radius:0;background:transparent;color:var(--acento)}
.pv-est-kpis-ventas .pv-est-kpi-ico svg{width:18px;height:18px}
.pv-est-kpis-ventas .pv-est-kpi-valor{font-size:clamp(22px,1.9vw,27px);font-weight:500;line-height:1.05;margin-top:1px;white-space:nowrap}
.pv-est-kpis-ventas .pv-est-kpi-trend-row{display:flex;align-items:center;gap:5px;min-height:18px;flex-wrap:wrap}
.pv-est-kpis-ventas .pv-est-trend{padding:0;border-radius:0;background:transparent!important;font-size:10.8px;font-weight:800}
.pv-est-kpis-ventas .pv-est-trend-vs{margin:0;color:inherit;font-size:10.8px;font-weight:800}
.pv-est-kpis-ventas .pv-est-trend.sube,.pv-est-kpis-ventas .pv-est-trend.sube+.pv-est-trend-vs{color:#12914f}
.pv-est-kpis-ventas .pv-est-trend.baja,.pv-est-kpis-ventas .pv-est-trend.baja+.pv-est-trend-vs{color:#e32732}
.pv-est-kpis-ventas .pv-est-kpi-cuerpo{flex:1;justify-content:flex-end;gap:4px;padding:0;min-height:0}
.pv-est-kpis-ventas .pv-est-kpi-sub{font-size:10.5px;line-height:1.32;color:#7f8ba0}
.pv-est-kpis-ventas .pv-est-nota{font-size:9.8px;line-height:1.3;padding:5px 7px;background:#f7f8fb}
.pv-est-kpis-ventas .pv-est-kpi-pie{align-self:stretch;margin:0;padding:2px 0 0;border:0;font-size:10.5px;line-height:1.25}
.pv-est-kpis-ventas .pv-est-kpi-pie .pv-est-kpi-flecha{margin-left:auto}
.pv-est-kpis-ventas .pv-est-kpi:first-child .pv-est-kpi-pie{justify-content:flex-end;color:#653be1}
.pv-est-kpis-ventas .pv-est-kpi:first-child .pv-est-kpi-pie .pv-est-kpi-flecha{margin-left:7px}
.pv-est-kpis-ventas button.pv-est-kpi-pie-preview{width:100%;height:auto;min-height:0;box-sizing:border-box;border:0;background:transparent;font-family:inherit!important;font-size:10.5px!important;font-weight:800!important;cursor:pointer}
.pv-est-total-formula{display:grid;gap:3px}
.pv-est-total-formula>span{display:flex;align-items:center;justify-content:space-between;gap:8px}
.pv-est-total-formula strong{color:#465268;font-weight:800;white-space:nowrap}
.pv-est-money-code{display:inline-block;margin-left:3px;color:inherit;font-size:.62em!important;font-weight:750!important;letter-spacing:.025em;opacity:.68;white-space:nowrap}
.pv-est-ventas-origen{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:4px}
.pv-est-ventas-origen>span{min-width:0;padding:5px 6px;border-radius:8px;background:#f1f3f8;white-space:nowrap}
.pv-est-ventas-origen>span:last-child{background:#eaf8f6}
.pv-est-ventas-origen>b{color:#8a95a9;text-align:center}
.pv-est-kpis-ventas .pv-est-kpi-ganancia .pv-est-kpi-sub{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;align-items:center}
.pv-est-kpis-ventas .pv-est-kpi-ganancia .pv-est-margen-pct{grid-column:1/-1;margin:0;color:#7450df;font-size:12px;font-weight:850}
.pv-est-kpis-ventas .pv-est-kpi-ganancia .pv-est-margen-linea{min-width:0;padding:4px 5px;border-radius:8px;background:#f1f3f8;font-size:9.5px;line-height:1.25;white-space:nowrap}
.pv-est-kpis-ventas .pv-est-kpi-ganancia .pv-est-margen-linea:last-child{background:#eaf8f6}
.pv-est-kpis-ventas .pv-est-kpi-ganancia .pv-est-margen-linea strong{font-size:10px}
.pv-est-ventas-panel{position:relative;border-color:#e5e8f1!important;border-radius:18px!important;box-shadow:0 9px 26px rgba(33,44,72,.065)!important;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.pv-est-ventas-panel:not(.pv-est-ventas-panel-grafica){overflow:hidden}
.pv-est-ventas-panel:not(.pv-est-ventas-panel-grafica):before{position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#16a9e8 0%,#753df3 48%,#f40654 100%);content:"";z-index:2;pointer-events:none}
.pv-est-ventas-panel:hover{border-color:#dcd4f2!important;box-shadow:0 13px 31px rgba(47,37,82,.09)!important}
.pv-est-ventas-panel .pv-est-card-head{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #edf0f5}
.pv-est-pedidos-grid{align-items:stretch}
.pv-est-pedidos-grid>.pv-est-ventas-panel{min-width:0;height:100%;box-sizing:border-box}
.pv-est-pedidos-shell .pv-est-leyenda-linea-simple{justify-content:center;border-color:#ece8f5;background:#fff}
.pv-est-pedidos-shell .pv-est-leyenda-linea-simple .pv-est-leyenda-linea-item{justify-content:center}
.pv-est-pedidos-shell .pv-est-grafica-cuerpo{background:#fff}
.pv-est-pedidos-estados-panel .pv-est-donut-ventas{min-height:270px}
.pv-est-pedidos-estados-panel .pv-est-leyenda-item{border-color:#e9e3f4;background:#fbfaff}
.pv-est-pedidos-pendientes-panel .pv-est-vacio{min-height:150px}
.pv-est-ventas-panel .pv-est-card-head h2{display:flex;align-items:center;gap:8px;color:#182033;font-size:15px;font-weight:850}
.pv-est-ventas-panel .pv-est-card-head h2:before{display:inline-block;flex:0 0 7px;width:7px;height:7px;border-radius:3px;background:linear-gradient(135deg,#7041ed,#d946ef);box-shadow:0 0 0 4px rgba(112,65,237,.08);content:""}
.pv-est-ventas-panel .pv-est-card-sub{max-width:640px;color:#8793a8;font-size:10.8px;line-height:1.45}
.pv-est-ventas-grid{align-items:stretch;gap:16px!important;margin-top:0!important}
.pv-est-ventas-shell .rv-reporte-bar-row{padding:10px 11px;border:1px solid transparent;border-radius:12px;background:#f8faff;transition:border-color .16s ease,background .16s ease}
.pv-est-ventas-shell .rv-reporte-bar-row:hover{border-color:#e2dcf3;background:#fbfaff}
.pv-est-ventas-shell .rv-reporte-bar-track{height:7px;border-radius:999px;background:#e9edf5}
.pv-est-ventas-shell .rv-reporte-bar-fill{border-radius:999px}
.pv-est-ventas-shell .pv-est-rank-item{margin-bottom:4px;padding:11px;border:1px solid transparent;border-radius:12px;background:#f8faff;transition:border-color .16s ease,background .16s ease,transform .16s ease}
.pv-est-ventas-shell .pv-est-rank-item:hover{border-color:#e3dcf5;background:#fbfaff;transform:translateY(-1px)}
.pv-est-ventas-shell .pv-est-rank-pos{width:27px;height:27px;border-radius:9px;background:#fff}
.pv-est-ventas-shell .pv-est-rank-item:first-child .pv-est-rank-pos{background:linear-gradient(145deg,#dff6fd,#ece7ff);color:#5e39cf}
.pv-est-ventas-shell .pv-est-rank-barra{height:5px;background:#e9edf5}
.pv-est-ventas-shell .pv-est-rank-barra i{background:linear-gradient(90deg,#7041ed,#19aee0)}
.pv-est-ventas-panel-grafica{overflow:hidden}
.pv-est-ventas-tabla-panel{overflow:hidden}
.pv-est-ventas-tabla-panel .pv-est-tabla-scroll{overflow:auto;border:1px solid #e7eaf1;border-radius:13px;background:#fff}
.pv-est-ventas-tabla-panel .pv-est-tabla-scroll table{margin:0!important}
.pv-est-ventas-tabla-panel .pv-est-tabla-scroll th{background:#f6f8fc!important;color:#7c899f!important;font-size:10px!important;font-weight:850!important;letter-spacing:.035em;text-transform:uppercase}
.pv-est-ventas-tabla-panel .pv-est-tabla-scroll td{border-color:#edf0f5!important;color:#344054;font-size:11.5px}
.pv-est-ventas-tabla-panel .pv-est-tabla-scroll tr:hover td{background:#fbfaff}
.pv-est-ventas-tabla-panel .pv-est-nota-corte{margin:12px 1px 0;padding:9px 11px;border-radius:10px;background:#f7f8fc;color:#7d899d;font-size:10.5px;line-height:1.45}
.pv-est-ventas-shell .pv-est-selector{border-radius:11px;background:#f2f4f9}
.pv-est-ventas-shell .pv-est-selector-op{border-radius:8px}
.pv-est-ventas-shell .pv-est-selector-op:hover{background:#eee9ff;color:#6133db}
.pv-est-ventas-shell .pv-est-selector-op.active{color:#fff!important;background:linear-gradient(135deg,#6d3df0 0%,#8b42ed 56%,#c239cf 100%);box-shadow:0 5px 13px rgba(109,61,240,.22)}
.pv-est-ventas-shell .pv-est-vermas{border-radius:10px;box-shadow:0 3px 10px rgba(55,43,93,.05)}

/* Gráfica comercial: la cabecera funciona como barra de análisis separada
   del lienzo. Así los controles no compiten con los datos ni parecen parte
   del propio gráfico. */
.pv-est-ventas-panel-grafica,.pv-est-grafica-detalle-card.pv-est-ventas-panel-grafica{padding:0!important;overflow:visible!important;border:0!important;background:transparent!important;box-shadow:none!important}
.pv-est-ventas-panel-grafica:hover{border:0!important;box-shadow:none!important;transform:none!important}
.pv-est-grafica-toolbar{position:relative;display:grid;grid-template-columns:minmax(190px,.8fr) minmax(315px,1.25fr) minmax(285px,1fr);align-items:center;gap:14px;overflow:hidden;padding:17px 20px 15px;border:1px solid #e5e0f1;border-radius:18px;background:#fff;box-shadow:0 9px 26px rgba(33,44,72,.065)}
.pv-est-grafica-toolbar:before{position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#16a9e8 0%,#753df3 48%,#f40654 100%);content:"";pointer-events:none}
/* La cabecera genérica trae título y Métrica dentro del mismo contenedor.
   display:contents permite que título, Métrica y Agrupación sean los tres
   bloques de una sola fila sin duplicar el marcado ni alterar sus enlaces. */
.pv-est-grafica-toolbar .pv-est-card-head{display:contents!important;margin:0!important;padding:0!important;border:0!important}
.pv-est-grafica-toolbar .pv-est-card-head>div:first-child{min-width:0}
.pv-est-grafica-toolbar .pv-est-card-actions{align-items:stretch;min-width:0;width:100%;gap:9px;flex-wrap:nowrap}
.pv-est-grafica-control{display:flex;flex-direction:column;min-width:0;width:100%;gap:4px}
.pv-est-grafica-control-label{padding-left:4px;color:#8a78aa;font-size:8.5px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.pv-est-grafica-control .pv-est-selector{width:100%;height:41px;min-height:41px;border-color:#e2daf7;background:#fff}
.pv-est-grafica-control .pv-est-selector-op{flex:1 1 auto;min-height:33px;padding-inline:9px!important}
.pv-est-grafica-agrupacion{display:block;min-width:0;margin:0;padding:0;border:0}
.pv-est-grafica-control-agrupacion{flex-direction:column;align-items:stretch;gap:4px}
.pv-est-grafica-control-agrupacion .pv-est-grafica-control-label{padding-left:4px;white-space:nowrap}
.pv-est-grafica-cuerpo{margin-top:14px;padding:16px 20px 20px;border:1px solid #e5e8f1;border-radius:18px;background:#fff;box-shadow:0 9px 26px rgba(33,44,72,.065)}
.pv-est-grafica-cuerpo .pv-est-leyenda-linea{justify-content:center;column-gap:20px;row-gap:6px;margin-bottom:16px;border:1px solid #ece8f5;background:#fff}
.pv-est-grafica-cuerpo .pv-est-leyenda-resultado{justify-content:center;column-gap:20px;row-gap:6px;padding:2px 0 13px;border:0;background:transparent}
.pv-est-grafica-cuerpo .pv-est-leyenda-resultado .pv-est-leyenda-linea-item{gap:7px}
.pv-est-grafica-cuerpo .pv-est-leyenda-resultado .pv-est-leyenda-linea-item i{width:12px;height:12px;border-radius:3px}
.pv-est-grafica-cuerpo .pv-est-chart-wrap{border-radius:14px;background:#fff}
.pv-est-pedidos-evolucion-insights{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.pv-est-pedidos-evolucion-insights article{position:relative;display:flex;min-width:0;min-height:92px;box-sizing:border-box;flex-direction:column;justify-content:center;overflow:hidden;padding:13px 14px 12px 17px;border:1px solid #e9e5f2;border-radius:14px;background:linear-gradient(135deg,#fff 0%,#fff 76%,rgba(112,65,237,.055) 100%)}
.pv-est-pedidos-evolucion-insights article:before{position:absolute;inset:0 auto 0 0;width:4px;background:#7041ed;content:""}
.pv-est-pedidos-evolucion-insights article:nth-child(2):before{background:#0ea5e9}.pv-est-pedidos-evolucion-insights article:nth-child(3):before{background:#b33be1}.pv-est-pedidos-evolucion-insights article:nth-child(4):before{background:#ef0b55}
.pv-est-pedidos-evolucion-insights article>span{color:#7b879c;font-size:9.5px;font-weight:850;letter-spacing:.035em;text-transform:uppercase}
.pv-est-pedidos-evolucion-insights article>strong{display:block;overflow:hidden;margin-top:5px;color:#182033;font-size:18px;font-weight:850;line-height:1.15;letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap}
.pv-est-pedidos-evolucion-insights article>small{margin-top:5px;color:#909aad;font-size:9.5px;font-weight:600;line-height:1.3}
.pv-est-pedidos-evolucion-insights .is-up{color:#139153}.pv-est-pedidos-evolucion-insights .is-down{color:#df3342}.pv-est-pedidos-evolucion-insights .is-neutral{color:#69758a}
.pv-est-pedidos-metricas-franja{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;margin-bottom:10px;padding:7px;border:1px solid #ebe6f5;border-radius:13px;background:#fbfaff}
.pv-est-pedidos-metrica-franja{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:34px;box-sizing:border-box;padding:6px 10px;border:1px solid transparent;border-radius:10px;color:#68758a;white-space:nowrap}
.pv-est-pedidos-metrica-franja>i{display:block;flex:0 0 10px;width:10px;height:10px;border-radius:3px}
.pv-est-pedidos-metrica-franja>span{font-size:10.5px;font-weight:750}
.pv-est-pedidos-metrica-franja>strong{color:#192133;font-size:12.5px;font-weight:850}
.pv-est-pedidos-metrica-franja.is-active{border-color:#ded4f7;background:#fff;box-shadow:0 4px 12px rgba(63,43,105,.065)}
.pv-est-pedidos-metrica-franja.is-active>span{color:#5d3bc4}
.pv-est-pedidos-evolucion-leyenda{margin-top:0;margin-bottom:10px!important;padding:9px 14px!important;border-color:#ebe6f5!important;background:#fff!important}
.pv-est-pedidos-evolucion-leyenda .pv-est-leyenda-linea-item{justify-content:center}
.pv-est-pedidos-evolucion .pv-est-chart-wrap{overflow:hidden;border:1px solid #f0edf5;border-radius:15px;background:#fff}
.pv-est-preview-dialog[id^="pv-est-preview-pedidos-periodo-"]{width:min(1120px,calc(100vw - 32px));max-width:1120px}
.pv-est-preview-pedidos-periodo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}
.pv-est-preview-pedidos-periodo article{display:flex;min-width:0;flex-direction:column;padding:13px 14px;border:1px solid #e7e2f0;border-left:4px solid #7041ed;border-radius:13px;background:#fff}
.pv-est-preview-pedidos-periodo article:nth-child(2){border-left-color:#0ea5e9}.pv-est-preview-pedidos-periodo article:nth-child(3){border-left-color:#a33ce3}
.pv-est-preview-pedidos-periodo span{color:#778399;font-size:9.5px;font-weight:850;text-transform:uppercase;letter-spacing:.035em}
.pv-est-preview-pedidos-periodo strong{margin-top:5px;color:#20283a;font-size:18px;font-weight:850;line-height:1.15}
.pv-est-preview-pedidos-periodo small{margin-top:4px;color:#9099aa;font-size:9.5px;line-height:1.3}
.pv-est-grafica-detalle-card .pv-est-detalle-periodo{margin:14px 0 0}

/* Todas las tarjetas comerciales comparten el borde superior continuo de
   Noalyx; se eliminan los fragmentos violeta que cortaban el degradado. */
.pv-est-ventas-panel-categorias,.pv-est-ventas-panel-estados{border-top:1px solid #e5dff2!important}
.pv-est-ventas-panel-categorias:after,.pv-est-ventas-panel-estados:after{content:none!important;display:none!important}
.pv-est-ventas-productos-panel,.pv-est-ventas-documentos-panel{border-top:1px solid #e5dff2!important}
.pv-est-ventas-productos-panel:after,.pv-est-ventas-documentos-panel:after{content:none!important;display:none!important}
.pv-est-categorias-lista{display:grid;gap:10px}
.pv-est-ventas-shell .pv-est-categoria-row{position:relative;padding:12px 13px 11px;border-color:#eee9f7;background:linear-gradient(115deg,#fff 0%,#fbf9ff 100%);box-shadow:0 4px 13px rgba(76,50,125,.035)}
.pv-est-ventas-shell .pv-est-categoria-row:hover{border-color:#d9cdf5;background:#faf7ff;box-shadow:0 7px 17px rgba(76,50,125,.075);transform:translateY(-1px)}
.pv-est-categoria-row .rv-reporte-bar-head{align-items:center;margin-bottom:9px}
.pv-est-categoria-titulo{display:flex;align-items:center;gap:9px;min-width:0;font-weight:780}
.pv-est-categoria-titulo a{color:#3b3154!important;font-weight:780;text-decoration:none!important}
.pv-est-categoria-titulo a:hover{color:#6d3df0!important}
.pv-est-categoria-pos{display:inline-flex;align-items:center;justify-content:center;flex:0 0 27px;width:27px;height:27px;border-radius:9px;background:#eee8ff;color:#7041ed;font-size:9px;font-weight:900;letter-spacing:.04em}
.pv-est-categoria-row .rv-reporte-bar-head>strong{color:#241a36;font-size:13px;font-weight:850;white-space:nowrap}
.pv-est-ventas-shell .pv-est-categoria-row .rv-reporte-bar-track{height:8px;background:#eeeaf5;box-shadow:inset 0 1px 2px rgba(54,38,86,.06)}
.pv-est-ventas-shell .pv-est-categoria-row .rv-reporte-bar-fill{background:linear-gradient(90deg,#6233e7 0%,var(--pv-est-categoria-acento) 62%,#d743d5 100%);box-shadow:0 2px 7px rgba(109,61,240,.24)}
.pv-est-categoria-row .pv-est-bar-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:7px;color:#8b819c}
.pv-est-categoria-row .pv-est-bar-meta span+span:before{margin-right:8px;color:#c4b8da;content:"•"}
.pv-est-categoria-row .pv-est-bar-meta strong{margin-left:auto;color:#7450d8;font-size:10.5px;font-weight:850}
.pv-est-donut-ventas{padding:3px 4px 2px}
.pv-est-donut-ventas .pv-est-chart-wrap{box-sizing:border-box;padding:9px;border:1px solid #eee8fa;border-radius:24px;background:radial-gradient(circle at center,#fff 0 44%,#f8f4ff 45% 70%,#fff 71%);box-shadow:inset 0 0 28px rgba(109,61,240,.045)}
.pv-est-donut-ventas .pv-est-leyenda{gap:7px}
.pv-est-donut-ventas .pv-est-leyenda-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:3px 10px;padding:10px 11px;border:1px solid #eee9f7;border-radius:12px;background:#fcfbff}
.pv-est-donut-ventas .pv-est-leyenda-item:hover{border-color:#d8ccf5;background:#f8f4ff;transform:translateX(2px)}
.pv-est-donut-ventas .pv-est-leyenda-item i{grid-row:1/3;width:10px;height:28px;border-radius:6px;align-self:center}
.pv-est-donut-ventas .pv-est-leyenda-item span{color:#433655;font-weight:750}
.pv-est-donut-ventas .pv-est-leyenda-item strong{color:#281b3d;font-size:14px}
.pv-est-donut-ventas .pv-est-leyenda-item small{grid-column:2/4;color:#8b7e9f}
.pv-est-donut-clientes .pv-est-leyenda-item{width:100%;box-sizing:border-box;margin:0;font:inherit;text-align:left;cursor:pointer}
.pv-est-donut-clientes button.pv-est-leyenda-item{appearance:none;-webkit-appearance:none;color:inherit}
.pv-est-donut-clientes button.pv-est-leyenda-item:focus-visible{outline:2px solid rgba(111,61,238,.55);outline-offset:2px}
.pv-est-donut-clientes button.pv-est-leyenda-item:hover{border-color:#cdbdf5;background:#f6f1ff;box-shadow:0 6px 15px rgba(109,61,240,.09);transform:translateY(-1px)}
.pv-est-donut-clientes .pv-est-leyenda-item.is-top{border-color:#d7c9fb;background:linear-gradient(110deg,#fbf9ff 0%,#f5efff 100%);box-shadow:0 5px 15px rgba(109,61,240,.08)}
.pv-est-ventas-panel-estados .pv-est-donut-split{grid-template-columns:minmax(0,1fr);align-items:start;gap:14px}
.pv-est-ventas-panel-estados .pv-est-donut-clientes .pv-est-chart-wrap{width:min(100%,280px);margin-inline:auto}
.pv-est-ventas-panel-estados .pv-est-donut-clientes .pv-est-leyenda{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:6px 8px}
.pv-est-donut-clientes .pv-est-leyenda{gap:5px}
.pv-est-donut-clientes .pv-est-leyenda-item{grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto auto;gap:1px 8px;padding:6px 8px}
.pv-est-donut-clientes .pv-est-leyenda-item i{grid-row:1/3;width:8px;height:22px}
.pv-est-donut-clientes .pv-est-leyenda-item span{grid-column:2;grid-row:1;overflow:hidden;font-size:10.5px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.pv-est-donut-clientes .pv-est-leyenda-item strong{grid-column:3;grid-row:1;justify-self:end;font-size:11.5px;line-height:1.2;white-space:nowrap}
.pv-est-donut-clientes .pv-est-leyenda-item small{grid-column:2/4;grid-row:2;overflow:hidden;font-size:9px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.pv-est-mini-pager.pv-pagination-standard{margin-top:14px!important}
html body #pvf-shell .pv-est-mini-pager.pv-pagination-standard{display:grid!important;grid-template-columns:34px minmax(104px,auto) 34px!important;gap:7px!important;width:max-content!important;margin:14px auto 0!important;padding:6px!important;border:1px solid #e5def4!important;border-radius:13px!important;background:#fbf9ff!important;box-shadow:0 5px 14px rgba(71,48,119,.055)!important}
html body #pvf-shell .pv-est-mini-pager.pv-pagination-standard>.pv-page-arrow{width:34px!important;min-width:34px!important;max-width:34px!important;height:34px!important;min-height:34px!important;max-height:34px!important;border-radius:9px!important}
html body #pvf-shell .pv-est-mini-pager.pv-pagination-standard>.pv-page-indicator{display:flex!important;min-width:104px!important;height:34px!important;min-height:34px!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:1px!important;padding:0 8px!important;color:#675b79!important;font-size:10px!important;line-height:1.05!important}
html body #pvf-shell .pv-est-mini-pager.pv-pagination-standard>.pv-page-indicator small{color:#9a8eac!important;font-size:8.5px!important;font-weight:750!important}

/* Tablas de trazabilidad: misma lectura, con jerarquía visual y controles
   Noalyx. No se altera el orden ni el contenido de ninguna columna. */
.pv-est-ventas-tabla-panel{padding:20px!important}
.pv-est-ventas-tabla-panel .pv-est-card-head{align-items:center;margin-bottom:15px}
.pv-est-ventas-tabla-panel .pv-est-card-actions{gap:9px}
.pv-est-productos-acciones{display:flex;align-items:center;gap:9px;min-width:0}
.pv-est-descargar-productos-pdf{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;min-height:38px;box-sizing:border-box;padding:0 14px;border:0;border-radius:11px;background:linear-gradient(100deg,#713bf0 0%,#b923c2 56%,#ef0b55 100%);color:#fff;font:inherit;font-size:11.5px;font-weight:850;white-space:nowrap;cursor:pointer;box-shadow:0 6px 14px rgba(177,35,181,.16);transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}
.pv-est-descargar-productos-pdf svg{width:15px;height:15px;flex:0 0 auto}
.pv-est-descargar-productos-pdf:hover{color:#fff;transform:translateY(-1px);box-shadow:0 8px 18px rgba(177,35,181,.23);filter:saturate(1.06)}
.pv-est-descargar-productos-pdf:disabled{cursor:wait;opacity:.72;transform:none}
.pv-est-ventas-tabla-panel .pv-est-vermas,.pv-est-ventas-tabla-panel .pv-est-btn-sec{min-height:38px;box-sizing:border-box;border:1px solid #d9cdf5!important;border-radius:11px!important;padding:0 14px!important;background:#fff;color:#6537de!important;box-shadow:0 4px 12px rgba(91,59,151,.06);font-weight:800}
.pv-est-ventas-tabla-panel .pv-est-vermas:hover,.pv-est-ventas-tabla-panel .pv-est-btn-sec:hover{border-color:#7041ed!important;background:#f5f1ff;color:#5728d2!important;box-shadow:0 6px 15px rgba(91,59,151,.12)}
/* Acciones de detalle: degradado de marca consistente en todo Ventas. */
.pv-est-ventas-shell .pv-est-vermas{border-color:transparent!important;background:linear-gradient(100deg,#713bf0 0%,#b923c2 56%,#ef0b55 100%)!important;color:#fff!important;box-shadow:0 6px 14px rgba(177,35,181,.16)!important}
.pv-est-ventas-shell .pv-est-vermas:hover{border-color:transparent!important;background:linear-gradient(100deg,#6332df 0%,#ab1db4 56%,#df064d 100%)!important;color:#fff!important;box-shadow:0 8px 18px rgba(177,35,181,.23)!important;transform:translateY(-1px)}
.pv-est-ventas-shell button.pv-est-vermas{width:auto!important;min-width:0!important;height:34px!important;min-height:34px!important;box-sizing:border-box;padding:0 12px!important;gap:5px;font-family:inherit!important;font-size:11.5px!important;font-weight:800!important;line-height:1!important;cursor:pointer}

/* Vista previa de rankings: permanece dentro de Estadísticas de Ventas y
   usa el mismo lenguaje visual violeta/rojo de Noalyx. */
.pv-est-preview-dialog{width:min(760px,calc(100vw - 32px));max-width:760px;max-height:min(82vh,760px);box-sizing:border-box;margin:auto;padding:0;overflow:hidden;border:1px solid rgba(111,61,238,.18);border-radius:22px;background:#f8f9fd;color:#182033;box-shadow:0 30px 80px rgba(28,21,54,.28)}
.pv-est-preview-dialog::backdrop{background:rgba(21,20,35,.48);backdrop-filter:blur(7px)}
.pv-est-preview-dialog[open]{animation:pvEstPreviewEntrada .18s ease-out both}
@keyframes pvEstPreviewEntrada{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
.pv-est-preview-shell{display:flex;max-height:min(82vh,760px);flex-direction:column;min-height:0}
.pv-est-preview-head{position:relative;display:flex;align-items:center;gap:14px;flex:0 0 auto;box-sizing:border-box;padding:21px 64px 19px 22px;border-bottom:1px solid #e7e2f1;background:linear-gradient(118deg,#fff 0%,#fcf8ff 66%,#fff3f8 100%)}
.pv-est-preview-head:before{position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#16a9e8 0%,#753df3 48%,#f40654 100%);content:""}
.pv-est-preview-ico{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,#713bf0 0%,#b923c2 58%,#ef0b55 100%);color:#fff;box-shadow:0 9px 20px rgba(177,35,181,.22)}
.pv-est-preview-ico svg{width:20px;height:20px}
.pv-est-preview-copy{min-width:0}
.pv-est-preview-copy>span{display:block;margin-bottom:2px;color:#7548e4;font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.pv-est-preview-copy h2{margin:0;color:#182033;font-size:19px;font-weight:850;letter-spacing:-.02em}
.pv-est-preview-copy p{margin:4px 0 0;color:#7d899e;font-size:11px;line-height:1.4}
.pv-est-preview-close{position:absolute;top:18px;right:18px;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid #e3dded;border-radius:11px;background:#fff;color:#675b7a;font:500 25px/1 system-ui,sans-serif;cursor:pointer;box-shadow:0 4px 12px rgba(42,32,68,.06)}
.pv-est-preview-close:hover{border-color:#cfc2ed;background:#f5f0ff;color:#6738e8}
.pv-est-preview-close:focus-visible{outline:2px solid rgba(111,61,238,.45);outline-offset:2px}
.pv-est-preview-body{min-height:0;padding:17px 18px 19px;overflow:auto;background:#f8f9fd}
.pv-est-preview-body .pv-est-ranking{gap:6px}
.pv-est-preview-body .pv-est-rank-item{margin:0;padding:12px 13px;border:1px solid #eae5f2;border-radius:13px;background:#fff;box-shadow:0 4px 12px rgba(43,35,71,.035)}
.pv-est-preview-body .pv-est-rank-item:hover{border-color:#ddd2f3;background:#fdfbff}
.pv-est-preview-body .pv-est-rank-pos{width:28px;height:28px;border-radius:9px;background:#f4f0ff;color:#6840da}
.pv-est-preview-body .pv-est-rank-item:first-child .pv-est-rank-pos{border-color:transparent;background:linear-gradient(145deg,#e5f7fc,#eee8ff);color:#5e39cf}
.pv-est-preview-body .pv-est-rank-barra{height:5px;background:#ece8f4}
.pv-est-preview-body .pv-est-rank-barra i{background:linear-gradient(90deg,#7041ed,#d839b9);opacity:.8}
.pv-est-preview-total{display:grid;gap:13px}
.pv-est-preview-total-hero{position:relative;overflow:hidden;padding:17px 18px;border:1px solid #dfd5f5;border-radius:15px;background:linear-gradient(120deg,#fff 0%,#f6f1ff 62%,#fff2f7 100%)}
.pv-est-preview-total-hero:before{position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#16a9e8 0%,#753df3 48%,#f40654 100%);content:""}
.pv-est-preview-total-hero>span{display:block;color:#76688b;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.045em}
.pv-est-preview-total-hero>strong{display:block;margin-top:5px;color:#1c2435;font-size:28px;font-weight:850;line-height:1.05;letter-spacing:-.025em}
.pv-est-preview-total-hero>p{margin:6px 0 0;color:#7f8ba0;font-size:10.8px}
.pv-est-preview-formula{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.pv-est-preview-formula article,.pv-est-preview-origenes article{display:flex;min-width:0;flex-direction:column;gap:4px;padding:13px;border:1px solid #e8e4f0;border-left:4px solid var(--pv-est-preview-acento,#7041ed);border-radius:12px;background:#fff}
.pv-est-preview-formula .is-bruto{--pv-est-preview-acento:#7041ed}.pv-est-preview-formula .is-descuento{--pv-est-preview-acento:#f04455}.pv-est-preview-formula .is-impuesto{--pv-est-preview-acento:#a341e7}
.pv-est-preview-formula span,.pv-est-preview-origenes span{color:#6e798d;font-size:10px;font-weight:800}
.pv-est-preview-formula strong,.pv-est-preview-origenes strong{color:#242c3d;font-size:15px;font-weight:850;white-space:nowrap}
.pv-est-preview-formula small,.pv-est-preview-origenes small{color:#929caf;font-size:9.5px;line-height:1.35}
.pv-est-preview-origenes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pv-est-preview-origenes article:first-child{--pv-est-preview-acento:#16a9e8}.pv-est-preview-origenes article:last-child{--pv-est-preview-acento:#ef0b55}
@media(max-width:700px){
    .pv-est-preview-dialog{width:calc(100vw - 18px);max-height:88vh;border-radius:18px}
    .pv-est-preview-shell{max-height:88vh}
    .pv-est-preview-head{align-items:flex-start;padding:18px 54px 16px 16px}
    .pv-est-preview-ico{flex-basis:38px;width:38px;height:38px;border-radius:12px}
    .pv-est-preview-copy h2{font-size:16px}
    .pv-est-preview-copy p{font-size:10.5px}
    .pv-est-preview-close{top:13px;right:13px;width:34px;height:34px}
    .pv-est-preview-body{padding:12px}
    .pv-est-preview-total-hero>strong{font-size:23px}
    .pv-est-preview-formula{grid-template-columns:1fr}
    .pv-est-preview-origenes{grid-template-columns:1fr}
}
.pv-est-ventas-tabla-panel .pv-est-tabla-scroll{border-color:#e4dff0;border-radius:14px;box-shadow:0 5px 18px rgba(46,33,74,.035)}
.pv-est-tabla-noalyx{border-collapse:separate!important;border-spacing:0!important;min-width:1120px}
.pv-est-ventas-tabla-panel .pv-est-tabla-noalyx thead th{position:sticky;top:0;z-index:1;height:42px;padding:0 12px!important;border-bottom:1px solid #ddd4ef!important;background:linear-gradient(180deg,#f7f4ff 0%,#f3f1fa 100%)!important;color:#74668d!important}
.pv-est-tabla-noalyx th.num,.pv-est-tabla-noalyx td.num{text-align:right!important}
.pv-est-ventas-tabla-panel .pv-est-tabla-noalyx tbody td{height:50px;padding:0 12px!important;background:#fff}
.pv-est-ventas-tabla-panel .pv-est-tabla-noalyx tbody tr:nth-child(even) td{background:#fcfbfe}
.pv-est-ventas-tabla-panel .pv-est-tabla-noalyx tbody tr:hover td{background:#f8f5ff!important}
.pv-est-td-principal strong{color:#322543;font-weight:800}
.pv-est-td-destacado,.pv-est-td-destacado strong{color:#44218f!important;font-weight:850!important}
.pv-est-td-margen{color:#16846b!important;font-weight:800}
.pv-est-tabla-codigo{display:inline-flex;padding:4px 7px;border:1px solid #e4dff0;border-radius:7px;background:#f8f7fb;color:#746a83;font-size:10px;font-weight:800;letter-spacing:.025em;white-space:nowrap}
.pv-est-tabla-tag{display:inline-flex;padding:4px 8px;border-radius:999px;background:#f0ebff;color:#6539cf;font-size:10px;font-weight:800;white-space:nowrap}
.pv-est-participacion{display:grid;grid-template-columns:minmax(42px,70px) auto;align-items:center;justify-content:end;gap:7px}
.pv-est-participacion:before{grid-column:1;grid-row:1;width:100%;height:5px;border-radius:999px;background:#ece7f4;content:""}
.pv-est-participacion i{grid-column:1;grid-row:1;display:block;max-width:100%;height:5px;border-radius:999px;background:linear-gradient(90deg,#6d3df0,#cf3bb7)}
.pv-est-participacion b{grid-column:2;grid-row:1;color:#6c5c82;font-size:10.5px;font-weight:800;white-space:nowrap}
.pv-est-tabla-documentos .pv-est-cod{display:inline-flex;align-items:center;justify-content:center;min-width:37px;padding:4px 7px;border-radius:7px;background:#f0ebff;color:#6539cf;font-size:10px;font-weight:850}

/* Paginación integrada: registro y navegación comparten una sola fila en
   escritorio. Se elimina la doble suma de márgenes/paddings del paginador
   global que hacía crecer innecesariamente el pie de la tarjeta. */
.pv-est-paginacion-integrada{display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;margin-top:10px!important;padding-top:10px!important}
.pv-est-paginacion-integrada>.pv-est-pag-registros{grid-column:1;white-space:nowrap}
html body #pvf-shell .pv-est-paginacion-integrada>.pv-pagination-standard{grid-column:2;grid-template-columns:40px minmax(108px,auto) 40px!important;gap:8px!important;width:auto!important;margin:0!important;padding:0!important}
html body #pvf-shell .pv-est-paginacion-integrada>.pv-pagination-standard>.pv-page-arrow{width:40px!important;min-width:40px!important;max-width:40px!important;height:40px!important;min-height:40px!important;max-height:40px!important;border-radius:11px!important}
html body #pvf-shell .pv-est-paginacion-integrada>.pv-pagination-standard>.pv-page-indicator{min-width:108px!important;min-height:40px!important;height:40px!important;padding:0 5px!important;font-size:11.5px!important}
@media(max-width:700px){
    .pv-est-paginacion-integrada{grid-template-columns:1fr;justify-items:center;gap:6px;margin-top:8px!important;padding-top:8px!important}
    .pv-est-paginacion-integrada>.pv-est-pag-registros{grid-column:1;text-align:center}
    html body #pvf-shell .pv-est-paginacion-integrada>.pv-pagination-standard{grid-column:1}
}
.pv-est-kpi{
    /* Acento por defecto (gris pizarra). Cada modificador de abajo solo
       cambia estas dos variables — el resto del diseño no se toca. */
    --acento:#475569;--acento-suave:rgba(71,85,105,.10);
    display:flex;flex-direction:column;gap:9px;
    padding:16px 17px 0;border-radius:14px;
    background:var(--pv-surface);border:1px solid var(--pv-border);
    box-shadow:0 1px 2px rgba(16,24,40,.04);
    transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease
}
.pv-est-kpi.green {--acento:#15803D;--acento-suave:rgba(21,128,61,.11)}
.pv-est-kpi.teal  {--acento:#0D9488;--acento-suave:rgba(13,148,136,.11)}
.pv-est-kpi.coral {--acento:#DC2626;--acento-suave:rgba(220,38,38,.10)}
.pv-est-kpi.orange{--acento:#C2620A;--acento-suave:rgba(194,98,10,.11)}
.pv-est-kpi.purple{--acento:#6D28D9;--acento-suave:rgba(109,40,217,.10)}
.pv-est-kpi-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.pv-est-kpi-titulo-grupo{display:flex;align-items:center;gap:7px;min-width:0}
.pv-est-kpi-label{font-size:12px;font-weight:600;color:var(--pv-muted);line-height:1.35}
.pv-est-kpi-ico{
    display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
    width:32px;height:32px;border-radius:10px;
    background:var(--acento-suave);color:var(--acento)
}
.pv-est-kpi-ico svg{width:16px;height:16px}
.pv-est-kpi-valor{font-size:26px;font-weight:800;line-height:1.05;letter-spacing:-.02em;color:var(--pv-ink);word-break:break-word}
.pv-est-kpi-valor small{font-size:12px;font-weight:600;color:var(--pv-muted);letter-spacing:0;margin-left:3px}
/* Tendencia como pastilla: se lee de un vistazo sin competir con el número */
.pv-est-trend{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:700}
.pv-est-trend-flecha{font-size:9px;line-height:1}
.pv-est-trend.sube{background:#DCFCE7;color:#166534}
.pv-est-trend.baja{background:#FEE2E2;color:#991B1B}
.pv-est-trend-nada{background:none;padding:0;color:var(--pv-muted);font-weight:500;font-size:11px}
.pv-est-trend-vs{font-size:10.5px;color:var(--pv-muted);margin-left:-2px}
/* Empuja el pie hacia abajo para que quede a la misma altura en toda la fila */
.pv-est-kpi-cuerpo{flex:1;display:flex;flex-direction:column;gap:6px;padding-bottom:14px}
.pv-est-kpi-sub{font-size:11.5px;color:var(--pv-muted);line-height:1.45}
.pv-est-nota{font-size:10.5px;color:var(--pv-muted);line-height:1.5;background:var(--pv-bg);border-radius:8px;padding:6px 9px}
.pv-est-nota-ayuda{position:relative;align-self:flex-start;margin-top:2px;z-index:3}
.pv-est-nota-ayuda-titulo{margin:0;flex:0 0 auto}
.pv-est-nota-ayuda-titulo>summary{width:22px;height:22px;font-size:11px}
.pv-est-nota-ayuda-titulo .pv-est-nota-popover{left:-8px;bottom:auto;top:30px}
.pv-est-nota-ayuda-titulo .pv-est-nota-popover:after{left:13px;top:-6px;bottom:auto;border:0;border-left:1px solid #ddd4fb;border-top:1px solid #ddd4fb}
.pv-est-nota-ayuda>summary{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;box-sizing:border-box;border:1px solid rgba(111,66,223,.28);border-radius:50%;background:#f4f0ff;color:#6f42df;font-size:13px;font-weight:900;cursor:pointer;list-style:none;transition:background .16s ease,border-color .16s ease}
.pv-est-nota-ayuda>summary::-webkit-details-marker{display:none}
.pv-est-nota-ayuda>summary:hover,.pv-est-nota-ayuda[open]>summary{background:#e9e0ff;border-color:#7b4aec}
.pv-est-nota-ayuda>summary:focus-visible{outline:2px solid rgba(111,66,223,.45);outline-offset:2px}
.pv-est-nota-popover{position:absolute;left:0;bottom:34px;width:250px;box-sizing:border-box;display:flex;flex-direction:column;gap:5px;padding:12px 13px;border:1px solid #ddd4fb;border-radius:12px;background:#fff;color:#667085;font-size:10.8px;line-height:1.5;box-shadow:0 12px 28px rgba(32,38,60,.16);z-index:12}
.pv-est-nota-popover:after{content:"";position:absolute;left:8px;bottom:-6px;width:10px;height:10px;background:#fff;border-right:1px solid #ddd4fb;border-bottom:1px solid #ddd4fb;transform:rotate(45deg)}
.pv-est-nota-popover strong{color:#272f40;font-size:11.5px}
.pv-est-nota-popover span{display:block}
.pv-est-margen-pct,.pv-est-margen-linea{display:block}
.pv-est-margen-pct{margin-bottom:4px;font-weight:750;color:#6d7890}
.pv-est-margen-linea{line-height:1.55}
.pv-est-margen-linea strong{color:#465268;font-weight:800}
/* Pie clicable — la señal explícita de "acá hay más". La tarjeta entera es
   el enlace, esto es lo que lo hace evidente. */
.pv-est-kpi-pie{
    display:flex;align-items:center;justify-content:space-between;gap:8px;
    margin:0 -17px;padding:10px 17px;border-top:1px solid var(--pv-border);
    font-size:11.5px;font-weight:700;color:var(--acento)
}
.pv-est-kpi-pie-link{text-decoration:none!important}
.pv-est-kpi-pie-link:hover .pv-est-kpi-flecha{transform:translateX(3px)}
.pv-est-kpi-flecha{transition:transform .16s ease}
.pv-est-kpi-link{text-decoration:none;color:inherit!important;cursor:pointer}
.pv-est-kpi-link:hover{border-color:var(--acento);box-shadow:0 4px 14px rgba(16,24,40,.08);transform:translateY(-2px)}
.pv-est-kpi-link:hover .pv-est-kpi-flecha{transform:translateX(3px)}
.pv-est-kpi-link:focus-visible{outline:2px solid var(--acento);outline-offset:2px}

/* Tira de desglose por moneda (no es un KPI, es la letra chica del total) */
.pv-est-tira-monedas{display:flex;align-items:center;gap:13px;flex-wrap:wrap;background:var(--pv-surface);border:1px solid var(--pv-border);border-radius:13px;padding:12px 17px}
.pv-est-tira-ico{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;background:var(--pv-bg);color:var(--pv-muted2);flex-shrink:0}
.pv-est-tira-ico svg{width:15px;height:15px}
.pv-est-tira-txt{display:flex;flex-direction:column;gap:1px;min-width:0}
.pv-est-tira-txt strong{font-size:12.5px;font-weight:700}
.pv-est-tira-txt small{font-size:11px;color:var(--pv-muted)}
.pv-est-tira-valores{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}
.pv-est-tira-moneda{display:inline-flex;align-items:center;gap:6px;background:var(--pv-bg);border:1px solid var(--pv-border);border-radius:9px;padding:5px 11px;font-size:12.5px;font-weight:700;white-space:nowrap}
.pv-est-tira-moneda .pv-est-cod{font-size:10px;font-weight:800;color:var(--pv-muted2)}

/* Tarjetas */
.pv-est-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.pv-est-card-head h2{margin:0;font-size:14.5px;font-weight:700}
.pv-est-card-sub{margin:3px 0 0;font-size:11.5px;color:var(--pv-muted)}
.pv-est-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pv-est-vermas{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--pv-border2);background:var(--pv-surface);font-size:11.5px;font-weight:700;color:var(--pv-primary-dark)!important;text-decoration:none;white-space:nowrap}
.pv-est-vermas:hover{background:rgba(var(--pv-primary-rgb),.09);border-color:var(--pv-primary)}
.pv-est-vermas span{transition:transform .16s ease}
.pv-est-vermas:hover span{transform:translateX(3px)}
.pv-est-grid-2-3{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:18px}
.pv-est-tres-bloques{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}

/* Selectores tipo segmento */
.pv-est-selector{display:inline-flex;background:var(--pv-bg);border:1px solid var(--pv-border);border-radius:999px;padding:3px;gap:2px}
.pv-est-selector-op{padding:5px 11px;border-radius:999px;font-size:11.5px;font-weight:600;color:var(--pv-muted2);text-decoration:none;white-space:nowrap}
.pv-est-selector-op:hover{color:var(--pv-ink)}
.pv-est-selector-op.active{background:var(--pv-surface);color:var(--pv-primary-dark);font-weight:800;box-shadow:0 1px 2px rgba(16,24,40,.08)}

/* ---- Rankings ----
   IMPORTANTE, la causa del desborde que se veía: los hijos de un CSS Grid
   tienen min-width:auto, no 0. Con nombres de producto largos ("Cable #12
   resistivo niquelado con doble forro...") el contenido imponía un ancho
   mínimo mayor que su 1fr, la columna crecía, y la tarjeta de la derecha se
   salía de la pantalla con barra de desplazamiento horizontal. min-width:0
   deja que la columna se encoja de verdad y que el texto se acomode
   adentro. Va limitado a .pv-est-page para no tocar el resto del sistema. */
.pv-est-page .rv-reporte-grid-2>*,
.pv-est-page .pv-est-grid-2-3>*,
.pv-est-page .pv-est-tres-bloques>*{min-width:0}

.pv-est-ranking{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}
.pv-est-rank-item{display:flex;align-items:flex-start;gap:11px;padding:10px 9px;border-radius:11px;min-width:0}
.pv-est-rank-item:hover{background:var(--pv-bg)}
.pv-est-rank-pos{flex-shrink:0;width:23px;height:23px;margin-top:1px;border-radius:8px;background:var(--pv-bg);border:1px solid var(--pv-border);display:inline-flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:800;color:var(--pv-muted2)}
.pv-est-rank-item:first-child .pv-est-rank-pos{background:rgba(var(--pv-primary-rgb),.16);border-color:transparent;color:var(--pv-primary-dark)}
.pv-est-rank-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.pv-est-rank-fila{display:flex;align-items:baseline;justify-content:space-between;gap:12px;min-width:0}
/* El nombre se corta a 2 líneas en vez de empujar el ancho de la tarjeta:
   con una sola línea y "..." se perdía demasiada descripción, y sin límite
   una lista de 5 productos se volvía altísima. */
.pv-est-rank-nombre{
    flex:1;min-width:0;font-size:13px;font-weight:700;line-height:1.35;color:var(--pv-ink);text-decoration:none;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere
}
a.pv-est-rank-nombre:hover{color:var(--pv-primary-dark);text-decoration:underline}
.pv-est-rank-valor{flex-shrink:0;font-size:13.5px;font-weight:800;white-space:nowrap;color:var(--pv-ink)}
.pv-est-rank-valor small{font-size:10.5px;font-weight:600;color:var(--pv-muted);margin-left:2px}
.pv-est-rank-fila-sub{align-items:center}
.pv-est-rank-meta{flex:1;min-width:0;display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:11px;color:var(--pv-muted);overflow-wrap:anywhere}
.pv-est-rank-sub{flex-shrink:0;font-size:11px;color:var(--pv-muted);white-space:nowrap;font-weight:600}
.pv-est-rank-extra{font-size:10.5px}
.pv-est-rank-ok{color:#15803D;font-weight:700}
/* Barra de participación: convierte la lista en algo comparable de un
   vistazo. Escalada contra el primero de la lista (ver el comentario en
   pv_est_ranking_productos_html), no contra el 100%. */
.pv-est-rank-barra{height:4px;border-radius:999px;background:var(--pv-bg);overflow:hidden;margin-top:3px}
.pv-est-rank-barra i{display:block;height:100%;border-radius:999px;background:var(--pv-primary);opacity:.55}
.pv-est-rank-item:first-child .pv-est-rank-barra i{opacity:1}
.pv-est-mini-tag{background:var(--pv-bg);border:1px solid var(--pv-border);border-radius:6px;padding:1px 6px;font-size:10px;font-weight:700;color:var(--pv-muted2);white-space:nowrap}

/* Gráficas y leyendas */
.pv-est-chart-wrap{position:relative;width:100%}
/* Donut + leyenda lado a lado. La tarjeta ahora ocupa todo el ancho (la
   evolución se llevó su propia fila), así que apilarlos dejaba media
   pantalla vacía al costado. El donut se topa a 300px para que no crezca
   desproporcionado en un monitor ancho. */
.pv-est-donut-split{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:22px;align-items:center}
.pv-est-donut-split .pv-est-leyenda{margin-top:0}
.pv-est-leyenda{display:flex;flex-direction:column;gap:2px;margin-top:12px}
.pv-est-leyenda-item{display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:9px;text-decoration:none;color:var(--pv-ink)}
.pv-est-leyenda-item:hover{background:var(--pv-bg)}
.pv-est-leyenda-item i{width:9px;height:9px;border-radius:3px;flex-shrink:0}
.pv-est-leyenda-item span{font-size:12.5px;font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pv-est-leyenda-item strong{font-size:12.5px;font-weight:800}
.pv-est-leyenda-item small{font-size:10.5px;color:var(--pv-muted);white-space:nowrap}
.pv-est-bar-meta{font-size:10.5px;color:var(--pv-muted);margin-top:3px}
/* Leyenda de la gráfica de Facturación / Gastos / Utilidad. Propia y no la
   de Chart.js: además del color y el nombre muestra el TOTAL del periodo de
   cada serie, que es el número que se busca primero. */
.pv-est-leyenda-linea{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:14px;padding:11px 14px;background:var(--pv-bg);border-radius:11px}
.pv-est-leyenda-linea-item{display:inline-flex;align-items:center;gap:8px;min-width:0}
.pv-est-leyenda-linea-item i{width:11px;height:11px;border-radius:4px;flex-shrink:0}
.pv-est-leyenda-linea-txt{font-size:12px;color:var(--pv-muted2);font-weight:600}
.pv-est-leyenda-linea-item strong{font-size:13.5px;font-weight:800;white-space:nowrap}
.pv-est-chart-hint{display:flex;align-items:center;justify-content:center;gap:7px;margin:8px 0 0;color:var(--pv-muted);font-size:11.5px;font-weight:600}
.pv-est-chart-hint span{color:#7047ec;font-size:14px}
.pv-est-subgrafico{margin-top:18px;padding-top:16px;border-top:1px solid var(--pv-border)}
.pv-est-subgrafico h3{margin:0;font-size:13px;font-weight:700}

/* Desglose auditable de un punto de la gráfica de ventas */
.pv-est-grafica-detalle-card{overflow:hidden}
.pv-est-grafica-detalle-card .pv-est-detalle-periodo{overflow:hidden;margin:14px 0 0;background:var(--pv-surface);border:1px solid var(--pv-border);border-radius:18px;box-shadow:0 9px 26px rgba(33,44,72,.065)}
.pv-est-detalle-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px 17px;border-bottom:1px solid var(--pv-border)}
.pv-est-detalle-kicker{display:block;margin-bottom:4px;color:#7047ec;font-size:10px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}
.pv-est-detalle-head h3{margin:0;color:var(--pv-ink);font-size:18px;font-weight:850;letter-spacing:-.02em}
.pv-est-detalle-head p{margin:5px 0 0;color:var(--pv-muted);font-size:11.5px;font-weight:600}
.pv-est-detalle-cerrar{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--pv-border2);border-radius:10px;color:var(--pv-muted2)!important;font-size:22px;line-height:1;text-decoration:none;background:var(--pv-surface);flex-shrink:0}
.pv-est-detalle-cerrar:hover{color:#7047ec!important;border-color:#b9a9f6;background:#f8f6ff}
.pv-est-detalle-resumen{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px 22px}
.pv-est-detalle-total{display:flex;align-items:center;gap:12px;min-width:0;padding:15px;border:1px solid var(--pv-border);border-radius:14px;background:var(--pv-bg)}
.pv-est-detalle-total-icon{width:10px;height:38px;border-radius:999px;background:#7C5CFC;box-shadow:0 0 0 5px rgba(124,92,252,.10);flex-shrink:0}
.pv-est-detalle-total-pedidos .pv-est-detalle-total-icon{background:#0EA5E9;box-shadow:0 0 0 5px rgba(14,165,233,.10)}
.pv-est-detalle-total-fabricacion .pv-est-detalle-total-icon{background:#F59E0B;box-shadow:0 0 0 5px rgba(245,158,11,.11)}
.pv-est-detalle-total div{display:flex;flex-direction:column;min-width:0}
.pv-est-detalle-total small{color:var(--pv-muted2);font-size:10.5px;font-weight:700}
.pv-est-detalle-total strong{margin-top:3px;color:var(--pv-ink);font-size:19px;font-weight:850;letter-spacing:-.02em;white-space:nowrap}
.pv-est-detalle-total em{margin-top:2px;color:var(--pv-muted);font-size:10px;font-style:normal;font-weight:600}
.pv-est-detalle-tabs{display:flex;align-items:center;gap:4px;margin:0 22px;border-bottom:1px solid var(--pv-border)}
.pv-est-detalle-tabs a{position:relative;display:inline-flex;align-items:center;gap:7px;padding:10px 13px;color:var(--pv-muted2)!important;font-size:11.5px;font-weight:750;text-decoration:none}
.pv-est-detalle-tabs a:after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;border-radius:2px;background:transparent}
.pv-est-detalle-tabs a.active{color:#7047ec!important}
.pv-est-detalle-tabs a.active:after{background:#7047ec}
.pv-est-detalle-tabs a span{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:19px;padding:0 5px;border-radius:999px;background:var(--pv-bg);font-size:9.5px}
.pv-est-detalle-tabla{padding:10px 22px 0}
.pv-est-detalle-tabla table{min-width:1320px}
.pv-est-detalle-tabla th{font-size:10px!important;letter-spacing:.025em;white-space:nowrap}
.pv-est-detalle-tabla td{font-size:11.5px!important;vertical-align:middle!important}
.pv-est-detalle-tabla .num{text-align:right;white-space:nowrap}
.pv-est-detalle-fin strong{display:block;color:var(--pv-ink);font-weight:850}
.pv-est-detalle-fin small{display:block;margin-top:3px;font-size:9.5px;font-weight:800}
.pv-est-detalle-costo small{color:#c87900}
.pv-est-detalle-margen small{color:#0d9161}
.pv-est-detalle-margen.negativo strong,.pv-est-detalle-margen.negativo small{color:#d52f43}
.pv-est-origen-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:7px;font-size:9.5px;font-weight:800;white-space:nowrap}
.pv-est-origen-pedidos{background:rgba(14,165,233,.11);color:#0879aa}
.pv-est-origen-fabricacion{background:rgba(245,158,11,.13);color:#a96504}
.pv-est-detalle-accion{text-align:right!important}
.pv-est-detalle-accion a{display:inline-flex;align-items:center;gap:5px;color:#7047ec!important;font-size:11px;font-weight:800;text-decoration:none;white-space:nowrap}
.pv-est-detalle-vacio{margin:10px 22px 0;padding:24px;border:1px dashed var(--pv-border2);border-radius:13px;text-align:center;color:var(--pv-muted);font-size:12px}
.pv-est-detalle-concilia{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:12px;padding:13px 22px;border-top:1px solid var(--pv-border);background:var(--pv-bg);color:var(--pv-muted2);font-size:10.5px;font-weight:650}
.pv-est-detalle-concilia span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.pv-est-detalle-concilia i{width:8px;height:8px;border-radius:50%;background:#0EA5E9}
.pv-est-detalle-concilia span:nth-of-type(2) i{background:#F59E0B}
.pv-est-detalle-concilia b{color:var(--pv-muted);font-size:13px}
.pv-est-detalle-concilia strong{color:var(--pv-ink);font-weight:850}
.pv-est-detalle-concilia-total{padding:6px 9px;border-radius:8px;background:rgba(124,92,252,.10);color:#5e42c7!important}
.pv-est-detalle-rentabilidad{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:12px 22px;border-top:1px solid var(--pv-border);background:#fbfcff;color:var(--pv-muted2);font-size:10.5px;font-weight:700}
.pv-est-detalle-rentabilidad span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.pv-est-detalle-rentabilidad b{color:var(--pv-muted);font-size:14px}
.pv-est-detalle-rentabilidad strong{color:var(--pv-ink);font-size:12px;font-weight:850}
.pv-est-detalle-rentabilidad em{padding:3px 6px;border-radius:999px;background:#fff2d9;color:#b56a00;font-size:9.5px;font-style:normal;font-weight:850}
.pv-est-detalle-rentabilidad-margen{padding:6px 9px;border-radius:8px;background:#eaf9f2;color:#087a52!important}
.pv-est-detalle-rentabilidad-margen em{background:#cff3e1;color:#087a52}

/* Tablas */
.pv-est-tabla-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.pv-est-nota-corte{font-size:11.5px;margin:10px 0 0}
.pv-est-paginacion{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--pv-border);font-size:12px;color:var(--pv-muted)}
.pv-est-pag-botones{display:flex;gap:8px}
.pv-est-pag-botones a{padding:6px 12px;border-radius:9px;border:1px solid var(--pv-border2);text-decoration:none;color:var(--pv-ink);font-size:12px;font-weight:600}
.pv-est-pag-botones a:hover{background:var(--pv-bg)}

/* Semáforos — SIEMPRE con símbolo + texto, nunca solo color */
.pv-est-alerta{color:#B91C1C;font-weight:700}
.pv-est-aviso{color:#B45309;font-weight:700}
.pv-est-ok{color:#15803D;font-weight:700}
.pv-est-neutro{color:var(--pv-muted);font-weight:600}

/* Etiquetas de origen */
.pv-est-tag{display:inline-block;padding:2px 8px;border-radius:6px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.02em;background:var(--pv-bg);border:1px solid var(--pv-border);color:var(--pv-muted2)}
.pv-est-tag-producto,.pv-est-tag-pedido{background:rgba(var(--pv-primary-rgb),.13);border-color:transparent;color:var(--pv-primary-dark)}
.pv-est-tag-catalogo,.pv-est-tag-fabricacion{background:#FEF0F0;border-color:transparent;color:#9B2F44}
.pv-est-tag-cliente{background:#EEF2FF;border-color:transparent;color:#4338CA}

/* Avisos y estados especiales */
.pv-est-aviso-fuente{display:flex;align-items:flex-start;gap:11px;background:var(--pv-bg);border:1px solid var(--pv-border);border-radius:13px;padding:12px 15px;font-size:12.5px;line-height:1.55;color:var(--pv-muted2)}
.pv-est-aviso-fuente svg{flex-shrink:0;margin-top:1px;color:var(--pv-primary-dark)}
.pv-est-aviso-fuente code{background:var(--pv-surface);border:1px solid var(--pv-border);border-radius:5px;padding:1px 5px;font-size:11.5px}
.pv-est-vacio{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:32px 16px;text-align:center;color:var(--pv-muted)}
.pv-est-vacio-ico{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:12px;background:var(--pv-bg);color:var(--pv-muted)}
.pv-est-vacio p{margin:0;font-size:13px}

/* Fichas */
.pv-est-volver{margin:0}
.pv-est-volver a{font-size:12.5px;font-weight:700;color:var(--pv-primary-dark);text-decoration:none}
.pv-est-ficha-head h2{margin:0;font-size:20px;font-weight:800}
.pv-est-ficha-head p{margin:5px 0 0;color:var(--pv-muted);font-size:13px}
.pv-est-bloque h3{margin:0;font-size:14px;font-weight:800}
.pv-est-deflist{margin:12px 0 0;display:flex;flex-direction:column;gap:1px}
.pv-est-deflist>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:8px 2px;border-bottom:1px dashed var(--pv-border)}
.pv-est-deflist>div:last-child{border-bottom:none}
.pv-est-deflist dt{margin:0;font-size:12px;color:var(--pv-muted)}
.pv-est-deflist dd{margin:0;font-size:13.5px;font-weight:800;text-align:right}

/* Buscadores internos */
.pv-est-buscador-art{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.pv-est-buscador-art input{flex:1;min-width:200px;padding:10px 13px;border:1px solid var(--pv-border2);border-radius:11px;font:inherit;font-size:13px;background:var(--pv-surface);color:var(--pv-ink)}
.pv-est-art-resultados{display:flex;flex-wrap:wrap;gap:8px}
.pv-est-art-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border:1px solid var(--pv-border2);border-radius:11px;text-decoration:none;color:var(--pv-ink);font-size:12.5px;font-weight:600}
.pv-est-art-chip:hover{border-color:var(--pv-primary);background:var(--pv-bg)}
.pv-est-art-chip small{color:var(--pv-muted);font-weight:600}
.pv-est-busqueda-lista{display:flex;flex-direction:column;gap:2px}
.pv-est-busqueda-item{display:flex;align-items:center;gap:11px;padding:9px 8px;border-radius:10px}
.pv-est-busqueda-item:hover{background:var(--pv-bg)}
.pv-est-busqueda-txt{flex:1;min-width:0;display:flex;flex-direction:column}
.pv-est-busqueda-txt strong{font-size:13px;font-weight:700}
.pv-est-busqueda-txt small{font-size:11px;color:var(--pv-muted)}
.pv-est-busqueda-valor{font-size:12.5px;font-weight:800;white-space:nowrap}

/* --- Convivencia con la regla global de minúsculas ---
   Toda la app va con text-transform:lowercase!important dentro de
   .pvf-shell/.pv-wrap, y recupera la mayúscula inicial con ::first-letter
   (ver el comentario de esa regla en 03-admin-menu-estilos.php). Ese truco
   NO alcanza a dos formas que este módulo usa mucho:
     · contenedores flex con texto suelto adentro (botón con ícono, chip de
       artículo, la bajada del encabezado) — un flex no tiene "primera
       línea", así que ::first-letter no aplica y el texto quedaba entero en
       minúscula ("actualizar", "ver más");
     · enlaces y <small> inline, que tampoco son contenedores de bloque.
   Como todos estos textos los escribe este archivo con la mayúscula ya
   puesta donde corresponde, se apaga la transformación en esos elementos
   PUNTUALES (y en sus descendientes: la regla global apunta a "*", así que
   apagarla solo en el padre no bastaría). Nada de esto toca al resto de la
   aplicación. */
html body .pv-est-btn-sec,html body .pv-est-btn-sec *,
html body .pv-est-vermas,html body .pv-est-volver a,
html body .pv-est-art-chip,html body .pv-est-art-chip *,
html body .pv-est-selector-op,html body .pv-est-head p,html body .pv-est-head p *,
html body .pv-est-leyenda-linea,html body .pv-est-leyenda-linea *,
html body .pv-est-rank-meta,html body .pv-est-rank-meta *,
html body .pv-est-rank-sub,html body .pv-est-rank-valor,html body .pv-est-rank-valor *,
html body .pv-est-rank-extra,html body .pv-est-rank-extra *,
html body .pv-est-mini-tag,html body .pv-est-leyenda-item small,
html body .pv-est-bar-meta,html body .pv-est-nota,html body .pv-est-kpi-sub,
html body .pv-est-card-sub,html body .pv-est-rango-activo,html body .pv-est-campo>span,
html body .pv-est-aviso-fuente,html body .pv-est-aviso-fuente *,
html body .pv-est-chip-alerta,html body .pv-est-pag-botones a,
html body .pv-est-paginacion,html body .pv-est-paginacion *,
html body .pv-est-busqueda-txt small,html body .pv-est-vacio p,
html body .pv-est-avanzados>summary,html body .pv-est-avanzados>summary *,
html body .pv-est-chips,html body .pv-est-chips *,
html body .pv-est-kpi-label,html body .pv-est-kpi-sub,html body .pv-est-kpi-pie,
html body .pv-est-kpi-pie *,html body .pv-est-trend,html body .pv-est-trend *,
html body .pv-est-trend-vs,html body .pv-est-tira-monedas,html body .pv-est-tira-txt *,
html body .pv-est-rango-activo,html body .pv-est-rango-activo *,
html body .pv-est-avanzados-pie .pvf-btn,html body .pv-est-avanzados-pie .pvf-btn *,
html body .pv-est-btn-fecha,html body .pv-est-btn-fecha *{text-transform:none!important}
html body .pv-est-chart-hint,html body .pv-est-chart-hint *,
html body .pv-est-detalle-periodo,html body .pv-est-detalle-periodo *{text-transform:none!important}
/* Códigos de divisa: son siglas, van SIEMPRE en mayúscula completa. Se
   reutiliza .pv-cod-moneda, la clase que el sistema ya tiene para esto
   (está en la lista de excepciones de 03-admin-menu-estilos.php), más la
   propia del módulo por si algún día esa lista cambia. */
html body .pv-est-cod,html body .pv-est-monedas,html body .pv-est-busqueda-valor{text-transform:uppercase!important}
html body .pv-est-tag{text-transform:uppercase!important}

/* La rejilla de KPI ya NO lleva media queries propias: con
   repeat(auto-fit,minmax(238px,1fr)) se reacomoda sola a 4, 3, 2 o 1
   columna según el ancho REAL disponible. Eso importa acá porque el panel
   tiene barra lateral: con columnas fijas por ancho de ventana, un
   escritorio con la barra abierta terminaba metiendo 4 tarjetas en un
   espacio que solo daba para 3, y los números se cortaban. */
@media (max-width:1450px){
    .pv-est-command{grid-template-columns:minmax(0,1fr) 135px;column-gap:10px}
    .pv-est-head-left{grid-column:1/-1;grid-row:1}
    .pv-est-toolbar-row{grid-column:1;grid-row:2;grid-template-columns:minmax(0,1fr);padding:11px 0 10px 16px}
    .pv-est-head-right{grid-column:2;grid-row:2;align-self:end;padding:0 16px 10px 0}
    .pv-est-refresh-action{width:135px}
    .pv-est-subtabs{justify-self:start}
    .pv-est-barra,.pv-est-periodo-grupo{gap:8px}
    .pv-est-btn-fecha{width:105px}
    .pv-est-command .pv-est-avanzados>summary{width:135px;padding-inline:9px}
}
@media (max-width:1200px){
    .pv-est-command{grid-template-columns:minmax(0,1fr) auto;column-gap:12px}
    .pv-est-head-left{grid-column:1;grid-row:1}
    .pv-est-head-right{grid-column:2;grid-row:1}
    .pv-est-toolbar-row{grid-column:1/-1;grid-row:2;padding:11px 18px 13px;border-top:1px solid #e7ebf2;background:linear-gradient(180deg,#fbfcff 0%,#f7f9fd 100%)}
    .pv-est-tres-bloques{grid-template-columns:1fr}
    .pv-est-kpis-ventas{grid-template-columns:repeat(2,minmax(0,1fr))}
    .pv-est-kpis-ventas .pv-est-kpi,.pv-est-kpis-ventas .pv-est-kpi:nth-last-child(-n+3){grid-column:auto}
    .pv-est-barra{flex-wrap:nowrap}
}
@media (max-width:980px){
    .pv-est-fabricacion-resumen-card{grid-column:span 6}
    .pv-est-pedidos-resumen-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .pv-est-pedidos-evolucion-insights{grid-template-columns:repeat(2,minmax(0,1fr))}
    .pv-est-pedidos-metricas-franja{justify-content:flex-start;overflow-x:auto;scrollbar-width:thin}
    .pv-est-pedidos-metrica-franja{flex:0 0 auto}
    .pv-est-pedidos-resumen-card.is-flujo{grid-column:1/-1}
    .pv-est-grid-2-3{grid-template-columns:1fr}
    .pv-est-donut-split{grid-template-columns:1fr}
    .pv-est-ventas-panel-estados .pv-est-donut-split{grid-template-columns:1fr}
    .pv-est-donut-ventas .pv-est-chart-wrap{width:min(100%,320px);margin-inline:auto}
    .pv-est-tira-valores{margin-left:0;width:100%}
    .pv-est-barra{overflow-x:auto;overflow-y:hidden;padding-bottom:3px;scrollbar-width:thin}
    .pv-est-grafica-toolbar{display:block}
    .pv-est-grafica-toolbar .pv-est-card-head{display:flex!important;align-items:stretch!important}
    .pv-est-grafica-agrupacion{margin-top:11px;padding-top:11px;border-top:1px solid #ece6f6}
}
@media (max-width:820px){
    .pv-est-head-right{width:auto}
    .pv-est-kpi-sub,.pv-est-nota{font-size:10.5px}
    .pv-est-detalle-resumen{grid-template-columns:1fr 1fr}
    .pv-est-detalle-total-total{grid-column:1/-1}
    .pv-est-detalle-concilia,.pv-est-detalle-rentabilidad{justify-content:flex-start;overflow-x:auto}
}
@media (max-width:560px){
    .pv-est-pedidos-resumen-grid{grid-template-columns:1fr}
    .pv-est-pedidos-evolucion-insights,.pv-est-preview-pedidos-periodo{grid-template-columns:1fr}
    .pv-est-pedidos-evolucion-insights article{min-height:78px}
    .pv-est-pedidos-resumen-card.is-flujo{grid-column:auto}
    .pv-est-pedidos-resumen-datos,.pv-est-pedidos-tiempos-compactos{grid-template-columns:1fr}
    .pv-est-pedidos-estados-compactos{gap:5px}
    .pv-est-pedidos-estados-compactos>a,.pv-est-pedidos-estados-compactos>div{align-items:flex-start;flex-direction:column}
    .pv-est-fabricacion-resumen-card{grid-column:span 12}
    .pv-est-fabricacion-datos.is-three{grid-template-columns:repeat(2,minmax(0,1fr))}
    .pv-est-fabricacion-datos.is-three>div:last-child{grid-column:1/-1}
    .pv-est-command{border-radius:16px}
    .pv-est-ventas-panel-estados .pv-est-donut-clientes .pv-est-leyenda{grid-template-columns:1fr}
    .pv-est-head-left{padding:17px 0 14px 15px}
    .pv-est-head h1{font-size:20px}
    .pv-est-head-right{align-self:center;padding:0 15px 0 0;flex-direction:row;align-items:stretch}
    .pv-est-refresh-action{width:auto;flex:0 0 auto;padding-inline:13px}
    .pv-est-subtabs{margin:0!important;max-width:100%;overflow-x:auto;scrollbar-width:none}
    .pv-est-subtabs::-webkit-scrollbar{display:none}
    .pv-est-subtabs .pv-subtab{min-width:84px;padding:0 9px!important}
    .pv-est-topline{gap:12px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch}
    .pv-est-topline::-webkit-scrollbar{display:none}
    .pv-est-topline .pv-est-subtabs{flex:0 0 100%;width:100%;max-width:none!important}
    .pv-est-topline .pv-est-rango-activo{grid-column:auto;flex:0 0 auto;width:auto;min-width:max-content;margin-left:0;justify-content:flex-start;overflow:visible}
    .pv-est-command .pv-est-filtros{margin:0;padding:0}
    .pv-est-toolbar-row{padding:12px 16px 14px;gap:11px}
    .pv-est-avanzados-panel{margin:0 16px 14px;padding:14px}
    .pv-est-chips{margin:0 16px 14px}
    .pv-est-kpi-valor{font-size:23px}
    .pv-est-kpis-ventas{grid-template-columns:1fr}
    .pv-est-kpis-ventas .pv-est-kpi,.pv-est-kpis-ventas .pv-est-kpi:nth-last-child(-n+3){grid-column:auto}
    .pv-est-kpis-ventas .pv-est-kpi{min-height:0}
    .pv-est-ventas-shell{gap:13px}
    .pv-est-ventas-seccion{align-items:flex-start;margin-top:4px}
    .pv-est-ventas-seccion p{font-size:10px}
    .pv-est-ventas-panel .pv-est-card-head{padding-bottom:10px}
    .pv-est-grafica-toolbar{padding:15px}
    .pv-est-grafica-toolbar .pv-est-card-head{align-items:stretch!important;padding:0!important}
    .pv-est-grafica-toolbar .pv-est-card-actions{display:grid;width:100%;gap:8px}
    .pv-est-grafica-control{width:100%;min-width:0}
    .pv-est-grafica-control .pv-est-selector{width:100%;overflow-x:auto;justify-content:flex-start}
    .pv-est-grafica-agrupacion{justify-content:flex-start;margin-top:11px;padding-top:11px}
    .pv-est-grafica-control-agrupacion{flex-direction:column;align-items:stretch;width:100%;gap:4px}
    .pv-est-grafica-control-agrupacion .pv-est-grafica-control-label{padding-left:4px}
    .pv-est-grafica-cuerpo{padding:14px 15px 16px}
    html body #pvf-shell .pv-est-mini-pager.pv-pagination-standard{grid-template-columns:38px minmax(110px,1fr) 38px!important;width:100%!important;box-sizing:border-box!important}
    .pv-est-grafica-cuerpo .pv-est-leyenda-linea{align-items:flex-start;gap:9px;padding:11px}
    .pv-est-grafica-detalle-card .pv-est-detalle-periodo{margin:13px 0 0}
    .pv-est-categoria-row .pv-est-bar-meta strong{flex:1 1 100%;margin-left:36px}
    .pv-est-donut-ventas{gap:13px}
    .pv-est-ventas-tabla-panel{padding:15px!important}
    .pv-est-ventas-tabla-panel .pv-est-card-actions{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}
    .pv-est-ventas-tabla-panel .pv-est-card-actions>*{flex:0 0 auto}
    .pv-est-productos-acciones{width:max-content;flex-wrap:nowrap}
    .pv-est-card-head{flex-direction:column;align-items:stretch;gap:9px}
    .pv-est-card-actions{justify-content:flex-start}
    html body #pvf-shell#pvf-shell .pv-est-ventas-shell .pv-est-card-actions>button.pv-est-vermas{width:auto!important;height:34px!important;min-height:34px!important;max-height:34px!important;padding:0 12px!important}
    /* En pantallas chicas el número baja a su propia línea en vez de
       pelear el ancho con el nombre del producto. */
    .pv-est-rank-fila{flex-wrap:wrap;gap:2px 10px}
    .pv-est-rank-nombre{-webkit-line-clamp:3;flex:1 1 100%}
    .pv-est-rank-fila-sub{flex-wrap:wrap}
    .pv-est-selector{width:100%;overflow-x:auto;scrollbar-width:none}
    .pv-est-selector::-webkit-scrollbar{display:none}
    .pv-est-barra{display:flex;flex-direction:column;align-items:stretch;gap:11px}
    .pv-est-periodo-grupo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;gap:10px}
    .pv-est-campo-periodo,.pv-est-campo-origen{grid-column:1/-1;width:100%;min-width:0}
    .pv-est-campo-fecha{width:100%;min-width:0}
    .pv-est-btn-fecha{grid-column:1/-1;width:100%}
    .pv-est-rejilla{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:230px}
    .pv-est-rejilla .pv-est-campo{min-width:230px}
    .pv-est-rango-activo{grid-column:1/-1;width:100%;min-width:0;margin-left:0;justify-content:flex-start;overflow:hidden}
    .pv-est-rango-activo>span{overflow:hidden;text-overflow:ellipsis}
    .pv-est-avanzados-inline{width:100%;min-width:0}
    .pv-est-avanzados>summary{width:100%;justify-content:space-between}
    .pv-est-avanzados-pie .pvf-btn,.pv-est-avanzados-pie .pv-est-btn-sec{flex:1;justify-content:center;text-align:center}
    .pv-est-detalle-head{padding:17px 16px 14px}
    .pv-est-detalle-resumen{grid-template-columns:1fr;padding:14px 16px}
    .pv-est-detalle-total-total{grid-column:auto}
    .pv-est-detalle-tabs{margin:0 16px;overflow-x:auto}
    .pv-est-detalle-tabla{padding-left:16px;padding-right:16px}
    .pv-est-detalle-concilia,.pv-est-detalle-rentabilidad{padding-left:16px;padding-right:16px}
}
