@charset "UTF-8";:root{--color-primary: #D22027;--color-primary-hover: #b01b22;--color-primary-light: rgba(210, 32, 39, .12);--color-primary-dark: #9f1d20;--color-success: #059669;--color-danger: #dc2626;--color-danger-hover: #b91c1c;--color-muted: #64748b;--color-muted-hover: #475569;--color-cancel: #475569;--color-cancel-hover: #334155;--color-text: #1e293b;--color-text-muted: #475569;--color-text-light: #94a3b8;--color-border: #e2e8f0;--color-bg: #f8fafc;--color-surface: #ffffff;--font-body: "DM Sans", system-ui, sans-serif;--font-heading: "Outfit", var(--font-body);--font-size: .9375rem;--font-size-sm: .8125rem;--font-size-xs: .75rem;--radius: 10px;--radius-sm: 6px;--gap: 1rem;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .05)}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#f1f5f9,#e2e8f0);background-attachment:fixed;color:var(--color-text);font-family:var(--font-body);font-size:var(--font-size);line-height:1.6}.page{max-width:1400px;margin:0 auto;padding:0 var(--gap)}.internal-page{background:var(--color-surface);border-radius:var(--radius);padding:1.5rem 1.75rem;margin-bottom:var(--gap);box-shadow:var(--shadow-md);border:1px solid var(--color-border)}.back{color:var(--color-primary);text-decoration:none;display:inline-flex;align-items:center;gap:.35rem;margin-bottom:var(--gap);font-weight:500;font-family:var(--font-body);transition:color .2s}.back:hover{color:var(--color-primary-hover)}h1,h2,h3,h4{color:var(--color-text);margin:0 0 var(--gap);font-family:var(--font-heading);font-weight:600;letter-spacing:-.02em}h1{font-size:1.5rem;display:flex;align-items:center;gap:.6rem}h1 .page-icon{font-size:1.35rem;opacity:.9}h2{font-size:1.15rem;margin:1.5rem 0 .75rem;display:flex;align-items:center;gap:.5rem}h2 .page-icon{font-size:1.25rem;opacity:.9}.page-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.page-header h1{margin:0}.header-actions,.actions{display:flex;gap:.75rem;flex-wrap:wrap}.form-card{background:var(--color-surface);padding:1.5rem 1.75rem;border-radius:var(--radius);border:1px solid var(--color-border);margin-bottom:1rem;box-shadow:var(--shadow-sm)}.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:.65rem 1rem;border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);font-family:var(--font-body);font-size:var(--font-size);transition:border-color .2s,box-shadow .2s}.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-cancel,.form-actions .btn-muted,.form-actions .btn-danger,.form-actions a{font-family:var(--font-body);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;-webkit-overflow-scrolling:touch;border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface);margin-bottom:1rem;box-shadow:var(--shadow-sm);width:100%;max-width:100%}.table-view{display:block}.card-view{display:none;gap:1rem}table,.data-table{width:100%;min-width:600px;border-collapse:collapse;font-family:var(--font-body)}th,td{padding:.9rem 1.1rem;text-align:left;vertical-align:middle;border-bottom:1px solid var(--color-border);font-size:var(--font-size)}th{background:linear-gradient(180deg,#1e293b,#0f172a);color:#fff;font-family:var(--font-heading);font-weight:600;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em}tbody tr:nth-child(2n){background:#fafbfc}tbody tr:hover{background:var(--color-primary-light)}tbody tr:last-child td{border-bottom:none}.empty{color:var(--color-text-light);text-align:center;padding:2rem!important}.card-empty{text-align:center;padding:2rem;color:var(--color-text-light)}.data-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .2s ease}.data-card:hover{box-shadow:var(--shadow-md)}.card-main{padding:1.25rem 1.5rem}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.card-title{font-weight:600;font-size:1rem;color:var(--color-text);line-height:1.2}.card-badge{flex-shrink:0;padding:.25rem .6rem;border-radius:999px;font-size:.9rem;font-weight:600;color:var(--color-primary)}.card-badge-amount{background:var(--color-primary-light)}.card-details{margin:0;display:grid;gap:.5rem}.card-row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.card-row dt{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.card-row dd{margin:0;font-size:var(--font-size);color:var(--color-text)}.card-actions{padding:1rem 1.5rem;background:#f8fafc;border-top:1px solid var(--color-border)}.card-actions .btn-block{width:100%;justify-content:center}.card-actions-grid{display:flex;flex-wrap:wrap;gap:.5rem;padding:1rem 1.5rem}@media(max-width:900px){.table-view{display:none!important}.card-view{display:grid!important}}.btn-actions{display:flex;gap:var(--gap);flex-wrap:wrap;align-items:center}.actions-cell-inner{display:flex;gap:.5rem;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:var(--font-body);font-size:var(--font-size);font-weight:500;padding:.6rem 1.25rem;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 4px 12px #d2202759}.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:var(--font-body);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:not(:disabled),.btn-muted:hover{background:var(--color-muted-hover);transform:translateY(-1px)}.btn-cancel{background:var(--color-cancel);color:#fff;font-family:var(--font-body);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-cancel:hover:not(:disabled){background:var(--color-cancel-hover);transform:translateY(-1px)}.btn-cancel:disabled{opacity:.6;cursor:not-allowed}.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:var(--font-body);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 4px 12px #dc262659}.venta-layout-actions.venta-layout-actions--wrap{width:100%}.venta-layout-actions--wrap>button.venta-card-accion{flex:1 1 0;min-width:0}.venta-layout-actions button.venta-card-accion{box-sizing:border-box;height:2.375rem;min-height:2.375rem;max-height:2.375rem;padding:0 .75rem;font-size:var(--font-size-sm);line-height:1;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.venta-layout-actions button.venta-card-accion>svg{display:block;flex-shrink:0;width:1rem;height:1rem;margin:0}.venta-layout-actions button.venta-btn-eliminar>span{line-height:1}.btn-small{padding:.4rem .8rem;font-size:var(--font-size-sm);font-family:var(--font-body);border:none;border-radius:var(--radius);cursor:pointer}button.btn-small:not(.btn-danger):not(.btn-muted):not(.venta-btn-eliminar),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):not(.venta-btn-eliminar):hover{opacity:.9;transform:translateY(-1px)}.venta-layout-actions button.btn-small.venta-card-accion{display:inline-flex;align-items:center;justify-content:center}.venta-layout-actions button.btn-small.venta-btn-eliminar{background:var(--color-cancel);color:#fff;border:none;font-weight:500;font-family:var(--font-body)}.venta-layout-actions button.btn-small.venta-btn-eliminar:hover:not(:disabled),.venta-layout-actions button.btn-small.venta-btn-eliminar:focus-visible:not(:disabled){background:var(--color-cancel-hover);color:#fff}.venta-layout-actions button.btn-small.venta-btn-eliminar:disabled{opacity:.6;cursor:not-allowed}.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 var(--color-border);background:linear-gradient(to bottom,#f8fafc,#f1f5f9);color:var(--color-text-muted);cursor:pointer;transition:all .2s ease;font-family:var(--font-body)}.btn-toggle:hover{background:linear-gradient(to bottom,#fff,#f8fafc);border-color:var(--color-primary);color:var(--color-primary);box-shadow:var(--shadow-sm);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{background:var(--color-success);color:#fff}.badge.inactivo,.badge.eliminada,.badge.cancelado{background:var(--color-danger);color:#fff}.badge.confirmada{background:transparent;color:var(--color-success);padding:0;border-radius:0;font-weight:600}.badge.pendiente,.badge.por-confirmar{background:transparent;color:var(--color-primary);padding:0;border-radius:0;font-weight:600}.badge.por-facturar{background:transparent;color:#7c3aed;padding:0;border-radius:0;font-weight:600}.badge.administrador{background:var(--color-primary);color:#fff}.badge.vendedor{background:#7c3aed;color:#fff}.badge.facturador,.badge.usuario{background:var(--color-muted);color:#fff}.productos-page .badge.activo{background:transparent;color:var(--color-success);padding:0;border-radius:0;font-weight:600}.productos-page .badge.cancelado{background:transparent;color:var(--color-danger);padding:0;border-radius:0;font-weight:600}.almacenes-page .badge.activo{background:transparent;color:var(--color-success);padding:0;border-radius:0;font-weight:600}.almacenes-page .badge.inactivo{background:transparent;color:var(--color-danger);padding:0;border-radius:0;font-weight:600}.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:640px;width:100%;max-height:90vh;overflow-y:auto;overflow-x:auto;box-shadow:0 8px 32px #0003;box-sizing:border-box}.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;overflow:visible}.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%;min-width:400px;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)}@media(max-width:768px){.modal-overlay{padding:0;align-items:stretch;overflow:hidden}.modal-content{width:100%;min-width:0;height:100vh;min-height:100vh;max-height:100vh;margin:0;border-radius:0;overflow-y:auto;overflow-x:hidden;box-sizing:border-box}.modal-header{flex-wrap:wrap;gap:.5rem;padding:1rem 1.25rem}.modal-header h3{font-size:1rem;flex:1;min-width:0}.modal-body{padding:1rem 1.25rem;overflow-x:hidden;max-width:100%}.modal-dl{grid-template-columns:1fr;gap:.35rem 0}.modal-dl dt{font-size:var(--font-size-xs);margin-top:.5rem}.modal-dl dt:first-child{margin-top:0}.modal-dl dd{margin:0}.modal-table{display:block;overflow-x:hidden;width:100%;min-width:0}.modal-table thead{display:none}.modal-table tbody tr{display:block;border-bottom:1px solid #eee;padding:.75rem 0}.modal-table tbody tr:last-child{border-bottom:none}.modal-table td{display:block;padding:.25rem 0;border:none}.modal-table td:before{content:attr(data-label);font-weight:600;font-size:var(--font-size-xs);color:var(--color-text-muted);display:block;margin-bottom:.15rem}.modal-total{font-size:1rem}}.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;min-height:100dvh;display:flex;align-items:flex-start;justify-content:center;background:var(--color-bg);padding:0;margin:0}.login-container{width:100%;max-width:960px;min-height:560px;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px #0000001f;background:#fff}.login-split{display:flex;width:100%;min-height:560px}.login-hero{flex:1 1 58%;min-width:0;position:relative;overflow:hidden;background:linear-gradient(145deg,#d22027,#b01b22,#9f1d20)}.login-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 30% 50%,rgba(255,255,255,.08) 0%,transparent 50%);pointer-events:none;z-index:1}.login-hero-title{font-family:var(--font-heading);font-weight:700;font-size:1.75rem;color:#fff;letter-spacing:-.02em}.login-hero-inner{position:absolute;inset:0;width:100%;height:100%;z-index:0;overflow:hidden}.login-hero-image{width:100%;height:100%;object-fit:cover;object-position:center 18%;display:block}.login-hero-overlay{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:2rem 1.75rem;background:linear-gradient(to top,rgba(0,0,0,.75) 0%,rgba(0,0,0,.4) 60%,transparent 100%);color:#fff}.login-hero-welcome{margin:0 0 .35rem;font-family:var(--font-heading);font-weight:700;font-size:1.35rem;color:#fff}.login-hero-welcome .login-brand-santa{color:#fff}.login-hero-welcome .login-brand-chango{color:var(--color-primary)}.login-hero-tagline{margin:0;font-size:var(--font-size-sm);color:#ffffffe6;line-height:1.45}.login-form-panel{flex:1 1 42%;min-width:0;display:flex;align-items:center;justify-content:center;padding:0;background:#fff}.login-card{width:100%;max-width:360px;background:transparent;padding:1.5rem 1.25rem 2rem;box-sizing:border-box}.login-card-header{display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}.login-card-logo{display:block;height:56px;width:auto;max-width:220px;object-fit:contain}.login-heading{margin:0 0 .35rem;font-family:var(--font-heading);font-weight:600;font-size:1.5rem;color:var(--color-text)}.login-instruction{margin:0 0 1.5rem;font-size:var(--font-size);color:var(--color-text-muted)}.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.login-input-row label{display:block;margin-bottom:.4rem;font-size:var(--font-size-sm);font-weight:500;color:var(--color-text)}.login-password-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem}.login-password-row label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text);margin:0}.login-forgot-inline{font-size:var(--font-size-sm);color:var(--color-primary);text-decoration:none}.login-forgot-inline:hover{text-decoration:underline}.login-input-wrap{display:flex;align-items:center;gap:0;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);transition:border-color .2s,box-shadow .2s}.login-input-wrap:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.login-input-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--color-text-muted)}.login-input-wrap input{flex:1;min-width:0;border:none;background:transparent;padding:.65rem 1rem .65rem 0;font-family:inherit;font-size:var(--font-size);color:var(--color-text)}.login-input-wrap input::placeholder{color:var(--color-text-light)}.login-input-wrap input:focus{outline:none}.login-input-wrap.password-wrap{padding-right:.25rem}.login-input-wrap .password-toggle{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:none;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm)}.login-input-wrap .password-toggle:hover{color:var(--color-text)}.login-card .form-row.login-input-row{margin-bottom:1rem}.login-card .form-row input:disabled{background:var(--color-bg);cursor:not-allowed}.login-card .btn-primary.login-btn-entrar{width:100%;padding:.75rem 1.5rem;font-size:1rem;justify-content:center;display:inline-flex;align-items:center;gap:.5rem}.login-btn-arrow{flex-shrink:0}.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}@media(max-width:900px){.login-container{max-width:100%;min-height:auto;border-radius:12px}.login-split{flex-direction:column;min-height:auto}.login-hero{min-height:220px}.login-hero-overlay{padding:1.5rem 1.25rem}.login-hero-welcome{font-size:1.15rem}.login-form-panel{padding:0}.login-card{padding:1.25rem 1rem 1.75rem}}.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,.sugerencias-dropdown li button.highlighted{background:var(--color-primary-light)}.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:stretch;flex-wrap:wrap}.producto-select-wrapper{position:relative;flex:1;min-width:220px}.producto-select-input{width:100%;padding:.7rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;font-size:var(--font-size);font-family:inherit;color:var(--color-text);box-sizing:border-box}.producto-select-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.producto-select-input::placeholder{color:var(--color-text-light)}.productos-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 6px 20px #00000026;z-index:20;max-height:280px;overflow-y:auto}.productos-dropdown li{margin:0}.productos-dropdown li button{width:100%;padding:.75rem 1rem;text-align:left;border:none;background:none;cursor:pointer;font-size:var(--font-size);display:flex;flex-direction:column;gap:.25rem;transition:background .15s}.productos-dropdown li button:hover,.productos-dropdown li button.highlighted{background:var(--color-primary-light)}.producto-dropdown-name{font-weight:500;color:var(--color-text)}.producto-dropdown-meta{font-size:var(--font-size-sm);color:var(--color-text-muted)}.productos-dropdown-empty{padding:1rem;color:var(--color-text-light);font-size:var(--font-size)}@media(max-width:600px){.productos-add{flex-direction:column;align-items:stretch}.producto-select-wrapper{min-width:0}.btn-add-cart{width:100%}}.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;grid-template-rows:auto auto auto;gap:.5rem;padding:.85rem}.item-thumb{width:56px;height:56px}.item-info{grid-column:1;grid-row:1}.item-qty{grid-column:1;grid-row:2}.item-subtotal{grid-column:1;grid-row:3;text-align:left;min-width:0}.btn-remove-item{grid-column:2;grid-row:1/3;align-self:start}.expand-icon{grid-column:2;grid-row:3;align-self:end}}.item-main:hover{background:#f0f0f0}.item-info{display:flex;flex-direction:column;gap:.2rem}.item-info-with-thumb{flex-direction:row;align-items:flex-start;gap:.75rem;min-width:0}.item-thumb{flex-shrink:0;width:64px;height:64px;object-fit:cover;border-radius:var(--radius-sm);background:#e2e8f0;display:block}.item-info-text{display:flex;flex-direction:column;gap:.2rem;min-width:0}.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-cancel,.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}
