:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#070b12;--bg-soft:#0c1421;--panel:#111b2beb;--panel-strong:#111d2e;--panel-muted:#0f1928;--line:#819bb933;--line-strong:#819bb957;--text:#eef5ff;--muted:#8fa2b8;--muted-strong:#b7c7d9;--accent:#38bdf8;--accent-strong:#0ea5e9;--healthy:#22c55e;--warning:#f59e0b;--critical:#ef4444;--stale:#94a3b8;--unknown:#64748b;--program-change:#8b5cf6;--shadow:0 22px 60px #00000059;--text-strong:#fff;--body-bg:radial-gradient(circle at 22% 0%, #0ea5e929, transparent 32%), radial-gradient(circle at 82% 18%, #22c55e17, transparent 26%), linear-gradient(135deg, #05070d 0%, #0a1320 46%, #08101a 100%);--sidebar-bg:linear-gradient(180deg, #080e18f5, #0a121eeb);--topbar-bg:linear-gradient(180deg, #070b12fa, #070b12e6), #070b12f5;--kpi-card-bg:linear-gradient(180deg, #131f31f0, #0d1624eb);--health-card-bg:linear-gradient(160deg, #142134f5, #09121ff5);--input-bg:#0f1928;--input-bg-locked:#111c2d;--surface-solid:#0b1422;--surface-solid-2:#0f172a;--code-bg:#020617;--well:#060c168c;--well-soft:#060c1659;--well-mid:#060c1680;--chart-bg-top:#070d176b;--chart-bg-bottom:#070d1733;--tooltip-bg:#070d17f0;--track-bg:#070d17b8;--track-bg-soft:#070d178a;--track-bg-2:#080e18b8;--stat-bg:#0f172a57;--filter-bg:#0f172a8c;--bar-bg:#0f172ad6;--stripe-bg:#0f172a80;--slate-panel-weak:#1e293b85;--slate-panel:#1e293b94;--slate-panel-strong:#1e293bb3;--scrollbar-thumb:#94a3b8e6;--scrollbar-thumb-strong:#94a3b8f2;--scrollbar-thumb-hover:#cbd5e1;--scrollbar-track:#0f172a73;--surface-1:#ffffff04;--surface-2:#ffffff05;--surface-3:#ffffff06;--surface-4:#ffffff08;--surface-5:#ffffff09;--surface-6:#ffffff0a;--surface-7:#ffffff0b;--surface-8:#ffffff0e;--chart-text:#cbd5e1;--chart-text-soft:#cbd5e1bd;--chart-legend-text:#dbeafe;--callout-text:#67e8f9}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3f6fb;--bg-soft:#eef2f8;--panel:#fff;--panel-strong:#fff;--panel-muted:#f1f4f9;--line:#0f172a1f;--line-strong:#0f172a38;--text:#0f1b2d;--muted:#64748b;--muted-strong:#46586e;--accent:#0ea5e9;--accent-strong:#0284c7;--shadow:0 18px 40px #0f172a1f;--text-strong:#0b1220;--body-bg:radial-gradient(circle at 22% 0%, #0ea5e91a, transparent 32%), radial-gradient(circle at 82% 18%, #22c55e0f, transparent 26%), linear-gradient(135deg, #f8fafc 0%, #eef2f7 46%, #eaf1f6 100%);--sidebar-bg:linear-gradient(180deg, #f8fafc 0%, #eef1f6 100%);--topbar-bg:linear-gradient(180deg, #fffffffa, #ffffffe6), #fffffff5;--kpi-card-bg:linear-gradient(180deg, #fff, #f6f9fc);--health-card-bg:linear-gradient(160deg, #fff, #f5f8fb);--input-bg:#fff;--input-bg-locked:#eef2f7;--surface-solid:#fff;--surface-solid-2:#fff;--code-bg:#eef2f7;--well:#eef2f7;--well-soft:#f1f5f9;--well-mid:#eef2f7;--chart-bg-top:#0f172a08;--chart-bg-bottom:#0f172a03;--tooltip-bg:#fff;--track-bg:#eef2f7;--track-bg-soft:#f1f5f9;--track-bg-2:#eef2f7;--stat-bg:#f1f5f9;--filter-bg:#fff;--bar-bg:#eef2f7;--stripe-bg:#e2e8f0;--slate-panel-weak:#f1f5f9;--slate-panel:#eef2f7;--slate-panel-strong:#e7ecf3;--scrollbar-thumb:#64748b73;--scrollbar-thumb-strong:#64748b8c;--scrollbar-thumb-hover:#475569bf;--scrollbar-track:#eef2f7;--surface-1:#0f172a05;--surface-2:#0f172a06;--surface-3:#0f172a09;--surface-4:#0f172a0a;--surface-5:#0f172a0b;--surface-6:#0f172a0d;--surface-7:#0f172a0e;--surface-8:#0f172a0f;--chart-text:#334155;--chart-text-soft:#334155b8;--chart-legend-text:#0369a1;--callout-text:#0e7490}:root[data-theme=light] .quality-score.is-critical{color:#b91c1c}:root[data-theme=light] .quality-score.is-warning,:root[data-theme=light] .mail-subscription-box small{color:#b45309}*{box-sizing:border-box}html{background:var(--bg);min-width:320px}body{background:var(--body-bg);min-width:320px;min-height:100vh;color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px}#root{min-height:100vh}button,select,input{font:inherit}.dashboard-shell{grid-template-columns:280px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{box-sizing:border-box;border-right:1px solid var(--line);background:var(--sidebar-bg);flex-direction:column;gap:28px;height:100vh;padding:24px 18px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{align-items:center;gap:14px;min-width:0;display:flex}.brand-mark{background:#fffffff0;border:1px solid #38bdf85c;border-radius:8px;place-items:center;width:48px;height:48px;display:grid;overflow:hidden}.brand-mark img{object-fit:contain;width:100%;height:100%;padding:5px;display:block}.brand h1{letter-spacing:0;margin:0;font-size:22px;line-height:1.1}.brand span{color:var(--muted);margin-top:6px;font-size:13px;font-weight:700;display:block}.nav-list{gap:8px;display:grid}.nav-item{width:100%;min-height:46px;color:var(--muted-strong);box-shadow:none;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;padding:10px 14px;font-weight:800;line-height:1.2;text-decoration:none;display:flex}.nav-item.active{color:var(--text-strong);background:#38bdf81f;border-color:#38bdf847}.nav-item:hover{color:var(--text-strong);background:#38bdf814}.nav-item.muted-link{opacity:.62}.nav-item.nav-item-disabled{opacity:.35;cursor:default;-webkit-user-select:none;user-select:none}.nav-item.nav-item-disabled:hover{color:var(--muted-strong);background:0 0}.sidebar-footer{border:1px solid var(--line);background:var(--surface-4);border-radius:8px;margin-top:auto;padding:16px}.sidebar-customer-logo{background:#fff;border-radius:8px;place-items:center;min-height:62px;margin-bottom:12px;padding:10px;display:grid}.sidebar-customer-logo img{object-fit:contain;width:100%;max-height:42px;display:block}.sidebar-user{gap:4px;margin-bottom:12px;display:grid}.logout-button{color:#fee2e2;width:100%;box-shadow:none;background:#7f1d1d6b;border:1px solid #f8717161}.logout-button:hover{background:#b91c1c8c}.sidebar-footer span,.refresh-meta span,.kpi-card span,.select-wrap span,.machine-lock-label span,.section-kicker,.muted{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800;display:block}.sidebar-footer strong{color:var(--text);margin-top:8px;display:block}.content{width:100%;min-width:0;max-width:1760px;margin:0 auto;padding:28px 30px 44px}.maintenance-office-shell{grid-template-columns:minmax(0,1fr)}.maintenance-office-shell .content{max-width:none;padding:16px 20px 28px}.office-screen-shell{grid-template-columns:minmax(0,1fr)}.office-screen-shell .content{max-width:none;padding:16px 20px 28px}.topbar-shell{z-index:30;background:var(--topbar-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid #819bb924;margin:-8px -10px 0;padding:8px 10px 1px;position:sticky;top:0}.page-header{grid-template-columns:minmax(220px,.7fr) minmax(620px,1.3fr);align-items:end;gap:18px;margin-bottom:14px;display:grid}.page-header-simple{grid-template-columns:1fr}.eyebrow{color:var(--accent);text-transform:uppercase;margin-bottom:10px;font-size:13px;font-weight:900;display:inline-flex}.title-block h2{letter-spacing:0;margin:0;font-size:clamp(28px,2.4vw,36px);line-height:1.08}.title-block p{color:var(--muted-strong);margin:10px 0 0;font-size:16px}.header-actions{grid-template-columns:minmax(210px,1.15fr) minmax(170px,.9fr) minmax(130px,.65fr) auto minmax(150px,.7fr);justify-content:flex-end;align-items:end;gap:12px;min-width:0;display:grid}.select-wrap,.machine-lock-label{gap:7px;display:grid}.machine-lock-label strong{border:1px solid var(--line-strong);min-width:0;height:46px;color:var(--text);background:var(--input-bg-locked);border-radius:8px;align-items:center;padding:0 13px;display:flex}.select-wrap select,.select-wrap input{border:1px solid var(--line-strong);width:100%;min-width:0;height:46px;color:var(--text);background:var(--input-bg);border-radius:8px;outline:none;padding:0 40px 0 13px}.select-wrap textarea{resize:vertical;border:1px solid var(--line-strong);width:100%;min-height:94px;color:var(--text);background:var(--input-bg);border-radius:8px;outline:none;padding:10px 12px}.select-wrap input,.auto-refresh-wrap select{min-width:0}.select-wrap select:focus,.select-wrap input:focus,.select-wrap textarea:focus{border-color:#38bdf8b8;box-shadow:0 0 0 3px #38bdf81f}button{color:#03101a;cursor:pointer;background:linear-gradient(135deg,#67e8f9,#38bdf8);border:0;border-radius:8px;height:46px;padding:0 18px;font-weight:900;box-shadow:0 14px 28px #0ea5e93d}button:hover{background:linear-gradient(135deg,#a5f3fc,#38bdf8)}button:disabled{cursor:wait;opacity:.65}.secondary-button{color:var(--text);border:1px solid var(--line-strong);background:var(--surface-6);box-shadow:none}.secondary-button:hover{background:#38bdf81f}.custom-range-controls{align-items:end;gap:10px;display:flex}.time-preset-wrap select{min-width:180px}.refresh-meta{border:1px solid var(--line);background:var(--surface-5);border-radius:8px;min-width:0;min-height:46px;padding:6px 10px}.refresh-meta strong{color:var(--text);margin-top:3px;font-size:12px;line-height:1.15;display:block}.range-meta{max-width:100%;color:var(--muted-strong);background:#38bdf80f;border:1px solid #38bdf833;border-radius:8px;margin:-6px 0 16px;padding:8px 12px;font-size:13px;font-weight:750;display:inline-flex}.error-banner{color:#fde68a;background:#78350f6b;border:1px solid #f59e0b73;border-radius:8px;margin:0 0 16px;padding:14px 16px;font-weight:750}.override-warning-banner{box-sizing:border-box;color:#fecaca;word-break:break-word;background:#7f1d1d73;border:1px solid #ef444480;border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;max-width:100%;margin:0 0 16px;padding:14px 16px;font-weight:750;display:flex}.override-warning-banner strong{color:#fff5f5}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0;display:grid}.kpi-card{border:1px solid var(--line);background:var(--kpi-card-bg);min-height:120px;box-shadow:var(--shadow);border-radius:8px;padding:18px}.kpi-card strong{color:var(--text-strong);margin-top:18px;font-size:clamp(24px,2vw,34px);font-weight:900;line-height:1;display:block}.panel{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:8px;margin-top:16px;padding:18px}.section-head{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.section-head h3{letter-spacing:0;margin:4px 0 0;font-size:22px;line-height:1.2}.health-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.health-card{border:1px solid var(--line);background:var(--health-card-bg);border-radius:8px;min-height:230px;padding:20px;position:relative;overflow:hidden}.health-card:before{content:"";background:var(--stale);height:4px;position:absolute;inset:0 0 auto}.health-card.card-healthy:before{background:var(--healthy)}.health-card.card-warning:before{background:var(--warning)}.health-card.card-critical:before{background:var(--critical)}.card-top{justify-content:space-between;align-items:start;gap:12px;display:flex}.health-card h4{margin:0;font-size:20px;line-height:1.2}.health-value{margin-top:24px;font-size:clamp(42px,4vw,52px);font-weight:950;line-height:1}.progress{background:#94a3b82e;border-radius:999px;height:10px;margin-top:18px;overflow:hidden}.progress span{border-radius:inherit;width:0;height:100%;display:block}.health-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.health-meta div{background:var(--surface-5);border:1px solid #819bb929;border-radius:8px;padding:10px}.health-meta span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800;display:block}.health-meta strong{color:var(--muted-strong);margin-top:5px;font-size:14px;display:block}.machine-group-dashboard .health-panel{padding:10px}.machine-group-dashboard .health-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.machine-group-dashboard .health-card{min-height:96px;padding:10px}.machine-group-dashboard .health-card h4{font-size:13px;line-height:1.15}.machine-group-dashboard .health-value{margin-top:10px;font-size:26px}.machine-group-dashboard .progress{height:5px;margin-top:9px}.machine-group-dashboard .pill{min-height:20px;padding:2px 6px;font-size:9px}.machine-group-dashboard .card-top{gap:6px}.machine-group-shell{grid-template-columns:minmax(0,1fr)}.machine-group-shell .logout-button{height:36px;padding:0 10px;font-size:12px}.machine-group-shell .content{padding:16px 18px 24px}.machine-group-shell .topbar-shell{margin:-6px -8px 0;padding:6px 8px 1px}.machine-group-shell .page-header{grid-template-columns:minmax(160px,.45fr) minmax(560px,1.55fr);gap:10px;margin-bottom:8px}.machine-group-shell .header-actions{grid-template-columns:minmax(140px,.8fr) minmax(140px,.8fr) minmax(100px,.55fr) auto minmax(120px,.6fr) minmax(110px,.6fr);gap:8px}.machine-group-logout-button{align-self:center;width:auto}.machine-group-shell .machine-lock-label,.machine-group-shell .select-wrap{gap:4px}.machine-group-shell .machine-lock-label strong,.machine-group-shell .select-wrap select,.machine-group-shell .select-wrap input{padding-left:10px;font-size:12px}.machine-group-shell .header-actions button{padding:0 12px;font-size:12px}.machine-group-shell .refresh-meta{padding:4px 8px}.machine-group-shell .refresh-meta strong{font-size:11px}.machine-group-shell .range-meta{margin:-3px 0 8px;padding:5px 9px;font-size:11px}.machine-group-dashboard .accordion-stack{gap:8px}.machine-group-dashboard .panel{margin-top:8px;padding:10px}.machine-group-dashboard .summary-grid{grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:8px}.machine-group-dashboard .kpi-card{min-height:78px;padding:10px}.machine-group-dashboard .kpi-card strong{margin-top:10px;font-size:20px}.machine-group-dashboard .program-status-card strong{font-size:16px}.machine-group-dashboard .section-head{gap:8px;margin-bottom:8px}.machine-group-dashboard .section-head h3{margin-top:2px;font-size:16px}.machine-group-dashboard .section-kicker{font-size:10px}.machine-group-dashboard .timeline-panel{padding:9px}.machine-group-dashboard .timeline-panel .section-head{align-items:center}.machine-group-dashboard .timeline-legend{gap:5px}.machine-group-dashboard .legend-chip{gap:4px;min-height:19px;padding:2px 6px;font-size:10px}.machine-group-dashboard .legend-chip i{width:7px;height:7px}.machine-group-dashboard .timeline-track{height:46px}.machine-group-dashboard .timeline-segment{border-radius:5px;height:30px;padding:0 5px;top:7px}.machine-group-dashboard .timeline-segment span{font-size:10px;line-height:28px}.machine-group-dashboard .timeline-axis{margin-top:5px;font-size:10px}.machine-group-dashboard .shift-chart-scroll{padding-top:0}.machine-group-dashboard .shift-chart{min-width:max(600px, calc(var(--shift-count) * 42px + 48px));grid-template-rows:145px 44px;grid-template-columns:34px minmax(520px,1fr);gap:0 8px}.machine-group-dashboard .shift-plot{grid-template-columns:repeat(var(--shift-count), minmax(30px, 1fr));gap:8px;padding:0 6px}.machine-group-dashboard .shift-chart-bar{width:min(34px,80%)}.machine-group-dashboard .shift-x-axis{grid-template-columns:repeat(var(--shift-count), minmax(30px, 1fr));gap:8px;padding:6px 6px 0}.machine-group-dashboard .shift-y-axis,.machine-group-dashboard .shift-x-label{font-size:10px}.machine-group-dashboard .suspicious-scroll{max-height:250px;overflow:auto hidden}.machine-group-dashboard .suspicious-scroll th,.machine-group-dashboard .suspicious-scroll td{padding:8px 10px;font-size:12px}.machine-group-dashboard .suspicious-scroll th{font-size:10px}.machine-group-dashboard .status-chip{min-height:22px;padding:3px 7px;font-size:10px}.machine-group-kiosk{min-height:calc(100vh - 120px)}.machine-group-kiosk .accordion-stack{align-content:start;gap:6px}.machine-group-kiosk .machine-group-kpi-strip{margin-top:0;padding:8px}.machine-group-kiosk .machine-group-kpi-strip .summary-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.machine-group-kiosk .machine-group-kpi-strip .kpi-card{min-height:54px;padding:8px 9px}.machine-group-kiosk .machine-group-kpi-strip .kpi-card span{font-size:10px;line-height:1.15}.machine-group-kiosk .machine-group-kpi-strip .kpi-card strong{text-overflow:ellipsis;white-space:nowrap;margin-top:7px;font-size:15px;line-height:1.12;overflow:hidden}.machine-group-kiosk .machine-group-health-strip .health-panel{margin-top:0;padding:8px}.machine-group-kiosk .health-grid{grid-template-columns:none;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:7px;display:grid}.machine-group-kiosk .health-card{min-width:0;min-height:78px;padding:8px}.machine-group-kiosk .health-card h4{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.machine-group-kiosk .health-value{margin-top:8px;font-size:24px}.machine-group-kiosk .progress{height:4px;margin-top:7px}.machine-group-kiosk .machine-group-main-grid{grid-template-columns:minmax(0,1.45fr) minmax(430px,1fr);align-items:start;gap:10px;display:grid}.machine-group-kiosk .machine-group-left-column,.machine-group-kiosk .machine-group-right-column{gap:8px;min-width:0;display:grid}.machine-group-kiosk .machine-group-left-column .panel,.machine-group-kiosk .machine-group-right-column .panel{margin-top:0}.machine-group-kiosk .timeline-panel{padding:8px}.machine-group-kiosk .timeline-panel .section-head{align-items:flex-start;margin-bottom:6px}.machine-group-kiosk .timeline-legend{gap:4px}.machine-group-kiosk .legend-chip{min-height:18px;padding:1px 5px;font-size:9px}.machine-group-kiosk .timeline-track{height:40px}.machine-group-kiosk .timeline-segment{height:26px;top:6px}.machine-group-kiosk .timeline-segment span{font-size:9px;line-height:24px}.machine-group-kiosk .suspicious-scroll{max-height:none}.machine-group-kiosk .suspicious-scroll table{min-width:720px}.machine-group-kiosk .suspicious-scroll th,.machine-group-kiosk .suspicious-scroll td{white-space:nowrap;padding:6px 8px;font-size:11px}.machine-group-kiosk .suspicious-scroll td:last-child{text-overflow:ellipsis;max-width:210px;overflow:hidden}.machine-group-shell .content{max-width:none}.machine-group-shell .topbar-shell{position:static}.machine-group-shell .title-block h2{font-size:20px}.machine-group-shell .machine-lock-label strong,.machine-group-shell .select-wrap select,.machine-group-shell .select-wrap input,.machine-group-shell .topbar-shell button,.machine-group-shell .refresh-meta{height:34px;min-height:34px}.machine-group-shell .range-meta{margin-bottom:6px}.pill,.status-chip{color:#041014;white-space:nowrap;border-radius:999px;align-items:center;min-height:28px;padding:4px 10px;font-size:12px;font-weight:900;display:inline-flex}.status-healthy{background:var(--healthy)}.status-warning{background:var(--warning)}.home-machine-head .status-chip{color:#041014;letter-spacing:.02em;font-size:13px}.status-critical{color:#fff;background:var(--critical)}.status-stale,.status-unknown{color:#07111d;background:var(--stale)}.table-wrap{border:1px solid var(--line);background:var(--well);border-radius:8px;overflow-x:auto}.suspicious-scroll{max-height:338px;overflow:auto}.data-table-sort-button{font:inherit;font-weight:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;margin:0;padding:0;display:inline-flex}.data-table-sort-button:hover{color:var(--text)}.data-table-sort-glyph{color:var(--muted);font-size:11px}.data-table-filter-row th,.data-table-filter-row td{background:var(--well-soft);border-bottom:1px solid var(--line);padding:6px 12px}.data-table-filter-input{box-sizing:border-box;border:1px solid var(--line);background:var(--filter-bg);width:100%;min-width:72px;color:var(--text);border-radius:6px;padding:4px 8px;font-size:12px}.data-table-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.data-table-toolbar-count{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:800}.data-table-toolbar-actions{align-items:center;gap:8px;display:flex}.data-table-toolbar-button{border:1px solid var(--line);background:var(--filter-bg);color:var(--muted-strong);cursor:pointer;border-radius:6px;padding:5px 10px;font-size:12px;font-weight:700}.data-table-toolbar-button:hover{color:var(--text);border-color:var(--line-strong)}.data-table-column-menu{position:relative}.data-table-column-menu-panel{z-index:20;border:1px solid var(--line-strong);background:var(--panel-strong);min-width:200px;max-height:280px;box-shadow:var(--shadow);border-radius:8px;gap:4px;padding:10px;display:grid;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto}.data-table-column-menu-item{color:var(--muted-strong);cursor:pointer;align-items:center;gap:8px;font-size:12px;display:flex}.data-table-column-menu-reset{border:1px solid var(--line);color:var(--accent);cursor:pointer;background:0 0;border-radius:6px;margin-top:6px;padding:5px 8px;font-size:12px;font-weight:700}.data-table-column-menu-reset:hover{border-color:var(--accent)}.data-table-limited-note{color:var(--muted);padding:6px 12px;font-size:11px}table{border-collapse:collapse;width:100%;min-width:860px}.compact-table table{min-width:620px}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid #819bb924;padding:15px 16px;font-size:15px}th{z-index:1;color:var(--muted-strong);background:var(--surface-solid);text-transform:uppercase;font-size:12px;font-weight:900;position:sticky;top:0}tbody tr{background:var(--surface-1)}tbody tr:nth-child(2n){background:var(--surface-5)}tbody tr:hover{background:#38bdf812}tr:last-child td{border-bottom:0}.health-cell{color:#041014;border-radius:999px;align-items:center;min-width:78px;min-height:30px;padding:4px 10px;font-weight:900;display:inline-flex}.view.hidden{display:none}.fanuc-summary-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.fanuc-summary-card{min-height:104px}.fanuc-summary-card strong{font-size:clamp(18px,1.5vw,24px);line-height:1.2}.fanuc-content-block{gap:14px;display:grid}.fanuc-content-block+.fanuc-content-block{padding-top:4px}.fanuc-content-block .section-head{margin-bottom:0}.fanuc-content-block .section-head h3{margin-top:0;font-size:19px}.fanuc-panel-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,560px),1fr));gap:18px;display:grid}.accordion-stack{gap:14px;display:grid}.accordion-section{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:8px;overflow:hidden}.accordion-header{width:100%;height:auto;min-height:58px;color:var(--text);background:var(--surface-3);box-shadow:none;text-align:left;border:0;border-radius:0;justify-content:space-between;align-items:center;padding:0 18px;display:flex}.accordion-header:hover{background:#38bdf814}.accordion-title{color:var(--text-strong);font-size:18px;font-weight:900;line-height:1.2}.accordion-icon{width:28px;height:28px;color:var(--muted-strong);background:var(--surface-5);border:1px solid #819bb933;border-radius:8px;place-items:center;font-size:20px;line-height:1;display:grid}.accordion-content{border-top:1px solid #819bb924;gap:16px;padding:16px 18px 18px;display:grid}.accordion-content>.panel{margin-top:0}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;display:grid}.program-status-card strong{font-size:clamp(18px,1.5vw,24px);line-height:1.2}.fanuc-operation-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,620px),1fr))}.fanuc-fault-tracking-grid{grid-template-columns:minmax(0,1fr)}.fanuc-table-panel{background:var(--surface-3);border:1px solid #819bb929;border-radius:8px;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.fanuc-table-head{border-bottom:1px solid #819bb924;justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;display:flex}.fanuc-table-head h4{margin:0;font-size:16px}.fanuc-table-head span{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:800}.fanuc-table-head-actions{align-items:center;gap:10px;display:flex}.fanuc-table-scroll{border:0;border-radius:0;max-height:260px;overflow:auto}.fanuc-table-scroll table{min-width:720px}.fanuc-table-scroll th,.fanuc-table-scroll td{padding:10px 12px}.fanuc-table-scroll thead th{z-index:2;top:0}.fanuc-chart-grid{grid-template-columns:1fr;gap:18px;display:grid}.fanuc-chart-card{background:var(--surface-3);border:1px solid #819bb929;border-radius:8px;width:100%;min-width:0;overflow:hidden}.fanuc-chart-head{border-bottom:1px solid #819bb924;justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;display:flex}.fanuc-chart-title-block{gap:4px;min-width:0;display:grid}.fanuc-chart-head h4{margin:0;font-size:16px}.fanuc-chart-action{flex:none;position:relative}.fanuc-chart-action>button{width:34px;height:34px;min-height:34px;color:var(--muted-strong);background:var(--surface-5);box-shadow:none;border:1px solid #819bb938;border-radius:8px;place-items:center;padding:0;font-size:22px;line-height:1;display:grid}.fanuc-chart-action>button:hover{color:var(--text-strong);background:#38bdf81f}.fanuc-chart-menu{z-index:6;background:var(--surface-solid);min-width:138px;box-shadow:var(--shadow);border:1px solid #819bb93d;border-radius:8px;padding:6px;display:grid;position:absolute;top:calc(100% + 7px);right:0}.fanuc-chart-menu button{height:34px;min-height:34px;color:var(--muted-strong);box-shadow:none;text-align:left;background:0 0;border-radius:6px;justify-content:flex-start;padding:0 10px}.fanuc-chart-menu button:hover{color:var(--text-strong);background:#38bdf81f}.fanuc-chart-head span{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:800}.fanuc-chart-plot{background:linear-gradient(180deg, var(--chart-bg-top), var(--chart-bg-bottom)), var(--well-mid);cursor:crosshair;-webkit-user-select:none;user-select:none;width:100%;min-width:0;height:360px;min-height:360px;padding:6px 8px 2px;position:relative}.fanuc-chart-stats{gap:6px;padding:0 16px 12px;display:grid}.fanuc-chart-stats-row{grid-template-columns:minmax(120px,1.4fr) repeat(4,minmax(72px,1fr));align-items:stretch;gap:8px;display:grid}.fanuc-chart-stats-row>span{background:var(--stat-bg);min-height:44px;color:var(--text-primary);border:1px solid #94a3b82e;border-radius:8px;flex-direction:column;justify-content:center;padding:6px 9px;font-size:12px;font-weight:700;display:flex}.fanuc-chart-stats-row small{color:var(--text-muted);margin-bottom:2px;font-size:10px;font-weight:600}.fanuc-chart-stats-series{align-items:center;gap:7px;flex-direction:row!important}.fanuc-chart-stats-series i{border-radius:50%;width:9px;height:9px}@media (width<=760px){.fanuc-chart-stats-row{grid-template-columns:repeat(2,minmax(0,1fr))}.fanuc-chart-stats-series{grid-column:1/-1}}.fanuc-chart-plot svg{width:100%;height:320px;min-height:320px;display:block}.fanuc-chart-plot path{fill:none;stroke-width:2.75px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.fanuc-chart-empty{background:var(--well-mid);place-items:center;min-height:320px;padding:12px;display:grid}.fanuc-chart-grid line{vector-effect:non-scaling-stroke}.fanuc-chart-grid path{fill:none;stroke-width:1.25px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.fanuc-chart-grid text{fill:var(--muted);font-size:12px;font-weight:800}.fanuc-chart-grid-lines line{stroke:#94a3b838}.fanuc-chart-axis line,.fanuc-chart-hover line{stroke:#94a3b86b}.fanuc-chart-axis text{fill:var(--chart-text);text-anchor:middle}.fanuc-chart-grid-lines text{fill:var(--chart-text);text-anchor:end}.fanuc-chart-hover line{stroke-dasharray:4 4}.fanuc-chart-selection{fill:#38bdf829;stroke:#67e8f9c7;stroke-width:1.5px;vector-effect:non-scaling-stroke}.fanuc-chart-tooltip{z-index:3;min-width:178px;max-width:min(260px,100% - 24px);color:var(--muted-strong);background:var(--tooltip-bg);box-shadow:var(--shadow);pointer-events:none;border:1px solid #819bb947;border-radius:8px;gap:7px;padding:10px 12px;display:grid;position:absolute;top:18px;transform:translate(-50%)}.fanuc-chart-tooltip strong{color:var(--text);font-size:12px}.fanuc-chart-tooltip span,.fanuc-chart-legend-item{align-items:center;gap:8px;min-width:0;font-size:12px;font-weight:800;display:inline-flex}.fanuc-chart-tooltip i,.fanuc-chart-legend-item i{border-radius:999px;flex:0 0 10px;width:10px;height:10px}.fanuc-chart-legend{min-height:42px;color:var(--chart-legend-text);border-top:1px solid #819bb924;flex-wrap:wrap;gap:10px 14px;padding:11px 14px;display:flex}.fanuc-chart-legend-item{width:auto;height:28px;min-height:28px;color:var(--chart-legend-text);box-shadow:none;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:4px 8px}.fanuc-chart-legend-item:hover,.fanuc-chart-legend-item.is-solo{color:var(--text-strong);background:#38bdf81a;border-color:#38bdf847}.fanuc-chart-legend-item.is-muted{opacity:.38}.split-grid{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:16px;display:grid}.program-card{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.program-card-wide{grid-template-columns:repeat(4,minmax(0,1fr))}.program-card div{background:var(--surface-5);border:1px solid #819bb929;border-radius:8px;min-height:104px;padding:16px}.program-card strong{color:var(--text-strong);margin-top:10px;font-size:20px;line-height:1.2;display:block}.program-empty{color:var(--muted-strong);grid-column:1/-1;place-items:center;font-weight:800;display:grid;min-height:72px!important}.timeline-panel .section-head{align-items:start}.timeline-legend{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.legend-chip{min-height:24px;color:var(--muted-strong);background:var(--surface-5);white-space:nowrap;border:1px solid #819bb929;border-radius:999px;align-items:center;gap:6px;padding:3px 8px;font-size:12px;font-weight:800;display:inline-flex}.legend-chip i{border-radius:999px;width:9px;height:9px;display:inline-block}.timeline-track{background:linear-gradient(90deg, var(--surface-8) 1px, transparent 1px) 0 0 / 10% 100%, var(--track-bg);cursor:crosshair;border:1px solid #819bb938;border-radius:8px;height:72px;position:relative;overflow:hidden}.timeline-segment{color:#06111b;background:var(--stale);min-width:6px;height:52px;box-shadow:none;text-align:left;border:1px solid #ffffff29;border-radius:7px;padding:0 8px;position:absolute;top:10px;overflow:hidden}.timeline-segment:hover{filter:brightness(1.12);background:var(--stale)}.timeline-segment span{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:900;line-height:50px;display:block;overflow:hidden}.timeline-selection{z-index:4;pointer-events:none;background:#38bdf838;border:1px solid #67e8f9c7;position:absolute;top:0;bottom:0}.timeline-track.is-selecting .timeline-segment{pointer-events:none}.timeline-axis{color:var(--muted);justify-content:space-between;gap:12px;margin-top:8px;font-size:12px;font-weight:800;display:flex}.timeline-body-wrap{position:relative}.timeline-segment.is-pinned{outline:2px solid var(--accent);outline-offset:1px}.timeline-detail-popup{z-index:30;background:var(--panel-strong);max-width:min(260px,100vw - 24px);color:var(--text);pointer-events:auto;border:1px solid #819bb947;border-radius:10px;padding:10px 12px;position:absolute;box-shadow:0 16px 36px #00000080}.timeline-detail-popup.is-pinned{border-color:var(--accent)}.timeline-detail-popup-title{color:var(--text);margin-bottom:6px;font-size:13px;font-weight:900}.timeline-detail-popup-row{color:var(--muted-strong);word-break:break-word;margin-top:3px;font-size:12px;font-weight:600;line-height:1.4}.timeline-detail-popup-hint{color:var(--accent);border-top:1px dashed #819bb947;margin-top:8px;padding-top:6px;font-size:11px;font-weight:800}.timeline-detail-popup.cnc-alarm-popup{max-width:min(340px,100vw - 24px)}.timeline-detail-popup-alarms{border-top:1px dashed #819bb947;flex-direction:column;gap:6px;max-height:min(280px,100vh - 160px);margin-top:8px;padding-top:8px;display:flex;overflow-y:auto}.timeline-detail-popup-alarm-item{background:#ffffff08;border:1px solid #819bb933;border-radius:8px;padding:6px 8px}.timeline-detail-popup-alarm-message{color:var(--text);font-weight:900}.tl-cnc-cycle,.tl-ifs-ok,.tl-andon-cycle{background:#22c55ee0!important}.tl-cnc-setup,.tl-ifs-op,.tl-andon-setup{background:#f97316e0!important}.tl-cnc-idle,.tl-ifs-pb,.tl-andon-idle{background:#3b82f6e0!important}.tl-cnc-alarm,.tl-ifs-bos,.tl-ifs-fault,.tl-andon-alarm{color:#fff!important;background:#ef4444e6!important}.tl-cnc-unknown,.tl-cnc-undefined{background:#94a3b8db!important}.tl-cnc-no-connection{color:#cbd5e1!important;background:#1e293bc2!important}.tl-andon-off{color:#cbd5e1!important;background:#334155c7!important}.tl-ifs-sk{background:#f59e0be6!important}.tl-ifs-df{background:#7dd3fce6!important}.tl-ifs-pw{background:#d8b4fee6!important}.shift-chart-shell{min-width:0}.shift-chart-scroll{padding:4px 2px 0;overflow-x:auto}.shift-chart{--shift-count:12;min-width:max(760px, calc(var(--shift-count) * 64px + 72px));grid-template-rows:260px 72px;grid-template-columns:44px minmax(680px,1fr);gap:0 12px;display:grid}.shift-y-axis{color:var(--muted);grid-area:1/1;font-size:12px;font-weight:850;position:relative}.shift-y-axis span{position:absolute;right:0;transform:translateY(50%)}.shift-plot{grid-area:1/2;grid-template-columns:repeat(var(--shift-count), minmax(44px, 1fr));background:linear-gradient(to top, #819bb924 1px, transparent 1px) 0 0 / 100% 20%, var(--track-bg-soft);border:1px solid #819bb92e;border-radius:8px;align-items:end;gap:14px;padding:0 10px;display:grid;position:relative}.shift-plot:before{content:"";border-radius:inherit;background:linear-gradient(90deg, var(--surface-3) 1px, transparent 1px) 0 0 / 8.333% 100%;pointer-events:none;position:absolute;inset:0}.shift-bar-group{z-index:1;justify-content:center;align-items:end;min-width:0;height:100%;display:flex;position:relative}.shift-chart-bar{background:var(--bar-bg);border:1px solid #e2e8f024;border-radius:7px 7px 3px 3px;flex-direction:column-reverse;width:min(46px,78%);height:100%;display:flex;overflow:hidden;box-shadow:inset 0 0 0 1px #02061747}.shift-chart-bar:hover{filter:brightness(1.08);border-color:#67e8f9a3}.shift-chart-segment{width:100%;min-height:0}.shift-chart-segment.tl-cnc-no-connection{background:#020617eb!important}.shift-chart-empty-fill{background:repeating-linear-gradient(135deg, #94a3b824, #94a3b824 6px, var(--stripe-bg) 6px, var(--stripe-bg) 12px);flex:1}.shift-x-axis{grid-area:2/2;grid-template-columns:repeat(var(--shift-count), minmax(44px, 1fr));gap:14px;padding:8px 10px 0;display:grid}.shift-x-label{min-width:0;color:var(--muted-strong);text-align:right;transform-origin:100% 0;white-space:nowrap;font-size:12px;font-weight:850;line-height:1.15;transform:rotate(-45deg)}.production-table td,.production-table th{text-align:right}.production-table td:first-child,.production-table th:first-child{text-align:left}.numeric-cell{font-variant-numeric:tabular-nums}.cycle-similarity-view{gap:16px;display:grid}.cycle-records-table-wrap{max-height:272px;overflow:auto}.cycle-records-table tbody tr{cursor:pointer}.cycle-records-table th{text-transform:none}.table-sort-button{appearance:none;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:0;font-weight:700}.table-sort-button.is-active{color:var(--accent)}.table-sort-button:focus-visible{outline-offset:2px;outline:2px solid #38bdf88c}.cycle-records-table tbody tr.is-selected{box-shadow:inset 3px 0 0 var(--accent);background:#38bdf829}.cycle-records-table tbody tr:focus{outline-offset:-2px;outline:2px solid #38bdf880}.cycle-chart-stack{gap:16px;display:grid}.plc-watch-view{gap:14px;display:grid}.home-view{gap:16px;min-width:0;max-width:100%;display:grid;overflow:hidden}.home-hero{grid-template-columns:minmax(0,1fr) minmax(280px,420px);align-items:stretch;gap:16px;min-width:0;display:grid}.home-welcome,.home-range-card,.home-machine-card{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:8px}.home-welcome{align-content:center;min-height:150px;padding:22px;display:grid}.home-welcome span,.home-range-card dt,.home-machine-head span,.home-machine-meta dt{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:900}.home-welcome h3{letter-spacing:0;margin:8px 0 0;font-size:clamp(28px,2.2vw,38px);line-height:1.08}.home-welcome p{color:var(--muted-strong);margin:10px 0 0;font-weight:750}.home-range-card{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:16px;display:grid}.home-range-card div{background:var(--surface-4);border:1px solid #819bb924;border-radius:8px;min-width:0;padding:10px}.home-range-card dd{color:var(--text);margin:6px 0 0;font-size:13px;font-weight:850}.home-machine-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:14px;min-width:0;display:grid}.home-machine-card{gap:14px;min-width:0;padding:16px;display:grid;overflow:hidden}.home-machine-head{justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;display:flex}.home-machine-head h4{color:var(--text-strong);overflow-wrap:anywhere;margin:5px 0 0;font-size:20px;line-height:1.15}.home-health-row{align-items:baseline;gap:8px;display:flex}.home-health-value{align-items:baseline;gap:8px;min-width:0;display:flex}.home-health-row strong{color:var(--text-strong);font-size:42px;line-height:1}.home-health-row span{color:var(--muted);font-weight:850}.home-health-bar{background:#94a3b82e;border-radius:999px;height:10px;overflow:hidden}.home-health-bar span{border-radius:inherit;height:100%;display:block}.home-health-progress-healthy{background:var(--healthy)}.home-health-progress-warning{background:var(--warning)}.home-health-progress-critical{background:var(--critical)}.home-health-progress-stale,.home-health-progress-unknown{background:var(--stale)}.home-machine-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;display:grid}.home-machine-meta div{background:var(--surface-4);border:1px solid #819bb924;border-radius:8px;min-width:0;padding:9px}.home-machine-meta dd{color:var(--muted-strong);overflow-wrap:anywhere;margin:5px 0 0;font-size:13px;font-weight:800;line-height:1.2}.home-worst-regions{flex-wrap:wrap;gap:6px;display:inline-flex}.home-worst-region-chip{min-height:22px;padding:2px 8px;font-size:11px}.home-card-actions{flex-wrap:wrap;gap:10px;display:flex}.home-card-actions button,.home-card-actions a{height:38px;box-shadow:none;flex:150px;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.maintenance-office-home{gap:14px;overflow:visible}.maintenance-office-toolbar{border:1px solid var(--line);background:var(--panel);min-height:58px;box-shadow:var(--shadow);border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:10px 14px;display:flex}.maintenance-office-brand{align-items:center;gap:12px;min-width:0;display:flex}.maintenance-office-logo{background:#fff;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:140px;height:44px;padding:6px 10px;display:flex}.maintenance-office-logo img{object-fit:contain;width:100%;height:100%}.maintenance-office-title{gap:2px;display:grid}.maintenance-office-toolbar span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:900}.maintenance-office-toolbar strong{color:var(--text-strong);font-size:20px}.maintenance-office-toolbar .logout-button{width:auto;min-width:118px}.office-screen-topnav{border:1px solid var(--line);background:var(--panel);min-height:58px;box-shadow:var(--shadow);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:10px 14px;display:flex}.office-screen-brand{align-items:center;gap:12px;min-width:0;display:flex}.office-screen-logo{background:#fff;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:140px;height:44px;padding:6px 10px;display:flex}.office-screen-logo img{object-fit:contain;width:100%;height:100%}.office-screen-title{gap:2px;display:grid}.office-screen-title span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:900}.office-screen-title strong{color:var(--text-strong);font-size:20px}.office-screen-nav{flex-wrap:wrap;gap:8px;display:flex}.office-screen-nav-item{height:38px;color:var(--muted-strong);border-radius:8px;align-items:center;padding:0 14px;font-weight:700;text-decoration:none;display:inline-flex}.office-screen-nav-item.active{background:var(--accent,#2f81f7);color:#fff}.office-screen-logout-button{width:auto;min-width:118px}@media (width<=760px){.office-screen-topnav{flex-direction:column;align-items:stretch}.office-screen-logout-button{width:100%}}.maintenance-office-home .home-machine-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.maintenance-office-machine-card{gap:8px;padding:12px 14px}.maintenance-office-machine-title{color:var(--text-strong);text-align:center;overflow-wrap:anywhere;font-size:26px;font-weight:900;line-height:1.05}.maintenance-office-health-row{justify-content:space-between;align-items:center;gap:12px}.maintenance-office-machine-card .home-health-row strong{font-size:36px}@media (width<=1180px){.maintenance-office-home .home-machine-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.maintenance-office-home .home-machine-grid{grid-template-columns:1fr}}.home-health-trend{background:var(--well);border:1px solid #819bb924;border-radius:8px;min-width:0;padding:10px 10px 6px}.home-health-trend-head{justify-content:space-between;align-items:baseline;gap:12px;padding:0 2px 4px;display:flex}.home-health-trend-head strong{color:var(--text-strong);font-size:13px}.home-health-trend-head span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:800}.home-health-trend svg{width:100%;height:auto;display:block;overflow:visible}.home-trend-grid-line{stroke:#94a3b833;stroke-width:1px}.home-trend-hour-tick{stroke:#94a3b857;stroke-width:1px}.home-trend-line{fill:none;stroke:#38bdf8;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.home-trend-point{fill:#0f172a;stroke:#7dd3fc;stroke-width:2px}.home-trend-line-fault{stroke:#ef4444}.home-trend-point-fault{fill:#ef4444;stroke:#ef4444;cursor:pointer}.home-fault-popover{background:var(--surface-3);border:1px solid #ef444473;border-radius:8px;gap:10px;margin-top:8px;padding:12px;display:grid}.home-fault-popover-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.home-fault-popover-head button{height:32px;padding:0 10px}.home-fault-item{border-top:1px solid var(--line);gap:4px;padding-top:8px;display:grid}.home-fault-item strong{color:#f87171}.home-fault-item span{color:var(--text-strong);font-weight:700}.home-fault-item small{color:var(--muted)}.machine-link-select details{position:relative}.machine-link-select summary{border:1px solid var(--line-strong);height:46px;color:var(--text);background:var(--input-bg);cursor:pointer;border-radius:8px;align-items:center;padding:0 13px;list-style:none;display:flex}.machine-link-select summary::-webkit-details-marker{display:none}.machine-link-menu{z-index:30;border:1px solid var(--line-strong);background:var(--surface-3);max-height:280px;box-shadow:var(--shadow);border-radius:8px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto}.machine-link-menu a{color:var(--text);border-radius:6px;padding:10px;font-weight:800;text-decoration:none}.machine-link-menu a:hover{background:#38bdf81f}.home-trend-event-line{stroke:var(--program-change);stroke-width:1.5px;stroke-dasharray:3 3;opacity:.85;pointer-events:none}.home-trend-event-hit{stroke:var(--program-change);stroke-width:10px;opacity:.001;cursor:pointer}.home-trend-y-label,.home-trend-x-label{fill:var(--chart-text-soft);font-size:10px;font-weight:800}.home-trend-empty{min-height:168px;color:var(--muted);place-items:center;font-size:12px;font-weight:800;display:grid}.maintenance-office-card-meta{color:var(--muted-strong);flex-wrap:wrap;justify-content:space-between;gap:6px 14px;font-size:11px;font-weight:750;display:flex}.maintenance-office-card-meta strong{color:var(--text)}.auth-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{border:1px solid var(--line);background:var(--panel);width:min(420px,100%);box-shadow:var(--shadow);border-radius:8px;gap:16px;padding:24px;display:grid}.auth-brand span{color:var(--accent);text-transform:uppercase;font-size:12px;font-weight:900;display:block}.auth-brand h1{letter-spacing:0;margin:8px 0 0;font-size:28px;line-height:1.08}.user-management-view,.users-page{gap:12px;min-width:0;max-width:100%;display:grid;overflow:hidden}.user-form-card,.user-table-card{min-width:0;max-width:100%;overflow:hidden}.user-form-card{margin-top:0;padding:14px}.user-table-card{padding:14px}.user-section-head{margin-bottom:10px}.user-section-head h3{margin-top:0;font-size:18px}.user-tabs{flex-wrap:wrap;gap:8px;display:flex}.user-tabs button{height:38px;min-height:38px;box-shadow:none}.user-tabs button.active{color:#03101a;background:linear-gradient(135deg,#67e8f9,#38bdf8)}.activity-section-head{align-items:end}.activity-toolbar{align-items:end;gap:10px;display:flex}.activity-toolbar .select-wrap{min-width:160px}.activity-toolbar button{height:38px;min-height:38px;box-shadow:none}.user-activity-table{min-width:1280px}.activity-status{color:#041014;white-space:nowrap;border-radius:999px;align-items:center;min-height:26px;padding:4px 10px;font-size:12px;font-weight:900;display:inline-flex}.activity-status-active{background:var(--healthy)}.activity-status-passive{background:var(--warning)}.activity-status-logged_out{background:var(--stale)}.user-form{grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;display:grid}.user-form .select-wrap{gap:5px}.user-form .select-wrap span,.user-form .check-wrap span{font-size:11px}.user-form .select-wrap select,.user-form .select-wrap input,.user-form .check-wrap,.user-form button{height:38px;min-height:38px}.user-form .select-wrap select,.user-form .select-wrap input{padding-left:10px}.check-wrap{border:1px solid var(--line-strong);min-height:46px;color:var(--muted-strong);background:var(--surface-5);border-radius:8px;align-items:center;gap:10px;padding:0 12px;font-weight:800;display:flex}.check-wrap input{width:18px;height:18px;accent-color:var(--accent)}.mail-subscription-box{border:1px solid var(--line-strong);background:var(--surface-3);border-radius:10px;grid-column:span 2;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;display:grid}.mail-subscription-box>span{color:var(--muted-strong);grid-column:1/-1;font-size:11px;font-weight:900}.mail-subscription-box .check-wrap{height:36px;min-height:36px}.mail-subscription-box small{color:#fbbf24;grid-column:1/-1;font-size:11px;font-weight:800}.whatsapp-phone-cell{align-items:center;gap:8px;display:flex}.whatsapp-phone-cell input{min-width:150px}.form-actions{justify-content:flex-end;align-items:end;gap:10px;display:flex}.user-table-scroll{background:var(--well);border:1px solid #819bb929;border-radius:8px;width:100%;max-width:100%;max-height:min(52vh,560px);display:block;overflow:auto}.user-table{width:max-content;min-width:1120px}.user-table th,.user-table td{white-space:nowrap;padding:9px 10px;font-size:13px}.user-table th{z-index:2;top:0}.user-cell{gap:3px;min-width:230px;display:grid}.user-cell strong{color:var(--text);font-size:13px;line-height:1.2}.user-cell span,.user-cell small{color:var(--muted);font-size:12px;font-weight:750;line-height:1.2}.user-cell-compact{min-width:160px}.user-actions{gap:8px;min-width:0;display:flex}.user-actions button{height:30px;box-shadow:none;padding:0 9px;font-size:12px}.modal-check{margin:12px 0 16px}.success-banner{color:#bbf7d0;background:#14532d52;border:1px solid #22c55e6b;border-radius:8px;padding:12px 14px;font-weight:800}.plc-start-grid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:16px;display:grid}.plc-job-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.plc-job-form textarea{resize:vertical;width:100%;min-height:94px;color:var(--text);background:var(--track-bg-2);border:1px solid #819bb938;border-radius:8px;outline:none;padding:10px 12px}.plc-job-form textarea:focus{border-color:#38bdf8a6;box-shadow:0 0 0 3px #38bdf81f}.plc-form-note,.plc-form-actions{grid-column:1/-1}.plc-form-actions,.modal-actions{justify-content:flex-end;gap:10px;display:flex}.plc-rule-list{color:var(--muted-strong);gap:10px;margin:0;padding-left:20px;font-weight:750;display:grid}.plc-monitor-controls{grid-template-columns:minmax(280px,.5fr) minmax(0,1fr);align-items:end;gap:14px;display:grid}.plc-selected-job-meta{background:var(--surface-5);border:1px solid #819bb929;border-radius:8px;min-height:62px;padding:10px 12px}.plc-selected-job-meta span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800;display:block}.plc-selected-job-meta strong{color:var(--text);margin-top:8px;font-size:14px;line-height:1.25;display:block}.plc-table-scroll{background:var(--surface-2);border:1px solid #819bb929;border-radius:8px;max-height:390px;overflow:auto}.plc-watch-job-action-bar{background:var(--surface-5);border:1px solid #819bb929;border-radius:8px;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:12px;width:100%;margin-bottom:10px;padding:12px 14px;display:flex}.plc-watch-job-action-bar strong{color:var(--muted-strong);font-size:13px;font-weight:900}.plc-recent-scroll{max-height:330px}.plc-watch-table{width:max-content;min-width:1720px}.plc-watch-table th{text-transform:none}.plc-actions-col{min-width:120px}.plc-row-delete-button{height:34px;box-shadow:none;padding:0 12px}.plc-watch-table tbody tr{cursor:pointer}.plc-watch-table tbody tr.is-selected{box-shadow:inset 3px 0 0 var(--accent);background:#38bdf829}.plc-select-col{text-align:center;width:48px;min-width:48px}.plc-select-col input{width:16px;height:16px;accent-color:var(--accent)}.plc-data-panel-stack{gap:16px;min-width:0;display:grid}.plc-watch-chart .fanuc-chart-plot{height:400px;min-height:400px;padding:0}.plc-watch-chart .fanuc-chart-plot svg{width:100%;height:400px;min-height:400px}.plc-watch-chart .timeseries-svg{width:100%;height:400px;display:block}.plc-watch-chart .fanuc-chart-empty{min-height:400px}.chart-view-page{background:var(--bg);grid-template-rows:auto minmax(0,1fr);gap:12px;min-height:100vh;padding:18px;display:grid}.chart-view-head{justify-content:space-between;align-items:center;min-width:0;display:flex}.chart-view-head h2{color:var(--text-strong);margin:0;font-size:clamp(22px,2.2vw,34px);line-height:1.15}.chart-view-chart{min-height:0}.chart-view-chart .fanuc-chart-plot{height:calc(100vh - 150px);min-height:520px}.chart-view-chart .fanuc-chart-plot svg,.chart-view-chart .timeseries-svg{height:calc(100vh - 188px);min-height:480px}.ghost-button{color:var(--muted-strong);background:var(--surface-5);border-color:#819bb938}.danger-button{color:#fee2e2;background:#7f1d1d6b;border-color:#f8717161}.danger-button:hover{background:#b91c1c8c}.danger-button:disabled{cursor:not-allowed;opacity:.45}.plc-state-chart-plot{cursor:default}.plc-state-svg{overflow:visible}.plc-state-grid line{stroke:#94a3b824;vector-effect:non-scaling-stroke}.plc-state-row-background{fill:var(--track-bg-2);stroke:#819bb92e;stroke-width:1px;vector-effect:non-scaling-stroke}.plc-state-row-label{fill:var(--chart-text);font-size:12px;font-weight:900}.plc-state-segment-svg{cursor:help;opacity:.88;stroke:#ffffff24;stroke-width:.8px;vector-effect:non-scaling-stroke}.plc-state-segment-svg:hover{opacity:1;stroke:#ffffffb8;stroke-width:1.5px}.plc-state-on{fill:#22c55edb;background:#22c55edb}.plc-state-off{fill:#991b1be0;background:#991b1be0}.plc-state-neutral{fill:#38bdf8d1;background:#38bdf8d1}.plc-state-tooltip{min-width:260px;max-width:min(360px,100% - 24px);top:16px}.plc-state-tooltip span{display:block}.plc-state-legend{align-items:center}.plc-state-legend-item{color:var(--chart-legend-text);align-items:center;gap:8px;font-size:12px;font-weight:850;display:inline-flex}.plc-state-legend-item i{border-radius:999px;width:10px;height:10px;display:inline-block}.modal-backdrop{z-index:20;background:#02060eb8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{background:var(--surface-solid);width:min(560px,100%);box-shadow:var(--shadow);border:1px solid #819bb93d;border-radius:8px;padding:18px}.modal-message{color:var(--muted-strong);margin:0 0 14px;font-weight:750}.instant-alarm-modal{flex-direction:column;max-height:min(88vh,760px);padding-bottom:0;display:flex;overflow:hidden}.instant-alarm-modal-header{flex:none}.instant-alarm-modal-body{-webkit-overflow-scrolling:touch;flex:auto;min-height:0;margin-right:-4px;padding:2px 4px 2px 0;overflow-y:auto}.instant-alarm-modal-actions{background:var(--surface-solid);flex:none;margin:0 -18px;padding:14px 18px 18px;position:sticky;bottom:0}.instant-alarm-duration-inputs{flex-wrap:wrap;align-items:stretch;gap:8px;display:flex}.instant-alarm-duration-inputs input,.instant-alarm-duration-inputs select{width:auto}.instant-alarm-duration-inputs input{flex:0 120px;min-width:70px}.instant-alarm-duration-inputs select{flex:0 140px;min-width:90px}.instant-alarm-picker-options{flex-direction:column;gap:10px;margin:12px 0 18px;display:flex}.instant-alarm-picker-options button{text-align:left}.payload-summary{gap:8px;margin:0 0 16px;display:grid}.payload-summary div{background:var(--surface-5);border:1px solid #819bb924;border-radius:8px;grid-template-columns:minmax(120px,.4fr) minmax(0,1fr);gap:10px;padding:8px 10px;display:grid}.payload-summary dt{color:var(--muted);font-size:12px;font-weight:900}.payload-summary dd{color:var(--text);overflow-wrap:anywhere;margin:0;font-weight:800}.selected-jobs-summary{border:1px solid #819bb929;border-radius:8px;max-height:240px;margin-bottom:16px;overflow:auto}.selected-jobs-summary table{min-width:520px}.selected-jobs-summary th,.selected-jobs-summary td{padding:10px 12px;font-size:13px}.selected-jobs-summary th{text-transform:none}.modal-warning{color:#fde68a;background:#78350f52;border:1px solid #f59e0b5c;border-radius:8px;margin:0 0 16px;padding:10px 12px;font-weight:800}.empty{min-height:150px;color:var(--muted-strong);background:var(--surface-3);text-align:center;border:1px dashed #819bb947;border-radius:8px;place-items:center;padding:22px;font-weight:750;display:grid}.loading-state{min-height:90px;color:var(--muted-strong);place-items:center;padding:20px;font-weight:800;display:grid}.hidden{display:none}@media (width<=1180px){.dashboard-shell{grid-template-columns:1fr}.sidebar{flex-direction:row;align-items:center;height:auto;padding:16px;position:static}.nav-list{flex-wrap:wrap;display:flex}.sidebar-footer{width:260px}.page-header{grid-template-columns:1fr;align-items:stretch}.header-actions{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}.header-actions button,.refresh-meta{width:100%}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split-grid{grid-template-columns:1fr}}@media (width<=760px){.content{padding:18px 12px 32px}.topbar-shell{margin:-6px -6px 0;padding:6px 6px 1px}.sidebar{flex-direction:column;align-items:stretch}.page-header,.custom-range-controls{align-items:stretch}.header-actions,.home-hero,.home-range-card,.home-machine-meta{grid-template-columns:1fr}.maintenance-office-shell .content{padding:10px}.maintenance-office-toolbar{flex-direction:column;align-items:stretch}.maintenance-office-logo{width:126px;height:40px}.maintenance-office-toolbar .logout-button{width:100%}.home-health-trend-head{flex-direction:column;align-items:flex-start;gap:2px}.select-wrap select,.select-wrap input,button,.refresh-meta{width:100%}.kpi-grid,.summary-grid,.program-card,.program-card-wide,.fanuc-panel-grid,.health-meta{grid-template-columns:1fr}.fanuc-table-panel{min-height:0}.fanuc-table-scroll{max-height:240px}.health-grid{grid-template-columns:1fr}.shift-chart{min-width:max(690px, calc(var(--shift-count) * 54px + 64px));grid-template-rows:220px 72px;grid-template-columns:38px minmax(620px,1fr)}}@media (width<=1280px){.user-form{grid-template-columns:repeat(2,minmax(0,1fr))}.form-actions{grid-column:1/-1}}@media (width<=760px){.user-form{grid-template-columns:1fr}.mail-subscription-box{grid-column:1/-1;grid-template-columns:1fr}}.plc-watch-view,.plc-watch-view .accordion-stack,.plc-watch-view .accordion-section,.plc-watch-view .accordion-content,.plc-watch-view .panel{min-width:0;max-width:100%}.plc-watch-view .panel{overflow:hidden}.table-scroll-hint{color:var(--muted-strong);background:var(--surface-6);border:1px solid #819bb92e;border-radius:999px;align-items:center;margin:0 0 8px;padding:6px 10px;font-size:12px;font-weight:900;display:inline-flex}.plc-table-scroll.table-scroll{background:var(--surface-2);border:1px solid #819bb929;border-radius:8px;width:100%;max-width:100%;max-height:390px;padding-bottom:10px;display:block;overflow:scroll auto!important}.plc-recent-scroll.table-scroll{max-height:330px}.plc-table-scroll.table-scroll .plc-watch-table{border-collapse:collapse;width:max-content!important;min-width:2400px!important}.plc-recent-scroll.table-scroll .plc-watch-table{min-width:1200px!important}.plc-watch-table th,.plc-watch-table td{white-space:nowrap;padding:10px 12px}.plc-watch-table thead th{z-index:3;position:sticky;top:0}.table-scroll{scrollbar-width:auto;scrollbar-color:var(--scrollbar-thumb-strong) var(--scrollbar-track)}.table-scroll::-webkit-scrollbar{width:12px;height:12px}.table-scroll::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:999px}.table-scroll::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-strong);border:2px solid var(--scrollbar-track);border-radius:999px}.table-scroll::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.quality-gate-view{gap:14px;min-width:0;max-width:100%;display:grid;overflow:hidden}.quality-gate-summary{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.quality-gate-decision-kpi strong{flex-wrap:wrap;gap:4px;font-size:clamp(16px,1.6vw,22px);display:flex}.quality-gate-decision-approved{color:#22c55e}.quality-gate-decision-rejected{color:#f87171}.quality-gate-decision-empty{color:var(--muted)}.quality-gate-decision-sub{color:var(--muted);margin-top:6px;font-size:12px}.quality-gate-panel{min-width:0;max-width:100%;padding:14px;overflow:hidden}.quality-gate-section-head{align-items:flex-start;gap:14px;margin-bottom:12px}.quality-gate-section-head h3{margin-top:0;font-size:18px}.quality-gate-section-head p{color:var(--muted);margin:4px 0 0;font-size:13px}.quality-gate-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.quality-gate-actions span{color:var(--muted);font-size:12px;font-weight:800}.quality-gate-filter{min-width:160px}.quality-gate-table-scroll{background:var(--well);border:1px solid #819bb929;border-radius:8px;width:100%;max-width:100%;max-height:min(52vh,560px);display:block;overflow:auto}.quality-gate-table{width:max-content;min-width:1120px}.quality-gate-event-table{min-width:1360px}.quality-gate-pending-table{min-width:1220px}.quality-gate-table th,.quality-gate-table td{white-space:nowrap;vertical-align:middle;padding:9px 10px;font-size:13px}.quality-gate-table th{z-index:2;top:0}.quality-gate-table tr.is-enabled td:first-child{border-left:3px solid #2ad19dcc}.quality-gate-program-cell{gap:3px;min-width:110px;display:grid}.quality-gate-program-cell strong{color:var(--text);font-size:13px}.quality-gate-program-cell span{color:var(--muted);font-size:11px;font-weight:800}.quality-gate-switch{color:var(--muted-strong);align-items:center;gap:8px;font-weight:800;display:inline-flex}.quality-gate-switch input{width:18px;height:18px;accent-color:var(--accent)}.quality-gate-note-input{width:260px;min-height:34px;color:var(--text);background:var(--surface-7);font:inherit;border:1px solid #819bb93d;border-radius:8px;padding:0 10px}.quality-gate-note-input:focus{border-color:#2ad19dcc;outline:none;box-shadow:0 0 0 3px #2ad19d1f}.quality-gate-row-actions{align-items:center;gap:8px;display:flex}.quality-gate-row-actions button{min-height:34px;padding:0 12px}.quality-gate-approve-button{color:#052e1f;background:#22c55e;border-color:#22c55eb8}.quality-gate-approve-button:hover{background:#16a34a}.quality-gate-reject-button{color:#fff1f2;background:#dc2626;border-color:#f87171b8}.quality-gate-reject-button:hover{background:#b91c1c}.quality-gate-summary-cell{max-width:360px;line-height:1.35;white-space:normal!important}.production-details-view{gap:14px;min-width:0;max-width:100%;display:grid}.production-toolbar{justify-content:flex-end;align-items:center;display:flex}.production-limit-select{min-width:140px}.production-summary-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.production-tabs-panel{min-width:0;max-width:100%;padding:14px;overflow:hidden}.details-tab-strip{align-items:center;gap:8px;margin-bottom:12px;padding-bottom:10px;display:flex;overflow-x:auto}.details-tab-button{background:var(--surface-7);min-height:36px;color:var(--muted-strong);white-space:nowrap;border:1px solid #819bb938;flex:none}.details-tab-button.active{color:var(--text);background:#2ad19d24;border-color:#2ad19db8}.production-tab-content{min-width:0}.production-table-scroll{max-height:min(54vh,580px);overflow:auto}.shift-analysis-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;gap:12px;display:grid}@media (width<=760px){.production-toolbar{justify-content:stretch}.production-limit-select{width:100%}.shift-analysis-grid{grid-template-columns:1fr}}.table-limit-note{border-top:1px solid var(--line);color:var(--muted-strong);padding:9px 12px;font-size:12px;font-weight:700}.fanuc-chart-note{background:var(--stripe-bg);color:var(--muted);border:1px solid #94a3b838;border-radius:12px;margin-bottom:14px;padding:10px 12px;font-size:12px}.fanuc-chart-selector{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.fanuc-chart-selector button{height:auto;min-height:34px;box-shadow:none;padding:8px 12px;font-size:12px}.quality-gate-accordion-panel{padding:0;overflow:hidden}.accordion-head-button.quality-gate-accordion-head{width:100%;color:var(--text);text-align:left;background:0 0;border:0;border-radius:0;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.quality-gate-accordion-head h3{margin:0 0 4px}.quality-gate-accordion-head p{color:var(--muted);margin:0}.quality-gate-accordion-head>span{background:var(--surface-6);border:1px solid #819bb947;border-radius:9px;justify-content:center;align-items:center;width:32px;height:32px;font-size:20px;line-height:1;display:inline-flex}.quality-gate-pending-toolbar{justify-content:flex-end;align-items:end;gap:10px;padding:0 16px 12px;display:flex}.machine-access-box{background:var(--surface-4);border:1px solid #819bb92e;border-radius:12px;grid-column:1/-1;gap:8px;padding:10px;display:grid}.machine-access-list{flex-wrap:wrap;gap:8px 14px;display:flex}.machine-access-item{min-height:30px}.production-shift-chart-panel{min-width:0}.production-shift-chart-head{align-items:flex-start;gap:12px}.production-shift-chart-head .timeline-legend{justify-content:flex-end}.production-shift-chart-shell{padding:8px 4px 0}.global-pending-alert{color:#fff;letter-spacing:.01em;background:linear-gradient(135deg,#7f1d1deb,#b91c1cad);border:1px solid #ff63848c;border-radius:14px;margin:14px 0 18px;padding:16px 18px;font-weight:900;box-shadow:0 18px 38px #7f1d1d47}html[data-environment=development] body{padding-top:36px}.development-environment-banner{z-index:10000;color:#fff7ed;letter-spacing:.08em;text-align:center;background:repeating-linear-gradient(-45deg,#7c2d12,#7c2d12 14px,#9a3412 14px 28px);justify-content:center;align-items:center;min-height:36px;padding:7px 16px;font-size:12px;font-weight:900;display:flex;position:fixed;inset:0 0 auto;box-shadow:0 4px 16px #43140759}html[data-environment=development] .sidebar{height:calc(100vh - 36px);top:36px}.theme-toggle{z-index:10001;border:1px solid var(--line-strong);background:var(--panel-strong);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:2px;padding:3px;display:inline-flex;position:fixed;top:14px;right:16px}.theme-toggle-option{width:30px;height:30px;min-height:0;color:var(--muted);box-shadow:none;cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;padding:0;font-size:14px;line-height:1;display:grid}.theme-toggle-option:hover{color:var(--text);background:#38bdf81a}.theme-toggle-option.is-active{color:var(--text);background:#38bdf82e}html[data-environment=development] .theme-toggle{top:50px}@media (width<=760px){.theme-toggle{top:10px;right:10px}}html[data-environment=development] .topbar-shell{top:36px}.quality-anomaly-view{position:relative}.quality-anomaly-note{background:#0e74901f;border:1px solid #38bdf84d;border-radius:14px;align-items:center;gap:12px;margin-bottom:16px;padding:13px 16px;display:flex}.quality-anomaly-note strong{color:var(--callout-text);flex:none}.quality-anomaly-note span{color:var(--muted)}.quality-anomaly-summary{grid-template-columns:repeat(6,minmax(0,1fr))}.quality-anomaly-kpi-critical{background:linear-gradient(145deg,#7f1d1d47,#1e293bcc);border-color:#f8717180}.quality-anomaly-kpi-critical strong{color:#fca5a5}.quality-anomaly-panel{margin-top:16px}.quality-anomaly-section-head{gap:16px}.quality-anomaly-result-count{color:var(--muted);white-space:nowrap}.quality-anomaly-filters{grid-template-columns:1.35fr 1fr .7fr .8fr .9fr auto;align-items:end;gap:10px;margin:16px 0;display:grid}.quality-anomaly-filter{min-width:0}.quality-anomaly-clear{white-space:nowrap;min-height:42px}.quality-anomaly-table-scroll{max-height:580px}.quality-anomaly-pagination{align-items:center;gap:8px;margin-top:12px;display:flex}.quality-anomaly-pagination .data-table-toolbar-button:disabled{opacity:.5;cursor:not-allowed}.quality-anomaly-table th,.quality-anomaly-table td{white-space:nowrap}.quality-anomaly-table .quality-anomaly-reason-cell{white-space:normal;min-width:220px;max-width:320px}.quality-anomaly-table tr.is-flagged td{background:#7f1d1d2b}.quality-anomaly-table tr.is-high td{background:#b453091a}.quality-anomaly-table tr.is-not-scorable td{opacity:.78}.quality-score{background:#94a3b81f;border-radius:9px;justify-content:center;min-width:48px;padding:5px 8px;font-weight:900;display:inline-flex}.quality-score.is-critical{color:#fecaca;background:#dc26263d}.quality-score.is-warning{color:#fde68a;background:#d9770633}.quality-score.is-low{color:#86efac}.quality-score.is-muted{color:var(--muted)}.status-muted,.status-neutral{color:var(--chart-text);background:#64748b33}.quality-anomaly-drawer-backdrop{z-index:1200;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#020617b3;justify-content:flex-end;display:flex;position:fixed;inset:0}.quality-anomaly-drawer{background:var(--surface-solid-2);border-left:1px solid #94a3b838;width:min(620px,94vw);height:100%;padding:24px;overflow-y:auto;box-shadow:-24px 0 60px #0006}.quality-anomaly-event-drawer{width:min(960px,96vw)}.quality-anomaly-drawer-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.quality-anomaly-drawer-head span,.quality-anomaly-drawer-head h3{margin:0}.quality-anomaly-drawer-head span{color:var(--muted);font-size:12px}.quality-anomaly-detail-score{background:var(--slate-panel-strong);border:1px solid #94a3b833;border-radius:18px;place-items:center;margin:22px 0;padding:22px;display:grid}.quality-anomaly-detail-score span,.quality-anomaly-detail-score small{color:var(--muted)}.quality-anomaly-detail-score strong{font-size:42px;line-height:1.1}.quality-anomaly-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 24px;display:grid}.quality-anomaly-meta div{background:var(--slate-panel);border-radius:12px;padding:12px}.quality-anomaly-meta dt{color:var(--muted);text-transform:uppercase;font-size:11px}.quality-anomaly-meta dd{overflow-wrap:anywhere;margin:4px 0 0;font-weight:800}.quality-anomaly-distance{margin:12px 0}.quality-anomaly-distance>div:first-child{grid-template-columns:1fr auto auto;align-items:center;gap:12px;display:grid}.quality-anomaly-distance small{color:var(--muted)}.quality-anomaly-distance-track{background:#94a3b829;border-radius:99px;height:8px;margin-top:7px;overflow:hidden}.quality-anomaly-distance-track i{border-radius:inherit;background:linear-gradient(90deg,#38bdf8,#f59e0b,#ef4444);height:100%;display:block}.quality-anomaly-reason-list{gap:9px;display:grid}.quality-anomaly-reason-list>div,.quality-anomaly-skip-box{background:var(--slate-panel-weak);border:1px solid #94a3b829;border-radius:12px;gap:4px;padding:13px 14px;display:grid}.quality-anomaly-reason-list span,.quality-anomaly-reason-list small,.quality-anomaly-skip-box span{color:var(--muted)}.quality-anomaly-skip-box{border-color:#f59e0b59;margin-top:22px}.quality-anomaly-technical{margin-top:24px}.quality-anomaly-technical summary{cursor:pointer;font-weight:800}.quality-anomaly-technical .quality-anomaly-meta{margin-top:14px}.quality-anomaly-json{margin-top:12px}.quality-anomaly-json pre{background:var(--code-bg);max-height:220px;color:var(--chart-text);border-radius:10px;padding:12px;font-size:11px;overflow:auto}@media (width<=1280px){.quality-anomaly-summary,.quality-anomaly-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=720px){.quality-anomaly-note{flex-direction:column;align-items:flex-start}.quality-anomaly-summary,.quality-anomaly-filters,.quality-anomaly-meta{grid-template-columns:1fr}.quality-anomaly-drawer{padding:18px}}.machine-group-shell{overflow-x:hidden!important}.machine-group-shell.dashboard-shell,.machine-group-shell.app-shell{grid-template-columns:minmax(0,1fr)!important;overflow-x:hidden!important}.machine-group-shell .content,.machine-group-shell .main-content,.machine-group-shell main,.machine-group-shell .machine-group-dashboard,.machine-group-shell .machine-group-kiosk{width:100%!important;min-width:0!important;overflow-x:hidden!important}.machine-group-kiosk .machine-group-main-grid,.machine-group-kiosk .machine-group-left-column,.machine-group-kiosk .machine-group-right-column,.machine-group-kiosk .panel,.machine-group-kiosk .timeline-panel,.machine-group-kiosk .table-shell{min-width:0!important;max-width:100%!important}.machine-group-kiosk .machine-group-health-strip,.machine-group-dashboard .machine-group-health-strip,.machine-group-kiosk .health-panel,.machine-group-dashboard .health-panel{min-width:0!important;overflow-x:hidden!important}.machine-group-kiosk .health-grid,.machine-group-dashboard .machine-group-health-strip .health-grid{grid-template-columns:repeat(11,minmax(0,1fr))!important;gap:8px!important;width:100%!important;min-width:0!important;display:grid!important;overflow:visible!important}.machine-group-kiosk .health-card,.machine-group-dashboard .machine-group-health-strip .health-card{min-width:0!important;height:auto!important;min-height:84px!important;padding:8px 9px!important;overflow:hidden!important}.machine-group-kiosk .health-card .card-top,.machine-group-kiosk .health-card .health-card-header,.machine-group-dashboard .machine-group-health-strip .health-card .card-top,.machine-group-dashboard .machine-group-health-strip .health-card .health-card-header{grid-template-columns:minmax(0,1fr) auto!important;align-items:start!important;gap:5px!important;min-width:0!important;display:grid!important}.machine-group-kiosk .health-card h4,.machine-group-kiosk .health-card .health-title,.machine-group-kiosk .health-card .metric-title,.machine-group-dashboard .machine-group-health-strip .health-card h4,.machine-group-dashboard .machine-group-health-strip .health-card .health-title,.machine-group-dashboard .machine-group-health-strip .health-card .metric-title{white-space:normal!important;text-overflow:clip!important;word-break:normal!important;overflow-wrap:anywhere!important;letter-spacing:-.2px!important;min-width:0!important;max-width:none!important;margin:0!important;font-size:12px!important;line-height:1.05!important;overflow:visible!important}.machine-group-kiosk .health-card .pill,.machine-group-kiosk .health-card .status-pill,.machine-group-dashboard .machine-group-health-strip .health-card .pill,.machine-group-dashboard .machine-group-health-strip .health-card .status-pill{white-space:nowrap!important;align-self:start!important;padding:3px 6px!important;font-size:9px!important;line-height:1!important}.machine-group-kiosk .health-value,.machine-group-dashboard .machine-group-health-strip .health-value{letter-spacing:-.7px!important;margin-top:8px!important;font-size:25px!important;line-height:1!important}.machine-group-kiosk .health-card .progress,.machine-group-dashboard .machine-group-health-strip .health-card .progress{height:5px!important;margin-top:7px!important}.machine-group-kiosk .machine-group-kpi-strip{min-width:0!important;overflow-x:hidden!important}.machine-group-kiosk .summary-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important}.machine-group-kiosk .metric-card{min-width:0!important;padding:10px 12px!important}.machine-group-kiosk .suspicious-table,.machine-group-kiosk table{max-width:100%!important}.machine-group-kiosk .suspicious-table td,.machine-group-kiosk .suspicious-table th{white-space:nowrap!important}.machine-group-kiosk .suspicious-table td:last-child,.machine-group-kiosk .suspicious-table th:last-child{text-overflow:ellipsis!important;max-width:180px!important;overflow:hidden!important}.machine-group-shell .machine-group-dashboard{padding-right:8px!important}@media (width<=1700px){.machine-group-kiosk .health-grid,.machine-group-dashboard .machine-group-health-strip .health-grid{gap:6px!important}.machine-group-kiosk .health-card,.machine-group-dashboard .machine-group-health-strip .health-card{padding:7px!important}.machine-group-kiosk .health-card h4,.machine-group-kiosk .health-card .health-title,.machine-group-kiosk .health-card .metric-title,.machine-group-dashboard .machine-group-health-strip .health-card h4,.machine-group-dashboard .machine-group-health-strip .health-card .health-title,.machine-group-dashboard .machine-group-health-strip .health-card .metric-title{font-size:11px!important}.machine-group-kiosk .health-card .pill,.machine-group-kiosk .health-card .status-pill,.machine-group-dashboard .machine-group-health-strip .health-card .pill,.machine-group-dashboard .machine-group-health-strip .health-card .status-pill{padding:3px 5px!important;font-size:8px!important}.machine-group-kiosk .health-value,.machine-group-dashboard .machine-group-health-strip .health-value{font-size:23px!important}}.machine-group-kiosk .machine-group-main-grid{grid-template-columns:minmax(0,1fr)!important;align-items:stretch!important;gap:8px!important;width:100%!important;min-width:0!important;display:grid!important}.machine-group-kiosk .machine-group-left-column,.machine-group-kiosk .machine-group-right-column{display:contents!important}.machine-group-kiosk .machine-group-left-column>*,.machine-group-kiosk .machine-group-right-column>*{grid-column:1/-1!important;width:100%!important;min-width:0!important;max-width:100%!important}.machine-group-kiosk .machine-group-main-grid .panel,.machine-group-kiosk .machine-group-main-grid .timeline-panel{width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important}.machine-group-kiosk .machine-group-main-grid .table-shell,.machine-group-kiosk .machine-group-main-grid .suspicious-table,.machine-group-kiosk .machine-group-main-grid table{min-width:0!important;max-width:100%!important}.machine-group-shell .machine-group-dashboard,.machine-group-shell .machine-group-kiosk,.machine-group-kiosk .machine-group-main-grid{overflow-x:hidden!important}.machine-group-kiosk .machine-group-main-grid .timeline-panel{padding-top:8px!important;padding-bottom:8px!important}.machine-group-kiosk .machine-group-main-grid .suspicious-table th,.machine-group-kiosk .machine-group-main-grid .suspicious-table td,.machine-group-kiosk .machine-group-main-grid table th,.machine-group-kiosk .machine-group-main-grid table td{padding-top:6px!important;padding-bottom:6px!important}.machine-group-shell .machine-group-title-block{align-items:center!important;gap:14px!important;min-width:0!important;display:flex!important}.machine-group-shell .machine-group-topbar-logo{object-fit:contain!important;background:#fff!important;border-radius:18px!important;flex:0 0 76px!important;width:76px!important;height:76px!important;padding:9px!important;box-shadow:0 10px 24px #0f172a2e,inset 0 0 0 1px #0f172a14!important}.machine-group-shell .machine-group-title-block h2{letter-spacing:-.8px!important;margin:0!important;font-size:30px!important;line-height:1.05!important}.machine-group-shell .page-header{align-items:center!important}
