body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.facturas-app{margin:0 auto;max-width:1400px;width:100%}.app-content{grid-gap:25px;display:grid;gap:25px;grid-template-columns:1fr}.subir-facturas h2{color:#2c3e50;font-size:1.5rem;margin-bottom:15px}.subir-facturas p{color:#666;margin-bottom:20px}.upload-container{display:flex;justify-content:center;margin:20px 0}.custom-file-upload{background:var(--primary-color);border:none;border-radius:var(--border-radius);color:#fff;cursor:pointer;display:inline-block;font-size:1rem;font-weight:600;padding:12px 24px;text-align:center;transition:background-color .2s ease,transform .2s ease}.custom-file-upload:hover{background:var(--primary-hover);transform:translateY(-1px)}#file-upload{display:none}.file-selected{background:#e8f5e8;border-left:4px solid #4caf50;border-radius:8px;color:#2e7d32;margin-top:20px;padding:15px}.resumen-facturas h2{color:#2c3e50;font-size:1.5rem;margin-bottom:20px}.summary-table-container{overflow-x:auto}.summary-table{border-collapse:collapse;width:100%}.summary-table td,.summary-table th{border-bottom:1px solid #e1e5e9;padding:12px;text-align:left}.summary-table th{background-color:#f8f9fa;font-weight:700}.status-badge{border-radius:15px;font-size:.8rem;font-weight:600;padding:6px 12px}.status-badge.subido{background-color:#d4edda;color:#155724}.status-badge.ignorado{background-color:#fff3cd;color:#856404}.status-badge.duplicado,.status-badge.error{background-color:#f8d7da;color:#721c24}.empty-state{color:#6c757d;padding:40px;text-align:center}.buscar-facturas{margin:0;width:100%}.buscar-facturas h2{border-bottom:2px solid #e9ecef;color:#2c3e50;margin-bottom:20px;margin-top:0;padding-bottom:15px}.search-form{display:flex;flex-direction:column;gap:20px}.search-fields{align-items:flex-end;display:flex;flex-wrap:wrap;gap:25px}.form-group{display:flex;flex:1 1;flex-direction:column;min-width:250px}.search-fields .form-group:first-child{flex:0 1 220px;min-width:200px}.search-fields .form-group:nth-child(2){flex:2 1 300px}.form-group-checkbox{align-items:center;align-self:flex-end;display:flex;flex:0 0 40px;height:52px;justify-content:center;padding-bottom:20px}.form-group-checkbox input[type=checkbox]{cursor:pointer;display:block;margin:0 auto;transform:scale(1.5)}.form-group-checkbox .tooltip-container{display:flex;justify-content:center;width:100%}.form-group label{color:#495057;font-weight:600;margin-bottom:8px}.form-group input,.form-group select{border:1px solid #ced4da;border-radius:6px;font-size:16px;padding:12px;transition:border-color .2s}.form-group input:disabled{background-color:#e9ecef;cursor:not-allowed}.form-group input:focus,.form-group select:focus{border-color:#4dabf7;box-shadow:0 0 0 3px #4dabf733;outline:none}.search-actions{display:flex;gap:12px}.lista-facturas{margin:0;padding:0;width:100%}.lista-facturas h2{border-bottom:2px solid #e9ecef;color:#2c3e50;margin-bottom:20px;padding-bottom:15px}.facturas-table{background-color:#fff}.facturas-table td,.facturas-table th{border-bottom:1px solid #dee2e6;padding:14px 16px}.facturas-table th{background-color:var(--primary-color);color:#fff}.facturas-table tr:nth-child(2n){background-color:#f8f9fa}.facturas-table tr:hover{background-color:#e9ecef}.monetary{color:#2c3e50;font-family:Courier New,monospace;font-weight:600}.facturas-table td:nth-child(6),.monetary{text-align:right}.btn{border-radius:6px;font-size:14px;padding:10px 18px}.btn-primary:hover{transform:translateY(-1px)}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#5a6268;transform:translateY(-1px)}.btn-small{font-size:13px;padding:7px 12px}.modal-overlay{align-items:center;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{background-color:#fff;border-radius:12px;box-shadow:0 10px 30px #00000040;max-height:90vh;max-width:900px;overflow-y:auto;width:90%}.modal-header{align-items:center;background-color:#f8f9fa;border-bottom:1px solid #e9ecef;border-top-left-radius:12px;border-top-right-radius:12px;display:flex;justify-content:space-between;padding:20px 25px}.modal-header h2{color:#2c3e50;font-size:1.5rem;margin:0}.modal-close{background:none;border:none;color:#6c757d;cursor:pointer;font-size:28px;transition:color .2s}.modal-close:hover{color:#495057}.modal-body{padding:25px}.detalles-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.detalles-col h3{border-bottom:2px solid #e9ecef;color:#2c3e50;margin-bottom:15px;margin-top:0;padding-bottom:12px}.detalles-col p{line-height:1.5;margin:10px 0}.detalles-col strong{color:#495057}.detalles-col p:nth-child(odd){background-color:#f8f9fa;border-radius:4px;padding:8px}.modal-footer{background-color:#f8f9fa;border-bottom-left-radius:12px;border-bottom-right-radius:12px;border-top:1px solid #e9ecef;padding:20px 25px;text-align:right}.tipo-badge{border-radius:20px;font-size:12px;font-weight:700;padding:5px 10px;text-transform:uppercase}.tipo-badge.venta{background-color:#d4edda;color:#155724}.tipo-badge.compra{background-color:#cce5ff;color:#004085}.loading{color:#6c757d;font-size:1.1rem;padding:50px;text-align:center}@media (max-width:768px){.app-content{grid-template-columns:1fr;padding:0 10px}.search-section,.summary-section,.upload-section{padding:15px}.lista-facturas{margin-left:0;padding:10px;width:100%}.search-fields{flex-direction:column;gap:15px}.form-group{min-width:auto}.detalles-grid{grid-template-columns:1fr}.facturas-table{display:block;font-size:14px;overflow-x:auto;transform:scale(1)}.facturas-table td,.facturas-table th{padding:10px 12px}.app-header,.buscar-facturas,.resumen-facturas,.subir-facturas{padding:15px}.app-header h1{font-size:1.8rem}}.tipo-select{background-color:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:12px;padding:4px 8px}.tipo-select:disabled{background-color:#f5f5f5;cursor:not-allowed}.loading-small{color:#666;font-size:10px;font-style:italic;margin-left:5px}.tipo-badge.compras,.tipo-badge.gastos,.tipo-badge.nc\ compras,.tipo-badge.nc\ gastos{border-radius:12px;font-size:11px;font-weight:700;padding:2px 6px}.tipo-badge.compras{background-color:#e3f2fd;color:#1976d2}.tipo-badge.gastos{background-color:#fff3e0;color:#f57c00}.tipo-badge.nc\ compras,.tipo-badge.nc\ gastos{background-color:#ffebee;color:#d32f2f}.table-container{background:#fff;border:2px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-top:15px;overflow:hidden}.table-wrapper{max-height:600px;overflow-x:auto;overflow-y:auto}.facturas-table{border-collapse:collapse;min-width:1000px;width:100%}.facturas-table td,.facturas-table th{border-bottom:1px solid #e0e0e0;padding:12px;text-align:left;white-space:nowrap}.facturas-table th{color:#495057;font-weight:600;position:-webkit-sticky;position:sticky;top:0;z-index:10}.facturas-table tbody tr:hover,.facturas-table th{background-color:#f8f9fa}.filtro-info{background:#fff3;border-radius:4px;margin-top:5px;padding:5px 10px}.filtro-info small{color:#e0e0e0}.acciones-buttons{display:flex;flex-wrap:wrap;gap:8px}.btn-small{font-size:12px;padding:6px 12px}.btn-danger{background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{background-color:#c82333;border-color:#bd2130}.loading-small{color:#6c757d;font-size:11px}.loading-message{align-items:center;color:#666;display:flex;flex-direction:column;height:200px;justify-content:center}.loading-spinner{border:4px solid #f3f3f3;border-top-color:#3498db;margin-bottom:16px}.tooltip-text{border-radius:var(--border-radius);bottom:150%}.tooltip-text:after{border:5px solid #0000;border-top-color:#555;content:"";left:50%;margin-left:-5px;position:absolute;top:100%}.table-wrapper .tooltip-container:hover .tooltip-text{inset:auto auto 125% auto}.parametros-container{margin:0 auto;max-width:800px}.parametros-card{background-color:var(--card-background);border-radius:var(--border-radius);box-shadow:var(--shadow);padding:2rem}.parametros-header h2{border-bottom:1px solid var(--border-color);color:var(--text-color);font-size:1.75rem;font-weight:600;margin:0 0 1.5rem;padding-bottom:1rem}.form-section{margin-bottom:2rem}.form-section h3{color:var(--text-color);font-size:1.2rem;font-weight:500;margin-bottom:1rem}.logo-preview-container{background-color:var(--background-color);border:1px dashed var(--border-color);border-radius:var(--border-radius);margin-bottom:1.5rem;padding:1rem;text-align:center}.logo-preview-container img{border-radius:var(--border-radius);margin-bottom:1rem;max-height:150px;max-width:200px;object-fit:contain}.logo-actions{display:flex;gap:1rem;justify-content:center}.logo-placeholder{color:var(--text-light);padding:2rem 0}.form-group{margin-bottom:1.5rem}.form-group label,.form-row label{color:var(--text-color);display:block;font-weight:500;margin-bottom:.5rem}.form-group input[type=number],.form-group input[type=text]{border:1px solid var(--border-color);border-radius:var(--border-radius);box-sizing:border-box;font-size:1rem;padding:.75rem;transition:border-color .2s,box-shadow .2s;width:100%}.form-group input[type=number]:focus,.form-group input[type=text]:focus,.form-row input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #3498db33;outline:none}.parametros-footer{margin-top:2rem;text-align:right}.status-message{border:1px solid #0000;border-radius:var(--border-radius);margin-top:1.5rem;padding:1rem}.status-message.success{background-color:#d4edda;border-color:#c3e6cb;color:#155724}.status-message.error{background-color:#f8d7da;border-color:#f5c6cb;color:#721c24}.status-message details{font-size:.85rem;margin-top:.5rem}.btn{border:none;border-radius:var(--border-radius);cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:var(--primary-hover)}.btn-danger{background-color:var(--danger-color);color:#fff}.btn-danger:hover{background-color:var(--danger-hover)}.btn-secondary{background-color:var(--secondary-color);color:var(--text-color)}.btn-secondary:hover{background-color:var(--secondary-hover)}.btn:disabled{cursor:not-allowed;opacity:.6}.form-row{display:flex;flex-wrap:wrap;gap:20px}.form-row .form-group{flex:1 1;min-width:200px}.form-row .identificacion-group{flex-grow:0.3;flex-shrink:1}.form-inline-group{align-items:center;background-color:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius);display:flex;gap:10px;padding:1rem}.form-inline-group label{font-weight:500;margin-bottom:0}.form-inline-group .inline-input{border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:1rem;padding:.5rem;text-align:center;width:100px}.form-inline-group .inline-separator{color:var(--text-light);font-weight:500}.ReporteComprasVentas_report-container__5tDT8{font-family:Arial,sans-serif;margin:auto;max-width:800px;padding:2rem}.ReporteComprasVentas_input-group__DHld7{gap:1rem;margin-bottom:2rem}.ReporteComprasVentas_input-group__DHld7 label{font-weight:700}.ReporteComprasVentas_input-group__DHld7 button,.ReporteComprasVentas_input-group__DHld7 input[type=date]{border:1px solid #ccc;border-radius:4px;padding:.5rem}.ReporteComprasVentas_input-group__DHld7 button:disabled{background-color:#ccc}.ReporteComprasVentas_error-message__ecgN8{color:red;font-weight:700;margin-top:10px}.ReporteComprasVentas_report-list-container__C0-GO{display:flex;flex-direction:column;gap:1rem}.ReporteComprasVentas_factura-item__fP3zK{border-left:5px solid;border-radius:8px;box-shadow:0 2px 5px #0000001a;padding:1rem}.ReporteComprasVentas_factura-item__fP3zK.ReporteComprasVentas_compras__llLyF{border-color:#dc3545}.ReporteComprasVentas_factura-item__fP3zK.ReporteComprasVentas_ventas__o-Qp\+{border-color:#28a745}.ReporteComprasVentas_factura-header__kkzN0{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:.5rem;padding-bottom:.5rem}.ReporteComprasVentas_factura-type__M0rd9{border-radius:4px;color:#fff;font-weight:700;padding:.25rem .5rem}.ReporteComprasVentas_factura-item__fP3zK.ReporteComprasVentas_compras__llLyF .ReporteComprasVentas_factura-type__M0rd9{background-color:#dc3545}.ReporteComprasVentas_factura-item__fP3zK.ReporteComprasVentas_ventas__o-Qp\+ .ReporteComprasVentas_factura-type__M0rd9{background-color:#28a745}.ReporteComprasVentas_factura-date__rpB9r{color:#666;font-style:italic}.ReporteComprasVentas_factura-details__rWXMN p{margin:0}.ReporteComprasVentas_table-responsive__dr9Nf{overflow-x:auto}.ReporteComprasVentas_factura-table__SbyxQ{background-color:#fff;border-collapse:collapse;box-shadow:0 2px 5px #0000001a;font-size:.9rem;margin-top:1.5rem;width:100%}.ReporteComprasVentas_factura-table__SbyxQ td,.ReporteComprasVentas_factura-table__SbyxQ th{border-bottom:1px solid #ddd;padding:12px 15px;text-align:left}.ReporteComprasVentas_factura-table__SbyxQ th{background-color:#f2f2f2;color:#333;font-weight:700;text-transform:uppercase}.ReporteComprasVentas_factura-table__SbyxQ tbody tr:nth-child(2n){background-color:#f9f9f9}.ReporteComprasVentas_factura-table__SbyxQ tbody tr:hover{background-color:#f1f1f1}.ReporteComprasVentas_factura-table__SbyxQ .ReporteComprasVentas_compras__llLyF{color:#dc3545;font-weight:700}.ReporteComprasVentas_factura-table__SbyxQ .ReporteComprasVentas_ventas__o-Qp\+{color:#28a745;font-weight:700}.ReporteComprasVentas_table-responsive-wide__hYUwb{margin:20px 0;overflow-x:auto;width:100%}.ReporteComprasVentas_factura-table-wide__Hz4m3{border-collapse:collapse;min-width:1000px;width:100%}.ReporteComprasVentas_factura-table-wide__Hz4m3 td,.ReporteComprasVentas_factura-table-wide__Hz4m3 th{border-bottom:1px solid #ddd;padding:12px 15px;text-align:left;white-space:nowrap}.ReporteComprasVentas_factura-table-wide__Hz4m3 th{background-color:#f8f9fa;font-weight:700;position:-webkit-sticky;position:sticky;top:0}.ReporteComprasVentas_totales-container__9lZYA{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:5px;padding:15px}.ReporteComprasVentas_total-item__qJFGP{font-size:16px;margin-bottom:10px}.ReporteComprasVentas_total-label__5WXPI{font-weight:600}.ReporteComprasVentas_compras__llLyF{color:#dc3545}.ReporteComprasVentas_ventas__o-Qp\+{color:#28a745}.ReporteComprasVentas_report-container__5tDT8{padding:20px}.ReporteComprasVentas_conversion-indicator__cIRv7{color:#28a745;font-weight:700}.ReporteComprasVentas_nota-conversion__Nl4eR{margin-top:10px}.ReporteComprasVentas_report-container-full__kq4zy{box-sizing:border-box;font-family:Arial,sans-serif;margin:0 auto;padding:20px;width:100%}.ReporteComprasVentas_header-with-logo__q5eoS{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.ReporteComprasVentas_logo-container__ojIAy{display:none;margin-right:20px}.ReporteComprasVentas_logo__RvUa\+{max-height:120px;max-width:120px}.ReporteComprasVentas_header-info__yBmi8{flex:1 1 auto;text-align:right}@media print{.ReporteComprasVentas_logo-container__ojIAy{display:block!important;float:left;margin-right:20px}.ReporteComprasVentas_header-info__yBmi8{text-align:right!important}.ReporteComprasVentas_header-with-logo__q5eoS{align-items:center!important;display:flex!important;justify-content:space-between!important}.ReporteComprasVentas_error-message__ecgN8,.ReporteComprasVentas_export-button__9xdJS,.ReporteComprasVentas_input-group__DHld7,.ReporteComprasVentas_print-button__OU8ly{display:none!important}}.ReporteComprasVentas_input-group__DHld7{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px;width:100%}.ReporteComprasVentas_input-group__DHld7 label{font-weight:500;min-width:60px}.ReporteComprasVentas_input-group__DHld7 input{border:1px solid #ced4da;border-radius:4px;flex:0 0 auto;padding:8px 12px}.ReporteComprasVentas_input-group__DHld7 button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;flex:0 0 auto;padding:8px 16px}.ReporteComprasVentas_input-group__DHld7 button:disabled{background-color:#6c757d;cursor:not-allowed}.ReporteComprasVentas_export-button__9xdJS{background-color:#2196f3!important}.ReporteComprasVentas_export-button__9xdJS:hover{background-color:#0b7dda!important}.ReporteComprasVentas_print-button__OU8ly{background-color:#ff9800!important}.ReporteComprasVentas_print-button__OU8ly:hover{background-color:#e68a00!important}.ReporteComprasVentas_error-message__ecgN8{background-color:#ffebee;border-radius:4px;color:#dc3545;font-weight:500;margin-bottom:15px;padding:10px;width:100%}.ReporteComprasVentas_table-container-full__2GJoV{border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 8px #0000001a;margin:20px 0;overflow-x:auto;width:100%}.ReporteComprasVentas_factura-table-full__ePlbD{border-collapse:collapse;font-size:14px;table-layout:auto;width:100%}.ReporteComprasVentas_factura-table-full__ePlbD td,.ReporteComprasVentas_factura-table-full__ePlbD th{border:1px solid #ddd;padding:8px;text-align:left;white-space:nowrap}.ReporteComprasVentas_factura-table-full__ePlbD th{background-color:#f5f5f5;border-top:2px solid #dee2e6;font-weight:700;position:-webkit-sticky;position:sticky;top:0}.ReporteComprasVentas_factura-table-full__ePlbD tr:hover{background-color:#f8f9fa}.ReporteComprasVentas_align-right__DOEWw{text-align:right!important}.ReporteComprasVentas_compras__llLyF{color:#c62828;font-weight:700}.ReporteComprasVentas_ventas__o-Qp\+{color:#2e7d32;font-weight:700}.ReporteComprasVentas_nc__RSKz3{color:#7b1fa2;font-weight:700}.ReporteComprasVentas_nd__dBIha{color:#ef6c00;font-weight:700}.ReporteComprasVentas_monto-convertido__pps0G{background-color:#e8f5e8;font-weight:600}.ReporteComprasVentas_impuesto-convertido__qQgal{background-color:#e3f2fd;font-weight:600}.ReporteComprasVentas_conversion-indicator__cIRv7{color:#ff6d00;font-size:12px;margin-left:2px}.ReporteComprasVentas_nota-conversion__Nl4eR{background-color:#fff8e1;border-left:4px solid #ffc107;color:#6c757d;font-size:12px;font-style:italic;margin-top:15px;padding:10px;text-align:center}.ReporteComprasVentas_totales-container__9lZYA{box-sizing:border-box;gap:20px;width:100%}.ReporteComprasVentas_total-section__cDet3{border:1px solid #eee;border-radius:4px;min-width:250px}.ReporteComprasVentas_total-section__cDet3 h3{border-bottom:1px solid #ddd;color:#333;margin-top:0;padding-bottom:8px}.ReporteComprasVentas_total-item__qJFGP{font-size:14px;font-weight:500;margin-bottom:8px}.ReporteComprasVentas_total-label__5WXPI{color:#495057;font-weight:700}.ReporteComprasVentas_total-value__UYv8Q{color:#1976d2}@media (max-width:1200px){.ReporteComprasVentas_factura-table-full__ePlbD{font-size:13px}}@media (max-width:992px){.ReporteComprasVentas_input-group__DHld7{align-items:stretch;flex-direction:column}.ReporteComprasVentas_input-group__DHld7 label{margin-top:10px}}@media (max-width:768px){.ReporteComprasVentas_factura-table-full__ePlbD{font-size:12px}.ReporteComprasVentas_factura-table-full__ePlbD td,.ReporteComprasVentas_factura-table-full__ePlbD th{padding:6px 4px}.ReporteComprasVentas_total-section__cDet3{min-width:100%}}.ReporteComprasVentas_grupo-header__4YBEk{background-color:#f0f0f0}.ReporteComprasVentas_grupo-titulo__n8uwa{font-weight:700;padding:10px;text-align:center}.ReporteComprasVentas_grupo-total__x8XBp{background-color:#e8f4fc;font-weight:700}.ReporteComprasVentas_grupo-total-label__ldPh5{font-weight:700;padding-right:15px;text-align:right}.ReporteComprasVentas_totales-container__9lZYA{display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-top:20px}.ReporteComprasVentas_total-section__cDet3{background-color:#f9f9f9;border-radius:8px;box-shadow:0 2px 4px #0000001a;flex:1 1;min-width:280px;padding:15px}.ReporteComprasVentas_total-item__qJFGP{border-bottom:1px dashed #eee;display:flex;justify-content:space-between;margin:8px 0;padding:5px 0}.ReporteComprasVentas_total-item__qJFGP:last-child{border-bottom:none;font-weight:700}.ReporteComprasVentas_total-label__5WXPI{font-weight:500}.ReporteComprasVentas_total-value__UYv8Q{font-weight:700}@media (max-width:1200px){.ReporteComprasVentas_total-section__cDet3{min-width:100%}}.gestion-usuarios-container .component-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.gestion-usuarios-container .component-header h1{margin:0}.usuarios-table{border-collapse:collapse;font-size:.9rem;width:100%}.usuarios-table td,.usuarios-table th{border-bottom:1px solid var(--border-color);padding:12px 15px;text-align:left}.usuarios-table th{color:var(--text-color);font-weight:600}.usuarios-table tbody tr:hover,.usuarios-table th{background-color:#f8f9fa}.rol-badge{border-radius:12px;font-size:.75rem;font-weight:600;padding:4px 10px;text-transform:capitalize}.rol-badge.admin{background-color:#fef3c7;color:#92400e}.rol-badge.user{background-color:#e0e7ff;color:#3730a3}.switch{display:inline-block;height:24px;position:relative;width:44px}.switch input{height:0;opacity:0;width:0}.slider{background-color:#ccc;bottom:0;cursor:pointer;left:0;right:0;top:0}.slider,.slider:before{position:absolute;transition:.4s}.slider:before{background-color:#fff;bottom:3px;content:"";height:18px;left:3px;width:18px}input:checked+.slider{background-color:var(--success-color)}input:focus+.slider{box-shadow:0 0 1px var(--success-color)}input:checked+.slider:before{transform:translateX(20px)}.slider.round{border-radius:24px}.slider.round:before{border-radius:50%}.user-modal .modal-body{padding-top:1rem}.user-modal .form-group{margin-bottom:1.5rem}.user-modal .form-group label{display:block;font-weight:500;margin-bottom:.5rem}.user-modal .form-group input,.user-modal .form-group select{border:1px solid var(--border-color);border-radius:var(--border-radius);box-sizing:border-box;font-size:1rem;padding:.75rem;width:100%}.actions-cell{gap:8px}.actions-cell,.icon-btn{align-items:center;display:flex}.icon-btn{background:var(--secondary-color);border:none;border-radius:50%;cursor:pointer;font-size:16px;height:32px;justify-content:center;transition:background-color .2s,transform .2s;width:32px}.icon-btn:hover{background:var(--secondary-hover);transform:scale(1.1)}.icon-btn.danger{background-color:#fee2e2;color:var(--danger-color)}.icon-btn.danger:hover{background-color:#fecaca}.tooltip-container{display:inline-block;position:relative}.tooltip-text{background-color:#555;border-radius:6px;bottom:125%;color:#fff;left:50%;margin-left:-60px;opacity:0;padding:5px 0;position:absolute;text-align:center;transition:opacity .3s;visibility:hidden;width:120px;z-index:1}.tooltip-container:hover .tooltip-text{opacity:1;visibility:visible}.gestion-usuarios-container .search-bar{width:500px}.gestion-usuarios-container .search-bar input{border:1px solid var(--border-color);border-radius:var(--border-radius);box-sizing:border-box;font-size:.9rem;padding:.75rem;width:100%}.header-actions{align-items:center;display:flex;gap:1rem}.cotizaciones-container{margin:0 auto;max-width:900px}.cotizaciones-container .cotizacion-layout-vertical{display:flex;flex-direction:column;gap:1.5rem}.cotizaciones-container .panel-detalles,.cotizaciones-container .panel-encabezado{width:100%}.cotizaciones-container .card{border:1px solid #ddd;box-shadow:0 1px 3px #0000001a;margin-bottom:0}.cotizaciones-container .card-body{padding:1.5rem}.cotizaciones-container .numero-cotizacion{align-items:center;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;display:flex;font-size:1.1rem;font-weight:700;justify-content:space-between;margin-bottom:1.5rem;padding:.75rem 1.5rem}.sticky-toolbar{background:#0000;box-sizing:border-box;left:0;margin:0 0 1.5rem;pointer-events:none;position:-webkit-sticky;position:sticky;right:0;top:0;width:100%;z-index:10}.sticky-toolbar .sticky-toolbar__inner{pointer-events:auto}.sticky-toolbar .tooltip-text{bottom:auto!important;left:50%!important;top:calc(100% + 6px)!important;transform:translateX(-50%)!important;z-index:2000!important}.sticky-toolbar .tooltip-text:after{content:none!important}.sticky-toolbar .tooltip-container{overflow:visible}.sticky-toolbar__inner{align-items:center;background-color:#fff;border-bottom:1px solid #dee2e6;box-shadow:0 2px 4px #0000000d;box-sizing:border-box;display:flex;justify-content:space-between;margin:0 auto;max-width:900px;padding:.75rem 1.5rem}.sticky-toolbar.fixed{left:0;margin:0;position:fixed;right:0;top:60px}.sticky-toolbar__spacer{height:0;pointer-events:none}.sticky-toolbar__spacer.active{height:60px}.sticky-toolbar .numero-cotizacion{background:none!important;border:none!important;box-shadow:none!important;font-size:1.2rem;margin-bottom:0!important;padding:0!important}.toolbar-buttons{align-items:center;display:flex;gap:10px}.cotizaciones-container .numero-cotizacion .btn{font-size:.9rem;padding:.4rem .8rem}.cotizaciones-container .seccion-titulo{border-bottom:2px solid #007bff;color:#333;font-size:1rem;font-weight:600;margin-bottom:1rem;padding-bottom:.5rem}.cotizaciones-container .form-grid{display:flex;flex-direction:column;gap:.8rem}.cotizaciones-container .form-row{align-items:center;display:flex;gap:.8rem}.cotizaciones-container .form-label{color:#333;flex-shrink:0;font-size:.85rem;font-weight:600;margin-bottom:0;min-width:100px;text-align:left}.cotizaciones-container .form-row.compact .form-label{min-width:80px}.cotizaciones-container .form-control,.cotizaciones-container .form-select{border:1px solid #ced4da;border-radius:4px;font-size:.85rem;height:auto;padding:.4rem .75rem}.cotizaciones-container .fecha-display,.cotizaciones-container .form-control,.cotizaciones-container .form-select{flex:1 1}.cotizaciones-container .form-row-full{width:100%}.cotizaciones-container .form-row-half{width:50%}.cotizaciones-container .telefono-input{flex:none!important;width:120px!important}.cotizaciones-container .forma-pago-input{flex:none!important;width:100px!important}.cotizaciones-container .hecho-por-input{flex:none!important;width:250px!important}.cotizaciones-container .narrow-input{flex:none!important;width:50px!important}.cotizaciones-container .fecha-display{background:#f8f9fa;border:1px solid #ced4da;border-radius:4px;color:#495057;flex:1 1;font-size:.85rem;padding:.4rem .75rem}.cotizaciones-container .separador{background-color:#007bff;border-radius:1px;height:2px;margin:1.5rem 0;opacity:.5}.cotizaciones-container .radio-group{display:flex;gap:1.5rem;margin-bottom:1rem}.cotizaciones-container .form-check{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.cotizaciones-container .form-check-input{margin-top:0}.cotizaciones-container .form-check-label{font-size:.85rem;font-weight:600;margin-bottom:0}.cotizaciones-container .config-grid-compact{grid-gap:.8rem;display:grid;gap:.8rem;grid-template-columns:1fr 1fr;margin:1rem 0}.cotizaciones-container .checkboxes-row{display:flex;gap:1rem;margin-top:.5rem}.cotizaciones-container .seccion-firma-compact .form-row{gap:1.5rem;justify-content:flex-start;margin-bottom:0}.cotizaciones-container .firma-checkbox-container{position:relative;top:4px}.cotizaciones-container .cotizacion-table{border-collapse:collapse;font-size:.8rem;margin-bottom:1rem;table-layout:fixed;width:100%}.cotizaciones-container .cotizacion-table th{background:#f8f9fa;border:1px solid #dee2e6;font-size:.8rem;font-weight:600;overflow:hidden;padding:.6rem;text-align:left}.cotizaciones-container .cotizacion-table td{border:1px solid #dee2e6;overflow:hidden;padding:.3rem;vertical-align:middle}.cotizaciones-container .cotizacion-table .sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none}.cotizaciones-container .cotizacion-table td.text-end,.cotizaciones-container .cotizacion-table th.text-end{text-align:right}.cotizaciones-container .cotizacion-table .cantidad-input{width:80px}.cotizaciones-container .cotizacion-table input{background:#fff;border:1px solid #ced4da;border-radius:3px;box-sizing:border-box;display:block;font-size:.8rem;margin:0;padding:.3rem;width:100%}.cotizaciones-container .cotizacion-table input:focus{border-color:#007bff;outline:2px solid #007bff}.cotizaciones-container .cotizacion-table td:first-child input{text-align:center}.cotizaciones-container .cotizacion-table input.text-end{text-align:right}.cotizaciones-container .cotizacion-table .icon-btn{align-items:center;display:flex;font-size:.8rem;height:28px;justify-content:center;margin:0 auto;width:28px}.cotizaciones-container .agregar-linea{font-size:.8rem;margin-top:.5rem;padding:.3rem .8rem}.cotizaciones-container .seccion-totales{margin:1rem 0}.cotizaciones-container .total-row{display:flex;font-size:.9rem;justify-content:space-between;padding:.4rem 0}.cotizaciones-container .total-label{font-weight:500}.cotizaciones-container .total-value{font-weight:500;min-width:120px;text-align:right}.cotizaciones-container .total-row.total-final{border-top:2px solid #333;font-size:1rem;font-weight:700;margin-top:.6rem;padding-top:.6rem}@media (max-width:768px){.cotizaciones-container{max-width:100%;padding:0 1rem}.cotizaciones-container .config-grid-compact{grid-template-columns:1fr}.cotizaciones-container .form-row{align-items:flex-start;flex-direction:column;gap:.3rem}.cotizaciones-container .form-label{min-width:auto;width:100%}.cotizaciones-container .radio-group{flex-direction:column;gap:.5rem}.cotizaciones-container .forma-pago-input,.cotizaciones-container .hecho-por-input,.cotizaciones-container .narrow-input,.cotizaciones-container .telefono-input{width:100%!important}.cotizaciones-container .seccion-firma-compact{gap:1rem;grid-template-columns:1fr}.cotizaciones-container .table-container{overflow-x:auto}.cotizaciones-container .cotizacion-table{min-width:600px}}@media (max-width:576px){.cotizaciones-container .component-header{align-items:flex-start;flex-direction:column;gap:1rem}.cotizaciones-container .card-body{padding:1rem}.cotizaciones-container .cotizacion-table input,.cotizaciones-container .cotizacion-table td,.cotizaciones-container .cotizacion-table th{font-size:.75rem;padding:.2rem}}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-form{background:#fff;border-radius:10px;box-shadow:0 10px 25px #0003;max-width:400px;padding:2rem;width:100%}.login-form h2{color:#333;margin-bottom:.5rem;text-align:center}.login-subtitle{color:#666;font-size:.9rem;margin-bottom:1.5rem;text-align:center}.login-form input{border:1px solid #ddd;border-radius:5px;box-sizing:border-box;font-size:16px;margin:8px 0;padding:12px;width:100%}.login-form input:focus{border-color:#667eea;outline:none}.login-form button{background:#667eea;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;margin-top:10px;padding:12px;width:100%}.login-form button:hover:not(:disabled){background:#5a67d8}.login-form button:disabled{background:#ccc;cursor:not-allowed}.error-message{background:#fee;border:1px solid #fcc;border-radius:5px;color:#c33}.error-message,.success-message{margin-bottom:15px;padding:10px;text-align:center}.success-message{background:#e8f5e9;border:1px solid #c8e6c9;border-radius:5px;color:#2e7d32}.link-button{background:none;border:none;color:#667eea;cursor:pointer;font-size:14px;margin:5px 0;text-decoration:underline}.link-button:hover{color:#5a67d8}.link-button:disabled{color:#ccc;cursor:not-allowed}.login-actions{margin-bottom:15px;margin-top:15px;text-align:center}.login-info{background:#f8f9fa;border-left:4px solid #667eea;border-radius:5px;margin-top:20px;padding:15px}.login-info p{color:#555;font-size:.85rem;margin:5px 0}.login-info strong{color:#333}.grupo-reporte{background-color:#fafafa;border:2px solid #e0e0e0;border-radius:8px;margin-bottom:25px;padding:15px}.grupo-reporte:nth-child(odd){background-color:#f8f9fa}.grupo-reporte:nth-child(2n){background-color:#fefefe}.grupo-reporte:nth-child(4n+1) .table-main-header{background:linear-gradient(135deg,#5b8cff,#3d6cb9)!important}.grupo-reporte:nth-child(4n+2) .table-main-header{background:linear-gradient(135deg,#28a745,#1e7e34)!important}.grupo-reporte:nth-child(4n+3) .table-main-header{background:linear-gradient(135deg,#ffc107,#e0a800)!important}.grupo-reporte:nth-child(4n+4) .table-main-header{background:linear-gradient(135deg,#dc3545,#c82333)!important}.table-totals-semana{background-color:#e3f2fd!important}.table-totals-semana td{border-bottom:2px solid #90caf9!important;border-top:2px solid #90caf9!important}.table-totals-grupo{background-color:#bbdefb!important;font-weight:800}.table-totals-grupo td{border-bottom:3px solid #64b5f6!important;border-top:3px solid #64b5f6!important}.badge-grupo{background:linear-gradient(135deg,#4a90e2,#357abd);color:#fff;font-size:.7rem}.totales-generales .card{border:2px solid #007bff}.totales-generales .card-header{font-weight:600}@media (max-width:768px){.grupo-reporte{padding:10px}.table-responsive{font-size:.7rem!important}.table-sm td,.table-sm th{padding:3px 4px}}.table-totals-consolidados-semana{background-color:#bbdefb!important;font-weight:700}.table-totals-consolidados-semana td{border-bottom:2px solid #64b5f6!important;border-top:2px solid #64b5f6!important}.table-responsive{border-radius:6px;box-shadow:0 1px 3px #0000000d}.table-main-header{background:linear-gradient(135deg,#5b8cff,#3d6cb9)!important;font-weight:600}.table-main-header,.table-sub-header{border:none!important;color:#fff!important}.table-sub-header{background:linear-gradient(135deg,#6d9eff,#4a7fd4)!important;font-weight:500}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:10}.table-totals-grupo-semana{background-color:#f8f9fa!important;font-weight:600}.table-totals-grupo-semana td{border-bottom:1px solid #dee2e6!important;border-top:1px solid #dee2e6!important}.table-totals-grupo{background-color:#e3f2fd!important;font-weight:700}.table-totals-grupo td{border-bottom:2px solid #90caf9!important;border-top:2px solid #90caf9!important}.table-totals-semana{background-color:#bbdefb!important;font-weight:700}.table-totals-semana td{border-bottom:2px solid #64b5f6!important;border-top:2px solid #64b5f6!important}.table-totals-generales{background-color:#1e88e5!important;color:#fff!important;font-weight:800}.table-totals-generales td{border-bottom:3px solid #0d47a1!important;border-top:3px solid #0d47a1!important}.table-responsive::-webkit-scrollbar{height:8px;width:8px}.table-responsive::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.table-responsive::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.table-responsive::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media (max-width:768px){.empresa-reporte{padding:10px}.table-responsive{font-size:.7rem!important}.table-sm td,.table-sm th{padding:3px 4px}}@media print{.empresa-reporte{border:none;break-inside:avoid;margin-bottom:20px;padding:0;page-break-inside:avoid}.table{font-size:8pt!important}.table-main-header,.table-sub-header{background:#f0f0f0!important;color:#000!important;-webkit-print-color-adjust:exact}}.tabla-cuerpo::-webkit-scrollbar-corner{background:#f1f1f1}.columna-fija{top:80px}.table-sm td,.table-sm th{border:1px solid #dee2e6;padding:4px 6px;vertical-align:middle}.table-hover tbody tr:hover{background-color:#5b8cff14!important}.text-end{font-family:Courier New,monospace;font-weight:500}.table-active{background-color:#f0f7ff!important;font-weight:600}.table-grupo-header td{font-size:.8rem;font-weight:700}.badge{font-size:.65rem}.tabla-cuerpo tr{transition:background-color .2s ease}@media (max-width:768px){.empresa-reporte{padding:10px}.tabla-cuerpo{font-size:.7rem!important;height:400px}.columna-fija{top:70px;width:200px}.tabla-cuerpo>div{margin-left:200px!important}.table-sm td,.table-sm th{padding:3px 4px}}@media print{.empresa-reporte{border:none;break-inside:avoid;margin-bottom:20px;padding:0;page-break-inside:avoid}.tabla-contenedor{border:1px solid #000;box-shadow:none}.columna-fija{box-shadow:none;position:relative;width:auto}.tabla-cuerpo>div{margin-left:0!important}}.reporte-grupos{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.empresa-reporte{background-color:#fafafa;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:20px;padding:15px}.tabla-contenedor{border:1px solid #dee2e6;border-radius:6px;box-shadow:0 1px 3px #0000000d;overflow:hidden;position:relative}.tabla-header{background:#fff;border-bottom:2px solid #dee2e6;overflow:hidden;position:-webkit-sticky;position:sticky;top:0;z-index:20}.tabla-header table{margin-bottom:0}.tabla-header th{background:linear-gradient(135deg,#5b8cff,#3d6cb9);border:none;color:#fff;font-weight:600;padding:8px 6px}.columna-fija-header{background:linear-gradient(135deg,#5b8cff,#3d6cb9)!important;left:0;min-width:250px;position:-webkit-sticky;position:sticky;width:250px;z-index:25}.semana-subtitulo{font-size:.6rem;opacity:.9}.tabla-cuerpo{background:#fff;cursor:grab;height:500px;overflow:auto;position:relative}.tabla-cuerpo.dragging,.tabla-cuerpo:active{cursor:grabbing}.tabla-cuerpo::-webkit-scrollbar{height:12px;width:12px}.tabla-cuerpo::-webkit-scrollbar-track{background:#f1f1f1;border-radius:6px}.tabla-cuerpo::-webkit-scrollbar-thumb{background:#c1c1c1;border:2px solid #f1f1f1;border-radius:6px}.tabla-cuerpo::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.columna-fija{background:#fff;border-right:2px solid #dee2e6;box-shadow:2px 0 5px #0000001a;left:0;position:absolute;top:0;width:250px;z-index:15}.columna-fija table{margin-bottom:0}.grupo-header{border:none!important;color:#fff!important;font-size:.8rem;font-weight:700;padding:8px!important;text-align:center}.producto-info{border-left:4px solid #0000;border:none!important;border-bottom:1px solid #dee2e6!important;display:flex;flex-direction:column;justify-content:center;min-height:40px;padding:6px!important}.producto-nombre{font-size:.7rem;font-weight:700;line-height:1.2}.producto-codigo{color:#6c757d;line-height:1.1}.contenido-desplazable{margin-left:250px}.contenido-desplazable table{margin-bottom:0}.celda-datos{font-size:.65rem}.celda-datos,.celda-total{border:1px solid #dee2e6;min-width:60px;padding:4px 6px}.celda-total{background-color:#f0f7ff!important;font-size:.7rem;font-weight:600}.celda-total-semana{background-color:#f8f9fa!important;border:1px solid #dee2e6;font-size:.65rem;font-weight:600;padding:4px 6px}.celda-total-semana-titulo{background-color:#e3f2fd!important}.celda-total-grupo,.celda-total-semana-titulo{border:1px solid #dee2e6;font-weight:700;padding:4px 6px}.celda-total-grupo{background-color:#bbdefb!important}.celda-total-general{background-color:#1e88e5!important;border:1px solid #0d47a1!important;color:#fff!important;font-weight:800;padding:4px 6px}.celda-vacia{background-color:initial!important;border:none!important}.espacio-grupo{background:#f8f9fa;border:none!important;height:5px}.espacio-header-grupo{background:#0000;border:none!important;height:40px}.tabla-footer{background:#fff;border-top:2px solid #dee2e6;bottom:0;position:-webkit-sticky;position:sticky;z-index:20}.tabla-footer table{margin-bottom:0}.tabla-cuerpo tr:hover{background-color:#f8f9fa!important}.table-light{background-color:#f8f9fa}.badge-empresa{background:linear-gradient(135deg,#4a90e2,#357abd);color:#fff;font-size:.65rem}@media (max-width:768px){.empresa-reporte{padding:10px}.tabla-cuerpo{font-size:.7rem;height:400px}.columna-fija{width:200px}.columna-fija-header{min-width:200px;width:200px}.contenido-desplazable{margin-left:200px}.producto-nombre{font-size:.65rem}}@media print{.empresa-reporte{border:none;padding:0}.columna-fija,.tabla-contenedor{box-shadow:none}.columna-fija{position:relative;width:auto}.contenido-desplazable{margin-left:0}}.fechas-form-container{align-items:flex-end!important;display:flex!important;flex-wrap:wrap!important;gap:0!important;width:100%!important}.fecha-field{flex:1 1!important;margin-right:15px!important;min-width:180px!important}.fecha-field:last-child{margin-right:0!important}.botones-field{flex:2 1!important;min-width:300px!important}:root{--primary-color:#3498db;--primary-hover:#2980b9;--secondary-color:#ecf0f1;--secondary-hover:#bdc3c7;--danger-color:#e74c3c;--danger-hover:#c0392b;--success-color:#2ecc71;--warning-color:#f39c12;--info-color:#3498db;--text-color:#34495e;--text-light:#475353;--background-color:#f4f7f9;--card-background:#fff;--border-color:#dfe6e9;--shadow:0 4px 6px #0000000d;--border-radius:8px}body{color:#34495e;color:var(--text-color);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}.app-windows,body{background-color:#f4f7f9;background-color:var(--background-color)}.app-windows{display:flex;flex-direction:column;min-height:100vh}.app-header{background:#fff;background:var(--card-background);border-bottom:1px solid #dfe6e9;border-bottom:1px solid var(--border-color);box-shadow:0 4px 6px #0000000d;box-shadow:var(--shadow);justify-content:flex-end;padding:.75rem 1.5rem}.app-header,.user-info{align-items:center;display:flex}.user-info{gap:15px}.user-email{color:#475353;color:var(--text-light);font-size:.7rem;font-weight:500}.logout-btn{background-color:#e74c3c;background-color:var(--danger-color);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.7rem;padding:8px 15px;transition:all .3s ease}.logout-btn:hover{background-color:#c0392b;background-color:var(--danger-hover);transform:translateY(-1px)}.main-content{flex:1 1;overflow-y:auto;padding:1.5rem}.configuracion-aviso{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;margin:20px auto;max-width:500px;padding:40px;text-align:center}.btn-configurar{background-color:#3498db;background-color:var(--primary-color);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;margin-top:1rem;padding:10px 20px;transition:background-color .2s ease}.btn-configurar:hover{background-color:#5a67d8}.loading-container{align-items:center;background:#f4f7f9;background:var(--background-color);display:flex;flex-direction:column;justify-content:center;min-height:100vh}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #ecf0f1;border-top:4px solid #3498db;border:4px solid var(--secondary-color);border-radius:50%;border-top-color:var(--primary-color);height:40px;margin-bottom:15px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.card{background-color:#fff;background-color:var(--card-background);border-radius:8px;border-radius:var(--border-radius);box-shadow:0 4px 6px #0000000d;box-shadow:var(--shadow);margin-bottom:1.5rem;padding:1.5rem}.tipos-cambio-container{align-items:center;display:flex;font-size:.7rem;gap:1rem}@media (max-width:768px){.app-header{flex-direction:column;height:auto;padding:10px}.user-info{flex-wrap:wrap;justify-content:center;margin-top:10px}.logout-btn,.user-email{font-size:12px}.logout-btn{padding:6px 12px}.main-content{margin:5px;padding:1rem}.configuracion-aviso{margin:10px;padding:20px}}.tipo-cambio{font-weight:500}.fecha-cambio{color:#475353;color:var(--text-light);font-size:.7rem}
/*# sourceMappingURL=main.36980ea4.css.map*/