.vs-velo{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1001;background:var(--velo);display:flex;align-items:center;justify-content:center;padding:var(--espacio-4);animation:fadeIn .2s ease}.vs-modal{box-sizing:border-box;width:100%;max-width:var(--modal-max);max-height:90vh;display:flex;flex-direction:column;background:var(--superficie-superpuesta);border-radius:var(--radio-2xl);box-shadow:var(--sombra-superpuesta);color:var(--texto-principal);font-family:var(--font-interfaz);animation:vs-entra .2s cubic-bezier(.2,0,0,1);transition:transform .2s cubic-bezier(.2,0,0,1)}.vs-modal--sm{max-width:480px}.vs-modal--lg{max-width:780px}.vs-modal--xl{max-width:960px}.vs-modal__agarradera{display:none}.vs-modal__cabecera{display:flex;align-items:center;justify-content:space-between;gap:var(--espacio-3);padding:var(--espacio-6) var(--espacio-6) var(--espacio-3)}.vs-modal__titulo{display:flex;align-items:center;gap:var(--espacio-2);margin:0;font:700 17px/24px var(--font-interfaz);color:var(--texto-principal)}.vs-modal--destructivo .vs-modal__titulo .vs-ic{color:var(--estado-peligro)}.vs-modal__cerrar{flex:none;display:flex;align-items:center;justify-content:center;width:var(--control-compacto);height:var(--control-compacto);padding:0;border:0;border-radius:var(--radio-pastilla);background:transparent;color:var(--texto-secundario);cursor:pointer}.vs-modal__cerrar:hover{background:var(--superficie-interna);color:var(--texto-principal)}.vs-modal__cerrar:focus-visible{outline:2px solid var(--acento-texto);outline-offset:2px}.vs-modal__cuerpo{flex:1;min-height:0;overflow-y:auto;padding:var(--espacio-2) var(--espacio-6)}.vs-modal__acciones{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--espacio-2);padding:var(--espacio-4) var(--espacio-6) var(--espacio-6)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes vs-entra{0%{opacity:0;transform:scale(.97)}}@keyframes vs-sube{0%{transform:translateY(100%)}}.vs-lista{display:flex;flex-direction:column;gap:calc(var(--espacio-1) * 1.5);margin:0;padding:0;list-style:none}.vs-fila{display:flex;align-items:center;box-sizing:border-box;min-height:var(--control-grande);border-radius:var(--radio-lg);background:var(--superficie-tarjeta);color:var(--texto-principal);font:400 15px/22px var(--font-interfaz)}.vs-fila--aviso{background:var(--estado-aviso-tenue)}.vs-fila__contenido{flex:1;min-width:0;display:flex;align-items:center;gap:var(--espacio-3);box-sizing:border-box;align-self:stretch;min-height:inherit;padding:var(--espacio-2) var(--espacio-4);border:0;border-radius:inherit;background:transparent;color:var(--texto-principal);font:inherit;text-align:left;text-decoration:none}a.vs-fila__contenido,button.vs-fila__contenido{cursor:pointer}a.vs-fila__contenido:hover,button.vs-fila__contenido:hover{background:var(--superficie-hover)}.vs-fila__contenido:focus-visible{outline:2px solid var(--acento-texto);outline-offset:2px}.vs-fila__icono{flex:none;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radio-pastilla);background:var(--superficie-interna);color:var(--texto-secundario)}.vs-fila__cuerpo{flex:1;min-width:0}.vs-fila__titulo{display:block;font-weight:600}.vs-fila__detalle{display:block;font:400 14px/20px var(--font-interfaz);color:var(--texto-secundario)}.vs-fila__valor{flex:none;font:700 15px/20px var(--font-cifras);font-variant-numeric:tabular-nums;white-space:nowrap}.vs-fila__badge{flex:none}.vs-fila__chevron{flex:none;color:var(--texto-tenue)}.vs-fila__accion{flex:none;margin-right:var(--espacio-2)}.vs-avisos{position:fixed;top:var(--espacio-4);right:var(--espacio-4);display:flex;flex-direction:column;gap:var(--espacio-3);z-index:9999;max-width:380px;pointer-events:none}.vs-avisos>*{pointer-events:auto}.vs-aviso{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--espacio-3);padding:var(--espacio-3) var(--espacio-4);border-radius:var(--radio-lg);font:400 15px/22px var(--font-interfaz);color:var(--texto-principal)}.vs-aviso b{font-weight:700}.vs-aviso .vs-ic{flex-shrink:0}.vs-aviso__texto,.vs-aviso__mensaje{flex:1 1 14rem;min-width:0}.vs-aviso--exito{background:var(--estado-exito-tenue)}.vs-aviso--exito .vs-ic{color:var(--estado-exito)}.vs-aviso--aviso{background:var(--estado-aviso-tenue)}.vs-aviso--aviso .vs-ic{color:var(--estado-aviso)}.vs-aviso--peligro{background:var(--estado-peligro-tenue)}.vs-aviso--peligro .vs-ic{color:var(--estado-peligro)}.vs-aviso--info{background:var(--estado-info-tenue)}.vs-aviso--info .vs-ic{color:var(--estado-info)}.vs-aviso--liviano{background:var(--superficie-superpuesta);box-shadow:var(--sombra-superpuesta);border-radius:var(--radio-pastilla);padding:var(--espacio-3) var(--espacio-4);align-items:center;font-weight:600;cursor:pointer;animation:vs-aviso-entra .25s ease}.vs-aviso__accion,.vs-aviso__cerrar{background:none;border:0;cursor:pointer;flex-shrink:0}.vs-aviso__accion{padding:0 var(--espacio-1);font:700 15px/22px var(--font-interfaz);color:var(--acento-texto);white-space:nowrap}.vs-aviso__cerrar{display:flex;padding:var(--espacio-1);border-radius:var(--radio-pastilla);color:var(--texto-secundario)}.vs-aviso__cerrar:hover{color:var(--texto-principal)}.vs-aviso__accion:focus-visible,.vs-aviso__cerrar:focus-visible{outline:none;box-shadow:var(--focus-ring)}@keyframes vs-aviso-entra{0%{transform:translateY(-8px);opacity:0}to{transform:translateY(0);opacity:1}}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:.18rem var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.badge-success{background:var(--success-100);color:var(--success-700);border:1px solid var(--success-200)}.badge-danger{background:var(--danger-100);color:var(--danger-700);border:1px solid var(--danger-200)}.badge-warning{background:var(--warning-100);color:var(--warning-700);border:1px solid var(--warning-200)}.badge-info{background:var(--info-100);color:var(--info-700);border:1px solid var(--info-200)}.badge-neutral{background:var(--surface-3);color:var(--text-secondary);border:1px solid var(--border)}.table-wrapper{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface-1)}.data-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.data-table thead tr{background:var(--surface-2)}.data-table th{padding:var(--space-3) var(--space-4);text-align:left;font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.07em;color:var(--text-secondary);white-space:nowrap;border-bottom:1px solid var(--border);-webkit-user-select:none;user-select:none}.data-table th.sortable{cursor:pointer}.data-table th.sortable:hover{color:var(--text-primary)}.sort-icon{color:var(--text-muted)}.data-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{background:var(--surface-2)}.data-table tbody tr.clickable{cursor:pointer}.vs-tabla__envoltura{overflow-x:auto}.vs-tabla{width:100%;border-collapse:separate;border-spacing:0 var(--espacio-1);font-family:var(--font-interfaz);color:var(--texto-principal)}.vs-tabla th{padding:var(--espacio-2) var(--espacio-4);text-align:left;font:500 14px/20px var(--font-interfaz);color:var(--texto-tenue);white-space:nowrap}.vs-tabla__th-num{text-align:right}.vs-tabla__orden{display:inline-flex;align-items:center;gap:var(--espacio-1);padding:0;border:0;background:none;font:inherit;color:inherit;cursor:pointer}.vs-tabla__orden:focus-visible{outline:2px solid var(--acento-texto);outline-offset:2px;border-radius:var(--radio-sm)}.vs-tabla th[aria-sort=ascending],.vs-tabla th[aria-sort=descending]{color:var(--texto-principal);font-weight:700}.vs-tabla__flecha{flex:none}.vs-tabla__flecha--asc{transform:rotate(180deg)}.vs-tabla td{height:var(--control-grande);box-sizing:border-box;padding:0 var(--espacio-4);background:var(--superficie-interna);color:var(--texto-principal);font:400 15px/22px var(--font-interfaz);white-space:nowrap}.vs-tabla td:first-child{border-radius:var(--radio-md) 0 0 var(--radio-md)}.vs-tabla td:last-child{border-radius:0 var(--radio-md) var(--radio-md) 0}.vs-tabla tbody tr.vs-tabla__fila:hover td{background:var(--superficie-hover)}.vs-tabla__fila--clic{cursor:pointer}.vs-tabla__fila--clic:focus-visible{outline:2px solid var(--acento-texto);outline-offset:-2px;border-radius:var(--radio-md)}.vs-tabla td.vs-num{text-align:right;font:700 15px/20px var(--font-cifras);font-variant-numeric:tabular-nums}.vs-tabla--compacta td{height:40px}.vs-tabla__esqueleto td,.vs-tabla__vacio td{background:transparent}.vs-tabla__vacio td{height:auto}.vs-tabla__pie{display:flex;align-items:center;justify-content:space-between;gap:var(--espacio-3);margin-top:var(--espacio-4);font:400 14px/20px var(--font-interfaz);color:var(--texto-secundario)}.vs-tabla__paginas{display:flex;align-items:center;gap:var(--espacio-2)}.vs-tabla__pagina{padding:0 var(--espacio-1)}@media (max-width: 640px){.vs-tabla,.vs-tabla tbody{display:flex;flex-direction:column;gap:calc(var(--espacio-1) * 1.5)}.vs-tabla thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.vs-tabla tr.vs-tabla__fila{display:grid;grid-template-columns:1fr auto;gap:0 var(--espacio-3);padding:var(--espacio-3) var(--espacio-4);border-radius:var(--radio-lg);background:var(--superficie-interna)}.vs-tabla tr.vs-tabla__fila:hover{background:var(--superficie-hover)}.vs-tabla tr.vs-tabla__esqueleto{display:flex;flex-direction:column;gap:var(--espacio-2);padding:var(--espacio-3) var(--espacio-4)}.vs-tabla tr.vs-tabla__esqueleto td{display:block;height:auto;padding:0}.vs-tabla tr.vs-tabla__vacio,.vs-tabla tr.vs-tabla__vacio td{display:block}.vs-tabla tr.vs-tabla__fila td{display:block;height:auto;padding:0;background:none;border-radius:0;white-space:normal}.vs-tabla tbody tr.vs-tabla__fila:hover td{background:none}.vs-tabla td[data-rol=titulo]{grid-column:1;font-weight:600}.vs-tabla td[data-rol=detalle]{grid-column:1;font:400 14px/20px var(--font-interfaz);color:var(--texto-secundario)}.vs-tabla td[data-rol=cifra],.vs-tabla td[data-rol=valor]{grid-column:2;grid-row:1;text-align:right}.vs-tabla td[data-rol=estado]{grid-column:2;grid-row:2;text-align:right}.vs-tabla td[data-rol=acciones]{grid-column:1 / -1;display:flex;gap:var(--espacio-1);justify-content:flex-end}.vs-tabla td[data-rol=oculto]{display:none}.vs-tabla__pie{flex-direction:column;align-items:stretch;text-align:center}.vs-tabla__paginas{justify-content:center}}.vs-esq-grupo{display:flex;flex-direction:column;gap:var(--espacio-3)}.vs-esq{display:block;background:var(--superficie-interna);border-radius:var(--radio-sm);animation:vs-late 1.4s ease-in-out infinite}.vs-esq--texto{height:14px}.vs-esq--titulo{height:18px}.vs-esq--cifra{height:40px;border-radius:var(--radio-md)}.vs-esq--boton{height:var(--control-comodo);border-radius:var(--radio-pastilla)}.vs-esq--circulo{width:40px;height:40px;border-radius:var(--radio-pastilla)}@keyframes vs-late{50%{opacity:.5}}.vs-esq__oculto{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.empty-cell{padding:var(--space-12) var(--space-4)!important}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);color:var(--text-muted)}.empty-icon{font-size:2rem}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-top:var(--space-4);font-size:var(--text-sm)}.pagination button{background:var(--surface-2);border:1px solid var(--border);color:var(--text-secondary);width:30px;height:30px;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal)}.pagination button:hover:not(:disabled){background:var(--surface-3);color:var(--text-primary)}.pagination button:disabled{opacity:.3;cursor:not-allowed}.page-info{color:var(--text-muted);padding:0 var(--space-2);font-size:var(--text-sm)}.ur-header{margin-bottom:0}.ur-title{font-size:var(--text-xl);font-weight:700;color:var(--text-primary);margin:0}.ur-header-sub{color:var(--text-muted);font-size:var(--text-sm);margin:var(--space-1) 0 0}.ur-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:var(--space-5)}.ur-tab{padding:var(--space-2) var(--space-5);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;font-size:var(--text-sm);font-weight:500;color:var(--text-muted);cursor:pointer;transition:all var(--transition-normal)}.ur-tab:hover{color:var(--text-secondary)}.ur-tab.active{color:var(--accent-text);border-bottom-color:var(--primary-500);font-weight:600}.ur-action-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5);flex-wrap:wrap;gap:var(--space-3)}.ur-count{color:var(--text-muted);font-size:var(--text-sm)}@media (max-width: 768px){.vs-velo{align-items:flex-end;padding:0}.vs-modal{max-width:none;max-height:88vh;max-height:88dvh;border-radius:var(--radio-2xl) var(--radio-2xl) 0 0;animation:vs-sube .32s cubic-bezier(.3,0,0,1);padding-bottom:env(safe-area-inset-bottom,0px)}.vs-modal__agarradera{display:block;flex:none;width:40px;height:5px;margin:var(--espacio-2) auto 0;border-radius:var(--radio-pastilla);background:var(--linea-control)}.vs-modal__agarradera,.vs-modal__cabecera{touch-action:none}.vs-modal__cabecera{padding:var(--espacio-3) var(--espacio-5)}.vs-modal__cuerpo{padding:var(--espacio-2) var(--espacio-5)}.vs-modal__cerrar{width:var(--control-comodo);height:var(--control-comodo)}.vs-modal__acciones{flex-direction:column;flex-wrap:nowrap;padding:var(--espacio-3) var(--espacio-5) var(--espacio-5)}.vs-modal__acciones button{width:100%;min-height:var(--control-grande)}.vs-modal__acciones .vs-btn{height:var(--control-grande)}.vs-avisos{left:var(--espacio-4);max-width:none}.data-table{font-size:var(--text-xs)}.data-table th,.data-table td{padding:var(--space-2) var(--space-3)}.data-table th{font-size:var(--text-2xs)}.ur-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.ur-tabs::-webkit-scrollbar{display:none}.ur-tab{white-space:nowrap;padding:var(--space-2) var(--space-4);font-size:var(--text-sm)}.ur-action-bar{flex-direction:column;align-items:stretch}}.error-pagina{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-8) var(--space-5);background:var(--surface-0)}.error-caja{max-width:440px;width:100%;text-align:center}.error-codigo{margin:0 0 var(--space-1);font-family:var(--font-mono);font-size:56px;font-weight:700;line-height:1;color:var(--accent-text)}.error-titulo{margin:0 0 var(--space-3);font-size:var(--text-xl);color:var(--text-primary)}.error-detalle{margin:0 0 var(--space-6);font-size:var(--text-base);line-height:1.55;color:var(--text-secondary)}.error-boton{display:inline-block;padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);background:var(--primary);color:#0f1011;font-weight:600;font-size:var(--text-base);text-decoration:none;transition:filter .15s ease}.error-boton:hover{filter:brightness(1.08)}@media (max-width: 480px){.error-codigo{font-size:44px}.error-titulo{font-size:var(--text-lg)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);border:1px solid transparent;border-radius:var(--radius-md);background:var(--surface-3);color:var(--text-primary);font-family:inherit;font-size:var(--text-sm);font-weight:600;line-height:1.2;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast)}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-primary{background:var(--primary-500);border-color:var(--primary-500);color:var(--text-on-accent)}.btn-primary:hover:not(:disabled){background:var(--primary-400);border-color:var(--primary-400);box-shadow:var(--shadow-accent)}.btn-secondary{background:var(--surface-2);border-color:var(--border);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--surface-3);border-color:var(--border-hover)}.btn-danger{background:transparent;border-color:var(--danger);color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger);color:var(--text-on-danger)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text-primary)}.btn-sm{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.btn-lg{padding:var(--space-3) var(--space-6);font-size:var(--text-base)}.btn-icon{padding:var(--space-2);aspect-ratio:1}.btn-block{display:flex;width:100%}.editor-img{display:flex;flex-direction:column;gap:var(--space-3)}.editor-img-marco{width:100%;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--surface-2);background-image:linear-gradient(45deg,rgba(128,128,128,.14) 25%,transparent 25%),linear-gradient(-45deg,rgba(128,128,128,.14) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(128,128,128,.14) 75%),linear-gradient(-45deg,transparent 75%,rgba(128,128,128,.14) 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0}.editor-img-canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none}.editor-img-canvas:active{cursor:grabbing}.editor-img-ayuda{margin:0;font-size:var(--text-xs);color:var(--text-muted);text-align:center}.editor-img-control{display:flex;align-items:center;gap:var(--space-3)}.editor-img-control label{font-size:var(--text-sm);color:var(--text-secondary);flex-shrink:0}.editor-img-control input[type=range]{flex:1;accent-color:var(--primary-500)}.editor-img-acciones{display:flex;gap:var(--space-2);flex-wrap:wrap}.editor-img-pie{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--border)}@media (max-width: 520px){.editor-img-pie{flex-direction:column-reverse}.editor-img-pie .btn{width:100%}}.editor-foto{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--space-6);align-items:start}.editor-foto-area{min-width:0;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);position:sticky;top:0;align-self:start}.editor-foto-progreso{align-self:flex-start;margin:0;font-size:var(--text-sm);color:var(--text-secondary)}.editor-foto-escena{position:relative;max-width:100%;touch-action:none;-webkit-user-select:none;user-select:none}.editor-foto-canvas{display:block;width:100%;height:100%}.editor-foto-recorte{position:absolute;border:2px solid var(--primary-500);box-shadow:0 0 0 100vmax #0000008c;cursor:move}.editor-foto-recorte:focus-visible{outline:2px solid var(--text-primary);outline-offset:2px}.editor-foto-interior{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.editor-foto-silueta{position:absolute;border:2px dashed var(--text-primary);box-shadow:0 0 0 100vmax #00000073}.editor-foto-cuadrado{position:absolute;border:2px dashed var(--text-primary);pointer-events:none}.editor-foto-asa{position:absolute;width:44px;height:44px;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;touch-action:none}.editor-foto-asa:after{content:"";width:14px;height:14px;border-radius:var(--radius-sm);background:var(--primary-500);border:2px solid var(--surface-0)}.editor-foto-asa-no{left:0;top:0;cursor:nwse-resize}.editor-foto-asa-n{left:50%;top:0;cursor:ns-resize}.editor-foto-asa-ne{left:100%;top:0;cursor:nesw-resize}.editor-foto-asa-e{left:100%;top:50%;cursor:ew-resize}.editor-foto-asa-se{left:100%;top:100%;cursor:nwse-resize}.editor-foto-asa-s{left:50%;top:100%;cursor:ns-resize}.editor-foto-asa-so{left:0;top:100%;cursor:nesw-resize}.editor-foto-asa-o{left:0;top:50%;cursor:ew-resize}.editor-foto-panel{min-width:0;display:flex;flex-direction:column;gap:var(--space-4)}.editor-foto-grupo{min-width:0;margin:0;padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md)}.editor-foto-grupo legend{padding:0 var(--space-1);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-secondary)}.editor-foto-opciones{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4)}.editor-foto-radio{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-primary);cursor:pointer}.editor-foto-valor{min-width:44px;text-align:right;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-secondary)}.editor-foto-vista{align-self:stretch;display:flex;align-items:flex-start;gap:var(--space-3)}.editor-foto-vista-titulo{margin:0;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-secondary)}.editor-foto-miniatura{display:block;flex:none;width:120px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2)}.editor-foto-estado{min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.editor-foto-estado .editor-img-ayuda{text-align:left}.editor-foto-aviso,.editor-foto-error{margin:0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-xs)}.editor-foto-aviso{background:var(--warning-100);color:var(--warning-700)}.editor-foto-error{background:var(--danger-100);color:var(--danger-700)}.editor-foto-boton-chico{flex:1;font-size:var(--text-sm)}@media (max-width: 900px){.editor-foto{grid-template-columns:minmax(0,1fr);gap:var(--space-4)}.editor-foto-area{position:static}}.campo{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4);min-width:0}.campo-completo{grid-column:1 / -1}.campo-label:not(.vs-campo__rotulo){font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);line-height:var(--leading-tight)}.campo-requerido{color:var(--estado-peligro)}.campo-con-sufijo{display:flex;align-items:center;gap:var(--space-2);max-width:180px}.campo-con-sufijo input{min-width:0}.campo-sufijo{color:var(--text-secondary);flex-shrink:0}.campo-check-fila{display:flex;align-items:center;gap:var(--space-3);cursor:pointer}.campo-check-fila input{cursor:pointer;flex-shrink:0}.campo-check .campo-label{margin:0;font:600 14px/20px var(--font-interfaz);color:var(--texto-principal)}.campo-control:not(.vs-campo__entrada){width:100%;padding:var(--space-3);font-size:var(--text-base);font-family:inherit;color:var(--text-primary);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.campo-control:not(.vs-campo__entrada):hover:not(:disabled){border-color:var(--border-hover)}.campo-control:not(.vs-campo__entrada):focus{outline:none;border-color:var(--border-focus);box-shadow:var(--focus-ring)}.campo-control:not(.vs-campo__entrada):disabled{opacity:.6;cursor:not-allowed}.campo-control-error:not(.vs-campo__entrada),.campo-control-error:not(.vs-campo__entrada):hover{border-color:var(--danger-500)}.campo-control-error:not(.vs-campo__entrada):focus{border-color:var(--danger-500);box-shadow:var(--focus-ring-danger)}.campo-mensaje:not(.vs-campo__ayuda){font-size:var(--text-sm);color:var(--text-muted);line-height:var(--leading-normal)}.campo-mensaje-error:not(.vs-campo__ayuda){color:var(--danger-500)}.campo-mensaje-aviso:not(.vs-campo__ayuda){color:var(--warning-500)}.vs-campo{display:flex;flex-direction:column;gap:calc(var(--space-1) * 1.5);font-family:var(--font-interfaz)}.vs-campo__rotulo{font:600 14px/20px var(--font-interfaz);color:var(--texto-principal)}.vs-campo__entrada{box-sizing:border-box;width:100%;height:var(--control-grande);padding:0 var(--espacio-4);border:1.5px solid var(--linea-control);border-radius:var(--radio-lg);background:var(--superficie-interna);color:var(--texto-principal);font:400 15px/22px var(--font-interfaz)}textarea.vs-campo__entrada{height:auto;min-height:96px;padding:var(--espacio-3) var(--espacio-4)}.vs-campo__entrada::placeholder{color:var(--texto-tenue)}.vs-campo__entrada:hover:not(:disabled,:focus){background:var(--superficie-hover);border-color:var(--texto-tenue)}.vs-campo__entrada:hover:not(:disabled,:focus)::placeholder{color:var(--texto-secundario)}.vs-campo__entrada:focus{outline:3px solid var(--acento-tenue);outline-offset:0;border-color:var(--acento-texto)}.vs-campo__entrada:disabled{color:var(--texto-deshabilitado);border-style:dotted;cursor:not-allowed}.vs-campo--compacto .vs-campo__entrada{height:var(--control-compacto);border-radius:var(--radio-md);font:400 14px/22px var(--font-interfaz)}.vs-campo--compacto textarea.vs-campo__entrada{height:auto;min-height:72px}.vs-campo--monto .vs-campo__entrada{height:72px;text-align:center;font:700 32px/36px var(--font-cifras);font-variant-numeric:tabular-nums;letter-spacing:-.03em}.vs-campo__ayuda{margin:0;font:400 14px/20px var(--font-interfaz);color:var(--texto-secundario)}.vs-campo__ayuda--icono{display:flex;align-items:flex-start;gap:calc(var(--space-1) * 1.5)}.vs-campo__ayuda--icono .vs-ic{flex-shrink:0;margin-top:2px}.vs-campo__ayuda--aviso{color:var(--estado-aviso)}.vs-campo--error .vs-campo__entrada{border-color:var(--estado-peligro)}.vs-campo--error .vs-campo__entrada:hover:not(:disabled,:focus){border-color:var(--estado-peligro)}.vs-campo--error .vs-campo__entrada:focus{border-color:var(--estado-peligro);outline-color:var(--estado-peligro-tenue)}.vs-campo--error .vs-campo__ayuda{color:var(--estado-peligro)}.vs-vacio{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--espacio-3);padding:var(--espacio-12) var(--espacio-6);font-family:var(--font-interfaz);color:var(--texto-principal)}.vs-vacio__ilustracion{display:flex;align-items:center;justify-content:center;width:96px;height:96px;border-radius:var(--radio-pastilla);background:var(--superficie-tarjeta);color:var(--texto-tenue)}.vs-vacio__titulo{margin:0;font-family:var(--font-interfaz);font-size:var(--text-lg);font-weight:800;line-height:var(--leading-tight);color:var(--texto-principal)}.vs-vacio__texto{margin:0;max-width:320px;font-size:var(--text-base);line-height:var(--leading-normal);color:var(--texto-secundario)}.vs-vacio__accion{margin-top:var(--espacio-2)}.vs-vacio--sin-resultados{padding:var(--espacio-8) var(--espacio-6)}.boton:not(.vs-btn){display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-size:var(--text-sm);font-weight:var(--font-semibold);font-family:inherit;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.boton-primario:not(.vs-btn){background:var(--primary);color:var(--text-on-accent)}.boton-primario:not(.vs-btn):hover{background:var(--primary-400)}.boton-secundario:not(.vs-btn){background:var(--surface-2);color:var(--text-primary);border-color:var(--border)}.boton-secundario:not(.vs-btn):hover{border-color:var(--border-hover)}.boton-peligro:not(.vs-btn){background:var(--danger-500);color:var(--text-on-danger)}.boton-peligro:not(.vs-btn):hover{background:var(--danger-600)}.boton-plano:not(.vs-btn){background:none;color:var(--text-secondary)}.boton-plano:not(.vs-btn):hover{background:var(--surface-2)}.boton:not(.vs-btn):disabled{opacity:.5;cursor:not-allowed}.boton-ocupado{cursor:progress}.boton-girito{width:13px;height:13px;flex-shrink:0;border:2px solid currentColor;border-top-color:transparent;border-radius:var(--radius-circle);animation:boton-girar .6s linear infinite}@keyframes boton-girar{to{transform:rotate(360deg)}}.vs-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--espacio-2);height:var(--control-comodo);padding:0 var(--espacio-5);border:0;border-radius:var(--radio-pastilla);font:600 15px/1 var(--font-interfaz);cursor:pointer;text-decoration:none;transition:transform .12s cubic-bezier(.2,0,0,1),background-color .12s,filter .12s;-webkit-tap-highlight-color:transparent}.vs-btn:focus-visible{outline:2px solid var(--acento-texto);outline-offset:2px}.vs-btn:active:not([aria-busy=true],[aria-disabled=true]){transform:scale(.98)}.vs-btn--primario{background:var(--acento-fondo);color:var(--sobre-acento)}.vs-btn--primario:hover:not([aria-busy=true],[aria-disabled=true]){filter:brightness(.94)}.vs-btn--secundario{background:var(--superficie-interna);color:var(--texto-principal)}.vs-btn--secundario:hover:not([aria-busy=true],[aria-disabled=true]){background:var(--superficie-hover)}.vs-btn--suave{background:var(--acento-tenue);color:var(--texto-principal)}.vs-btn--fantasma{background:transparent;color:var(--acento-texto)}.vs-btn--fantasma:hover:not([aria-busy=true],[aria-disabled=true]){background:var(--superficie-interna)}.vs-btn--peligro{background:var(--estado-peligro);color:var(--texto-sobre-peligro)}.vs-btn--peligro:hover:not([aria-busy=true],[aria-disabled=true]){filter:brightness(.94)}.vs-btn--sobre-imagen{background:#0f101199;color:#fff}.vs-btn--compacto{height:var(--control-compacto);padding:0 var(--espacio-4);font:600 14px/1 var(--font-interfaz)}.vs-btn--grande{height:var(--control-pie);padding:0 var(--espacio-6);font:800 18px/1 var(--font-interfaz)}.vs-btn--ancho{width:100%}.vs-btn--icono{width:var(--control-comodo);padding:0}.vs-btn--icono.vs-btn--compacto{width:var(--control-compacto)}.vs-btn[aria-disabled=true],.vs-btn:disabled{background:var(--superficie-interna);color:var(--texto-deshabilitado);filter:none;transform:none;cursor:not-allowed}.vs-btn[aria-busy=true]{cursor:progress;pointer-events:none}.vs-giro{display:inline-block;width:13px;height:13px;flex-shrink:0;border:2px solid currentColor;border-right-color:transparent;border-radius:var(--radius-circle);animation:vs-giro var(--giro-boton) linear infinite}@keyframes vs-giro{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.boton-girito,.vs-giro{animation:none;opacity:.6}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important;scroll-behavior:auto!important}}.reporte-sub{font-size:var(--text-xs);color:var(--text-muted)}.reporte-positivo{color:var(--success-700)}.reporte-negativo{color:var(--danger-700)}.reporte-vacio{color:var(--text-muted)}.audit-nombre{margin-left:var(--space-1);color:var(--text-primary);font-weight:600}.audit-id{margin-left:var(--space-1);color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.audit-cambios{list-style:none;margin:0;padding:0 0 0 var(--audit-sangria, 0);display:flex;flex-direction:column;gap:.15rem}.audit-cambios li{display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap;font-size:var(--text-xs)}.audit-campo{color:var(--text-muted);min-width:120px}.audit-antes{color:var(--text-muted);text-decoration:line-through}.audit-flecha{color:var(--text-muted)}.audit-despues{color:var(--text-primary);font-weight:600}.audit-sin-cambios{margin:0;padding-left:var(--audit-sangria, 0);font-size:var(--text-xs);color:var(--text-muted);font-style:italic}.audit-badge{display:inline-block;padding:.1rem var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:700;background:var(--surface-3);color:var(--text-secondary);white-space:nowrap}.audit-badge.login{background:var(--success-100);color:var(--success-500)}.audit-badge.logout{background:var(--surface-3);color:var(--text-muted)}.audit-badge.venta{background:var(--primary-100);color:var(--accent-text)}.audit-badge.caja{background:var(--warning-100);color:var(--warning-500)}.audit-resumen{color:var(--text-muted);font-size:var(--text-xs)}.linea-variante{font-size:var(--text-xs);color:var(--accent-text);font-weight:var(--font-semibold)}.linea-ya-devuelta{font-size:var(--text-xs);color:var(--warning-600)}.form-hint{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--text-muted);line-height:1.4}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-6);flex-wrap:wrap;gap:var(--space-4)}.page-title{font-size:var(--text-2xl);font-weight:700;color:var(--text-primary);margin:0}.page-subtitle{color:var(--text-secondary);margin:var(--space-1) 0 0;font-size:var(--text-sm)}.btn-link{background:none;border:none;padding:0;color:var(--accent-text);font-size:var(--text-xs);font-weight:600;font-family:inherit;cursor:pointer;text-decoration:underline}.campo-grupo{border:0;padding:0;margin-inline:0}.lc-flecha{display:inline-block;width:1em;color:var(--text-muted);font-size:var(--text-xs)}.lc-fila td{background:var(--surface-0);padding:var(--space-2) var(--space-4)}.lc-vacio{color:var(--text-muted);font-size:var(--text-xs)}.lc-accion{margin-top:var(--space-2);text-align:right}.lc-tabla{width:100%;max-width:46rem;border-collapse:collapse;font-size:var(--text-sm)}.lc-tabla td{padding:var(--space-1) var(--space-2);border:none}.lc-tabla .cant{width:3.5rem;font-family:var(--font-mono);color:var(--text-muted);text-align:right}.lc-tabla .num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.lc-tabla .lc-unit{color:var(--text-muted)}.lc-sku{margin-left:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}.lc-clickable{cursor:pointer;transition:background .15s}.lc-clickable:hover td{background:rgba(var(--accent-rgb),.07)}.dona-wrap{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:var(--space-5);margin-top:var(--space-4)}.dona-svg{transform:rotate(-90deg);flex-shrink:0}.dona-pista{stroke:var(--surface-3)}.dona-leyenda{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.dona-item{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:var(--space-2);font-size:var(--text-sm)}.dona-punto{width:10px;height:10px;border-radius:var(--radius-sm)}.dona-nombre{color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dona-valor{text-align:right;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text-primary)}.dona-valor em{display:block;font-style:normal;font-weight:500;font-size:var(--text-xs);color:var(--text-muted)}.dona-pie{grid-column:1 / -1;margin:var(--space-2) 0 0;font-size:var(--text-xs);color:var(--text-muted)}.dona-vacia{margin:var(--space-4) 0 0;color:var(--text-secondary);font-size:var(--text-sm)}@media (max-width: 640px){.dona-wrap{grid-template-columns:1fr;justify-items:center}.dona-leyenda{width:100%}}.dona-item.clickeable{display:block;padding:0;border-radius:var(--radius-md)}.dona-item.clickeable:hover{background:var(--surface-2)}.dona-boton{all:unset;box-sizing:border-box;cursor:pointer;width:100%;display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:var(--space-2);font-size:var(--text-sm);padding:var(--space-1) var(--space-2)}.dona-item.activa{background:rgba(var(--accent-rgb),.12)}.dona-item.activa .dona-nombre{color:var(--accent-text);font-weight:600}.dona-boton:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.dona-arco{transition:stroke-width var(--transition-fast),opacity var(--transition-fast)}.dona-arco.clickeable{cursor:pointer}.cmail-cuerpo{display:flex;flex-direction:column;gap:var(--space-4)}.cmail-pie{display:flex;gap:var(--space-3);justify-content:flex-end}.cmail-intro{margin:0;font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--text-secondary)}.cmail-nota{margin:0;font-size:var(--text-sm);color:var(--text-muted)}.cmail-plan{flex-basis:100%;margin:var(--space-2) 0 0;text-align:center;font-size:var(--text-sm);color:var(--text-muted)}.cmail-ok{margin:0;padding:var(--space-2) var(--space-3);border-left:3px solid var(--success-500);background:var(--surface-2);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--text-primary)}.cmail-envios{display:flex;flex-direction:column;gap:var(--space-2)}.cmail-titulo{margin:0;font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.cmail-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.cmail-envio{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-sm)}.cmail-destino{flex:1 1 auto;min-width:0;overflow-wrap:anywhere;color:var(--text-primary)}.cmail-auto{font-size:var(--text-xs);color:var(--text-secondary)}.cmail-marca{margin-left:var(--space-2);vertical-align:middle;white-space:nowrap}.logo-visnes-claro,[data-theme=light] .logo-visnes-oscuro{display:none}[data-theme=light] .logo-visnes-claro{display:inline}
