{"version":3,"file":"static/css/main.fc9cb5f7.css","mappings":"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F,CACF,CAEA,oCACE,IACE,SAAU,CACV,uCACF,CACA,GACE,SAAU,CACV,wCACF,CACF,CAEA,kCACE,kBAKE,uDACF,CACA,GACE,SAAU,CACV,kCACF,CACA,IACE,SAAU,CACV,+BACF,CACA,IACE,gCACF,CACA,IACE,8BACF,CACA,GACE,cACF,CACF,CAEA,mCACE,IACE,SAAU,CACV,sCACF,CACA,GACE,SAAU,CACV,yCACF,CACF,CAEA,gCACE,kBAKE,uDACF,CACA,GACE,SAAU,CACV,iCACF,CACA,IACE,SAAU,CACV,gCACF,CACA,IACE,+BACF,CACA,IACE,+BACF,CACA,GACE,uBACF,CACF,CAEA,iCACE,IACE,gDACF,CACA,QAEE,SAAU,CACV,gDACF,CACA,GACE,SAAU,CACV,kCACF,CACF,CAEA,kCACE,kBAKE,uDACF,CACA,GACE,SAAU,CACV,kCACF,CACA,IACE,SAAU,CACV,+BACF,CACA,IACE,gCACF,CACA,IACE,8BACF,CACA,GACE,cACF,CACF,CAEA,mCACE,IACE,gDACF,CACA,QAEE,SAAU,CACV,gDACF,CACA,GACE,SAAU,CACV,iCACF,CACF,CAEA,uEAEE,qCACF,CAEA,yEAEE,sCACF,CAEA,oCACE,qCACF,CAEA,uCACE,mCACF,CAEA,qEAEE,sCACF,CAEA,uEAEE,uCACF,CAEA,mCACE,oCACF,CAEA,sCACE,sCACF,CAEA,4BACE,GACE,SAAU,CACV,2BACF,CACA,IACE,SACF,CACF,CAEA,6BACE,GACE,SACF,CACA,IACE,SAAU,CACV,qDACF,CACA,GACE,SACF,CACF,CAEA,sBACE,+BACF,CAEA,qBACE,gCACF,CAEA,4BACE,GAEE,iCAAkC,CAClC,SAAU,CAFV,2CAGF,CACA,IAEE,iCAAkC,CADlC,4CAEF,CACA,IAEE,SAAU,CADV,2CAEF,CACA,IACE,2CACF,CACA,GACE,4BACF,CACF,CAEA,6BACE,GACE,sDACF,CACA,IAEE,SAAU,CADV,sEAEF,CACA,GAEE,SAAU,CADV,qEAEF,CACF,CAEA,sBACE,+BACF,CAEA,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","sources":["index.css","../node_modules/react-toastify/dist/ReactToastify.css","components/ui/Button.css","components/layout/Sidebar.css","components/layout/Header.css","components/sync/SyncModal.css","components/forms/Input.css","pages/auth/LoginPage.css","components/ui/Modal.css","components/pricing/PricingByQuantity.css","components/sales/QuantityModal/QuantityModal.css","components/sales/PaymentModal/PaymentModal.css","components/sales/PrintOrderModal/PrintOrderModal.css","pages/sales/NewSaleForm.css","pages/sales/PendingOrdersBar.css","pages/sales/SalesPage.css","components/sales/ProductsCatalogModal.css","pages/inventory/InventoryPage.css","pages/inventory/ProductForm.css","pages/inventory/ImportProductsModal.css","pages/inventory/PrinterAssignmentModal.css","pages/inventory/ProductManagementPage.css","pages/inventory/MigracionProductosPage.css","pages/inventory/CambioPreciosPage.css","pages/inventory/PreciosRayPage.css","components/forms/AddressInput.css","components/maps/MapViewer.css","pages/customers/CustomerForm.css","pages/customers/CustomerManagementPage.css","pages/warehouses/AlmacenesPage.css","pages/users/UserForm.css","pages/users/UsersPage.css","pages/roles/RolesPage.css","pages/flete/FleteManagementPage.css","pages/reports/SalesReportPage.css","pages/medidohoy/MedidoHoyPage.css","pages/picking/PickingPage.css","pages/almacen/PreparacionPage.css","pages/proveedores/ProveedorForm.css","pages/proveedores/ProveedoresPage.css","pages/compras/OrdenCompraForm.css","pages/compras/OrdenCompraDetalle.css","pages/compras/RecepcionModal.css","pages/compras/OrdenesCompraPage.css","pages/compras/CuentasPorPagarPage.css","pages/cxc/CuentasPorCobrarPage.css","pages/caratula/RouteMapModal.css","pages/caratula/CaratulaPedidosPage.css","pages/cortes/CorteCajaPage.css","components/ui/MiniRichEditor.css","pages/settings/SettingsPage.css","pages/facturacion/FacturacionPage.css","pages/etiquetas/EtiquetasZebraPage.css","pages/devoluciones/DevolucionesPage.css","styles/globals.css","App.css"],"sourcesContent":["/* Importar estilos globales */\n@import './styles/globals.css';\n\n/* Estilos adicionales específicos para index */\nbody {\n  margin: 0;\n  font-family: var(--font-sans);\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  background-color: var(--gray-50);\n  color: var(--gray-900);\n}\n\ncode {\n  font-family: var(--font-mono);\n}\n\n/* Eliminar selección de texto en elementos de UI */\n.no-select {\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n}\n\n/* Ocultar scrollbar pero mantener funcionalidad en elementos específicos */\n.hide-scrollbar {\n  -ms-overflow-style: none;\n  scrollbar-width: none;\n}\n\n.hide-scrollbar::-webkit-scrollbar {\n  display: none;\n}",":root {\n  --toastify-color-light: #fff;\n  --toastify-color-dark: #121212;\n  --toastify-color-info: #3498db;\n  --toastify-color-success: #07bc0c;\n  --toastify-color-warning: #f1c40f;\n  --toastify-color-error: hsl(6, 78%, 57%);\n  --toastify-color-transparent: rgba(255, 255, 255, 0.7);\n\n  --toastify-icon-color-info: var(--toastify-color-info);\n  --toastify-icon-color-success: var(--toastify-color-success);\n  --toastify-icon-color-warning: var(--toastify-color-warning);\n  --toastify-icon-color-error: var(--toastify-color-error);\n\n  --toastify-container-width: fit-content;\n  --toastify-toast-width: 320px;\n  --toastify-toast-offset: 16px;\n  --toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));\n  --toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));\n  --toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));\n  --toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));\n  --toastify-toast-background: #fff;\n  --toastify-toast-padding: 14px;\n  --toastify-toast-min-height: 64px;\n  --toastify-toast-max-height: 800px;\n  --toastify-toast-bd-radius: 6px;\n  --toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);\n  --toastify-font-family: sans-serif;\n  --toastify-z-index: 9999;\n  --toastify-text-color-light: #757575;\n  --toastify-text-color-dark: #fff;\n\n  /* Used only for colored theme */\n  --toastify-text-color-info: #fff;\n  --toastify-text-color-success: #fff;\n  --toastify-text-color-warning: #fff;\n  --toastify-text-color-error: #fff;\n\n  --toastify-spinner-color: #616161;\n  --toastify-spinner-color-empty-area: #e0e0e0;\n  --toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);\n  --toastify-color-progress-dark: #bb86fc;\n  --toastify-color-progress-info: var(--toastify-color-info);\n  --toastify-color-progress-success: var(--toastify-color-success);\n  --toastify-color-progress-warning: var(--toastify-color-warning);\n  --toastify-color-progress-error: var(--toastify-color-error);\n  /* used to control the opacity of the progress trail */\n  --toastify-color-progress-bgo: 0.2;\n}\n\n.Toastify__toast-container {\n  z-index: var(--toastify-z-index);\n  -webkit-transform: translate3d(0, 0, var(--toastify-z-index));\n  position: fixed;\n  width: var(--toastify-container-width);\n  box-sizing: border-box;\n  color: #fff;\n  display: flex;\n  flex-direction: column;\n}\n\n.Toastify__toast-container--top-left {\n  top: var(--toastify-toast-top);\n  left: var(--toastify-toast-left);\n}\n.Toastify__toast-container--top-center {\n  top: var(--toastify-toast-top);\n  left: 50%;\n  transform: translateX(-50%);\n  align-items: center;\n}\n.Toastify__toast-container--top-right {\n  top: var(--toastify-toast-top);\n  right: var(--toastify-toast-right);\n  align-items: end;\n}\n.Toastify__toast-container--bottom-left {\n  bottom: var(--toastify-toast-bottom);\n  left: var(--toastify-toast-left);\n}\n.Toastify__toast-container--bottom-center {\n  bottom: var(--toastify-toast-bottom);\n  left: 50%;\n  transform: translateX(-50%);\n  align-items: center;\n}\n.Toastify__toast-container--bottom-right {\n  bottom: var(--toastify-toast-bottom);\n  right: var(--toastify-toast-right);\n  align-items: end;\n}\n\n.Toastify__toast {\n  --y: 0;\n  position: relative;\n  touch-action: none;\n  width: var(--toastify-toast-width);\n  min-height: var(--toastify-toast-min-height);\n  box-sizing: border-box;\n  margin-bottom: 1rem;\n  padding: var(--toastify-toast-padding);\n  border-radius: var(--toastify-toast-bd-radius);\n  box-shadow: var(--toastify-toast-shadow);\n  max-height: var(--toastify-toast-max-height);\n  font-family: var(--toastify-font-family);\n  /* webkit only issue #791 */\n  z-index: 0;\n  /* inner swag */\n  display: flex;\n  flex: 1 auto;\n  align-items: center;\n  word-break: break-word;\n}\n\n@media only screen and (max-width: 480px) {\n  .Toastify__toast-container {\n    width: 100vw;\n    left: env(safe-area-inset-left);\n    margin: 0;\n  }\n  .Toastify__toast-container--top-left,\n  .Toastify__toast-container--top-center,\n  .Toastify__toast-container--top-right {\n    top: env(safe-area-inset-top);\n    transform: translateX(0);\n  }\n  .Toastify__toast-container--bottom-left,\n  .Toastify__toast-container--bottom-center,\n  .Toastify__toast-container--bottom-right {\n    bottom: env(safe-area-inset-bottom);\n    transform: translateX(0);\n  }\n  .Toastify__toast-container--rtl {\n    right: env(safe-area-inset-right);\n    left: initial;\n  }\n  .Toastify__toast {\n    --toastify-toast-width: 100%;\n    margin-bottom: 0;\n    border-radius: 0;\n  }\n}\n\n.Toastify__toast-container[data-stacked='true'] {\n  width: var(--toastify-toast-width);\n}\n\n.Toastify__toast--stacked {\n  position: absolute;\n  width: 100%;\n  transform: translate3d(0, var(--y), 0) scale(var(--s));\n  transition: transform 0.3s;\n}\n\n.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,\n.Toastify__toast--stacked[data-collapsed] .Toastify__close-button {\n  transition: opacity 0.1s;\n}\n\n.Toastify__toast--stacked[data-collapsed='false'] {\n  overflow: visible;\n}\n\n.Toastify__toast--stacked[data-collapsed='true']:not(:last-child) > * {\n  opacity: 0;\n}\n\n.Toastify__toast--stacked:after {\n  content: '';\n  position: absolute;\n  left: 0;\n  right: 0;\n  height: calc(var(--g) * 1px);\n  bottom: 100%;\n}\n\n.Toastify__toast--stacked[data-pos='top'] {\n  top: 0;\n}\n\n.Toastify__toast--stacked[data-pos='bot'] {\n  bottom: 0;\n}\n\n.Toastify__toast--stacked[data-pos='bot'].Toastify__toast--stacked:before {\n  transform-origin: top;\n}\n\n.Toastify__toast--stacked[data-pos='top'].Toastify__toast--stacked:before {\n  transform-origin: bottom;\n}\n\n.Toastify__toast--stacked:before {\n  content: '';\n  position: absolute;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  height: 100%;\n  transform: scaleY(3);\n  z-index: -1;\n}\n\n.Toastify__toast--rtl {\n  direction: rtl;\n}\n\n.Toastify__toast--close-on-click {\n  cursor: pointer;\n}\n\n.Toastify__toast-icon {\n  margin-inline-end: 10px;\n  width: 22px;\n  flex-shrink: 0;\n  display: flex;\n}\n\n.Toastify--animate {\n  animation-fill-mode: both;\n  animation-duration: 0.5s;\n}\n\n.Toastify--animate-icon {\n  animation-fill-mode: both;\n  animation-duration: 0.3s;\n}\n\n.Toastify__toast-theme--dark {\n  background: var(--toastify-color-dark);\n  color: var(--toastify-text-color-dark);\n}\n\n.Toastify__toast-theme--light {\n  background: var(--toastify-color-light);\n  color: var(--toastify-text-color-light);\n}\n\n.Toastify__toast-theme--colored.Toastify__toast--default {\n  background: var(--toastify-color-light);\n  color: var(--toastify-text-color-light);\n}\n\n.Toastify__toast-theme--colored.Toastify__toast--info {\n  color: var(--toastify-text-color-info);\n  background: var(--toastify-color-info);\n}\n\n.Toastify__toast-theme--colored.Toastify__toast--success {\n  color: var(--toastify-text-color-success);\n  background: var(--toastify-color-success);\n}\n\n.Toastify__toast-theme--colored.Toastify__toast--warning {\n  color: var(--toastify-text-color-warning);\n  background: var(--toastify-color-warning);\n}\n\n.Toastify__toast-theme--colored.Toastify__toast--error {\n  color: var(--toastify-text-color-error);\n  background: var(--toastify-color-error);\n}\n\n.Toastify__progress-bar-theme--light {\n  background: var(--toastify-color-progress-light);\n}\n\n.Toastify__progress-bar-theme--dark {\n  background: var(--toastify-color-progress-dark);\n}\n\n.Toastify__progress-bar--info {\n  background: var(--toastify-color-progress-info);\n}\n\n.Toastify__progress-bar--success {\n  background: var(--toastify-color-progress-success);\n}\n\n.Toastify__progress-bar--warning {\n  background: var(--toastify-color-progress-warning);\n}\n\n.Toastify__progress-bar--error {\n  background: var(--toastify-color-progress-error);\n}\n\n.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,\n.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,\n.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,\n.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error {\n  background: var(--toastify-color-transparent);\n}\n\n.Toastify__close-button {\n  color: #fff;\n  position: absolute;\n  top: 6px;\n  right: 6px;\n  background: transparent;\n  outline: none;\n  border: none;\n  padding: 0;\n  cursor: pointer;\n  opacity: 0.7;\n  transition: 0.3s ease;\n  z-index: 1;\n}\n\n.Toastify__toast--rtl .Toastify__close-button {\n  left: 6px;\n  right: unset;\n}\n\n.Toastify__close-button--light {\n  color: #000;\n  opacity: 0.3;\n}\n\n.Toastify__close-button > svg {\n  fill: currentColor;\n  height: 16px;\n  width: 14px;\n}\n\n.Toastify__close-button:hover,\n.Toastify__close-button:focus {\n  opacity: 1;\n}\n\n@keyframes Toastify__trackProgress {\n  0% {\n    transform: scaleX(1);\n  }\n  100% {\n    transform: scaleX(0);\n  }\n}\n\n.Toastify__progress-bar {\n  position: absolute;\n  bottom: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  z-index: 1;\n  opacity: 0.7;\n  transform-origin: left;\n}\n\n.Toastify__progress-bar--animated {\n  animation: Toastify__trackProgress linear 1 forwards;\n}\n\n.Toastify__progress-bar--controlled {\n  transition: transform 0.2s;\n}\n\n.Toastify__progress-bar--rtl {\n  right: 0;\n  left: initial;\n  transform-origin: right;\n  border-bottom-left-radius: initial;\n}\n\n.Toastify__progress-bar--wrp {\n  position: absolute;\n  overflow: hidden;\n  bottom: 0;\n  left: 0;\n  width: 100%;\n  height: 5px;\n  border-bottom-left-radius: var(--toastify-toast-bd-radius);\n  border-bottom-right-radius: var(--toastify-toast-bd-radius);\n}\n\n.Toastify__progress-bar--wrp[data-hidden='true'] {\n  opacity: 0;\n}\n\n.Toastify__progress-bar--bg {\n  opacity: var(--toastify-color-progress-bgo);\n  width: 100%;\n  height: 100%;\n}\n\n.Toastify__spinner {\n  width: 20px;\n  height: 20px;\n  box-sizing: border-box;\n  border: 2px solid;\n  border-radius: 100%;\n  border-color: var(--toastify-spinner-color-empty-area);\n  border-right-color: var(--toastify-spinner-color);\n  animation: Toastify__spin 0.65s linear infinite;\n}\n\n@keyframes Toastify__bounceInRight {\n  from,\n  60%,\n  75%,\n  90%,\n  to {\n    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n  }\n  from {\n    opacity: 0;\n    transform: translate3d(3000px, 0, 0);\n  }\n  60% {\n    opacity: 1;\n    transform: translate3d(-25px, 0, 0);\n  }\n  75% {\n    transform: translate3d(10px, 0, 0);\n  }\n  90% {\n    transform: translate3d(-5px, 0, 0);\n  }\n  to {\n    transform: none;\n  }\n}\n\n@keyframes Toastify__bounceOutRight {\n  20% {\n    opacity: 1;\n    transform: translate3d(-20px, var(--y), 0);\n  }\n  to {\n    opacity: 0;\n    transform: translate3d(2000px, var(--y), 0);\n  }\n}\n\n@keyframes Toastify__bounceInLeft {\n  from,\n  60%,\n  75%,\n  90%,\n  to {\n    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n  }\n  0% {\n    opacity: 0;\n    transform: translate3d(-3000px, 0, 0);\n  }\n  60% {\n    opacity: 1;\n    transform: translate3d(25px, 0, 0);\n  }\n  75% {\n    transform: translate3d(-10px, 0, 0);\n  }\n  90% {\n    transform: translate3d(5px, 0, 0);\n  }\n  to {\n    transform: none;\n  }\n}\n\n@keyframes Toastify__bounceOutLeft {\n  20% {\n    opacity: 1;\n    transform: translate3d(20px, var(--y), 0);\n  }\n  to {\n    opacity: 0;\n    transform: translate3d(-2000px, var(--y), 0);\n  }\n}\n\n@keyframes Toastify__bounceInUp {\n  from,\n  60%,\n  75%,\n  90%,\n  to {\n    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n  }\n  from {\n    opacity: 0;\n    transform: translate3d(0, 3000px, 0);\n  }\n  60% {\n    opacity: 1;\n    transform: translate3d(0, -20px, 0);\n  }\n  75% {\n    transform: translate3d(0, 10px, 0);\n  }\n  90% {\n    transform: translate3d(0, -5px, 0);\n  }\n  to {\n    transform: translate3d(0, 0, 0);\n  }\n}\n\n@keyframes Toastify__bounceOutUp {\n  20% {\n    transform: translate3d(0, calc(var(--y) - 10px), 0);\n  }\n  40%,\n  45% {\n    opacity: 1;\n    transform: translate3d(0, calc(var(--y) + 20px), 0);\n  }\n  to {\n    opacity: 0;\n    transform: translate3d(0, -2000px, 0);\n  }\n}\n\n@keyframes Toastify__bounceInDown {\n  from,\n  60%,\n  75%,\n  90%,\n  to {\n    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n  }\n  0% {\n    opacity: 0;\n    transform: translate3d(0, -3000px, 0);\n  }\n  60% {\n    opacity: 1;\n    transform: translate3d(0, 25px, 0);\n  }\n  75% {\n    transform: translate3d(0, -10px, 0);\n  }\n  90% {\n    transform: translate3d(0, 5px, 0);\n  }\n  to {\n    transform: none;\n  }\n}\n\n@keyframes Toastify__bounceOutDown {\n  20% {\n    transform: translate3d(0, calc(var(--y) - 10px), 0);\n  }\n  40%,\n  45% {\n    opacity: 1;\n    transform: translate3d(0, calc(var(--y) + 20px), 0);\n  }\n  to {\n    opacity: 0;\n    transform: translate3d(0, 2000px, 0);\n  }\n}\n\n.Toastify__bounce-enter--top-left,\n.Toastify__bounce-enter--bottom-left {\n  animation-name: Toastify__bounceInLeft;\n}\n\n.Toastify__bounce-enter--top-right,\n.Toastify__bounce-enter--bottom-right {\n  animation-name: Toastify__bounceInRight;\n}\n\n.Toastify__bounce-enter--top-center {\n  animation-name: Toastify__bounceInDown;\n}\n\n.Toastify__bounce-enter--bottom-center {\n  animation-name: Toastify__bounceInUp;\n}\n\n.Toastify__bounce-exit--top-left,\n.Toastify__bounce-exit--bottom-left {\n  animation-name: Toastify__bounceOutLeft;\n}\n\n.Toastify__bounce-exit--top-right,\n.Toastify__bounce-exit--bottom-right {\n  animation-name: Toastify__bounceOutRight;\n}\n\n.Toastify__bounce-exit--top-center {\n  animation-name: Toastify__bounceOutUp;\n}\n\n.Toastify__bounce-exit--bottom-center {\n  animation-name: Toastify__bounceOutDown;\n}\n\n@keyframes Toastify__zoomIn {\n  from {\n    opacity: 0;\n    transform: scale3d(0.3, 0.3, 0.3);\n  }\n  50% {\n    opacity: 1;\n  }\n}\n\n@keyframes Toastify__zoomOut {\n  from {\n    opacity: 1;\n  }\n  50% {\n    opacity: 0;\n    transform: translate3d(0, var(--y), 0) scale3d(0.3, 0.3, 0.3);\n  }\n  to {\n    opacity: 0;\n  }\n}\n\n.Toastify__zoom-enter {\n  animation-name: Toastify__zoomIn;\n}\n\n.Toastify__zoom-exit {\n  animation-name: Toastify__zoomOut;\n}\n\n@keyframes Toastify__flipIn {\n  from {\n    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n    animation-timing-function: ease-in;\n    opacity: 0;\n  }\n  40% {\n    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n    animation-timing-function: ease-in;\n  }\n  60% {\n    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);\n    opacity: 1;\n  }\n  80% {\n    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);\n  }\n  to {\n    transform: perspective(400px);\n  }\n}\n\n@keyframes Toastify__flipOut {\n  from {\n    transform: translate3d(0, var(--y), 0) perspective(400px);\n  }\n  30% {\n    transform: translate3d(0, var(--y), 0) perspective(400px) rotate3d(1, 0, 0, -20deg);\n    opacity: 1;\n  }\n  to {\n    transform: translate3d(0, var(--y), 0) perspective(400px) rotate3d(1, 0, 0, 90deg);\n    opacity: 0;\n  }\n}\n\n.Toastify__flip-enter {\n  animation-name: Toastify__flipIn;\n}\n\n.Toastify__flip-exit {\n  animation-name: Toastify__flipOut;\n}\n\n@keyframes Toastify__slideInRight {\n  from {\n    transform: translate3d(110%, 0, 0);\n    visibility: visible;\n  }\n  to {\n    transform: translate3d(0, var(--y), 0);\n  }\n}\n\n@keyframes Toastify__slideInLeft {\n  from {\n    transform: translate3d(-110%, 0, 0);\n    visibility: visible;\n  }\n  to {\n    transform: translate3d(0, var(--y), 0);\n  }\n}\n\n@keyframes Toastify__slideInUp {\n  from {\n    transform: translate3d(0, 110%, 0);\n    visibility: visible;\n  }\n  to {\n    transform: translate3d(0, var(--y), 0);\n  }\n}\n\n@keyframes Toastify__slideInDown {\n  from {\n    transform: translate3d(0, -110%, 0);\n    visibility: visible;\n  }\n  to {\n    transform: translate3d(0, var(--y), 0);\n  }\n}\n\n@keyframes Toastify__slideOutRight {\n  from {\n    transform: translate3d(0, var(--y), 0);\n  }\n  to {\n    visibility: hidden;\n    transform: translate3d(110%, var(--y), 0);\n  }\n}\n\n@keyframes Toastify__slideOutLeft {\n  from {\n    transform: translate3d(0, var(--y), 0);\n  }\n  to {\n    visibility: hidden;\n    transform: translate3d(-110%, var(--y), 0);\n  }\n}\n\n@keyframes Toastify__slideOutDown {\n  from {\n    transform: translate3d(0, var(--y), 0);\n  }\n  to {\n    visibility: hidden;\n    transform: translate3d(0, 500px, 0);\n  }\n}\n\n@keyframes Toastify__slideOutUp {\n  from {\n    transform: translate3d(0, var(--y), 0);\n  }\n  to {\n    visibility: hidden;\n    transform: translate3d(0, -500px, 0);\n  }\n}\n\n.Toastify__slide-enter--top-left,\n.Toastify__slide-enter--bottom-left {\n  animation-name: Toastify__slideInLeft;\n}\n\n.Toastify__slide-enter--top-right,\n.Toastify__slide-enter--bottom-right {\n  animation-name: Toastify__slideInRight;\n}\n\n.Toastify__slide-enter--top-center {\n  animation-name: Toastify__slideInDown;\n}\n\n.Toastify__slide-enter--bottom-center {\n  animation-name: Toastify__slideInUp;\n}\n\n.Toastify__slide-exit--top-left,\n.Toastify__slide-exit--bottom-left {\n  animation-name: Toastify__slideOutLeft;\n  animation-timing-function: ease-in;\n  animation-duration: 0.3s;\n}\n\n.Toastify__slide-exit--top-right,\n.Toastify__slide-exit--bottom-right {\n  animation-name: Toastify__slideOutRight;\n  animation-timing-function: ease-in;\n  animation-duration: 0.3s;\n}\n\n.Toastify__slide-exit--top-center {\n  animation-name: Toastify__slideOutUp;\n  animation-timing-function: ease-in;\n  animation-duration: 0.3s;\n}\n\n.Toastify__slide-exit--bottom-center {\n  animation-name: Toastify__slideOutDown;\n  animation-timing-function: ease-in;\n  animation-duration: 0.3s;\n}\n\n@keyframes Toastify__spin {\n  from {\n    transform: rotate(0deg);\n  }\n  to {\n    transform: rotate(360deg);\n  }\n}\n",".btn {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  gap: 0.5rem;\n  border: none;\n  border-radius: 0.375rem;\n  font-weight: 500;\n  cursor: pointer;\n  transition: all 0.2s;\n  position: relative;\n  text-decoration: none;\n}\n\n/* Tamaños */\n.btn-small {\n  padding: 0.25rem 0.75rem;\n  font-size: 0.75rem;\n  min-height: 2rem;\n}\n\n.btn-xs {\n  padding: 0.125rem 0.5rem;\n  font-size: 0.6875rem;\n  min-height: 1.75rem;\n}\n\n.btn-medium {\n  padding: 0.5rem 1rem;\n  font-size: 0.875rem;\n  min-height: 2.5rem;\n}\n\n.btn-large {\n  padding: 0.75rem 1.5rem;\n  font-size: 1rem;\n  min-height: 3rem;\n}\n\n/* Variantes */\n.btn-primary {\n  background: #3b82f6;\n  color: white;\n}\n\n.btn-primary:hover:not(.btn-disabled) {\n  background: #2563eb;\n}\n\n.btn-secondary {\n  background: #6b7280;\n  color: white;\n}\n\n.btn-secondary:hover:not(.btn-disabled) {\n  background: #4b5563;\n}\n\n.btn-success {\n  background: #10b981;\n  color: white;\n}\n\n.btn-success:hover:not(.btn-disabled) {\n  background: #059669;\n}\n\n.btn-danger {\n  background: #ef4444;\n  color: white;\n}\n\n.btn-danger:hover:not(.btn-disabled) {\n  background: #dc2626;\n}\n\n.btn-outline {\n  background: transparent;\n  border: 0.0625rem solid #d1d5db;\n  color: #374151;\n}\n\n.btn-outline:hover:not(.btn-disabled) {\n  background: #f9fafb;\n  border-color: #9ca3af;\n}\n\n.btn-ghost {\n  background: transparent;\n  color: #6b7280;\n}\n\n.btn-ghost:hover:not(.btn-disabled) {\n  background: #f3f4f6;\n  color: #374151;\n}\n\n/* Estados */\n.btn-disabled {\n  opacity: 0.5;\n  cursor: not-allowed;\n}\n\n.btn-loading {\n  cursor: wait;\n}\n\n.btn-loading .btn-text {\n  opacity: 0.7;\n}\n\n/* Spinner de carga */\n.btn-spinner {\n  width: 1rem;\n  height: 1rem;\n  border: 0.125rem solid transparent;\n  border-top: 0.125rem solid currentColor;\n  border-radius: 50%;\n  animation: spin 1s linear infinite;\n}\n\n@keyframes spin {\n  to {\n    transform: rotate(360deg);\n  }\n}\n\n.btn-icon {\n  display: flex;\n  align-items: center;\n}\n",".sidebar {\n  width: 17.5rem;\n  height: 100vh;\n  background: #f3f4f6;\n  color: #1f2937;\n  display: flex;\n  flex-direction: column;\n  border-right: 0.0625rem solid #e5e7eb;\n  box-shadow: 0 0.25rem 0.375rem -0.0625rem rgba(0, 0, 0, 0.1);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;\n  transition: width 0.3s ease;\n}\n\n.sidebar.collapsed {\n  width: 4.375rem;\n}\n\n.sidebar-header {\n  padding: 0.75rem 0.75rem;\n  border-bottom: 0.0625rem solid #e5e7eb;\n  background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);\n}\n\n.sidebar-header-content {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 0.5rem;\n}\n\n/* Brand: logo + texto */\n.sidebar-brand {\n  display: flex;\n  align-items: center;\n  gap: 0.625rem;\n  flex: 1;\n  min-width: 0;\n}\n\n.sidebar-logo {\n  width: 36px;\n  height: 36px;\n  object-fit: contain;\n  border-radius: 6px;\n  flex-shrink: 0;\n}\n\n.sidebar-logo-placeholder {\n  width: 36px;\n  height: 36px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  background: linear-gradient(135deg, #3b82f6, #2563eb);\n  color: white;\n  border-radius: 6px;\n  flex-shrink: 0;\n}\n\n.sidebar-brand-text {\n  display: flex;\n  flex-direction: column;\n  min-width: 0;\n}\n\n.sidebar-brand-text h2 {\n  margin: 0;\n  font-size: 1.125rem;\n  font-weight: 700;\n  color: #1f2937;\n  letter-spacing: -0.025em;\n  line-height: 1.2;\n}\n\n.sidebar-empresa-nombre {\n  font-size: 0.688rem;\n  color: #6b7280;\n  font-weight: 500;\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  line-height: 1.3;\n}\n\n.sidebar-toggle-btn {\n  background: #ffffff;\n  border: 0.0625rem solid #e5e7eb;\n  border-radius: 0.375rem;\n  padding: 0.5rem;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  cursor: pointer;\n  transition: all 0.2s ease;\n  color: #4b5563;\n  min-width: 2.25rem;\n  min-height: 2.25rem;\n  flex-shrink: 0;\n}\n\n.sidebar-toggle-btn:hover {\n  background: #f1f5f9;\n  border-color: #cbd5e1;\n  transform: scale(1.05);\n}\n\n/* Collapsed */\n.sidebar.collapsed .sidebar-brand {\n  justify-content: center;\n}\n\n.sidebar.collapsed .sidebar-brand-text {\n  display: none;\n}\n\n.sidebar.collapsed .sidebar-logo {\n  width: 28px;\n  height: 28px;\n}\n\n.sidebar.collapsed .sidebar-logo-placeholder {\n  width: 28px;\n  height: 28px;\n}\n\n.sidebar.collapsed .sidebar-toggle-btn {\n  margin: 0 auto;\n}\n\n.sidebar.collapsed .sidebar-header-content {\n  flex-direction: column;\n  gap: 0.375rem;\n}\n\n.user-info {\n  margin-top: 0.75rem;\n  padding-top: 0.75rem;\n  border-top: 0.0625rem solid #e5e7eb;\n  background: #f8fafc;\n  border-radius: 0.5rem;\n  padding: 0.75rem;\n}\n\n.sidebar.collapsed .user-info {\n  display: none;\n}\n\n.user-name {\n  font-size: 0.875rem;\n  font-weight: 600;\n  color: #1f2937;\n  margin-bottom: 0.375rem;\n}\n\n.user-role {\n  font-size: 0.75rem;\n  color: #6b7280;\n  background: #ffffff;\n  border: 0.0625rem solid #e5e7eb;\n  padding: 0.375rem 0.75rem;\n  border-radius: 0.375rem;\n  display: inline-block;\n  font-weight: 500;\n  box-shadow: 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.05);\n}\n\n.sidebar-nav {\n  flex: 1;\n  padding: 0.5rem 0;\n  overflow-y: auto;\n  overflow-x: hidden;\n}\n\n.sidebar-item {\n  width: 100%;\n  display: flex;\n  align-items: center;\n  gap: 0.75rem;\n  padding: 0.625rem 1rem;\n  margin: 0.125rem 0.5rem;\n  background: none;\n  border: none;\n  border-radius: 0.375rem;\n  color: #4b5563;\n  font-size: 0.875rem;\n  font-weight: 500;\n  cursor: pointer;\n  transition: all 0.15s ease;\n  text-align: left;\n  position: relative;\n}\n\n.sidebar.collapsed .sidebar-item {\n  justify-content: center;\n  padding: 0.625rem;\n  gap: 0;\n}\n\n.sidebar.collapsed .sidebar-item-label,\n.sidebar.collapsed .collapse-icon {\n  display: none;\n}\n\n.sidebar-item:hover {\n  background: #f1f5f9;\n  color: #1f2937;\n  transform: translateX(0.125rem);\n  box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.1);\n}\n\n.sidebar.collapsed .sidebar-item:hover {\n  transform: none;\n}\n\n.sidebar-item.active {\n  background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);\n  color: white;\n  box-shadow: 0 0.125rem 0.25rem rgba(59, 130, 246, 0.3);\n  font-weight: 600;\n}\n\n.sidebar-item.active::before {\n  content: '';\n  position: absolute;\n  left: 0;\n  top: 50%;\n  transform: translateY(-50%);\n  width: 0.1875rem;\n  height: 60%;\n  background: #ffffff;\n  border-radius: 0 0.125rem 0.125rem 0;\n}\n\n.sidebar-item.logout {\n  color: #dc2626;\n  margin-top: auto;\n}\n\n.sidebar-item.logout:hover {\n  background: #fef2f2;\n  color: #dc2626;\n}\n\n.no-permissions {\n  padding: 1.5rem 1rem;\n  text-align: center;\n  color: #6b7280;\n  background: #f9fafb;\n  margin: 0.5rem;\n  border-radius: 0.5rem;\n  border: 0.0625rem solid #e5e7eb;\n}\n\n.no-permissions p {\n  margin: 0;\n  font-size: 0.875rem;\n  line-height: 1.5;\n  font-weight: 500;\n}\n\n.sidebar-footer {\n  border-top: 0.0625rem solid #e5e7eb;\n  padding: 0.75rem 0;\n  background: #f8fafc;\n}\n\n/* Estilos para items colapsables */\n.sidebar-menu-group {\n  margin-bottom: 0.125rem;\n}\n\n.sidebar-item.collapsible {\n  position: relative;\n  justify-content: space-between;\n}\n\n.sidebar-item-label {\n  flex: 1;\n  text-align: left;\n}\n\n.collapse-icon {\n  margin-left: auto;\n  display: flex;\n  align-items: center;\n  transition: transform 0.2s ease;\n  color: #6b7280;\n}\n\n.sidebar-submenu {\n  background: #ffffff;\n  border-left: 0.1875rem solid #e5e7eb;\n  margin-left: 1rem;\n  margin-right: 0.5rem;\n  border-radius: 0 0.375rem 0.375rem 0;\n  overflow: hidden;\n  box-shadow: inset 0.125rem 0 0.25rem rgba(0, 0, 0, 0.05);\n}\n\n.sidebar.collapsed .sidebar-submenu {\n  display: none;\n}\n\n.sidebar-subitem {\n  width: 100%;\n  display: flex;\n  align-items: center;\n  padding: 0.5rem 1rem 0.5rem 1.25rem;\n  background: none;\n  border: none;\n  color: #6b7280;\n  font-size: 0.8rem;\n  font-weight: 500;\n  cursor: pointer;\n  transition: all 0.15s ease;\n  text-align: left;\n  border-radius: 0;\n  margin: 0;\n  position: relative;\n}\n\n.sidebar-subitem:hover {\n  background: #f1f5f9;\n  color: #374151;\n  transform: translateX(0.125rem);\n}\n\n.sidebar-subitem.active {\n  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);\n  color: white;\n  font-weight: 600;\n}\n\n.sidebar-subitem.active::before {\n  content: '';\n  position: absolute;\n  left: 0;\n  top: 0;\n  bottom: 0;\n  width: 0.1875rem;\n  background: #ffffff;\n}\n\n.sidebar-subitem span {\n  display: block;\n  flex: 1;\n}\n\n/* Estilos para sub-items colapsables (nivel 2 con hijos) */\n.sidebar-subitem.collapsible {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  font-weight: 600;\n  color: #374151;\n}\n\n.sidebar-subitem.collapsible:hover {\n  background: #e0e7ff;\n  color: #1e40af;\n}\n\n.collapse-icon-small {\n  margin-left: 0.5rem;\n  display: flex;\n  align-items: center;\n  color: #6b7280;\n  transition: transform 0.2s ease;\n}\n\n/* Estilos para submenús anidados (nivel 3+) */\n.sidebar-submenu-nested {\n  background: #fafbfc;\n  border-left: 0.125rem solid #e5e7eb;\n  margin-left: 0.75rem;\n  margin-top: 0.125rem;\n  border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.sidebar-subitem.level-2 {\n  padding-left: 2rem;\n  font-size: 0.75rem;\n  color: #6b7280;\n}\n\n.sidebar-subitem.level-2:hover {\n  background: #f9fafb;\n  color: #111827;\n}\n\n.sidebar-subitem.level-2.active {\n  background: linear-gradient(135deg, #1d4ed8 0%, #1e3a8a 100%);\n  color: white;\n  font-weight: 600;\n}\n\n.sidebar-subitem.level-3 {\n  padding-left: 2.75rem;\n  font-size: 0.7rem;\n  color: #9ca3af;\n}\n\n.sidebar-subitem.level-3:hover {\n  background: #f3f4f6;\n  color: #111827;\n}\n\n.sidebar-subitem.level-3.active {\n  background: linear-gradient(135deg, #1e3a8a 0%, #1e293b 100%);\n  color: white;\n  font-weight: 600;\n}\n\n/* ===== Indicador de Sync ===== */\n.sidebar-sync-indicator {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  width: calc(100% - 1rem);\n  margin: 0.25rem 0.5rem;\n  padding: 6px 10px;\n  background: #f9fafb;\n  border: 1px solid #e5e7eb;\n  border-radius: 6px;\n  cursor: pointer;\n  transition: all 0.2s ease;\n  font-size: 12px;\n  color: #6b7280;\n  position: relative;\n}\n\n.sidebar-sync-indicator:hover {\n  background: #eff6ff;\n  border-color: #bfdbfe;\n  color: #2563eb;\n}\n\n.sidebar-sync-indicator.syncing {\n  background: #eff6ff;\n  border-color: #93c5fd;\n  color: #2563eb;\n}\n\n.sidebar-sync-indicator.active {\n  background: #ecfdf5;\n  border-color: #a7f3d0;\n  color: #059669;\n}\n\n.sidebar-sync-indicator.has-error {\n  border-color: #fecaca;\n}\n\n.sidebar-sync-text {\n  flex: 1;\n  font-weight: 500;\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n\n.sidebar-sync-dot {\n  width: 7px;\n  height: 7px;\n  border-radius: 50%;\n  flex-shrink: 0;\n}\n\n.sidebar-sync-dot.active {\n  background: #10b981;\n  box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.2);\n  animation: pulse-dot 2s infinite;\n}\n\n.sidebar-sync-dot.syncing {\n  background: #3b82f6;\n  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.3);\n  animation: pulse-dot 1s infinite;\n}\n\n.sidebar-sync-dot.error {\n  background: #ef4444;\n  box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.2);\n}\n\n.sidebar-sync-dot.inactive {\n  background: #9ca3af;\n}\n\n@keyframes pulse-dot {\n  0%, 100% { opacity: 1; }\n  50% { opacity: 0.5; }\n}\n\n/* Collapsed sidebar: mostrar solo icono y punto */\n.sidebar.collapsed .sidebar-sync-indicator {\n  justify-content: center;\n  padding: 6px;\n  width: calc(100% - 0.5rem);\n  margin: 0.25rem auto;\n}\n\n.sidebar.collapsed .sidebar-sync-text {\n  display: none;\n}\n\n.sidebar.collapsed .sidebar-sync-dot {\n  position: absolute;\n  top: 3px;\n  right: 3px;\n  width: 6px;\n  height: 6px;\n}\n\n/* Spinning para el sidebar */\n.sidebar-sync-indicator .spinning {\n  animation: spin 1s linear infinite;\n}\n\n@keyframes spin {\n  from { transform: rotate(0deg); }\n  to { transform: rotate(360deg); }\n}\n",".header {\n  height: 3.75rem;\n  background: white;\n  border-bottom: 0.0625rem solid var(--gray-200);\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  padding: 0 1.5rem;\n  box-shadow: var(--shadow-sm);\n  position: sticky;\n  top: 0;\n  z-index: 10;\n}\n\n.header-left {\n  flex: 0 0 auto;\n}\n\n.header-title {\n  margin: 0;\n  font-size: var(--text-xl);\n  font-weight: 600;\n  color: var(--gray-900);\n}\n\n.header-center {\n  flex: 1;\n  max-width: 25rem;\n  margin: 0 2rem;\n}\n\n.search-container {\n  position: relative;\n  width: 100%;\n}\n\n.search-icon {\n  position: absolute;\n  left: 0.75rem;\n  top: 50%;\n  transform: translateY(-50%);\n  color: var(--gray-400);\n}\n\n.search-input {\n  width: 100%;\n  padding: 0.5rem 0.75rem 0.5rem 2.5rem;\n  border: 0.0625rem solid var(--gray-300);\n  border-radius: var(--radius-md);\n  font-size: var(--text-sm);\n  background: var(--gray-50);\n  transition: all var(--transition-base);\n}\n\n.search-input:focus {\n  outline: none;\n  border-color: var(--gray-400);\n  background: white;\n  box-shadow: 0 0 0 0.1875rem rgba(107, 114, 128, 0.1);\n}\n\n.header-right {\n  flex: 0 0 auto;\n  display: flex;\n  align-items: center;\n  gap: 0.75rem;\n}\n\n.header-btn {\n  padding: 0.5rem;\n  background: none;\n  border: none;\n  color: var(--gray-500);\n  cursor: pointer;\n  border-radius: var(--radius-md);\n  transition: all var(--transition-base);\n  position: relative;\n}\n\n.header-btn:hover {\n  background: var(--gray-100);\n  color: var(--gray-700);\n}\n\n/* Botón de notificaciones */\n.notification-btn {\n  position: relative;\n}\n\n.notification-badge {\n  position: absolute;\n  top: -0.125rem;\n  right: -0.125rem;\n  background: var(--error-500);\n  color: white;\n  font-size: 0.625rem;\n  font-weight: 600;\n  padding: 0.125rem 0.375rem;\n  border-radius: 0.625rem;\n  min-width: 1.125rem;\n  text-align: center;\n}\n\n/* Selector de Almacén */\n.warehouse-menu {\n  position: relative;\n  z-index: 10000;\n}\n\n.warehouse-btn {\n  display: flex;\n  align-items: center;\n  gap: 0.75rem;\n  padding: 0.5rem 0.75rem;\n  min-width: 11.25rem;\n  background: var(--gray-50);\n  border: 0.0625rem solid var(--gray-200);\n  color: var(--gray-700);\n}\n\n.warehouse-btn:hover {\n  background: var(--gray-100);\n  border-color: var(--gray-300);\n  color: var(--gray-800);\n}\n\n.warehouse-info {\n  display: flex;\n  flex-direction: column;\n  align-items: flex-start;\n  flex: 1;\n}\n\n.warehouse-name {\n  font-size: var(--text-sm);\n  font-weight: 500;\n  line-height: 1.2;\n}\n\n.warehouse-dropdown {\n  position: absolute;\n  top: 100%;\n  right: 0;\n  margin-top: 0.5rem;\n  background: white;\n  border: 0.0625rem solid var(--gray-200);\n  border-radius: var(--radius-lg);\n  box-shadow: var(--shadow-lg);\n  min-width: 17.5rem;\n  z-index: 9999;\n  animation: slideIn var(--transition-base);\n}\n\n.warehouse-details {\n  flex: 1;\n}\n\n.warehouse-title {\n  font-size: var(--text-base);\n  font-weight: 600;\n  color: var(--gray-900);\n}\n\n.warehouse-item-info {\n  display: flex;\n  flex-direction: column;\n  flex: 1;\n  gap: 0.125rem;\n}\n\n.warehouse-item-name {\n  font-size: var(--text-sm);\n  font-weight: 500;\n  color: var(--gray-900);\n}\n\n.warehouse-item-code {\n  font-size: var(--text-xs);\n  color: var(--gray-500);\n}\n\n.warehouse-active-check {\n  font-size: var(--text-lg);\n  color: var(--gray-600);\n  font-weight: 600;\n}\n\n.dropdown-item.active {\n  background: var(--gray-50);\n  color: var(--gray-700);\n}\n\n.dropdown-item.active:hover {\n  background: var(--gray-100);\n}\n\n/* Botón de usuario */\n.user-btn {\n  display: flex;\n  align-items: center;\n  gap: 0.75rem;\n  padding: 0.5rem 0.75rem;\n  min-width: 12.5rem;\n}\n\n.user-info {\n  display: flex;\n  flex-direction: column;\n  align-items: flex-start;\n  flex: 1;\n}\n\n.user-name {\n  font-size: var(--text-sm);\n  font-weight: 500;\n  color: var(--gray-900);\n  line-height: 1.2;\n}\n\n.user-role {\n  font-size: var(--text-xs);\n  color: var(--gray-500);\n  text-transform: capitalize;\n  line-height: 1.2;\n}\n\n.chevron {\n  transition: transform var(--transition-base);\n}\n\n.chevron.rotated {\n  transform: rotate(180deg);\n}\n\n/* Menú desplegable del usuario */\n.user-menu {\n  position: relative;\n  z-index: 10000;\n}\n\n.user-dropdown {\n  position: absolute;\n  top: 100%;\n  right: 0;\n  margin-top: 0.5rem;\n  background: white;\n  border: 0.0625rem solid var(--gray-200);\n  border-radius: var(--radius-lg);\n  box-shadow: var(--shadow-lg);\n  min-width: 17.5rem;\n  z-index: 9999;\n  animation: slideIn var(--transition-base);\n}\n\n.dropdown-header {\n  display: flex;\n  align-items: center;\n  gap: 0.75rem;\n  padding: 1rem;\n}\n\n.user-avatar {\n  width: 2.5rem;\n  height: 2.5rem;\n  background: var(--gray-100);\n  border-radius: 50%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  color: var(--gray-600);\n}\n\n.user-details .user-name {\n  font-size: var(--text-base);\n  font-weight: 600;\n  color: var(--gray-900);\n  margin-bottom: 0.25rem;\n}\n\n.user-email {\n  font-size: var(--text-sm);\n  color: var(--gray-500);\n}\n\n.dropdown-divider {\n  height: 0.0625rem;\n  background: var(--gray-200);\n  margin: 0.5rem 0;\n}\n\n.dropdown-item {\n  width: 100%;\n  display: flex;\n  align-items: center;\n  gap: 0.75rem;\n  padding: 0.75rem 1rem;\n  background: none;\n  border: none;\n  color: var(--gray-700);\n  font-size: var(--text-sm);\n  cursor: pointer;\n  transition: all var(--transition-base);\n  text-align: left;\n}\n\n.dropdown-item:hover {\n  background: var(--gray-50);\n  color: var(--gray-900);\n}\n\n.logout-item {\n  color: var(--error-600);\n}\n\n.logout-item:hover {\n  background: var(--error-50);\n  color: var(--error-700);\n}\n\n/* Responsive */\n@media (max-width: 48rem) {\n  .header {\n    padding: 0 1rem;\n  }\n\n  .header-center {\n    margin: 0 1rem;\n    max-width: 18.75rem;\n  }\n\n  .header-title {\n    font-size: var(--text-lg);\n  }\n\n  .warehouse-btn {\n    min-width: auto;\n    padding: 0.5rem;\n  }\n\n  .warehouse-info {\n    display: none;\n  }\n\n  .warehouse-dropdown {\n    min-width: 15.625rem;\n  }\n\n  .user-btn {\n    min-width: auto;\n  }\n\n  .user-info {\n    display: none;\n  }\n\n  .user-dropdown {\n    min-width: 15.625rem;\n  }\n}\n\n@media (max-width: 30rem) {\n  .header-center {\n    display: none;\n  }\n\n  .warehouse-dropdown {\n    right: -1rem;\n    min-width: auto;\n    max-width: calc(100vw - 2rem);\n  }\n\n  .user-dropdown {\n    right: -1rem;\n    left: -1rem;\n    min-width: auto;\n  }\n}\n\n/* Alerta de efectivo en header */\n.header-alert {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  padding: 0.5rem 1rem;\n  border-radius: var(--radius-md);\n  font-size: var(--text-sm);\n  font-weight: 500;\n  cursor: default;\n  animation: pulse-alert 2s ease-in-out infinite;\n}\n\n.header-alert.efectivo-excedido {\n  background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);\n  color: white;\n  box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.4);\n}\n\n.header-alert.efectivo-excedido svg {\n  flex-shrink: 0;\n}\n\n.header-alert .alert-text {\n  font-weight: 600;\n  font-size: var(--text-sm);\n  letter-spacing: 0.3px;\n}\n\n@keyframes pulse-alert {\n  0%, 100% {\n    box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.4);\n  }\n  50% {\n    box-shadow: 0 0 0 8px rgba(220, 38, 38, 0);\n  }\n}\n\n/* Responsive para alerta */\n@media (max-width: 48rem) {\n  .header-alert {\n    padding: 0.4rem 0.75rem;\n    font-size: var(--text-xs);\n  }\n}\n\n@media (max-width: 30rem) {\n  .header-alert .alert-text {\n    display: none;\n  }\n\n  .header-alert {\n    padding: 0.5rem;\n    border-radius: 50%;\n  }\n}\n",".sync-modal-overlay {\n  position: fixed;\n  top: 0; left: 0; right: 0; bottom: 0;\n  background: rgba(0,0,0,0.4);\n  z-index: 9999;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.sync-modal {\n  background: white;\n  border-radius: 12px;\n  width: 480px;\n  max-width: 95vw;\n  max-height: 85vh;\n  display: flex;\n  flex-direction: column;\n  box-shadow: 0 20px 60px rgba(0,0,0,0.3);\n  overflow: hidden;\n}\n\n.sync-modal-header {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  padding: 16px 20px;\n  border-bottom: 1px solid #e5e7eb;\n  background: linear-gradient(135deg, #f8fafc, #eff6ff);\n}\n\n.sync-modal-title {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  font-weight: 600;\n  font-size: 15px;\n  color: #1f2937;\n}\n\n.sync-modal-close {\n  background: none;\n  border: none;\n  cursor: pointer;\n  padding: 4px;\n  border-radius: 6px;\n  color: #6b7280;\n  display: flex;\n  align-items: center;\n}\n.sync-modal-close:hover {\n  background: #f3f4f6;\n  color: #1f2937;\n}\n\n.sync-modal-body {\n  padding: 16px 20px;\n  overflow-y: auto;\n  display: flex;\n  flex-direction: column;\n  gap: 14px;\n}\n\n.sync-modal-noconfig {\n  text-align: center;\n  padding: 24px;\n  color: #6b7280;\n}\n.sync-modal-noconfig p {\n  margin: 8px 0 0;\n}\n\n/* Info de conexión */\n.sync-modal-info {\n  display: grid;\n  grid-template-columns: auto 1fr;\n  gap: 4px 10px;\n  font-size: 12px;\n  padding: 10px 12px;\n  background: #f9fafb;\n  border-radius: 8px;\n  border: 1px solid #e5e7eb;\n}\n.sync-info-label {\n  color: #6b7280;\n  font-weight: 500;\n}\n.sync-info-value {\n  color: #1f2937;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n\n/* Botones de acción */\n.sync-modal-actions {\n  display: flex;\n  gap: 8px;\n}\n\n.sync-btn {\n  display: flex;\n  align-items: center;\n  gap: 6px;\n  padding: 7px 14px;\n  border: none;\n  border-radius: 6px;\n  font-size: 13px;\n  font-weight: 500;\n  cursor: pointer;\n  color: white;\n  transition: opacity 0.15s;\n}\n.sync-btn:disabled {\n  opacity: 0.6;\n  cursor: not-allowed;\n}\n.sync-btn-push { background: #3b82f6; }\n.sync-btn-pull { background: #8b5cf6; }\n.sync-btn-full { background: #10b981; }\n.sync-btn-activate { background: #10b981; }\n.sync-btn-deactivate { background: #f59e0b; }\n\n.sync-btn:not(:disabled):hover { opacity: 0.85; }\n\n/* Timer */\n.sync-modal-timer {\n  padding: 10px 12px;\n  background: #f9fafb;\n  border-radius: 8px;\n  border: 1px solid #e5e7eb;\n}\n.sync-timer-header {\n  display: flex;\n  align-items: center;\n  gap: 6px;\n  font-size: 13px;\n  font-weight: 600;\n  color: #374151;\n  margin-bottom: 8px;\n}\n.sync-timer-controls {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  flex-wrap: wrap;\n}\n.sync-timer-select {\n  padding: 5px 8px;\n  border-radius: 6px;\n  border: 1px solid #d1d5db;\n  font-size: 13px;\n  background: white;\n}\n.sync-timer-select:disabled {\n  background: #f3f4f6;\n}\n.sync-timer-countdown {\n  font-size: 13px;\n  color: #059669;\n  font-weight: 500;\n  padding: 4px 10px;\n  background: #ecfdf5;\n  border-radius: 12px;\n  border: 1px solid #a7f3d0;\n}\n\n/* Resultado */\n.sync-modal-result {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  padding: 8px 12px;\n  border-radius: 8px;\n  font-size: 13px;\n  font-weight: 500;\n}\n.sync-modal-result.success {\n  background: #ecfdf5;\n  border: 1px solid #a7f3d0;\n  color: #065f46;\n}\n.sync-modal-result.error {\n  background: #fef2f2;\n  border: 1px solid #fecaca;\n  color: #991b1b;\n}\n\n/* Historial */\n.sync-modal-history {\n  max-height: 220px;\n  display: flex;\n  flex-direction: column;\n}\n.sync-history-title {\n  font-size: 13px;\n  font-weight: 600;\n  color: #374151;\n  margin-bottom: 6px;\n}\n.sync-history-list {\n  overflow-y: auto;\n  display: flex;\n  flex-direction: column;\n  gap: 2px;\n}\n.sync-history-item {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  padding: 5px 8px;\n  border-radius: 6px;\n  font-size: 12px;\n  color: #374151;\n  background: #f9fafb;\n}\n.sync-history-item.error {\n  background: #fef2f2;\n}\n.sync-history-time {\n  color: #6b7280;\n  min-width: 100px;\n  font-family: monospace;\n  font-size: 11px;\n}\n.sync-history-icon {\n  display: flex;\n  align-items: center;\n}\n.sync-history-detail {\n  flex: 1;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n\n/* Spinning animation */\n.spinning {\n  animation: spin 1s linear infinite;\n}\n@keyframes spin {\n  from { transform: rotate(0deg); }\n  to { transform: rotate(360deg); }\n}\n",".input-container {\n  display: flex;\n  flex-direction: column;\n  gap: 0.5rem;\n}\n\n.input-label {\n  font-size: var(--text-sm);\n  font-weight: 500;\n  color: var(--gray-700);\n  display: flex;\n  align-items: center;\n  gap: 0.25rem;\n}\n\n.input-required {\n  color: var(--error-500);\n  font-weight: 600;\n}\n\n.input-wrapper {\n  position: relative;\n  display: flex;\n  align-items: center;\n}\n\n.input-field {\n  width: 100%;\n  padding: 0.75rem 1rem;\n  border: 0.0625rem solid var(--gray-300);\n  border-radius: var(--radius-md);\n  font-size: var(--text-base);\n  color: var(--gray-900);\n  background: white;\n  transition: all var(--transition-base);\n  outline: none;\n}\n\n.input-field::placeholder {\n  color: var(--gray-400);\n}\n\n.input-field:focus {\n  border-color: var(--primary-500);\n  box-shadow: 0 0 0 0.1875rem rgba(59, 130, 246, 0.1);\n}\n\n.input-field:disabled {\n  background: var(--gray-50);\n  color: var(--gray-500);\n  cursor: not-allowed;\n}\n\n/* Estados de error */\n.input-error {\n  border-color: var(--error-500);\n}\n\n.input-error:focus {\n  border-color: var(--error-500);\n  box-shadow: 0 0 0 0.1875rem rgba(239, 68, 68, 0.1);\n}\n\n.input-error-message {\n  font-size: var(--text-sm);\n  color: var(--error-600);\n  display: flex;\n  align-items: center;\n  gap: 0.25rem;\n}\n\n/* Input con icono */\n.input-with-icon {\n  padding-left: 2.75rem;\n}\n\n.input-icon {\n  position: absolute;\n  left: 0.75rem;\n  top: 50%;\n  transform: translateY(-50%);\n  color: var(--gray-400);\n  display: flex;\n  align-items: center;\n  pointer-events: none;\n  z-index: 1;\n}\n\n.input-focused .input-icon {\n  color: var(--primary-500);\n}\n\n/* Input con toggle de contraseña */\n.input-with-password-toggle {\n  padding-right: 2.75rem;\n}\n\n.password-toggle {\n  position: absolute;\n  right: 0.75rem;\n  top: 50%;\n  transform: translateY(-50%);\n  background: none;\n  border: none;\n  color: var(--gray-400);\n  cursor: pointer;\n  padding: 0.25rem;\n  border-radius: var(--radius-sm);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  transition: all var(--transition-base);\n}\n\n.password-toggle:hover {\n  color: var(--gray-600);\n  background: var(--gray-100);\n}\n\n.password-toggle:focus {\n  outline: none;\n  color: var(--primary-500);\n  background: var(--primary-50);\n}\n\n/* Variantes de tamaño */\n.input-small .input-field {\n  padding: 0.5rem 0.75rem;\n  font-size: var(--text-sm);\n}\n\n.input-xs .input-field {\n  padding: 0.375rem 0.5rem;\n  font-size: 0.75rem;\n}\n\n.input-xs .input-label {\n  font-size: 0.75rem;\n}\n\n.input-xs .input-with-icon {\n  padding-left: 2rem;\n}\n\n.input-xs .input-icon {\n  left: 0.5rem;\n}\n\n.input-large .input-field {\n  padding: 1rem 1.25rem;\n  font-size: var(--text-lg);\n}\n\n/* Estados específicos */\n.input-success .input-field {\n  border-color: var(--success-500);\n}\n\n.input-success .input-field:focus {\n  border-color: var(--success-500);\n  box-shadow: 0 0 0 0.1875rem rgba(16, 185, 129, 0.1);\n}\n\n.input-warning .input-field {\n  border-color: var(--warning-500);\n}\n\n.input-warning .input-field:focus {\n  border-color: var(--warning-500);\n  box-shadow: 0 0 0 0.1875rem rgba(245, 158, 11, 0.1);\n}\n\n/* Estilos para inputs numéricos */\n.input-field[type=\"number\"] {\n  text-align: right;\n}\n\n/* Ocultar flechas de inputs numéricos en Chrome, Safari, Edge, Opera */\n.input-field[type=\"number\"]::-webkit-outer-spin-button,\n.input-field[type=\"number\"]::-webkit-inner-spin-button {\n  -webkit-appearance: none;\n  margin: 0;\n}\n\n/* Ocultar flechas de inputs numéricos en Firefox */\n.input-field[type=\"number\"] {\n  -moz-appearance: textfield;\n}\n\n/* Responsive */\n@media (max-width: 40rem) {\n  .input-field {\n    font-size: 1rem; /* Previene zoom en iOS */\n  }\n}\n",".login-page {\n  min-height: 100vh;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  background: linear-gradient(135deg, var(--primary-600) 0%, var(--primary-800) 100%);\n  padding: 1rem;\n}\n\n.login-container {\n  width: 100%;\n  max-width: 62.5rem;\n  background: white;\n  border-radius: var(--radius-xl);\n  box-shadow: var(--shadow-lg);\n  overflow: hidden;\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  min-height: 37.5rem;\n}\n\n/* Panel de branding */\n.login-branding {\n  background: linear-gradient(135deg, var(--primary-600) 0%, var(--primary-700) 100%);\n  color: white;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  padding: 3rem;\n}\n\n.branding-content {\n  text-align: center;\n  max-width: 18.75rem;\n}\n\n.logo {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 1rem;\n  margin-bottom: 2rem;\n}\n\n.logo h1 {\n  margin: 0;\n  font-size: var(--text-3xl);\n  font-weight: 700;\n}\n\n.branding-subtitle {\n  font-size: var(--text-lg);\n  opacity: 0.9;\n  margin-bottom: 2rem;\n  line-height: 1.6;\n}\n\n.branding-features {\n  display: flex;\n  flex-direction: column;\n  gap: 1rem;\n}\n\n.feature {\n  display: flex;\n  align-items: center;\n  gap: 0.75rem;\n  font-size: var(--text-base);\n  opacity: 0.95;\n}\n\n/* Panel del formulario */\n.login-form-panel {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  padding: 3rem;\n}\n\n.login-form-container {\n  width: 100%;\n  max-width: 25rem;\n}\n\n.login-header {\n  text-align: center;\n  margin-bottom: 2rem;\n}\n\n.login-header h2 {\n  margin: 0 0 0.5rem 0;\n  font-size: var(--text-2xl);\n  font-weight: 600;\n  color: var(--gray-900);\n}\n\n.login-header p {\n  margin: 0;\n  color: var(--gray-600);\n  font-size: var(--text-base);\n}\n\n/* Error message */\n.login-error {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  padding: 0.75rem 1rem;\n  background: var(--error-50);\n  border: 0.0625rem solid var(--error-200);\n  border-radius: var(--radius-md);\n  color: var(--error-700);\n  font-size: var(--text-sm);\n  margin-bottom: 1.5rem;\n}\n\n/* Formulario */\n.login-form {\n  display: flex;\n  flex-direction: column;\n  gap: 1.5rem;\n}\n\n.login-options {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  margin: 0.5rem 0;\n}\n\n/* Checkbox personalizado */\n.checkbox-container {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  cursor: pointer;\n  font-size: var(--text-sm);\n  color: var(--gray-700);\n  user-select: none;\n}\n\n.checkbox-container input[type=\"checkbox\"] {\n  display: none;\n}\n\n.checkmark {\n  width: 1.125rem;\n  height: 1.125rem;\n  border: 0.125rem solid var(--gray-300);\n  border-radius: var(--radius-sm);\n  position: relative;\n  transition: all var(--transition-base);\n}\n\n.checkbox-container input[type=\"checkbox\"]:checked + .checkmark {\n  background: var(--primary-500);\n  border-color: var(--primary-500);\n}\n\n.checkbox-container input[type=\"checkbox\"]:checked + .checkmark::after {\n  content: '✓';\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%, -50%);\n  color: white;\n  font-size: 0.75rem;\n  font-weight: bold;\n}\n\n.forgot-password {\n  background: none;\n  border: none;\n  color: var(--primary-600);\n  font-size: var(--text-sm);\n  cursor: pointer;\n  text-decoration: none;\n  transition: color var(--transition-base);\n}\n\n.forgot-password:hover {\n  color: var(--primary-700);\n  text-decoration: underline;\n}\n\n.forgot-password:disabled {\n  color: var(--gray-400);\n  cursor: not-allowed;\n}\n\n.login-button {\n  width: 100%;\n  margin-top: 0.5rem;\n}\n\n/* Usuarios de demostración */\n.demo-users {\n  margin-top: 2rem;\n  padding-top: 2rem;\n  border-top: 0.0625rem solid var(--gray-200);\n}\n\n.demo-title {\n  text-align: center;\n  font-size: var(--text-sm);\n  color: var(--gray-600);\n  margin: 0 0 1rem 0;\n}\n\n.demo-buttons {\n  display: grid;\n  grid-template-columns: 1fr 1fr 1fr;\n  gap: 0.5rem;\n}\n\n.demo-btn {\n  padding: 0.5rem 0.75rem;\n  background: var(--gray-100);\n  border: 0.0625rem solid var(--gray-200);\n  border-radius: var(--radius-md);\n  font-size: var(--text-xs);\n  color: var(--gray-700);\n  cursor: pointer;\n  transition: all var(--transition-base);\n}\n\n.demo-btn:hover:not(:disabled) {\n  background: var(--gray-200);\n  border-color: var(--gray-300);\n}\n\n.demo-btn:disabled {\n  opacity: 0.5;\n  cursor: not-allowed;\n}\n\n/* Responsive */\n@media (max-width: 48rem) {\n  .login-container {\n    grid-template-columns: 1fr;\n    max-width: 25rem;\n  }\n\n  .login-branding {\n    padding: 2rem;\n  }\n\n  .branding-content {\n    max-width: none;\n  }\n\n  .branding-features {\n    display: none;\n  }\n\n  .login-form-panel {\n    padding: 2rem;\n  }\n\n  .demo-buttons {\n    grid-template-columns: 1fr;\n    gap: 0.75rem;\n  }\n}\n\n@media (max-width: 30rem) {\n  .login-page {\n    padding: 0.5rem;\n  }\n\n  .login-container {\n    border-radius: var(--radius-lg);\n  }\n\n  .login-branding,\n  .login-form-panel {\n    padding: 1.5rem;\n  }\n\n  .login-options {\n    flex-direction: column;\n    gap: 1rem;\n    align-items: stretch;\n  }\n\n  .forgot-password {\n    text-align: center;\n  }\n}\n","/* Modal Styles */\n.modal-overlay {\n  position: fixed;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  background-color: rgba(0, 0, 0, 0.5);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  z-index: 1000;\n  padding: 1.25rem;\n  animation: modalFadeIn 0.2s ease-out;\n}\n\n@keyframes modalFadeIn {\n  from {\n    opacity: 0;\n  }\n  to {\n    opacity: 1;\n  }\n}\n\n.modal-container {\n  background: white;\n  border-radius: 0.75rem;\n  box-shadow: 0 1.25rem 1.5625rem -0.3125rem rgba(0, 0, 0, 0.1), 0 0.625rem 0.625rem -0.3125rem rgba(0, 0, 0, 0.04);\n  max-height: 90vh;\n  overflow: hidden;\n  display: flex;\n  flex-direction: column;\n  animation: modalSlideIn 0.3s ease-out;\n}\n\n@keyframes modalSlideIn {\n  from {\n    opacity: 0;\n    transform: translateY(-1.25rem) scale(0.95);\n  }\n  to {\n    opacity: 1;\n    transform: translateY(0) scale(1);\n  }\n}\n\n/* Modal Sizes */\n.modal-small {\n  width: 100%;\n  max-width: 25rem;\n}\n\n.modal-medium {\n  width: 100%;\n  max-width: 37.5rem;\n}\n\n.modal-large {\n  width: 100%;\n  max-width: 62.5rem;\n}\n\n.modal-xlarge {\n  width: 100%;\n  max-width: 87.5rem;\n  max-height: 95vh;\n}\n\n.modal-fullscreen {\n  width: 95vw;\n  height: 95vh;\n  max-width: none;\n  max-height: none;\n}\n\n.modal-fullscreen .modal-content {\n  display: flex;\n  flex-direction: column;\n  flex: 1;\n  min-height: 0;\n}\n\n/* Modal Header */\n.modal-header {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  padding: 1.5rem 1.5rem 0 1.5rem;\n  border-bottom: 0.0625rem solid var(--color-border, #e9ecef);\n  padding-bottom: 1rem;\n  margin-bottom: 1.5rem;\n}\n\n.modal-header-left {\n  display: flex;\n  align-items: center;\n  gap: 1rem;\n  flex: 1;\n}\n\n.modal-title {\n  font-size: 1.25rem;\n  font-weight: 600;\n  color: var(--color-text-primary, #212529);\n  margin: 0;\n}\n\n.modal-header-actions {\n  display: flex;\n  align-items: center;\n}\n\n/* Toggle Switch en Modal Header */\n.modal-header-actions .toggle-switch-form {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  cursor: pointer;\n  user-select: none;\n}\n\n.modal-header-actions .toggle-switch-form input[type=\"checkbox\"] {\n  display: none;\n}\n\n.modal-header-actions .toggle-slider-form {\n  position: relative;\n  width: 2.625rem;\n  height: 1.375rem;\n  background-color: #cbd5e1;\n  border-radius: 0.6875rem;\n  transition: background-color 0.3s;\n}\n\n.modal-header-actions .toggle-slider-form::before {\n  content: '';\n  position: absolute;\n  width: 1.125rem;\n  height: 1.125rem;\n  border-radius: 50%;\n  background-color: white;\n  top: 0.125rem;\n  left: 0.125rem;\n  transition: transform 0.3s;\n  box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.2);\n}\n\n.modal-header-actions .toggle-switch-form input[type=\"checkbox\"]:checked + .toggle-slider-form {\n  background-color: #10b981;\n}\n\n.modal-header-actions .toggle-switch-form input[type=\"checkbox\"]:checked + .toggle-slider-form::before {\n  transform: translateX(1.25rem);\n}\n\n.modal-header-actions .toggle-label {\n  font-size: 0.813rem;\n  font-weight: 500;\n  color: #374151;\n}\n\n.modal-close-button {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 2rem;\n  height: 2rem;\n  border: none;\n  background: none;\n  border-radius: 0.375rem;\n  color: var(--color-text-secondary, #6c757d);\n  cursor: pointer;\n  transition: all 0.2s ease;\n  flex-shrink: 0;\n}\n\n.modal-close-button:hover {\n  background-color: var(--color-background-light, #f8f9fa);\n  color: var(--color-text-primary, #212529);\n}\n\n/* Modal Content */\n.modal-content {\n  padding: 0 1.5rem 1.5rem 1.5rem;\n  overflow-y: auto;\n  flex: 1;\n}\n\n/* Modal facturacion - sin altura fija */\n.modal-facturacion-container {\n  height: auto !important;\n  min-height: auto !important;\n  max-height: 90vh;\n}\n\n.modal-facturacion-container .modal-header {\n  flex-shrink: 0;\n}\n\n.modal-facturacion-container .modal-content {\n  flex: none !important;\n  flex-grow: 0 !important;\n  flex-shrink: 0 !important;\n}\n\n/* Responsive Design */\n@media (max-width: 48rem) {\n  .modal-overlay {\n    padding: 0.625rem;\n  }\n\n  .modal-container {\n    border-radius: 0.5rem;\n    max-height: 95vh;\n  }\n\n  .modal-small,\n  .modal-medium,\n  .modal-large {\n    width: 100%;\n    max-width: none;\n  }\n\n  .modal-fullscreen {\n    width: 100vw;\n    height: 100vh;\n    border-radius: 0;\n  }\n\n  .modal-header {\n    padding: 1rem 1rem 0 1rem;\n    margin-bottom: 1rem;\n  }\n\n  .modal-title {\n    font-size: 1.125rem;\n  }\n\n  .modal-content {\n    padding: 0 1rem 1rem 1rem;\n  }\n}\n\n/* Scroll Styles */\n.modal-content::-webkit-scrollbar {\n  width: 0.375rem;\n}\n\n.modal-content::-webkit-scrollbar-track {\n  background: var(--color-background-light, #f8f9fa);\n  border-radius: 0.1875rem;\n}\n\n.modal-content::-webkit-scrollbar-thumb {\n  background: var(--color-border, #e9ecef);\n  border-radius: 0.1875rem;\n}\n\n.modal-content::-webkit-scrollbar-thumb:hover {\n  background: var(--color-text-muted, #adb5bd);\n}\n","/* Componente de Precios por Cantidad */\n.pricing-by-quantity {\n    background: white;\n    border: 0.0625rem solid #e2e8f0;\n    border-radius: 0.5rem;\n    overflow: hidden;\n}\n\n.pricing-by-quantity.error {\n    border-color: #ef4444;\n    background: #fef2f2;\n}\n\n.pricing-loading {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    padding: 1rem;\n    color: #64748b;\n    font-size: 1.05rem;\n}\n\n.loading-spinner-small {\n    width: 1.25rem;\n    height: 1.25rem;\n    border: 0.125rem solid #e2e8f0;\n    border-top: 0.125rem solid #3b82f6;\n    border-radius: 50%;\n    animation: spin 1s linear infinite;\n}\n\n@keyframes spin {\n    to { transform: rotate(360deg); }\n}\n\n.error-text {\n    color: #ef4444;\n    font-size: 1.05rem;\n    padding: 1rem;\n    display: block;\n}\n\n.pricing-main {\n    padding: 1.25rem;\n}\n\n.pricing-header {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    margin-bottom: 0.75rem;\n}\n\n.pricing-header-left {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    flex-wrap: wrap;\n}\n\n.quantity-info {\n    display: flex;\n    align-items: center;\n    gap: 0.25rem;\n    font-size: 1.05rem;\n    color: #64748b;\n    font-weight: 500;\n}\n\n.precios-configurados-badge {\n    display: flex;\n    align-items: center;\n    gap: 0.25rem;\n    padding: 0.25rem 0.625rem;\n    background-color: #f1f5f9;\n    border: 0.0625rem solid #cbd5e1;\n    border-radius: 0.25rem;\n    font-size: 0.9rem;\n    color: #475569;\n    font-weight: 500;\n}\n\n.price-type-badge {\n    padding: 0.35rem 0.625rem;\n    border-radius: 0.25rem;\n    color: white;\n    font-size: 0.9rem;\n    font-weight: 600;\n    text-transform: uppercase;\n    letter-spacing: 0.025em;\n}\n\n.pricing-details {\n    space-y: 0.5rem;\n}\n\n.unit-price {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    margin-bottom: 0.5rem;\n}\n\n.price-label {\n    font-size: 1.05rem;\n    color: #64748b;\n}\n\n.price-value {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n}\n\n.original-price {\n    font-size: 1.05rem;\n    color: #94a3b8;\n    text-decoration: line-through;\n}\n\n.final-price {\n    font-size: 1.2rem;\n    font-weight: 600;\n    color: #1e293b;\n}\n\n.discount-info {\n    display: flex;\n    align-items: center;\n    gap: 0.25rem;\n    font-size: 1.05rem;\n    color: #16a34a;\n    font-weight: 500;\n    margin-bottom: 0.5rem;\n}\n\n.total-price {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    padding-top: 0.5rem;\n    border-top: 0.0625rem solid #e2e8f0;\n}\n\n.total-label {\n    font-size: 1.05rem;\n    color: #64748b;\n    font-weight: 500;\n}\n\n.total-value {\n    font-size: 1.35rem;\n    font-weight: 700;\n    color: #1e293b;\n}\n\n.pricing-breakdown {\n    border-top: 0.0625rem solid #e2e8f0;\n    background: #f8fafc;\n    padding: 1rem;\n}\n\n.breakdown-title {\n    font-size: 1.05rem;\n    font-weight: 600;\n    color: #1e293b;\n    margin: 0 0 0.75rem 0;\n}\n\n.ranges-list {\n    display: flex;\n    flex-direction: column;\n    gap: 0.5rem;\n}\n\n.range-item {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    padding: 0.625rem;\n    background: white;\n    border: 0.0625rem solid #e2e8f0;\n    border-radius: 0.375rem;\n    transition: all 0.2s ease;\n}\n\n.range-item:hover {\n    border-color: #cbd5e1;\n}\n\n.range-item.active {\n    border-color: #3b82f6;\n    background: #eff6ff;\n    box-shadow: 0 0 0 0.0625rem #3b82f6;\n}\n\n.range-info {\n    flex: 1;\n}\n\n.range-quantity {\n    font-size: 0.9rem;\n    color: #64748b;\n    font-weight: 500;\n}\n\n.range-name {\n    font-size: 1.05rem;\n    color: #1e293b;\n    font-weight: 500;\n}\n\n.range-pricing {\n    text-align: right;\n}\n\n.range-type {\n    font-size: 0.9rem;\n    font-weight: 600;\n    text-transform: uppercase;\n    letter-spacing: 0.025em;\n}\n\n.range-price {\n    font-size: 1.05rem;\n    font-weight: 600;\n    color: #1e293b;\n    display: flex;\n    align-items: center;\n    gap: 0.25rem;\n}\n\n.range-discount {\n    font-size: 0.9rem;\n    color: #16a34a;\n    font-weight: 500;\n}\n\n/* Variantes del componente */\n.pricing-by-quantity.compact {\n    border: none;\n    border-radius: 0;\n}\n\n.pricing-by-quantity.compact .pricing-main {\n    padding: 0.75rem;\n}\n\n.pricing-by-quantity.compact .pricing-header {\n    margin-bottom: 0.5rem;\n}\n\n.pricing-by-quantity.inline {\n    display: inline-block;\n    min-width: 12.5rem;\n}\n\n/* Responsive */\n@media (max-width: 40rem) {\n    .pricing-header {\n        flex-direction: column;\n        align-items: flex-start;\n        gap: 0.5rem;\n    }\n\n    .pricing-header-left {\n        width: 100%;\n        justify-content: space-between;\n    }\n\n    .price-type-badge {\n        align-self: flex-start;\n    }\n\n    .range-item {\n        flex-direction: column;\n        align-items: flex-start;\n        gap: 0.25rem;\n    }\n\n    .range-pricing {\n        text-align: left;\n        width: 100%;\n    }\n\n    .price-value {\n        flex-direction: column;\n        align-items: flex-end;\n        gap: 0.25rem;\n    }\n}\n",".quantity-modal-content {\n    display: flex;\n    flex-direction: column;\n    gap: 20px;\n    padding: 12px 0;\n}\n\n.quantity-modal-product {\n    display: flex;\n    align-items: center;\n    gap: 16px;\n    padding: 16px;\n    background: #f8fafc;\n    border-radius: 10px;\n}\n\n.quantity-modal-product svg {\n    color: #64748b;\n    flex-shrink: 0;\n}\n\n.product-details {\n    display: flex;\n    flex-direction: column;\n    gap: 4px;\n    min-width: 0;\n}\n\n.product-name {\n    font-weight: 600;\n    color: #1e293b;\n    font-size: 20px;\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n}\n\n.product-code {\n    font-size: 16px;\n    color: #64748b;\n}\n\n/* Selector de presentaciones */\n.quantity-modal-presentaciones {\n    display: flex;\n    flex-direction: column;\n    gap: 12px;\n}\n\n.presentaciones-label {\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    font-size: 16px;\n    font-weight: 500;\n    color: #64748b;\n}\n\n.presentaciones-list {\n    display: flex;\n    gap: 12px;\n    flex-wrap: wrap;\n}\n\n.presentacion-btn {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    gap: 4px;\n    padding: 12px 20px;\n    border: 2px solid #e2e8f0;\n    background: white;\n    border-radius: 10px;\n    cursor: pointer;\n    transition: all 0.15s ease;\n}\n\n.presentacion-btn:hover {\n    border-color: #3b82f6;\n    background: #eff6ff;\n}\n\n.presentacion-btn.active {\n    border-color: #3b82f6;\n    background: #dbeafe;\n}\n\n.presentacion-unidad {\n    font-weight: 600;\n    font-size: 18px;\n    color: #1e293b;\n    text-transform: uppercase;\n}\n\n.presentacion-precio {\n    font-size: 14px;\n    color: #64748b;\n}\n\n.quantity-modal-loading {\n    text-align: center;\n    color: #64748b;\n    font-size: 16px;\n    padding: 12px;\n}\n\n/* Input de cantidad */\n.quantity-modal-input-group {\n    display: flex;\n    align-items: center;\n    gap: 16px;\n}\n\n.quantity-modal-input-group label {\n    font-weight: 500;\n    color: #374151;\n    font-size: 18px;\n}\n\n.quantity-input {\n    flex: 1;\n    padding: 14px 18px;\n    font-size: 28px;\n    font-weight: 600;\n    text-align: center;\n    border: 2px solid #e2e8f0;\n    border-radius: 10px;\n    outline: none;\n    transition: border-color 0.15s ease;\n}\n\n.quantity-input:focus {\n    border-color: #3b82f6;\n}\n\n.quantity-unit {\n    font-size: 18px;\n    color: #64748b;\n    font-weight: 500;\n    min-width: 40px;\n}\n\n/* Info modo monto */\n.quantity-modal-monto-info {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    padding: 10px 12px;\n    background: #ecfdf5;\n    border: 1px solid #a7f3d0;\n    border-radius: 6px;\n    font-size: 14px;\n    color: #065f46;\n}\n\n/* Total */\n.quantity-modal-total {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    padding: 16px 20px;\n    background: #f0fdf4;\n    border-radius: 10px;\n    font-size: 18px;\n}\n\n.total-value {\n    font-size: 28px;\n    font-weight: 700;\n    color: #16a34a;\n}\n\n/* Acciones */\n.quantity-modal-actions {\n    display: flex;\n    gap: 16px;\n    padding-top: 12px;\n}\n\n.quantity-modal-actions button {\n    flex: 1;\n    padding: 16px 24px;\n    font-size: 18px;\n    font-weight: 600;\n    border-radius: 10px;\n    cursor: pointer;\n    transition: all 0.15s ease;\n}\n\n.btn-cancel {\n    background: #f1f5f9;\n    border: 1px solid #e2e8f0;\n    color: #64748b;\n}\n\n.btn-cancel:hover {\n    background: #e2e8f0;\n}\n\n.btn-confirm {\n    background: #3b82f6;\n    border: none;\n    color: white;\n}\n\n.btn-confirm:hover {\n    background: #2563eb;\n}\n\n/* Ayuda de atajos */\n.quantity-modal-shortcuts {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 8px;\n    padding: 12px 16px;\n    background: #f8fafc;\n    border-radius: 8px;\n    font-size: 14px;\n    color: #64748b;\n    flex-wrap: wrap;\n}\n\n.quantity-modal-shortcuts kbd {\n    display: inline-block;\n    padding: 4px 8px;\n    background: #e5e7eb;\n    border: 1px solid #d1d5db;\n    border-radius: 4px;\n    font-family: monospace;\n    font-size: 13px;\n    font-weight: 600;\n    color: #374151;\n    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n\n.shortcut-separator {\n    color: #d1d5db;\n    margin: 0 4px;\n}\n",".payment-modal-content {\n    display: flex;\n    flex-direction: column;\n    gap: 20px;\n    padding: 8px 0;\n}\n\n/* Totales */\n.payment-totals {\n    background: #f8fafc;\n    border-radius: 10px;\n    padding: 16px;\n}\n\n.total-row {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n}\n\n.total-row.main-total {\n    font-size: 16px;\n}\n\n.total-row.main-total span:first-child {\n    color: #64748b;\n    font-weight: 500;\n}\n\n.total-amount {\n    font-size: 24px;\n    font-weight: 700;\n    color: #1e293b;\n}\n\n.total-row.comision-row {\n    margin-top: 8px;\n    padding-top: 8px;\n    border-top: 1px dashed #e2e8f0;\n    font-size: 13px;\n    color: #ea580c;\n}\n\n.total-row.comision-row span:first-child {\n    display: flex;\n    align-items: center;\n    gap: 6px;\n}\n\n/* Section labels */\n.section-label {\n    display: block;\n    font-size: 12px;\n    font-weight: 600;\n    color: #64748b;\n    margin-bottom: 10px;\n    text-transform: uppercase;\n    letter-spacing: 0.5px;\n}\n\n/* Payment methods grid */\n.payment-methods-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));\n    gap: 10px;\n}\n\n.payment-method-btn {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    gap: 6px;\n    padding: 12px 10px;\n    border: 2px solid #e2e8f0;\n    border-radius: 10px;\n    background: white;\n    cursor: pointer;\n    transition: all 0.15s ease;\n    position: relative;\n}\n\n.payment-method-btn:hover:not(.disabled) {\n    border-color: var(--method-color);\n    background: color-mix(in srgb, var(--method-color) 5%, white);\n}\n\n.payment-method-btn.disabled {\n    opacity: 0.5;\n    cursor: not-allowed;\n    background: #f8fafc;\n}\n\n.payment-method-btn svg {\n    color: var(--method-color);\n}\n\n.method-label {\n    font-size: 12px;\n    font-weight: 600;\n    color: #1e293b;\n}\n\n.method-key {\n    position: absolute;\n    top: 6px;\n    right: 6px;\n    width: 18px;\n    height: 18px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    background: #f1f5f9;\n    border-radius: 4px;\n    font-size: 10px;\n    font-weight: 600;\n    color: #64748b;\n}\n\n/* Payment details */\n.payment-details-list {\n    display: flex;\n    flex-direction: row;\n    flex-wrap: wrap;\n    gap: 8px;\n}\n\n.payment-detail-row {\n    display: flex;\n    align-items: center;\n    gap: 6px;\n    padding: 6px 10px;\n    background: #f8fafc;\n    border-radius: 6px;\n    border: 1px solid #e2e8f0;\n}\n\n.detail-method {\n    display: flex;\n    align-items: center;\n    gap: 4px;\n    color: var(--method-color);\n    font-weight: 600;\n    font-size: 12px;\n    white-space: nowrap;\n}\n\n.detail-method svg {\n    flex-shrink: 0;\n}\n\n.detail-amount {\n    display: flex;\n    align-items: center;\n    gap: 2px;\n}\n\n.currency-symbol {\n    font-size: 13px;\n    color: #64748b;\n    font-weight: 500;\n}\n\n.amount-input {\n    width: 90px;\n    padding: 6px 8px;\n    font-size: 14px;\n    font-weight: 600;\n    text-align: right;\n    border: 1px solid #e2e8f0;\n    border-radius: 4px;\n    outline: none;\n}\n\n.amount-input:focus {\n    border-color: #3b82f6;\n    background: #fffbeb;\n}\n\n.remove-method-btn {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 24px;\n    height: 24px;\n    border: none;\n    background: transparent;\n    color: #94a3b8;\n    cursor: pointer;\n    border-radius: 4px;\n    transition: all 0.15s ease;\n    padding: 0;\n}\n\n.remove-method-btn:hover {\n    background: #fef2f2;\n    color: #ef4444;\n}\n\n/* Summary */\n.payment-summary {\n    background: #f0fdf4;\n    border-radius: 10px;\n    padding: 14px 16px;\n    display: flex;\n    flex-direction: column;\n    gap: 8px;\n}\n\n.summary-row {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    font-size: 14px;\n}\n\n.summary-row span:first-child {\n    color: #64748b;\n}\n\n.summary-row span:last-child {\n    font-weight: 600;\n    color: #1e293b;\n}\n\n.summary-row.restante {\n    background: #fef2f2;\n    margin: 0 -16px;\n    padding: 8px 16px;\n}\n\n.summary-row.cambio {\n    background: #dcfce7;\n    margin: 0 -16px;\n    padding: 8px 16px;\n    font-weight: 600;\n}\n\n.text-green {\n    color: #16a34a !important;\n}\n\n.text-red {\n    color: #ef4444 !important;\n}\n\n/* Payment status */\n.payment-status-section {\n    padding-top: 8px;\n    border-top: 1px solid #e2e8f0;\n}\n\n.status-options {\n    display: flex;\n    gap: 10px;\n}\n\n.status-btn {\n    flex: 1;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 8px;\n    padding: 10px 16px;\n    border: 2px solid #e2e8f0;\n    border-radius: 8px;\n    background: white;\n    cursor: pointer;\n    transition: all 0.15s ease;\n    font-weight: 500;\n}\n\n.status-btn:hover {\n    border-color: #cbd5e1;\n}\n\n.status-btn.active {\n    border-color: #3b82f6;\n    background: #eff6ff;\n    color: #2563eb;\n}\n\n.status-key {\n    width: 20px;\n    height: 20px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    background: #f1f5f9;\n    border-radius: 4px;\n    font-size: 11px;\n    font-weight: 600;\n    color: #64748b;\n}\n\n.status-btn.active .status-key {\n    background: #dbeafe;\n    color: #2563eb;\n}\n\n/* Actions */\n.payment-modal-actions {\n    display: flex;\n    gap: 12px;\n    padding-top: 8px;\n}\n\n.payment-modal-actions button {\n    flex: 1;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 8px;\n    padding: 14px 20px;\n    font-size: 14px;\n    font-weight: 600;\n    border-radius: 10px;\n    cursor: pointer;\n    transition: all 0.15s ease;\n}\n\n.btn-cancel {\n    background: #f1f5f9;\n    border: 1px solid #e2e8f0;\n    color: #64748b;\n}\n\n.btn-cancel:hover {\n    background: #e2e8f0;\n}\n\n.btn-confirm {\n    background: #16a34a;\n    border: none;\n    color: white;\n}\n\n.btn-confirm:hover:not(:disabled) {\n    background: #15803d;\n}\n\n.btn-confirm:disabled {\n    background: #94a3b8;\n    cursor: not-allowed;\n}\n",".print-order-modal {\n    display: flex;\n    flex-direction: column;\n    gap: 20px;\n    padding: 8px 0;\n}\n\n.loading-printers {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    gap: 12px;\n    padding: 40px 20px;\n    color: #64748b;\n}\n\n.loading-printers .spinning {\n    animation: spin 1s linear infinite;\n}\n\n@keyframes spin {\n    from { transform: rotate(0deg); }\n    to { transform: rotate(360deg); }\n}\n\n/* Tipo de impresión */\n.print-type-section {\n    display: flex;\n    flex-direction: column;\n    gap: 10px;\n}\n\n.print-type-buttons {\n    display: flex;\n    gap: 8px;\n}\n\n.print-type-btn {\n    flex: 1;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 8px;\n    padding: 10px 14px;\n    border: 2px solid #e5e7eb;\n    border-radius: 8px;\n    background: white;\n    color: #6b7280;\n    font-size: 13px;\n    font-weight: 600;\n    cursor: pointer;\n    transition: all 0.15s ease;\n}\n\n.print-type-btn:hover {\n    border-color: #3b82f6;\n    color: #3b82f6;\n    background: #f8fafc;\n}\n\n.print-type-btn.active {\n    border-color: #3b82f6;\n    background: #eff6ff;\n    color: #3b82f6;\n}\n\n.print-type-btn svg {\n    flex-shrink: 0;\n}\n\n.printer-section {\n    display: flex;\n    flex-direction: column;\n    gap: 12px;\n}\n\n.section-label {\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    font-size: 13px;\n    font-weight: 600;\n    color: #374151;\n}\n\n.printer-list {\n    display: flex;\n    flex-direction: column;\n    gap: 8px;\n    max-height: 250px;\n    overflow-y: auto;\n}\n\n.printer-option {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n    padding: 12px 14px;\n    border: 2px solid #e5e7eb;\n    border-radius: 8px;\n    background: white;\n    cursor: pointer;\n    transition: all 0.15s ease;\n    text-align: left;\n}\n\n.printer-option:hover {\n    border-color: #3b82f6;\n    background: #f8fafc;\n}\n\n.printer-option.selected {\n    border-color: #3b82f6;\n    background: #eff6ff;\n}\n\n.printer-option svg {\n    color: #64748b;\n    flex-shrink: 0;\n}\n\n.printer-option.selected svg {\n    color: #3b82f6;\n}\n\n.printer-name {\n    flex: 1;\n    font-size: 14px;\n    font-weight: 500;\n    color: #1f2937;\n}\n\n.default-badge {\n    font-size: 10px;\n    font-weight: 600;\n    text-transform: uppercase;\n    padding: 3px 8px;\n    background: #dcfce7;\n    color: #16a34a;\n    border-radius: 4px;\n}\n\n.print-info {\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    padding: 12px 14px;\n    background: #f0f9ff;\n    border-radius: 8px;\n    font-size: 13px;\n    color: #0369a1;\n}\n\n.print-actions {\n    display: flex;\n    gap: 12px;\n    padding-top: 8px;\n    border-top: 1px solid #e5e7eb;\n}\n\n.print-actions button {\n    flex: 1;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 8px;\n    padding: 12px 20px;\n    font-size: 14px;\n    font-weight: 600;\n    border-radius: 8px;\n    cursor: pointer;\n    transition: all 0.15s ease;\n}\n\n.btn-cancel {\n    background: #f1f5f9;\n    border: 1px solid #e2e8f0;\n    color: #64748b;\n}\n\n.btn-cancel:hover:not(:disabled) {\n    background: #e2e8f0;\n}\n\n.btn-print {\n    background: #3b82f6;\n    border: none;\n    color: white;\n}\n\n.btn-print:hover:not(:disabled) {\n    background: #2563eb;\n}\n\n.btn-print:disabled {\n    background: #94a3b8;\n    cursor: not-allowed;\n}\n\n.btn-print .spinning {\n    animation: spin 1s linear infinite;\n}\n",".new-sale-form {\n    display: grid;\n    grid-template-columns: 1fr 21.875rem;\n    gap: 1.25rem;\n    height: 70vh;\n    min-height: 37.5rem;\n}\n\n/* Área de productos (izquierda) */\n.sale-products-area {\n    display: flex;\n    flex-direction: column;\n    gap: 1rem;\n    overflow: hidden;\n}\n\n/* Búsqueda */\n.sale-search-section {\n    position: relative;\n}\n\n.search-box {\n    width: 100%;\n}\n\n.search-results-dropdown {\n    position: absolute;\n    top: 100%;\n    left: 0;\n    right: 0;\n    background: white;\n    border: 0.0625rem solid #e5e7eb;\n    border-radius: 0.5rem;\n    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.15);\n    max-height: 18.75rem;\n    overflow-y: auto;\n    z-index: 100;\n    margin-top: 0.25rem;\n}\n\n.search-hint {\n    padding: 0.5rem 1rem;\n    background: #f3f4f6;\n    border-bottom: 0.0625rem solid #e5e7eb;\n    font-size: 0.6875rem;\n    color: #6b7280;\n    text-align: center;\n    font-weight: 500;\n}\n\n.search-result-item {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    padding: 0.75rem 1rem;\n    border-bottom: 0.0625rem solid #f3f4f6;\n    cursor: pointer;\n    transition: all 0.15s;\n}\n\n.search-result-item:hover {\n    background-color: #f9fafb;\n}\n\n.search-result-item.keyboard-focused {\n    background-color: #eef2ff;\n    border-left: 0.1875rem solid #667eea;\n    padding-left: 0.8125rem;\n}\n\n.search-result-item:last-child {\n    border-bottom: none;\n}\n\n.result-info {\n    display: flex;\n    flex-direction: column;\n    gap: 0.25rem;\n}\n\n.result-name {\n    font-weight: 500;\n    color: #1f2937;\n}\n\n.result-code {\n    font-size: 0.75rem;\n    color: #6b7280;\n    font-family: 'Courier New', monospace;\n}\n\n.result-price {\n    font-weight: 600;\n    color: #10b981;\n    font-size: 0.9375rem;\n}\n\n.no-results {\n    padding: 1.25rem;\n    text-align: center;\n    color: #6b7280;\n}\n\n/* Carrito */\n.sale-cart-section {\n    flex: 1;\n    display: flex;\n    flex-direction: column;\n    background: #f9fafb;\n    border-radius: 0.5rem;\n    padding: 1rem;\n    overflow: hidden;\n}\n\n.cart-header-compact {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    margin-bottom: 1rem;\n    padding-bottom: 0.75rem;\n    border-bottom: 0.125rem solid #e5e7eb;\n}\n\n.cart-header-compact h3 {\n    margin: 0;\n    font-size: 1rem;\n    font-weight: 600;\n    color: #1f2937;\n}\n\n.empty-cart-state {\n    flex: 1;\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    color: #9ca3af;\n    gap: 0.75rem;\n}\n\n.empty-cart-state svg {\n    color: #d1d5db;\n}\n\n.empty-cart-state p {\n    margin: 0;\n    font-weight: 600;\n    font-size: 1rem;\n    color: #6b7280;\n}\n\n.empty-cart-state span {\n    font-size: 0.875rem;\n}\n\n.cart-items-list {\n    flex: 1;\n    overflow-y: auto;\n    display: flex;\n    flex-direction: column;\n    gap: 0.5rem;\n}\n\n.cart-item-row {\n    background: white;\n    border: 0.0625rem solid #e5e7eb;\n    border-radius: 0.375rem;\n    padding: 0.75rem;\n    display: flex;\n    flex-direction: column;\n    gap: 0.5rem;\n}\n\n.item-details {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n}\n\n.item-name {\n    font-weight: 500;\n    color: #1f2937;\n    font-size: 0.875rem;\n}\n\n.item-price {\n    font-size: 0.8125rem;\n    color: #6b7280;\n}\n\n.item-quantity-controls {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n}\n\n.qty-btn {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 1.75rem;\n    height: 1.75rem;\n    border: 0.0625rem solid #d1d5db;\n    border-radius: 0.25rem;\n    background: white;\n    cursor: pointer;\n    transition: all 0.15s;\n    color: #6b7280;\n}\n\n.qty-btn:hover {\n    background: #f3f4f6;\n    border-color: #9ca3af;\n}\n\n.qty-input {\n    width: 3.75rem;\n    height: 1.75rem;\n    text-align: center;\n    border: 0.0625rem solid #d1d5db;\n    border-radius: 0.25rem;\n    font-weight: 500;\n    padding: 0 0.25rem;\n}\n\n.qty-input:focus {\n    outline: none;\n    border-color: #667eea;\n}\n\n.delete-btn {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 1.75rem;\n    height: 1.75rem;\n    border: 0.0625rem solid #fecaca;\n    border-radius: 0.25rem;\n    background: white;\n    cursor: pointer;\n    transition: all 0.15s;\n    color: #ef4444;\n    margin-left: auto;\n}\n\n.delete-btn:hover {\n    background: #fee2e2;\n}\n\n.item-subtotal {\n    text-align: right;\n    font-weight: 600;\n    color: #10b981;\n    font-size: 0.9375rem;\n}\n\n/* Área de resumen (derecha) */\n.sale-summary-area {\n    display: flex;\n    flex-direction: column;\n    gap: 1.25rem;\n    background: #f9fafb;\n    padding: 1.25rem;\n    border-radius: 0.5rem;\n    height: 100%;\n}\n\n.sale-section {\n    display: flex;\n    flex-direction: column;\n    gap: 0.5rem;\n}\n\n.section-label {\n    display: flex;\n    align-items: center;\n    gap: 0.375rem;\n    font-weight: 600;\n    font-size: 0.8125rem;\n    color: #374151;\n    text-transform: uppercase;\n    letter-spacing: 0.03125rem;\n}\n\n.cliente-display {\n    padding: 0.625rem 0.75rem;\n    background: white;\n    border: 0.0625rem solid #e5e7eb;\n    border-radius: 0.375rem;\n    font-size: 0.875rem;\n    color: #1f2937;\n}\n\n.btn-select-client {\n    width: 100%;\n}\n\n.payment-method-select {\n    padding: 0.625rem 0.75rem;\n    background: white;\n    border: 0.0625rem solid #e5e7eb;\n    border-radius: 0.375rem;\n    font-size: 0.875rem;\n    color: #1f2937;\n    cursor: pointer;\n}\n\n.payment-method-select:focus {\n    outline: none;\n    border-color: #667eea;\n}\n\n.observations-textarea {\n    padding: 0.625rem 0.75rem;\n    background: white;\n    border: 0.0625rem solid #e5e7eb;\n    border-radius: 0.375rem;\n    font-size: 0.875rem;\n    color: #1f2937;\n    resize: vertical;\n    font-family: inherit;\n}\n\n.observations-textarea:focus {\n    outline: none;\n    border-color: #667eea;\n}\n\n/* Totales */\n.sale-totals {\n    margin-top: auto;\n    padding-top: 1rem;\n    border-top: 0.125rem solid #e5e7eb;\n    display: flex;\n    flex-direction: column;\n    gap: 0.75rem;\n}\n\n.total-row {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    font-size: 0.875rem;\n    color: #6b7280;\n}\n\n.total-row.discount {\n    color: #ef4444;\n}\n\n.total-row.total-final {\n    font-size: 1.25rem;\n    font-weight: 700;\n    color: #1f2937;\n    padding-top: 0.75rem;\n    border-top: 0.125rem solid #e5e7eb;\n}\n\n.total-row.total-final span:last-child {\n    color: #10b981;\n}\n\n/* Botones de acción */\n.sale-actions {\n    display: flex;\n    gap: 0.75rem;\n}\n\n.btn-full {\n    flex: 1;\n}\n\n/* ===================================\n   WIZARD STEPS STYLES\n   =================================== */\n\n.wizard-step {\n    display: flex;\n    flex-direction: column;\n    gap: 1rem;\n    padding: 1rem 1.25rem 0.5rem 1.25rem;\n    min-height: 25rem;\n}\n\n/* Phone Step - Compact */\n.phone-step {\n    gap: 0.375rem;\n    padding: 0.25rem 1.25rem 0.25rem 1.25rem;\n    min-height: 30vh;\n}\n\n/* Delivery Step - More Compact */\n.delivery-step {\n    gap: 0.75rem;\n    padding: 0.75rem 1.25rem 0.5rem 1.25rem;\n    min-height: auto;\n}\n\n/* Step Header */\n.step-header {\n    text-align: center;\n    padding: 0.75rem 0;\n}\n\n.phone-step .step-header {\n    padding: 0.25rem 0;\n}\n\n.delivery-step .step-header {\n    padding: 0.5rem 0;\n}\n\n.step-header svg {\n    color: #667eea;\n    margin-bottom: 0.75rem;\n}\n\n.delivery-step .step-header svg {\n    margin-bottom: 0.5rem;\n}\n\n.step-header h2 {\n    margin: 0 0 0.375rem 0;\n    font-size: 1.5rem;\n    font-weight: 600;\n    color: #1f2937;\n}\n\n.delivery-step .step-header h2 {\n    font-size: 1.25rem;\n    margin: 0 0 0.25rem 0;\n}\n\n.step-header p {\n    margin: 0;\n    font-size: 0.875rem;\n    color: #6b7280;\n}\n\n.delivery-step .step-header p {\n    font-size: 0.8125rem;\n}\n\n/* Keyboard Hints */\n.keyboard-hints {\n    text-align: center;\n    margin-bottom: 0.375rem;\n}\n\n.keyboard-hint-text {\n    font-size: 0.6875rem;\n    color: #6b7280;\n    font-weight: 500;\n}\n\n.delivery-step .keyboard-hints {\n    margin-bottom: 0.25rem;\n}\n\n.keyboard-hint-text kbd,\nkbd {\n    display: inline-block;\n    padding: 0.15rem 0.4rem;\n    background: #f3f4f6;\n    border: 1px solid #d1d5db;\n    border-radius: 0.25rem;\n    font-family: monospace;\n    font-size: 1rem;\n    font-weight: 600;\n    color: #374151;\n    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n\n.keyboard-hint-small {\n    display: block;\n    font-size: 0.6875rem;\n    color: #9ca3af;\n    font-weight: 400;\n    margin-top: 0.25rem;\n}\n\n/* Step Content */\n.step-content {\n    flex: 1;\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    gap: 0.75rem;\n}\n\n.phone-step .step-content {\n    gap: 0.25rem;\n    justify-content: flex-start;\n    flex: 0;\n}\n\n.delivery-step .step-content {\n    gap: 0.75rem;\n    justify-content: flex-start;\n}\n\n/* Step Actions */\n.step-actions {\n    display: flex;\n    gap: 0.75rem;\n    justify-content: flex-end;\n    padding-top: 0.75rem;\n    border-top: 0.0625rem solid #e5e7eb;\n}\n\n.phone-step .step-actions {\n    padding-top: 0.375rem;\n    margin-top: auto;\n}\n\n/* Phone Step */\n.phone-input-group {\n    width: 100%;\n    max-width: 25rem;\n}\n\n.phone-input-large input {\n    font-size: 1.125rem;\n    padding: 0.875rem 1rem;\n    text-align: center;\n    letter-spacing: 0.0625rem;\n}\n\n.step-hint {\n    margin-top: 1rem;\n    padding: 0.75rem 1rem;\n    background: #f9fafb;\n    border-radius: 0.375rem;\n    border: 0.0625rem solid #e5e7eb;\n}\n\n.step-hint p {\n    margin: 0;\n    font-size: 0.8125rem;\n    color: #6b7280;\n    text-align: center;\n}\n\n.customer-found {\n    background: #f0fdf4;\n    border: 0.0625rem solid #86efac;\n    border-radius: 0.5rem;\n    padding: 1rem 1.25rem;\n    text-align: center;\n    animation: fadeIn 0.3s;\n}\n\n.customer-found h3 {\n    margin: 0 0 0.5rem 0;\n    font-size: 0.875rem;\n    font-weight: 500;\n    color: #065f46;\n}\n\n.customer-name {\n    margin: 0;\n    font-size: 1.25rem;\n    font-weight: 600;\n    color: #047857;\n}\n\n.customer-business {\n    margin: 0.25rem 0 0 0;\n    font-size: 0.875rem;\n    color: #059669;\n}\n\n.customer-info-section {\n    margin-top: 0.75rem;\n    padding: 0.75rem;\n    background: #f9fafb;\n    border-radius: 0.375rem;\n    text-align: left;\n}\n\n.customer-info-label {\n    margin: 0 0 0.5rem 0;\n    font-size: 0.75rem;\n    font-weight: 600;\n    color: #6b7280;\n    text-transform: uppercase;\n    letter-spacing: 0.01875rem;\n}\n\n.customer-addresses-list {\n    margin: 0;\n    padding-left: 1.25rem;\n    list-style: disc;\n}\n\n.customer-addresses-list li {\n    font-size: 0.8125rem;\n    color: #374151;\n    margin-bottom: 0.25rem;\n    line-height: 1.5;\n}\n\n.mini-badge {\n    display: inline-block;\n    padding: 0.0625rem 0.375rem;\n    background: #dbeafe;\n    color: #1e40af;\n    border-radius: 0.1875rem;\n    font-size: 0.625rem;\n    font-weight: 600;\n    margin-left: 0.375rem;\n}\n\n.no-addresses {\n    margin: 0;\n    font-size: 0.8125rem;\n    color: #9ca3af;\n    font-style: italic;\n}\n\n.btn-edit-direcciones {\n    width: 100%;\n    margin-top: 0.75rem;\n}\n\n/* Quick Register Form */\n.quick-register-form {\n    width: 100%;\n    display: flex;\n    flex-direction: column;\n    gap: 1rem;\n    animation: fadeIn 0.3s;\n}\n\n/* Override phone-step min-height when quick register is shown */\n.phone-step:has(.quick-register-form) {\n    min-height: auto;\n    padding: 0.5rem 1.25rem;\n}\n\n.phone-step:has(.quick-register-form) .step-header {\n    padding: 0.25rem 0;\n}\n\n.phone-step:has(.quick-register-form) .step-header h2 {\n    font-size: 1.25rem;\n    margin: 0 0 0.25rem 0;\n}\n\n.phone-step:has(.quick-register-form) .step-header p {\n    font-size: 0.8125rem;\n}\n\n.quick-register-row-top {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 1rem;\n}\n\n.quick-register-row-bottom {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 1rem;\n}\n\n.quick-register-form .direcciones-header {\n    margin-bottom: 0.5rem;\n}\n\n.quick-register-form .direccion-item {\n    padding: 0.5rem 0.75rem;\n    gap: 0.375rem;\n}\n\n.quick-register-form .direcciones-list {\n    gap: 0.5rem;\n}\n\n@media (max-width: 600px) {\n\n    .quick-register-row-top,\n    .quick-register-row-bottom {\n        grid-template-columns: 1fr;\n    }\n}\n\n.form-group {\n    display: flex;\n    flex-direction: column;\n    gap: 0.375rem;\n}\n\n.form-group label {\n    font-size: 0.8125rem;\n    font-weight: 600;\n    color: #374151;\n    margin-left: 0.125rem;\n}\n\n.form-info {\n    padding: 0.75rem 1rem;\n    background: #f0f9ff;\n    border: 0.0625rem solid #bfdbfe;\n    border-radius: 0.375rem;\n    text-align: center;\n}\n\n.form-info p {\n    margin: 0;\n    font-size: 0.875rem;\n    color: #1e40af;\n}\n\n.form-info strong {\n    font-weight: 600;\n    font-family: 'Courier New', monospace;\n    letter-spacing: 0.0625rem;\n}\n\n.coords-info {\n    margin-top: 0.5rem !important;\n    font-size: 0.6875rem !important;\n    color: #059669 !important;\n    font-family: 'Courier New', monospace;\n}\n\n/* Multiple Addresses */\n.direcciones-header {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    margin-bottom: 0.75rem;\n}\n\n.direcciones-header label {\n    margin: 0;\n}\n\n.direcciones-list {\n    display: flex;\n    flex-direction: column;\n    gap: 0.75rem;\n}\n\n.direccion-item {\n    display: flex;\n    flex-direction: column;\n    gap: 0.5rem;\n    padding: 0.75rem;\n    background: #f9fafb;\n    border: 0.0625rem solid #e5e7eb;\n    border-radius: 0.375rem;\n}\n\n.direccion-field {\n    flex: 1;\n}\n\n.direccion-actions {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n}\n\n.principal-checkbox {\n    display: flex;\n    align-items: center;\n    gap: 0.375rem;\n    cursor: pointer;\n    user-select: none;\n}\n\n.principal-checkbox input[type=\"checkbox\"] {\n    cursor: pointer;\n    width: 1rem;\n    height: 1rem;\n}\n\n.principal-badge {\n    display: inline-block;\n    padding: 0.125rem 0.5rem;\n    background: #dbeafe;\n    color: #1e40af;\n    border-radius: 0.25rem;\n    font-size: 0.6875rem;\n    font-weight: 600;\n    text-transform: uppercase;\n    letter-spacing: 0.03125rem;\n}\n\n.coords-badge {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    width: 1.5rem;\n    height: 1.5rem;\n    background: #d1fae5;\n    border-radius: 50%;\n    font-size: 0.75rem;\n    cursor: help;\n}\n\n.remove-direccion-btn {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 1.5rem;\n    height: 1.5rem;\n    border: 0.0625rem solid #fecaca;\n    border-radius: 0.25rem;\n    background: white;\n    color: #ef4444;\n    cursor: pointer;\n    transition: all 0.15s;\n    margin-left: auto;\n}\n\n.remove-direccion-btn:hover {\n    background: #fee2e2;\n    transform: scale(1.1);\n}\n\n@keyframes fadeIn {\n    from {\n        opacity: 0;\n        transform: translateY(-0.625rem);\n    }\n\n    to {\n        opacity: 1;\n        transform: translateY(0);\n    }\n}\n\n/* Delivery Step */\n.customer-info-bar {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    padding: 0.5rem 0.75rem;\n    background: #f3f4f6;\n    border-radius: 0.375rem;\n    font-weight: 500;\n    color: #374151;\n    justify-content: center;\n    margin-bottom: 0.25rem;\n    font-size: 0.8125rem;\n}\n\n.customer-info-bar.no-customer {\n    background: #fef3c7;\n    color: #92400e;\n    border: 0.0625rem solid #fcd34d;\n}\n\n.delivery-options {\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    gap: 0.75rem;\n    width: 100%;\n    max-width: 37.5rem;\n}\n\n.delivery-option {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    gap: 0.5rem;\n    padding: 1rem 0.75rem;\n    background: white;\n    border: 0.125rem solid #e5e7eb;\n    border-radius: 0.5rem;\n    cursor: pointer;\n    transition: all 0.2s;\n}\n\n.delivery-option:hover {\n    border-color: #667eea;\n    background: #f9fafb;\n    transform: translateY(-0.125rem);\n    box-shadow: 0 0.25rem 0.75rem rgba(59, 130, 246, 0.15);\n}\n\n.delivery-option.selected {\n    border-color: #667eea;\n    background: #eef2ff;\n    box-shadow: 0 0.25rem 0.75rem rgba(59, 130, 246, 0.2);\n}\n\n.delivery-option .option-icon {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 3rem;\n    height: 3rem;\n    background: #f3f4f6;\n    border-radius: 50%;\n    transition: all 0.2s;\n}\n\n.delivery-option.selected .option-icon {\n    background: #667eea;\n}\n\n.delivery-option.selected .option-icon svg {\n    color: white;\n}\n\n.delivery-option .option-icon svg {\n    color: #667eea;\n}\n\n.delivery-option h3 {\n    margin: 0;\n    font-size: 1rem;\n    font-weight: 600;\n    color: #1f2937;\n}\n\n.delivery-option p {\n    margin: 0;\n    font-size: 0.75rem;\n    color: #6b7280;\n    text-align: center;\n    line-height: 1.3;\n}\n\n/* Address Selection */\n.address-selection {\n    width: 100%;\n    max-width: 37.5rem;\n    margin-top: 0.5rem;\n    animation: fadeIn 0.3s;\n    display: flex;\n    flex-direction: column;\n    gap: 0.5rem;\n}\n\n.address-selection-title {\n    margin: 0 0 0.375rem 0;\n    font-size: 0.8125rem;\n    font-weight: 600;\n    color: #374151;\n    text-align: center;\n}\n\n.address-list {\n    display: flex;\n    flex-direction: column;\n    gap: 0.375rem;\n    max-height: 11.25rem;\n    overflow-y: auto;\n}\n\n.address-item {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    padding: 0.625rem 0.75rem;\n    background: white;\n    border: 0.125rem solid #e5e7eb;\n    border-radius: 0.375rem;\n    cursor: pointer;\n    transition: all 0.2s;\n}\n\n.address-item:hover {\n    border-color: #667eea;\n    background: #f9fafb;\n    transform: translateX(0.25rem);\n}\n\n.address-item.selected {\n    border-color: #667eea;\n    background: #eef2ff;\n    box-shadow: 0 0.125rem 0.5rem rgba(59, 130, 246, 0.15);\n}\n\n.address-item.keyboard-focused {\n    border-color: #667eea;\n    background: #f9fafb;\n    box-shadow: 0 0 0 0.1875rem rgba(59, 130, 246, 0.1);\n}\n\n.address-content {\n    flex: 1;\n    display: flex;\n    flex-direction: column;\n    gap: 0.1875rem;\n}\n\n.address-text {\n    font-size: 0.8125rem;\n    color: #1f2937;\n    font-weight: 500;\n    line-height: 1.3;\n}\n\n.address-badge {\n    display: inline-block;\n    padding: 0.125rem 0.375rem;\n    background: #dbeafe;\n    color: #1e40af;\n    border-radius: 0.1875rem;\n    font-size: 0.625rem;\n    font-weight: 600;\n    text-transform: uppercase;\n    letter-spacing: 0.01875rem;\n    width: fit-content;\n}\n\n.address-check {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 1.5rem;\n    height: 1.5rem;\n    background: #667eea;\n    color: white;\n    border-radius: 50%;\n    font-weight: 700;\n    font-size: 0.875rem;\n    flex-shrink: 0;\n}\n\n.btn-add-address-delivery {\n    width: 100%;\n    margin-top: 0.25rem;\n    border: 0.125rem dashed #d1d5db;\n    background: #f9fafb;\n    color: #6b7280;\n    font-weight: 500;\n    font-size: 0.75rem;\n    padding: 0.5rem 0.75rem;\n}\n\n.btn-add-address-delivery:hover {\n    border-color: #667eea;\n    background: #eef2ff;\n    color: #667eea;\n}\n\n/* Responsive */\n@media (max-width: 64rem) {\n    .new-sale-form {\n        grid-template-columns: 1fr;\n        height: auto;\n    }\n\n    .sale-summary-area {\n        height: auto;\n    }\n\n    .delivery-options {\n        grid-template-columns: 1fr;\n    }\n}\n\n/* ===================================\n   TABLE VIEW STYLES (STEP 3)\n   =================================== */\n\n.new-sale-form-table {\n    display: flex;\n    flex-direction: column;\n    height: 75vh;\n    min-height: 37.5rem;\n    gap: 1rem;\n}\n\n/* Header con información del cliente */\n.sale-header-info {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    padding: 0.75rem 1rem;\n    background: #f9fafb;\n    border: 0.0625rem solid #e5e7eb;\n    border-radius: 0.5rem;\n}\n\n.client-info-badge {\n    display: flex;\n    align-items: center;\n    gap: 0.75rem;\n}\n\n.client-details {\n    display: flex;\n    flex-direction: column;\n    gap: 0.25rem;\n}\n\n.client-name {\n    font-size: 1rem;\n    font-weight: 600;\n    color: #1f2937;\n}\n\n.client-commercial-name {\n    font-size: 0.8125rem;\n    font-weight: 500;\n    color: #667eea;\n    font-style: italic;\n}\n\n.client-address {\n    font-size: 0.8125rem;\n    color: #6b7280;\n}\n\n.delivery-type-badge {\n    font-size: 0.75rem;\n    padding: 0.125rem 0.5rem;\n    background: #dbeafe;\n    color: #1e40af;\n    border-radius: 0.25rem;\n    font-weight: 500;\n    width: fit-content;\n}\n\n/* Barra de búsqueda grande */\n.search-section-table {\n    position: relative;\n}\n\n.search-box-large {\n    width: 100%;\n}\n\n.search-box-large input {\n    font-size: 1rem;\n    padding: 0.875rem 1rem 0.875rem 3rem;\n    border: 0.125rem solid #e5e7eb;\n    border-radius: 0.5rem;\n    transition: all 0.2s;\n}\n\n.search-box-large input:focus {\n    border-color: #667eea;\n    box-shadow: 0 0 0 0.1875rem rgba(59, 130, 246, 0.1);\n}\n\n/* Contenedor de la tabla */\n.products-table-container {\n    flex: 1;\n    overflow-y: auto;\n    background: white;\n    border: 0.0625rem solid #e5e7eb;\n    border-radius: 0.5rem;\n}\n\n/* Empty state de la tabla */\n.empty-cart-table {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    height: 100%;\n    min-height: 18.75rem;\n    color: #9ca3af;\n    gap: 0.75rem;\n}\n\n.empty-cart-table svg {\n    color: #d1d5db;\n}\n\n.empty-cart-table p {\n    margin: 0;\n    font-weight: 600;\n    font-size: 1.125rem;\n    color: #6b7280;\n}\n\n.empty-cart-table span {\n    font-size: 0.875rem;\n}\n\n/* Tabla de productos */\n.products-table {\n    width: 100%;\n    border-collapse: collapse;\n    font-size: 0.875rem;\n}\n\n.products-table thead {\n    background: #f9fafb;\n    border-bottom: 0.125rem solid #e5e7eb;\n    position: sticky;\n    top: 0;\n    z-index: 10;\n}\n\n.products-table th {\n    padding: 0.75rem 1rem;\n    text-align: left;\n    font-weight: 600;\n    color: #374151;\n    text-transform: uppercase;\n    font-size: 0.75rem;\n    letter-spacing: 0.03125rem;\n    border-bottom: 0.125rem solid #e5e7eb;\n}\n\n.products-table tbody tr {\n    border-bottom: 0.0625rem solid #f3f4f6;\n    transition: background-color 0.15s;\n}\n\n.products-table tbody tr:hover {\n    background-color: #f9fafb;\n}\n\n.products-table tbody tr:last-child {\n    border-bottom: none;\n}\n\n.products-table td {\n    padding: 0.75rem 1rem;\n    color: #1f2937;\n    vertical-align: middle;\n}\n\n.products-table .text-right {\n    text-align: right;\n}\n\n.products-table .text-center {\n    text-align: center;\n}\n\n.products-table .font-semibold {\n    font-weight: 600;\n    color: #10b981;\n}\n\n.article-code {\n    font-family: 'Courier New', monospace;\n    font-size: 0.8125rem;\n    color: #6b7280;\n    font-weight: 500;\n}\n\n.product-description {\n    font-weight: 500;\n    color: #1f2937;\n}\n\n/* Controles de cantidad en tabla */\n.quantity-controls-table {\n    display: flex;\n    align-items: center;\n    gap: 0.375rem;\n    justify-content: center;\n}\n\n.qty-btn-table {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 1.75rem;\n    height: 1.75rem;\n    border: 0.0625rem solid #d1d5db;\n    border-radius: 0.25rem;\n    background: white;\n    cursor: pointer;\n    transition: all 0.15s;\n    color: #6b7280;\n}\n\n.qty-btn-table:hover {\n    background: #f3f4f6;\n    border-color: #9ca3af;\n    transform: scale(1.05);\n}\n\n.qty-input-table {\n    width: 1.875rem;\n    height: 1.75rem;\n    text-align: center;\n    border: 0.0625rem solid #d1d5db;\n    border-radius: 0.25rem;\n    font-weight: 500;\n    padding: 0 0.25rem;\n    font-size: 0.8125rem;\n    transition: all 0.2s ease;\n}\n\n.qty-input-table:focus {\n    outline: none;\n    border-color: #667eea;\n    background-color: #eef2ff;\n    box-shadow: 0 0 0 0.1875rem rgba(102, 126, 234, 0.1);\n}\n\n.delete-btn-table {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 2rem;\n    height: 2rem;\n    border: 0.0625rem solid #fecaca;\n    border-radius: 0.375rem;\n    background: white;\n    cursor: pointer;\n    transition: all 0.15s;\n    color: #ef4444;\n}\n\n.delete-btn-table:hover {\n    background: #fee2e2;\n    border-color: #fca5a5;\n    transform: scale(1.1);\n}\n\n/* Footer con total */\n.sale-footer-table {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    padding: 1rem 1.25rem;\n    background: #f9fafb;\n    border: 0.0625rem solid #e5e7eb;\n    border-radius: 0.5rem;\n    position: relative;\n}\n\n.total-display {\n    display: flex;\n    align-items: center;\n    gap: 0.75rem;\n}\n\n.total-label {\n    font-size: 1.125rem;\n    font-weight: 600;\n    color: #374151;\n}\n\n.total-amount {\n    font-size: 1.75rem;\n    font-weight: 700;\n    color: #10b981;\n}\n\n/* Botón flotante de procesar venta */\n.btn-process-sale {\n    display: flex;\n    align-items: center;\n    gap: 0.75rem;\n    padding: 0.875rem 1.5rem;\n    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);\n    color: white;\n    border: none;\n    border-radius: 0.5rem;\n    font-size: 1rem;\n    font-weight: 600;\n    cursor: pointer;\n    transition: all 0.2s;\n    box-shadow: 0 0.25rem 0.75rem rgba(59, 130, 246, 0.4);\n}\n\n.btn-process-sale:hover:not(:disabled) {\n    transform: translateY(-0.125rem);\n    box-shadow: 0 0.375rem 1rem rgba(59, 130, 246, 0.5);\n}\n\n.btn-process-sale:active:not(:disabled) {\n    transform: translateY(0);\n}\n\n.btn-process-sale:disabled {\n    opacity: 0.5;\n    cursor: not-allowed;\n}\n\n/* Responsive para tabla */\n@media (max-width: 64rem) {\n    .new-sale-form-table {\n        height: auto;\n        min-height: 31.25rem;\n    }\n\n    .products-table {\n        font-size: 0.8125rem;\n    }\n\n    .products-table th,\n    .products-table td {\n        padding: 0.625rem 0.75rem;\n    }\n\n    .total-amount {\n        font-size: 1.5rem;\n    }\n\n    .btn-process-sale {\n        padding: 0.75rem 1.25rem;\n        font-size: 0.875rem;\n    }\n}\n\n/* Modal de selección de ubicación de impresión */\n.print-location-modal {\n    display: flex;\n    flex-direction: column;\n    gap: 1.5rem;\n    padding: 1rem;\n}\n\n.print-location-text {\n    text-align: center;\n    font-size: 1rem;\n    color: #374151;\n    margin: 0;\n}\n\n.print-location-buttons {\n    display: flex;\n    gap: 1rem;\n    justify-content: center;\n}\n\n.print-location-btn {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    gap: 0.5rem;\n    padding: 1.5rem 2rem;\n    border: 2px solid #e5e7eb;\n    border-radius: 12px;\n    background: white;\n    cursor: pointer;\n    transition: all 0.2s;\n    min-width: 140px;\n}\n\n.print-location-btn:hover {\n    border-color: #667eea;\n    background: #f0f4ff;\n}\n\n.print-location-btn svg {\n    color: #667eea;\n}\n\n.print-location-btn span {\n    font-size: 1rem;\n    font-weight: 600;\n    color: #374151;\n}\n\n.print-location-btn small {\n    font-size: 0.75rem;\n    color: #9ca3af;\n}\n\n.print-location-btn.local:hover {\n    border-color: #10b981;\n    background: #ecfdf5;\n}\n\n.print-location-btn.local:hover svg {\n    color: #10b981;\n}\n\n.print-location-btn.almacen:hover {\n    border-color: #f59e0b;\n    background: #fffbeb;\n}\n\n.print-location-btn.almacen:hover svg {\n    color: #f59e0b;\n}\n\n/* ===================================\n   COUNTER SALE PAGE - LARGER FONTS\n   =================================== */\n\n.counter-sale-page {\n    font-size: 1rem;\n}\n\n/* Tabla de productos - fuente más grande */\n.counter-sale-page .products-table {\n    font-size: 1.1rem;\n}\n\n.counter-sale-page .products-table th {\n    font-size: 0.95rem;\n    padding: 0.5rem 0.75rem;\n}\n\n.counter-sale-page .products-table td {\n    font-size: 1.1rem;\n    padding: 0.4rem 0.75rem;\n}\n\n.counter-sale-page .article-code {\n    font-size: 1rem;\n}\n\n.counter-sale-page .product-description {\n    font-size: 1.1rem;\n}\n\n/* Controles de cantidad más grandes */\n.counter-sale-page .qty-btn-table {\n    width: 2.25rem;\n    height: 2.25rem;\n}\n\n.counter-sale-page .qty-input-table {\n    width: 3.5rem;\n    height: 2.25rem;\n    font-size: 1.1rem;\n}\n\n/* Resultados de búsqueda más grandes */\n.counter-sale-page .search-results-dropdown {\n    max-height: 22rem;\n}\n\n.counter-sale-page .result-name {\n    font-size: 1.1rem;\n}\n\n.counter-sale-page .result-code {\n    font-size: 0.95rem;\n}\n\n.counter-sale-page .result-price {\n    font-size: 1rem;\n    font-weight: 600;\n    color: #059669;\n    white-space: nowrap;\n}\n\n.counter-sale-page .search-result-item {\n    padding: 0.5rem 0.75rem;\n}\n\n.counter-sale-page .search-result-item.compact {\n    display: flex;\n    align-items: center;\n    gap: 0.75rem;\n    padding: 0.4rem 0.75rem;\n    border-bottom: 1px solid #f0f0f0;\n}\n\n.counter-sale-page .search-result-item.compact:hover {\n    background-color: #f5f5f5;\n}\n\n.counter-sale-page .search-result-item.compact.keyboard-focused {\n    background-color: #e0e7ff;\n    border-left: 3px solid #667eea;\n}\n\n.counter-sale-page .result-code-short {\n    font-size: 0.85rem;\n    font-weight: 600;\n    color: #6366f1;\n    background: #eef2ff;\n    padding: 0.15rem 0.4rem;\n    border-radius: 4px;\n    font-family: 'Consolas', 'Courier New', monospace;\n    min-width: 45px;\n    text-align: center;\n}\n\n.counter-sale-page .search-result-item.compact .result-name {\n    flex: 1;\n    font-size: 0.95rem;\n    font-weight: 500;\n    color: #1f2937;\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n}\n\n.counter-sale-page .search-hint {\n    font-size: 0.75rem;\n    padding: 0.4rem 0.75rem;\n    background: #f9fafb;\n    border-bottom: 1px solid #e5e7eb;\n}\n\n/* Totales más grandes */\n.counter-sale-page .total-label {\n    font-size: 1.35rem;\n}\n\n.counter-sale-page .total-amount {\n    font-size: 2.25rem;\n}\n\n/* Botón de procesar venta más grande */\n.counter-sale-page .btn-process-sale {\n    font-size: 1.15rem;\n    padding: 1rem 2rem;\n}\n\n/* Empty state más grande */\n.counter-sale-page .empty-cart-table p {\n    font-size: 1.35rem;\n}\n\n.counter-sale-page .empty-cart-table span {\n    font-size: 1.1rem;\n}\n\n/* Botón eliminar más grande */\n.counter-sale-page .delete-btn-table {\n    width: 2.5rem;\n    height: 2.5rem;\n}\n\n/* Columnas proporcionadas para counter sale */\n.counter-sale-page .products-table {\n    table-layout: fixed !important;\n}\n\n.counter-sale-page .products-table th:nth-child(1),\n.counter-sale-page .products-table td:nth-child(1) {\n    width: 10%;\n}\n\n/* Cantidad */\n\n.counter-sale-page .products-table th:nth-child(2),\n.counter-sale-page .products-table td:nth-child(2) {\n    width: 8%;\n}\n\n/* Artículo */\n\n/* nth-child(3) = Descripción, sin width fijo, toma el restante */\n\n.counter-sale-page .products-table th:nth-child(4),\n.counter-sale-page .products-table td:nth-child(4) {\n    width: 8%;\n}\n\n/* Unidad */\n\n.counter-sale-page .products-table th:nth-child(5),\n.counter-sale-page .products-table td:nth-child(5) {\n    width: 22%;\n}\n\n/* Precio */\n\n.counter-sale-page .products-table th:nth-child(6),\n.counter-sale-page .products-table td:nth-child(6) {\n    width: 12%;\n}\n\n/* Total */\n\n.counter-sale-page .products-table th:nth-child(7),\n.counter-sale-page .products-table td:nth-child(7) {\n    width: 7%;\n    /* Acciones */\n    text-align: center;\n    padding-left: 0.25rem !important;\n    padding-right: 0.25rem !important;\n}\n\n/* Input de búsqueda más grande */\n.counter-sale-page .search-box-large input {\n    font-size: 1.15rem;\n    padding: 1rem 1.25rem 1rem 3.5rem;\n}\n\n/* ===================================\n   NEW SALE FORM TABLE - Search Styles\n   =================================== */\n\n.new-sale-form-table .search-section-table {\n    padding: 1rem 1.25rem;\n    background: #f9fafb;\n    border-bottom: 1px solid #e5e7eb;\n}\n\n.new-sale-form-table .search-box-large input {\n    font-size: 1.1rem;\n    padding: 0.875rem 1rem 0.875rem 3rem;\n}\n\n.new-sale-form-table .search-results-dropdown {\n    position: absolute;\n    top: 100%;\n    left: 0;\n    right: 0;\n    background: white;\n    border: 1px solid #e5e7eb;\n    border-radius: 0 0 0.5rem 0.5rem;\n    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n    max-height: 350px;\n    overflow-y: auto;\n    z-index: 100;\n}\n\n.new-sale-form-table .search-hint {\n    font-size: 0.75rem;\n    padding: 0.5rem 0.75rem;\n    background: #f9fafb;\n    border-bottom: 1px solid #e5e7eb;\n    color: #6b7280;\n    text-align: center;\n}\n\n.new-sale-form-table .search-result-item.compact {\n    display: flex;\n    align-items: center;\n    gap: 0.75rem;\n    padding: 0.75rem 1rem;\n    border-bottom: 1px solid #f0f0f0;\n    cursor: pointer;\n    transition: background-color 0.15s;\n}\n\n.new-sale-form-table .search-result-item.compact:hover {\n    background-color: #f5f5f5;\n}\n\n.new-sale-form-table .search-result-item.compact.keyboard-focused {\n    background-color: #e0e7ff;\n    border-left: 3px solid #667eea;\n}\n\n.new-sale-form-table .result-code-short {\n    font-size: 0.85rem;\n    font-weight: 600;\n    color: #6366f1;\n    background: #eef2ff;\n    padding: 0.25rem 0.5rem;\n    border-radius: 0.25rem;\n    min-width: 60px;\n    text-align: center;\n}\n\n.new-sale-form-table .search-result-item.compact .result-name {\n    flex: 1;\n    font-size: 0.95rem;\n    font-weight: 500;\n    color: #1f2937;\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n}\n\n.new-sale-form-table .search-result-item.compact .result-price {\n    font-size: 1rem;\n    font-weight: 600;\n    color: #10b981;\n    white-space: nowrap;\n}\n\n.new-sale-form-table .no-results {\n    padding: 1.25rem;\n    text-align: center;\n    color: #6b7280;\n    font-size: 0.9375rem;\n}\n\n/* Modal de búsqueda de cliente - más alto */\n.modal-client-search {\n    min-height: 500px;\n    height: 500px;\n}\n\n.modal-client-search .modal-content {\n    display: flex;\n    flex-direction: column;\n    flex: 1;\n    height: 100%;\n}","/* Barra de pedidos pendientes */\n.pending-orders-bar {\n  position: fixed;\n  bottom: 0;\n  left: 17.5rem; /* Ancho del sidebar */\n  right: 0;\n  background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);\n  border-top: 0.125rem solid #667eea;\n  padding: 0.625rem 1.25rem;\n  z-index: 100;\n  box-shadow: 0 -0.25rem 1.25rem rgba(0, 0, 0, 0.1);\n  animation: slideUp 0.3s ease-out;\n  max-height: 30vh;\n  overflow: hidden;\n}\n\n@keyframes slideUp {\n  from {\n    transform: translateY(100%);\n    opacity: 0;\n  }\n  to {\n    transform: translateY(0);\n    opacity: 1;\n  }\n}\n\n.pending-orders-header {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  color: #64748b;\n  font-size: 0.75rem;\n  font-weight: 600;\n  text-transform: uppercase;\n  letter-spacing: 0.03125rem;\n  margin-bottom: 0.625rem;\n}\n\n.pending-orders-header svg {\n  color: #667eea;\n}\n\n.pending-orders-carousel {\n  display: flex;\n  gap: 0.75rem;\n  overflow-x: auto;\n  padding-bottom: 0.3125rem;\n  scrollbar-width: thin;\n  scrollbar-color: #cbd5e1 #f1f5f9;\n}\n\n.pending-orders-carousel::-webkit-scrollbar {\n  height: 0.375rem;\n}\n\n.pending-orders-carousel::-webkit-scrollbar-track {\n  background: #f1f5f9;\n  border-radius: 0.1875rem;\n}\n\n.pending-orders-carousel::-webkit-scrollbar-thumb {\n  background: #cbd5e1;\n  border-radius: 0.1875rem;\n}\n\n.pending-orders-carousel::-webkit-scrollbar-thumb:hover {\n  background: #94a3b8;\n}\n\n/* Card de pedido pendiente */\n.pending-order-card {\n  position: relative;\n  display: flex;\n  align-items: center;\n  gap: 0.75rem;\n  background: white;\n  border: 0.0625rem solid #e2e8f0;\n  border-radius: 0.625rem;\n  padding: 0.625rem 0.875rem;\n  min-width: 13.75rem;\n  max-width: 17.5rem;\n  cursor: pointer;\n  transition: all 0.2s ease;\n  flex-shrink: 0;\n  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.05);\n}\n\n.pending-order-card:hover {\n  background: #f8fafc;\n  border-color: #667eea;\n  transform: translateY(-0.125rem);\n  box-shadow: 0 0.25rem 0.5rem rgba(102, 126, 234, 0.15);\n}\n\n.order-card-content {\n  flex: 1;\n  display: flex;\n  flex-direction: column;\n  gap: 0.25rem;\n  min-width: 0;\n}\n\n.order-client {\n  display: flex;\n  align-items: center;\n  gap: 0.375rem;\n  color: #1e293b;\n  font-size: 0.8125rem;\n  font-weight: 600;\n}\n\n.order-client span {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n\n.order-client svg {\n  color: #667eea;\n  flex-shrink: 0;\n}\n\n.order-details {\n  display: flex;\n  align-items: center;\n  gap: 0.625rem;\n  font-size: 0.75rem;\n}\n\n.order-items {\n  color: #64748b;\n}\n\n.order-total {\n  color: #10b981;\n  font-weight: 700;\n}\n\n.order-time {\n  display: flex;\n  align-items: center;\n  gap: 0.25rem;\n  color: #94a3b8;\n  font-size: 0.6875rem;\n}\n\n.order-delivery-type {\n  position: absolute;\n  top: 0.375rem;\n  right: 0.375rem;\n  font-size: 0.5625rem;\n  font-weight: 700;\n  padding: 0.125rem 0.375rem;\n  border-radius: 0.25rem;\n  text-transform: uppercase;\n}\n\n.order-delivery-type.domicilio {\n  background: rgba(59, 130, 246, 0.15);\n  color: #3b82f6;\n}\n\n.order-delivery-type.pickup {\n  background: rgba(168, 85, 247, 0.15);\n  color: #a855f7;\n}\n\n/* Acciones del pedido */\n.order-actions {\n  display: flex;\n  flex-direction: column;\n  gap: 0.375rem;\n}\n\n.order-action-btn {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 1.75rem;\n  height: 1.75rem;\n  border: none;\n  border-radius: 0.375rem;\n  cursor: pointer;\n  transition: all 0.2s ease;\n}\n\n.order-action-btn.retomar {\n  background: rgba(102, 126, 234, 0.2);\n  color: #667eea;\n}\n\n.order-action-btn.retomar:hover {\n  background: #667eea;\n  color: white;\n}\n\n.order-action-btn.eliminar {\n  background: rgba(239, 68, 68, 0.15);\n  color: #f87171;\n}\n\n.order-action-btn.eliminar:hover {\n  background: #ef4444;\n  color: white;\n}\n\n/* Responsive */\n@media (max-width: 64rem) {\n  .pending-orders-bar {\n    left: 4.375rem; /* Sidebar colapsado */\n  }\n}\n\n@media (max-width: 48rem) {\n  .pending-orders-bar {\n    left: 0;\n    padding: 0.5rem 0.75rem;\n  }\n\n  .pending-order-card {\n    min-width: 11.25rem;\n    padding: 0.5rem 0.625rem;\n  }\n\n  .order-client {\n    font-size: 0.75rem;\n  }\n}\n",".sales-page {\n  padding: 1.25rem;\n  height: 100%;\n  display: flex;\n  flex-direction: column;\n  gap: 1.25rem;\n}\n\n/* Controles */\n.sales-controls {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  gap: 1.25rem;\n  background: white;\n  padding: 1rem 1.25rem;\n  border-radius: 0.5rem;\n  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.05);\n}\n\n.search-filters {\n  flex: 1;\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  gap: 0.625rem;\n}\n\n.search-container {\n  width: 100%;\n  flex-basis: 100%;\n}\n\n.filter-buttons {\n  display: flex;\n  gap: 0.5rem;\n  flex-wrap: wrap;\n}\n\n.filter-btn {\n  display: flex;\n  align-items: center;\n  gap: 0.375rem;\n  padding: 0.5rem 1rem;\n  background: white;\n  border: 0.0625rem solid #d1d5db;\n  border-radius: 0.375rem;\n  color: #6b7280;\n  font-size: 0.8125rem;\n  font-weight: 500;\n  cursor: pointer;\n  transition: all 0.15s;\n}\n\n.filter-btn:hover {\n  background: #f8f9fa;\n  border-color: #667eea;\n  color: #667eea;\n}\n\n.filter-btn.active {\n  background: #667eea;\n  border-color: #667eea;\n  color: white;\n}\n\n.filter-btn svg {\n  flex-shrink: 0;\n}\n\n/* Date range inputs */\n.date-range-inputs {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  padding: 0.5rem 0;\n}\n\n.date-input {\n  padding: 0.5rem 0.75rem;\n  border: 0.0625rem solid #d1d5db;\n  border-radius: 0.375rem;\n  font-size: 0.8125rem;\n  color: #374151;\n  background: white;\n  transition: all 0.15s;\n  cursor: pointer;\n}\n\n.date-input:hover {\n  border-color: #667eea;\n}\n\n.date-input:focus {\n  outline: none;\n  border-color: #667eea;\n  box-shadow: 0 0 0 0.1875rem rgba(102, 126, 234, 0.1);\n}\n\n.selection-info {\n  display: flex;\n  align-items: center;\n  gap: 0.75rem;\n  padding: 0.5rem 0.75rem;\n  background: #eef2ff;\n  border: 0.0625rem solid #c7d2fe;\n  border-radius: 0.375rem;\n  font-size: 0.8125rem;\n}\n\n.selection-count {\n  color: #667eea;\n  font-weight: 600;\n  flex: 1;\n}\n\n.clear-selection-btn {\n  padding: 0.25rem 0.75rem;\n  background: white;\n  border: 0.0625rem solid #c7d2fe;\n  border-radius: 0.25rem;\n  color: #667eea;\n  font-size: 0.75rem;\n  font-weight: 500;\n  cursor: pointer;\n  transition: all 0.15s;\n}\n\n.clear-selection-btn:hover {\n  background: #667eea;\n  color: white;\n  border-color: #667eea;\n}\n\n.controls-actions {\n  display: flex;\n  gap: 0.75rem;\n}\n\n.keyboard-hint {\n  display: inline-block;\n  background: rgba(255, 255, 255, 0.2);\n  padding: 0.125rem 0.375rem;\n  border-radius: 0.1875rem;\n  font-size: 0.6875rem;\n  font-weight: 600;\n  margin-left: 0.5rem;\n  border: 0.0625rem solid rgba(255, 255, 255, 0.3);\n}\n\n/* Tabla de ventas */\n.sales-table-container {\n  background: white;\n  border-radius: 0.5rem;\n  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.05);\n  overflow-y: auto;\n  overflow-x: hidden;\n  flex: 1;\n  max-height: calc(100vh - 12.5rem);\n  position: relative;\n}\n\n/* Estilo personalizado para el scrollbar */\n.sales-table-container::-webkit-scrollbar {\n  width: 0.5rem;\n}\n\n.sales-table-container::-webkit-scrollbar-track {\n  background: #f1f3f5;\n  border-radius: 0.25rem;\n}\n\n.sales-table-container::-webkit-scrollbar-thumb {\n  background: #c7d2fe;\n  border-radius: 0.25rem;\n  transition: background 0.2s;\n}\n\n.sales-table-container::-webkit-scrollbar-thumb:hover {\n  background: #667eea;\n}\n\n.sales-table {\n  width: 100%;\n  border-collapse: collapse;\n}\n\n.sales-table thead {\n  background: #f8f9fa;\n  border-bottom: 0.125rem solid #e9ecef;\n  position: sticky;\n  top: 0;\n  z-index: 10;\n}\n\n.sales-table th {\n  text-align: left;\n  padding: 0.875rem 1rem;\n  font-weight: 600;\n  color: #495057;\n  font-size: 0.8125rem;\n  text-transform: uppercase;\n  letter-spacing: 0.03125rem;\n  background: #f8f9fa;\n}\n\n.sales-table th[data-type=\"actions\"] {\n  text-align: center;\n  width: 6.25rem;\n}\n\n.sales-table tbody tr {\n  border-bottom: 0.0625rem solid #f1f3f5;\n  transition: background-color 0.15s, box-shadow 0.15s;\n}\n\n.sales-table tbody tr:hover {\n  background-color: #f8f9fa;\n}\n\n.sales-table tbody tr.selected-row {\n  background-color: #eef2ff;\n  box-shadow: inset 0.1875rem 0 0 #667eea;\n}\n\n.sales-table tbody tr.selected-row:hover {\n  background-color: #e0e7ff;\n}\n\n.sales-table td {\n  padding: 0.875rem 1rem;\n  color: #495057;\n  font-size: 0.875rem;\n}\n\n.sales-table td.actions {\n  text-align: center;\n}\n\n/* Columna de checkbox */\n.checkbox-column {\n  width: 3.125rem;\n  text-align: center;\n  padding: 0.875rem 0.5rem !important;\n}\n\n.checkbox-column input[type=\"checkbox\"] {\n  width: 1.125rem;\n  height: 1.125rem;\n  cursor: pointer;\n  accent-color: #667eea;\n}\n\n.checkbox-column input[type=\"checkbox\"]:indeterminate {\n  accent-color: #667eea;\n}\n\n/* Contenido de celdas */\n.venta-folio .folio-number {\n  font-family: 'Courier New', monospace;\n  font-weight: 600;\n  color: #667eea;\n  font-size: 0.875rem;\n}\n\n.venta-fecha,\n.venta-cliente,\n.venta-entrega,\n.venta-productos,\n.venta-total {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n}\n\n.venta-fecha svg,\n.venta-cliente svg,\n.venta-entrega svg,\n.venta-productos svg,\n.venta-total svg {\n  color: #868e96;\n  flex-shrink: 0;\n}\n\n.cliente-info {\n  display: flex;\n  flex-direction: column;\n  gap: 0.125rem;\n}\n\n.cliente-nombre {\n  font-size: 0.875rem;\n  color: #495057;\n  font-weight: 500;\n}\n\n.cliente-nombre-comercial {\n  font-size: 0.75rem;\n  color: #868e96;\n  font-style: italic;\n}\n\n.venta-entrega {\n  font-size: 0.8125rem;\n}\n\n.venta-entrega svg {\n  color: #667eea;\n}\n\n.venta-total .total-amount {\n  font-weight: 600;\n  color: #10b981;\n  font-size: 0.9375rem;\n}\n\n/* Status badge */\n.status-badge {\n  display: inline-block;\n  padding: 0.25rem 0.75rem;\n  border-radius: 0.75rem;\n  font-size: 0.75rem;\n  font-weight: 500;\n  text-transform: capitalize;\n}\n\n.status-badge.status-completada {\n  background: #d1fae5;\n  color: #065f46;\n}\n\n.status-badge.status-pendiente {\n  background: #fef3c7;\n  color: #92400e;\n}\n\n.status-badge.status-cancelada {\n  background: #fee2e2;\n  color: #991b1b;\n}\n\n/* Botones de acción */\n.actions-compact {\n  display: flex;\n  gap: 0.5rem;\n  justify-content: center;\n}\n\n.action-btn-compact {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 2rem;\n  height: 2rem;\n  border: 0.0625rem solid #dee2e6;\n  background: white;\n  border-radius: 0.375rem;\n  color: #495057;\n  cursor: pointer;\n  transition: all 0.15s;\n}\n\n.action-btn-compact:hover {\n  background: #f8f9fa;\n  border-color: #667eea;\n  color: #667eea;\n  transform: translateY(-0.0625rem);\n}\n\n/* Estados */\n.loading-state,\n.empty-state {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  padding: 3.75rem 1.25rem;\n  color: #6b7280;\n  min-height: 25rem;\n}\n\n.loading-spinner {\n  width: 2.5rem;\n  height: 2.5rem;\n  border: 0.1875rem solid #f3f4f6;\n  border-top-color: #667eea;\n  border-radius: 50%;\n  animation: spin 0.8s linear infinite;\n  margin-bottom: 1rem;\n}\n\n@keyframes spin {\n  to { transform: rotate(360deg); }\n}\n\n.empty-state svg {\n  color: #9ca3af;\n  margin-bottom: 1rem;\n}\n\n.empty-state h3 {\n  margin: 0 0 0.5rem 0;\n  font-size: 1.125rem;\n  font-weight: 600;\n  color: #374151;\n}\n\n.empty-state p {\n  margin: 0;\n  font-size: 0.875rem;\n  color: #6b7280;\n}\n\n/* Modal de detalle de venta */\n.venta-detail-modal {\n  display: flex;\n  flex-direction: column;\n  gap: 1.5rem;\n  padding: 1.25rem;\n  max-height: 70vh;\n  overflow-y: auto;\n}\n\n.detail-section {\n  background: #f8f9fa;\n  padding: 1.25rem;\n  border-radius: 0.5rem;\n  border: 0.0625rem solid #e9ecef;\n}\n\n.detail-section h3 {\n  margin: 0 0 1rem 0;\n  font-size: 1rem;\n  font-weight: 600;\n  color: #374151;\n  border-bottom: 0.125rem solid #667eea;\n  padding-bottom: 0.5rem;\n}\n\n.detail-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(15.625rem, 1fr));\n  gap: 1rem;\n}\n\n.detail-item {\n  display: flex;\n  flex-direction: column;\n  gap: 0.25rem;\n}\n\n.detail-item.full-width {\n  grid-column: 1 / -1;\n}\n\n.detail-item label {\n  font-size: 0.75rem;\n  font-weight: 600;\n  color: #6b7280;\n  text-transform: uppercase;\n  letter-spacing: 0.03125rem;\n}\n\n.detail-item span {\n  font-size: 0.875rem;\n  color: #374151;\n  font-weight: 500;\n  display: flex;\n  align-items: center;\n  gap: 0.375rem;\n}\n\n.detail-item span svg {\n  color: #667eea;\n  flex-shrink: 0;\n}\n\n.cliente-info-modal {\n  display: flex;\n  flex-direction: column;\n  gap: 0.25rem;\n}\n\n.nombre-comercial-modal {\n  font-size: 0.75rem;\n  color: #868e96;\n  font-style: italic;\n}\n\n.detail-products-table {\n  width: 100%;\n  border-collapse: collapse;\n  background: white;\n  border-radius: 0.375rem;\n  overflow: hidden;\n}\n\n.detail-products-table thead {\n  background: #667eea;\n  color: white;\n}\n\n.detail-products-table th {\n  padding: 0.75rem;\n  text-align: left;\n  font-weight: 600;\n  font-size: 0.8125rem;\n  text-transform: uppercase;\n  letter-spacing: 0.03125rem;\n}\n\n.detail-products-table tbody tr {\n  border-bottom: 0.0625rem solid #e9ecef;\n}\n\n.detail-products-table tbody tr:last-child {\n  border-bottom: none;\n}\n\n.detail-products-table td {\n  padding: 0.75rem;\n  font-size: 0.875rem;\n  color: #495057;\n}\n\n.detail-products-table td.text-right {\n  text-align: right;\n  font-weight: 600;\n  color: #10b981;\n}\n\n.detail-totals {\n  background: white;\n  padding: 1.25rem;\n  border-radius: 0.375rem;\n}\n\n.total-row {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  padding: 0.5rem 0;\n  font-size: 0.875rem;\n  color: #495057;\n  border-bottom: 0.0625rem solid #f1f3f5;\n}\n\n.total-row:last-child {\n  border-bottom: none;\n}\n\n.total-row.total-final {\n  font-size: 1.125rem;\n  font-weight: 700;\n  color: #374151;\n  padding-top: 0.75rem;\n  margin-top: 0.5rem;\n  border-top: 0.125rem solid #e9ecef;\n}\n\n.total-row.total-final span:last-child {\n  color: #10b981;\n}\n\n.text-danger {\n  color: #dc2626 !important;\n}\n\n.detail-observaciones {\n  background: white;\n  padding: 0.75rem;\n  border-radius: 0.375rem;\n  margin: 0;\n  font-size: 0.875rem;\n  color: #495057;\n  line-height: 1.6;\n  white-space: pre-wrap;\n}\n\n.detail-actions {\n  display: flex;\n  justify-content: flex-end;\n  gap: 0.75rem;\n  padding-top: 0.75rem;\n  border-top: 0.0625rem solid #e9ecef;\n}\n\n/* Responsive */\n@media (max-width: 48rem) {\n  .sales-controls {\n    flex-direction: column;\n    align-items: stretch;\n  }\n\n  .search-filters {\n    max-width: 100%;\n  }\n\n  .controls-actions {\n    width: 100%;\n  }\n\n  .controls-actions button {\n    flex: 1;\n  }\n\n  .sales-table-container {\n    overflow-x: auto;\n  }\n\n  .sales-table {\n    min-width: 50rem;\n  }\n\n  .detail-grid {\n    grid-template-columns: 1fr;\n  }\n\n  .detail-actions {\n    flex-direction: column;\n  }\n\n  .detail-actions button {\n    width: 100%;\n  }\n}\n\n/* Modal de selección de ubicación de impresión */\n.print-location-modal {\n  display: flex;\n  flex-direction: column;\n  gap: 1.5rem;\n  padding: 1rem;\n}\n\n.print-location-text {\n  text-align: center;\n  font-size: 1rem;\n  color: #374151;\n  margin: 0;\n}\n\n.print-location-buttons {\n  display: flex;\n  gap: 1rem;\n  justify-content: center;\n}\n\n.print-location-btn {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 0.5rem;\n  padding: 1.5rem 2rem;\n  border: 2px solid #e5e7eb;\n  border-radius: 12px;\n  background: white;\n  cursor: pointer;\n  transition: all 0.2s;\n  min-width: 140px;\n}\n\n.print-location-btn:hover {\n  border-color: #667eea;\n  background: #f0f4ff;\n}\n\n.print-location-btn svg {\n  color: #667eea;\n}\n\n.print-location-btn span {\n  font-size: 1rem;\n  font-weight: 600;\n  color: #374151;\n}\n\n.print-location-btn small {\n  font-size: 0.75rem;\n  color: #9ca3af;\n}\n\n.print-location-btn.local:hover {\n  border-color: #10b981;\n  background: #ecfdf5;\n}\n\n.print-location-btn.local:hover svg {\n  color: #10b981;\n}\n\n.print-location-btn.almacen:hover {\n  border-color: #f59e0b;\n  background: #fffbeb;\n}\n\n.print-location-btn.almacen:hover svg {\n  color: #f59e0b;\n}\n\n/* Ajustes cuando hay pedidos pendientes */\n.sales-page.has-pending-orders {\n  padding-bottom: 6.875rem;\n  transition: padding-bottom 0.3s ease;\n}\n\n.sales-page.has-pending-orders .sales-table-container {\n  max-height: calc(100vh - 20rem);\n}\n","/* ProductsCatalogModal.css */\n\n.products-catalog-modal {\n    display: flex;\n    flex-direction: column;\n    gap: 20px;\n    padding: 20px;\n}\n\n/* Búsqueda */\n.pcm-search {\n    flex-shrink: 0;\n}\n\n/* Contenedor de tabla */\n.pcm-table-container {\n    height: 500px;\n    min-height: 500px;\n    overflow-y: auto;\n}\n\n/* Estados de carga y vacío */\n.pcm-loading,\n.pcm-empty {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    padding: 40px;\n    color: #6b7280;\n    font-size: 1.1rem;\n}\n\n.pcm-empty svg {\n    opacity: 0.5;\n    margin-bottom: 16px;\n}\n\n.pcm-spinner {\n    width: 36px;\n    height: 36px;\n    border: 3px solid #e5e7eb;\n    border-top: 3px solid #3b82f6;\n    border-radius: 50%;\n    animation: pcm-spin 1s linear infinite;\n    margin-bottom: 12px;\n}\n\n.pcm-spinner-small {\n    width: 28px;\n    height: 28px;\n    border: 3px solid #e5e7eb;\n    border-top: 3px solid #3b82f6;\n    border-radius: 50%;\n    animation: pcm-spin 1s linear infinite;\n    margin: 0 auto;\n}\n\n@keyframes pcm-spin {\n    0% { transform: rotate(0deg); }\n    100% { transform: rotate(360deg); }\n}\n\n/* Tabla */\n.pcm-table {\n    width: 100%;\n    min-width: 800px;\n    border-collapse: collapse;\n    font-size: 1.05rem;\n    table-layout: fixed;\n}\n\n.pcm-table thead {\n    position: sticky;\n    top: 0;\n    z-index: 10;\n}\n\n.pcm-table th {\n    background: #f9fafb;\n    padding: 12px 10px;\n    text-align: left;\n    font-weight: 600;\n    color: #374151;\n    border-bottom: 1px solid #e5e7eb;\n    font-size: 0.95rem;\n}\n\n.pcm-table td {\n    padding: 10px;\n    border-bottom: 1px solid #f3f4f6;\n    vertical-align: middle;\n}\n\n.pcm-table tbody tr {\n    cursor: pointer;\n    transition: background-color 0.15s ease;\n}\n\n.pcm-table tbody tr:hover {\n    background-color: #f9fafb;\n}\n\n.pcm-table tbody tr.selected {\n    background-color: #e0e7ff;\n}\n\n/* Columnas */\n.col-codigo {\n    width: 100px;\n    font-size: 1rem;\n    color: #6b7280;\n}\n\n.col-nombre {\n    width: 45%;\n    font-size: 1.1rem;\n    font-weight: 500;\n    white-space: normal;\n    word-break: break-word;\n}\n\n.col-unidad {\n    width: 70px;\n    font-size: 1rem;\n    color: #6b7280;\n}\n\n.col-precio {\n    width: 90px;\n    text-align: right;\n    font-weight: 600;\n    color: #667eea;\n    font-size: 1.1rem;\n}\n\n.col-stock {\n    width: 60px;\n    text-align: right;\n    font-weight: 500;\n    font-size: 1rem;\n}\n\n.col-stock.in-stock {\n    color: #16a34a;\n}\n\n.col-stock.no-stock {\n    color: #dc2626;\n}\n\n.col-accion {\n    width: 80px;\n    text-align: center;\n}\n\n/* Botón agregar */\n.pcm-add-btn {\n    background: #3b82f6;\n    color: white;\n    border: none;\n    padding: 6px 12px;\n    border-radius: 4px;\n    font-weight: 500;\n    font-size: 0.95rem;\n    cursor: pointer;\n    line-height: 1.4;\n    transition: background 0.15s;\n}\n\n.pcm-add-btn:hover {\n    background: #2563eb;\n}\n\n/* Loading más */\n.pcm-loading-more {\n    padding: 16px;\n    text-align: center;\n    font-size: 1rem;\n}\n\n/* Fin de lista */\n.pcm-end {\n    text-align: center;\n    padding: 12px;\n    color: #9ca3af;\n    font-size: 1rem;\n}\n\n/* Footer */\n.pcm-footer {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    border-top: 1px solid #e5e7eb;\n    padding-top: 12px;\n    font-size: 1.05rem;\n    color: #6b7280;\n}\n\n.pcm-hint {\n    font-size: 0.95rem;\n    color: #9ca3af;\n}\n\n/* Atajos de teclado */\n.pcm-shortcuts {\n    text-align: center;\n    font-size: 0.9rem;\n    color: #9ca3af;\n    border-top: 1px solid #e5e7eb;\n    padding-top: 10px;\n}\n\n.pcm-shortcuts kbd {\n    display: inline-block;\n    padding: 3px 6px;\n    font-size: 0.85rem;\n    font-family: inherit;\n    background: #f3f4f6;\n    border: 1px solid #d1d5db;\n    border-radius: 3px;\n    margin: 0 3px;\n}\n",".inventory-page {\n  padding: 1.5rem;\n  height: 100%;\n  background: #f9fafb;\n}\n\n.inventory-header {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  margin-bottom: 1.5rem;\n}\n\n.header-left {\n  display: flex;\n  align-items: center;\n  gap: 0.75rem;\n}\n\n.header-left h2 {\n  margin: 0;\n  font-size: 1.5rem;\n  color: #1f2937;\n}\n\n.inventory-filters {\n  margin-bottom: 1.5rem;\n}\n\n.search-container {\n  position: relative;\n  max-width: 25rem;\n}\n\n.search-icon {\n  position: absolute;\n  left: 0.75rem;\n  top: 50%;\n  transform: translateY(-50%);\n  color: #6b7280;\n}\n\n.search-input {\n  width: 100%;\n  padding: 0.75rem 0.75rem 0.75rem 2.5rem;\n  border: 0.0625rem solid #d1d5db;\n  border-radius: 0.5rem;\n  font-size: 0.875rem;\n  background: white;\n}\n\n.search-input:focus {\n  outline: none;\n  border-color: #3b82f6;\n  box-shadow: 0 0 0 0.1875rem rgba(59, 130, 246, 0.1);\n}\n\n.inventory-content {\n  display: flex;\n  flex-direction: column;\n  gap: 1.5rem;\n}\n\n.stats-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(12.5rem, 1fr));\n  gap: 1rem;\n}\n\n.stat-card {\n  background: white;\n  padding: 1.5rem;\n  border-radius: 0.5rem;\n  box-shadow: 0 0.0625rem 0.1875rem 0 rgba(0, 0, 0, 0.1);\n}\n\n.stat-card h3 {\n  margin: 0 0 0.5rem 0;\n  font-size: 0.875rem;\n  color: #6b7280;\n  font-weight: 500;\n}\n\n.stat-number {\n  margin: 0;\n  font-size: 2rem;\n  font-weight: 700;\n  color: #1f2937;\n}\n\n.stat-number.danger {\n  color: #ef4444;\n}\n\n.products-table-container {\n  background: white;\n  border-radius: 0.5rem;\n  box-shadow: 0 0.0625rem 0.1875rem 0 rgba(0, 0, 0, 0.1);\n  overflow: hidden;\n}\n\n.products-table {\n  width: 100%;\n  border-collapse: collapse;\n}\n\n.products-table th {\n  background: #f9fafb;\n  padding: 0.75rem 1rem;\n  text-align: left;\n  font-weight: 600;\n  color: #374151;\n  border-bottom: 0.0625rem solid #e5e7eb;\n  font-size: 0.875rem;\n}\n\n.products-table td {\n  padding: 1rem;\n  border-bottom: 0.0625rem solid #f3f4f6;\n  font-size: 0.875rem;\n}\n\n.products-table tr:hover {\n  background: #f9fafb;\n}\n\n.product-name {\n  font-weight: 500;\n  color: #1f2937;\n}\n\n.barcode {\n  font-family: 'Courier New', monospace;\n  color: #6b7280;\n}\n\n.category-badge {\n  display: inline-block;\n  padding: 0.25rem 0.5rem;\n  background: #dbeafe;\n  color: #1e40af;\n  border-radius: 0.25rem;\n  font-size: 0.75rem;\n  font-weight: 500;\n}\n\n.price, .total {\n  font-weight: 600;\n  color: #059669;\n  text-align: right;\n}\n\n.stock-badge {\n  text-align: right;\n}\n\n.stock-badge {\n  display: inline-block;\n  padding: 0.25rem 0.5rem;\n  border-radius: 0.25rem;\n  font-size: 0.75rem;\n  font-weight: 600;\n}\n\n.stock-badge.high {\n  background: #d1fae5;\n  color: #065f46;\n}\n\n.stock-badge.medium {\n  background: #fef3c7;\n  color: #92400e;\n}\n\n.stock-badge.low {\n  background: #fee2e2;\n  color: #991b1b;\n}\n\n.actions {\n  display: flex;\n  gap: 0.5rem;\n  justify-content: center;\n}\n\n.action-btn {\n  padding: 0.375rem;\n  border: none;\n  border-radius: 0.25rem;\n  cursor: pointer;\n  transition: all 0.2s;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.action-btn.edit {\n  background: #dbeafe;\n  color: #1e40af;\n}\n\n.action-btn.edit:hover {\n  background: #bfdbfe;\n}\n\n.action-btn.delete {\n  background: #fee2e2;\n  color: #991b1b;\n}\n\n.action-btn.delete:hover {\n  background: #fecaca;\n}\n","/* Estilos para ProductForm */\n.product-form {\n    display: flex;\n    flex-direction: column;\n    gap: 0.75rem;\n    max-height: 80vh;\n    overflow-y: auto;\n    padding-right: 0.25rem;\n}\n\n.form-section {\n    background-color: #ffffff;\n    border: 0.0625rem solid #e5e7eb;\n    border-radius: 0.5rem;\n    padding: 0.75rem;\n}\n\n.section-title {\n    display: flex;\n    align-items: center;\n    gap: 0.375rem;\n    margin: 0 0 0.75rem 0;\n    font-size: 0.875rem;\n    font-weight: 600;\n    color: #374151;\n}\n\n.form-row {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 0.75rem;\n    margin-bottom: 0.75rem;\n}\n\n.form-row:last-child {\n    margin-bottom: 0;\n}\n\n.form-group {\n    display: flex;\n    flex-direction: column;\n}\n\n.form-label {\n    display: flex;\n    align-items: center;\n    gap: 0.25rem;\n    margin-bottom: 0.25rem;\n    font-size: 0.75rem;\n    font-weight: 500;\n    color: #374151;\n}\n\n.form-select {\n    min-height: 2.5rem;\n    height: auto;\n    padding: 0.5rem 0.75rem;\n    border: 0.0625rem solid #d1d5db;\n    border-radius: 0.25rem;\n    font-size: 0.875rem;\n    background-color: white;\n    transition: border-color 0.2s;\n    line-height: 1.5;\n    box-sizing: border-box;\n    display: block;\n    vertical-align: middle;\n}\n\n.form-select:focus {\n    outline: none;\n    border-color: #3b82f6;\n    box-shadow: 0 0 0 0.0625rem #3b82f6;\n}\n\n.form-select.error {\n    border-color: #ef4444;\n}\n\n/* Inputs dentro de ProductForm */\n.product-form .input-field {\n    min-height: 2.5rem !important;\n    height: auto !important;\n    padding: 0.5rem 0.75rem !important;\n    font-size: 0.875rem !important;\n    line-height: 1.5 !important;\n    box-sizing: border-box !important;\n}\n\n.product-form .input-wrapper {\n    min-height: 2.5rem !important;\n    height: auto !important;\n    display: flex !important;\n    align-items: center !important;\n}\n\n.product-form .input-with-icon {\n    padding-left: 2.5rem !important;\n}\n\n.error-message {\n    color: #ef4444;\n    font-size: 0.7rem;\n    margin-top: 0.125rem;\n}\n\n.checkbox-label {\n    display: flex;\n    align-items: center;\n    gap: 0.375rem;\n    cursor: pointer;\n}\n\n.checkbox-label:has(input[type=\"checkbox\"]:disabled) {\n    cursor: not-allowed;\n    opacity: 0.6;\n}\n\n/* Precio 1 siempre está activo, no mostrar como deshabilitado */\n.price-row:first-child .checkbox-label:has(input[type=\"checkbox\"]:disabled) {\n    cursor: default;\n    opacity: 1;\n}\n\n.price-row .checkbox-label {\n    flex-shrink: 0;\n    margin-right: 0.5rem;\n}\n\n.price-row .checkbox-label input[type=\"checkbox\"] {\n    margin: 0;\n    transform: scale(0.9);\n}\n\n.checkbox-text {\n    font-size: 0.75rem;\n    color: #374151;\n}\n\n.checkbox-hint {\n    display: block;\n    font-size: 0.7rem;\n    color: #6b7280;\n    font-weight: 400;\n    margin-top: 0.125rem;\n}\n\n.es-base-toggle {\n    padding: 0.5rem 0.75rem;\n    background-color: #f0f9ff;\n    border: 1px solid #bae6fd;\n    border-radius: 0.375rem;\n}\n\n.es-base-toggle input[type=\"checkbox\"] {\n    width: 1rem;\n    height: 1rem;\n    margin-right: 0.5rem;\n}\n\n/* Layout de 3 columnas */\n.form-row-3 {\n    display: grid;\n    grid-template-columns: 1fr 1fr 1fr;\n    gap: 0.75rem;\n    margin-bottom: 0.75rem;\n}\n\n.form-row-3:last-child {\n    margin-bottom: 0;\n}\n\n.margin-info {\n    padding: 0.375rem;\n    background-color: #f9fafb;\n    border-radius: 0.25rem;\n    margin-top: 0.25rem;\n}\n\n.margin-label {\n    color: #6b7280;\n    margin-right: 0.375rem;\n}\n\n/* Estilos para la configuración de rangos */\n.price-ranges-config {\n    margin-top: 0.375rem;\n}\n\n.ranges-rows {\n    display: flex;\n    flex-direction: column;\n    gap: 0.375rem;\n}\n\n.price-row {\n    display: flex;\n    align-items: center;\n    gap: 0.75rem;\n    padding: 0.5rem;\n    border: 0.0625rem solid #e5e7eb;\n    border-radius: 0.375rem;\n    background-color: #f9fafb;\n}\n\n.range-badge {\n    display: inline-block;\n    padding: 0.125rem 0.375rem;\n    border-radius: 9999px;\n    color: white;\n    font-size: 0.65rem;\n    font-weight: 600;\n    text-transform: uppercase;\n    letter-spacing: 0.05em;\n    min-width: 3.125rem;\n    text-align: center;\n    flex-shrink: 0;\n}\n\n.price-row > *:not(.range-badge) {\n    flex: 1;\n}\n\n.ranges-placeholder {\n    text-align: center;\n    padding: 0.75rem;\n    color: #6b7280;\n}\n\n.ranges-info {\n    font-size: 0.7rem;\n}\n\n.ranges-info p {\n    margin: 0 0 0.25rem 0;\n}\n\n.ranges-info ul {\n    margin: 0;\n    padding-left: 0.75rem;\n}\n\n.ranges-info li {\n    margin-bottom: 0.125rem;\n}\n\n.form-actions {\n    display: flex;\n    justify-content: flex-end;\n    align-items: center;\n    gap: 0.375rem;\n    padding: 0.5rem;\n    background-color: #f9fafb;\n    border-top: 0.0625rem solid #e5e7eb;\n    margin: 0.5rem -0.75rem -0.75rem -0.75rem;\n    border-radius: 0 0 0.5rem 0.5rem;\n}\n\n.form-actions:has(.form-actions-left) {\n    justify-content: space-between;\n}\n\n.form-actions-left {\n    display: flex;\n    align-items: center;\n}\n\n.form-actions-right {\n    display: flex;\n    gap: 0.375rem;\n}\n\n/* Toggle Switch en Form */\n.toggle-switch-form {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    cursor: pointer;\n    user-select: none;\n}\n\n.toggle-switch-form input[type=\"checkbox\"] {\n    display: none;\n}\n\n.toggle-slider-form {\n    position: relative;\n    width: 2.625rem;\n    height: 1.375rem;\n    background-color: #cbd5e1;\n    border-radius: 0.6875rem;\n    transition: background-color 0.3s;\n}\n\n.toggle-slider-form::before {\n    content: '';\n    position: absolute;\n    width: 1.125rem;\n    height: 1.125rem;\n    border-radius: 50%;\n    background-color: white;\n    top: 0.125rem;\n    left: 0.125rem;\n    transition: transform 0.3s;\n    box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.2);\n}\n\n.toggle-switch-form input[type=\"checkbox\"]:checked + .toggle-slider-form {\n    background-color: #10b981;\n}\n\n.toggle-switch-form input[type=\"checkbox\"]:checked + .toggle-slider-form::before {\n    transform: translateX(1.25rem);\n}\n\n.toggle-label {\n    font-size: 0.813rem;\n    font-weight: 500;\n    color: #374151;\n}\n\n/* Responsive */\n@media (max-width: 48rem) {\n    .form-row {\n        grid-template-columns: 1fr;\n    }\n\n    .price-row {\n        flex-direction: column;\n        align-items: stretch;\n        gap: 0.5rem;\n    }\n\n    .range-badge {\n        min-width: auto;\n        text-align: center;\n    }\n\n    .price-row > *:not(.range-badge) {\n        flex: none;\n    }\n\n    .form-actions {\n        flex-direction: column;\n        gap: 0.5rem;\n        align-items: stretch;\n    }\n\n    .form-actions-left {\n        justify-content: center;\n    }\n\n    .form-actions-right {\n        flex-direction: column;\n        gap: 0.375rem;\n    }\n\n    .margin-info {\n        flex-direction: column;\n        gap: 0.375rem;\n    }\n}\n\n/* Estilos para Equivalencias */\n.section-header-with-toggle {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    margin-bottom: 0.75rem;\n}\n\n.section-header-with-toggle .section-title {\n    margin: 0;\n}\n\n.equivalencias-container {\n    display: flex;\n    flex-direction: column;\n    gap: 0.75rem;\n}\n\n.equivalencias-help {\n    font-size: 0.75rem;\n    color: #6b7280;\n    margin: 0;\n    padding: 0.5rem;\n    background-color: #f3f4f6;\n    border-radius: 0.375rem;\n    border-left: 0.1875rem solid #3b82f6;\n}\n\n.equivalencia-search {\n    position: relative;\n}\n\n.productos-search-results {\n    position: absolute;\n    top: 100%;\n    left: 0;\n    right: 0;\n    background: white;\n    border: 0.0625rem solid #e5e7eb;\n    border-radius: 0.375rem;\n    box-shadow: 0 0.25rem 0.375rem -0.0625rem rgba(0, 0, 0, 0.1);\n    max-height: 12.5rem;\n    overflow-y: auto;\n    z-index: 1000;\n    margin-top: 0.25rem;\n}\n\n.producto-search-item {\n    padding: 0.5rem 0.75rem;\n    cursor: pointer;\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    border-bottom: 0.0625rem solid #f3f4f6;\n}\n\n.producto-search-item:hover {\n    background-color: #f9fafb;\n}\n\n.producto-search-item:last-child {\n    border-bottom: none;\n}\n\n.producto-search-info {\n    display: flex;\n    flex-direction: column;\n    gap: 0.125rem;\n}\n\n.producto-search-nombre {\n    font-size: 0.813rem;\n    font-weight: 500;\n    color: #374151;\n}\n\n.producto-search-codigo {\n    font-size: 0.75rem;\n    color: #6b7280;\n}\n\n.producto-search-stock {\n    font-size: 0.75rem;\n    color: #6b7280;\n}\n\n.equivalencias-list {\n    display: flex;\n    flex-direction: column;\n    gap: 0.5rem;\n}\n\n.equivalencias-table {\n    width: 100%;\n    border-collapse: collapse;\n    font-size: 0.813rem;\n}\n\n.equivalencias-table thead {\n    background-color: #f9fafb;\n}\n\n.equivalencias-table th {\n    padding: 0.5rem;\n    text-align: left;\n    font-weight: 600;\n    color: #374151;\n    border-bottom: 0.125rem solid #e5e7eb;\n    font-size: 0.75rem;\n}\n\n.equivalencias-table td {\n    padding: 0.5rem;\n    border-bottom: 0.0625rem solid #f3f4f6;\n}\n\n.equivalencias-table tbody tr:last-child td {\n    border-bottom: none;\n}\n\n.equiv-codigo {\n    font-size: 0.75rem;\n    color: #6b7280;\n    font-family: monospace;\n}\n\n.equiv-unidad {\n    font-size: 0.75rem;\n    color: #374151;\n    font-weight: 500;\n}\n\n.equivalencias-summary {\n    padding: 0.5rem 0.75rem;\n    background-color: #f9fafb;\n    border-radius: 0.375rem;\n    font-size: 0.75rem;\n    color: #374151;\n}\n\n.equivalencias-empty {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    padding: 2rem 1rem;\n    gap: 0.5rem;\n    color: #9ca3af;\n}\n\n.equivalencias-empty p {\n    margin: 0;\n    font-size: 0.813rem;\n}\n\n.equivalencias-empty .text-muted {\n    font-size: 0.75rem;\n    color: #d1d5db;\n}\n\n.action-btn-compact.danger {\n    color: #dc2626;\n}\n\n.action-btn-compact.danger:hover {\n    background-color: #fee2e2;\n    color: #991b1b;\n}\n\n/* Descuentos por Volumen */\n.descuentos-container {\n    display: flex;\n    flex-direction: column;\n    gap: 0.75rem;\n}\n\n.descuentos-description {\n    font-size: 0.813rem;\n    color: #6b7280;\n    margin: 0;\n    padding: 0.5rem 0.75rem;\n    background-color: #f0f9ff;\n    border-radius: 0.375rem;\n    border-left: 0.1875rem solid #0284c7;\n}\n\n.descuentos-list {\n    display: flex;\n    flex-direction: column;\n    gap: 0.5rem;\n}\n\n.descuentos-table {\n    width: 100%;\n    border-collapse: collapse;\n    font-size: 0.813rem;\n}\n\n.descuentos-table thead {\n    background-color: #f9fafb;\n}\n\n.descuentos-table th {\n    padding: 0.5rem;\n    text-align: left;\n    font-weight: 600;\n    color: #374151;\n    border-bottom: 0.125rem solid #e5e7eb;\n    font-size: 0.75rem;\n}\n\n.descuentos-table td {\n    padding: 0.5rem;\n    border-bottom: 0.0625rem solid #f3f4f6;\n    vertical-align: middle;\n}\n\n.descuentos-table tbody tr:last-child td {\n    border-bottom: none;\n}\n\n.precio-preview {\n    font-size: 0.875rem;\n    font-weight: 600;\n    color: #16a34a;\n    background-color: #f0fdf4;\n    padding: 0.375rem 0.75rem;\n    border-radius: 0.375rem;\n    display: inline-block;\n}\n\n.descuentos-empty {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    padding: 2rem 1rem;\n    gap: 0.5rem;\n    color: #9ca3af;\n    margin-top: 0.5rem;\n}\n\n.descuentos-empty p {\n    margin: 0;\n    font-size: 0.813rem;\n}\n\n.descuentos-empty .text-muted {\n    font-size: 0.75rem;\n    color: #d1d5db;\n}\n\n/* Tabs de navegación del formulario */\n.product-form-tabs {\n    display: flex;\n    gap: 0.25rem;\n    padding: 0.5rem;\n    background-color: #f3f4f6;\n    border-radius: 0.5rem;\n    margin-bottom: 0.75rem;\n    flex-wrap: wrap;\n}\n\n.product-form-tab {\n    display: flex;\n    align-items: center;\n    gap: 0.375rem;\n    padding: 0.5rem 0.875rem;\n    border: none;\n    background-color: transparent;\n    color: #6b7280;\n    font-size: 0.813rem;\n    font-weight: 500;\n    cursor: pointer;\n    border-radius: 0.375rem;\n    transition: all 0.2s ease;\n}\n\n.product-form-tab:hover {\n    background-color: #e5e7eb;\n    color: #374151;\n}\n\n.product-form-tab.active {\n    background-color: white;\n    color: #2563eb;\n    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n}\n\n.product-form-tab svg {\n    flex-shrink: 0;\n}\n\n.product-form-tab-content {\n    display: flex;\n    flex-direction: column;\n    gap: 0.75rem;\n}\n\n/* Hint para campos de formulario */\n.field-hint {\n    font-size: 0.7rem;\n    color: #6b7280;\n    margin-top: 0.25rem;\n    display: block;\n}\n\n/* Responsive para tabs */\n@media (max-width: 48rem) {\n    .product-form-tabs {\n        gap: 0.375rem;\n    }\n\n    .product-form-tab {\n        padding: 0.375rem 0.625rem;\n        font-size: 0.75rem;\n    }\n\n    .product-form-tab span {\n        display: none;\n    }\n\n    .product-form-tab svg {\n        width: 18px;\n        height: 18px;\n    }\n}\n\n/* Estilos para react-select */\n.react-select-error .css-13cymwt-control,\n.react-select-error .css-t3ipsp-control {\n    border-color: #ef4444 !important;\n}\n\n.react-select-error .css-13cymwt-control:hover,\n.react-select-error .css-t3ipsp-control:hover {\n    border-color: #ef4444 !important;\n}\n\n/* Estilos para equivalencias */\n\n/* Estilos básicos para secciones de equivalentes */\n.equiv-form-section {\n    margin-bottom: 1.5rem;\n    padding: 1.25rem;\n    background-color: #f9fafb;\n    border-radius: 0.5rem;\n    border: 1px solid #e5e7eb;\n}\n\n.equiv-form-section:last-of-type {\n    margin-bottom: 0;\n}\n\n/* Información del producto base */\n.equiv-info-producto {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    padding: 0.75rem 1rem;\n    background-color: #eff6ff;\n    border: 1px solid #bfdbfe;\n    border-radius: 0.5rem;\n    margin-bottom: 1rem;\n}\n\n.equiv-info-label {\n    font-size: 0.875rem;\n    color: #6b7280;\n}\n\n.equiv-info-nombre {\n    font-size: 1rem;\n    font-weight: 600;\n    color: #1e40af;\n}\n\n.equiv-info-unidad {\n    font-size: 0.875rem;\n    color: #3b82f6;\n}\n\n.equiv-help-text {\n    font-size: 0.875rem;\n    color: #6b7280;\n    margin: 0 0 1rem 0;\n    padding: 0.75rem;\n    background-color: #fefce8;\n    border-left: 3px solid #eab308;\n    border-radius: 0.25rem;\n}\n\n/* Contenedor de la tabla de equivalentes */\n.equiv-tabla-container {\n    overflow-x: auto;\n    border: 1px solid #e5e7eb;\n    border-radius: 0.5rem;\n    background-color: white;\n}\n\n.equiv-tabla {\n    width: 100%;\n    border-collapse: collapse;\n    font-size: 0.813rem;\n    min-width: 1200px;\n}\n\n.equiv-tabla thead {\n    background-color: #f8fafc;\n    position: sticky;\n    top: 0;\n    z-index: 10;\n}\n\n.equiv-tabla th {\n    padding: 0.75rem 0.5rem;\n    text-align: center;\n    font-weight: 600;\n    color: #374151;\n    border-bottom: 2px solid #e5e7eb;\n    font-size: 0.75rem;\n    white-space: nowrap;\n}\n\n.equiv-tabla td {\n    padding: 0.5rem 0.375rem;\n    border-bottom: 1px solid #f3f4f6;\n    vertical-align: middle;\n}\n\n.equiv-tabla .col-check {\n    width: 40px;\n    text-align: center;\n}\n\n.equiv-tabla .col-unidad {\n    width: 100px;\n    text-align: left;\n    padding-left: 0.75rem;\n}\n\n.equiv-tabla .col-numero {\n    width: 85px;\n}\n\n.equiv-tabla .col-codigo {\n    width: 150px;\n}\n\n/* Checkbox de la tabla */\n.equiv-checkbox {\n    width: 18px;\n    height: 18px;\n    cursor: pointer;\n    accent-color: #22c55e;\n}\n\n/* Inputs de la tabla */\n.equiv-input {\n    width: 100%;\n    padding: 0.375rem 0.5rem;\n    border: 1px solid #d1d5db;\n    border-radius: 0.25rem;\n    font-size: 0.813rem;\n    text-align: right;\n    background-color: white;\n    transition: all 0.2s;\n}\n\n.equiv-input:focus {\n    outline: none;\n    border-color: #3b82f6;\n    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);\n}\n\n.equiv-input:disabled {\n    background-color: #f3f4f6;\n    color: #9ca3af;\n    cursor: not-allowed;\n}\n\n.equiv-input.required:not(:disabled) {\n    border-color: #fbbf24;\n}\n\n.equiv-input.codigo {\n    text-align: left;\n}\n\n/* Filas de la tabla */\n.equiv-tabla tbody tr.row-activo {\n    background-color: #f0fdf4;\n}\n\n.equiv-tabla tbody tr.row-activo:hover {\n    background-color: #dcfce7;\n}\n\n.equiv-tabla tbody tr.row-inactivo {\n    background-color: #fafafa;\n}\n\n.equiv-tabla tbody tr.row-inactivo:hover {\n    background-color: #f5f5f5;\n}\n\n.unidad-activa {\n    font-weight: 600;\n    color: #15803d;\n}\n\n/* Resumen de equivalentes */\n.equiv-resumen {\n    display: flex;\n    justify-content: flex-end;\n    padding: 0.75rem 0;\n    margin-top: 1rem;\n}\n\n.equiv-resumen-texto {\n    font-size: 0.875rem;\n    color: #374151;\n    padding: 0.5rem 1rem;\n    background-color: #f0fdf4;\n    border-radius: 0.375rem;\n    border: 1px solid #86efac;\n}\n\n.equiv-resumen-texto strong {\n    color: #15803d;\n    font-size: 1rem;\n}\n\n.equiv-resumen-texto.equiv-por-crear {\n    background-color: #fef3c7;\n    color: #92400e;\n}\n\n.equiv-resumen-texto.equiv-por-crear strong {\n    color: #b45309;\n}\n\n/* Filas de equivalentes existentes */\n.equiv-tabla tbody tr.row-existente {\n    background-color: #ecfdf5;\n    border-left: 3px solid #10b981;\n}\n\n.equiv-tabla tbody tr.row-existente:hover {\n    background-color: #d1fae5;\n}\n\n/* Badge de \"Creado\" */\n.equiv-badge-creado {\n    display: inline-block;\n    padding: 0.125rem 0.5rem;\n    background-color: #10b981;\n    color: white;\n    font-size: 0.65rem;\n    font-weight: 600;\n    border-radius: 9999px;\n    text-transform: uppercase;\n    letter-spacing: 0.025em;\n}\n\n/* Footer con acciones */\n.equiv-footer-actions {\n    display: flex;\n    align-items: center;\n    justify-content: flex-end;\n    gap: 1rem;\n    margin-top: 1rem;\n    padding: 1rem;\n    background-color: #f9fafb;\n    border-radius: 0.5rem;\n    border: 1px solid #e5e7eb;\n}\n\n/* Columnas adicionales para tabla de equivalencias existentes */\n.equiv-tabla .col-unidad-wide {\n    width: 180px;\n    text-align: left;\n    padding-left: 0.75rem;\n}\n\n.equiv-tabla .col-acciones {\n    width: 60px;\n    text-align: center;\n}\n\n.equiv-unidad-info {\n    display: flex;\n    flex-direction: column;\n    gap: 0.125rem;\n}\n\n.equiv-unidad-info .unidad-activa {\n    font-weight: 600;\n    color: #15803d;\n    font-size: 0.813rem;\n}\n\n.equiv-unidad-info .unidad-codigo {\n    font-size: 0.7rem;\n    color: #6b7280;\n    font-family: monospace;\n}\n\n.equiv-valor {\n    font-size: 0.813rem;\n    color: #374151;\n    font-family: monospace;\n}\n\n.equiv-valor-existente {\n    font-size: 0.813rem;\n    color: #059669;\n    font-family: monospace;\n    font-weight: 500;\n}\n\n.equiv-codigo-valor {\n    font-size: 0.75rem;\n    color: #6b7280;\n    font-family: monospace;\n}\n\n/* Ajustar tabla para pantalla principal (más compacta) */\n.equivalencias-list .equiv-tabla-container {\n    max-height: 300px;\n    overflow-y: auto;\n}\n\n.equivalencias-list .equiv-tabla {\n    min-width: 1000px;\n}\n\n.equivalencias-list .equiv-resumen {\n    margin-top: 0.75rem;\n    justify-content: flex-start;\n}\n\n/* Estilos para equivalencias en pantalla completa */\n.equivalencias-fullscreen {\n    display: flex;\n    flex-direction: column;\n    height: 100%;\n    min-height: 0;\n}\n\n.equivalencias-container-fullscreen {\n    display: flex;\n    flex-direction: column;\n    gap: 1.5rem;\n    flex: 1;\n    min-height: 0;\n    overflow-y: auto;\n}\n\n\n/* Ajustar el formulario para pantalla completa */\n.modal-fullscreen .product-form {\n    max-height: none;\n    height: 100%;\n    display: flex;\n    flex-direction: column;\n}\n\n.modal-fullscreen .product-form-tab-content {\n    flex: 1;\n    min-height: 0;\n    overflow-y: auto;\n}\n\n.modal-fullscreen .form-section {\n    height: 100%;\n    display: flex;\n    flex-direction: column;\n}\n\n.modal-fullscreen .equivalencias-fullscreen .equiv-tabla-container {\n    max-height: none;\n}\n\n/* Responsive para equivalencias */\n@media (max-width: 48rem) {\n    .equiv-info-producto {\n        flex-wrap: wrap;\n    }\n\n    .equiv-crear-actions {\n        flex-direction: column;\n        gap: 0.75rem;\n        align-items: stretch;\n    }\n\n    .equiv-crear-actions .equiv-resumen-texto {\n        text-align: center;\n    }\n}\n","/* Import Products Modal */\n.import-products-modal {\n  display: flex;\n  flex-direction: column;\n  gap: 1.5rem;\n  min-height: 25rem;\n}\n\n.import-step {\n  display: flex;\n  flex-direction: column;\n  gap: 1.5rem;\n}\n\n/* Header */\n.import-header {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 0.75rem;\n  text-align: center;\n  padding: 1.25rem;\n}\n\n.import-header svg {\n  color: #667eea;\n}\n\n.import-header h3 {\n  margin: 0;\n  font-size: 1.5rem;\n  font-weight: 600;\n  color: #374151;\n}\n\n.import-header p {\n  margin: 0;\n  font-size: 0.875rem;\n  color: #6b7280;\n}\n\n/* Actions */\n.import-actions {\n  display: flex;\n  gap: 1rem;\n  justify-content: center;\n  flex-wrap: wrap;\n}\n\n.file-input-container {\n  position: relative;\n}\n\n.file-input {\n  position: absolute;\n  opacity: 0;\n  width: 0;\n  height: 0;\n}\n\n.file-input-label {\n  display: inline-flex;\n  align-items: center;\n  gap: 0.5rem;\n  padding: 0.625rem 1.25rem;\n  background: #667eea;\n  color: white;\n  border-radius: 0.5rem;\n  font-size: 0.875rem;\n  font-weight: 500;\n  cursor: pointer;\n  transition: all 0.2s;\n  border: none;\n}\n\n.file-input-label:hover {\n  background: #5568d3;\n  transform: translateY(-0.0625rem);\n  box-shadow: 0 0.25rem 0.75rem rgba(102, 126, 234, 0.3);\n}\n\n/* Instructions */\n.import-instructions {\n  background: #f8f9fa;\n  padding: 1.25rem;\n  border-radius: 0.5rem;\n  border: 0.0625rem solid #e9ecef;\n}\n\n.import-instructions h4 {\n  margin: 0 0 0.75rem 0;\n  font-size: 1rem;\n  font-weight: 600;\n  color: #374151;\n}\n\n.import-instructions ul {\n  margin: 0;\n  padding-left: 1.5rem;\n}\n\n.import-instructions li {\n  margin-bottom: 0.5rem;\n  font-size: 0.875rem;\n  color: #495057;\n  line-height: 1.6;\n}\n\n.import-instructions strong {\n  color: #667eea;\n  font-weight: 600;\n}\n\n/* Summary Cards */\n.import-summary {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(12.5rem, 1fr));\n  gap: 1rem;\n}\n\n.summary-card {\n  display: flex;\n  align-items: center;\n  gap: 1rem;\n  padding: 1.25rem;\n  border-radius: 0.5rem;\n  border: 0.125rem solid;\n}\n\n.summary-card.valid {\n  background: #d1fae5;\n  border-color: #6ee7b7;\n  color: #065f46;\n}\n\n.summary-card.invalid {\n  background: #fee2e2;\n  border-color: #fca5a5;\n  color: #991b1b;\n}\n\n.summary-card svg {\n  flex-shrink: 0;\n}\n\n.summary-count {\n  display: block;\n  font-size: 2rem;\n  font-weight: 700;\n  line-height: 1;\n}\n\n.summary-label {\n  display: block;\n  font-size: 0.875rem;\n  font-weight: 500;\n  margin-top: 0.25rem;\n}\n\n/* Preview Table */\n.import-preview {\n  max-height: 25rem;\n  overflow: auto;\n  border: 0.0625rem solid #e9ecef;\n  border-radius: 0.5rem;\n}\n\n.preview-table {\n  width: 100%;\n  border-collapse: collapse;\n  font-size: 0.8125rem;\n}\n\n.preview-table thead {\n  background: #f8f9fa;\n  position: sticky;\n  top: 0;\n  z-index: 10;\n}\n\n.preview-table th {\n  padding: 0.75rem;\n  text-align: left;\n  font-weight: 600;\n  color: #495057;\n  border-bottom: 0.125rem solid #dee2e6;\n  white-space: nowrap;\n}\n\n.preview-table tbody tr {\n  border-bottom: 0.0625rem solid #f1f3f5;\n}\n\n.preview-table tbody tr.valid-row {\n  background: white;\n}\n\n.preview-table tbody tr.invalid-row {\n  background: #fff5f5;\n}\n\n.preview-table td {\n  padding: 0.75rem;\n  color: #495057;\n}\n\n.status-valid,\n.status-invalid {\n  display: inline-flex;\n  align-items: center;\n  gap: 0.25rem;\n  padding: 0.25rem 0.5rem;\n  border-radius: 0.375rem;\n  font-size: 0.75rem;\n  font-weight: 500;\n}\n\n.status-valid {\n  background: #d1fae5;\n  color: #065f46;\n}\n\n.status-invalid {\n  background: #fee2e2;\n  color: #991b1b;\n}\n\n/* Footer */\n.import-footer {\n  display: flex;\n  justify-content: flex-end;\n  gap: 0.75rem;\n  padding-top: 1rem;\n  border-top: 0.0625rem solid #e9ecef;\n}\n\n/* Importing State */\n.import-step.importing {\n  align-items: center;\n  justify-content: center;\n  min-height: 18.75rem;\n  text-align: center;\n}\n\n.loading-spinner {\n  width: 3rem;\n  height: 3rem;\n  border: 0.25rem solid #f3f4f6;\n  border-top-color: #667eea;\n  border-radius: 50%;\n  animation: spin 0.8s linear infinite;\n}\n\n@keyframes spin {\n  to {\n    transform: rotate(360deg);\n  }\n}\n\n/* Complete State */\n.import-step.complete {\n  align-items: center;\n  text-align: center;\n  padding: 2.5rem 1.25rem;\n}\n\n.success-icon {\n  color: #10b981;\n  margin-bottom: 1rem;\n}\n\n.import-step.complete h3 {\n  margin: 0 0 1.5rem 0;\n  font-size: 1.5rem;\n  font-weight: 600;\n  color: #374151;\n}\n\n/* Result Summary */\n.result-summary {\n  display: flex;\n  flex-direction: column;\n  gap: 0.75rem;\n  width: 100%;\n  max-width: 25rem;\n  margin-bottom: 1.5rem;\n}\n\n.result-item {\n  display: flex;\n  justify-content: space-between;\n  padding: 0.75rem 1rem;\n  background: #f8f9fa;\n  border-radius: 0.375rem;\n  border: 0.0625rem solid #e9ecef;\n}\n\n.result-item.success {\n  background: #d1fae5;\n  border-color: #6ee7b7;\n  color: #065f46;\n}\n\n.result-item.error {\n  background: #fee2e2;\n  border-color: #fca5a5;\n  color: #991b1b;\n}\n\n.result-label {\n  font-size: 0.875rem;\n  font-weight: 500;\n}\n\n.result-value {\n  font-size: 1.125rem;\n  font-weight: 700;\n}\n\n/* Errors Banner */\n.import-errors-banner {\n  display: flex;\n  align-items: flex-start;\n  gap: 0.75rem;\n  padding: 0.75rem 1rem;\n  background: #fee2e2;\n  border: 0.0625rem solid #fca5a5;\n  border-radius: 0.5rem;\n  color: #991b1b;\n}\n\n.import-errors-banner svg {\n  flex-shrink: 0;\n  margin-top: 0.125rem;\n}\n\n.import-errors-banner p {\n  margin: 0;\n  font-size: 0.875rem;\n  line-height: 1.5;\n  flex: 1;\n}\n\n.close-errors {\n  background: none;\n  border: none;\n  color: #991b1b;\n  cursor: pointer;\n  padding: 0;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  flex-shrink: 0;\n}\n\n.close-errors:hover {\n  opacity: 0.7;\n}\n\n/* Import Errors List */\n.import-errors {\n  width: 100%;\n  max-width: 31.25rem;\n  text-align: left;\n  background: #fee2e2;\n  padding: 1rem;\n  border-radius: 0.5rem;\n  border: 0.0625rem solid #fca5a5;\n}\n\n.import-errors h4 {\n  margin: 0 0 0.5rem 0;\n  font-size: 0.875rem;\n  font-weight: 600;\n  color: #991b1b;\n}\n\n.import-errors ul {\n  margin: 0;\n  padding-left: 1.25rem;\n}\n\n.import-errors li {\n  font-size: 0.8125rem;\n  color: #991b1b;\n  margin-bottom: 0.25rem;\n}\n\n/* Responsive */\n@media (max-width: 48rem) {\n  .import-preview {\n    max-height: 18.75rem;\n  }\n\n  .preview-table {\n    font-size: 0.75rem;\n  }\n\n  .preview-table th,\n  .preview-table td {\n    padding: 0.5rem;\n  }\n\n  .import-footer {\n    flex-direction: column;\n  }\n\n  .import-footer button {\n    width: 100%;\n  }\n}\n",".printer-assignment-modal {\n    display: flex;\n    flex-direction: column;\n    gap: 1rem;\n    height: 70vh;\n    min-height: 70vh;\n    max-height: 70vh;\n    width: 100%;\n}\n\n/* Controles superiores */\n.assignment-controls {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    flex-shrink: 0;\n}\n\n.controls-info {\n    display: flex;\n    align-items: center;\n    gap: 1rem;\n}\n\n.products-count {\n    font-size: 0.875rem;\n    color: var(--text-secondary, #64748b);\n    font-weight: 500;\n}\n\n.bulk-assignment {\n    display: flex;\n    gap: 0.5rem;\n    align-items: center;\n}\n\n.printer-select {\n    padding: 0.5rem 0.75rem;\n    border: 1px solid var(--border-color, #e2e8f0);\n    border-radius: 6px;\n    background: var(--bg-secondary, #f8fafc);\n    font-size: 0.875rem;\n    min-width: 200px;\n}\n\n.printer-select:focus {\n    outline: none;\n    border-color: var(--primary-color, #3b82f6);\n    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1);\n}\n\n/* Tabla virtualizada */\n.virtual-table-container {\n    flex: 1;\n    display: flex;\n    flex-direction: column;\n    border: 1px solid var(--border-color, #e2e8f0);\n    border-radius: 8px;\n    overflow: hidden;\n    min-height: 0;\n}\n\n.virtual-header {\n    flex-shrink: 0;\n    background: var(--bg-secondary, #f8fafc);\n    border-bottom: 2px solid var(--border-color, #e2e8f0);\n}\n\n.virtual-header-row,\n.virtual-filter-row,\n.virtual-row {\n    display: flex;\n    align-items: center;\n}\n\n.virtual-header-row {\n    font-weight: 600;\n    color: var(--text-secondary, #64748b);\n    font-size: 0.875rem;\n}\n\n.virtual-filter-row {\n    background: var(--bg-tertiary, #f1f5f9);\n    border-top: 1px solid var(--border-color, #e2e8f0);\n}\n\n.virtual-cell {\n    padding: 0.75rem 0.5rem;\n    display: flex;\n    align-items: center;\n}\n\n/* Anchos de columnas */\n.checkbox-col {\n    width: 50px;\n    min-width: 50px;\n    justify-content: center;\n}\n\n.cell-producto {\n    flex: 2;\n    min-width: 180px;\n}\n\n.cell-codigo {\n    width: 100px;\n    min-width: 100px;\n}\n\n.cell-barras {\n    width: 120px;\n    min-width: 120px;\n}\n\n.cell-categoria {\n    width: 130px;\n    min-width: 130px;\n}\n\n.cell-almacen {\n    width: 120px;\n    min-width: 120px;\n}\n\n.cell-impresora {\n    width: 180px;\n    min-width: 180px;\n}\n\n/* Cuerpo virtualizado */\n.virtual-body {\n    flex: 1;\n    overflow-y: auto;\n    overflow-x: hidden;\n}\n\n/* Indicador de carga infinita */\n.loading-more {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    padding: 1rem;\n    color: var(--text-secondary, #64748b);\n    font-size: 0.875rem;\n    border-top: 1px dashed var(--border-color, #e2e8f0);\n    background: var(--bg-tertiary, #f1f5f9);\n}\n\n.virtual-row {\n    border-bottom: 1px solid var(--border-color, #e2e8f0);\n    font-size: 0.875rem;\n    transition: background-color 0.15s ease;\n}\n\n.virtual-row:hover {\n    background: var(--bg-hover, #f1f5f9);\n}\n\n.virtual-row.selected {\n    background: rgba(59, 130, 246, 0.08);\n}\n\n.virtual-row.has-change {\n    background: rgba(34, 197, 94, 0.08);\n}\n\n.virtual-row.selected.has-change {\n    background: rgba(59, 130, 246, 0.12);\n}\n\n/* Filtros de columna */\n.column-filter {\n    width: 100%;\n    padding: 0.375rem 0.5rem;\n    border: 1px solid var(--border-color, #e2e8f0);\n    border-radius: 4px;\n    font-size: 0.75rem;\n    background: white;\n    transition: border-color 0.2s ease;\n}\n\n.column-filter:focus {\n    outline: none;\n    border-color: var(--primary-color, #3b82f6);\n    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1);\n}\n\n.column-filter::placeholder {\n    color: var(--text-muted, #94a3b8);\n}\n\n.column-filter-select {\n    width: 100%;\n    padding: 0.375rem 0.5rem;\n    border: 1px solid var(--border-color, #e2e8f0);\n    border-radius: 4px;\n    font-size: 0.75rem;\n    background: white;\n    cursor: pointer;\n}\n\n.column-filter-select:focus {\n    outline: none;\n    border-color: var(--primary-color, #3b82f6);\n}\n\n/* Botones de selección */\n.select-all-btn,\n.select-btn {\n    background: none;\n    border: none;\n    cursor: pointer;\n    padding: 0.25rem;\n    color: var(--text-secondary, #64748b);\n    border-radius: 4px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    transition: all 0.2s ease;\n}\n\n.select-all-btn:hover,\n.select-btn:hover {\n    background: var(--bg-hover, #e2e8f0);\n    color: var(--primary-color, #3b82f6);\n}\n\n.selected .select-btn {\n    color: var(--primary-color, #3b82f6);\n}\n\n/* Nombre del producto */\n.product-name {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    font-weight: 500;\n    color: var(--text-primary, #1e293b);\n    overflow: hidden;\n}\n\n.product-name svg {\n    color: var(--text-secondary, #64748b);\n    flex-shrink: 0;\n}\n\n.product-name span {\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n}\n\n.product-code {\n    font-family: monospace;\n    font-size: 0.8rem;\n    color: var(--text-secondary, #64748b);\n    background: var(--bg-secondary, #f1f5f9);\n    padding: 0.125rem 0.375rem;\n    border-radius: 4px;\n}\n\n.category-badge {\n    font-size: 0.75rem;\n    padding: 0.25rem 0.5rem;\n    background: var(--bg-secondary, #f1f5f9);\n    border-radius: 4px;\n    color: var(--text-secondary, #64748b);\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n}\n\n.almacen-badge {\n    font-size: 0.75rem;\n    padding: 0.25rem 0.5rem;\n    background: rgba(59, 130, 246, 0.1);\n    border-radius: 4px;\n    color: var(--primary-color, #3b82f6);\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n}\n\n/* Select de impresora inline */\n.printer-select-inline {\n    width: 100%;\n    padding: 0.375rem 0.5rem;\n    border: 1px solid var(--border-color, #e2e8f0);\n    border-radius: 4px;\n    font-size: 0.8rem;\n    background: white;\n}\n\n.printer-select-inline:focus {\n    outline: none;\n    border-color: var(--primary-color, #3b82f6);\n}\n\n.printer-select-inline.changed {\n    border-color: var(--success-color, #22c55e);\n    background: rgba(34, 197, 94, 0.05);\n}\n\n/* Estado vacío */\n.empty-state {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    padding: 3rem;\n    color: var(--text-secondary, #64748b);\n    height: 100%;\n}\n\n.empty-state svg {\n    opacity: 0.3;\n    margin-bottom: 1rem;\n}\n\n/* Paginación */\n.pagination {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 1rem;\n    padding: 0.75rem;\n    border-top: 1px solid var(--border-color, #e2e8f0);\n    background: var(--bg-secondary, #f8fafc);\n}\n\n.pagination-btn {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 32px;\n    height: 32px;\n    border: 1px solid var(--border-color, #e2e8f0);\n    border-radius: 6px;\n    background: white;\n    cursor: pointer;\n    color: var(--text-secondary, #64748b);\n    transition: all 0.2s ease;\n}\n\n.pagination-btn:hover:not(:disabled) {\n    background: var(--bg-hover, #f1f5f9);\n    border-color: var(--primary-color, #3b82f6);\n    color: var(--primary-color, #3b82f6);\n}\n\n.pagination-btn:disabled {\n    opacity: 0.5;\n    cursor: not-allowed;\n}\n\n.pagination-info {\n    font-size: 0.875rem;\n    color: var(--text-secondary, #64748b);\n}\n\n/* Footer */\n.assignment-footer {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    padding-top: 1rem;\n    border-top: 1px solid var(--border-color, #e2e8f0);\n    flex-shrink: 0;\n}\n\n.footer-info {\n    flex: 1;\n}\n\n.pending-changes {\n    font-size: 0.875rem;\n    color: var(--success-color, #22c55e);\n    font-weight: 500;\n}\n\n.footer-actions {\n    display: flex;\n    gap: 0.5rem;\n}\n\n/* Responsive */\n@media (max-width: 768px) {\n    .assignment-controls {\n        flex-direction: column;\n        align-items: stretch;\n        gap: 0.75rem;\n    }\n\n    .bulk-assignment {\n        flex-direction: column;\n    }\n\n    .printer-select {\n        width: 100%;\n    }\n\n    .cell-barras,\n    .cell-categoria,\n    .cell-almacen {\n        display: none;\n    }\n}\n","/* ProductManagementPage.css */\n\n.product-management-page {\n  padding: 1.5rem;\n  max-width: 100%;\n  margin: 0;\n}\n\n/* Controles de ejemplo de precios */\n.pricing-example-controls {\n    background: #f8fafc;\n    border: 0.0625rem solid #e2e8f0;\n    border-radius: 0.5rem;\n    padding: 1rem;\n    margin-bottom: 1rem;\n}\n\n.example-control {\n    display: flex;\n    align-items: center;\n    gap: 0.75rem;\n    font-size: 0.96rem;\n}\n\n.example-control label {\n    font-weight: 500;\n    color: #374151;\n}\n\n.quantity-input {\n    width: 5rem;\n    padding: 0.375rem 0.5rem;\n    border: 0.0625rem solid #d1d5db;\n    border-radius: 0.25rem;\n    font-size: 0.96rem;\n    text-align: center;\n}\n\n.quantity-input:focus {\n    outline: none;\n    border-color: #3b82f6;\n    box-shadow: 0 0 0 0.0625rem #3b82f6;\n}\n\n/* Header */\n.product-header {\n  display: flex;\n  justify-content: space-between;\n  align-items: flex-start;\n  margin-bottom: 2rem;\n  padding-bottom: 1rem;\n  border-bottom: 0.0625rem solid var(--gray-200);\n}\n\n/* Pestañas */\n.product-tabs {\n  display: inline-flex;\n  gap: 0;\n  margin-bottom: 1.5rem;\n  background: var(--gray-50);\n  border-radius: 0.75rem;\n  padding: 0.25rem;\n  box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.1);\n}\n\n.tab-button {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  padding: 0.75rem 1.5rem;\n  border: none;\n  background: transparent;\n  color: var(--gray-500);\n  border-radius: 0.5rem;\n  transition: all 0.2s ease;\n  font-weight: 500;\n  font-size: 0.99rem;\n  cursor: pointer;\n  position: relative;\n  justify-content: center;\n}\n\n.tab-button:hover {\n  background: rgba(59, 130, 246, 0.1);\n  color: var(--primary-600);\n}\n\n.tab-button.active {\n  background: white;\n  color: var(--primary-600);\n  box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.1), 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.06);\n  font-weight: 600;\n}\n\n.tab-button.active:hover {\n  background: white;\n  color: var(--primary-600);\n}\n\n/* Contenido */\n.product-content {\n  min-height: 25rem;\n}\n\n.header-content h1.page-title {\n  display: flex;\n  align-items: center;\n  gap: 0.75rem;\n  font-size: 1.93rem;\n  font-weight: 600;\n  color: var(--gray-900);\n  margin: 0 0 0.5rem 0;\n}\n\n.page-description {\n  color: var(--gray-500);\n  font-size: 1.05rem;\n  margin: 0;\n  max-width: 31.25rem;\n}\n\n/* Controles */\n.product-controls {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  gap: 1rem;\n  padding: 0.75rem;\n  background: white;\n  border: 0.0625rem solid var(--gray-200);\n  border-radius: 0.5rem;\n  margin-bottom: 1.5rem;\n  position: sticky;\n  top: 0;\n  z-index: 20;\n  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);\n}\n\n.search-filters {\n  display: flex;\n  gap: 1rem;\n  flex: 1;\n  align-items: center;\n  height: 2.375rem;\n}\n\n.search-container {\n  flex: 1;\n  max-width: 25rem;\n  height: 2.375rem;\n}\n\n.search-container .input-container {\n  width: 100%;\n  height: 2.375rem !important;\n  gap: 0 !important;\n  margin: 0 !important;\n  padding: 0 !important;\n  display: block !important;\n}\n\n.search-container .input-label {\n  display: none !important;\n}\n\n.search-container .input-wrapper {\n  height: 2.375rem !important;\n  margin: 0 !important;\n  padding: 0 !important;\n  display: flex !important;\n  align-items: center !important;\n}\n\n.search-container .input-field {\n  height: 2.375rem !important;\n  padding: 0 0.75rem !important;\n  padding-left: 2.75rem !important;\n  margin: 0 !important;\n  line-height: normal !important;\n  border-width: 0.0625rem !important;\n  box-sizing: border-box !important;\n}\n\n.search-container .input-icon {\n  left: 0.75rem;\n  top: 50% !important;\n  transform: translateY(-50%) !important;\n}\n\n.filter-container {\n  min-width: 12.5rem;\n  display: flex;\n  align-items: center;\n  margin: 0 !important;\n  padding: 0 !important;\n  height: 2.375rem;\n}\n\n.category-filter {\n  width: 100%;\n  height: 2.375rem !important;\n  padding: 0 0.75rem !important;\n  border: 0.0625rem solid var(--gray-300);\n  border-radius: 0.375rem;\n  font-size: 0.96rem;\n  background: white;\n  color: var(--gray-700);\n  line-height: normal !important;\n  margin: 0 !important;\n  box-sizing: border-box !important;\n  vertical-align: middle !important;\n  display: block;\n  border-width: 0.0625rem !important;\n  position: relative;\n  top: -0.4375rem;\n}\n\n.category-filter:focus {\n  outline: none;\n  border-color: var(--primary-500);\n  box-shadow: 0 0 0 0.1875rem rgba(59, 130, 246, 0.1);\n}\n\n.controls-actions {\n  display: flex;\n  gap: 0.5rem;\n  align-items: center;\n  height: 2.375rem;\n}\n\n.toggle-equivalencia {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  cursor: pointer;\n  user-select: none;\n  font-size: 13px;\n  color: #4b5563;\n  white-space: nowrap;\n}\n\n.toggle-equivalencia input {\n  display: none;\n}\n\n.toggle-equiv-slider {\n  position: relative;\n  display: inline-block;\n  width: 36px;\n  height: 20px;\n  background: #d1d5db;\n  border-radius: 10px;\n  transition: background 0.2s;\n  flex-shrink: 0;\n}\n\n.toggle-equiv-slider::after {\n  content: '';\n  position: absolute;\n  top: 2px;\n  left: 2px;\n  width: 16px;\n  height: 16px;\n  background: #fff;\n  border-radius: 50%;\n  transition: transform 0.2s;\n  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);\n}\n\n.toggle-equivalencia input:checked + .toggle-equiv-slider {\n  background: #3b82f6;\n}\n\n.toggle-equivalencia input:checked + .toggle-equiv-slider::after {\n  transform: translateX(16px);\n}\n\n.toggle-label {\n  font-weight: 500;\n}\n\n.controls-actions .btn {\n  height: 2.375rem !important;\n  min-height: 2.375rem !important;\n  max-height: 2.375rem !important;\n  padding: 0 1rem !important;\n  margin: 0 !important;\n  box-sizing: border-box !important;\n  line-height: normal !important;\n  border-width: 0.0625rem !important;\n}\n\n/* Estadísticas */\n.product-stats {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(12.5rem, 1fr));\n  gap: 1rem;\n  margin-bottom: 1.5rem;\n}\n\n.stat-card {\n  background: white;\n  border: 0.0625rem solid var(--gray-200);\n  border-radius: 0.5rem;\n  padding: 1.25rem;\n  display: flex;\n  align-items: center;\n  gap: 1rem;\n  box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.1);\n}\n\n.stat-icon {\n  width: 2.5rem;\n  height: 2.5rem;\n  border-radius: 0.5rem;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  background: var(--primary-100);\n  color: var(--primary-600);\n}\n\n.stat-icon.danger {\n  background: var(--error-50);\n  color: var(--error-600);\n}\n\n.stat-icon.success {\n  background: var(--success-50);\n  color: var(--success-600);\n}\n\n.stat-content {\n  display: flex;\n  flex-direction: column;\n}\n\n.stat-label {\n  font-size: 0.96rem;\n  color: var(--gray-500);\n  margin-bottom: 0.25rem;\n}\n\n.stat-value {\n  font-size: 1.65rem;\n  font-weight: 700;\n  color: var(--gray-900);\n}\n\n/* Tabla */\n.products-table-container {\n  background: white;\n  border: 0.0625rem solid var(--gray-200);\n  border-radius: 0.5rem;\n  overflow: hidden;\n  box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.1);\n}\n\n/* Contador de productos */\n.products-count-info {\n  padding: 0.5rem 0.75rem;\n  background: var(--gray-50);\n  border-bottom: 0.0625rem solid var(--gray-200);\n  font-size: 0.9rem;\n  color: var(--gray-600);\n  font-weight: 500;\n}\n\n/* Wrapper de tabla con scroll */\n.products-table-wrapper {\n  max-height: calc(100vh - 320px);\n  min-height: 400px;\n  overflow-y: auto;\n  overflow-x: auto;\n}\n\n.products-table-wrapper::-webkit-scrollbar {\n  width: 8px;\n  height: 8px;\n}\n\n.products-table-wrapper::-webkit-scrollbar-track {\n  background: var(--gray-100);\n}\n\n.products-table-wrapper::-webkit-scrollbar-thumb {\n  background: var(--gray-300);\n  border-radius: 4px;\n}\n\n.products-table-wrapper::-webkit-scrollbar-thumb:hover {\n  background: var(--gray-400);\n}\n\n/* Indicador de carga infinita */\n.loading-more {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  padding: 1rem;\n  color: var(--gray-500);\n  font-size: 0.96rem;\n  border-top: 1px dashed var(--gray-300);\n  background: var(--gray-50);\n}\n\n.products-table {\n  width: 100%;\n  border-collapse: collapse;\n  table-layout: fixed;\n  font-size: 1.02rem;\n}\n\n/* Thead sticky */\n.products-table thead {\n  position: sticky;\n  top: 0;\n  z-index: 10;\n}\n\n.products-table th {\n  background: var(--gray-50);\n  padding: 0.5rem 0.35rem;\n  text-align: left;\n  font-weight: 600;\n  color: var(--gray-700);\n  border-bottom: 1px solid var(--gray-200);\n  white-space: nowrap;\n}\n\n/* Filas del encabezado */\n.products-table .header-row th {\n  background: var(--gray-50);\n}\n\n.products-table .filter-row th {\n  background: var(--gray-100);\n  padding: 0.25rem 0.2rem;\n  font-weight: normal;\n}\n\n/* Anchos de columnas */\n.products-table th:nth-child(1),\n.products-table td:nth-child(1) { width: 16%; } /* Producto */\n\n.products-table th:nth-child(2),\n.products-table td:nth-child(2) { width: 8%; } /* Cód. Corto */\n\n.product-management-page .products-table th:nth-child(3),\n.product-management-page .products-table td:nth-child(3) { display: none; } /* Cód. Barras */\n\n.products-table th:nth-child(4),\n.products-table td:nth-child(4) { width: 8%; } /* Categoría */\n\n.products-table th:nth-child(5),\n.products-table td:nth-child(5) { width: 7%; } /* Almacén */\n\n.products-table th:nth-child(6),\n.products-table td:nth-child(6) { width: 7%; text-align: right; } /* Costo */\n\n.products-table th:nth-child(7),\n.products-table td:nth-child(7) { width: 7%; text-align: right; } /* P1 */\n\n.products-table th:nth-child(8),\n.products-table td:nth-child(8) { width: 7%; text-align: right; } /* P2 */\n\n.products-table th:nth-child(9),\n.products-table td:nth-child(9) { width: 7%; text-align: right; } /* P3 */\n\n.products-table th:nth-child(10),\n.products-table td:nth-child(10) { width: 7%; text-align: right; } /* P4 */\n\n.products-table th:nth-child(11),\n.products-table td:nth-child(11) { width: 7%; text-align: right; } /* Stock */\n\n.products-table th:nth-child(12),\n.products-table td:nth-child(12) {\n  width: 8%;\n  text-align: right;\n  padding-right: 1rem;\n} /* Acciones */\n\n.products-table td:nth-child(12) .actions-compact {\n  justify-content: flex-end;\n}\n\n/* Input de filtro por columna */\n.column-filter-input {\n  width: 100%;\n  padding: 0.2rem 0.3rem;\n  border: 1px solid var(--gray-300);\n  border-radius: 4px;\n  font-size: 0.84rem;\n  background: white;\n  transition: border-color 0.2s ease;\n}\n\n.column-filter-input:focus {\n  outline: none;\n  border-color: var(--primary-500);\n  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1);\n}\n\n.column-filter-input::placeholder {\n  color: var(--gray-400);\n}\n\n/* Botón limpiar filtros */\n.clear-filters-btn {\n  color: var(--error-600) !important;\n  border-color: var(--error-300) !important;\n}\n\n.clear-filters-btn:hover {\n  background: var(--error-50) !important;\n  border-color: var(--error-500) !important;\n}\n\n.products-table td {\n  padding: 0.35rem;\n  border-bottom: 1px solid var(--gray-100);\n  vertical-align: middle;\n  color: var(--gray-900);\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n\n.products-table tr:hover {\n  background: var(--gray-50);\n}\n\n/* Información del producto */\n.product-info {\n  display: flex;\n  flex-direction: column;\n  gap: 0.25rem;\n}\n\n.product-name {\n  font-weight: 600;\n  color: var(--gray-900);\n}\n\n.product-description {\n  color: var(--gray-500);\n  max-width: 12.5rem;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n\n/* Código de barras */\n.barcode-info {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  font-family: 'Courier New', monospace;\n  color: var(--gray-600);\n}\n\n/* Badge de categoría */\n.category-badge {\n  display: inline-flex;\n  align-items: center;\n  gap: 0.25rem;\n  padding: 0.1rem 0.35rem;\n  background: var(--primary-100);\n  color: var(--primary-700);\n  border-radius: 0.25rem;\n  font-weight: 500;\n}\n\n/* Precios */\n.price {\n  font-weight: 600;\n  color: var(--success-600);\n  text-align: right;\n}\n\n/* Stock badge */\n.stock-badge {\n  display: inline-block;\n  padding: 0.1rem 0.35rem;\n  border-radius: 0.25rem;\n  font-weight: 600;\n  text-align: center;\n}\n\n.stock-badge.high {\n  background: var(--success-50);\n  color: var(--success-700);\n}\n\n.stock-badge.medium {\n  background: var(--warning-50);\n  color: var(--warning-700);\n}\n\n.stock-badge.low {\n  background: var(--error-50);\n  color: var(--error-700);\n}\n\n/* Total */\n.total {\n  font-weight: 600;\n  color: var(--gray-900);\n  text-align: right;\n}\n\n/* Acciones */\n.actions {\n  display: flex;\n  gap: 0.25rem;\n  justify-content: center;\n}\n\n/* Contenedor de botones de acción compactos */\n.actions-compact {\n  display: flex;\n  gap: 0.25rem;\n  justify-content: center;\n}\n\n/* Botón de acción compacto */\n.action-btn-compact {\n  width: 1.75rem;\n  height: 1.75rem;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border: 0.0625rem solid #d1d5db;\n  background: #ffffff;\n  border-radius: 0.25rem;\n  color: #6b7280;\n  cursor: pointer;\n  transition: all 0.15s ease;\n}\n\n/* Efectos hover para botones de acción */\n.action-btn-compact:hover {\n  background: #f3f4f6;\n  color: #1f2937;\n  border-color: #9ca3af;\n  transform: translateY(-0.0625rem);\n  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.1);\n}\n\n/* Efecto hover específico para botón eliminar */\n.action-btn-compact.delete:hover {\n  background: #ef4444;\n  color: white;\n  border-color: #ef4444;\n  transform: translateY(-0.0625rem);\n  box-shadow: 0 0.125rem 0.25rem rgba(239, 68, 68, 0.3);\n}\n\n/* Estilos legacy para compatibilidad */\n.action-btn {\n  width: 1.75rem;\n  height: 1.75rem;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border: 0.0625rem solid var(--gray-300);\n  background: white;\n  border-radius: 0.25rem;\n  color: var(--gray-500);\n  cursor: pointer;\n  transition: all 0.15s ease;\n}\n\n.action-btn:hover {\n  background: var(--gray-50);\n  color: var(--gray-700);\n  border-color: var(--gray-400);\n}\n\n.action-btn.edit:hover {\n  background: var(--primary-50);\n  color: var(--primary-600);\n  border-color: var(--primary-300);\n}\n\n.action-btn.delete:hover {\n  background: var(--error-50);\n  color: var(--error-600);\n  border-color: var(--error-300);\n}\n\n/* Estados especiales */\n.loading-state,\n.empty-state {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  padding: 3rem;\n  text-align: center;\n  color: var(--gray-500);\n}\n\n.loading-spinner {\n  width: 2rem;\n  height: 2rem;\n  border: 0.1875rem solid var(--gray-200);\n  border-top: 0.1875rem solid var(--primary-500);\n  border-radius: 50%;\n  animation: spin 1s linear infinite;\n  margin-bottom: 1rem;\n}\n\n@keyframes spin {\n  0% { transform: rotate(0deg); }\n  100% { transform: rotate(360deg); }\n}\n\n.empty-state h3 {\n  margin: 1rem 0 0.5rem 0;\n  color: var(--gray-700);\n}\n\n.empty-state p {\n  margin: 0 0 1.5rem 0;\n}\n\n/* Información de categorías */\n.category-info {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n}\n\n.category-name {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  font-weight: 600;\n  color: var(--gray-900);\n}\n\n.category-description {\n  color: var(--gray-600);\n  font-size: 0.96rem;\n}\n\n.product-count {\n  color: var(--gray-500);\n  font-size: 0.96rem;\n}\n\n.status-badge {\n  display: inline-block;\n  padding: 0.1rem 0.35rem;\n  border-radius: 0.25rem;\n  font-weight: 600;\n  text-align: center;\n}\n\n.status-badge.active {\n  background: var(--success-50);\n  color: var(--success-700);\n}\n\n.status-badge.inactive {\n  background: var(--error-50);\n  color: var(--error-700);\n}\n\n/* Status dots - estilo del módulo de flete */\n.status-dot {\n  display: flex;\n  align-items: center;\n  gap: 0.25rem;\n  font-size: 0.94rem;\n  font-weight: 500;\n}\n\n.status-dot.active {\n  color: #16a34a !important;\n}\n\n.status-dot.inactive {\n  color: var(--error-color);\n}\n\n/* Formularios */\n.product-form,\n.category-form {\n  display: flex;\n  flex-direction: column;\n  gap: 1.5rem;\n  max-width: 100%;\n}\n\n.form-help {\n  display: block;\n  margin-top: 0.25rem;\n  font-size: 0.83rem;\n  color: var(--gray-500);\n}\n\n.form-section {\n  background: var(--gray-50);\n  border-radius: 0.5rem;\n  padding: 1.25rem;\n}\n\n.section-title {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  margin: 0 0 1rem 0;\n  font-size: 1.1rem;\n  font-weight: 600;\n  color: var(--gray-700);\n}\n\n.form-row {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 1rem;\n  margin-bottom: 1rem;\n}\n\n.form-row:last-child {\n  margin-bottom: 0;\n}\n\n.form-group {\n  display: flex;\n  flex-direction: column;\n}\n\n.form-label {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  margin-bottom: 0.5rem;\n  font-size: 0.96rem;\n  font-weight: 500;\n  color: var(--gray-700);\n}\n\n.form-select {\n  width: 100%;\n  padding: 0.5rem;\n  border: 0.0625rem solid var(--gray-300);\n  border-radius: 0.375rem;\n  font-size: 0.96rem;\n  background: white;\n  color: var(--gray-700);\n}\n\n.form-select:focus {\n  outline: none;\n  border-color: var(--primary-500);\n  box-shadow: 0 0 0 0.1875rem rgba(59, 130, 246, 0.1);\n}\n\n.form-select.error {\n  border-color: var(--error-500);\n}\n\n.error-message {\n  margin-top: 0.25rem;\n  font-size: 0.83rem;\n  color: var(--error-600);\n}\n\n/* Información de margen */\n.margin-info {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  padding: 0.75rem;\n  background: var(--success-50);\n  border: 0.0625rem solid var(--success-200);\n  border-radius: 0.375rem;\n  margin-top: 0.5rem;\n}\n\n.margin-label {\n  font-size: 0.96rem;\n  color: var(--gray-600);\n}\n\n.margin-value {\n  font-size: 0.96rem;\n  font-weight: 600;\n  color: var(--success-700);\n}\n\n/* Checkbox */\n.checkbox-label {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  cursor: pointer;\n}\n\n.checkbox-label input[type=\"checkbox\"] {\n  width: 1rem;\n  height: 1rem;\n  accent-color: var(--primary-500);\n}\n\n.checkbox-text {\n  font-size: 0.96rem;\n  color: var(--gray-700);\n}\n\n/* Acciones del formulario */\n.form-actions {\n  display: flex !important;\n  width: 100% !important;\n  padding: 1.5rem 0 0 0;\n  margin-top: 1rem;\n  border-top: 0.0625rem solid var(--gray-200);\n  flex-direction: row !important;\n  gap: 1rem;\n}\n\n.form-actions button {\n  flex: 1 !important;\n  width: calc(50% - 0.5rem) !important;\n  padding: 0.5rem 1rem !important;\n  font-size: 0.875rem !important;\n  font-weight: 500 !important;\n  height: 2.25rem !important;\n  border-radius: 0.375rem !important;\n}\n\n/* Responsive */\n@media (max-width: 48rem) {\n  .product-management-page {\n    padding: 1rem;\n  }\n\n  .product-header {\n    flex-direction: column;\n    gap: 1rem;\n  }\n\n  .product-controls {\n    flex-direction: column;\n    align-items: stretch;\n  }\n\n  .search-filters {\n    flex-direction: column;\n  }\n\n  .product-stats {\n    grid-template-columns: 1fr;\n  }\n\n  .form-row {\n    grid-template-columns: 1fr;\n  }\n\n  .form-actions {\n    flex-direction: column-reverse !important;\n    align-items: stretch !important;\n  }\n\n  .form-actions button {\n    width: 100% !important;\n  }\n\n  /* Tabla responsive */\n  .products-table-container {\n    overflow-x: auto;\n  }\n\n  .products-table {\n    min-width: 50rem;\n  }\n}\n\n/* Toggle Switch */\n.toggle-switch {\n  position: relative;\n  display: inline-block;\n  width: 2.75rem;\n  height: 1.5rem;\n  cursor: pointer;\n}\n\n.toggle-switch input[type=\"checkbox\"] {\n  opacity: 0;\n  width: 0;\n  height: 0;\n}\n\n.toggle-switch .toggle-slider {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  background-color: #cbd5e1;\n  border-radius: 1.5rem;\n  transition: all 0.3s ease;\n}\n\n.toggle-switch .toggle-slider:before {\n  content: \"\";\n  position: absolute;\n  height: 1.125rem;\n  width: 1.125rem;\n  left: 0.1875rem;\n  bottom: 0.1875rem;\n  background-color: white;\n  border-radius: 50%;\n  transition: all 0.3s ease;\n  box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.2);\n}\n\n.toggle-switch input[type=\"checkbox\"]:checked + .toggle-slider {\n  background-color: #16a34a;\n}\n\n.toggle-switch input[type=\"checkbox\"]:checked + .toggle-slider:before {\n  transform: translateX(1.25rem);\n}\n\n.toggle-switch input[type=\"checkbox\"]:disabled + .toggle-slider {\n  opacity: 0.5;\n  cursor: not-allowed;\n}\n\n.toggle-switch input[type=\"checkbox\"]:focus + .toggle-slider {\n  box-shadow: 0 0 0 0.1875rem rgba(22, 163, 74, 0.1);\n}\n\n.toggle-switch:hover input[type=\"checkbox\"]:not(:disabled) + .toggle-slider {\n  background-color: #94a3b8;\n}\n\n.toggle-switch:hover input[type=\"checkbox\"]:checked:not(:disabled) + .toggle-slider {\n  background-color: #15803d;\n}\n\n/* Tabla de categorías - override de anchos para 3 columnas */\n.categories-table {\n  table-layout: auto;\n}\n\n.categories-table th:nth-child(1),\n.categories-table td:nth-child(1) {\n  width: auto;\n}\n\n.categories-table th:nth-child(2),\n.categories-table td:nth-child(2) {\n  width: 8rem;\n  text-align: center;\n}\n\n.categories-table th:nth-child(3),\n.categories-table td:nth-child(3) {\n  width: 7rem;\n  text-align: center;\n  padding-right: 1rem;\n}\n",".migracion-page {\n  padding: 1.5rem;\n  max-width: 1200px;\n  margin: 0 auto;\n}\n\n.migracion-header {\n  margin-bottom: 2rem;\n}\n\n.migracion-header .header-title {\n  display: flex;\n  align-items: center;\n  gap: 1rem;\n}\n\n.migracion-header .header-title svg {\n  color: #667eea;\n}\n\n.migracion-header .header-title h1 {\n  margin: 0;\n  font-size: 1.5rem;\n  color: #1f2937;\n}\n\n.migracion-header .header-title p {\n  margin: 0.25rem 0 0;\n  color: #6b7280;\n  font-size: 0.875rem;\n}\n\n/* Tabs de navegación */\n.migracion-tabs {\n  display: flex;\n  gap: 0.5rem;\n  margin-bottom: 1.5rem;\n  padding: 0.5rem;\n  background: white;\n  border-radius: 0.75rem;\n  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n}\n\n.migracion-tab {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  padding: 0.75rem 1.5rem;\n  border: none;\n  background: transparent;\n  border-radius: 0.5rem;\n  font-size: 0.95rem;\n  font-weight: 500;\n  color: #6b7280;\n  cursor: pointer;\n  transition: all 0.2s;\n}\n\n.migracion-tab:hover {\n  background: #f3f4f6;\n  color: #374151;\n}\n\n.migracion-tab.active {\n  background: #667eea;\n  color: white;\n}\n\n.migracion-tab.active svg {\n  color: white;\n}\n\n.migracion-tab svg {\n  color: #9ca3af;\n}\n\n.migracion-tab:hover svg {\n  color: #667eea;\n}\n\n/* Steps Progress */\n.migracion-steps {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  gap: 0.5rem;\n  margin-bottom: 2rem;\n  padding: 1rem;\n  background: white;\n  border-radius: 0.75rem;\n  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n}\n\n.migracion-steps .step {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  padding: 0.5rem 1rem;\n  border-radius: 0.5rem;\n  color: #9ca3af;\n  font-size: 0.875rem;\n  transition: all 0.2s;\n}\n\n.migracion-steps .step.active {\n  color: #667eea;\n  font-weight: 600;\n}\n\n.migracion-steps .step.completed {\n  color: #059669;\n}\n\n.migracion-steps .step-number {\n  width: 28px;\n  height: 28px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border-radius: 50%;\n  background: #e5e7eb;\n  font-weight: 600;\n  font-size: 0.8rem;\n  transition: all 0.2s;\n}\n\n.migracion-steps .step.active .step-number {\n  background: #667eea;\n  color: white;\n}\n\n.migracion-steps .step.completed .step-number {\n  background: #059669;\n  color: white;\n}\n\n.migracion-steps .step-line {\n  width: 40px;\n  height: 2px;\n  background: #e5e7eb;\n}\n\n/* Content */\n.migracion-content {\n  background: white;\n  border-radius: 0.75rem;\n  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n  padding: 2rem;\n}\n\n.step-content h2 {\n  display: flex;\n  align-items: center;\n  gap: 0.75rem;\n  margin: 0 0 0.5rem;\n  font-size: 1.25rem;\n  color: #1f2937;\n}\n\n.step-content h2 svg {\n  color: #667eea;\n}\n\n.step-description {\n  color: #6b7280;\n  margin-bottom: 1.5rem;\n}\n\n/* Conexion Form */\n.conexion-form {\n  max-width: 600px;\n}\n\n.conexion-form .form-row {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 1rem;\n  margin-bottom: 1rem;\n}\n\n.conexion-form .form-group {\n  display: flex;\n  flex-direction: column;\n  gap: 0.5rem;\n}\n\n.conexion-form .form-group label {\n  font-weight: 500;\n  color: #374151;\n  font-size: 0.875rem;\n}\n\n.conexion-form .form-group input {\n  padding: 0.75rem;\n  border: 1px solid #d1d5db;\n  border-radius: 0.5rem;\n  font-size: 0.95rem;\n  transition: border-color 0.2s, box-shadow 0.2s;\n}\n\n.conexion-form .form-group input:focus {\n  outline: none;\n  border-color: #667eea;\n  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);\n}\n\n.conexion-actions {\n  display: flex;\n  align-items: center;\n  gap: 1rem;\n  margin-top: 1.5rem;\n}\n\n.conexion-exito {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  color: #059669;\n  font-weight: 500;\n  padding: 0.5rem 1rem;\n  background: #ecfdf5;\n  border-radius: 0.5rem;\n}\n\n/* Tablas Grid */\n.tablas-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));\n  gap: 1rem;\n  margin-bottom: 1.5rem;\n  max-height: 400px;\n  overflow-y: auto;\n  padding: 0.5rem;\n}\n\n.tabla-card {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 0.5rem;\n  padding: 1.25rem;\n  border: 2px solid #e5e7eb;\n  border-radius: 0.75rem;\n  cursor: pointer;\n  transition: all 0.2s;\n  background: white;\n}\n\n.tabla-card:hover {\n  border-color: #667eea;\n  background: #f8f9ff;\n}\n\n.tabla-card.selected {\n  border-color: #667eea;\n  background: #eef2ff;\n}\n\n.tabla-card svg {\n  color: #667eea;\n}\n\n.tabla-card .tabla-nombre {\n  font-weight: 600;\n  color: #1f2937;\n  text-align: center;\n  word-break: break-all;\n}\n\n.tabla-card .tabla-registros {\n  font-size: 0.75rem;\n  color: #6b7280;\n}\n\n/* Columnas Preview */\n.columnas-preview {\n  padding: 1rem;\n  background: #f9fafb;\n  border-radius: 0.5rem;\n  margin-bottom: 1.5rem;\n}\n\n.columnas-preview h4 {\n  margin: 0 0 0.75rem;\n  font-size: 0.875rem;\n  color: #374151;\n}\n\n.columnas-list {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 0.5rem;\n}\n\n.columna-badge {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  padding: 0.35rem 0.75rem;\n  background: white;\n  border: 1px solid #d1d5db;\n  border-radius: 0.375rem;\n  font-size: 0.8rem;\n  color: #374151;\n}\n\n.columna-badge small {\n  color: #9ca3af;\n  font-size: 0.7rem;\n}\n\n/* Mapeo Container */\n.mapeo-container {\n  border: 1px solid #e5e7eb;\n  border-radius: 0.5rem;\n  overflow: hidden;\n  margin-bottom: 1.5rem;\n}\n\n.mapeo-header {\n  display: grid;\n  grid-template-columns: 1fr 50px 1fr;\n  gap: 1rem;\n  padding: 0.75rem 1rem;\n  background: #f3f4f6;\n  font-weight: 600;\n  font-size: 0.8rem;\n  color: #374151;\n  text-transform: uppercase;\n}\n\n.mapeo-row {\n  display: grid;\n  grid-template-columns: 1fr 50px 1fr;\n  gap: 1rem;\n  padding: 0.75rem 1rem;\n  border-top: 1px solid #e5e7eb;\n  align-items: center;\n}\n\n.mapeo-row:hover {\n  background: #f9fafb;\n}\n\n.mapeo-row.required {\n  background: #fffbeb;\n}\n\n.campo-destino {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  font-size: 0.9rem;\n  color: #374151;\n}\n\n.campo-destino svg {\n  color: #667eea;\n}\n\n.required-mark {\n  color: #dc2626;\n  font-weight: bold;\n}\n\n.mapeo-arrow {\n  display: flex;\n  justify-content: center;\n  color: #9ca3af;\n}\n\n.campo-origen select {\n  width: 100%;\n  padding: 0.5rem;\n  border: 1px solid #d1d5db;\n  border-radius: 0.375rem;\n  font-size: 0.875rem;\n  background: white;\n  cursor: pointer;\n}\n\n.campo-origen select:focus {\n  outline: none;\n  border-color: #667eea;\n}\n\n/* Preview Section */\n.migracion-info {\n  display: flex;\n  align-items: center;\n  gap: 0.75rem;\n  padding: 1rem;\n  background: #dbeafe;\n  border-radius: 0.5rem;\n  margin-bottom: 1.5rem;\n  color: #1e40af;\n}\n\n.preview-section {\n  border: 1px solid #e5e7eb;\n  border-radius: 0.5rem;\n  margin-bottom: 1.5rem;\n}\n\n.preview-header {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  padding: 0.75rem 1rem;\n  background: #f9fafb;\n  cursor: pointer;\n  font-weight: 500;\n  color: #374151;\n}\n\n.preview-header:hover {\n  background: #f3f4f6;\n}\n\n.preview-table-wrapper {\n  overflow-x: auto;\n  max-height: 300px;\n  overflow-y: auto;\n}\n\n.preview-table {\n  width: 100%;\n  border-collapse: collapse;\n  font-size: 0.8rem;\n}\n\n.preview-table th {\n  padding: 0.5rem 0.75rem;\n  text-align: left;\n  background: #f3f4f6;\n  font-weight: 600;\n  color: #374151;\n  border-bottom: 1px solid #e5e7eb;\n  white-space: nowrap;\n}\n\n.preview-table td {\n  padding: 0.5rem 0.75rem;\n  border-bottom: 1px solid #e5e7eb;\n  color: #4b5563;\n  max-width: 200px;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n\n.preview-table tr:hover td {\n  background: #f9fafb;\n}\n\n/* Resultado */\n.migracion-resultado {\n  text-align: center;\n  padding: 2rem;\n}\n\n.resultado-exito {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 1rem;\n  padding: 2rem;\n  background: #ecfdf5;\n  border-radius: 1rem;\n  margin-bottom: 1.5rem;\n}\n\n.resultado-exito svg {\n  color: #059669;\n}\n\n.resultado-exito h3 {\n  margin: 0;\n  color: #059669;\n}\n\n.resultado-exito p {\n  margin: 0;\n  color: #065f46;\n}\n\n.resultado-stats {\n  display: flex;\n  flex-direction: column;\n  gap: 0.5rem;\n  margin-top: 0.5rem;\n}\n\n.resultado-stats p {\n  margin: 0;\n  font-size: 1rem;\n}\n\n.resultado-stats strong {\n  font-size: 1.25rem;\n  color: #047857;\n}\n\n.errores-lista {\n  text-align: left;\n  padding: 1rem;\n  background: #fef2f2;\n  border-radius: 0.5rem;\n  margin-bottom: 1.5rem;\n}\n\n.errores-lista h4 {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  margin: 0 0 0.75rem;\n  color: #b91c1c;\n  font-size: 0.9rem;\n}\n\n.errores-lista ul {\n  margin: 0;\n  padding-left: 1.5rem;\n  color: #991b1b;\n  font-size: 0.85rem;\n}\n\n.errores-lista li {\n  margin-bottom: 0.25rem;\n}\n\n.errores-lista li.more {\n  font-style: italic;\n  color: #7f1d1d;\n}\n\n/* Step Actions */\n.step-actions {\n  display: flex;\n  justify-content: space-between;\n  margin-top: 2rem;\n  padding-top: 1.5rem;\n  border-top: 1px solid #e5e7eb;\n}\n\n.step-actions.center {\n  justify-content: center;\n}\n\n.step-actions button {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n}\n\n/* Spin animation */\n.spin {\n  animation: spin 1s linear infinite;\n}\n\n@keyframes spin {\n  from {\n    transform: rotate(0deg);\n  }\n  to {\n    transform: rotate(360deg);\n  }\n}\n\n/* Responsive */\n@media (max-width: 768px) {\n  .migracion-page {\n    padding: 1rem;\n  }\n\n  .conexion-form .form-row {\n    grid-template-columns: 1fr;\n  }\n\n  .migracion-steps {\n    flex-wrap: wrap;\n    gap: 0.25rem;\n  }\n\n  .migracion-steps .step-line {\n    display: none;\n  }\n\n  .tablas-grid {\n    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));\n  }\n\n  .mapeo-container {\n    font-size: 0.8rem;\n  }\n\n  .mapeo-header,\n  .mapeo-row {\n    grid-template-columns: 1fr 30px 1fr;\n    gap: 0.5rem;\n    padding: 0.5rem;\n  }\n}\n",".cambio-precios-page {\n  padding: 1.5rem;\n  max-width: 100%;\n  height: 100vh;\n  max-height: 100vh;\n  display: flex;\n  flex-direction: column;\n  overflow: hidden;\n  box-sizing: border-box;\n}\n\n\n/* Acciones pendientes en filtros */\n.filtro-grupo.acciones-pendientes {\n  margin-left: auto;\n  flex-direction: row;\n  align-items: flex-end;\n}\n\n.filtro-grupo.acciones-pendientes label {\n  display: none;\n}\n\n.acciones-btns {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  height: 38px;\n}\n\n.acciones-btns .cambios-pendientes {\n  display: flex;\n  align-items: center;\n  gap: 0.35rem;\n  padding: 0.5rem 0.75rem;\n  background: #fef3c7;\n  color: #92400e;\n  border-radius: 0.375rem;\n  font-size: 0.8rem;\n  font-weight: 600;\n  height: 100%;\n  box-sizing: border-box;\n}\n\n.acciones-btns button {\n  height: 38px;\n  padding: 0 1rem;\n  font-size: 0.875rem;\n  white-space: nowrap;\n}\n\n/* Filtros */\n.filtros-container {\n  display: flex;\n  gap: 1rem;\n  margin-bottom: 0.75rem;\n  flex-wrap: wrap;\n  padding: 1rem;\n  background: var(--bg-secondary, #f8fafc);\n  border-radius: 0.5rem;\n  flex-shrink: 0;\n}\n\n.filtro-grupo {\n  display: flex;\n  flex-direction: column;\n  gap: 0.25rem;\n}\n\n.filtro-grupo label {\n  font-size: 0.75rem;\n  font-weight: 500;\n  color: var(--text-secondary, #64748b);\n  display: flex;\n  align-items: center;\n  gap: 0.25rem;\n}\n\n.filtro-grupo select,\n.filtro-grupo input {\n  padding: 0.5rem 0.75rem;\n  border: 1px solid var(--border-color, #e2e8f0);\n  border-radius: 0.375rem;\n  font-size: 0.875rem;\n  background: white;\n  min-width: 180px;\n}\n\n.filtro-grupo.busqueda {\n  flex: 1;\n  min-width: 250px;\n}\n\n.busqueda-input {\n  display: flex;\n  gap: 0.5rem;\n}\n\n.busqueda-input input {\n  flex: 1;\n}\n\n/* Leyenda */\n.leyenda-precios {\n  display: flex;\n  gap: 2rem;\n  padding: 0.5rem 1rem;\n  background: #eff6ff;\n  border-radius: 0.375rem;\n  font-size: 0.75rem;\n  color: #1e40af;\n  margin-bottom: 0.5rem;\n}\n\n.leyenda-precios span {\n  display: flex;\n  align-items: center;\n  gap: 0.35rem;\n}\n\n.leyenda-precios .leyenda-descuento {\n  color: #166534;\n  background: #f0fdf4;\n  padding: 0.25rem 0.5rem;\n  border-radius: 0.25rem;\n}\n\n/* Info bar */\n.info-bar {\n  display: flex;\n  justify-content: space-between;\n  padding: 0.5rem 1rem;\n  background: var(--bg-secondary, #f1f5f9);\n  border-radius: 0.375rem;\n  font-size: 0.75rem;\n  color: var(--text-secondary, #64748b);\n  margin-bottom: 0.75rem;\n  flex-shrink: 0;\n}\n\n/* Scrollbar superior sincronizado */\n.top-scroll-wrapper {\n  overflow-x: auto;\n  overflow-y: hidden;\n  height: 12px;\n  background: var(--bg-secondary, #f8fafc);\n  border: 1px solid var(--border-color, #e2e8f0);\n  border-bottom: none;\n  border-radius: 0.5rem 0.5rem 0 0;\n  flex-shrink: 0;\n}\n\n.top-scroll-content {\n  height: 1px;\n}\n\n/* Tabla de precios */\n.tabla-precios-container {\n  overflow: auto;\n  background: white;\n  border-radius: 0 0 0.5rem 0.5rem;\n  border: 1px solid var(--border-color, #e2e8f0);\n  flex: 1;\n  min-height: 0;\n}\n\n.tabla-precios {\n  width: 100%;\n  min-width: 100%;\n  table-layout: auto;\n  border-collapse: separate;\n  border-spacing: 0;\n  font-size: 0.85rem;\n}\n\n.tabla-precios thead {\n  position: sticky;\n  top: 0;\n  z-index: 20;\n}\n\n.tabla-precios thead tr:first-child th {\n  background: var(--bg-secondary, #f8fafc);\n  padding: 0.5rem 0.35rem;\n  text-align: left;\n  font-weight: 600;\n  color: var(--text-secondary, #475569);\n  border-bottom: 2px solid var(--border-color, #e2e8f0);\n  white-space: nowrap;\n}\n\n.tabla-precios thead tr.fila-filtros th {\n  position: sticky;\n  top: 38px;\n  z-index: 19;\n}\n\n.tabla-precios th {\n  background: var(--bg-secondary, #f8fafc);\n  padding: 0.5rem 0.35rem;\n  text-align: left;\n  font-weight: 600;\n  color: var(--text-secondary, #475569);\n  white-space: nowrap;\n}\n\n.tabla-precios td {\n  padding: 0.35rem;\n  border-bottom: 1px solid var(--border-color, #e2e8f0);\n  vertical-align: middle;\n}\n\n.tabla-precios tr:hover {\n  background: var(--bg-hover, #f8fafc);\n}\n\n.tabla-precios tr:hover .col-codigo,\n.tabla-precios tr:hover .col-descripcion {\n  background: var(--bg-hover, #f8fafc);\n}\n\n.tabla-precios tr.editado {\n  background: #fefce8;\n}\n\n.tabla-precios tr.editado .col-codigo,\n.tabla-precios tr.editado .col-descripcion {\n  background: #fefce8;\n}\n\n.tabla-precios tr.editado:hover {\n  background: #fef9c3;\n}\n\n.tabla-precios tr.editado:hover .col-codigo,\n.tabla-precios tr.editado:hover .col-descripcion {\n  background: #fef9c3;\n}\n\n/* Header de precio con subetiqueta */\n.header-precio {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  gap: 0.1rem;\n  width: 100%;\n  text-align: center;\n}\n\n.header-precio span {\n  font-size: 0.75rem;\n  white-space: nowrap;\n}\n\n.header-precio small {\n  font-size: 0.6rem;\n  color: #94a3b8;\n  font-weight: normal;\n}\n\n/* Columnas fijas */\n.col-codigo {\n  min-width: 70px;\n  width: 70px;\n  font-family: monospace;\n  font-size: 0.8rem;\n  position: sticky;\n  left: 0;\n  background: white;\n  z-index: 2;\n}\n\n.col-descripcion {\n  min-width: 200px;\n  max-width: 280px;\n  overflow: visible;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  position: sticky;\n  left: 70px;\n  background: white;\n  z-index: 2;\n  border-right: 2px solid var(--border-color, #e2e8f0);\n  box-shadow: 4px 0 8px -4px rgba(0,0,0,0.1);\n}\n\n.col-descripcion > span,\n.col-descripcion > div {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  display: block;\n}\n\n/* Headers fijos (sticky en ambos ejes) */\n.tabla-precios thead th.col-codigo {\n  position: sticky;\n  left: 0;\n  background: var(--bg-secondary, #f8fafc);\n  z-index: 25;\n}\n\n.tabla-precios thead th.col-descripcion {\n  position: sticky;\n  left: 70px;\n  background: var(--bg-secondary, #f8fafc);\n  z-index: 25;\n}\n\n/* Filtros sticky */\n.fila-filtros th.col-codigo {\n  position: sticky;\n  left: 0;\n  z-index: 24;\n  background: #f0f9ff !important;\n}\n\n.fila-filtros th.col-descripcion {\n  position: sticky;\n  left: 70px;\n  z-index: 24;\n  background: #f0f9ff !important;\n  border-right: 2px solid var(--border-color, #e2e8f0);\n}\n\n.col-costo {\n  min-width: 55px;\n  width: 55px;\n  text-align: center;\n}\n\n.col-cantidad,\n.col-porcentaje-desc {\n  min-width: 42px;\n  width: 42px;\n  text-align: center;\n}\n\n.col-precio-doble {\n  min-width: 68px;\n  max-width: 78px;\n}\n\n.col-acciones {\n  min-width: 50px;\n  width: 50px;\n  text-align: center;\n  white-space: nowrap;\n}\n\n/* Solo aplicar flex a las celdas td de acciones, no a los th */\ntd.col-acciones {\n  display: flex;\n  flex-wrap: nowrap;\n  justify-content: center;\n  align-items: center;\n  gap: 2px;\n}\n\nth.col-acciones {\n  vertical-align: middle;\n}\n\n/* Estilos base para todos los inputs */\n.input-costo,\n.input-cantidad,\n.input-porcentaje-desc,\n.input-porcentaje,\n.input-precio {\n  width: 100%;\n  padding: 0.15rem 0.1rem;\n  border-radius: 0.2rem;\n  font-size: 0.75rem;\n  text-align: center;\n  border: 1px solid var(--border-color, #e2e8f0);\n}\n\n.input-costo:focus,\n.input-cantidad:focus,\n.input-porcentaje-desc:focus,\n.input-porcentaje:focus,\n.input-precio:focus {\n  outline: none;\n  border-color: var(--primary-color, #3b82f6);\n}\n\n/* Input doble (porcentaje + precio) */\n.precio-doble-input {\n  display: flex;\n  gap: 1px;\n  width: 100%;\n}\n\n.input-porcentaje {\n  border-radius: 0.25rem 0 0 0.25rem;\n  background: #eef2ff;\n  color: #4338ca;\n  border-color: #c7d2fe;\n}\n\n.input-porcentaje:focus {\n  border-color: #6366f1;\n  background: #e0e7ff;\n}\n\n.input-porcentaje::placeholder {\n  color: #a5b4fc;\n  font-size: 0.7rem;\n}\n\n.input-precio {\n  border-radius: 0 0.25rem 0.25rem 0;\n  text-align: right;\n}\n\n/* Input de costo */\n.input-costo {\n  background: #fffbeb;\n  border-color: #fcd34d;\n  font-weight: 500;\n  text-align: center;\n  min-width: 100%;\n  box-sizing: border-box;\n}\n\n.input-costo:focus {\n  border-color: #f59e0b;\n  background: #fef3c7;\n}\n\n/* Input de cantidad */\n.input-cantidad {\n  text-align: center;\n  min-width: 100%;\n  box-sizing: border-box;\n}\n\n/* Input de porcentaje descuento */\n.input-porcentaje-desc {\n  background: #f0fdf4;\n  border-color: #86efac;\n  color: #166534;\n  font-weight: 500;\n  min-width: 100%;\n  box-sizing: border-box;\n}\n\n.input-porcentaje-desc:focus {\n  border-color: #22c55e;\n  background: #dcfce7;\n}\n\n/* Estilos para fila editada */\ntr.editado .input-precio,\ntr.editado .input-cantidad {\n  border-color: #f59e0b;\n  background: #fffbeb;\n}\n\ntr.editado .input-porcentaje-desc {\n  border-color: #22c55e;\n  background: #dcfce7;\n}\n\ntr.editado .input-porcentaje {\n  border-color: #818cf8;\n  background: #e0e7ff;\n}\n\n/* Botones de acción */\n.btn-accion {\n  padding: 0.15rem;\n  border: none;\n  border-radius: 0.2rem;\n  cursor: pointer;\n  transition: all 0.2s;\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  margin: 0;\n  min-width: 20px;\n  height: 20px;\n}\n\n.btn-accion svg {\n  width: 12px;\n  height: 12px;\n}\n\n.btn-accion.guardar {\n  background: #dcfce7;\n  color: #16a34a;\n}\n\n.btn-accion.guardar:hover {\n  background: #16a34a;\n  color: white;\n}\n\n.btn-accion.cancelar {\n  background: #fee2e2;\n  color: #dc2626;\n}\n\n.btn-accion.cancelar:hover {\n  background: #dc2626;\n  color: white;\n}\n\n.btn-accion:disabled {\n  opacity: 0.5;\n  cursor: not-allowed;\n}\n\n/* Sin resultados */\n.sin-resultados {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  padding: 3rem;\n  color: var(--text-secondary, #64748b);\n}\n\n.sin-resultados svg {\n  opacity: 0.3;\n  margin-bottom: 1rem;\n}\n\n/* Carga progresiva */\n.cargando-mas {\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  gap: 0.5rem;\n  padding: 0.5rem;\n  color: var(--primary-color, #3b82f6);\n  font-size: 0.875rem;\n  flex-shrink: 0;\n}\n\n.fin-lista {\n  display: flex;\n  justify-content: center;\n  padding: 0.5rem;\n  color: var(--text-secondary, #94a3b8);\n  font-size: 0.8rem;\n  font-style: italic;\n  flex-shrink: 0;\n}\n\n.mas-productos {\n  color: var(--primary-color, #3b82f6);\n  font-style: italic;\n}\n\n.filtro-activo-badge {\n  display: inline-flex;\n  align-items: center;\n  margin-left: 0.5rem;\n  padding: 0.15rem 0.5rem;\n  background: #dbeafe;\n  color: #1e40af;\n  border-radius: 0.25rem;\n  font-size: 0.7rem;\n  font-weight: 500;\n}\n\n/* Fila de filtros tipo Excel */\n.fila-filtros {\n  background: #f0f9ff !important;\n}\n\n.fila-filtros th {\n  padding: 0.25rem 0.2rem !important;\n  background: #f0f9ff !important;\n  border-bottom: 2px solid #3b82f6 !important;\n}\n\n.filtro-input {\n  width: 100%;\n  padding: 0.2rem 0.3rem;\n  border: 1px solid #93c5fd;\n  border-radius: 0.25rem;\n  font-size: 0.7rem;\n  background: white;\n  color: #1e40af;\n}\n\n.filtro-input:focus {\n  outline: none;\n  border-color: #3b82f6;\n  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);\n}\n\n.filtro-input::placeholder {\n  color: #93c5fd;\n  font-size: 0.65rem;\n}\n\n.filtro-rango {\n  display: flex;\n  gap: 2px;\n}\n\n.filtro-rango .filtro-input {\n  width: 50%;\n  text-align: center;\n  padding: 0.15rem 0.1rem;\n}\n\n.filtro-min {\n  border-radius: 0.25rem 0 0 0.25rem;\n}\n\n.filtro-max {\n  border-radius: 0 0.25rem 0.25rem 0;\n}\n\n/* Botón limpiar filtros en info-bar */\n.btn-limpiar-filtros {\n  display: inline-flex;\n  align-items: center;\n  gap: 0.25rem;\n  margin-left: 0.5rem;\n  padding: 0.15rem 0.5rem;\n  background: #fee2e2;\n  color: #dc2626;\n  border: none;\n  border-radius: 0.25rem;\n  font-size: 0.7rem;\n  cursor: pointer;\n  transition: all 0.2s;\n}\n\n.btn-limpiar-filtros:hover {\n  background: #dc2626;\n  color: white;\n}\n\n/* Spinner */\n.spin {\n  animation: spin 1s linear infinite;\n}\n\n@keyframes spin {\n  from { transform: rotate(0deg); }\n  to { transform: rotate(360deg); }\n}\n\n/* Responsive */\n@media (max-width: 1400px) {\n  .tabla-precios {\n    font-size: 0.75rem;\n  }\n\n  .input-costo,\n  .input-cantidad,\n  .input-porcentaje-desc,\n  .input-porcentaje,\n  .input-precio {\n    padding: 0.1rem 0.05rem;\n    font-size: 0.65rem;\n  }\n\n  .col-precio-doble {\n    min-width: 60px;\n    max-width: 68px;\n  }\n\n  .col-codigo {\n    min-width: 60px;\n    width: 60px;\n    left: 0;\n  }\n\n  .col-descripcion {\n    min-width: 160px;\n    max-width: 200px;\n    left: 60px;\n  }\n\n  .col-costo {\n    min-width: 48px;\n    width: 48px;\n  }\n\n  .col-cantidad,\n  .col-porcentaje-desc {\n    min-width: 38px;\n    width: 38px;\n  }\n}\n\n@media (max-width: 768px) {\n  .cambio-precios-page {\n    padding: 1rem;\n    height: 100vh;\n    max-height: 100vh;\n  }\n\n  .cambio-precios-header {\n    flex-direction: column;\n    align-items: flex-start;\n  }\n\n  .filtros-container {\n    flex-direction: column;\n  }\n\n  .filtro-grupo {\n    width: 100%;\n  }\n\n  .filtro-grupo select,\n  .filtro-grupo input {\n    min-width: 100%;\n  }\n\n  .leyenda-precios {\n    flex-direction: column;\n    gap: 0.5rem;\n  }\n}\n",".precios-ray-page {\r\n  padding: 1.5rem;\r\n  max-width: 100%;\r\n  height: 100vh;\r\n  max-height: 100vh;\r\n  display: flex;\r\n  flex-direction: column;\r\n  overflow: hidden;\r\n  box-sizing: border-box;\r\n}\r\n\r\n\r\n/* Acciones pendientes en filtros */\r\n.precios-ray-page .filtro-grupo.acciones-pendientes {\r\n  margin-left: auto;\r\n  flex-direction: row;\r\n  align-items: flex-end;\r\n}\r\n\r\n.precios-ray-page .filtro-grupo.acciones-pendientes label {\r\n  display: none;\r\n}\r\n\r\n.precios-ray-page .acciones-btns {\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 0.5rem;\r\n  height: 38px;\r\n}\r\n\r\n.precios-ray-page .acciones-btns .cambios-pendientes {\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 0.35rem;\r\n  padding: 0.5rem 0.75rem;\r\n  background: #fef3c7;\r\n  color: #92400e;\r\n  border-radius: 0.375rem;\r\n  font-size: 0.96rem;\r\n  font-weight: 600;\r\n  height: 100%;\r\n  box-sizing: border-box;\r\n}\r\n\r\n.precios-ray-page .acciones-btns button {\r\n  height: 38px;\r\n  padding: 0 1rem;\r\n  font-size: 1.05rem;\r\n  white-space: nowrap;\r\n}\r\n\r\n/* Filtros */\r\n.precios-ray-page .filtros-container {\r\n  display: flex;\r\n  gap: 1rem;\r\n  margin-bottom: 0.75rem;\r\n  flex-wrap: wrap;\r\n  padding: 1rem;\r\n  background: var(--bg-secondary, #f8fafc);\r\n  border-radius: 0.5rem;\r\n  flex-shrink: 0;\r\n}\r\n\r\n.precios-ray-page .filtro-grupo {\r\n  display: flex;\r\n  flex-direction: column;\r\n  gap: 0.25rem;\r\n}\r\n\r\n.precios-ray-page .filtro-grupo label {\r\n  font-size: 0.9rem;\r\n  font-weight: 500;\r\n  color: var(--text-secondary, #64748b);\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 0.25rem;\r\n}\r\n\r\n.precios-ray-page .filtro-grupo select,\r\n.precios-ray-page .filtro-grupo input {\r\n  padding: 0.5rem 0.75rem;\r\n  border: 1px solid var(--border-color, #e2e8f0);\r\n  border-radius: 0.375rem;\r\n  font-size: 1.05rem;\r\n  background: white;\r\n  min-width: 180px;\r\n}\r\n\r\n.precios-ray-page .filtro-grupo.busqueda {\r\n  flex: 1;\r\n  min-width: 250px;\r\n}\r\n\r\n.precios-ray-page .filtro-grupo.porcentaje-base {\r\n  min-width: 100px;\r\n}\r\n\r\n.precios-ray-page .filtro-grupo.porcentaje-base .input-porcentaje-base {\r\n  width: 80px;\r\n  min-width: 80px;\r\n  text-align: center;\r\n  font-weight: 600;\r\n}\r\n\r\n.precios-ray-page .busqueda-input {\r\n  display: flex;\r\n  gap: 0.5rem;\r\n}\r\n\r\n.precios-ray-page .busqueda-input input {\r\n  flex: 1;\r\n}\r\n\r\n/* Leyenda */\r\n.precios-ray-page .leyenda-precios {\r\n  display: flex;\r\n  gap: 2rem;\r\n  padding: 0.5rem 1rem;\r\n  background: #eff6ff;\r\n  border-radius: 0.375rem;\r\n  font-size: 0.9rem;\r\n  color: #1e40af;\r\n  margin-bottom: 0.5rem;\r\n}\r\n\r\n.precios-ray-page .leyenda-precios span {\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 0.35rem;\r\n}\r\n\r\n.precios-ray-page .leyenda-precios .leyenda-descuento {\r\n  color: #166534;\r\n  background: #f0fdf4;\r\n  padding: 0.25rem 0.5rem;\r\n  border-radius: 0.25rem;\r\n}\r\n\r\n/* Info bar */\r\n.precios-ray-page .info-bar {\r\n  display: flex;\r\n  justify-content: space-between;\r\n  padding: 0.5rem 1rem;\r\n  background: var(--bg-secondary, #f1f5f9);\r\n  border-radius: 0.375rem;\r\n  font-size: 0.9rem;\r\n  color: var(--text-secondary, #64748b);\r\n  margin-bottom: 0.75rem;\r\n  flex-shrink: 0;\r\n}\r\n\r\n/* Scrollbar superior sincronizado */\r\n.precios-ray-page .top-scroll-wrapper {\r\n  overflow-x: auto;\r\n  overflow-y: hidden;\r\n  height: 12px;\r\n  background: var(--bg-secondary, #f8fafc);\r\n  border: 1px solid var(--border-color, #e2e8f0);\r\n  border-bottom: none;\r\n  border-radius: 0.5rem 0.5rem 0 0;\r\n  flex-shrink: 0;\r\n}\r\n\r\n.precios-ray-page .top-scroll-content {\r\n  height: 1px;\r\n}\r\n\r\n/* Tabla de precios */\r\n.precios-ray-page .tabla-precios-container {\r\n  overflow: auto;\r\n  background: white;\r\n  border-radius: 0 0 0.5rem 0.5rem;\r\n  border: 1px solid var(--border-color, #e2e8f0);\r\n  flex: 1;\r\n  min-height: 0;\r\n}\r\n\r\n.precios-ray-page .tabla-precios {\r\n  width: 100%;\r\n  min-width: 100%;\r\n  table-layout: auto;\r\n  border-collapse: separate;\r\n  border-spacing: 0;\r\n  font-size: 1.02rem;\r\n}\r\n\r\n.precios-ray-page .tabla-precios thead {\r\n  position: sticky;\r\n  top: 0;\r\n  z-index: 20;\r\n}\r\n\r\n.precios-ray-page .tabla-precios thead tr:first-child th {\r\n  background: var(--bg-secondary, #f8fafc);\r\n  padding: 0.5rem 0.35rem;\r\n  text-align: left;\r\n  font-weight: 600;\r\n  color: var(--text-secondary, #475569);\r\n  border-bottom: 2px solid var(--border-color, #e2e8f0);\r\n  white-space: nowrap;\r\n}\r\n\r\n.precios-ray-page .tabla-precios thead tr.fila-filtros th {\r\n  position: sticky;\r\n  top: 38px;\r\n  z-index: 19;\r\n}\r\n\r\n.precios-ray-page .tabla-precios th {\r\n  background: var(--bg-secondary, #f8fafc);\r\n  padding: 0.5rem 0.35rem;\r\n  text-align: left;\r\n  font-weight: 600;\r\n  color: var(--text-secondary, #475569);\r\n  white-space: nowrap;\r\n}\r\n\r\n.precios-ray-page .tabla-precios td {\r\n  padding: 0.35rem;\r\n  border-bottom: 1px solid var(--border-color, #e2e8f0);\r\n  vertical-align: middle;\r\n}\r\n\r\n.precios-ray-page .tabla-precios tr:hover {\r\n  background: var(--bg-hover, #f8fafc);\r\n}\r\n\r\n.precios-ray-page .tabla-precios tr:hover .col-codigo,\r\n.precios-ray-page .tabla-precios tr:hover .col-descripcion {\r\n  background: var(--bg-hover, #f8fafc);\r\n}\r\n\r\n.precios-ray-page .tabla-precios tr.editado {\r\n  background: #fefce8;\r\n}\r\n\r\n.precios-ray-page .tabla-precios tr.editado .col-codigo,\r\n.precios-ray-page .tabla-precios tr.editado .col-descripcion {\r\n  background: #fefce8;\r\n}\r\n\r\n.precios-ray-page .tabla-precios tr.editado:hover {\r\n  background: #fef9c3;\r\n}\r\n\r\n.precios-ray-page .tabla-precios tr.editado:hover .col-codigo,\r\n.precios-ray-page .tabla-precios tr.editado:hover .col-descripcion {\r\n  background: #fef9c3;\r\n}\r\n\r\n/* Header de precio con subetiqueta */\r\n.precios-ray-page .header-precio {\r\n  display: flex;\r\n  flex-direction: column;\r\n  align-items: center;\r\n  justify-content: center;\r\n  gap: 0.1rem;\r\n  width: 100%;\r\n  text-align: center;\r\n}\r\n\r\n.precios-ray-page .header-precio span {\r\n  font-size: 0.9rem;\r\n  white-space: nowrap;\r\n}\r\n\r\n.precios-ray-page .header-precio small {\r\n  font-size: 0.72rem;\r\n  color: #94a3b8;\r\n  font-weight: normal;\r\n}\r\n\r\n/* Columnas fijas */\r\n.precios-ray-page .col-codigo {\r\n  min-width: 70px;\r\n  width: 70px;\r\n  font-family: monospace;\r\n  font-size: 0.8rem;\r\n  position: sticky;\r\n  left: 0;\r\n  background: white;\r\n  z-index: 2;\r\n}\r\n\r\n.precios-ray-page .col-descripcion {\r\n  min-width: 200px;\r\n  max-width: 280px;\r\n  font-size: 1.12rem;\r\n  overflow: visible;\r\n  text-overflow: ellipsis;\r\n  white-space: nowrap;\r\n  position: sticky;\r\n  left: 70px;\r\n  background: white;\r\n  z-index: 2;\r\n  border-right: 2px solid var(--border-color, #e2e8f0);\r\n  box-shadow: 4px 0 8px -4px rgba(0,0,0,0.1);\r\n}\r\n\r\n.precios-ray-page .col-descripcion > span.equivalencia-badge {\r\n  display: inline-flex;\r\n  margin-left: 0.35rem;\r\n  padding: 0.1rem 0.35rem;\r\n  background: #dbeafe;\r\n  color: #1e40af;\r\n  border-radius: 0.25rem;\r\n  font-size: 0.78rem;\r\n  font-weight: 600;\r\n  vertical-align: middle;\r\n}\r\n\r\n/* Headers fijos (sticky en ambos ejes) */\r\n.precios-ray-page .tabla-precios thead th.col-codigo {\r\n  position: sticky;\r\n  left: 0;\r\n  background: var(--bg-secondary, #f8fafc);\r\n  z-index: 25;\r\n}\r\n\r\n.precios-ray-page .tabla-precios thead th.col-descripcion {\r\n  position: sticky;\r\n  left: 70px;\r\n  background: var(--bg-secondary, #f8fafc);\r\n  z-index: 25;\r\n}\r\n\r\n/* Filtros sticky */\r\n.precios-ray-page .fila-filtros th.col-codigo {\r\n  position: sticky;\r\n  left: 0;\r\n  z-index: 24;\r\n  background: #f0f9ff !important;\r\n}\r\n\r\n.precios-ray-page .fila-filtros th.col-descripcion {\r\n  position: sticky;\r\n  left: 70px;\r\n  z-index: 24;\r\n  background: #f0f9ff !important;\r\n  border-right: 2px solid var(--border-color, #e2e8f0);\r\n}\r\n\r\n.precios-ray-page .col-costo {\r\n  min-width: 55px;\r\n  width: 55px;\r\n  text-align: center;\r\n}\r\n\r\n.precios-ray-page .col-cantidad,\r\n.precios-ray-page .col-porcentaje-desc {\r\n  min-width: 42px;\r\n  width: 42px;\r\n  text-align: center;\r\n}\r\n\r\n.precios-ray-page .col-precio-doble {\r\n  min-width: 68px;\r\n  max-width: 78px;\r\n}\r\n\r\n/* Columna % Subir Base */\r\n.precios-ray-page .col-porcentaje-base {\r\n  min-width: 50px;\r\n  width: 50px;\r\n  text-align: center;\r\n}\r\n\r\n.precios-ray-page .input-porcentaje-base {\r\n  width: 100%;\r\n  padding: 0.15rem 0.1rem;\r\n  border: 1px solid #a78bfa;\r\n  border-radius: 0.25rem;\r\n  font-size: 0.9rem;\r\n  text-align: center;\r\n  font-weight: 500;\r\n  background: #ede9fe;\r\n  color: #5b21b6;\r\n  box-sizing: border-box;\r\n}\r\n\r\n.precios-ray-page .input-porcentaje-base:focus {\r\n  outline: none;\r\n  border-color: #7c3aed;\r\n  background: #ddd6fe;\r\n}\r\n\r\n.precios-ray-page .input-porcentaje-base::placeholder {\r\n  color: #a78bfa;\r\n  font-size: 0.84rem;\r\n}\r\n\r\n.precios-ray-page tr.editado .input-porcentaje-base {\r\n  border-color: #7c3aed;\r\n  background: #ddd6fe;\r\n}\r\n\r\n.precios-ray-page .sin-equivalencia {\r\n  display: block;\r\n  text-align: center;\r\n  color: #94a3b8;\r\n  font-size: 0.9rem;\r\n}\r\n\r\n/* Columna Precio Publico */\r\n.precios-ray-page .col-precio-publico {\r\n  min-width: 70px;\r\n  width: 70px;\r\n  text-align: center;\r\n}\r\n\r\n.precios-ray-page .input-precio-publico {\r\n  width: 100%;\r\n  padding: 0.15rem 0.1rem;\r\n  border: 1px solid #f97316;\r\n  border-radius: 0.25rem;\r\n  font-size: 0.9rem;\r\n  text-align: center;\r\n  font-weight: 600;\r\n  background: #fff7ed;\r\n  color: #c2410c;\r\n  box-sizing: border-box;\r\n}\r\n\r\n.precios-ray-page .input-precio-publico:focus {\r\n  outline: none;\r\n  border-color: #ea580c;\r\n  background: #ffedd5;\r\n}\r\n\r\n.precios-ray-page tr.editado .input-precio-publico {\r\n  border-color: #ea580c;\r\n  background: #ffedd5;\r\n}\r\n\r\n.precios-ray-page .col-acciones {\r\n  min-width: 50px;\r\n  width: 50px;\r\n  text-align: center;\r\n  white-space: nowrap;\r\n}\r\n\r\n/* Solo aplicar flex a las celdas td de acciones, no a los th */\r\n.precios-ray-page td.col-acciones {\r\n  display: flex;\r\n  flex-wrap: nowrap;\r\n  justify-content: center;\r\n  align-items: center;\r\n  gap: 2px;\r\n}\r\n\r\n.precios-ray-page th.col-acciones {\r\n  vertical-align: middle;\r\n}\r\n\r\n/* Estilos base para todos los inputs */\r\n.precios-ray-page .input-costo,\r\n.precios-ray-page .input-cantidad,\r\n.precios-ray-page .input-porcentaje-desc,\r\n.precios-ray-page .input-porcentaje-base,\r\n.precios-ray-page .input-precio-publico,\r\n.precios-ray-page .input-porcentaje,\r\n.precios-ray-page .input-precio {\r\n  width: 100%;\r\n  padding: 0.15rem 0.1rem;\r\n  border-radius: 0.2rem;\r\n  font-size: 0.9rem;\r\n  text-align: center;\r\n  border: 1px solid var(--border-color, #e2e8f0);\r\n}\r\n\r\n.precios-ray-page .input-costo:focus,\r\n.precios-ray-page .input-cantidad:focus,\r\n.precios-ray-page .input-porcentaje-desc:focus,\r\n.precios-ray-page .input-porcentaje-base:focus,\r\n.precios-ray-page .input-precio-publico:focus,\r\n.precios-ray-page .input-porcentaje:focus,\r\n.precios-ray-page .input-precio:focus {\r\n  outline: none;\r\n  border-color: var(--primary-color, #3b82f6);\r\n}\r\n\r\n/* Input doble (porcentaje + precio) */\r\n.precios-ray-page .precio-doble-input {\r\n  display: flex;\r\n  gap: 1px;\r\n  width: 100%;\r\n}\r\n\r\n.precios-ray-page .input-porcentaje {\r\n  border-radius: 0.25rem 0 0 0.25rem;\r\n  background: #eef2ff;\r\n  color: #4338ca;\r\n  border-color: #c7d2fe;\r\n}\r\n\r\n.precios-ray-page .input-porcentaje:focus {\r\n  border-color: #6366f1;\r\n  background: #e0e7ff;\r\n}\r\n\r\n.precios-ray-page .input-porcentaje::placeholder {\r\n  color: #a5b4fc;\r\n  font-size: 0.84rem;\r\n}\r\n\r\n.precios-ray-page .input-precio {\r\n  border-radius: 0 0.25rem 0.25rem 0;\r\n  text-align: right;\r\n}\r\n\r\n/* Input de costo */\r\n.precios-ray-page .input-costo {\r\n  background: #fffbeb;\r\n  border-color: #fcd34d;\r\n  font-weight: 500;\r\n  text-align: center;\r\n  min-width: 100%;\r\n  box-sizing: border-box;\r\n}\r\n\r\n.precios-ray-page .input-costo:focus {\r\n  border-color: #f59e0b;\r\n  background: #fef3c7;\r\n}\r\n\r\n/* Input de cantidad */\r\n.precios-ray-page .input-cantidad {\r\n  text-align: center;\r\n  min-width: 100%;\r\n  box-sizing: border-box;\r\n}\r\n\r\n/* Input de porcentaje descuento */\r\n.precios-ray-page .input-porcentaje-desc {\r\n  background: #f0fdf4;\r\n  border-color: #86efac;\r\n  color: #166534;\r\n  font-weight: 500;\r\n  min-width: 100%;\r\n  box-sizing: border-box;\r\n}\r\n\r\n.precios-ray-page .input-porcentaje-desc:focus {\r\n  border-color: #22c55e;\r\n  background: #dcfce7;\r\n}\r\n\r\n/* Estilos para fila editada */\r\n.precios-ray-page tr.editado .input-precio,\r\n.precios-ray-page tr.editado .input-cantidad {\r\n  border-color: #f59e0b;\r\n  background: #fffbeb;\r\n}\r\n\r\n.precios-ray-page tr.editado .input-porcentaje-desc {\r\n  border-color: #22c55e;\r\n  background: #dcfce7;\r\n}\r\n\r\n.precios-ray-page tr.editado .input-porcentaje {\r\n  border-color: #818cf8;\r\n  background: #e0e7ff;\r\n}\r\n\r\n/* Botones de acción */\r\n.precios-ray-page .btn-accion {\r\n  padding: 0.15rem;\r\n  border: none;\r\n  border-radius: 0.2rem;\r\n  cursor: pointer;\r\n  transition: all 0.2s;\r\n  display: inline-flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  margin: 0;\r\n  min-width: 20px;\r\n  height: 20px;\r\n}\r\n\r\n.precios-ray-page .btn-accion svg {\r\n  width: 12px;\r\n  height: 12px;\r\n}\r\n\r\n.precios-ray-page .btn-accion.guardar {\r\n  background: #dcfce7;\r\n  color: #16a34a;\r\n}\r\n\r\n.precios-ray-page .btn-accion.guardar:hover {\r\n  background: #16a34a;\r\n  color: white;\r\n}\r\n\r\n.precios-ray-page .btn-accion.cancelar {\r\n  background: #fee2e2;\r\n  color: #dc2626;\r\n}\r\n\r\n.precios-ray-page .btn-accion.cancelar:hover {\r\n  background: #dc2626;\r\n  color: white;\r\n}\r\n\r\n.precios-ray-page .btn-accion:disabled {\r\n  opacity: 0.5;\r\n  cursor: not-allowed;\r\n}\r\n\r\n/* Sin resultados */\r\n.precios-ray-page .sin-resultados {\r\n  display: flex;\r\n  flex-direction: column;\r\n  align-items: center;\r\n  justify-content: center;\r\n  padding: 3rem;\r\n  color: var(--text-secondary, #64748b);\r\n}\r\n\r\n.precios-ray-page .sin-resultados svg {\r\n  opacity: 0.3;\r\n  margin-bottom: 1rem;\r\n}\r\n\r\n/* Carga progresiva */\r\n.precios-ray-page .cargando-mas {\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  gap: 0.5rem;\r\n  padding: 0.5rem;\r\n  color: var(--primary-color, #3b82f6);\r\n  font-size: 1.05rem;\r\n  flex-shrink: 0;\r\n}\r\n\r\n.precios-ray-page .fin-lista {\r\n  display: flex;\r\n  justify-content: center;\r\n  padding: 0.5rem;\r\n  color: var(--text-secondary, #94a3b8);\r\n  font-size: 0.96rem;\r\n  font-style: italic;\r\n  flex-shrink: 0;\r\n}\r\n\r\n.precios-ray-page .mas-productos {\r\n  color: var(--primary-color, #3b82f6);\r\n  font-style: italic;\r\n}\r\n\r\n.precios-ray-page .filtro-activo-badge {\r\n  display: inline-flex;\r\n  align-items: center;\r\n  margin-left: 0.5rem;\r\n  padding: 0.15rem 0.5rem;\r\n  background: #dbeafe;\r\n  color: #1e40af;\r\n  border-radius: 0.25rem;\r\n  font-size: 0.84rem;\r\n  font-weight: 500;\r\n}\r\n\r\n/* Fila de filtros tipo Excel */\r\n.precios-ray-page .fila-filtros {\r\n  background: #f0f9ff !important;\r\n}\r\n\r\n.precios-ray-page .fila-filtros th {\r\n  padding: 0.25rem 0.2rem !important;\r\n  background: #f0f9ff !important;\r\n  border-bottom: 2px solid #3b82f6 !important;\r\n}\r\n\r\n.precios-ray-page .filtro-input {\r\n  width: 100%;\r\n  padding: 0.2rem 0.3rem;\r\n  border: 1px solid #93c5fd;\r\n  border-radius: 0.25rem;\r\n  font-size: 0.84rem;\r\n  background: white;\r\n  color: #1e40af;\r\n}\r\n\r\n.precios-ray-page .filtro-input:focus {\r\n  outline: none;\r\n  border-color: #3b82f6;\r\n  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);\r\n}\r\n\r\n.precios-ray-page .filtro-input::placeholder {\r\n  color: #93c5fd;\r\n  font-size: 0.78rem;\r\n}\r\n\r\n.precios-ray-page .filtro-rango {\r\n  display: flex;\r\n  gap: 2px;\r\n}\r\n\r\n.precios-ray-page .filtro-rango .filtro-input {\r\n  width: 50%;\r\n  text-align: center;\r\n  padding: 0.15rem 0.1rem;\r\n}\r\n\r\n.precios-ray-page .filtro-min {\r\n  border-radius: 0.25rem 0 0 0.25rem;\r\n}\r\n\r\n.precios-ray-page .filtro-max {\r\n  border-radius: 0 0.25rem 0.25rem 0;\r\n}\r\n\r\n/* Botón limpiar filtros en info-bar */\r\n.precios-ray-page .btn-limpiar-filtros {\r\n  display: inline-flex;\r\n  align-items: center;\r\n  gap: 0.25rem;\r\n  margin-left: 0.5rem;\r\n  padding: 0.15rem 0.5rem;\r\n  background: #fee2e2;\r\n  color: #dc2626;\r\n  border: none;\r\n  border-radius: 0.25rem;\r\n  font-size: 0.84rem;\r\n  cursor: pointer;\r\n  transition: all 0.2s;\r\n}\r\n\r\n.precios-ray-page .btn-limpiar-filtros:hover {\r\n  background: #dc2626;\r\n  color: white;\r\n}\r\n\r\n/* Spinner */\r\n.precios-ray-page .spin {\r\n  animation: spin 1s linear infinite;\r\n}\r\n\r\n@keyframes spin {\r\n  from { transform: rotate(0deg); }\r\n  to { transform: rotate(360deg); }\r\n}\r\n\r\n/* Responsive */\r\n@media (max-width: 1400px) {\r\n  .precios-ray-page .tabla-precios {\r\n    font-size: 0.9rem;\r\n  }\r\n\r\n  .precios-ray-page .input-costo,\r\n  .precios-ray-page .input-cantidad,\r\n  .precios-ray-page .input-porcentaje-desc,\r\n  .precios-ray-page .input-porcentaje-base,\r\n  .precios-ray-page .input-precio-publico,\r\n  .precios-ray-page .input-porcentaje,\r\n  .precios-ray-page .input-precio {\r\n    padding: 0.1rem 0.05rem;\r\n    font-size: 0.78rem;\r\n  }\r\n\r\n  .precios-ray-page .col-precio-doble {\r\n    min-width: 60px;\r\n    max-width: 68px;\r\n  }\r\n\r\n  .precios-ray-page .col-codigo {\r\n    min-width: 60px;\r\n    width: 60px;\r\n    left: 0;\r\n  }\r\n\r\n  .precios-ray-page .col-descripcion {\r\n    min-width: 160px;\r\n    max-width: 200px;\r\n    left: 60px;\r\n  }\r\n\r\n  .precios-ray-page .col-costo {\r\n    min-width: 48px;\r\n    width: 48px;\r\n  }\r\n\r\n  .precios-ray-page .col-cantidad,\r\n  .precios-ray-page .col-porcentaje-desc,\r\n  .precios-ray-page .col-porcentaje-base {\r\n    min-width: 38px;\r\n    width: 38px;\r\n  }\r\n}\r\n\r\n@media (max-width: 768px) {\r\n  .precios-ray-page {\r\n    padding: 1rem;\r\n    height: 100vh;\r\n    max-height: 100vh;\r\n  }\r\n\r\n  .precios-ray-page .cambio-precios-header {\r\n    flex-direction: column;\r\n    align-items: flex-start;\r\n  }\r\n\r\n  .precios-ray-page .filtros-container {\r\n    flex-direction: column;\r\n  }\r\n\r\n  .precios-ray-page .filtro-grupo {\r\n    width: 100%;\r\n  }\r\n\r\n  .precios-ray-page .filtro-grupo select,\r\n  .precios-ray-page .filtro-grupo input {\r\n    min-width: 100%;\r\n  }\r\n\r\n  .precios-ray-page .leyenda-precios {\r\n    flex-direction: column;\r\n    gap: 0.5rem;\r\n  }\r\n}\r\n\r\n/* ========== Drag-to-Fill ========== */\r\n\r\n/* Wrapper for inputs with individual drag handles */\r\n.precios-ray-page .input-drag-wrapper {\r\n  position: relative;\r\n  flex: 1;\r\n  min-width: 0;\r\n}\r\n\r\n/* Handle: small blue square at bottom-right of each input */\r\n.precios-ray-page .drag-fill-handle {\r\n  position: absolute;\r\n  bottom: -3px;\r\n  right: -3px;\r\n  width: 6px;\r\n  height: 6px;\r\n  background: #3b82f6;\r\n  cursor: crosshair;\r\n  z-index: 5;\r\n  display: none;\r\n  border-radius: 1px;\r\n}\r\n\r\n/* Show handle on cell hover or focus-within */\r\n.precios-ray-page td:hover > .drag-fill-handle,\r\n.precios-ray-page td:focus-within > .drag-fill-handle,\r\n.precios-ray-page .input-drag-wrapper:hover > .drag-fill-handle,\r\n.precios-ray-page .input-drag-wrapper:focus-within > .drag-fill-handle {\r\n  display: block;\r\n}\r\n\r\n/* Highlighted rows during drag */\r\n.precios-ray-page tr.drag-highlight {\r\n  background: #dbeafe !important;\r\n}\r\n\r\n.precios-ray-page tr.drag-highlight .col-codigo,\r\n.precios-ray-page tr.drag-highlight .col-descripcion {\r\n  background: #dbeafe !important;\r\n}\r\n\r\n/* Origin row during drag */\r\n.precios-ray-page tr.drag-origin {\r\n  outline: 2px solid #3b82f6;\r\n  outline-offset: -2px;\r\n}\r\n\r\n/* Disable text selection globally during drag */\r\nbody.drag-filling {\r\n  user-select: none !important;\r\n  -webkit-user-select: none !important;\r\n  cursor: crosshair !important;\r\n}\r\n\r\nbody.drag-filling * {\r\n  cursor: crosshair !important;\r\n}\r\n","/* AddressInput específico para autocompletado de Google Places */\n\n.address-input-container {\n    position: relative;\n    width: 100%;\n}\n\n/* Wrapper para controlar el ancho completo */\n.address-input-wrapper {\n    width: 100%;\n    flex: 1;\n    min-width: 0;\n    display: flex;\n}\n\n/* Asegurar que el div del Autocomplete también tome todo el ancho */\n.address-input-wrapper > div {\n    width: 100%;\n    flex: 1;\n}\n\n/* Estilos del input para que coincida EXACTAMENTE con input-field del componente Input */\n.address-autocomplete-input {\n    width: 100%;\n    padding: 0.75rem 1rem; /* Igual que .input-field */\n    border: 0.0625rem solid var(--gray-300, #d1d5db);\n    border-radius: var(--radius-md, 0.375rem);\n    font-size: var(--text-base, 1rem);\n    color: var(--gray-900, #111827);\n    background: white;\n    transition: all var(--transition-base, 0.15s ease);\n    outline: none;\n    min-width: 0;\n    flex: 1;\n    font-family: inherit;\n    box-sizing: border-box;\n}\n\n.address-autocomplete-input::placeholder {\n    color: var(--gray-400, #9ca3af);\n}\n\n.address-autocomplete-input:focus {\n    border-color: var(--primary-500, #3b82f6);\n    box-shadow: 0 0 0 0.1875rem rgba(59, 130, 246, 0.1);\n    outline: none;\n}\n\n.address-autocomplete-input:disabled {\n    background: var(--gray-50, #f9fafb);\n    color: var(--gray-500, #6b7280);\n    cursor: not-allowed;\n}\n\n.address-autocomplete-input::placeholder {\n    color: #9ca3af;\n    opacity: 1;\n}\n\n/* Asegurar que el autocompletado de Google Places tenga el estilo correcto */\n.pac-container {\n    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',\n        'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',\n        sans-serif;\n    border-radius: 0.375rem;\n    margin-top: 0.25rem;\n    box-shadow: 0 0.25rem 0.375rem -0.0625rem rgba(0, 0, 0, 0.1), 0 0.125rem 0.25rem -0.0625rem rgba(0, 0, 0, 0.06);\n    border: 0.0625rem solid #e5e7eb;\n    z-index: 10000 !important;\n}\n\n.pac-item {\n    padding: 0.5rem 0.75rem;\n    font-size: 0.875rem;\n    color: #374151;\n    cursor: pointer;\n    border: none;\n    line-height: 1.5;\n}\n\n.pac-item:hover {\n    background-color: #f3f4f6;\n}\n\n.pac-item-selected {\n    background-color: #dbeafe !important;\n}\n\n.pac-item-query {\n    font-size: 0.875rem;\n    color: #1f2937;\n}\n\n.pac-matched {\n    font-weight: 600;\n    color: #3b82f6;\n}\n\n.pac-icon {\n    margin-top: 0.125rem;\n}\n\n/* Ajustes para el dropdown de autocompletado en modales */\n.pac-container:after {\n    background-image: none !important;\n    height: 0;\n}\n",".map-viewer {\n    position: relative;\n    width: 100%;\n    height: 100%;\n    min-height: 40.625rem;\n    border-radius: 0.5rem;\n    overflow: hidden;\n    border: 0.0625rem solid #e5e7eb;\n}\n\n.map-viewer-loading,\n.map-viewer-empty {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    height: 100%;\n    min-height: 40.625rem;\n    background: #f9fafb;\n    border-radius: 0.5rem;\n    color: #6b7280;\n    gap: 1rem;\n}\n\n.map-viewer-empty svg,\n.map-viewer-loading svg {\n    color: #9ca3af;\n}\n\n.map-viewer-empty h3 {\n    margin: 0;\n    font-size: 1.125rem;\n    font-weight: 600;\n    color: #374151;\n}\n\n.map-viewer-empty p {\n    margin: 0;\n    font-size: 0.875rem;\n    color: #6b7280;\n    text-align: center;\n    max-width: 15.625rem;\n}\n\n.map-viewer-overlay {\n    position: absolute;\n    top: 50%;\n    left: 50%;\n    transform: translate(-50%, -50%);\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    background: rgba(255, 255, 255, 0.95);\n    padding: 2rem;\n    border-radius: 0.5rem;\n    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.15);\n    color: #6b7280;\n    gap: 1rem;\n    z-index: 10;\n    pointer-events: none;\n}\n\n.map-viewer-overlay svg {\n    color: #9ca3af;\n}\n\n.map-viewer-overlay h3 {\n    margin: 0;\n    font-size: 1.125rem;\n    font-weight: 600;\n    color: #374151;\n}\n\n.map-viewer-overlay p {\n    margin: 0;\n    font-size: 0.875rem;\n    color: #6b7280;\n    text-align: center;\n    max-width: 15.625rem;\n}\n\n.map-selection-indicator {\n    position: absolute;\n    top: 1rem;\n    left: 50%;\n    transform: translateX(-50%);\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    background: #10b981;\n    color: white;\n    padding: 0.75rem 1.5rem;\n    border-radius: 0.5rem;\n    box-shadow: 0 0.25rem 0.75rem rgba(16, 185, 129, 0.3);\n    font-weight: 500;\n    font-size: 0.875rem;\n    z-index: 10;\n    pointer-events: none;\n    animation: pulse 2s infinite;\n}\n\n@keyframes pulse {\n    0%, 100% {\n        box-shadow: 0 0.25rem 0.75rem rgba(16, 185, 129, 0.3);\n    }\n    50% {\n        box-shadow: 0 0.25rem 1.25rem rgba(16, 185, 129, 0.5);\n    }\n}\n\n.map-viewer-legend {\n    position: absolute;\n    bottom: 1rem;\n    left: 1rem;\n    background: white;\n    padding: 0.75rem 1rem;\n    border-radius: 0.5rem;\n    box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.15);\n    display: flex;\n    flex-direction: column;\n    gap: 0.5rem;\n    z-index: 10;\n}\n\n.legend-item {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    font-size: 0.875rem;\n    color: #374151;\n}\n\n.legend-marker {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 1.5rem;\n    height: 1.5rem;\n    background: #ef4444;\n    color: white;\n    border-radius: 50%;\n    font-weight: bold;\n    font-size: 0.75rem;\n    border: 0.125rem solid white;\n    box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.2);\n}\n\n.legend-marker.principal {\n    background: #3b82f6;\n    font-size: 0.875rem;\n}\n\n/* Responsive */\n@media (max-width: 48rem) {\n    .map-viewer {\n        min-height: 18.75rem;\n    }\n\n    .map-viewer-loading,\n    .map-viewer-empty {\n        min-height: 18.75rem;\n    }\n\n    .map-viewer-legend {\n        bottom: 0.5rem;\n        left: 0.5rem;\n        padding: 0.5rem 0.75rem;\n    }\n}\n","/* Tabs del formulario */\n.customer-tabs {\n    display: flex;\n    gap: 0.5rem;\n    background: #f8f9fa;\n    padding: 0.75rem;\n    border-radius: 0.5rem 0.5rem 0 0;\n    border-bottom: 0.125rem solid #e5e7eb;\n}\n\n.customer-tab {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    padding: 0.625rem 1.25rem;\n    border: none;\n    background: white;\n    color: #6b7280;\n    font-size: 0.875rem;\n    font-weight: 500;\n    border-radius: 0.375rem;\n    cursor: pointer;\n    transition: all 0.2s ease;\n    white-space: nowrap;\n    border: 0.0625rem solid transparent;\n}\n\n.customer-tab:hover {\n    background: #f3f4f6;\n    color: #374151;\n}\n\n.customer-tab.active {\n    background: white;\n    color: #667eea;\n    border-color: #667eea;\n    font-weight: 600;\n    box-shadow: 0 0.0625rem 0.1875rem rgba(102, 126, 234, 0.15);\n}\n\n.customer-tab svg {\n    flex-shrink: 0;\n}\n\n.tab-badge {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    min-width: 1.25rem;\n    height: 1.25rem;\n    padding: 0 0.375rem;\n    background: #667eea;\n    color: white;\n    font-size: 0.6875rem;\n    font-weight: 600;\n    border-radius: 0.625rem;\n    margin-left: 0.25rem;\n}\n\n.customer-tab.active .tab-badge {\n    background: #4f46e5;\n}\n\n.customer-form {\n    max-width: 50rem;\n    margin: 0 auto;\n}\n\n.form-content {\n    display: flex;\n    flex-direction: column;\n    gap: 1.5rem;\n    margin-bottom: 2rem;\n}\n\n/* Secciones del formulario */\n.form-section {\n    background: #f8f9fa;\n    border-radius: 0.5rem;\n    padding: 1.25rem;\n    border: 0.0625rem solid #e9ecef;\n}\n\n.section-title {\n    margin: 0 0 1rem 0;\n    font-size: 1rem;\n    font-weight: 600;\n    color: #2d3748;\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n}\n\n.section-title::before {\n    content: '';\n    width: 0.25rem;\n    height: 1rem;\n    background: #667eea;\n    border-radius: 0.125rem;\n}\n\n/* Filas del formulario */\n.form-row {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 1rem;\n    margin-bottom: 1rem;\n}\n\n.form-row:last-child {\n    margin-bottom: 0;\n}\n\n/* Fila compacta para menos campos */\n.form-row-compact {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 0.75rem;\n    margin-bottom: 0.75rem;\n}\n\n.form-group {\n    display: flex;\n    flex-direction: column;\n}\n\n.form-group.full-width {\n    grid-column: 1 / -1;\n}\n\n/* Labels de checkbox */\n.checkbox-label {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    cursor: pointer;\n    user-select: none;\n    font-size: 0.875rem;\n    color: #2d3748;\n}\n\n.checkbox-label input[type=\"checkbox\"] {\n    width: 1rem;\n    height: 1rem;\n    accent-color: #667eea;\n    cursor: pointer;\n}\n\n.checkbox-text {\n    font-weight: 500;\n}\n\n/* Botones de acción */\n.form-actions {\n    display: flex;\n    justify-content: flex-end;\n    gap: 0.75rem;\n    padding-top: 1.5rem;\n    border-top: 0.0625rem solid #e9ecef;\n}\n\n/* Responsive */\n@media (max-width: 48rem) {\n    .customer-form {\n        max-width: 100%;\n    }\n\n    .form-row {\n        grid-template-columns: 1fr;\n        gap: 0.75rem;\n    }\n\n    .form-section {\n        padding: 1rem;\n    }\n\n    .form-actions {\n        flex-direction: column-reverse;\n    }\n\n    .form-actions button {\n        width: 100%;\n    }\n}\n\n@media (max-width: 30rem) {\n    .form-content {\n        gap: 1rem;\n    }\n\n    .form-section {\n        padding: 0.75rem;\n    }\n\n    .section-title {\n        font-size: 0.875rem;\n    }\n}\n\n/* === ESTILOS PARA ELEMENTOS DINÁMICOS === */\n\n/* Header de sección con botón */\n.section-header {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    margin-bottom: 1rem;\n}\n\n.section-header .section-title {\n    margin: 0;\n}\n\n/* Contenedor de elemento dinámico */\n.dynamic-item {\n    background: #ffffff;\n    border: 0.0625rem solid #e2e8f0;\n    border-radius: 0.375rem;\n    padding: 1rem;\n    margin-bottom: 0.75rem;\n    position: relative;\n}\n\n.dynamic-item:last-child {\n    margin-bottom: 0;\n}\n\n.dynamic-item .form-row {\n    align-items: end;\n    margin-bottom: 0;\n}\n\n/* Grupo que ocupa el espacio restante */\n.form-group.flex-grow {\n    flex: 1;\n}\n\n/* Botón para eliminar elementos */\n.delete-item-btn {\n    width: 2.25rem;\n    height: 2.25rem;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    background: #fee2e2;\n    border: 0.0625rem solid #f87171;\n    border-radius: 0.375rem;\n    color: #dc2626;\n    cursor: pointer;\n    transition: all 0.15s ease;\n    margin-top: 0.25rem;\n}\n\n.delete-item-btn:hover {\n    background: #fecaca;\n    border-color: #ef4444;\n    color: #b91c1c;\n    transform: translateY(-0.0625rem);\n    box-shadow: 0 0.125rem 0.25rem rgba(239, 68, 68, 0.2);\n}\n\n.delete-item-btn:active {\n    transform: translateY(0);\n}\n\n/* Error general para grupos */\n.error-message.general-error {\n    background: #fef2f2;\n    border: 0.0625rem solid #fecaca;\n    color: #dc2626;\n    padding: 0.5rem 0.75rem;\n    border-radius: 0.25rem;\n    font-size: 0.875rem;\n    margin-bottom: 0.75rem;\n}\n\n/* Grupo de checkbox para direcciones */\n.checkbox-group {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 2.25rem;\n}\n\n.checkbox-group .checkbox-label {\n    display: flex;\n    align-items: center;\n    gap: 0.375rem;\n    margin: 0;\n    cursor: pointer;\n    font-size: 0.8125rem;\n}\n\n.checkbox-group input[type=\"checkbox\"] {\n    width: 1rem;\n    height: 1rem;\n    margin: 0;\n}\n\n/* Formulario más compacto */\n.customer-form .form-content {\n    gap: 1rem;\n}\n\n.customer-form .form-section {\n    padding: 1rem;\n    margin-bottom: 0;\n}\n\n.customer-form .section-title {\n    font-size: 0.9375rem;\n    margin-bottom: 0.75rem;\n}\n\n.customer-form .dynamic-item {\n    padding: 0.75rem;\n    margin-bottom: 0.5rem;\n}\n\n/* Ajustes responsive para elementos dinámicos */\n@media (max-width: 48rem) {\n    .dynamic-item .form-row,\n    .form-row-compact {\n        grid-template-columns: 1fr;\n        gap: 0.75rem;\n    }\n\n    .form-group.flex-grow {\n        flex: none;\n    }\n\n    .delete-item-btn {\n        align-self: center;\n        margin-top: 0;\n    }\n\n    .section-header {\n        flex-direction: column;\n        align-items: stretch;\n        gap: 0.75rem;\n    }\n}\n\n/* === LAYOUT DE 2 COLUMNAS (FORMULARIO + MAPA) === */\n\n.customer-form-with-map {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 1.5rem;\n    width: 100%;\n    min-height: 40.625rem;\n}\n\n.customer-form-map {\n    position: sticky;\n    top: 0;\n    height: 40.625rem;\n    min-height: 40.625rem;\n}\n\n/* === ESTILOS COMPACTOS PARA FORMULARIO === */\n\n.customer-form-compact {\n    padding: 1rem;\n    background: white;\n    border-radius: 0.5rem;\n    max-width: 100%;\n    height: fit-content;\n    overflow-y: auto;\n    max-height: 40.625rem;\n}\n\n.customer-form-compact::-webkit-scrollbar {\n    width: 0.375rem;\n}\n\n.customer-form-compact::-webkit-scrollbar-track {\n    background: #f1f1f1;\n    border-radius: 0.1875rem;\n}\n\n.customer-form-compact::-webkit-scrollbar-thumb {\n    background: #c1c1c1;\n    border-radius: 0.1875rem;\n}\n\n.customer-form-compact::-webkit-scrollbar-thumb:hover {\n    background: #a1a1a1;\n}\n\n.form-content-compact {\n    display: flex;\n    flex-direction: column;\n    gap: 1rem;\n    background: white;\n    padding: 1.25rem;\n    border-radius: 0 0 0.5rem 0.5rem;\n    border: 0.0625rem solid #e5e7eb;\n    border-top: none;\n    min-height: 25rem;\n}\n\n/* Secciones compactas */\n.form-section-compact {\n    display: flex;\n    flex-direction: column;\n    gap: 0.5rem;\n}\n\n/* Grid para campos básicos */\n.form-grid-compact {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 0.75rem;\n}\n\n/* Header de sección compacto */\n.section-header-compact {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    margin-bottom: 0.5rem;\n}\n\n.section-label-compact {\n    display: flex;\n    align-items: center;\n    gap: 0.375rem;\n    font-size: 0.875rem;\n    font-weight: 500;\n    color: #374151;\n}\n\n/* Botón agregar compacto */\n.add-btn-compact {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 1.75rem;\n    height: 1.75rem;\n    border: 0.0625rem solid #d1d5db;\n    border-radius: 0.375rem;\n    background: #f9fafb;\n    color: #6b7280;\n    cursor: pointer;\n    transition: all 0.2s ease;\n}\n\n.add-btn-compact:hover {\n    background: #f3f4f6;\n    border-color: #9ca3af;\n    color: #374151;\n}\n\n/* Grid para teléfonos */\n.items-grid-compact {\n    display: flex;\n    flex-direction: column;\n    gap: 0.5rem;\n}\n\n.item-compact {\n    display: grid;\n    grid-template-columns: 1fr auto auto;\n    gap: 0.5rem;\n    align-items: start;\n    padding: 0.5rem;\n    border: 0.0625rem solid #e5e7eb;\n    border-radius: 0.375rem;\n    background: #fafafa;\n}\n\n/* Item compacto para teléfonos con WhatsApp */\n.item-compact-phone {\n    display: grid;\n    grid-template-columns: 1fr auto auto auto;\n    gap: 0.5rem;\n    align-items: start;\n    padding: 0.5rem;\n    border: 0.0625rem solid #e5e7eb;\n    border-radius: 0.375rem;\n    background: #fafafa;\n}\n\n/* Checkbox para WhatsApp */\n.checkbox-compact-phone {\n    display: flex;\n    align-items: center;\n    gap: 0.25rem;\n    font-size: 0.8125rem;\n    color: #374151;\n    cursor: pointer;\n    white-space: nowrap;\n    padding: 0.25rem 0.375rem;\n}\n\n.checkbox-compact-phone input[type=\"checkbox\"] {\n    margin: 0;\n    cursor: pointer;\n    width: 1rem;\n    height: 1rem;\n}\n\n/* Lista para direcciones */\n.items-list-compact {\n    display: flex;\n    flex-direction: column;\n    gap: 0.5rem;\n}\n\n.item-row-compact {\n    display: grid;\n    grid-template-columns: 1fr auto auto;\n    gap: 0.5rem;\n    align-items: center;\n    padding: 0.5rem;\n    border: 0.0625rem solid #e5e7eb;\n    border-radius: 0.375rem;\n    background: #fafafa;\n}\n\n/* Inputs compactos */\n.input-compact {\n    padding: 0.375rem 0.5rem;\n    border: 0.0625rem solid #d1d5db;\n    border-radius: 0.25rem;\n    font-size: 0.875rem;\n    background: white;\n    transition: border-color 0.2s ease;\n}\n\n.input-compact:focus {\n    outline: none;\n    border-color: #667eea;\n    box-shadow: 0 0 0 0.125rem rgba(102, 126, 234, 0.1);\n}\n\n.input-compact.error {\n    border-color: #dc2626;\n}\n\n.input-full-compact {\n    padding: 0.375rem 0.5rem;\n    border: 0.0625rem solid #d1d5db;\n    border-radius: 0.25rem;\n    font-size: 0.875rem;\n    background: white;\n    transition: border-color 0.2s ease;\n    width: 100%;\n}\n\n.input-full-compact:focus {\n    outline: none;\n    border-color: #667eea;\n    box-shadow: 0 0 0 0.125rem rgba(102, 126, 234, 0.1);\n}\n\n/* Select compacto */\n.select-compact {\n    padding: 0.375rem 0.5rem;\n    border: 0.0625rem solid #d1d5db;\n    border-radius: 0.25rem;\n    font-size: 0.8125rem;\n    background: white;\n    cursor: pointer;\n    min-width: 5rem;\n}\n\n.select-compact:focus {\n    outline: none;\n    border-color: #667eea;\n}\n\n/* Checkbox compacto */\n.checkbox-compact {\n    display: flex;\n    align-items: center;\n    gap: 0.25rem;\n    font-size: 0.8125rem;\n    color: #374151;\n    cursor: pointer;\n    white-space: nowrap;\n}\n\n.checkbox-compact input[type=\"checkbox\"] {\n    margin: 0;\n    cursor: pointer;\n}\n\n/* Toggle Switch */\n.toggle-container {\n    display: flex;\n    align-items: center;\n    gap: 0.75rem;\n    padding: 0.75rem 1rem;\n    background: #f8f9fa;\n    border-radius: 0.5rem;\n    border: 0.0625rem solid #e5e7eb;\n    margin-top: 0.75rem;\n}\n\n.toggle-label {\n    font-size: 0.875rem;\n    font-weight: 500;\n    color: #374151;\n    flex: 1;\n}\n\n.toggle-switch {\n    position: relative;\n    display: inline-block;\n    width: 3rem;\n    height: 1.5rem;\n    cursor: pointer;\n}\n\n.toggle-switch input {\n    opacity: 0;\n    width: 0;\n    height: 0;\n    position: absolute;\n}\n\n.toggle-slider {\n    position: absolute;\n    top: 0;\n    left: 0;\n    right: 0;\n    bottom: 0;\n    background: #cbd5e1;\n    border-radius: 0.75rem;\n    transition: all 0.3s ease;\n    box-shadow: inset 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.1);\n}\n\n.toggle-slider::before {\n    content: '';\n    position: absolute;\n    height: 1.125rem;\n    width: 1.125rem;\n    left: 0.1875rem;\n    bottom: 0.1875rem;\n    background: white;\n    border-radius: 50%;\n    transition: transform 0.3s ease;\n    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.2);\n}\n\n.toggle-switch input:checked + .toggle-slider {\n    background: #667eea;\n}\n\n.toggle-switch input:checked + .toggle-slider::before {\n    transform: translateX(1.5rem);\n}\n\n.checkbox-status {\n    display: flex;\n    align-items: center;\n    gap: 0.375rem;\n    font-size: 0.875rem;\n    color: #374151;\n    cursor: pointer;\n}\n\n.checkbox-status input[type=\"checkbox\"] {\n    margin: 0;\n    cursor: pointer;\n}\n\n/* Botón eliminar compacto */\n.delete-btn-compact {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 1.5rem;\n    height: 1.5rem;\n    border: none;\n    border-radius: 0.25rem;\n    background: #fee2e2;\n    color: #dc2626;\n    cursor: pointer;\n    transition: all 0.2s ease;\n}\n\n.delete-btn-compact:hover {\n    background: #fecaca;\n    transform: scale(1.05);\n}\n\n/* Errores en línea */\n.error-inline {\n    font-size: 0.75rem;\n    color: #dc2626;\n    margin-top: 0.25rem;\n}\n\n.error-text-compact {\n    grid-column: 1 / -1;\n    font-size: 0.6875rem;\n    color: #dc2626;\n    margin-top: 0.125rem;\n}\n\n/* Acciones compactas */\n.form-actions-compact {\n    display: flex;\n    justify-content: flex-end;\n    gap: 0.5rem;\n    padding-top: 1rem;\n    border-top: 0.0625rem solid #e5e7eb;\n    margin-top: 0.5rem;\n}\n\n/* === ESTILOS PARA DIRECCIONES CON GOOGLE MAPS === */\n\n/* Tabla de direcciones */\n.direcciones-table {\n    display: flex;\n    flex-direction: column;\n    gap: 0;\n    border: 0.0625rem solid #e5e7eb;\n    border-radius: 0.375rem;\n    overflow: hidden;\n    background: white;\n}\n\n/* Header de la tabla */\n.direcciones-table-header {\n    display: grid;\n    grid-template-columns: 1fr 7.5rem;\n    gap: 0;\n    background: #f9fafb;\n    border-bottom: 0.125rem solid #e5e7eb;\n    font-size: 0.8125rem;\n    font-weight: 600;\n    color: #374151;\n}\n\n.direcciones-table-header > div {\n    padding: 0.625rem 0.75rem;\n}\n\n/* Columnas */\n.direcciones-col-direccion {\n    display: flex;\n    flex-direction: column;\n    gap: 0.375rem;\n}\n\n.direcciones-col-principal {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 0.375rem;\n    text-align: center;\n}\n\n/* Filas de la tabla */\n.direcciones-table-row {\n    display: grid;\n    grid-template-columns: 1fr 7.5rem;\n    gap: 0;\n    border-bottom: 0.0625rem solid #e5e7eb;\n    transition: all 0.2s ease;\n    background: white;\n}\n\n.direcciones-table-row:last-child {\n    border-bottom: none;\n}\n\n.direcciones-table-row:hover {\n    background: #fafafa;\n}\n\n.direcciones-table-row.active-direction {\n    background: #f0fdf4;\n    box-shadow: inset 0.1875rem 0 0 #10b981;\n}\n\n.direcciones-table-row > div {\n    padding: 0.625rem 0.75rem;\n}\n\n/* Checkbox centrado */\n.checkbox-compact-centered {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    cursor: pointer;\n    margin: 0;\n}\n\n.checkbox-compact-centered input[type=\"checkbox\"] {\n    margin: 0;\n    cursor: pointer;\n    width: 1.125rem;\n    height: 1.125rem;\n}\n\n/* Indicador de ubicación inline (coordenadas) */\n.location-indicator-inline {\n    display: flex;\n    align-items: center;\n    gap: 0.25rem;\n    padding: 0.1875rem 0.5rem;\n    background: #dbeafe;\n    border: 0.0625rem solid #93c5fd;\n    border-radius: 0.25rem;\n    font-size: 0.625rem;\n    color: #1e40af;\n    font-family: 'Courier New', monospace;\n    width: fit-content;\n}\n\n.location-indicator-inline svg {\n    color: #3b82f6;\n    flex-shrink: 0;\n}\n\n/* Responsive para compacto */\n@media (max-width: 48rem) {\n    .form-grid-compact {\n        grid-template-columns: 1fr;\n        gap: 0.5rem;\n    }\n\n    .item-compact,\n    .item-compact-phone {\n        grid-template-columns: 1fr;\n        gap: 0.375rem;\n    }\n\n    .form-actions-compact {\n        flex-direction: column;\n    }\n\n    /* Layout de 2 columnas en móvil */\n    .customer-form-with-map {\n        grid-template-columns: 1fr;\n        gap: 1rem;\n    }\n\n    .customer-form-map {\n        position: relative;\n        max-height: 25rem;\n        order: 2;\n    }\n\n    .customer-form-compact {\n        order: 1;\n    }\n\n    /* Tabla de direcciones responsive */\n    .direcciones-table-header,\n    .direcciones-table-row {\n        grid-template-columns: 1fr 5rem;\n    }\n\n    .direcciones-table-header > div,\n    .direcciones-table-row > div {\n        padding: 0.5rem;\n    }\n\n    .direcciones-col-principal {\n        flex-direction: column;\n        gap: 0.25rem;\n    }\n}\n\n/* Estilos para Política de Crédito */\n.checkbox-compact-inline {\n    display: flex;\n    align-items: center;\n    gap: 0.375rem;\n    cursor: pointer;\n    font-size: 0.8125rem;\n    font-weight: 500;\n    color: #374151;\n}\n\n.checkbox-compact-inline input[type=\"checkbox\"] {\n    width: 1rem;\n    height: 1rem;\n    cursor: pointer;\n    margin: 0;\n}\n\n.checkbox-compact-inline span {\n    user-select: none;\n}\n\n.credit-fields {\n    margin-top: 0.75rem;\n    padding-top: 0.75rem;\n    border-top: 0.0625rem solid #e5e7eb;\n}\n\n.form-field {\n    display: flex;\n    flex-direction: column;\n    gap: 0.25rem;\n}\n\n.form-label {\n    display: flex;\n    align-items: center;\n    gap: 0.25rem;\n    font-size: 0.8125rem;\n    font-weight: 500;\n    color: #374151;\n}\n",".customer-management-page {\n    padding: 1.5rem;\n    background: #f8f9fa;\n    min-height: 100vh;\n}\n\n/* Header */\n.page-header {\n    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n    border-radius: 0.75rem;\n    padding: 1.5rem 2rem;\n    margin-bottom: 1.5rem;\n    box-shadow: 0 0.25rem 0.375rem rgba(0, 0, 0, 0.1);\n}\n\n.header-content {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n}\n\n.header-info {\n    display: flex;\n    align-items: center;\n    gap: 1rem;\n    color: white;\n}\n\n.header-info svg {\n    color: rgba(255, 255, 255, 0.9);\n}\n\n.header-info h1 {\n    margin: 0;\n    font-size: 1.75rem;\n    font-weight: 600;\n}\n\n.header-info p {\n    margin: 0.25rem 0 0 0;\n    font-size: 0.875rem;\n    opacity: 0.9;\n}\n\n/* Controles */\n.customer-controls {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    gap: 1rem;\n    margin-bottom: 1.5rem;\n    padding: 1.25rem;\n    background: white;\n    border-radius: 0.75rem;\n    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.05);\n}\n\n.search-filters {\n    display: flex;\n    gap: 1rem;\n    flex: 1;\n}\n\n.search-container {\n    flex: 1;\n    max-width: 25rem;\n}\n\n.search-input {\n    width: 100%;\n}\n\n.controls-actions {\n    display: flex;\n    gap: 0.75rem;\n}\n\n/* Tabla */\n.customers-table-container {\n    background: white;\n    border-radius: 0.75rem;\n    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.05);\n    overflow: hidden;\n}\n\n.customers-table {\n    width: 100%;\n    border-collapse: separate;\n    border-spacing: 0;\n    font-size: 0.875rem;\n    table-layout: fixed;\n}\n\n.customers-table th {\n    background: linear-gradient(to bottom, #f8f9fa 0%, #f1f3f5 100%);\n    border-bottom: 0.125rem solid #dee2e6;\n    padding: 0.625rem 0.75rem;\n    text-align: left;\n    font-weight: 600;\n    font-size: 0.6875rem;\n    color: #495057;\n    text-transform: uppercase;\n    letter-spacing: 0.01875rem;\n    position: sticky;\n    top: 0;\n    z-index: 10;\n    white-space: nowrap;\n}\n\n.customers-table th:nth-child(1) { width: 18%; } /* Cliente */\n.customers-table th:nth-child(2) { width: 10%; } /* Precio Venta */\n.customers-table th:nth-child(3) { width: 18%; } /* Crédito */\n.customers-table th:nth-child(4) { width: 16%; } /* Teléfonos */\n.customers-table th:nth-child(5) { width: 18%; } /* Direcciones */\n.customers-table th:nth-child(6) { width: 12%; } /* Registro */\n.customers-table th:nth-child(7) { width: 8%; }  /* Acciones */\n\n.customers-table th[data-type=\"actions\"] {\n    text-align: center;\n}\n\n.customers-table thead tr {\n    border-left: 0.25rem solid transparent;\n}\n\n.customers-table tbody tr {\n    transition: all 0.2s ease;\n    border-left: 0.25rem solid transparent;\n}\n\n.customers-table tbody tr:hover {\n    background: #f8f9fa;\n    box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.08);\n    border-left-color: #667eea;\n}\n\n.customers-table td {\n    padding: 0.625rem 0.75rem;\n    border-bottom: 0.0625rem solid #f1f3f5;\n    vertical-align: middle;\n}\n\n/* Info de cliente */\n.customer-info {\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    gap: 0.5rem;\n    flex-wrap: wrap;\n}\n\n.customer-name {\n    font-weight: 600;\n    color: #2d3748;\n    font-size: 0.8125rem;\n    line-height: 1;\n    white-space: nowrap;\n}\n\n.customer-commercial {\n    font-size: 0.6875rem;\n    color: #667eea;\n    font-weight: 500;\n    display: inline-flex;\n    align-items: center;\n    gap: 0.1875rem;\n    white-space: nowrap;\n}\n\n.customer-commercial::before {\n    content: '🏢';\n    font-size: 0.625rem;\n}\n\n.customer-id {\n    font-size: 0.625rem;\n    color: #a0aec0;\n    font-family: 'Courier New', monospace;\n    background: #f7fafc;\n    padding: 0.125rem 0.3125rem;\n    border-radius: 0.1875rem;\n    display: inline-block;\n    white-space: nowrap;\n}\n\n.phone-info,\n.email-info,\n.age-info,\n.rfc-info,\n.address-info {\n    display: flex;\n    align-items: center;\n    gap: 0.375rem;\n    font-size: 0.8125rem;\n    color: #4a5568;\n}\n\n.phone-info svg,\n.email-info svg,\n.age-info svg,\n.rfc-info svg,\n.address-info svg {\n    color: #718096;\n    flex-shrink: 0;\n}\n\n.address-text {\n    display: -webkit-box;\n    -webkit-line-clamp: 2;\n    -webkit-box-orient: vertical;\n    overflow: hidden;\n    line-height: 1.4;\n    max-width: 12.5rem;\n}\n\n.no-data {\n    color: #a0aec0;\n    font-style: italic;\n    font-size: 0.75rem;\n}\n\n.date {\n    font-size: 0.75rem;\n    color: #718096;\n}\n\n/* Acciones */\n.actions {\n    text-align: center;\n}\n\n.actions-compact {\n    display: flex;\n    justify-content: center;\n    gap: 0.375rem;\n}\n\n.action-btn-compact {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 1.75rem;\n    height: 1.75rem;\n    border: 0.0625rem solid #e2e8f0;\n    border-radius: 0.375rem;\n    background: white;\n    color: #64748b;\n    cursor: pointer;\n    transition: all 0.2s ease;\n    font-size: 0;\n    box-shadow: 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.05);\n}\n\n.action-btn-compact svg {\n    width: 0.875rem;\n    height: 0.875rem;\n}\n\n.action-btn-compact:hover {\n    background: #667eea;\n    color: white;\n    border-color: #667eea;\n    transform: translateY(-0.0625rem);\n    box-shadow: 0 0.125rem 0.25rem rgba(102, 126, 234, 0.25);\n}\n\n.action-btn-compact.delete {\n    color: #94a3b8;\n}\n\n.action-btn-compact.delete:hover {\n    background: #dc2626;\n    color: white;\n    border-color: #dc2626;\n    transform: translateY(-0.0625rem);\n    box-shadow: 0 0.125rem 0.25rem rgba(220, 38, 38, 0.25);\n}\n\n/* Estados vacíos y carga */\n.loading-state,\n.empty-state {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    padding: 3.75rem 1.25rem;\n    text-align: center;\n    color: #6b7280;\n}\n\n.loading-state .loading-spinner {\n    width: 2.5rem;\n    height: 2.5rem;\n    border: 0.1875rem solid #e5e7eb;\n    border-top: 0.1875rem solid #667eea;\n    border-radius: 50%;\n    animation: spin 1s linear infinite;\n    margin-bottom: 1rem;\n}\n\n@keyframes spin {\n    0% { transform: rotate(0deg); }\n    100% { transform: rotate(360deg); }\n}\n\n.empty-state svg {\n    margin-bottom: 1rem;\n    color: #d1d5db;\n}\n\n.empty-state h3 {\n    margin: 0 0 0.5rem 0;\n    font-size: 1.125rem;\n    color: #374151;\n}\n\n.empty-state p {\n    margin: 0 0 1.5rem 0;\n    color: #6b7280;\n}\n\n.empty-action-btn {\n    margin-top: 1rem;\n}\n\n/* Responsive */\n@media (max-width: 48rem) {\n    .customer-management-page {\n        padding: 1rem;\n    }\n\n    .customer-controls {\n        flex-direction: column;\n        align-items: stretch;\n        gap: 1rem;\n    }\n\n    .search-filters {\n        flex-direction: column;\n    }\n\n    .customers-table-container {\n        overflow-x: auto;\n    }\n\n    .customers-table {\n        min-width: 50rem;\n    }\n\n    .header-content {\n        flex-direction: column;\n        align-items: flex-start;\n        gap: 1rem;\n    }\n}\n\n@media (max-width: 30rem) {\n    .page-header {\n        padding: 1.25rem;\n    }\n\n    .header-info {\n        flex-direction: column;\n        align-items: flex-start;\n        gap: 0.5rem;\n    }\n\n    .header-info h1 {\n        font-size: 1.5rem;\n    }\n}\n\n/* === ESTILOS PARA NUEVOS CAMPOS === */\n\n/* Nombre comercial */\n.customer-commercial {\n    font-size: 0.75rem;\n    color: #667eea;\n    font-weight: 500;\n    margin: 0.125rem 0;\n}\n\n/* Lista de teléfonos */\n.phones-list {\n    display: flex;\n    flex-direction: row;\n    gap: 0.25rem;\n    flex-wrap: wrap;\n    align-items: center;\n}\n\n.phone-item {\n    display: inline-flex;\n    align-items: center;\n    gap: 0.25rem;\n    font-size: 0.6875rem;\n    background: #f8f9fa;\n    padding: 0.1875rem 0.375rem;\n    border-radius: 0.25rem;\n    transition: all 0.2s ease;\n    white-space: nowrap;\n}\n\n.phone-item:hover {\n    background: #e9ecef;\n}\n\n.phone-item svg {\n    color: #667eea;\n    flex-shrink: 0;\n    width: 0.75rem;\n    height: 0.75rem;\n}\n\n.phone-number {\n    font-weight: 500;\n    color: #2d3748;\n    font-family: 'Courier New', monospace;\n    font-size: 0.6875rem;\n}\n\n.phone-type {\n    font-size: 0.5625rem;\n    color: #718096;\n    text-transform: capitalize;\n    background: white;\n    padding: 0.0625rem 0.25rem;\n    border-radius: 0.1875rem;\n    font-weight: 500;\n}\n\n/* Lista de direcciones */\n.addresses-list {\n    display: flex;\n    flex-direction: row;\n    gap: 0.25rem;\n    flex-wrap: wrap;\n    align-items: center;\n}\n\n.address-item {\n    display: inline-flex;\n    align-items: center;\n    gap: 0.25rem;\n    font-size: 0.6875rem;\n    background: #f8f9fa;\n    padding: 0.1875rem 0.375rem;\n    border-radius: 0.25rem;\n    transition: all 0.2s ease;\n    max-width: 12.5rem;\n}\n\n.address-item:hover {\n    background: #e9ecef;\n}\n\n.address-item svg {\n    color: #667eea;\n    flex-shrink: 0;\n    width: 0.75rem;\n    height: 0.75rem;\n}\n\n.address-text {\n    font-weight: 400;\n    color: #2d3748;\n    line-height: 1.3;\n    flex: 1;\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    font-size: 0.6875rem;\n}\n\n.address-principal {\n    color: #f59e0b;\n    font-size: 0.6875rem;\n    margin-left: 0.125rem;\n    flex-shrink: 0;\n}\n\n.address-type {\n    font-size: 0.6875rem;\n    color: #718096;\n    text-transform: capitalize;\n    white-space: nowrap;\n}\n\n.address-principal {\n    color: #f59e0b;\n    font-size: 0.875rem;\n    margin-left: 0.25rem;\n    title: \"Dirección principal\";\n}\n\n/* Indicador de elementos adicionales */\n.more-items {\n    font-size: 0.5625rem;\n    color: #667eea;\n    font-weight: 600;\n    background: #eef2ff;\n    padding: 0.125rem 0.3125rem;\n    border-radius: 0.1875rem;\n    text-align: center;\n    display: inline-block;\n    white-space: nowrap;\n}\n\n/* Ajustes responsive para nuevos campos */\n@media (max-width: 48rem) {\n    .phone-item,\n    .address-item {\n        font-size: 0.75rem;\n    }\n\n    .address-text {\n        max-width: 9.375rem;\n        overflow: hidden;\n        text-overflow: ellipsis;\n        white-space: nowrap;\n    }\n}\n\n/* Price badges */\n.price-badge {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n}\n\n.price-badge .badge {\n    padding: 0.25rem 0.5rem;\n    border-radius: 0.25rem;\n    font-size: 0.6875rem;\n    font-weight: 600;\n    display: inline-flex;\n    align-items: center;\n    gap: 0.25rem;\n    text-align: center;\n    transition: all 0.2s ease;\n    box-shadow: 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.08);\n    white-space: nowrap;\n}\n\n.price-badge .badge::before {\n    content: '';\n    width: 0.3125rem;\n    height: 0.3125rem;\n    border-radius: 50%;\n    background: currentColor;\n}\n\n.badge.precio-1 {\n    background: #dbeafe;\n    color: #1e40af;\n    border: 0.0625rem solid #93c5fd;\n}\n\n.badge.precio-2 {\n    background: #d1fae5;\n    color: #065f46;\n    border: 0.0625rem solid #6ee7b7;\n}\n\n.badge.precio-3 {\n    background: #fef3c7;\n    color: #92400e;\n    border: 0.0625rem solid #fcd34d;\n}\n\n.badge.precio-4 {\n    background: #fce7f3;\n    color: #9f1239;\n    border: 0.0625rem solid #f9a8d4;\n}\n\n.badge.precio-5 {\n    background: #e0e7ff;\n    color: #4338ca;\n    border: 0.0625rem solid #a5b4fc;\n}\n\n.badge.precio-6 {\n    background: #fae8ff;\n    color: #86198f;\n    border: 0.0625rem solid #e879f9;\n}\n\n.badge.precio-lista {\n    background: #f0fdf4;\n    color: #15803d;\n    border: 0.0625rem solid #86efac;\n}\n\n/* Estilos para información de crédito */\n.credit-info {\n    display: flex;\n    flex-direction: row;\n    gap: 0.25rem;\n    font-size: 0.6875rem;\n    align-items: center;\n    flex-wrap: wrap;\n}\n\n.credit-status {\n    display: inline-flex;\n    align-items: center;\n    gap: 0.1875rem;\n    padding: 0.1875rem 0.375rem;\n    border-radius: 0.25rem;\n    font-size: 0.625rem;\n    font-weight: 600;\n    white-space: nowrap;\n    box-shadow: 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.05);\n    transition: all 0.2s ease;\n}\n\n.credit-status.enabled {\n    background: linear-gradient(135deg, #d1fae5 0%, #a7f3d0 100%);\n    color: #065f46;\n    border: 0.0625rem solid #6ee7b7;\n}\n\n.credit-status.enabled::before {\n    content: '✓';\n    font-size: 0.5rem;\n    background: #059669;\n    color: white;\n    width: 0.75rem;\n    height: 0.75rem;\n    border-radius: 50%;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n}\n\n.credit-status.disabled {\n    background-color: #f3f4f6;\n    color: #6b7280;\n    border: 0.0625rem solid #d1d5db;\n}\n\n.credit-details {\n    display: inline-flex;\n    flex-direction: row;\n    gap: 0.375rem;\n    color: #374151;\n    background: #f8f9fa;\n    padding: 0.1875rem 0.375rem;\n    border-radius: 0.25rem;\n    align-items: center;\n}\n\n.credit-amount {\n    font-weight: 700;\n    color: #059669;\n    font-size: 0.6875rem;\n    font-family: 'Courier New', monospace;\n    white-space: nowrap;\n}\n\n.credit-days {\n    font-size: 0.625rem;\n    color: #6b7280;\n    display: inline-flex;\n    align-items: center;\n    gap: 0.125rem;\n    white-space: nowrap;\n}\n\n.credit-days::before {\n    content: '📅';\n    font-size: 0.5625rem;\n}\n\n.credit-used {\n    font-size: 0.625rem;\n    color: #dc2626;\n    font-weight: 600;\n    padding: 0.1875rem 0.375rem;\n    background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%);\n    border-radius: 0.25rem;\n    border: 0.0625rem solid #fca5a5;\n    box-shadow: 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.05);\n    white-space: nowrap;\n}\n","/* ========================================\n   Página de Gestión de Almacenes\n   ======================================== */\n\n.almacenes-page {\n    padding: 1.5rem;\n    max-width: 87.5rem;\n    margin: 0 auto;\n}\n\n/* Controles */\n.almacenes-controls {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    gap: 1rem;\n    padding: 0.75rem;\n    background: white;\n    border: 0.0625rem solid var(--gray-200);\n    border-radius: 0.5rem;\n    margin-bottom: 1.5rem;\n}\n\n.search-filters {\n    display: flex;\n    gap: 1rem;\n    flex: 1;\n}\n\n.search-container {\n    flex: 1;\n    max-width: 25rem;\n}\n\n.controls-actions {\n    display: flex;\n    gap: 0.5rem;\n}\n\n/* Tabla de almacenes */\n.almacenes-table-container {\n    background: white;\n    border: 0.0625rem solid var(--gray-200);\n    border-radius: 0.5rem;\n    overflow: hidden;\n    box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.1);\n}\n\n.almacenes-table {\n    width: 100%;\n    border-collapse: collapse;\n}\n\n.almacenes-table th {\n    background: var(--gray-50);\n    padding: 0.75rem;\n    text-align: left;\n    font-weight: 600;\n    color: var(--gray-700);\n    border-bottom: 0.0625rem solid var(--gray-200);\n    font-size: 0.875rem;\n}\n\n.almacenes-table td {\n    padding: 0.75rem;\n    border-bottom: 0.0625rem solid var(--gray-100);\n    vertical-align: middle;\n    color: var(--gray-900);\n    font-size: 0.875rem;\n}\n\n.almacenes-table tr:hover {\n    background: var(--gray-50);\n}\n\n.almacenes-table tbody tr.inactive-row {\n    opacity: 0.6;\n    background-color: #f9f9f9;\n}\n\n/* Información del almacén */\n.almacen-name {\n    font-weight: 600;\n    color: var(--gray-900);\n}\n\n/* Badges */\n.codigo-badge {\n    display: inline-flex;\n    align-items: center;\n    padding: 0.25rem 0.75rem;\n    background: #f3f4f6;\n    color: #374151;\n    border-radius: 0.375rem;\n    font-size: 0.85rem;\n    font-weight: 500;\n    font-family: monospace;\n}\n\n/* Status dot */\n.status-dot {\n    font-size: 0.75rem;\n    display: inline-flex;\n    align-items: center;\n}\n\n.status-dot.active {\n    color: #28a745;\n}\n\n.status-dot.inactive {\n    color: #dc3545;\n}\n\n/* Acciones */\n.actions-compact {\n    display: flex;\n    gap: 0.25rem;\n    justify-content: center;\n}\n\n.action-btn-compact {\n    width: 1.75rem;\n    height: 1.75rem;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    border: 0.0625rem solid #d1d5db;\n    background: #ffffff;\n    border-radius: 0.25rem;\n    color: #6b7280;\n    cursor: pointer;\n    transition: all 0.15s ease;\n}\n\n.action-btn-compact:hover {\n    background: #f3f4f6;\n    color: #1f2937;\n    border-color: #9ca3af;\n    transform: translateY(-0.0625rem);\n    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.1);\n}\n\n.action-btn-compact.delete:hover {\n    background: #ef4444;\n    color: white;\n    border-color: #ef4444;\n    transform: translateY(-0.0625rem);\n    box-shadow: 0 0.125rem 0.25rem rgba(239, 68, 68, 0.3);\n}\n\n/* Estados de carga y vacío */\n.loading-state,\n.empty-state {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    padding: 4rem 2rem;\n    gap: 1rem;\n    color: var(--text-secondary);\n}\n\n.loading-spinner {\n    width: 2.5rem;\n    height: 2.5rem;\n    border: 0.1875rem solid var(--border-light);\n    border-top-color: var(--primary-color);\n    border-radius: 50%;\n    animation: spin 0.8s linear infinite;\n}\n\n@keyframes spin {\n    to { transform: rotate(360deg); }\n}\n\n.empty-state svg {\n    color: var(--text-tertiary);\n}\n\n.empty-state h3 {\n    margin: 0;\n    font-size: 1.25rem;\n    color: var(--text-primary);\n}\n\n.empty-state p {\n    margin: 0;\n    font-size: 0.95rem;\n    color: var(--text-secondary);\n}\n\n.empty-action-btn {\n    margin-top: 1rem;\n}\n\n/* ========================================\n   Formulario de Almacén\n   ======================================== */\n\n.almacen-form {\n    display: flex;\n    flex-direction: column;\n    gap: 1.5rem;\n}\n\n.form-container {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 2rem;\n}\n\n.form-column {\n    display: flex;\n    flex-direction: column;\n    gap: 1rem;\n}\n\n.column-title {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    font-size: 1.1rem;\n    font-weight: 600;\n    color: var(--text-primary);\n    margin: 0 0 0.5rem 0;\n    padding-bottom: 0.5rem;\n    border-bottom: 0.125rem solid var(--border-light);\n}\n\n.form-group {\n    display: flex;\n    flex-direction: column;\n    gap: 0.5rem;\n}\n\n.form-label {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    font-weight: 500;\n    color: var(--text-primary);\n    font-size: 0.9rem;\n}\n\n.form-textarea {\n    width: 100%;\n    padding: 0.75rem;\n    border: 0.0625rem solid var(--border-color);\n    border-radius: 0.375rem;\n    font-family: inherit;\n    font-size: 0.95rem;\n    resize: vertical;\n    transition: border-color 0.2s ease;\n}\n\n.form-textarea:focus {\n    outline: none;\n    border-color: var(--primary-color);\n}\n\n.form-textarea::placeholder {\n    color: var(--text-tertiary);\n}\n\n.form-select {\n    padding: 0.75rem;\n    border: 0.0625rem solid var(--border-color);\n    border-radius: 0.375rem;\n    font-size: 0.95rem;\n    background: white;\n    cursor: pointer;\n    transition: border-color 0.2s ease;\n}\n\n.form-select:focus {\n    outline: none;\n    border-color: var(--primary-color);\n}\n\n/* Inputs numéricos sin flechas y alineación derecha */\n.almacen-form input[type=\"number\"] {\n    text-align: right;\n}\n\n/* Ocultar flechas en Chrome, Safari, Edge, Opera */\n.almacen-form input[type=\"number\"]::-webkit-outer-spin-button,\n.almacen-form input[type=\"number\"]::-webkit-inner-spin-button {\n    -webkit-appearance: none;\n    margin: 0;\n}\n\n/* Ocultar flechas en Firefox */\n.almacen-form input[type=\"number\"] {\n    -moz-appearance: textfield;\n}\n\n/* Toggle Switch */\n.toggle-container {\n    display: flex;\n    align-items: center;\n    gap: 1rem;\n}\n\n.toggle-switch {\n    position: relative;\n    display: inline-block;\n    width: 3.125rem;\n    height: 1.625rem;\n}\n\n.toggle-switch input {\n    opacity: 0;\n    width: 0;\n    height: 0;\n}\n\n.toggle-slider {\n    position: absolute;\n    cursor: pointer;\n    top: 0;\n    left: 0;\n    right: 0;\n    bottom: 0;\n    background-color: #ccc;\n    transition: 0.3s;\n    border-radius: 1.625rem;\n}\n\n.toggle-slider:before {\n    position: absolute;\n    content: \"\";\n    height: 1.25rem;\n    width: 1.25rem;\n    left: 0.1875rem;\n    bottom: 0.1875rem;\n    background-color: white;\n    transition: 0.3s;\n    border-radius: 50%;\n}\n\n.toggle-switch input:checked + .toggle-slider {\n    background-color: var(--primary-color);\n}\n\n.toggle-switch input:checked + .toggle-slider:before {\n    transform: translateX(1.5rem);\n}\n\n.toggle-switch input:disabled + .toggle-slider {\n    opacity: 0.5;\n    cursor: not-allowed;\n}\n\n.toggle-label {\n    font-size: 0.95rem;\n    font-weight: 500;\n    color: var(--text-primary);\n}\n\n/* Botones de acción del formulario */\n.almacen-form .form-actions {\n    display: flex !important;\n    width: 100% !important;\n    padding: 1.5rem 0 0 0;\n    margin-top: 1rem;\n    border-top: 0.0625rem solid var(--border-light);\n    flex-direction: row !important;\n    gap: 1rem;\n}\n\n.almacen-form .form-actions button {\n    flex: 1 !important;\n    width: calc(50% - 0.5rem) !important;\n    padding: 0.5rem 1rem !important;\n    font-size: 0.875rem !important;\n    font-weight: 500 !important;\n    height: 2.25rem !important;\n    border-radius: 0.375rem !important;\n}\n\n/* ========================================\n   Responsive Design\n   ======================================== */\n\n@media (max-width: 75rem) {\n    .almacenes-controls {\n        flex-direction: column;\n        align-items: stretch;\n    }\n\n    .search-container {\n        max-width: 100%;\n    }\n}\n\n@media (max-width: 48rem) {\n    .almacenes-page {\n        padding: 1rem;\n    }\n\n    .almacenes-controls {\n        flex-direction: column;\n    }\n\n    .controls-actions {\n        width: 100%;\n    }\n\n    .controls-actions button {\n        width: 100%;\n        justify-content: center;\n    }\n\n    .almacenes-table-container {\n        overflow-x: auto;\n    }\n\n    .almacenes-table {\n        min-width: 37.5rem;\n    }\n\n    .form-container {\n        grid-template-columns: 1fr;\n        gap: 1.5rem;\n    }\n\n    .almacen-form .form-actions {\n        flex-direction: column !important;\n    }\n\n    .almacen-form .form-actions button {\n        width: 100% !important;\n    }\n}\n","/* UserForm Styles */\n\n.user-form {\n  display: flex;\n  flex-direction: column;\n  gap: 1.5rem;\n}\n\n.form-container {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 2rem;\n}\n\n.form-column {\n  display: flex;\n  flex-direction: column;\n  gap: 1.25rem;\n}\n\n.column-title {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  font-size: 1.125rem;\n  font-weight: 600;\n  color: var(--color-text-primary, #212529);\n  margin: 0 0 0.75rem 0;\n  padding-bottom: 0.75rem;\n  border-bottom: 0.125rem solid var(--color-border, #e9ecef);\n}\n\n.form-group {\n  display: flex;\n  flex-direction: column;\n  gap: 0.5rem;\n}\n\n.form-label {\n  font-size: 0.875rem;\n  font-weight: 500;\n  color: var(--color-text-primary, #212529);\n  margin: 0;\n  display: flex;\n  align-items: center;\n}\n\n.form-select {\n  padding: 0.625rem 0.75rem;\n  border: 0.0625rem solid var(--color-border, #ced4da);\n  border-radius: 0.375rem;\n  font-size: 0.875rem;\n  color: var(--color-text-primary, #212529);\n  background-color: white;\n  transition: all 0.2s ease;\n}\n\n.form-select:hover {\n  border-color: var(--color-primary, #007bff);\n}\n\n.form-select:focus {\n  outline: none;\n  border-color: var(--color-primary, #007bff);\n  box-shadow: 0 0 0 0.1875rem rgba(0, 123, 255, 0.1);\n}\n\n.form-select.error {\n  border-color: var(--color-danger, #dc3545);\n}\n\n.form-select:disabled {\n  background-color: var(--color-background, #f8f9fa);\n  cursor: not-allowed;\n  opacity: 0.6;\n}\n\n.form-input {\n  padding: 0.625rem 0.75rem;\n  border: 0.0625rem solid var(--color-border, #ced4da);\n  border-radius: 0.375rem;\n  font-size: 0.875rem;\n  color: var(--color-text-primary, #212529);\n  transition: all 0.2s ease;\n}\n\n.form-input:focus {\n  outline: none;\n  border-color: var(--color-primary, #007bff);\n  box-shadow: 0 0 0 0.1875rem rgba(0, 123, 255, 0.1);\n}\n\n.form-input.error {\n  border-color: var(--color-danger, #dc3545);\n}\n\n.form-help {\n  font-size: 0.75rem;\n  color: var(--color-text-secondary, #6c757d);\n  margin: 0;\n}\n\n.error-message {\n  font-size: 0.75rem;\n  color: var(--color-danger, #dc3545);\n  margin: 0;\n}\n\n/* Password Input */\n.password-input-wrapper {\n  position: relative;\n  display: flex;\n  align-items: center;\n}\n\n.password-input-wrapper input {\n  flex: 1;\n  padding-right: 2.5rem;\n}\n\n.password-toggle-btn {\n  position: absolute;\n  right: 0.625rem;\n  background: none;\n  border: none;\n  cursor: pointer;\n  color: var(--color-text-secondary, #6c757d);\n  display: flex;\n  align-items: center;\n  padding: 0.25rem;\n  transition: color 0.2s ease;\n}\n\n.password-toggle-btn:hover {\n  color: var(--color-primary, #007bff);\n}\n\n/* Almacenes Selector */\n.almacenes-selector {\n  border: 0.0625rem solid var(--color-border, #ced4da);\n  border-radius: 0.375rem;\n  padding: 0.75rem;\n  background-color: white;\n  transition: border-color 0.2s ease;\n}\n\n.almacenes-selector:hover {\n  border-color: var(--color-primary, #007bff);\n}\n\n.almacenes-selector.required {\n  border-color: var(--color-warning, #ffc107);\n  background-color: #fffbf0;\n}\n\n.almacenes-selector.error {\n  border-color: var(--color-danger, #dc3545);\n  background-color: #fff5f5;\n}\n\n.almacenes-list {\n  display: flex;\n  flex-direction: column;\n  gap: 0.625rem;\n  max-height: 12.5rem;\n  overflow-y: auto;\n}\n\n.almacen-checkbox {\n  display: flex;\n  align-items: center;\n  gap: 0.625rem;\n  padding: 0.5rem;\n  border-radius: 0.25rem;\n  cursor: pointer;\n  transition: background-color 0.2s ease;\n}\n\n.almacen-checkbox:hover {\n  background-color: var(--color-background, #f8f9fa);\n}\n\n.almacen-checkbox input[type=\"checkbox\"] {\n  width: 1.125rem;\n  height: 1.125rem;\n  cursor: pointer;\n  accent-color: var(--color-primary, #007bff);\n}\n\n.almacen-checkbox input[type=\"checkbox\"]:disabled {\n  cursor: not-allowed;\n  opacity: 0.5;\n}\n\n.almacen-label {\n  font-size: 0.875rem;\n  color: var(--color-text-primary, #212529);\n  flex: 1;\n}\n\n.almacen-codigo {\n  font-size: 0.75rem;\n  color: var(--color-text-secondary, #6c757d);\n  font-style: italic;\n}\n\n.loading-almacenes,\n.no-almacenes {\n  text-align: center;\n  padding: 1rem;\n  color: var(--color-text-secondary, #6c757d);\n}\n\n/* Form Actions */\n.form-actions {\n  display: flex;\n  justify-content: flex-end;\n  gap: 0.75rem;\n  padding-top: 1.5rem;\n  border-top: 0.0625rem solid var(--color-border, #e9ecef);\n}\n\n/* Responsive */\n@media (max-width: 48rem) {\n  .form-container {\n    grid-template-columns: 1fr;\n    gap: 1.5rem;\n  }\n\n  .form-actions {\n    flex-direction: column-reverse;\n  }\n\n  .form-actions button {\n    width: 100%;\n  }\n}\n","/* Users Page Styles */\n.users-page {\n  padding: 1.5rem;\n  min-height: 100vh;\n  background-color: var(--color-background, #f8f9fa);\n}\n\n/* Header */\n.users-header {\n  display: flex;\n  justify-content: space-between;\n  align-items: flex-start;\n  margin-bottom: 2rem;\n  padding-bottom: 1.5rem;\n  border-bottom: 0.0625rem solid var(--color-border, #e9ecef);\n}\n\n.header-content {\n  flex: 1;\n}\n\n.page-title {\n  display: flex;\n  align-items: center;\n  gap: 0.75rem;\n  font-size: 2rem;\n  font-weight: 700;\n  color: var(--color-text-primary, #212529);\n  margin: 0 0 0.5rem 0;\n}\n\n.page-description {\n  font-size: 1rem;\n  color: var(--color-text-secondary, #6c757d);\n  margin: 0;\n}\n\n.header-actions {\n  display: flex;\n  gap: 0.75rem;\n}\n\n.create-user-btn {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  background-color: var(--color-primary, #007bff);\n  color: white;\n  border: none;\n  border-radius: 0.5rem;\n  padding: 0.75rem 1.25rem;\n  font-weight: 600;\n  transition: all 0.2s ease;\n}\n\n.create-user-btn:hover {\n  background-color: var(--color-primary-dark, #0056b3);\n  transform: translateY(-0.0625rem);\n}\n\n/* Filters */\n.users-filters {\n  background: white;\n  border-radius: 0.75rem;\n  padding: 1.5rem;\n  margin-bottom: 1.5rem;\n  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.05);\n  border: 0.0625rem solid var(--color-border, #e9ecef);\n}\n\n.search-container {\n  margin-bottom: 1rem;\n}\n\n.search-input {\n  width: 100%;\n  max-width: 25rem;\n}\n\n.filters-summary {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n}\n\n.users-count {\n  font-size: 0.875rem;\n  color: var(--color-text-secondary, #6c757d);\n  font-weight: 500;\n}\n\n/* Table Container */\n.users-table-container {\n  background: white;\n  border-radius: 0.75rem;\n  overflow: hidden;\n  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.05);\n  border: 0.0625rem solid var(--color-border, #e9ecef);\n}\n\n/* Loading State */\n.loading-state {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  padding: 5rem 1.25rem;\n  color: var(--color-text-secondary, #6c757d);\n}\n\n.loading-spinner {\n  width: 2.5rem;\n  height: 2.5rem;\n  border: 0.1875rem solid var(--color-border, #e9ecef);\n  border-top: 0.1875rem solid var(--color-primary, #007bff);\n  border-radius: 50%;\n  animation: spin 1s linear infinite;\n  margin-bottom: 1rem;\n}\n\n@keyframes spin {\n  0% {\n    transform: rotate(0deg);\n  }\n\n  100% {\n    transform: rotate(360deg);\n  }\n}\n\n/* Empty State */\n.empty-state {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  padding: 5rem 1.25rem;\n  text-align: center;\n}\n\n.empty-state svg {\n  color: var(--color-text-muted, #adb5bd);\n  margin-bottom: 1rem;\n}\n\n.empty-state h3 {\n  color: var(--color-text-primary, #212529);\n  font-size: 1.25rem;\n  font-weight: 600;\n  margin: 0 0 0.5rem 0;\n}\n\n.empty-state p {\n  color: var(--color-text-secondary, #6c757d);\n  font-size: 1rem;\n  margin: 0 0 1.5rem 0;\n  max-width: 25rem;\n}\n\n.empty-action-btn {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n}\n\n/* Users Table Compact */\n.users-table-compact {\n  width: 100%;\n  border-collapse: collapse;\n  font-size: 0.8125rem;\n}\n\n.users-table-compact thead {\n  background-color: var(--color-background-light, #f8f9fa);\n  border-bottom: 0.125rem solid var(--color-border, #e9ecef);\n}\n\n.users-table-compact th {\n  padding: 0.625rem 0.75rem;\n  text-align: left;\n  font-weight: 600;\n  font-size: 0.6875rem;\n  text-transform: uppercase;\n  letter-spacing: 0.03125rem;\n  color: var(--color-text-secondary, #6c757d);\n}\n\n.users-table-compact tbody tr {\n  border-bottom: 0.0625rem solid var(--color-border-light, #f0f0f0);\n  transition: background-color 0.15s ease;\n}\n\n.users-table-compact tbody tr:hover {\n  background-color: var(--color-background-hover, #f8f9fa);\n}\n\n.users-table-compact tbody tr.inactive-row {\n  opacity: 0.6;\n  background-color: #fafafa;\n}\n\n.users-table-compact td {\n  padding: 0.5rem 0.75rem;\n  vertical-align: middle;\n}\n\n/* User Compact Cell */\n.user-compact {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n}\n\n.user-avatar-small {\n  width: 1.75rem;\n  height: 1.75rem;\n  border-radius: 50%;\n  background: linear-gradient(135deg, var(--color-primary, #007bff), var(--color-primary-light, #66b3ff));\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  color: white;\n  font-weight: 600;\n  font-size: 0.75rem;\n  flex-shrink: 0;\n}\n\n.user-info-compact {\n  min-width: 0;\n  flex: 1;\n}\n\n.user-name-compact {\n  font-weight: 600;\n  color: var(--color-text-primary, #212529);\n  font-size: 0.8125rem;\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n\n.username-compact {\n  font-size: 0.6875rem;\n  color: var(--color-text-muted, #adb5bd);\n}\n\n/* Contact Compact */\n.contact-compact {\n  line-height: 1.3;\n}\n\n.email-compact {\n  font-size: 0.75rem;\n  color: var(--color-text-primary, #212529);\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n\n.phone-compact {\n  font-size: 0.6875rem;\n  color: var(--color-text-secondary, #6c757d);\n}\n\n/* Role Badge Compact */\n.role-badge-compact {\n  display: inline-block;\n  padding: 0.1875rem 0.5rem;\n  border-radius: 0.25rem;\n  font-size: 0.6875rem;\n  font-weight: 600;\n  text-transform: uppercase;\n  letter-spacing: 0.01875rem;\n}\n\n.role-badge-compact.administrador {\n  background-color: #fee;\n  color: #dc3545;\n  border: 0.0625rem solid #f5c6cb;\n}\n\n.role-badge-compact.gerente {\n  background-color: #fff3cd;\n  color: #fd7e14;\n  border: 0.0625rem solid #ffeaa7;\n}\n\n.role-badge-compact.cajero {\n  background-color: #d4edda;\n  color: #28a745;\n  border: 0.0625rem solid #c3e6cb;\n}\n\n.role-badge-compact.almacenista {\n  background-color: #d1ecf1;\n  color: #17a2b8;\n  border: 0.0625rem solid #bee5eb;\n}\n\n/* Status Dot */\n.status-dot {\n  font-size: 0.75rem;\n  display: inline-flex;\n  align-items: center;\n}\n\n.status-dot.active {\n  color: #28a745;\n}\n\n.status-dot.inactive {\n  color: #dc3545;\n}\n\n/* Date Compact */\n.date-compact {\n  font-size: 0.75rem;\n  color: var(--color-text-secondary, #6c757d);\n}\n\n/* Actions Compact */\n.actions-compact {\n  display: flex;\n  gap: 0.125rem;\n}\n\n.action-btn-compact {\n  width: 1.625rem;\n  height: 1.625rem;\n  border: none;\n  background: transparent;\n  border-radius: 0.25rem;\n  color: var(--color-text-secondary, #6c757d);\n  cursor: pointer;\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  transition: all 0.15s ease;\n}\n\n.action-btn-compact:hover {\n  background-color: var(--color-background-light, #f8f9fa);\n  color: var(--color-text-primary, #212529);\n}\n\n.action-btn-compact.delete:hover {\n  background-color: #fee;\n  color: #dc3545;\n}\n\n/* Users Table - Original */\n.users-table {\n  width: 100%;\n}\n\n.table-header {\n  display: grid;\n  grid-template-columns: 2fr 2fr 1.5fr 1fr 1.5fr 1fr;\n  gap: 1rem;\n  padding: 1.25rem 1.5rem;\n  background-color: var(--color-background-light, #f8f9fa);\n  border-bottom: 0.0625rem solid var(--color-border, #e9ecef);\n}\n\n.header-cell {\n  font-size: 0.75rem;\n  font-weight: 700;\n  color: var(--color-text-secondary, #6c757d);\n  text-transform: uppercase;\n  letter-spacing: 0.03125rem;\n}\n\n.table-body {\n  display: flex;\n  flex-direction: column;\n}\n\n.table-row {\n  display: grid;\n  grid-template-columns: 2fr 2fr 1.5fr 1fr 1.5fr 1fr;\n  gap: 1rem;\n  padding: 1.25rem 1.5rem;\n  border-bottom: 0.0625rem solid var(--color-border-light, #f0f0f0);\n  align-items: center;\n  transition: background-color 0.2s ease;\n}\n\n.table-row:hover {\n  background-color: var(--color-background-hover, #f8f9fa);\n}\n\n.table-row:last-child {\n  border-bottom: none;\n}\n\n.table-cell {\n  display: flex;\n  align-items: center;\n  min-height: 2.5rem;\n}\n\n/* User Info Cell */\n.user-info {\n  display: flex;\n  align-items: center;\n  gap: 0.75rem;\n}\n\n.user-avatar {\n  width: 2.5rem;\n  height: 2.5rem;\n  border-radius: 50%;\n  background: linear-gradient(135deg, var(--color-primary, #007bff), var(--color-primary-light, #66b3ff));\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  color: white;\n  font-weight: 600;\n  font-size: 1rem;\n  flex-shrink: 0;\n}\n\n.user-details {\n  min-width: 0;\n  flex: 1;\n}\n\n.user-name {\n  font-weight: 600;\n  color: var(--color-text-primary, #212529);\n  font-size: 0.875rem;\n  margin: 0;\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n\n.username {\n  font-size: 0.75rem;\n  color: var(--color-text-muted, #adb5bd);\n  display: block;\n  margin-top: 0.125rem;\n}\n\n/* Contact Info Cell */\n.contact-info {\n  flex-direction: column;\n  align-items: flex-start;\n  gap: 0.25rem;\n}\n\n.contact-detail {\n  display: flex;\n  align-items: center;\n  gap: 0.375rem;\n}\n\n.email {\n  font-size: 0.8125rem;\n  color: var(--color-text-primary, #212529);\n}\n\n.phone {\n  font-size: 0.75rem;\n  color: var(--color-text-secondary, #6c757d);\n}\n\n/* Role Info Cell */\n.role-info {\n  justify-content: flex-start;\n}\n\n.role-badge {\n  display: flex;\n  align-items: center;\n  gap: 0.375rem;\n  padding: 0.375rem 0.75rem;\n  border-radius: 0.375rem;\n  font-size: 0.75rem;\n  font-weight: 600;\n  text-transform: uppercase;\n  letter-spacing: 0.01875rem;\n}\n\n.role-badge.admin {\n  background-color: #fee;\n  color: #dc3545;\n  border: 0.0625rem solid #f5c6cb;\n}\n\n.role-badge.manager {\n  background-color: #fff3cd;\n  color: #fd7e14;\n  border: 0.0625rem solid #ffeaa7;\n}\n\n.role-badge.cashier {\n  background-color: #d4edda;\n  color: #28a745;\n  border: 0.0625rem solid #c3e6cb;\n}\n\n.role-badge.default {\n  background-color: #e9ecef;\n  color: #6c757d;\n  border: 0.0625rem solid #ced4da;\n}\n\n.role-icon {\n  flex-shrink: 0;\n}\n\n/* Status Badge */\n.status-badge {\n  padding: 0.25rem 0.5rem;\n  border-radius: 0.25rem;\n  font-size: 0.6875rem;\n  font-weight: 600;\n  text-transform: uppercase;\n  letter-spacing: 0.01875rem;\n}\n\n.status-badge.active {\n  background-color: #d4edda;\n  color: #28a745;\n  border: 0.0625rem solid #c3e6cb;\n}\n\n.status-badge.inactive {\n  background-color: #f8d7da;\n  color: #dc3545;\n  border: 0.0625rem solid #f5c6cb;\n}\n\n/* Last Access Cell */\n.last-access {\n  flex-direction: column;\n  align-items: flex-start;\n}\n\n.access-date {\n  font-size: 0.75rem;\n  color: var(--color-text-primary, #212529);\n}\n\n.no-access {\n  font-size: 0.75rem;\n  color: var(--color-text-muted, #adb5bd);\n  font-style: italic;\n}\n\n/* Actions Cell */\n.actions {\n  justify-content: flex-end;\n}\n\n.action-buttons {\n  display: flex;\n  gap: 0.25rem;\n}\n\n.action-buttons button {\n  width: 2rem;\n  height: 2rem;\n  border: none;\n  border-radius: 0.375rem;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  background-color: transparent;\n  color: var(--color-text-secondary, #6c757d);\n  transition: all 0.2s ease;\n  cursor: pointer;\n}\n\n.action-buttons button:hover {\n  background-color: var(--color-background-light, #f8f9fa);\n  color: var(--color-text-primary, #212529);\n}\n\n.action-buttons .delete-btn:hover {\n  background-color: #fee;\n  color: #dc3545;\n}\n\n/* User Form Styles */\n.user-form {\n  width: 100%;\n  max-width: none;\n}\n\n.modal-large .user-form .form-container {\n  display: grid !important;\n  grid-template-columns: 1fr 1fr !important;\n  gap: 1.5rem !important;\n  margin-bottom: 1.5rem;\n  min-width: 0;\n  width: 100% !important;\n}\n\n.form-container {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 1.5rem;\n  margin-bottom: 1.5rem;\n  min-width: 0;\n  width: 100%;\n}\n\n.modal-large .user-form .form-column {\n  display: flex !important;\n  flex-direction: column !important;\n  gap: 1rem !important;\n  min-width: 0 !important;\n}\n\n.form-column {\n  display: flex;\n  flex-direction: column;\n  gap: 1rem;\n  min-width: 0;\n}\n\n.column-title {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  font-size: 0.875rem;\n  font-weight: 600;\n  color: var(--color-text-primary, #212529);\n  margin: 0 0 0.5rem 0;\n  padding-bottom: 0.5rem;\n  border-bottom: 0.125rem solid var(--color-primary, #007bff);\n}\n\n.form-group {\n  display: flex;\n  flex-direction: column;\n  gap: 0.25rem;\n}\n\n/* Password Input Wrapper */\n.password-input-wrapper {\n  position: relative;\n  display: flex;\n  align-items: center;\n}\n\n.form-input {\n  width: 100%;\n  padding: 0.625rem 2.5rem 0.625rem 0.75rem;\n  border: 0.0625rem solid var(--color-border, #e9ecef);\n  border-radius: 0.375rem;\n  font-size: 0.875rem;\n  background-color: white;\n  transition: border-color 0.2s ease;\n}\n\n.form-input:focus {\n  outline: none;\n  border-color: var(--color-primary, #007bff);\n  box-shadow: 0 0 0 0.1875rem rgba(0, 123, 255, 0.1);\n}\n\n.form-input.error {\n  border-color: var(--color-danger, #dc3545);\n}\n\n.form-input:disabled {\n  background-color: var(--color-background-light, #f8f9fa);\n  cursor: not-allowed;\n}\n\n.password-toggle-btn {\n  position: absolute;\n  right: 0.5rem;\n  background: none;\n  border: none;\n  color: var(--color-text-secondary, #6c757d);\n  cursor: pointer;\n  padding: 0.25rem;\n  border-radius: 0.25rem;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  transition: background-color 0.2s ease;\n}\n\n.password-toggle-btn:hover {\n  background-color: var(--color-background-light, #f8f9fa);\n}\n\n.form-grid {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 1.25rem;\n  margin-bottom: 2rem;\n}\n\n.form-label {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  font-size: 0.875rem;\n  font-weight: 600;\n  color: var(--color-text-primary, #212529);\n  margin-bottom: 0.25rem;\n}\n\n.form-select {\n  width: 100%;\n  padding: 0.75rem 1rem;\n  border: 0.0625rem solid var(--color-border, #e9ecef);\n  border-radius: 0.5rem;\n  font-size: 0.875rem;\n  background-color: white;\n  transition: border-color 0.2s ease;\n}\n\n.form-select:focus {\n  outline: none;\n  border-color: var(--color-primary, #007bff);\n  box-shadow: 0 0 0 0.1875rem rgba(0, 123, 255, 0.1);\n}\n\n.form-select.error {\n  border-color: var(--color-danger, #dc3545);\n}\n\n.form-help {\n  font-size: 0.75rem;\n  color: var(--color-text-muted, #adb5bd);\n  margin-top: 0.25rem;\n}\n\n.error-message {\n  font-size: 0.75rem;\n  color: var(--color-danger, #dc3545);\n  margin-top: 0.25rem;\n}\n\n.password-toggle {\n  background: none;\n  border: none;\n  color: var(--color-text-secondary, #6c757d);\n  cursor: pointer;\n  padding: 0.25rem;\n  border-radius: 0.25rem;\n  transition: background-color 0.2s ease;\n}\n\n.password-toggle:hover {\n  background-color: var(--color-background-light, #f8f9fa);\n}\n\n.form-actions {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 0.75rem;\n  padding-top: 1.5rem;\n  border-top: 0.0625rem solid var(--color-border, #e9ecef);\n}\n\n.modal-large .user-form .form-actions {\n  display: grid !important;\n  grid-template-columns: 1fr 1fr !important;\n  gap: 0.75rem !important;\n}\n\n/* User Details Styles */\n.user-details {\n  width: 100%;\n  max-width: none;\n}\n\n.user-details-header {\n  display: flex;\n  align-items: flex-start;\n  gap: 1.25rem;\n  padding-bottom: 1.5rem;\n  border-bottom: 0.0625rem solid var(--color-border, #e9ecef);\n  margin-bottom: 1.5rem;\n}\n\n.user-avatar-large {\n  width: 5rem;\n  height: 5rem;\n  border-radius: 50%;\n  background: linear-gradient(135deg, var(--color-primary, #007bff), var(--color-primary-light, #66b3ff));\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  color: white;\n  font-weight: 700;\n  font-size: 2rem;\n  flex-shrink: 0;\n}\n\n.user-main-info {\n  flex: 1;\n}\n\n.user-main-info .user-name {\n  font-size: 1.5rem;\n  font-weight: 700;\n  color: var(--color-text-primary, #212529);\n  margin: 0 0 0.25rem 0;\n}\n\n.user-main-info .user-username {\n  font-size: 1rem;\n  color: var(--color-text-secondary, #6c757d);\n  margin-bottom: 0.75rem;\n}\n\n.user-status .status-indicator {\n  display: inline-flex;\n  align-items: center;\n  gap: 0.375rem;\n  padding: 0.375rem 0.75rem;\n  border-radius: 0.375rem;\n  font-size: 0.75rem;\n  font-weight: 600;\n  text-transform: uppercase;\n}\n\n.user-status .status-indicator.active {\n  background-color: #d4edda;\n  color: #28a745;\n}\n\n.user-status .status-indicator.inactive {\n  background-color: #f8d7da;\n  color: #dc3545;\n}\n\n.header-actions {\n  display: flex;\n  gap: 0.5rem;\n}\n\n.user-details-content {\n  display: flex;\n  flex-direction: column;\n  gap: 1.5rem;\n}\n\n.details-section {\n  background-color: var(--color-background-light, #f8f9fa);\n  border-radius: 0.5rem;\n  padding: 1.25rem;\n  border: 0.0625rem solid var(--color-border, #e9ecef);\n}\n\n.details-section.warning {\n  background-color: #fff3cd;\n  border-color: #ffeaa7;\n}\n\n.section-title {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  font-size: 1rem;\n  font-weight: 600;\n  color: var(--color-text-primary, #212529);\n  margin: 0 0 1rem 0;\n}\n\n.details-grid {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 1rem;\n}\n\n.detail-item {\n  display: flex;\n  flex-direction: column;\n  gap: 0.25rem;\n}\n\n.detail-label {\n  font-size: 0.75rem;\n  font-weight: 600;\n  color: var(--color-text-secondary, #6c757d);\n  text-transform: uppercase;\n  letter-spacing: 0.03125rem;\n}\n\n.detail-value {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  font-size: 0.875rem;\n  color: var(--color-text-primary, #212529);\n}\n\n.detail-value svg {\n  color: var(--color-text-muted, #adb5bd);\n  flex-shrink: 0;\n}\n\n/* Role Details */\n.role-details {\n  display: flex;\n  flex-direction: column;\n  gap: 0.75rem;\n}\n\n.role-badge-large {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  padding: 0.75rem 1rem;\n  border-radius: 0.5rem;\n  font-size: 0.875rem;\n  font-weight: 600;\n  color: white;\n  align-self: flex-start;\n}\n\n.role-description {\n  font-size: 0.875rem;\n  color: var(--color-text-secondary, #6c757d);\n  margin: 0;\n  line-height: 1.5;\n}\n\n.permissions-list {\n  margin-top: 1rem;\n}\n\n.permissions-title {\n  font-size: 0.875rem;\n  font-weight: 600;\n  color: var(--color-text-primary, #212529);\n  margin: 0 0 0.5rem 0;\n}\n\n.permissions-grid {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 0.375rem;\n}\n\n.permission-tag {\n  padding: 0.25rem 0.5rem;\n  background-color: white;\n  border: 0.0625rem solid var(--color-border, #e9ecef);\n  border-radius: 0.25rem;\n  font-size: 0.6875rem;\n  font-weight: 500;\n  color: var(--color-text-secondary, #6c757d);\n}\n\n/* Stats Grid */\n.stats-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(9.375rem, 1fr));\n  gap: 1rem;\n}\n\n.stat-item {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  text-align: center;\n  padding: 1rem;\n  background-color: white;\n  border-radius: 0.5rem;\n  border: 0.0625rem solid var(--color-border, #e9ecef);\n}\n\n.stat-value {\n  font-size: 1.5rem;\n  font-weight: 700;\n  color: var(--color-primary, #007bff);\n  margin-bottom: 0.25rem;\n}\n\n.stat-label {\n  font-size: 0.75rem;\n  color: var(--color-text-secondary, #6c757d);\n  text-transform: uppercase;\n  letter-spacing: 0.03125rem;\n}\n\n/* Warning Content */\n.warning-content {\n  display: flex;\n  align-items: flex-start;\n  gap: 0.75rem;\n}\n\n.warning-content svg {\n  color: #fd7e14;\n  flex-shrink: 0;\n  margin-top: 0.125rem;\n}\n\n.warning-content h4 {\n  font-size: 0.875rem;\n  font-weight: 600;\n  color: #fd7e14;\n  margin: 0 0 0.25rem 0;\n}\n\n.warning-content p {\n  font-size: 0.8125rem;\n  color: #856404;\n  margin: 0;\n  line-height: 1.4;\n}\n\n/* Footer */\n.user-details-footer {\n  display: flex;\n  justify-content: flex-end;\n  gap: 0.75rem;\n  padding-top: 1.5rem;\n  border-top: 0.0625rem solid var(--color-border, #e9ecef);\n  margin-top: 1.5rem;\n}\n\n.status-icon {\n  width: 0.5rem;\n  height: 0.5rem;\n  border-radius: 50%;\n  flex-shrink: 0;\n}\n\n.status-icon.active {\n  background-color: #28a745;\n}\n\n.status-icon.inactive {\n  color: #dc3545;\n}\n\n/* Responsive Design */\n@media (max-width: 75rem) {\n  .users-table-compact {\n    font-size: 0.75rem;\n  }\n\n  .users-table-compact th,\n  .users-table-compact td {\n    padding: 0.375rem 0.5rem;\n  }\n\n  .user-avatar-small {\n    width: 1.5rem;\n    height: 1.5rem;\n    font-size: 0.625rem;\n  }\n\n  .action-btn-compact {\n    width: 1.5rem;\n    height: 1.5rem;\n  }\n\n  .table-header,\n  .table-row {\n    grid-template-columns: 2fr 1.5fr 1fr 1fr 6.25rem;\n  }\n\n  .contact-info {\n    display: none;\n  }\n}\n\n@media (max-width: 48rem) {\n  .form-container,\n  .modal-large .user-form .form-container {\n    grid-template-columns: 1fr !important;\n    gap: 1.25rem !important;\n  }\n\n  .form-actions,\n  .modal-large .user-form .form-actions {\n    grid-template-columns: 1fr !important;\n  }\n\n  .column-title {\n    font-size: 1rem;\n    margin-bottom: 0.75rem;\n  }\n}\n\n@media (max-width: 48rem) {\n  .users-page {\n    padding: 1rem;\n  }\n\n  /* Tabla compacta en móvil - vista de tarjetas */\n  .users-table-compact {\n    display: block;\n  }\n\n  .users-table-compact thead {\n    display: none;\n  }\n\n  .users-table-compact tbody {\n    display: block;\n  }\n\n  .users-table-compact tr {\n    display: block;\n    margin-bottom: 0.625rem;\n    border: 0.0625rem solid var(--color-border, #e9ecef);\n    border-radius: 0.5rem;\n    padding: 0.75rem;\n    background: white;\n  }\n\n  .users-table-compact td {\n    display: block;\n    padding: 0.25rem 0;\n    border: none;\n  }\n\n  .users-table-compact td:before {\n    content: attr(data-label);\n    font-weight: 600;\n    display: inline-block;\n    width: 6.25rem;\n    font-size: 0.6875rem;\n    color: var(--color-text-secondary, #6c757d);\n  }\n}\n\n.users-header {\n  flex-direction: column;\n  gap: 1rem;\n  align-items: stretch;\n}\n\n.header-actions {\n  justify-content: flex-start;\n}\n\n.table-header,\n.table-row {\n  grid-template-columns: 1fr;\n  gap: 0.5rem;\n}\n\n.table-row {\n  flex-direction: column;\n  align-items: stretch;\n  padding: 1rem;\n}\n\n.table-cell {\n  justify-content: space-between;\n  min-height: auto;\n}\n\n.form-container {\n  grid-template-columns: 1fr;\n  gap: 1.5rem;\n}\n\n.form-grid {\n  grid-template-columns: 1fr;\n}\n\n.details-grid {\n  grid-template-columns: 1fr;\n}\n\n.user-details-header {\n  flex-direction: column;\n  text-align: center;\n}\n\n.form-actions,\n.user-details-footer {\n  flex-direction: column;\n}\n/* Almacenes Display in Table */\n.almacenes-display-compact {\n  display: flex;\n  align-items: center;\n}\n\n.almacenes-badges {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 0.25rem;\n  align-items: center;\n}\n\n.almacen-badge {\n  display: inline-flex;\n  align-items: center;\n  gap: 0.25rem;\n  background-color: #e3f2fd;\n  color: #1976d2;\n  padding: 0.25rem 0.5rem;\n  border-radius: 0.25rem;\n  font-size: 0.6875rem;\n  font-weight: 500;\n  white-space: nowrap;\n  max-width: 7.5rem;\n}\n\n.almacen-badge svg {\n  flex-shrink: 0;\n}\n\n.almacen-nombre {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n\n.almacen-more {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  background-color: #f5f5f5;\n  color: #666;\n  padding: 0.25rem 0.5rem;\n  border-radius: 0.25rem;\n  font-size: 0.6875rem;\n  font-weight: 600;\n  min-width: 2rem;\n}\n\n.no-almacenes {\n  color: var(--color-text-secondary, #6c757d);\n  font-size: 0.875rem;\n}\n\n/* Responsive adjustments for almacenes */\n@media (max-width: 48rem) {\n  .almacen-badge {\n    font-size: 0.625rem;\n    padding: 0.1875rem 0.375rem;\n  }\n\n  .almacen-more {\n    font-size: 0.625rem;\n    padding: 0.1875rem 0.375rem;\n    min-width: 1.75rem;\n  }\n}\n","/* Roles Page Styles */\n.roles-page {\n  padding: 1.5rem;\n  min-height: 100vh;\n  background-color: var(--color-background, #f8f9fa);\n}\n\n/* Header */\n.roles-header {\n  display: flex;\n  justify-content: space-between;\n  align-items: flex-start;\n  margin-bottom: 2rem;\n  padding-bottom: 1.5rem;\n  border-bottom: 0.0625rem solid var(--color-border, #e9ecef);\n}\n\n.header-content {\n  flex: 1;\n}\n\n.page-title {\n  display: flex;\n  align-items: center;\n  gap: 0.75rem;\n  font-size: 2rem;\n  font-weight: 700;\n  color: var(--color-text-primary, #212529);\n  margin: 0 0 0.5rem 0;\n}\n\n.page-description {\n  font-size: 1rem;\n  color: var(--color-text-secondary, #6c757d);\n  margin: 0;\n}\n\n.header-actions {\n  display: flex;\n  gap: 0.75rem;\n}\n\n.create-role-btn {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  background-color: var(--color-primary, #007bff);\n  color: white;\n  border: none;\n  border-radius: 0.5rem;\n  padding: 0.75rem 1.25rem;\n  font-weight: 600;\n  transition: all 0.2s ease;\n}\n\n.create-role-btn:hover {\n  background-color: var(--color-primary-dark, #0056b3);\n  transform: translateY(-0.0625rem);\n}\n\n/* Filters */\n.roles-filters {\n  background: white;\n  border-radius: 0.75rem;\n  padding: 1.5rem;\n  margin-bottom: 1.5rem;\n  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.05);\n  border: 0.0625rem solid var(--color-border, #e9ecef);\n}\n\n.search-container {\n  margin-bottom: 1rem;\n}\n\n.search-input {\n  width: 100%;\n  max-width: 25rem;\n}\n\n.filters-summary {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n}\n\n.roles-count {\n  font-size: 0.875rem;\n  color: var(--color-text-secondary, #6c757d);\n  font-weight: 500;\n}\n\n/* Table Container */\n.roles-table-container {\n  background: white;\n  border-radius: 0.75rem;\n  overflow: hidden;\n  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.05);\n  border: 0.0625rem solid var(--color-border, #e9ecef);\n}\n\n/* Loading State */\n.loading-state {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  padding: 5rem 1.25rem;\n  color: var(--color-text-secondary, #6c757d);\n}\n\n.loading-spinner {\n  width: 2.5rem;\n  height: 2.5rem;\n  border: 0.1875rem solid var(--color-border, #e9ecef);\n  border-top: 0.1875rem solid var(--color-primary, #007bff);\n  border-radius: 50%;\n  animation: spin 1s linear infinite;\n  margin-bottom: 1rem;\n}\n\n@keyframes spin {\n  0% { transform: rotate(0deg); }\n  100% { transform: rotate(360deg); }\n}\n\n/* Empty State */\n.empty-state {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  padding: 5rem 1.25rem;\n  text-align: center;\n}\n\n.empty-state svg {\n  color: var(--color-text-muted, #adb5bd);\n  margin-bottom: 1rem;\n}\n\n.empty-state h3 {\n  color: var(--color-text-primary, #212529);\n  font-size: 1.25rem;\n  font-weight: 600;\n  margin: 0 0 0.5rem 0;\n}\n\n.empty-state p {\n  color: var(--color-text-secondary, #6c757d);\n  font-size: 1rem;\n  margin: 0 0 1.5rem 0;\n  max-width: 25rem;\n}\n\n.empty-action-btn {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n}\n\n/* Roles Table Compact */\n.roles-table-compact {\n  width: 100%;\n  border-collapse: collapse;\n  font-size: 0.8125rem;\n}\n\n.roles-table-compact thead {\n  background-color: var(--color-background-light, #f8f9fa);\n  border-bottom: 0.125rem solid var(--color-border, #e9ecef);\n}\n\n.roles-table-compact th {\n  padding: 0.625rem 0.75rem;\n  text-align: left;\n  font-weight: 600;\n  font-size: 0.6875rem;\n  text-transform: uppercase;\n  letter-spacing: 0.03125rem;\n  color: var(--color-text-secondary, #6c757d);\n}\n\n.roles-table-compact tbody tr {\n  border-bottom: 0.0625rem solid var(--color-border-light, #f0f0f0);\n  transition: background-color 0.15s ease;\n}\n\n.roles-table-compact tbody tr:hover {\n  background-color: var(--color-background-hover, #f8f9fa);\n}\n\n.roles-table-compact tbody tr.inactive-row {\n  opacity: 0.6;\n  background-color: #fafafa;\n}\n\n.roles-table-compact td {\n  padding: 0.5rem 0.75rem;\n  vertical-align: middle;\n}\n\n/* Role Compact Cell */\n.role-compact {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n}\n\n.role-icon-container {\n  width: 1.75rem;\n  height: 1.75rem;\n  border-radius: 0.375rem;\n  background: linear-gradient(135deg, var(--color-primary, #007bff), var(--color-primary-light, #66b3ff));\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  color: white;\n  flex-shrink: 0;\n}\n\n.role-info-compact {\n  min-width: 0;\n  flex: 1;\n}\n\n.role-name-compact {\n  font-weight: 600;\n  color: var(--color-text-primary, #212529);\n  font-size: 0.8125rem;\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n\n.role-level-compact {\n  font-size: 0.6875rem;\n  color: var(--color-text-muted, #adb5bd);\n}\n\n/* Description Compact */\n.description-compact {\n  line-height: 1.3;\n}\n\n.description-text {\n  font-size: 0.75rem;\n  color: var(--color-text-primary, #212529);\n  margin: 0 0 0.125rem 0;\n  display: -webkit-box;\n  -webkit-line-clamp: 2;\n  -webkit-box-orient: vertical;\n  overflow: hidden;\n}\n\n.permissions-count {\n  font-size: 0.6875rem;\n  color: var(--color-text-secondary, #6c757d);\n}\n\n/* Users Count Compact */\n.users-count-compact {\n  display: flex;\n  align-items: center;\n  gap: 0.25rem;\n  font-size: 0.75rem;\n  color: var(--color-text-secondary, #6c757d);\n}\n\n/* Status Dot */\n.status-dot {\n  font-size: 0.75rem;\n  display: inline-flex;\n  align-items: center;\n}\n\n.status-dot.active {\n  color: #28a745;\n}\n\n.status-dot.inactive {\n  color: #dc3545;\n}\n\n/* Almacen Badge */\n.almacen-badge {\n  display: inline-flex;\n  align-items: center;\n  padding: 0.25rem 0.75rem;\n  border-radius: 0.75rem;\n  font-size: 0.75rem;\n  font-weight: 600;\n  text-transform: uppercase;\n  letter-spacing: 0.03125rem;\n}\n\n.almacen-badge.si {\n  background: #d1fae5;\n  color: #065f46;\n  border: 0.0625rem solid #6ee7b7;\n}\n\n.almacen-badge.no {\n  background: #fee2e2;\n  color: #991b1b;\n  border: 0.0625rem solid #fca5a5;\n}\n\n/* Actions Compact */\n.actions-compact {\n  display: flex;\n  gap: 0.125rem;\n}\n\n.action-btn-compact {\n  width: 1.625rem;\n  height: 1.625rem;\n  border: none;\n  background: transparent;\n  border-radius: 0.25rem;\n  color: var(--color-text-secondary, #6c757d);\n  cursor: pointer;\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  transition: all 0.15s ease;\n}\n\n.action-btn-compact:hover {\n  background-color: var(--color-background-light, #f8f9fa);\n  color: var(--color-text-primary, #212529);\n}\n\n.action-btn-compact.delete:hover {\n  background-color: #fee;\n  color: #dc3545;\n}\n\n.action-btn-compact:disabled {\n  opacity: 0.5;\n  cursor: not-allowed;\n}\n\n/* Role Form Styles */\n.role-form {\n  width: 100%;\n  max-width: none;\n}\n\n.modal-large .role-form .form-container {\n  display: grid !important;\n  grid-template-columns: 1fr 1fr !important;\n  gap: 1.5rem !important;\n  margin-bottom: 1.5rem;\n  min-width: 0;\n  width: 100% !important;\n}\n\n.modal-large .role-form .form-column {\n  display: flex !important;\n  flex-direction: column !important;\n  gap: 1rem !important;\n  min-width: 0 !important;\n}\n\n.form-textarea {\n  width: 100%;\n  padding: 0.75rem 1rem;\n  border: 0.0625rem solid var(--color-border, #e9ecef);\n  border-radius: 0.5rem;\n  font-size: 0.875rem;\n  font-family: inherit;\n  background-color: white;\n  transition: border-color 0.2s ease;\n  resize: vertical;\n  min-height: 5rem;\n}\n\n.form-textarea:focus {\n  outline: none;\n  border-color: var(--color-primary, #007bff);\n  box-shadow: 0 0 0 0.1875rem rgba(0, 123, 255, 0.1);\n}\n\n.form-textarea.error {\n  border-color: var(--color-danger, #dc3545);\n}\n\n.form-textarea:disabled {\n  background-color: var(--color-background-light, #f8f9fa);\n  cursor: not-allowed;\n}\n\n/* Checkbox Styles */\n.checkbox-label {\n  display: flex;\n  align-items: flex-start;\n  gap: 0.75rem;\n  padding: 0.75rem 1rem;\n  border: 0.0625rem solid var(--color-border, #e9ecef);\n  border-radius: 0.5rem;\n  background-color: white;\n  cursor: pointer;\n  transition: all 0.2s ease;\n}\n\n.checkbox-label:hover {\n  background-color: var(--color-background-hover, #f8f9fa);\n  border-color: var(--color-primary, #007bff);\n}\n\n.form-checkbox {\n  width: 1.125rem;\n  height: 1.125rem;\n  margin-top: 0.125rem;\n  cursor: pointer;\n  accent-color: var(--color-primary, #007bff);\n  flex-shrink: 0;\n}\n\n.form-checkbox:disabled {\n  cursor: not-allowed;\n  opacity: 0.5;\n}\n\n.checkbox-content {\n  flex: 1;\n  display: flex;\n  flex-direction: column;\n  gap: 0.25rem;\n}\n\n.checkbox-title {\n  font-size: 0.875rem;\n  font-weight: 600;\n  color: var(--color-text-primary, #212529);\n  line-height: 1.4;\n}\n\n.checkbox-description {\n  font-size: 0.75rem;\n  color: var(--color-text-secondary, #6c757d);\n  line-height: 1.4;\n}\n\n/* Permissions Container */\n.permissions-container {\n  max-height: 25rem;\n  overflow-y: auto;\n  border: 0.0625rem solid var(--color-border, #e9ecef);\n  border-radius: 0.5rem;\n  background: white;\n}\n\n.permissions-module {\n  border-bottom: 0.0625rem solid var(--color-border-light, #f0f0f0);\n}\n\n.permissions-module:last-child {\n  border-bottom: none;\n}\n\n.module-header {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  padding: 0.75rem 1rem;\n  background-color: var(--color-background-light, #f8f9fa);\n  cursor: pointer;\n  transition: background-color 0.2s ease;\n}\n\n.module-header:hover {\n  background-color: #e9ecef;\n}\n\n.module-info {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  font-weight: 600;\n  color: var(--color-text-primary, #212529);\n}\n\n.module-toggle .checked {\n  color: var(--color-primary, #007bff);\n}\n\n.module-toggle .partial {\n  color: #fd7e14;\n}\n\n.module-permissions {\n  padding: 0.5rem 0;\n}\n\n.permission-item {\n  padding: 0 1rem;\n}\n\n.permission-label {\n  display: flex;\n  align-items: flex-start;\n  gap: 0.75rem;\n  padding: 0.5rem 0;\n  cursor: pointer;\n  transition: background-color 0.2s ease;\n}\n\n.permission-label:hover {\n  background-color: var(--color-background-hover, #f8f9fa);\n}\n\n.permission-label input[type=\"checkbox\"] {\n  margin-top: 0.125rem;\n  accent-color: var(--color-primary, #007bff);\n}\n\n.permission-content {\n  flex: 1;\n  min-width: 0;\n}\n\n.permission-name {\n  font-weight: 500;\n  color: var(--color-text-primary, #212529);\n  font-size: 0.8125rem;\n  display: block;\n}\n\n.permission-desc {\n  font-size: 0.6875rem;\n  color: var(--color-text-secondary, #6c757d);\n  display: block;\n  margin-top: 0.125rem;\n}\n\n.permissions-summary {\n  margin-top: 1rem;\n  padding: 0.75rem 1rem;\n  background-color: var(--color-background-light, #f8f9fa);\n  border-radius: 0.375rem;\n  text-align: center;\n  font-size: 0.875rem;\n  color: var(--color-text-primary, #212529);\n}\n\n/* Role Details Styles */\n.role-details {\n  width: 100%;\n  max-width: none;\n}\n\n.role-details-header {\n  display: flex;\n  align-items: flex-start;\n  gap: 1.25rem;\n  padding-bottom: 1.5rem;\n  border-bottom: 0.0625rem solid var(--color-border, #e9ecef);\n  margin-bottom: 1.5rem;\n}\n\n.role-avatar-large {\n  width: 5rem;\n  height: 5rem;\n  border-radius: 0.75rem;\n  background: linear-gradient(135deg, var(--color-primary, #007bff), var(--color-primary-light, #66b3ff));\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  color: white;\n  flex-shrink: 0;\n}\n\n.role-main-info {\n  flex: 1;\n}\n\n.role-main-info .role-name {\n  font-size: 1.5rem;\n  font-weight: 700;\n  color: var(--color-text-primary, #212529);\n  margin: 0 0 0.5rem 0;\n}\n\n.role-main-info .role-description {\n  font-size: 1rem;\n  color: var(--color-text-secondary, #6c757d);\n  margin: 0 0 0.75rem 0;\n  line-height: 1.5;\n}\n\n.role-status .status-indicator {\n  display: inline-flex;\n  align-items: center;\n  gap: 0.375rem;\n  padding: 0.375rem 0.75rem;\n  border-radius: 0.375rem;\n  font-size: 0.75rem;\n  font-weight: 600;\n  text-transform: uppercase;\n}\n\n.role-status .status-indicator.active {\n  background-color: #d4edda;\n  color: #28a745;\n}\n\n.role-status .status-indicator.inactive {\n  background-color: #f8d7da;\n  color: #dc3545;\n}\n\n.role-details-content {\n  display: flex;\n  flex-direction: column;\n  gap: 1.5rem;\n}\n\n.details-section {\n  background-color: var(--color-background-light, #f8f9fa);\n  border-radius: 0.5rem;\n  padding: 1.25rem;\n  border: 0.0625rem solid var(--color-border, #e9ecef);\n}\n\n.details-section.warning {\n  background-color: #fff3cd;\n  border-color: #ffeaa7;\n}\n\n.section-title {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  font-size: 1rem;\n  font-weight: 600;\n  color: var(--color-text-primary, #212529);\n  margin: 0 0 1rem 0;\n}\n\n.details-grid {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 1rem;\n}\n\n.detail-item {\n  display: flex;\n  flex-direction: column;\n  gap: 0.25rem;\n}\n\n.detail-label {\n  font-size: 0.75rem;\n  font-weight: 600;\n  color: var(--color-text-secondary, #6c757d);\n  text-transform: uppercase;\n  letter-spacing: 0.03125rem;\n}\n\n.detail-value {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  font-size: 0.875rem;\n  color: var(--color-text-primary, #212529);\n}\n\n.detail-value svg {\n  color: var(--color-text-muted, #adb5bd);\n  flex-shrink: 0;\n}\n\n.nivel-badge {\n  padding: 0.25rem 0.5rem;\n  border-radius: 0.25rem;\n  font-size: 0.6875rem;\n  font-weight: 600;\n  text-transform: uppercase;\n}\n\n.nivel-badge.nivel-alto {\n  background-color: #fee;\n  color: #dc3545;\n}\n\n.nivel-badge.nivel-medio {\n  background-color: #fff3cd;\n  color: #fd7e14;\n}\n\n.nivel-badge.nivel-bajo {\n  background-color: #d4edda;\n  color: #28a745;\n}\n\n/* Permissions Details */\n.permissions-details {\n  display: flex;\n  flex-direction: column;\n  gap: 1rem;\n}\n\n.permission-module-detail {\n  background: white;\n  border-radius: 0.5rem;\n  border: 0.0625rem solid var(--color-border, #e9ecef);\n  overflow: hidden;\n}\n\n.module-header-detail {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  padding: 0.75rem 1rem;\n  background-color: var(--color-background-light, #f8f9fa);\n  border-bottom: 0.0625rem solid var(--color-border, #e9ecef);\n}\n\n.module-header-detail h4 {\n  font-size: 0.875rem;\n  font-weight: 600;\n  color: var(--color-text-primary, #212529);\n  margin: 0;\n  flex: 1;\n}\n\n.permissions-count {\n  font-size: 0.6875rem;\n  color: var(--color-text-secondary, #6c757d);\n  background: var(--color-background, #f8f9fa);\n  padding: 0.125rem 0.375rem;\n  border-radius: 0.25rem;\n}\n\n.module-permissions-list {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 0.375rem;\n  padding: 0.75rem 1rem;\n}\n\n.permission-tag {\n  display: flex;\n  align-items: center;\n  gap: 0.25rem;\n  padding: 0.25rem 0.5rem;\n  background-color: #e3f2fd;\n  color: #1976d2;\n  border-radius: 0.25rem;\n  font-size: 0.6875rem;\n  font-weight: 500;\n}\n\n.no-permissions {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  padding: 2.5rem 1.25rem;\n  text-align: center;\n  color: var(--color-text-muted, #adb5bd);\n}\n\n.no-permissions svg {\n  margin-bottom: 0.75rem;\n}\n\n/* Stats Grid */\n.stats-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(7.5rem, 1fr));\n  gap: 1rem;\n}\n\n.stat-item {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  text-align: center;\n  padding: 1rem;\n  background-color: white;\n  border-radius: 0.5rem;\n  border: 0.0625rem solid var(--color-border, #e9ecef);\n}\n\n.stat-value {\n  font-size: 1.5rem;\n  font-weight: 700;\n  color: var(--color-primary, #007bff);\n  margin-bottom: 0.25rem;\n}\n\n.stat-label {\n  font-size: 0.75rem;\n  color: var(--color-text-secondary, #6c757d);\n  text-transform: uppercase;\n  letter-spacing: 0.03125rem;\n}\n\n/* Warning Content */\n.warning-content {\n  display: flex;\n  align-items: flex-start;\n  gap: 0.75rem;\n}\n\n.warning-content svg {\n  color: #fd7e14;\n  flex-shrink: 0;\n  margin-top: 0.125rem;\n}\n\n.warning-content h4 {\n  font-size: 0.875rem;\n  font-weight: 600;\n  color: #fd7e14;\n  margin: 0 0 0.5rem 0;\n}\n\n.warning-content ul {\n  margin: 0;\n  padding-left: 1rem;\n}\n\n.warning-content li {\n  font-size: 0.8125rem;\n  color: #856404;\n  margin-bottom: 0.25rem;\n}\n\n/* Footer */\n.role-details-footer {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 0.75rem;\n  padding-top: 1.5rem;\n  border-top: 0.0625rem solid var(--color-border, #e9ecef);\n  margin-top: 1.5rem;\n}\n\n.modal-large .role-form .form-actions,\n.modal-large .role-details .role-details-footer {\n  display: grid !important;\n  grid-template-columns: 1fr 1fr !important;\n  gap: 0.75rem !important;\n}\n\n/* Responsive Design */\n@media (max-width: 48rem) {\n  .roles-page {\n    padding: 1rem;\n  }\n\n  .roles-header {\n    flex-direction: column;\n    gap: 1rem;\n    align-items: stretch;\n  }\n\n  .header-actions {\n    justify-content: flex-start;\n  }\n\n  .form-container,\n  .modal-large .role-form .form-container {\n    grid-template-columns: 1fr !important;\n    gap: 1.25rem !important;\n  }\n\n  .form-actions,\n  .modal-large .role-form .form-actions,\n  .role-details-footer,\n  .modal-large .role-details .role-details-footer {\n    grid-template-columns: 1fr !important;\n  }\n\n  .details-grid {\n    grid-template-columns: 1fr;\n  }\n\n  .role-details-header {\n    flex-direction: column;\n    text-align: center;\n  }\n\n  .stats-grid {\n    grid-template-columns: repeat(2, 1fr);\n  }\n\n  /* Tabla compacta en móvil - vista de tarjetas */\n  .roles-table-compact {\n    display: block;\n  }\n\n  .roles-table-compact thead {\n    display: none;\n  }\n\n  .roles-table-compact tbody {\n    display: block;\n  }\n\n  .roles-table-compact tr {\n    display: block;\n    margin-bottom: 0.625rem;\n    border: 0.0625rem solid var(--color-border, #e9ecef);\n    border-radius: 0.5rem;\n    padding: 0.75rem;\n    background: white;\n  }\n\n  .roles-table-compact td {\n    display: block;\n    padding: 0.25rem 0;\n    border: none;\n  }\n\n  .roles-table-compact td:before {\n    content: attr(data-label);\n    font-weight: 600;\n    display: inline-block;\n    width: 6.25rem;\n    font-size: 0.6875rem;\n    color: var(--color-text-secondary, #6c757d);\n  }\n}\n","/* FleteManagementPage.css */\n\n.flete-management-page {\n  padding: 1.5rem;\n  max-width: 87.5rem;\n  margin: 0 auto;\n}\n\n/* Header */\n.flete-header {\n  display: flex;\n  justify-content: space-between;\n  align-items: flex-start;\n  margin-bottom: 2rem;\n  padding-bottom: 1rem;\n  border-bottom: 0.0625rem solid var(--border-color);\n}\n\n.header-content h1.page-title {\n  display: flex;\n  align-items: center;\n  gap: 0.75rem;\n  font-size: 1.75rem;\n  font-weight: 600;\n  color: var(--text-color);\n  margin: 0 0 0.5rem 0;\n}\n\n.page-description {\n  color: var(--text-color-secondary);\n  font-size: 0.95rem;\n  margin: 0;\n  max-width: 31.25rem;\n}\n\n/* Pestañas */\n.flete-tabs {\n  display: flex;\n  gap: 0;\n  margin-bottom: 1.5rem;\n  background: #f8fafc;\n  border-radius: 0.75rem;\n  padding: 0.25rem;\n  box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.1);\n}\n\n.tab-button {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  padding: 0.75rem 1.25rem;\n  border: none;\n  background: transparent;\n  color: #6b7280;\n  border-radius: 0.5rem;\n  transition: all 0.2s ease;\n  font-weight: 500;\n  font-size: 0.9rem;\n  cursor: pointer;\n  position: relative;\n  flex: 1;\n  justify-content: center;\n}\n\n.tab-button:hover {\n  background: rgba(59, 130, 246, 0.1);\n  color: #3b82f6;\n}\n\n.tab-button.active {\n  background: #ffffff;\n  color: #3b82f6;\n  box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.1), 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.06);\n  font-weight: 600;\n}\n\n.tab-button.active:hover {\n  background: #ffffff;\n  color: #3b82f6;\n}\n\n/* Contenido */\n.flete-content {\n  min-height: 25rem;\n}\n\n/* Estilos para las pestañas */\n.rangos-flete-tab,\n.vehiculos-tab {\n  display: flex;\n  flex-direction: column;\n  gap: 0.75rem;\n}\n\n/* Controles */\n.rangos-controls,\n.vehiculos-controls {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  gap: 1rem;\n  padding: 0.75rem;\n  background: var(--bg-color);\n  border: 0.0625rem solid var(--border-color);\n  border-radius: 0.5rem;\n}\n\n.search-container {\n  flex: 1;\n  max-width: 25rem;\n}\n\n.controls-actions {\n  display: flex;\n  gap: 0.5rem;\n}\n\n/* Resumen */\n.rangos-summary,\n.vehiculos-summary {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  padding: 0.5rem 0.75rem;\n  background: var(--bg-secondary);\n  border-radius: 0.5rem;\n  font-size: 0.85rem;\n  color: var(--text-color-secondary);\n}\n\n/* Tablas */\n.rangos-table-container,\n.vehiculos-table-container {\n  background: #ffffff;\n  border: 0.0625rem solid #d1d5db;\n  border-radius: 0.5rem;\n  overflow: hidden;\n  box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.1);\n}\n\n.rangos-table-compact,\n.vehiculos-table-compact {\n  width: 100%;\n  border-collapse: collapse;\n}\n\n.rangos-table-compact th,\n.vehiculos-table-compact th {\n  background: #f8fafc;\n  padding: 0.75rem;\n  font-weight: 600;\n  color: #374151;\n  border-bottom: 0.0625rem solid #e5e7eb;\n  font-size: 0.875rem;\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;\n}\n\n.rangos-table-compact td,\n.vehiculos-table-compact td {\n  padding: 0.5rem 0.75rem;\n  border-bottom: 0.0625rem solid #f1f5f9;\n  vertical-align: middle;\n  color: #1f2937;\n  font-size: 0.875rem;\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;\n}\n\n.rangos-table-compact tr:hover,\n.vehiculos-table-compact tr:hover {\n  background: #f1f5f9;\n  cursor: pointer;\n}\n\n.inactive-row {\n  opacity: 0.6;\n  background: var(--bg-secondary) !important;\n}\n\n/* Componentes compactos de tabla */\n.rango-compact,\n.vehiculo-compact {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n}\n\n.rango-icon,\n.vehiculo-icon {\n  width: 1.75rem;\n  height: 1.75rem;\n  background: var(--primary-color-light);\n  border-radius: 0.375rem;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  color: var(--primary-color);\n}\n\n.rango-info,\n.vehiculo-info {\n  display: flex;\n  flex-direction: column;\n  gap: 0.125rem;\n  text-align: left;\n}\n\n.rango-name,\n.vehiculo-placa {\n  font-weight: 600;\n  color: var(--text-color);\n}\n\n.rango-description,\n.vehiculo-tipo {\n  font-size: 0.85rem;\n  color: var(--text-color-secondary);\n}\n\n/* Información específica */\n.distancia-info,\n.precios-info,\n.especificaciones-info,\n.conductor-info,\n.capacidad-info {\n  display: flex;\n  flex-direction: column;\n  gap: 0.25rem;\n  font-size: 0.9rem;\n}\n\n.costo-info {\n  text-align: right;\n}\n\n.distancia-range,\n.precio-base,\n.marca-modelo,\n.conductor-nombre {\n  display: flex;\n  align-items: center;\n  gap: 0.25rem;\n  font-weight: 500;\n}\n\n.precio-kg,\n.precio-min,\n.año,\n.conductor-telefono {\n  display: flex;\n  align-items: center;\n  gap: 0.25rem;\n  color: var(--text-color-secondary);\n  font-size: 0.85rem;\n}\n\n/* Badges */\n.tipo-calculo-badge,\n.tipo-vehiculo-badge {\n  padding: 0.25rem 0.5rem;\n  border-radius: 0.25rem;\n  font-size: 0.75rem;\n  font-weight: 600;\n  text-transform: uppercase;\n}\n\n.tipo-fijo {\n  background: #dbeafe;\n  color: #1e40af;\n}\n\n.tipo-peso {\n  background: #dcfce7;\n  color: #166534;\n}\n\n.tipo-mixto {\n  background: #fef3c7;\n  color: #92400e;\n}\n\n.camion {\n  background: #f3e8ff;\n  color: #7c3aed;\n}\n\n.camioneta {\n  background: #dbeafe;\n  color: #1e40af;\n}\n\n.motocicleta {\n  background: #dcfce7;\n  color: #166534;\n}\n\n.auto {\n  background: #fef3c7;\n  color: #92400e;\n}\n\n.otro {\n  background: #f1f5f9;\n  color: #475569;\n}\n\n/* Status dots */\n.status-dot {\n  display: flex;\n  align-items: center;\n  gap: 0.25rem;\n  font-size: 0.85rem;\n  font-weight: 500;\n}\n\n.status-dot.active {\n  color: #16a34a !important;\n}\n\n.status-dot.inactive {\n  color: var(--error-color);\n}\n\n/* Acciones */\n.actions-compact {\n  display: flex;\n  gap: 0.25rem;\n  justify-content: center;\n}\n\n.action-btn-compact {\n  width: 1.75rem;\n  height: 1.75rem;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border: 0.0625rem solid #d1d5db;\n  background: #ffffff;\n  border-radius: 0.25rem;\n  color: #6b7280;\n  cursor: pointer;\n  transition: all 0.15s ease;\n}\n\n.action-btn-compact:hover {\n  background: #f3f4f6;\n  color: #1f2937;\n  border-color: #9ca3af;\n  transform: translateY(-0.0625rem);\n  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.1);\n}\n\n.action-btn-compact.delete:hover {\n  background: #ef4444;\n  color: white;\n  border-color: #ef4444;\n  transform: translateY(-0.0625rem);\n  box-shadow: 0 0.125rem 0.25rem rgba(239, 68, 68, 0.3);\n}\n\n/* Estados especiales */\n.loading-state,\n.empty-state {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  padding: 3rem;\n  text-align: center;\n  color: var(--text-color-secondary);\n}\n\n.loading-spinner {\n  width: 2rem;\n  height: 2rem;\n  border: 0.1875rem solid var(--border-light);\n  border-top: 0.1875rem solid var(--primary-color);\n  border-radius: 50%;\n  animation: spin 1s linear infinite;\n  margin-bottom: 1rem;\n}\n\n@keyframes spin {\n  0% { transform: rotate(0deg); }\n  100% { transform: rotate(360deg); }\n}\n\n.empty-state h3 {\n  margin: 1rem 0 0.5rem 0;\n  color: var(--text-color);\n}\n\n.empty-state p {\n  margin: 0 0 1.5rem 0;\n}\n\n/* Calculadora de Flete */\n.calculadora-container {\n  display: flex;\n  flex-direction: column;\n  gap: 2rem;\n  max-width: 50rem;\n}\n\n.calculadora-form-section,\n.calculadora-resultado-section,\n.calculadora-info-section {\n  background: white;\n  border: 0.0625rem solid var(--border-color);\n  border-radius: 0.5rem;\n  padding: 1.5rem;\n}\n\n.section-header {\n  margin-bottom: 1.5rem;\n}\n\n.section-header h3 {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  margin: 0 0 0.5rem 0;\n  font-size: 1.25rem;\n  color: var(--text-color);\n}\n\n.section-header p {\n  margin: 0;\n  color: var(--text-color-secondary);\n  font-size: 0.9rem;\n}\n\n.calculadora-form {\n  display: flex;\n  flex-direction: column;\n  gap: 1.5rem;\n}\n\n.form-row {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 1rem;\n}\n\n.form-group {\n  display: flex;\n  flex-direction: column;\n}\n\n/* Botones de formularios específicos para módulo de flete */\n.vehiculo-form .form-actions,\n.rango-flete-form .form-actions {\n  display: flex !important;\n  width: 100% !important;\n  padding: 1.5rem 0 0 0;\n  margin-top: 1rem;\n  border-top: 0.0625rem solid var(--border-light);\n  flex-direction: row !important;\n  gap: 1rem;\n}\n\n/* Cada botón ocupa exactamente la mitad del ancho */\n.vehiculo-form .form-actions button,\n.rango-flete-form .form-actions button {\n  flex: 1 !important;\n  width: calc(50% - 0.5rem) !important;\n  padding: 0.5rem 1rem !important;\n  font-size: 0.875rem !important;\n  font-weight: 500 !important;\n  height: 2.25rem !important;\n  border-radius: 0.375rem !important;\n}\n\n/* Resultado */\n.resultado-container {\n  display: flex;\n  flex-direction: column;\n  gap: 1.5rem;\n}\n\n.precio-principal {\n  text-align: center;\n  padding: 1.5rem;\n  background: var(--success-color-light);\n  border: 0.125rem solid var(--success-color);\n  border-radius: 0.5rem;\n}\n\n.precio-label {\n  font-size: 1rem;\n  color: var(--text-color-secondary);\n  margin-bottom: 0.5rem;\n}\n\n.precio-valor {\n  font-size: 2.5rem;\n  font-weight: 700;\n  color: var(--success-color);\n}\n\n.rango-info,\n.calculo-desglose {\n  background: var(--bg-secondary);\n  border-radius: 0.5rem;\n  padding: 1rem;\n}\n\n.rango-header,\n.desglose-header {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  margin-bottom: 1rem;\n  padding-bottom: 0.5rem;\n  border-bottom: 0.0625rem solid var(--border-light);\n}\n\n.rango-header h4,\n.desglose-header h4 {\n  margin: 0;\n  color: var(--text-color);\n}\n\n.rango-detalles,\n.desglose-items {\n  display: flex;\n  flex-direction: column;\n  gap: 0.75rem;\n}\n\n.detalle-item,\n.desglose-item {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  padding: 0.5rem 0;\n}\n\n.detalle-label,\n.item-label {\n  font-weight: 500;\n  color: var(--text-color-secondary);\n}\n\n.detalle-valor,\n.item-valor {\n  font-weight: 600;\n  color: var(--text-color);\n}\n\n.tipo-calculo {\n  background: var(--primary-color-light);\n  color: var(--primary-color);\n  padding: 0.25rem 0.5rem;\n  border-radius: 0.25rem;\n  font-size: 0.85rem;\n}\n\n.calculo-explicacion {\n  margin-top: 1rem;\n  padding-top: 1rem;\n  border-top: 0.0625rem solid var(--border-light);\n}\n\n.calculo-explicacion h5 {\n  margin: 0 0 0.5rem 0;\n  color: var(--text-color);\n}\n\n.calculo-explicacion p {\n  margin: 0;\n  padding: 0.75rem;\n  background: var(--bg-color);\n  border-radius: 0.25rem;\n  font-size: 0.9rem;\n}\n\n/* Información adicional */\n.info-card {\n  background: var(--bg-secondary);\n  border-radius: 0.5rem;\n  padding: 1rem;\n}\n\n.info-card h4 {\n  margin: 0 0 1rem 0;\n  color: var(--text-color);\n}\n\n.info-card ul {\n  margin: 0;\n  padding-left: 1.5rem;\n  color: var(--text-color-secondary);\n}\n\n.info-card li {\n  margin-bottom: 0.5rem;\n  font-size: 0.9rem;\n}\n\n/* Estilos adicionales para inputs numéricos en formularios */\n.rango-flete-form input[type=\"number\"],\n.vehiculo-form input[type=\"number\"] {\n  text-align: right;\n}\n\n.rango-flete-form input[type=\"number\"]::-webkit-outer-spin-button,\n.rango-flete-form input[type=\"number\"]::-webkit-inner-spin-button,\n.vehiculo-form input[type=\"number\"]::-webkit-outer-spin-button,\n.vehiculo-form input[type=\"number\"]::-webkit-inner-spin-button {\n  -webkit-appearance: none;\n  margin: 0;\n}\n\n.rango-flete-form input[type=\"number\"],\n.vehiculo-form input[type=\"number\"] {\n  -moz-appearance: textfield;\n}\n\n/* Responsivo */\n@media (max-width: 48rem) {\n  .flete-management-page {\n    padding: 1rem;\n  }\n\n  .flete-header {\n    flex-direction: column;\n    gap: 1rem;\n  }\n\n  .flete-tabs {\n    flex-wrap: wrap;\n  }\n\n  .rangos-controls,\n  .vehiculos-controls {\n    flex-direction: column;\n    align-items: stretch;\n  }\n\n  .form-row {\n    grid-template-columns: 1fr;\n  }\n\n  .vehiculo-form .form-actions,\n  .rango-flete-form .form-actions {\n    flex-direction: column-reverse !important;\n    align-items: stretch !important;\n  }\n\n  .precio-valor {\n    font-size: 2rem;\n  }\n}\n","/* SalesReportPage.css */\n\n.sales-report-page {\n    padding: 1.5rem;\n    max-width: 87.5rem;\n    margin: 0 auto;\n}\n\n/* Header */\n.report-header {\n    display: flex;\n    justify-content: space-between;\n    align-items: flex-start;\n    margin-bottom: 2rem;\n    padding-bottom: 1rem;\n    border-bottom: 0.0625rem solid var(--gray-200);\n}\n\n.header-content h1.page-title {\n    display: flex;\n    align-items: center;\n    gap: 0.75rem;\n    font-size: 1.75rem;\n    font-weight: 600;\n    color: var(--gray-900);\n    margin: 0 0 0.5rem 0;\n}\n\n.page-description {\n    color: var(--gray-500);\n    font-size: 0.95rem;\n    margin: 0;\n    max-width: 31.25rem;\n}\n\n.header-actions {\n    display: flex;\n    gap: 0.5rem;\n}\n\n/* Filtros */\n.report-filters {\n    background: white;\n    border: 0.0625rem solid var(--gray-200);\n    border-radius: 0.5rem;\n    padding: 1.25rem;\n    margin-bottom: 1.5rem;\n    box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.1);\n}\n\n.filters-row {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(11.25rem, 1fr));\n    gap: 1rem;\n    margin-bottom: 1rem;\n}\n\n.filter-group {\n    display: flex;\n    flex-direction: column;\n    gap: 0.5rem;\n}\n\n.filter-label {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    font-size: 0.875rem;\n    font-weight: 500;\n    color: var(--gray-700);\n}\n\n.filter-select {\n    width: 100%;\n    padding: 0.5rem;\n    border: 0.0625rem solid var(--gray-300);\n    border-radius: 0.375rem;\n    font-size: 0.875rem;\n    background: white;\n    color: var(--gray-700);\n}\n\n.filter-select:focus {\n    outline: none;\n    border-color: var(--primary-500);\n    box-shadow: 0 0 0 0.1875rem rgba(59, 130, 246, 0.1);\n}\n\n.filter-actions {\n    display: flex;\n    align-items: flex-end;\n}\n\n/* Quick Filters */\n.quick-filters {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    padding-top: 1rem;\n    border-top: 0.0625rem solid var(--gray-100);\n}\n\n.quick-filters-label {\n    font-size: 0.875rem;\n    color: var(--gray-600);\n    font-weight: 500;\n}\n\n/* Summary Cards */\n.summary-cards {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(15.625rem, 1fr));\n    gap: 1rem;\n    margin-bottom: 1.5rem;\n}\n\n.summary-card {\n    background: white;\n    border: 0.0625rem solid var(--gray-200);\n    border-radius: 0.5rem;\n    padding: 1.25rem;\n    display: flex;\n    align-items: center;\n    gap: 1rem;\n    box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.1);\n}\n\n.summary-icon {\n    width: 3rem;\n    height: 3rem;\n    border-radius: 0.5rem;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    flex-shrink: 0;\n}\n\n.summary-icon.success {\n    background: var(--success-50);\n    color: var(--success-600);\n}\n\n.summary-icon.primary {\n    background: var(--primary-100);\n    color: var(--primary-600);\n}\n\n.summary-icon.info {\n    background: #dbeafe;\n    color: #2563eb;\n}\n\n.summary-icon.warning {\n    background: var(--warning-50);\n    color: var(--warning-600);\n}\n\n.summary-content {\n    display: flex;\n    flex-direction: column;\n    gap: 0.25rem;\n    flex: 1;\n}\n\n.summary-label {\n    font-size: 0.875rem;\n    color: var(--gray-500);\n}\n\n.summary-value {\n    font-size: 1.5rem;\n    font-weight: 700;\n    color: var(--gray-900);\n}\n\n.summary-value-small {\n    font-size: 0.875rem;\n    font-weight: 600;\n    color: var(--gray-900);\n}\n\n/* Tabs */\n.report-tabs {\n    display: flex;\n    gap: 0;\n    margin-bottom: 1.5rem;\n    background: var(--gray-50);\n    border-radius: 0.75rem;\n    padding: 0.25rem;\n    box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.1);\n    overflow-x: auto;\n}\n\n.tab-button {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    padding: 0.75rem 1.25rem;\n    border: none;\n    background: transparent;\n    color: var(--gray-500);\n    border-radius: 0.5rem;\n    transition: all 0.2s ease;\n    font-weight: 500;\n    font-size: 0.9rem;\n    cursor: pointer;\n    position: relative;\n    flex: 1;\n    justify-content: center;\n    white-space: nowrap;\n}\n\n.tab-button:hover {\n    background: rgba(59, 130, 246, 0.1);\n    color: var(--primary-600);\n}\n\n.tab-button.active {\n    background: white;\n    color: var(--primary-600);\n    box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.1), 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.06);\n    font-weight: 600;\n}\n\n.tab-button.active:hover {\n    background: white;\n    color: var(--primary-600);\n}\n\n/* Content */\n.report-content {\n    min-height: 25rem;\n}\n\n.report-table-container {\n    background: white;\n    border: 0.0625rem solid var(--gray-200);\n    border-radius: 0.5rem;\n    overflow: hidden;\n    box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.1);\n}\n\n.table-title {\n    padding: 1rem 1.25rem;\n    margin: 0;\n    border-bottom: 0.0625rem solid var(--gray-200);\n    font-size: 1rem;\n    font-weight: 600;\n    color: var(--gray-900);\n    background: var(--gray-50);\n}\n\n.report-table {\n    width: 100%;\n    border-collapse: collapse;\n}\n\n.report-table th {\n    background: var(--gray-50);\n    padding: 0.75rem;\n    text-align: left;\n    font-weight: 600;\n    color: var(--gray-700);\n    border-bottom: 0.0625rem solid var(--gray-200);\n    font-size: 0.875rem;\n}\n\n.report-table td {\n    padding: 0.75rem;\n    border-bottom: 0.0625rem solid var(--gray-100);\n    vertical-align: middle;\n    color: var(--gray-900);\n    font-size: 0.875rem;\n}\n\n.report-table tr:hover {\n    background: var(--gray-50);\n}\n\n/* Alineación numérica */\nth[data-type=\"numeric\"],\n.numeric-column {\n    text-align: right;\n}\n\n/* Badges */\n.folio-badge {\n    display: inline-block;\n    padding: 0.25rem 0.5rem;\n    background: var(--primary-100);\n    color: var(--primary-700);\n    border-radius: 0.25rem;\n    font-size: 0.75rem;\n    font-weight: 600;\n    font-family: 'Courier New', monospace;\n}\n\n.payment-badge {\n    display: inline-block;\n    padding: 0.25rem 0.5rem;\n    background: #dbeafe;\n    color: #2563eb;\n    border-radius: 0.25rem;\n    font-size: 0.75rem;\n    font-weight: 500;\n    text-transform: capitalize;\n}\n\n.rank-badge {\n    display: inline-block;\n    padding: 0.25rem 0.5rem;\n    background: var(--warning-100);\n    color: var(--warning-700);\n    border-radius: 0.25rem;\n    font-size: 0.75rem;\n    font-weight: 600;\n}\n\n/* Estados */\n.loading-state,\n.empty-state {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    padding: 3rem;\n    text-align: center;\n    color: var(--gray-500);\n}\n\n.loading-spinner {\n    width: 2rem;\n    height: 2rem;\n    border: 0.1875rem solid var(--gray-200);\n    border-top: 0.1875rem solid var(--primary-500);\n    border-radius: 50%;\n    animation: spin 1s linear infinite;\n    margin-bottom: 1rem;\n}\n\n@keyframes spin {\n    0% { transform: rotate(0deg); }\n    100% { transform: rotate(360deg); }\n}\n\n.empty-state h3 {\n    margin: 1rem 0 0.5rem 0;\n    color: var(--gray-700);\n}\n\n.empty-state p {\n    margin: 0;\n}\n\n/* Responsive */\n@media (max-width: 48rem) {\n    .sales-report-page {\n        padding: 1rem;\n    }\n\n    .report-header {\n        flex-direction: column;\n        gap: 1rem;\n    }\n\n    .filters-row {\n        grid-template-columns: 1fr;\n    }\n\n    .summary-cards {\n        grid-template-columns: 1fr;\n    }\n\n    .report-tabs {\n        overflow-x: auto;\n    }\n\n    .tab-button {\n        flex: 0 0 auto;\n        min-width: 9.375rem;\n    }\n\n    .report-table-container {\n        overflow-x: auto;\n    }\n\n    .report-table {\n        min-width: 50rem;\n    }\n}\n","/* Medido Hoy Page Styles */\n.medido-hoy-page {\n  display: flex;\n  flex-direction: column;\n  gap: 1.25rem;\n  height: 100%;\n  padding: 1.25rem;\n}\n\n/* Controles */\n.medido-hoy-controls {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  gap: 1rem;\n  flex-wrap: wrap;\n}\n\n.search-filters {\n  display: flex;\n  gap: 0.75rem;\n  flex: 1;\n  align-items: center;\n  flex-wrap: wrap;\n}\n\n/* Botones de filtro */\n.filter-buttons {\n  display: flex;\n  gap: 0.5rem;\n  flex-wrap: wrap;\n}\n\n.filter-btn {\n  display: flex;\n  align-items: center;\n  gap: 0.375rem;\n  padding: 0.5rem 1rem;\n  background: white;\n  border: 0.0625rem solid #d1d5db;\n  border-radius: 0.375rem;\n  color: #6b7280;\n  font-size: 0.8125rem;\n  font-weight: 500;\n  cursor: pointer;\n  transition: all 0.15s;\n}\n\n.filter-btn:hover {\n  background: #f8f9fa;\n  border-color: #667eea;\n  color: #667eea;\n}\n\n.filter-btn.active {\n  background: #667eea;\n  border-color: #667eea;\n  color: white;\n}\n\n.filter-btn svg {\n  flex-shrink: 0;\n}\n\n/* Select de filtro */\n.filter-select {\n  padding: 0.5rem 0.75rem;\n  background: white;\n  border: 0.0625rem solid #d1d5db;\n  border-radius: 0.375rem;\n  color: #6b7280;\n  font-size: 0.8125rem;\n  font-weight: 500;\n  cursor: pointer;\n  transition: all 0.15s;\n}\n\n.filter-select:hover {\n  border-color: #667eea;\n  color: #667eea;\n}\n\n.filter-select:focus {\n  outline: none;\n  border-color: #667eea;\n  box-shadow: 0 0 0 0.1875rem rgba(102, 126, 234, 0.1);\n}\n\n.filter-select.active {\n  background: #667eea;\n  border-color: #667eea;\n  color: white;\n}\n\n/* Date range inputs */\n.date-range-inputs {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  padding: 0.5rem 0;\n}\n\n.date-input {\n  padding: 0.5rem 0.75rem;\n  border: 0.0625rem solid #d1d5db;\n  border-radius: 0.375rem;\n  font-size: 0.8125rem;\n  color: #374151;\n  background: white;\n  transition: all 0.15s;\n  cursor: pointer;\n}\n\n.date-input:hover {\n  border-color: #667eea;\n}\n\n.date-input:focus {\n  outline: none;\n  border-color: #667eea;\n  box-shadow: 0 0 0 0.1875rem rgba(102, 126, 234, 0.1);\n}\n\n.search-container {\n  flex: 1;\n  min-width: 18.75rem;\n  max-width: 31.25rem;\n}\n\n.controls-actions {\n  display: flex;\n  gap: 0.75rem;\n  align-items: center;\n}\n\n/* Selection Info */\n.selection-info {\n  display: flex;\n  align-items: center;\n  gap: 0.75rem;\n  padding: 0.5rem 1rem;\n  background: #f3f4f6;\n  border-radius: 0.375rem;\n}\n\n.selection-count {\n  font-size: 0.8125rem;\n  font-weight: 500;\n  color: #374151;\n}\n\n.clear-selection-btn {\n  padding: 0.25rem 0.75rem;\n  font-size: 0.75rem;\n  background: white;\n  border: 0.0625rem solid #d1d5db;\n  border-radius: 0.25rem;\n  color: #6b7280;\n  cursor: pointer;\n  transition: all 0.2s;\n}\n\n.clear-selection-btn:hover {\n  background: #f9fafb;\n  border-color: #9ca3af;\n}\n\n/* Tabla de registros */\n.medido-hoy-table-container {\n  flex: 1;\n  background: white;\n  border-radius: 0.5rem;\n  box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.1);\n  overflow: hidden;\n  display: flex;\n  flex-direction: column;\n}\n\n.medido-hoy-table {\n  width: 100%;\n  border-collapse: collapse;\n  font-size: 0.875rem;\n}\n\n.medido-hoy-table thead {\n  background: #f9fafb;\n  border-bottom: 0.125rem solid #e5e7eb;\n  position: sticky;\n  top: 0;\n  z-index: 10;\n}\n\n.medido-hoy-table th {\n  padding: 0.75rem 1rem;\n  text-align: left;\n  font-weight: 600;\n  color: #374151;\n  font-size: 0.8125rem;\n  text-transform: uppercase;\n  letter-spacing: 0.03125rem;\n}\n\n.medido-hoy-table th[data-type=\"actions\"] {\n  text-align: center;\n}\n\n.medido-hoy-table tbody tr {\n  border-bottom: 0.0625rem solid #f3f4f6;\n  transition: background-color 0.15s;\n}\n\n.medido-hoy-table tbody tr:hover {\n  background: #f9fafb;\n}\n\n.medido-hoy-table tbody tr.selected-row {\n  background: #eff6ff;\n}\n\n.medido-hoy-table tbody tr.selected-row:hover {\n  background: #dbeafe;\n}\n\n.medido-hoy-table td {\n  padding: 0.875rem 1rem;\n  color: #1f2937;\n}\n\n/* Checkbox Column */\n.checkbox-column {\n  width: 2.5rem;\n  text-align: center;\n}\n\n.checkbox-column input[type=\"checkbox\"] {\n  width: 1rem;\n  height: 1rem;\n  cursor: pointer;\n  accent-color: #667eea;\n}\n\n/* Folio */\n.registro-folio {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n}\n\n.folio-number {\n  font-weight: 600;\n  color: #667eea;\n  font-family: 'Courier New', monospace;\n  font-size: 0.8125rem;\n}\n\n/* Fecha */\n.registro-fecha {\n  display: flex;\n  align-items: center;\n  gap: 0.375rem;\n  color: #6b7280;\n  font-size: 0.8125rem;\n}\n\n.registro-fecha svg {\n  flex-shrink: 0;\n}\n\n/* Cliente */\n.registro-cliente {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n}\n\n.registro-cliente svg {\n  color: #9ca3af;\n  flex-shrink: 0;\n}\n\n.cliente-info {\n  display: flex;\n  flex-direction: column;\n  gap: 0.125rem;\n}\n\n.cliente-nombre {\n  font-weight: 500;\n  color: #1f2937;\n}\n\n/* Entrega */\n.registro-entrega {\n  display: flex;\n  align-items: center;\n  gap: 0.375rem;\n  font-size: 0.8125rem;\n}\n\n.registro-entrega svg {\n  color: #9ca3af;\n  flex-shrink: 0;\n}\n\n/* Productos */\n.registro-productos {\n  display: flex;\n  align-items: center;\n  gap: 0.375rem;\n  color: #6b7280;\n  font-size: 0.8125rem;\n}\n\n.registro-productos svg {\n  flex-shrink: 0;\n}\n\n/* Status Badge - Estilo unificado para todos los estados */\n.status-badge {\n  display: inline-flex;\n  align-items: center;\n  padding: 0.25rem 0.625rem;\n  border-radius: 0.75rem;\n  font-size: 0.6875rem;\n  font-weight: 600;\n  text-transform: uppercase;\n  letter-spacing: 0.03125rem;\n  background: #dbeafe;\n  color: #1e40af;\n  border: 0.0625rem solid #60a5fa;\n}\n\n/* Método de pago */\n.metodo-pago {\n  display: flex;\n  align-items: center;\n  gap: 0.375rem;\n  font-size: 0.8125rem;\n  color: #374151;\n  cursor: pointer;\n  padding: 0.25rem 0.5rem;\n  border-radius: 0.25rem;\n  transition: background 0.2s;\n  text-transform: capitalize;\n}\n\n.metodo-pago:hover {\n  background: #f3f4f6;\n}\n\n.metodo-pago svg {\n  color: #9ca3af;\n  flex-shrink: 0;\n}\n\n.pago-select {\n  padding: 0.25rem 0.5rem;\n  font-size: 0.8125rem;\n  border: 0.0625rem solid #667eea;\n  border-radius: 0.25rem;\n  color: #374151;\n  background: white;\n  cursor: pointer;\n  text-transform: capitalize;\n  box-shadow: 0 0 0 0.1875rem rgba(102, 126, 234, 0.1);\n}\n\n.pago-select:focus {\n  outline: none;\n  border-color: #667eea;\n}\n\n/* Estatus de pago */\n.status-pago {\n  display: inline-flex;\n  align-items: center;\n  gap: 0.25rem;\n  padding: 0.25rem 0.5rem;\n  border-radius: 0.75rem;\n  font-size: 0.6875rem;\n  font-weight: 600;\n  letter-spacing: 0.03125rem;\n  margin-right: 0.375rem;\n}\n\n.status-pago.pagado {\n  background: #d1fae5;\n  color: #065f46;\n  border: 0.0625rem solid #6ee7b7;\n}\n\n.status-pago.pendiente {\n  background: #fee2e2;\n  color: #991b1b;\n  border: 0.0625rem solid #fca5a5;\n}\n\n.toggle-pago-btn {\n  padding: 0.25rem;\n  background: transparent;\n  border: 0.0625rem solid #d1d5db;\n  border-radius: 0.25rem;\n  color: #6b7280;\n  cursor: pointer;\n  transition: all 0.15s;\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.toggle-pago-btn:hover {\n  background: #f3f4f6;\n  border-color: #16a34a;\n  color: #16a34a;\n}\n\n.toggle-pago-btn:disabled {\n  opacity: 0.5;\n  cursor: not-allowed;\n}\n\n/* Contenedor de estatus de pago */\n.status-pago-container {\n  display: flex;\n  align-items: center;\n  gap: 0.375rem;\n}\n\n/* Contenedor de edición de pago */\n.pago-edit-container {\n  display: flex;\n  align-items: center;\n  gap: 0.375rem;\n}\n\n.estatus-select {\n  padding: 0.25rem 0.5rem;\n  font-size: 0.8125rem;\n  border: 0.0625rem solid #667eea;\n  border-radius: 0.25rem;\n  color: #374151;\n  background: white;\n  cursor: pointer;\n  box-shadow: 0 0 0 0.1875rem rgba(102, 126, 234, 0.1);\n}\n\n.estatus-select:focus {\n  outline: none;\n  border-color: #667eea;\n}\n\n.estatus-select:disabled {\n  opacity: 0.5;\n  cursor: not-allowed;\n}\n\n/* Botones de acción de pago */\n.pago-actions {\n  display: flex;\n  gap: 0.25rem;\n}\n\n.pago-save-btn,\n.pago-cancel-btn {\n  width: 1.5rem;\n  height: 1.5rem;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border-radius: 0.25rem;\n  font-size: 0.875rem;\n  font-weight: bold;\n  cursor: pointer;\n  transition: all 0.15s;\n  border: none;\n}\n\n.pago-save-btn {\n  background: #10b981;\n  color: white;\n}\n\n.pago-save-btn:hover:not(:disabled) {\n  background: #059669;\n  transform: scale(1.05);\n}\n\n.pago-cancel-btn {\n  background: #ef4444;\n  color: white;\n}\n\n.pago-cancel-btn:hover:not(:disabled) {\n  background: #dc2626;\n  transform: scale(1.05);\n}\n\n.pago-save-btn:disabled,\n.pago-cancel-btn:disabled {\n  opacity: 0.5;\n  cursor: not-allowed;\n}\n\n.pago-select:disabled {\n  opacity: 0.5;\n  cursor: not-allowed;\n}\n\n/* Fila expandida */\n.medido-hoy-table tbody tr.expanded-row {\n  background: #f0f4ff;\n  border-bottom: none;\n}\n\n.medido-hoy-table tbody tr.detail-row {\n  background: #fafbff;\n  border-top: none;\n}\n\n.medido-hoy-table tbody tr.detail-row td {\n  padding: 0;\n}\n\n.detail-content {\n  padding: 1.25rem;\n  display: flex;\n  flex-direction: column;\n  gap: 1rem;\n  border-top: 0.125rem solid #e0e7ff;\n  animation: slideDown 0.2s ease-out;\n}\n\n@keyframes slideDown {\n  from {\n    opacity: 0;\n    transform: translateY(-0.625rem);\n  }\n  to {\n    opacity: 1;\n    transform: translateY(0);\n  }\n}\n\n.detail-info-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(12.5rem, 1fr));\n  gap: 0.75rem;\n  padding: 0.75rem;\n  background: white;\n  border-radius: 0.375rem;\n  border: 0.0625rem solid #e5e7eb;\n}\n\n.detail-info-item {\n  display: flex;\n  flex-direction: column;\n  gap: 0.25rem;\n}\n\n.detail-info-item.full-width {\n  grid-column: 1 / -1;\n}\n\n.detail-info-item label {\n  font-size: 0.6875rem;\n  font-weight: 600;\n  color: #6b7280;\n  text-transform: uppercase;\n  letter-spacing: 0.03125rem;\n}\n\n.detail-info-item span {\n  font-size: 0.8125rem;\n  color: #1f2937;\n  font-weight: 500;\n}\n\n.detail-products h4 {\n  font-size: 0.8125rem;\n  font-weight: 600;\n  color: #374151;\n  margin: 0 0 0.5rem 0;\n  text-transform: uppercase;\n  letter-spacing: 0.03125rem;\n}\n\n.products-table {\n  width: 100%;\n  border-collapse: collapse;\n  font-size: 0.8125rem;\n  background: white;\n  border-radius: 0.375rem;\n  overflow: hidden;\n  border: 0.0625rem solid #e5e7eb;\n}\n\n.products-table thead {\n  background: #f9fafb;\n}\n\n.products-table th {\n  padding: 0.625rem 0.75rem;\n  text-align: left;\n  font-weight: 600;\n  color: #374151;\n  font-size: 0.75rem;\n  border-bottom: 0.125rem solid #e5e7eb;\n}\n\n.products-table th:nth-child(3),\n.products-table th:nth-child(4) {\n  text-align: right;\n}\n\n.products-table td {\n  padding: 0.625rem 0.75rem;\n  color: #1f2937;\n  border-bottom: 0.0625rem solid #f3f4f6;\n}\n\n.products-table td:nth-child(3),\n.products-table td:nth-child(4) {\n  text-align: right;\n  font-weight: 600;\n}\n\n.products-table tbody tr:last-child td {\n  border-bottom: none;\n}\n\n.detail-footer {\n  display: flex;\n  justify-content: space-between;\n  align-items: flex-end;\n  gap: 1rem;\n  padding: 0.75rem;\n  background: white;\n  border-radius: 0.375rem;\n  border: 0.0625rem solid #e5e7eb;\n}\n\n.detail-totals-compact {\n  display: flex;\n  flex-direction: column;\n  gap: 0.375rem;\n}\n\n.total-line {\n  display: flex;\n  justify-content: space-between;\n  gap: 2.5rem;\n  font-size: 0.8125rem;\n  color: #374151;\n}\n\n.total-line span:last-child {\n  text-align: right;\n  font-weight: 600;\n  min-width: 6.25rem;\n}\n\n.total-line.total-final {\n  padding-top: 0.5rem;\n  margin-top: 0.25rem;\n  border-top: 0.125rem solid #e5e7eb;\n  font-weight: 700;\n  font-size: 0.9375rem;\n  color: #111827;\n}\n\n.action-btn-compact.active {\n  background: #667eea;\n  border-color: #667eea;\n  color: white;\n}\n\n/* Actions */\n.actions {\n  text-align: center;\n  width: 6.25rem;\n}\n\n.actions-compact {\n  display: flex;\n  gap: 0.375rem;\n  justify-content: center;\n  align-items: center;\n}\n\n.action-btn-compact {\n  padding: 0.375rem;\n  background: transparent;\n  border: 0.0625rem solid #e5e7eb;\n  border-radius: 0.25rem;\n  color: #6b7280;\n  cursor: pointer;\n  transition: all 0.2s;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.action-btn-compact:hover:not(:disabled) {\n  background: #f3f4f6;\n  border-color: #9ca3af;\n  color: #374151;\n}\n\n.action-btn-compact:disabled {\n  opacity: 0.5;\n  cursor: not-allowed;\n}\n\n.action-btn-compact.action-btn-picking {\n  background: #dbeafe;\n  border-color: #3b82f6;\n  color: #1e40af;\n}\n\n.action-btn-compact.action-btn-picking:hover:not(:disabled) {\n  background: #bfdbfe;\n  border-color: #2563eb;\n  color: #1e3a8a;\n}\n\n/* Loading State */\n.loading-state {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  padding: 3.75rem 1.25rem;\n  gap: 1rem;\n}\n\n.loading-spinner {\n  width: 3rem;\n  height: 3rem;\n  border: 0.25rem solid #f3f4f6;\n  border-top-color: #667eea;\n  border-radius: 50%;\n  animation: spin 1s linear infinite;\n}\n\n@keyframes spin {\n  to {\n    transform: rotate(360deg);\n  }\n}\n\n.loading-state p {\n  color: #6b7280;\n  font-size: 0.875rem;\n  margin: 0;\n}\n\n/* Empty State */\n.empty-state {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  padding: 5rem 1.25rem;\n  gap: 0.75rem;\n  color: #9ca3af;\n}\n\n.empty-state svg {\n  color: #d1d5db;\n  margin-bottom: 0.5rem;\n}\n\n.empty-state h3 {\n  font-size: 1.125rem;\n  font-weight: 600;\n  color: #374151;\n  margin: 0;\n}\n\n.empty-state p {\n  font-size: 0.875rem;\n  color: #6b7280;\n  margin: 0;\n}\n\n/* Modal de detalle */\n.venta-detail-modal {\n  display: flex;\n  flex-direction: column;\n  gap: 1.5rem;\n}\n\n.detail-section {\n  display: flex;\n  flex-direction: column;\n  gap: 0.75rem;\n}\n\n.detail-section h3 {\n  font-size: 1rem;\n  font-weight: 600;\n  color: #1f2937;\n  margin: 0;\n  padding-bottom: 0.5rem;\n  border-bottom: 0.125rem solid #e5e7eb;\n}\n\n.detail-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(15.625rem, 1fr));\n  gap: 1rem;\n}\n\n.detail-item {\n  display: flex;\n  flex-direction: column;\n  gap: 0.25rem;\n}\n\n.detail-item.full-width {\n  grid-column: 1 / -1;\n}\n\n.detail-item label {\n  font-size: 0.75rem;\n  font-weight: 600;\n  color: #6b7280;\n  text-transform: uppercase;\n  letter-spacing: 0.03125rem;\n}\n\n.detail-item span {\n  font-size: 0.875rem;\n  color: #1f2937;\n  display: flex;\n  align-items: center;\n  gap: 0.375rem;\n}\n\n.detail-item span svg {\n  color: #9ca3af;\n  flex-shrink: 0;\n}\n\n/* Tabla de productos en detalle */\n.detail-products-table {\n  width: 100%;\n  border-collapse: collapse;\n  font-size: 0.875rem;\n  border: 0.0625rem solid #e5e7eb;\n  border-radius: 0.5rem;\n  overflow: hidden;\n}\n\n.detail-products-table thead {\n  background: #f9fafb;\n}\n\n.detail-products-table th {\n  padding: 0.75rem;\n  text-align: left;\n  font-weight: 600;\n  color: #374151;\n  font-size: 0.8125rem;\n  border-bottom: 0.125rem solid #e5e7eb;\n}\n\n.detail-products-table td {\n  padding: 0.75rem;\n  color: #1f2937;\n  border-bottom: 0.0625rem solid #f3f4f6;\n}\n\n.detail-products-table tbody tr:last-child td {\n  border-bottom: none;\n}\n\n.detail-products-table .text-right {\n  text-align: right;\n  font-weight: 600;\n}\n\n/* Totales */\n.detail-totals {\n  display: flex;\n  flex-direction: column;\n  gap: 0.5rem;\n  padding: 1rem;\n  background: #f9fafb;\n  border-radius: 0.5rem;\n  max-width: 25rem;\n  margin-left: auto;\n}\n\n.total-row {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  font-size: 0.875rem;\n  color: #1f2937;\n}\n\n.total-row.total-final {\n  padding-top: 0.75rem;\n  border-top: 0.125rem solid #e5e7eb;\n  font-size: 1rem;\n  font-weight: 700;\n  color: #111827;\n}\n\n.text-danger {\n  color: #dc2626;\n}\n\n/* Observaciones */\n.detail-observaciones {\n  padding: 0.75rem;\n  background: #f9fafb;\n  border-radius: 0.375rem;\n  border-left: 0.1875rem solid #667eea;\n  font-size: 0.875rem;\n  color: #374151;\n  margin: 0;\n  line-height: 1.6;\n}\n\n/* Acciones del modal */\n.detail-actions {\n  display: flex;\n  gap: 0.75rem;\n  justify-content: flex-end;\n  padding-top: 1rem;\n  border-top: 0.0625rem solid #e5e7eb;\n}\n\n/* Responsive */\n@media (max-width: 48rem) {\n  .medido-hoy-page {\n    padding: 0.75rem;\n  }\n\n  .medido-hoy-controls {\n    flex-direction: column;\n    align-items: stretch;\n  }\n\n  .search-filters {\n    flex-direction: column;\n    align-items: stretch;\n  }\n\n  .filter-buttons {\n    justify-content: center;\n  }\n\n  .date-range-inputs {\n    flex-wrap: wrap;\n    justify-content: center;\n  }\n\n  .date-input {\n    flex: 1;\n    min-width: 8.75rem;\n  }\n\n  .search-container {\n    max-width: 100%;\n    min-width: 100%;\n  }\n\n  .controls-actions {\n    width: 100%;\n    justify-content: stretch;\n  }\n\n  .controls-actions button {\n    flex: 1;\n  }\n\n  .detail-grid {\n    grid-template-columns: 1fr;\n  }\n\n  .detail-totals {\n    max-width: 100%;\n  }\n\n  .detail-actions {\n    flex-direction: column;\n  }\n\n  .detail-actions button {\n    width: 100%;\n  }\n}\n","/* Picking Page Styles */\n.picking-page {\n  display: flex;\n  flex-direction: column;\n  gap: 1.25rem;\n  height: 100%;\n  padding: 1.25rem;\n}\n\n/* Warehouse Alert */\n.warehouse-alert {\n  display: flex;\n  align-items: center;\n  gap: 0.75rem;\n  padding: 0.75rem 1rem;\n  background: #fef3c7;\n  border: 0.0625rem solid #fbbf24;\n  border-radius: 0.5rem;\n  color: #92400e;\n  font-size: 0.875rem;\n  font-weight: 500;\n}\n\n/* Tabs */\n.picking-tabs {\n  display: flex;\n  gap: 0.5rem;\n  border-bottom: 0.125rem solid #e5e7eb;\n  padding-bottom: 0;\n}\n\n.tab-button {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  padding: 0.75rem 1.25rem;\n  background: transparent;\n  border: none;\n  border-bottom: 0.1875rem solid transparent;\n  color: #6b7280;\n  font-size: 0.875rem;\n  font-weight: 500;\n  cursor: pointer;\n  transition: all 0.2s;\n  position: relative;\n  margin-bottom: -0.125rem;\n}\n\n.tab-button:hover {\n  color: #374151;\n  background: #f9fafb;\n}\n\n.tab-button.active {\n  color: #667eea;\n  border-bottom-color: #667eea;\n  background: transparent;\n}\n\n.tab-badge {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  min-width: 1.25rem;\n  height: 1.25rem;\n  padding: 0 0.375rem;\n  background: #667eea;\n  color: white;\n  border-radius: 0.625rem;\n  font-size: 0.6875rem;\n  font-weight: 600;\n}\n\n.tab-button.active .tab-badge {\n  background: #5568d3;\n}\n\n/* Picking Content */\n.picking-content {\n  flex: 1;\n  background: white;\n  border-radius: 0.5rem;\n  box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.1);\n  overflow: auto;\n}\n\n/* Controles */\n.picking-controls {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  gap: 1rem;\n  flex-wrap: wrap;\n}\n\n.search-filters {\n  display: flex;\n  gap: 0.75rem;\n  flex: 1;\n  align-items: center;\n  flex-wrap: wrap;\n}\n\n.search-container {\n  flex: 1;\n  min-width: 18.75rem;\n  max-width: 31.25rem;\n}\n\n.controls-actions {\n  display: flex;\n  gap: 0.75rem;\n  align-items: center;\n}\n\n/* Tabla de registros */\n.picking-table-container {\n  flex: 1;\n  background: white;\n  border-radius: 0.5rem;\n  box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.1);\n  overflow: hidden;\n  display: flex;\n  flex-direction: column;\n}\n\n.picking-table {\n  width: 100%;\n  border-collapse: collapse;\n  font-size: 0.875rem;\n}\n\n.picking-table thead {\n  background: #f9fafb;\n  border-bottom: 0.125rem solid #e5e7eb;\n  position: sticky;\n  top: 0;\n  z-index: 10;\n}\n\n.picking-table th {\n  padding: 0.75rem 1rem;\n  text-align: left;\n  font-weight: 600;\n  color: #374151;\n  font-size: 0.8125rem;\n  text-transform: uppercase;\n  letter-spacing: 0.03125rem;\n}\n\n.picking-table th[data-type=\"actions\"] {\n  text-align: center;\n}\n\n.picking-table tbody tr {\n  border-bottom: 0.0625rem solid #f3f4f6;\n  transition: background-color 0.15s;\n}\n\n.picking-table tbody tr:hover {\n  background: #f9fafb;\n}\n\n.picking-table td {\n  padding: 0.875rem 1rem;\n  color: #1f2937;\n}\n\n/* Folio Badges */\n.folio-badge {\n  display: inline-flex;\n  align-items: center;\n  padding: 0.25rem 0.75rem;\n  background: #ede9fe;\n  color: #6d28d9;\n  border-radius: 0.375rem;\n  font-size: 0.8125rem;\n  font-weight: 600;\n  border: 0.0625rem solid #c4b5fd;\n}\n\n.folio-badge-small {\n  display: inline-flex;\n  align-items: center;\n  padding: 0.1875rem 0.625rem;\n  background: #ede9fe;\n  color: #6d28d9;\n  border-radius: 0.3125rem;\n  font-size: 0.75rem;\n  font-weight: 600;\n  border: 0.0625rem solid #c4b5fd;\n}\n\n.folio-mini {\n  display: inline-flex;\n  align-items: center;\n  padding: 0.125rem 0.5rem;\n  background: #f3f4f6;\n  color: #374151;\n  border-radius: 0.25rem;\n  font-size: 0.6875rem;\n  font-weight: 500;\n  border: 0.0625rem solid #d1d5db;\n}\n\n/* Folios List */\n.folios-list {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 0.25rem;\n  align-items: center;\n}\n\n.folio-more {\n  display: inline-flex;\n  align-items: center;\n  padding: 0.125rem 0.375rem;\n  background: #667eea;\n  color: white;\n  border-radius: 0.25rem;\n  font-size: 0.625rem;\n  font-weight: 600;\n}\n\n/* Delivery Badge */\n.delivery-badge {\n  display: inline-flex;\n  align-items: center;\n  padding: 0.25rem 0.625rem;\n  border-radius: 0.75rem;\n  font-size: 0.75rem;\n  font-weight: 600;\n}\n\n.delivery-badge.domicilio {\n  background: #dbeafe;\n  color: #1e40af;\n  border: 0.0625rem solid #60a5fa;\n}\n\n.delivery-badge.pickup {\n  background: #d1fae5;\n  color: #065f46;\n  border: 0.0625rem solid #6ee7b7;\n}\n\n/* Status Badge */\n.status-badge {\n  display: inline-flex;\n  align-items: center;\n  padding: 0.25rem 0.625rem;\n  border-radius: 0.75rem;\n  font-size: 0.6875rem;\n  font-weight: 600;\n  text-transform: uppercase;\n  letter-spacing: 0.03125rem;\n  background: #dbeafe;\n  color: #1e40af;\n  border: 0.0625rem solid #60a5fa;\n}\n\n/* Actions */\n.actions {\n  text-align: center;\n  width: 6.25rem;\n}\n\n.actions-compact {\n  display: flex;\n  gap: 0.5rem;\n  justify-content: center;\n}\n\n.action-btn-compact {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 2rem;\n  height: 2rem;\n  border: 0.0625rem solid #dee2e6;\n  background: white;\n  border-radius: 0.375rem;\n  color: #495057;\n  cursor: pointer;\n  transition: all 0.15s;\n}\n\n.action-btn-compact:hover {\n  background: #f8f9fa;\n  border-color: #667eea;\n  color: #667eea;\n  transform: translateY(-0.0625rem);\n}\n\n/* Loading State */\n.loading-state {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  padding: 3.75rem 1.25rem;\n  gap: 1rem;\n}\n\n.loading-spinner {\n  width: 3rem;\n  height: 3rem;\n  border: 0.25rem solid #f3f4f6;\n  border-top-color: #667eea;\n  border-radius: 50%;\n  animation: spin 1s linear infinite;\n}\n\n@keyframes spin {\n  to {\n    transform: rotate(360deg);\n  }\n}\n\n.loading-state p {\n  color: #6b7280;\n  font-size: 0.875rem;\n  margin: 0;\n}\n\n/* Empty State */\n.empty-state {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  padding: 5rem 1.25rem;\n  gap: 0.75rem;\n  color: #9ca3af;\n}\n\n.empty-state svg {\n  color: #d1d5db;\n  margin-bottom: 0.5rem;\n}\n\n.empty-state h3 {\n  font-size: 1.125rem;\n  font-weight: 600;\n  color: #374151;\n  margin: 0;\n}\n\n.empty-state p {\n  font-size: 0.875rem;\n  color: #6b7280;\n  margin: 0;\n}\n\n/* Tab Containers */\n.consolidado-container,\n.por-pedido-container {\n  padding: 1.25rem;\n}\n\n.consolidado-header,\n.por-pedido-header {\n  margin-bottom: 1.25rem;\n}\n\n.consolidado-header h3,\n.por-pedido-header h3 {\n  display: flex;\n  align-items: center;\n  gap: 0.625rem;\n  font-size: 1.125rem;\n  font-weight: 600;\n  color: #1f2937;\n  margin: 0 0 0.5rem 0;\n}\n\n.consolidado-subtitle,\n.por-pedido-subtitle {\n  font-size: 0.875rem;\n  color: #6b7280;\n  margin: 0;\n}\n\n/* Product Info */\n.producto-info {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  color: #374151;\n}\n\n.producto-nombre {\n  font-weight: 500;\n}\n\n/* Cantidad Info */\n.cantidad-info {\n  display: flex;\n  flex-direction: column;\n  gap: 0.125rem;\n}\n\n.cantidad-info .text-bold {\n  font-size: 0.875rem;\n  color: #374151;\n}\n\n.cantidad-info .cantidad-highlight {\n  font-size: 0.75rem;\n  color: #667eea;\n  font-weight: 600;\n}\n\n/* Utility Classes */\n.text-bold {\n  font-weight: 600;\n  color: #1f2937;\n}\n\n.cantidad-highlight {\n  color: #667eea;\n  font-weight: 700;\n  font-size: 0.9375rem;\n}\n\n/* Responsive */\n@media (max-width: 48rem) {\n  .picking-page {\n    padding: 0.75rem;\n  }\n\n  .picking-controls {\n    flex-direction: column;\n    align-items: stretch;\n  }\n\n  .search-container {\n    max-width: 100%;\n  }\n\n  .controls-actions {\n    width: 100%;\n    justify-content: stretch;\n  }\n\n  .controls-actions button {\n    flex: 1;\n  }\n\n  .picking-tabs {\n    overflow-x: auto;\n    gap: 0.25rem;\n  }\n\n  .tab-button {\n    padding: 0.625rem 1rem;\n    font-size: 0.8125rem;\n    white-space: nowrap;\n  }\n\n  .tab-button span:not(.tab-badge) {\n    display: none;\n  }\n\n  .consolidado-container,\n  .por-pedido-container {\n    padding: 0.75rem;\n  }\n\n  .picking-table {\n    font-size: 0.75rem;\n  }\n\n  .picking-table th,\n  .picking-table td {\n    padding: 0.625rem 0.75rem;\n  }\n}\n\n/* Modal de detalle de pedido */\n.venta-detail-modal {\n  display: flex;\n  flex-direction: column;\n  gap: 1.5rem;\n  padding: 1.25rem;\n  max-height: 70vh;\n  overflow-y: auto;\n}\n\n.detail-section {\n  background: #f8f9fa;\n  padding: 1.25rem;\n  border-radius: 0.5rem;\n  border: 0.0625rem solid #e9ecef;\n}\n\n.detail-section h3 {\n  margin: 0 0 1rem 0;\n  font-size: 1rem;\n  font-weight: 600;\n  color: #374151;\n  border-bottom: 0.125rem solid #667eea;\n  padding-bottom: 0.5rem;\n}\n\n.detail-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(15.625rem, 1fr));\n  gap: 1rem;\n}\n\n.detail-item {\n  display: flex;\n  flex-direction: column;\n  gap: 0.25rem;\n}\n\n.detail-item.full-width {\n  grid-column: 1 / -1;\n}\n\n.detail-item label {\n  font-size: 0.75rem;\n  font-weight: 600;\n  color: #6b7280;\n  text-transform: uppercase;\n  letter-spacing: 0.03125rem;\n}\n\n.detail-item span {\n  font-size: 0.875rem;\n  color: #374151;\n  font-weight: 500;\n  display: flex;\n  align-items: center;\n  gap: 0.375rem;\n}\n\n.detail-item span svg {\n  color: #667eea;\n  flex-shrink: 0;\n}\n\n.cliente-info-modal {\n  display: flex;\n  flex-direction: column;\n  gap: 0.25rem;\n}\n\n.nombre-comercial-modal {\n  font-size: 0.75rem;\n  color: #868e96;\n  font-style: italic;\n}\n\n.detail-products-table {\n  width: 100%;\n  border-collapse: collapse;\n  background: white;\n  border-radius: 0.375rem;\n  overflow: hidden;\n}\n\n.detail-products-table thead {\n  background: #667eea;\n  color: white;\n}\n\n.detail-products-table th {\n  padding: 0.75rem;\n  text-align: left;\n  font-weight: 600;\n  font-size: 0.8125rem;\n  text-transform: uppercase;\n  letter-spacing: 0.03125rem;\n}\n\n.detail-products-table tbody tr {\n  border-bottom: 0.0625rem solid #e9ecef;\n}\n\n.detail-products-table tbody tr:last-child {\n  border-bottom: none;\n}\n\n.detail-products-table td {\n  padding: 0.75rem;\n  font-size: 0.875rem;\n  color: #495057;\n}\n\n.detail-products-table td.text-right {\n  text-align: right;\n  font-weight: 600;\n  color: #10b981;\n}\n\n.detail-totals {\n  background: white;\n  padding: 1.25rem;\n  border-radius: 0.375rem;\n}\n\n.total-row {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  padding: 0.5rem 0;\n  font-size: 0.875rem;\n  color: #495057;\n  border-bottom: 0.0625rem solid #f1f3f5;\n}\n\n.total-row:last-child {\n  border-bottom: none;\n}\n\n.total-row.total-final {\n  font-size: 1.125rem;\n  font-weight: 700;\n  color: #374151;\n  padding-top: 0.75rem;\n  margin-top: 0.5rem;\n  border-top: 0.125rem solid #e9ecef;\n}\n\n.total-row.total-final span:last-child {\n  color: #10b981;\n}\n\n.text-danger {\n  color: #dc2626 !important;\n}\n\n.detail-observaciones {\n  background: white;\n  padding: 0.75rem;\n  border-radius: 0.375rem;\n  margin: 0;\n  font-size: 0.875rem;\n  color: #495057;\n  line-height: 1.6;\n  white-space: pre-wrap;\n}\n\n.detail-actions {\n  display: flex;\n  justify-content: flex-end;\n  gap: 0.75rem;\n  padding-top: 0.75rem;\n  border-top: 0.0625rem solid #e9ecef;\n}\n\n/* Modal de productos seleccionados */\n.productos-modal {\n  display: flex;\n  flex-direction: column;\n  gap: 0;\n  padding: 0;\n  max-height: 70vh;\n}\n\n/* Tabs del modal */\n.modal-tabs {\n  display: flex;\n  gap: 0;\n  border-bottom: 0.125rem solid #e5e7eb;\n  padding: 0 1.25rem;\n  background: #f9fafb;\n}\n\n.modal-tab-button {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  padding: 0.875rem 1.5rem;\n  background: transparent;\n  border: none;\n  border-bottom: 0.1875rem solid transparent;\n  color: #6b7280;\n  font-size: 0.875rem;\n  font-weight: 600;\n  cursor: pointer;\n  transition: all 0.2s;\n  position: relative;\n  margin-bottom: -0.125rem;\n  white-space: nowrap;\n}\n\n.modal-tab-button:hover {\n  color: #374151;\n  background: #f3f4f6;\n}\n\n.modal-tab-button.active {\n  color: #667eea;\n  border-bottom-color: #667eea;\n  background: white;\n}\n\n/* Contenido del modal */\n.modal-tab-content {\n  flex: 1;\n  overflow-y: auto;\n  background: white;\n}\n\n.modal-tab-content .consolidado-container,\n.modal-tab-content .por-pedido-container {\n  padding: 1.5rem;\n}\n\n.modal-tab-content .consolidado-header,\n.modal-tab-content .por-pedido-header {\n  margin-bottom: 1.5rem;\n  padding-bottom: 1rem;\n  border-bottom: 0.125rem solid #f3f4f6;\n}\n\n.modal-tab-content .empty-state {\n  padding: 3.75rem 1.25rem;\n}\n\n/* Ajustar el contenedor de la tabla en el modal */\n.modal-tab-content .picking-table {\n  border-radius: 0.5rem;\n  overflow: hidden;\n  border: 0.0625rem solid #e5e7eb;\n}\n\n.modal-tab-content .picking-table thead {\n  background: #667eea;\n  color: white;\n}\n\n.modal-tab-content .picking-table th {\n  color: white;\n  font-weight: 600;\n}\n\n.modal-tab-content .picking-table tbody tr:hover {\n  background: #f9fafb;\n}\n\n/* Fila de totales en tabla */\n.total-row-table {\n  background: #f3f4f6 !important;\n  border-top: 0.125rem solid #667eea !important;\n  font-weight: 700;\n}\n\n.total-row-table td {\n  padding: 1rem !important;\n  font-size: 0.9375rem;\n}\n\n.total-row-table .text-bold {\n  color: #374151;\n  font-size: 0.9375rem;\n  text-transform: uppercase;\n  letter-spacing: 0.03125rem;\n}\n\n.total-unidades {\n  font-size: 0.875rem;\n  color: #667eea;\n  font-weight: 700;\n}\n","/* Preparacion Page Styles */\n.preparacion-page {\n  display: flex;\n  flex-direction: column;\n  gap: 1.25rem;\n  height: 100%;\n  padding: 1.25rem;\n}\n\n/* Header */\n.preparacion-header {\n  display: flex;\n  flex-direction: column;\n  gap: 0.5rem;\n}\n\n.preparacion-header h1 {\n  font-size: 1.5rem;\n  font-weight: 600;\n  color: #1f2937;\n  margin: 0 0 0.5rem 0;\n}\n\n.almacen-activo-badge {\n  display: inline-flex;\n  align-items: center;\n  gap: 0.375rem;\n  padding: 0.375rem 0.75rem;\n  background: #eff6ff;\n  border: 0.0625rem solid #3b82f6;\n  border-radius: 0.375rem;\n  font-size: 0.875rem;\n  color: #1e40af;\n  font-weight: 500;\n}\n\n.almacen-activo-badge strong {\n  color: #1e3a8a;\n}\n\n/* Tabs */\n.preparacion-tabs {\n  display: flex;\n  gap: 0.5rem;\n  border-bottom: 0.125rem solid #e5e7eb;\n  margin-bottom: 1.25rem;\n}\n\n.tab-btn {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  padding: 0.75rem 1.25rem;\n  background: transparent;\n  border: none;\n  border-bottom: 0.1875rem solid transparent;\n  color: #6b7280;\n  font-size: 0.9375rem;\n  font-weight: 500;\n  cursor: pointer;\n  transition: all 0.2s;\n  position: relative;\n  bottom: -0.125rem;\n}\n\n.tab-btn:hover {\n  color: #667eea;\n  background: #f9fafb;\n}\n\n.tab-btn.active {\n  color: #667eea;\n  border-bottom-color: #667eea;\n  font-weight: 600;\n}\n\n.tab-btn svg {\n  flex-shrink: 0;\n}\n\n/* Scanner de código de barras */\n.barcode-scanner {\n  padding: 0;\n  margin-bottom: 0.75rem;\n}\n\n.barcode-input {\n  width: 100%;\n  padding: 0.75rem 1rem;\n  border: 0.125rem solid #667eea;\n  border-radius: 0.5rem;\n  font-size: 1rem;\n  font-weight: 500;\n  color: #1f2937;\n  background: #f0f4ff;\n  transition: all 0.15s;\n}\n\n.barcode-input::placeholder {\n  color: #9ca3af;\n  font-weight: 400;\n}\n\n.barcode-input:focus {\n  outline: none;\n  border-color: #4f46e5;\n  background: white;\n  box-shadow: 0 0 0 0.1875rem rgba(102, 126, 234, 0.15);\n}\n\n/* Contenido con dos columnas */\n.preparacion-content {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 1.25rem;\n  flex: 1;\n  overflow: hidden;\n}\n\n/* Columnas */\n.preparacion-column {\n  display: flex;\n  flex-direction: column;\n  gap: 0.75rem;\n  background: white;\n  border-radius: 0.75rem;\n  padding: 1.25rem;\n  box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.1);\n  overflow: hidden;\n}\n\n.column-header {\n  display: flex;\n  align-items: center;\n  gap: 0.625rem;\n  padding-bottom: 0.75rem;\n  border-bottom: 0.125rem solid #e5e7eb;\n}\n\n.column-header h2 {\n  font-size: 1.125rem;\n  font-weight: 600;\n  color: #1f2937;\n  margin: 0;\n  flex: 1;\n}\n\n.column-header .badge {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  min-width: 1.75rem;\n  height: 1.75rem;\n  padding: 0 0.5rem;\n  background: #667eea;\n  color: white;\n  font-size: 0.8125rem;\n  font-weight: 600;\n  border-radius: 0.875rem;\n}\n\n/* Lista de productos */\n.productos-list {\n  flex: 1;\n  overflow-y: auto;\n  display: flex;\n  flex-direction: column;\n  gap: 0.375rem;\n}\n\n.productos-list::-webkit-scrollbar {\n  width: 0.5rem;\n}\n\n.productos-list::-webkit-scrollbar-track {\n  background: #f3f4f6;\n  border-radius: 0.25rem;\n}\n\n.productos-list::-webkit-scrollbar-thumb {\n  background: #d1d5db;\n  border-radius: 0.25rem;\n}\n\n.productos-list::-webkit-scrollbar-thumb:hover {\n  background: #9ca3af;\n}\n\n/* Empty state */\n.empty-state {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  padding: 3.75rem 1.25rem;\n  color: #9ca3af;\n  text-align: center;\n}\n\n.empty-state svg {\n  margin-bottom: 1rem;\n  opacity: 0.3;\n}\n\n.empty-state p {\n  margin: 0 0 0.5rem 0;\n  font-size: 1rem;\n  font-weight: 500;\n  color: #6b7280;\n}\n\n.empty-state small {\n  font-size: 0.8125rem;\n  color: #9ca3af;\n}\n\n/* Tarjeta de producto - Versión simplificada (picklist) */\n.producto-card-simple {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  gap: 0.5rem;\n  padding: 0.25rem 0.5rem;\n  background: white;\n  border: 0.0625rem solid #e5e7eb;\n  border-radius: 0.375rem;\n  transition: all 0.15s;\n  min-height: 1.75rem;\n}\n\n.producto-card-simple:hover {\n  background: #f9fafb;\n  border-color: #667eea;\n  box-shadow: 0 0.125rem 0.25rem rgba(102, 126, 234, 0.1);\n}\n\n/* Producto en proceso (parcialmente escaneado) - Versión simple */\n.producto-card-simple.en-proceso {\n  background: #fef3c7;\n  border: 0.0625rem solid #f59e0b;\n}\n\n.producto-card-simple.en-proceso:hover {\n  background: #fde68a;\n  border-color: #d97706;\n}\n\n/* Producto completado - Versión simple */\n.producto-card-simple.completado {\n  background: #d1fae5;\n  border: 0.0625rem solid #10b981;\n}\n\n.producto-card-simple.completado:hover {\n  background: #a7f3d0;\n  border-color: #059669;\n}\n\n.producto-info-simple {\n  flex: 1;\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n  gap: 0.375rem;\n  flex-wrap: wrap;\n}\n\n.producto-nombre-simple {\n  font-size: 0.8125rem;\n  font-weight: 600;\n  color: #1f2937;\n  line-height: 1.2;\n}\n\n.codigo-item {\n  font-size: 0.625rem;\n  color: #6b7280;\n  background: #f3f4f6;\n  padding: 0.0625rem 0.25rem;\n  border-radius: 0.1875rem;\n  font-weight: 500;\n  white-space: nowrap;\n}\n\n.producto-cantidad-simple {\n  font-size: 0.75rem;\n  font-weight: 600;\n  color: #667eea;\n  margin-left: auto;\n  white-space: nowrap;\n}\n\n.producto-cantidad-simple.parcial {\n  color: #d97706;\n}\n\n.producto-cantidad-simple.completo {\n  color: #059669;\n}\n\n/* Tarjeta de producto - Versión completa (preparados) */\n.producto-card {\n  display: flex;\n  gap: 0.75rem;\n  padding: 1rem;\n  background: #f9fafb;\n  border: 0.0625rem solid #e5e7eb;\n  border-radius: 0.5rem;\n  transition: all 0.15s;\n}\n\n.producto-card:hover {\n  background: #f3f4f6;\n  border-color: #d1d5db;\n  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.05);\n}\n\n/* Producto en proceso (parcialmente escaneado) */\n.producto-card.en-proceso {\n  background: #fef3c7;\n  border: 0.125rem solid #f59e0b;\n}\n\n.producto-card.en-proceso:hover {\n  background: #fde68a;\n  border-color: #d97706;\n}\n\n/* Producto completado */\n.producto-card.completado {\n  background: #d1fae5;\n  border: 0.125rem solid #10b981;\n}\n\n.producto-card.completado:hover {\n  background: #a7f3d0;\n  border-color: #059669;\n}\n\n.producto-info {\n  flex: 1;\n  display: flex;\n  flex-direction: column;\n  gap: 0.5rem;\n}\n\n.producto-nombre {\n  font-size: 0.9375rem;\n  font-weight: 600;\n  color: #1f2937;\n  line-height: 1.3;\n}\n\n.producto-detalles {\n  display: flex;\n  flex-direction: column;\n  gap: 0.25rem;\n}\n\n.detail-item {\n  font-size: 0.8125rem;\n  color: #6b7280;\n  display: flex;\n  align-items: center;\n  gap: 0.25rem;\n}\n\n.detail-item.tipo-entrega {\n  font-weight: 500;\n  padding: 0.125rem 0.5rem;\n  border-radius: 0.25rem;\n  width: fit-content;\n}\n\n.detail-item.tipo-entrega.domicilio {\n  background: #dbeafe;\n  color: #1e40af;\n}\n\n.detail-item.tipo-entrega.pickup {\n  background: #fef3c7;\n  color: #92400e;\n}\n\n.detail-item.progreso {\n  font-weight: 600;\n  font-size: 0.875rem;\n}\n\n.detail-item.progreso.parcial {\n  color: #d97706;\n}\n\n.detail-item.progreso.completo {\n  color: #059669;\n}\n\n/* Botones de acción */\n.producto-action-btn {\n  padding: 0.5rem 1rem;\n  border: none;\n  border-radius: 0.375rem;\n  font-size: 0.8125rem;\n  font-weight: 600;\n  cursor: pointer;\n  transition: all 0.15s;\n  white-space: nowrap;\n  align-self: center;\n}\n\n.producto-card-simple .prepare-btn {\n  min-width: 1.5rem;\n  height: 1.5rem;\n  padding: 0;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  background: #10b981;\n  color: white;\n  font-size: 0.875rem;\n  border-radius: 0.25rem;\n  flex-shrink: 0;\n}\n\n.producto-card-simple .prepare-btn:hover {\n  background: #059669;\n  transform: scale(1.05);\n}\n\n.producto-card-simple .reiniciar-btn {\n  min-width: 1.5rem;\n  height: 1.5rem;\n  padding: 0;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  background: #f59e0b;\n  color: white;\n  font-size: 0.875rem;\n  border-radius: 0.25rem;\n  flex-shrink: 0;\n}\n\n.producto-card-simple .reiniciar-btn:hover {\n  background: #d97706;\n  transform: scale(1.05);\n}\n\n.producto-card .prepare-btn {\n  padding: 0.5rem 1rem;\n  background: #10b981;\n  color: white;\n}\n\n.producto-card .prepare-btn:hover {\n  background: #059669;\n  transform: translateX(0.125rem);\n}\n\n.return-btn {\n  background: #f59e0b;\n  color: white;\n}\n\n.return-btn:hover {\n  background: #d97706;\n  transform: translateX(-0.125rem);\n}\n\n/* === VISTA POR PEDIDO === */\n\n/* Lista de pedidos */\n.pedidos-list {\n  display: flex;\n  flex-direction: column;\n  gap: 0.375rem;\n  overflow-y: auto;\n  padding: 0.3125rem 0;\n}\n\n/* Tarjeta de pedido */\n.pedido-card {\n  background: white;\n  border: 0.0625rem solid #e5e7eb;\n  border-radius: 0.375rem;\n  padding: 0.5rem;\n  transition: all 0.2s;\n}\n\n.pedido-card:hover {\n  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.08);\n}\n\n.pedido-card.en-proceso {\n  border-color: #f59e0b;\n  background: #fffbeb;\n}\n\n.pedido-card.completado {\n  border-color: #10b981;\n  background: #f0fdf4;\n}\n\n/* Header del pedido */\n.pedido-header {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  padding-bottom: 0.375rem;\n  margin-bottom: 0.375rem;\n  border-bottom: 0.0625rem solid #e5e7eb;\n}\n\n.pedido-info {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n}\n\n.pedido-folio {\n  font-size: 0.8125rem;\n  font-weight: 700;\n  color: #1f2937;\n}\n\n.pedido-cliente {\n  font-size: 0.75rem;\n  color: #6b7280;\n}\n\n.pedido-entrega {\n  display: inline-flex;\n  align-items: center;\n  padding: 0.0625rem 0.375rem;\n  border-radius: 0.1875rem;\n  font-size: 0.625rem;\n  font-weight: 600;\n}\n\n.pedido-entrega.domicilio {\n  background: #dbeafe;\n  color: #1e40af;\n}\n\n.pedido-entrega.pickup {\n  background: #fef3c7;\n  color: #92400e;\n}\n\n.pedido-progreso {\n  display: flex;\n  align-items: center;\n}\n\n.progreso-badge {\n  display: inline-flex;\n  align-items: center;\n  padding: 0.125rem 0.375rem;\n  border-radius: 0.25rem;\n  font-size: 0.6875rem;\n  font-weight: 700;\n}\n\n.progreso-badge.parcial {\n  background: #fef3c7;\n  color: #d97706;\n  border: 0.0625rem solid #f59e0b;\n}\n\n.progreso-badge.completo {\n  background: #d1fae5;\n  color: #059669;\n  border: 0.0625rem solid #10b981;\n}\n\n/* Lista de productos dentro del pedido */\n.pedido-productos {\n  display: flex;\n  flex-direction: column;\n  gap: 0.125rem;\n}\n\n/* Item de producto dentro del pedido */\n.pedido-producto-item {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  padding: 0.25rem 0.5rem;\n  border-radius: 0.25rem;\n  border: 0.0625rem solid transparent;\n  transition: all 0.15s;\n}\n\n.pedido-producto-item.pendiente {\n  background: #f9fafb;\n  border-color: #e5e7eb;\n}\n\n.pedido-producto-item.en-proceso {\n  background: #fef3c7;\n  border-color: #fbbf24;\n}\n\n.pedido-producto-item.completado {\n  background: #d1fae5;\n  border-color: #34d399;\n}\n\n.pedido-producto-info {\n  display: flex;\n  align-items: center;\n  gap: 0.375rem;\n  flex: 1;\n}\n\n.pedido-producto-nombre {\n  font-size: 0.75rem;\n  font-weight: 600;\n  color: #1f2937;\n}\n\n.codigo-item-small {\n  font-size: 0.5625rem;\n  color: #6b7280;\n  background: #f3f4f6;\n  padding: 0.0625rem 0.25rem;\n  border-radius: 0.125rem;\n  font-weight: 500;\n}\n\n.pedido-producto-progreso {\n  display: flex;\n  align-items: center;\n  gap: 0.375rem;\n}\n\n.progreso-text {\n  font-size: 0.6875rem;\n  font-weight: 700;\n  min-width: 2.5rem;\n  text-align: right;\n}\n\n.progreso-text.pendiente {\n  color: #9ca3af;\n}\n\n.progreso-text.parcial {\n  color: #d97706;\n}\n\n.progreso-text.completo {\n  color: #059669;\n}\n\n.check-icon {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  width: 1rem;\n  height: 1rem;\n  background: #10b981;\n  color: white;\n  border-radius: 50%;\n  font-size: 0.625rem;\n  font-weight: bold;\n}\n\n/* Responsive */\n@media (max-width: 75rem) {\n  .preparacion-content {\n    grid-template-columns: 1fr;\n  }\n}\n\n@media (max-width: 48rem) {\n  .preparacion-page {\n    padding: 0.75rem;\n  }\n\n  .preparacion-header h1 {\n    font-size: 1.25rem;\n  }\n\n  .preparacion-column {\n    padding: 1rem;\n  }\n\n  .column-header h2 {\n    font-size: 1rem;\n  }\n\n  .producto-card {\n    flex-direction: column;\n  }\n\n  .producto-action-btn {\n    align-self: stretch;\n  }\n}\n","/* ProveedorForm Styles */\n\n.proveedor-form {\n    display: flex;\n    flex-direction: column;\n    gap: 1.5rem;\n}\n\n.form-container {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 2rem;\n}\n\n.form-column {\n    display: flex;\n    flex-direction: column;\n    gap: 1.25rem;\n}\n\n.column-title {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    font-size: 1.125rem;\n    font-weight: 600;\n    color: var(--gray-900);\n    margin: 0 0 0.75rem 0;\n    padding-bottom: 0.75rem;\n    border-bottom: 2px solid var(--gray-200);\n}\n\n.form-group {\n    display: flex;\n    flex-direction: column;\n    gap: 0.5rem;\n}\n\n.form-label {\n    font-size: 0.875rem;\n    font-weight: 500;\n    color: var(--gray-900);\n    margin: 0;\n    display: flex;\n    align-items: center;\n}\n\n.form-select {\n    padding: 0.625rem 0.75rem;\n    border: 1px solid var(--gray-300);\n    border-radius: 0.375rem;\n    font-size: 0.875rem;\n    color: var(--gray-900);\n    background-color: white;\n    transition: all 0.2s ease;\n}\n\n.form-select:hover {\n    border-color: var(--primary-500);\n}\n\n.form-select:focus {\n    outline: none;\n    border-color: var(--primary-500);\n    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);\n}\n\n.form-select.error {\n    border-color: var(--error-500);\n}\n\n.form-select:disabled {\n    background-color: var(--gray-100);\n    cursor: not-allowed;\n    opacity: 0.6;\n}\n\n.form-textarea {\n    padding: 0.625rem 0.75rem;\n    border: 1px solid var(--gray-300);\n    border-radius: 0.375rem;\n    font-size: 0.875rem;\n    color: var(--gray-900);\n    transition: all 0.2s ease;\n    resize: vertical;\n    min-height: 80px;\n    font-family: inherit;\n}\n\n.form-textarea:hover {\n    border-color: var(--primary-500);\n}\n\n.form-textarea:focus {\n    outline: none;\n    border-color: var(--primary-500);\n    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);\n}\n\n.form-textarea.error {\n    border-color: var(--error-500);\n}\n\n.form-textarea:disabled {\n    background-color: var(--gray-100);\n    cursor: not-allowed;\n    opacity: 0.6;\n}\n\n.form-help {\n    font-size: 0.75rem;\n    color: var(--gray-500);\n    margin: 0;\n}\n\n.error-message {\n    font-size: 0.75rem;\n    color: var(--error-500);\n    margin: 0;\n}\n\n/* Form Actions */\n.form-actions {\n    display: flex;\n    justify-content: flex-end;\n    gap: 0.75rem;\n    padding-top: 1.5rem;\n    border-top: 1px solid var(--gray-200);\n}\n\n/* Responsive */\n@media (max-width: 768px) {\n    .form-container {\n        grid-template-columns: 1fr;\n        gap: 1.5rem;\n    }\n\n    .form-actions {\n        flex-direction: column-reverse;\n    }\n\n    .form-actions button {\n        width: 100%;\n    }\n}\n","/* ProveedoresPage.css */\n\n.proveedores-page {\n    padding: 1.5rem 1.5rem 1.5rem 0.5rem;\n    max-width: 100%;\n    margin: 0;\n}\n\n/* Controles */\n.proveedores-controls {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    gap: 1rem;\n    padding: 0.75rem;\n    background: white;\n    border: 1px solid var(--gray-200);\n    border-radius: 0.5rem;\n    margin-bottom: 1.5rem;\n    position: sticky;\n    top: 0;\n    z-index: 20;\n    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);\n}\n\n.search-filters {\n    display: flex;\n    gap: 1rem;\n    flex: 1;\n    align-items: center;\n}\n\n.search-container {\n    flex: 1;\n    max-width: 25rem;\n}\n\n.status-filter {\n    padding: 0.5rem 0.75rem;\n    border: 1px solid var(--gray-300);\n    border-radius: 0.375rem;\n    font-size: 0.875rem;\n    background: white;\n    color: var(--gray-700);\n    min-width: 10rem;\n}\n\n.status-filter:focus {\n    outline: none;\n    border-color: var(--primary-500);\n    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);\n}\n\n.controls-actions {\n    display: flex;\n    gap: 0.5rem;\n    align-items: center;\n}\n\n/* Tabla */\n.proveedores-table-container {\n    background: white;\n    border: 1px solid var(--gray-200);\n    border-radius: 0.5rem;\n    overflow: hidden;\n    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n}\n\n.proveedores-table-wrapper {\n    max-height: calc(100vh - 280px);\n    min-height: 400px;\n    overflow-y: auto;\n}\n\n.proveedores-table-wrapper::-webkit-scrollbar {\n    width: 8px;\n}\n\n.proveedores-table-wrapper::-webkit-scrollbar-track {\n    background: var(--gray-100);\n}\n\n.proveedores-table-wrapper::-webkit-scrollbar-thumb {\n    background: var(--gray-300);\n    border-radius: 4px;\n}\n\n.proveedores-table {\n    width: 100%;\n    border-collapse: collapse;\n}\n\n.proveedores-table thead {\n    position: sticky;\n    top: 0;\n    z-index: 10;\n}\n\n.proveedores-table th {\n    background: var(--gray-50);\n    padding: 0.75rem;\n    text-align: left;\n    font-weight: 600;\n    color: var(--gray-700);\n    border-bottom: 1px solid var(--gray-200);\n    font-size: 0.8rem;\n}\n\n.proveedores-table td {\n    padding: 0.75rem;\n    border-bottom: 1px solid var(--gray-100);\n    vertical-align: middle;\n    color: var(--gray-900);\n    font-size: 0.875rem;\n}\n\n.proveedores-table tr:hover {\n    background: var(--gray-50);\n}\n\n/* Nombre del proveedor */\n.proveedor-nombre {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    font-weight: 600;\n    color: var(--gray-900);\n}\n\n.proveedor-nombre svg {\n    color: var(--primary-500);\n}\n\n/* Info de contacto */\n.contact-info {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    color: var(--gray-600);\n    font-size: 0.8rem;\n}\n\n.contact-info svg {\n    color: var(--gray-400);\n}\n\n/* Badge de estado */\n.status-badge {\n    display: inline-block;\n    padding: 0.25rem 0.5rem;\n    border-radius: 0.25rem;\n    font-size: 0.75rem;\n    font-weight: 600;\n}\n\n.status-badge.active {\n    background: var(--success-50);\n    color: var(--success-700);\n}\n\n.status-badge.inactive {\n    background: var(--gray-100);\n    color: var(--gray-600);\n}\n\n/* Acciones */\n.actions-compact {\n    display: flex;\n    gap: 0.25rem;\n    justify-content: center;\n}\n\n.action-btn-compact {\n    width: 1.75rem;\n    height: 1.75rem;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    border: 1px solid var(--gray-300);\n    background: white;\n    border-radius: 0.25rem;\n    color: var(--gray-500);\n    cursor: pointer;\n    transition: all 0.15s ease;\n}\n\n.action-btn-compact:hover {\n    background: var(--gray-50);\n    color: var(--gray-700);\n    border-color: var(--gray-400);\n}\n\n.action-btn-compact.delete:hover {\n    background: var(--error-50);\n    color: var(--error-600);\n    border-color: var(--error-300);\n}\n\n/* Estados vacíos y carga */\n.loading-state,\n.empty-state {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    padding: 3rem;\n    text-align: center;\n    color: var(--gray-500);\n}\n\n.loading-spinner {\n    width: 2rem;\n    height: 2rem;\n    border: 3px solid var(--gray-200);\n    border-top: 3px solid var(--primary-500);\n    border-radius: 50%;\n    animation: spin 1s linear infinite;\n    margin-bottom: 1rem;\n}\n\n@keyframes spin {\n    0% { transform: rotate(0deg); }\n    100% { transform: rotate(360deg); }\n}\n\n.empty-state h3 {\n    margin: 1rem 0 0.5rem 0;\n    color: var(--gray-700);\n}\n\n.empty-state p {\n    margin: 0 0 1.5rem 0;\n}\n\n/* Responsive */\n@media (max-width: 768px) {\n    .proveedores-page {\n        padding: 1rem;\n    }\n\n    .proveedores-controls {\n        flex-direction: column;\n        align-items: stretch;\n    }\n\n    .search-filters {\n        flex-direction: column;\n    }\n\n    .search-container {\n        max-width: 100%;\n    }\n\n    .proveedores-table-wrapper {\n        overflow-x: auto;\n    }\n\n    .proveedores-table {\n        min-width: 700px;\n    }\n}\n","/* OrdenCompraForm.css */\n\n.orden-compra-form {\n    display: flex;\n    flex-direction: column;\n    gap: 1.5rem;\n    max-height: 70vh;\n    overflow-y: auto;\n    padding-right: 0.5rem;\n}\n\n.form-section {\n    background: var(--gray-50);\n    padding: 1rem;\n    border-radius: 0.5rem;\n    border: 1px solid var(--gray-200);\n}\n\n.section-title {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    font-size: 0.875rem;\n    font-weight: 600;\n    color: var(--gray-700);\n    margin: 0 0 0.75rem 0;\n    padding-bottom: 0.5rem;\n    border-bottom: 1px solid var(--gray-200);\n}\n\n.section-title svg {\n    color: var(--primary-500);\n}\n\n.form-group {\n    display: flex;\n    flex-direction: column;\n    gap: 0.375rem;\n}\n\n.form-label {\n    font-size: 0.8rem;\n    font-weight: 500;\n    color: var(--gray-700);\n}\n\n/* Proveedor Select con Buscador */\n.proveedor-select-container {\n    position: relative;\n}\n\n.proveedor-select-btn {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    width: 100%;\n    padding: 0.625rem 0.75rem;\n    background: white;\n    border: 1px solid var(--gray-300);\n    border-radius: 0.375rem;\n    font-size: 0.875rem;\n    color: var(--gray-500);\n    cursor: pointer;\n    transition: all 0.15s;\n    text-align: left;\n}\n\n.proveedor-select-btn:hover:not(:disabled) {\n    border-color: var(--primary-500);\n}\n\n.proveedor-select-btn.has-value {\n    color: var(--gray-900);\n}\n\n.proveedor-select-btn.error {\n    border-color: var(--error-500);\n}\n\n.proveedor-select-btn:disabled {\n    background-color: var(--gray-100);\n    cursor: not-allowed;\n}\n\n.proveedor-select-btn svg:first-child {\n    color: var(--primary-500);\n    flex-shrink: 0;\n}\n\n.proveedor-select-btn span {\n    flex: 1;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n}\n\n.proveedor-select-btn svg:last-child {\n    color: var(--gray-400);\n    flex-shrink: 0;\n    transition: transform 0.2s;\n}\n\n.proveedor-select-btn svg:last-child.rotated {\n    transform: rotate(180deg);\n}\n\n.proveedor-dropdown {\n    position: absolute;\n    top: calc(100% + 4px);\n    left: 0;\n    right: 0;\n    background: white;\n    border: 1px solid var(--gray-200);\n    border-radius: 0.5rem;\n    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n    z-index: 100;\n    max-height: 280px;\n    display: flex;\n    flex-direction: column;\n}\n\n.dropdown-search {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    padding: 0.75rem;\n    border-bottom: 1px solid var(--gray-200);\n}\n\n.dropdown-search svg {\n    color: var(--gray-400);\n    flex-shrink: 0;\n}\n\n.dropdown-search input {\n    flex: 1;\n    border: none;\n    outline: none;\n    font-size: 0.875rem;\n    color: var(--gray-900);\n    background: transparent;\n}\n\n.dropdown-search input::placeholder {\n    color: var(--gray-400);\n}\n\n.dropdown-options {\n    flex: 1;\n    overflow-y: auto;\n    max-height: 200px;\n}\n\n.dropdown-option {\n    padding: 0.625rem 0.75rem;\n    font-size: 0.875rem;\n    color: var(--gray-700);\n    cursor: pointer;\n    transition: background 0.15s;\n}\n\n.dropdown-option:hover {\n    background: var(--gray-50);\n}\n\n.dropdown-option.selected {\n    background: var(--primary-50);\n    color: var(--primary-700);\n    font-weight: 500;\n}\n\n.dropdown-empty {\n    padding: 1rem;\n    text-align: center;\n    font-size: 0.875rem;\n    color: var(--gray-500);\n}\n\n.form-select {\n    padding: 0.625rem 0.75rem;\n    border: 1px solid var(--gray-300);\n    border-radius: 0.375rem;\n    font-size: 0.875rem;\n    color: var(--gray-900);\n    background-color: white;\n    transition: all 0.2s ease;\n}\n\n.form-select:hover {\n    border-color: var(--primary-500);\n}\n\n.form-select:focus {\n    outline: none;\n    border-color: var(--primary-500);\n    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);\n}\n\n.form-select.error {\n    border-color: var(--error-500);\n}\n\n.form-select:disabled {\n    background-color: var(--gray-100);\n    cursor: not-allowed;\n}\n\n.form-textarea {\n    padding: 0.625rem 0.75rem;\n    border: 1px solid var(--gray-300);\n    border-radius: 0.375rem;\n    font-size: 0.875rem;\n    color: var(--gray-900);\n    resize: vertical;\n    min-height: 80px;\n    font-family: inherit;\n    background: white;\n    transition: all 0.2s ease;\n}\n\n.form-textarea:hover {\n    border-color: var(--primary-500);\n}\n\n.form-textarea:focus {\n    outline: none;\n    border-color: var(--primary-500);\n    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);\n}\n\n.form-textarea:disabled {\n    background-color: var(--gray-100);\n    cursor: not-allowed;\n}\n\n.error-message {\n    font-size: 0.75rem;\n    color: var(--error-500);\n    margin-top: 0.25rem;\n}\n\n/* Product Search */\n.product-search-container {\n    margin-bottom: 1rem;\n}\n\n.search-input-wrapper {\n    position: relative;\n}\n\n.search-results-dropdown {\n    position: absolute;\n    top: 100%;\n    left: 0;\n    right: 0;\n    background: white;\n    border: 1px solid var(--gray-300);\n    border-radius: 0.375rem;\n    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n    max-height: 250px;\n    overflow-y: auto;\n    z-index: 100;\n    margin-top: 0.25rem;\n}\n\n.search-result-item {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    padding: 0.625rem 0.75rem;\n    cursor: pointer;\n    transition: background 0.15s;\n    border-bottom: 1px solid var(--gray-100);\n}\n\n.search-result-item:last-child {\n    border-bottom: none;\n}\n\n.search-result-item:hover,\n.search-result-item.selected {\n    background: var(--primary-50);\n}\n\n.result-info {\n    display: flex;\n    flex-direction: column;\n    gap: 0.125rem;\n}\n\n.result-name {\n    font-size: 0.875rem;\n    color: var(--gray-900);\n    font-weight: 500;\n}\n\n.result-code {\n    font-size: 0.75rem;\n    color: var(--gray-500);\n}\n\n.result-price {\n    font-size: 0.875rem;\n    font-weight: 600;\n    color: var(--success-600);\n}\n\n/* Productos Agregados */\n.productos-agregados {\n    background: white;\n    border-radius: 0.375rem;\n    overflow: hidden;\n    border: 1px solid var(--gray-200);\n}\n\n.productos-table {\n    width: 100%;\n    border-collapse: collapse;\n}\n\n.productos-table th {\n    background: var(--gray-100);\n    padding: 0.5rem 0.75rem;\n    text-align: left;\n    font-weight: 600;\n    color: var(--gray-700);\n    font-size: 0.75rem;\n    text-transform: uppercase;\n}\n\n.productos-table td {\n    padding: 0.5rem 0.75rem;\n    border-bottom: 1px solid var(--gray-100);\n    font-size: 0.875rem;\n    vertical-align: middle;\n}\n\n.productos-table tr:last-child td {\n    border-bottom: none;\n}\n\n.productos-table .text-right {\n    text-align: right;\n    font-weight: 600;\n    color: var(--success-600);\n}\n\n.productos-resumen {\n    padding: 0.75rem 1rem;\n    background: var(--gray-100);\n    border-top: 1px solid var(--gray-200);\n    font-size: 0.875rem;\n    color: var(--gray-700);\n    font-weight: 500;\n}\n\n/* Quantity Controls */\n.quantity-controls {\n    display: flex;\n    align-items: center;\n    gap: 0.25rem;\n}\n\n.qty-btn {\n    width: 1.5rem;\n    height: 1.5rem;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    border: 1px solid var(--gray-300);\n    background: white;\n    border-radius: 0.25rem;\n    color: var(--gray-600);\n    cursor: pointer;\n    transition: all 0.15s;\n}\n\n.qty-btn:hover:not(:disabled) {\n    background: var(--gray-100);\n    border-color: var(--primary-500);\n    color: var(--primary-500);\n}\n\n.qty-btn:disabled {\n    opacity: 0.5;\n    cursor: not-allowed;\n}\n\n.qty-input {\n    width: 50px;\n    text-align: center;\n    padding: 0.25rem;\n    border: 1px solid var(--gray-300);\n    border-radius: 0.25rem;\n    font-size: 0.875rem;\n}\n\n.qty-input:focus {\n    outline: none;\n    border-color: var(--primary-500);\n}\n\n/* Price Input */\n.price-input {\n    width: 90px;\n    padding: 0.375rem 0.5rem;\n    border: 1px solid var(--gray-300);\n    border-radius: 0.25rem;\n    font-size: 0.875rem;\n    text-align: right;\n}\n\n.price-input:focus {\n    outline: none;\n    border-color: var(--primary-500);\n}\n\n/* Remove Button */\n.remove-btn {\n    width: 1.75rem;\n    height: 1.75rem;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    border: 1px solid var(--gray-300);\n    background: white;\n    border-radius: 0.25rem;\n    color: var(--gray-500);\n    cursor: pointer;\n    transition: all 0.15s;\n}\n\n.remove-btn:hover:not(:disabled) {\n    background: var(--error-50);\n    border-color: var(--error-300);\n    color: var(--error-500);\n}\n\n.remove-btn:disabled {\n    opacity: 0.5;\n    cursor: not-allowed;\n}\n\n/* Empty State */\n.empty-products {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    padding: 2rem;\n    background: white;\n    border-radius: 0.375rem;\n    border: 1px dashed var(--gray-300);\n    color: var(--gray-500);\n    text-align: center;\n}\n\n.empty-products svg {\n    color: var(--gray-300);\n    margin-bottom: 0.5rem;\n}\n\n.empty-products p {\n    margin: 0;\n    font-weight: 500;\n    color: var(--gray-600);\n}\n\n.empty-products small {\n    font-size: 0.75rem;\n    color: var(--gray-400);\n}\n\n/* Totals Section */\n.totals-section {\n    background: white;\n    border: 1px solid var(--gray-200);\n}\n\n.totals-grid {\n    display: flex;\n    flex-direction: column;\n    gap: 0.375rem;\n}\n\n.total-row {\n    display: flex;\n    justify-content: space-between;\n    padding: 0.375rem 0;\n    font-size: 0.875rem;\n    color: var(--gray-700);\n}\n\n.total-row.total-final {\n    font-size: 1rem;\n    font-weight: 700;\n    padding-top: 0.75rem;\n    margin-top: 0.5rem;\n    border-top: 2px solid var(--gray-200);\n}\n\n.total-row.total-final span:last-child {\n    color: var(--success-600);\n}\n\n/* Form Actions */\n.form-actions {\n    display: flex;\n    justify-content: flex-end;\n    gap: 0.75rem;\n    padding-top: 1rem;\n    border-top: 1px solid var(--gray-200);\n    position: sticky;\n    bottom: 0;\n    background: white;\n    margin: 0 -0.5rem -0.5rem;\n    padding: 1rem;\n}\n\n/* Responsive */\n@media (max-width: 768px) {\n    .orden-compra-form {\n        max-height: none;\n    }\n\n    .productos-table {\n        font-size: 0.8rem;\n    }\n\n    .qty-input {\n        width: 40px;\n    }\n\n    .price-input {\n        width: 70px;\n    }\n\n    .form-actions {\n        flex-direction: column-reverse;\n    }\n\n    .form-actions button {\n        width: 100%;\n    }\n}\n","/* OrdenCompraDetalle.css - Componente reutilizable */\n\n.orden-detalle-modal {\n    display: flex;\n    flex-direction: column;\n    gap: 1.25rem;\n}\n\n/* Loading state */\n.orden-detalle-modal .loading-state {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    padding: 3rem;\n    min-height: 200px;\n}\n\n.orden-detalle-modal .loading-spinner {\n    width: 2rem;\n    height: 2rem;\n    border: 3px solid var(--gray-200);\n    border-top: 3px solid var(--primary-500);\n    border-radius: 50%;\n    animation: spin 1s linear infinite;\n    margin-bottom: 1rem;\n}\n\n@keyframes spin {\n    0% { transform: rotate(0deg); }\n    100% { transform: rotate(360deg); }\n}\n\n/* Header */\n.orden-detalle-modal .detalle-header {\n    background: var(--gray-50);\n    padding: 1rem;\n    border-radius: 0.5rem;\n    border: 1px solid var(--gray-200);\n}\n\n.orden-detalle-modal .detalle-info-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));\n    gap: 1rem;\n}\n\n.orden-detalle-modal .detalle-info-item {\n    display: flex;\n    flex-direction: column;\n    gap: 0.25rem;\n}\n\n.orden-detalle-modal .info-label {\n    font-size: 0.75rem;\n    font-weight: 600;\n    color: var(--gray-500);\n    text-transform: uppercase;\n}\n\n.orden-detalle-modal .info-value {\n    font-size: 0.875rem;\n    color: var(--gray-900);\n    font-weight: 500;\n}\n\n.orden-detalle-modal .info-value.folio {\n    font-weight: 700;\n    color: var(--primary-600);\n}\n\n/* Estado badges */\n.orden-detalle-modal .estado-badge {\n    display: inline-flex;\n    align-items: center;\n    padding: 0.25rem 0.5rem;\n    border-radius: 0.25rem;\n    font-size: 0.75rem;\n    font-weight: 600;\n    text-transform: capitalize;\n}\n\n.orden-detalle-modal .estado-badge.borrador {\n    background: var(--gray-100);\n    color: var(--gray-600);\n}\n\n.orden-detalle-modal .estado-badge.pendiente {\n    background: var(--warning-50);\n    color: var(--warning-700);\n}\n\n.orden-detalle-modal .estado-badge.aprobada {\n    background: #dbeafe;\n    color: #1d4ed8;\n}\n\n.orden-detalle-modal .estado-badge.recibida_parcial {\n    background: var(--warning-50);\n    color: var(--warning-700);\n}\n\n.orden-detalle-modal .estado-badge.recibida {\n    background: var(--success-50);\n    color: var(--success-700);\n}\n\n.orden-detalle-modal .estado-badge.cancelada {\n    background: var(--error-50);\n    color: var(--error-700);\n}\n\n/* Pago badges */\n.orden-detalle-modal .pago-badge {\n    display: inline-flex;\n    align-items: center;\n    padding: 0.25rem 0.5rem;\n    border-radius: 0.25rem;\n    font-size: 0.75rem;\n    font-weight: 600;\n}\n\n.orden-detalle-modal .pago-badge.pagada {\n    background: var(--success-50);\n    color: var(--success-700);\n}\n\n.orden-detalle-modal .pago-badge.pendiente {\n    background: var(--warning-50);\n    color: var(--warning-700);\n}\n\n/* Usuarios */\n.orden-detalle-modal .detalle-usuarios {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 1.5rem;\n    padding: 0.75rem 1rem;\n    background: white;\n    border-radius: 0.375rem;\n    border: 1px solid var(--gray-200);\n    margin-top: 0.75rem;\n}\n\n.orden-detalle-modal .usuario-item {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n}\n\n.orden-detalle-modal .usuario-label {\n    font-size: 0.75rem;\n    color: var(--gray-500);\n    font-weight: 500;\n}\n\n.orden-detalle-modal .usuario-value {\n    font-size: 0.875rem;\n    color: var(--gray-800);\n    font-weight: 600;\n}\n\n/* Notas */\n.orden-detalle-modal .detalle-notas {\n    margin-top: 0.75rem;\n    padding: 0.75rem;\n    background: white;\n    border: 1px solid var(--gray-200);\n    border-radius: 0.375rem;\n}\n\n.orden-detalle-modal .detalle-notas p {\n    margin: 0.25rem 0 0 0;\n    font-size: 0.875rem;\n    color: var(--gray-700);\n}\n\n/* Productos */\n.orden-detalle-modal .detalle-productos h4 {\n    margin: 0 0 0.75rem 0;\n    font-size: 0.875rem;\n    font-weight: 600;\n    color: var(--gray-700);\n}\n\n.orden-detalle-modal .detalle-table {\n    width: 100%;\n    border-collapse: collapse;\n    background: white;\n    border: 1px solid var(--gray-200);\n    border-radius: 0.375rem;\n    overflow: hidden;\n}\n\n.orden-detalle-modal .detalle-table th {\n    background: var(--gray-100);\n    padding: 0.625rem 0.75rem;\n    text-align: left;\n    font-weight: 600;\n    color: var(--gray-700);\n    font-size: 0.75rem;\n    text-transform: uppercase;\n}\n\n.orden-detalle-modal .detalle-table td {\n    padding: 0.625rem 0.75rem;\n    border-bottom: 1px solid var(--gray-100);\n    font-size: 0.875rem;\n    color: var(--gray-800);\n}\n\n.orden-detalle-modal .detalle-table tr:last-child td {\n    border-bottom: none;\n}\n\n.orden-detalle-modal .detalle-table .text-center {\n    text-align: center;\n}\n\n.orden-detalle-modal .detalle-table .text-right {\n    text-align: right;\n}\n\n/* Totales */\n.orden-detalle-modal .detalle-totales {\n    background: var(--gray-50);\n    padding: 1rem;\n    border-radius: 0.375rem;\n    border: 1px solid var(--gray-200);\n}\n\n.orden-detalle-modal .total-row {\n    display: flex;\n    justify-content: space-between;\n    padding: 0.375rem 0;\n    font-size: 0.875rem;\n    color: var(--gray-700);\n}\n\n.orden-detalle-modal .total-row.total-final {\n    font-size: 1rem;\n    font-weight: 700;\n    padding-top: 0.75rem;\n    margin-top: 0.5rem;\n    border-top: 2px solid var(--gray-300);\n}\n\n.orden-detalle-modal .total-row.total-final span:last-child {\n    color: var(--success-600);\n}\n\n/* Acciones */\n.orden-detalle-modal .detalle-actions {\n    display: flex;\n    justify-content: flex-end;\n    gap: 0.75rem;\n    padding-top: 1rem;\n    border-top: 1px solid var(--gray-200);\n}\n\n/* Responsive */\n@media (max-width: 640px) {\n    .orden-detalle-modal .detalle-info-grid {\n        grid-template-columns: 1fr 1fr;\n    }\n\n    .orden-detalle-modal .detalle-usuarios {\n        flex-direction: column;\n        gap: 0.5rem;\n    }\n\n    .orden-detalle-modal .detalle-actions {\n        flex-direction: column;\n    }\n\n    .orden-detalle-modal .detalle-actions button {\n        width: 100%;\n    }\n}\n","/* RecepcionModal.css */\n\n.recepcion-modal {\n    display: flex;\n    flex-direction: column;\n    gap: 1rem;\n}\n\n.recepcion-header {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    padding: 0.75rem 1rem;\n    background: var(--gray-50);\n    border-radius: 0.375rem;\n    border: 1px solid var(--gray-200);\n}\n\n.header-info {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n}\n\n.proveedor-label {\n    font-size: 0.8rem;\n    color: var(--gray-500);\n}\n\n.proveedor-nombre {\n    font-weight: 600;\n    color: var(--gray-900);\n}\n\n/* Banners */\n.error-banner,\n.warning-banner {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    padding: 0.75rem 1rem;\n    border-radius: 0.375rem;\n    font-size: 0.875rem;\n}\n\n.error-banner {\n    background: var(--error-50);\n    border: 1px solid var(--error-200);\n    color: var(--error-700);\n}\n\n.warning-banner {\n    background: var(--warning-50);\n    border: 1px solid var(--warning-200);\n    color: var(--warning-700);\n}\n\n.error-banner svg,\n.warning-banner svg {\n    flex-shrink: 0;\n}\n\n/* Table Container */\n.recepcion-table-container {\n    max-height: 350px;\n    overflow-y: auto;\n    border: 1px solid var(--gray-200);\n    border-radius: 0.375rem;\n}\n\n.recepcion-table-container::-webkit-scrollbar {\n    width: 6px;\n}\n\n.recepcion-table-container::-webkit-scrollbar-track {\n    background: var(--gray-100);\n}\n\n.recepcion-table-container::-webkit-scrollbar-thumb {\n    background: var(--gray-300);\n    border-radius: 3px;\n}\n\n/* Table */\n.recepcion-table {\n    width: 100%;\n    border-collapse: collapse;\n    background: white;\n}\n\n.recepcion-table thead {\n    position: sticky;\n    top: 0;\n    z-index: 10;\n}\n\n.recepcion-table th {\n    background: var(--gray-100);\n    padding: 0.625rem 0.75rem;\n    text-align: left;\n    font-weight: 600;\n    color: var(--gray-700);\n    font-size: 0.75rem;\n    text-transform: uppercase;\n    border-bottom: 1px solid var(--gray-200);\n}\n\n.recepcion-table th.text-center,\n.recepcion-table td.text-center {\n    text-align: center;\n}\n\n.recepcion-table th.text-right,\n.recepcion-table td.text-right {\n    text-align: right;\n}\n\n.recepcion-table td {\n    padding: 0.625rem 0.75rem;\n    border-bottom: 1px solid var(--gray-100);\n    font-size: 0.875rem;\n    vertical-align: middle;\n}\n\n.recepcion-table tr.completed {\n    background: var(--success-50);\n    opacity: 0.7;\n}\n\n.recepcion-table tr.completed td {\n    color: var(--success-700);\n}\n\n/* Producto Info */\n.producto-info {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n}\n\n.producto-info svg {\n    color: var(--gray-400);\n    flex-shrink: 0;\n}\n\n/* Cell Styles */\n.recepcion-table td.recibido {\n    color: var(--success-600);\n    font-weight: 500;\n}\n\n.recepcion-table td.pendiente {\n    color: var(--warning-600);\n    font-weight: 500;\n}\n\n.recepcion-table td.subtotal {\n    font-weight: 600;\n    color: var(--success-600);\n}\n\n/* Cantidad Input */\n.cantidad-input,\n.precio-input {\n    width: 80px;\n    padding: 0.375rem 0.5rem;\n    border: 1px solid var(--gray-300);\n    border-radius: 0.25rem;\n    font-size: 0.875rem;\n    text-align: center;\n    transition: all 0.15s;\n}\n\n.precio-input {\n    width: 90px;\n}\n\n.cantidad-input:hover:not(:disabled),\n.precio-input:hover:not(:disabled) {\n    border-color: var(--primary-400);\n}\n\n.cantidad-input:focus,\n.precio-input:focus {\n    outline: none;\n    border-color: var(--primary-500);\n    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1);\n}\n\n.cantidad-input.error,\n.precio-input.error {\n    border-color: var(--error-500);\n    background: var(--error-50);\n}\n\n.cantidad-input:disabled,\n.precio-input:disabled {\n    background: var(--gray-100);\n    cursor: not-allowed;\n    opacity: 0.6;\n}\n\n.input-error {\n    display: block;\n    font-size: 0.7rem;\n    color: var(--error-500);\n    margin-top: 0.25rem;\n}\n\n/* Totales */\n.recepcion-totales {\n    background: var(--gray-50);\n    padding: 1rem;\n    border-radius: 0.375rem;\n    border: 1px solid var(--gray-200);\n}\n\n.total-row {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    font-size: 1rem;\n    font-weight: 600;\n}\n\n.total-valor {\n    font-size: 1.25rem;\n    color: var(--success-600);\n}\n\n/* Actions */\n.recepcion-actions {\n    display: flex;\n    justify-content: flex-end;\n    gap: 0.75rem;\n    padding-top: 1rem;\n    border-top: 1px solid var(--gray-200);\n}\n\n/* Estado de Pago Section */\n.estado-pago-section {\n    background: var(--gray-50);\n    padding: 1rem;\n    border-radius: 0.375rem;\n    border: 1px solid var(--gray-200);\n}\n\n.estado-pago-section h4 {\n    margin: 0 0 0.75rem 0;\n    font-size: 0.875rem;\n    font-weight: 600;\n    color: var(--gray-700);\n}\n\n.estado-pago-options {\n    display: flex;\n    gap: 1rem;\n}\n\n.pago-option {\n    flex: 1;\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    padding: 0.75rem 1rem;\n    border: 2px solid var(--gray-200);\n    border-radius: 0.5rem;\n    cursor: pointer;\n    transition: all 0.15s ease;\n    background: white;\n}\n\n.pago-option input[type=\"radio\"] {\n    display: none;\n}\n\n.pago-option:hover {\n    border-color: var(--gray-300);\n    background: var(--gray-50);\n}\n\n.pago-option.selected {\n    border-width: 2px;\n}\n\n.pago-option.selected.pagada {\n    border-color: var(--success-500);\n    background: var(--success-50);\n    color: var(--success-700);\n}\n\n.pago-option.selected.pagada svg {\n    color: var(--success-600);\n}\n\n.pago-option.selected.pendiente {\n    border-color: var(--warning-500);\n    background: var(--warning-50);\n    color: var(--warning-700);\n}\n\n.pago-option.selected.pendiente svg {\n    color: var(--warning-600);\n}\n\n.pago-option span {\n    font-weight: 500;\n    font-size: 0.875rem;\n}\n\n.pago-info {\n    margin: 0.75rem 0 0 0;\n    font-size: 0.75rem;\n    color: var(--warning-600);\n    font-style: italic;\n}\n\n/* Responsive */\n@media (max-width: 768px) {\n    .recepcion-header {\n        flex-direction: column;\n        gap: 0.75rem;\n        align-items: flex-start;\n    }\n\n    .recepcion-table-container {\n        overflow-x: auto;\n    }\n\n    .recepcion-table {\n        min-width: 700px;\n    }\n\n    .cantidad-input {\n        width: 60px;\n    }\n\n    .precio-input {\n        width: 70px;\n    }\n\n    .recepcion-actions {\n        flex-direction: column-reverse;\n    }\n\n    .recepcion-actions button {\n        width: 100%;\n    }\n}\n","/* OrdenesCompraPage.css */\n\n.ordenes-compra-page {\n    padding: 1.5rem 1.5rem 1.5rem 0.5rem;\n    height: 100%;\n    display: flex;\n    flex-direction: column;\n    gap: 1.25rem;\n}\n\n/* Controles */\n.ordenes-controls {\n    display: flex;\n    justify-content: space-between;\n    align-items: flex-start;\n    gap: 1rem;\n    padding: 0.75rem;\n    background: white;\n    border: 1px solid var(--gray-200);\n    border-radius: 0.5rem;\n    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);\n}\n\n.search-filters {\n    flex: 1;\n    display: flex;\n    flex-wrap: wrap;\n    align-items: flex-start;\n    gap: 0.75rem;\n}\n\n.search-filters > * {\n    flex-shrink: 0;\n}\n\n.search-container {\n    flex: 1;\n    max-width: 25rem;\n    height: 2.5rem;\n}\n\n.search-container .input-wrapper {\n    height: 2.5rem;\n}\n\n.search-container input {\n    height: 2.5rem !important;\n}\n\n.filter-buttons {\n    display: flex;\n    align-items: flex-start;\n    gap: 0.5rem;\n    flex-wrap: wrap;\n}\n\n.filter-btn {\n    display: flex;\n    align-items: center;\n    gap: 0.375rem;\n    height: 2.5rem;\n    padding: 0 0.875rem;\n    background: white;\n    border: 1px solid var(--gray-300);\n    border-radius: 0.5rem;\n    color: var(--gray-600);\n    font-size: 0.8rem;\n    font-weight: 500;\n    cursor: pointer;\n    transition: all 0.15s;\n}\n\n.filter-btn:hover {\n    background: var(--gray-50);\n    border-color: var(--primary-500);\n    color: var(--primary-500);\n}\n\n.filter-btn.active {\n    background: var(--primary-500);\n    border-color: var(--primary-500);\n    color: white;\n}\n\n.controls-actions {\n    display: flex;\n    gap: 0.5rem;\n    align-items: flex-start;\n}\n\n/* Tabla */\n.ordenes-table-container {\n    background: white;\n    border: 1px solid var(--gray-200);\n    border-radius: 0.5rem;\n    overflow: hidden;\n    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n    flex: 1;\n}\n\n.ordenes-table-wrapper {\n    max-height: calc(100vh - 250px);\n    min-height: 400px;\n    overflow-y: auto;\n}\n\n.ordenes-table-wrapper::-webkit-scrollbar {\n    width: 8px;\n}\n\n.ordenes-table-wrapper::-webkit-scrollbar-track {\n    background: var(--gray-100);\n}\n\n.ordenes-table-wrapper::-webkit-scrollbar-thumb {\n    background: var(--gray-300);\n    border-radius: 4px;\n}\n\n.ordenes-table {\n    width: 100%;\n    border-collapse: collapse;\n}\n\n.ordenes-table thead {\n    position: sticky;\n    top: 0;\n    z-index: 10;\n}\n\n.ordenes-table th {\n    background: var(--gray-50);\n    padding: 0.75rem;\n    text-align: left;\n    font-weight: 600;\n    color: var(--gray-700);\n    border-bottom: 1px solid var(--gray-200);\n    font-size: 0.8rem;\n}\n\n.ordenes-table td {\n    padding: 0.75rem;\n    border-bottom: 1px solid var(--gray-100);\n    vertical-align: middle;\n    color: var(--gray-900);\n    font-size: 0.875rem;\n}\n\n.ordenes-table tr:hover {\n    background: var(--gray-50);\n}\n\n/* Contenido de celdas */\n.orden-folio {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    font-weight: 600;\n    color: var(--primary-600);\n}\n\n.orden-folio svg {\n    color: var(--primary-500);\n}\n\n.orden-fecha,\n.orden-proveedor,\n.orden-productos {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    color: var(--gray-600);\n    font-size: 0.8rem;\n}\n\n.orden-fecha svg,\n.orden-proveedor svg,\n.orden-productos svg {\n    color: var(--gray-400);\n}\n\n.orden-total {\n    font-weight: 600;\n    color: var(--success-600);\n}\n\n.text-right {\n    text-align: right;\n}\n\n/* Status badges */\n.status-badge {\n    display: inline-flex;\n    align-items: center;\n    gap: 0.25rem;\n    padding: 0.25rem 0.5rem;\n    border-radius: 0.25rem;\n    font-size: 0.75rem;\n    font-weight: 600;\n}\n\n.status-badge svg {\n    flex-shrink: 0;\n}\n\n.status-gray {\n    background: var(--gray-100);\n    color: var(--gray-600);\n}\n\n.status-warning {\n    background: var(--warning-50);\n    color: var(--warning-700);\n}\n\n.status-info {\n    background: #dbeafe;\n    color: #1d4ed8;\n}\n\n.status-success {\n    background: var(--success-50);\n    color: var(--success-700);\n}\n\n.status-error {\n    background: var(--error-50);\n    color: var(--error-700);\n}\n\n/* Pago badges */\n.pago-badge {\n    display: inline-flex;\n    align-items: center;\n    gap: 0.25rem;\n    padding: 0.25rem 0.5rem;\n    border-radius: 0.25rem;\n    font-size: 0.75rem;\n    font-weight: 600;\n}\n\n.pago-badge svg {\n    flex-shrink: 0;\n}\n\n.pago-badge.pagada {\n    background: var(--success-50);\n    color: var(--success-700);\n}\n\n.pago-badge.pendiente {\n    background: var(--warning-50);\n    color: var(--warning-700);\n}\n\n.pago-badge.na {\n    background: transparent;\n    color: var(--gray-400);\n}\n\n/* Acciones */\n.actions-compact {\n    display: flex;\n    gap: 0.25rem;\n    justify-content: center;\n}\n\n.action-btn-compact {\n    width: 1.75rem;\n    height: 1.75rem;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    border: 1px solid var(--gray-300);\n    background: white;\n    border-radius: 0.25rem;\n    color: var(--gray-500);\n    cursor: pointer;\n    transition: all 0.15s ease;\n}\n\n.action-btn-compact:hover {\n    background: var(--gray-50);\n    color: var(--gray-700);\n    border-color: var(--gray-400);\n}\n\n.action-btn-compact.success:hover {\n    background: var(--success-50);\n    color: var(--success-600);\n    border-color: var(--success-300);\n}\n\n.action-btn-compact.delete:hover {\n    background: var(--error-50);\n    color: var(--error-600);\n    border-color: var(--error-300);\n}\n\n/* Estados vacíos y carga */\n.loading-state,\n.empty-state {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    padding: 3rem;\n    text-align: center;\n    color: var(--gray-500);\n    min-height: 300px;\n}\n\n.loading-spinner {\n    width: 2rem;\n    height: 2rem;\n    border: 3px solid var(--gray-200);\n    border-top: 3px solid var(--primary-500);\n    border-radius: 50%;\n    animation: spin 1s linear infinite;\n    margin-bottom: 1rem;\n}\n\n@keyframes spin {\n    0% { transform: rotate(0deg); }\n    100% { transform: rotate(360deg); }\n}\n\n.empty-state svg {\n    color: var(--gray-300);\n    margin-bottom: 1rem;\n}\n\n.empty-state h3 {\n    margin: 0 0 0.5rem 0;\n    color: var(--gray-700);\n}\n\n.empty-state p {\n    margin: 0 0 1.5rem 0;\n}\n\n/* Modal de detalle */\n.orden-detail {\n    display: flex;\n    flex-direction: column;\n    gap: 1.5rem;\n}\n\n.detail-header {\n    background: var(--gray-50);\n    padding: 1rem;\n    border-radius: 0.5rem;\n}\n\n.detail-info {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n    gap: 1rem;\n}\n\n.info-row {\n    display: flex;\n    flex-direction: column;\n    gap: 0.25rem;\n}\n\n.info-row label {\n    font-size: 0.75rem;\n    font-weight: 600;\n    color: var(--gray-500);\n    text-transform: uppercase;\n}\n\n.info-row span {\n    font-size: 0.875rem;\n    color: var(--gray-900);\n    font-weight: 500;\n}\n\n.detail-usuarios {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 1.5rem;\n    padding: 0.75rem 1rem;\n    background: white;\n    border-radius: 0.375rem;\n    border: 1px solid var(--gray-200);\n    margin-top: 0.75rem;\n}\n\n.usuario-item {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n}\n\n.usuario-label {\n    font-size: 0.75rem;\n    color: var(--gray-500);\n    font-weight: 500;\n}\n\n.usuario-value {\n    font-size: 0.875rem;\n    color: var(--gray-800);\n    font-weight: 600;\n}\n\n.detail-productos h4,\n.detail-notas h4 {\n    margin: 0 0 0.75rem 0;\n    font-size: 0.875rem;\n    font-weight: 600;\n    color: var(--gray-700);\n}\n\n.productos-table {\n    width: 100%;\n    border-collapse: collapse;\n    background: white;\n    border: 1px solid var(--gray-200);\n    border-radius: 0.375rem;\n    overflow: hidden;\n}\n\n.productos-table th {\n    background: var(--gray-100);\n    padding: 0.625rem 0.75rem;\n    text-align: left;\n    font-weight: 600;\n    color: var(--gray-700);\n    font-size: 0.75rem;\n    text-transform: uppercase;\n}\n\n.productos-table td {\n    padding: 0.625rem 0.75rem;\n    border-bottom: 1px solid var(--gray-100);\n    font-size: 0.875rem;\n}\n\n.productos-table td.text-right {\n    text-align: right;\n    font-weight: 600;\n    color: var(--success-600);\n}\n\n.detail-totales {\n    background: var(--gray-50);\n    padding: 1rem;\n    border-radius: 0.375rem;\n}\n\n.total-row {\n    display: flex;\n    justify-content: space-between;\n    padding: 0.375rem 0;\n    font-size: 0.875rem;\n}\n\n.total-row.total-final {\n    font-size: 1rem;\n    font-weight: 700;\n    padding-top: 0.75rem;\n    margin-top: 0.5rem;\n    border-top: 2px solid var(--gray-300);\n}\n\n.total-row.total-final span:last-child {\n    color: var(--success-600);\n}\n\n.detail-notas p {\n    margin: 0;\n    padding: 0.75rem;\n    background: white;\n    border: 1px solid var(--gray-200);\n    border-radius: 0.375rem;\n    font-size: 0.875rem;\n    color: var(--gray-700);\n}\n\n.detail-actions {\n    display: flex;\n    justify-content: flex-end;\n    gap: 0.75rem;\n    padding-top: 1rem;\n    border-top: 1px solid var(--gray-200);\n}\n\n/* Filtros de fecha */\n.date-filters {\n    display: flex;\n    align-items: flex-start;\n    gap: 0.5rem;\n}\n\n.date-input-group {\n    display: flex;\n    align-items: flex-start;\n    gap: 0.375rem;\n}\n\n.date-input-group label {\n    font-size: 0.75rem;\n    font-weight: 500;\n    color: var(--gray-600);\n    line-height: 2.5rem;\n    height: 2.5rem;\n}\n\n.date-input {\n    height: 2.5rem;\n    padding: 0 0.75rem;\n    border: 1px solid var(--gray-300);\n    border-radius: 0.5rem;\n    font-size: 0.875rem;\n    color: var(--gray-700);\n    background: white;\n    transition: all 0.15s;\n    box-sizing: border-box;\n}\n\n.date-input:focus {\n    outline: none;\n    border-color: var(--primary-500);\n    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1);\n}\n\n.date-input:hover {\n    border-color: var(--gray-400);\n}\n\n.clear-dates-btn {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 2.5rem;\n    height: 2.5rem;\n    padding: 0;\n    border: 1px solid var(--gray-300);\n    background: white;\n    border-radius: 0.5rem;\n    color: var(--gray-500);\n    cursor: pointer;\n    transition: all 0.15s;\n}\n\n.clear-dates-btn:hover {\n    background: var(--error-50);\n    border-color: var(--error-300);\n    color: var(--error-600);\n}\n\n/* Responsive */\n@media (max-width: 768px) {\n    .ordenes-compra-page {\n        padding: 1rem;\n    }\n\n    .ordenes-controls {\n        flex-direction: column;\n        align-items: stretch;\n    }\n\n    .search-filters {\n        flex-direction: column;\n    }\n\n    .search-container {\n        max-width: 100%;\n    }\n\n    .date-filters {\n        flex-wrap: wrap;\n    }\n\n    .ordenes-table-wrapper {\n        overflow-x: auto;\n    }\n\n    .ordenes-table {\n        min-width: 700px;\n    }\n\n    .detail-info {\n        grid-template-columns: 1fr;\n    }\n}\n","/* CuentasPorPagarPage.css */\n\n.cxp-page {\n    padding: 1.5rem 1.5rem 1.5rem 0.5rem;\n    height: 100%;\n    display: flex;\n    flex-direction: column;\n    gap: 1.25rem;\n}\n\n/* Summary Cards */\n.cxp-summary {\n    display: flex;\n    gap: 1rem;\n    flex-wrap: wrap;\n}\n\n.summary-card {\n    flex: 1;\n    min-width: 200px;\n    display: flex;\n    align-items: center;\n    gap: 1rem;\n    padding: 1rem 1.25rem;\n    background: white;\n    border: 1px solid var(--gray-200);\n    border-radius: 0.5rem;\n    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n}\n\n.summary-card.total {\n    border-left: 4px solid var(--error-500);\n}\n\n.summary-card.ordenes {\n    border-left: 4px solid var(--warning-500);\n}\n\n.summary-card.proveedores {\n    border-left: 4px solid var(--primary-500);\n}\n\n.summary-card.seleccionado {\n    border-left: 4px solid var(--success-500);\n    background: var(--success-50);\n}\n\n.summary-icon {\n    width: 3rem;\n    height: 3rem;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    border-radius: 0.5rem;\n    background: var(--gray-100);\n    color: var(--gray-600);\n}\n\n.summary-card.total .summary-icon {\n    background: var(--error-50);\n    color: var(--error-600);\n}\n\n.summary-card.ordenes .summary-icon {\n    background: var(--warning-50);\n    color: var(--warning-600);\n}\n\n.summary-card.proveedores .summary-icon {\n    background: var(--primary-50);\n    color: var(--primary-600);\n}\n\n.summary-card.seleccionado .summary-icon {\n    background: var(--success-100);\n    color: var(--success-600);\n}\n\n.summary-info {\n    display: flex;\n    flex-direction: column;\n    gap: 0.25rem;\n}\n\n.summary-label {\n    font-size: 0.75rem;\n    color: var(--gray-500);\n    font-weight: 500;\n}\n\n.summary-value {\n    font-size: 1.25rem;\n    font-weight: 700;\n    color: var(--gray-900);\n}\n\n.summary-card.total .summary-value {\n    color: var(--error-600);\n}\n\n/* Tabs */\n.cxp-tabs {\n    display: flex;\n    gap: 0.5rem;\n    background: white;\n    padding: 0.5rem;\n    border-radius: 0.5rem;\n    border: 1px solid var(--gray-200);\n}\n\n.tab-btn {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    padding: 0.625rem 1rem;\n    background: transparent;\n    border: none;\n    border-radius: 0.375rem;\n    color: var(--gray-600);\n    font-size: 0.875rem;\n    font-weight: 500;\n    cursor: pointer;\n    transition: all 0.15s;\n}\n\n.tab-btn:hover {\n    background: var(--gray-100);\n    color: var(--gray-900);\n}\n\n.tab-btn.active {\n    background: var(--primary-500);\n    color: white;\n}\n\n/* Controles */\n.cxp-controls {\n    display: flex;\n    justify-content: space-between;\n    align-items: flex-start;\n    gap: 1rem;\n    padding: 0.75rem;\n    background: white;\n    border: 1px solid var(--gray-200);\n    border-radius: 0.5rem;\n    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);\n}\n\n.cxp-controls .search-filters {\n    flex: 1;\n    display: flex;\n    flex-wrap: wrap;\n    align-items: flex-start;\n    gap: 0.75rem;\n}\n\n.cxp-controls .search-filters > * {\n    flex-shrink: 0;\n}\n\n.cxp-controls .search-container {\n    flex: 1;\n    max-width: 20rem;\n    height: 2.5rem;\n}\n\n.cxp-controls .search-container input {\n    height: 2.5rem !important;\n}\n\n.cxp-controls .date-filters {\n    display: flex;\n    align-items: flex-start;\n    gap: 0.5rem;\n}\n\n.cxp-controls .date-input-group {\n    display: flex;\n    align-items: flex-start;\n    gap: 0.375rem;\n}\n\n.cxp-controls .date-input-group label {\n    font-size: 0.75rem;\n    font-weight: 500;\n    color: var(--gray-600);\n    line-height: 2.5rem;\n    height: 2.5rem;\n}\n\n.cxp-controls .date-input {\n    height: 2.5rem;\n    padding: 0 0.75rem;\n    border: 1px solid var(--gray-300);\n    border-radius: 0.5rem;\n    font-size: 0.875rem;\n    color: var(--gray-700);\n    background: white;\n    transition: all 0.15s;\n    box-sizing: border-box;\n}\n\n.cxp-controls .date-input:focus {\n    outline: none;\n    border-color: var(--primary-500);\n    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1);\n}\n\n.cxp-controls .clear-dates-btn {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 2.5rem;\n    height: 2.5rem;\n    padding: 0;\n    border: 1px solid var(--gray-300);\n    background: white;\n    border-radius: 0.5rem;\n    color: var(--gray-500);\n    cursor: pointer;\n    transition: all 0.15s;\n}\n\n.cxp-controls .clear-dates-btn:hover {\n    background: var(--error-50);\n    border-color: var(--error-300);\n    color: var(--error-600);\n}\n\n.proveedor-filter {\n    position: relative;\n}\n\n.proveedor-select-btn {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    height: 2.5rem;\n    padding: 0 0.75rem;\n    border: 1px solid var(--gray-300);\n    border-radius: 0.5rem;\n    font-size: 0.875rem;\n    color: var(--gray-700);\n    background: white;\n    cursor: pointer;\n    min-width: 200px;\n    transition: all 0.15s;\n}\n\n.proveedor-select-btn:hover {\n    border-color: var(--primary-400);\n}\n\n.proveedor-select-btn svg:first-child {\n    color: var(--gray-400);\n}\n\n.proveedor-select-btn span {\n    flex: 1;\n    text-align: left;\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n}\n\n.proveedor-select-btn svg:last-child {\n    color: var(--gray-400);\n    transition: transform 0.2s;\n}\n\n.proveedor-select-btn svg:last-child.rotated {\n    transform: rotate(180deg);\n}\n\n.proveedor-dropdown {\n    position: absolute;\n    top: calc(100% + 4px);\n    left: 0;\n    min-width: 250px;\n    background: white;\n    border: 1px solid var(--gray-200);\n    border-radius: 0.5rem;\n    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n    z-index: 100;\n    overflow: hidden;\n}\n\n.dropdown-search {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    padding: 0.75rem;\n    border-bottom: 1px solid var(--gray-200);\n    background: var(--gray-50);\n}\n\n.dropdown-search svg {\n    color: var(--gray-400);\n    flex-shrink: 0;\n}\n\n.dropdown-search input {\n    flex: 1;\n    border: none;\n    background: transparent;\n    font-size: 0.875rem;\n    color: var(--gray-700);\n    outline: none;\n}\n\n.dropdown-search input::placeholder {\n    color: var(--gray-400);\n}\n\n.dropdown-options {\n    max-height: 200px;\n    overflow-y: auto;\n}\n\n.dropdown-option {\n    padding: 0.625rem 0.75rem;\n    font-size: 0.875rem;\n    color: var(--gray-700);\n    cursor: pointer;\n    transition: background 0.1s;\n}\n\n.dropdown-option:hover {\n    background: var(--gray-100);\n}\n\n.dropdown-option.selected {\n    background: var(--primary-50);\n    color: var(--primary-700);\n    font-weight: 500;\n}\n\n.dropdown-empty {\n    padding: 1rem 0.75rem;\n    text-align: center;\n    color: var(--gray-500);\n    font-size: 0.875rem;\n}\n\n.cxp-controls .controls-actions {\n    display: flex;\n    gap: 0.5rem;\n    align-items: flex-start;\n}\n\n/* Tabla */\n.cxp-table-container {\n    background: white;\n    border: 1px solid var(--gray-200);\n    border-radius: 0.5rem;\n    overflow: hidden;\n    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n    flex: 1;\n}\n\n.cxp-table-wrapper {\n    max-height: calc(100vh - 380px);\n    min-height: 300px;\n    overflow-y: auto;\n}\n\n.cxp-table-wrapper::-webkit-scrollbar {\n    width: 8px;\n}\n\n.cxp-table-wrapper::-webkit-scrollbar-track {\n    background: var(--gray-100);\n}\n\n.cxp-table-wrapper::-webkit-scrollbar-thumb {\n    background: var(--gray-300);\n    border-radius: 4px;\n}\n\n.cxp-table {\n    width: 100%;\n    border-collapse: collapse;\n}\n\n.cxp-table thead {\n    position: sticky;\n    top: 0;\n    z-index: 10;\n}\n\n.cxp-table th {\n    background: var(--gray-50);\n    padding: 0.75rem;\n    text-align: left;\n    font-weight: 600;\n    color: var(--gray-700);\n    border-bottom: 1px solid var(--gray-200);\n    font-size: 0.8rem;\n}\n\n.cxp-table td {\n    padding: 0.75rem;\n    border-bottom: 1px solid var(--gray-100);\n    vertical-align: middle;\n    color: var(--gray-900);\n    font-size: 0.875rem;\n}\n\n.cxp-table tr:hover {\n    background: var(--gray-50);\n}\n\n.cxp-table tr.urgente {\n    background: var(--error-50);\n}\n\n.cxp-table tr.urgente:hover {\n    background: var(--error-100);\n}\n\n.cxp-table tfoot {\n    background: var(--gray-50);\n}\n\n.cxp-table tfoot td {\n    padding: 1rem 0.75rem;\n    font-weight: 600;\n    border-top: 2px solid var(--gray-200);\n}\n\n.checkbox-col {\n    width: 40px;\n    text-align: center;\n}\n\n.checkbox-col input[type=\"checkbox\"] {\n    width: 1rem;\n    height: 1rem;\n    cursor: pointer;\n}\n\n.orden-folio {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    font-weight: 600;\n    color: var(--primary-600);\n}\n\n.orden-folio.clickable {\n    cursor: pointer;\n    transition: all 0.15s;\n}\n\n.orden-folio.clickable:hover {\n    color: var(--primary-700);\n    text-decoration: underline;\n}\n\n.orden-folio svg {\n    color: var(--primary-500);\n}\n\n.orden-fecha,\n.orden-proveedor {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    color: var(--gray-600);\n    font-size: 0.8rem;\n}\n\n.orden-fecha svg,\n.orden-proveedor svg {\n    color: var(--gray-400);\n}\n\n.dias-badge {\n    display: inline-block;\n    padding: 0.25rem 0.5rem;\n    border-radius: 0.25rem;\n    font-size: 0.75rem;\n    font-weight: 600;\n    background: var(--gray-100);\n    color: var(--gray-600);\n}\n\n.dias-badge.warning {\n    background: var(--warning-100);\n    color: var(--warning-700);\n}\n\n.dias-badge.urgente {\n    background: var(--error-100);\n    color: var(--error-700);\n}\n\n.orden-total {\n    font-weight: 600;\n    color: var(--error-600);\n}\n\n.total-footer {\n    font-size: 1rem;\n    color: var(--error-600);\n}\n\n.text-right {\n    text-align: right;\n}\n\n.action-btn-pagar {\n    display: flex;\n    align-items: center;\n    gap: 0.375rem;\n    padding: 0.375rem 0.75rem;\n    background: var(--success-500);\n    border: none;\n    border-radius: 0.375rem;\n    color: white;\n    font-size: 0.75rem;\n    font-weight: 600;\n    cursor: pointer;\n    transition: all 0.15s;\n}\n\n.action-btn-pagar:hover {\n    background: var(--success-600);\n}\n\n.action-btn-pagar:disabled {\n    opacity: 0.5;\n    cursor: not-allowed;\n}\n\n/* Estados */\n.loading-state,\n.empty-state {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    padding: 3rem;\n    text-align: center;\n    color: var(--gray-500);\n    min-height: 300px;\n}\n\n.loading-spinner {\n    width: 2rem;\n    height: 2rem;\n    border: 3px solid var(--gray-200);\n    border-top: 3px solid var(--primary-500);\n    border-radius: 50%;\n    animation: spin 1s linear infinite;\n    margin-bottom: 1rem;\n}\n\n@keyframes spin {\n    0% { transform: rotate(0deg); }\n    100% { transform: rotate(360deg); }\n}\n\n.empty-state svg {\n    color: var(--gray-300);\n    margin-bottom: 1rem;\n}\n\n.empty-state h3 {\n    margin: 0 0 0.5rem 0;\n    color: var(--gray-700);\n}\n\n.empty-state p {\n    margin: 0;\n}\n\n/* Resumen por proveedor */\n.cxp-resumen-container {\n    flex: 1;\n    overflow-y: auto;\n}\n\n.resumen-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));\n    gap: 1rem;\n}\n\n.proveedor-card {\n    background: white;\n    border: 1px solid var(--gray-200);\n    border-radius: 0.5rem;\n    overflow: hidden;\n    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n    display: flex;\n    flex-direction: column;\n}\n\n.proveedor-header {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    padding: 1rem;\n    background: var(--gray-50);\n    border-bottom: 1px solid var(--gray-200);\n}\n\n.proveedor-info {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n}\n\n.proveedor-info svg {\n    color: var(--primary-500);\n}\n\n.proveedor-info h4 {\n    margin: 0;\n    font-size: 0.9rem;\n    color: var(--gray-900);\n}\n\n.cantidad-badge {\n    padding: 0.25rem 0.5rem;\n    background: var(--primary-100);\n    color: var(--primary-700);\n    border-radius: 0.25rem;\n    font-size: 0.75rem;\n    font-weight: 600;\n}\n\n.proveedor-body {\n    padding: 1rem;\n    flex: 1;\n}\n\n.proveedor-contacto {\n    margin: 0 0 0.5rem 0;\n    color: var(--gray-600);\n    font-size: 0.8rem;\n}\n\n.orden-antigua {\n    display: flex;\n    align-items: center;\n    gap: 0.375rem;\n    margin: 0;\n    color: var(--warning-600);\n    font-size: 0.75rem;\n}\n\n.proveedor-footer {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    padding: 0.75rem 1rem;\n    background: var(--error-50);\n    border-top: 1px solid var(--error-100);\n}\n\n.total-label {\n    font-size: 0.75rem;\n    color: var(--gray-600);\n}\n\n.total-valor {\n    font-size: 1.125rem;\n    font-weight: 700;\n    color: var(--error-600);\n}\n\n.btn-ver-ordenes {\n    width: 100%;\n    padding: 0.75rem;\n    background: white;\n    border: none;\n    border-top: 1px solid var(--gray-200);\n    color: var(--primary-600);\n    font-size: 0.8rem;\n    font-weight: 600;\n    cursor: pointer;\n    transition: all 0.15s;\n}\n\n.btn-ver-ordenes:hover {\n    background: var(--primary-50);\n    color: var(--primary-700);\n}\n\n/* Action Buttons */\n.action-buttons {\n    display: flex;\n    gap: 0.5rem;\n    align-items: center;\n}\n\n.action-btn-ver {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    padding: 0.375rem;\n    background: var(--gray-100);\n    border: 1px solid var(--gray-300);\n    border-radius: 0.375rem;\n    color: var(--gray-600);\n    cursor: pointer;\n    transition: all 0.15s;\n}\n\n.action-btn-ver:hover {\n    background: var(--primary-50);\n    border-color: var(--primary-300);\n    color: var(--primary-600);\n}\n\n.action-btn-ver:disabled {\n    opacity: 0.5;\n    cursor: not-allowed;\n}\n\n/* Detalle Orden Modal */\n.detalle-orden-modal {\n    display: flex;\n    flex-direction: column;\n    gap: 1.5rem;\n}\n\n.detalle-header {\n    display: flex;\n    flex-direction: column;\n    gap: 1rem;\n}\n\n.detalle-info-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));\n    gap: 1rem;\n}\n\n.detalle-info-item {\n    display: flex;\n    flex-direction: column;\n    gap: 0.25rem;\n}\n\n.detalle-info-item .info-label {\n    font-size: 0.75rem;\n    color: var(--gray-500);\n    font-weight: 500;\n    text-transform: uppercase;\n}\n\n.detalle-info-item .info-value {\n    font-size: 0.9rem;\n    color: var(--gray-900);\n    font-weight: 600;\n}\n\n.detalle-info-item .estado-badge {\n    display: inline-block;\n    padding: 0.25rem 0.5rem;\n    border-radius: 0.25rem;\n    font-size: 0.75rem;\n    font-weight: 600;\n    text-transform: capitalize;\n}\n\n.estado-badge.recibida {\n    background: var(--success-100);\n    color: var(--success-700);\n}\n\n.estado-badge.recibida_parcial {\n    background: var(--warning-100);\n    color: var(--warning-700);\n}\n\n.estado-badge.pendiente {\n    background: var(--gray-100);\n    color: var(--gray-700);\n}\n\n.detalle-usuarios {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 1.5rem;\n    padding: 0.75rem 1rem;\n    background: var(--gray-50);\n    border-radius: 0.375rem;\n    border: 1px solid var(--gray-200);\n    margin-top: 0.5rem;\n}\n\n.usuario-item {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n}\n\n.usuario-label {\n    font-size: 0.75rem;\n    color: var(--gray-500);\n    font-weight: 500;\n}\n\n.usuario-value {\n    font-size: 0.875rem;\n    color: var(--gray-800);\n    font-weight: 600;\n}\n\n.detalle-notas {\n    padding: 0.75rem;\n    background: var(--gray-50);\n    border-radius: 0.375rem;\n    border: 1px solid var(--gray-200);\n}\n\n.detalle-notas .info-label {\n    font-size: 0.75rem;\n    color: var(--gray-500);\n    font-weight: 500;\n}\n\n.detalle-notas p {\n    margin: 0.25rem 0 0 0;\n    font-size: 0.875rem;\n    color: var(--gray-700);\n}\n\n.detalle-productos h4 {\n    margin: 0 0 0.75rem 0;\n    font-size: 0.9rem;\n    font-weight: 600;\n    color: var(--gray-700);\n}\n\n.detalle-table {\n    width: 100%;\n    border-collapse: collapse;\n    background: white;\n    border: 1px solid var(--gray-200);\n    border-radius: 0.375rem;\n    overflow: hidden;\n}\n\n.detalle-table th {\n    background: var(--gray-100);\n    padding: 0.625rem 0.75rem;\n    text-align: left;\n    font-weight: 600;\n    color: var(--gray-700);\n    font-size: 0.75rem;\n    text-transform: uppercase;\n    border-bottom: 1px solid var(--gray-200);\n}\n\n.detalle-table td {\n    padding: 0.625rem 0.75rem;\n    border-bottom: 1px solid var(--gray-100);\n    font-size: 0.875rem;\n    color: var(--gray-900);\n}\n\n.detalle-table tbody tr:last-child td {\n    border-bottom: none;\n}\n\n.detalle-table tfoot td {\n    padding: 0.75rem;\n    background: var(--gray-50);\n    border-top: 2px solid var(--gray-200);\n}\n\n.detalle-table .total-value {\n    font-size: 1rem;\n    color: var(--success-600);\n}\n\n.detalle-actions {\n    display: flex;\n    justify-content: flex-end;\n    gap: 0.75rem;\n    padding-top: 1rem;\n    border-top: 1px solid var(--gray-200);\n}\n\n/* Responsive */\n@media (max-width: 768px) {\n    .cxp-page {\n        padding: 1rem;\n    }\n\n    .cxp-summary {\n        flex-direction: column;\n    }\n\n    .summary-card {\n        min-width: auto;\n    }\n\n    .cxp-controls {\n        flex-direction: column;\n        align-items: stretch;\n    }\n\n    .cxp-controls .search-filters {\n        flex-direction: column;\n    }\n\n    .cxp-controls .search-container {\n        max-width: 100%;\n    }\n\n    .cxp-controls .date-filters {\n        flex-wrap: wrap;\n    }\n\n    .cxp-table-wrapper {\n        overflow-x: auto;\n    }\n\n    .cxp-table {\n        min-width: 700px;\n    }\n\n    .resumen-grid {\n        grid-template-columns: 1fr;\n    }\n}\n","/* =====================================================\n   CUENTAS POR COBRAR (CXC) - Estilos\n   ===================================================== */\n\n.cxc-page {\n    padding: 1.5rem;\n    display: flex;\n    flex-direction: column;\n    gap: 1.5rem;\n    height: 100%;\n    overflow-y: auto;\n}\n\n/* Tabs */\n.cxc-tabs {\n    display: flex;\n    gap: 0.5rem;\n    background: var(--background-secondary, #f8fafc);\n    padding: 0.25rem;\n    border-radius: 8px;\n    width: fit-content;\n}\n\n.cxc-tab {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    padding: 0.625rem 1.25rem;\n    border: none;\n    background: transparent;\n    border-radius: 6px;\n    font-size: 0.875rem;\n    font-weight: 500;\n    color: var(--text-secondary, #64748b);\n    cursor: pointer;\n    transition: all 0.2s ease;\n}\n\n.cxc-tab:hover {\n    color: var(--text-primary, #1e293b);\n    background: var(--background-primary, #ffffff);\n}\n\n.cxc-tab.active {\n    background: var(--primary-500, #667eea);\n    color: white;\n    box-shadow: 0 2px 4px rgba(102, 126, 234, 0.25);\n}\n\n/* Summary Cards */\n.cxc-summary-cards {\n    display: grid;\n    grid-template-columns: repeat(4, 1fr);\n    gap: 1rem;\n}\n\n.summary-card {\n    display: flex;\n    align-items: center;\n    gap: 1rem;\n    padding: 1.25rem;\n    background: white;\n    border-radius: 12px;\n    border: 1px solid var(--border-color, #e2e8f0);\n    transition: transform 0.2s ease, box-shadow 0.2s ease;\n}\n\n.summary-card:hover {\n    transform: translateY(-2px);\n    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);\n}\n\n.summary-icon {\n    width: 48px;\n    height: 48px;\n    border-radius: 12px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n}\n\n.summary-card.total .summary-icon {\n    background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);\n    color: white;\n}\n\n.summary-card.cuentas .summary-icon {\n    background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);\n    color: white;\n}\n\n.summary-card.vencidas .summary-icon {\n    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);\n    color: white;\n}\n\n.summary-card.proximas .summary-icon {\n    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);\n    color: white;\n}\n\n.summary-content {\n    display: flex;\n    flex-direction: column;\n    gap: 0.25rem;\n}\n\n.summary-label {\n    font-size: 0.75rem;\n    font-weight: 500;\n    color: var(--text-secondary, #64748b);\n    text-transform: uppercase;\n    letter-spacing: 0.025em;\n}\n\n.summary-value {\n    font-size: 1.5rem;\n    font-weight: 700;\n    color: var(--text-primary, #1e293b);\n}\n\n.summary-amount {\n    font-size: 0.875rem;\n    font-weight: 600;\n    color: var(--error-500, #ef4444);\n}\n\n/* Controls */\n.cxc-controls {\n    display: flex;\n    align-items: center;\n    gap: 1rem;\n    flex-wrap: wrap;\n}\n\n.search-filters {\n    display: flex;\n    align-items: center;\n    gap: 1rem;\n    flex-wrap: wrap;\n    flex: 1;\n}\n\n.search-container {\n    min-width: 280px;\n}\n\n.date-filters {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n}\n\n.date-field {\n    display: flex;\n    flex-direction: column;\n    gap: 0.25rem;\n}\n\n.date-field label {\n    font-size: 0.75rem;\n    font-weight: 500;\n    color: var(--text-secondary, #64748b);\n}\n\n.date-input {\n    padding: 0.5rem 0.75rem;\n    border: 1px solid var(--border-color, #e2e8f0);\n    border-radius: 6px;\n    font-size: 0.875rem;\n    color: var(--text-primary, #1e293b);\n    background: white;\n}\n\n.date-input:focus {\n    outline: none;\n    border-color: var(--primary-500, #667eea);\n    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);\n}\n\n.filter-select {\n    padding: 0.625rem 0.875rem;\n    border: 1px solid var(--border-color, #e2e8f0);\n    border-radius: 6px;\n    font-size: 0.875rem;\n    color: var(--text-primary, #1e293b);\n    background: white;\n    min-width: 160px;\n    cursor: pointer;\n}\n\n.filter-select:focus {\n    outline: none;\n    border-color: var(--primary-500, #667eea);\n}\n\n.urgencia-select {\n    min-width: 130px;\n}\n\n.reset-filters-btn {\n    padding: 0.625rem;\n    border: 1px solid var(--border-color, #e2e8f0);\n    border-radius: 6px;\n    background: white;\n    color: var(--text-secondary, #64748b);\n    cursor: pointer;\n    transition: all 0.2s ease;\n}\n\n.reset-filters-btn:hover {\n    background: var(--background-secondary, #f8fafc);\n    color: var(--text-primary, #1e293b);\n}\n\n/* Table Container */\n.cxc-table-container {\n    background: white;\n    border-radius: 12px;\n    border: 1px solid var(--border-color, #e2e8f0);\n    overflow: hidden;\n    flex: 1;\n    display: flex;\n    flex-direction: column;\n}\n\n/* Table */\n.cxc-table {\n    width: 100%;\n    border-collapse: collapse;\n}\n\n.cxc-table thead {\n    background: var(--background-secondary, #f8fafc);\n    position: sticky;\n    top: 0;\n    z-index: 10;\n}\n\n.cxc-table th {\n    padding: 0.875rem 1rem;\n    text-align: left;\n    font-size: 0.75rem;\n    font-weight: 600;\n    color: var(--text-secondary, #64748b);\n    text-transform: uppercase;\n    letter-spacing: 0.025em;\n    border-bottom: 1px solid var(--border-color, #e2e8f0);\n}\n\n.cxc-table td {\n    padding: 0.875rem 1rem;\n    font-size: 0.875rem;\n    color: var(--text-primary, #1e293b);\n    border-bottom: 1px solid var(--border-color, #e2e8f0);\n    vertical-align: middle;\n}\n\n/* Montos alineados a la derecha */\n.cxc-table td.monto,\n.resumen-table td.monto {\n    text-align: right;\n}\n\n/* Columnas de texto alineadas a la izquierda */\n.cxc-table th:first-child,\n.cxc-table th:nth-child(2),\n.cxc-table th:nth-child(3),\n.cxc-table td:first-child,\n.cxc-table td:nth-child(2),\n.cxc-table td:nth-child(3),\n.resumen-table th:first-child,\n.resumen-table td:first-child {\n    text-align: left !important;\n}\n\n.cxc-table tbody tr {\n    transition: background 0.15s ease;\n}\n\n.cxc-table tbody tr:hover {\n    background: var(--background-secondary, #f8fafc);\n}\n\n/* Urgencia row styles */\n.cxc-table tbody tr.urgencia-vencida {\n    background: rgba(239, 68, 68, 0.04);\n}\n\n.cxc-table tbody tr.urgencia-vencida:hover {\n    background: rgba(239, 68, 68, 0.08);\n}\n\n.cxc-table tbody tr.urgencia-proxima {\n    background: rgba(245, 158, 11, 0.04);\n}\n\n.cxc-table tbody tr.urgencia-proxima:hover {\n    background: rgba(245, 158, 11, 0.08);\n}\n\n/* Cell styles */\n.folio {\n    font-weight: 600;\n    color: var(--primary-600, #5a67d8);\n}\n\n.fecha-cell,\n.cliente-cell {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    text-align: left;\n}\n\n.cxc-table td .cliente-cell,\n.resumen-table td .cliente-cell {\n    justify-content: flex-start;\n}\n\n.cxc-table .cliente-info,\n.resumen-table .cliente-info {\n    text-align: left;\n}\n\n.fecha-cell svg,\n.cliente-cell svg {\n    color: var(--text-tertiary, #94a3b8);\n}\n\n/* Celda de cliente - forzar alineación izquierda */\n.td-cliente {\n    text-align: left !important;\n}\n\n.td-cliente .cliente-info {\n    display: flex;\n    flex-direction: column;\n    gap: 0.125rem;\n    align-items: flex-start;\n    text-align: left;\n}\n\n.cliente-info {\n    display: flex;\n    flex-direction: column;\n    gap: 0.125rem;\n    align-items: flex-start;\n    text-align: left;\n}\n\n.cliente-nombre {\n    font-weight: 500;\n    text-align: left;\n}\n\n.cliente-comercial {\n    font-size: 0.75rem;\n    color: var(--text-secondary, #64748b);\n    text-align: left;\n}\n\n.monto {\n    font-weight: 600;\n    text-align: right;\n    font-family: 'SF Mono', 'Monaco', monospace;\n}\n\n.monto.abonado {\n    color: var(--success-600, #059669);\n}\n\n.monto.saldo {\n    color: var(--primary-600, #5a67d8);\n}\n\n.num-abonos {\n    font-size: 0.75rem;\n    color: var(--text-secondary, #64748b);\n    margin-left: 0.25rem;\n}\n\n.vencimiento-cell {\n    font-size: 0.8125rem;\n}\n\n/* Urgencia Badge */\n.urgencia-badge {\n    display: inline-flex;\n    align-items: center;\n    gap: 0.375rem;\n    padding: 0.25rem 0.625rem;\n    border-radius: 9999px;\n    font-size: 0.75rem;\n    font-weight: 500;\n}\n\n.urgencia-badge .dias {\n    font-size: 0.6875rem;\n    opacity: 0.8;\n}\n\n.badge-vencida {\n    background: rgba(239, 68, 68, 0.1);\n    color: #dc2626;\n}\n\n.badge-proxima {\n    background: rgba(245, 158, 11, 0.1);\n    color: #d97706;\n}\n\n.badge-normal {\n    background: rgba(34, 197, 94, 0.1);\n    color: #16a34a;\n}\n\n/* Acciones */\n.acciones {\n    width: 120px;\n}\n\n.acciones-btns {\n    display: flex;\n    gap: 0.375rem;\n}\n\n.action-btn {\n    width: 32px;\n    height: 32px;\n    border: none;\n    border-radius: 6px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    cursor: pointer;\n    transition: all 0.2s ease;\n}\n\n.action-btn.pagar {\n    background: rgba(102, 126, 234, 0.1);\n    color: var(--primary-600, #5a67d8);\n}\n\n.action-btn.pagar:hover {\n    background: var(--primary-500, #667eea);\n    color: white;\n}\n\n.action-btn.historial {\n    background: rgba(34, 197, 94, 0.1);\n    color: #16a34a;\n}\n\n.action-btn.historial:hover {\n    background: #22c55e;\n    color: white;\n}\n\n.action-btn.detalle {\n    background: rgba(100, 116, 139, 0.1);\n    color: #64748b;\n}\n\n.action-btn.detalle:hover {\n    background: #64748b;\n    color: white;\n}\n\n/* Footer totals */\n.cxc-table tfoot {\n    background: var(--background-secondary, #f8fafc);\n}\n\n.cxc-table tfoot td {\n    padding: 1rem;\n    font-weight: 600;\n    border-top: 2px solid var(--border-color, #e2e8f0);\n}\n\n.total-label {\n    text-align: right;\n    color: var(--text-secondary, #64748b);\n}\n\n.total-value {\n    text-align: right;\n    font-size: 1.125rem;\n    color: var(--primary-600, #5a67d8);\n}\n\n/* Resumen por Cliente */\n.cxc-resumen-container {\n    flex: 1;\n    overflow-y: auto;\n}\n\n.clientes-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));\n    gap: 1rem;\n}\n\n.cliente-card {\n    background: white;\n    border-radius: 12px;\n    border: 1px solid var(--border-color, #e2e8f0);\n    overflow: hidden;\n    transition: transform 0.2s ease, box-shadow 0.2s ease;\n}\n\n.cliente-card:hover {\n    transform: translateY(-2px);\n    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);\n}\n\n.cliente-card.tiene-vencidas {\n    border-color: rgba(239, 68, 68, 0.3);\n}\n\n.cliente-card-header {\n    display: flex;\n    align-items: center;\n    gap: 0.875rem;\n    padding: 1rem;\n    background: var(--background-secondary, #f8fafc);\n    border-bottom: 1px solid var(--border-color, #e2e8f0);\n}\n\n.cliente-avatar {\n    width: 44px;\n    height: 44px;\n    border-radius: 10px;\n    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n    color: white;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n}\n\n.cliente-card-header .cliente-info h4 {\n    margin: 0;\n    font-size: 0.9375rem;\n    font-weight: 600;\n    color: var(--text-primary, #1e293b);\n}\n\n.cliente-card-header .comercial {\n    font-size: 0.8125rem;\n    color: var(--text-secondary, #64748b);\n}\n\n.cliente-card-body {\n    padding: 1rem;\n    display: flex;\n    flex-direction: column;\n    gap: 0.625rem;\n}\n\n.stat-row {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n}\n\n.stat-row .stat-label {\n    font-size: 0.8125rem;\n    color: var(--text-secondary, #64748b);\n}\n\n.stat-row .stat-value {\n    font-size: 0.875rem;\n    font-weight: 600;\n    color: var(--text-primary, #1e293b);\n}\n\n.stat-row.total .stat-value {\n    font-size: 1.125rem;\n    color: var(--primary-600, #5a67d8);\n}\n\n.stat-row.vencido .stat-value {\n    color: var(--error-500, #ef4444);\n}\n\n.vencidas-alert {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    padding: 0.5rem 0.75rem;\n    background: rgba(239, 68, 68, 0.08);\n    border-radius: 6px;\n    font-size: 0.8125rem;\n    font-weight: 500;\n    color: #dc2626;\n    margin-top: 0.5rem;\n}\n\n.cliente-card-footer {\n    padding: 0.875rem 1rem;\n    border-top: 1px solid var(--border-color, #e2e8f0);\n    display: flex;\n    justify-content: flex-end;\n}\n\n/* Empty State */\n.empty-state {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    padding: 4rem 2rem;\n    text-align: center;\n    color: var(--text-secondary, #64748b);\n}\n\n.empty-state svg {\n    opacity: 0.4;\n    margin-bottom: 1rem;\n}\n\n.empty-state h3 {\n    margin: 0 0 0.5rem;\n    font-size: 1.125rem;\n    color: var(--text-primary, #1e293b);\n}\n\n.empty-state p {\n    margin: 0;\n    font-size: 0.875rem;\n}\n\n/* Loading State */\n.loading-state {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    padding: 4rem 2rem;\n}\n\n.loading-spinner {\n    width: 40px;\n    height: 40px;\n    border: 3px solid var(--border-color, #e2e8f0);\n    border-top-color: var(--primary-500, #667eea);\n    border-radius: 50%;\n    animation: spin 0.8s linear infinite;\n}\n\n@keyframes spin {\n    to { transform: rotate(360deg); }\n}\n\n/* =====================================================\n   MODAL STYLES\n   ===================================================== */\n\n/* Pago Modal */\n.pago-modal {\n    display: flex;\n    flex-direction: column;\n    gap: 1.5rem;\n}\n\n.cuenta-info-card {\n    background: var(--background-secondary, #f8fafc);\n    border-radius: 8px;\n    padding: 1rem;\n    display: flex;\n    flex-direction: column;\n    gap: 0.5rem;\n}\n\n.cuenta-info-card .info-row {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n}\n\n.cuenta-info-card .label {\n    font-size: 0.8125rem;\n    color: var(--text-secondary, #64748b);\n}\n\n.cuenta-info-card .value {\n    font-size: 0.875rem;\n    font-weight: 600;\n    color: var(--text-primary, #1e293b);\n}\n\n.cuenta-info-card .info-row.highlight {\n    padding-top: 0.5rem;\n    margin-top: 0.5rem;\n    border-top: 1px solid var(--border-color, #e2e8f0);\n}\n\n.cuenta-info-card .value.saldo {\n    font-size: 1.125rem;\n    color: var(--primary-600, #5a67d8);\n}\n\n/* Pago Form */\n.pago-form {\n    display: flex;\n    flex-direction: column;\n    gap: 1rem;\n}\n\n.form-field {\n    display: flex;\n    flex-direction: column;\n    gap: 0.375rem;\n}\n\n.form-field label {\n    font-size: 0.8125rem;\n    font-weight: 500;\n    color: var(--text-primary, #1e293b);\n}\n\n.monto-input-wrapper {\n    display: flex;\n    align-items: center;\n    border: 1px solid var(--border-color, #e2e8f0);\n    border-radius: 8px;\n    overflow: hidden;\n}\n\n.monto-input-wrapper .currency {\n    padding: 0.75rem;\n    background: var(--background-secondary, #f8fafc);\n    color: var(--text-secondary, #64748b);\n    font-weight: 500;\n}\n\n.monto-input {\n    flex: 1;\n    padding: 0.75rem;\n    border: none;\n    font-size: 1.25rem;\n    font-weight: 600;\n    color: var(--text-primary, #1e293b);\n}\n\n.monto-input:focus {\n    outline: none;\n}\n\n.monto-input-wrapper:focus-within {\n    border-color: var(--primary-500, #667eea);\n    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);\n}\n\n.quick-amounts {\n    display: flex;\n    gap: 0.5rem;\n    margin-top: 0.5rem;\n}\n\n.quick-btn {\n    padding: 0.375rem 0.75rem;\n    border: 1px solid var(--border-color, #e2e8f0);\n    border-radius: 6px;\n    background: white;\n    font-size: 0.75rem;\n    font-weight: 500;\n    color: var(--text-secondary, #64748b);\n    cursor: pointer;\n    transition: all 0.2s ease;\n}\n\n.quick-btn:hover {\n    border-color: var(--primary-500, #667eea);\n    color: var(--primary-600, #5a67d8);\n    background: rgba(102, 126, 234, 0.05);\n}\n\n.select-input,\n.text-input,\n.textarea-input {\n    padding: 0.625rem 0.875rem;\n    border: 1px solid var(--border-color, #e2e8f0);\n    border-radius: 8px;\n    font-size: 0.875rem;\n    color: var(--text-primary, #1e293b);\n}\n\n.select-input:focus,\n.text-input:focus,\n.textarea-input:focus {\n    outline: none;\n    border-color: var(--primary-500, #667eea);\n    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);\n}\n\n.textarea-input {\n    resize: vertical;\n    min-height: 60px;\n}\n\n/* Pago Preview */\n.pago-preview {\n    background: var(--background-secondary, #f8fafc);\n    border-radius: 8px;\n    padding: 1rem;\n    display: flex;\n    flex-direction: column;\n    gap: 0.5rem;\n}\n\n.preview-row {\n    display: flex;\n    justify-content: space-between;\n    font-size: 0.875rem;\n    color: var(--text-primary, #1e293b);\n}\n\n.preview-row.abono span:last-child {\n    color: var(--success-600, #059669);\n    font-weight: 600;\n}\n\n.preview-row.nuevo-saldo {\n    padding-top: 0.5rem;\n    margin-top: 0.5rem;\n    border-top: 1px solid var(--border-color, #e2e8f0);\n    font-weight: 600;\n}\n\n.preview-row.nuevo-saldo span:last-child {\n    color: var(--primary-600, #5a67d8);\n}\n\n.liquidada-alert {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 0.5rem;\n    padding: 0.625rem;\n    background: rgba(34, 197, 94, 0.1);\n    border-radius: 6px;\n    font-size: 0.8125rem;\n    font-weight: 500;\n    color: #16a34a;\n    margin-top: 0.5rem;\n}\n\n/* Modal Actions */\n.modal-actions {\n    display: flex;\n    justify-content: flex-end;\n    gap: 0.75rem;\n    padding-top: 1rem;\n    border-top: 1px solid var(--border-color, #e2e8f0);\n}\n\n/* Historial Modal */\n.historial-modal {\n    display: flex;\n    flex-direction: column;\n    gap: 1.5rem;\n}\n\n.historial-resumen {\n    display: flex;\n    gap: 1.5rem;\n    padding: 1rem;\n    background: var(--background-secondary, #f8fafc);\n    border-radius: 8px;\n}\n\n.historial-resumen .resumen-item {\n    display: flex;\n    flex-direction: column;\n    gap: 0.25rem;\n}\n\n.historial-resumen .label {\n    font-size: 0.75rem;\n    color: var(--text-secondary, #64748b);\n}\n\n.historial-resumen .value {\n    font-size: 1.125rem;\n    font-weight: 600;\n    color: var(--text-primary, #1e293b);\n}\n\n.historial-resumen .value.verde {\n    color: var(--success-600, #059669);\n}\n\n.historial-resumen .value.rojo {\n    color: var(--error-500, #ef4444);\n}\n\n.historial-table {\n    width: 100%;\n    border-collapse: collapse;\n}\n\n.historial-table th,\n.historial-table td {\n    padding: 0.75rem;\n    text-align: left;\n    border-bottom: 1px solid var(--border-color, #e2e8f0);\n}\n\n.historial-table th {\n    font-size: 0.75rem;\n    font-weight: 600;\n    color: var(--text-secondary, #64748b);\n    text-transform: uppercase;\n    background: var(--background-secondary, #f8fafc);\n}\n\n.historial-table td {\n    font-size: 0.875rem;\n}\n\n.historial-table .monto {\n    font-weight: 600;\n    color: var(--success-600, #059669);\n}\n\n.metodo-badge {\n    display: inline-block;\n    padding: 0.25rem 0.5rem;\n    border-radius: 4px;\n    font-size: 0.75rem;\n    font-weight: 500;\n    text-transform: capitalize;\n}\n\n.metodo-badge.efectivo {\n    background: rgba(34, 197, 94, 0.1);\n    color: #16a34a;\n}\n\n.metodo-badge.tarjeta {\n    background: rgba(59, 130, 246, 0.1);\n    color: #2563eb;\n}\n\n.metodo-badge.transferencia {\n    background: rgba(168, 85, 247, 0.1);\n    color: #9333ea;\n}\n\n.no-pagos {\n    text-align: center;\n    padding: 2rem;\n    color: var(--text-secondary, #64748b);\n    font-size: 0.875rem;\n}\n\n/* Detalle Modal */\n.detalle-modal {\n    display: flex;\n    flex-direction: column;\n    gap: 1.5rem;\n}\n\n.detalle-section {\n    display: flex;\n    flex-direction: column;\n    gap: 0.75rem;\n}\n\n.detalle-section h4 {\n    margin: 0;\n    font-size: 0.875rem;\n    font-weight: 600;\n    color: var(--text-secondary, #64748b);\n    text-transform: uppercase;\n    letter-spacing: 0.025em;\n}\n\n.detalle-grid {\n    display: grid;\n    grid-template-columns: repeat(3, 1fr);\n    gap: 1rem;\n    padding: 1rem;\n    background: var(--background-secondary, #f8fafc);\n    border-radius: 8px;\n}\n\n.detalle-item {\n    display: flex;\n    flex-direction: column;\n    gap: 0.25rem;\n}\n\n.detalle-item .label {\n    font-size: 0.75rem;\n    color: var(--text-secondary, #64748b);\n}\n\n.detalle-item .value {\n    font-size: 0.875rem;\n    font-weight: 500;\n    color: var(--text-primary, #1e293b);\n}\n\n.productos-table {\n    width: 100%;\n    border-collapse: collapse;\n    font-size: 0.875rem;\n}\n\n.productos-table th,\n.productos-table td {\n    padding: 0.625rem 0.75rem;\n    text-align: left;\n    border-bottom: 1px solid var(--border-color, #e2e8f0);\n}\n\n.productos-table th {\n    font-size: 0.75rem;\n    font-weight: 600;\n    color: var(--text-secondary, #64748b);\n    background: var(--background-secondary, #f8fafc);\n}\n\n.detalle-section.totales {\n    padding: 1rem;\n    background: var(--background-secondary, #f8fafc);\n    border-radius: 8px;\n}\n\n.total-row {\n    display: flex;\n    justify-content: space-between;\n    padding: 0.375rem 0;\n    font-size: 0.875rem;\n}\n\n.total-row.descuento span:last-child {\n    color: var(--error-500, #ef4444);\n}\n\n.total-row.total {\n    font-weight: 600;\n    font-size: 1rem;\n    padding-top: 0.5rem;\n    margin-top: 0.5rem;\n    border-top: 1px solid var(--border-color, #e2e8f0);\n}\n\n.total-row.abonado span:last-child {\n    color: var(--success-600, #059669);\n}\n\n.total-row.saldo span:last-child {\n    color: var(--primary-600, #5a67d8);\n    font-weight: 600;\n}\n\n/* Responsive */\n@media (max-width: 1200px) {\n    .cxc-summary-cards {\n        grid-template-columns: repeat(2, 1fr);\n    }\n\n    .detalle-grid {\n        grid-template-columns: repeat(2, 1fr);\n    }\n}\n\n@media (max-width: 768px) {\n    .cxc-page {\n        padding: 1rem;\n    }\n\n    .cxc-summary-cards {\n        grid-template-columns: 1fr;\n    }\n\n    .search-filters {\n        flex-direction: column;\n        align-items: stretch;\n    }\n\n    .search-container {\n        min-width: auto;\n    }\n\n    .date-filters {\n        flex-wrap: wrap;\n    }\n\n    .cxc-table {\n        font-size: 0.8125rem;\n    }\n\n    .clientes-grid {\n        grid-template-columns: 1fr;\n    }\n\n    .detalle-grid {\n        grid-template-columns: 1fr;\n    }\n\n    .historial-resumen {\n        flex-direction: column;\n        gap: 1rem;\n    }\n}\n\n/* ================================================\n   RESUMEN POR CLIENTE TABLE STYLES\n   ================================================ */\n\n.resumen-table .text-center {\n    text-align: center;\n}\n\n.resumen-table .badge-cuentas {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    min-width: 28px;\n    height: 28px;\n    padding: 0 0.5rem;\n    background: var(--primary-100, #e0e7ff);\n    color: var(--primary-700, #4338ca);\n    border-radius: 14px;\n    font-size: 0.875rem;\n    font-weight: 600;\n}\n\n.resumen-table .total-pendiente {\n    font-weight: 700;\n    color: var(--primary-600, #5a67d8);\n}\n\n.resumen-table .monto.vencido {\n    color: var(--error-600, #dc2626);\n    font-weight: 600;\n}\n\n.resumen-table .credito-disponible {\n    color: var(--success-600, #059669);\n}\n\n.resumen-table .badge-vencidas {\n    display: inline-flex;\n    align-items: center;\n    gap: 0.25rem;\n    padding: 0.25rem 0.5rem;\n    background: rgba(239, 68, 68, 0.1);\n    color: var(--error-600, #dc2626);\n    border-radius: 4px;\n    font-size: 0.75rem;\n    font-weight: 600;\n}\n\n.resumen-table .badge-ok {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    color: var(--success-500, #22c55e);\n}\n\n.resumen-table tr.tiene-vencidas {\n    background: rgba(239, 68, 68, 0.03);\n}\n\n.resumen-table tr.tiene-vencidas:hover {\n    background: rgba(239, 68, 68, 0.06);\n}\n\n.resumen-table tfoot td {\n    background: var(--background-secondary, #f8fafc);\n    font-weight: 600;\n}\n\n.resumen-table tfoot .total-value {\n    font-size: 1rem;\n    color: var(--primary-600, #5a67d8);\n}\n\n.resumen-table tfoot .total-value.vencido {\n    color: var(--error-600, #dc2626);\n}\n\n/* ================================================\n   ABONO GLOBAL MODAL STYLES\n   ================================================ */\n\n.abono-global-modal {\n    display: flex;\n    flex-direction: column;\n    gap: 1.5rem;\n}\n\n/* Cliente Info Card */\n.abono-global-modal .cliente-info-card {\n    background: linear-gradient(135deg, var(--primary-50, #eef2ff) 0%, var(--primary-100, #e0e7ff) 100%);\n    border-radius: 12px;\n    padding: 1.25rem;\n}\n\n.abono-global-modal .cliente-header {\n    display: flex;\n    align-items: center;\n    gap: 1rem;\n    margin-bottom: 1rem;\n}\n\n.abono-global-modal .cliente-header svg {\n    color: var(--primary-600, #5a67d8);\n    background: white;\n    padding: 0.5rem;\n    border-radius: 50%;\n    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n}\n\n.abono-global-modal .cliente-header h4 {\n    margin: 0;\n    font-size: 1.125rem;\n    font-weight: 600;\n    color: var(--text-primary, #1e293b);\n}\n\n.abono-global-modal .cliente-header .comercial {\n    display: block;\n    font-size: 0.875rem;\n    color: var(--text-secondary, #64748b);\n}\n\n.abono-global-modal .cliente-stats {\n    display: flex;\n    gap: 2rem;\n}\n\n.abono-global-modal .cliente-stats .stat {\n    display: flex;\n    flex-direction: column;\n    gap: 0.25rem;\n}\n\n.abono-global-modal .cliente-stats .label {\n    font-size: 0.75rem;\n    color: var(--text-secondary, #64748b);\n}\n\n.abono-global-modal .cliente-stats .value {\n    font-size: 1.25rem;\n    font-weight: 700;\n    color: var(--text-primary, #1e293b);\n}\n\n.abono-global-modal .cliente-stats .stat.total .value {\n    color: var(--primary-600, #5a67d8);\n}\n\n/* Cuentas a Saldar */\n.cuentas-a-saldar {\n    background: var(--background-secondary, #f8fafc);\n    border-radius: 10px;\n    padding: 1rem;\n}\n\n.cuentas-a-saldar h4 {\n    margin: 0 0 1rem 0;\n    font-size: 0.875rem;\n    font-weight: 600;\n    color: var(--text-secondary, #64748b);\n}\n\n.cuentas-list {\n    display: flex;\n    flex-direction: column;\n    gap: 0.5rem;\n    max-height: 200px;\n    overflow-y: auto;\n}\n\n.cuenta-item {\n    display: flex;\n    align-items: center;\n    gap: 0.75rem;\n    padding: 0.75rem;\n    background: white;\n    border-radius: 8px;\n    border-left: 3px solid var(--border-color, #e2e8f0);\n}\n\n.cuenta-item.vencida {\n    border-left-color: var(--error-500, #ef4444);\n    background: rgba(239, 68, 68, 0.03);\n}\n\n.cuenta-item.proxima {\n    border-left-color: var(--warning-500, #f59e0b);\n    background: rgba(245, 158, 11, 0.03);\n}\n\n.cuenta-item.normal {\n    border-left-color: var(--success-500, #22c55e);\n}\n\n.cuenta-item .orden {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 24px;\n    height: 24px;\n    background: var(--primary-100, #e0e7ff);\n    color: var(--primary-700, #4338ca);\n    border-radius: 50%;\n    font-size: 0.75rem;\n    font-weight: 600;\n}\n\n.cuenta-item .cuenta-info {\n    flex: 1;\n    display: flex;\n    flex-direction: column;\n    gap: 0.125rem;\n}\n\n.cuenta-item .folio {\n    font-weight: 600;\n    color: var(--text-primary, #1e293b);\n    font-size: 0.875rem;\n}\n\n.cuenta-item .fecha {\n    font-size: 0.75rem;\n    color: var(--text-secondary, #64748b);\n}\n\n.cuenta-item .saldo {\n    font-weight: 600;\n    color: var(--text-primary, #1e293b);\n    font-size: 0.9375rem;\n}\n\n/* Abono Form */\n.abono-form {\n    display: flex;\n    flex-direction: column;\n    gap: 1rem;\n}\n\n.abono-form .form-row {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 1rem;\n}\n\n/* Distribucion Preview */\n.distribucion-preview {\n    background: rgba(102, 126, 234, 0.05);\n    border: 1px solid rgba(102, 126, 234, 0.2);\n    border-radius: 10px;\n    padding: 1rem;\n}\n\n.distribucion-preview h4 {\n    margin: 0 0 1rem 0;\n    font-size: 0.875rem;\n    font-weight: 600;\n    color: var(--primary-700, #4338ca);\n}\n\n.distribucion-table {\n    width: 100%;\n    border-collapse: collapse;\n}\n\n.distribucion-table th,\n.distribucion-table td {\n    padding: 0.625rem 0.75rem;\n    text-align: left;\n    border-bottom: 1px solid var(--border-color, #e2e8f0);\n    font-size: 0.875rem;\n}\n\n.distribucion-table th {\n    font-size: 0.75rem;\n    font-weight: 600;\n    color: var(--text-secondary, #64748b);\n    text-transform: uppercase;\n    background: rgba(255, 255, 255, 0.5);\n}\n\n.distribucion-table tr.will-liquidate {\n    background: rgba(34, 197, 94, 0.08);\n}\n\n.distribucion-table tr.liquidada {\n    background: rgba(34, 197, 94, 0.1);\n}\n\n.distribucion-table .aplicar,\n.distribucion-table .aplicado {\n    color: var(--success-600, #059669);\n    font-weight: 600;\n}\n\n.liquidada-text {\n    display: inline-flex;\n    align-items: center;\n    gap: 0.25rem;\n    color: var(--success-600, #059669);\n    font-weight: 600;\n    font-size: 0.8125rem;\n}\n\n.sobrante-warning {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    margin-top: 1rem;\n    padding: 0.75rem;\n    background: rgba(245, 158, 11, 0.1);\n    border-radius: 6px;\n    color: var(--warning-700, #b45309);\n    font-size: 0.875rem;\n    font-weight: 500;\n}\n\n/* Resultado Abono */\n.resultado-abono {\n    display: flex;\n    flex-direction: column;\n    gap: 1.5rem;\n}\n\n.resultado-header {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    gap: 0.75rem;\n    padding: 1.5rem;\n    text-align: center;\n}\n\n.resultado-header.success {\n    background: rgba(34, 197, 94, 0.1);\n    border-radius: 12px;\n}\n\n.resultado-header.success svg {\n    color: var(--success-600, #059669);\n}\n\n.resultado-header h3 {\n    margin: 0;\n    font-size: 1.25rem;\n    font-weight: 600;\n    color: var(--success-700, #15803d);\n}\n\n.resultado-resumen {\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    gap: 1rem;\n    padding: 1rem;\n    background: var(--background-secondary, #f8fafc);\n    border-radius: 10px;\n}\n\n.resultado-resumen .resumen-item {\n    display: flex;\n    flex-direction: column;\n    gap: 0.25rem;\n}\n\n.resultado-resumen .label {\n    font-size: 0.75rem;\n    color: var(--text-secondary, #64748b);\n}\n\n.resultado-resumen .value {\n    font-size: 1.125rem;\n    font-weight: 600;\n    color: var(--text-primary, #1e293b);\n}\n\n.resultado-resumen .resumen-item.sobrante .value {\n    color: var(--warning-600, #d97706);\n}\n\n.resultado-detalle {\n    background: var(--background-secondary, #f8fafc);\n    border-radius: 10px;\n    padding: 1rem;\n}\n\n.resultado-detalle h4 {\n    margin: 0 0 1rem 0;\n    font-size: 0.875rem;\n    font-weight: 600;\n    color: var(--text-secondary, #64748b);\n}\n\n.badge-liquidada {\n    display: inline-flex;\n    align-items: center;\n    gap: 0.25rem;\n    padding: 0.25rem 0.5rem;\n    background: rgba(34, 197, 94, 0.15);\n    color: var(--success-600, #059669);\n    border-radius: 4px;\n    font-size: 0.75rem;\n    font-weight: 600;\n}\n\n.badge-pendiente {\n    display: inline-block;\n    padding: 0.25rem 0.5rem;\n    background: rgba(100, 116, 139, 0.1);\n    color: var(--text-secondary, #64748b);\n    border-radius: 4px;\n    font-size: 0.75rem;\n    font-weight: 500;\n}\n\n/* Cliente Card Footer - two buttons */\n.cliente-card-footer {\n    display: flex;\n    gap: 0.5rem;\n    padding-top: 1rem;\n    border-top: 1px solid var(--border-color, #e2e8f0);\n}\n\n.cliente-card-footer button {\n    flex: 1;\n}\n\n/* Responsive for abono global */\n@media (max-width: 768px) {\n    .abono-form .form-row {\n        grid-template-columns: 1fr;\n    }\n\n    .resultado-resumen {\n        grid-template-columns: 1fr;\n    }\n\n    .abono-global-modal .cliente-stats {\n        flex-direction: column;\n        gap: 0.75rem;\n    }\n\n    .cuentas-list {\n        max-height: 150px;\n    }\n}\n\n/* ================================================\n   MODAL CUENTAS DEL CLIENTE\n   ================================================ */\n\n.cuentas-cliente-modal {\n    display: flex;\n    flex-direction: column;\n    gap: 1.5rem;\n}\n\n.cliente-resumen-header {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    padding: 1rem 1.25rem;\n    background: linear-gradient(135deg, var(--primary-50, #eef2ff) 0%, var(--primary-100, #e0e7ff) 100%);\n    border-radius: 12px;\n}\n\n.cliente-info-resumen {\n    display: flex;\n    align-items: center;\n    gap: 1rem;\n}\n\n.cliente-info-resumen svg {\n    color: var(--primary-600, #5a67d8);\n    background: white;\n    padding: 0.5rem;\n    border-radius: 50%;\n    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n}\n\n.cliente-info-resumen h4 {\n    margin: 0;\n    font-size: 1.125rem;\n    font-weight: 600;\n    color: var(--text-primary, #1e293b);\n}\n\n.cliente-info-resumen .comercial {\n    display: block;\n    font-size: 0.875rem;\n    color: var(--text-secondary, #64748b);\n}\n\n.cliente-totales {\n    display: flex;\n    gap: 1.5rem;\n}\n\n.cliente-totales .total-item {\n    display: flex;\n    flex-direction: column;\n    align-items: flex-end;\n    gap: 0.125rem;\n}\n\n.cliente-totales .total-item .label {\n    font-size: 0.75rem;\n    color: var(--text-secondary, #64748b);\n}\n\n.cliente-totales .total-item .value {\n    font-size: 1.25rem;\n    font-weight: 700;\n    color: var(--text-primary, #1e293b);\n}\n\n.cliente-totales .total-item.principal .value {\n    color: var(--primary-600, #5a67d8);\n}\n\n.cliente-totales .total-item.vencidas .value {\n    color: var(--error-600, #dc2626);\n}\n\n.cuentas-tabla-container {\n    max-height: 400px;\n    overflow-y: auto;\n    border: 1px solid var(--border-color, #e2e8f0);\n    border-radius: 8px;\n}\n\n.cuentas-cliente-table {\n    width: 100%;\n    border-collapse: collapse;\n}\n\n.cuentas-cliente-table th,\n.cuentas-cliente-table td {\n    padding: 0.75rem 1rem;\n    text-align: left;\n    border-bottom: 1px solid var(--border-color, #e2e8f0);\n}\n\n.cuentas-cliente-table th {\n    font-size: 0.75rem;\n    font-weight: 600;\n    color: var(--text-secondary, #64748b);\n    text-transform: uppercase;\n    background: var(--background-secondary, #f8fafc);\n    position: sticky;\n    top: 0;\n    z-index: 1;\n}\n\n.cuentas-cliente-table td {\n    font-size: 0.875rem;\n}\n\n.cuentas-cliente-table .folio {\n    font-weight: 600;\n    color: var(--primary-600, #5a67d8);\n}\n\n.cuentas-cliente-table .monto {\n    text-align: right;\n    font-weight: 500;\n}\n\n.cuentas-cliente-table .monto.saldo {\n    font-weight: 700;\n    color: var(--primary-600, #5a67d8);\n}\n\n.cuentas-cliente-table tr.vencida {\n    background: rgba(239, 68, 68, 0.04);\n}\n\n.cuentas-cliente-table tr:hover {\n    background: var(--background-secondary, #f8fafc);\n}\n\n.cuentas-cliente-table tr.vencida:hover {\n    background: rgba(239, 68, 68, 0.08);\n}\n\n.cuentas-cliente-table .acciones {\n    text-align: center;\n}\n\n.cuentas-cliente-table .acciones-btns {\n    display: flex;\n    justify-content: center;\n    gap: 0.5rem;\n}\n\n.action-btn.historial {\n    background: rgba(59, 130, 246, 0.1);\n    color: #2563eb;\n}\n\n.action-btn.historial:hover {\n    background: rgba(59, 130, 246, 0.2);\n}\n\n.empty-state.small {\n    padding: 2rem;\n}\n\n.empty-state.small svg {\n    color: var(--success-500, #22c55e);\n}\n\n.empty-state.small p {\n    margin: 0.5rem 0 0 0;\n    font-size: 0.875rem;\n}\n\n@media (max-width: 768px) {\n    .cliente-resumen-header {\n        flex-direction: column;\n        gap: 1rem;\n        align-items: flex-start;\n    }\n\n    .cliente-totales {\n        width: 100%;\n        justify-content: space-between;\n    }\n\n    .cliente-totales .total-item {\n        align-items: flex-start;\n    }\n\n    .cuentas-tabla-container {\n        max-height: 300px;\n    }\n}\n",".route-map-modal {\n  display: flex;\n  flex-direction: column;\n  height: 70vh;\n  min-height: 400px;\n  gap: 1rem;\n}\n\n.map-loading {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  height: 100%;\n  color: #6b7280;\n  gap: 1rem;\n}\n\n.map-loading .loading-spinner {\n  width: 40px;\n  height: 40px;\n  border: 3px solid #e5e7eb;\n  border-top-color: #667eea;\n  border-radius: 50%;\n  animation: spin 1s linear infinite;\n}\n\n@keyframes spin {\n  to { transform: rotate(360deg); }\n}\n\n.route-map-container {\n  flex: 1;\n  border-radius: 8px;\n  overflow: hidden;\n  border: 1px solid #e5e7eb;\n  min-height: 300px;\n}\n\n/* Lista de paradas */\n.route-stops-list {\n  background: #f9fafb;\n  border-radius: 8px;\n  padding: 0.75rem;\n  max-height: 150px;\n  display: flex;\n  flex-direction: column;\n}\n\n.route-stops-list h4 {\n  margin: 0 0 0.5rem 0;\n  font-size: 13px;\n  font-weight: 600;\n  color: #374151;\n}\n\n.stops-scroll {\n  display: flex;\n  gap: 0.5rem;\n  overflow-x: auto;\n  padding-bottom: 0.25rem;\n}\n\n.stop-item {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  padding: 0.5rem 0.75rem;\n  background: white;\n  border: 1px solid #e5e7eb;\n  border-radius: 6px;\n  cursor: pointer;\n  transition: all 0.2s;\n  min-width: 180px;\n  flex-shrink: 0;\n}\n\n.stop-item:hover {\n  border-color: #667eea;\n  background: #f0f4ff;\n}\n\n.stop-item.selected {\n  border-color: #667eea;\n  background: #eff6ff;\n  box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.2);\n}\n\n.stop-item.no-coords {\n  opacity: 0.6;\n  cursor: default;\n}\n\n.stop-item.no-coords:hover {\n  border-color: #e5e7eb;\n  background: white;\n}\n\n.stop-number {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 24px;\n  height: 24px;\n  background: #667eea;\n  color: white;\n  border-radius: 50%;\n  font-size: 11px;\n  font-weight: 600;\n  flex-shrink: 0;\n}\n\n.stop-info {\n  display: flex;\n  flex-direction: column;\n  gap: 0.125rem;\n  min-width: 0;\n  flex: 1;\n}\n\n.stop-cliente {\n  font-size: 12px;\n  font-weight: 500;\n  color: #374151;\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n\n.stop-direccion {\n  font-size: 11px;\n  color: #6b7280;\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  max-width: 140px;\n}\n\n.no-coords-badge {\n  color: #f59e0b;\n  flex-shrink: 0;\n}\n\n/* Aviso de sin coordenadas */\n.no-coords-warning {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  padding: 0.5rem 0.75rem;\n  background: #fef3c7;\n  border: 1px solid #f59e0b;\n  border-radius: 6px;\n  font-size: 12px;\n  color: #92400e;\n}\n\n/* Leyenda */\n.route-map-legend {\n  display: flex;\n  gap: 1.5rem;\n  justify-content: center;\n  padding: 0.5rem;\n  background: #f9fafb;\n  border-radius: 6px;\n}\n\n.legend-item {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  font-size: 12px;\n  color: #6b7280;\n}\n\n.legend-marker {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 20px;\n  height: 20px;\n  background: #667eea;\n  color: white;\n  border-radius: 50%;\n  font-size: 10px;\n  font-weight: 600;\n}\n\n.legend-marker.origin {\n  background: #1f2937;\n  font-size: 12px;\n}\n\n/* InfoWindow styles */\n.marker-info {\n  padding: 0.25rem;\n  min-width: 150px;\n}\n\n.marker-info-header {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  margin-bottom: 0.25rem;\n}\n\n.marker-orden {\n  background: #667eea;\n  color: white;\n  padding: 0.125rem 0.375rem;\n  border-radius: 4px;\n  font-size: 11px;\n  font-weight: 600;\n}\n\n.marker-folio {\n  font-size: 11px;\n  color: #6b7280;\n}\n\n.marker-info-cliente {\n  font-size: 13px;\n  font-weight: 600;\n  color: #374151;\n  margin-bottom: 0.25rem;\n}\n\n.marker-info-direccion {\n  font-size: 11px;\n  color: #6b7280;\n  line-height: 1.3;\n}\n\n/* Responsive */\n@media (max-width: 768px) {\n  .route-map-modal {\n    height: 60vh;\n  }\n\n  .route-stops-list {\n    max-height: 120px;\n  }\n\n  .stop-item {\n    min-width: 150px;\n  }\n\n  .route-map-legend {\n    gap: 1rem;\n    flex-wrap: wrap;\n  }\n}\n",".caratula-page {\n  display: flex;\n  flex-direction: column;\n  gap: 1.25rem;\n  height: 100%;\n  padding: 1rem;\n}\n\n/* Controles superiores */\n.caratula-controls {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  gap: 1rem;\n  padding: 1rem;\n  background: white;\n  border-radius: 8px;\n  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n}\n\n.caratula-fechas {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  color: #374151;\n}\n\n.caratula-fechas .fecha-label {\n  font-size: 14px;\n  font-weight: 500;\n  color: #6b7280;\n}\n\n.caratula-fechas .date-input {\n  padding: 0.5rem 0.75rem;\n  border: 1px solid #e5e7eb;\n  border-radius: 6px;\n  font-size: 14px;\n  color: #374151;\n}\n\n.caratula-fechas .date-input:focus {\n  outline: none;\n  border-color: #667eea;\n}\n\n.fecha-separador {\n  color: #6b7280;\n  font-size: 14px;\n}\n\n/* Estado de carga */\n.loading-state {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  padding: 3rem;\n  color: #6b7280;\n}\n\n.loading-spinner {\n  width: 40px;\n  height: 40px;\n  border: 3px solid #e5e7eb;\n  border-top-color: #667eea;\n  border-radius: 50%;\n  animation: spin 1s linear infinite;\n}\n\n@keyframes spin {\n  to { transform: rotate(360deg); }\n}\n\n/* Contenido principal */\n.caratula-content {\n  display: grid;\n  grid-template-columns: 350px 1fr;\n  gap: 1.25rem;\n  flex: 1;\n  min-height: 0;\n}\n\n/* Paneles */\n.caratula-panel {\n  background: white;\n  border-radius: 8px;\n  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n  display: flex;\n  flex-direction: column;\n  overflow: hidden;\n}\n\n.panel-header {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  padding: 1rem;\n  border-bottom: 1px solid #e5e7eb;\n  background: #f9fafb;\n}\n\n.panel-header h3 {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  margin: 0;\n  font-size: 1rem;\n  font-weight: 600;\n  color: #374151;\n}\n\n/* Filtro de fecha en panel de rutas */\n.rutas-date-filter {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  color: #6b7280;\n}\n\n.rutas-date-filter .date-input-small {\n  padding: 0.375rem 0.5rem;\n  border: 1px solid #e5e7eb;\n  border-radius: 6px;\n  font-size: 13px;\n  color: #374151;\n  background: white;\n  cursor: pointer;\n}\n\n.rutas-date-filter .date-input-small:hover {\n  border-color: #d1d5db;\n}\n\n.rutas-date-filter .date-input-small:focus {\n  outline: none;\n  border-color: #667eea;\n  box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.2);\n}\n\n.select-all-btn {\n  padding: 0.25rem 0.75rem;\n  background: transparent;\n  border: 1px solid #e5e7eb;\n  border-radius: 4px;\n  font-size: 12px;\n  color: #6b7280;\n  cursor: pointer;\n  transition: all 0.2s;\n}\n\n.select-all-btn:hover {\n  background: #f3f4f6;\n  border-color: #d1d5db;\n}\n\n.panel-content {\n  flex: 1;\n  overflow-y: auto;\n  padding: 1rem;\n}\n\n/* Estado vacío */\n.empty-state {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  padding: 2rem;\n  color: #9ca3af;\n  text-align: center;\n  gap: 0.75rem;\n}\n\n.empty-state p {\n  margin: 0;\n  font-size: 14px;\n}\n\n/* Lista de pedidos sin ruta */\n.pedidos-list {\n  display: flex;\n  flex-direction: column;\n  gap: 0.5rem;\n}\n\n.pedido-card {\n  display: flex;\n  align-items: flex-start;\n  gap: 0.5rem;\n  padding: 0.75rem;\n  background: #f9fafb;\n  border: 1px solid #e5e7eb;\n  border-radius: 6px;\n  cursor: pointer;\n  transition: all 0.2s;\n}\n\n.pedido-card:hover {\n  background: #f3f4f6;\n  border-color: #d1d5db;\n}\n\n.pedido-card.selected {\n  background: #eff6ff;\n  border-color: #3b82f6;\n}\n\n.pedido-card.dragging {\n  opacity: 0.5;\n  border-color: #667eea;\n  background: #f0f4ff;\n}\n\n.drag-handle-sinruta {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  padding: 0.25rem;\n  color: #9ca3af;\n  cursor: grab;\n  border-radius: 4px;\n  transition: all 0.15s;\n  flex-shrink: 0;\n}\n\n.drag-handle-sinruta:hover {\n  background: #e5e7eb;\n  color: #6b7280;\n}\n\n.drag-handle-sinruta:active {\n  cursor: grabbing;\n}\n\n.pedido-card input[type=\"checkbox\"] {\n  margin-top: 2px;\n  cursor: pointer;\n}\n\n.pedido-info {\n  display: flex;\n  flex-direction: column;\n  gap: 0.25rem;\n  flex: 1;\n  min-width: 0;\n}\n\n.pedido-folio {\n  font-weight: 600;\n  color: #374151;\n  font-size: 13px;\n}\n\n.pedido-cliente {\n  font-size: 13px;\n  color: #6b7280;\n}\n\n.pedido-direccion {\n  display: flex;\n  align-items: flex-start;\n  gap: 0.25rem;\n  font-size: 12px;\n  color: #9ca3af;\n  line-height: 1.3;\n}\n\n.pedido-direccion svg {\n  flex-shrink: 0;\n  margin-top: 2px;\n}\n\n/* Acciones del panel de pedidos sin ruta */\n.panel-actions {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 1rem;\n  padding: 1rem;\n  border-top: 1px solid #e5e7eb;\n  background: #f9fafb;\n}\n\n.selected-count {\n  font-size: 13px;\n  font-weight: 500;\n  color: #374151;\n}\n\n.agregar-a-ruta {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n}\n\n.agregar-a-ruta select {\n  padding: 0.5rem 0.75rem;\n  border: 1px solid #e5e7eb;\n  border-radius: 6px;\n  font-size: 13px;\n  color: #374151;\n  background: white;\n  min-width: 150px;\n}\n\n/* Panel de rutas */\n.rutas-content {\n  display: flex;\n  flex-direction: column;\n  gap: 1rem;\n}\n\n.ruta-card {\n  background: #f9fafb;\n  border: 1px solid #e5e7eb;\n  border-radius: 8px;\n  overflow: hidden;\n}\n\n.ruta-header {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  padding: 0.75rem 1rem;\n  background: #667eea;\n  color: white;\n}\n\n.ruta-info h4 {\n  margin: 0;\n  font-size: 14px;\n  font-weight: 600;\n}\n\n.ruta-count {\n  font-size: 12px;\n  opacity: 0.9;\n}\n\n.ruta-fecha {\n  font-size: 11px;\n  opacity: 0.8;\n  background: rgba(255, 255, 255, 0.2);\n  padding: 2px 6px;\n  border-radius: 3px;\n}\n\n.ruta-actions {\n  display: flex;\n  gap: 0.5rem;\n}\n\n.ruta-action-btn {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 28px;\n  height: 28px;\n  background: rgba(255, 255, 255, 0.2);\n  border: none;\n  border-radius: 4px;\n  color: white;\n  cursor: pointer;\n  transition: all 0.2s;\n}\n\n.ruta-action-btn:hover {\n  background: rgba(255, 255, 255, 0.3);\n}\n\n.ruta-action-btn:disabled {\n  opacity: 0.5;\n  cursor: not-allowed;\n}\n\n.ruta-action-btn.delete:hover {\n  background: #ef4444;\n}\n\n.ruta-action-btn.map:hover {\n  background: rgba(255, 255, 255, 0.4);\n}\n\n.ruta-action-btn.optimize {\n  background: rgba(16, 185, 129, 0.3);\n}\n\n.ruta-action-btn.optimize:hover {\n  background: rgba(16, 185, 129, 0.5);\n}\n\n.ruta-action-btn.optimize.optimizing {\n  background: rgba(255, 255, 255, 0.3);\n  cursor: wait;\n}\n\n.ruta-action-btn .btn-spinner {\n  width: 14px;\n  height: 14px;\n  border: 2px solid rgba(255, 255, 255, 0.3);\n  border-top-color: white;\n  border-radius: 50%;\n  animation: spin 0.8s linear infinite;\n}\n\n/* Pedidos dentro de una ruta */\n.ruta-pedidos {\n  min-height: 60px;\n  padding: 0.5rem;\n  transition: background 0.2s;\n}\n\n.ruta-pedidos.dragging-over {\n  background: #eff6ff;\n}\n\n.ruta-pedido-item {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  padding: 0.75rem;\n  background: white;\n  border: 1px solid #e5e7eb;\n  border-radius: 6px;\n  margin-bottom: 0.5rem;\n  transition: all 0.2s;\n}\n\n.ruta-pedido-item:last-child {\n  margin-bottom: 0;\n}\n\n.ruta-pedido-item:hover {\n  border-color: #d1d5db;\n}\n\n.drag-handle {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  padding: 0.25rem;\n  color: #9ca3af;\n  cursor: grab;\n  border-radius: 4px;\n  transition: all 0.15s;\n}\n\n.drag-handle:hover {\n  background: #f3f4f6;\n  color: #6b7280;\n}\n\n.drag-handle:active {\n  cursor: grabbing;\n}\n\n.ruta-pedido-item.dragging {\n  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n  border-color: #667eea;\n  background: #f8fafc;\n}\n\n.pedido-orden {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 24px;\n  height: 24px;\n  background: #667eea;\n  color: white;\n  border-radius: 50%;\n  font-size: 12px;\n  font-weight: 600;\n  flex-shrink: 0;\n}\n\n.pedido-datos {\n  display: flex;\n  flex-direction: column;\n  gap: 0.125rem;\n  flex: 1;\n  min-width: 0;\n}\n\n.pedido-datos .pedido-folio {\n  font-size: 12px;\n}\n\n.pedido-datos .pedido-cliente {\n  font-size: 13px;\n  font-weight: 500;\n  color: #374151;\n}\n\n.pedido-datos .pedido-direccion {\n  font-size: 11px;\n}\n\n.quitar-pedido-btn {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 24px;\n  height: 24px;\n  background: transparent;\n  border: none;\n  border-radius: 4px;\n  color: #9ca3af;\n  cursor: pointer;\n  transition: all 0.2s;\n}\n\n.quitar-pedido-btn:hover {\n  background: #fee2e2;\n  color: #ef4444;\n}\n\n/* Modal crear ruta */\n.crear-ruta-form {\n  display: flex;\n  flex-direction: column;\n  gap: 1rem;\n  padding: 0.5rem;\n}\n\n.crear-ruta-form .form-group {\n  display: flex;\n  flex-direction: column;\n  gap: 0.5rem;\n}\n\n.crear-ruta-form label {\n  font-size: 13px;\n  font-weight: 500;\n  color: #374151;\n}\n\n.crear-ruta-form input {\n  padding: 0.75rem;\n  border: 1px solid #e5e7eb;\n  border-radius: 6px;\n  font-size: 14px;\n  color: #374151;\n  transition: border-color 0.2s;\n}\n\n.crear-ruta-form input:focus {\n  outline: none;\n  border-color: #667eea;\n}\n\n.crear-ruta-form input.date-disabled {\n  background: #f9fafb;\n  color: #6b7280;\n}\n\n.form-actions {\n  display: flex;\n  justify-content: flex-end;\n  gap: 0.75rem;\n  margin-top: 0.5rem;\n}\n\n/* Responsive */\n@media (max-width: 900px) {\n  .caratula-content {\n    grid-template-columns: 1fr;\n    grid-template-rows: auto 1fr;\n  }\n\n  .pedidos-sin-ruta {\n    max-height: 300px;\n  }\n}\n\n@media (max-width: 600px) {\n  .caratula-controls {\n    flex-direction: column;\n    align-items: stretch;\n  }\n\n  .panel-actions {\n    flex-direction: column;\n    gap: 0.75rem;\n  }\n\n  .agregar-a-ruta {\n    width: 100%;\n  }\n\n  .agregar-a-ruta select {\n    flex: 1;\n  }\n}\n\n/* Drag preview */\n.drag-preview {\n  display: flex;\n  flex-direction: column;\n  gap: 0.25rem;\n  padding: 0.75rem 1rem;\n  background: white;\n  border: 2px solid #667eea;\n  border-radius: 6px;\n  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);\n  min-width: 180px;\n}\n\n.drag-preview .pedido-folio {\n  font-weight: 600;\n  color: #667eea;\n  font-size: 13px;\n}\n\n.drag-preview .pedido-cliente {\n  font-size: 12px;\n  color: #374151;\n}\n\n/* Mejora del estado vacío de ruta para drag */\n.ruta-empty {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  padding: 1.5rem;\n  color: #9ca3af;\n  font-size: 13px;\n  border: 2px dashed #e5e7eb;\n  border-radius: 6px;\n  margin: 0.5rem;\n  gap: 0.5rem;\n  transition: all 0.2s;\n}\n\n.ruta-pedidos.dragging-over .ruta-empty {\n  border-color: #667eea;\n  background: #f0f4ff;\n  color: #667eea;\n}\n",".corte-caja-page {\n    padding: 1.5rem;\n    max-width: 100%;\n}\n\n.corte-header {\n    margin-bottom: 1.5rem;\n}\n\n.corte-header h1 {\n    font-size: 1.5rem;\n    font-weight: 600;\n    color: #1e293b;\n    margin: 0 0 0.25rem 0;\n}\n\n.corte-subtitle {\n    color: #64748b;\n    font-size: 0.875rem;\n    margin: 0;\n}\n\n/* Panel de totales */\n.totales-panel {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(12.5rem, 1fr));\n    gap: 1rem;\n    margin-bottom: 1.5rem;\n}\n\n.total-card {\n    display: flex;\n    align-items: center;\n    gap: 1rem;\n    background: white;\n    border-radius: 0.75rem;\n    padding: 1rem 1.25rem;\n    box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.1);\n    border-left: 0.25rem solid;\n}\n\n.total-card.efectivo {\n    border-left-color: #22c55e;\n}\n\n.total-card.efectivo .total-icon {\n    background: rgba(34, 197, 94, 0.1);\n    color: #22c55e;\n}\n\n.total-card.tarjeta {\n    border-left-color: #3b82f6;\n}\n\n.total-card.tarjeta .total-icon {\n    background: rgba(59, 130, 246, 0.1);\n    color: #3b82f6;\n}\n\n.total-card.transferencia {\n    border-left-color: #3b82f6;\n}\n\n.total-card.transferencia .total-icon {\n    background: rgba(59, 130, 246, 0.1);\n    color: #3b82f6;\n}\n\n.total-card.total {\n    border-left-color: #3b82f6;\n}\n\n.total-card.total .total-icon {\n    background: rgba(59, 130, 246, 0.1);\n    color: #3b82f6;\n}\n\n.total-icon {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 3rem;\n    height: 3rem;\n    border-radius: 0.625rem;\n}\n\n.total-info {\n    display: flex;\n    flex-direction: column;\n    gap: 0.125rem;\n}\n\n.total-label {\n    font-size: 0.75rem;\n    color: #64748b;\n    text-transform: uppercase;\n    letter-spacing: 0.025rem;\n}\n\n.total-value {\n    font-size: 1.25rem;\n    font-weight: 700;\n    color: #1e293b;\n}\n\n/* Contenedor principal */\n.corte-content {\n    display: grid;\n    grid-template-columns: 1fr minmax(18.75rem, 22rem);\n    gap: 1.5rem;\n    margin-bottom: 2rem;\n}\n\n/* Sección de Arqueo */\n.arqueo-section {\n    background: white;\n    border-radius: 0.75rem;\n    padding: 1.5rem;\n    box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.1);\n}\n\n.arqueo-section h2 {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    font-size: 1.125rem;\n    font-weight: 600;\n    color: #1e293b;\n    margin: 0 0 1.25rem 0;\n}\n\n.arqueo-grid {\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    gap: 1.5rem;\n    margin-bottom: 1.25rem;\n}\n\n.denominaciones-box {\n    background: #f8fafc;\n    border-radius: 0.5rem;\n    padding: 1rem;\n}\n\n.denominaciones-box h3 {\n    font-size: 0.875rem;\n    font-weight: 600;\n    color: #475569;\n    margin: 0 0 0.75rem 0;\n    text-transform: uppercase;\n    letter-spacing: 0.025rem;\n}\n\n.denominaciones-list {\n    display: flex;\n    flex-direction: column;\n    gap: 0.5rem;\n}\n\n.denominacion-row {\n    display: grid;\n    grid-template-columns: 4rem 4rem 1fr;\n    gap: 0.75rem;\n    align-items: center;\n}\n\n.denominacion-label {\n    font-size: 0.875rem;\n    font-weight: 600;\n    color: #1e293b;\n}\n\n.denominacion-input {\n    width: 100%;\n    padding: 0.375rem 0.5rem;\n    border: 0.0625rem solid #e2e8f0;\n    border-radius: 0.375rem;\n    font-size: 0.875rem;\n    text-align: center;\n    transition: border-color 0.2s;\n}\n\n.denominacion-input:focus {\n    outline: none;\n    border-color: #3b82f6;\n    box-shadow: 0 0 0 0.125rem rgba(59, 130, 246, 0.1);\n}\n\n.denominacion-input::-webkit-inner-spin-button,\n.denominacion-input::-webkit-outer-spin-button {\n    -webkit-appearance: none;\n    margin: 0;\n}\n\n.denominacion-subtotal {\n    font-size: 0.8125rem;\n    color: #64748b;\n    text-align: right;\n}\n\n.denominaciones-total {\n    display: flex;\n    justify-content: space-between;\n    margin-top: 0.75rem;\n    padding-top: 0.75rem;\n    border-top: 0.0625rem dashed #cbd5e1;\n    font-weight: 600;\n    font-size: 0.9375rem;\n    color: #1e293b;\n}\n\n.arqueo-total-box {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);\n    border-radius: 0.5rem;\n    padding: 1rem 1.25rem;\n    color: white;\n    font-weight: 600;\n    margin-bottom: 1rem;\n}\n\n.arqueo-total-value {\n    font-size: 1.5rem;\n    font-weight: 700;\n}\n\n.btn-limpiar {\n    width: 100%;\n    padding: 0.625rem;\n    background: transparent;\n    border: 0.0625rem solid #e2e8f0;\n    border-radius: 0.5rem;\n    color: #64748b;\n    font-size: 0.875rem;\n    cursor: pointer;\n    transition: all 0.2s;\n}\n\n.btn-limpiar:hover {\n    background: #f1f5f9;\n    border-color: #cbd5e1;\n    color: #475569;\n}\n\n/* Formulario de corte */\n.corte-form-section {\n    background: white;\n    border-radius: 0.75rem;\n    padding: 1.5rem;\n    box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.1);\n}\n\n.corte-form-section h2 {\n    font-size: 1.125rem;\n    font-weight: 600;\n    color: #1e293b;\n    margin: 0 0 1.25rem 0;\n}\n\n.corte-form {\n    display: flex;\n    flex-direction: column;\n    gap: 1rem;\n}\n\n.corte-form .form-group {\n    display: flex;\n    flex-direction: column;\n    gap: 0.375rem;\n}\n\n.corte-form label {\n    font-size: 0.8125rem;\n    font-weight: 500;\n    color: #374151;\n}\n\n.corte-form textarea {\n    width: 100%;\n    padding: 0.625rem;\n    border: 0.0625rem solid #e2e8f0;\n    border-radius: 0.5rem;\n    font-size: 0.875rem;\n    resize: vertical;\n    font-family: inherit;\n}\n\n.corte-form textarea:focus {\n    outline: none;\n    border-color: #3b82f6;\n    box-shadow: 0 0 0 0.1875rem rgba(59, 130, 246, 0.1);\n}\n\n/* Caja de cálculos */\n.calculo-box {\n    background: #f8fafc;\n    border: 0.0625rem solid #e2e8f0;\n    border-radius: 0.5rem;\n    padding: 1rem;\n}\n\n.calculo-row {\n    display: flex;\n    justify-content: space-between;\n    padding: 0.375rem 0;\n    font-size: 0.875rem;\n    color: #475569;\n}\n\n.calculo-row.esperado {\n    border-top: 0.0625rem dashed #cbd5e1;\n    padding-top: 0.625rem;\n    margin-top: 0.375rem;\n    font-weight: 600;\n    color: #1e293b;\n}\n\n.calculo-row.contado {\n    color: #1e293b;\n}\n\n.calculo-row.diferencia {\n    border-top: 0.125rem solid #e2e8f0;\n    padding-top: 0.625rem;\n    margin-top: 0.375rem;\n    font-weight: 700;\n    font-size: 1rem;\n}\n\n.calculo-row.diferencia.positiva {\n    color: #22c55e;\n}\n\n.calculo-row.diferencia.negativa {\n    color: #ef4444;\n}\n\n.btn-hacer-corte {\n    margin-top: 0.5rem;\n    background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 0.5rem;\n}\n\n/* Sección de ventas */\n.ventas-section {\n    background: white;\n    border-radius: 0.75rem;\n    padding: 1.5rem;\n    box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.1);\n}\n\n.ventas-section h2 {\n    font-size: 1.125rem;\n    font-weight: 600;\n    color: #1e293b;\n    margin: 0 0 1rem 0;\n}\n\n.empty-state {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    padding: 3rem;\n    color: #94a3b8;\n    text-align: center;\n}\n\n.empty-state svg {\n    margin-bottom: 1rem;\n    opacity: 0.5;\n}\n\n.ventas-table-container {\n    max-height: 25rem;\n    overflow-y: auto;\n}\n\n.ventas-table {\n    width: 100%;\n    border-collapse: collapse;\n}\n\n.ventas-table th,\n.ventas-table td {\n    padding: 0.75rem;\n    text-align: left;\n    border-bottom: 0.0625rem solid #f1f5f9;\n    font-size: 0.875rem;\n}\n\n.ventas-table th {\n    background: #f8fafc;\n    font-weight: 600;\n    color: #475569;\n    position: sticky;\n    top: 0;\n}\n\n.ventas-table td.folio {\n    font-family: monospace;\n    font-weight: 600;\n    color: #3b82f6;\n}\n\n.ventas-table td.total {\n    font-weight: 600;\n    color: #1e293b;\n}\n\n.metodo-badge {\n    display: inline-block;\n    padding: 0.25rem 0.5rem;\n    border-radius: 0.25rem;\n    font-size: 0.75rem;\n    font-weight: 500;\n}\n\n.metodo-badge.efectivo {\n    background: rgba(34, 197, 94, 0.1);\n    color: #16a34a;\n}\n\n.metodo-badge.tarjeta {\n    background: rgba(59, 130, 246, 0.1);\n    color: #2563eb;\n}\n\n.metodo-badge.transferencia {\n    background: rgba(59, 130, 246, 0.1);\n    color: #2563eb;\n}\n\n.metodo-badge.mixto {\n    background: rgba(245, 158, 11, 0.1);\n    color: #d97706;\n}\n\n/* Historial */\n.historial-section {\n    background: white;\n    border-radius: 0.75rem;\n    padding: 1.5rem;\n    box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.1);\n}\n\n.historial-section h2 {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    font-size: 1.125rem;\n    font-weight: 600;\n    color: #1e293b;\n    margin: 0 0 1rem 0;\n}\n\n.no-historial {\n    color: #94a3b8;\n    text-align: center;\n    padding: 2rem;\n}\n\n.historial-table-container {\n    overflow-x: auto;\n}\n\n.historial-table {\n    width: 100%;\n    border-collapse: collapse;\n}\n\n.historial-table th,\n.historial-table td {\n    padding: 0.75rem;\n    text-align: left;\n    border-bottom: 0.0625rem solid #f1f5f9;\n    font-size: 0.875rem;\n}\n\n.historial-table th {\n    background: #f8fafc;\n    font-weight: 600;\n    color: #475569;\n}\n\n.historial-table .diferencia-ok {\n    color: #22c55e;\n    font-weight: 600;\n}\n\n.historial-table .diferencia-mal {\n    color: #ef4444;\n    font-weight: 600;\n}\n\n.historial-table .acciones {\n    display: flex;\n    gap: 0.5rem;\n}\n\n.btn-icon {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 2rem;\n    height: 2rem;\n    border: none;\n    border-radius: 0.375rem;\n    background: #f1f5f9;\n    color: #64748b;\n    cursor: pointer;\n    transition: all 0.2s;\n}\n\n.btn-icon:hover {\n    background: #3b82f6;\n    color: white;\n}\n\n/* Modal de confirmación */\n.confirm-modal-content {\n    padding: 1.5rem;\n}\n\n.confirm-summary {\n    background: #f8fafc;\n    border-radius: 0.5rem;\n    padding: 1rem;\n    margin-bottom: 1rem;\n}\n\n.summary-row {\n    display: flex;\n    justify-content: space-between;\n    padding: 0.375rem 0;\n    font-size: 0.875rem;\n}\n\n.summary-row.diferencia {\n    border-top: 0.125rem solid #e2e8f0;\n    margin-top: 0.5rem;\n    padding-top: 0.625rem;\n    font-weight: 700;\n    font-size: 1rem;\n}\n\n.summary-row.diferencia.positiva {\n    color: #22c55e;\n}\n\n.summary-row.diferencia.negativa {\n    color: #ef4444;\n}\n\n.alert-box {\n    display: flex;\n    align-items: center;\n    gap: 0.75rem;\n    padding: 1rem;\n    border-radius: 0.5rem;\n    margin-bottom: 1rem;\n}\n\n.alert-box.alert-danger {\n    background: rgba(239, 68, 68, 0.1);\n    color: #dc2626;\n}\n\n.alert-box.alert-warning {\n    background: rgba(245, 158, 11, 0.1);\n    color: #d97706;\n}\n\n.confirm-actions {\n    display: flex;\n    justify-content: flex-end;\n    gap: 0.75rem;\n    margin-top: 1.5rem;\n}\n\n/* Modal de detalle */\n.detalle-modal-content {\n    padding: 1.5rem;\n}\n\n.detalle-info {\n    margin-bottom: 1.5rem;\n}\n\n.info-grid {\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    gap: 1rem;\n    margin-bottom: 1.25rem;\n}\n\n.info-item {\n    display: flex;\n    flex-direction: column;\n    gap: 0.25rem;\n}\n\n.info-label {\n    font-size: 0.75rem;\n    color: #64748b;\n    text-transform: uppercase;\n}\n\n.info-value {\n    font-size: 0.9375rem;\n    color: #1e293b;\n    font-weight: 500;\n}\n\n.totales-detalle,\n.arqueo-detalle {\n    background: #f8fafc;\n    border-radius: 0.5rem;\n    padding: 1rem;\n    margin-bottom: 1rem;\n}\n\n.total-item,\n.arqueo-item {\n    display: flex;\n    justify-content: space-between;\n    padding: 0.375rem 0;\n    font-size: 0.875rem;\n}\n\n.total-item.total,\n.arqueo-item.diferencia {\n    border-top: 0.0625rem solid #e2e8f0;\n    margin-top: 0.375rem;\n    padding-top: 0.5rem;\n    font-weight: 600;\n}\n\n.arqueo-item.diferencia.positiva {\n    color: #22c55e;\n}\n\n.arqueo-item.diferencia.negativa {\n    color: #ef4444;\n}\n\n.observaciones-detalle {\n    background: #fefce8;\n    border: 0.0625rem solid #fde047;\n    border-radius: 0.5rem;\n    padding: 1rem;\n    margin-top: 1rem;\n}\n\n.observaciones-detalle strong {\n    display: block;\n    margin-bottom: 0.375rem;\n    color: #854d0e;\n}\n\n.observaciones-detalle p {\n    margin: 0;\n    color: #713f12;\n    font-size: 0.875rem;\n}\n\n.ventas-detalle {\n    margin-top: 1.5rem;\n    border-top: 0.0625rem solid #e2e8f0;\n    padding-top: 1.25rem;\n}\n\n.ventas-detalle h3 {\n    font-size: 0.9375rem;\n    font-weight: 600;\n    color: #1e293b;\n    margin: 0 0 1rem 0;\n}\n\n.ventas-table-mini {\n    width: 100%;\n    border-collapse: collapse;\n    font-size: 0.8125rem;\n}\n\n.ventas-table-mini th,\n.ventas-table-mini td {\n    padding: 0.5rem;\n    text-align: left;\n    border-bottom: 0.0625rem solid #f1f5f9;\n}\n\n.ventas-table-mini th {\n    background: #f8fafc;\n    font-weight: 600;\n    color: #475569;\n}\n\n.detalle-actions {\n    display: flex;\n    justify-content: flex-end;\n    gap: 0.75rem;\n    margin-top: 1.5rem;\n    padding-top: 1rem;\n    border-top: 0.0625rem solid #e2e8f0;\n}\n\n/* Responsive */\n@media (max-width: 64rem) {\n    .corte-content {\n        grid-template-columns: 1fr;\n    }\n\n    .arqueo-section {\n        order: -1;\n    }\n}\n\n@media (max-width: 48rem) {\n    .totales-panel {\n        grid-template-columns: repeat(2, 1fr);\n    }\n\n    .arqueo-grid {\n        grid-template-columns: 1fr;\n    }\n\n    .info-grid {\n        grid-template-columns: 1fr;\n    }\n}\n",".mini-rich-editor {\n  border: 1px solid #d1d5db;\n  border-radius: 6px;\n  overflow: hidden;\n  background: white;\n}\n\n.mini-rich-toolbar {\n  display: flex;\n  align-items: center;\n  gap: 2px;\n  padding: 4px 6px;\n  background: #f9fafb;\n  border-bottom: 1px solid #e5e7eb;\n  flex-wrap: wrap;\n}\n\n.mini-rich-toolbar button {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 26px;\n  height: 26px;\n  border: none;\n  background: transparent;\n  border-radius: 4px;\n  cursor: pointer;\n  font-size: 13px;\n  color: #374151;\n  transition: background 0.15s;\n}\n\n.mini-rich-toolbar button:hover {\n  background: #e5e7eb;\n}\n\n.mini-rich-toolbar button:active {\n  background: #d1d5db;\n}\n\n.mini-rich-toolbar select {\n  height: 26px;\n  border: 1px solid #d1d5db;\n  border-radius: 4px;\n  background: white;\n  font-size: 11px;\n  color: #374151;\n  cursor: pointer;\n  padding: 0 4px;\n}\n\n.mini-rich-separator {\n  width: 1px;\n  height: 18px;\n  background: #d1d5db;\n  margin: 0 3px;\n}\n\n.mini-rich-content {\n  padding: 8px 10px;\n  font-size: 13px;\n  line-height: 1.5;\n  color: #1f2937;\n  outline: none;\n  overflow-y: auto;\n  max-height: 150px;\n  font-family: inherit;\n  word-break: break-word;\n}\n\n.mini-rich-content:empty::before {\n  content: attr(data-placeholder);\n  color: #9ca3af;\n  pointer-events: none;\n}\n",".settings-page {\n  display: flex;\n  flex-direction: column;\n  gap: 1.5rem;\n  padding: 1.5rem;\n  height: 100%;\n  overflow-y: auto;\n}\n\n/* Header */\n.settings-header {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  padding-bottom: 1rem;\n  border-bottom: 1px solid #e5e7eb;\n}\n\n.settings-title {\n  display: flex;\n  align-items: center;\n  gap: 0.75rem;\n}\n\n.settings-title h1 {\n  margin: 0;\n  font-size: 1.5rem;\n  font-weight: 600;\n  color: #1f2937;\n}\n\n.settings-title svg {\n  color: #667eea;\n}\n\n.settings-actions {\n  display: flex;\n  gap: 0.75rem;\n}\n\n/* Tabs */\n.settings-tabs {\n  display: flex;\n  gap: 0;\n  border-bottom: 2px solid #e5e7eb;\n}\n\n.settings-tab {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  padding: 0.75rem 1.25rem;\n  border: none;\n  background: none;\n  color: #6b7280;\n  font-size: 0.9rem;\n  font-weight: 500;\n  cursor: pointer;\n  border-bottom: 2px solid transparent;\n  margin-bottom: -2px;\n  transition: all 0.2s;\n}\n\n.settings-tab:hover {\n  color: #374151;\n  background: #f9fafb;\n}\n\n.settings-tab.active {\n  color: #667eea;\n  border-bottom-color: #667eea;\n}\n\n.settings-tab.active svg {\n  color: #667eea;\n}\n\n/* Sub-tabs (dentro de Admin) */\n.settings-subtabs {\n  display: flex;\n  gap: 0.375rem;\n  margin-bottom: 1.25rem;\n  background: #f3f4f6;\n  padding: 0.25rem;\n  border-radius: 0.5rem;\n}\n\n.settings-subtab {\n  display: flex;\n  align-items: center;\n  gap: 0.375rem;\n  padding: 0.5rem 1rem;\n  border: none;\n  background: none;\n  color: #6b7280;\n  font-size: 0.813rem;\n  font-weight: 500;\n  cursor: pointer;\n  border-radius: 0.375rem;\n  transition: all 0.15s ease;\n}\n\n.settings-subtab:hover {\n  color: #374151;\n  background: #e5e7eb;\n}\n\n.settings-subtab.active {\n  color: #1f2937;\n  background: #ffffff;\n  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n  font-weight: 600;\n}\n\n.settings-subtab.active svg {\n  color: #667eea;\n}\n\n/* Sin acceso */\n.settings-no-access {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  gap: 0.75rem;\n  padding: 3rem;\n  color: #9ca3af;\n  text-align: center;\n}\n\n.settings-no-access h3 {\n  margin: 0;\n  color: #6b7280;\n  font-size: 1.1rem;\n}\n\n.settings-no-access p {\n  margin: 0;\n  font-size: 0.9rem;\n}\n\n/* Layout columnas para tab Caja */\n.settings-two-columns {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 1.5rem;\n  align-items: start;\n}\n\n.settings-three-columns {\n  display: grid;\n  grid-template-columns: 1fr 1fr 1fr;\n  gap: 1.5rem;\n  align-items: start;\n}\n\n.settings-column {\n  display: flex;\n  flex-direction: column;\n  gap: 1.5rem;\n}\n\n/* Contenido */\n.settings-content {\n  display: flex;\n  flex-direction: column;\n  gap: 1.5rem;\n}\n\n/* Secciones */\n.settings-section {\n  display: flex;\n  flex-direction: column;\n  gap: 1rem;\n}\n\n.section-header {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  color: #374151;\n}\n\n.section-header h2 {\n  margin: 0;\n  font-size: 1.1rem;\n  font-weight: 600;\n}\n\n.section-header svg {\n  color: #667eea;\n}\n\n/* Cards */\n.settings-card {\n  background: white;\n  border-radius: 12px;\n  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n  overflow: hidden;\n}\n\n\n/* Items compactos */\n.setting-item-compact {\n  padding: 0.875rem 1.25rem;\n  border-bottom: 1px solid #f3f4f6;\n  transition: background-color 0.2s;\n}\n\n.setting-item-compact:last-child {\n  border-bottom: none;\n}\n\n.setting-item-compact:hover {\n  background-color: #fafafa;\n}\n\n.setting-item-compact.disabled {\n  opacity: 0.5;\n  pointer-events: none;\n}\n\n.setting-row {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  gap: 1rem;\n}\n\n.setting-row span {\n  font-size: 0.9rem;\n  color: #374151;\n}\n\n/* Toggle Switch */\n.toggle-switch {\n  position: relative;\n  display: inline-block;\n  width: 44px;\n  height: 24px;\n  cursor: pointer;\n  flex-shrink: 0;\n}\n\n.toggle-switch input {\n  opacity: 0;\n  width: 0;\n  height: 0;\n}\n\n.toggle-slider {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  background-color: #d1d5db;\n  border-radius: 24px;\n  transition: all 0.3s ease;\n}\n\n.toggle-slider:before {\n  position: absolute;\n  content: \"\";\n  height: 18px;\n  width: 18px;\n  left: 3px;\n  bottom: 3px;\n  background-color: white;\n  border-radius: 50%;\n  transition: all 0.3s ease;\n  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n}\n\n.toggle-switch input:checked + .toggle-slider {\n  background-color: #667eea;\n}\n\n.toggle-switch input:checked + .toggle-slider:before {\n  transform: translateX(20px);\n}\n\n.toggle-switch input:focus + .toggle-slider {\n  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.2);\n}\n\n/* Selector de ubicación compacto */\n.ubicacion-selector.compact {\n  display: flex;\n  gap: 0.25rem;\n}\n\n.ubicacion-selector.compact .ubicacion-btn {\n  padding: 0.375rem 0.75rem;\n  border: 1px solid #e5e7eb;\n  border-radius: 6px;\n  background: white;\n  color: #6b7280;\n  font-size: 0.8rem;\n  font-weight: 500;\n  cursor: pointer;\n  transition: all 0.2s;\n}\n\n.ubicacion-selector.compact .ubicacion-btn:hover:not(:disabled) {\n  border-color: #667eea;\n  color: #667eea;\n}\n\n.ubicacion-selector.compact .ubicacion-btn.active {\n  border-color: #667eea;\n  background: #667eea;\n  color: white;\n}\n\n.ubicacion-selector.compact .ubicacion-btn:disabled {\n  cursor: not-allowed;\n  opacity: 0.5;\n}\n\n/* Input de número compacto */\n.number-input.compact {\n  width: 60px;\n  padding: 0.375rem 0.5rem;\n  border: 1px solid #e5e7eb;\n  border-radius: 6px;\n  font-size: 0.875rem;\n  color: #374151;\n  text-align: center;\n  transition: border-color 0.2s;\n}\n\n.number-input.compact:focus {\n  outline: none;\n  border-color: #667eea;\n  box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.1);\n}\n\n/* Input de texto compacto */\n.text-input-compact {\n  padding: 0.375rem 0.75rem;\n  border: 1px solid #e5e7eb;\n  border-radius: 6px;\n  font-size: 0.875rem;\n  color: #374151;\n  transition: border-color 0.2s;\n}\n\n.text-input-compact:focus {\n  outline: none;\n  border-color: #667eea;\n  box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.1);\n}\n\n.text-input-compact::placeholder {\n  color: #9ca3af;\n}\n\n/* Inputs de formulario (emisor, etc.) */\n.setting-label {\n  display: block;\n  font-size: 0.85rem;\n  font-weight: 500;\n  color: #374151;\n  margin-bottom: 4px;\n}\n\n.text-input,\n.select-input {\n  width: 100%;\n  padding: 0.5rem 0.75rem;\n  border: 1px solid #e5e7eb;\n  border-radius: 6px;\n  font-size: 0.875rem;\n  color: #374151;\n  transition: border-color 0.2s;\n  box-sizing: border-box;\n}\n\n.text-input:focus,\n.select-input:focus {\n  outline: none;\n  border-color: #667eea;\n  box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.1);\n}\n\n.text-input::placeholder {\n  color: #9ca3af;\n}\n\n.text-input.input-error,\n.select-input.input-error {\n  border-color: #ef4444;\n}\n\n.error-text {\n  display: block;\n  font-size: 0.75rem;\n  color: #ef4444;\n  margin-top: 2px;\n}\n\n/* Tabla de emisores */\n.emisores-table {\n  width: 100%;\n  border-collapse: collapse;\n  font-size: 0.85rem;\n}\n\n.emisores-table th {\n  text-align: left;\n  padding: 8px 10px;\n  font-weight: 600;\n  color: #374151;\n  border-bottom: 2px solid #e5e7eb;\n  font-size: 0.8rem;\n}\n\n.emisores-table td {\n  padding: 8px 10px;\n  border-bottom: 1px solid #f3f4f6;\n  color: #374151;\n}\n\n.emisores-table tr:hover {\n  background: #f9fafb;\n}\n\n.emisores-table tr.editing {\n  background: #eff6ff;\n}\n\n.btn-icon-sm {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  width: 26px;\n  height: 26px;\n  border: 1px solid #e5e7eb;\n  border-radius: 4px;\n  background: white;\n  color: #6b7280;\n  cursor: pointer;\n  transition: all 0.15s;\n}\n\n.btn-icon-sm:hover {\n  background: #f3f4f6;\n  color: #374151;\n  border-color: #d1d5db;\n}\n\n.btn-icon-sm.danger:hover {\n  background: #fef2f2;\n  color: #ef4444;\n  border-color: #fca5a5;\n}\n\n.btn-icon-sm:disabled {\n  opacity: 0.4;\n  cursor: not-allowed;\n}\n\n/* Indicador de configuración global */\n.setting-item-compact.global-setting {\n  position: relative;\n  padding-top: 1.75rem;\n}\n\n.global-badge {\n  position: absolute;\n  top: 6px;\n  right: 10px;\n  display: flex;\n  align-items: center;\n  gap: 3px;\n  color: #3b82f6;\n  font-size: 0.65rem;\n  font-weight: 600;\n  opacity: 0.7;\n  background: #eff6ff;\n  padding: 1px 6px;\n  border-radius: 4px;\n}\n\n/* Animación spinning */\n.spinning {\n  animation: spin 1s linear infinite;\n}\n\n@keyframes spin {\n  from { transform: rotate(0deg); }\n  to { transform: rotate(360deg); }\n}\n\n/* Logo Upload */\n.logo-row {\n  flex-wrap: wrap;\n}\n\n.logo-upload-container {\n  display: flex;\n  align-items: center;\n  gap: 0.75rem;\n}\n\n.logo-upload-area {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  gap: 0.5rem;\n  width: 100px;\n  height: 80px;\n  border: 2px dashed #d1d5db;\n  border-radius: 8px;\n  background: #f9fafb;\n  cursor: pointer;\n  transition: all 0.2s;\n}\n\n.logo-upload-area:hover {\n  border-color: #667eea;\n  background: #f0f1ff;\n}\n\n.logo-upload-area svg {\n  color: #9ca3af;\n}\n\n.logo-upload-area:hover svg {\n  color: #667eea;\n}\n\n.logo-upload-area span {\n  font-size: 0.75rem;\n  color: #6b7280;\n}\n\n.logo-preview-wrapper {\n  position: relative;\n  display: inline-block;\n}\n\n.logo-preview {\n  max-width: 120px;\n  max-height: 80px;\n  object-fit: contain;\n  border-radius: 8px;\n  border: 1px solid #e5e7eb;\n  background: white;\n}\n\n.logo-remove-btn {\n  position: absolute;\n  top: -8px;\n  right: -8px;\n  width: 24px;\n  height: 24px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  background: #ef4444;\n  border: 2px solid white;\n  border-radius: 50%;\n  color: white;\n  cursor: pointer;\n  transition: all 0.2s;\n  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n}\n\n.logo-remove-btn:hover {\n  background: #dc2626;\n  transform: scale(1.1);\n}\n\n.logo-change-btn {\n  padding: 0.375rem 0.75rem;\n  border: 1px solid #e5e7eb;\n  border-radius: 6px;\n  background: white;\n  color: #6b7280;\n  font-size: 0.8rem;\n  font-weight: 500;\n  cursor: pointer;\n  transition: all 0.2s;\n}\n\n.logo-change-btn:hover {\n  border-color: #667eea;\n  color: #667eea;\n}\n\n.logo-hint {\n  margin-top: 0.5rem;\n  font-size: 0.75rem;\n  color: #9ca3af;\n}\n\n/* Layout 2 columnas para sub-tabs Admin */\n.settings-admin-grid {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 1.5rem;\n  align-items: start;\n}\n\n/* Diseño Formato */\n.formato-designer {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 1rem;\n  align-items: start;\n}\n\n.formato-designer-left {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 1rem;\n}\n\n.formato-controls {\n  display: flex;\n  flex-direction: column;\n  gap: 0.25rem;\n  background: white;\n  border-radius: 12px;\n  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n  padding: 1rem;\n  max-height: calc(100vh - 220px);\n  overflow-y: auto;\n}\n\n.formato-control-group {\n  padding: 0.75rem 0;\n  border-bottom: 1px solid #f3f4f6;\n}\n\n.formato-control-group:last-child {\n  border-bottom: none;\n}\n\n.formato-control-group.disabled {\n  opacity: 0.45;\n  pointer-events: none;\n}\n\n.formato-control-group > label {\n  display: block;\n  font-size: 0.875rem;\n  font-weight: 500;\n  color: #374151;\n  margin-bottom: 0.5rem;\n}\n\n.formato-hint {\n  display: block;\n  font-size: 0.75rem;\n  color: #9ca3af;\n  margin-top: 0.25rem;\n}\n\n.color-picker-row {\n  display: flex;\n  align-items: center;\n  gap: 0.75rem;\n}\n\n.color-picker-row input[type=\"color\"] {\n  -webkit-appearance: none;\n  appearance: none;\n  width: 44px;\n  height: 32px;\n  border: 2px solid #e5e7eb;\n  border-radius: 6px;\n  cursor: pointer;\n  padding: 2px;\n}\n\n.color-picker-row input[type=\"color\"]::-webkit-color-swatch-wrapper {\n  padding: 0;\n}\n\n.color-picker-row input[type=\"color\"]::-webkit-color-swatch {\n  border: none;\n  border-radius: 3px;\n}\n\n.color-picker-row .color-value {\n  font-size: 0.813rem;\n  color: #6b7280;\n  font-family: 'Consolas', monospace;\n}\n\n.formato-preview-container {\n  display: flex;\n  flex-direction: column;\n  gap: 0.5rem;\n}\n\n.formato-preview-label {\n  font-size: 0.813rem;\n  font-weight: 600;\n  color: #6b7280;\n  text-transform: uppercase;\n  letter-spacing: 0.05em;\n}\n\n.formato-preview-wrapper {\n  background: #e5e7eb;\n  border-radius: 8px;\n  padding: 16px;\n  display: flex;\n  justify-content: center;\n  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.08);\n}\n\n.formato-preview-iframe {\n  width: 612px;\n  height: 750px;\n  border: none;\n  background: white;\n  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);\n  border-radius: 2px;\n  transform: scale(0.65);\n  transform-origin: top center;\n}\n\n.formato-preview-wrapper-compact {\n  background: #e5e7eb;\n  border-radius: 8px;\n  padding: 12px;\n  display: flex;\n  justify-content: center;\n  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.08);\n  width: 100%;\n  height: calc(750px * 0.65 + 24px);\n  overflow: hidden;\n}\n\n/* Ticket Designer */\n.ticket-designer {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 1.5rem;\n  align-items: start;\n}\n\n.ticket-designer > .formato-controls {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 0 1rem;\n  align-items: start;\n}\n\n.ticket-designer > .formato-controls > .formato-control-group {\n  break-inside: avoid;\n}\n\n.ticket-preview-wrapper {\n  background: #e5e7eb;\n  border-radius: 8px;\n  padding: 12px;\n  display: flex;\n  justify-content: center;\n  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.08);\n  max-height: none;\n  overflow-y: visible;\n}\n\n.ticket-preview-iframe {\n  width: 302px;\n  min-height: 900px;\n  border: none;\n  background: white;\n  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);\n  border-radius: 2px;\n}\n\n/* Responsive */\n@media (max-width: 768px) {\n  .settings-page {\n    padding: 1rem;\n  }\n\n  .settings-header {\n    flex-direction: column;\n    align-items: flex-start;\n    gap: 1rem;\n  }\n\n  .settings-actions {\n    width: 100%;\n    justify-content: flex-end;\n  }\n\n  .setting-row {\n    flex-wrap: wrap;\n  }\n\n  .settings-two-columns {\n    grid-template-columns: 1fr;\n  }\n\n  .settings-three-columns {\n    grid-template-columns: 1fr;\n  }\n\n  .settings-admin-grid {\n    grid-template-columns: 1fr;\n  }\n\n  .formato-designer {\n    grid-template-columns: 1fr;\n  }\n\n  .formato-designer-left {\n    grid-template-columns: 1fr;\n  }\n\n  .ticket-designer {\n    grid-template-columns: 1fr;\n  }\n\n  .ticket-designer > .formato-controls {\n    grid-template-columns: 1fr;\n  }\n}\n\n/* ===== Web Mode Config ===== */\n.webmode-config {\n  display: flex;\n  flex-direction: column;\n  gap: 1rem;\n}\n\n.webmode-header {\n  display: flex;\n  justify-content: space-between;\n  align-items: flex-start;\n  gap: 1rem;\n  padding-bottom: 1rem;\n  border-bottom: 1px solid #e5e7eb;\n}\n\n.webmode-api-url {\n  padding: 1rem;\n  background: #f0f9ff;\n  border: 1px solid #bae6fd;\n  border-radius: 8px;\n}\n\n.webmode-api-url code {\n  background: #e0f2fe;\n  padding: 2px 6px;\n  border-radius: 4px;\n  font-size: 12px;\n}\n\n.webmode-groups {\n  display: grid;\n  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));\n  gap: 1rem;\n}\n\n.webmode-group {\n  background: #f9fafb;\n  border: 1px solid #e5e7eb;\n  border-radius: 8px;\n  overflow: hidden;\n}\n\n.webmode-group-header {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  padding: 10px 12px;\n  background: #f3f4f6;\n  border-bottom: 1px solid #e5e7eb;\n  cursor: pointer;\n  font-weight: 600;\n  font-size: 13px;\n}\n\n.webmode-group-header:hover {\n  background: #e5e7eb;\n}\n\n.webmode-group-name {\n  color: #374151;\n}\n\n.webmode-group-items {\n  display: flex;\n  flex-direction: column;\n  padding: 4px 0;\n}\n\n.webmode-item {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  padding: 6px 12px;\n  cursor: pointer;\n  font-size: 13px;\n  transition: background 0.15s;\n}\n\n.webmode-item:hover {\n  background: #e5e7eb;\n}\n\n.webmode-item.visible {\n  color: #065f46;\n}\n\n.webmode-item.hidden {\n  color: #9ca3af;\n}\n\n.webmode-item input[type=\"checkbox\"] {\n  accent-color: #059669;\n}\n","/* ===== FACTURACIÓN PAGE ===== */\n\n.facturacion-page {\n  display: flex;\n  flex-direction: column;\n  height: 100%;\n  background: #f8f9fa;\n}\n\n/* Header */\n.facturacion-header {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  padding: 1rem 1.5rem;\n  background: white;\n  border-bottom: 1px solid #e5e7eb;\n}\n\n.header-title {\n  display: flex;\n  align-items: center;\n  gap: 0.75rem;\n}\n\n.header-title h1 {\n  font-size: 1.5rem;\n  font-weight: 600;\n  color: #1f2937;\n  margin: 0;\n}\n\n.header-title svg {\n  color: #667eea;\n}\n\n.config-btn {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  padding: 0.5rem 1rem;\n  background: #f3f4f6;\n  border: 1px solid #d1d5db;\n  border-radius: 0.375rem;\n  color: #374151;\n  font-size: 0.875rem;\n  cursor: pointer;\n  transition: all 0.2s;\n}\n\n.config-btn:hover {\n  background: #e5e7eb;\n  border-color: #9ca3af;\n}\n\n/* Tabs */\n.facturacion-tabs {\n  display: flex;\n  gap: 0.5rem;\n  padding: 1rem 1.5rem;\n  background: white;\n  border-bottom: 1px solid #e5e7eb;\n}\n\n.tab-btn {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  padding: 0.625rem 1.25rem;\n  background: transparent;\n  border: none;\n  border-radius: 0.375rem;\n  color: #6b7280;\n  font-size: 0.875rem;\n  font-weight: 500;\n  cursor: pointer;\n  transition: all 0.2s;\n}\n\n.tab-btn:hover {\n  background: #f3f4f6;\n  color: #374151;\n}\n\n.tab-btn.active {\n  background: #667eea;\n  color: white;\n}\n\n.tab-btn.active:hover {\n  background: #5a67d8;\n}\n\n/* Content */\n.facturacion-content {\n  flex: 1;\n  padding: 1.5rem;\n  overflow-y: auto;\n}\n\n/* ===== VENTAS FACTURABLES TAB ===== */\n\n.ventas-facturables-container {\n  display: flex;\n  flex-direction: column;\n  height: 100%;\n  background: white;\n  border-radius: 0.5rem;\n  border: 1px solid #e5e7eb;\n}\n\n/* Sub-tabs internos */\n.sub-tabs-container {\n  display: flex;\n  gap: 0.25rem;\n  padding: 0.75rem 1rem;\n  background: #f9fafb;\n  border-bottom: 1px solid #e5e7eb;\n}\n\n.sub-tab-btn {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  padding: 0.5rem 1rem;\n  background: transparent;\n  border: 1px solid transparent;\n  border-radius: 0.375rem;\n  color: #6b7280;\n  font-size: 0.875rem;\n  font-weight: 500;\n  cursor: pointer;\n  transition: all 0.2s;\n}\n\n.sub-tab-btn:hover {\n  background: white;\n  color: #374151;\n}\n\n.sub-tab-btn.active {\n  background: white;\n  border-color: #667eea;\n  color: #667eea;\n  box-shadow: 0 1px 3px rgba(102, 126, 234, 0.15);\n}\n\n.sub-tab-btn.active svg {\n  color: #667eea;\n}\n\n/* Layout sin panel lateral */\n.ventas-content-full {\n  flex: 1;\n  overflow: auto;\n  padding: 1rem;\n}\n\n/* Barra inferior con boton siguiente */\n.facturacion-footer-bar {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  padding: 0.875rem 1.25rem;\n  background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);\n  border-top: 1px solid #e2e8f0;\n  gap: 1rem;\n}\n\n.footer-resumen {\n  display: flex;\n  align-items: center;\n  gap: 0.75rem;\n  flex-wrap: wrap;\n}\n\n.resumen-item {\n  font-size: 0.875rem;\n  color: #475569;\n}\n\n.resumen-item strong {\n  color: #1e293b;\n}\n\n.resumen-item.resumen-total strong {\n  color: #059669;\n  font-size: 1rem;\n}\n\n.resumen-separator {\n  color: #cbd5e1;\n}\n\n.btn-siguiente-paso {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  padding: 0.75rem 1.5rem;\n  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n  color: white;\n  border: none;\n  border-radius: 0.5rem;\n  font-size: 0.9375rem;\n  font-weight: 600;\n  cursor: pointer;\n  transition: all 0.2s;\n  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);\n}\n\n.btn-siguiente-paso:hover:not(:disabled) {\n  transform: translateY(-1px);\n  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);\n}\n\n.btn-siguiente-paso:disabled {\n  opacity: 0.6;\n  cursor: not-allowed;\n}\n\n/* Filtros de ventas */\n.filtros-ventas {\n  padding: 1rem 1.25rem;\n  border-bottom: 1px solid #e5e7eb;\n  background: #f9fafb;\n}\n\n.filtros-row {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 1rem;\n  align-items: flex-end;\n}\n\n.filtro-group {\n  display: flex;\n  flex-direction: column;\n  gap: 0.25rem;\n}\n\n.filtro-group label {\n  display: flex;\n  align-items: center;\n  gap: 0.375rem;\n  font-size: 0.75rem;\n  color: #6b7280;\n  font-weight: 500;\n}\n\n.filtro-group label svg {\n  color: #9ca3af;\n}\n\n.filtro-group input,\n.filtro-group select {\n  padding: 0.5rem 0.75rem;\n  border: 1px solid #d1d5db;\n  border-radius: 0.375rem;\n  font-size: 0.875rem;\n  min-width: 160px;\n  background: white;\n}\n\n.filtro-group input:focus,\n.filtro-group select:focus {\n  outline: none;\n  border-color: #667eea;\n  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);\n}\n\n.filtro-actions {\n  display: flex;\n  gap: 0.5rem;\n  margin-left: auto;\n}\n\n.btn-limpiar {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  padding: 0.5rem 1rem;\n  background: white;\n  border: 1px solid #d1d5db;\n  border-radius: 0.375rem;\n  color: #6b7280;\n  font-size: 0.875rem;\n  cursor: pointer;\n  transition: all 0.2s;\n}\n\n.btn-limpiar:hover {\n  background: #f3f4f6;\n  border-color: #9ca3af;\n}\n\n/* Contenido principal */\n.ventas-content {\n  display: grid;\n  grid-template-columns: 1fr 320px;\n  flex: 1;\n  overflow: hidden;\n}\n\n/* Sección de tabla */\n.ventas-tabla-section {\n  overflow: auto;\n  border-right: 1px solid #e5e7eb;\n}\n\n.ventas-table-wrapper {\n  min-height: 100%;\n}\n\n.ventas-facturables-table {\n  width: 100%;\n  border-collapse: collapse;\n}\n\n.ventas-facturables-table th,\n.ventas-facturables-table td {\n  padding: 0.75rem 1rem;\n  text-align: left;\n  border-bottom: 1px solid #e5e7eb;\n}\n\n.ventas-facturables-table th {\n  background: #f9fafb;\n  font-weight: 600;\n  font-size: 0.75rem;\n  color: #6b7280;\n  text-transform: uppercase;\n  letter-spacing: 0.05em;\n  position: sticky;\n  top: 0;\n  z-index: 10;\n}\n\n.ventas-facturables-table td {\n  font-size: 0.875rem;\n  color: #374151;\n}\n\n.ventas-facturables-table tr:hover {\n  background: #f9fafb;\n}\n\n.ventas-facturables-table tr.selected {\n  background: #eef2ff;\n}\n\n.ventas-facturables-table tr.disabled {\n  opacity: 0.5;\n}\n\n.ventas-facturables-table .checkbox-cell {\n  width: 40px;\n  text-align: center;\n}\n\n.ventas-facturables-table .text-right {\n  text-align: right;\n}\n\n.ventas-facturables-table .text-center {\n  text-align: center;\n}\n\n.ventas-facturables-table .total-cell {\n  font-weight: 600;\n  color: #059669;\n}\n\n.folio-badge {\n  display: inline-block;\n  padding: 0.125rem 0.5rem;\n  background: #eef2ff;\n  color: #667eea;\n  border-radius: 0.25rem;\n  font-weight: 600;\n  font-size: 0.8125rem;\n}\n\n.folio-badge.pago {\n  background: #fef3c7;\n  color: #92400e;\n}\n\n/* Badge de tipo de venta */\n.tipo-venta-badge {\n  display: inline-block;\n  padding: 0.125rem 0.5rem;\n  border-radius: 0.25rem;\n  font-size: 0.6875rem;\n  font-weight: 600;\n  text-transform: uppercase;\n}\n\n.tipo-venta-badge.venta {\n  background: #dbeafe;\n  color: #1d4ed8;\n}\n\n.tipo-venta-badge.mostrador {\n  background: #d1fae5;\n  color: #047857;\n}\n\n/* Badges de metodo de pago */\n.metodo-badge {\n  display: inline-block;\n  padding: 0.125rem 0.5rem;\n  border-radius: 0.25rem;\n  font-size: 0.75rem;\n  font-weight: 500;\n  text-transform: capitalize;\n}\n\n.metodo-badge.efectivo {\n  background: #d1fae5;\n  color: #065f46;\n}\n\n.metodo-badge.tarjeta {\n  background: #dbeafe;\n  color: #1e40af;\n}\n\n.metodo-badge.transferencia {\n  background: #e0e7ff;\n  color: #4338ca;\n}\n\n.metodo-badge.cheque {\n  background: #f3e8ff;\n  color: #7c3aed;\n}\n\n/* Badge de cuentas */\n.cuentas-badge {\n  font-weight: 500;\n  color: #374151;\n}\n\n.cuentas-badge .liquidadas {\n  font-size: 0.75rem;\n  color: #059669;\n}\n\n.cliente-cell {\n  display: flex;\n  flex-direction: column;\n}\n\n.cliente-cell .cliente-nombre {\n  font-weight: 500;\n  color: #1f2937;\n}\n\n/* Panel de facturación */\n.facturacion-panel {\n  display: flex;\n  flex-direction: column;\n  background: #f9fafb;\n  overflow-y: auto;\n}\n\n.panel-section {\n  padding: 1rem 1.25rem;\n  border-bottom: 1px solid #e5e7eb;\n}\n\n.panel-section h4 {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  margin: 0 0 0.75rem 0;\n  font-size: 0.875rem;\n  color: #374151;\n  font-weight: 600;\n}\n\n.panel-section h4 svg {\n  color: #667eea;\n}\n\n.cliente-info-card {\n  display: flex;\n  flex-direction: column;\n  gap: 0.25rem;\n  padding: 0.75rem;\n  background: white;\n  border: 1px solid #e5e7eb;\n  border-radius: 0.375rem;\n}\n\n.cliente-info-card strong {\n  color: #1f2937;\n  font-size: 0.9375rem;\n}\n\n.cliente-info-card span {\n  color: #6b7280;\n  font-size: 0.8125rem;\n}\n\n/* Datos fiscales mini */\n.datos-fiscales-mini {\n  display: flex;\n  flex-direction: column;\n  gap: 0.5rem;\n  margin-bottom: 0.75rem;\n}\n\n.dato-row {\n  display: flex;\n  justify-content: space-between;\n  font-size: 0.8125rem;\n}\n\n.dato-row label {\n  color: #6b7280;\n}\n\n.dato-row span {\n  color: #1f2937;\n  font-weight: 500;\n}\n\n.dato-row span.empty {\n  color: #ef4444;\n  font-style: italic;\n  font-weight: 400;\n}\n\n/* Resumen section */\n.resumen-section {\n  flex: 1;\n  display: flex;\n  flex-direction: column;\n}\n\n.resumen-totales {\n  display: flex;\n  flex-direction: column;\n  gap: 0.5rem;\n  flex: 1;\n}\n\n.resumen-totales .resumen-row {\n  display: flex;\n  justify-content: space-between;\n  font-size: 0.875rem;\n}\n\n.resumen-totales .resumen-row.total {\n  margin-top: auto;\n  padding-top: 0.75rem;\n  border-top: 1px solid #e5e7eb;\n  font-weight: 600;\n  font-size: 1rem;\n}\n\n.resumen-totales .resumen-row.total span:last-child {\n  color: #059669;\n}\n\n/* Panel vacío */\n.panel-empty {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  height: 100%;\n  padding: 2rem;\n  text-align: center;\n  color: #9ca3af;\n}\n\n.panel-empty svg {\n  margin-bottom: 1rem;\n  color: #d1d5db;\n}\n\n.panel-empty p {\n  margin: 0;\n  font-size: 0.9375rem;\n  color: #6b7280;\n}\n\n.panel-empty span {\n  font-size: 0.8125rem;\n  color: #9ca3af;\n}\n\n/* ===== CREAR FACTURA TAB (legacy) ===== */\n\n.crear-factura-container {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 1.5rem;\n  height: 100%;\n}\n\n/* Panel de selección de cliente */\n.panel-cliente {\n  background: white;\n  border-radius: 0.5rem;\n  border: 1px solid #e5e7eb;\n  display: flex;\n  flex-direction: column;\n}\n\n.panel-header {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  padding: 1rem 1.25rem;\n  border-bottom: 1px solid #e5e7eb;\n  font-weight: 600;\n  color: #1f2937;\n}\n\n.panel-header svg {\n  color: #667eea;\n}\n\n.panel-content {\n  flex: 1;\n  padding: 1.25rem;\n  overflow-y: auto;\n}\n\n/* Buscador de clientes */\n.cliente-search {\n  margin-bottom: 1rem;\n}\n\n.search-input-wrapper {\n  position: relative;\n}\n\n.search-input-wrapper input {\n  width: 100%;\n  padding: 0.625rem 0.875rem 0.625rem 2.5rem;\n  border: 1px solid #d1d5db;\n  border-radius: 0.375rem;\n  font-size: 0.875rem;\n  transition: all 0.2s;\n}\n\n.search-input-wrapper input:focus {\n  outline: none;\n  border-color: #667eea;\n  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);\n}\n\n.search-input-wrapper svg {\n  position: absolute;\n  left: 0.75rem;\n  top: 50%;\n  transform: translateY(-50%);\n  color: #9ca3af;\n}\n\n/* Lista de clientes */\n.clientes-list {\n  display: flex;\n  flex-direction: column;\n  gap: 0.5rem;\n  max-height: 300px;\n  overflow-y: auto;\n}\n\n.cliente-item {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  padding: 0.75rem 1rem;\n  background: #f9fafb;\n  border: 1px solid #e5e7eb;\n  border-radius: 0.375rem;\n  cursor: pointer;\n  transition: all 0.2s;\n}\n\n.cliente-item:hover {\n  background: #f3f4f6;\n  border-color: #667eea;\n}\n\n.cliente-item.selected {\n  background: #eef2ff;\n  border-color: #667eea;\n}\n\n.cliente-info {\n  display: flex;\n  flex-direction: column;\n  gap: 0.25rem;\n}\n\n.cliente-nombre {\n  font-weight: 500;\n  color: #1f2937;\n}\n\n.cliente-rfc {\n  font-size: 0.75rem;\n  color: #6b7280;\n}\n\n.cliente-badge {\n  padding: 0.25rem 0.5rem;\n  background: #dbeafe;\n  color: #1e40af;\n  border-radius: 0.25rem;\n  font-size: 0.75rem;\n  font-weight: 500;\n}\n\n.cliente-badge.incomplete {\n  background: #fef3c7;\n  color: #92400e;\n}\n\n/* Cliente seleccionado */\n.cliente-seleccionado {\n  padding: 1rem;\n  background: #f0fdf4;\n  border: 1px solid #86efac;\n  border-radius: 0.5rem;\n  margin-bottom: 1rem;\n}\n\n.cliente-seleccionado-header {\n  display: flex;\n  justify-content: space-between;\n  align-items: flex-start;\n  margin-bottom: 0.75rem;\n}\n\n.cliente-seleccionado-info h4 {\n  margin: 0 0 0.25rem 0;\n  font-size: 1rem;\n  color: #1f2937;\n}\n\n.cliente-seleccionado-info p {\n  margin: 0;\n  font-size: 0.875rem;\n  color: #6b7280;\n}\n\n.btn-cambiar-cliente {\n  padding: 0.375rem 0.75rem;\n  background: white;\n  border: 1px solid #d1d5db;\n  border-radius: 0.25rem;\n  font-size: 0.75rem;\n  cursor: pointer;\n  transition: all 0.2s;\n}\n\n.btn-cambiar-cliente:hover {\n  background: #f3f4f6;\n}\n\n/* Datos fiscales */\n.datos-fiscales-section {\n  margin-top: 1rem;\n}\n\n.datos-fiscales-section h4 {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  margin: 0 0 0.75rem 0;\n  font-size: 0.875rem;\n  color: #374151;\n}\n\n.datos-fiscales-grid {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 0.75rem;\n}\n\n.dato-fiscal {\n  display: flex;\n  flex-direction: column;\n  gap: 0.25rem;\n}\n\n.dato-fiscal.full-width {\n  grid-column: span 2;\n}\n\n.dato-fiscal label {\n  font-size: 0.75rem;\n  color: #6b7280;\n}\n\n.dato-fiscal span {\n  font-size: 0.875rem;\n  color: #1f2937;\n  font-weight: 500;\n}\n\n.dato-fiscal span.empty {\n  color: #ef4444;\n  font-style: italic;\n}\n\n.btn-editar-datos {\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  margin-top: 1rem;\n  padding: 0.5rem 1rem;\n  background: #667eea;\n  color: white;\n  border: none;\n  border-radius: 0.375rem;\n  font-size: 0.875rem;\n  cursor: pointer;\n  transition: all 0.2s;\n}\n\n.btn-editar-datos:hover {\n  background: #5a67d8;\n}\n\n/* Panel de ventas */\n.panel-ventas {\n  background: white;\n  border-radius: 0.5rem;\n  border: 1px solid #e5e7eb;\n  display: flex;\n  flex-direction: column;\n}\n\n/* Tabla de ventas */\n.ventas-table-container {\n  flex: 1;\n  overflow-y: auto;\n}\n\n.ventas-table {\n  width: 100%;\n  border-collapse: collapse;\n}\n\n.ventas-table th,\n.ventas-table td {\n  padding: 0.75rem 1rem;\n  text-align: left;\n  border-bottom: 1px solid #e5e7eb;\n}\n\n.ventas-table th {\n  background: #f9fafb;\n  font-weight: 600;\n  font-size: 0.75rem;\n  color: #6b7280;\n  text-transform: uppercase;\n  letter-spacing: 0.05em;\n  position: sticky;\n  top: 0;\n}\n\n.ventas-table td {\n  font-size: 0.875rem;\n  color: #374151;\n}\n\n.ventas-table tr:hover {\n  background: #f9fafb;\n}\n\n.ventas-table .checkbox-cell {\n  width: 40px;\n  text-align: center;\n}\n\n.ventas-table .total-cell {\n  text-align: right;\n  font-weight: 600;\n  color: #059669;\n}\n\n/* Resumen de selección */\n.ventas-resumen {\n  padding: 1rem 1.25rem;\n  background: #f9fafb;\n  border-top: 1px solid #e5e7eb;\n}\n\n.resumen-row {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  margin-bottom: 0.5rem;\n}\n\n.resumen-row:last-child {\n  margin-bottom: 0;\n}\n\n.resumen-row.total {\n  padding-top: 0.75rem;\n  border-top: 1px solid #e5e7eb;\n  font-weight: 600;\n  font-size: 1.125rem;\n}\n\n.resumen-row.total span:last-child {\n  color: #059669;\n}\n\n.btn-facturar {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  gap: 0.5rem;\n  width: 100%;\n  margin-top: 1rem;\n  padding: 0.75rem 1.5rem;\n  background: #059669;\n  color: white;\n  border: none;\n  border-radius: 0.375rem;\n  font-size: 1rem;\n  font-weight: 600;\n  cursor: pointer;\n  transition: all 0.2s;\n}\n\n.btn-facturar:hover:not(:disabled) {\n  background: #047857;\n}\n\n.btn-facturar:disabled {\n  background: #9ca3af;\n  cursor: not-allowed;\n}\n\n/* Empty state */\n.empty-state {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  padding: 3rem;\n  text-align: center;\n  color: #6b7280;\n}\n\n.empty-state svg {\n  margin-bottom: 1rem;\n  color: #d1d5db;\n}\n\n.empty-state h4 {\n  margin: 0 0 0.5rem 0;\n  color: #374151;\n}\n\n.empty-state p {\n  margin: 0;\n  font-size: 0.875rem;\n}\n\n/* ===== HISTORIAL TAB ===== */\n\n.historial-container {\n  background: white;\n  border-radius: 0.5rem;\n  border: 1px solid #e5e7eb;\n}\n\n/* Filtros */\n.historial-filters {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 1rem;\n  padding: 1rem 1.25rem;\n  border-bottom: 1px solid #e5e7eb;\n}\n\n.filter-group {\n  display: flex;\n  flex-direction: column;\n  gap: 0.25rem;\n}\n\n.filter-group label {\n  font-size: 0.75rem;\n  color: #6b7280;\n  font-weight: 500;\n}\n\n.filter-group input,\n.filter-group select {\n  padding: 0.5rem 0.75rem;\n  border: 1px solid #d1d5db;\n  border-radius: 0.375rem;\n  font-size: 0.875rem;\n  min-width: 150px;\n}\n\n.filter-group input:focus,\n.filter-group select:focus {\n  outline: none;\n  border-color: #667eea;\n  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);\n}\n\n.btn-buscar {\n  align-self: flex-end;\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  padding: 0.5rem 1rem;\n  background: #667eea;\n  color: white;\n  border: none;\n  border-radius: 0.375rem;\n  font-size: 0.875rem;\n  cursor: pointer;\n  transition: all 0.2s;\n}\n\n.btn-buscar:hover {\n  background: #5a67d8;\n}\n\n/* Tabla de facturas */\n.facturas-table-container {\n  overflow-x: auto;\n}\n\n.facturas-table {\n  width: 100%;\n  border-collapse: collapse;\n}\n\n.facturas-table th,\n.facturas-table td {\n  padding: 0.75rem 1rem;\n  text-align: left;\n  border-bottom: 1px solid #e5e7eb;\n}\n\n.facturas-table th {\n  background: #f9fafb;\n  font-weight: 600;\n  font-size: 0.75rem;\n  color: #6b7280;\n  text-transform: uppercase;\n  letter-spacing: 0.05em;\n}\n\n.facturas-table td {\n  font-size: 0.875rem;\n  color: #374151;\n}\n\n.facturas-table tr:hover {\n  background: #f9fafb;\n}\n\n/* Estado badges */\n.estado-badge {\n  display: inline-flex;\n  align-items: center;\n  padding: 0.25rem 0.75rem;\n  border-radius: 9999px;\n  font-size: 0.75rem;\n  font-weight: 500;\n}\n\n.estado-badge.vigente {\n  background: #d1fae5;\n  color: #065f46;\n}\n\n.estado-badge.cancelada {\n  background: #fee2e2;\n  color: #991b1b;\n}\n\n.estado-badge.pendiente_timbrado {\n  background: #fef3c7;\n  color: #92400e;\n}\n\n/* Acciones */\n.acciones-cell {\n  display: flex;\n  gap: 0.5rem;\n}\n\n.btn-accion {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  padding: 0.375rem;\n  background: transparent;\n  border: 1px solid #d1d5db;\n  border-radius: 0.25rem;\n  color: #6b7280;\n  cursor: pointer;\n  transition: all 0.2s;\n}\n\n.btn-accion:hover {\n  background: #f3f4f6;\n  border-color: #9ca3af;\n  color: #374151;\n}\n\n.btn-accion.primary:hover {\n  background: #eef2ff;\n  border-color: #667eea;\n  color: #667eea;\n}\n\n/* ===== MODALES ===== */\n\n.modal-facturacion {\n  padding: 0 1.5rem 1rem;\n}\n\n/* Ajustar el modal de facturación para que no tenga altura fija */\n.modal-facturacion-container.modal-container {\n  height: auto !important;\n  min-height: auto !important;\n  max-height: 90vh;\n  justify-content: flex-start !important;\n}\n\n.modal-facturacion-container .modal-content {\n  flex: 0 0 auto !important;\n  display: block;\n  padding-top: 0.5rem;\n}\n\n.modal-facturacion-container .modal-header {\n  margin-bottom: 0 !important;\n  padding-bottom: 0.5rem !important;\n}\n\n.modal-facturacion h3 {\n  margin: 0 0 0.5rem 0;\n  font-size: 1rem;\n  color: #1f2937;\n}\n\n/* Form groups */\n.form-group {\n  margin-bottom: 1rem;\n}\n\n.form-group label {\n  display: block;\n  margin-bottom: 0.375rem;\n  font-size: 0.875rem;\n  font-weight: 500;\n  color: #374151;\n}\n\n.form-group label .required {\n  color: #ef4444;\n}\n\n.form-group input,\n.form-group select {\n  width: 100%;\n  padding: 0.625rem 0.875rem;\n  border: 1px solid #d1d5db;\n  border-radius: 0.375rem;\n  font-size: 0.875rem;\n  transition: all 0.2s;\n}\n\n.form-group input:focus,\n.form-group select:focus {\n  outline: none;\n  border-color: #667eea;\n  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);\n}\n\n.form-group input.error,\n.form-group select.error {\n  border-color: #ef4444;\n}\n\n.form-group .error-message {\n  margin-top: 0.25rem;\n  font-size: 0.75rem;\n  color: #ef4444;\n}\n\n.form-row {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 1rem;\n}\n\n/* Modal actions */\n.modal-actions {\n  display: flex;\n  justify-content: flex-end;\n  gap: 0.75rem;\n  margin-top: 1.5rem;\n  padding-top: 1rem;\n  border-top: 1px solid #e5e7eb;\n}\n\n.btn-cancelar {\n  padding: 0.625rem 1.25rem;\n  background: white;\n  border: 1px solid #d1d5db;\n  border-radius: 0.375rem;\n  color: #374151;\n  font-size: 0.875rem;\n  cursor: pointer;\n  transition: all 0.2s;\n}\n\n.btn-cancelar:hover {\n  background: #f3f4f6;\n}\n\n.btn-guardar {\n  padding: 0.625rem 1.25rem;\n  background: #667eea;\n  border: none;\n  border-radius: 0.375rem;\n  color: white;\n  font-size: 0.875rem;\n  font-weight: 500;\n  cursor: pointer;\n  transition: all 0.2s;\n}\n\n.btn-guardar:hover:not(:disabled) {\n  background: #5a67d8;\n}\n\n.btn-guardar:disabled {\n  background: #9ca3af;\n  cursor: not-allowed;\n}\n\n/* ===== WIZARD DE FACTURACIÓN ===== */\n\n.wizard-steps {\n  display: flex;\n  justify-content: center;\n  gap: 2rem;\n  margin: 0;\n  padding: 0.5rem 0;\n  border-bottom: 1px solid #e5e7eb;\n}\n\n.wizard-step {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 0.5rem;\n}\n\n.step-number {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 2rem;\n  height: 2rem;\n  border-radius: 50%;\n  background: #e5e7eb;\n  color: #6b7280;\n  font-size: 0.875rem;\n  font-weight: 600;\n}\n\n.wizard-step.active .step-number {\n  background: #667eea;\n  color: white;\n}\n\n.wizard-step.completed .step-number {\n  background: #059669;\n  color: white;\n}\n\n.step-label {\n  font-size: 0.75rem;\n  color: #6b7280;\n}\n\n.wizard-step.active .step-label {\n  color: #667eea;\n  font-weight: 500;\n}\n\n.wizard-content {\n  min-height: auto;\n  padding-top: 0.5rem;\n}\n\n.wizard-actions {\n  display: flex;\n  justify-content: space-between;\n  margin-top: 1.5rem;\n  padding-top: 1rem;\n  border-top: 1px solid #e5e7eb;\n}\n\n/* ===== DETALLE DE FACTURA ===== */\n\n.factura-detail {\n  padding: 1rem;\n}\n\n.factura-detail-header {\n  display: flex;\n  justify-content: space-between;\n  align-items: flex-start;\n  margin-bottom: 1.5rem;\n  padding-bottom: 1rem;\n  border-bottom: 1px solid #e5e7eb;\n}\n\n.factura-folio {\n  font-size: 1.5rem;\n  font-weight: 700;\n  color: #667eea;\n  margin: 0;\n}\n\n.factura-uuid {\n  font-size: 0.75rem;\n  color: #6b7280;\n  margin-top: 0.25rem;\n}\n\n.factura-detail-grid {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 1rem;\n  margin-bottom: 1rem;\n}\n\n.detail-section {\n  padding: 0.875rem;\n  background: #f9fafb;\n  border-radius: 0.5rem;\n}\n\n.detail-section h4 {\n  margin: 0 0 0.5rem 0;\n  font-size: 0.8125rem;\n  color: #6b7280;\n  text-transform: uppercase;\n  letter-spacing: 0.05em;\n}\n\n.detail-row {\n  display: flex;\n  justify-content: space-between;\n  margin-bottom: 0.375rem;\n  line-height: 1.4;\n}\n\n.detail-row:last-child {\n  margin-bottom: 0;\n}\n\n.detail-row label {\n  color: #6b7280;\n  font-size: 0.8125rem;\n}\n\n.detail-row span {\n  color: #1f2937;\n  font-weight: 500;\n  font-size: 0.8125rem;\n  text-align: right;\n}\n\n/* Conceptos */\n.conceptos-table {\n  width: 100%;\n  border-collapse: collapse;\n  margin-bottom: 1.5rem;\n}\n\n.conceptos-table th,\n.conceptos-table td {\n  padding: 0.75rem;\n  text-align: left;\n  border-bottom: 1px solid #e5e7eb;\n}\n\n.conceptos-table th {\n  background: #f9fafb;\n  font-size: 0.75rem;\n  color: #6b7280;\n  font-weight: 600;\n  text-transform: uppercase;\n}\n\n.conceptos-table td {\n  font-size: 0.875rem;\n}\n\n/* Totales */\n.factura-totales {\n  display: flex;\n  flex-direction: column;\n  align-items: flex-end;\n  gap: 0.5rem;\n  padding: 1rem;\n  background: #f9fafb;\n  border-radius: 0.5rem;\n}\n\n.total-row {\n  display: flex;\n  justify-content: space-between;\n  width: 250px;\n}\n\n.total-row.final {\n  padding-top: 0.75rem;\n  border-top: 2px solid #e5e7eb;\n  font-weight: 700;\n  font-size: 1.125rem;\n}\n\n.total-row.final span:last-child {\n  color: #059669;\n}\n\n/* Pago info box */\n.pago-info-box {\n  padding: 1rem;\n  background: #fffbeb;\n  border: 1px solid #fcd34d;\n  border-radius: 0.5rem;\n}\n\n.pago-info-row {\n  display: flex;\n  gap: 0.75rem;\n  align-items: flex-start;\n}\n\n.pago-info-row svg {\n  color: #f59e0b;\n  flex-shrink: 0;\n  margin-top: 0.125rem;\n}\n\n.pago-info-row strong {\n  display: block;\n  color: #92400e;\n  margin-bottom: 0.25rem;\n}\n\n.pago-info-row p {\n  margin: 0;\n  font-size: 0.875rem;\n  color: #78350f;\n}\n\n.pago-referencia,\n.pago-notas {\n  display: flex;\n  justify-content: space-between;\n  margin-top: 0.75rem;\n  padding-top: 0.75rem;\n  border-top: 1px dashed #fcd34d;\n  font-size: 0.875rem;\n}\n\n.pago-referencia label,\n.pago-notas label {\n  color: #92400e;\n  font-weight: 500;\n}\n\n.pago-referencia span,\n.pago-notas span {\n  color: #78350f;\n}\n\n/* Loading */\n.loading-overlay {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  padding: 3rem;\n}\n\n.loading-spinner {\n  width: 40px;\n  height: 40px;\n  border: 3px solid #e5e7eb;\n  border-top-color: #667eea;\n  border-radius: 50%;\n  animation: spin 0.8s linear infinite;\n}\n\n@keyframes spin {\n  to {\n    transform: rotate(360deg);\n  }\n}\n\n/* Responsive */\n@media (max-width: 1024px) {\n  .crear-factura-container {\n    grid-template-columns: 1fr;\n  }\n\n  .factura-detail-grid {\n    grid-template-columns: 1fr;\n  }\n}\n\n@media (max-width: 768px) {\n  .facturacion-header {\n    flex-direction: column;\n    gap: 1rem;\n    align-items: flex-start;\n  }\n\n  .historial-filters {\n    flex-direction: column;\n  }\n\n  .filter-group input,\n  .filter-group select {\n    min-width: auto;\n    width: 100%;\n  }\n\n  .form-row {\n    grid-template-columns: 1fr;\n  }\n}\n\n/* ===== SEARCHABLE SELECT (Select2 style) ===== */\n.searchable-select-container {\n  position: relative;\n}\n\n.searchable-select {\n  position: relative;\n  width: 100%;\n}\n\n.searchable-input-wrapper {\n  position: relative;\n  display: flex;\n  align-items: center;\n}\n\n.searchable-input-wrapper input {\n  width: 100%;\n  padding: 0.5rem 2rem 0.5rem 0.75rem;\n  border: 1px solid #d1d5db;\n  border-radius: 0.375rem;\n  font-size: 0.875rem;\n  background: white;\n  transition: all 0.2s;\n}\n\n.searchable-input-wrapper input:focus {\n  outline: none;\n  border-color: #667eea;\n  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);\n}\n\n.searchable-input-wrapper input::placeholder {\n  color: #9ca3af;\n}\n\n.clear-selection-btn {\n  position: absolute;\n  right: 0.5rem;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 1.25rem;\n  height: 1.25rem;\n  padding: 0;\n  background: #e5e7eb;\n  border: none;\n  border-radius: 50%;\n  color: #6b7280;\n  cursor: pointer;\n  transition: all 0.2s;\n}\n\n.clear-selection-btn:hover {\n  background: #d1d5db;\n  color: #374151;\n}\n\n.searchable-dropdown {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  right: 0;\n  margin-top: 0.25rem;\n  background: white;\n  border: 1px solid #d1d5db;\n  border-radius: 0.375rem;\n  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);\n  max-height: 200px;\n  overflow-y: auto;\n  z-index: 100;\n}\n\n.searchable-dropdown .dropdown-item {\n  display: flex;\n  flex-direction: column;\n  gap: 0.125rem;\n  padding: 0.625rem 0.75rem;\n  cursor: pointer;\n  transition: background 0.15s;\n  border-bottom: 1px solid #f3f4f6;\n}\n\n.searchable-dropdown .dropdown-item:last-child {\n  border-bottom: none;\n}\n\n.searchable-dropdown .dropdown-item:hover {\n  background: #f3f4f6;\n}\n\n.searchable-dropdown .dropdown-item.selected {\n  background: #eff6ff;\n}\n\n.searchable-dropdown .cliente-nombre {\n  font-size: 0.875rem;\n  font-weight: 500;\n  color: #1f2937;\n}\n\n.searchable-dropdown .cliente-telefono {\n  font-size: 0.75rem;\n  color: #6b7280;\n}\n",".etiquetas-zebra-page {\n  padding: 16px;\n  width: 100%;\n  height: 100%;\n  box-sizing: border-box;\n}\n\n.etiquetas-zebra-page .page-header {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  margin-bottom: 8px;\n  background: none;\n  color: inherit;\n  padding: 0;\n  border-radius: 0;\n  flex-wrap: wrap;\n  gap: 8px;\n}\n\n.etiquetas-zebra-page .header-actions {\n  display: flex;\n  gap: 6px;\n  align-items: center;\n}\n\n/* Perfiles */\n.perfiles-section {\n  display: flex;\n  align-items: center;\n  gap: 6px;\n}\n\n.perfil-select {\n  padding: 5px 8px;\n  border: 1px solid #d1d5db;\n  border-radius: 6px;\n  font-size: 13px;\n  background: #fff;\n  min-width: 160px;\n  cursor: pointer;\n}\n.perfil-select:focus { outline: none; border-color: #3b82f6; }\n\n.nuevo-perfil-inline {\n  display: flex;\n  align-items: center;\n  gap: 4px;\n}\n.nuevo-perfil-inline input {\n  padding: 5px 8px;\n  border: 1px solid #d1d5db;\n  border-radius: 6px;\n  font-size: 13px;\n  width: 160px;\n}\n.nuevo-perfil-inline input:focus { outline: none; border-color: #3b82f6; }\n\n/* Layout principal */\n.etiquetas-layout {\n  display: grid;\n  grid-template-columns: 2fr 1fr;\n  gap: 16px;\n  align-items: start;\n  height: calc(100vh - 200px);\n}\n\n/* Panel de productos */\n.etiquetas-productos-panel {\n  background: #fff;\n  border-radius: 10px;\n  border: 1px solid #e5e7eb;\n  overflow: hidden;\n  display: flex;\n  flex-direction: column;\n  height: 100%;\n}\n\n.etiquetas-productos-panel .panel-header {\n  padding: 16px 20px;\n  border-bottom: 1px solid #e5e7eb;\n  display: flex;\n  gap: 10px;\n  align-items: center;\n  flex-wrap: wrap;\n}\n\n.etiquetas-productos-panel .search-input {\n  flex: 1;\n  min-width: 120px;\n  padding: 8px 12px;\n  border: 1px solid #d1d5db;\n  border-radius: 6px;\n  font-size: 14px;\n  outline: none;\n  transition: border-color 0.2s;\n}\n\n.etiquetas-productos-panel .search-input:focus {\n  border-color: #3b82f6;\n  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);\n}\n\n.etiquetas-productos-panel .categoria-select {\n  padding: 8px 12px;\n  border: 1px solid #d1d5db;\n  border-radius: 6px;\n  font-size: 14px;\n  outline: none;\n  min-width: 100px;\n}\n\n.productos-table-container {\n  flex: 1;\n  overflow-y: auto;\n}\n\n.productos-table {\n  width: 100%;\n  border-collapse: collapse;\n}\n\n.productos-table th {\n  position: sticky;\n  top: 0;\n  background: #f9fafb;\n  padding: 10px 12px;\n  text-align: left;\n  font-size: 12px;\n  font-weight: 600;\n  color: #6b7280;\n  text-transform: uppercase;\n  border-bottom: 1px solid #e5e7eb;\n  z-index: 1;\n}\n\n.productos-table td {\n  padding: 8px 12px;\n  font-size: 13px;\n  color: #374151;\n  border-bottom: 1px solid #f3f4f6;\n}\n\n.productos-table tr:hover { background: #f0f9ff; }\n.productos-table tr.selected { background: #f3f4f6; }\n\n.productos-table .checkbox-cell {\n  width: 40px;\n  text-align: center;\n}\n\n.productos-table .checkbox-cell input[type=\"checkbox\"] {\n  width: 16px;\n  height: 16px;\n  cursor: pointer;\n  accent-color: #3b82f6;\n}\n\n.productos-table .qty-cell { width: 70px; }\n\n.productos-table .qty-input {\n  width: 55px;\n  padding: 4px 6px;\n  border: 1px solid #d1d5db;\n  border-radius: 4px;\n  font-size: 13px;\n  text-align: center;\n}\n\n.productos-table .qty-input:focus {\n  border-color: #3b82f6;\n  outline: none;\n}\n\n.productos-table .product-name {\n  font-weight: 500;\n  max-width: 180px;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n\n.productos-table .product-code {\n  font-family: monospace;\n  font-size: 12px;\n  color: #6b7280;\n}\n\n.productos-table .product-price {\n  font-weight: 600;\n  color: #059669;\n}\n\n.table-footer {\n  padding: 10px 16px;\n  border-top: 1px solid #e5e7eb;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  font-size: 13px;\n  color: #6b7280;\n  background: #f9fafb;\n}\n\n.table-footer .pagination-btns {\n  display: flex;\n  gap: 6px;\n  align-items: center;\n}\n\n.table-footer .pagination-btns button {\n  padding: 4px 10px;\n  border: 1px solid #d1d5db;\n  background: #fff;\n  border-radius: 4px;\n  font-size: 12px;\n  cursor: pointer;\n}\n\n.table-footer .pagination-btns button:disabled { opacity: 0.5; cursor: not-allowed; }\n.table-footer .pagination-btns button:hover:not(:disabled) { background: #f3f4f6; }\n\n/* =================== CONFIG PANEL =================== */\n.etiquetas-config-panel {\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n  height: 100%;\n  overflow-y: auto;\n  padding-right: 4px;\n}\n\n/* Layout 2 columnas para config */\n.config-2col {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 12px;\n}\n\n.config-col {\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n}\n\n.config-card {\n  background: #fff;\n  border-radius: 10px;\n  border: 1px solid #e5e7eb;\n  padding: 14px 16px;\n}\n\n.config-card h3 {\n  font-size: 13px;\n  font-weight: 600;\n  color: #1f2937;\n  margin: 0 0 10px;\n  display: flex;\n  align-items: center;\n  gap: 6px;\n}\n\n.config-card .config-row {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  margin-bottom: 8px;\n}\n\n.config-card .config-row:last-child { margin-bottom: 0; }\n\n.config-card .config-row label {\n  font-size: 12px;\n  color: #4b5563;\n  white-space: nowrap;\n}\n\n.config-card .config-row select,\n.config-card .config-row input {\n  padding: 5px 8px;\n  border: 1px solid #d1d5db;\n  border-radius: 5px;\n  font-size: 12px;\n  outline: none;\n  min-width: 120px;\n}\n\n.config-card .config-row select:focus,\n.config-card .config-row input:focus {\n  border-color: #3b82f6;\n}\n\n/* Config grids */\n.config-grid-2 {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 8px;\n  margin-bottom: 10px;\n}\n\n.config-field {\n  display: flex;\n  flex-direction: column;\n  gap: 3px;\n}\n\n.config-field label {\n  font-size: 11px;\n  color: #6b7280;\n  font-weight: 500;\n}\n\n.config-field input {\n  padding: 5px 8px;\n  border: 1px solid #d1d5db;\n  border-radius: 5px;\n  font-size: 12px;\n  outline: none;\n  width: 100%;\n  box-sizing: border-box;\n}\n\n.config-field input:focus {\n  border-color: #3b82f6;\n}\n\n/* Presets */\n.preset-btns {\n  display: flex;\n  gap: 4px;\n  flex-wrap: wrap;\n}\n\n.preset-btn {\n  padding: 4px 10px;\n  border: 1px solid #d1d5db;\n  background: #f9fafb;\n  border-radius: 4px;\n  font-size: 11px;\n  cursor: pointer;\n  color: #374151;\n  transition: all 0.15s;\n}\n\n.preset-btn:hover { background: #e5e7eb; }\n.preset-btn.active {\n  background: #1e40af;\n  color: #fff;\n  border-color: #1e40af;\n}\n\n/* =================== CANVAS PREVIEW =================== */\n.preview-card {\n  position: sticky;\n  top: 0;\n  z-index: 2;\n}\n\n.preview-header {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  margin-bottom: 10px;\n}\n\n.preview-header h3 {\n  margin-bottom: 0 !important;\n}\n\n.grid-toggle {\n  display: flex;\n  align-items: center;\n  gap: 4px;\n  font-size: 11px;\n  color: #6b7280;\n  cursor: pointer;\n}\n\n.grid-toggle input {\n  width: 14px;\n  height: 14px;\n  accent-color: #3b82f6;\n  cursor: pointer;\n}\n\n/* Preview navegacion entre productos */\n.preview-nav {\n  display: flex;\n  align-items: center;\n  gap: 2px;\n}\n\n.preview-nav-label {\n  font-size: 11px;\n  color: #6b7280;\n  min-width: 32px;\n  text-align: center;\n  font-weight: 600;\n}\n\n.preview-product-info {\n  background: #f8fafc;\n  border: 1px solid #e2e8f0;\n  border-radius: 6px;\n  padding: 6px 10px;\n  margin-bottom: 10px;\n}\n\n.preview-product-name {\n  font-size: 12px;\n  color: #374151;\n  font-weight: 600;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  margin-bottom: 6px;\n}\n\n.preview-product-overrides {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  flex-wrap: wrap;\n}\n\n.override-field {\n  display: flex;\n  align-items: center;\n  gap: 3px;\n}\n\n.override-field label {\n  font-size: 10px;\n  color: #6b7280;\n  white-space: nowrap;\n}\n\n.override-field input {\n  width: 52px !important;\n  min-width: 52px !important;\n  padding: 2px 4px !important;\n  font-size: 11px !important;\n  text-align: center;\n}\n\n.override-field input.has-override {\n  border-color: #3b82f6;\n  background: #eff6ff;\n}\n\n.label-preview-wrapper {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 6px;\n}\n\n.label-preview-outer {\n  border: 1px solid #1e40af;\n  border-radius: 2px;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  background: #e5e7eb;\n}\n\n.label-preview-label {\n  background: #fff;\n  position: relative;\n  overflow: hidden;\n}\n\n.label-canvas {\n  cursor: default;\n  user-select: none;\n  overflow: hidden;\n}\n\n/* Grid lines */\n.grid-line {\n  position: absolute;\n  pointer-events: none;\n  z-index: 0;\n}\n\n.grid-line-v {\n  width: 1px;\n  top: 0;\n  bottom: 0;\n  background: repeating-linear-gradient(\n    to bottom,\n    rgba(59, 130, 246, 0.1) 0,\n    rgba(59, 130, 246, 0.1) 2px,\n    transparent 2px,\n    transparent 4px\n  );\n}\n\n.grid-line-h {\n  height: 1px;\n  left: 0;\n  right: 0;\n  background: repeating-linear-gradient(\n    to right,\n    rgba(59, 130, 246, 0.1) 0,\n    rgba(59, 130, 246, 0.1) 2px,\n    transparent 2px,\n    transparent 4px\n  );\n}\n\n/* Canvas elements */\n.canvas-element {\n  position: absolute;\n  cursor: grab;\n  border: 1px solid transparent;\n  border-radius: 2px;\n  padding: 1px 3px;\n  z-index: 1;\n  transition: border-color 0.1s;\n  font-family: 'Arial', 'Helvetica', sans-serif;\n  color: #000;\n  line-height: 1.15;\n}\n\n.canvas-element:hover {\n  border-color: var(--elem-color, #3b82f6);\n  background: rgba(59, 130, 246, 0.04);\n}\n\n.canvas-element.selected {\n  border-color: var(--elem-color, #3b82f6);\n  background: rgba(59, 130, 246, 0.06);\n  box-shadow: 0 0 0 1px var(--elem-color, #3b82f6);\n  z-index: 2;\n}\n\n.canvas-element:active {\n  cursor: grabbing;\n}\n\n.canvas-element.right-aligned {\n  transform: translateX(-100%);\n}\n\n/* Size handle — barra inferior completa */\n.canvas-size-handle {\n  position: absolute;\n  left: -1px;\n  right: -1px;\n  bottom: -6px;\n  height: 8px;\n  cursor: ns-resize;\n  z-index: 3;\n  background: var(--elem-color, #3b82f6);\n  border-radius: 0 0 3px 3px;\n  opacity: 0.8;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  transition: opacity 0.1s;\n}\n\n.canvas-size-handle:hover {\n  opacity: 1;\n  height: 10px;\n}\n\n.canvas-size-handle:active {\n  opacity: 1;\n}\n\n.canvas-size-value {\n  font-size: 8px;\n  font-weight: 700;\n  color: #fff;\n  line-height: 1;\n  pointer-events: none;\n}\n\n/* Size handle derecho (ancho barcode) */\n.canvas-size-handle-right {\n  position: absolute;\n  top: -1px;\n  bottom: -1px;\n  right: -6px;\n  width: 8px;\n  cursor: ew-resize;\n  z-index: 3;\n  background: var(--elem-color, #8b5cf6);\n  border-radius: 0 3px 3px 0;\n  opacity: 0.8;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  writing-mode: vertical-rl;\n  transition: opacity 0.1s;\n}\n\n.canvas-size-handle-right:hover {\n  opacity: 1;\n  width: 10px;\n}\n\n.canvas-size-handle-right:active {\n  opacity: 1;\n}\n\n/* Label flotante del elemento */\n.canvas-elem-label {\n  position: absolute;\n  top: -18px;\n  left: -1px;\n  font-size: 9px;\n  color: #fff;\n  padding: 1px 5px;\n  border-radius: 2px 2px 0 0;\n  white-space: nowrap;\n  pointer-events: none;\n  font-weight: 600;\n  line-height: 1.4;\n}\n\n.preview-barcode-visual {\n  overflow: hidden;\n}\n\n.preview-dimensions {\n  font-size: 11px;\n  color: #6b7280;\n}\n\n.preview-selected-info {\n  font-weight: 600;\n}\n\n/* =================== ELEMENTOS LIST =================== */\n.elementos-canvas-list {\n  display: flex;\n  flex-direction: column;\n  gap: 4px;\n}\n\n.elemento-canvas-item {\n  display: flex;\n  align-items: center;\n  gap: 6px;\n  padding: 6px 8px;\n  background: #f9fafb;\n  border-radius: 5px;\n  border: 1px solid #e5e7eb;\n  cursor: pointer;\n  transition: all 0.15s;\n}\n\n.elemento-canvas-item:hover {\n  border-color: var(--elem-color, #3b82f6);\n}\n\n.elemento-canvas-item.selected {\n  border-color: var(--elem-color, #3b82f6);\n  background: #f0f9ff;\n  box-shadow: 0 0 0 1px var(--elem-color, #3b82f6);\n}\n\n.elemento-canvas-item input[type=\"checkbox\"] {\n  width: 14px;\n  height: 14px;\n  accent-color: #3b82f6;\n  cursor: pointer;\n  flex-shrink: 0;\n}\n\n.elem-color-dot {\n  width: 8px;\n  height: 8px;\n  border-radius: 50%;\n  flex-shrink: 0;\n}\n\n.elem-label {\n  font-size: 12px;\n  color: #374151;\n  font-weight: 500;\n  flex: 1;\n  white-space: nowrap;\n}\n\n.elem-pos-inputs {\n  display: flex;\n  align-items: center;\n  gap: 3px;\n  margin-left: auto;\n}\n\n.elem-pos-inputs label {\n  font-size: 10px;\n  color: #9ca3af;\n  font-weight: 600;\n}\n\n.elem-pos-inputs input {\n  width: 42px !important;\n  min-width: 42px !important;\n  padding: 2px 4px !important;\n  font-size: 11px !important;\n  text-align: center;\n  border: 1px solid #d1d5db;\n  border-radius: 3px;\n  outline: none;\n}\n\n.elem-pos-inputs input:focus {\n  border-color: #3b82f6;\n}\n\n/* =================== MODO IMPRESION =================== */\n.modo-toggle {\n  display: flex;\n  border: 1px solid #d1d5db;\n  border-radius: 5px;\n  overflow: hidden;\n}\n\n.modo-btn {\n  padding: 4px 12px;\n  border: none;\n  background: #f9fafb;\n  font-size: 11px;\n  font-weight: 600;\n  cursor: pointer;\n  color: #6b7280;\n  transition: all 0.15s;\n  border-right: 1px solid #e5e7eb;\n}\n\n.modo-btn:last-child { border-right: none; }\n.modo-btn:hover { background: #e5e7eb; }\n\n.modo-btn.active {\n  background: #1e40af;\n  color: #fff;\n}\n\n.modo-hint {\n  font-size: 10px;\n  color: #9ca3af;\n  margin-top: 4px;\n  line-height: 1.3;\n}\n\n/* =================== LOGO =================== */\n.logo-preview-row {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n}\n\n.logo-thumb {\n  width: 48px;\n  height: 48px;\n  object-fit: contain;\n  border: 1px solid #e5e7eb;\n  border-radius: 4px;\n  background: #f9fafb;\n}\n\n.logo-actions {\n  display: flex;\n  flex-direction: column;\n  gap: 4px;\n}\n\n/* =================== SELECCION RESUMEN =================== */\n.seleccion-resumen {\n  background: #f9fafb;\n  border-top: 1px solid #e5e7eb;\n  padding: 10px 12px;\n}\n\n.seleccion-resumen .resumen-header {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  margin-bottom: 6px;\n}\n\n.seleccion-resumen .resumen-header h4 {\n  font-size: 13px;\n  font-weight: 600;\n  color: #1f2937;\n  margin: 0;\n}\n\n.seleccion-resumen .resumen-header .total-etiquetas {\n  font-size: 12px;\n  color: #6b7280;\n  font-weight: 600;\n}\n\n.seleccion-list {\n  max-height: 120px;\n  overflow-y: auto;\n}\n\n.seleccion-item {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  padding: 3px 0;\n  font-size: 12px;\n  color: #374151;\n  border-bottom: 1px solid #e5e7eb;\n}\n\n.seleccion-item:last-child { border-bottom: none; }\n\n.seleccion-item .item-name {\n  flex: 1;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  margin-right: 8px;\n}\n\n.seleccion-item .item-qty {\n  font-weight: 600;\n  color: #374151;\n  min-width: 30px;\n  text-align: right;\n}\n\n.seleccion-item .remove-btn {\n  background: none;\n  border: none;\n  color: #ef4444;\n  cursor: pointer;\n  padding: 2px;\n  margin-left: 6px;\n  display: flex;\n  align-items: center;\n}\n\n.seleccion-item .remove-btn:hover { color: #dc2626; }\n\n.seleccion-item {\n  cursor: pointer;\n  border-radius: 4px;\n  padding: 3px 4px;\n  transition: background 0.15s;\n}\n\n.seleccion-item:hover {\n  background: #f1f5f9;\n}\n\n.seleccion-item.previewing {\n  background: #eff6ff;\n  border-color: #bfdbfe;\n}\n\n/* =================== BOTONES =================== */\n.action-buttons {\n  display: flex;\n  gap: 8px;\n}\n\n.btn-zb {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  gap: 6px;\n  padding: 10px 16px;\n  border: none;\n  border-radius: 7px;\n  font-size: 13px;\n  font-weight: 600;\n  cursor: pointer;\n  transition: all 0.15s;\n}\n\n.btn-zb.primary {\n  background: #1e40af;\n  color: #fff;\n  flex: 1;\n}\n\n.btn-zb.primary:hover:not(:disabled) { background: #1e3a8a; }\n\n.btn-zb.secondary {\n  background: transparent;\n  color: #374151;\n  border: none;\n}\n\n.btn-zb.secondary:hover:not(:disabled) { background: #f3f4f6; }\n\n.btn-zb.small {\n  padding: 6px 12px;\n  font-size: 12px;\n  border-radius: 6px;\n}\n\n.btn-zb:disabled { opacity: 0.5; cursor: not-allowed; }\n\n/* =================== SELECT ALL =================== */\n.select-all-row {\n  padding: 8px 12px;\n  background: #f9fafb;\n  border-bottom: 1px solid #e5e7eb;\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  font-size: 13px;\n  color: #4b5563;\n}\n\n.select-all-row input[type=\"checkbox\"] {\n  width: 16px;\n  height: 16px;\n  accent-color: #3b82f6;\n  cursor: pointer;\n}\n\n.btn-clear-selection {\n  margin-left: auto;\n  background: none;\n  border: none;\n  color: #ef4444;\n  font-size: 12px;\n  cursor: pointer;\n  padding: 2px 6px;\n}\n\n.btn-clear-selection:hover { text-decoration: underline; }\n\n/* =================== UTILS =================== */\n.loading-overlay {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  padding: 40px;\n  color: #6b7280;\n  font-size: 14px;\n  gap: 8px;\n}\n\n.spinning {\n  animation: spin 1s linear infinite;\n}\n\n@keyframes spin {\n  from { transform: rotate(0deg); }\n  to { transform: rotate(360deg); }\n}\n\n/* =================== RESPONSIVE =================== */\n@media (max-width: 1100px) {\n  .config-2col {\n    grid-template-columns: 1fr;\n  }\n}\n\n@media (max-width: 900px) {\n  .etiquetas-layout {\n    grid-template-columns: 1fr;\n  }\n}\n\n/* Scrollbar del panel config */\n.etiquetas-config-panel::-webkit-scrollbar {\n  width: 5px;\n}\n\n.etiquetas-config-panel::-webkit-scrollbar-thumb {\n  background: #d1d5db;\n  border-radius: 3px;\n}\n\n.etiquetas-config-panel::-webkit-scrollbar-thumb:hover {\n  background: #9ca3af;\n}\n",".devoluciones-page {\n    padding: 1.5rem;\n    max-width: 1200px;\n    margin: 0 auto;\n    display: flex;\n    flex-direction: column;\n    gap: 1.5rem;\n}\n\n.devoluciones-header {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n}\n\n.devoluciones-title {\n    display: flex;\n    align-items: center;\n    gap: 0.75rem;\n}\n\n.devoluciones-title h1 {\n    margin: 0;\n    font-size: 1.5rem;\n    font-weight: 700;\n    color: #1f2937;\n}\n\n.devoluciones-title svg {\n    color: #667eea;\n}\n\n/* Búsqueda */\n.devoluciones-search {\n    background: #f9fafb;\n    border: 1px solid #e5e7eb;\n    border-radius: 0.5rem;\n    padding: 1.25rem;\n}\n\n.devoluciones-search label {\n    display: block;\n    margin-bottom: 0.5rem;\n    font-weight: 500;\n    color: #374151;\n}\n\n.devoluciones-search-row {\n    display: flex;\n    gap: 0.75rem;\n}\n\n/* Info de venta */\n.devoluciones-venta-info {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    padding: 1rem 1.25rem;\n    background: #f0fdf4;\n    border-radius: 0.5rem;\n    border: 1px solid #86efac;\n}\n\n.devoluciones-venta-folio {\n    font-weight: 600;\n    color: #166534;\n    font-size: 1.1rem;\n}\n\n.devoluciones-venta-fecha {\n    font-size: 0.8125rem;\n    color: #15803d;\n}\n\n.devoluciones-venta-cliente {\n    font-size: 0.875rem;\n    color: #166534;\n    margin-top: 0.25rem;\n}\n\n.devoluciones-venta-total {\n    font-size: 1.5rem;\n    font-weight: 700;\n    color: #16a34a;\n}\n\n/* Tabla de artículos */\n.devoluciones-articulos {\n    background: white;\n    border: 1px solid #e5e7eb;\n    border-radius: 0.5rem;\n    overflow: hidden;\n}\n\n.devoluciones-articulos-header {\n    padding: 0.75rem 1rem;\n    font-size: 0.875rem;\n    font-weight: 600;\n    color: #374151;\n    background: #f9fafb;\n    border-bottom: 1px solid #e5e7eb;\n}\n\n.devoluciones-articulos-table {\n    overflow-x: auto;\n}\n\n.devoluciones-articulos-table table {\n    width: 100%;\n    border-collapse: collapse;\n}\n\n.devoluciones-articulos-table th {\n    padding: 0.625rem 0.75rem;\n    text-align: center;\n    font-weight: 600;\n    color: #374151;\n    font-size: 0.75rem;\n    text-transform: uppercase;\n    letter-spacing: 0.03rem;\n    background: #f9fafb;\n    border-bottom: 2px solid #e5e7eb;\n}\n\n.devoluciones-articulos-table td {\n    padding: 0.75rem;\n    text-align: center;\n    color: #1f2937;\n    border-bottom: 1px solid #f3f4f6;\n    font-size: 0.9375rem;\n}\n\n.devoluciones-articulos-table tbody tr:hover {\n    background: #f9fafb;\n}\n\n.devoluciones-articulos-table tbody tr.selected {\n    background: #fef3c7;\n}\n\n.devoluciones-articulos-table input[type=\"checkbox\"] {\n    width: 1.125rem;\n    height: 1.125rem;\n    cursor: pointer;\n}\n\n.devoluciones-qty-input {\n    width: 4.5rem;\n    padding: 0.375rem;\n    border: 1px solid #d1d5db;\n    border-radius: 0.25rem;\n    text-align: center;\n    font-size: 0.9375rem;\n    font-weight: 500;\n}\n\n.devoluciones-qty-input:focus {\n    outline: none;\n    border-color: #667eea;\n    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);\n}\n\n/* Total */\n.devoluciones-total {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    padding: 1rem 1.25rem;\n    background: #fef3c7;\n    border-radius: 0.5rem;\n    border: 1px solid #fcd34d;\n}\n\n.devoluciones-total-label {\n    font-weight: 600;\n    color: #92400e;\n    font-size: 1rem;\n}\n\n.devoluciones-total-items {\n    font-size: 0.8125rem;\n    color: #b45309;\n}\n\n.devoluciones-total-amount {\n    font-size: 1.75rem;\n    font-weight: 700;\n    color: #b45309;\n}\n\n/* Botones */\n.devoluciones-actions {\n    display: flex;\n    gap: 0.75rem;\n    justify-content: flex-end;\n}\n\n.devoluciones-actions button {\n    min-width: 10rem;\n}\n\n/* Estado vacío */\n.devoluciones-empty {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    padding: 4rem 2rem;\n    color: #9ca3af;\n    gap: 0.75rem;\n    background: #f9fafb;\n    border: 1px solid #e5e7eb;\n    border-radius: 0.5rem;\n}\n\n.devoluciones-empty svg {\n    color: #d1d5db;\n}\n\n.devoluciones-empty p {\n    margin: 0;\n    font-weight: 600;\n    font-size: 1.125rem;\n    color: #6b7280;\n}\n\n.devoluciones-empty span {\n    font-size: 0.875rem;\n}\n\n/* Sin permisos */\n.devoluciones-no-permission {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    padding: 4rem;\n    gap: 1rem;\n    color: #9ca3af;\n}\n\n.devoluciones-no-permission svg {\n    color: #f59e0b;\n}\n\n.devoluciones-no-permission h2 {\n    margin: 0;\n    color: #374151;\n}\n\n.devoluciones-content {\n    display: flex;\n    flex-direction: column;\n    gap: 1.25rem;\n}\n","/* Estilos globales para POS Abarrotes */\n\n/* Reset básico */\n* {\n  margin: 0;\n  padding: 0;\n  box-sizing: border-box;\n}\n\n/* Iconos escalables con el viewport */\n/* Los SVG heredan el tamaño del font-size del padre */\nsvg {\n  width: 1em;\n  height: 1em;\n  flex-shrink: 0;\n}\n\n/* Clase para iconos que deben mantener tamaño fijo en px */\nsvg.icon-fixed {\n  width: auto;\n  height: auto;\n}\n\n/* Iconos grandes para estados vacíos (empty states) */\n.empty-state svg,\n.loading-state svg {\n  width: 3rem;\n  height: 3rem;\n}\n\n/* Variables CSS */\n:root {\n  /* Colores principales */\n  --primary-50: #eff6ff;\n  --primary-100: #dbeafe;\n  --primary-200: #bfdbfe;\n  --primary-300: #93c5fd;\n  --primary-400: #60a5fa;\n  --primary-500: #3b82f6;\n  --primary-600: #2563eb;\n  --primary-700: #1d4ed8;\n  --primary-800: #1e40af;\n  --primary-900: #1e3a8a;\n\n  /* Grises */\n  --gray-50: #f9fafb;\n  --gray-100: #f3f4f6;\n  --gray-200: #e5e7eb;\n  --gray-300: #d1d5db;\n  --gray-400: #9ca3af;\n  --gray-500: #6b7280;\n  --gray-600: #4b5563;\n  --gray-700: #374151;\n  --gray-800: #1f2937;\n  --gray-900: #111827;\n\n  /* Colores de estado */\n  --success-50: #ecfdf5;\n  --success-500: #10b981;\n  --success-600: #059669;\n\n  --warning-50: #fffbeb;\n  --warning-500: #f59e0b;\n  --warning-600: #d97706;\n\n  --error-50: #fef2f2;\n  --error-500: #ef4444;\n  --error-600: #dc2626;\n\n  /* Tipografía */\n  --font-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',\n    'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',\n    sans-serif;\n  --font-mono: 'SF Mono', 'Monaco', 'Inconsolata', 'Roboto Mono',\n    'Source Code Pro', monospace;\n\n  /* Tamaños de fuente */\n  --text-xs: 0.75rem;     /* 12px */\n  --text-sm: 0.875rem;    /* 14px */\n  --text-base: 1rem;      /* 16px */\n  --text-lg: 1.125rem;    /* 18px */\n  --text-xl: 1.25rem;     /* 20px */\n  --text-2xl: 1.5rem;     /* 24px */\n  --text-3xl: 1.875rem;   /* 30px */\n  --text-4xl: 2.25rem;    /* 36px */\n\n  /* Espaciado */\n  --space-1: 0.25rem;     /* 4px */\n  --space-2: 0.5rem;      /* 8px */\n  --space-3: 0.75rem;     /* 12px */\n  --space-4: 1rem;        /* 16px */\n  --space-5: 1.25rem;     /* 20px */\n  --space-6: 1.5rem;      /* 24px */\n  --space-8: 2rem;        /* 32px */\n  --space-12: 3rem;       /* 48px */\n  --space-16: 4rem;       /* 64px */\n\n  /* Radios de borde */\n  --radius-sm: 0.125rem;  /* 2px */\n  --radius-base: 0.25rem; /* 4px */\n  --radius-md: 0.375rem;  /* 6px */\n  --radius-lg: 0.5rem;    /* 8px */\n  --radius-xl: 0.75rem;   /* 12px */\n  --radius-2xl: 1rem;     /* 16px */\n\n  /* Sombras */\n  --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n  --shadow-base: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n  --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n  --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n\n  /* Transiciones */\n  --transition-fast: 150ms ease-in-out;\n  --transition-base: 250ms ease-in-out;\n  --transition-slow: 350ms ease-in-out;\n\n  /* Z-index */\n  --z-dropdown: 1000;\n  --z-modal: 1050;\n  --z-tooltip: 1100;\n  --z-notification: 1200;\n}\n\n/* Estilos base */\nhtml {\n  height: 100%;\n  /* Escalado responsivo: 16px base en 1920px de ancho\n     - Fórmula: 100vw / 120 = 16px cuando viewport = 1920px\n     - clamp() establece límites: mínimo 12px, máximo 18px\n     - Para escalado completo sin límites usar: calc(100vw / 120) */\n  font-size: clamp(12px, calc(100vw / 120), 18px);\n}\n\nbody {\n  height: 100%;\n  font-family: var(--font-sans);\n  background-color: var(--gray-50);\n  color: var(--gray-900);\n  line-height: 1.5;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n\n#root {\n  height: 100%;\n  display: flex;\n  flex-direction: column;\n}\n\n/* Utilidades de texto */\n.text-xs { font-size: var(--text-xs); }\n.text-sm { font-size: var(--text-sm); }\n.text-base { font-size: var(--text-base); }\n.text-lg { font-size: var(--text-lg); }\n.text-xl { font-size: var(--text-xl); }\n.text-2xl { font-size: var(--text-2xl); }\n.text-3xl { font-size: var(--text-3xl); }\n.text-4xl { font-size: var(--text-4xl); }\n\n.font-normal { font-weight: 400; }\n.font-medium { font-weight: 500; }\n.font-semibold { font-weight: 600; }\n.font-bold { font-weight: 700; }\n\n.text-left { text-align: left; }\n.text-center { text-align: center; }\n.text-right { text-align: right; }\n\n/* Utilidades de color */\n.text-gray-500 { color: var(--gray-500); }\n.text-gray-600 { color: var(--gray-600); }\n.text-gray-700 { color: var(--gray-700); }\n.text-gray-800 { color: var(--gray-800); }\n.text-gray-900 { color: var(--gray-900); }\n\n.text-primary { color: var(--primary-600); }\n.text-success { color: var(--success-600); }\n.text-warning { color: var(--warning-600); }\n.text-error { color: var(--error-600); }\n\n/* Utilidades de espaciado */\n.m-0 { margin: 0; }\n.m-1 { margin: var(--space-1); }\n.m-2 { margin: var(--space-2); }\n.m-3 { margin: var(--space-3); }\n.m-4 { margin: var(--space-4); }\n.m-5 { margin: var(--space-5); }\n.m-6 { margin: var(--space-6); }\n.m-8 { margin: var(--space-8); }\n\n.p-0 { padding: 0; }\n.p-1 { padding: var(--space-1); }\n.p-2 { padding: var(--space-2); }\n.p-3 { padding: var(--space-3); }\n.p-4 { padding: var(--space-4); }\n.p-5 { padding: var(--space-5); }\n.p-6 { padding: var(--space-6); }\n.p-8 { padding: var(--space-8); }\n\n/* Utilidades de flexbox */\n.flex { display: flex; }\n.flex-col { flex-direction: column; }\n.flex-row { flex-direction: row; }\n.items-center { align-items: center; }\n.items-start { align-items: flex-start; }\n.items-end { align-items: flex-end; }\n.justify-center { justify-content: center; }\n.justify-between { justify-content: space-between; }\n.justify-start { justify-content: flex-start; }\n.justify-end { justify-content: flex-end; }\n.flex-1 { flex: 1; }\n.flex-grow { flex-grow: 1; }\n\n/* Utilidades de grid */\n.grid { display: grid; }\n.grid-cols-1 { grid-template-columns: repeat(1, 1fr); }\n.grid-cols-2 { grid-template-columns: repeat(2, 1fr); }\n.grid-cols-3 { grid-template-columns: repeat(3, 1fr); }\n.grid-cols-4 { grid-template-columns: repeat(4, 1fr); }\n.gap-1 { gap: var(--space-1); }\n.gap-2 { gap: var(--space-2); }\n.gap-3 { gap: var(--space-3); }\n.gap-4 { gap: var(--space-4); }\n.gap-6 { gap: var(--space-6); }\n\n/* Utilidades de posición */\n.relative { position: relative; }\n.absolute { position: absolute; }\n.fixed { position: fixed; }\n.sticky { position: sticky; }\n\n/* Utilidades de borde */\n.rounded { border-radius: var(--radius-base); }\n.rounded-md { border-radius: var(--radius-md); }\n.rounded-lg { border-radius: var(--radius-lg); }\n.rounded-xl { border-radius: var(--radius-xl); }\n.rounded-full { border-radius: 9999px; }\n\n.border { border: 1px solid var(--gray-200); }\n.border-gray-300 { border-color: var(--gray-300); }\n.border-primary { border-color: var(--primary-500); }\n\n/* Utilidades de sombra */\n.shadow-sm { box-shadow: var(--shadow-sm); }\n.shadow { box-shadow: var(--shadow-base); }\n.shadow-md { box-shadow: var(--shadow-md); }\n.shadow-lg { box-shadow: var(--shadow-lg); }\n\n/* Utilidades de overflow */\n.overflow-hidden { overflow: hidden; }\n.overflow-auto { overflow: auto; }\n.overflow-scroll { overflow: scroll; }\n\n/* Utilidades de cursor */\n.cursor-pointer { cursor: pointer; }\n.cursor-not-allowed { cursor: not-allowed; }\n\n/* Utilidades de opacidad */\n.opacity-0 { opacity: 0; }\n.opacity-50 { opacity: 0.5; }\n.opacity-75 { opacity: 0.75; }\n.opacity-100 { opacity: 1; }\n\n/* Utilidades de transición */\n.transition { transition: all var(--transition-base); }\n.transition-colors { transition: color var(--transition-base), background-color var(--transition-base), border-color var(--transition-base); }\n\n/* Estados de hover */\n.hover\\:bg-gray-50:hover { background-color: var(--gray-50); }\n.hover\\:bg-gray-100:hover { background-color: var(--gray-100); }\n.hover\\:text-primary:hover { color: var(--primary-600); }\n\n/* Estados de focus */\n.focus\\:outline-none:focus { outline: none; }\n.focus\\:ring:focus { box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1); }\n\n/* Scrollbar personalizado */\n::-webkit-scrollbar {\n  width: 8px;\n  height: 8px;\n}\n\n::-webkit-scrollbar-track {\n  background: var(--gray-100);\n  border-radius: var(--radius-base);\n}\n\n::-webkit-scrollbar-thumb {\n  background: var(--gray-300);\n  border-radius: var(--radius-base);\n}\n\n::-webkit-scrollbar-thumb:hover {\n  background: var(--gray-400);\n}\n\n/* Estilos para elementos de formulario */\ninput, textarea, select {\n  font-family: inherit;\n  font-size: inherit;\n}\n\ninput:focus, textarea:focus, select:focus {\n  outline: none;\n  border-color: var(--primary-500);\n  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);\n}\n\n/* Estilos globales para inputs numéricos */\ninput[type=\"number\"] {\n  text-align: right;\n}\n\n/* Ocultar flechas de inputs numéricos en Chrome, Safari, Edge, Opera */\ninput[type=\"number\"]::-webkit-outer-spin-button,\ninput[type=\"number\"]::-webkit-inner-spin-button {\n  -webkit-appearance: none;\n  margin: 0;\n}\n\n/* Ocultar flechas de inputs numéricos en Firefox */\ninput[type=\"number\"] {\n  -moz-appearance: textfield;\n}\n\n/* Alineación de columnas numéricas en tablas */\n.numeric-column,\ntd.price,\ntd.total,\ntd.stock,\ntd.costo,\nth.numeric-header {\n  text-align: right;\n}\n\n/* Alineación de columnas de acciones */\ntd.actions,\nth.actions-header,\n.actions,\n.actions-compact {\n  text-align: center;\n}\n\n/* Alineación de encabezados y contenido de tabla */\ntable th {\n  text-align: left;\n}\n\ntable td {\n  text-align: left;\n}\n\n/* Encabezados y contenido de columnas numéricas a la derecha */\nth.numeric-header,\nth[data-type=\"numeric\"] {\n  text-align: right;\n}\n\ntd.numeric-column,\ntd[data-type=\"numeric\"] {\n  text-align: right;\n}\n\n/* Encabezados y contenido de columnas de acciones centrados */\nth.actions-header,\nth[data-type=\"actions\"] {\n  text-align: center;\n}\n\ntd.actions-column,\ntd[data-type=\"actions\"],\ntd:has(.actions),\ntd:has(.actions-compact) {\n  text-align: center;\n}\n\n/* Status dots para estados activo/inactivo */\n.status-dot {\n  display: flex;\n  align-items: center;\n  gap: 0.25rem;\n  font-size: 0.85rem;\n  font-weight: 500;\n}\n\n.status-dot.active {\n  color: #16a34a !important;\n}\n\n.status-dot.inactive {\n  color: var(--error-color);\n}\n\n/* Animaciones básicas */\n@keyframes fadeIn {\n  from { opacity: 0; }\n  to { opacity: 1; }\n}\n\n@keyframes slideIn {\n  from { transform: translateY(-10px); opacity: 0; }\n  to { transform: translateY(0); opacity: 1; }\n}\n\n@keyframes spin {\n  from { transform: rotate(0deg); }\n  to { transform: rotate(360deg); }\n}\n\n@keyframes pulse {\n  0%, 100% { opacity: 1; }\n  50% { opacity: 0.7; }\n}\n\n.animate-fadeIn { animation: fadeIn var(--transition-base); }\n.animate-slideIn { animation: slideIn var(--transition-base); }\n.animate-spin { animation: spin 1s linear infinite; }\n.animate-pulse { animation: pulse 2s ease-in-out infinite; }\n\n/* Responsive utilities */\n@media (max-width: 640px) {\n  .sm\\:hidden { display: none; }\n  .sm\\:block { display: block; }\n  .sm\\:flex { display: flex; }\n}\n\n@media (max-width: 768px) {\n  .md\\:hidden { display: none; }\n  .md\\:block { display: block; }\n  .md\\:flex { display: flex; }\n}\n\n@media (max-width: 1024px) {\n  .lg\\:hidden { display: none; }\n  .lg\\:block { display: block; }\n  .lg\\:flex { display: flex; }\n}","/* Layout principal de la aplicación */\n.app-layout {\n  display: flex;\n  height: 100vh;\n  background: var(--gray-50);\n  overflow: hidden;\n}\n\n.app-main {\n  flex: 1;\n  display: flex;\n  flex-direction: column;\n  min-width: 0; /* Para evitar overflow */\n}\n\n.app-content {\n  flex: 1;\n  overflow: auto;\n  background: var(--gray-50);\n}\n\n/* Páginas de placeholder */\n.page-placeholder {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  height: 100%;\n  font-size: 1.5rem;\n  color: var(--gray-500);\n  background: white;\n  margin: 1.5rem;\n  border-radius: 0.5rem;\n  box-shadow: var(--shadow-base);\n}\n\n/* Responsive */\n@media (max-width: 768px) {\n  .app-layout {\n    flex-direction: column;\n  }\n\n  .sidebar {\n    width: 100%;\n    height: auto;\n  }\n\n  .app-main {\n    height: calc(100vh - 3.75rem);\n  }\n}"],"names":[],"sourceRoot":""}