.toast-enter-active[data-v-31b6ce8a],.toast-leave-active[data-v-31b6ce8a]{transition:all .2s}.toast-enter-from[data-v-31b6ce8a],.toast-leave-to[data-v-31b6ce8a]{opacity:0;transform:translateY(8px)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--sidebar-w:240px;--topbar-h:60px;--sidebar-bg:#0f172a;--sidebar-hover:#ffffff12;--sidebar-active:#1d4ed8;--primary:#1d4ed8;--primary-h:#1e40af;--danger:#ef4444;--danger-h:#dc2626;--success:#22c55e;--warning:#f59e0b;--orange:#f97316;--purple:#8b5cf6;--content-bg:#f1f5f9;--card-bg:#fff;--border:#e2e8f0;--text:#0f172a;--text-2:#64748b;--text-3:#94a3b8;--sh-sm:0 1px 3px #00000014, 0 1px 2px #0000000a;--sh-md:0 4px 16px #0000001f;--sh-lg:0 10px 40px #0000002e;--r:8px;--r-sm:4px;--r-lg:12px}html,body,#app{height:100%}body{color:var(--text);background:var(--content-bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif;font-size:14px;line-height:1.5}.form-group{margin-bottom:14px}.form-group label{color:var(--text);text-transform:uppercase;letter-spacing:.4px;margin-bottom:5px;font-size:12px;font-weight:600;display:block}.form-group input,.form-group select,.form-group textarea{border:1.5px solid var(--border);border-radius:var(--r-sm);width:100%;color:var(--text);background:#fff;padding:9px 12px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #1d4ed81f}.form-group textarea{resize:vertical;min-height:64px}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-row-3{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}.error-msg{border-radius:var(--r-sm);color:#991b1b;background:#fef2f2;border:1px solid #fecaca;margin-bottom:12px;padding:9px 12px;font-size:13px}.btn{border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:6px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:500;line-height:1.4;text-decoration:none;transition:all .15s;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-h);transform:translateY(-1px);box-shadow:0 4px 12px #1d4ed84d}.btn-secondary{color:var(--text);border:1.5px solid var(--border);background:#fff}.btn-secondary:hover{background:var(--content-bg)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:var(--danger-h)}.btn-sm{padding:5px 10px;font-size:12px}.btn-full{justify-content:center;width:100%;padding:11px;font-size:15px;font-weight:600}.btn-icon{border:1.5px solid var(--border);border-radius:var(--r-sm);cursor:pointer;background:#fff;padding:5px 8px;font-size:13px;transition:all .15s}.btn-icon:hover{background:var(--content-bg);border-color:#cbd5e1}.login-screen{background:linear-gradient(145deg,#0f172a 0%,#1e3a5f 60%,#0f172a 100%);justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.login-card{border-radius:var(--r-lg);width:100%;max-width:380px;box-shadow:var(--sh-lg);background:#fff;padding:40px 36px}.login-logo{text-align:center;margin-bottom:32px}.login-logo-icon{font-size:44px;line-height:1}.login-logo h1{letter-spacing:-.5px;color:var(--text);margin-top:10px;font-size:26px;font-weight:800}.login-logo p{color:var(--text-2);margin-top:4px;font-size:13px}.app{height:100vh;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-w);background:var(--sidebar-bg);z-index:200;flex-direction:column;flex-shrink:0;transition:transform .3s;display:flex;overflow:hidden auto}.sidebar-header{border-bottom:1px solid #ffffff0f;align-items:center;gap:10px;padding:20px 16px;display:flex}.sidebar-logo{font-size:22px}.sidebar-title{color:#fff;letter-spacing:-.4px;font-size:17px;font-weight:800}.sidebar-nav{flex:1;padding:10px 0}.nav-section-label{text-transform:uppercase;letter-spacing:1px;color:#ffffff47;padding:14px 16px 5px;font-size:10px;font-weight:700}.nav-item{color:#ffffffa6;cursor:pointer;border-left:3px solid #0000;align-items:center;gap:10px;padding:9px 16px;font-size:13.5px;text-decoration:none;transition:all .15s;display:flex}.nav-item:hover{background:var(--sidebar-hover);color:#fffffff2}.nav-item.router-link-active,.nav-item.active{color:#fff;border-left-color:var(--primary);background:#1d4ed840;font-weight:500}.nav-icon{text-align:center;flex-shrink:0;width:20px;font-size:15px}.sidebar-footer{border-top:1px solid #ffffff0f;align-items:center;gap:8px;padding:14px 16px;display:flex}.user-avatar-sm{background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:flex}.user-details{flex:1;min-width:0}.user-name-sm{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.user-role-sm{color:#fff6;font-size:11px}.logout-btn{color:#ffffff59;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:4px;font-size:17px;transition:color .15s}.logout-btn:hover{color:#ffffffe6}.main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.topbar{height:var(--topbar-h);border-bottom:1px solid var(--border);background:#fff;flex-shrink:0;justify-content:space-between;align-items:center;padding:0 24px;display:flex}.topbar-left{align-items:center;gap:12px;display:flex}.topbar h2{font-size:15px;font-weight:600}.topbar-date{color:var(--text-3);font-size:12px}.menu-toggle{cursor:pointer;color:var(--text-2);border-radius:var(--r-sm);background:0 0;border:none;padding:4px 6px;font-size:18px;display:none}.menu-toggle:hover{background:var(--content-bg)}.content{flex:1;padding:24px;overflow-y:auto}.page-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.page-header h1{letter-spacing:-.3px;font-size:20px;font-weight:700}.page-header p{color:var(--text-2);margin-top:2px;font-size:13px}.card{background:var(--card-bg);border-radius:var(--r);box-shadow:var(--sh-sm);overflow:hidden}.card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.card-title{font-size:13px;font-weight:600}.card-body{padding:20px}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:20px;display:grid}.metric-card{border-radius:var(--r);box-shadow:var(--sh-sm);background:#fff;align-items:center;gap:14px;padding:18px 20px;transition:box-shadow .15s;display:flex}.metric-card:hover{box-shadow:var(--sh-md)}.metric-icon{border-radius:var(--r);flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;font-size:20px;display:flex}.mi-blue{background:#eff6ff}.mi-green{background:#f0fdf4}.mi-amber{background:#fffbeb}.mi-purple{background:#faf5ff}.mi-red{background:#fff1f2}.metric-card--action{cursor:pointer}.metric-card--action:hover{box-shadow:var(--sh-md);outline:2px solid var(--primary-light)}.mi-orange{background:#fff7ed}.metric-value{font-size:24px;font-weight:700;line-height:1}.metric-label{color:var(--text-2);margin-top:3px;font-size:12px}.dashboard-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.span-2{grid-column:span 2}.table-container{border-radius:var(--r);box-shadow:var(--sh-sm);background:#fff;overflow:hidden}.table-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:14px 20px;display:flex}.table-filters{flex-wrap:wrap;flex:1;align-items:center;gap:8px;display:flex}.search-input{border:1.5px solid var(--border);border-radius:var(--r-sm);background:#f8fafc;width:240px;padding:7px 12px;font-family:inherit;font-size:13px;transition:border-color .15s,background .15s}.search-input:focus{border-color:var(--primary);background:#fff;outline:none;box-shadow:0 0 0 3px #1d4ed81a}.filter-select{border:1.5px solid var(--border);border-radius:var(--r-sm);color:var(--text);cursor:pointer;background:#f8fafc;padding:7px 10px;font-family:inherit;font-size:13px;transition:border-color .15s}.filter-select:focus{border-color:var(--primary);outline:none}.pt-suggest{position:relative}.pt-suggest-input{width:220px;padding-right:28px}.pt-suggest-clear{cursor:pointer;color:var(--text-3);background:0 0;border:none;padding:2px 4px;font-size:12px;line-height:1;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.pt-suggest-clear:hover{color:var(--danger)}.pt-suggest-dropdown{z-index:200;border:1.5px solid var(--border);border-radius:var(--r-sm);box-shadow:var(--sh);background:#fff;min-width:280px;max-height:280px;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.pt-suggest-option{cursor:pointer;border-bottom:1px solid var(--border-light,#f1f5f9);padding:7px 12px;font-size:13px}.pt-suggest-option:last-child{border-bottom:none}.pt-suggest-option:hover,.pt-suggest-option.active{background:var(--primary-light,#eff6ff)}.pt-suggest-cat{color:var(--text-2);font-size:12px}.pt-suggest-sep{color:var(--text-3)}.pt-suggest-name{font-weight:500}table{border-collapse:collapse;width:100%}thead{background:#f8fafc}th{text-align:left;text-transform:uppercase;letter-spacing:.6px;color:var(--text-2);border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 20px;font-size:11px;font-weight:700}td{border-bottom:1px solid var(--border);color:var(--text);padding:11px 20px;font-size:13.5px}tr:last-child td{border-bottom:none}tr:hover td{background:#f8fafc}.actions-cell{gap:6px;display:flex}.badge{white-space:nowrap;border-radius:20px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge-green{color:#166534;background:#dcfce7}.badge-amber{color:#92400e;background:#fef3c7}.badge-orange{color:#9a3412;background:#ffedd5}.badge-red{color:#991b1b;background:#fee2e2}.badge-blue{color:#1e40af;background:#dbeafe}.badge-gray{color:#475569;background:#f1f5f9}.badge-purple{color:#6b21a8;background:#f3e8ff}.empty-state{text-align:center;padding:52px 24px}.empty-icon{margin-bottom:14px;font-size:42px;line-height:1}.empty-state h3{margin-bottom:6px;font-size:15px;font-weight:600}.empty-state p{color:var(--text-2);font-size:13px}.empty-state .btn{margin-top:16px}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a8c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{border-radius:var(--r-lg);width:100%;max-width:520px;box-shadow:var(--sh-lg);background:#fff;flex-direction:column;max-height:90vh;animation:.15s modal-in;display:flex}.modal-lg{max-width:900px}.modal-sm{max-width:380px}@keyframes modal-in{0%{opacity:0;transform:scale(.97)translateY(-6px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.modal-header h3{font-size:15px;font-weight:600}.modal-close{cursor:pointer;color:var(--text-2);background:0 0;border:none;border-radius:4px;padding:2px 7px;font-size:16px;transition:all .15s}.modal-close:hover{background:var(--content-bg);color:var(--text)}.modal-body{padding:20px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);border-radius:0 0 var(--r-lg) var(--r-lg);background:#f8fafc;justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.delete-option{border:1.5px solid var(--border);border-radius:var(--r-sm);cursor:pointer;align-items:flex-start;gap:12px;padding:12px 14px;transition:border-color .15s,background .15s;display:flex}.delete-option input[type=radio]{accent-color:var(--primary);flex-shrink:0;margin-top:3px}.delete-option div{flex-direction:column;gap:3px;display:flex}.delete-option strong{font-size:13px;font-weight:600}.delete-option span{color:var(--text-2);font-size:12px}.delete-option.selected{border-color:var(--primary);background:var(--primary-light,#eff6ff)}.toast{border-radius:var(--r);box-shadow:var(--sh-md);z-index:2000;padding:12px 18px;font-size:13px;font-weight:500;animation:.2s toast-in;position:fixed;bottom:24px;right:24px}.toast-success{color:#fff;background:#0f172a}.toast-error{color:#fff;background:#991b1b}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.img-thumb{border-radius:var(--r-sm);object-fit:cover;border:1px solid var(--border);cursor:zoom-in;background:#f8fafc;width:40px;height:40px;transition:transform .15s,box-shadow .15s;display:block}.img-thumb:hover{box-shadow:var(--sh-md);transform:scale(1.08)}.img-placeholder{border-radius:var(--r-sm);width:40px;height:40px;color:var(--text-3);background:#f1f5f9;border:1.5px dashed #cbd5e1;justify-content:center;align-items:center;font-size:16px;display:flex}.img-upload-area{border:2px dashed var(--border);border-radius:var(--r);cursor:pointer;background:#fafafa;transition:border-color .15s,background .15s;overflow:hidden}.img-upload-area:hover{border-color:var(--primary);background:#eff6ff}.img-upload-zone{justify-content:center;align-items:center;min-height:100px;display:flex}.img-upload-preview{object-fit:contain;max-width:100%;max-height:180px;margin:0 auto;padding:8px;display:block}.img-upload-placeholder{color:var(--text-3);pointer-events:none;flex-direction:column;align-items:center;gap:6px;padding:20px;font-size:13px;display:flex}.img-upload-icon{font-size:28px}.foto-ref-badge{color:#fff;background:#1d4ed8;border-radius:3px;padding:1px 4px;font-size:9px;font-weight:700;line-height:1.4;position:absolute;bottom:-2px;right:-2px}.foto-ref-modal-hint{border-radius:var(--r-sm);color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;padding:10px 12px;font-size:13px;display:flex}.lightbox{z-index:2000;cursor:zoom-out;background:#000000d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox-inner{cursor:default;max-width:90vw;max-height:90vh;position:relative}.lightbox-img{object-fit:contain;border-radius:var(--r);max-width:90vw;max-height:86vh;display:block;box-shadow:0 20px 60px #00000080}.lightbox-close{cursor:pointer;width:32px;height:32px;box-shadow:var(--sh-md);background:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:14px;transition:background .15s;display:flex;position:absolute;top:-14px;right:-14px}.lightbox-close:hover{color:var(--danger);background:#fee2e2}.pedido-num{color:var(--primary);font-family:SF Mono,Fira Code,monospace;font-size:13px}.detalle-row{justify-content:space-between;align-items:baseline;gap:8px;font-size:13.5px;display:flex}.detalle-label{color:var(--text-2);white-space:nowrap;font-size:12px}.pedido-modal-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.pedido-modal-left,.pedido-modal-right{flex-direction:column;display:flex}.pedido-section-title{text-transform:uppercase;letter-spacing:.7px;color:var(--text-2);align-items:center;gap:6px;margin:16px 0 8px;font-size:11px;font-weight:700;display:flex}.pedido-section-title:first-child{margin-top:0}.pedido-piezas-table-wrap{border:1.5px solid var(--border);border-radius:var(--r-sm);max-height:320px;overflow-y:auto}.pedido-piezas-table-wrap table{border-collapse:collapse;width:100%}.pedido-total-row{border-top:1.5px solid var(--border);justify-content:space-between;align-items:center;margin-top:8px;padding:10px 2px 0;font-size:13px;display:flex}.pedido-total-row strong{font-size:16px}.order-picker-col{flex-direction:column;min-width:0;display:flex}.order-added-list{border:1px solid var(--border);border-radius:var(--r-sm);max-height:190px;overflow-y:auto}.order-added-empty{color:var(--text-2);text-align:center;padding:12px 14px;font-size:12px}.order-added-item{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:8px 10px;display:flex}.order-added-item:last-child{border-bottom:none}.order-added-thumb{object-fit:cover;border-radius:4px;flex-shrink:0;width:34px;height:34px}.order-added-thumb--empty{background:var(--bg-2);justify-content:center;align-items:center;font-size:15px;display:flex}.order-added-info{flex:1;min-width:0}.order-added-name{white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.order-added-price{color:var(--text-2);margin-top:2px;font-size:11px}.order-qty-controls{flex-shrink:0;align-items:center;gap:4px;display:flex}.order-qty-btn{border:1px solid var(--border);background:var(--bg-1);cursor:pointer;width:22px;height:22px;color:var(--text-1);border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;transition:background .12s;display:flex}.order-qty-btn:hover:not(:disabled){background:var(--bg-2)}.order-qty-btn:disabled{opacity:.4;cursor:default}.order-qty-value{text-align:center;min-width:20px;font-size:13px;font-weight:600}.order-remove-btn{width:22px;height:22px;color:var(--text-2);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:11px;transition:background .12s,color .12s;display:flex}.order-remove-btn:hover{color:var(--danger);background:#fee2e2}.order-search-filters{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.order-results-list{border:1px solid var(--border);border-radius:var(--r-sm);flex:1;max-height:260px;overflow-y:auto}.order-result-item{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:8px 10px;transition:background .12s;display:flex}.order-result-item:last-child{border-bottom:none}.order-result-item:hover{background:var(--bg-1)}.order-add-btn{border:1.5px solid var(--primary);width:28px;height:28px;color:var(--primary);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;line-height:1;transition:background .12s,color .12s;display:flex}.order-add-btn:hover{background:var(--primary);color:#fff}.precio-info-banner{border-radius:var(--r);color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;margin-bottom:20px;padding:12px 16px;font-size:13px;line-height:1.5}.precio-default-tag{color:#065f46;background:#d1fae5;border-radius:20px;align-items:center;gap:4px;padding:3px 10px;font-size:14px;font-weight:700;display:inline-flex}.precio-hint{border-radius:var(--r-sm);color:#92400e;background:#fffbeb;border:1px solid #fde68a;justify-content:space-between;align-items:center;gap:8px;margin-top:6px;padding:8px 10px;font-size:12px;line-height:1.4;display:flex}.hint-apply-btn{color:#92400e;cursor:pointer;white-space:nowrap;background:#fef3c7;border:1px solid #fbbf24;border-radius:4px;flex-shrink:0;padding:3px 8px;font-size:11px}.hint-apply-btn:hover{background:#fde68a}.text-muted{color:var(--text-3);font-size:12px}.text-2{color:var(--text-2)}.fw-600{font-weight:600}@media (width<=768px){.sidebar{position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{box-shadow:var(--sh-lg);transform:translate(0)}.menu-toggle{display:block}.metrics-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.pedido-modal-grid{grid-template-columns:1fr}.search-input{width:100%}}@media (width<=480px){.metrics-grid,.form-row,.form-row-3{grid-template-columns:1fr}}.table-pagination{border-top:1px solid var(--border);color:var(--text-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 20px;font-size:13px;display:flex}.table-pagination-nav{align-items:center;gap:6px;display:flex}.table-pagination-page{white-space:nowrap;padding:0 6px}.table-pagination .btn:disabled{opacity:.45;cursor:default}.pt-suggest-option.selected .pt-suggest-name{color:var(--primary)}.pt-suggest-more{color:var(--text-2);padding:7px 12px;font-size:12px;font-style:italic}.form-group .pt-suggest-input{width:100%}
