@charset "UTF-8";:root{--color-primary: #6b9dc4;--color-primary-hover: #5a8bb3;--color-primary-light: rgba(107, 157, 196, .15);--color-success: #2d5a27;--color-danger: #8b0000;--color-danger-hover: #a00;--color-muted: #b0b0b0;--color-muted-hover: #9a9a9a;--color-text: #333;--color-text-muted: #555;--color-text-light: #888;--color-border: #ddd;--color-bg: #f5f5f5;--font-family: "Montserrat", system-ui, -apple-system, sans-serif;--font-size: .95rem;--font-size-sm: .85rem;--font-size-xs: .8rem;--radius: 8px;--radius-sm: 6px;--gap: 1rem}*{box-sizing:border-box}body{margin:0;background:#e8e8e8;color:var(--color-text);font-family:var(--font-family);font-size:var(--font-size)}.page{max-width:1200px;margin:0 auto}.back{color:var(--color-primary);text-decoration:none;display:inline-block;margin-bottom:var(--gap);font-weight:500}.back:hover{text-decoration:underline}h1,h2,h3,h4{color:#000;margin:0 0 var(--gap);font-weight:700}h1{font-size:1.5rem;display:flex;align-items:center;gap:.5rem}h1 .page-icon{font-size:1.25rem;opacity:.9}h2{font-size:1.1rem;margin:1.5rem 0 .75rem;display:flex;align-items:center;gap:.5rem}h2 .page-icon{font-size:1.35rem;opacity:.9}.form-card{background:var(--color-bg);padding:1.5rem;border-radius:var(--radius);border:1px solid var(--color-border);margin-bottom:1rem}.form-row{margin-bottom:1rem}.form-row label{display:block;margin-bottom:.5rem;color:var(--color-text-muted);font-size:var(--font-size)}.form-row input,.form-row select{width:100%;padding:.6rem .85rem;border-radius:var(--radius-sm);background:#fff;border:1px solid var(--color-border);color:var(--color-text);font-family:inherit;font-size:var(--font-size)}.form-row input:focus,.form-row select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.form-actions{display:flex;gap:var(--gap);margin-top:1.25rem;flex-wrap:wrap}.form-actions .btn-primary,.form-actions .btn-secondary,.form-actions .btn-muted,.form-actions .btn-danger,.form-actions a{font-family:var(--font-family);font-size:var(--font-size);font-weight:500}.hint{font-size:var(--font-size-sm);color:var(--color-text-light);margin-top:.5rem}.error,.error-msg{color:var(--color-danger);font-size:var(--font-size);margin:0 0 1rem}.filters,.table-filter{margin-bottom:var(--gap);display:flex;flex-wrap:wrap;gap:var(--gap);align-items:center}.table-filter input,.table-filter select{padding:.6rem 1rem;min-height:40px;border-radius:var(--radius-sm);border:1px solid var(--color-border);font-size:var(--font-size);font-family:inherit;box-sizing:border-box}.table-filter input{min-width:260px;flex:1 1 280px}.table-filter input:focus,.table-filter select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}select{padding:.5rem 1rem;border-radius:var(--radius-sm);background:#fff;color:var(--color-text);border:1px solid var(--color-border);font-family:inherit}.table-wrapper{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--color-border);background:#fff;margin-bottom:1rem;box-shadow:0 1px 3px #0000000f}table{width:100%;border-collapse:collapse}th,td{padding:.85rem 1rem;text-align:left;vertical-align:middle;border-bottom:1px solid var(--color-border);font-size:var(--font-size)}th{background:linear-gradient(180deg,#5a8bb3,#6b9dc4);color:#fff;font-weight:600;font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.04em}tbody tr:hover{background:#6b9dc40a}tbody tr:last-child td{border-bottom:none}.empty{color:var(--color-text-light);text-align:center;padding:2rem!important}.btn-actions{display:flex;gap:var(--gap);flex-wrap:wrap;align-items:center}.actions-cell-inner{display:flex;gap:var(--gap);flex-wrap:wrap;align-items:center;white-space:nowrap}.actions-cell .btn-icon,.actions-cell .btn-small,.actions-cell .btn-toggle,.actions-cell .btn-danger,.actions-cell .btn-confirm{margin:0}.btn-primary,.btn-confirm,.btn-checkout,.btn-add-venta,a.btn-primary,a.btn-small[class*=primary]{background:var(--color-primary);color:#fff;font-family:inherit;font-size:var(--font-size);font-weight:500;padding:.6rem 1.2rem;border-radius:var(--radius);border:none;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;transition:all .2s ease}.btn-primary:hover:not(:disabled),.btn-confirm:hover:not(:disabled),.btn-checkout:hover:not(:disabled),.btn-add-venta:hover,a.btn-primary:hover,a.btn-small[class*=primary]:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 2px 6px #6b9dc466}.btn-primary:disabled,.btn-confirm:disabled,.btn-checkout:disabled{opacity:.6;cursor:not-allowed}.btn-secondary,.btn-muted{background:var(--color-muted);color:#fff;font-family:inherit;font-size:var(--font-size);font-weight:500;padding:.6rem 1.2rem;border-radius:var(--radius);border:none;cursor:pointer;text-decoration:none;display:inline-block;transition:all .2s ease}.btn-secondary:hover,.btn-muted:hover{background:var(--color-muted-hover);transform:translateY(-1px)}.btn-small.btn-muted{background:var(--color-muted);color:#fff}.btn-small.btn-muted:hover{background:var(--color-muted-hover)}.btn-danger{background:var(--color-danger);color:#fff;font-family:inherit;font-size:var(--font-size-sm);font-weight:500;padding:.5rem 1rem;border-radius:var(--radius);border:none;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;transition:all .2s ease}.btn-danger:hover:not(:disabled){background:var(--color-danger-hover);transform:translateY(-1px);box-shadow:0 2px 6px #8b000066}.btn-small{padding:.4rem .8rem;font-size:var(--font-size-sm);font-family:inherit;border:none;border-radius:var(--radius);cursor:pointer}button.btn-small:not(.btn-danger):not(.btn-muted),a.btn-small{background:var(--color-primary);color:#fff;text-decoration:none;display:inline-block}a.btn-small:hover,button.btn-small:not(.btn-danger):not(.btn-muted):hover{opacity:.9;transform:translateY(-1px)}.btn-icon{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.4rem .6rem;border:none;background:transparent;color:var(--color-primary);border-radius:var(--radius-sm);cursor:pointer;text-decoration:none;font-weight:500;font-size:var(--font-size-sm);transition:all .2s ease}.btn-icon:hover{background:var(--color-primary-light)}a.btn-icon{text-decoration:none}.btn-toggle{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:var(--font-size-sm);font-weight:500;border-radius:var(--radius);border:1px solid #d0d0d0;background:linear-gradient(to bottom,#f8f8f8,#eee);color:var(--color-text-muted);cursor:pointer;transition:all .2s ease;font-family:inherit}.btn-toggle:hover{background:linear-gradient(to bottom,#fff,#f5f5f5);border-color:var(--color-primary);color:var(--color-primary);box-shadow:0 1px 3px #00000014;transform:translateY(-1px)}.btn-add-item,.btn-add{padding:.5rem 1rem;background:#e8e8e8;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size);font-family:inherit}.btn-add-item:hover,.btn-add:hover{background:#ddd}.actions{margin-bottom:var(--gap)}.badge{display:inline-block;padding:.25rem .6rem;border-radius:4px;font-size:var(--font-size-xs);font-weight:500;background:#e8e8e8;color:var(--color-text-muted);line-height:1.4;box-decoration-break:clone;-webkit-box-decoration-break:clone}.badge.activo,.badge.confirmada{background:var(--color-success);color:#fff}.badge.inactivo,.badge.eliminada,.badge.cancelado{background:var(--color-danger);color:#fff}.badge.pendiente,.badge.por-confirmar,.badge.administrador{background:var(--color-primary);color:#fff}.badge.usuario{background:var(--color-muted);color:#fff}.pagination-wrapper{display:flex;align-items:center;justify-content:center;margin:1rem 0;min-height:2.5rem}.pagination{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.pagination button{padding:.4rem .8rem;border:1px solid var(--color-border);background:#fff;border-radius:var(--radius);cursor:pointer;font-size:var(--font-size);font-family:inherit;transition:all .2s ease}.pagination button:hover:not(:disabled){transform:translateY(-1px)}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination button.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.pagination span{font-size:var(--font-size);color:var(--color-text-muted)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:12px;max-width:560px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0003}.modal-loading{padding:2rem;text-align:center;color:var(--color-text-muted)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #e5e5e5}.modal-header h3{margin:0;font-size:1.2rem;color:#000}.modal-close{background:none;border:none;font-size:1.5rem;color:var(--color-text-light);cursor:pointer;padding:0 .25rem;line-height:1}.modal-close:hover{color:var(--color-text)}.modal-body{padding:1.5rem}.modal-dl{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1.5rem;margin-bottom:1.5rem}.modal-dl dt{color:var(--color-text-muted);font-weight:500}.modal-dl dd{margin:0}.modal-body h4{margin:0 0 .75rem;font-size:1rem;color:#000}.modal-table{width:100%;border-collapse:collapse;margin-bottom:1rem}.modal-table th,.modal-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid #eee;font-size:var(--font-size)}.modal-table th{background:var(--color-bg);font-size:var(--font-size-sm);color:var(--color-text-muted)}.modal-total{padding-top:1rem;border-top:2px solid #e5e5e5;font-size:1.1rem;color:var(--color-success)}.tabs{display:flex;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.tabs button{padding:.5rem 1rem;background:#e8e8e8;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;font-family:inherit;font-size:var(--font-size)}.tabs button.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.checkbox-label{display:flex!important;align-items:center;gap:.5rem;cursor:pointer;font-size:var(--font-size)}.checkbox-label input{width:auto}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-bg) 0%,#e8e8e8 100%);padding:1.5rem}.login-card{width:100%;max-width:380px;background:#fff;border-radius:12px;box-shadow:0 4px 24px #0000001f;padding:2rem}.login-logo{display:block;width:120px;height:auto;margin:0 auto 1rem;object-fit:contain}.login-card h1{font-size:1.5rem;margin:0 0 .25rem;text-align:center}.subtitle{color:var(--color-text-muted);font-size:var(--font-size);margin:0 0 1.5rem;text-align:center}.login-card .form-row input:disabled{background:var(--color-bg);cursor:not-allowed}.login-card .btn-primary{width:100%;padding:.75rem 1.5rem;font-size:1rem;justify-content:center}.login-error{padding:.75rem 1rem;margin-bottom:1rem;background:#8b000014;color:var(--color-danger);border-radius:var(--radius-sm);font-size:var(--font-size);font-weight:500}.login-success{padding:.75rem 1rem;margin-bottom:1rem;background:#2d5a271f;color:var(--color-success);border-radius:var(--radius-sm);font-size:var(--font-size)}.login-forgot{display:block;text-align:center;margin-top:1rem;color:var(--color-primary);font-size:var(--font-size);text-decoration:none}.login-forgot:hover{text-decoration:underline}.login-copyright{margin:1.5rem 0 0;padding-top:1rem;border-top:1px solid var(--color-border, #e0e0e0);text-align:center;font-size:.875rem;color:var(--color-text-muted)}.login-copyright a{color:var(--color-primary);text-decoration:none}.login-copyright a:hover{text-decoration:underline}.cart-layout{display:grid;grid-template-columns:1fr 320px;gap:1.5rem;align-items:start}@media(max-width:900px){.cart-layout{grid-template-columns:1fr}}.cart-main{display:flex;flex-direction:column;gap:1.25rem}.cart-section{background:#fff;border-radius:12px;border:1px solid #e5e5e5;padding:1.25rem;box-shadow:0 1px 3px #0000000f}.cart-section h2{margin:0 0 1rem;font-size:1.1rem;color:#000;display:flex;align-items:center;gap:.5rem}.badge-count{background:var(--color-primary);color:#fff;font-size:.75rem;padding:.2rem .5rem;border-radius:999px}.cliente-section .cliente-badge{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--color-primary-light);border:1px solid var(--color-primary);border-radius:var(--radius)}.cliente-info{font-weight:500;color:var(--color-primary)}.cliente-info small{color:var(--color-text-muted);font-weight:400}.btn-remove-small{background:none;border:none;font-size:1.25rem;color:var(--color-text-light);cursor:pointer;padding:0 .25rem;line-height:1}.btn-remove-small:hover{color:var(--color-danger)}.cliente-search input{width:100%;padding:.6rem .85rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;color:var(--color-text);font-family:inherit;font-size:var(--font-size);box-sizing:border-box}.cliente-search input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.cliente-search input::placeholder{color:var(--color-text-light)}.sugerencias-dropdown{position:absolute;top:100%;left:0;right:0;margin:0;padding:.5rem 0;list-style:none;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:0 4px 12px #0000001a;z-index:10;max-height:200px;overflow-y:auto}.sugerencias-dropdown li{margin:0}.sugerencias-dropdown li button{width:100%;padding:.6rem 1rem;text-align:left;border:none;background:none;cursor:pointer;font-size:var(--font-size)}.sugerencias-dropdown li button:hover{background:var(--color-bg)}.sugerencias-dropdown li.empty{padding:.75rem 1rem;color:var(--color-text-light);font-size:var(--font-size)}.productos-add{display:flex;gap:.75rem;align-items:center}.productos-add select{flex:1;padding:.7rem 1rem}.btn-add-cart{padding:.7rem 1.25rem;background:var(--color-success);color:#fff;border:none;border-radius:var(--radius);font-weight:600;cursor:pointer;white-space:nowrap}.btn-add-cart:hover{background:#219a52}.cart-empty{text-align:center;padding:2.5rem 1rem;color:var(--color-text-light)}.cart-icon{font-size:3rem;display:block;margin-bottom:.5rem;opacity:.6}.cart-items{list-style:none;margin:0;padding:0}.cart-item{border:1px solid #e8e8e8;border-radius:10px;margin-bottom:.75rem;overflow:hidden;background:#fafafa}.cart-item:last-child{margin-bottom:0}.item-main{display:grid;grid-template-columns:1fr auto auto auto auto;gap:1rem;align-items:center;padding:1rem;cursor:pointer;transition:background .15s}@media(max-width:600px){.item-main{grid-template-columns:1fr auto;gap:.5rem}.item-qty{grid-column:1}.item-subtotal{grid-column:1;text-align:left}.btn-remove-item,.expand-icon{grid-column:2;grid-row:span 2}}.item-main:hover{background:#f0f0f0}.item-info{display:flex;flex-direction:column;gap:.2rem}.item-name{font-weight:600;color:#222}.item-meta{font-size:var(--font-size-sm);color:var(--color-text-muted)}.item-qty{display:flex;align-items:center;gap:.4rem}.item-qty label{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.item-qty input{width:60px;padding:.4rem;text-align:center}.item-subtotal{font-weight:700;color:var(--color-success);min-width:70px;text-align:right}.btn-remove-item{background:none;border:none;font-size:1.1rem;cursor:pointer;padding:.25rem;opacity:.7}.btn-remove-item:hover{opacity:1}.expand-icon{font-size:.75rem;color:var(--color-text-light)}.item-despachos{padding:1rem 1rem 1.25rem;background:#fff;border-top:1px solid #e8e8e8}.despacho-title{margin:0 0 .75rem;font-size:var(--font-size);color:var(--color-text-muted)}.despachos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem}.despacho-cell{display:flex;flex-direction:column;gap:.25rem;padding:.6rem;background:var(--color-bg);border-radius:var(--radius-sm)}.despacho-cell span{font-size:var(--font-size)}.despacho-cell .stock{font-size:var(--font-size-xs);color:var(--color-text-muted)}.despacho-cell input{width:100%;padding:.4rem}.validation-err{color:var(--color-danger);font-size:var(--font-size-sm);margin:.5rem 0 0}.cart-summary{position:sticky;top:1rem}.summary-card{background:#fff;border:1px solid #e5e5e5;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014}.summary-card h3{margin:0 0 1rem;font-size:1.15rem;color:#000}.summary-row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:var(--font-size)}.summary-row.total{font-size:1.25rem;font-weight:700;color:var(--color-success);margin-top:.5rem;padding-top:1rem;border-top:2px solid #e8e8e8}.summary-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1.25rem}.summary-actions .btn-secondary,.summary-actions .btn-checkout{padding:.85rem 1.25rem;font-weight:600;font-size:1rem}.subcategorias-list,.almacenes-list{display:flex;flex-direction:column;gap:.5rem}.subcategoria-row,.almacenes-select-row,.almacen-row{display:flex;gap:.5rem;align-items:center}.subcategoria-row input,.almacenes-select-row select{flex:1}.almacen-row{padding:.4rem .6rem;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.almacen-row span.almacen-name{flex:1}.almacen-row .stock-input{width:100px}.checkbox-row{margin-bottom:1rem}.checkbox-row .checkbox-label{margin-bottom:0;display:flex;align-items:center;gap:1rem;cursor:pointer;font-size:var(--font-size);color:var(--color-text-muted)}.checkbox-input{position:absolute;opacity:0;width:0;height:0}.checkbox-custom{width:22px;height:22px;border:2px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.checkbox-input:checked+.checkbox-custom{background:var(--color-primary);border-color:var(--color-primary)}.checkbox-input:checked+.checkbox-custom:after{content:"";width:5px;height:9px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-input:focus+.checkbox-custom{box-shadow:0 0 0 2px var(--color-primary-light)}.checkbox-label:hover .checkbox-custom{border-color:var(--color-primary)}.checkbox-text{font-weight:500}.inline-form{display:flex;flex-wrap:wrap;align-items:center;gap:var(--gap)}.inline-form input{width:80px;padding:.4rem}
