.sidebar-scroll::-webkit-scrollbar{width:6px}.sidebar-scroll::-webkit-scrollbar-track{background:var(--bg-tertiary)}.sidebar-scroll::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:3px}.sidebar-scroll::-webkit-scrollbar-thumb:hover{background:var(--border-secondary)}.gradient-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;background-clip:text}.card-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.card-hover:hover{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;transform:translateY(-4px)}.animate-slide-in{animation:slideIn .3s ease-out}.glass-effect{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:var(--bg-secondary);border:1px solid var(--border-primary);opacity:.95}.focus-ring:focus{ring:2px;ring-color:#3b82f6;ring-offset:2px;outline:none}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton{animation:shimmer 1.5s infinite;background-image:linear-gradient(90deg,#f0f0f0,#f8f8f8 40px,#f0f0f0 80px);background-size:200px 100%}@keyframes pulse-badge{0%{box-shadow:0 0 0 0 #ef4444b3}70%{box-shadow:0 0 0 6px #ef444400}to{box-shadow:0 0 0 0 #ef444400}}.pulse-badge{animation:pulse-badge 2s infinite}.transition-all-smooth{transition:all .2s cubic-bezier(.4,0,.2,1)}.shadow-soft{box-shadow:0 2px 15px -3px #00000012,0 10px 20px -2px #0000000a}.shadow-hard{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}:root{--bg-surface:#e2e8f0;--text-secondary:#374151;--text-tertiary:#6b7280;--text-muted:#9ca3af;--border-primary:#d1d5db;--border-secondary:#9ca3af;--border-dark:#6b7280;--success-bg:#dcfce7;--success-text:#166534;--error-bg:#fee2e2;--error-text:#dc2626;--error-color:#dc2626;--warning-bg:#fef3c7;--warning-text:#d97706;--warning-color:#d97706;--info-bg:#dbeafe;--info-text:#2563eb;--info-color:#2563eb;--success-color:#166534;--primary-color:#3b82f6;--brand-hover:#1d4ed8;--brand-primary-dark:#2563eb;--primary-dark:#2563eb;--primary-alpha-5:#3b82f60d;--primary-alpha-20:#3b82f633;--error-dark:#b91c1c;--error-border:#fecaca;--border-color:#e5e7eb;--border-light:#f3f4f6;--hover-bg:#f9fafb;--focus-bg:#eff6ff;--focus-cell-bg:#dbeafe;--modal-overlay:#00000080;--modal-bg:#fff;--modal-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}:root.dark-theme{--bg-tertiary:#262626;--bg-surface:#2d2d2d;--text-secondary:#d4d4d4;--text-tertiary:#a3a3a3;--text-muted:#737373;--border-primary:#404040;--border-secondary:#525252;--border-dark:#737373;--success-bg:#166534;--success-text:#22c55e;--error-bg:#991b1b;--error-text:#ef4444;--error-color:#ef4444;--warning-bg:#92400e;--warning-text:#fbbf24;--warning-color:#fbbf24;--info-bg:#1e40af;--info-text:#60a5fa;--info-color:#60a5fa;--success-color:#22c55e;--primary-color:#3b82f6;--primary-alpha-10:#3b82f61a;--brand-hover:#2563eb;--brand-primary-dark:#1d4ed8;--brand-secondary-dark:#047857;--primary-dark:#1d4ed8;--primary-alpha-5:#3b82f60d;--primary-alpha-20:#3b82f633;--error-dark:#dc2626;--error-border:#7f1d1d;--border-color:#374151;--border-light:#1f2937;--hover-bg:#374151;--focus-bg:#1e3a8a;--focus-cell-bg:#1e40af;--modal-overlay:#000000b3;--modal-bg:#1a1a1a;--modal-shadow:0 20px 25px -5px #00000080,0 10px 10px -5px #0000004d}html{height:auto;min-height:100%;overflow:visible}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;background-color:var(--bg-primary);color:#1f2937;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;margin:0}#root,body{height:auto;min-height:100vh;overflow:visible}code{font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace}.icon{flex-shrink:0;height:1.25rem;width:1.25rem}.icon-sm{height:1rem;width:1rem}.icon-lg{height:2rem;width:2rem}.btn{border:1px solid #0000;border-radius:6px;font-size:.875rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .15s ease;white-space:nowrap}.btn-primary{background-color:#3b82f6;background-color:var(--brand-primary);border-color:#3b82f6;border-color:var(--brand-primary)}.btn-primary:hover{background-color:#1d4ed8;background-color:var(--brand-hover);border-color:#1d4ed8;border-color:var(--brand-hover)}.btn-primary:disabled{background-color:#9ca3af;background-color:var(--text-muted);border-color:#9ca3af;border-color:var(--text-muted)}.btn-secondary{background-color:#f8fafc;background-color:var(--bg-secondary);border-color:#d1d5db;border-color:var(--border-primary);color:#1f2937}.btn-secondary span,.btn-secondary svg{position:relative;z-index:2}.btn-secondary svg{color:#1f2937!important}.btn-secondary:hover{background-color:#d1d5db;background-color:var(--border-primary);box-shadow:0 2px 4px #0000001a;color:#1f2937;color:var(--text-primary);transform:translateY(-1px)}.btn-outline{background-color:initial;border-color:#d1d5db;border-color:var(--border-primary);color:#374151;color:var(--text-secondary)}.btn-outline svg{color:#374151!important;color:var(--text-secondary)!important}.btn-outline:hover{background-color:#f1f5f9;background-color:var(--bg-tertiary);color:#1f2937;color:var(--text-primary)}.btn-outline:hover svg{color:#1f2937!important;color:var(--text-primary)!important}.btn-danger{background-color:#dc2626;background-color:var(--error-text);border-color:#dc2626;border-color:var(--error-text)}.btn-danger:hover{background-color:#dc2626;border-color:#dc2626}.card{padding:2rem}.card,.dashboard-card{background-color:#f8fafc;background-color:var(--bg-secondary);border:1px solid #d1d5db;border:1px solid var(--border-primary);border-radius:8px;color:#1f2937;color:var(--text-primary)}.dashboard-card{padding:1.5rem;transition:border-color .15s ease}.dashboard-card:hover{border-color:#9ca3af;border-color:var(--border-secondary)}.form-input{background-color:#f1f5f9;background-color:var(--bg-tertiary);border:1px solid #d1d5db;border:1px solid var(--border-primary);border-radius:6px;box-sizing:border-box;color:#1f2937;color:var(--text-primary);display:block;font-size:.875rem;outline:none;padding:.75rem;transition:border-color .15s ease;width:100%}.form-input:focus{border-color:#3b82f6;border-color:var(--brand-primary)}.form-label{color:#1f2937;color:var(--text-primary);font-size:.875rem;font-weight:500;margin-bottom:.5rem}.text-left{text-align:left}.w-full{width:100%}.min-h-screen{min-height:100vh}.flex{display:flex}.justify-center{justify-content:center}.space-x-4>*+*{margin-left:1rem}.bg-gray-50{background-color:#f9fafb}.bg-white{background-color:#fff}.border-t{border-top:1px solid #e5e7eb}.border-gray-200{border-color:#e5e7eb}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-gray-50{--tw-gradient-from:#f9fafb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,#f9fafb00)}.from-gray-900{--tw-gradient-from:#111827;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,#11182700)}.to-white{--tw-gradient-to:#fff}.to-black{--tw-gradient-to:#000}.shadow-xl{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.min-h-\\[\36 00px\\]{min-height:600px}.flex-shrink-0{flex-shrink:0}.opacity-20{opacity:.2}.opacity-5{opacity:.05}.bg-blue-500{background-color:#3b82f6}.decoration-2{text-decoration-thickness:2px}.underline-offset-4{text-underline-offset:4px}.leading-tight{line-height:1.25}.gap-20{gap:5rem}.gap-16{gap:4rem}.pt-12{padding-top:3rem}.h-28{height:7rem}.h-40{height:10rem}.h-48{height:12rem}.w-20{width:5rem}.text-7xl{font-size:4.5rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.text-gray-400{color:#9ca3af}.text-gray-500{color:#6b7280}.text-gray-900{color:#111827}.text-gray-700{color:#374151}.text-gray-600{color:#6b7280}.text-gray-500{color:#9ca3af}.text-black{color:#000}.max-w-7xl{margin:0 auto;max-width:80rem}.max-w-6xl{margin:0 auto;max-width:72rem}.max-w-4xl{margin:0 auto;max-width:56rem}.max-w-3xl{margin:0 auto;max-width:48rem}.max-w-2xl{margin:0 auto;max-width:42rem}.max-w-lg{margin:0 auto;max-width:32rem}.max-w-md{margin:0 auto;max-width:28rem}.mx-auto{margin-left:auto;margin-right:auto}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.py-8{padding-bottom:2rem;padding-top:2rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-20{padding-bottom:5rem;padding-top:5rem}.py-24{padding-bottom:6rem;padding-top:6rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.mb-3{margin-bottom:.75rem}.mb-8{margin-bottom:2rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mt-3{margin-top:.75rem}.mt-8{margin-top:2rem}.mt-12{margin-top:3rem}.mr-2{margin-right:.5rem}.gap-3{gap:.75rem}.gap-12{gap:3rem}.text-white{color:#fff}.text-gray-300{color:#d1d5db}.leading-relaxed{line-height:1.625}.border-b{border-bottom:1px solid #e5e7eb}.border-gray-100{border-color:#f3f4f6}.relative{position:relative}.absolute{position:absolute}.-top-4{top:-1rem}.-right-4{right:-1rem}.-bottom-8{bottom:-2rem}.-left-8{left:-2rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.25rem}.text-5xl{font-size:3rem}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-y-8>*+*{margin-top:2rem}.space-y-6>*+*{margin-top:1.5rem}.space-y-4>*+*{margin-top:1rem}.space-y-3>*+*{margin-top:.75rem}.space-y-2>*+*{margin-top:.5rem}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.w-8{width:2rem}.w-12{width:3rem}.w-16{width:4rem}.w-24{width:6rem}.w-32{width:8rem}.h-8{height:2rem}.h-12{height:3rem}.h-16{height:4rem}.h-24{height:6rem}.h-32{height:8rem}.rounded-full{border-radius:9999px}.rounded-md{border-radius:6px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.overflow-x-auto{overflow-x:auto}.whitespace-nowrap{white-space:nowrap}.min-w-full{min-width:100%}.divide-y{border-collapse:initial}.divide-gray-200>*+*{border-top:1px solid #e5e7eb}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.text-xs{font-size:.75rem}.uppercase{text-transform:uppercase}.tracking-wider{letter-spacing:.05em}.inline-flex{display:inline-flex}.bg-gray-100{background-color:#f3f4f6}.text-green-800{color:#166534}.text-red-800{color:#991b1b}.bg-green-100{background-color:#dcfce7}.text-green-700{color:#15803d}.bg-red-100{background-color:#fee2e2}.text-red-700{color:#b91c1c}@media (min-width:640px){.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\\:flex-row{flex-direction:row}.sm\\:w-auto{width:auto}}@media (min-width:768px){.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1024px){.lg\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\\:col-span-6{grid-column:span 6/span 6}.lg\\:col-span-2{grid-column:span 2/span 2}.lg\\:px-8{padding-left:2rem;padding-right:2rem}.lg\\:py-24{padding-bottom:6rem;padding-top:6rem}.lg\\:text-left{text-align:left}.lg\\:text-right{text-align:right}.lg\\:text-4xl{font-size:2.25rem}.lg\\:text-5xl{font-size:3rem}.lg\\:text-6xl{font-size:3.75rem}.lg\\:text-7xl{font-size:4.5rem}.lg\\:mx-0{margin-left:0;margin-right:0}.lg\\:justify-start{justify-content:flex-start}.lg\\:gap-6{gap:1.5rem}.lg\\:p-12{padding:3rem}}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-webkit-appearance:textfield;appearance:textfield}@keyframes fade-in{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.animate-fade-in{animation:fade-in .3s ease-out}:root{--primary-alpha-10:#3b82f61a;--brand-alpha-10:#10b9811a;--brand-secondary-dark:#059669}.modal-overlay.closing{animation:fadeOut .2s ease-out}.modal-backdrop{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#00000080;bottom:0;left:0;position:absolute;right:0;top:0}.modal-container{animation:slideUp .3s ease-out;background:var(--bg-primary);border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a,0 0 0 1px #0000000d;display:flex;flex-direction:column;max-height:80vh;max-width:900px;overflow:hidden;position:relative;transform-origin:center;width:100%}.modal-container.closing{animation:slideDown .2s ease-out}.modal-header{background:linear-gradient(135deg,var(--bg-secondary) 0,var(--bg-tertiary) 100%);border-bottom:1px solid var(--border-primary)}.modal-title{align-items:center;color:var(--text-primary);display:flex;font-size:20px;font-weight:600;gap:12px;margin:0}.modal-icon{color:var(--brand-primary);height:24px;width:24px}.modal-close-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--text-tertiary);cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.modal-close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary);transform:rotate(90deg)}.modal-content{background:var(--bg-primary);flex:1 1;overflow-y:auto;padding:24px}.alert{align-items:center;animation:slideIn .3s ease-out;border-radius:8px;gap:8px;margin-bottom:20px;padding:12px 16px}.alert-success{background:var(--success-bg);border:1px solid var(--success-color);color:var(--success-text)}.alert-error{background:var(--error-bg)}.loading-container{color:var(--text-tertiary);padding:60px 20px}.empty-state{padding:60px 20px;text-align:center}.empty-icon{color:var(--border-primary);margin-bottom:16px}.empty-state h3{color:var(--text-primary);font-size:18px;font-weight:600;margin:0 0 8px}.empty-state p{color:var(--text-tertiary);margin:0}.table-container{background:var(--bg-primary);border:1px solid var(--border-primary)}.parametros-table{border-collapse:initial;border-spacing:0;width:100%}.parametros-table thead{background:var(--bg-surface)}.parametros-table thead th{border-bottom:2px solid var(--border-primary);color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.5px;padding:14px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.parametros-table tbody tr{transition:all .2s ease}.parametros-table tbody tr:hover{background:var(--hover-bg)}.parametros-table tbody tr.even-row{background:var(--bg-primary)}.parametros-table tbody tr.odd-row{background:var(--bg-secondary)}.parametros-table tbody tr.readonly-row{background:var(--bg-tertiary);opacity:.7}.parametros-table tbody tr.error-row{background:var(--error-bg)}.parametros-table tbody td{border-bottom:1px solid var(--border-light);padding:12px 16px;vertical-align:middle}.th-id{text-align:center;width:60px}.th-nombre{min-width:150px;width:25%}.th-tipo{text-align:center;width:100px}.th-valor{text-align:center;width:120px}.th-feature,.th-max,.th-min{text-align:center;width:100px}.td-id{font-weight:500;text-align:center;width:60px}.td-nombre{font-weight:500;width:25%}.td-tipo{text-align:center;width:100px}.td-valor{text-align:center;width:120px}.td-feature,.td-max,.td-min{text-align:center;width:100px}.param-name{align-items:center;color:var(--text-primary);display:flex;font-size:14px;font-weight:500;gap:4px}.required-marker{color:var(--error-color);font-weight:700}.param-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-tertiary);display:-webkit-box;font-size:13px;line-height:1.4;max-width:300px;overflow:hidden;text-overflow:ellipsis}.param-unit{background:var(--bg-tertiary);border-radius:4px;color:var(--text-secondary);display:inline-block;font-size:12px;font-weight:500;padding:2px 8px}.parametro-input-container{width:100%}.parametro-input-wrapper{align-items:center;display:flex;flex-direction:column;position:relative;width:100%}.parametro-input{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:6px;color:var(--text-primary);font-size:13px;max-width:100px;padding:6px 8px;text-align:center;transition:all .2s ease;width:90%}.parametro-input:focus{background:var(--bg-secondary);border-color:var(--brand-primary);box-shadow:0 0 0 3px #3b82f61a;box-shadow:0 0 0 3px var(--primary-alpha-10);outline:none}.parametro-input.error{background:var(--error-bg);border-color:var(--error-color)}.parametro-input.error:focus{box-shadow:0 0 0 3px #dc26261a}.parametro-input.disabled{background:var(--bg-tertiary);color:var(--text-tertiary);cursor:not-allowed;opacity:.6}.readonly-text{color:var(--text-secondary);display:inline-block;font-size:13px;padding:4px 8px;-webkit-user-select:none;user-select:none}.type-badge{background:var(--bg-tertiary);color:var(--text-tertiary);font-weight:500;text-transform:lowercase}.feature-badge,.type-badge{border-radius:12px;font-size:11px;padding:3px 10px}.feature-badge{background:#10b9811a;background:var(--brand-alpha-10);color:var(--brand-primary);font-weight:600}.param-tooltip{color:var(--text-tertiary);cursor:help;display:inline-block;font-size:14px;margin-left:6px;opacity:.6;transition:opacity .2s ease}.param-tooltip:hover{color:var(--brand-primary);opacity:1}.validation-hint{align-items:center;color:var(--error-text);display:flex;font-size:11px;gap:4px;margin-top:2px;position:absolute;top:100%;white-space:nowrap}.validation-hint svg{flex-shrink:0}.parametro-textarea{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;min-height:60px;resize:vertical}.parametro-input-boolean{align-items:center;display:flex}.switch{display:inline-block;height:24px;position:relative;width:44px}.switch input{height:0;opacity:0;width:0}.slider{background-color:var(--border-secondary);border-radius:24px;bottom:0;cursor:pointer;left:0;right:0;top:0}.slider,.slider:before{position:absolute;transition:.3s}.slider:before{background-color:#fff;border-radius:50%;bottom:3px;box-shadow:0 2px 4px #0003;content:"";height:18px;left:3px;width:18px}.switch input:checked+.slider{background-color:var(--brand-primary)}.switch input:checked+.slider:before{transform:translateX(20px)}.switch input:disabled+.slider{cursor:not-allowed;opacity:.5}.validation-error{align-items:center;color:var(--error-text);display:flex;font-size:12px;gap:4px;margin-top:4px}.badge{border-radius:12px;font-size:11px;font-weight:600;padding:4px 10px}.badge-readonly{background:var(--bg-tertiary);color:var(--text-tertiary)}.badge-modified{background:var(--warning-bg);color:var(--warning-text)}.badge-normal{background:var(--bg-surface);color:var(--text-secondary)}.btn,.modal-footer{align-items:center}.btn{border-radius:8px;display:inline-flex;gap:8px;justify-content:center;outline:none;padding:10px 20px}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-cancel{background:var(--bg-tertiary);color:var(--text-secondary)}.btn-cancel:hover{background:var(--bg-surface);color:var(--text-primary)}.btn-primary{background:var(--brand-secondary);box-shadow:0 2px 4px #0000001a}.btn-primary:hover{background:#059669;background:var(--brand-secondary-dark);box-shadow:0 4px 6px #00000026}.btn-primary.disabled{background:var(--bg-surface);box-shadow:none;color:var(--text-tertiary);cursor:not-allowed;transform:none}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideDown{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(20px) scale(.95)}}@media (max-width:1024px){.modal-container{max-width:95%}.parametros-table{min-width:800px}}@media (max-width:768px){.modal-container{margin:10px;max-height:90vh;max-width:100%}.modal-header{padding:16px 20px}.modal-title{font-size:18px}.modal-content{padding:16px}.table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.parametros-table{min-width:700px}.parametros-table thead th{font-size:11px;padding:10px 8px}.parametros-table tbody td{padding:8px}.parametro-input{font-size:12px;max-width:80px;padding:4px 6px;width:100%}.readonly-text{font-size:12px;padding:2px 4px}.feature-badge,.type-badge{font-size:10px;padding:2px 6px}.modal-footer{flex-direction:column-reverse;gap:8px;padding:12px 20px}.btn{width:100%}}@media (max-width:480px){.modal-overlay{padding:0}.modal-container{border-radius:0;margin:0;max-height:100vh}.parametros-table{font-size:13px}.param-description{-webkit-line-clamp:1}}:root.dark-theme .modal-container{box-shadow:0 20px 25px -5px #0000004d,0 10px 10px -5px #0003,0 0 0 1px #ffffff1a}:root.dark-theme .modal-backdrop{background:#000000b3}:root.dark-theme .parametros-table tbody tr:hover{background:var(--bg-tertiary)}:root.dark-theme .switch .slider:before{background-color:var(--bg-primary)}:root.dark-theme .btn-primary{box-shadow:0 2px 4px #0000004d}:root.dark-theme .btn-primary:hover{box-shadow:0 4px 6px #0006}@media print{.modal-overlay{background:none;position:relative}.modal-backdrop{display:none}.modal-container{box-shadow:none;max-height:none}.modal-close-btn,.modal-footer{display:none}}.ordenes-compra-filters{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-sm);margin-bottom:20px;padding:20px}.filters-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.filters-header h3{color:var(--text-primary);font-size:16px;font-weight:600;margin:0}.filters-actions{align-items:center;display:flex;gap:12px}.active-filters-badge{background:var(--primary-alpha-10);border-radius:12px;color:var(--primary-color);font-size:12px;font-weight:500;padding:4px 8px}.filters-body{padding:4px 0}.filter-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filter-group{display:flex;flex-direction:column}.filter-group.full-width{grid-column:1/-1}.filter-group label{color:var(--text-primary);font-size:13px;font-weight:500;margin-bottom:6px}.filter-group input,.filter-group select{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;padding:8px 12px;transition:all .3s ease}.filter-group input:focus,.filter-group select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-alpha-10);outline:none}.checkbox-group{display:flex;flex-direction:column;gap:8px}.checkbox-label{color:var(--text-primary);font-size:14px;gap:8px;transition:color .2s ease}.checkbox-label:hover,.checkbox-label:hover span{color:var(--primary-color)}.checkbox-label input[type=checkbox]{height:16px;width:16px}.filters-footer{border-top:1px solid var(--border-color);display:flex;gap:12px;justify-content:flex-end;margin-top:20px;padding-top:16px}@media (max-width:768px){.filter-grid{grid-template-columns:1fr}.filters-footer{flex-direction:column-reverse}.filters-footer button{width:100%}}.email-modal,.email-modal *,.modal-overlay{box-sizing:border-box}.modal-overlay{animation:fadeIn .2s ease-out;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:var(--modal-overlay);overflow:auto;padding:20px}.email-modal{animation:modalSlideUp .3s cubic-bezier(.34,1.56,.64,1);background:var(--bg-primary);border-radius:16px;box-shadow:0 24px 48px -12px #0000002e,0 0 0 1px var(--border-primary);margin:20px;max-width:560px;max-width:min(560px,calc(100vw - 40px));overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;width:calc(100% - 40px)}:root.dark-theme .email-modal{box-shadow:0 24px 48px -12px #00000080,0 0 0 1px var(--border-primary),0 0 80px -20px #3b82f626}:root.dark-theme .loading-state .mail-icon-inline{color:var(--brand-primary);filter:drop-shadow(0 2px 6px rgba(59,130,246,.4))}.email-modal .modal-header{align-items:center;background:linear-gradient(135deg,var(--brand-primary),var(--brand-hover));box-sizing:border-box;display:flex;justify-content:space-between;overflow:hidden;padding:28px 24px;position:relative}.email-modal .modal-header:before{background-image:repeating-linear-gradient(45deg,#0000,#0000 10px,#ffffff08 0,#ffffff08 20px);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.email-modal .modal-header h2{align-items:center;color:#fff;display:flex;font-size:22px;font-weight:600;gap:14px;letter-spacing:-.02em;margin:0;position:relative;z-index:1}.email-modal .modal-header h2 svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.email-modal .modal-header .btn-icon{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #fff3;border-radius:10px;color:#fff;cursor:pointer;display:flex;height:36px;justify-content:center;position:relative;transition:all .2s ease;width:36px;z-index:1}.email-modal .modal-header .btn-icon:hover:not(:disabled){background:#ffffff40;border-color:#ffffff4d;transform:scale(1.05)}.email-modal .modal-header .btn-icon:active:not(:disabled){transform:scale(.95)}.email-modal .modal-header .btn-icon:disabled{cursor:not-allowed;opacity:.5}.modal-body{box-sizing:border-box;max-height:calc(90vh - 200px);overflow-x:hidden;overflow-y:auto;padding:32px 28px}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:4px}.modal-body::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:4px}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.form-info{word-wrap:break-word;background:linear-gradient(135deg,var(--bg-secondary),var(--bg-tertiary));border-left:4px solid var(--brand-primary);border-radius:12px;box-sizing:border-box;margin-bottom:28px;overflow:hidden;padding:18px 20px;position:relative}.form-info:after{content:"📧";font-size:32px;opacity:.1;position:absolute;right:20px;top:50%;transform:translateY(-50%)}.form-info p{color:var(--text-secondary);font-size:14px;line-height:1.6;margin:0;position:relative;z-index:1}.form-info strong{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--brand-primary),var(--brand-hover));-webkit-background-clip:text;background-clip:text;color:var(--text-primary);font-weight:600}.form-group{box-sizing:border-box}.form-group label{display:block;letter-spacing:.01em;margin-bottom:10px;transition:color .2s ease}.form-group .required{font-weight:600;margin-left:4px}.form-group input[type=email],.form-group input[type=text],.form-group textarea{background-color:var(--bg-secondary);border:2px solid #0000;border-radius:12px;box-shadow:0 1px 3px #0000000d;box-sizing:border-box;color:var(--text-primary);font-family:inherit;font-size:15px;padding:14px 16px;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.form-group input[type=email]:hover:not(:disabled),.form-group input[type=text]:hover:not(:disabled),.form-group textarea:hover:not(:disabled){background-color:var(--bg-primary);border-color:var(--border-primary)}.form-group input[type=email]:focus,.form-group input[type=text]:focus,.form-group textarea:focus{background-color:var(--bg-primary);border-color:var(--brand-primary);box-shadow:0 0 0 4px var(--primary-alpha-10),0 1px 3px #0000000d;outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted);opacity:.7}.form-group input:disabled,.form-group textarea:disabled{background-color:var(--bg-tertiary);border-color:var(--border-primary);cursor:not-allowed;opacity:.6}.form-group textarea{font-size:14px;line-height:1.6;min-height:120px;resize:vertical}.form-hint{align-items:center;color:var(--text-tertiary);display:flex;font-size:13px;font-style:normal;gap:6px;margin-top:8px}.form-hint:before{content:"ℹ️";font-size:14px}.checkbox-label{align-items:center;background:var(--bg-secondary);border:2px solid #0000;border-radius:12px;box-sizing:border-box;cursor:pointer;display:flex;gap:14px;padding:16px;position:relative;transition:all .2s ease;-webkit-user-select:none;user-select:none;width:100%}.checkbox-label:hover{background:var(--bg-tertiary);border-color:var(--border-primary)}.checkbox-label input[type=checkbox]{accent-color:var(--brand-primary);border-radius:6px;cursor:pointer;height:22px;width:22px}.checkbox-label span{color:var(--text-primary);flex:1 1;font-size:15px;font-weight:500}.alert{align-items:flex-start;animation:alertSlideIn .3s cubic-bezier(.34,1.56,.64,1);border-radius:12px;display:flex;gap:14px;overflow:hidden;padding:16px 18px;position:relative}.alert:before{bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.alert-error{background-color:var(--error-bg);border:1px solid var(--error-color);color:var(--error-text)}.alert-error:before{background:var(--error-color)}.alert-error svg{color:var(--error-color);flex-shrink:0;margin-top:2px}.success-message{animation:successFadeIn .5s cubic-bezier(.34,1.56,.64,1);padding:60px 32px;text-align:center}.success-message svg{animation:successCheck .6s cubic-bezier(.34,1.56,.64,1);color:var(--success-color);filter:drop-shadow(0 4px 6px rgba(34,197,94,.2));margin-bottom:28px}.success-message h3{color:var(--text-primary);font-size:24px;font-weight:700;letter-spacing:-.02em;margin-bottom:12px}.success-message p{color:var(--text-secondary);font-size:15px;line-height:1.6;margin:0 auto;max-width:320px}.spinner-small{animation:spin .8s cubic-bezier(.68,-.55,.265,1.55) infinite;border:2.5px solid var(--bg-tertiary);border-top-color:initial;display:inline-block;height:18px;margin-right:10px;vertical-align:middle;width:18px}.loading-state{animation:loadingFadeIn .3s ease;padding:60px 32px;text-align:center}.loading-state .spinner-icon{animation:spin 1s linear infinite;color:var(--brand-primary);margin-bottom:24px}.loading-state h3{color:var(--text-primary);font-size:22px;font-weight:600;letter-spacing:-.02em;margin-bottom:12px}.loading-state p{color:var(--text-secondary);font-size:15px;line-height:1.6;margin:0 auto;max-width:380px}.loading-state .loading-message{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.loading-state .mail-icon-inline{animation:mailPulse 2s ease-in-out infinite;color:var(--brand-primary);filter:drop-shadow(0 2px 4px rgba(59,130,246,.2));margin-left:12px;opacity:.8}@keyframes mailPulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.loading-state strong{color:var(--text-primary);font-weight:600}.modal-footer{background:linear-gradient(to top,var(--bg-secondary),#0000);border-top:1px solid var(--border-primary);gap:16px;padding:20px 28px;position:relative}.btn-primary{background:linear-gradient(135deg,var(--brand-primary),var(--brand-hover));border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;font-size:15px;font-weight:600;gap:10px;justify-content:center;overflow:hidden;padding:14px 28px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.email-modal .btn-primary:before{background:#fff3;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.btn-primary:hover:not(:disabled){box-shadow:0 10px 15px -3px #00000026,0 4px 6px -2px #0000000d;transform:translateY(-2px)}.email-modal .btn-primary:hover:not(:disabled):before{height:300px;width:300px}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{background:linear-gradient(135deg,var(--text-muted),var(--border-secondary));transform:none}.btn-primary svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.btn-secondary{border:2px solid var(--border-primary);border-radius:12px;font-size:15px;font-weight:600;overflow:hidden;padding:14px 28px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.email-modal .btn-secondary:before{background:var(--bg-tertiary);border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.btn-secondary:hover:not(:disabled){border-color:var(--brand-primary);box-shadow:0 4px 6px -1px #0000001a;color:var(--brand-primary)}.email-modal .btn-secondary:hover:not(:disabled):before{height:300px;width:300px}.btn-secondary:disabled{opacity:.4}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes alertSlideIn{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes successFadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes successCheck{0%{transform:scale(0) rotate(-45deg)}50%{transform:scale(1.2) rotate(0deg)}to{transform:scale(1) rotate(0deg)}}@keyframes loadingFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.email-modal{animation:mobileSlideUp .3s ease;border-radius:0;height:100%;margin:0;max-width:100%;width:100%}.modal-overlay{padding:0}@keyframes mobileSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-overlay{align-items:flex-end}.modal-header{border-radius:0;padding:24px 20px}.modal-body{max-height:calc(100vh - 180px);padding:24px 20px}.modal-footer{background:var(--bg-primary);border-top:1px solid var(--border-primary);bottom:0;box-shadow:0 -4px 6px -1px #0000000d;padding:20px;position:-webkit-sticky;position:sticky}.modal-footer button{flex:1 1;padding:16px}.btn-primary,.btn-secondary{font-size:16px;justify-content:center}.form-group input[type=email],.form-group input[type=text],.form-group textarea{font-size:16px}}@media (min-width:641px) and (max-width:1024px){.email-modal{max-width:600px}}:focus-visible{border-radius:4px;outline:3px solid var(--brand-primary);outline-offset:2px}.btn-primary:focus-visible,.btn-secondary:focus-visible{outline-offset:4px}.form-group input:focus-visible,.form-group textarea:focus-visible{outline:3px solid var(--brand-primary);outline-offset:0}@media (prefers-contrast:high){.email-modal{border:2px solid var(--text-primary)}.btn-primary,.btn-secondary{border:2px solid}.alert{border-width:2px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{.modal-overlay{display:none}}.email-modal,.email-modal :not(.spinner-small){transition:background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}.ordenes-compra-list{background:var(--bg-primary);min-height:100vh;padding:24px}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.page-header{align-items:flex-start;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:20px}.header-left h1{color:var(--text-primary);font-size:28px;font-weight:600;margin:0 0 12px}.stats-badges{display:flex;flex-wrap:wrap;gap:12px}.stat-badge{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:20px;color:var(--text-secondary);display:inline-flex;font-size:13px;gap:6px;padding:6px 12px}.stat-badge.success{background:var(--success-bg);border-color:var(--success-color);color:var(--success-color)}.stat-badge.danger{background:var(--error-bg);border-color:var(--error-color);color:var(--error-color)}.actions-bar{flex-wrap:wrap;gap:12px;margin-bottom:20px}.actions-bar,.search-box{align-items:center;display:flex}.search-box{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;flex:1 1;max-width:400px;padding:0 12px;transition:all .3s ease}.search-box:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-alpha-10)}.search-box input{background:#0000;border:none;color:var(--text-primary);flex:1 1;font-size:14px;outline:none;padding:10px 8px}.action-buttons{align-items:center;gap:12px}.filter-count{align-items:center;background:var(--primary-color);border-radius:10px;color:#fff;display:inline-flex;font-size:11px;font-weight:600;height:20px;justify-content:center;margin-left:6px;min-width:20px;padding:0 6px}.export-group{display:flex;gap:8px}.export-select{background:#fff!important;border:1px solid #d1d5db!important;border-radius:12px!important;box-shadow:0 1px 2px #0000001a!important;color:#1f2937!important;font-size:14px;outline:none;padding:8px 12px}.export-select:focus{border-color:#2563eb!important;box-shadow:0 0 0 3px #2563eb1a!important}.export-group .btn-secondary,.table-container{border-radius:12px}.table-container{background:var(--bg-secondary);box-shadow:var(--shadow-sm);overflow:hidden}.data-table{border-collapse:collapse;width:100%}.data-table thead{background:var(--bg-tertiary);border-bottom:2px solid var(--border-color)}.data-table th{color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}.data-table tbody tr{border-bottom:1px solid var(--border-light);transition:background-color .2s ease}.data-table tbody tr:hover{background:var(--bg-hover)}.data-table tbody tr.row-vencida{background:var(--error-bg)}.data-table tbody tr.row-vencida:hover{background:var(--error-bg-hover)}.data-table td{color:var(--text-primary);font-size:14px;padding:14px 16px}.folio-cell{align-items:center;display:flex;gap:8px}.folio{color:var(--primary-color);font-weight:500}.icon-sent{color:var(--info-color)}.fecha-requerida-cell{align-items:center;display:flex;gap:6px}.icon-warning{color:var(--warning-color)}.estado-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:12px;font-weight:500;padding:4px 10px;text-transform:capitalize}.estado-borrador{background:#6c757d1a;color:#6c757d}.estado-enviada{background:#17a2b81a;color:#17a2b8}.estado-confirmada{background:#007bff1a;color:#007bff}.estado-parcial{background:#ffc1071a;color:#ffc107}.estado-completada{background:#28a7451a;color:#28a745}.estado-cancelada{background:#dc35451a;color:#dc3545}.recepcion-progress{align-items:center;display:flex;gap:8px}.progress-bar{background:var(--bg-tertiary);border-radius:3px;flex:1 1;height:6px;min-width:60px;overflow:hidden}.progress-fill{background:var(--success-color);height:100%;transition:width .3s ease}.progress-text{color:var(--text-secondary);font-size:12px;font-weight:500;min-width:35px;text-align:right}.action-buttons{display:flex;gap:4px}.btn-icon{background:var(--bg-tertiary);border-radius:6px;color:var(--text-secondary);display:inline-flex;height:32px;width:32px}.btn-icon svg{color:inherit!important}.btn-icon:hover{background:var(--primary-color);color:#fff}.btn-icon.btn-success:hover{background:var(--success-color);border-color:var(--success-color)}.ordenes-compra-list .table-container .data-table tbody .action-buttons .btn-icon.btn-danger{align-items:center!important;background:#fff!important;background-color:#fff!important;border:1px solid #dc2626!important;color:#dc2626!important;display:inline-flex!important;height:32px!important;justify-content:center!important;overflow:visible!important;padding:0!important;position:relative!important;width:32px!important}:root:not(.dark-theme) .ordenes-compra-list .btn-icon.btn-danger{background:#fff!important;background-color:#fff!important}:root.dark-theme .ordenes-compra-list .btn-icon.btn-danger{background:#0000!important;background-color:initial!important}.ordenes-compra-list .table-container .data-table tbody .action-buttons .btn-icon.btn-danger svg{stroke:#dc2626!important;stroke-width:2!important;fill:none!important;display:block!important;height:16px!important;min-height:16px!important;min-width:16px!important;opacity:1!important;position:relative!important;visibility:visible!important;width:16px!important;z-index:2!important}.ordenes-compra-list .table-container .data-table tbody .action-buttons .btn-icon.btn-danger:hover{background:#dc2626!important;background-color:#dc2626!important;border-color:#dc2626!important;color:#fff!important}.ordenes-compra-list .table-container .data-table tbody .action-buttons .btn-icon.btn-danger:hover svg{stroke:#fff!important;fill:none!important}.ordenes-compra-list .btn-icon.btn-danger:empty:after,.ordenes-compra-list .btn-icon.btn-danger:not(:has(svg)):after{color:#dc2626;content:"×";font-size:20px;font-weight:700;line-height:1}.ordenes-compra-list .btn-icon.btn-danger:hover:empty:after,.ordenes-compra-list .btn-icon.btn-danger:hover:not(:has(svg)):after{color:#fff}.btn-danger>svg,.btn-icon.btn-danger>svg,button.btn-danger svg{stroke:currentColor!important;fill:none!important;stroke-width:2!important;display:inline-block!important;height:16px!important;opacity:1!important;visibility:visible!important;width:16px!important}.no-data{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.no-data p{font-size:16px;margin:16px 0 24px}.pagination{align-items:center;background:var(--bg-tertiary);border-radius:0 0 12px 12px;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;margin-top:20px;padding:16px 20px}.pagination-info{color:var(--text-secondary);font-size:14px}.pagination-controls{align-items:center;display:flex;gap:12px}.page-number{color:var(--text-primary);font-size:14px;font-weight:500}.modal-header{align-items:center;display:flex;justify-content:space-between}.btn-danger,.btn-primary,.btn-secondary{align-items:center!important;border:1px solid!important;border-radius:8px!important;cursor:pointer!important;display:inline-flex!important;font-size:14px!important;font-weight:500!important;gap:8px!important;overflow:hidden!important;padding:10px 20px!important;position:relative!important;transition:all .3s ease!important}.ordenes-compra-list .btn-primary:after,.ordenes-compra-list .btn-primary:before,.ordenes-compra-list .btn-secondary:after,.ordenes-compra-list .btn-secondary:before{content:none!important;display:none!important}.btn-primary{background:var(--brand-primary)!important;border-color:var(--brand-primary)!important}.btn-primary,.btn-primary svg{color:#fff!important}.btn-primary:hover:not(:disabled){background:var(--brand-hover)!important;border-color:var(--brand-hover)!important;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.btn-secondary{border:1px solid var(--border-primary)!important}.btn-secondary span{color:inherit!important}.btn-secondary span,.btn-secondary svg{position:relative!important;z-index:2!important}.btn-secondary:hover:not(:disabled){background:var(--bg-tertiary)!important;border-color:var(--brand-primary)!important;box-shadow:0 2px 4px #0000001a;color:var(--text-primary)!important}.btn-secondary:hover:not(:disabled) span,.btn-secondary:hover:not(:disabled) svg{color:var(--text-primary)!important}.btn-danger{background:var(--error-color);background:var(--error-text)!important;border-color:var(--error-text)!important;color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c!important;border-color:#b91c1c!important;box-shadow:0 4px 6px -1px #dc262633;transform:translateY(-1px)}.btn-danger:disabled,.btn-primary:disabled,.btn-secondary:disabled{cursor:not-allowed;opacity:.5}.btn-text{align-items:center;background:#0000;border:none;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:14px;gap:6px;padding:4px 8px;transition:color .2s ease}.btn-text:hover{color:var(--primary-color)}.spinner{animation:spin 1s linear infinite;border:4px solid var(--border-color);border-top-color:var(--primary-color)}@media (max-width:768px){.ordenes-compra-list{padding:16px}.page-header{flex-direction:column;gap:16px}.stats-badges{width:100%}.actions-bar{flex-direction:column;width:100%}.search-box{max-width:100%}.table-container{overflow-x:auto}.data-table{min-width:800px}.pagination{flex-direction:column;gap:16px}.modal{max-width:95%}}.ordenes-compra-form{background:var(--bg-primary);min-height:100vh;padding:24px}.form-header{border-bottom:1px solid var(--border-color)}.form-section{border:1px solid #0000000d}.items-table{background:var(--bg-primary);border-radius:12px;box-shadow:inset 0 1px 3px #0000000f;margin:-8px;overflow-x:auto;padding:8px}.items-table table{border-collapse:collapse;min-width:1200px;width:100%}.items-table thead{background:var(--bg-tertiary);border-bottom:2px solid var(--border-color)}.items-table th{color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.items-table th:first-child{min-width:250px}.items-table th:nth-child(2),.items-table th:nth-child(3){min-width:100px}.items-table th:nth-child(4){min-width:120px}.items-table th:nth-child(5){min-width:110px}.items-table th:nth-child(6){min-width:100px}.items-table th:nth-child(7){min-width:120px}.items-table th:nth-child(8){min-width:100px}.items-table td:first-child{min-width:250px}.items-table td:nth-child(2),.items-table td:nth-child(3){min-width:100px}.items-table td:nth-child(4){min-width:120px}.items-table td:nth-child(5){min-width:110px}.items-table td:nth-child(6){min-width:100px}.items-table td:nth-child(7){min-width:120px}.items-table td:nth-child(8){min-width:100px}.items-table tbody tr{border-bottom:1px solid var(--border-light)}.items-table tbody tr.row-error{background:var(--error-bg)}.items-table td{padding:12px 16px;vertical-align:middle}.items-table input,.items-table select{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:13px;margin:2px 0;padding:8px 12px;width:100%}.items-table input:focus,.items-table select:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-alpha-10);outline:none}.items-table input.error{border-color:var(--error-color)}.btn-small{font-size:13px!important;padding:6px 12px!important}.btn-icon.btn-small{align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:#374151;cursor:pointer;display:flex;justify-content:center;min-width:36px;transition:all .2s ease}.btn-icon.btn-small svg{color:inherit}.btn-icon.btn-small:hover{background:var(--bg-tertiary);border-color:var(--primary-color);color:var(--primary-color)}.btn-icon.btn-small:disabled{cursor:not-allowed;opacity:.5}.btn-icon.btn-small.btn-danger:hover{background:var(--error-bg);border-color:var(--error-color);color:var(--error-color)}.no-items{padding:40px 20px}.no-items p{font-size:14px;margin:12px 0 20px}.items-errors{background:var(--error-bg);border-radius:8px;margin-top:16px;padding:12px}.item-error{align-items:center;color:var(--error-color);display:flex;font-size:13px;gap:8px;margin-bottom:4px}.item-error:last-child{margin-bottom:0}.totales-section{background:var(--bg-secondary);border:2px solid #2563eb1a;border-radius:16px!important;box-shadow:0 4px 8px #0000000d;overflow:hidden;padding:28px!important;position:relative}.totales-section:before{background:linear-gradient(90deg,#2563eb,#3b82f6,#2563eb);border-radius:16px 16px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.totales-grid{gap:30px;margin:0 auto;max-width:600px;padding:0}.totales-grid,.totales-info{align-items:center;display:flex;flex-direction:column;width:100%}.totales-info{justify-content:center;text-align:center}.totales-info h3{align-items:center;display:flex}.totales-info h3,.totales-info>div{justify-content:center}.info-text{color:var(--text-secondary);font-size:14px;margin:0}.totales-summary{align-items:stretch;display:flex;flex-direction:column;margin:0 auto;max-width:350px;width:100%}.total-row{align-items:center;display:flex;font-size:14px;justify-content:space-between;padding:8px 0}.total-row span:first-child{color:var(--text-secondary)}.total-row .amount{color:var(--text-primary);font-weight:500}.total-row.discount .amount{color:var(--success-color)}.total-row.total-final{border-top:2px solid var(--border-color);font-size:18px;font-weight:600;padding-top:12px}.total-row.total-final .amount{color:var(--primary-color)}.error-message{font-size:12px;gap:6px;margin-top:4px}.btn-danger{background:#dc2626!important;border-color:#dc2626!important}.btn-danger,.btn-danger svg{color:#fff!important}.btn-secondary{background:var(--bg-secondary)!important;border-color:var(--border-primary)!important}.btn-secondary,.btn-secondary svg{color:var(--text-primary)!important}.modal-overlay{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:var(--modal-overlay);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal{animation:slideUp .3s ease;background:var(--modal-bg);border:1px solid var(--border-primary);border-radius:12px;box-shadow:var(--modal-shadow);max-height:90vh;max-width:500px;overflow:hidden;width:90%}.modal-header{border-bottom:1px solid var(--border-color);padding:20px 24px}.modal-header h2{color:var(--text-primary);font-size:20px;font-weight:600;margin:0}.modal-body{color:var(--text-primary);padding:24px}.modal-body p{color:var(--text-secondary);font-size:16px;line-height:1.6}.modal-footer{background:var(--bg-secondary);border-top:1px solid var(--border-color);display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.focus-dot{animation:focusPulse 1.5s ease-in-out infinite}.items-table td.cell-focused{position:relative}.items-table td.cell-focused:before{animation:cellPulse 1.5s ease-in-out infinite;border:2px solid var(--brand-primary);border-radius:8px;bottom:-2px;content:"";left:-2px;pointer-events:none;position:absolute;right:-2px;top:-2px}.items-table tbody tr.row-focused{background:var(--primary-alpha-10);border-left:3px solid var(--primary-color);box-shadow:0 0 0 1px var(--primary-alpha-20)}.items-table tbody tr.row-focused td{position:relative}.items-table tbody tr.row-focused td:first-child:before{background:var(--primary-color);border-radius:0 2px 2px 0;bottom:0;content:"";left:-3px;position:absolute;top:0;width:3px}.items-table tbody tr.row-empty{background:var(--bg-secondary)}.items-table tbody tr.row-filled{background:var(--bg-primary)}.items-table tbody tr.row-focused.row-empty{animation:focusPulse 2s ease-in-out infinite;background:linear-gradient(135deg,var(--primary-alpha-5),var(--primary-alpha-10))}@media (max-width:1024px){.form-group-large{grid-column:span 1}.totales-grid{gap:20px}.totales-summary{max-width:100%}}@media (max-width:768px){.ordenes-compra-form{padding:16px}.form-header{align-items:flex-start;flex-direction:column;gap:16px}.header-actions{width:100%}.header-actions button{flex:1 1}.form-section{padding:16px}.section-header{align-items:flex-start;flex-direction:column;gap:12px}.form-grid{grid-template-columns:1fr}.form-footer{flex-direction:column-reverse}.form-footer button{width:100%}}.ordenes-compra-detail{background:var(--bg-primary);min-height:100vh;padding:24px}.detail-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;gap:20px;justify-content:space-between;margin-bottom:24px;padding-bottom:20px}.btn-back{align-items:center;background:#0000;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:inline-flex;gap:8px;padding:8px 16px;transition:all .2s ease}.btn-back:hover{background:var(--bg-secondary);color:var(--text-primary)}.header-info{align-items:center;display:flex;flex:1 1;gap:16px}.header-info h1{color:var(--text-primary);font-size:24px;font-weight:600;margin:0}.detail-section{background:var(--bg-secondary);border-radius:12px;box-shadow:var(--shadow-sm);margin-bottom:20px;padding:24px}.detail-section h2{color:var(--text-primary);font-size:18px;font-weight:600;margin:0 0 20px}.info-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.info-item{display:flex;flex-direction:column}.info-item.full-width{grid-column:1/-1}.info-item label{color:var(--text-secondary);font-size:12px;font-weight:500;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.info-item p,.info-item span{color:var(--text-primary);font-size:14px;margin:0}.products-table table{min-width:800px}.products-table td{padding:12px 8px}.totales-section{display:flex;justify-content:flex-end}.totales-summary{max-width:400px;min-width:300px}.timeline{display:flex;flex-direction:column;gap:16px}.timeline-item{align-items:flex-start;display:flex;gap:12px}.timeline-item svg{color:var(--text-secondary);margin-top:2px}.timeline-item>div{display:flex;flex-direction:column;gap:4px}.timeline-item strong{color:var(--text-primary);font-size:14px}.timeline-item span{font-size:13px}.loading-container,.timeline-item span{color:var(--text-secondary)}.error-container{align-items:center;display:flex;justify-content:center;min-height:400px;padding:24px}.error-content{align-items:center;display:flex;flex-direction:column;gap:16px;max-width:500px;text-align:center}.error-content h2{color:var(--text-primary);font-size:20px;font-weight:600;margin:0}.error-content p{color:var(--text-secondary);font-size:15px;line-height:1.6;margin:0}.error-details{background:var(--bg-tertiary);border-radius:8px;display:flex;flex-direction:column;gap:4px;padding:12px;width:100%}.error-details small{color:var(--text-secondary);font-family:Courier New,monospace;font-size:12px}.error-actions{display:flex;gap:12px;margin-top:8px}.error-banner{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;color:#856404;margin-bottom:20px;padding:12px 16px}.error-banner-content{align-items:center;display:flex;gap:12px}.error-banner-content svg{color:#ffc107;flex-shrink:0}.error-banner-content span{flex:1 1;font-size:14px}.error-banner-content .btn-link{background:#0000;border:none;color:#856404;cursor:pointer;font-size:14px;padding:4px 8px;text-decoration:underline}.error-banner-content .btn-link:hover{color:#533f03}[data-theme=dark] .error-banner{background:#ffc1071a;border-color:#ffc1074d;color:#ffc107}[data-theme=dark] .error-banner-content .btn-link{color:#ffc107}[data-theme=dark] .error-banner-content .btn-link:hover{color:#ffd54f}.loading-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.loading-overlay .spinner{animation:spin .8s linear infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:48px;width:48px}.loading-overlay p{color:#fff;font-size:16px;font-weight:500;margin-top:16px}.spin{animation:spin 1s linear infinite}.btn-primary,.btn-secondary{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:all .2s ease}.btn-primary{background:var(--primary-color)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);box-shadow:0 4px 12px #007bff4d}.btn-secondary{background:var(--bg-tertiary)}.btn-secondary:hover:not(:disabled){background:var(--bg-secondary);transform:translateY(-1px)}.btn-secondary:disabled{cursor:not-allowed;opacity:.5}.btn-link{background:#0000;border:none;color:var(--primary-color);cursor:pointer;font-size:14px;padding:4px;text-decoration:none;transition:all .2s ease}.btn-link:hover{opacity:.8;text-decoration:underline}@media (max-width:768px){.ordenes-compra-detail{padding:16px}.detail-header{align-items:flex-start;flex-direction:column}.header-info{width:100%}.header-actions{display:flex;gap:8px;width:100%}.header-actions button{flex:1 1}.detail-section{padding:16px}.info-grid{grid-template-columns:1fr}}.history-timeline{display:flex;flex-direction:column;gap:12px;max-height:500px;overflow-y:auto;padding-right:8px}.history-item{background:var(--bg-secondary);border-left:3px solid var(--border-color);border-radius:8px;display:flex;gap:12px;padding:16px;transition:all .2s ease}.history-item:hover{border-left-color:var(--primary-color);box-shadow:0 2px 8px #0000000d}.history-icon{align-items:center;background:var(--bg-primary);border-radius:50%;display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.history-icon svg{color:var(--primary-color)}.history-content{display:flex;flex:1 1;flex-direction:column;gap:8px}.history-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.history-header strong{color:var(--text-primary);flex:1 1;font-weight:500}.history-user{align-items:center;background:var(--bg-primary);border-radius:12px;color:var(--text-secondary);display:flex;font-size:14px;gap:4px;padding:2px 8px}.history-notes{border-left:2px solid var(--border-color);margin:0}.history-details,.history-notes{background:var(--bg-primary);border-radius:4px;color:var(--text-secondary);font-size:14px;padding:8px}.history-details{display:flex;flex-direction:column;gap:4px}.history-details p{margin:0}.history-timestamp{align-items:center;color:var(--text-muted);display:flex;font-size:12px;gap:6px}.history-method{color:var(--text-muted);font-style:italic}.badge{align-items:center;border-radius:4px;display:inline-flex;white-space:nowrap}.badge-info{background:#2196f31a;color:#2196f3}.empty-state{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:12px;justify-content:center;padding:48px}.empty-state svg{color:var(--text-muted)}.ordenes-compra-recepcion{background:var(--bg-primary);min-height:100vh;padding:24px}.recepcion-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;gap:20px;justify-content:space-between;margin-bottom:24px;padding-bottom:20px}.recepcion-header .header-info{flex:1 1}.recepcion-header .header-info h1{color:var(--text-primary);font-size:24px;font-weight:600;margin:0 0 8px}.recepcion-header .header-info p{color:var(--text-secondary);font-size:14px;margin:0}.recepcion-section{background:var(--bg-secondary);border-radius:12px;box-shadow:var(--shadow-sm);margin-bottom:20px;padding:24px}.recepcion-section h2{color:var(--text-primary);font-size:18px;font-weight:600;margin:0 0 20px}.products-table{margin:-8px;overflow-x:auto;padding:8px}.products-table table{border-collapse:collapse;min-width:900px;width:100%}.products-table thead{background:var(--bg-tertiary);border-bottom:2px solid var(--border-color)}.products-table th{color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px 8px;text-align:left;text-transform:uppercase}.products-table tbody tr{border-bottom:1px solid var(--border-light)}.products-table td{color:var(--text-primary);font-size:14px;padding:8px}.notes-input,.quantity-input{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:13px;padding:6px 8px;width:100%}.notes-input:focus,.quantity-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-alpha-10);outline:none}.quantity-input{max-width:100px}.recepcion-summary{border-top:1px solid var(--border-color);display:flex;gap:24px;margin-top:20px;padding-top:20px}.summary-item{align-items:center;color:var(--text-secondary);display:flex;font-size:14px;gap:8px}.summary-item svg{color:var(--primary-color)}.form-footer{border-top:1px solid var(--border-color);display:flex;gap:12px;justify-content:flex-end;margin-top:20px;padding:20px 0}.spinner-small{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}@media (max-width:768px){.ordenes-compra-recepcion{padding:16px}.recepcion-header{align-items:flex-start;flex-direction:column}.recepcion-header .header-actions{display:flex;gap:8px;width:100%}.recepcion-header .header-actions button{flex:1 1}.recepcion-section{padding:16px}.form-grid{grid-template-columns:1fr}.recepcion-summary{flex-direction:column;gap:12px}.form-footer{flex-direction:column-reverse}.form-footer button{width:100%}}.subrecetas-form{background:var(--bg-primary);min-height:100vh;padding:24px}.btn-icon.btn-danger,.insumos-table .btn-icon.btn-danger,.insumos-table .item-actions .btn-icon.btn-danger,.subrecetas-form .btn-icon.btn-danger{background:#dc2626!important;border-color:#dc2626!important;color:#fff!important}.btn-icon.btn-danger svg,.btn-icon.btn-small.btn-danger svg,.insumos-table .btn-icon.btn-danger svg,.insumos-table .item-actions .btn-icon.btn-danger svg,.subrecetas-form .btn-icon.btn-danger svg{stroke:#fff!important;fill:none!important;color:#fff!important;opacity:1!important;visibility:visible!important}.btn-icon.btn-danger:hover,.insumos-table .btn-icon.btn-danger:hover,.insumos-table .item-actions .btn-icon.btn-danger:hover,.subrecetas-form .btn-icon.btn-danger:hover{background:#b91c1c!important;border-color:#b91c1c!important;color:#fff!important}.btn-icon.btn-danger:hover svg,.btn-icon.btn-small.btn-danger:hover svg,.insumos-table .btn-icon.btn-danger:hover svg,.insumos-table .item-actions .btn-icon.btn-danger:hover svg,.subrecetas-form .btn-icon.btn-danger:hover svg{stroke:#fff!important;fill:none!important;color:#fff!important;opacity:1!important;visibility:visible!important}@media (max-width:768px){.subrecetas-form{padding:16px}.form-header{align-items:flex-start;flex-direction:column;gap:16px}.header-actions{width:100%}.header-actions button{flex:1 1}.form-section{padding:16px}.section-header{align-items:flex-start;flex-direction:column;gap:12px}.form-grid{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}.keyboard-hints{display:none}.focus-indicator{font-size:11px;padding:4px 8px}}.recetas-form{background:var(--bg-primary);min-height:100vh;padding:24px}.form-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:20px}.form-header h1{color:var(--text-primary);font-size:24px;font-weight:600;margin:0}.form-header p{color:var(--text-secondary);font-size:14px;margin-top:4px}.header-actions{display:flex;gap:12px}.form-section{background:var(--bg-secondary);border-radius:16px;box-shadow:0 2px 8px #0000000f;margin-bottom:24px;padding:28px}.form-section h2{color:var(--text-primary);font-size:18px;font-weight:600;margin:0 0 20px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.section-header h2{align-items:center;display:flex;gap:8px;margin:0}.item-count{color:var(--text-secondary);font-size:14px;font-weight:400}.form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.form-group{display:flex;flex-direction:column}.form-group-large{grid-column:span 2}.form-group-full{grid-column:1/-1}.form-group label{color:var(--text-primary);font-size:14px;font-weight:500;margin-bottom:8px}.form-group .required{color:var(--error-color)}.form-group input,.form-group select,.form-group textarea{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;padding:10px 12px;transition:all .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-alpha-10);outline:none}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:var(--error-color)}.input-with-icon{align-items:center;display:flex;position:relative}.input-with-icon svg{color:var(--text-secondary);left:12px;pointer-events:none;position:absolute}.input-with-icon input{padding-left:40px;width:100%}.insumos-table{background:var(--bg-primary);border-radius:12px;box-shadow:inset 0 1px 3px #0000000f;margin:-8px;overflow-x:auto;padding:8px}.insumos-table table{border-collapse:collapse;min-width:900px;width:100%}.insumos-table thead{background:var(--bg-tertiary);border-bottom:2px solid var(--border-color)}.insumos-table th{color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.insumos-table th:first-child{max-width:40px;min-width:40px;width:40px}.insumos-table th:nth-child(2){min-width:250px;width:40%}.insumos-table th:nth-child(3),.insumos-table th:nth-child(4){min-width:120px;width:20%}.insumos-table th:nth-child(5){min-width:120px;width:15%}.insumos-table th:nth-child(6){min-width:80px;width:5%}.insumos-table td:first-child{max-width:40px;min-width:40px;width:40px}.insumos-table td:nth-child(2){min-width:250px;width:40%}.insumos-table td:nth-child(3),.insumos-table td:nth-child(4){min-width:120px;width:20%}.insumos-table td:nth-child(5){min-width:120px;width:15%}.insumos-table td:nth-child(6){min-width:80px;width:5%}.insumos-table tbody tr{border-bottom:1px solid var(--border-light);transition:all .2s ease}.insumos-table tbody tr:hover{background:var(--bg-secondary)}.insumos-table tbody tr.row-error{background:var(--error-bg)}.insumos-table td{padding:12px 16px;vertical-align:middle}.insumos-table input,.insumos-table select{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:13px;margin:2px 0;padding:8px 12px;transition:all .2s ease;width:100%}.insumos-table input:focus,.insumos-table select:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-alpha-10);outline:none}.insumos-table input.error{border-color:var(--error-color)}.row-number{background:#0000;border-right:1px solid var(--border-color);color:var(--text-secondary);font-size:12px;font-weight:500;max-width:40px!important;min-width:40px!important;opacity:.7;padding:8px 4px!important;text-align:center;width:40px!important}.item-actions{gap:8px}.btn-icon,.item-actions{align-items:center;display:flex;justify-content:center}.btn-icon{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;height:36px;min-width:36px;padding:0;transition:all .2s ease;width:36px}.btn-icon svg{color:inherit;height:18px;width:18px}.btn-icon.btn-small{height:36px;width:36px}.btn-icon.btn-small svg{height:20px;width:20px}.btn-icon:hover{background:var(--bg-tertiary);border-color:var(--primary-color);color:var(--primary-color)}.btn-icon:disabled{cursor:not-allowed;opacity:.5}.btn-icon.btn-danger,.insumos-table .btn-icon.btn-danger,.insumos-table .item-actions .btn-icon.btn-danger,.recetas-form .btn-icon.btn-danger{background:#dc2626!important;border-color:#dc2626!important;color:#fff!important}.btn-icon.btn-danger svg,.btn-icon.btn-small.btn-danger svg,.insumos-table .btn-icon.btn-danger svg,.insumos-table .item-actions .btn-icon.btn-danger svg,.recetas-form .btn-icon.btn-danger svg{stroke:#fff!important;fill:none!important;color:#fff!important;opacity:1!important;visibility:visible!important}.btn-icon.btn-danger:hover,.insumos-table .btn-icon.btn-danger:hover,.insumos-table .item-actions .btn-icon.btn-danger:hover,.recetas-form .btn-icon.btn-danger:hover{background:#b91c1c!important;border-color:#b91c1c!important;color:#fff!important}.btn-icon.btn-danger:hover svg,.btn-icon.btn-small.btn-danger:hover svg,.insumos-table .btn-icon.btn-danger:hover svg,.insumos-table .item-actions .btn-icon.btn-danger:hover svg,.recetas-form .btn-icon.btn-danger:hover svg{stroke:#fff!important;fill:none!important;color:#fff!important;opacity:1!important;visibility:visible!important}.insumos-table td.cell-focused{position:relative}.insumos-table td.cell-focused:before{animation:cellPulse 1.5s ease-in-out infinite;border:2px solid var(--brand-primary);border-radius:8px;bottom:-2px;content:"";left:-2px;pointer-events:none;position:absolute;right:-2px;top:-2px;z-index:1}@keyframes cellPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}.insumos-table tbody tr.row-focused{background:var(--primary-alpha-10);border-left:3px solid var(--primary-color);box-shadow:0 0 0 1px var(--primary-alpha-20)}.insumos-table tbody tr.row-focused td:first-child:before{background:var(--primary-color);border-radius:0 2px 2px 0;bottom:0;content:"";left:-3px;position:absolute;top:0;width:3px}.insumos-table tbody tr.row-empty{background:var(--bg-secondary);opacity:.8}.insumos-table tbody tr.row-filled{background:var(--bg-primary)}.insumos-table tbody tr.row-focused.row-empty{animation:focusPulse 2s ease-in-out infinite;background:linear-gradient(135deg,var(--primary-alpha-5),var(--primary-alpha-10))}@keyframes focusPulse{0%,to{background:linear-gradient(135deg,var(--primary-alpha-5),var(--primary-alpha-10))}50%{background:linear-gradient(135deg,var(--primary-alpha-10),var(--primary-alpha-20))}}.no-items{align-items:center;background:var(--bg-secondary);border:2px dashed var(--border-color);border-radius:12px;color:var(--text-secondary);display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.no-items svg{height:48px;margin-bottom:16px;opacity:.5;width:48px}.no-items p{font-size:16px;font-weight:500;margin:0 0 12px}.no-items button{background:#0000;border:none;border-radius:4px;color:var(--brand-primary);cursor:pointer;font-size:14px;padding:4px 8px;text-decoration:underline;transition:all .2s ease}.no-items button:hover{background:var(--primary-alpha-10);text-decoration:none}.add-item-section{align-items:center;background:var(--bg-tertiary);border-radius:0 0 12px 12px;border-top:1px solid var(--border-color);display:flex;gap:16px;justify-content:flex-start;padding:16px}.add-item-hint{color:var(--text-tertiary);font-size:13px;font-style:italic}.focus-indicator{align-items:center;animation:focusAppear .2s ease-out;background:var(--brand-primary);border-radius:20px;color:#fff;display:flex;font-size:12px;font-weight:500;gap:8px;padding:6px 12px;white-space:nowrap}.focus-dot{animation:focusPulseDot 1.5s ease-in-out infinite;background:#ffffffe6;border-radius:50%;height:8px;width:8px}.focus-text{letter-spacing:.5px;text-transform:uppercase}@keyframes focusAppear{0%{opacity:0;transform:translateY(-10px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes focusPulseDot{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.keyboard-hints{background:var(--bg-tertiary);border-radius:4px;color:var(--text-tertiary);display:flex;font-size:12px;gap:8px;opacity:.8;padding:4px 8px}.keyboard-hints span:first-child{font-weight:500}.cost-summary-section{background:var(--bg-secondary);border:2px solid #2563eb1a;border-radius:16px!important;box-shadow:0 4px 8px #0000000d;overflow:hidden;padding:28px!important;position:relative}.cost-summary-section:before{background:linear-gradient(90deg,#2563eb,#3b82f6,#2563eb);border-radius:16px 16px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.form-actions{border-top:1px solid var(--border-color);display:flex;gap:12px;justify-content:flex-end;margin-top:20px;padding:20px 0}.error-message{align-items:center;background:var(--error-bg);border:1px solid var(--error-border);border-radius:8px;color:var(--error-color);display:flex;font-size:14px;gap:8px;margin-bottom:20px;padding:12px 16px}.error-message svg{flex-shrink:0;height:20px;width:20px}.btn-primary{align-items:center;background:var(--brand-primary);border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:all .2s ease}.btn-primary:hover:not(:disabled){background:var(--brand-primary-dark);box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.btn-secondary{align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:all .2s ease}.btn-secondary:hover{background:var(--bg-tertiary);border-color:var(--border-dark)}.btn-add{align-items:center;background:var(--brand-secondary);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:8px 16px;transition:all .2s ease}.btn-add:hover{background:var(--brand-secondary-dark);box-shadow:0 4px 12px #10b9814d;transform:translateY(-1px)}.btn-add svg{height:18px;width:18px}@media (max-width:1024px){.form-group-large{grid-column:span 1}.insumos-table{margin:-4px;padding:4px}}@media (max-width:768px){.recetas-form{padding:16px}.form-header{align-items:flex-start;flex-direction:column;gap:16px}.header-actions{width:100%}.header-actions button{flex:1 1}.form-section{padding:16px}.section-header{align-items:flex-start;flex-direction:column;gap:12px}.form-grid{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}.keyboard-hints{display:none}.focus-indicator{font-size:11px;padding:4px 8px}}:root.dark-theme .insumos-table{background:var(--bg-secondary)}:root.dark-theme .insumos-table thead{background:var(--bg-primary)}:root.dark-theme .insumos-table tbody tr:hover{background:#ffffff0d}:root.dark-theme .btn-icon{background:var(--bg-secondary);border-color:var(--border-secondary)}:root.dark-theme .btn-icon:hover{background:var(--bg-primary)}:root.dark-theme .btn-icon.btn-danger{background:#dc2626!important;border-color:#dc2626!important;color:#fff!important}:root.dark-theme .btn-icon.btn-danger svg{stroke:#fff!important;fill:none!important;color:#fff!important}:root.dark-theme .btn-icon.btn-danger:hover{background:#b91c1c!important;border-color:#b91c1c!important}:root.dark-theme .btn-icon.btn-danger:hover svg{stroke:#fff!important;fill:none!important;color:#fff!important}.loading-container{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:400px}.spinner{animation:spin .8s linear infinite;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--brand-primary);height:40px;width:40px}.orden-confirmation-container{align-items:center;background:#f8fafc;background:var(--bg-secondary);display:flex;justify-content:center;min-height:100vh;padding:40px 20px}.loading-wrapper{background:#fff;background:var(--bg-primary);border-radius:12px;box-shadow:0 4px 6px #0000000d;padding:60px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #e5e7eb;border-top-color:#3b82f6;border:3px solid var(--border-primary);border-radius:50%;border-top-color:var(--brand-primary);height:40px;margin:0 auto 20px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.confirmation-card{background:#fff;background:var(--bg-primary);box-shadow:0 1px 3px #0000000d;margin:0 auto;max-width:1200px;padding:0;width:100%}.confirmation-card.already-confirmed-card,.confirmation-card.error-card,.confirmation-card.success-card{box-shadow:0 1px 3px #0000000d;max-width:600px;padding:60px;text-align:center}.header-section{background:#0000;padding:60px 60px 40px;position:relative;text-align:center}.header-content{padding-top:0;text-align:center}.header-section h1{font-size:32px;font-weight:300;letter-spacing:-.5px;margin-bottom:8px}.header-section h1,.header-section h2{color:#1f2937;color:var(--text-primary);text-align:center}.header-section h2{font-size:24px;font-weight:400;margin-bottom:16px}.subtitle{color:#6b7280;color:var(--text-secondary);font-size:16px;font-weight:400;text-align:center}.subtitle strong{color:#1f2937;color:var(--text-primary);font-weight:500}.top-row{grid-gap:60px;display:grid;gap:60px;grid-template-columns:1fr 1fr;padding:0 60px 40px}.form-column,.info-column{background:#0000;padding:0}.bottom-row{background:#0000;padding:40px 60px 60px}.info-card{background:#0000;margin-bottom:0;padding:0}.form-column .info-card{background:#0000;border:none;border-radius:0;padding:0}.bottom-row .info-card.full-width{background:#0000;margin:0;padding:0}.additional-details{grid-gap:20px;border-top:1px solid #e5e7eb;border-top:1px solid var(--border-primary);display:grid;gap:20px;grid-template-columns:repeat(2,1fr);margin-top:40px;padding-top:40px}.info-card h3{border-bottom:none;color:#6b7280;color:var(--text-secondary);font-size:14px;font-weight:600;letter-spacing:1px;margin-bottom:24px;padding-bottom:0;text-transform:uppercase}.details-list{display:flex;flex-direction:column;gap:16px}.detail-row{align-items:center;border-bottom:none;display:flex;justify-content:space-between;padding:0}.detail-label{color:#6b7280;color:var(--text-secondary);font-size:14px;font-weight:400}.detail-value{color:#1f2937;color:var(--text-primary);font-size:14px;font-weight:500;text-align:right}.badge{border-radius:2px;display:inline-block;font-size:12px;font-weight:500;letter-spacing:.5px;padding:2px 8px;text-transform:uppercase}.badge-warning{background-color:initial;border:1px solid #f59e0b;color:#f59e0b}.badge-info{background-color:initial;border:1px solid #3b82f6;border:1px solid var(--brand-primary);color:#3b82f6;color:var(--brand-primary)}.badge-success{background-color:initial;border:1px solid #10b981;color:#10b981}.badge-danger{background-color:initial;border:1px solid #ef4444;color:#ef4444}.table-container{margin-top:40px;overflow-x:auto}.items-table-simple{border-collapse:collapse;width:100%}.items-table-simple thead{background:#0000}.items-table-simple th{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-primary);color:#6b7280;color:var(--text-secondary);font-size:12px;font-weight:400;letter-spacing:1px;padding:12px 16px;text-align:left;text-transform:uppercase}.items-table-simple th:first-child{padding-left:16px}.items-table-simple th:last-child{padding-right:16px}.items-table-simple td.text-right,.items-table-simple th.text-right{text-align:right}.items-table-simple tbody tr{transition:none}.items-table-simple tbody tr:hover{background:#0000}.items-table-simple td{border-bottom:1px solid #0000000d;color:#1f2937;color:var(--text-primary);padding:20px 16px;vertical-align:top}.items-table-simple td:first-child{padding-left:16px}.items-table-simple td:last-child{padding-right:16px}.product-name{color:#1f2937;color:var(--text-primary);font-size:14px;font-weight:500;margin-bottom:4px}.product-details{color:#6b7280;color:var(--text-secondary);font-size:12px}.text-center{text-align:center}.text-right{text-align:right}.items-table-simple tfoot{background:#0000}.items-table-simple tfoot td{text-align:right}.discount-row td,.subtotal-row td,.tax-row td{border-bottom:none;border-top:none;font-size:14px;padding:12px 16px;text-align:right}.discount-row td:last-child,.subtotal-row td:last-child,.tax-row td:last-child{padding-right:16px}.subtotal-row td:first-child{padding-top:30px}.total-row td{border-bottom:none;border-top:1px solid #e5e7eb;border-top:1px solid var(--border-primary);padding:20px 0}.total-cell{padding:16px!important;text-align:right!important}.form-group{margin-bottom:28px}.form-label{color:#6b7280;color:var(--text-secondary);display:block;font-size:14px;font-weight:400;margin-bottom:8px}.form-control,.form-label .required{color:#1f2937;color:var(--text-primary)}.form-control{background:#0000;border:none;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-primary);border-radius:0;font-size:15px;padding:12px 0;transition:border-color .2s ease;width:100%}.form-control:focus{border-bottom-color:#3b82f6;border-bottom-color:var(--brand-primary);box-shadow:none;outline:none}.form-control.error{border-bottom-color:#ef4444;border-bottom-color:var(--danger)}.form-control::placeholder{color:#6b7280;color:var(--text-secondary);opacity:.5}textarea.form-control{font-family:inherit;min-height:80px;padding:12px 0;resize:vertical}.error-text{color:#ef4444;color:var(--danger);display:block;font-size:12px;margin-top:4px}.alert{border-left:3px solid #0000;border-radius:0;font-size:14px;margin-bottom:24px;padding:16px 0 16px 16px}.alert.error{background-color:initial;border-left-color:#ef4444;border-left-color:var(--danger);color:#ef4444;color:var(--danger)}.alert.info{background-color:initial;border-left-color:#3b82f6;border-left-color:var(--brand-primary);color:#1f2937;color:var(--text-primary)}.alert-title{font-weight:500;margin-bottom:4px}.alert-description{font-size:13px;opacity:.8}.btn{border:none;border-radius:0;cursor:pointer;display:inline-block;font-size:14px;font-weight:500;letter-spacing:1px;margin-top:20px;padding:16px 48px;text-align:center;text-transform:uppercase;transition:all .2s ease}.btn-primary{background:#1f2937;background:var(--text-primary);color:#fff;color:var(--bg-primary)}.btn-primary:hover:not(:disabled){background:#3b82f6;background:var(--brand-primary);box-shadow:none;transform:none}.btn-primary:disabled{cursor:not-allowed;opacity:.5}.btn-block{display:block;width:100%}.error-content,.success-content{padding:20px}.success-message{color:#1f2937;color:var(--text-primary);font-size:16px;margin:20px 0}.success-message strong{color:#3b82f6;color:var(--brand-primary)}.order-details-section{margin-top:30px}.order-details-section h3{color:#1f2937;color:var(--text-primary);font-size:18px;font-weight:600;margin-bottom:20px}.details-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.detail-item{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-primary);display:flex;justify-content:space-between;padding:10px 0}.detail-item.span-2{grid-column:span 2}.font-bold{font-weight:600}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mb-4{margin-bottom:16px}:root.dark-theme .confirmation-card{box-shadow:0 1px 3px #0003}:root.dark-theme .items-table-simple td{border-bottom:1px solid #ffffff0d}:root.dark-theme .btn-primary{background:#1f2937;background:var(--text-primary);color:#fff;color:var(--bg-primary)}:root.dark-theme .btn-primary:hover:not(:disabled){background:#3b82f6;background:var(--brand-primary)}@media (max-width:1024px){.top-row{gap:40px;grid-template-columns:1fr}.info-column{padding-bottom:40px}.additional-details{grid-template-columns:1fr}}@media (max-width:768px){.orden-confirmation-container{padding:0}.confirmation-card{box-shadow:none}.header-section{padding:60px 20px 30px}.header-section h1{font-size:24px}.header-content{padding-top:0}.bottom-row,.top-row{padding:0 20px 30px}.details-grid{grid-template-columns:1fr}.detail-item.span-2{grid-column:span 1}.items-table-simple{font-size:12px}.items-table-simple td,.items-table-simple th{padding:12px 8px}.items-table-simple td:first-child,.items-table-simple th:first-child{padding-left:16px}.items-table-simple td:last-child,.items-table-simple th:last-child{padding-right:16px}.product-details{font-size:11px}.btn{font-size:13px;padding:14px 32px}}:root{--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-tertiary:#f1f5f9;--text-primary:#1f2937;--text-secondary:#6b7280;--brand-primary:#3b82f6;--brand-primary-hover:#2563eb;--brand-secondary:#10b981;--border-primary:#e5e7eb;--border-secondary:#d1d5db;--danger:#ef4444;--success:#10b981}:root.dark-theme{--bg-primary:#0f0f0f;--bg-secondary:#1a1a1a;--bg-tertiary:#252525;--text-primary:#fff;--text-secondary:#9ca3af;--brand-primary:#3b82f6;--brand-primary-hover:#60a5fa;--brand-secondary:#10b981;--border-primary:#374151;--border-secondary:#4b5563;--danger:#ef4444;--success:#10b981}.total-row{border-top:2px solid #e5e7eb;border-top:2px solid var(--border-primary)}.total-row td{font-weight:700!important;padding:20px 16px!important}.total-row .total-cell,.total-row td{text-align:right!important}.items-table-simple td,.items-table-simple th{padding:12px 16px!important}.total-row{display:none!important}.total-final-row td{border-top:2px solid #e5e7eb;border-top:2px solid var(--border-primary);font-size:16px!important;font-weight:700!important;padding:16px!important}
/*# sourceMappingURL=main.36920059.css.map*/