@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap";.theme-toggle-switch{position:relative;width:80px;height:40px;background-color:var(--color-superficie-hover);border-radius:20px;cursor:pointer;display:flex;justify-content:space-around;align-items:center;padding:5px;transition:background-color .3s ease;border:1px solid var(--color-borde);overflow:hidden}.highlight{position:absolute;width:50px;height:100%;background-color:var(--color-primario);border-radius:20px;top:0;left:0;margin:0;transition:transform .3s cubic-bezier(.68,-.55,.27,1.55)}.theme-toggle-switch.dark-mode .highlight{transform:translate(40px)}.sun-icon,.moon-icon{font-size:18px;z-index:1;transition:color .3s ease}.theme-toggle-collapsed{width:40px;height:40px;background-color:var(--color-superficie-hover);border:1px solid var(--color-borde);border-radius:8px;cursor:pointer;display:flex;justify-content:center;align-items:center;font-size:1.2rem;color:var(--color-texto);transition:all .3s ease}.theme-toggle-collapsed:hover{background-color:var(--color-primario);color:var(--color-primario-texto);border-color:var(--color-primario)}.admin-layout{display:flex;height:100vh;overflow:hidden}.sidebar{position:fixed;top:0;left:0;width:260px;height:100vh;background-color:var(--color-superficie);display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--color-borde);transition:width .3s ease-in-out;z-index:10}.sidebar-header{display:flex;align-items:center;padding:1.25rem;border-bottom:1px solid var(--color-borde);gap:1rem}.sidebar-toggle{background:transparent;border:1px solid var(--color-borde);color:var(--color-texto);width:44px;height:44px;padding:0;border-radius:10px;display:flex;justify-content:center;align-items:center;cursor:pointer;font-size:1.6rem;transition:all .3s ease;flex-shrink:0}.sidebar-toggle:hover{background-color:var(--color-superficie-hover);border-color:var(--color-primario)}.sidebar-nav{flex-grow:1;display:flex;flex-direction:column;gap:.5rem;padding:1rem 0;overflow-y:auto}.sidebar-nav a{display:flex;align-items:center;gap:1rem;padding:.9rem 1.25rem;margin:0 1rem;color:var(--color-texto);text-decoration:none;font-weight:500;border-radius:8px;transition:background-color .2s ease,color .2s ease}.sidebar-nav a:hover{background-color:var(--color-superficie-hover)}.sidebar-nav a.active{background-color:var(--color-primario);color:var(--color-primario-texto);font-weight:600}.sidebar-footer{padding:1.25rem;border-top:1px solid var(--color-borde);display:flex;flex-direction:column;align-items:center;gap:1rem}.logout-button{display:flex;align-items:center;justify-content:center;gap:1rem;background:var(--color-peligro-fondo);border:1px solid var(--color-peligro-borde);color:var(--color-peligro-texto);padding:.9rem 1.25rem;border-radius:8px;cursor:pointer;width:100%}.logout-button:hover{background-color:var(--color-peligro-fondo-hover)}.sidebar-collapsed .sidebar{width:88px}.sidebar-collapsed .link-text,.sidebar-collapsed .sidebar-brand,.sidebar-collapsed .logout-button .link-text{display:none}.sidebar-collapsed .sidebar-nav a{justify-content:center;padding:.9rem 0}.sidebar-collapsed .logout-button{justify-content:center;padding:.9rem 0;width:44px;height:44px}.sidebar-collapsed .sidebar-footer{padding:1.25rem 0}.sidebar-nav::-webkit-scrollbar{width:8px}.sidebar-nav::-webkit-scrollbar-track{background:transparent;margin:1rem 0}.sidebar-nav::-webkit-scrollbar-thumb{background-color:var(--color-borde);border-radius:10px;border:2px solid var(--color-superficie);background-clip:content-box}.sidebar-nav::-webkit-scrollbar-thumb:hover{background-color:var(--color-primario)}.admin-content{flex:1;margin-left:260px;height:100vh;overflow-y:auto;padding:2rem;transition:margin-left .3s ease;background-color:var(--color-fondo);color:var(--color-texto)}.sidebar-collapsed .admin-content{margin-left:88px}@media (max-width: 768px){.sidebar{transform:translate(-100%)}.admin-layout:not(.sidebar-collapsed) .sidebar{transform:translate(0)}.admin-content{margin-left:0}}.login-page{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:1rem;background-color:var(--color-fondo);font-family:Inter,sans-serif;box-sizing:border-box;transition:background-color .3s ease}.login-form{background:#fff!important;color:#0d1c1a!important;padding:2.5rem 2rem;border-radius:16px;box-shadow:0 10px 25px #0000001a;width:100%;max-width:400px;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.login-form:hover{transform:translateY(-5px);box-shadow:0 15px 30px #00000026}.login-header h2{margin:0 0 .5rem;font-size:2rem;font-weight:700;color:#004d40}.login-header p{margin-bottom:2rem;color:#4db6ac}.input-group{margin-bottom:1.25rem;text-align:left}.input-group input{width:100%;padding:12px 15px;border:1px solid #b2dfdb;border-radius:8px;font-size:1rem;box-sizing:border-box;transition:border-color .3s ease,box-shadow .3s ease;background-color:#fff!important;color:#0d1c1a!important}.input-group input:focus{outline:none;border-color:#00796b;box-shadow:0 0 0 3px #00796b33}.form-options{text-align:center;margin-bottom:1.5rem}.forgot-password{color:#007bff;font-size:.875rem;text-decoration:none;transition:color .3s ease}.forgot-password:hover{text-decoration:underline;color:#004d40}.login-button{width:100%;padding:12px;background-color:#00796b;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;transition:background-color .3s ease,transform .2s ease}.login-button:hover{background-color:#00695c;transform:translateY(-2px)}.login-button:active{transform:translateY(0)}.mensaje{margin-top:1rem;font-size:.9rem}.mensaje.exito{color:#004d40}.mensaje.error{color:#d32f2f}@media (max-width: 480px){.login-form{padding:2rem 1.5rem}.login-header h2{font-size:1.75rem}}.login-page .theme-toggle-switch{position:fixed;bottom:20px;left:20px;z-index:1000}.overlay-recuperar{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000bf;display:flex;align-items:center;justify-content:center}.modal-recuperar{background:#fff;padding:20px;border-radius:8px;max-width:400px;width:100%;box-shadow:0 2px 10px #0000001a;text-align:center}.modal-recuperar h2{margin-top:0}.modal-recuperar input{width:calc(100% - 20px);padding:10px;margin:10px 0;border:1px solid #ccc;border-radius:4px}.modal-buttons{display:flex;justify-content:space-between;margin-top:20px}.modal-buttons .btn-enviar{background-color:#007bff;color:#fff;border:none;padding:10px 15px;border-radius:4px;cursor:pointer}.modal-buttons .btn-cancelar{background-color:#6c757d;color:#fff;border:none;padding:10px 15px;border-radius:4px;cursor:pointer}.success-message{color:green;margin-top:10px}.error-message{color:red;margin-top:10px}.dashboard-container{display:flex;flex-direction:column;gap:1.25rem;padding:1rem;background-color:var(--color-fondo);min-height:100vh;font-family:Inter,sans-serif}.dashboard-header{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem}.dashboard-title{font-size:2rem;font-weight:800;color:var(--color-texto)}.dashboard-subtitle{color:var(--color-superficie-texto);font-size:1rem}.dashboard-row{display:flex;gap:1.25rem;flex-wrap:wrap}.dashboard-card{background:var(--color-superficie);border:1px solid var(--color-borde);border-radius:12px;padding:1rem}.titulo-movimientos,.chart-title,.alertas-title,.top-clientes-card>h2{font-size:1.25rem;font-weight:800;color:var(--color-texto);margin-bottom:.75rem}.alertas-container{display:flex;flex-direction:column;gap:1rem}.alerta-card{background:var(--color-superficie);border:1px solid var(--color-borde);border-radius:12px;padding:1rem}.alert-heading{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.badge{background:var(--color-superficie-hover);color:var(--color-texto);border-radius:9999px;padding:.1rem .5rem;font-size:.75rem;font-weight:700}.alert-toggle{margin-top:.5rem;background:transparent;border:1px solid var(--color-borde);color:var(--color-texto);padding:.35rem .6rem;border-radius:8px;cursor:pointer;font-weight:600}.alert-toggle:hover{background:var(--color-superficie-hover)}.alerta-card h3{font-weight:700;color:var(--color-texto);display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.alert-icon{font-size:1.1rem}.chips-container{display:flex;flex-wrap:wrap;gap:.5rem}.alert-chip{padding:.35rem .6rem;border-radius:9999px;font-size:.8rem;font-weight:600}.alert-chip.stock-critico{background:var(--color-peligro-fondo);color:var(--color-peligro-texto);border:1px solid var(--color-peligro-borde)}.alert-chip.lote-proximo{background:var(--color-aviso-fondo);color:var(--color-aviso-texto);border:1px solid var(--color-aviso-fondo-hover)}.alertas-empty{color:var(--color-superficie-texto);font-size:.9rem}.movimientos-recientes{background:var(--color-superficie);border-radius:14px}.movimientos-grupos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.movimientos-grupo .subtitulo{font-size:.9rem;font-weight:700;color:var(--color-superficie-texto);border-bottom:1px solid var(--color-borde);padding-bottom:.4rem;margin-bottom:.6rem}.movimientos-grupo .subtitulo.entradas{color:#16a34a}.movimientos-grupo .subtitulo.salidas{color:#dc2626}.lista-movimientos{display:flex;flex-direction:column;gap:.5rem}.mov-card{display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem;border:1px solid var(--color-borde);border-radius:10px;background:var(--color-superficie)}.mov-card.entrada .icono{color:#16a34a}.mov-card.salida .icono{color:#dc2626}.mov-card .nombre{font-weight:700;color:var(--color-texto)}.mov-card .detalle{font-size:.85rem;color:var(--color-superficie-texto)}.sin-mov{color:#9ca3af;font-size:.9rem}.tendencias-ventas-chart,.valor-categoria-chart{background:var(--color-superficie);border-radius:14px}.top-clientes-card{background:var(--color-superficie);border-radius:14px;padding:1rem;border:1px solid var(--color-borde)}.top-clientes-list{list-style:none;display:flex;flex-direction:column;gap:.6rem;margin:0;padding:0}.cliente-item{background:var(--color-superficie);border:1px solid var(--color-borde);border-radius:10px;padding:.6rem .75rem;display:grid;grid-template-columns:1fr auto;gap:.5rem;align-items:center}.cliente-info{display:inline-flex;align-items:center;gap:.5rem}.cliente-rank{font-size:1rem}.cliente-nombre{font-weight:700;color:var(--color-texto)}.cliente-monto-bar{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem}.cliente-monto{font-weight:700;color:var(--color-texto);font-size:.95rem}.bar-container{width:160px;height:8px;background:var(--color-borde);border-radius:9999px;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,#10b981,#22c55e)}.loading-placeholder,.error-placeholder{padding:1rem;border-radius:12px;background:var(--color-superficie);color:var(--color-superficie-texto);border:1px dashed var(--color-borde)}.dashboard-card{background-color:var(--color-superficie);border-radius:14px;padding:1rem;box-shadow:0 6px 16px #00000014;transition:transform .25s ease,box-shadow .25s ease;flex:1;animation:fadeIn .5s ease forwards;opacity:0;overflow:visible}.dashboard-card.resumen-kpis,.dashboard-card.alertas,.dashboard-card.movimientos,.dashboard-card.tendencias,.dashboard-card.productos,.dashboard-card.inventario,.dashboard-card.clientes-card{background:var(--color-superficie)!important;border:1px solid var(--color-borde)!important;color:var(--color-texto)}.dashboard-card:hover{transform:translateY(-4px);box-shadow:0 10px 22px #0000001a}.dashboard-card:nth-child(1){animation-delay:.1s}.dashboard-card:nth-child(2){animation-delay:.2s}.dashboard-card:nth-child(3){animation-delay:.3s}.resumen{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.kpi{display:flex;align-items:center;gap:.75rem;padding:1rem;border-radius:12px;background-color:var(--color-superficie);border:1px solid var(--color-borde);transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease;cursor:default}.kpi:hover{background-color:var(--color-superficie-hover);transform:translateY(-2px);box-shadow:0 6px 16px #0000000f}.kpi-clickable{cursor:pointer;border-left-color:#38a169}.kpi-clickable:hover{background-color:#e6fffa;transform:scale(1.02)}.kpi:nth-child(1){--color-acento: #ff6b6b}.kpi:nth-child(2){--color-acento: #2b6cb0}.kpi:nth-child(3){--color-acento: #38a169}.kpi:nth-child(4){--color-acento: #f6ad55}.kpi-icon{font-size:1.2rem;border-radius:9999px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;color:#fff;background:linear-gradient(135deg,var(--color-acento, #2b6cb0),rgba(43,108,176,.85));box-shadow:0 4px 10px #2b6cb040}.kpi-info{display:flex;flex-direction:column}.kpi-value{font-size:1.3rem;font-weight:700;color:var(--color-texto)}.kpi-title{font-size:.75rem;color:var(--color-superficie-texto)}.alertas-movimientos,.fila-cuarta{display:flex;gap:1.25rem;flex-wrap:wrap}.dashboard-card.movimientos,.dashboard-card.clientes-card{min-height:300px}.graficas-principales{display:flex;gap:1.25rem;flex-wrap:wrap}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fab-nueva-venta{position:fixed;bottom:30px;right:30px;background-color:#38a169;color:#fff;width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 15px #00000040;cursor:pointer;transition:all .3s ease;z-index:1000}.fab-nueva-venta:hover{background-color:#2f855a;transform:translateY(-3px) scale(1.05)}@media (prefers-color-scheme: dark){.dashboard-container{background-color:var(--color-fondo)}.dashboard-card{background-color:var(--color-superficie);box-shadow:0 3px 10px #00000073}.kpi{background-color:var(--color-superficie);color:var(--color-texto);border-color:var(--color-borde)}.kpi-value{color:var(--color-texto)}.kpi-title{color:var(--color-superficie-texto)}.dashboard-title{color:var(--color-texto)}.dashboard-subtitle{color:var(--color-superficie-texto)}.movimientos-recientes,.alertas-container,.tendencias-ventas-chart{background-color:var(--color-superficie)}.nombre,.titulo-movimientos,.chart-title{color:var(--color-texto)}.detalle,.sin-mov{color:var(--color-superficie-texto)}}@media (max-width: 900px){.alertas-movimientos,.graficas-principales,.fila-cuarta{flex-direction:column}.dashboard-card{width:100%}}@media (min-width: 1024px){.dashboard-grid{grid-template-columns:2fr 1fr;grid-auto-rows:minmax(120px,auto)}.grid-tendencias{grid-column:1;grid-row:1 / span 2}.grid-alertas{grid-column:2;grid-row:1}.grid-top-clientes{grid-column:2;grid-row:2}.grid-movimientos{grid-column:1 / span 2;grid-row:3}.grid-top-productos{grid-column:1;grid-row:4}.grid-valor-categoria{grid-column:2;grid-row:4}}@media (min-width: 1280px){.dashboard-grid{gap:1.25rem}}.dashboard-grid{display:grid;gap:1.25rem}.grid-tendencias,.grid-alertas,.grid-top-clientes,.grid-movimientos,.grid-top-productos,.grid-valor-categoria{grid-column:1 / -1}@media (min-width: 1024px){.dashboard-grid{grid-template-columns:2fr 1fr;grid-auto-rows:minmax(120px,auto)}.grid-tendencias{grid-column:1;grid-row:1 / span 2;min-height:360px}.grid-alertas{grid-column:2;grid-row:1;min-height:260px}.grid-top-clientes{grid-column:2;grid-row:2;min-height:260px}.grid-movimientos{grid-column:1 / span 2;grid-row:3;min-height:320px}.grid-top-productos{grid-column:1;grid-row:4;min-height:260px}.grid-valor-categoria{grid-column:2;grid-row:4;min-height:260px}}@media (min-width: 1280px){.dashboard-grid{gap:1.5rem}}.movimientos-recientes .movimientos-grupos{max-height:280px;overflow-y:auto;padding-right:.5rem}.top-clientes-card .top-clientes-list{max-height:280px;overflow-y:auto;padding-right:.25rem}@media (min-width: 1024px){.top-clientes-card .top-clientes-list{max-height:none;overflow:visible;padding-right:0}.cliente-item{grid-template-columns:1.2fr 2fr}.bar-container{width:100%}}.grid-cta-venta{grid-column:1 / span 2}.cta-venta-card{display:flex;align-items:center;justify-content:space-between;gap:1rem}.cta-actions{display:flex;gap:.75rem}.cta-venta-btn{background:#16a34a;color:#fff;padding:.75rem 1.25rem;border-radius:10px;font-weight:700;text-decoration:none;box-shadow:0 4px 12px #16a34a4d;transition:transform .1s ease,background-color .2s ease}.cta-venta-btn:hover{background:#15803d}.cta-venta-btn:active{transform:scale(.98)}@media (prefers-color-scheme: dark){.cta-venta-card{background:#0f172a}.cta-venta-btn{box-shadow:0 4px 12px #16a34a73}}body.light .dashboard-container,body.dark .dashboard-container{background-color:var(--color-fondo)!important}body.light .alerta-card,body.dark .alerta-card,body.light .movimientos-recientes,body.dark .movimientos-recientes,body.light .tendencias-ventas-chart,body.dark .tendencias-ventas-chart,body.light .valor-categoria-chart,body.dark .valor-categoria-chart,body.light .top-clientes-card,body.dark .top-clientes-card,body.light .cliente-item,body.dark .cliente-item{background:var(--color-superficie)!important;border-color:var(--color-borde)!important;color:var(--color-texto)!important}body.light .dashboard-title,body.dark .dashboard-title,body.light .titulo-movimientos,body.dark .titulo-movimientos,body.light .chart-title,body.dark .chart-title,body.light .alertas-title,body.dark .alertas-title{color:var(--color-texto)!important}.quick-actions-container{display:flex;flex-direction:column;gap:1rem}.quick-action-btn{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;border-radius:10px;font-weight:700;text-decoration:none;transition:transform .2s ease,background-color .2s ease}.quick-action-btn:hover{transform:translateY(-2px)}.quick-action-btn.primary{background-color:var(--color-primario);color:var(--color-primario-texto)}.quick-action-btn.primary:hover{background-color:var(--color-primario-hover)}.quick-action-btn.secondary{background-color:var(--color-superficie-hover);color:var(--color-texto);border:1px solid var(--color-borde)}.quick-action-btn.secondary:hover{background-color:var(--color-borde)}.top-clientes-card{background-color:var(--color-superficie);border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px #0000000d;display:flex;flex-direction:column;gap:1rem;transition:transform .3s ease,box-shadow .3s ease}.top-clientes-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #0000001a}.top-clientes-card h2{margin:0;font-size:1.2rem;color:var(--color-texto);border-bottom:2px solid var(--color-primario);padding-bottom:.5rem}.top-clientes-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.8rem}.cliente-item{display:flex;flex-direction:column;gap:.5rem;padding:.8rem 1rem;border-radius:8px;background-color:var(--color-superficie);font-weight:500;transition:background-color .3s ease,transform .2s ease}.cliente-item:hover{background-color:var(--color-superficie-hover);transform:translate(3px)}.cliente-info{display:flex;align-items:center;gap:.6rem}.cliente-rank{font-size:1.2rem}.cliente-nombre{color:var(--color-texto);font-weight:600}.cliente-monto-bar{display:flex;flex-direction:column;gap:.3rem}.cliente-monto{color:var(--color-primario);font-weight:700;font-size:.95rem}.bar-container{width:100%;height:8px;background-color:var(--color-borde);border-radius:4px;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,#38a169,#2f855a);border-radius:4px;transition:width .5s ease}.cliente-1 .bar-fill{background:linear-gradient(90deg,#ff6b6b,#f56565)}.cliente-2 .bar-fill{background:linear-gradient(90deg,orange,#ff8c00)}.cliente-3 .bar-fill{background:linear-gradient(90deg,#2b6cb0,#2c5282)}.cliente-4 .bar-fill{background:linear-gradient(90deg,#38a169,#2f855a)}.cliente-5 .bar-fill{background:linear-gradient(90deg,#9b59b6,#8e44ad)}.loading-placeholder,.error-placeholder{text-align:center;padding:1rem;color:var(--color-superficie-texto)}.error-placeholder{color:var(--color-peligro-texto)}.top-clientes-layout{display:grid;gap:.8rem}.top-client-main{padding:1rem;background:var(--color-superficie);border:1px solid var(--color-borde);border-radius:10px}.top-client-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.resumen-kpis-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.kpi-card{background-color:var(--color-superficie);border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px #0000000d;transition:transform .3s ease,box-shadow .3s ease;border-left:5px solid var(--color-primario)}.kpi-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px #0000001a}.kpi-card h3{margin:0 0 .5rem;font-size:1rem;color:var(--color-texto-secundario);font-weight:600}.kpi-card p{margin:0;font-size:2rem;font-weight:700;color:var(--color-texto)}.user-management-page h1{color:var(--color-texto);border-bottom:2px solid var(--color-primario);padding-bottom:.5rem;margin-bottom:1rem}.users-table{width:100%;border-collapse:collapse;background-color:var(--color-superficie);border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000000d}.users-table th,.users-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--color-fondo)}.users-table th{background-color:var(--color-fondo);font-weight:600}.action-buttons button{margin-right:.5rem;padding:.4rem .8rem;font-size:.875rem}.edit-button{background-color:#ffc107;color:#212529;border:none}.delete-button{background-color:#dc3545;color:#fff;border:none}.user-form-page h1{color:var(--color-texto);border-bottom:2px solid var(--color-primario);padding-bottom:.5rem;margin-bottom:2rem}.form-container{background-color:var(--color-superficie);padding:2rem;border-radius:8px;max-width:700px;margin:0 auto;box-shadow:0 2px 4px #0000000d}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1 / -1}.form-group label{margin-bottom:.5rem;font-weight:500;color:var(--color-texto)}.form-group input{padding:.75rem;border:1px solid var(--color-borde);background-color:var(--color-superficie);color:var(--color-texto);border-radius:4px;font-size:1rem}.form-group select{padding:.75rem;border:1px solid var(--color-borde);background-color:var(--color-input-fondo);color:var(--color-texto);border-radius:4px;font-size:1rem}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-primario)}.form-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.form-actions .save-button{background-color:var(--color-primario);color:var(--color-primario-texto);border:none}.form-actions .cancel-button{background-color:transparent;border:1px solid var(--color-secundario);color:var(--color-secundario)}@media (max-width: 600px){.form-grid{grid-template-columns:1fr}}.provider-management-page h1{color:var(--color-texto);border-bottom:2px solid var(--color-primario);padding-bottom:.5rem;margin-bottom:1rem}.providers-table{width:100%;border-collapse:collapse;background-color:var(--color-superficie);border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000000d}.providers-table th,.providers-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--color-fondo)}.providers-table th{background-color:var(--color-fondo);font-weight:600}.create-button{background-color:var(--color-primario);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;cursor:pointer;text-decoration:none;transition:background-color .2s ease}.action-buttons button{margin-right:.5rem;padding:.4rem .8rem;font-size:.875rem;border:none;border-radius:6px}.edit-button{background-color:#ffc107;color:#212529}.delete-button{background-color:#dc3545;color:#fff}.create-button,.edit-button,.delete-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.modal-content{background:var(--color-superficie);color:var(--color-texto);padding:2rem;border-radius:8px;box-shadow:0 5px 15px #0000004d;width:100%;max-width:500px;position:relative;animation:slide-down .3s ease-out}@keyframes slide-down{0%{transform:translateY(-30px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-borde);padding-bottom:1rem;margin-bottom:1.5rem}.modal-header h2{margin:0;font-size:1.5rem;color:var(--color-texto)}.close-button{background:none;border:none;font-size:2rem;cursor:pointer;color:var(--color-texto);opacity:.7;padding:0;line-height:1}.close-button:hover{opacity:1}.contact-form .form-group{margin-bottom:1.5rem}.contact-form label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--color-texto)}.contact-form input{width:100%;padding:.75rem;border:1px solid var(--color-borde);background-color:var(--color-superficie);color:var(--color-texto);border-radius:4px;font-size:1rem}.contact-form .form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--color-borde)}@media (max-width: 600px){.modal-content{padding:1.5rem;height:90vh;overflow-y:auto}.modal-header h2{font-size:1.25rem}.contact-form .form-actions{flex-direction:column}.contact-form .form-actions button{width:100%}}.provider-form-page h1{color:var(--color-texto);border-bottom:2px solid var(--color-primario);padding-bottom:.5rem;margin-bottom:2rem}.form-section{margin-bottom:2rem}.form-section h2{font-size:1.25rem;color:var(--color-texto);margin-bottom:1.5rem;border-bottom:1px solid var(--color-borde);padding-bottom:.75rem}.contact-row{border:1px solid var(--color-borde);padding:1rem;border-radius:8px;margin-bottom:1rem;background-color:var(--color-superficie-hover)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.remove-contact-button{background-color:var(--color-peligro-fondo);color:var(--color-peligro-texto);border:1px solid var(--color-peligro-borde);padding:.5rem 1rem;border-radius:4px;cursor:pointer;margin-top:1rem;font-size:.9rem}.remove-contact-button:hover{background-color:var(--color-peligro-fondo-hover)}.add-contact-button{background-color:var(--color-primario);color:var(--color-primario-texto);border:none;padding:.6rem 1.2rem;border-radius:4px;cursor:pointer;font-size:1rem;transition:background-color .2s}.add-contact-button:hover{background-color:var(--color-primario-hover)}.contact-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.contact-list-header h2{margin:0;color:var(--color-texto)}.contact-table{width:100%;border-collapse:collapse;margin-top:1rem}.contact-table th,.contact-table td{border:1px solid var(--color-borde);padding:.8rem;text-align:left;color:var(--color-texto)}.contact-table th{background-color:var(--color-superficie-hover);font-weight:600}.contact-actions button{border:none;padding:.5rem .8rem;border-radius:4px;cursor:pointer;margin-right:.5rem}.contact-actions button.delete{background-color:var(--color-peligro-fondo);color:var(--color-peligro-texto)}.contact-actions button.delete:hover{background-color:var(--color-peligro-fondo-hover)}.no-contacts-message{text-align:center;padding:2rem;background-color:var(--color-superficie-hover);border-radius:8px;border:1px dashed var(--color-borde);color:var(--color-texto)}@media screen and (max-width: 768px){.contact-table thead{display:none}.contact-table tr{display:block;border:1px solid var(--color-borde);border-radius:8px;margin-bottom:1rem;box-shadow:0 2px 4px #0000000d;background-color:var(--color-superficie)}.contact-table td{display:block;text-align:right;border:none;border-bottom:1px solid var(--color-borde);position:relative;padding-left:50%}.contact-table td:before{content:attr(data-label);position:absolute;left:10px;width:calc(50% - 20px);padding-right:10px;white-space:nowrap;text-align:left;font-weight:700;color:var(--color-texto)}.contact-table td:last-child{border-bottom:none}.contact-actions{text-align:center!important;padding-left:.8rem!important}.contact-actions button{width:48%;margin:.2rem 1%}}.registro-compra-container{padding:2rem;background-color:var(--color-fondo);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.registro-compra-container h1{text-align:center;color:var(--color-texto);margin-bottom:2rem}.form-section{background-color:var(--color-superficie);padding:1.5rem;margin-bottom:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.form-row{display:flex;gap:1.5rem;align-items:flex-end}.form-group label{margin-bottom:.5rem;font-weight:600;color:var(--color-texto)}.form-group input[type=date],.form-group input[type=text]{padding:.75rem;border:1px solid var(--color-borde);background-color:var(--color-superficie);color:var(--color-texto);border-radius:4px;font-size:1rem}.form-group .react-select-container{width:100%}.create-product-btn,.remove-product-btn,.cancel-btn,.save-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.create-product-btn{padding:.75rem 1.5rem;background-color:var(--color-primario);color:var(--color-primario-texto);border:none;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:600;transition:background-color .3s ease;height:100%}.create-product-btn:hover{background-color:var(--color-primario-hover)}.product-search{flex:2}.details-section{overflow-x:auto}.product-table{width:100%;border-collapse:collapse;margin-top:1rem}.product-table th,.product-table td{padding:1rem;border-bottom:1px solid var(--color-borde);text-align:left;vertical-align:middle;color:var(--color-texto)}.product-table th{background-color:var(--color-superficie-hover);font-weight:600;border-bottom-width:2px}.product-table tbody tr:hover{background-color:var(--color-superficie-hover)}.product-table .product-col{width:35%}.product-table .date-col{width:20%}.product-table .number-col{width:15%}.product-table .action-col{width:15%;text-align:center}.product-table input{width:100%;padding:.5rem;border:1px solid var(--color-borde);background-color:var(--color-superficie);color:var(--color-texto);border-radius:4px;box-sizing:border-box;transition:border-color .2s,box-shadow .2s}.product-table input:focus{outline:none;border-color:var(--color-primario);box-shadow:0 0 0 2px var(--color-primario-transparente, rgba(0, 121, 107, .2))}.no-products-message{text-align:center;padding:2rem;color:var(--color-texto)}.remove-product-btn{padding:.5rem 1rem;background-color:var(--color-peligro-fondo);color:var(--color-peligro-texto);border:none;border-radius:4px;cursor:pointer;transition:background-color .3s ease}.remove-product-btn:hover{background-color:var(--color-peligro-fondo-hover)}.footer-section{display:flex;justify-content:space-between;align-items:center;margin-top:2rem}.total-display{font-size:1.5rem;font-weight:700;color:var(--color-texto)}.form-actions{display:flex;gap:1rem}.cancel-btn,.save-btn{padding:.75rem 1.5rem;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.cancel-btn{background-color:var(--color-secundario);color:var(--color-secundario-texto);border:1px solid var(--color-secundario)}.save-btn{background-color:var(--color-primario);color:var(--color-primario-texto);border:1px solid var(--color-primario)}.save-btn:disabled{background-color:#a3d9b1;cursor:not-allowed}.error-message{color:var(--color-peligro-texto);background-color:var(--color-peligro-fondo);border:1px solid var(--color-peligro-borde);padding:1rem;border-radius:4px;margin-bottom:1.5rem;text-align:center}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000bf;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{width:90%;max-width:500px;background:var(--color-superficie);color:var(--color-texto);padding:2rem;border-radius:8px;box-shadow:0 5px 15px #0000004d;outline:none;display:flex;flex-direction:column}.modal-content h2{margin-top:0;margin-bottom:1.5rem;color:var(--color-texto);text-align:center}.modal-content .form-group{margin-bottom:1rem}.modal-content .form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--color-texto)}.modal-content .form-group input{width:100%;padding:.75rem;border:1px solid var(--color-borde);background-color:var(--color-superficie);color:var(--color-texto);border-radius:4px;font-size:1rem}.modal-content .form-group select{width:100%;padding:.75rem;border:1px solid var(--color-borde);background-color:var(--color-input-fondo);color:var(--color-texto);border-radius:4px;font-size:1rem}.modal-content .form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}.modal-content .cancel-btn,.modal-content .save-btn{padding:.6rem 1.2rem;border-radius:4px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.modal-content .cancel-btn{background-color:var(--color-secundario);color:var(--color-secundario-texto);border:1px solid var(--color-secundario)}.modal-content .cancel-btn:hover{background-color:var(--color-secundario-hover)}.modal-content .save-btn{background-color:var(--color-primario);color:var(--color-primario-texto);border:1px solid var(--color-primario)}.modal-content .save-btn:hover{background-color:var(--color-primario-hover)}.modal-content .save-btn:disabled{background-color:#a3d9b1;cursor:not-allowed}.modal-content .error-message{color:var(--color-peligro-texto);background-color:var(--color-peligro-fondo);border:1px solid var(--color-peligro-borde);padding:1rem;border-radius:4px;margin-bottom:1.5rem;text-align:center}:root{--background-color-secondary: var(--color-superficie);--background-color-tertiary: var(--color-superficie);--background-color-disabled: var(--color-superficie-hover);--text-color-primary: var(--color-texto);--text-color-secondary: var(--color-superficie-texto);--border-color: var(--color-borde);--color-primary: var(--color-primario);--color-primary-dark: var(--color-primario-hover);--color-primary-rgb: 0,105,92;--color-success: var(--color-primario);--scrollbar-track: var(--color-superficie);--scrollbar-thumb: var(--color-borde);--scrollbar-thumb-hover: var(--color-primario);--error-bg: var(--color-peligro-fondo);--error-text: var(--color-peligro-texto);--error-border: var(--color-peligro-borde)}body.dark{--color-primary-rgb: 0,121,107}.registro-venta-container{display:flex;flex-direction:column;height:100vh;overflow:hidden;padding:1rem;gap:1rem;background-color:var(--color-superficie);color:var(--color-superficie-texto)}.page-header{width:100%;text-align:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.form-column{flex:1.2;display:flex;flex-direction:column;gap:1rem;background-color:var(--color-superficie)!important;color:var(--color-superficie-texto);border:1px solid var(--border-color);min-width:0;padding:1.5rem;border-radius:8px;box-shadow:0 2px 10px #0000001a;overflow:hidden}.cart-panel{background-color:var(--background-color-tertiary);border:1px solid var(--border-color);border-radius:12px}.sale-details-header,.sale-details-item{display:grid;grid-template-columns:1fr minmax(80px,.5fr) minmax(100px,1fr) 40px;gap:1.5rem;padding:.75rem 1.5rem;align-items:center;border-bottom:1px solid var(--border-color)}.form-column h2{text-align:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.product-list-column{flex:.8;display:flex;flex-direction:column;gap:.75rem;background-color:var(--color-superficie);border:1px solid var(--border-color);min-width:0;padding:1.5rem;border-radius:12px;box-shadow:0 4px 20px #00000014;overflow:hidden}.page-header h1{font-size:2rem;color:var(--text-color-primary)}.section-title{font-size:1.5rem;font-weight:700;color:var(--color-superficie-texto);margin-bottom:.5rem}.cart-title{font-size:1.25rem;font-weight:700;color:var(--color-superficie-texto);margin:1rem 0 .5rem}.main-content-area{flex-grow:1;display:flex;gap:2rem;padding:1rem;overflow:hidden;background:transparent}.form-section{display:flex;flex-direction:column;gap:1rem;padding:1rem;border-bottom:1px solid var(--border-color);margin-bottom:1rem}.form-group label{margin-bottom:.5rem;font-weight:600;color:var(--text-color-secondary)}body.dark .client-row .client-label,body.dark .totals-inline .total-amount,body.dark .totals-inline .change-amount{color:#fff}.form-group input{padding:.75rem;border:1px solid var(--border-color);border-radius:4px;background-color:var(--background-color-tertiary);color:var(--text-color-primary);font-size:1rem}.form-group input:read-only{background-color:var(--background-color-disabled);cursor:not-allowed}.venta-panel{margin-top:.5rem;display:flex;flex-direction:column;gap:.5rem}.payment-row{display:grid;grid-template-columns:1fr auto;align-items:end;gap:.75rem}.payment-controls{display:flex;gap:.5rem;align-items:flex-end;flex-wrap:wrap}.totals-inline{text-align:right;display:flex;flex-direction:column;gap:.1rem;align-items:flex-end}.venta-panel .actions-section{display:flex;gap:.75rem}.sale-table-wrapper{flex-grow:1;min-height:0;overflow-y:auto;overflow-x:hidden;border:1px solid var(--border-color);border-radius:8px;background-color:var(--background-color-tertiary)}.sale-table{width:100%;border-collapse:separate;border-spacing:0;background-color:var(--background-color-tertiary)}.sale-table thead{position:sticky;top:0;background:var(--color-superficie-hover);z-index:1}.sale-table thead th{padding:.5rem;font-weight:600;color:var(--color-superficie-texto);border-bottom:1px solid var(--border-color)}.sale-table tbody td{padding:.4rem .5rem;border-bottom:1px solid var(--border-color)}.sale-table .name{font-weight:600;color:var(--text-color-primary)}.sale-table .unit-price{font-size:.85rem;color:var(--text-color-secondary)}.product-table thead,.product-table thead tr,.product-table thead th,.sale-table thead,.sale-table thead tr,.sale-table thead th{background-color:var(--color-superficie-hover)!important;color:var(--color-superficie-texto)!important}.product-table thead th,.sale-table thead th{border-bottom:1px solid var(--border-color)}.cart-panel{background-color:var(--background-color-tertiary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 14px #0000000f;padding:.75rem}.cart-panel{display:flex;flex-direction:column;flex:1;min-height:0}.totals-section{display:flex;flex-direction:column;align-items:flex-end;flex-grow:1}.total-row{display:flex;justify-content:space-between;font-size:1.1rem;margin-bottom:.5rem}.total-row.grand-total{display:flex;justify-content:space-between;align-items:center;font-size:1.5rem;font-weight:700;color:var(--color-success)}.realizar-btn{background-color:var(--color-aviso-fondo);color:var(--color-aviso-texto);border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:1.1rem}.limpiar-btn{background-color:var(--color-peligro-fondo);color:var(--color-peligro-texto);border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:1.1rem;margin-right:1rem}.realizar-btn:disabled{background-color:var(--background-color-disabled);cursor:not-allowed}.venta-footer{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background-color:var(--background-color-secondary);border-top:1px solid var(--border-color);border-radius:8px;margin-top:1rem;box-shadow:0 -2px 10px #00000012;position:sticky;bottom:0;z-index:1000}.payment-section,.actions-section{display:flex;gap:1rem}.product-search-input{width:100%;padding:.75rem .75rem .75rem 2.5rem;border:1px solid var(--border-color);border-radius:9999px;background-color:var(--background-color-tertiary);color:var(--text-color-primary);font-size:1rem;transition:all .2s ease-in-out;box-shadow:0 1px 3px #0000000d;max-width:100%;box-sizing:border-box}.product-search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px rgba(var(--color-primary-rgb, 0, 128, 0),.2);outline:none}.product-search-table-container{flex-grow:1}.product-search-table{width:100%;border-collapse:collapse}.product-search-table th,.product-search-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--border-color)}.product-search-table th{background-color:var(--background-color-tertiary);font-weight:600}.add-product-btn{background-color:var(--color-primary);color:#fff;border:none;padding:.5rem .75rem;border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:.5rem}.add-product-btn:disabled{background-color:var(--background-color-disabled);cursor:not-allowed}.save-sale-btn{width:100%;padding:1rem;font-size:1.2rem;background-color:var(--color-success);color:#fff;border:none;border-radius:4px;cursor:pointer;margin-top:1rem}.save-sale-btn:disabled{background-color:var(--background-color-disabled);cursor:not-allowed}.product-table-wrapper{flex-grow:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:.5rem}.product-table{width:100%;border-collapse:separate;border-spacing:0}.product-table thead{position:sticky;top:0;background:var(--color-superficie-hover);z-index:1}.product-table th{padding:.5rem;text-align:left;font-weight:600;color:var(--color-superficie-texto);border-bottom:1px solid var(--border-color)}.product-table td{padding:.5rem;border-bottom:1px solid var(--border-color);vertical-align:middle}.product-table tr:hover{background:#16a34a0d}.sku-cell{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;color:var(--text-color-secondary)}.name-cell{font-weight:500;color:var(--text-color-primary)}.price-cell{font-weight:600}.row-clickable{cursor:pointer}.sale-table thead th{padding:.5rem;font-weight:600;color:var(--text-color-secondary);border-bottom:1px solid var(--border-color);background:var(--color-superficie-hover)}.sale-table tbody td{padding:.5rem;border-bottom:1px solid var(--border-color)}.sale-table tfoot td{padding:.5rem;border-top:1px solid var(--border-color)}.sale-table .name-line{display:inline-flex;gap:.3rem;align-items:baseline;flex-wrap:nowrap;line-height:1.1}.sale-table .name-line .name{font-weight:600;color:var(--text-color-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sale-table .name-line .unit-price-inline{font-size:.85rem;color:var(--text-color-secondary)}.product-card{background-color:var(--background-color-tertiary);border:1px solid var(--border-color);border-radius:10px;padding:.75rem 1rem;cursor:pointer;transition:all .2s ease-in-out;display:grid;grid-template-columns:minmax(60px,.9fr) minmax(140px,3fr) minmax(70px,.8fr) minmax(72px,1fr) minmax(56px,.8fr);align-items:center;gap:.75rem;min-height:auto;min-width:0;box-shadow:0 1px 5px #0000000d}.product-card:hover{border-color:var(--color-primary);box-shadow:0 4px 12px #0000001a;transform:translateY(-2px);background-color:var(--hover-bg-color, #e6f6f3)}.product-card-sku{font-size:.85rem;color:var(--text-color-secondary)}.product-card-name{font-weight:600;color:var(--text-color-primary)}.product-card-price{font-size:1.1rem;font-weight:700;color:var(--color-success);text-align:right}.product-search-input-container{position:relative;margin-bottom:1rem;width:100%;display:block}.product-search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);width:1.25rem;height:1.25rem;color:var(--text-color-secondary)}.product-card-stock{font-size:.85rem;color:var(--text-color-secondary);margin-top:.25rem}.stock-status-high{background-color:var(--stock-high-bg, #d1fae5);color:var(--stock-high-text, #065f46);padding:.25rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:600}.stock-status-medium{background-color:var(--stock-medium-bg, #ffedd5);color:var(--stock-medium-text, #9a3412);padding:.25rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:600}.stock-status-low{background-color:var(--stock-low-bg, #fee2e2);color:var(--stock-low-text, #991b1b);padding:.25rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:600}.product-list-headers,.product-card{display:grid;grid-template-columns:minmax(60px,.9fr) minmax(140px,3fr) minmax(70px,.8fr) minmax(72px,1fr) minmax(56px,.8fr);gap:.75rem;padding:.75rem 1rem;align-items:center}.product-list-headers{font-weight:600;color:var(--text-color-secondary);background-color:var(--background-color-tertiary);border-bottom:1px solid var(--border-color);border-radius:8px 8px 0 0;margin-bottom:.5rem}.name-cell,.sku-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 768px){.product-list-headers,.product-card{grid-template-columns:minmax(54px,.8fr) minmax(120px,2.4fr) minmax(54px,.7fr) minmax(66px,.9fr) minmax(52px,.7fr);gap:.5rem}.product-card-price{font-size:1rem}}@media (max-width: 480px){.product-list-headers,.product-card{grid-template-columns:minmax(50px,.7fr) minmax(110px,2.2fr) minmax(48px,.6fr) minmax(56px,.8fr) minmax(48px,.7fr);gap:.5rem}.product-card{padding:.5rem .75rem}}.add-to-cart-btn:hover{background-color:#15803d}.add-to-cart-btn:disabled{background-color:var(--background-color-disabled, #d1d5db);color:#fff;cursor:not-allowed;box-shadow:none}.text-center{text-align:center}.text-right,.product-list-header-item.text-right{text-align:right}.error-message{background:var(--error-bg, #fdecea);color:var(--error-text, #b71c1c);border:1px solid var(--error-border, #f5c6cb);padding:.75rem 1rem;border-radius:8px;cursor:pointer}.payment-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.75rem}.payment-controls{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.totals-inline{text-align:right;display:flex;flex-direction:row;gap:.75rem;align-items:center}.totals-inline .total-amount{font-size:1.25rem;font-weight:700;color:var(--color-success, #16a34a)}.totals-inline .change-amount{font-weight:600;color:var(--text-color-primary)}.venta-panel .actions-section{display:flex;gap:.75rem;justify-content:flex-end}.quantity-control{display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.qty-btn{width:1.5rem;height:1.5rem;border-radius:.5rem;border:1px solid var(--border-color);background:var(--background-color-tertiary);color:var(--text-color-primary);display:inline-flex;align-items:center;justify-content:center;font-weight:700}.qty-value{width:1.75rem;text-align:center;font-weight:600}.rv__control{min-height:40px!important;height:40px!important}.rv__value-container{padding-top:0!important;padding-bottom:0!important}.rv__indicators{height:40px!important}.cash-input{height:40px;padding:0 .75rem}.btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:.75rem;font-weight:700;padding:.6rem 1.1rem;cursor:pointer;transition:transform .1s ease,background-color .2s ease,box-shadow .2s ease}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:#22c55e!important;color:#fff;box-shadow:0 2px 6px #00000026}.btn-primary:hover{background-color:var(--color-primary-dark, #16a34a)}.btn-secondary{background-color:var(--color-secundario);color:var(--color-secundario-texto);box-shadow:0 2px 6px #0000001f}.btn-secondary:hover{background-color:var(--color-secundario-hover)}.product-list-headers{position:sticky;top:0;z-index:2;background-color:var(--background-color-tertiary);border-bottom:1px solid var(--border-color);box-shadow:0 1px #0000000a}.custom-scrollbar::-webkit-scrollbar{width:8px;height:8px}.custom-scrollbar::-webkit-scrollbar-track{background:var(--scrollbar-track, #f1f1f1);border-radius:10px}.custom-scrollbar::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb, #c2c2c2);border-radius:10px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover, #a8a8a8)}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb, #c2c2c2) var(--scrollbar-track, #f1f1f1)}.qty-btn svg{width:.9rem;height:.9rem}.remove-item-btn svg{width:1rem;height:1rem}.sale-details-header,.sale-details-item{grid-template-columns:3fr 120px 120px 60px}.sale-details-item .product-name{display:flex;flex-direction:column;gap:.125rem;min-width:0}.sale-details-item .product-name .name{font-weight:600;color:var(--text-color-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sale-details-item .product-name .unit-price{font-size:.85rem;color:var(--text-color-secondary)}.quantity-control{display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.qty-btn{width:2rem;height:2rem;border-radius:.5rem;border:1px solid var(--border-color);background:var(--background-color-tertiary);color:var(--text-color-primary);display:inline-flex;align-items:center;justify-content:center;font-weight:700}.qty-btn:disabled{opacity:.5;cursor:not-allowed}.qty-value{width:2.5rem;text-align:center;font-weight:600}.line-subtotal{font-weight:600;text-align:right}.remove-item-btn{background:none;border:none;color:var(--danger-600, #b91c1c);cursor:pointer;font-size:1.2rem}.client-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.client-row .client-label{font-weight:700;color:var(--text-color-primary)}.client-row .client-input{flex:1;min-width:0}.venta-panel .payment-section{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap}.venta-panel{background-color:var(--background-color-tertiary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 14px #0000000f;padding:.75rem}.btn:focus-visible,.add-to-cart-btn:focus-visible,.qty-btn:focus-visible{outline:2px solid var(--color-primary, #22c55e);outline-offset:2px}.add-to-cart-btn{width:1.75rem;height:1.75rem;border-radius:9999px;background-color:#16a34a;color:#fff;border:none;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0003;transition:transform .1s ease,background-color .2s ease,box-shadow .2s ease}.qty-btn{border:1px solid var(--border-color);background-color:var(--background-color-tertiary)}body.light .cart-panel,body.light .venta-panel,body.light .sale-table,body.light .product-table,body.light .product-table-wrapper,body.light .sale-table-wrapper{background-color:var(--color-superficie)!important}body.dark .cart-panel,body.dark .venta-panel,body.dark .sale-table,body.dark .product-table,body.dark .product-table-wrapper,body.dark .sale-table-wrapper{background-color:var(--color-superficie)!important;color:var(--color-superficie-texto)}body.dark .name-cell,body.dark .product-card-name,body.dark .sale-table .name{color:var(--color-superficie-texto)!important}.qty-btn{color:#fff!important}.qty-btn svg{width:1.2rem;height:1.2rem;color:#fff!important}.qty-btn{width:1.75rem;height:1.75rem;border-radius:9999px;padding:0;border:none;display:inline-flex;align-items:center;justify-content:center}.qty-minus{background-color:#ef4444}.qty-minus:hover{background-color:#dc2626}.qty-plus{background-color:#22c55e}.qty-plus:hover{background-color:#16a34a}.qty-btn svg{width:1rem;height:1rem;color:#fff!important}.cart-title .icon{vertical-align:middle;margin-right:.4rem}.btn .icon{margin-right:.45rem}.remove-item-btn:hover{color:var(--danger-700, #991b1b)}.qty-btn svg{width:.95rem;height:.95rem;color:var(--text-color-primary)!important}.qty-minus{background-color:var(--qty-minus-bg, #fee2e2);color:var(--qty-minus-text, #991b1b);border-color:var(--qty-minus-border, #fecaca)}.qty-minus:hover{background-color:var(--qty-minus-hover, #fecaca)}.qty-plus{background-color:var(--qty-plus-bg, #dcfce7);color:var(--qty-plus-text, #166534);border-color:var(--qty-plus-border, #bbf7d0)}.qty-plus:hover{background-color:var(--qty-plus-hover, #bbf7d0)}.action-cell{background-color:var(--action-cell-bg, rgba(0,0,0,.04))}@media (prefers-color-scheme: dark){.action-cell{background-color:var(--action-cell-bg-dark, rgba(255,255,255,.06))}}.action-buttons{display:inline-flex;gap:.35rem;align-items:center}.qty-minus svg{color:var(--qty-minus-text, #991b1b)!important}.qty-plus svg{color:var(--qty-plus-text, #166534)!important}.add-to-cart-btn svg{width:1rem;height:1rem;color:#fff!important}.qty-btn{width:28px!important;height:28px!important;border-radius:9999px!important;padding:0!important;border:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1!important}.qty-btn svg{width:14px!important;height:14px!important;color:#fff!important}.qty-minus{background-color:#ef4444!important}.qty-minus:hover{background-color:#dc2626!important}.qty-plus{background-color:#22c55e!important}.qty-plus:hover{background-color:#16a34a!important}.qty-btn:disabled{opacity:.5!important;cursor:not-allowed!important}.add-to-cart-btn{width:28px!important;height:28px!important;border-radius:9999px!important;background-color:#16a34a!important;color:#fff!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border:none!important;box-shadow:0 2px 6px #0003!important}.add-to-cart-btn:hover{background-color:#15803d!important}.add-to-cart-btn:active{transform:scale(.95)}.add-to-cart-btn:disabled{background-color:#d1d5db!important;color:#fff!important;cursor:not-allowed!important;box-shadow:none!important}.add-to-cart-btn svg{width:14px!important;height:14px!important;color:#fff!important}.sale-table .empty-cart-message{text-align:center;padding:2rem;background-color:var(--color-superficie);color:var(--color-texto)}.reset-password-container{display:flex;justify-content:center;align-items:center;height:100vh;background-color:#f4f4f4}.reset-password-form{background:#fff;padding:40px;border-radius:8px;box-shadow:0 4px 8px #0000001a;max-width:400px;width:100%;text-align:center}.reset-password-form h2{margin-bottom:20px}.form-group{margin-bottom:15px;text-align:left}.form-group label{display:block;margin-bottom:5px}.form-group input{width:100%;padding:10px;border:1px solid #ccc;border-radius:4px}.btn-submit{width:100%;padding:10px;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:16px}.error-message{color:red;margin-bottom:15px}.success-message{color:green;margin-bottom:15px}.cambiar-contrasena-page{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:1rem;background-color:var(--color-fondo);transition:background-color .3s ease}.cambiar-contrasena-form{background:#fff!important;color:#0d1c1a!important;padding:2.5rem 2rem;border-radius:16px;box-shadow:0 10px 25px #0000001a;width:100%;max-width:420px;text-align:center}.cambiar-contrasena-form h2{margin:0 0 1.5rem;font-size:2rem;font-weight:700;color:#004d40}.form-group{margin-bottom:1.25rem;text-align:left}.cambiar-contrasena-form .form-group label{display:block;margin-bottom:.5rem;color:#0d1c1a!important;font-weight:500}.form-group input{width:100%;padding:12px 15px;border:1px solid #b2dfdb;border-radius:8px;font-size:1rem;box-sizing:border-box;background-color:#fff!important;color:#0d1c1a!important}.form-group input:focus{outline:none;border-color:var(--color-primario);box-shadow:0 0 0 3px #00796b33}.error-message,.success-message{margin-bottom:1rem;text-align:center;font-size:.9rem;padding:.5rem;border-radius:4px}.error-message{color:var(--color-peligro-texto);background-color:var(--color-peligro-fondo)}.success-message{color:var(--color-primario-texto);background-color:var(--color-primario)}.cambiar-contrasena-form button{width:100%;padding:12px;background-color:var(--color-primario);color:var(--color-primario-texto);border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;transition:background-color .3s ease}.cambiar-contrasena-form button:hover{background-color:var(--color-primario-hover)}.back-button{margin-top:.75rem;background-color:transparent;color:var(--color-primario);border:2px solid var(--color-primario);border-radius:8px;padding:10px;width:100%;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease}.back-button:hover{background-color:var(--color-primario-hover);color:var(--color-primario-texto)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:var(--color-superficie);color:var(--color-texto);padding:2rem;border-radius:8px;box-shadow:0 5px 15px #0000004d;width:90%;max-width:500px;outline:none}.modal-content h2{margin-top:0;margin-bottom:1.5rem;color:var(--color-texto);font-size:1.8rem;text-align:center}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--color-texto)}.form-group input,.form-group textarea{width:100%;padding:.8rem;border:1px solid var(--color-borde);background-color:var(--color-superficie);color:var(--color-texto);border-radius:4px;font-size:1rem;box-sizing:border-box}.form-group textarea{min-height:100px;resize:vertical}.cancel-btn,.save-btn{padding:.8rem 1.5rem;border:none;border-radius:5px;font-size:1rem;cursor:pointer;transition:background-color .3s ease,box-shadow .3s ease}.cancel-btn{background-color:var(--color-secundario);color:var(--color-secundario-texto)}.cancel-btn:hover{background-color:var(--color-secundario-hover)}.save-btn{background-color:var(--color-primario);color:var(--color-primario-texto)}.save-btn:hover{background-color:var(--color-primario-hover)}.save-btn:disabled{background-color:#a0c8f0;cursor:not-allowed}.error-message{color:var(--color-peligro-texto);background-color:var(--color-peligro-fondo);border:1px solid var(--color-peligro-borde);padding:1rem;border-radius:5px;margin-bottom:1rem;text-align:center}.list-modal-content{background:var(--color-superficie);padding:2rem;border-radius:8px;box-shadow:0 5px 15px #0000004d;width:90%;max-width:1200px;outline:none;display:flex;flex-direction:column}.list-modal-content h2{margin-top:0;margin-bottom:1.5rem;color:var(--color-texto);font-size:1.8rem;text-align:center}.modal-body{flex-grow:1;min-height:200px}.productos-table{width:100%;border-collapse:collapse;margin-top:1rem}.productos-table th,.productos-table td{padding:.8rem 1rem;text-align:left;border-bottom:1px solid var(--color-borde)}.productos-table th{background-color:var(--color-superficie-elevada);font-weight:600}.productos-table tr:last-child td{border-bottom:none}.productos-table td[colSpan="8"]{text-align:center;color:var(--color-texto-secundario);padding:2rem}.modal-footer{display:flex;justify-content:flex-end;margin-top:2rem}.close-btn{background-color:var(--color-secundario);color:var(--color-secundario-texto);border:none;padding:.8rem 1.5rem;border-radius:5px;font-size:1rem;cursor:pointer;transition:background-color .3s ease}.close-btn:hover{background-color:var(--color-secundario-hover)}.category-management-page{padding:2rem;background-color:var(--color-superficie);border-radius:8px;box-shadow:0 4px 8px #0000000d}.categories-table{width:100%;border-collapse:collapse;background-color:var(--color-superficie);box-shadow:0 2px 4px #0000000d}.categories-table th,.categories-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--color-borde);color:var(--color-texto)}.categories-table th{background-color:var(--color-superficie-hover);font-weight:600}.edit-button,.delete-button,.list-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;padding:.5rem 1rem;border-radius:5px;cursor:pointer;font-size:.9rem;transition:background-color .3s ease}.edit-button{background-color:var(--color-aviso-fondo);color:var(--color-aviso-texto)}.edit-button:hover{background-color:var(--color-aviso-fondo-hover)}.delete-button{background-color:var(--color-peligro-fondo);color:var(--color-peligro-texto)}.delete-button:hover{background-color:var(--color-peligro-fondo-hover)}.list-button{background-color:var(--color-secundario);color:var(--color-secundario-texto)}.list-button:hover{background-color:var(--color-secundario-hover)}.product-management-page{padding:2rem;background-color:var(--color-superficie);border-radius:8px;box-shadow:0 4px 8px #0000000d}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.page-header h1{font-size:2rem;color:var(--color-texto)}.create-button{background-color:var(--color-primario);color:var(--color-primario-texto);border:none;padding:.8rem 1.5rem;border-radius:5px;font-size:1rem;cursor:pointer;transition:background-color .3s ease}.create-button:hover{background-color:var(--color-primario-hover)}.filters-container{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.filter-input{padding:.8rem 1rem;border:1px solid var(--color-borde);border-radius:5px;background-color:var(--color-input-fondo);color:var(--color-texto);font-size:1rem;width:400px;max-width:100%;transition:border-color .3s ease,box-shadow .3s ease}.filter-select{padding:.8rem 1rem;border:1px solid var(--color-borde);border-radius:5px;background-color:var(--color-input-fondo);color:var(--color-texto);font-size:1rem;transition:border-color .3s ease,box-shadow .3s ease;min-width:200px}.filter-input:focus,.filter-select:focus{outline:none;border-color:var(--color-primario);box-shadow:0 0 0 2px var(--color-primario-transparente)}.table-responsive-container{overflow-x:auto}.products-table{width:100%;border-collapse:collapse;background-color:var(--color-superficie);box-shadow:0 2px 4px #0000000d;table-layout:fixed}.products-table th,.products-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--color-borde);color:var(--color-texto);word-wrap:break-word}.products-table td.stock-bajo{color:var(--color-peligro-texto);background-color:var(--color-peligro-fondo);font-weight:700}.products-table th{background-color:var(--color-superficie-hover);font-weight:600;white-space:nowrap}.products-table th:nth-child(1),.products-table td:nth-child(1){width:10%}.products-table th:nth-child(2),.products-table td:nth-child(2){width:15%}.products-table th:nth-child(3),.products-table td:nth-child(3){width:25%;white-space:normal}.products-table th:nth-child(4),.products-table td:nth-child(4){width:10%}.products-table th:nth-child(5),.products-table td:nth-child(5){width:10%}.products-table th:nth-child(6),.products-table td:nth-child(6){width:10%}.products-table th:nth-child(7),.products-table td:nth-child(7){width:5%}.products-table th:nth-child(8),.products-table td:nth-child(8){width:5%}.products-table th:nth-child(9),.products-table td:nth-child(9){width:5%}.products-table th:nth-child(10),.products-table td:nth-child(10){width:15%}.action-buttons{display:flex;gap:.5rem}.action-btn-icon{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:5px;cursor:pointer;transition:background-color .3s ease;width:36px;height:36px;padding:0}.action-btn-icon svg{font-size:1.1rem}.edit-button.action-btn-icon{background-color:var(--color-aviso-fondo);color:var(--color-aviso-texto)}.edit-button.action-btn-icon:hover{background-color:var(--color-aviso-fondo-hover)}.delete-button.action-btn-icon{background-color:var(--color-peligro-fondo);color:var(--color-peligro-texto)}.delete-button.action-btn-icon:hover{background-color:var(--color-peligro-fondo-hover)}.error-message{color:var(--color-peligro-texto);background-color:var(--color-peligro-fondo);border:1px solid var(--color-peligro-borde);padding:1rem;border-radius:5px;margin-bottom:1rem}.highlight-stock{background-color:#ff06;transition:background-color 1.5s ease}.ajuste-inventario-container{padding:2rem;background-color:var(--color-fondo);color:var(--color-texto)}.ajuste-inventario-container h1{font-size:2rem;margin-bottom:2rem;color:var(--color-texto);text-align:center}.form-row{display:flex;gap:2rem;margin-bottom:1.5rem}.form-group{flex:1;display:flex;flex-direction:column}.form-group input[type=radio],.form-group input[type=number],.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--color-borde);border-radius:4px;background-color:var(--color-superficie);color:var(--color-texto);font-size:1rem}.radio-group{display:flex;gap:1rem;align-items:center}.radio-group label{display:flex;align-items:center;gap:.5rem;font-weight:400}.radio-group input[type=radio]{width:auto;accent-color:var(--color-primario)}button.btn-primary{background-color:var(--color-primario);color:var(--color-primario-texto);border-color:var(--color-primario)}button.btn-primary:hover{background-color:var(--color-primario-hover);border-color:var(--color-primario-hover)}.error-message{color:var(--color-peligro-texto);background-color:var(--color-peligro-fondo);border:1px solid var(--color-peligro-borde);padding:1rem;border-radius:4px;margin-bottom:1.5rem}.success-message{color:var(--color-exito-texto);background-color:var(--color-exito-fondo);border:1px solid var(--color-exito-borde);padding:1rem;border-radius:4px;margin-bottom:1.5rem}.generar-reportes-container{padding:2rem;background-color:var(--color-fondo);color:var(--color-texto)}.generar-reportes-container h1{font-size:2rem;margin-bottom:2rem;color:var(--color-texto);text-align:center}.form-section{background-color:var(--color-superficie);padding:2rem;border-radius:8px;margin-bottom:2rem;box-shadow:0 2px 4px #0000001a}.form-group{display:flex;flex-direction:column;margin-bottom:1.5rem}.form-group label{font-weight:700;margin-bottom:.5rem;color:var(--color-texto)}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}button.btn{padding:.75rem 1.5rem;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;box-shadow:0 1px 2px #0000000d;border:1px solid transparent;transition:background-color .3s ease,border-color .3s ease}button.btn-primary{background-color:#007bff;color:#fff;border-color:#007bff}button.btn-primary:hover{background-color:#0056b3;border-color:#0056b3}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;--color-fondo: #f0fdfa;--color-texto: #0d1c1a;--color-superficie: #ffffff;--color-superficie-texto: #0d1c1a;--color-superficie-hover: #e6f6f3;--color-borde: #ccece6;--color-primario: #00695c;--color-primario-texto: #ffffff;--color-primario-hover: #00796b;--color-secundario: #17a2b8;--color-secundario-texto: #ffffff;--color-secundario-hover: #138496;--color-aviso-fondo: #ffc107;--color-aviso-texto: #212529;--color-aviso-fondo-hover: #e0a800;--color-input-fondo: #ffffff;--color-input-texto: #0d1c1a;--color-input-borde: #ccece6;--color-peligro-fondo: #f8d7da;--color-peligro-texto: #721c24;--color-peligro-borde: #f5c6cb;--color-peligro-fondo-hover: #f5c6cb;color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dark{--color-fondo: #121a19;--color-texto: rgba(255, 255, 255, .87);--text-color-secondary: rgba(255, 255, 255, .7);--color-superficie: #1a2e2b;--color-superficie-texto: rgba(255, 255, 255, .87);--color-superficie-hover: #2a3f3c;--color-borde: #004d40;--color-primario: #00796b;--color-primario-texto: #ffffff;--color-primario-hover: #009688;--color-secundario: #2692a1;--color-secundario-texto: #ffffff;--color-secundario-hover: #2fabbd;--color-aviso-fondo: #8c6c0c;--color-aviso-texto: #ffffff;--color-aviso-fondo-hover: #ab8510;--color-input-fondo: #1a2e2b;--color-input-texto: rgba(255, 255, 255, .87);--color-input-borde: #004d40;--color-peligro-fondo: #582a2e;--color-peligro-texto: #f8d7da;--color-peligro-borde: #a13c45;--color-peligro-fondo-hover: #6b3239;color-scheme:dark}body{margin:0;background-color:var(--color-fondo);color:var(--color-texto);transition:background-color .3s ease,color .3s ease}a{font-weight:500;color:var(--color-primario);text-decoration:inherit;transition:color .25s}a:hover{color:var(--color-primario-hover)}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--color-superficie);color:var(--color-superficie-texto);cursor:pointer;transition:border-color .25s,background-color .25s,color .25s}button:hover{border-color:var(--color-primario)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}
