.app-shell{background:var(--page-bg);grid-template-columns:72px minmax(0,1fr);min-height:100vh;display:grid}.shell-sidebar{color:#edf4f7;background:#101b24;flex-direction:column;align-items:center;gap:24px;padding:18px 10px;display:flex}.brand-lockup{place-items:center;gap:6px;display:grid}.brand-mark{color:#fff;background:#1f7a8c;border-radius:7px;place-items:center;width:34px;height:34px;font-size:12px;font-weight:800;display:grid}.brand-title{color:#edf4f7b3;margin:0;font-size:10px;font-weight:700}.sidebar-group,.sidebar-nav{width:100%}.sidebar-nav{gap:8px;display:grid}.shell-sidebar,.demo-script-nav{scrollbar-width:none}.shell-sidebar::-webkit-scrollbar{display:none}.demo-script-nav::-webkit-scrollbar{display:none}.sidebar-link{color:#edf4f7c2;border-radius:6px;place-items:center;gap:3px;min-height:54px;text-decoration:none;display:grid}.sidebar-link strong{color:#fff;font-size:13px;line-height:1}.sidebar-link span{color:#edf4f7a3;text-align:center;text-overflow:ellipsis;width:100%;font-size:9px;line-height:1.1;overflow:hidden}.sidebar-link:hover,.sidebar-link--active{background:#213443}.sidebar-link--active strong,.sidebar-link--active span{color:#fff}.shell-main{min-width:0}.shell-header{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:10px 32px;display:flex}.header-copy{min-width:0}.header-context{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:22px;font-size:13px;display:flex}.header-context strong{color:var(--text-primary);font-size:15px}.header-controls{justify-content:flex-end;align-items:center;gap:14px;display:flex}.demo-script-nav{color:var(--text-secondary);flex-wrap:wrap;flex:100%;align-items:center;gap:6px;font-size:11px;display:flex}.demo-script-nav span{color:var(--text-muted);text-transform:uppercase;font-weight:900}.demo-script-nav a{border:1px solid var(--border);color:var(--text-secondary);background:#f8fafc;border-radius:5px;padding:4px 8px;font-weight:800;line-height:1.2;text-decoration:none}.demo-script-nav a.active{border-color:var(--maintenance);color:var(--maintenance);background:#eaf2fb}.status-group{gap:8px;display:flex}.status-badge{border:1px solid var(--border);border-radius:5px;align-items:center;min-height:26px;padding:4px 9px;font-size:12px;font-weight:700;display:inline-flex}.status-badge--demo{color:var(--maintenance);background:#eaf2fb}.status-badge--simulated{color:var(--measured);background:#e7f6f8}.role-switcher{color:var(--text-secondary);gap:3px;font-size:11px;font-weight:700;display:grid}.role-switcher select{border:1px solid var(--border);width:160px;min-height:28px;color:var(--text-primary);font:inherit;background:#fff;border-radius:5px;padding:3px 8px}.shell-content{padding:24px}@media (width<=980px){.app-shell{grid-template-columns:1fr}.shell-sidebar{flex-direction:row;align-items:center;min-width:0;max-width:100vw;padding:10px 14px;overflow-x:auto}.sidebar-group{min-width:0;overflow-x:auto}.sidebar-nav{gap:8px;width:max-content;display:flex}.sidebar-link{min-width:62px}.shell-header{flex-direction:column;align-items:stretch;padding:12px 16px}.header-copy,.header-context,.header-controls,.demo-script-nav{min-width:0;max-width:100%}.header-controls{flex-wrap:wrap;justify-content:flex-start;width:100%}.demo-script-nav{flex-wrap:nowrap;width:100%;padding-bottom:2px;overflow-x:auto}.demo-script-nav a,.demo-script-nav span{flex:none}}@media (width<=640px){.shell-content{padding:16px}.role-switcher select{width:140px}}.kpi-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.kpi-card,.machine-tile,.side-panel,.chart-card,.detail-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-panel);border-radius:8px}.kpi-card{min-height:94px;padding:13px 14px 12px 16px;position:relative;overflow:hidden}.kpi-card:before,.machine-tile__rail{content:"";background:var(--status-color,var(--info));width:4px;position:absolute;top:0;bottom:0;left:0}.kpi-card--good{--status-color:var(--running)}.kpi-card--warn{--status-color:var(--behind)}.kpi-card--bad{--status-color:var(--alarm)}.kpi-card--info{--status-color:var(--maintenance)}.kpi-card span,.kpi-card small,.kpi-card em{color:var(--text-muted);font-size:12px;font-style:normal;display:block}.kpi-card strong{color:var(--text-primary);margin:3px 0;font-size:28px;line-height:1.05;display:block}.machine-tile{min-height:190px;color:inherit;flex-direction:column;gap:9px;padding:14px 14px 12px 18px;text-decoration:none;display:flex;position:relative}.machine-tile:hover{border-color:#9fb0bf}.machine-tile--running{--status-color:var(--running)}.machine-tile--behind{--status-color:var(--behind)}.machine-tile--stopped{--status-color:var(--stopped)}.machine-tile--alarm{--status-color:var(--alarm)}.machine-tile--maintenance,.machine-tile--setup{--status-color:var(--maintenance)}.machine-tile--e_stop{--status-color:var(--alarm)}.machine-tile--unknown{--status-color:var(--offline)}.machine-tile--signal-risk{--signal-risk-color:var(--alarm)}.machine-tile--signal-risk .overview-card-state>span,.machine-tile--signal-risk .overview-priority,.machine-tile--signal-risk .overview-tower-output{border-color:var(--signal-risk-color)}.machine-tile--signal-risk .overview-card-state>span,.machine-tile--signal-risk .overview-priority strong,.machine-tile--signal-risk .overview-tower-output strong{color:var(--signal-risk-color)}.machine-tile--signal-risk .overview-priority--expanded b{color:var(--signal-risk-color);background:color-mix(in srgb, var(--signal-risk-color) 12%, white)}.machine-tile--overview-v0{border-radius:8px;gap:14px;min-height:348px;padding:22px 24px 20px 28px}.overview-card-header,.overview-hero,.overview-card-body,.overview-status-bar,.overview-hourly-axis{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.overview-card-title h3{color:var(--text-primary);margin:0;font-size:34px;line-height:1}.overview-card-title p{color:#60718a;margin:4px 0 0;font-size:18px}.overview-card-state{align-items:flex-start;gap:18px;display:flex}.overview-card-state>span{border:2px solid var(--status-color);min-width:226px;color:var(--status-color);text-align:center;background:#fff;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:900}.overview-card-state>small{color:#60718a;align-self:flex-end;font-size:12px;font-weight:700}.overview-hero{justify-content:flex-start;align-items:center}.overview-oee-ring{background:conic-gradient(var(--status-color) var(--oee-value), #e8eef3 0);border-radius:999px;flex:0 0 104px;place-items:center;width:104px;height:104px;display:grid;position:relative}.overview-oee-ring:after{content:"";border-radius:inherit;background:#fff;position:absolute;inset:12px}.overview-oee-ring strong,.overview-oee-ring span,.overview-oee-ring__content{z-index:1;position:relative}.overview-oee-ring__content{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:80px;height:80px;display:flex}.overview-oee-ring strong{color:var(--status-color);font-size:34px;line-height:1}.overview-oee-ring span{color:#60718a;font-size:11px;font-weight:900}.overview-output{gap:4px;display:grid}.overview-output>span,.overview-hourly>strong,.overview-priority>span{color:#60718a;font-size:13px;font-weight:800}.overview-output strong{color:var(--text-primary);font-size:42px;line-height:1}.overview-output small{color:#60718a;font-size:15px}.overview-output p{color:#60718a;margin:0;font-size:13px}.overview-progress-track{background:#edf2f6;border-radius:999px;height:5px;overflow:hidden}.overview-progress-track span{border-radius:inherit;background:var(--status-color);height:100%;display:block}.overview-card-body{grid-template-columns:minmax(0,1.15fr) minmax(180px,.85fr);align-items:stretch;display:grid}.overview-main-column{gap:16px;min-width:0;display:grid}.overview-hourly{gap:8px;display:grid}.overview-bars{border-bottom:1px solid #dfe7ee;align-items:end;gap:8px;min-height:74px;padding-bottom:8px;display:flex}.overview-bars span{background:color-mix(in srgb, var(--status-color) 58%, white);border-radius:4px;width:12px;position:relative}.hourly-bar{cursor:help;position:relative}.hourly-bar--empty{cursor:default;min-height:0;background:0 0!important}.hourly-bar[data-tooltip]:after{content:attr(data-tooltip);z-index:20;visibility:hidden;width:max-content;max-width:220px;color:var(--text-primary);opacity:0;pointer-events:none;white-space:nowrap;background:#fff;border:1px solid #cbd7e2;border-radius:5px;padding:6px 8px;font-size:11px;font-weight:700;line-height:1.2;transition:opacity .12s,transform .12s,visibility .12s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(3px);box-shadow:0 4px 14px #0f172a29}.hourly-bar[data-tooltip]:hover:after{visibility:visible;opacity:1;transform:translate(-50%)translateY(0)}.overview-bars span:last-child{background:var(--status-color)}.overview-hourly-axis{color:#60718a;font-size:12px;font-weight:700}.overview-priority{border:2px solid var(--status-color);background:#fff9ed;border-radius:8px;align-content:center;gap:10px;min-height:110px;padding:18px 20px;display:grid}.overview-priority strong{overflow-wrap:anywhere;color:var(--status-color);font-size:22px;line-height:1.15}.overview-expanded-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.03fr);gap:16px 22px;display:grid}.overview-expanded-left,.overview-expanded-right{align-content:start;gap:16px;min-width:0;display:grid}.overview-expanded-left{grid-template-rows:auto minmax(0,1fr) auto}.overview-expanded-right{grid-template-rows:minmax(0,1fr) auto auto}.overview-point-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.overview-point-grid article{border:1px solid #d8e3ec;border-left:4px solid var(--status-color);background:#f8fafc;border-radius:6px;gap:5px;min-width:0;padding:10px 12px;display:grid}.overview-point-grid span,.overview-tower-output>span{color:#60718a;font-size:10px;font-weight:800}.overview-point-grid strong{overflow-wrap:anywhere;color:var(--status-color);font-size:13px;line-height:1.25}.overview-priority--expanded{align-content:start;gap:7px;min-height:0;padding:14px 16px 10px}.overview-priority--expanded strong{font-size:20px}.overview-priority--expanded p{color:var(--text-primary);margin:0;font-size:12px;line-height:1.3}.overview-priority--expanded b{color:var(--status-color);background:color-mix(in srgb, var(--status-color) 12%, white);border-radius:7px;margin-top:auto;padding:5px 12px;font-size:11px;line-height:1.2}.overview-tower-output{background:#f8fafc;border:1px solid #d8e3ec;border-radius:8px;gap:7px;min-height:64px;padding:10px 14px;display:grid}.overview-tower-output>div{align-items:center;gap:14px;min-width:0;display:flex}.overview-tower-output .tower--compact{flex-direction:row;gap:5px;padding:5px 7px}.overview-tower-output .tower__label{display:none}.overview-tower-output strong{color:var(--status-color);font-size:15px}.overview-tower-output small{color:#60718a;white-space:nowrap;margin-left:auto;font-size:10px}.overview-data-provenance{color:#60718a;border-top:1px solid #e2e8ef;grid-column:1/-1;justify-content:space-between;gap:16px;padding-top:7px;font-size:10px;display:flex}.machine-tile--overview-expanded{min-height:0}.machine-tile--overview-expanded .overview-hero{gap:34px}.machine-tile--overview-expanded .overview-card-state{flex-direction:column;gap:8px}.machine-tile--overview-expanded .overview-main-column{gap:14px}.machine-tile--overview-expanded .overview-hourly{align-content:end}.machine-tile--overview-expanded .overview-point-grid article{min-height:58px}.machine-tile--overview-expanded .machine-alert--overview{display:none}.overview-status-bar{background:#f2f5f9;border-radius:999px;align-items:center;margin-top:auto;padding:12px 16px}.overview-status-item{color:#60718a;white-space:nowrap;align-items:center;gap:9px;min-width:0;font-size:14px;font-weight:900;display:inline-flex}.overview-status-item:nth-child(2){margin-left:5ch}.overview-status-item:last-child{margin-left:auto}.overview-status-icon{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;flex:0 0 1em;width:1em;height:1em}.overview-status-item--ok .overview-status-icon{color:var(--running)}.overview-status-item--warn .overview-status-icon{color:var(--behind)}.overview-status-item--bad .overview-status-icon{color:var(--alarm)}.overview-status-item--muted .overview-status-icon{color:var(--offline)}.machine-alert--overview{bottom:92px}.machine-tile__header,.machine-tile__footer,.machine-tile__status,.goal-row,.panel-heading,.detail-card header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.machine-tile h3,.machine-tile p,.panel-heading h2,.panel-heading p,.chart-card h3,.chart-card p,.detail-card h3,.detail-card p{margin:0}.machine-tile h3{font-size:20px;line-height:1}.machine-tile p,.machine-tile__footer,.goal-row,.chart-card p,.detail-card p,.panel-heading p{color:var(--text-secondary);font-size:12px}.machine-tile__status{flex-direction:column;align-items:flex-end}.status-chip,.data-source,.priority{white-space:nowrap;border:1px solid;border-radius:4px;justify-content:center;align-items:center;min-height:22px;padding:2px 8px;font-size:11px;font-weight:700;line-height:1.2;display:inline-flex}.status-chip--running{color:var(--running);background:#e9f7ef}.status-chip--behind,.status-chip--stopped{color:var(--behind);background:#fff7e6}.status-chip--alarm{color:#fff;background:var(--alarm);border-color:var(--alarm)}.status-chip--maintenance,.status-chip--setup{color:var(--maintenance);background:#eaf2fb}.status-chip--e_stop{color:#fff;background:var(--alarm);border-color:var(--alarm)}.status-chip--unknown{color:var(--offline);background:#f1f4f7}.level-chip{white-space:nowrap;border:1px solid;border-radius:4px;align-items:center;min-height:20px;padding:2px 7px;font-size:10px;font-weight:800;line-height:1.2;display:inline-flex}.level-chip--level1_normal{color:var(--running);background:#e9f7ef}.level-chip--level2_warning{color:var(--behind);background:#fff7e6}.level-chip--level3_stop_alarm{color:#fff;background:var(--alarm);border-color:var(--alarm)}.level-chip--level4_intervention{color:var(--maintenance);background:#eaf2fb}.level-chip--level5_comm_fault{color:var(--offline);background:#f1f4f7}.tower{border:1px solid var(--border);background:#f7fafc;border-radius:6px;align-items:center;gap:5px;padding:4px 6px;display:inline-flex}.tower--compact{flex-direction:column;gap:3px;padding:5px}.tower__lamp{background:#cfd8e2;border-radius:999px;width:9px;height:9px;transition:background-color .16s,box-shadow .16s,opacity .16s,transform .16s}.tower__lamp--red.tower__lamp--active{background:var(--alarm);--lamp-glow:#c6282859}.tower__lamp--yellow.tower__lamp--active{background:var(--behind);--lamp-glow:#c47a1257}.tower__lamp--green.tower__lamp--active{background:var(--running);--lamp-glow:#168a5452}.tower__lamp--active.tower__lamp--blink_1hz{animation:1s steps(2,end) infinite tower-blink}.tower__lamp--active.tower__lamp--blink_0_5hz{animation:2s steps(2,end) infinite tower-blink}.tower__lamp--active.tower__lamp--all_blink_2hz{animation:.5s steps(2,end) infinite tower-blink}.tower__lamp--active.tower__lamp--flow_2hz{animation:.5s ease-in-out infinite tower-flow}.tower__lamp--yellow.tower__lamp--flow_2hz{animation-delay:.12s}.tower__lamp--green.tower__lamp--flow_2hz{animation-delay:.24s}.tower__label{color:var(--text-muted);font-size:10px}@keyframes tower-blink{0%,49%{opacity:1;box-shadow:0 0 0 3px var(--lamp-glow,#2f6db32e), 0 0 10px var(--lamp-glow,#2f6db32e);transform:scale(1.08)}50%,to{opacity:.28;box-shadow:none;transform:scale(.9)}}@keyframes tower-flow{0%,to{opacity:.35;box-shadow:none;transform:scale(.9)}33%,62%{opacity:1;box-shadow:0 0 0 3px var(--lamp-glow,#2f6db32e), 0 0 10px var(--lamp-glow,#2f6db32e);transform:scale(1.08)}}@media (prefers-reduced-motion:reduce){.tower__lamp--active.tower__lamp--blink_1hz,.tower__lamp--active.tower__lamp--blink_0_5hz,.tower__lamp--active.tower__lamp--all_blink_2hz,.tower__lamp--active.tower__lamp--flow_2hz{box-shadow:0 0 0 3px var(--lamp-glow,#2f6db32e);opacity:1;animation:none;transform:none}}.machine-tile__metric{align-items:baseline;gap:8px;display:flex}.machine-tile__metric strong{color:var(--status-color);font-size:32px;line-height:1}.machine-tile__metric span{color:var(--text-secondary);font-size:12px;font-weight:700}.delta{font-size:11px}.delta--good{color:var(--running)}.delta--bad{color:var(--alarm)}.progress-track{background:#edf2f6;border-radius:999px;height:7px;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--status-color);height:100%;display:block}.mini-bars{align-items:end;gap:5px;height:56px;display:flex}.mini-bars span{background:var(--status-color);border-radius:2px;width:8px}.machine-tile__footer{align-items:center;margin-top:auto}.machine-tile__recipe{background:#fbfdff;border:1px solid #d8e3ec;border-radius:6px;gap:3px;padding:7px 8px;display:grid}.machine-tile__recipe strong,.machine-tile__recipe span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.machine-tile__recipe strong{color:var(--text-primary);font-size:12px}.machine-tile__recipe span{color:var(--text-secondary);font-size:11px;font-weight:700}.machine-tile__risks{flex-wrap:wrap;gap:5px;display:flex}.machine-tile__risks span{max-width:100%;color:var(--maintenance);text-overflow:ellipsis;white-space:nowrap;background:#eaf2fb;border-radius:4px;padding:3px 6px;font-size:10px;font-weight:800;overflow:hidden}.machine-tile__plc{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;display:grid}.machine-tile__plc span{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;background:#f4f7fa;border-radius:4px;padding:4px 5px;font-size:10px;font-weight:700;overflow:hidden}.machine-alert{border:1px solid var(--alarm);max-width:45%;color:var(--alarm);text-align:center;background:#fff5f5;border-radius:5px;padding:4px 7px;font-size:11px;font-weight:700;position:absolute;bottom:43px;right:12px}.data-source--measured{color:var(--measured);background:#e7f6f8}.data-source--estimated{color:var(--estimated);background:#f1edff}.data-source--manual{color:var(--manual);background:#f4f6f8}.data-source--inferred{color:var(--maintenance);background:#eaf2fb}.data-source--missing{color:var(--missing);background:#f4f6f8}.oee-breakdown{gap:6px;display:grid}.oee-row{grid-template-columns:16px minmax(0,1fr) 36px auto;align-items:center;gap:8px;font-size:11px;display:grid}.oee-bar{background:#edf2f6;border-radius:999px;height:7px;overflow:hidden}.oee-bar span{border-radius:inherit;background:var(--measured);height:100%;display:block}.oee-row:nth-child(2) .oee-bar span{background:var(--running)}.oee-row:nth-child(3) .oee-bar span{background:var(--estimated)}.side-panel{padding:18px}.risk-list{gap:12px;margin-top:14px;display:grid}.risk-item{border:1px solid var(--border);border-left:4px solid var(--risk-color,var(--offline));color:inherit;background:#fff;border-radius:6px;gap:6px;padding:12px;text-decoration:none;display:grid}.risk-item--critical,.risk-item--urgent,.risk-item--high{--risk-color:var(--alarm)}.risk-item--warning,.risk-item--medium{--risk-color:var(--behind)}.risk-item--low,.risk-item--info{--risk-color:var(--maintenance)}.risk-item strong{color:var(--text-primary);font-size:14px}.risk-item span,.risk-item small,.boundary-note{color:var(--text-secondary);font-size:12px}.boundary-note{margin:16px 0 0}.chart-card{padding:16px}.chart-card header{margin-bottom:8px}.chart-card svg{width:100%;height:130px;display:block}.chart-target{stroke:#8a95a3;stroke-dasharray:4 4;stroke-width:1px}.chart-bar--blue,.chart-line--blue{fill:#2f6db3;stroke:#2f6db3}.chart-bar--green,.chart-line--green{fill:#168a54;stroke:#168a54}.chart-bar--red,.chart-line--red,.chart-bar--risk{fill:#c62828;stroke:#c62828}.chart-bar--amber,.chart-line--amber{fill:#c47a12;stroke:#c47a12}.chart-line{stroke-width:3px}.detail-card{gap:12px;padding:16px;display:grid}.detail-card dl{gap:8px;margin:0;display:grid}.detail-card dl div{color:var(--text-secondary);justify-content:space-between;gap:12px;font-size:12px;display:flex}.detail-card dt,.detail-card dd{margin:0}.detail-card dd{color:var(--text-primary);text-align:right;font-weight:700}.detail-card--alarm{border-color:#e8b4b4}.priority--urgent,.priority--high{color:var(--alarm);background:#fff5f5}.priority--medium{color:var(--behind);background:#fff7e6}.priority--low{color:var(--maintenance);background:#eaf2fb}@media (width<=900px){.kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.kpi-strip{grid-template-columns:minmax(0,1fr)}.machine-alert{max-width:100%;position:static}}.desktop-page{gap:20px;display:grid}.page-title-row{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.page-title-row h2{color:var(--text-primary);margin:0;font-size:28px;line-height:1.1}.page-title-row p,.page-context,.toolbar-row,.source-legend{color:var(--text-secondary);font-size:13px}.page-title-row p{margin:6px 0 0}.page-context,.toolbar-row,.source-legend,.segmented-control,.link-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.page-context span{border:1px solid var(--border);background:#fff;border-radius:5px;padding:6px 10px}.overview-card-toggle{border:1px solid var(--behind);min-height:32px;color:var(--behind);background:#fff;border-radius:5px;padding:7px 12px;font-size:12px;font-weight:900}.overview-card-toggle:hover{background:#fff7e6}.overview-layout,.oee-layout,.machine-detail-layout{grid-template-columns:minmax(0,1fr) 264px;align-items:start;gap:20px;display:grid}.machine-grid{grid-template-columns:repeat(2,minmax(420px,1fr));gap:14px;display:grid}.machine-grid--oee{grid-template-columns:repeat(4,minmax(230px,1fr))}.bottom-grid{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:16px;display:grid}.summary-panel,.explain-panel,.timeline-panel,.basket-panel,.empty-state{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-panel);border-radius:8px;padding:16px}.summary-panel h3,.explain-panel h3,.timeline-panel h3,.basket-panel h3,.empty-state h2{margin:0}.summary-panel p,.explain-panel p,.timeline-panel p,.basket-panel p,.empty-state p{color:var(--text-secondary);margin:6px 0 14px;font-size:12px}.summary-row{color:var(--text-secondary);grid-template-columns:150px minmax(0,1fr) 42px;align-items:center;gap:12px;margin-top:10px;font-size:12px;display:grid}.summary-bar{background:#edf2f6;border-radius:999px;height:8px;overflow:hidden}.summary-bar__fill{border-radius:inherit;height:100%;display:block}.summary-bar__fill--bad{background:var(--alarm)}.summary-bar__fill--warn{background:var(--behind)}.summary-bar__fill--info{background:var(--maintenance)}.summary-bar__fill--muted{background:var(--offline)}.toolbar-row{border:1px solid var(--border);background:#fff;border-radius:8px;justify-content:space-between;padding:10px}.segmented-control button,.compact-toggle,.action-row button,.link-row a{border:1px solid var(--border);color:var(--text-primary);background:#f8fafc;border-radius:5px;padding:8px 14px;font-size:12px;font-weight:700;text-decoration:none}.segmented-control button.is-active,.action-row button{border-color:var(--maintenance);background:var(--maintenance);color:#fff}.compact-toggle{align-items:center;gap:7px;display:inline-flex}.oee-side,.detail-side,.detail-main{gap:16px;min-width:0;display:grid}.detail-side>*,.detail-side .detail-card dd{overflow-wrap:anywhere;min-width:0}.detail-side .detail-card header{flex-wrap:wrap}.detail-side .detail-card>strong,.detail-side .detail-card>p,.detail-side .detail-card>.data-source{overflow-wrap:anywhere;white-space:normal;max-width:100%}.desktop-page--compact .oee-layout{grid-template-columns:minmax(0,1fr)}.desktop-page--compact .machine-grid--oee{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.quality-list{gap:8px;display:grid}.machine-detail-tabs{scrollbar-width:thin;gap:8px;padding:2px 0 8px;display:flex;overflow-x:auto}.machine-detail-tab{--machine-tab-color:var(--offline);border:1px solid var(--border);min-width:92px;color:var(--text-secondary);background:#fff;border-radius:8px;flex:none;justify-content:center;align-items:center;gap:8px;padding:9px 14px;font-weight:800;text-decoration:none;transition:border-color .16s,background .16s,color .16s;display:inline-flex}.machine-detail-tab>span{background:var(--machine-tab-color);border-radius:50%;width:8px;height:8px}.machine-detail-tab:hover{border-color:var(--machine-tab-color);color:var(--text-primary)}.machine-detail-tab:focus-visible{outline:3px solid color-mix(in srgb, var(--machine-tab-color) 32%, transparent);outline-offset:2px}.machine-detail-tab--active{border-color:var(--machine-tab-color);background:color-mix(in srgb, var(--machine-tab-color) 8%, white);color:var(--machine-tab-color);box-shadow:inset 0 -2px 0 var(--machine-tab-color)}.machine-detail-header,.machine-detail-tab{--machine-state-color:var(--offline)}.machine-detail-header--running,.machine-detail-tab--running{--machine-state-color:var(--running)}.machine-detail-header--behind,.machine-detail-tab--behind{--machine-state-color:var(--behind)}.machine-detail-header--stopped,.machine-detail-tab--stopped{--machine-state-color:var(--stopped)}.machine-detail-header--alarm,.machine-detail-tab--alarm,.machine-detail-header--e_stop,.machine-detail-tab--e_stop{--machine-state-color:var(--alarm)}.machine-detail-header--maintenance,.machine-detail-tab--maintenance,.machine-detail-header--setup,.machine-detail-tab--setup{--machine-state-color:var(--maintenance)}.machine-detail-header,.machine-detail-tab{--machine-tab-color:var(--machine-state-color)}.machine-detail-header--level3_stop_alarm,.machine-detail-tab--level3_stop_alarm{--machine-tab-color:var(--alarm)}.machine-detail-header{border:1px solid var(--border);box-shadow:var(--shadow-panel);background:#fff;border-radius:8px;grid-template-columns:minmax(220px,1fr) minmax(320px,1.4fr) auto auto;align-items:center;gap:18px;padding:18px 20px 18px 24px;display:grid;position:relative}.machine-detail-header:before{content:"";background:var(--machine-tab-color);width:5px;position:absolute;top:0;bottom:0;left:0}.machine-name-row,.header-signal,.gateway-pill{align-items:center;gap:12px;display:flex}.machine-name-row h2{margin:0;font-size:32px}.machine-detail-header p,.header-signal span,.header-meta span{color:var(--text-secondary);margin:4px 0 0;font-size:12px;display:block}.gateway-pill{border:1px solid var(--border);border-radius:5px;padding:8px 12px;font-size:12px;font-weight:700}.gateway-pill--online{color:var(--running)}.gateway-pill--offline{border-color:color-mix(in srgb, var(--offline) 35%, var(--border));background:color-mix(in srgb, var(--offline) 6%, white);color:var(--offline)}.dot{border-radius:999px;width:8px;height:8px}.dot--ok{background:var(--running)}.dot--off{background:var(--offline)}.header-meta{text-align:right;font-size:12px}.chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.timeline-panel{overflow:hidden}.timeline{grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin-top:18px;display:grid}.timeline-item{color:var(--text-secondary);gap:5px;padding-top:20px;font-size:11px;display:grid;position:relative}.timeline-item:before{content:"";background:var(--border-strong);height:1px;position:absolute;top:6px;left:0;right:0}.timeline-item span{background:var(--status-color,var(--alarm));border-radius:999px;width:11px;height:11px;position:absolute;top:1px;left:10px}.timeline-item:first-child{--status-color:var(--running)}.timeline-item:nth-child(2){--status-color:var(--behind)}.timeline-item:nth-child(5){--status-color:var(--maintenance)}.timeline-item strong,.timeline-item b{color:var(--text-primary)}.basket-panel{--basket-tone:var(--running);--basket-tone-soft:#e9f7ef;border-color:var(--basket-tone)}.basket-panel--normal{--basket-tone:var(--running);--basket-tone-soft:#e9f7ef}.basket-panel--warning{--basket-tone:var(--behind);--basket-tone-soft:#fff7e6}.basket-panel--critical{--basket-tone:var(--alarm);--basket-tone-soft:#fff5f5}.basket-panel--restored{--basket-tone:#14836f;--basket-tone-soft:#e6f7f3}.basket-panel header{justify-content:space-between;gap:12px;display:flex}.basket-panel header span{border:1px solid var(--basket-tone);color:var(--basket-tone);background:var(--basket-tone-soft);border-radius:4px;padding:4px 8px;font-size:11px;font-weight:700}.basket-panel>strong{color:var(--basket-tone);font-size:38px;line-height:1;display:block}.basket-gauge{background:#edf2f6;border-radius:999px;height:24px;margin:16px 8px 46px 0;position:relative}.basket-gauge span{border-radius:inherit;background:var(--basket-tone);height:100%;transition:width .28s,background-color .18s;display:block}.basket-gauge i{color:var(--behind);white-space:nowrap;font-size:10px;font-style:normal;position:absolute;top:28px;transform:translate(-50%)}.basket-gauge i:before{content:"";background:var(--behind);width:2px;height:27px;position:absolute;top:-30px;left:50%}.basket-gauge i:first-of-type{transform:translate(-100%)}.basket-gauge i:first-of-type:before{left:100%}.basket-gauge i:last-of-type{top:40px}.basket-gauge i:last-of-type:before{height:39px;top:-42px}.basket-panel dl{gap:8px;margin:0;display:grid}.basket-panel dl div{color:var(--text-secondary);justify-content:space-between;gap:12px;font-size:12px;display:flex}.basket-panel dt,.basket-panel dd{margin:0}.basket-panel dd{color:var(--text-primary);text-align:right;font-weight:700}.action-card .action-row{gap:8px;display:grid}.read-only-note{color:var(--text-muted);font-size:12px;font-weight:700}.link-row{margin-top:4px}.maintenance-layout,.alarm-layout,.roles-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:20px;display:grid}.machine-summary-section{gap:12px;display:grid}.machine-summary-section__header{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.machine-summary-section__header h3,.machine-summary-section__header p{margin:0}.machine-summary-section__header h3{color:var(--text-primary);font-size:16px}.machine-summary-section__header p{color:var(--text-secondary);margin-top:3px;font-size:12px}.machine-life-snapshot{border:1px solid var(--border);box-shadow:var(--shadow-panel);background:#fff;border-radius:8px;padding:14px}.machine-life-snapshot .life-legend{margin:0}.machine-life-snapshot__grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;display:grid}.machine-life-snapshot-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:7px;min-width:0;padding:11px 11px 10px 14px;display:grid;position:relative;overflow:hidden}.machine-life-snapshot-card:before{content:"";background:var(--running);width:4px;position:absolute;inset:0 auto 0 0}.machine-life-snapshot-card--attention:before{background:var(--behind)}.machine-life-snapshot-card--intervention:before,.machine-life-snapshot-card--exhausted:before{background:var(--alarm)}.machine-life-snapshot-card--exhausted{background:#fff5f5;border-color:#c628287a;box-shadow:0 0 0 1px #c628281f,0 5px 14px #c628281a}.machine-life-snapshot-card--exhausted:before{width:7px}.machine-life-snapshot-card>div:first-child{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.machine-life-snapshot-card span,.machine-life-snapshot-card small{color:var(--text-secondary);font-size:11px}.machine-life-snapshot-card strong{color:var(--text-primary);font-size:18px}.machine-life-snapshot-card>.task-status{width:fit-content;color:var(--alarm);font-size:.65rem}.maintenance-life-panel{margin-bottom:16px}.life-legend{color:var(--muted);flex-wrap:wrap;justify-content:flex-end;gap:14px;margin:8px 0 12px;font-size:.72rem;display:flex}.legend-dot{border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.legend-dot--safe{background:var(--running)}.legend-dot--attention{background:var(--behind)}.legend-dot--intervention{background:var(--alarm)}.legend-dot--unknown{background:var(--muted)}.component-life-section{border:1px solid var(--line);background:#ffffffc7;border-radius:14px;margin-top:12px;padding:12px}.component-life-section--lubrication{background:#eff6ff9e;border-color:#3b82f659}.maintenance-config-panel,.lubrication-points-panel,.lubrication-records-panel{margin-bottom:16px}.maintenance-config-machine{color:var(--muted);align-items:center;gap:8px;font-size:.76rem;font-weight:700;display:flex}.maintenance-config-machine select,.maintenance-config-card input,.lubrication-point-card input,.lubrication-point-card select{min-height:34px;color:var(--ink);background:#fff;border:1px solid #d5dee8;border-radius:8px;padding:6px 9px}.maintenance-config-grid{grid-template-columns:minmax(230px,.7fr) minmax(420px,2fr);gap:14px;padding:14px;display:grid}.maintenance-config-card{background:#f9fbfc;border:1px solid #dbe3eb;border-radius:12px;padding:14px}.maintenance-config-card h3{margin:0 0 10px;font-size:.9rem}.maintenance-config-card>label{border-top:1px solid #e8edf2;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.maintenance-config-card label span{gap:2px;font-size:.78rem;font-weight:700;display:grid}.maintenance-config-card label small{color:var(--muted);font-size:.67rem;font-weight:500}.maintenance-config-card input[type=checkbox]{width:38px;height:20px;accent-color:var(--maintenance)}.maintenance-baseline-card{grid-template-columns:repeat(3,minmax(150px,1fr));gap:4px 14px;display:grid}.maintenance-baseline-card h3{grid-column:1/-1}.maintenance-baseline-card input{width:108px}.lubrication-point-grid{grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px;padding:14px;display:grid}.lubrication-point-card{--point-tone:var(--running);border:1px solid #dce4ec;border-left:5px solid var(--point-tone);background:#fff;border-radius:11px;padding:12px;box-shadow:0 4px 12px #0f172a0a}.lubrication-point-card--attention{--point-tone:#d08409}.lubrication-point-card--due{--point-tone:var(--alarm);background:#fff7f7}.lubrication-point-card header{justify-content:space-between;gap:10px;margin-bottom:10px;display:flex}.lubrication-point-card header div{gap:2px;display:grid}.lubrication-point-card header small{color:var(--muted);text-transform:capitalize}.lubrication-point-card header span{color:var(--point-tone);text-transform:uppercase;font-size:.7rem;font-weight:800}.lubrication-point-card>label{color:var(--muted);grid-template-columns:58px 1fr;align-items:center;gap:7px;margin-top:7px;font-size:.7rem;font-weight:700;display:grid}.lubrication-record-list{gap:8px;padding:14px;display:grid}.lubrication-record-list article{background:#fff;border:1px solid #e0e7ee;border-radius:9px;grid-template-columns:6px minmax(180px,1fr) 120px 120px;align-items:center;gap:12px;padding:9px 12px;display:grid}.lubrication-record-list article>span{background:var(--running);border-radius:4px;align-self:stretch;width:5px}.lubrication-record-list .record-status--attention{background:#d08409}.lubrication-record-list .record-status--intervention,.lubrication-record-list .record-status--exhausted{background:var(--alarm)}.lubrication-record-list article div{display:grid}.lubrication-record-list article small,.lubrication-record-list article em{color:var(--muted);text-transform:capitalize;font-size:.68rem;font-style:normal}.lubrication-record-list article b{font-size:.72rem}@media (width<=1050px){.maintenance-config-grid{grid-template-columns:1fr}.lubrication-point-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}}.installed-options-summary{color:var(--muted);background:#f3f6f9;border-radius:9px;flex-wrap:wrap;gap:8px 16px;margin:12px 14px 0;padding:10px 12px;font-size:.72rem;display:flex}.installed-options-summary strong{color:var(--ink)}.machine-lubrication-points>div{gap:8px;display:grid}.machine-lubrication-point{--point-tone:var(--running);border:1px solid #dde5ed;border-radius:9px;grid-template-columns:6px minmax(190px,1fr) auto auto;align-items:center;gap:10px;padding:10px;display:grid}.machine-lubrication-point--attention{--point-tone:#d08409}.machine-lubrication-point--due{--point-tone:var(--alarm);background:#fff7f7}.machine-lubrication-point>span{background:var(--point-tone);border-radius:4px;align-self:stretch;width:5px}.machine-lubrication-point div{display:grid}.machine-lubrication-point small{color:var(--muted);text-transform:capitalize}.machine-lubrication-point b{color:var(--point-tone);font-size:.72rem}.machine-lubrication-point em{color:var(--muted);font-size:.68rem;font-style:normal}.component-life-section__header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:10px;display:flex}.component-life-section__header>div{align-items:center;gap:8px;display:flex}.component-life-section__header small,.component-life-section__header>span{color:var(--muted);font-size:.72rem}.section-icon{background:#0f172a14;border-radius:50%;place-items:center;width:26px;height:26px;display:grid}.component-life-section--lubrication .section-icon{color:#2563eb;background:#3b82f624}.section-caption{color:var(--muted);margin-top:4px;font-size:.78rem;display:block}.component-life-groups{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.component-life-group{align-content:start;gap:8px;display:grid}.component-life-group__title{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.component-life-group__title small{color:var(--muted);font-size:.7rem}.component-life-card{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:12px;box-shadow:0 2px 8px #0f172a0f}.component-life-card--intervention,.component-life-card--exhausted{border-color:#dc262673}.component-life-card--attention{border-color:#d9770673}.component-life-card--safe{border-color:#16a34a47}.component-life-card--exhausted{border-color:var(--alarm);background:#fef2f2eb;box-shadow:0 0 0 1px #dc262629,0 6px 16px #c628281a}.component-life-card--exhausted:before{content:"";background:var(--alarm);border-radius:12px 0 0 12px;width:7px;display:block;position:absolute;top:0;bottom:0;left:0}.component-life-card{position:relative}.component-life-card--safe:before,.component-life-card--attention:before,.component-life-card--intervention:before{content:"";border-radius:12px 0 0 12px;width:4px;display:block;position:absolute;top:0;bottom:0;left:0}.component-life-card--safe:before{background:var(--running)}.component-life-card--attention:before{background:var(--behind)}.component-life-card--intervention:before{background:var(--alarm)}.component-life-card--attention:first-of-type,.component-life-card--intervention:first-of-type{box-shadow:0 0 0 1px var(--behind), 0 4px 12px #0f172a14}.component-life-card--intervention:first-of-type{box-shadow:0 0 0 1px var(--alarm), 0 4px 12px #0f172a14}.rank-badge{width:20px;height:20px;color:var(--muted);background:#0f172a14;border-radius:6px;place-items:center;font-size:.72rem;font-weight:700;display:inline-grid}.component-life-card:first-of-type .rank-badge{background:var(--behind);color:#fff}.exhausted-banner{background:var(--alarm);color:#fff;border-radius:7px;align-items:center;gap:6px;margin:9px -2px -2px;padding:7px 9px;font-size:.72rem;font-weight:800;display:flex}.exhausted-banner--compact{margin:1px 0 0;padding:5px 7px;font-size:.65rem}.task-status--exhausted{animation:1.6s ease-in-out infinite exhausted-pulse}.life-meter--component{background:#edf2f6;border-radius:999px;height:10px;display:block;overflow:hidden}.life-meter--component:before{display:none}.life-meter--component span{border-radius:inherit;height:100%;margin:0;transition:width .18s}.life-meter--component.life-meter--exhausted{background:#fbdada;border:1px solid #c628287a}.life-meter--component .life-meter__depleted{background-color:var(--alarm);background-image:repeating-linear-gradient(45deg, var(--alarm) 0 7px, #f58b8b 7px 14px);background-size:28px 28px;width:100%;animation:.9s linear infinite exhausted-stripes}@keyframes exhausted-stripes{0%{background-position:0 0}to{background-position:28px 0}}@keyframes exhausted-pulse{50%{box-shadow:0 0 0 4px #c628281f}}.life-meter--safe span{background:var(--running)}.life-meter--attention span{background:var(--behind)}.life-meter--intervention span{background:var(--alarm)}.component-life-card__header,.component-life-values{justify-content:space-between;align-items:center;gap:8px;display:flex}.component-life-card__header{margin-bottom:6px}.component-life-values{margin:14px 0 7px}.component-life-values strong{font-size:1rem}.component-life-values span{color:var(--muted);font-size:.75rem}@media (width<=1100px){.component-life-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}.machine-life-list{gap:10px;display:grid}.machine-life-row{grid-template-columns:1fr auto;align-items:center;gap:4px 10px;display:grid}.machine-life-row>.life-meter{grid-column:1/-1}.machine-life-row small{color:var(--muted);font-size:.72rem;display:block}.machine-life-row__value{text-align:left;grid-column:1/-1;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.machine-life-row--exhausted{border:1px solid #c6282859;border-left:5px solid var(--alarm);background:#fff7f7;border-radius:8px;padding:10px}.machine-life-row>.exhausted-banner{grid-column:1/-1}@media (prefers-reduced-motion:reduce){.life-meter--component .life-meter__depleted,.task-status--exhausted{animation:none}}.resolution-panel{border-top:1px solid var(--line);gap:8px;margin-top:14px;padding-top:12px;display:grid}.resolution-panel select,.resolution-panel button{border:1px solid var(--line);background:var(--surface);min-height:34px;color:var(--ink);border-radius:8px;padding:6px 9px}.component-life-card .life-meter--safe span{background:var(--running)}.component-life-card .life-meter--attention span{background:var(--behind)}.component-life-card .life-meter--intervention span{background:var(--alarm)}.roles-main,.detail-stack{gap:16px;display:grid}.table-panel,.role-switcher-panel,.permission-matrix-panel{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-panel);border-radius:8px}.table-panel{overflow:hidden}.role-switcher-panel,.permission-matrix-panel{padding:16px}.role-switcher-panel h3,.role-switcher-panel p,.permission-matrix-panel h3,.permission-matrix-panel p{margin:0}.role-switcher-panel p,.permission-matrix-panel p{color:var(--text-secondary);font-size:12px}.responsive-table{overflow-x:auto}.ops-table{border-collapse:collapse;background:#fff;width:100%;min-width:920px}.ops-table th,.ops-table td{border-bottom:1px solid var(--border);color:var(--text-secondary);text-align:left;vertical-align:top;padding:10px 12px;font-size:12px}.ops-table th{color:var(--text-muted);text-transform:uppercase;font-size:11px;font-weight:800}.ops-table td strong,.permission-matrix-panel h3,.role-switcher-panel h3{color:var(--text-primary);display:block}.ops-table td small{color:var(--text-muted);margin-top:3px;display:block}.ops-table tbody tr{cursor:pointer}.ops-table tbody tr:hover,.ops-table tbody tr.is-selected{background:#f7fafc}.maintenance-table tbody tr{border-left:4px solid #0000}:is(.maintenance-table tbody tr:has(.priority--urgent),.maintenance-table tbody tr:has(.priority--high)){border-left-color:var(--alarm)}.maintenance-table tbody tr:has(.priority--medium){border-left-color:var(--behind)}.maintenance-table tbody tr:has(.priority--low){border-left-color:var(--maintenance)}.row-actions,.detail-actions,.filter-bar,.role-button-grid{flex-wrap:wrap;gap:8px;display:flex}.row-actions button,.detail-actions button,.role-button-grid button{border:1px solid var(--border);color:var(--text-primary);background:#f8fafc;border-radius:5px;padding:7px 10px;font-size:12px;font-weight:800}.row-actions button:not(:disabled),.detail-actions button:not(:disabled),.role-button-grid button.is-active{border-color:var(--maintenance);background:var(--maintenance);color:#fff}.row-actions button:disabled,.detail-actions button:disabled{cursor:not-allowed;color:var(--text-muted);background:#eef2f5}.task-status,.alarm-status,.severity-badge,.source-badge,.matrix-value{white-space:nowrap;border:1px solid;border-radius:4px;justify-content:center;align-items:center;min-height:22px;padding:2px 8px;font-size:11px;font-weight:800;line-height:1.2;display:inline-flex}.task-status--resolved,.alarm-status--resolved,.matrix-value--yes{color:var(--running);background:#e9f7ef}.task-status--in_progress,.task-status--accepted,.task-status--on_the_way,.alarm-status--acknowledged,.matrix-value--partial{color:var(--maintenance);background:#eaf2fb}.task-status--open,.task-status--assigned,.task-status--need_parts{color:var(--behind);background:#fff7e6}.task-status--safe{color:var(--running);background:#e9f7ef}.task-status--attention{color:var(--behind);background:#fff7e6}.task-status--intervention,.task-status--exhausted,.alarm-status--active,.matrix-value--no,.severity-badge--critical,.severity-badge--high{color:var(--alarm);background:#fff5f5}.severity-badge--warning{color:var(--behind);background:#fff7e6}.severity-badge--info{color:var(--maintenance);background:#eaf2fb}.source-badge--sensor{color:var(--measured);background:#e7f6f8}.source-badge--plc{color:var(--alarm);background:#fff5f5}.source-badge--gateway{color:var(--offline);background:#f1f4f7}.source-badge--rs485_actuator{color:var(--behind);background:#fff7e6}.source-badge--rule{color:var(--estimated);background:#f1edff}.source-badge--manual{color:var(--manual);background:#f4f6f8}.filter-bar{border-bottom:1px solid var(--border);background:#fff;align-items:end;padding:12px}.filter-bar label{gap:4px;min-width:150px;display:grid}.filter-bar span{color:var(--text-muted);text-transform:uppercase;font-size:11px;font-weight:800}.filter-bar select{border:1px solid var(--border);background:#f8fafc;border-radius:5px;padding:8px 10px;font-size:12px}.task-detail-card,.alarm-detail-card,.role-summary-card{border-color:#bfd0df}.recommendation-copy,.restricted-hint{border-radius:6px;padding:10px;font-size:12px}.recommendation-copy{color:var(--maintenance);background:#f3f8fd;border:1px solid #c8d7e6}.manual-basis{border-left:3px solid var(--manual);color:var(--text-secondary);background:#f6f7f9;border-radius:6px;margin:0;padding:9px 10px;font-size:12px}.diagnostic-list{border:1px solid var(--border);background:#fbfcfd;border-radius:6px;gap:7px;padding:10px 12px;display:grid}.diagnostic-list strong{color:var(--text-primary);font-size:12px}.diagnostic-list ul{color:var(--text-secondary);gap:5px;margin:0;padding-left:17px;font-size:12px;display:grid}.restricted-hint{color:#8a5b10;background:#fff9ed;border:1px solid #ead1a8;margin:0;font-weight:700}.life-meter{gap:6px;display:grid}.life-meter:before{content:"";background:#edf2f6;border-radius:999px;height:8px;display:block}.life-meter span{background:var(--behind);border-radius:999px;height:8px;margin-top:-14px;display:block}.alarm-center-v2{--alarm-panel-radius:10px;--sev-critical:#c82020;--sev-critical-surface:#fff0ef;--sev-high:#e84a0b;--sev-high-surface:#fff4ee;--sev-warning:#cf8208;--sev-warning-surface:#fff8e8;--sev-info:#2f72c4;--sev-info-surface:#eff6ff;min-width:0}.alarm-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.alarm-summary-card{--summary-tone:var(--offline);border:1px solid var(--border);border-radius:var(--alarm-panel-radius);min-height:104px;box-shadow:var(--shadow-panel);background:#fff;gap:3px;padding:15px 16px 14px 20px;display:grid;position:relative;overflow:hidden}.alarm-summary-card:before{content:"";background:var(--summary-tone);width:5px;position:absolute;inset:0 auto 0 0}.alarm-summary-card--critical{--summary-tone:var(--sev-critical)}.alarm-summary-card--plc{--summary-tone:var(--sev-high)}.alarm-summary-card--comm{--summary-tone:var(--sev-warning)}.alarm-summary-card--maintenance{--summary-tone:var(--sev-info)}.alarm-summary-card span{color:var(--text-secondary);text-transform:uppercase;font-size:12px;font-weight:800}.alarm-summary-card strong{color:var(--summary-tone);font-size:30px;line-height:1}.alarm-summary-card small{color:var(--text-muted);font-size:11px}.alarm-summary-card>i{width:22px;height:22px;color:var(--summary-tone);place-items:center;font-size:18px;font-style:normal;font-weight:900;display:grid;position:absolute;top:14px;right:16px}.maintenance-risk-context{border:1px solid var(--border);border-radius:var(--alarm-panel-radius);box-shadow:var(--shadow-panel);background:#fff;gap:12px;padding:16px;display:grid}.maintenance-risk-context>header{justify-content:space-between;align-items:center;gap:16px;display:flex}.maintenance-risk-context h3,.maintenance-risk-context p{margin:0}.maintenance-risk-context h3{font-size:17px}.maintenance-risk-context p{color:var(--text-secondary);margin-top:3px;font-size:12px}.maintenance-risk-context>header a{color:var(--maintenance);font-size:12px;font-weight:800}.maintenance-risk-context__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.maintenance-risk-chip{--life-tone:var(--alarm);border:1px solid color-mix(in srgb, var(--life-tone) 35%, var(--border));border-left:4px solid var(--life-tone);background:color-mix(in srgb, var(--life-tone) 5%, white);border-radius:7px;gap:4px;padding:10px 12px;display:grid}.maintenance-risk-chip--attention{--life-tone:var(--behind)}.maintenance-risk-chip>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.maintenance-risk-chip span{color:var(--text-secondary);font-size:11px;font-weight:800}.maintenance-risk-chip strong{color:var(--life-tone);font-size:15px}.maintenance-risk-chip small{color:var(--text-muted);font-size:11px}.maintenance-risk-chip .life-meter{margin:2px 0}.maintenance-risk-chip__exhausted{color:#fff;background:var(--sev-critical);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:3px 7px;font-size:9px;animation:1.6s ease-out infinite severity-pulse}.alarm-risk-meter{background:#e8edf2;border-radius:999px;width:100%;height:8px;display:block;overflow:hidden}.alarm-risk-meter>span{border-radius:inherit;background:var(--sev-critical);height:100%;margin:0;display:block}.alarm-risk-meter--exhausted{background:#fbdada;border:1px solid #c8202073}.alarm-risk-meter>.alarm-risk-meter__depleted{background-color:var(--sev-critical);background-image:repeating-linear-gradient(45deg,#a80f18 0 7px,#ef4a4f 7px 14px);background-size:28px 28px;width:100%;animation:.7s linear infinite exhausted-stripes}.empty-inline{grid-column:1/-1;padding:8px}.alarm-layout--v2{grid-template-columns:minmax(0,1fr);gap:16px;min-width:0}.alarm-list-panel,.alarm-detail-card,.operating-boundary-card{border-radius:var(--alarm-panel-radius)}.alarm-list-panel,.alarm-list-panel .responsive-table{min-width:0;max-width:100%}.alarm-list-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.alarm-list-heading h3,.alarm-list-heading p{margin:0}.alarm-list-heading h3{font-size:16px}.alarm-list-heading p{color:var(--text-muted);margin-top:3px;font-size:11px}.severity-filter{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.severity-filter button{border:1px solid var(--border);min-height:30px;color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:5px;padding:5px 10px;font-size:11px;font-weight:800;display:inline-flex}.severity-filter button:hover{background:#f5f7f9}.severity-filter button:focus-visible{outline-offset:2px;outline:3px solid #2f72c438}.severity-filter button.is-active{color:#fff;border-color:#0000}.severity-filter--all.is-active{background:#17202b}.severity-filter--critical.is-active{background:var(--sev-critical)}.severity-filter--high.is-active{background:var(--sev-high)}.severity-filter--warning.is-active{background:#f3b83f;color:#3d2800!important}.severity-filter--info.is-active{background:var(--sev-info)}.alarm-list-panel>.filter-bar{background:#fafbfc;padding-top:9px;padding-bottom:9px}.alarm-table--v2 th{white-space:nowrap;padding:10px 9px}.alarm-table--v2 td{vertical-align:middle;padding:12px 9px;transition:background .15s}.alarm-table--v2 td>strong,.alarm-table--v2 td>small,.alarm-table--v2 td>.status-chip,.alarm-table--v2 td>.level-chip,.alarm-table--v2 td>.source-badge,.alarm-table--v2 td>.severity-badge,.alarm-table--v2 td>.alarm-status{width:fit-content;display:block}.alarm-table--v2 td>small{color:var(--text-muted);margin-top:4px;font-size:10px}.alarm-table--v2 td>.status-chip{margin-top:5px}.alarm-table--v2 .alarm-row--critical td{background:color-mix(in srgb, var(--sev-critical-surface) 82%, white)}.alarm-table--v2 .alarm-row--high td{background:color-mix(in srgb, var(--sev-high-surface) 78%, white)}.alarm-table--v2 .alarm-row--resolved td>*{opacity:.64}.alarm-table--v2 .alarm-row:hover td{background:#f4f6f8}.alarm-table--v2 .alarm-row--critical td:first-child{box-shadow:inset 6px 0 0 var(--sev-critical)}.alarm-table--v2 .alarm-row--high td:first-child{box-shadow:inset 6px 0 0 var(--sev-high)}.alarm-table--v2 .alarm-row--warning td:first-child{box-shadow:inset 6px 0 0 var(--sev-warning)}.alarm-table--v2 .alarm-row--info td:first-child{box-shadow:inset 6px 0 0 var(--sev-info)}.alarm-table--v2 .alarm-row{cursor:pointer}.alarm-table--v2 .alarm-row:focus-visible{outline-offset:-3px;outline:3px solid #2f72c447}.alarm-row-select{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;gap:4px;padding:0;display:grid}.alarm-row-select strong{color:var(--text-primary);font-size:12px}.alarm-row-select small{color:var(--text-muted);font-size:10px}.alarm-row-select:focus-visible{outline-offset:4px;outline:3px solid #2f6db33d}.alarm-table--v2 tr.is-selected td{border-top:1px solid #536273;border-bottom:1px solid #536273}.alarm-table--v2 tr.is-selected td:first-child{border-left:1px solid #536273}.alarm-table--v2 tr.is-selected td:last-child{border-right:1px solid #536273}.alarm-signal-chip{border:1px solid var(--border);color:var(--text-secondary);white-space:nowrap;background:#f7f8fa;border-radius:5px;align-items:center;gap:5px;padding:4px 7px;font-size:10px;font-weight:800;display:inline-flex}.alarm-signal-chip b{color:var(--text-muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.alarm-evidence-kind{color:var(--text-primary);font-size:11px}.alarm-center-v2 .severity-badge{letter-spacing:.035em;text-transform:uppercase;white-space:nowrap;border-radius:5px;gap:5px;padding:5px 8px;font-size:10px;font-weight:900}.alarm-center-v2 .severity-badge b{place-items:center;width:12px;height:12px;font-size:9px;display:grid}.alarm-center-v2 .severity-badge>i{background:currentColor;border-radius:50%;width:6px;height:6px}.alarm-center-v2 .severity-badge--critical{border-color:var(--sev-critical);color:#fff;background:var(--sev-critical)}.alarm-center-v2 .severity-badge--high{border-color:var(--sev-high);color:#fff;background:var(--sev-high)}.alarm-center-v2 .severity-badge--warning{border-color:color-mix(in srgb, var(--sev-warning) 55%, white);color:#8b5600;background:var(--sev-warning-surface)}.alarm-center-v2 .severity-badge--info{border-color:color-mix(in srgb, var(--sev-info) 45%, white);color:var(--sev-info);background:var(--sev-info-surface)}.alarm-center-v2 .severity-badge--live>i{animation:1.6s ease-out infinite severity-dot}.alarm-center-v2 .alarm-status{white-space:nowrap;border:1px solid;border-radius:999px;gap:5px;padding:4px 7px;font-size:10px;font-weight:800}.alarm-center-v2 .alarm-status>i{background:currentColor;border-radius:50%;width:6px;height:6px}.alarm-center-v2 .alarm-status--active{color:var(--sev-critical);background:#fff1f1}.alarm-center-v2 .alarm-status--acknowledged{color:var(--maintenance);background:#eef5ff}.alarm-center-v2 .alarm-status--resolved{color:var(--running);background:#eefaf3}.alarm-empty{margin:12px}.alarm-detail-stack{position:static}.alarm-detail-stack,.alarm-detail-card,.operating-boundary-card{min-width:0;max-width:100%}.alarm-detail-card{--detail-alarm-tone:var(--sev-warning);border-top:5px solid var(--detail-alarm-tone)}.alarm-detail-card--critical{--detail-alarm-tone:var(--sev-critical)}.alarm-detail-card--high{--detail-alarm-tone:var(--sev-high)}.alarm-detail-card--info{--detail-alarm-tone:var(--sev-info)}.alarm-detail-card>header{align-items:flex-start}.alarm-detail-card h3{margin:3px 0 0;font-size:18px}.alarm-detail-card header small{color:var(--text-muted);margin-top:4px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;display:block}.eyebrow{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:900}.alarm-machine-context{border:1px solid var(--border);background:#f8fafc;border-radius:7px;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:center;gap:8px;padding:10px;display:grid}.alarm-machine-context>div{gap:5px;display:grid}.alarm-machine-context>div>span:first-child{color:var(--text-muted);text-transform:uppercase;font-size:10px;font-weight:800}.text-ok{color:var(--running)}.text-off{color:var(--offline)}.alarm-evidence-grid{border:1px solid var(--border);background:var(--border);border-radius:7px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.alarm-evidence-grid>div{background:#fff;gap:3px;padding:9px 10px;display:grid}.alarm-evidence-grid dt{color:var(--text-muted);text-transform:uppercase;font-size:10px;font-weight:800}.alarm-evidence-grid dd{color:var(--text-primary);overflow-wrap:anywhere;margin:0;font-size:12px;font-weight:800}.alarm-state-chain{color:var(--text-secondary);background:#eef6ff;border:1px solid #bfd0df;border-radius:6px;flex-wrap:wrap;align-items:center;gap:5px;padding:8px;font-size:10px;font-weight:800;display:flex}.alarm-state-chain span{background:#fff;border-radius:4px;padding:4px 6px}.alarm-state-chain i{color:var(--maintenance);font-style:normal}.recommendation-copy{gap:4px;display:grid}.recommendation-copy strong{color:var(--text-primary)}.button-link{border:1px solid var(--maintenance);min-height:34px;color:var(--maintenance);background:#fff;border-radius:5px;justify-content:center;align-items:center;padding:7px 12px;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex}.button-link:hover{background:#eaf2fb}@keyframes severity-dot{0%{opacity:1;box-shadow:0 0}70%{opacity:.72;box-shadow:0 0 0 5px #0000}to{opacity:1;box-shadow:0 0 #0000}}@keyframes severity-pulse{50%{box-shadow:0 0 0 4px #c820201f}}@media (prefers-reduced-motion:reduce){.alarm-center-v2 .severity-badge--live>i,.maintenance-risk-chip__exhausted,.alarm-risk-meter__depleted{animation:none}}.life-meter.life-meter--safe span{background:var(--running)}.life-meter.life-meter--attention span{background:var(--behind)}.life-meter.life-meter--intervention span{background:var(--alarm)}@media (width<=1280px){.machine-life-snapshot__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.life-meter small{color:var(--text-secondary);font-size:11px}.role-button-grid{margin-top:14px}.role-button-grid button{min-width:150px}.permission-matrix{min-width:980px}.permission-matrix th:not(:first-child),.permission-matrix td:not(:first-child){text-align:center}.operator-console-page{gap:18px;max-width:1180px;margin:0 auto;display:grid}.operator-console-header,.console-metric-strip,.console-progress-card,.console-basket-card,.console-advice-card,.console-recent-card,.console-action-bar{border:1px solid var(--border);box-shadow:var(--shadow-panel);background:#fff;border-radius:8px}.operator-console-header{grid-template-columns:minmax(0,1fr) minmax(300px,.7fr);align-items:center;gap:20px;padding:18px 20px;display:grid}.console-eyebrow{color:var(--text-muted);text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:900;display:inline-block}.console-title-row,.console-light-block,.console-metric-strip,.console-basket-card header,.console-progress-card header{align-items:center;gap:12px;display:flex}.console-title-row h2{color:var(--text-primary);margin:0;font-size:46px;line-height:1}.operator-console-header p,.console-light-block span,.console-advice-card p,.console-progress-card small,.console-basket-card p,.console-alert-row small{color:var(--text-secondary);margin:0;font-size:13px}.console-light-block{justify-content:flex-end}.console-light-block strong{color:var(--text-primary);display:block}.console-metric-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;display:grid;overflow:hidden}.console-metric-strip article{border-left:1px solid var(--border);gap:4px;min-width:0;padding:16px;display:grid}.console-metric-strip article:first-child{border-left:0}.console-metric-strip span,.console-advice-card li,.console-basket-card dt{color:var(--text-secondary);font-size:13px}.console-metric-strip strong{color:var(--text-primary);font-size:26px;line-height:1.1}.console-metric-strip small,.console-basket-card dd{color:var(--text-muted);font-size:12px}.operator-console-grid{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:18px;display:grid}.console-main,.console-side{gap:18px;display:grid}.console-progress-card,.console-basket-card,.console-advice-card,.console-recent-card{gap:14px;padding:18px;display:grid}.console-progress-card h3,.console-basket-card h3,.console-advice-card h3,.console-recent-card h3{color:var(--text-primary);margin:0;font-size:20px}.console-progress-card header,.console-basket-card header{justify-content:space-between}.console-progress-value{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.console-progress-value strong,.console-basket-card>strong{color:var(--text-primary);font-size:44px;line-height:1}.console-progress-value span{color:var(--text-secondary);font-size:16px;font-weight:800}.console-progress-track,.mobile-machine-progress{background:#edf2f6;border-radius:999px;height:14px;overflow:hidden}.console-progress-track span,.mobile-machine-progress span{border-radius:inherit;background:var(--running);height:100%;display:block}.console-mini-trend{border:1px solid var(--border);background:#f8fafc;border-radius:8px;align-items:end;gap:8px;min-height:86px;padding:12px;display:flex}.console-mini-trend span{background:var(--maintenance);border-radius:4px 4px 0 0;flex:1}.console-basket-card{border-left:6px solid var(--behind)}.console-basket-card--critical{border-color:var(--alarm);background:snow}.console-basket-card--restored{border-color:var(--running);background:#f6fbf8}.console-basket-card header span{color:var(--alarm);border:1px solid;border-radius:5px;padding:4px 8px;font-size:12px;font-weight:900}.console-basket-card--restored header span{color:var(--running)}.console-basket-card dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.console-basket-card dl div{border:1px solid var(--border);background:#fff;border-radius:6px;gap:2px;padding:10px;display:grid}.console-basket-card dt,.console-basket-card dd{margin:0}.console-basket-card dd{color:var(--text-primary);font-weight:900}.console-advice-card ol{gap:8px;margin:0;padding-left:18px;display:grid}.console-alert-row{border-top:1px solid var(--border);gap:4px;padding-top:10px;display:grid}.console-alert-row span{border:1px solid var(--alarm);width:fit-content;color:var(--alarm);border-radius:5px;padding:2px 7px;font-size:11px;font-weight:900}.console-alert-row strong{color:var(--text-primary)}.console-action-bar{flex-wrap:wrap;gap:10px;padding:12px;display:flex;position:sticky;bottom:0}.console-action-bar button,.console-action-bar a{border:1px solid var(--border-strong);min-height:56px;color:var(--text-primary);text-align:center;background:#fff;border-radius:7px;flex:160px;justify-content:center;align-items:center;padding:10px 14px;font-size:14px;font-weight:900;text-decoration:none;display:inline-flex}.console-action-bar button:not(:disabled){border-color:var(--maintenance);background:var(--maintenance);color:#fff}.console-action-bar button:disabled{cursor:not-allowed;color:var(--text-muted);background:#eef2f5}.tablet-stage{max-width:1210px;color:var(--text-primary);margin:0 auto}.tablet-stage__caption{color:var(--text-muted);text-align:center;letter-spacing:.04em;text-transform:uppercase;margin-bottom:10px;font-size:11px;font-weight:700}.tablet-machine-tabs{margin-bottom:8px}.tablet-frame{background:#fff;border:8px solid #303234;border-radius:28px;flex-direction:column;gap:10px;min-height:820px;padding:14px;display:flex;overflow:hidden;box-shadow:0 24px 50px #0f172a2e}.tablet-header{border:1px solid var(--border);border-radius:17px;grid-template-columns:auto minmax(250px,1fr) auto auto;align-items:center;gap:16px;min-height:62px;padding:10px 16px;display:grid}.tablet-header__identity{align-items:center;gap:12px;display:flex}.tablet-header__identity>strong{font-size:30px;line-height:1}.tablet-status{color:var(--running);text-transform:capitalize;white-space:nowrap;background:#e6f5ec;border-radius:999px;align-items:center;gap:6px;padding:6px 11px;font-size:12px;font-weight:900;display:inline-flex}.tablet-status i{background:currentColor;border-radius:50%;width:7px;height:7px}.tablet-status--level2_warning{color:var(--behind);background:#fff4dc}.tablet-status--level3_stop_alarm{color:var(--alarm);background:#fee8e8}.tablet-status--level4_intervention{color:var(--maintenance);background:#eaf2ff}.tablet-status--level5_comm_fault{color:#65758b;background:#edf0f4}.tablet-header__work{border-left:1px solid var(--border);gap:2px;padding-left:16px;display:grid}.tablet-header__work b{font-size:13px}.tablet-header__work small,.tablet-header__signal small,.tablet-header__gateway small{color:var(--text-muted);font-size:10px}.tablet-header__signal,.tablet-header__gateway{align-items:center;gap:9px;display:flex}.tablet-header__signal span,.tablet-header__gateway div{text-align:right;display:grid}.tablet-header__signal b,.tablet-header__gateway b{white-space:nowrap;font-size:12px}.tablet-header__gateway{border-left:1px solid var(--border);padding-left:15px}.tablet-header__gateway>span{color:var(--running);font-size:20px}.tablet-header__gateway--offline>span,.tablet-header__gateway--offline b{color:#65758b}.tablet-content{flex:1;grid-template-columns:340px minmax(360px,1fr) 320px;gap:12px;min-height:0;display:grid}.tablet-panel,.tablet-right>article{border:1px solid var(--border);background:#fff;border-radius:17px}.tablet-panel{flex-direction:column;min-height:0;padding:15px;display:flex}.tablet-panel>header,.tablet-basket header,.tablet-plc header,.tablet-urgent header{justify-content:space-between;align-items:center;gap:8px;display:flex}.tablet-panel h2,.tablet-right h2{margin:0;font-size:15px}.tablet-panel>header>span{color:var(--text-muted);font-size:10px}.tablet-oee-block{align-items:center;gap:14px;margin:10px 0 12px;display:flex}.tablet-oee-ring{background:conic-gradient(var(--running) var(--oee), #e7edf1 0);border-radius:50%;flex:0 0 126px;place-items:center;height:126px;display:grid}.tablet-oee-ring:before{content:"";background:#fff;border-radius:50%;width:92px;height:92px;position:absolute}.tablet-oee-ring>div{z-index:1;text-align:center;display:grid}.tablet-oee-ring strong{color:var(--running);font-size:28px;line-height:1}.tablet-oee-ring small{color:var(--text-muted);margin-top:5px;font-size:10px;font-weight:800}.tablet-oee-block dl{flex:1;gap:6px;margin:0;display:grid}.tablet-oee-block dl div{justify-content:space-between;align-items:center;display:flex}.tablet-oee-block dt{color:var(--text-secondary);align-items:center;gap:8px;font-size:12px;display:flex}.tablet-oee-block dt i{width:20px;height:20px;color:var(--text-primary);background:#f1f3f5;border-radius:6px;place-items:center;font-size:10px;font-style:normal;font-weight:900;display:grid}.tablet-oee-block dd{margin:0;font-size:12px;font-weight:900}.tablet-stat-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.tablet-stat-grid article{border:1px solid var(--border);border-radius:13px;gap:3px;min-height:76px;padding:9px 10px 8px 14px;display:grid;position:relative;overflow:hidden}.tablet-stat-grid article:before{background:var(--running);content:"";width:4px;position:absolute;inset:0 auto 0 0}.tablet-stat-grid span,.tablet-stat-grid small{color:var(--text-muted);font-size:10px}.tablet-stat-grid strong{font-size:20px;line-height:1}.tablet-stat-grid em{color:var(--text-secondary);margin-left:4px;font-size:10px;font-style:normal}.tablet-hourly{margin-top:auto}.tablet-hourly>div{justify-content:space-between;align-items:center;margin-bottom:6px;font-size:10px;display:flex}.tablet-hourly>div span{color:var(--running);background:#e6f5ec;border-radius:5px;padding:3px 6px;font-weight:800}.tablet-hourly figure{align-items:end;gap:6px;height:62px;margin:0;display:flex}.tablet-hourly figure i{background:#2d85da;border-radius:6px 6px 0 0;flex:1}.tablet-hourly>small{color:var(--text-muted);font-size:9px}.tablet-life-legend{color:var(--text-muted);gap:12px;margin:9px 0;font-size:9px;display:flex}.tablet-life-legend span{align-items:center;gap:4px;display:flex}.tablet-life-legend i{border-radius:50%;width:7px;height:7px}.tablet-life-legend .safe{background:var(--running)}.tablet-life-legend .attention{background:var(--behind)}.tablet-life-legend .intervention{background:var(--alarm)}.tablet-life ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.tablet-life-row{border:1px solid var(--border);border-radius:12px;gap:5px;padding:7px 10px 7px 13px;display:grid;position:relative;overflow:hidden}.tablet-life-row:before{background:var(--life-color);content:"";width:5px;position:absolute;inset:0 auto 0 0}.tablet-life-row--safe{--life-color:var(--running)}.tablet-life-row--attention{--life-color:var(--behind)}.tablet-life-row--intervention,.tablet-life-row--exhausted{--life-color:var(--alarm)}.tablet-life-row--exhausted{background:#fff1f1;border-color:#ef5b5b;animation:1.8s ease-out infinite severity-pulse}.tablet-life-row>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.tablet-life-row strong{font-size:12px}.tablet-life-row span{color:var(--life-color);white-space:nowrap;font-size:11px;font-weight:900}.tablet-life-row span b{background:color-mix(in srgb, var(--life-color) 12%, white);border-radius:5px;margin-left:4px;padding:2px 5px;font-size:9px}.tablet-life-row--exhausted span b{background:var(--alarm);color:#fff}.tablet-life-row>div:last-child{align-items:center}.tablet-life-row small{color:var(--text-muted);flex:none;font-size:9px}.tablet-life-meter{background:#edf1f4;border-radius:999px;flex:1;height:8px;overflow:hidden}.tablet-life-meter span{border-radius:inherit;background:var(--life-color);height:100%;margin:0;display:block}.tablet-life-meter--exhausted span{background:repeating-linear-gradient(45deg,#b30f18 0 8px,#ef4249 8px 16px) 0 0/28px 28px;width:100%;animation:.8s linear infinite exhausted-stripes}.tablet-right{flex-direction:column;gap:10px;min-height:0;display:flex}.tablet-right>article{padding:12px}.tablet-urgent{border-left:4px solid var(--running)!important;background:#f5fbf7!important}.tablet-urgent--active{animation:1.8s ease-out infinite severity-pulse;background:#ffe8e6!important;border-color:#ef5b5b!important}.tablet-urgent header>b{background:var(--running);color:#fff;border-radius:5px;padding:3px 8px;font-size:9px}.tablet-urgent--active header>b{background:#c90010}.tablet-urgent h3{margin:8px 0;font-size:16px}.tablet-urgent__metrics{grid-template-columns:1fr 1fr;gap:8px;display:grid}.tablet-urgent__metrics span{background:#ffffffb8;border-radius:10px;gap:2px;padding:8px 10px;display:grid}.tablet-urgent__metrics small,.tablet-urgent p{color:var(--text-secondary);font-size:10px}.tablet-urgent__metrics strong{color:var(--alarm);font-size:16px}.tablet-urgent p{margin:8px 0 0;line-height:1.45}.tablet-urgent__secondary{color:var(--alarm);background:#ffd4d1;border-radius:8px;margin-top:7px;padding:7px;font-size:9px;font-weight:800;display:block}.tablet-basket header b{color:var(--running);background:#e6f5ec;border-radius:5px;padding:3px 7px;font-size:9px}.tablet-basket--attention header b{color:var(--behind);background:#fff4dc}.tablet-basket--intervention header b{color:var(--alarm);background:#fee8e8}.tablet-basket>div{align-items:end;gap:8px;margin-top:4px;display:flex}.tablet-basket>div strong{color:var(--basket-color,var(--running));font-size:23px}.tablet-basket--attention{--basket-color:var(--behind)}.tablet-basket--intervention{--basket-color:var(--alarm)}.tablet-basket>div span{color:var(--text-muted);margin-bottom:3px;font-size:9px}.tablet-basket figure{background:#edf1f4;border-radius:999px;height:10px;margin:7px 0 4px;position:relative}.tablet-basket figure i{border-radius:inherit;background:var(--basket-color,var(--running));height:100%;display:block}.tablet-basket figure b{background:var(--behind);width:2px;position:absolute;inset-block:0}.tablet-basket figure b:last-child{background:var(--alarm)}.tablet-basket>small{color:var(--text-muted);justify-content:space-between;font-size:9px;display:flex}.tablet-reminder{align-items:start;gap:9px;display:flex}.tablet-reminder>span{color:var(--maintenance);font-size:18px}.tablet-reminder div{gap:3px;display:grid}.tablet-reminder b{font-size:12px}.tablet-reminder small{color:var(--text-muted);font-size:9px;line-height:1.35}.tablet-plc{flex-direction:column;flex:1;min-height:0;display:flex}.tablet-plc header b{border:1px solid var(--border);color:var(--text-muted);border-radius:5px;padding:2px 6px;font-size:9px}.tablet-plc ul{flex:1;grid-template-columns:1fr 1fr;gap:4px 12px;margin:7px 0 0;padding:0;list-style:none;display:grid}.tablet-plc li{color:var(--text-muted);border-bottom:1px solid #edf0f2;justify-content:space-between;align-items:center;font-size:9px;display:flex}.tablet-plc li strong{color:var(--text-primary);align-items:center;gap:4px;font-size:9px;display:flex}.tablet-plc li strong i{background:var(--running);border-radius:50%;width:5px;height:5px}.tablet-plc li strong.bad i{background:var(--alarm)}.tablet-actions{grid-template-columns:repeat(5,1fr);gap:11px;display:grid}.tablet-actions button,.tablet-actions a{border:1px solid var(--border);min-height:55px;color:var(--text-primary);text-align:center;background:#fff;border-radius:16px;justify-content:center;align-items:center;padding:8px;font-size:13px;font-weight:900;text-decoration:none;display:flex}.tablet-actions .primary{color:#fff;background:#171717;border-color:#171717}.tablet-actions button:disabled{color:#9aa5b2;cursor:not-allowed}.tablet-actions .primary:disabled{color:#bbb;background:#3c3c3c}@media (prefers-reduced-motion:reduce){.tablet-life-row--exhausted,.tablet-life-meter--exhausted span,.tablet-urgent--active{animation:none}}@media (width<=1180px){.tablet-frame{min-height:auto}.tablet-header{grid-template-columns:1fr 1fr}.tablet-header__work{border-left:0;border-top:1px solid var(--border);order:3;grid-column:1/-1;padding:8px 0 0}.tablet-content{grid-template-columns:minmax(300px,.8fr) minmax(360px,1fr)}.tablet-right{grid-column:1/-1;grid-template-columns:1.15fr .85fr;display:grid}.tablet-plc{grid-column:1/-1}}@media (width<=780px){.tablet-frame{border-width:5px;border-radius:22px;padding:10px}.tablet-header,.tablet-content,.tablet-right{grid-template-columns:1fr;display:grid}.tablet-header__work,.tablet-right,.tablet-plc{grid-column:auto}.tablet-header__signal,.tablet-header__gateway{border-left:0;justify-content:flex-start;padding-left:0}.tablet-header__signal span,.tablet-header__gateway div{text-align:left}.tablet-actions{grid-template-columns:1fr 1fr}.tablet-actions>:last-child{grid-column:1/-1}}@media (width<=1280px){.alarm-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.alarm-detail-stack{position:static}.machine-grid,.machine-grid--oee{grid-template-columns:repeat(2,minmax(240px,1fr))}.overview-layout,.oee-layout,.machine-detail-layout,.operator-console-grid,.bottom-grid,.maintenance-layout,.alarm-layout,.roles-layout{grid-template-columns:minmax(0,1fr)}.machine-detail-header,.operator-console-header,.console-metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.alarm-summary-grid,.maintenance-risk-context__grid,.alarm-machine-context,.alarm-evidence-grid{grid-template-columns:minmax(0,1fr)}.maintenance-risk-context>header{flex-direction:column;align-items:flex-start}.alarm-detail-card>.data-source{overflow-wrap:anywhere;white-space:normal}.page-title-row,.toolbar-row{flex-direction:column;align-items:stretch}.machine-summary-section__header{flex-direction:column;align-items:flex-start}.machine-life-snapshot__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.machine-grid,.machine-grid--oee,.chart-grid,.machine-detail-header,.operator-console-header,.console-metric-strip,.console-basket-card dl{grid-template-columns:minmax(0,1fr)}.console-title-row h2,.console-progress-value strong,.console-basket-card>strong{font-size:34px}.console-metric-strip article{border-left:0;border-top:1px solid var(--border)}.console-metric-strip article:first-child{border-top:0}.console-light-block,.console-progress-value{flex-direction:column;justify-content:flex-start;align-items:flex-start}.timeline{grid-template-columns:minmax(0,1fr);gap:12px}}@media (width<=480px){.machine-life-snapshot__grid{grid-template-columns:minmax(0,1fr)}}.mobile-stage{background:#18202b;border-radius:24px;place-items:center;gap:16px;min-height:900px;padding:24px;display:grid}.mobile-phone{color:#172130;background:#f3f6f9;border:10px solid #20252c;border-radius:46px;flex-direction:column;width:min(390px,100%);height:844px;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 60px #070f1a57}.mobile-system-bar{z-index:3;color:#fff;background:#202a3b;flex:0 0 44px;justify-content:space-between;align-items:center;padding:0 26px;font:650 13px/1 ui-monospace,monospace;display:flex;position:relative}.mobile-system-bar__notch{background:#090d13;border-radius:99px;width:112px;height:25px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.mobile-system-bar__icons{gap:6px;display:flex}.mobile-system-bar svg{width:15px;height:15px}.mobile-app{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.mobile-bottom-nav{z-index:4;background:#fffffff7;border-top:1px solid #dbe1e8;flex:0 0 76px;grid-template-columns:repeat(4,1fr);padding:8px 8px 17px;display:grid}.mobile-bottom-nav a{color:#6c7582;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:10px;font-weight:650;text-decoration:none;display:flex}.mobile-bottom-nav a.is-active{color:#2293a8}.mobile-nav-icon{place-items:center;display:grid;position:relative}.mobile-nav-icon svg{width:22px;height:22px}.mobile-nav-icon b{color:#fff;text-align:center;background:#df202d;border-radius:9px;min-width:17px;height:17px;padding:0 4px;font-size:9px;line-height:17px;position:absolute;top:-7px;right:-10px}.mobile-screen-header{color:#fff;background:#202a3b;flex:none;justify-content:space-between;align-items:center;padding:22px 22px 18px;display:flex}.mobile-screen-header h1,.mobile-detail-header h1{margin:0;font-size:18px;line-height:1.2}.mobile-screen-header p,.mobile-detail-header p{color:#b9c2cf;margin:4px 0 0;font-size:11px}.mobile-mode{color:#d8f8ff;background:#2293a833;border:1px solid #ffffff2e;border-radius:99px;padding:6px 10px;font-size:10px;font-weight:700}.mobile-scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#87909b transparent;flex:1;min-height:0;overflow-y:auto}.mobile-overview-body,.mobile-detail-body{padding:16px}.mobile-scenario{color:#657083;background:#fff;border:1px solid #d8dfe8;border-radius:13px;align-items:center;gap:6px;margin-bottom:14px;padding:10px 12px;font-size:11px;display:flex}.mobile-scenario>span{background:#159961;border-radius:50%;width:8px;height:8px}.mobile-scenario strong{color:#273244;text-transform:capitalize}.mobile-scenario em{margin-left:auto;font-family:ui-monospace,monospace;font-style:normal}.mobile-kpi-grid{grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:14px;display:grid}.mobile-kpi-grid>div{background:#fff;border:1px solid #dbe1e8;border-radius:18px;min-height:76px;padding:11px;box-shadow:0 2px 5px #2333461a}.mobile-kpi-grid svg{color:#268da3;vertical-align:middle;width:14px;height:14px}.mobile-kpi-grid span{color:#737d8c;text-transform:uppercase;margin-left:4px;font-size:9px;font-weight:700}.mobile-kpi-grid strong{color:#162133;margin-top:7px;font:750 19px/1 ui-monospace,monospace;display:block}.mobile-filter-pills{z-index:2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f3f6f9f0;gap:7px;margin:0 -16px 12px;padding:11px 16px;display:flex;position:sticky;top:-16px;overflow-x:auto}.mobile-filter-pills button{color:#697383;background:#fff;border:1px solid #d6dde6;border-radius:99px;flex:none;padding:8px 12px;font:650 11px/1 inherit}.mobile-filter-pills button.is-active{color:#fff;background:#202a3b;border-color:#202a3b}.mobile-filter-pills b{margin-left:3px;font-family:ui-monospace,monospace}.mobile-machine-list{gap:12px;display:grid}.mobile-machine-card{--tone:#17945d;border:1px solid #d9e0e8;border-left:4px solid var(--tone);color:inherit;background:#fff;border-radius:20px;padding:15px;text-decoration:none;display:block;box-shadow:0 2px 6px #1f2e411c}.mobile-machine-card__head{justify-content:space-between;gap:10px;display:flex}.mobile-machine-card__head h2{margin:0;font:750 16px/1.2 ui-monospace,monospace}.mobile-machine-card__head p{color:#707a89;white-space:nowrap;text-overflow:ellipsis;margin:6px 0 0;font-size:11px;overflow:hidden}.mobile-machine-card__head>svg{color:#9ca5b1;width:19px}.mobile-chip{color:#148850;vertical-align:2px;background:#e6f7ed;border-radius:99px;margin-left:4px;padding:4px 8px;font:700 10px/1 inherit;display:inline-flex}.mobile-chip--warn{color:#c27600;background:#fff1d3}.mobile-chip--alarm{color:#d5212b;background:#ffe1df}.mobile-chip--info{color:#276db5;background:#e0efff}.mobile-chip--offline{color:#687386;background:#edf0f4}.mobile-machine-card__metrics{grid-template-columns:76px 1fr;gap:12px;margin-top:15px;display:grid}.mobile-machine-card__metrics>strong{color:var(--tone);font:800 25px/1 ui-monospace,monospace}.mobile-machine-card__metrics>strong small{color:#758090;margin-top:6px;font:700 9px/1 inherit;display:block}.mobile-machine-card__metrics>div{min-width:0;position:relative}.mobile-machine-card__metrics span{color:#727d8d;text-transform:uppercase;font-size:9px;font-weight:700;display:block}.mobile-machine-card__metrics b{margin-top:4px;font:750 14px/1.2 ui-monospace,monospace;display:block}.mobile-machine-card__metrics b em{color:#7c8593;font-style:normal;font-weight:550}.mobile-machine-card__metrics i{color:#697485;align-items:center;gap:3px;font:500 10px/1 ui-monospace,monospace;display:inline-flex;position:absolute;top:15px;right:0}.mobile-machine-card__metrics i svg{width:13px}.mobile-machine-card__metrics>div>div{background:#e8edf2;border-radius:9px;height:7px;margin-top:9px;overflow:hidden}.mobile-machine-card__metrics u{border-radius:inherit;background:var(--tone);height:100%;display:block}.mobile-machine-card__metrics div small{color:var(--tone);text-align:right;margin-top:4px;font-size:9px;display:block}.mobile-machine-card footer{color:#536071;white-space:nowrap;text-overflow:ellipsis;background:#f1f4f7;border-radius:10px;align-items:center;gap:5px;margin-top:12px;padding:8px 9px;font-size:10px;display:flex;overflow:hidden}.mobile-machine-card footer svg{flex:none;width:14px}.mobile-machine-card footer span{color:#c0c6cd}.mobile-tone--run{--tone:#15945b}.mobile-tone--warn{--tone:#cc8207}.mobile-tone--alarm{--tone:#d2232c}.mobile-tone--info{--tone:#2e73b9}.mobile-tone--offline{--tone:#6c788c}.mobile-readonly-note{color:#7b8592;text-align:center;margin:14px 8px 4px;font-size:9px;line-height:1.5}.mobile-detail-header{color:#fff;background:#202a3b;flex:none;padding:16px 18px 14px}.mobile-detail-title{align-items:center;gap:10px;display:flex}.mobile-detail-title>a{color:#fff;background:#ffffff1a;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.mobile-detail-title svg{width:20px}.mobile-detail-context{color:#bdc6d2;align-items:center;gap:10px;margin-top:12px;font-size:10px;display:flex}.mobile-detail-context span{align-items:center;gap:4px;display:flex}.mobile-detail-context svg{width:13px}.mobile-detail-context strong{color:#f2f5f8;margin-left:auto;font-size:10px}.mobile-detail-context .is-online{color:#72e1aa}.mobile-detail-context .is-offline{color:#ff8d93}.mobile-detail-tabs{background:#fff;border-bottom:1px solid #dbe1e8;flex:0 0 47px;grid-template-columns:repeat(3,1fr);display:grid}.mobile-detail-tabs a{color:#687384;place-items:center;font-size:11px;font-weight:700;text-decoration:none;display:grid;position:relative}.mobile-detail-tabs a.is-active{color:#172130}.mobile-detail-tabs a.is-active:after{content:"";background:#2495a9;border-radius:4px;height:3px;position:absolute;bottom:0;left:18px;right:18px}.mobile-detail-body{align-content:start;gap:12px;display:grid}.mobile-panel{background:#fff;border:1px solid #d9e0e8;border-radius:20px;padding:15px;box-shadow:0 2px 5px #1f2e4117}.mobile-live-hero__top{align-items:center;gap:18px;display:flex}.mobile-oee-ring{--tone:#15945b;--oee:0deg;background:radial-gradient(circle, #fff 58%, transparent 60%), conic-gradient(var(--tone) var(--oee), #e8edf3 0);text-align:center;border-radius:50%;flex:0 0 106px;place-content:center;height:106px;display:grid}.mobile-oee-ring strong{font:750 23px/1 ui-monospace,monospace}.mobile-oee-ring span{color:#6f7888;letter-spacing:.08em;margin-top:5px;font-size:9px;font-weight:700}.mobile-apq{flex:1;gap:10px;display:grid}.mobile-apq>div{grid-template-columns:17px 1fr 34px;align-items:center;gap:7px;font:650 11px/1 ui-monospace,monospace;display:grid}.mobile-apq b{color:#687385}.mobile-apq span{background:#e8edf2;border-radius:9px;height:7px;overflow:hidden}.mobile-apq i{border-radius:inherit;background:#636d7b;height:100%;display:block}.mobile-apq strong{text-align:right}.mobile-output{border-top:1px solid #e0e5eb;margin-top:15px;padding-top:13px;position:relative}.mobile-output>span{color:#727d8c;text-transform:uppercase;font-size:9px;font-weight:700}.mobile-output>strong{margin-top:5px;font:750 17px/1.2 ui-monospace,monospace;display:block}.mobile-output>strong small{color:#7b8593;font-size:12px}.mobile-output>em{color:#657182;align-items:center;gap:3px;font:500 10px/1 ui-monospace,monospace;display:flex;position:absolute;top:32px;right:0}.mobile-output>em svg{width:14px}.mobile-output>div{background:#e8edf2;border-radius:9px;height:9px;margin-top:10px;overflow:hidden}.mobile-output>div i{border-radius:inherit;height:100%;display:block}.mobile-output>small{color:#717c8c;margin-top:5px;font-size:9px;display:block}.mobile-bg--run{background:#15945b}.mobile-bg--warn{background:#cc8207}.mobile-bg--alarm{background:#d2232c}.mobile-bg--info{background:#2e73b9}.mobile-bg--offline{background:#6c788c}.mobile-section-title{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:12px;display:flex}.mobile-section-title h2{align-items:center;gap:5px;margin:0;font-size:14px;display:flex}.mobile-section-title h2 svg{width:15px}.mobile-section-title p{color:#788292;margin:3px 0 0;font-size:9px}.mobile-section-title>span{color:#27859a;text-transform:capitalize;background:#e4f3fa;border-radius:99px;padding:4px 7px;font-size:9px;font-weight:700}.mobile-metric-grid{grid-template-columns:repeat(2,1fr);gap:9px;display:grid}.mobile-metric-grid>div{background:#f8fafc;border:1px solid #dce2e9;border-radius:14px;padding:12px}.mobile-metric-grid span{color:#697586;text-transform:uppercase;font-size:9px;font-weight:700}.mobile-metric-grid strong{margin-top:8px;font:750 18px/1 ui-monospace,monospace;display:block}.mobile-metric-grid small{color:#707b8b;font-size:9px}.mobile-trend-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.mobile-trend-grid>div>span{color:#6f7a89;font-size:9px}.mobile-spark-bars{--tone:#2e86d1;align-items:end;gap:3px;height:48px;margin-top:7px;display:flex}.mobile-spark-bars span{background:var(--tone);border-radius:3px 3px 1px 1px;flex:1;min-height:5px}.mobile-basket>strong{color:var(--tone);font:750 22px/1 ui-monospace,monospace}.mobile-threshold{background:#e8edf2;border-radius:8px;height:10px;margin-top:10px;position:relative}.mobile-threshold i{border-radius:inherit;background:var(--tone);height:100%;display:block}.mobile-threshold b{background:#c4810c;width:1px;height:100%;position:absolute;top:0}.mobile-basket>small{color:#6f7a89;margin-top:7px;font-size:9px;display:block}.mobile-event{border-left:4px solid #cc8207}.mobile-event--critical{background:#fff5f4;border-color:#d2232c}.mobile-event--high{background:#fff8f3;border-color:#e95413}.mobile-event h3{margin:0 0 5px;font-size:13px}.mobile-event>p{color:#626e7f;margin:0 0 8px;font-size:10px;line-height:1.45}.mobile-event>small{color:#7c8695;font-size:9px}.mobile-life-legend{color:#6f7a89;background:#fff;border-radius:12px;gap:8px;padding:9px 10px;font-size:8px;display:flex}.mobile-life-legend span:before{content:"";background:#17945d;border-radius:50%;width:7px;height:7px;margin-right:4px;display:inline-block}.mobile-life-legend .is-attention:before{background:#cc8207}.mobile-life-legend .is-intervention:before{background:#d2232c}.mobile-life-card{--tone:#17945d;border:1px solid #d9e0e8;border-left:4px solid var(--tone);background:#fff;border-radius:16px;padding:13px}.mobile-life-card>div:first-child{justify-content:space-between;gap:8px;display:flex}.mobile-life-card h2{margin:0;font-size:13px}.mobile-life-card>div:first-child span{color:var(--tone);text-transform:capitalize;font-size:9px;font-weight:800}.mobile-life-value{justify-content:space-between;align-items:baseline;gap:8px;margin-top:9px;display:flex}.mobile-life-value strong{color:var(--tone);font:750 18px/1 ui-monospace,monospace}.mobile-life-value small{color:#737e8d;font-size:9px}.mobile-life-track{background:#e8edf2;border-radius:7px;height:8px;margin-top:9px;overflow:hidden}.mobile-life-track i{border-radius:inherit;background:var(--tone);height:100%;display:block}.mobile-life-card--attention{--tone:#cc8207}.mobile-life-card--intervention,.mobile-life-card--exhausted{--tone:#d2232c}.mobile-life-card--exhausted{background:#fff4f4}.mobile-life-card--unavailable{--tone:#6c788c;background:#f5f7f9}.mobile-exhausted-bar{background:repeating-linear-gradient(135deg,#d2232c 0 8px,#7e0c13 8px 13px) 0 0/28px 28px;border-radius:3px;height:12px;margin-top:9px;animation:1s linear infinite mobile-stripes}@keyframes mobile-stripes{to{background-position:28px 0}}.mobile-signal-list{margin:0}.mobile-signal-list>div{border-top:1px solid #e4e8ed;justify-content:space-between;gap:12px;padding:9px 0;font-size:10px;display:flex}.mobile-signal-list>div:first-child{border-top:0}.mobile-signal-list dt{color:#6e7988}.mobile-signal-list dd{text-align:right;margin:0;font:700 10px/1.3 ui-monospace,monospace}.mobile-tower-output{background:#f3f6f8;border-radius:13px;align-items:center;gap:12px;padding:11px;display:flex}.mobile-tower-output>div{flex-direction:column;gap:4px;display:flex}.mobile-tower-output i{background:#ccd4dd;border-radius:50%;width:11px;height:11px}.mobile-tower-output .is-red{background:#df2530}.mobile-tower-output .is-yellow{background:#d8920d}.mobile-tower-output .is-green{background:#16945d}.mobile-tower-output strong{text-transform:capitalize;font-size:11px}.mobile-field-actions{background:#fff;border-top:1px solid #dbe1e8;flex:none;padding:10px 16px 17px}.mobile-field-actions>p{color:#6b7686;margin:0 0 8px;font-size:9px}.mobile-field-actions>div{gap:7px;display:flex}.mobile-field-actions button{color:#172130;background:#fff;border:1px solid #d7dee6;border-radius:13px;flex:1;min-height:44px;padding:8px;font-size:10px;font-weight:750}.mobile-field-actions button.is-primary{color:#fff;background:#202a3b;border-color:#202a3b}.mobile-field-actions span{color:#76808e;text-align:center;background:#f2f5f8;border-radius:12px;width:100%;padding:10px;font-size:9px;display:block}.mobile-empty{text-align:center;place-content:center;gap:12px;height:100%;padding:30px;display:grid}.mobile-empty a{color:#238fa4}@media (width<=560px){.mobile-stage{border-radius:0;min-height:100dvh;padding:0}.mobile-phone{border:0;border-radius:0;width:100%;height:100dvh}.mobile-system-bar__notch{display:none}}@media (prefers-reduced-motion:reduce){.mobile-exhausted-bar{animation:none}}.mobile-list-body{padding:16px}.mobile-severity-filters{top:-16px}.mobile-event-list,.mobile-task-list{gap:12px;display:grid}.mobile-alert-card{--severity:#d88b0a;border:1px solid #d9e0e8;border-left:4px solid var(--severity);color:inherit;background:#fff;border-radius:20px;padding:15px;text-decoration:none;display:block;box-shadow:0 2px 6px #1f2e411a}.mobile-alert-card>div{align-items:center;gap:7px;display:flex}.mobile-alert-card>div strong{font:750 13px/1 ui-monospace,monospace}.mobile-alert-card>div span{color:#7a8493;font-size:10px}.mobile-alert-card>div b{background:color-mix(in srgb, var(--severity) 14%, white);color:var(--severity);text-transform:uppercase;border-radius:99px;margin-left:auto;padding:5px 8px;font-size:9px}.mobile-alert-card h2{margin:10px 0 5px;font-size:14px}.mobile-alert-card p{color:#677284;margin:0;font-size:10px;line-height:1.5}.mobile-alert-card footer{color:#7b8593;align-items:center;gap:6px;margin-top:11px;font-size:9px;display:flex}.mobile-alert-card footer span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mobile-alert-card footer em{color:var(--severity);margin-left:auto;font-style:normal;font-weight:750}.mobile-alert-card footer svg{width:15px}.mobile-alert-card.is-resolved{opacity:.55}.mobile-severity--critical{--severity:#c91825}.mobile-severity--high{--severity:#ed5012}.mobile-severity--warning{--severity:#d88b0a}.mobile-severity--info{--severity:#3178c6}.mobile-alarm-detail-header{border-bottom:4px solid var(--severity)}.mobile-copy{color:#606c7d;margin:0;font-size:10px;line-height:1.55}.mobile-check-list{color:#536071;margin:10px 0 0;padding-left:18px;font-size:10px;line-height:1.7}.mobile-open-machine{color:#23899d;background:#fff;border:1px solid #d6dee7;border-radius:14px;justify-content:space-between;align-items:center;min-height:46px;padding:0 14px;font-size:11px;font-weight:750;text-decoration:none;display:flex}.mobile-open-machine svg{width:16px}.mobile-risk-strip{background:#fff;border:1px solid #d9e0e8;border-radius:20px;gap:8px;margin-bottom:4px;padding:14px;display:grid}.mobile-risk-strip h2{margin:0;font-size:14px}.mobile-risk-strip p{color:#7a8492;margin:3px 0;font-size:9px}.mobile-risk-item{--tone:#d2232c;border-left:3px solid var(--tone);background:#fff5f4;border-radius:9px;grid-template-columns:1fr auto;gap:4px;padding:9px 10px;display:grid}.mobile-risk-item span{font-size:9px;font-weight:700}.mobile-risk-item strong{color:var(--tone);font:750 10px/1 ui-monospace,monospace}.mobile-risk-item .mobile-exhausted-bar{grid-column:1/-1;height:7px;margin-top:3px}.mobile-task-card{--priority:#d88b0a;border:1px solid #d9e0e8;border-left:4px solid var(--priority);color:inherit;background:#fff;border-radius:20px;grid-template-columns:40px 1fr 16px;align-items:start;gap:10px;padding:14px;text-decoration:none;display:grid;box-shadow:0 2px 6px #1f2e411a}.mobile-task-icon{color:#687485;background:#eef2f6;border-radius:13px;place-items:center;width:38px;height:38px;display:grid}.mobile-task-icon svg{width:18px}.mobile-task-card>div>div{align-items:center;gap:6px;display:flex}.mobile-task-card>div strong{font:750 11px/1 ui-monospace,monospace}.mobile-task-card b,.mobile-task-card em{background:color-mix(in srgb, var(--priority) 13%, white);color:var(--priority);text-transform:capitalize;border-radius:99px;padding:4px 7px;font-size:8px;font-style:normal}.mobile-task-card em{color:#687383;background:#eef2f5;margin-left:auto}.mobile-task-card h2{margin:8px 0 4px;font-size:13px;line-height:1.35}.mobile-task-card p{color:#687385;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:9px;line-height:1.45;display:-webkit-box;overflow:hidden}.mobile-task-card>svg{color:#a0a8b2;width:16px}.mobile-priority--urgent{--priority:#c91825}.mobile-priority--high{--priority:#ed5012}.mobile-priority--medium{--priority:#d88b0a}.mobile-priority--low{--priority:#3178c6}.mobile-task-hero{border-left:4px solid var(--priority)}.mobile-task-life{--tone:#d2232c;background:#f5f7f9;border-radius:11px;justify-content:space-between;align-items:baseline;gap:8px;margin-top:12px;padding:10px;display:flex}.mobile-task-life strong{color:var(--tone);font:750 18px/1 ui-monospace,monospace}.mobile-task-life span{color:#6f7a89;font-size:9px}.mobile-safety-note{color:#687483;background:#f0f5f8;border-radius:10px;margin:12px 0 0;padding:9px;font-size:9px;line-height:1.45}.mobile-resolution{gap:7px;display:grid}.mobile-resolution span{color:#6e7989;text-transform:uppercase;font-size:9px;font-weight:700}.mobile-resolution select{background:#fff;border:1px solid #d6dde6;border-radius:11px;min-height:42px;padding:0 10px}.mobile-empty-state{color:#778190;text-align:center;padding:30px 0;font-size:11px}.mobile-profile-body{align-content:start;gap:16px;display:grid}.mobile-profile-card{background:#fff;border:1px solid #d9e0e8;border-radius:22px;align-items:center;gap:14px;padding:18px;display:flex;box-shadow:0 2px 6px #1f2e411a}.mobile-profile-card>span{color:#fff;background:#202a3b;border-radius:50%;place-items:center;width:58px;height:58px;display:grid}.mobile-profile-card svg{width:25px}.mobile-profile-card h2{margin:0;font-size:17px}.mobile-profile-card p{color:#6e7888;margin:4px 0 7px;font-size:10px}.mobile-profile-card b{color:#13864f;background:#e1f7e9;border-radius:99px;align-items:center;gap:5px;padding:4px 8px;font-size:9px;display:inline-flex}.mobile-profile-card i{background:#15945b;border-radius:50%;width:7px;height:7px}.mobile-profile-list{background:#fff;border:1px solid #d9e0e8;border-radius:20px;overflow:hidden;box-shadow:0 2px 6px #1f2e411a}.mobile-profile-list>div{border-top:1px solid #e1e6ec;grid-template-columns:21px 1fr auto 16px;align-items:center;gap:10px;min-height:53px;padding:0 15px;display:grid}.mobile-profile-list>div:first-child{border-top:0}.mobile-profile-list svg{color:#6c7787;width:17px}.mobile-profile-list strong{font-size:12px}.mobile-profile-list span{color:#6e7989;font-size:10px}.mobile-profile-note h2{margin:0 0 7px;font-size:13px}.mobile-profile-note p{color:#677384;margin:0;font-size:9px;line-height:1.55}.mobile-phone,.mobile-phone *{font-family:Inter,Segoe UI,Arial,sans-serif}.mobile-phone{border:1px solid var(--border-strong);width:min(100%,430px);min-height:720px;box-shadow:var(--shadow-panel);background:#f7f9fb;border-radius:8px;grid-template-rows:auto 1fr auto;display:grid;overflow:hidden}.mobile-header{border-bottom:1px solid var(--border);background:#fff;gap:10px;padding:16px;display:grid}.mobile-header__top,.mobile-title-row,.mobile-tabbar,.mobile-filter-row,.mobile-actions,.mobile-metric-row,.mobile-status-row,.mobile-pressure-grid{align-items:center;gap:8px;display:flex}.mobile-header__top,.mobile-title-row{justify-content:space-between}.mobile-header h2{color:var(--text-primary);margin:0;font-size:20px;line-height:1.1}.mobile-header p,.mobile-card p,.mobile-note,.mobile-empty{color:var(--text-secondary);margin:0;font-size:12px}.mobile-pill,.mobile-status,.mobile-priority,.mobile-source{border:1px solid var(--border);width:fit-content;min-height:24px;color:var(--text-secondary);background:#fff;border-radius:5px;align-items:center;padding:3px 8px;font-size:11px;font-weight:800;line-height:1.2;display:inline-flex}.mobile-pill--demo{border-color:var(--maintenance);color:var(--maintenance)}.mobile-pill--push,.mobile-priority--urgent,.mobile-priority--high{border-color:var(--alarm);color:var(--alarm);background:#fff5f5}.mobile-priority--medium,.mobile-status--assigned,.mobile-status--open,.mobile-status--sent,.mobile-status--read{border-color:var(--behind);color:var(--behind);background:#fff8ec}.mobile-priority--low,.mobile-status--accepted,.mobile-status--on_the_way,.mobile-status--in_progress,.mobile-status--acknowledged{border-color:var(--maintenance);color:var(--maintenance);background:#f2f7fd}.mobile-status--resolved{border-color:var(--running);color:var(--running);background:#effaf4}.mobile-status--need_parts{border-color:var(--offline);color:var(--offline);background:#f3f5f7}.mobile-content{align-content:start;gap:12px;padding:14px;display:grid;overflow:auto}.mobile-card{border:1px solid var(--border);border-left:4px solid var(--maintenance);box-shadow:var(--shadow-panel);background:#fff;border-radius:8px;gap:12px;padding:14px;display:grid}.mobile-machine-card{border:1px solid var(--border);border-left:4px solid var(--running);color:inherit;box-shadow:var(--shadow-panel);background:#fff;border-radius:8px;gap:12px;padding:14px;text-decoration:none;display:grid}.mobile-machine-card--high{border-left-color:var(--alarm)}.mobile-machine-card--medium,.mobile-machine-card--warning{border-left-color:var(--behind)}.mobile-machine-card__header,.mobile-machine-signal,.mobile-machine-footer{align-items:center;gap:10px;display:flex}.mobile-machine-card__header{justify-content:space-between}.mobile-machine-card__header>div{min-width:0}.mobile-machine-card h3{color:var(--text-primary);margin:0;font-size:18px;line-height:1.1}.mobile-machine-card p,.mobile-machine-signal span{color:var(--text-secondary);margin:3px 0 0;font-size:12px;line-height:1.3}.mobile-machine-signal{border:1px solid var(--border);background:#f8fafc;border-radius:6px;align-items:flex-start;padding:9px}.mobile-machine-footer{flex-wrap:wrap;justify-content:space-between}.mobile-machine-footer strong{color:var(--text-primary);font-size:12px}.mobile-machine-progress{height:8px}.mobile-card--alarm,.mobile-card--urgent{border-left-color:var(--alarm)}.mobile-card--warning{border-left-color:var(--behind)}.mobile-card h3{color:var(--text-primary);margin:0;font-size:16px;line-height:1.2}.mobile-card dl{gap:8px;margin:0;display:grid}.mobile-card dl div{color:var(--text-secondary);gap:2px;font-size:12px;display:grid}.mobile-watch-row,.mobile-detail-row{color:var(--text-secondary);grid-template-columns:minmax(0,1fr) auto;gap:10px;font-size:12px;display:grid}.mobile-card dt,.mobile-card dd{margin:0}.mobile-card dd,.mobile-watch-row strong,.mobile-detail-row strong{color:var(--text-primary);font-weight:800}.mobile-card dd{text-align:left}.mobile-watch-row strong,.mobile-detail-row strong{text-align:right}.mobile-metric-row{align-items:stretch}.mobile-metric{border:1px solid var(--border);background:#f8fafc;border-radius:6px;flex:1;gap:2px;padding:9px;display:grid}.mobile-metric span{color:var(--text-secondary);font-size:11px}.mobile-metric strong{color:var(--text-primary);font-size:19px;line-height:1}.mobile-actions{flex-wrap:wrap}.mobile-button{border:1px solid var(--border-strong);min-height:38px;color:var(--text-primary);background:#fff;border-radius:6px;flex:132px;padding:8px 10px;font-size:12px;font-weight:900}.mobile-button--primary{border-color:var(--maintenance);background:var(--maintenance);color:#fff}.mobile-button--danger{border-color:var(--alarm);background:var(--alarm);color:#fff}.mobile-button:disabled{cursor:not-allowed;border-color:var(--border);color:var(--text-muted);background:#eef2f5}.mobile-filter-row{padding-bottom:2px;overflow-x:auto}.mobile-filter-row button{border:1px solid var(--border);color:var(--text-secondary);background:#fff;border-radius:6px;flex:none;padding:8px 10px;font-size:12px;font-weight:800}.mobile-filter-row button.is-active{border-color:var(--maintenance);color:var(--maintenance);background:#f2f7fd}.mobile-pressure-grid{align-items:stretch}.mobile-pressure{border:1px solid var(--border);background:#fff;border-radius:6px;flex:1;gap:2px;padding:9px;display:grid}.mobile-pressure span{color:var(--text-secondary);font-size:11px;font-weight:800}.mobile-pressure strong{color:var(--text-primary);font-size:20px;line-height:1}.mobile-watchlist{border:1px solid var(--border);background:#fff;border-radius:8px;gap:10px;padding:12px;display:grid}.mobile-watchlist h3{margin:0;font-size:14px}.mobile-watch-row{border-top:1px solid var(--border);padding-top:9px}.mobile-resolve-panel{border:1px solid var(--border-strong);background:#f8fafc;border-radius:8px;padding:12px}.mobile-resolve-panel h4{margin:0 0 6px;font-size:14px}.mobile-boundary{border-left:4px solid var(--border-strong)}.mobile-tabbar{border-top:1px solid var(--border);background:#fff;justify-content:space-around;padding:8px}.mobile-tabbar a,.mobile-tabbar span{color:var(--text-muted);text-align:center;border-radius:6px;flex:1;padding:7px 4px;font-size:11px;font-weight:900;text-decoration:none}.mobile-tabbar .is-active{color:var(--maintenance);background:#f2f7fd}@media (width<=720px){.mobile-stage{justify-items:stretch}.mobile-phone{width:100%;min-height:calc(100vh - 118px)}}@media (width<=390px){.mobile-header,.mobile-content,.mobile-card,.mobile-machine-card{padding-left:12px;padding-right:12px}.mobile-title-row,.mobile-machine-card__header{flex-direction:column;align-items:flex-start}.mobile-metric-row,.mobile-pressure-grid{flex-direction:column}.mobile-metric,.mobile-pressure{width:100%}}.page-placeholder{flex-direction:column;gap:1.5rem;display:flex}.page-placeholder__hero{background:linear-gradient(#ffffffe0,#faf6eef0),linear-gradient(135deg,#0891b20a,#0000 60%);border:1px solid #13222c17;border-radius:1.5rem;justify-content:space-between;gap:1.5rem;padding:1.5rem;display:flex;box-shadow:0 20px 45px #1226330f}.page-placeholder__hero h2,.page-placeholder__hero p{margin:0}.page-placeholder__hero h2{color:#13222c;font-size:clamp(1.5rem,2vw,2rem);line-height:1.15}.page-placeholder__hero>div:first-child>p:last-child{color:#516069;max-width:48rem;margin-top:.75rem;line-height:1.65}.page-placeholder__meta{color:#9a3412;letter-spacing:.08em;text-transform:uppercase;font-size:.85rem;font-weight:700;margin-bottom:.65rem!important}.page-placeholder__chips{flex-direction:column;align-items:flex-end;gap:.75rem;display:flex}.page-placeholder__chips span{color:#203641;background:#13222c14;border-radius:999px;align-items:center;padding:.55rem .8rem;font-size:.84rem;font-weight:700;display:inline-flex}.page-placeholder__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.placeholder-card{background:#fffc;border:1px solid #13222c14;border-radius:1.3rem;padding:1.35rem}.placeholder-card h3,.placeholder-card p,.placeholder-card ul{margin:0}.placeholder-card h3{color:#13222c;font-size:1rem}.placeholder-card p,.placeholder-card li{color:#54646d;line-height:1.65}.placeholder-card p,.placeholder-card ul{margin-top:.8rem}.placeholder-card ul{padding-left:1.15rem}.placeholder-card--wide{grid-column:1/-1}.domain-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin-top:1rem;display:grid}.domain-grid>div{background:#13222c0f;border-radius:1rem;flex-direction:column;gap:.35rem;min-width:0;padding:1rem;display:flex}.domain-grid strong{color:#13222c;font-size:1.25rem}.domain-grid small{color:#60717b;line-height:1.45}.domain-label{color:#9a3412;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:800}.action-row{flex-wrap:wrap;gap:.7rem;margin-top:1rem;display:flex}.action-row button{color:#fffaf0;cursor:pointer;background:#13222c;border:1px solid #13222c24;border-radius:.9rem;padding:.75rem .95rem;font-weight:800;transition:transform .14s,opacity .14s}.action-row button:not(:disabled):hover{transform:translateY(-1px)}.action-row button:disabled{cursor:not-allowed;opacity:.42}.gate-note{color:#54646d;margin-top:1rem!important}@media (width<=860px){.page-placeholder__hero{flex-direction:column}.page-placeholder__chips{flex-flow:wrap;align-items:flex-start}.page-placeholder__grid{grid-template-columns:1fr}.placeholder-card--wide{grid-column:auto}.domain-grid{grid-template-columns:1fr}}:root{color:#17212b;--page-bg:#f4f6f8;--surface:#fff;--subtle:#eef2f5;--border:#d9e0e7;--border-strong:#b8c4d0;--text-primary:#17212b;--text-secondary:#5b6673;--text-muted:#8a95a3;--running:#168a54;--behind:#c47a12;--stopped:#d2a106;--alarm:#c62828;--maintenance:#2f6db3;--offline:#667085;--measured:#1f7a8c;--estimated:#7a5af8;--manual:#6b7280;--missing:#9aa4b2;--info:#2f6db3;--shadow-panel:0 1px 2px #10182814;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f4f6f8;font-family:Inter,Segoe UI,Arial,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{scrollbar-gutter:stable}body{background:var(--page-bg);min-width:320px;min-height:100vh;margin:0}body,button,input,select,textarea{font:inherit}button,input,select,textarea,a{color:inherit}#root{min-height:100vh}
