.wrapper{--sidebar-expanded-width:260px;--sidebar-collapsed-width:80px;--sidebar-transition:.3s ease}.sidebar-wrapper{width:var(--sidebar-expanded-width);transition:width var(--sidebar-transition)}.wrapper.toggled .sidebar-wrapper{width:var(--sidebar-collapsed-width)}.page-wrapper,.page-content-wrapper{transition:margin-left var(--sidebar-transition);margin-left:var(--sidebar-expanded-width)!important}.wrapper.toggled .page-wrapper,.wrapper.toggled .page-content-wrapper{margin-left:var(--sidebar-collapsed-width)!important}.page-content{padding-top:1.25rem!important}@media (max-width:1280px){.wrapper{--sidebar-expanded-width:220px;--sidebar-collapsed-width:60px}}@media (max-width:992px){.wrapper{--sidebar-expanded-width:220px;--sidebar-collapsed-width:54px}.sidebar-wrapper{box-shadow:0 .3rem .6rem rgba(15,23,42,.18)}.page-content{padding-top:1rem!important}}.machine-card{background:linear-gradient(135deg,#fff 0%,#f8f9fa 100%)!important;border-left:6px solid transparent!important;min-height:280px!important;transition:all .3s!important}.machine-card.status-produciendo{background:linear-gradient(135deg,#f8fff9 0%,#e8f5e8 100%)!important;border-left-color:#28a745!important}.machine-card.status-activa{background:linear-gradient(135deg,#f0f8ff 0%,#e1f0ff 100%)!important;border-left-color:#007bff!important}.machine-card.status-parada{animation:2s infinite pulse-red;background:linear-gradient(135deg,#fff8f8 0%,#ffeaea 100%)!important;border-left-color:#dc3545!important}.machine-card.status-mantenimiento{background:linear-gradient(135deg,#fffef7 0%,#fff8e1 100%)!important;border-left-color:#ffc107!important}.machine-card.status-inactiva{background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%)!important;border-left-color:#6c757d!important}@keyframes pulse-red{0%,to{box-shadow:0 0 10px rgba(220,53,69,.3)}50%{box-shadow:0 0 25px rgba(220,53,69,.6)}}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%)translateY(-4px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.machine-header{background:rgba(255,255,255,.9)!important;border-radius:12px!important;margin-bottom:1rem!important;padding:1rem!important;box-shadow:0 2px 8px rgba(0,0,0,.1)!important}.machine-title{color:#1a1a1a!important;text-transform:uppercase!important;letter-spacing:.5px!important;margin-bottom:.25rem!important;font-size:1.25rem!important;font-weight:700!important}.machine-code{color:#495057!important;background:rgba(13,110,253,.1)!important;border-radius:20px!important;padding:.25rem .75rem!important;font-size:1rem!important;font-weight:600!important;display:inline-block!important}.status-badge{text-transform:uppercase!important;letter-spacing:.5px!important;border:2px solid rgba(255,255,255,.8)!important;border-radius:25px!important;padding:.5rem 1rem!important;font-size:.9rem!important;font-weight:700!important;box-shadow:0 3px 10px rgba(0,0,0,.2)!important}.status-badge.bg-success{animation:3s ease-in-out infinite alternate glow-green;background:linear-gradient(135deg,#28a745 0%,#20c997 100%)!important}.machine-header-refined{background:linear-gradient(135deg,rgba(255,255,255,.95) 0%,rgba(248,249,250,.9) 100%)!important;border:1px solid rgba(255,255,255,.8)!important;border-radius:16px!important;margin-bottom:1.5rem!important;padding:1.25rem!important;box-shadow:0 4px 12px rgba(0,0,0,.08)!important}.machine-identity{align-items:center!important;gap:1rem!important;margin-bottom:1rem!important;display:flex!important}.machine-icon-wrapper{background:linear-gradient(135deg,#007bff 0%,#0056b3 100%)!important;border-radius:50%!important;justify-content:center!important;align-items:center!important;width:50px!important;height:50px!important;display:flex!important;box-shadow:0 3px 10px rgba(0,123,255,.3)!important}.machine-type-icon{color:#fff!important;font-size:1.4rem!important}.machine-info{flex:1!important}.machine-name-row{align-items:center!important;gap:1rem!important;margin-bottom:.5rem!important;display:flex!important}.machine-name{color:#1a1a1a!important;text-transform:uppercase!important;letter-spacing:.5px!important;margin:0!important;font-size:1.4rem!important;font-weight:700!important;line-height:1.2!important}.machine-code-badge{color:#fff!important;letter-spacing:.5px!important;background:linear-gradient(135deg,#6c757d 0%,#495057 100%)!important;border-radius:20px!important;padding:.4rem 1rem!important;font-size:.85rem!important;font-weight:600!important;display:inline-block!important}.factory-machine-card{background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(245,248,252,.95))!important;border:none!important;border-radius:20px!important;position:relative!important;overflow:hidden!important;box-shadow:0 18px 35px -20px rgba(0,0,0,.45)!important}.factory-machine-card:before{content:"";opacity:.9;pointer-events:none;background:radial-gradient(circle at 100% 0,rgba(13,110,253,.16),transparent 55%);transition:opacity .3s;position:absolute;top:0;bottom:0;left:0;right:0}.factory-machine-card:hover:before{opacity:1}.factory-machine-card:hover{transform:translateY(-6px);box-shadow:0 22px 40px -18px rgba(0,0,0,.55)!important}.machine-meta-line{flex-wrap:wrap!important;align-items:center!important;gap:.5rem!important;display:flex!important}.of-badge{color:#198754!important;text-transform:uppercase!important;letter-spacing:.45px!important;background:rgba(32,201,151,.14)!important;border-radius:20px!important;padding:.35rem .9rem!important;font-size:.8rem!important;font-weight:600!important}.machine-meta-details{border-top:1px solid rgba(0,0,0,.08)!important;flex-direction:column!important;gap:.4rem!important;margin-top:.8rem!important;padding:.6rem 0!important;display:flex!important}.meta-detail-item{color:#495057!important;align-items:center!important;gap:.5rem!important;padding:.25rem 0!important;font-size:.75rem!important;font-weight:600!important;display:flex!important}.meta-detail-item i{color:#6c757d!important;text-align:center!important;width:16px!important;font-size:.85rem!important}.meta-detail-item span{text-transform:uppercase!important;letter-spacing:.3px!important}.status-indicator{flex-wrap:wrap!important;justify-content:center!important;align-items:center!important;gap:1rem!important;display:flex!important}.of-progress-circle{flex-shrink:0!important;width:50px!important;height:50px!important;position:relative!important}.circular-progress{width:100%!important;height:100%!important;transform:rotate(-90deg)!important}.circle-bg{fill:none!important;stroke:rgba(13,110,253,.15)!important;stroke-width:6px!important}.circle-progress{fill:none!important;stroke:#0d6efd!important;stroke-width:6px!important;stroke-linecap:round!important;transition:stroke-dasharray .6s!important}.circle-text{text-align:center!important;position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important}.circle-percentage{color:#0d6efd!important;font-size:.75rem!important;font-weight:700!important;line-height:1!important;display:block!important}.status-extra{flex-wrap:wrap!important;justify-content:center!important;gap:.5rem!important;font-size:.75rem!important;font-weight:600!important;display:flex!important}.status-chip{transition:transform .2s;color:#343a40!important;text-transform:uppercase!important;letter-spacing:.35px!important;background:rgba(33,37,41,.08)!important;border-radius:999px!important;align-items:center!important;gap:.4rem!important;padding:.35rem .8rem!important;font-size:.75rem!important;display:inline-flex!important}.status-chip .status-dot{opacity:.85;box-shadow:inset 0 0 0 4px;background:currentColor!important;border-radius:50%!important;width:8px!important;height:8px!important;display:inline-block!important}.status-chip.is-produciendo{color:#198754!important;background:rgba(25,135,84,.14)!important}.status-chip.is-activa{color:#0d6efd!important;background:rgba(13,110,253,.18)!important}.status-chip.is-parada{animation:2.5s infinite pulse-red;color:#c82333!important;background:rgba(220,53,69,.18)!important}.status-chip.is-mantenimiento{color:#d39e00!important;background:rgba(255,193,7,.22)!important}.status-chip.is-inactiva{color:#495057!important;background:rgba(108,117,125,.18)!important}.machine-meta-chips{flex-wrap:wrap!important;gap:.5rem!important;margin-bottom:1.1rem!important;display:flex!important}.machine-meta-chips .chip{color:#1f2937!important;background:rgba(255,255,255,.78)!important;border-radius:14px!important;align-items:center!important;gap:.4rem!important;min-width:150px!important;padding:.45rem .85rem!important;font-size:.78rem!important;font-weight:600!important;display:inline-flex!important;box-shadow:inset 0 0 0 1px rgba(15,23,42,.08)!important}.machine-meta-chips .chip-icon{color:#0d6efd!important;background:rgba(13,110,253,.1)!important;border-radius:50%!important;justify-content:center!important;align-items:center!important;width:22px!important;height:22px!important;font-size:.7rem!important;display:inline-flex!important}.machine-meta-chips .chip-text{gap:.15rem!important;line-height:1.2!important;display:grid!important}.machine-meta-chips .chip-label{text-transform:uppercase!important;letter-spacing:.45px!important;color:#6c757d!important;font-size:.65rem!important;font-weight:700!important}.machine-meta-chips .chip-value{color:#1f2937!important;font-size:.95rem!important;font-weight:700!important}.machine-meta-chips .chip-subtext{color:#94a3b8!important;font-size:.7rem!important}.machine-meta-chips .chip-critical{color:#c82333!important;background:rgba(220,53,69,.1)!important}.machine-meta-chips .chip-critical .chip-icon{color:#c82333!important;background:rgba(220,53,69,.18)!important}.machine-meta-chips .chip-success{color:#1f9254!important;background:rgba(25,135,84,.12)!important}.machine-meta-chips .chip-success .chip-icon{color:#198754!important;background:rgba(25,135,84,.18)!important}.machine-meta-chips .chip-warning{color:#b58102!important;background:rgba(255,193,7,.12)!important}.machine-meta-chips .chip-warning .chip-icon{color:#d39e00!important;background:rgba(255,193,7,.18)!important}.machine-body-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))!important;gap:1rem!important;margin-bottom:1.5rem!important;display:grid!important}.machine-kpi-card{background:rgba(255,255,255,.92)!important;border-radius:18px!important;gap:.35rem!important;min-height:130px!important;padding:1rem!important;display:grid!important;position:relative!important;overflow:hidden!important;box-shadow:inset 0 0 0 1px rgba(13,110,253,.08)!important}.machine-kpi-card:after{content:"";pointer-events:none;opacity:0;background:linear-gradient(145deg,rgba(255,255,255,.8),transparent 70%);transition:opacity .3s;position:absolute;top:0;bottom:0;left:0;right:0}.machine-kpi-card:hover:after{opacity:1}.machine-kpi-card:nth-child(2){background:linear-gradient(135deg,rgba(13,110,253,.12),rgba(13,110,253,.05))!important}.kpi-label{letter-spacing:.6px!important;text-transform:uppercase!important;color:#6c757d!important;font-size:.8rem!important;font-weight:700!important}.kpi-value{letter-spacing:-.5px!important;font-size:2.2rem!important;font-weight:800!important}.kpi-value.kpi-accent{color:#0d6efd!important}.kpi-value.kpi-good{color:#28a745!important}.kpi-value.kpi-warn{color:#ffc107!important}.kpi-value.kpi-bad{color:#dc3545!important}.kpi-value.kpi-neutral{color:#6c757d!important}.kpi-subtext{color:#6c757d!important;font-size:.78rem!important;line-height:1.3!important}.machine-progress-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))!important;gap:1rem!important;margin-bottom:1.5rem!important;display:grid!important}.progress-tile{background:rgba(33,37,41,.03)!important;border-radius:16px!important;padding:.9rem 1rem!important}.progress-heading{justify-content:space-between!important;margin-bottom:.6rem!important;font-size:.85rem!important;font-weight:600!important;display:flex!important}.progress-pill{background:rgba(33,37,41,.12)!important;border-radius:999px!important;height:12px!important;position:relative!important;overflow:hidden!important}.progress-fill{border-radius:999px!important;transition:width .6s!important}.progress-fill.progress-plan{background:linear-gradient(90deg,#0d6efd,#53a6ff)!important}.progress-fill.progress-remaining{background:linear-gradient(90deg,#20c997,#0aa16b)!important}.machine-footer-meta{border-top:1px solid rgba(108,117,125,.15)!important;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;gap:.8rem!important;margin-top:1rem!important;padding-top:1rem!important;display:grid!important}.machine-footer-info{border-top:1px dashed rgba(108,117,125,.2)!important;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))!important;gap:.75rem!important;margin-top:1rem!important;padding-top:1rem!important;display:grid!important}.info-item{background:linear-gradient(135deg,#f8f9fa 0%,#fff 100%)!important;border-left:3px solid #007bff!important;border-radius:6px!important;align-items:center!important;gap:.75rem!important;padding:.7rem!important;display:flex!important}.info-item.paros{background:linear-gradient(135deg,#fffbf0 0%,#fff 100%)!important;border-left-color:#ffc107!important}.info-item i{color:#007bff!important;text-align:center!important;width:24px!important;font-size:1.2rem!important}.info-item.paros i{color:#ffc107!important}.info-content{flex-direction:column!important;gap:.15rem!important;display:flex!important}.info-label{text-transform:uppercase!important;letter-spacing:.5px!important;color:#6c757d!important;font-size:.7rem!important;font-weight:700!important}.meta-item{flex-direction:column!important;gap:.3rem!important;min-width:0!important;display:flex!important}.meta-label{text-transform:uppercase!important;letter-spacing:.4px!important;color:#6c757d!important;white-space:nowrap!important;font-size:.7rem!important;font-weight:700!important}.meta-value{color:#212529!important;word-break:break-word!important;overflow-wrap:break-word!important;font-size:.9rem!important;font-weight:600!important;line-height:1.3!important}.machine-detail-tabbar{scrollbar-width:thin;scrollbar-color:rgba(13,110,253,.35) transparent;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(120deg,rgba(13,110,253,.08),rgba(32,201,151,.05));border-bottom:1px solid rgba(148,163,184,.35);gap:.5rem;padding:12px 24px;display:flex;overflow-x:auto}.machine-detail-tabbar::-webkit-scrollbar{height:6px}.machine-detail-tabbar::-webkit-scrollbar-thumb{background:rgba(13,110,253,.35);border-radius:6px}.machine-detail-tab{color:#334155;text-transform:uppercase;letter-spacing:.45px;cursor:pointer;background:rgba(15,23,42,.05);border:none;border-radius:999px;align-items:center;gap:.5rem;padding:.55rem 1rem;font-size:.78rem;font-weight:600;transition:all .25s;display:inline-flex;position:relative;box-shadow:inset 0 0 0 1px rgba(15,23,42,.09)}.machine-detail-tab .tab-icon{color:#0d6efd;background:rgba(13,110,253,.12);border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.75rem;display:inline-flex}.machine-detail-tab .tab-label{white-space:nowrap}.machine-detail-tab .tab-badge{min-width:18px;height:18px;color:inherit;background:rgba(15,23,42,.08);border-radius:999px;justify-content:center;align-items:center;padding:0 .4rem;font-size:.65rem;font-weight:700;display:inline-flex}.machine-detail-tab.is-active{color:#fff;background:linear-gradient(135deg,var(--tab-accent,#0d6efd),rgba(32,201,151,.92));transform:translateY(-1px);box-shadow:0 10px 18px -12px rgba(13,110,253,.8)}.machine-detail-tab.is-active .tab-icon{color:#fff;background:rgba(255,255,255,.25)}.machine-detail-tab.is-active .tab-badge{color:#fff;background:rgba(255,255,255,.22)}.machine-detail-chip-grid{flex-wrap:wrap;gap:.65rem;margin-top:1rem;display:flex}.machine-detail-chip{background:rgba(15,23,42,.04);border:1px solid rgba(148,163,184,.25);border-radius:14px;flex:160px;gap:.2rem;min-width:140px;padding:.75rem .9rem;display:grid}.machine-detail-chip .chip-label{text-transform:uppercase;letter-spacing:.45px;color:#6b7280;font-size:.7rem;font-weight:700}.machine-detail-chip .chip-value{color:#1f2937;font-size:1rem;font-weight:700}.machine-detail-chip .chip-subtext{color:#94a3b8;font-size:.72rem}.machine-detail-chip.is-critical{color:#b91c1c;background:rgba(220,53,69,.08);border-color:rgba(220,53,69,.22)}.machine-detail-chip.is-success{color:#0f5132;background:rgba(25,135,84,.08);border-color:rgba(25,135,84,.22)}@media (max-width:768px){.machine-detail-tab{padding:.45rem .75rem;font-size:.7rem}.machine-detail-tab .tab-label{display:none}.machine-detail-chip{flex:calc(50% - .65rem)}}.status-icon{font-size:1rem!important}.status-text{font-size:.85rem!important;font-weight:700!important}.production-metrics{margin-bottom:1.5rem!important}.metrics-header{background:linear-gradient(135deg,rgba(13,110,253,.08) 0%,rgba(13,110,253,.04) 100%)!important;border-left:4px solid #007bff!important;border-radius:12px!important;align-items:center!important;gap:.75rem!important;margin-bottom:1rem!important;padding:.75rem!important;display:flex!important}.metric-icon{color:#007bff!important;font-size:1.1rem!important}.metric-title{color:#495057!important;letter-spacing:.5px!important;font-size:.85rem!important;font-weight:700!important}.metric-card{text-align:center!important;background:#fff!important;border:1px solid rgba(0,0,0,.05)!important;border-radius:12px!important;padding:1rem .75rem!important;position:relative!important;overflow:hidden!important;box-shadow:0 2px 8px rgba(0,0,0,.06)!important}.metric-card:before{content:""!important;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent)!important;height:3px!important;position:absolute!important;top:0!important;left:0!important;right:0!important}.metric-card.metric-ok:before{background:linear-gradient(90deg,transparent,#28a745,transparent)!important}.metric-card.metric-nok:before{background:linear-gradient(90deg,transparent,#dc3545,transparent)!important}.metric-card.metric-efficiency:before{background:linear-gradient(90deg,transparent,#17a2b8,transparent)!important}.metric-number{margin-bottom:.25rem!important;font-size:1.4rem!important;font-weight:800!important;line-height:1!important}.metric-card.metric-ok .metric-number{color:#28a745!important}.metric-card.metric-nok .metric-number{color:#dc3545!important}.metric-card.metric-efficiency .metric-number{color:#17a2b8!important}.metric-label{color:#6c757d!important;text-transform:uppercase!important;letter-spacing:.5px!important;margin-bottom:.5rem!important;font-size:.7rem!important;font-weight:600!important}.metric-indicator{border-radius:2px!important;height:4px!important;margin-top:.5rem!important}.metric-indicator.ok{background:linear-gradient(90deg,#28a745,#20c997)!important}.metric-indicator.nok{background:linear-gradient(90deg,#dc3545,#fd7e14)!important}.metric-indicator.efficiency.high{background:linear-gradient(90deg,#28a745,#20c997)!important}.metric-indicator.efficiency.medium{background:linear-gradient(90deg,#ffc107,#fd7e14)!important}.metric-indicator.efficiency.low{background:linear-gradient(90deg,#dc3545,#fd7e14)!important}.critical-alert-enhanced{animation:2s infinite pulse-alert;background:linear-gradient(135deg,rgba(220,53,69,.1) 0%,rgba(220,53,69,.05) 100%)!important;border:2px solid #dc3545!important;border-radius:12px!important;align-items:center!important;gap:1rem!important;margin-bottom:1.5rem!important;padding:1rem!important;display:flex!important}@keyframes pulse-alert{0%,to{box-shadow:0 0 10px rgba(220,53,69,.3)}50%{box-shadow:0 0 20px rgba(220,53,69,.6)}}.alert-icon{color:#fff!important;background:#dc3545!important;border-radius:50%!important;justify-content:center!important;align-items:center!important;width:40px!important;height:40px!important;font-size:1.2rem!important;display:flex!important}.alert-content{flex:1!important}.alert-title{color:#dc3545!important;text-transform:uppercase!important;letter-spacing:.5px!important;margin-bottom:.25rem!important;font-size:.9rem!important;font-weight:700!important}.alert-reason{color:#6c757d!important;font-size:.85rem!important;font-weight:500!important}.work-order-info{background:linear-gradient(135deg,rgba(13,110,253,.08) 0%,rgba(13,110,253,.04) 100%)!important;border-left:4px solid #007bff!important;border-radius:12px!important;margin-bottom:1.5rem!important;padding:1rem!important}.info-header{align-items:center!important;gap:.5rem!important;margin-bottom:.75rem!important;display:flex!important}.info-icon{color:#007bff!important;font-size:1rem!important}.info-title{color:#495057!important;text-transform:uppercase!important;letter-spacing:.5px!important;font-size:.75rem!important;font-weight:700!important}.order-number{color:#007bff!important;letter-spacing:1px!important;font-family:monospace!important;font-size:1.3rem!important;font-weight:700!important}.additional-info-panel{margin-bottom:1rem!important}.info-item{background:rgba(255,255,255,.6)!important;border:1px solid rgba(0,0,0,.05)!important;border-radius:10px!important;align-items:center!important;gap:.75rem!important;margin-bottom:.5rem!important;padding:.75rem!important;display:flex!important}.info-icon-wrapper{color:#fff!important;background:linear-gradient(135deg,#6c757d 0%,#495057 100%)!important;border-radius:50%!important;flex-shrink:0!important;justify-content:center!important;align-items:center!important;width:32px!important;height:32px!important;font-size:.85rem!important;display:flex!important}.timeline-item .info-icon-wrapper{background:linear-gradient(135deg,#17a2b8 0%,#138496 100%)!important}.info-content{flex:1!important}.info-label{color:#6c757d!important;text-transform:uppercase!important;letter-spacing:.5px!important;margin-bottom:.25rem!important;font-size:.65rem!important;font-weight:600!important}.info-value{color:#1a1a1a!important;font-size:.9rem!important;font-weight:600!important}.info-value.warning{color:#ffc107!important}.production-ratio{align-items:center!important;gap:.5rem!important;font-size:1rem!important;font-weight:700!important;display:flex!important}.ratio-ok{color:#28a745!important}.ratio-separator{color:#6c757d!important;font-weight:400!important}.ratio-nok{color:#dc3545!important}.status-badge.bg-danger{animation:1.5s infinite blink-red;background:linear-gradient(135deg,#dc3545 0%,#fd7e14 100%)!important}.status-badge.bg-warning{color:#000!important;background:linear-gradient(135deg,#ffc107 0%,#fd7e14 100%)!important}.status-badge.bg-primary{background:linear-gradient(135deg,#007bff 0%,#6610f2 100%)!important}.status-badge.bg-secondary{background:linear-gradient(135deg,#6c757d 0%,#495057 100%)!important}@keyframes glow-green{0%{box-shadow:0 0 15px rgba(40,167,69,.6)}to{box-shadow:0 0 25px rgba(40,167,69,.9)}}@keyframes blink-red{0%,50%{opacity:1}51%,to{opacity:.7}}.kpi-section{background:rgba(255,255,255,.95)!important;border:1px solid rgba(0,0,0,.05)!important;border-radius:10px!important;margin-bottom:1rem!important;padding:1rem!important}.kpi-row{border-bottom:1px solid rgba(0,0,0,.05)!important;justify-content:space-between!important;align-items:center!important;margin-bottom:.75rem!important;padding:.5rem 0!important;display:flex!important}.kpi-row:last-child{border-bottom:none!important;margin-bottom:0!important}.kpi-label{color:#495057!important;align-items:center!important;font-size:.95rem!important;font-weight:600!important;display:flex!important}.kpi-label i{opacity:.8!important;margin-right:.5rem!important;font-size:1.1rem!important}.kpi-value{text-align:right!important;font-size:1.1rem!important;font-weight:700!important}.production-section{background:linear-gradient(135deg,#f8fff9 0%,#e8f5e8 100%)!important;border:1px solid rgba(40,167,69,.2)!important;border-radius:10px!important;margin-bottom:1rem!important;padding:1rem!important}.production-title{color:#155724!important;text-transform:uppercase!important;letter-spacing:.5px!important;margin-bottom:.75rem!important;font-size:1rem!important;font-weight:700!important}.production-stats{grid-template-columns:1fr 1fr!important;gap:.75rem!important;display:grid!important}.production-stat{text-align:center!important;background:rgba(255,255,255,.8)!important;border:1px solid rgba(0,0,0,.05)!important;border-radius:8px!important;padding:.75rem!important;transition:transform .2s!important}.production-stat:hover{transform:scale(1.05)!important}.production-stat-label{text-transform:uppercase!important;margin-bottom:.25rem!important;font-size:.8rem!important;font-weight:600!important}.production-stat-value{font-size:1.2rem!important;font-weight:700!important}.stat-ok{color:#28a745!important;border-left:4px solid #28a745!important}.stat-nok{color:#dc3545!important;border-left:4px solid #dc3545!important}.stat-rw{color:#ffc107!important;border-left:4px solid #ffc107!important}.stat-total{color:#007bff!important;border-left:4px solid #007bff!important}.progress-enhanced{background:rgba(0,0,0,.1)!important;border-radius:10px!important;height:12px!important;margin:.5rem 0!important;overflow:hidden!important;box-shadow:inset 0 2px 4px rgba(0,0,0,.1)!important}.progress-bar-enhanced{background:linear-gradient(90deg,#28a745 0%,#20c997 100%)!important;border-radius:10px!important;transition:width .6s!important;position:relative!important;overflow:hidden!important}.progress-bar-enhanced:after{content:"";background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent)!important;width:100%!important;height:100%!important;animation:2s infinite shine!important;position:absolute!important;top:0!important;left:-100%!important}@keyframes shine{0%{left:-100%}to{left:100%}}.time-section{background:rgba(33,37,41,.05)!important;border-radius:10px!important;margin-top:1rem!important;padding:1rem!important}.time-row{justify-content:space-between!important;align-items:center!important;margin-bottom:.5rem!important;font-size:.9rem!important;display:flex!important}.time-row:last-child{margin-bottom:0!important}.time-label{color:#495057!important;font-weight:600!important}.time-value{color:#212529!important;font-family:Courier New,monospace!important;font-weight:600!important}.machine-icon-enhanced{color:#fff!important;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)!important;border-radius:50%!important;justify-content:center!important;align-items:center!important;width:60px!important;height:60px!important;margin-right:1rem!important;font-size:1.8rem!important;display:flex!important;box-shadow:0 4px 15px rgba(102,126,234,.4)!important}.critical-alert{color:#fff!important;text-align:center!important;background:linear-gradient(135deg,#ff6b6b 0%,#ee5a6f 100%)!important;border-radius:10px!important;margin-top:1rem!important;padding:1rem!important;font-weight:700!important;animation:1s infinite urgent-pulse!important;box-shadow:0 4px 20px rgba(255,107,107,.4)!important}@keyframes urgent-pulse{0%,to{transform:scale(1);box-shadow:0 4px 20px rgba(255,107,107,.4)}50%{transform:scale(1.02);box-shadow:0 6px 25px rgba(255,107,107,.6)}}@media (min-width:1200px){.machine-card{min-height:320px!important}.machine-title{font-size:1.4rem!important}.kpi-label{font-size:1rem!important}.kpi-value{font-size:1.2rem!important}}@media (min-width:1600px){.machine-card{min-height:360px!important}.machine-title{font-size:1.5rem!important}.production-stat-value{font-size:1.4rem!important}}.factory-floor-grid{--card-min-width:300px;--card-gap:1.25rem;align-items:stretch;grid-template-columns:repeat(auto-fit,minmax(var(--card-min-width),1fr))!important;gap:var(--card-gap)!important;padding:1rem!important;display:grid!important}.factory-floor-grid.density-spacious{--card-min-width:360px;--card-gap:1.5rem}.factory-floor-grid.density-standard{--card-min-width:320px}.factory-floor-grid.density-compact{--card-min-width:260px;--card-gap:1rem}@media (max-width:768px){.factory-floor-grid{--card-min-width:240px;--card-gap:.9rem;padding:.75rem!important}}.card-dashboard{--card-accent:#38bdf8;background:linear-gradient(#fff 0%,#f8fafc 100%);border:1px solid #e2e8f0;border-radius:18px;flex-direction:column;gap:1.5rem;min-height:360px;padding:1.5rem;display:flex;position:relative;overflow:hidden;box-shadow:0 16px 32px rgba(15,23,42,.08)}.card-dashboard:before{content:"";border-radius:inherit;pointer-events:none;border-top:4px solid var(--card-accent);position:absolute;top:0;bottom:0;left:0;right:0}.card-dashboard--success{--card-accent:#16a34a}.card-dashboard--warning{--card-accent:#f59e0b}.card-dashboard--danger{--card-accent:#dc2626}.card-dashboard--paro{background:linear-gradient(#fff9db 0%,#fffbeb 100%);border-color:#facc15}.card-dashboard--loading,.card-dashboard--empty{justify-content:center;align-items:center;min-height:280px}.card-dashboard__header{flex-direction:column;gap:.75rem;display:flex}.card-dashboard__title{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.card-dashboard__title h2{color:#0f172a;letter-spacing:.02em;margin:0;font-size:1.35rem;font-weight:700}.card-dashboard__percentage{letter-spacing:-.01em;font-size:2rem;font-weight:700}.card-dashboard__percentage--success{color:#15803d}.card-dashboard__percentage--warning{color:#ca8a04}.card-dashboard__percentage--danger{color:#b91c1c}.card-dashboard__meta{color:#475569;flex-direction:column;gap:.25rem;font-size:.95rem;display:flex}.card-dashboard__meta-of{letter-spacing:.05em;text-transform:uppercase;color:#1d4ed8;font-weight:600}.card-dashboard__meta-producto{color:#1e293b}.card-dashboard__section{flex-direction:column;gap:1rem;display:flex}.card-dashboard__section+.card-dashboard__section{border-top:1px solid #e2e8f0;padding-top:1.25rem}.card-dashboard__section-head h3{text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin:0;font-size:.85rem;font-weight:600}.card-dashboard__kpi-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;display:grid}.card-dashboard__kpi{background:rgba(255,255,255,.9);border:1px solid #e2e8f0;border-radius:14px;flex-direction:column;gap:.35rem;min-height:88px;padding:.85rem;display:flex}.card-dashboard__kpi--success{border-color:rgba(22,163,74,.35)}.card-dashboard__kpi--success .card-dashboard__kpi-value{color:#15803d}.card-dashboard__kpi-label{text-transform:uppercase;letter-spacing:.05em;color:#64748b;font-size:.75rem}.card-dashboard__kpi-value{color:#0f172a;font-size:1.45rem;font-weight:700;line-height:1.2}.card-dashboard__kpi-sub{color:#475569;font-size:.8rem}.card-dashboard__progress{flex-direction:column;gap:.5rem;display:flex}.card-dashboard__progress-head{color:#475569;justify-content:space-between;font-size:.85rem;font-weight:600;display:flex}.card-dashboard__progress-track{background:#e2e8f0;border-radius:999px;height:8px;position:relative;overflow:hidden}.card-dashboard__progress-fill{transform-origin:0;transition:width .35s;position:absolute;top:0;bottom:0;left:0;right:0}.card-dashboard__progress-fill--success{background:linear-gradient(90deg,#16a34a,#22c55e)}.card-dashboard__progress-fill--warning{background:linear-gradient(90deg,#f59e0b,#f97316)}.card-dashboard__progress-fill--danger{background:linear-gradient(90deg,#dc2626,#ef4444)}.card-dashboard__tiempo{color:#1e293b;margin:0;font-size:.9rem;font-weight:600}.card-dashboard__section--compact .card-dashboard__produccion{color:#1e293b;gap:.35rem;font-size:.9rem;display:grid}.card-dashboard__section--paros{background:#f8fafc;border:1px dashed #e2e8f0;border-radius:14px;gap:.5rem;padding:1rem}.card-dashboard__section--paros-activo{background:#fef3c7;border-color:#facc15}.card-dashboard__paros{color:#1f2937;flex-direction:column;gap:.4rem;font-size:.9rem;display:flex}.card-dashboard__paro-activo{color:#92400e;align-items:center;gap:.5rem;font-weight:600;display:inline-flex}.card-dashboard__paro-icon{font-size:1.1rem}.card-dashboard__alert{color:#b91c1c;background:rgba(248,113,113,.12);border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;margin-top:.75rem;padding:.75rem 1rem;display:flex}.card-dashboard__button{-webkit-appearance:none;-moz-appearance:none;appearance:none;color:#1d4ed8;cursor:pointer;background:rgba(29,78,216,.08);border:1px solid #1d4ed8;border-radius:999px;padding:.35rem 1rem;font-size:.85rem;font-weight:600;transition:background .2s,color .2s}.card-dashboard__button:hover{color:#1e40af;background:rgba(29,78,216,.16)}.card-dashboard__button--link{color:#1d4ed8;background:0 0;border:none;padding:0}.card-dashboard__button--link:hover{text-decoration:underline}.card-dashboard__actions{justify-content:flex-end;margin-top:auto;display:flex}.card-dashboard__loading{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:rgba(248,250,252,.75);justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.card-dashboard__loading--overlay{position:absolute}.card-dashboard__loading .spinner{border:3px solid rgba(148,163,184,.4);border-top-color:var(--card-accent);border-radius:50%;width:26px;height:26px;animation:1s linear infinite card-dashboard-spin}.card-dashboard__empty{color:#475569;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;display:flex}@keyframes card-dashboard-spin{to{transform:rotate(360deg)}}@media (max-width:992px){.card-dashboard{padding:1.25rem}.card-dashboard__kpi-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}@media (max-width:768px){.card-dashboard__title{flex-direction:column;gap:.5rem}.card-dashboard__progress-head{flex-direction:column;align-items:flex-start;gap:.25rem}}:root{--ff-surface:#fff;--ff-surface-alt:#f8fafc;--ff-border:rgba(15,23,42,.08);--ff-border-strong:rgba(15,23,42,.16);--ff-text:#0f172a;--ff-muted:#64748b;--ff-accent:#0ea5e9;--ff-success:#16a34a;--ff-warning:#f59e0b;--ff-danger:#dc2626;--ff-shadow:0 16px 32px rgba(15,23,42,.08);--kh-red:#b91c1c;--kh-red-strong:#991b1b;--kh-red-soft:#fef2f2;--kh-text:#0f172a;--kh-muted:#64748b;--kh-surface:#fff;--kh-surface-alt:#f8fafc}.kh-hero{border:1px solid var(--ff-border);background:linear-gradient(135deg,#fff 0%,#f6f7f9 100%);border-radius:16px;padding:28px 18px;box-shadow:0 8px 32px rgba(15,23,42,.08)}.kh-hero .title-with-logo .title-sistema{color:var(--kh-text);text-shadow:none;letter-spacing:-.025em;font-weight:700}.kh-hero .rotating-text-scada{color:var(--kh-red);text-shadow:none;letter-spacing:-.01em;font-weight:600}.kh-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}@media (max-width:992px){.kh-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.kh-kpis{grid-template-columns:1fr}}.kh-kpi{border:1px solid var(--ff-border);background:#fff;border-radius:16px;padding:16px 18px;transition:all .2s;position:relative;overflow:hidden;box-shadow:0 4px 16px rgba(15,23,42,.06)}.kh-kpi:before{content:"";border-top:3px solid var(--kh-red);pointer-events:none;border-radius:16px 16px 0 0;position:absolute;top:0;bottom:0;left:0;right:0}.kh-kpi__row{justify-content:space-between;align-items:center;gap:12px;display:flex}.kh-kpi__icon{color:var(--kh-red);opacity:.8;font-size:24px}.kh-kpi__number{color:var(--kh-text);letter-spacing:-.03em;font-size:32px;font-weight:800;line-height:1}.kh-kpi__label{color:var(--kh-muted);text-transform:none;letter-spacing:.01em;font-size:14px;font-weight:600}.kh-kpi__trend{color:var(--kh-red);opacity:.8;font-size:12px;font-weight:700}.kh-kpi__pill{background:rgba(17,24,39,.08);border-radius:999px;height:6px;margin-top:10px;overflow:hidden}.kh-kpi__fill{height:100%;width:var(--w,40%);background:linear-gradient(90deg,var(--kh-red),var(--kh-red-strong));border-radius:999px}.kh-kpi--green .kh-kpi__icon{color:#059669}.kh-kpi--green:before{border-top-color:#10b981}.kh-kpi--blue .kh-kpi__icon{color:#2563eb}.kh-kpi--blue:before{border-top-color:#3b82f6}.kh-kpi--danger .kh-kpi__icon{color:#dc2626}.kh-kpi--danger:before{border-top-color:#ef4444}.page-breadcrumb .breadcrumb-title{color:var(--kh-text);letter-spacing:-.01em;font-weight:700}.page-breadcrumb .text-muted{font-weight:500;color:var(--kh-muted)!important}.kh-kpi:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(15,23,42,.12)}@media (max-width:768px){.kh-kpi__number{font-size:28px}.kh-kpi__icon{font-size:20px}.kh-kpi__label{font-size:13px}}.unified-config-overlay{z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:rgba(0,0,0,.7);justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.unified-config-modal{background:#fff;border-radius:16px;width:90%;max-width:600px;max-height:80vh;overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.3)}.unified-config-header{background:linear-gradient(135deg,var(--kh-red)0%,var(--kh-red-strong)100%);color:#fff;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.unified-config-title{align-items:center;gap:12px;display:flex}.unified-config-title h3{letter-spacing:-.01em;margin:0;font-size:1.25rem;font-weight:700}.unified-config-close{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:50%;padding:8px;font-size:1.5rem;transition:background .2s}.unified-config-close:hover{background:rgba(255,255,255,.2)}.unified-config-body{max-height:60vh;padding:24px;overflow-y:auto}.config-section{margin-bottom:24px}.config-label{color:var(--kh-text);align-items:center;gap:8px;margin-bottom:12px;font-size:14px;font-weight:600;display:flex}.config-input{background:#fff;border:2px solid #e9ecef;border-radius:8px;width:100%;padding:12px 16px;font-size:14px;transition:border-color .2s}.config-input:focus{border-color:var(--kh-red);outline:none;box-shadow:0 0 0 3px rgba(185,28,28,.1)}.scada-texts-list{flex-direction:column;gap:12px;display:flex}.scada-text-item{align-items:center;gap:8px;display:flex}.scada-input{flex:1}.remove-scada-btn{background:var(--kh-red);color:#fff;cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;width:40px;height:40px;padding:8px;transition:background .2s;display:flex}.remove-scada-btn:hover{background:var(--kh-red-strong)}.add-scada-btn{color:#fff;cursor:pointer;background:#28a745;border:none;border-radius:8px;align-items:center;gap:8px;margin-top:8px;padding:12px 16px;font-size:14px;font-weight:600;transition:background .2s;display:flex}.add-scada-btn:hover{background:#218838}.config-preview{background:var(--kh-surface-alt);border-radius:8px;margin-top:16px;padding:20px}.config-preview h4{color:var(--kh-text);align-items:center;gap:8px;margin:0 0 16px;font-size:14px;font-weight:600;display:flex}.preview-container{background:#fff;border-radius:8px;padding:16px;box-shadow:0 2px 4px rgba(0,0,0,.1)}.preview-title{align-items:center;gap:16px;display:flex}.preview-logo{object-fit:contain;width:48px;height:48px}.preview-text{flex-direction:column;gap:4px;display:flex}.preview-sistema{color:var(--kh-text);font-size:18px;font-weight:700}.preview-scada{color:var(--kh-red);font-size:16px;font-weight:600}.unified-config-footer{background:var(--kh-surface-alt);border-top:1px solid #e9ecef;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.config-btn-group{gap:12px;display:flex}.config-btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.config-btn-primary{background:linear-gradient(135deg,var(--kh-red)0%,var(--kh-red-strong)100%);color:#fff}.config-btn-primary:hover{background:linear-gradient(135deg,var(--kh-red-strong)0%,#991b1b 100%);transform:translateY(-1px);box-shadow:0 4px 12px rgba(185,28,28,.3)}.config-btn-secondary{color:#fff;background:#6c757d}.config-btn-secondary:hover{background:#5a6268;transform:translateY(-1px)}@media (max-width:768px){.unified-config-modal{width:95%;margin:20px}.unified-config-body{padding:16px}.unified-config-footer{flex-direction:column;gap:12px}.config-btn-group{justify-content:center;width:100%}}.ff-section{flex-direction:column;gap:24px;margin-top:32px;display:flex}.ff-section__head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.ff-section__title{color:var(--ff-text);margin:0;font-size:1.125rem;font-weight:600}.ff-section__subtitle{color:var(--ff-muted);margin-top:4px;font-size:.8125rem;font-weight:500;display:inline-flex}.ff-section__empty{border:1px dashed var(--ff-border);text-align:center;color:var(--ff-muted);background:var(--ff-surface-alt);border-radius:14px;place-items:center;gap:12px;padding:48px 24px;display:grid}.ff-section__empty i{opacity:.45;font-size:2.5rem}.ff-grid{--ff-card-min-width:23%;grid-template-columns:repeat(auto-fill,minmax(var(--ff-card-min-width),1fr));grid-auto-rows:minmax(320px,auto);align-items:stretch;gap:max(14px,min(1.8vw,28px));display:grid}.ff-grid__item{min-width:0;transform:translateY(var(--ff-card-offset,0))scale(var(--ff-card-scale,1));box-shadow:var(--ff-card-shadow,0 18px 40px -28px rgba(15,23,42,.28));filter:saturate(var(--ff-card-saturation,1));transition:transform .22s,box-shadow .22s,filter .22s}.ff-grid__item:hover{--ff-card-offset:calc(-1*clamp(6px,.8vw,12px));--ff-card-scale:1.025;--ff-card-shadow:0 28px 52px -24px rgba(15,118,211,.45);--ff-card-saturation:1.08}.ff-grid-controls{background:rgba(15,23,42,.04);border:1px solid rgba(15,23,42,.08);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding:12px 16px;display:flex}.ff-grid-controls__label{text-transform:uppercase;letter-spacing:.08em;color:rgba(15,23,42,.65);align-items:center;gap:6px;font-size:.85rem;font-weight:600;display:flex}.ff-grid-controls__value{color:rgba(15,23,42,.92);font-size:1.1rem;font-weight:700}.ff-grid-controls__total{color:rgba(15,23,42,.5);font-size:.85rem;font-weight:500}.ff-grid-controls__slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(90deg,rgba(14,116,144,.85) 0%,rgba(2,132,199,.85) 100%);border-radius:999px;outline:none;flex:1;min-width:140px;height:6px;position:relative}.ff-grid-controls__slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background:#fff;border:2px solid rgba(14,116,144,.85);border-radius:50%;width:18px;height:18px;transition:transform .2s;box-shadow:0 4px 10px rgba(14,116,144,.32)}.ff-grid-controls__slider::-moz-range-thumb{cursor:pointer;background:#fff;border:2px solid rgba(14,116,144,.85);border-radius:50%;width:18px;height:18px;transition:transform .2s;box-shadow:0 4px 10px rgba(14,116,144,.32)}.ff-grid-controls__slider:disabled{cursor:not-allowed;background:rgba(148,163,184,.4)}.ff-grid-controls__slider:disabled::-webkit-slider-thumb{box-shadow:none;border-color:rgba(148,163,184,.6)}.ff-grid-controls__slider:disabled::-moz-range-thumb{box-shadow:none;border-color:rgba(148,163,184,.6)}.ff-card{background:var(--ff-surface);border:1px solid var(--ff-border);box-shadow:var(--ff-shadow);min-height:auto;color:var(--ff-text);border-left:2px solid transparent;border-radius:10px;flex-direction:column;gap:6px;padding:10px;transition:transform .2s,box-shadow .2s;display:flex;position:relative}.ff-card--alert{border-color:rgba(220,38,38,.35);box-shadow:0 12px 30px rgba(220,38,38,.18)}.ff-card--status-produciendo{background:linear-gradient(135deg,#f8fff9 0%,#fff 100%);border-left-color:#22c55e}.ff-card--status-activa{background:linear-gradient(135deg,#f0f8ff 0%,#fff 100%);border-left-color:#0ea5e9}.ff-card--status-parada{background:linear-gradient(135deg,#fff8f8 0%,#fff 100%);border-left-color:#ef4444}.ff-card--status-mantenimiento{background:linear-gradient(135deg,#fffbf0 0%,#fff 100%);border-left-color:#f59e0b}.ff-card--status-inactiva{background:linear-gradient(135deg,#f8f9fa 0%,#fff 100%);border-left-color:#6b7280}.ff-card__top{flex-direction:column;gap:16px;display:flex}.ff-card__identity{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.ff-card__identity-text{flex-wrap:wrap;align-items:center;gap:12px;min-width:0;display:flex}.ff-card__machine{color:var(--ff-text-strong,#0f172a);letter-spacing:.2px;word-break:break-word;max-width:100%;font-size:1rem;font-weight:700;line-height:1.1}.ff-card__progress{letter-spacing:.2px;color:var(--ff-text-strong,#0f172a);white-space:nowrap;background:rgba(15,23,42,.08);border-radius:999px;justify-content:center;align-items:center;padding:.2rem .6rem;font-size:.8rem;font-weight:700;display:inline-flex}.ff-card__progress--success{color:#15803d;background:rgba(34,197,94,.18)}.ff-card__progress--warning{color:#b45309;background:rgba(234,179,8,.2)}.ff-card__progress--danger{color:#b91c1c;background:rgba(239,68,68,.2)}.ff-status-chip{letter-spacing:.3px;text-transform:uppercase;color:var(--ff-text-strong,#0f172a);background:rgba(15,23,42,.08);border-radius:999px;align-self:flex-start;padding:.25rem .6rem;font-size:.7rem;font-weight:700}.ff-status-chip--produciendo{color:#15803d;background:rgba(34,197,94,.14)}.ff-status-chip--activa{color:#0369a1;background:rgba(14,165,233,.18)}.ff-status-chip--parada{color:#b91c1c;background:rgba(239,68,68,.18)}.ff-status-chip--mantenimiento{color:#b45309;background:rgba(245,158,11,.2)}.ff-status-chip--inactiva{color:#374151;background:rgba(107,114,128,.18)}.ff-card__order-line{flex-wrap:wrap;align-items:flex-start;gap:10px;display:flex}.ff-card__order-line .ff-tag{flex-shrink:0}.ff-tag{color:var(--ff-text-muted,#475569);background:rgba(148,163,184,.16);border-radius:999px;align-items:center;gap:6px;padding:.35rem .75rem;font-size:.85rem;font-weight:600;display:inline-flex}.ff-tag--of{color:#1d4ed8;background:rgba(59,130,246,.15)}.ff-tag--product{color:#0f766e;background:rgba(14,116,144,.16)}.ff-card__product{flex-direction:row;flex:200px;align-items:center;gap:8px;min-width:0;max-width:100%;display:flex;overflow:hidden}.ff-card__product-ref{color:var(--ff-text-strong,#0f172a);text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:120px;font-size:.9rem;font-weight:600;overflow:hidden}.ff-card__product-desc{color:var(--ff-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.9rem;font-weight:500;line-height:1.2;overflow:hidden}.ff-card__product-desc:before{content:"·";color:var(--ff-muted);opacity:.6;margin-right:8px}.ff-card__meta-row{border:1px solid var(--ff-border);background:rgba(248,250,252,.55);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;min-height:32px;padding:4px 10px;display:flex}.ff-status-progress__bar{background:rgba(226,232,240,.8);border-radius:999px;width:100%;height:8px;display:flex;position:relative;overflow:hidden}.ff-status-progress{background:rgba(248,250,252,.9);border:1px solid rgba(148,163,184,.25);border-radius:6px;margin:6px 0 10px;padding:8px 12px;box-shadow:0 1px 2px rgba(15,23,42,.08)}.ff-status-progress__segment{flex:none;height:100%;transition:width .4s;position:relative}.ff-status-progress__segment-mask{opacity:.12;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.18) 0%,rgba(255,255,255,0) 100%);position:absolute;top:0;bottom:0;left:0;right:0}.ff-status-progress__segment:last-child .ff-status-progress__segment-mask{opacity:.08}.ff-status-progress__segment--empty{background:rgba(226,232,240,.9);flex:1}@media (max-width:640px){.ff-status-progress{padding:8px 10px}}.ff-info{flex-direction:column;gap:2px;display:flex}.ff-info__label{letter-spacing:.3px;color:var(--ff-text-muted,#64748b);text-transform:uppercase;font-size:.6rem;font-weight:700;line-height:1}.ff-info__value{color:var(--ff-text,#1e293b);font-size:.8rem;font-weight:600;line-height:1.2}@media (min-width:768px){.ff-info__label{font-size:.875rem}}@media (min-width:1024px){.ff-info__label{font-size:.875rem}}@media (min-width:768px){.ff-info__value{font-size:1rem}}@media (min-width:1024px){.ff-info__value{font-size:1rem}}@media (min-width:768px){.ff-info--turno{margin-left:var(--spacing-md)}}.ff-info__badge{color:#475569;background:rgba(148,163,184,.18);border-radius:999px;align-items:center;padding:.3rem .7rem;font-size:.85rem;font-weight:700;display:inline-flex}.ff-info__badge--success{color:#15803d;background:rgba(34,197,94,.16)}.ff-info__badge--warning{color:#b45309;background:rgba(234,179,8,.2)}.ff-info__badge--danger{color:#b91c1c;background:rgba(239,68,68,.18)}.ff-card__divider{color:rgba(15,23,42,.55);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:10px;margin:4px 0;font-size:.85rem;font-weight:600;display:flex}.ff-card__divider:before,.ff-card__divider:after{content:"";background:var(--ff-border);flex:1;height:1px}.ff-card__divider-label{white-space:nowrap}.ff-oee-block{border:1px solid var(--ff-border);background:rgba(248,250,252,.6);border-radius:14px;flex-direction:column;gap:12px;padding:16px;display:flex}.ff-oee-block__header{justify-content:space-between;align-items:center;display:flex}.ff-oee-block__title{letter-spacing:.5px;color:var(--ff-text-muted,#64748b);text-transform:uppercase;font-size:.85rem;font-weight:700}.ff-oee-block__primary{align-items:baseline;gap:12px;display:flex}.ff-oee-block__label{color:var(--ff-text-muted,#475569);font-size:.9rem;font-weight:600}.ff-oee-block__value{color:var(--ff-text-strong,#0f172a);font-size:2rem;font-weight:700}.ff-oee-block__content{flex-direction:column;gap:10px;display:flex}.ff-oee-block__content--chips{flex-flow:wrap;gap:8px}.ff-chip-row{flex-wrap:wrap;gap:8px;display:flex}.ff-chip{color:var(--ff-text-muted,#475569);background:rgba(148,163,184,.18);border-radius:999px;align-items:center;gap:6px;padding:.3rem .8rem;font-size:.9rem;font-weight:600;display:inline-flex}.ff-chip--accent{color:#1d4ed8;background:rgba(59,130,246,.18)}.ff-chip--success{color:#15803d;background:rgba(34,197,94,.18)}.ff-chip--warning{color:#b45309;background:rgba(234,179,8,.2)}.ff-chip--danger{color:#b91c1c;background:rgba(239,68,68,.2)}.ff-production-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;display:grid}.ff-card__metric--ok{color:#166534;background:rgba(22,163,74,.08);border-color:rgba(34,197,94,.4)}.ff-card__metric--nok{color:#b91c1c;background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.4)}.ff-card__metric--rwk{color:#b45309;background:rgba(245,158,11,.1);border-color:rgba(245,158,11,.4)}.ff-card__metric--tone-success{color:#166534;background:rgba(34,197,94,.1);border-color:rgba(34,197,94,.4)}.ff-card__metric--tone-warning{color:#b45309;background:rgba(234,179,8,.12);border-color:rgba(234,179,8,.4)}.ff-card__metric--tone-danger{color:#b91c1c;background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.45)}.ff-card__metric--neutral{color:#1e293b;background:rgba(148,163,184,.12);border-color:rgba(148,163,184,.4)}.ff-card__metric--wide{grid-column:span 2}@media (max-width:800px){.ff-card__metric--wide{grid-column:span 1}}.ff-card__dates{border:1px solid var(--ff-border);background:rgba(248,250,252,.45);border-radius:14px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;padding:12px 16px;display:grid}.ff-card__paros{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.ff-card__paro-badge{color:#b91c1c;background:rgba(239,68,68,.18);border-radius:999px;align-items:center;padding:.3rem .75rem;font-size:.85rem;font-weight:700;display:inline-flex}.ff-card__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.ff-card__title{color:var(--ff-text);margin:0;font-size:1.125rem;font-weight:600;line-height:1.2}.ff-card__percent{min-width:56px;color:var(--ff-accent);background:rgba(14,165,233,.08);border-radius:999px;justify-content:center;align-items:center;padding:6px 12px;font-size:.875rem;font-weight:600;display:inline-flex}.ff-card__percent--success{color:var(--ff-success);background:rgba(22,163,74,.12)}.ff-card__percent--warning{color:var(--ff-warning);background:rgba(245,158,11,.14)}.ff-card__percent--danger{color:var(--ff-danger);background:rgba(220,38,38,.14)}.ff-card__subhead{color:var(--ff-muted);border-bottom:1px solid var(--ff-border);flex-wrap:wrap;gap:12px;padding-bottom:12px;font-size:.875rem;display:flex}.ff-card__of{color:#0284c7;background:rgba(14,165,233,.1);border-radius:999px;padding:4px 10px;font-weight:600}.ff-card__product{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.ff-card__block{border-top:1px solid var(--ff-border);flex-direction:column;gap:14px;padding-top:14px;display:flex}.ff-card__block:first-of-type{border-top:none;padding-top:0}.ff-card__block-title{letter-spacing:.02em;color:var(--ff-muted);text-transform:uppercase;font-size:.8125rem;font-weight:600}.ff-card__kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (min-width:1280px){.ff-card__kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}.ff-card__kpi{border:1px solid var(--ff-border);background:var(--ff-surface-alt);border-radius:12px;gap:6px;padding:12px;display:grid}.ff-card__kpi-label{text-transform:uppercase;letter-spacing:.04em;color:var(--ff-muted);font-size:.75rem}.ff-card__kpi-value{color:var(--ff-text);font-size:1.35rem;font-weight:600}.ff-card__kpi-sub{color:var(--ff-muted);font-size:.75rem}.ff-card__plan{gap:8px;display:grid}.ff-card__plan-header{color:var(--ff-muted);justify-content:space-between;font-size:.8125rem;display:flex}.ff-card__plan-bar{background:var(--ff-border);border-radius:999px;height:8px;position:relative;overflow:hidden}.ff-card__plan-fill{background:linear-gradient(90deg,#0ea5e9 0%,#38bdf8 100%);position:absolute;top:0;bottom:0;left:0;right:0}.ff-card__time{color:var(--ff-text);font-size:.875rem;font-weight:500}.ff-card__metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (min-width:1280px){.ff-card__metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}.ff-card__metric{color:var(--ff-text-strong,#0f172a);background:rgba(255,255,255,.65);border:1px solid rgba(226,232,240,.9);border-radius:12px;flex-direction:column;gap:4px;padding:12px;display:flex}.ff-card__metric-label{text-transform:uppercase;letter-spacing:.06em;color:inherit;font-size:.82rem;font-weight:700}.ff-card__metric-value{color:inherit;font-size:1.55rem;font-weight:700;line-height:1.15}.ff-card__paros{color:var(--ff-text);flex-wrap:wrap;gap:12px;font-size:.875rem;display:flex}.ff-card__paro-badge{color:var(--ff-danger);background:rgba(220,38,38,.1);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-weight:600;display:inline-flex}.ff-card__alert{color:var(--ff-danger);background:rgba(220,38,38,.08);border:1px solid rgba(220,38,38,.2);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font-size:.875rem;display:flex}.ff-card__button{border:1px solid var(--ff-border);background:var(--ff-surface);color:var(--ff-text);cursor:pointer;border-radius:999px;padding:6px 14px;font-size:.8125rem;font-weight:600;transition:background .2s,box-shadow .2s}.ff-card__button:hover{background:var(--ff-surface-alt);box-shadow:0 8px 18px rgba(15,23,42,.08)}.ff-card__button--link{color:var(--ff-accent);border-color:rgba(14,165,233,.3)}.ff-card__footer{justify-content:flex-end;margin-top:auto;display:flex}@keyframes ff-spin{to{transform:rotate(360deg)}}.ff-card--loading,.ff-card--empty{justify-content:center;align-items:center;min-height:220px;display:flex}.ff-card__empty{text-align:center;color:var(--ff-muted);gap:12px;display:grid}.ff-card__overlay{border-radius:inherit;background:rgba(255,255,255,.6);justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.gooey-wrap{z-index:30;align-self:flex-start;position:-webkit-sticky;position:sticky;top:8px}.gooey{display:inline-block;position:relative}.gooey-main,.gooey-item{background:var(--ff-accent);color:#fff;cursor:pointer;border:none;border-radius:9999px;width:44px;height:44px;font-weight:700;box-shadow:0 6px 16px rgba(14,165,233,.25)}.gooey-main{font-size:1.2rem}.gooey-item{background:#111827;margin:auto;font-size:.75rem;position:absolute;left:0;right:0}.gooey-item:hover{background:#1f2937}@media (max-width:768px){.ff-section__head{flex-direction:column;align-items:stretch}.gooey-wrap{align-self:flex-end}.ff-card__kpis,.ff-card__metrics{grid-template-columns:minmax(0,1fr)}}.ff-kpi-rect{background:var(--ff-surface);border:1px solid var(--ff-border);border-radius:12px;gap:6px;padding:12px 14px;display:grid}.ff-kpi-rect__label{text-transform:uppercase;letter-spacing:.04em;color:var(--ff-muted);font-size:.85rem;font-weight:700}.ff-kpi-rect__value{color:var(--ff-text-strong,#0f172a);font-size:2rem;font-weight:700}.of-progress-circle,.circular-progress,.circle-bg,.circle-progress,.circle-text,.circle-percentage{display:none!important}.ff-card__kpi-row{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.oee-grid{gap:8px;display:grid}.oee-grid--4{grid-template-columns:repeat(4,1fr)}@media (max-width:640px){.oee-grid--4{grid-template-columns:repeat(2,1fr)}}.oee-pill{text-align:center;color:#1f2937;background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:80px;padding:12px;font-size:.75rem;font-weight:600;display:flex}.oee-pill--success{border-color:rgba(34,197,94,.5)}.oee-pill--warning{border-color:rgba(234,179,8,.55)}.oee-pill--danger{border-color:rgba(239,68,68,.5)}.oee-pill--loading{animation:1.5s ease-in-out infinite oee-pulse}@keyframes oee-pulse{0%,to{opacity:1}50%{opacity:.6}}.oee-status-indicator{display:none}.ff-card__mini-row{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.ff-mini-stat{background:rgba(248,250,252,.6);border:1px solid rgba(15,23,42,.06);border-radius:8px;flex-direction:column;gap:2px;padding:6px 8px;display:flex}.ff-mini-stat__label{text-transform:uppercase;letter-spacing:.4px;color:#64748b;font-size:.65rem;font-weight:700}.ff-mini-stat__value{color:#0f172a;font-size:.85rem;font-weight:700}.ff-card__section{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:8px;margin:16px 0;padding:12px}.ff-card__section-header{border-bottom:1px solid rgba(255,255,255,.1);align-items:center;margin-bottom:12px;padding-bottom:8px;display:flex}.ff-section-title{color:rgba(255,255,255,.9);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:700}.ff-of-data-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.ff-of-stat{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.05);border-radius:6px;flex-direction:column;gap:2px;padding:8px;display:flex}.ff-of-stat__label{color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;text-overflow:ellipsis;font-size:9px;font-weight:600;overflow:hidden}.ff-of-stat__value{color:rgba(255,255,255,.9);white-space:nowrap;text-overflow:ellipsis;min-height:14px;font-size:12px;font-weight:700;overflow:hidden}.ff-of-stat__value.success{color:#10b981}.ff-of-stat__value.warning{color:#f59e0b}.ff-of-stat__value.danger{color:#ef4444}@media (max-width:768px){.ff-of-data-grid{grid-template-columns:1fr;gap:6px}.ff-of-stat{padding:6px}.ff-of-stat__label{font-size:8px}.ff-of-stat__value{font-size:11px}}.ff-card__mini-row{grid-template-columns:repeat(4,1fr);gap:12px;min-height:0;margin:16px 0;display:grid}.ff-mini-stat{flex-direction:column;gap:2px;min-width:0;display:flex}.ff-mini-stat__label{color:rgba(255,255,255,.7);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:600;overflow:hidden}.ff-mini-stat__value{color:rgba(255,255,255,.9);white-space:nowrap;text-overflow:ellipsis;min-height:16px;font-size:13px;font-weight:700;overflow:hidden}@media (max-width:768px){.ff-card__mini-row{grid-template-columns:repeat(2,1fr);gap:8px}.ff-mini-stat__label{font-size:9px}.ff-mini-stat__value{font-size:12px}}@media (max-width:480px){.ff-card__mini-row{grid-template-columns:1fr;gap:6px}}.informes-unified-page{color:#1e293b;background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%);min-height:100vh;padding:2rem}.page-header{margin-bottom:2rem}.header-content{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:2rem;box-shadow:0 4px 20px rgba(0,0,0,.08)}.header-title h1{color:#1e293b;margin:0 0 .5rem;font-size:2.5rem;font-weight:700}.header-subtitle{color:#64748b;margin:0;font-size:1.125rem}.filters-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;margin-bottom:2rem;padding:2rem;box-shadow:0 4px 20px rgba(0,0,0,.08)}.filters-header{margin-bottom:1.5rem}.filters-header h3{color:#1e293b;margin:0;font-size:1.5rem;font-weight:600}.filters-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:1.5rem;display:grid}.filter-group{flex-direction:column;gap:.5rem;display:flex}.filter-group-wide{grid-column:span 2}.filter-group label{color:#475569;text-transform:uppercase;letter-spacing:.5px;font-size:.875rem;font-weight:600}.filter-input,.filter-select{color:#1e293b;background:#fff;border:2px solid #e2e8f0;border-radius:8px;padding:.75rem 1rem;font-size:1rem;transition:all .2s}.filter-input:focus,.filter-select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.filter-select{min-height:120px}.filter-hint{color:#94a3b8;font-size:.75rem;font-style:italic}.filters-actions{justify-content:flex-end;gap:1rem;display:flex}.btn-primary,.btn-secondary{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 2rem;font-size:1rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);box-shadow:0 4px 12px rgba(59,130,246,.3)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px rgba(59,130,246,.4)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{color:#64748b;background:#fff;border:2px solid #e2e8f0}.btn-secondary:hover{background:#f8f9fa;border-color:#cbd5e1}.loading-container{background:#fff;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;padding:4rem;display:flex;box-shadow:0 4px 20px rgba(0,0,0,.08)}.loading-spinner{border:4px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;width:48px;height:48px;margin-bottom:1rem;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-container p{color:#64748b;margin:0;font-size:1.125rem}.error-container{background:#fff;border:2px solid #fecaca;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;padding:3rem;display:flex;box-shadow:0 4px 20px rgba(0,0,0,.08)}.error-icon{margin-bottom:1rem;font-size:4rem}.error-container h3{color:#dc2626;margin:0 0 .5rem;font-size:1.5rem}.error-container p{color:#64748b;margin:0 0 1.5rem;font-size:1rem}.empty-state{text-align:center;background:#fff;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;padding:4rem;display:flex;box-shadow:0 4px 20px rgba(0,0,0,.08)}.empty-icon{opacity:.5;margin-bottom:1.5rem;font-size:5rem}.empty-state h3{color:#1e293b;margin:0 0 .5rem;font-size:1.75rem}.empty-state p{color:#64748b;max-width:500px;margin:0;font-size:1.125rem}.tabs-container{background:#fff;border-radius:12px;gap:.5rem;margin-bottom:2rem;padding:.75rem;display:flex;box-shadow:0 4px 20px rgba(0,0,0,.08)}.tab-button{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:1rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s}.tab-button:hover{color:#1e293b;background:#f8f9fa}.tab-button.active{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);box-shadow:0 4px 12px rgba(59,130,246,.3)}.kpis-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.kpi-card{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:16px;align-items:center;gap:1.25rem;padding:1.75rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 4px 20px rgba(0,0,0,.08)}.kpi-card:hover{transform:translateY(-4px)}.kpi-card-large{grid-column:span 2}.kpi-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;font-size:2rem;display:flex}.kpi-content{flex:1;min-width:0}.kpi-label{color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem;font-size:.875rem;font-weight:600}.kpi-value{margin-bottom:.25rem;font-size:2.5rem;font-weight:700;line-height:1}.kpi-formula{color:#94a3b8;font-size:.75rem;font-style:italic}.kpi-breakdown{gap:1rem;margin-top:.75rem;font-size:.875rem;font-weight:600;display:flex}.breakdown-ok{color:#10b981}.breakdown-nok{color:#ef4444}.breakdown-rwk{color:#f59e0b}.tab-content{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:2rem;box-shadow:0 4px 20px rgba(0,0,0,.08)}.tab-content h2{color:#1e293b;margin:0 0 1rem;font-size:2rem;font-weight:700}.tab-content p{color:#64748b;margin:0;font-size:1.125rem}@media (max-width:1024px){.kpi-card-large,.filter-group-wide{grid-column:span 1}}@media (max-width:768px){.informes-unified-page{padding:1rem}.header-title h1{font-size:1.75rem}.header-subtitle{font-size:1rem}.filters-grid{grid-template-columns:1fr}.tabs-container{flex-direction:column}.kpis-grid{grid-template-columns:1fr}.kpi-value{font-size:2rem}}.opacity-0{opacity:0!important}.opacity-100{opacity:1!important}.translate-x-0{transform:translate(0)!important}.translate-y-0{transform:translateY(0)!important}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;pointer-events:auto;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;background:rgba(241,245,249,.85)!important}.modal-container{z-index:10000;pointer-events:auto;background:#fff;border-radius:16px;flex-direction:column;width:100%;max-height:90vh;animation:.3s ease-out modalSlideIn;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.3)}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9)translateY(-20px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header{background:linear-gradient(135deg,#f8f9fa 0%,#fff 100%);border-bottom:2px solid #e2e8f0;justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex}.modal-title{color:#1e293b;margin:0;font-size:1.5rem;font-weight:700}.modal-close{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.5rem;font-weight:300;transition:all .2s;display:flex}.modal-close:hover{color:#fff;background:#ef4444;transform:rotate(90deg)}.modal-body{flex:1;padding:2rem;overflow-y:auto}.machines-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-top:1rem;display:grid}.view-machines-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6 0%,#1d4ed8 100%);border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;transition:all .3s;display:inline-flex;box-shadow:0 4px 12px rgba(59,130,246,.3)}.view-machines-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(59,130,246,.4)}.view-machines-btn i{font-size:1rem}.machine-card-item{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:1.5rem;transition:all .3s;position:relative;overflow:hidden}.machine-card-item:before{content:"";background:linear-gradient(90deg,#3b82f6,#1d4ed8);height:4px;position:absolute;top:0;left:0;right:0}.machine-card-item.clickable{cursor:pointer}.machine-card-item.clickable:hover{border-color:#3b82f6;transform:translateY(-2px);box-shadow:0 8px 24px rgba(59,130,246,.15)}.machine-card-content{flex-direction:column;gap:.75rem;display:flex}.machine-name{color:#1e293b;margin:0;font-size:1.125rem;font-weight:600;line-height:1.4}.machine-status{align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;display:flex}.status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.status-dot.running{background:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,.3)}.status-dot.stopped{background:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.3)}.status-dot.maintenance{background:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.3)}.status-dot.inactive{background:#6b7280;box-shadow:0 0 0 3px rgba(107,114,128,.3)}.status-text{color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-size:.8rem}@media (max-width:768px){.modal-container{max-height:calc(100vh - 2rem);margin:1rem}.modal-header{padding:1rem 1.5rem}.modal-title{font-size:1.25rem}.modal-body{padding:1.5rem}.machines-grid{grid-template-columns:1fr;gap:.75rem}.machine-card-item{padding:1.25rem}.machine-name{font-size:1rem}}@media (max-width:480px){.modal-backdrop{padding:.5rem}.modal-container{margin:.5rem}.modal-header,.modal-body,.machine-card-item{padding:1rem}}.informes-page{background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%);min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.informes-header{color:#fff;text-align:center;background:linear-gradient(135deg,#1e3a8a 0%,#1e40af 100%);padding:3rem 2rem;position:relative;overflow:hidden}.informes-header:before{content:"";background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);width:200%;height:200%;animation:8s ease-in-out infinite alternate headerGlow;position:absolute;top:-50%;left:-50%}@keyframes headerGlow{0%{opacity:.3}to{opacity:.6}}.informes-header h1{text-shadow:0 2px 4px rgba(0,0,0,.3);z-index:2;margin:0 0 1rem;font-size:3rem;font-weight:800;position:relative}.informes-header p{opacity:.9;z-index:2;margin:0;font-size:1.25rem;font-weight:400;position:relative}.informes-container{max-width:1400px;margin:0 auto;padding:2rem}.informes-dashboard{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;margin-bottom:3rem;display:grid}.informes-metric-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:2rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.08)}.informes-metric-card:before{content:"";background:linear-gradient(90deg,#3b82f6,#1d4ed8);height:4px;position:absolute;top:0;left:0;right:0}.informes-metric-card:hover{transform:translateY(-4px);box-shadow:0 16px 48px rgba(0,0,0,.12)}.informes-metric-card.animated{opacity:0;animation:.6s ease-out forwards cardEntrance;transform:translateY(20px)}@keyframes cardEntrance{to{opacity:1;transform:translateY(0)}}.metric-header{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.metric-icon{color:#0277bd;background:linear-gradient(135deg,#e0f2fe 0%,#b3e5fc 100%);border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.5rem;display:flex}.metric-content h3{color:#374151;margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.metric-value{color:#1f2937;margin-bottom:.5rem;font-size:3rem;font-weight:800;line-height:1}.metric-change{align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;display:flex}.metric-change.positive{color:#10b981}.metric-change.negative{color:#ef4444}.metric-change.neutral{color:#6b7280}.metric-card-oee{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border-color:#f59e0b}.metric-card-oee .metric-icon{color:#d97706;background:linear-gradient(135deg,#fed7aa 0%,#fdba74 100%)}.metric-card-production{background:linear-gradient(135deg,#dcfce7 0%,#bbf7d0 100%);border-color:#10b981}.metric-card-production .metric-icon{color:#047857;background:linear-gradient(135deg,#a7f3d0 0%,#6ee7b7 100%)}.metric-card-quality{background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%);border-color:#ef4444}.metric-card-quality .metric-icon{color:#dc2626;background:linear-gradient(135deg,#fca5a5 0%,#f87171 100%)}.informes-details{grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:3rem;display:grid}@media (max-width:1024px){.informes-details{grid-template-columns:1fr}}.details-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:2rem;box-shadow:0 8px 32px rgba(0,0,0,.08)}.details-card h3{color:#1f2937;margin:0 0 1.5rem;font-size:1.5rem;font-weight:700}.status-grid{gap:1rem;display:grid}.status-item{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;justify-content:space-between;align-items:center;padding:1rem;display:flex}.status-label{color:#495057;font-weight:600}.status-value{color:#1f2937;font-weight:700}.status-running{border-left:4px solid #10b981}.status-stopped{border-left:4px solid #ef4444}.status-maintenance{border-left:4px solid #f59e0b}.estado-actual{background:linear-gradient(135deg,#f0f8ff 0%,#e0f2fe 100%);border:2px solid #0ea5e9}.estado-actual h3{color:#0369a1}.informacion-general{background:linear-gradient(135deg,#fefce8 0%,#fef3c7 100%);border:2px solid #f59e0b}.informacion-general h3{color:#92400e}.mini-cards{grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1.5rem;display:grid}.mini-card{text-align:center;background:#fff;border:1px solid #e9ecef;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.04)}.mini-card h4{color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin:0 0 .5rem;font-size:.875rem;font-weight:600}.mini-card .value{color:#1f2937;margin-bottom:.25rem;font-size:2rem;font-weight:800}.mini-card .label{color:#9ca3af;font-size:.75rem}.progress-container{margin-top:1rem}.progress-label{color:#6b7280;justify-content:space-between;margin-bottom:.5rem;font-size:.875rem;display:flex}.progress-bar{background:#e5e7eb;border-radius:4px;height:8px;overflow:hidden}.informes-footer{text-align:center;background:#fff;border:1px solid #e9ecef;border-radius:16px;padding:2rem;box-shadow:0 4px 16px rgba(0,0,0,.06)}.informes-footer p{color:#6b7280;margin:0;font-size:.875rem}@media (max-width:768px){.informes-header{padding:2rem 1rem}.informes-header h1{font-size:2rem}.informes-header p{font-size:1rem}.informes-container{padding:1rem}.informes-dashboard{grid-template-columns:1fr;gap:1.5rem}.metric-value{font-size:2.5rem}.mini-cards{grid-template-columns:1fr}}@media (max-width:480px){.informes-header h1{font-size:1.75rem}.metric-value{font-size:2rem}.details-card{padding:1.5rem}}.informes-page{color:#1f2937!important;background-color:#f8f9fa!important}.informes-page *{color:inherit}.loading-overlay{z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:rgba(248,249,250,.9);justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.loading-spinner{border:4px solid #e9ecef;border-top-color:#3b82f6;border-radius:50%;width:48px;height:48px;animation:1s linear infinite spin}.loading-text{color:#6b7280;margin-top:1rem;font-weight:600}.error-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.error-icon{color:#ef4444;margin-bottom:1rem;font-size:4rem}.error-state h3{color:#1f2937;margin:0 0 1rem}.error-state p{color:#6b7280;max-width:500px;margin:0 0 2rem}.retry-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);border:none;border-radius:8px;padding:.75rem 2rem;font-weight:600;transition:all .3s}.retry-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(239,68,68,.3)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:.6s ease-out forwards fadeInUp}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.slide-in-left{animation:.6s ease-out forwards slideInLeft}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.slide-in-right{animation:.6s ease-out forwards slideInRight}@keyframes pulse-success{0%,to{box-shadow:0 0 rgba(16,185,129,.4)}50%{box-shadow:0 0 0 8px rgba(16,185,129,0)}}.pulse-success{animation:2s infinite pulse-success}@keyframes pulse-warning{0%,to{box-shadow:0 0 rgba(245,158,11,.4)}50%{box-shadow:0 0 0 8px rgba(245,158,11,0)}}.pulse-warning{animation:2s infinite pulse-warning}@keyframes pulse-danger{0%,to{box-shadow:0 0 rgba(239,68,68,.4)}50%{box-shadow:0 0 0 8px rgba(239,68,68,0)}}.pulse-danger{animation:2s infinite pulse-danger}.informes-metric-card:hover .metric-icon{transition:transform .3s;transform:scale(1.1)}.informes-metric-card:hover .metric-value{color:#3b82f6;transition:color .3s}.glass-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.2)}.gradient-text{background:linear-gradient(135deg,#3b82f6,#1d4ed8);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-contrast:high){.informes-metric-card{border:2px solid #000}.metric-value{color:#000!important}}@media print{.informes-page{background:#fff!important}.informes-metric-card{box-shadow:none!important;border:1px solid #000!important}.informes-header{-webkit-print-color-adjust:exact;color:#000!important;background:#f8f9fa!important}}.filters-section{background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);border:1px solid rgba(255,255,255,.8);border-radius:20px;margin-bottom:3rem;padding:2.5rem;position:relative;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.08)}.filters-section:before{content:"";background:linear-gradient(90deg,#3b82f6,#1d4ed8,#7c3aed);height:4px;position:absolute;top:0;left:0;right:0}.filters-header{text-align:center;margin-bottom:2rem}.filters-header h3{color:#1e293b;background:linear-gradient(135deg,#3b82f6,#1d4ed8);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 .5rem;font-size:1.75rem;font-weight:700}.filters-header p{color:#64748b;opacity:.8;margin:0;font-size:1rem}.filters-controls{flex-direction:column;align-items:center;gap:2rem;display:flex}.date-filters{flex-wrap:wrap;justify-content:center;gap:1.5rem;display:flex}.date-filter-btn{cursor:pointer;background:linear-gradient(135deg,#fff 0%,#f1f5f9 100%);border:2px solid #e2e8f0;border-radius:16px;flex-direction:column;align-items:center;gap:.75rem;min-width:140px;padding:1.25rem 1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.date-filter-btn:before{content:"";opacity:0;background:linear-gradient(135deg,rgba(59,130,246,.05) 0%,rgba(29,78,216,.05) 100%);transition:opacity .3s;position:absolute;top:0;bottom:0;left:0;right:0}.date-filter-btn:hover:before{opacity:1}.date-filter-btn:hover{border-color:#3b82f6;transform:translateY(-2px);box-shadow:0 8px 24px rgba(59,130,246,.15)}.date-filter-btn i{color:#3b82f6;margin-bottom:.25rem;font-size:1.5rem}.btn-label{color:#475569;text-transform:uppercase;letter-spacing:.5px;text-align:center;font-size:.875rem;font-weight:600}.btn-value{color:#1e293b;text-align:center;min-height:1.25rem;font-size:1rem;font-weight:700}.clear-filters-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);border:none;border-radius:12px;align-items:center;gap:.5rem;padding:.875rem 1.5rem;font-size:.875rem;font-weight:600;transition:all .3s;display:flex;box-shadow:0 4px 12px rgba(239,68,68,.3)}.clear-filters-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(239,68,68,.4)}.clear-filters-btn i{font-size:1rem}.machine-filter-btn{background:linear-gradient(135deg,#f5f3ff 0%,#ede9fe 100%)!important;border:2px solid #8b5cf6!important}.machine-filter-btn:hover{background:linear-gradient(135deg,#ede9fe 0%,#ddd6fe 100%)!important;border-color:#7c3aed!important}.machine-filter-btn i{color:#7c3aed}.machine-filter-btn .btn-value{color:#6d28d9}.active-filters{background:linear-gradient(135deg,#dbeafe 0%,#bfdbfe 100%);border:2px solid #3b82f6;border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem;padding:1rem 1.5rem;display:flex}.filters-label{color:#1d4ed8;text-transform:uppercase;letter-spacing:.5px;font-size:.875rem;font-weight:600}.filters-tags{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.filter-tag{color:#1e293b;background:rgba(255,255,255,.9);border:1px solid rgba(59,130,246,.2);border-radius:10px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9375rem;font-weight:600;display:inline-flex;box-shadow:0 2px 4px rgba(0,0,0,.05)}.filter-tag i{color:#3b82f6;font-size:.875rem}.filters-range{color:#1e293b;background:rgba(255,255,255,.8);border:1px solid rgba(59,130,246,.2);border-radius:8px;padding:.25rem .75rem;font-size:1rem;font-weight:700}.calendar-modal-content{flex-direction:column;gap:1.5rem;width:100%;max-width:100%;display:flex}.calendar-container{justify-content:center;align-items:center;width:100%;padding:0;display:flex}.futuristic-calendar{background:#fff;border:1px solid #e5e7eb;border-radius:16px;width:100%;min-width:280px;max-width:480px;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.08)}.futuristic-calendar .react-calendar__navigation{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border-radius:0;justify-content:space-between;align-items:center;gap:1rem;height:auto;margin-bottom:0;padding:1.25rem 1rem;display:flex;box-shadow:0 2px 8px rgba(59,130,246,.15)}.futuristic-calendar .react-calendar__navigation button{color:#fff;cursor:pointer;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.2);border-radius:10px;justify-content:center;align-items:center;min-width:36px;height:36px;padding:.625rem;font-size:.9rem;font-weight:600;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.futuristic-calendar .react-calendar__navigation button:hover:not(:disabled){background:rgba(255,255,255,.25);border-color:rgba(255,255,255,.3);transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.15)}.futuristic-calendar .react-calendar__navigation button:disabled{opacity:.3;cursor:not-allowed}.futuristic-calendar .react-calendar__navigation__label{letter-spacing:.02em;text-transform:capitalize;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:10px;flex-grow:1;padding:.5rem 1rem;font-size:1.125rem;font-weight:700}.futuristic-calendar .react-calendar__navigation__label:hover{background:rgba(255,255,255,.15)}.futuristic-calendar .react-calendar__viewContainer{background:#fff;padding:1.25rem}.futuristic-calendar .react-calendar__month-view__weekdays{background:0 0;border-bottom:1px solid #f1f5f9;margin-bottom:.75rem;padding:0 0 .75rem}.futuristic-calendar .react-calendar__month-view__weekdays__weekday{color:#64748b;text-transform:uppercase;letter-spacing:.8px;text-align:center;padding:.5rem 0;font-size:.6875rem;font-weight:700}.futuristic-calendar .react-calendar__month-view__weekdays__weekday abbr{text-decoration:none}.futuristic-calendar .react-calendar__tile{cursor:pointer;color:#1e293b;aspect-ratio:1;background:0 0;border:2px solid transparent;border-radius:12px;justify-content:center;align-items:center;min-height:44px;margin:.15rem;padding:0;font-size:.9375rem;font-weight:600;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.futuristic-calendar .react-calendar__tile:enabled:hover{color:#1e40af;background:#eff6ff;border-color:#bfdbfe;transform:scale(1.08);box-shadow:0 2px 8px rgba(59,130,246,.15)}.futuristic-calendar .react-calendar__tile--active{font-weight:700;box-shadow:0 4px 12px rgba(59,130,246,.4),0 0 0 3px rgba(59,130,246,.1);color:#fff!important;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%)!important;border-color:#2563eb!important}.futuristic-calendar .react-calendar__tile--active:hover{transform:scale(1.05);box-shadow:0 6px 16px rgba(59,130,246,.45),0 0 0 3px rgba(59,130,246,.15);background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%)!important}.futuristic-calendar .react-calendar__tile--now{color:#92400e;background:#fef3c7;border-color:#fde68a;font-weight:700;position:relative}.futuristic-calendar .react-calendar__tile--now:after{content:"";background:#f59e0b;border-radius:50%;width:4px;height:4px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.futuristic-calendar .react-calendar__tile--now:hover{background:#fde68a;border-color:#fbbf24}.futuristic-calendar .react-calendar__tile:disabled{color:#cbd5e1;cursor:not-allowed;background:0 0}.futuristic-calendar .react-calendar__tile:disabled:hover{box-shadow:none;background:0 0;border-color:transparent;transform:none}.futuristic-calendar .react-calendar__month-view__days__day--neighboringMonth{color:#cbd5e1;opacity:.5}.selected-date-display{text-align:center;background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);border:2px solid #3b82f6;border-radius:14px;margin:0;padding:1.25rem 1.5rem;box-shadow:0 2px 8px rgba(59,130,246,.1)}.selected-date-label{color:#2563eb;text-transform:uppercase;letter-spacing:1px;margin-bottom:.625rem;font-size:.8125rem;font-weight:700;display:block}.selected-date-value{color:#1e293b;background:#fff;border:1px solid #bfdbfe;border-radius:10px;padding:.625rem 1.125rem;font-size:1.125rem;font-weight:700;display:inline-block;box-shadow:0 1px 3px rgba(0,0,0,.05)}.calendar-actions{background:#f9fafb;border-top:1px solid #e5e7eb;justify-content:flex-end;gap:.875rem;margin:0;padding:1.25rem;display:flex}.calendar-btn{cursor:pointer;letter-spacing:.01em;border:none;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;min-width:110px;padding:.75rem 1.75rem;font-size:.9375rem;font-weight:600;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex}.calendar-btn-primary{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%);box-shadow:0 2px 8px rgba(16,185,129,.25)}.calendar-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#059669 0%,#047857 100%);transform:translateY(-1px);box-shadow:0 4px 12px rgba(16,185,129,.35)}.calendar-btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 4px rgba(16,185,129,.2)}.calendar-btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.calendar-btn-secondary{color:#64748b;background:#fff;border:2px solid #e2e8f0;box-shadow:0 1px 3px rgba(0,0,0,.05)}.calendar-btn-secondary:hover{color:#475569;background:#f8fafc;border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 2px 6px rgba(0,0,0,.08)}.calendar-btn-secondary:active{transform:translateY(0);box-shadow:0 1px 2px rgba(0,0,0,.05)}@media (max-width:768px){.filters-section{padding:2rem 1.5rem}.filters-header h3{font-size:1.5rem}.date-filters{flex-direction:column;width:100%}.date-filter-btn{flex-direction:row;justify-content:space-between;width:100%;max-width:300px;padding:1rem 1.25rem}.btn-label{order:1}.btn-value{order:2;font-size:.875rem}.futuristic-calendar{max-width:100%}.futuristic-calendar .react-calendar__viewContainer{padding:1rem}.futuristic-calendar .react-calendar__tile{min-height:40px;margin:.1rem;font-size:.875rem}.futuristic-calendar .react-calendar__navigation{padding:1rem .875rem}.futuristic-calendar .react-calendar__navigation button{min-width:32px;height:32px;padding:.5rem;font-size:.875rem}.futuristic-calendar .react-calendar__navigation__label{padding:.4rem .875rem;font-size:1rem}.selected-date-display{padding:1rem 1.25rem}.selected-date-value{font-size:1rem}.calendar-actions{flex-direction:row;gap:.75rem;padding:1rem}.calendar-btn{flex:1;min-width:100px}}@media (max-width:480px){.filters-section{padding:1.5rem 1rem}.date-filter-btn{min-width:auto;padding:.875rem 1rem}.btn-label,.btn-value{font-size:.8rem}.futuristic-calendar{min-width:280px;max-width:100%}.futuristic-calendar .react-calendar__viewContainer{padding:.875rem}.futuristic-calendar .react-calendar__tile{border-radius:10px;min-height:38px;margin:.075rem;font-size:.8125rem}.futuristic-calendar .react-calendar__navigation{padding:1rem .75rem}.futuristic-calendar .react-calendar__navigation button{border-radius:8px;min-width:30px;height:30px;padding:.4rem;font-size:.8125rem}.futuristic-calendar .react-calendar__navigation__label{padding:.375rem .75rem;font-size:.9375rem}.futuristic-calendar .react-calendar__month-view__weekdays{margin-bottom:.625rem;padding:0 0 .625rem}.futuristic-calendar .react-calendar__month-view__weekdays__weekday{padding:.375rem 0;font-size:.625rem}.selected-date-display{padding:.875rem 1rem}.selected-date-label{margin-bottom:.5rem;font-size:.75rem}.selected-date-value{padding:.5rem .875rem;font-size:.9375rem}.calendar-actions{flex-direction:column;gap:.625rem;padding:.875rem}.calendar-btn{width:100%;padding:.6875rem 1.5rem;font-size:.875rem}}@keyframes calendarFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.futuristic-calendar{animation:.4s ease-out calendarFadeIn}.react-calendar{z-index:10001!important;background:0 0!important;border:none!important;position:relative!important}.react-calendar *{color:inherit!important;pointer-events:auto!important}.futuristic-calendar{z-index:10001!important;position:relative!important}.modal-backdrop .modal-container,.modal-backdrop .modal-container *{pointer-events:auto}.futuristic-calendar .react-calendar__tile{color:#374151!important}.futuristic-calendar .react-calendar__tile:hover{color:#0277bd!important;background:#e0f2fe!important}.futuristic-calendar .react-calendar__tile--active{color:#fff!important;background:linear-gradient(135deg,#3b82f6 0%,#1d4ed8 100%)!important}.futuristic-calendar .react-calendar__tile--now{color:#92400e!important;background:#fef3c7!important}@media (max-width:768px){.modal-container{width:95vw;max-height:95vh}.modal-header,.modal-body{padding:1rem}.detail-grid,.metrics-grid,.prod-card-stats{grid-template-columns:1fr}.calendar-modal-content{gap:1.5rem}.calendar-container{padding:.25rem}}@media (max-width:480px){.modal-container{width:98vw;max-height:98vh;margin:.25rem}.calendar-modal-content{gap:1rem}.calendar-container{padding:0}}.qlikview-dashboard-connected{background:#fff;width:100%;min-height:100vh;padding:1.5rem}.qlikview-breadcrumb{color:#64748b;background:#f8f9fa;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.qlikview-breadcrumb i{color:#3b82f6}.breadcrumb-item{color:#1e293b;font-weight:500}.qlikview-header{background:#fff;border:2px solid #e2e8f0;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1.5rem;display:flex;box-shadow:0 2px 8px rgba(0,0,0,.04)}.qlikview-header .header-title h2{color:#1e293b;margin:0;font-size:1.75rem;font-weight:700}.qlikview-header .header-title p{color:#64748b;margin:.25rem 0 0;font-size:.875rem}.sync-indicator{align-items:center;gap:1rem;display:flex}.sync-label{color:#64748b;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.sync-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .3s;display:flex;box-shadow:0 2px 10px rgba(16,185,129,.2)}.sync-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px rgba(16,185,129,.3)}.sync-button:disabled{opacity:.6;cursor:not-allowed}.sync-button.syncing{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%)}.qlikview-grid{flex-direction:column;gap:1.5rem;display:flex}.qlikview-row{gap:1.5rem;display:flex}.qlikview-col{flex:1}.col-gauge{flex:0 0 400px}.col-metrics,.col-half{flex:1}.oee-gauge-connected{cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:1.5rem;transition:all .3s;box-shadow:0 2px 8px rgba(0,0,0,.04)}.oee-gauge-connected:hover{border-color:#cbd5e1;box-shadow:0 8px 24px rgba(0,0,0,.08)}.oee-gauge-connected.highlighted{background:linear-gradient(135deg,#f0f9ff 0%,#fff 100%);border-color:#3b82f6;box-shadow:0 0 0 4px rgba(59,130,246,.1)}.gauge-header{text-align:center;margin-bottom:1.5rem}.gauge-header h3{color:#1e293b;margin:0;font-size:1.25rem;font-weight:600}.gauge-subtitle{color:#64748b;margin:.5rem 0 0;font-size:.75rem}.gauge-circle-container{max-width:250px;margin:0 auto 1.5rem}.gauge-circle{width:100%;height:auto}.gauge-progress{transition:stroke-dasharray 1s}.gauge-components{grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem;display:grid}.gauge-component{text-align:center;background:#f8f9fa;border-radius:8px;padding:.75rem}.component-label{color:#64748b;margin-bottom:.25rem;font-size:.75rem}.component-value{font-size:1.25rem;font-weight:700}.gauge-objetivo{background:#f8f9fa;border-radius:8px;justify-content:space-between;align-items:center;padding:.75rem;font-size:.875rem;display:flex}.objetivo-label{color:#64748b}.objetivo-status{border-radius:12px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.objetivo-status.cumplido{color:#065f46;background:#d1fae5}.objetivo-status.pendiente{color:#92400e;background:#fef3c7}.metrics-overview-connected{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.04)}.metrics-header{margin-bottom:1.5rem}.metrics-header h3{color:#1e293b;margin:0;font-size:1.25rem;font-weight:600}.metrics-subtitle{color:#64748b;margin:.5rem 0 0;font-size:.75rem}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.metric-card{cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:1rem;transition:all .3s;position:relative;overflow:hidden}.metric-card:hover{border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.08)}.metric-card.highlighted{background:linear-gradient(135deg,#f0f9ff 0%,#fff 100%);border-color:#3b82f6;box-shadow:0 0 0 4px rgba(59,130,246,.1)}.metric-icon{margin-bottom:.5rem;font-size:2rem}.metric-content{margin-bottom:.75rem}.metric-label{color:#64748b;margin-bottom:.25rem;font-size:.875rem}.metric-value{align-items:baseline;gap:.25rem;font-size:1.75rem;font-weight:700;display:flex}.metric-unit{opacity:.7;font-size:.875rem;font-weight:500}.metric-bar{background:#e2e8f0;border-radius:2px;height:4px;overflow:hidden}.metric-bar-fill{border-radius:2px;height:100%;transition:width .8s}.scrap-analysis-connected{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.04)}.scrap-header{margin-bottom:1.5rem}.scrap-header h3{color:#1e293b;margin:0;font-size:1.25rem;font-weight:600}.scrap-subtitle{color:#64748b;margin:.25rem 0 0;font-size:.875rem}.scrap-categories{grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.scrap-category-card{cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:1rem;transition:all .3s}.scrap-category-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px rgba(0,0,0,.08)}.scrap-category-card.highlighted{background:linear-gradient(135deg,#fef2f2 0%,#fff 100%);border-color:#ef4444;box-shadow:0 0 0 4px rgba(239,68,68,.1)}.scrap-category-header{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.scrap-icon{font-size:1.5rem}.scrap-label{color:#1e293b;font-size:.875rem;font-weight:600}.scrap-category-body{justify-content:space-between;align-items:baseline;margin-bottom:.75rem;display:flex}.scrap-total{align-items:baseline;gap:.25rem;font-size:2rem;font-weight:700;display:flex}.scrap-unit{opacity:.7;font-size:.75rem;font-weight:500}.scrap-percentage{color:#64748b;font-size:1.25rem;font-weight:600}.scrap-progress-bar{background:#e2e8f0;border-radius:3px;height:6px;margin-bottom:.75rem;overflow:hidden}.scrap-progress-fill{border-radius:3px;height:100%;transition:width .8s}.scrap-category-footer{color:#94a3b8;justify-content:space-between;align-items:center;font-size:.75rem;display:flex}.scrap-items-count{font-weight:500}.scrap-action-hint{font-style:italic}.scrap-chart{background:#f8f9fa;border-radius:12px;padding:1.5rem}.chart-title{color:#1e293b;text-align:center;margin-bottom:1rem;font-size:1rem;font-weight:600}.chart-bars{justify-content:space-around;align-items:flex-end;gap:1rem;height:150px;display:flex}.chart-bar-container{flex-direction:column;flex:1;align-items:center;gap:.5rem;display:flex}.chart-bar-label{font-size:1.5rem}.chart-bar{border-radius:4px 4px 0 0;justify-content:center;align-items:flex-start;width:100%;min-height:10px;padding-top:.5rem;transition:height .8s;display:flex;position:relative}.chart-bar-value{color:#fff;font-size:.875rem;font-weight:700}.averias-panel-connected{cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:1.5rem;transition:all .3s;box-shadow:0 2px 8px rgba(0,0,0,.04)}.averias-panel-connected:hover{border-color:#cbd5e1;box-shadow:0 4px 12px rgba(0,0,0,.08)}.averias-header{margin-bottom:1.5rem}.averias-header h3{color:#1e293b;margin:0;font-size:1.25rem;font-weight:600}.averias-subtitle{color:#64748b;margin:.25rem 0 0;font-size:.875rem}.averias-kpis{grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.averia-kpi-card{text-align:center;cursor:pointer;background:#f8f9fa;border-radius:12px;padding:1rem;transition:all .3s}.averia-kpi-card:hover{background:#f1f5f9;transform:scale(1.02)}.kpi-label{color:#64748b;margin-bottom:.5rem;font-size:.875rem;font-weight:600}.kpi-value{justify-content:center;align-items:baseline;gap:.25rem;margin-bottom:.25rem;font-size:2rem;font-weight:700;display:flex}.kpi-unit{opacity:.7;font-size:1rem}.kpi-description{color:#94a3b8;font-size:.75rem}.averias-criticality{margin-bottom:1.5rem}.criticality-header{color:#1e293b;margin-bottom:.75rem;font-size:.875rem;font-weight:600}.criticality-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.criticality-card{text-align:center;cursor:pointer;background:#f8f9fa;border-radius:12px;padding:1rem;transition:all .3s}.criticality-card:hover{transform:scale(1.05)}.criticality-card.alta{border-left:4px solid #ef4444}.criticality-card.media{border-left:4px solid #f59e0b}.criticality-card.baja{border-left:4px solid #10b981}.criticality-icon{margin-bottom:.5rem;font-size:1.5rem}.criticality-count{color:#1e293b;margin-bottom:.25rem;font-size:2rem;font-weight:700}.criticality-label{color:#64748b;font-size:.875rem;font-weight:500}.averias-list{background:#f8f9fa;border-radius:12px;padding:1rem}.list-header{color:#1e293b;margin-bottom:.75rem;font-size:.875rem;font-weight:600}.list-items{flex-direction:column;gap:.5rem;display:flex}.averia-list-item{cursor:pointer;background:#fff;border:1px solid transparent;border-radius:8px;align-items:center;gap:.75rem;padding:.75rem;transition:all .2s;display:flex}.averia-list-item:hover{border-color:#e2e8f0}.averia-list-item.highlighted{border-color:#ef4444;box-shadow:0 0 0 2px rgba(239,68,68,.1)}.averia-indicator{border-radius:2px;width:4px;height:40px}.averia-info{flex:1}.averia-tipo{color:#1e293b;margin-bottom:.25rem;font-size:.875rem;font-weight:600}.averia-details{color:#64748b;justify-content:space-between;font-size:.75rem;display:flex}.averia-maquina{font-weight:500}.averia-tiempo{color:#94a3b8}.list-footer{text-align:center;color:#94a3b8;padding:.75rem;font-size:.75rem;font-style:italic}.qlikview-error{background:#fff;border:2px solid #e2e8f0;border-radius:12px;justify-content:center;align-items:center;min-height:400px;padding:2rem;display:flex}.qlikview-error .error-content{text-align:center;color:#1e293b}.qlikview-error .error-content i{color:#ef4444;margin-bottom:1rem;font-size:3rem}.qlikview-error .error-content h3{margin:0 0 1rem;font-size:1.5rem}.qlikview-error .error-content p{color:#64748b;margin-bottom:1.5rem}.qlikview-empty{text-align:center;background:#fff;border:2px solid #e2e8f0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-height:400px;padding:2rem;display:flex}.qlikview-empty i{color:#cbd5e1;margin-bottom:1rem;font-size:4rem}.qlikview-empty h3{color:#1e293b;margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.qlikview-empty p{color:#64748b;margin-bottom:1.5rem}.retry-button{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:600;transition:all .3s;display:flex}.retry-button:hover{background:#dc2626;transform:translateY(-2px);box-shadow:0 4px 12px rgba(239,68,68,.3)}@media (max-width:1200px){.qlikview-row{flex-direction:column}.col-gauge{flex:1;max-width:100%}.scrap-categories,.criticality-grid{grid-template-columns:1fr}}@media (max-width:768px){.qlikview-dashboard-connected{padding:1rem}.qlikview-header{flex-direction:column;gap:1rem}.sync-indicator{flex-direction:column;width:100%}.sync-button{width:100%}.gauge-components,.metrics-grid,.averias-kpis{grid-template-columns:1fr}}.ofs-search-section{background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);border:1px solid rgba(255,255,255,.8);border-radius:20px;margin-top:2rem;padding:2.5rem;position:relative;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.08)}.ofs-search-section:before{content:"";background:linear-gradient(90deg,#7c3aed,#3b82f6,#10b981);height:4px;position:absolute;top:0;left:0;right:0}.ofs-search-header{text-align:center;margin-bottom:2rem}.ofs-search-header h3{color:#1e293b;background:linear-gradient(135deg,#7c3aed,#3b82f6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 .5rem;font-size:1.75rem;font-weight:700}.ofs-search-header p{color:#64748b;opacity:.8;margin:0;font-size:1rem}.ofs-search-controls{flex-direction:column;align-items:center;gap:2rem;margin-bottom:2rem;display:flex}.machine-selector{flex-direction:column;gap:.75rem;min-width:300px;max-width:400px;display:flex}.machine-selector label{color:#475569;text-transform:uppercase;letter-spacing:.5px;font-size:.875rem;font-weight:600}.machine-select{color:#1e293b;cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:12px;min-height:48px;padding:.875rem 1rem;font-size:1rem;transition:all .3s}.machine-select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.machine-select:hover{border-color:#cbd5e1}.search-actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.search-btn,.clear-btn{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;min-width:140px;padding:.875rem 2rem;font-size:1rem;font-weight:600;transition:all .3s;display:inline-flex;box-shadow:0 4px 12px rgba(0,0,0,.15)}.search-btn{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%)}.search-btn:hover:not(:disabled){background:linear-gradient(135deg,#059669 0%,#047857 100%);transform:translateY(-2px);box-shadow:0 6px 20px rgba(16,185,129,.3)}.search-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.clear-btn{color:#64748b;background:#fff;border:2px solid #e2e8f0}.clear-btn:hover{color:#475569;background:#f8f9fa;border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.1)}.ofs-loading,.ofs-error,.ofs-empty{text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex;box-shadow:0 4px 20px rgba(0,0,0,.08)}.ofs-loading .loading-spinner,.ofs-error .error-icon,.ofs-empty .empty-icon{margin-bottom:1.5rem;font-size:4rem}.ofs-loading .loading-spinner{border:4px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;width:48px;height:48px;margin-bottom:1rem;animation:1s linear infinite spin}.ofs-error .error-icon{color:#ef4444}.ofs-empty .empty-icon{color:#cbd5e1}.ofs-loading h3,.ofs-error h3,.ofs-empty h3{color:#1e293b;margin:0 0 .5rem;font-size:1.5rem}.ofs-loading p,.ofs-error p,.ofs-empty p{color:#64748b;max-width:400px;margin:0;font-size:1rem}.ofs-error p{margin:0 0 2rem}.ofs-table-container{background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.08)}.ofs-table-header{background:linear-gradient(135deg,#f8f9fa 0%,#fff 100%);border-bottom:2px solid #e2e8f0;justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex}.ofs-table-header h3{color:#1e293b;margin:0;font-size:1.25rem;font-weight:700}.ofs-stats{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.ofs-count{color:#64748b;background:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.2);border-radius:20px;padding:.375rem .875rem;font-size:.875rem;font-weight:600}.refresh-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:600;transition:all .3s;display:inline-flex;box-shadow:0 2px 8px rgba(59,130,246,.3)}.refresh-btn:hover{background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);transform:translateY(-2px);box-shadow:0 4px 12px rgba(59,130,246,.4)}.refresh-btn i{font-size:1rem}.ofs-table-wrapper{max-height:600px;overflow:auto}.ofs-table{border-collapse:collapse;width:100%;font-size:.875rem}.ofs-table th,.ofs-table td{text-align:left;border-bottom:1px solid #e9ecef;padding:1rem 1.5rem}.ofs-table th{color:#374151;text-transform:uppercase;letter-spacing:.5px;z-index:10;background:#f8f9fa;font-size:.75rem;font-weight:700;position:-webkit-sticky;position:sticky;top:0}.ofs-table tr:hover{background:#f8f9fa}.ofs-table tr:last-child td{border-bottom:none}.of-code{color:#1e293b;text-overflow:ellipsis;white-space:nowrap;background:rgba(59,130,246,.05);border:1px solid rgba(59,130,246,.1);border-radius:6px;max-width:200px;padding:.5rem 1rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-weight:600;overflow:hidden}.of-description{color:#374151;text-overflow:ellipsis;white-space:nowrap;max-width:300px;overflow:hidden}.of-date{color:#6b7280;font-weight:500}.of-number{text-align:right;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-weight:700}.of-number.ok{color:#059669}.of-number.nok{color:#dc2626}.of-progress{flex-direction:column;align-items:flex-start;gap:.5rem;display:flex}.progress-bar{background:#e5e7eb;border-radius:4px;width:100px;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#10b981,#059669);border-radius:4px;height:100%;transition:width .8s}.progress-text{color:#374151;font-size:.75rem;font-weight:600}.ofs-summary{background:linear-gradient(135deg,#f8f9fa 0%,#fff 100%);border-top:2px solid #e2e8f0;flex-wrap:wrap;justify-content:center;gap:2rem;padding:1.5rem 2rem;display:flex}.summary-item{text-align:center;flex-direction:column;gap:.25rem;min-width:120px;display:flex}.summary-label{color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:700}.summary-value{color:#1e293b;font-size:1.5rem;font-weight:800}.summary-value.ok{color:#059669}.summary-value.nok{color:#dc2626}@media (max-width:1024px){.ofs-search-section{padding:2rem 1.5rem}.ofs-table-header{flex-direction:column;align-items:stretch;gap:1rem;padding:1rem 1.5rem}.ofs-stats{justify-content:center}.ofs-summary{gap:1.5rem;padding:1rem 1.5rem}.summary-item{min-width:100px}}@media (max-width:768px){.ofs-search-section{margin-top:1.5rem;padding:1.5rem 1rem}.ofs-search-header h3{font-size:1.5rem}.machine-selector{width:100%;min-width:auto;max-width:100%}.search-actions{width:100%}.search-btn,.clear-btn{flex:1;min-width:auto}.ofs-table-container{border-radius:12px}.ofs-table th,.ofs-table td{padding:.75rem 1rem}.ofs-table th{padding:.5rem 1rem;font-size:.6875rem}.ofs-summary{flex-direction:column;gap:1rem}.summary-item{text-align:left;flex-direction:row;justify-content:space-between;align-items:center;min-width:auto}.summary-value{font-size:1.25rem}}@media (max-width:480px){.ofs-search-section{padding:1rem .75rem}.ofs-table-wrapper{max-height:400px}.ofs-table th,.ofs-table td{padding:.5rem .75rem;font-size:.8125rem}.of-code{max-width:120px;font-size:.75rem}.of-description{max-width:150px}}:root{--proportion-golden-modified:8/11;--proportion-compact:4/5;--proportion-widescreen:16/9;--proportion-square:1/1;--spacing-xs:8px;--spacing-sm:12px;--spacing-md:16px;--spacing-lg:20px;--spacing-xl:24px;--spacing-2xl:32px;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px}.ff-card{aspect-ratio:auto;border-radius:.5rem;min-height:690px;transition:all .3s ease-out}@media (min-width:768px){.ff-card{aspect-ratio:auto;min-height:790px}}@media (min-width:1024px){.ff-card{aspect-ratio:auto;min-height:700px}}.ff-card__top{padding:var(--spacing-sm);flex-shrink:0}@media (min-width:768px){.ff-card__top{padding:var(--spacing-md)}}@media (min-width:1024px){.ff-card__top{padding:var(--spacing-lg)}}.ff-card__meta-row{padding:var(--spacing-xs)var(--spacing-sm);justify-content:space-between;align-items:center;gap:var(--spacing-sm);flex-shrink:0;display:flex}@media (min-width:768px){.ff-card__meta-row{padding:var(--spacing-sm)var(--spacing-md);gap:var(--spacing-md)}}@media (min-width:1024px){.ff-card__meta-row{padding:var(--spacing-md)var(--spacing-lg);gap:var(--spacing-lg)}}.ff-info--operator{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.ff-info__label{text-transform:uppercase;letter-spacing:.3px;color:#6b7280;font-size:.75rem;font-weight:600}@media (min-width:768px){.ff-info__label{font-size:.875rem}}@media (min-width:1024px){.ff-info__label{font-size:.875rem}}.ff-info__value{color:#111827;text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:.875rem;font-weight:600;overflow:hidden}.ff-info__value--operator{flex:1;width:100%;min-width:0;display:flex;overflow:hidden}.loop-text-container{flex:1;width:100%!important;overflow:hidden!important}.loop-text-container>div{will-change:transform;min-width:100%}@media (min-width:768px){.ff-info__value{font-size:1rem}}@media (min-width:1024px){.ff-info__value{font-size:1rem}}.ff-info--turno{margin-left:var(--spacing-sm);flex-shrink:0}@media (min-width:768px){.ff-info--turno{margin-left:var(--spacing-md)}}.ff-section__grid{gap:var(--spacing-sm);grid-template-columns:1fr;display:grid}@media (min-width:640px){.ff-section__grid{gap:var(--spacing-md);grid-template-columns:repeat(2,1fr)}}@media (min-width:768px){.ff-section__grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){.ff-section__grid{grid-template-columns:repeat(4,1fr)}}@media (min-width:1280px){.ff-section__grid{grid-template-columns:repeat(5,1fr)}}@media (min-width:1536px){.ff-section__grid{grid-template-columns:repeat(6,1fr)}}.metric-square{aspect-ratio:1;flex-direction:column;justify-content:center;align-items:center;min-height:70px;transition:all .3s;display:flex}@media (min-width:768px){.metric-square{min-height:100px}}@media (min-width:1024px){.metric-square{min-height:120px}}.ff-card__section{padding:var(--spacing-sm);flex:1;overflow:auto}@media (min-width:768px){.ff-card__section{padding:var(--spacing-md)}}@media (min-width:1024px){.ff-card__section{padding:var(--spacing-lg)}}.ff-card__machine{font-size:.875rem;font-weight:700}@media (min-width:768px){.ff-card__machine{font-size:1rem}}@media (min-width:1024px){.ff-card__machine{font-size:1.125rem}}.ff-card__product{flex-direction:column;gap:2px;font-size:.75rem;display:flex}@media (min-width:768px){.ff-card__product{font-size:.875rem}}.ff-card__product-ref{color:#111827;font-weight:700}.ff-card__product-desc{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ff-tag{text-transform:uppercase;letter-spacing:.3px;border-radius:4px;padding:4px 8px;font-size:.75rem;font-weight:600;display:inline-block}@media (min-width:768px){.ff-tag{padding:6px 10px;font-size:.875rem}}.ff-status-chip{text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-radius:4px;max-width:150px;padding:4px 8px;font-size:.75rem;font-weight:600;transition:all .2s;display:inline-block;overflow:hidden}@media (min-width:768px){.ff-status-chip{max-width:180px;padding:6px 10px;font-size:.875rem}}@media (min-width:1024px){.ff-status-chip{max-width:200px}}.spotlight-card{position:relative;overflow:hidden}.spotlight-card:before{content:"";top:var(--my,50%);left:var(--mx,50%);pointer-events:none;background:radial-gradient(circle,rgba(255,255,255,.3) 0%,transparent 70%);width:0;height:0;position:absolute;transform:translate(-50%,-50%)}.ff-card--loading{opacity:.6;pointer-events:none}.ff-card__loader{border:3px solid #f3f4f6;border-top-color:#007bff;border-radius:50%;width:30px;height:30px;margin:auto;animation:.8s linear infinite spin}.ff-card--empty{justify-content:center;align-items:center;min-height:200px;display:flex}.ff-card__empty{text-align:center;color:#6b7280}.ff-card__empty p{margin-bottom:var(--spacing-md);font-size:.875rem}.ff-card__button{color:#fff;cursor:pointer;background-color:#007bff;border:none;border-radius:4px;padding:6px 12px;font-size:.875rem;font-weight:600;transition:all .2s}.ff-card__button:hover{background-color:#0056b3;transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.15)}.ff-section__grid{gap:var(--spacing-md);display:grid}.ff-section{padding:var(--spacing-lg)}@media (max-width:768px){.ff-section{padding:var(--spacing-md)}}@media (max-width:480px){.ff-section{padding:var(--spacing-sm)}}.ff-section__empty{color:#6b7280;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:300px;display:flex}.ff-section__empty i{margin-bottom:var(--spacing-lg);opacity:.5;font-size:3rem}.ff-section__empty p{font-size:1rem;font-weight:500}.ff-card{cursor:pointer}.ff-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.15)}.ff-card--status-success{border-top:3px solid #28a745}.ff-card--status-warning{border-top:3px solid #ffc107}.ff-card--status-danger{border-top:3px solid #dc3545}.ff-card--alert{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@media (max-width:480px){.ff-card{aspect-ratio:auto;min-height:400px}.ff-card__section{padding:var(--spacing-sm)}.metric-square{min-height:60px}}.progress-bar-container{flex-direction:column;gap:4px;width:100%;margin-bottom:6px;display:flex}@media (min-width:640px){.progress-bar-container{gap:6px;margin-bottom:12px}}@media (min-width:1024px){.progress-bar-container{gap:8px;margin-bottom:12px}}.progress-bar-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:0;font-size:9px;display:flex}@media (min-width:640px){.progress-bar-header{margin-bottom:2px;font-size:.875rem}}@media (min-width:1024px){.progress-bar-header{margin-bottom:4px;font-size:.875rem}}.progress-label{color:#495057;text-transform:capitalize;white-space:nowrap;font-weight:600}.progress-value{color:#495057;white-space:nowrap;flex-shrink:0;font-weight:700}.progress-bar-track{background:rgba(108,117,125,.15);border-radius:4px;width:100%;height:6px;display:flex;position:relative;overflow:hidden}@media (min-width:640px){.progress-bar-track{height:8px}}@media (min-width:1024px){.progress-bar-track{height:12px}}.progress-bar-background{background:rgba(0,123,255,.3);border-radius:4px;width:100%;height:100%;position:absolute}.progress-bar-fill{z-index:1;background:linear-gradient(90deg,#28a745 0%,#20c997 100%);border-radius:4px;height:100%;transition:width .3s;position:relative;box-shadow:0 0 4px rgba(40,167,69,.3)}@media (min-width:640px){.progress-bar-fill{box-shadow:0 0 6px rgba(40,167,69,.4)}}@media (min-width:1024px){.progress-bar-fill{box-shadow:0 0 8px rgba(40,167,69,.5)}}.dates-info-container{grid-template-columns:repeat(3,1fr);gap:6px;width:100%;margin-top:6px;margin-bottom:6px;display:grid}@media (min-width:640px){.dates-info-container{gap:8px;margin-top:8px;margin-bottom:8px}}@media (min-width:1024px){.dates-info-container{gap:12px;margin-top:12px;margin-bottom:12px}}.date-info-item{background:rgba(100,116,139,.05);border:1px solid rgba(100,116,139,.1);border-radius:6px;flex-direction:column;gap:2px;padding:6px;transition:all .2s;display:flex}@media (min-width:640px){.date-info-item{border-radius:8px;gap:3px;padding:8px}}@media (min-width:1024px){.date-info-item{gap:4px;padding:10px}}.date-info-item:hover{background:rgba(100,116,139,.08);border-color:rgba(100,116,139,.2);transform:translateY(-1px)}.date-label{text-transform:uppercase;letter-spacing:.3px;color:#64748b;font-size:8px;font-weight:600}@media (min-width:640px){.date-label{font-size:.7rem}}@media (min-width:1024px){.date-label{font-size:.75rem}}.date-value{color:#1e293b;word-break:break-word;font-size:9px;font-weight:600;line-height:1.3}@media (min-width:640px){.date-value{font-size:.8125rem}}@media (min-width:1024px){.date-value{font-size:.875rem}}
