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