@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Thai:wght@400;500;600;700&display=swap";:root{color:#1d1d1f;font-synthesis:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f5f5f7;font-family:IBM Plex Sans Thai,Tahoma,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:4px;outline:2px solid #06c}button{color:inherit;background:0 0;border:1px solid #dedee3;padding:10px 15px}button:disabled{opacity:.6;cursor:wait}input,select{color:#1d1d1f;background:#fff;border:1px solid #dedee3;border-radius:3px;width:100%;padding:12px}label{color:#62626b;gap:8px;font-size:14px;display:grid}h1{letter-spacing:-.5px;margin:10px 0 22px;font-size:32px;line-height:1.35}h2{margin:8px 0;font-size:24px}p{line-height:1.65}.wordmark{letter-spacing:2px;font-size:27px;font-weight:700}.wordmark span{color:#62626b;letter-spacing:2px;margin-top:3px;font-size:10px;display:block}.eyebrow{color:#06c;letter-spacing:2px;font-size:11px;font-weight:600}.login-layout{grid-template-columns:1.25fr 1fr;min-height:100vh;display:grid}.intro{background:radial-gradient(at 30% 80%,#dedee3,#0000 70%),#fff;border-right:1px solid #dedee3;padding:65px 10vw 60px 7vw}.intro h1{font-size:clamp(40px,4vw,66px);line-height:1.25}.intro-copy{color:#62626b;font-size:18px}.flow{letter-spacing:2px;color:#1d1d1f;white-space:nowrap;margin-top:75px;font-size:11px}.flow span{color:#06c;margin:0 14px}.login-panel{align-self:center;width:100%;max-width:510px;margin:auto;padding:55px}.login-panel h2{font-size:30px}.login-panel p{color:#62626b;font-size:14px}.login-panel form{gap:22px;margin-top:32px;display:grid}.primary{color:#fff;background:#06c;border:none;padding:14px;font-weight:700}.mode{letter-spacing:1.5px;color:#06c;font-size:10px;font-weight:700}.footnote{color:#62626b;margin-top:28px;font-size:12px}.error{background:#fff0ef;border-left:3px solid #d43832;padding:12px 16px;font-size:14px;color:#a52a26!important}.shell{grid-template-columns:236px 1fr;min-height:100vh;display:grid}aside{background:#f5f5f7;border-right:1px solid #dedee3;flex-direction:column;padding:32px 24px;display:flex}.nav-label{letter-spacing:2px;color:#62626b;margin-top:64px;font-size:10px}nav{gap:8px;display:grid}nav button{text-align:left;color:#62626b;border:0;padding:15px 12px}nav button span{color:#62626b;margin-right:18px;font-size:10px}.active{background:#dedee3;color:#06c!important;border-left:2px solid #06c!important}.sidebar-bottom{margin-top:auto;padding-top:80px}.sidebar-bottom p{overflow-wrap:anywhere;color:#62626b;font-size:11px}.sidebar-bottom button{padding:8px 12px;font-size:12px}main{min-width:0}header{border-bottom:1px solid #dedee3;justify-content:space-between;align-items:center;gap:20px;height:112px;padding:24px 42px;display:flex}header p{margin:0 0 5px}.selector{width:230px;font-size:11px}.selector select{padding:8px;font-size:13px}.content{min-height:calc(100vh - 174px);padding:25px 42px 48px}.notice{letter-spacing:1px;color:#06c;align-items:center;gap:10px;padding-bottom:25px;font-size:10px;display:flex}.notice>span:last-child{color:#62626b;letter-spacing:0;font-size:12px}.dot{background:#06c;border-radius:50%;width:6px;height:6px}.section-title{justify-content:space-between;align-items:center;gap:20px;display:flex}.quiet{color:#62626b;font-size:13px}.stats{border-top:1px solid #dedee3;border-bottom:1px solid #dedee3;grid-template-columns:repeat(5,1fr);margin:10px 0 30px;display:grid}.stats section{border-right:1px solid #dedee3;padding:15px 22px 20px}.stats section:first-child{padding-left:0}.stats p{color:#62626b;margin:0 0 8px;font-size:12px}.stats strong{font-size:42px;font-weight:500;line-height:1.2}.machine-panel{background:#fff;border:1px solid #dedee3;padding:28px}.machine-heading{justify-content:space-between;align-items:center;gap:15px;display:flex}.machine-heading p{color:#06c;font-size:12px}.status{letter-spacing:1px;border:1px solid #62626b;padding:8px 18px;font:600 13px Tahoma,sans-serif}.status.stop{color:#1d1d1f;background:#dedee3}.status.offline{color:#62626b;background:#fff}.status.small{padding:5px 10px;font-size:10px}.signal-flow{letter-spacing:1.4px;border-top:1px solid #dedee3;border-bottom:1px solid #dedee3;align-items:center;gap:20px;margin:18px 0;padding:30px 0;font-size:11px;display:flex}.signal-flow i{color:#06c;font-style:normal}.details{grid-template-columns:1.2fr 1.2fr 1fr;gap:18px;display:grid}.details p{color:#06c;font-size:11px}.details strong{font-size:13px;font-weight:500}.table-wrap{margin-top:25px;overflow:auto}.access-table{table-layout:fixed}.access-table td{white-space:normal;overflow-wrap:anywhere}.access-table form{gap:10px;display:grid}.access-table select{min-width:0}@media (width<=650px){.access-table thead{display:none}.access-table,.access-table tbody,.access-table tr,.access-table td{width:100%;display:block}.access-table tr{border:1px solid #dedee3;margin-bottom:16px}.access-table td{border:0;padding:10px}}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:#62626b;background:#fff;padding:14px;font-size:11px;font-weight:500}td{white-space:nowrap;border-bottom:1px solid #dedee3;padding:17px 14px}.settings{border-top:1px solid #dedee3;grid-template-columns:1fr 1fr;gap:24px;margin:30px 0;padding-top:28px;display:grid}.settings input{color:#62626b;font-size:13px}.empty{color:#62626b;text-align:center;border:1px dashed #dedee3;padding:30px}.content footer{margin-top:30px}footer{letter-spacing:1px;color:#62626b;border-top:1px solid #dedee3;justify-content:space-between;padding:20px 42px;font-size:10px;display:flex}@media (width<=950px){.shell{grid-template-columns:190px 1fr}aside{padding:25px 15px}header{padding:20px 25px}.content{padding:25px}.stats{grid-template-columns:1fr 1fr}.stats section{padding:18px!important}.details{grid-template-columns:1fr}.section-title .quiet{display:none}.signal-flow{gap:10px;font-size:10px}}@media (width<=640px){.login-layout{display:block}.intro{padding:30px}.intro>.eyebrow{margin-top:30px}.intro h1{font-size:38px}.intro-copy,.flow{display:none}.login-panel{padding:35px 25px}.shell{display:block}aside{border:0;padding:16px;display:block}.wordmark{font-size:21px}.nav-label,.sidebar-bottom p,.sidebar-bottom .mode{display:none}nav{gap:5px;max-width:100%;margin-top:15px;display:flex;overflow-x:auto}nav button{white-space:nowrap;flex:none;width:auto;padding:9px}nav button span{display:none}.sidebar-bottom{padding:0;position:absolute;top:12px;right:16px}header{align-items:start;height:auto;padding:18px}.selector{flex-shrink:0;width:145px}header strong{font-size:16px}header .eyebrow{letter-spacing:.5px;font-size:9px}.content{padding:18px}h1{font-size:26px}.notice{flex-wrap:wrap}.machine-panel{padding:18px}.machine-heading{flex-direction:column;align-items:start}.signal-flow{flex-wrap:wrap}.settings{grid-template-columns:1fr}.stats strong{font-size:36px}footer{padding:18px}}.box-id{color:#06c;font-size:13px;font-weight:400}.pwa-bar{color:#62626b;background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;font-size:13px;display:flex}.pwa-bar button{color:#06c;cursor:pointer;background:0 0;border:1px solid #06c;border-radius:6px;padding:8px 12px}.pwa-help{color:#1d1d1f;background:#fff;padding:16px 20px;line-height:1.8}.pwa-offline{max-width:640px;margin:40px auto;padding:24px;line-height:1.8}.signal-settings{background:#fff;border:1px solid #dedee3;border-radius:12px;margin-top:26px;padding:24px}.signal-settings-heading,.signal-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;display:flex}.signal-settings h2{margin:4px 0 8px;font-size:20px}.config-version{color:#06c;font-weight:700}.signal-toolbar{flex-wrap:wrap;gap:16px;margin:20px 0;display:flex}.signal-toolbar label{color:#62626b;gap:6px;min-width:220px;font-size:13px;display:grid}.signal-toolbar .all-signals-toggle{align-self:end;align-items:center;gap:8px;min-width:auto;display:flex}.manual-default{color:#06c;white-space:nowrap;font-size:10px}.signal-toolbar select,.signal-toolbar input{color:#1d1d1f;background:#f5f5f7;border:1px solid #dedee3;border-radius:6px;padding:11px}.signal-group{margin-top:20px}.signal-group h3{color:#06c;margin-bottom:12px;font-size:15px}.signal-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:9px;display:grid}.signal-option{cursor:pointer;background:#f5f5f7;border:1px solid #dedee3;border-radius:7px;align-items:center;gap:11px;padding:12px;display:flex}.signal-option input{accent-color:#06c;width:17px;height:17px}.signal-option span{flex:1;gap:3px;display:grid}.signal-option small{color:#62626b}.signal-option em{color:#06c;font-size:11px;font-style:normal}.signal-actions{margin-top:22px}.signal-actions span{color:#62626b;font-size:13px}.registry-filters{flex-wrap:wrap;gap:16px;margin:24px 0;display:flex}.registry-filters label{flex:1;min-width:220px}.registry-filters input,.registry-filters select{width:100%;margin-top:8px}.device-registry{max-width:1500px;margin:auto}.device-registry h1{letter-spacing:-.04em;margin-bottom:12px}.fleet-graphic{grid-template-columns:minmax(240px,.8fr) minmax(350px,1.4fr);gap:24px;margin:32px 0;display:grid}.fleet-health,.fleet-route{background:radial-gradient(at 100% 0,#dedee3,#fff 70%);border:1px solid #dedee3;border-radius:14px;padding:28px}.fleet-health>strong{font-variant-numeric:tabular-nums;color:#06c;font-size:64px;line-height:1.2;display:block}.fleet-health strong small{color:#06c;font-size:24px}.fleet-meter{background:#dedee3;border-radius:9px;height:8px;margin:18px 0;overflow:hidden}.fleet-meter span{background:#06c;height:100%;transition:width .3s;display:block}.fleet-route{text-align:center;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:12px;display:grid}.fleet-route strong,.fleet-route small{display:block}.fleet-route>p{color:#62626b;grid-column:1/-1;margin:12px 0 0;font-size:12px}.route-symbol{color:#06c;margin-bottom:12px;font-size:42px;display:block}.device-registry table{border-collapse:collapse;width:100%;min-width:850px}.device-registry th{text-align:left;white-space:nowrap;background:#fff;padding:16px}.device-registry td{border-bottom:1px solid #dedee3;padding:20px 16px;line-height:1.8}.device-registry tbody tr:hover{background:#fff}.device-registry code{color:#06c;font-size:12px}.device-registry small{color:#62626b}.device-registry button{border-radius:7px}@media (width<=1050px){.fleet-graphic{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.fleet-meter span{transition:none}}.alarm-scroll{overflow-x:auto}.alarm-scroll table{min-width:760px}.alarm-scroll td{white-space:normal;overflow-wrap:anywhere}.monitoring{font-variant-numeric:tabular-nums}.monitoring .section-title{flex-wrap:wrap;align-items:start;gap:20px}.monitoring-window{grid-template-columns:1fr 1fr 1fr auto;align-items:end;gap:14px;margin-top:22px;display:grid}.monitoring-window input{min-width:0}.analysis-caption{color:#62626b;border-bottom:1px solid #dedee3;flex-wrap:wrap;gap:20px;padding:18px 0;font-size:13px;display:flex}.analysis-caption strong{color:#06c}.monitoring-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin:26px 0;display:grid}.monitoring-kpis article{border-left:2px solid #dedee3;gap:8px;padding:3px 0 3px 18px;display:grid}.monitoring-kpis span,.monitoring-kpis small{color:#62626b;font-size:13px}.monitoring-kpis strong{font-size:25px;font-weight:600}.analysis-section{border-top:1px solid #dedee3;margin-top:16px;padding:26px 0}.analysis-section h2{font-size:21px}.analysis-columns{grid-template-columns:1fr 1fr;gap:40px;display:grid}.analysis-form{gap:16px;margin-top:24px;display:grid}.context-form{grid-template-columns:2fr 1.5fr 1fr 1fr;gap:18px;margin:24px 0;display:grid}.context-form button{grid-column:1/-1;justify-self:start}.timeline{background:#dedee3;border-radius:4px;height:40px;margin-top:24px;display:flex;overflow:hidden}.segment{flex-shrink:0;height:100%}.timeline-axis{color:#62626b;justify-content:space-between;margin-top:8px;font-size:12px;display:flex}.timeline-legend{flex-wrap:wrap;gap:22px;margin-top:20px;font-size:13px;display:flex}.timeline-legend span{align-items:center;gap:7px;display:flex}.timeline-legend i{width:10px;height:10px;display:inline-block}.pareto-row{margin:22px 0}.pareto-row>div{justify-content:space-between;gap:10px;margin-bottom:7px;font-size:14px;display:flex}.pareto-row meter{width:100%;height:15px}.pareto-row meter::-webkit-meter-bar{background:#dedee3;border:0}.oee-grid{background:#fff;border-radius:5px;grid-template-columns:repeat(4,1fr);gap:24px;padding:28px;display:grid}.oee-grid article{gap:12px;display:grid}.oee-grid span{color:#62626b;font-size:14px}.oee-grid strong{color:#06c;font-size:38px;font-weight:500}.analysis-section li{color:#62626b;margin:10px 0}.capability{border-left:3px solid #62626b;padding-left:20px}.success{color:#06c;padding:10px 0}.fleet-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin:24px 0;display:grid}.fleet-machine{text-align:left;background:#fff;border:1px solid #dedee3;border-radius:5px;align-items:center;gap:12px;min-width:0;display:flex}.fleet-machine>span:nth-child(2){flex:1;min-width:0}.fleet-machine strong{font-size:15px;display:block}.fleet-machine small{color:#62626b;margin-top:4px;font-size:11px;display:block}.fleet-machine b{font-size:12px;font-weight:500}.fleet-dot{background:#62626b;border-radius:50%;flex-shrink:0;width:11px;height:11px}.machine-actions{border-block:1px solid #dedee3;margin:20px 0;padding:18px 0}.machine-actions p{color:#62626b;margin-top:0}.machine-actions button{border-radius:3px;margin-right:10px}.monitoring button:hover:not(:disabled),.fleet-machine:hover{filter:brightness(1.12)}@media (width<=1150px){.monitoring-window,.context-form,.monitoring-kpis{grid-template-columns:1fr 1fr}.analysis-columns{grid-template-columns:1fr}}@media (width<=600px){.monitoring-window,.context-form{grid-template-columns:1fr}.oee-grid{grid-template-columns:1fr 1fr;padding:20px}.oee-grid strong{font-size:30px}.monitoring-kpis{gap:18px}.monitoring-kpis strong{font-size:20px}.analysis-caption{gap:9px}.fleet-list{grid-template-columns:1fr}.analysis-section{padding-top:20px}.monitoring .section-title button{width:100%}}.segment.emergency,.timeline-legend .emergency,.fleet-dot.emergency{background:#b4233b;outline:1px solid #b4233b}:root{--accent:#06c;--ink:#1d1d1f;--muted:#62626b;--line:#e5e5ea;--surface:#fff;--canvas:#f5f5f7;color:var(--ink);background:var(--canvas);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,IBM Plex Sans Thai,sans-serif;font-size:14px}body{line-height:1.55}button,input,select,textarea{border-radius:10px;min-height:42px}button{background:#fff;border-color:#d8d8df;font-weight:500;transition:background .15s,border-color .15s}button:hover:not(:disabled){background:#f0f4fa;border-color:#a6bdd8}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #0071e3}input,select,textarea{color:var(--ink);font:inherit;background:#fff;border:1px solid #bdbdc6;max-width:100%;padding:11px 12px}textarea{width:100%;min-height:90px}input[readonly]{background:var(--canvas);color:var(--muted)}input[type=checkbox],input[type=radio]{width:18px;height:18px;min-height:18px;accent-color:var(--accent);flex-shrink:0}label:has(>input[type=checkbox]){align-items:center;gap:10px;margin:12px 0;display:flex}fieldset{border:1px solid var(--line);border-radius:12px;min-width:0;margin:18px 0;padding:18px}fieldset:disabled{opacity:.65}label{color:#51515a;font-weight:500}h1,h2,h3{letter-spacing:-.035em;font-weight:650}h1{margin:4px 0 22px;font-size:34px}h2{font-size:23px}.eyebrow,.mode{letter-spacing:1.4px;color:var(--accent);font-size:10px}.primary{background:var(--accent);color:#fff;border-radius:12px}.primary:hover:not(:disabled){background:#0056ae}.shell{grid-template-columns:232px minmax(0,1fr)}.shell>aside{border-color:var(--line);background:#fafafc;height:100dvh;padding:28px 16px;position:sticky;top:0;overflow:auto}.wordmark{letter-spacing:-1px;padding:0 12px;font-size:30px}.wordmark span{letter-spacing:1.7px;color:var(--muted);font-size:9px}.nav-label{letter-spacing:1px;margin:36px 12px 12px;font-size:9px}nav{gap:4px}nav button{color:#55555e;background:0 0;border:0;border-radius:9px;align-items:center;gap:12px;padding:11px 12px;font-size:13px;display:flex}nav button.active{background:#e5effb;color:#0059b3!important;border-left:0!important}.nav-icon{flex-shrink:0}.sidebar-bottom{padding:26px 12px 0}.sidebar-bottom button{width:100%}.shell>main>header{border-color:var(--line);background:#ffffffed;height:auto;min-height:96px;padding:20px 36px}header strong{font-size:18px}.box-id{color:var(--muted);margin-top:3px;font-size:11px;display:block}.selector{width:240px}.content{max-width:1600px;margin:auto;padding:24px 36px 48px}.controller-card{border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:16px;font-size:12px}.controller-card summary{cursor:pointer;color:#4b5360;padding:12px 16px;font-weight:600}.controller-details{color:var(--muted);padding:4px 16px 16px;line-height:1.9}.controller-empty{color:var(--muted);margin:0 0 16px;font-size:12px}.notice{color:var(--accent);letter-spacing:.5px;padding:0 0 18px}.dot{background:var(--accent)}.section-title{margin-top:10px}.stats{border:0;gap:12px;margin:22px 0}.stats section,.stats section:first-child{border:1px solid var(--line);background:#fff;border-radius:14px;padding:20px}.stats section:last-child{border:1px solid var(--line)}.stats p{min-height:34px;color:var(--muted);font-size:11px}.stats strong{letter-spacing:-2px;font-variant-numeric:tabular-nums;font-size:40px;font-weight:600}.stats section:nth-child(2) strong{color:#16734b}.fleet-list{margin:20px 0}.fleet-machine{border:1px solid var(--line);background:#fff;border-radius:12px;padding:16px}.fleet-machine small{color:var(--muted)}.machine-panel,.signal-settings,.panel,.analysis-section,.fleet-health,.fleet-route{border:1px solid var(--line);background:#fff;border-radius:16px;padding:26px}.machine-panel{margin-top:22px}.machine-heading p{max-width:620px;color:var(--muted)}.status{letter-spacing:.4px;border-radius:8px}.status.run{color:#16734b;background:#e8f5ed;border-color:#b7ddc6}.status.stop,.status.offline{color:#51515a;background:#f0f0f3;border-color:#d7d7df}.status.alarm{color:#965500;background:#fff4df;border-color:#e6c88d}.status.emergency{color:#fff;background:#b4233b;border:1px solid #b4233b}.machine-actions{border-color:var(--line);padding:18px 0}.machine-actions p{color:#51515a}.machine-actions button{border-radius:9px;margin-bottom:6px}.details{gap:12px}.details>div{overflow-wrap:anywhere;background:#f7f7f9;border-radius:10px;min-width:0;padding:16px}.details p{color:var(--muted);margin:0 0 8px}.details strong{font-variant-numeric:tabular-nums;font-size:15px}.quiet,.footnote{color:var(--muted)}.table-wrap,.alarm-scroll{border:1px solid var(--line);background:#fff;border-radius:12px}th,.device-registry th{color:#54545d;background:#f1f2f5;font-weight:600}td,.device-registry td{border-color:var(--line)}tbody tr:hover,.device-registry tbody tr:hover{background:#f8faff}.device-registry code{color:#0059b3}.settings{border:1px solid var(--line);background:#fff;border-radius:14px;padding:24px}.settings input{color:var(--ink)}.signal-toolbar input,.signal-toolbar select{color:var(--ink);background:#fff;border-color:#bdbdc6}.signal-option{border-color:var(--line);background:#fafafc;border-radius:10px;margin:0!important}.signal-option:has(input:checked){background:#eef5ff;border-color:#9cc1ed}.signal-option small,.signal-option em,.signal-actions span,.signal-toolbar label{color:var(--muted)}.signal-group h3,.config-version{color:var(--accent)}.registry-filters{align-items:end}.registry-filters button{align-self:end}.monitoring-kpis article{border:1px solid var(--line);background:#fff;border-radius:14px;padding:20px}.monitoring-kpis strong{letter-spacing:-1px;font-size:30px}.analysis-caption,.analysis-section{border-color:var(--line)}.analysis-columns{gap:24px}.oee-grid{background:#f5f8fe;border-radius:12px}.oee-grid strong{color:var(--accent)}.analysis-section li,.oee-grid span{color:var(--muted)}.success{color:#16734b}.empty{color:var(--muted);background:#fafafc;border-color:#d7d7df;border-radius:12px}.error{background:#fff0ef;border-color:#d43832;border-radius:8px;color:#a52a26!important}.fleet-health>strong,.route-symbol{color:var(--accent)}.fleet-meter{background:#e5e5ea}.fleet-meter span{background:#23936b}.timeline{border-radius:8px}.timeline-legend i{border-radius:3px}.pareto-row meter::-webkit-meter-bar{background:#e5e5ea}.pareto-row meter::-webkit-meter-optimum-value{background:#06c}footer{border-color:var(--line);color:var(--muted);letter-spacing:.6px}.pwa-bar{color:#4c596c;background:#eef3fa;padding:8px 24px;font-size:12px}.pwa-bar button{color:var(--accent);border-color:#b0c9e6}.pwa-help{color:var(--ink);background:#eef3fa}.login-layout{background:#fff;grid-template-columns:1.1fr 1fr}.intro{border-color:var(--line);background:#f5f5f7;flex-direction:column;justify-content:center;padding:60px 7vw;display:flex}.intro .wordmark{padding:0}.intro>.eyebrow{margin-top:80px}.intro h1{letter-spacing:-2px;font-size:clamp(40px,4.2vw,68px);font-weight:600}.intro-copy{color:var(--muted)}.flow{color:#51515a;margin-top:50px}.flow span{color:var(--accent)}.login-panel{max-width:480px;padding:48px}.login-panel h2{margin-top:14px;font-size:32px}.login-panel p{color:var(--muted)}@media (width>=1600px){.content{padding-top:32px}}@media (width<=1100px){.shell{grid-template-columns:206px minmax(0,1fr)}.content{padding:24px}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.shell>main>header{padding:20px 24px}.details{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.shell{display:block}.shell>aside{height:auto;padding:16px;position:relative;overflow:visible}.wordmark{padding:0;font-size:24px}.nav-label{display:none}nav{margin-top:18px;display:flex;overflow:auto}nav button{white-space:nowrap;flex-shrink:0;padding:10px 12px}.nav-icon{width:17px;height:17px}.sidebar-bottom{padding:0;position:absolute;top:10px;right:16px}.sidebar-bottom p,.sidebar-bottom .mode{display:none}.shell>main>header{flex-direction:column;align-items:stretch;gap:12px;padding:18px}.selector{width:100%}.content{padding:18px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stats section{padding:16px!important}.stats strong{font-size:34px}.stats p{min-height:0}.machine-panel,.signal-settings,.panel,.analysis-section{padding:18px}.details,.signal-grid{grid-template-columns:1fr}.signal-toolbar label{width:100%;min-width:0}.registry-filters label{flex-basis:100%;width:100%;min-width:0}.fleet-route{gap:6px;padding:16px;font-size:11px}.login-layout{display:block}.intro{padding:30px}.intro>.eyebrow{margin-top:26px}.intro h1{font-size:38px}.intro-copy,.flow{display:none}.login-panel{padding:32px 24px}.box-id{overflow-wrap:anywhere}h1{font-size:27px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}:root{--state-run:#16834a;--state-stop:#e4b400;--state-alarm:#d92d20;--state-emergency:#7c3aed;--state-offline:#838894}.status.run{color:#126534;border-color:var(--state-run);background:#eaf8ef}.status.stop{color:#715400;border-color:var(--state-stop);background:#fff7cc}.status.alarm{color:#b42318;border-color:var(--state-alarm);background:#fff0ee}.status.emergency{color:#fff;background:var(--state-emergency);border-color:var(--state-emergency)}.status.offline,.status.unknown{color:#515661;border-color:var(--state-offline);background:#eceef1}.alarm-text{color:var(--state-alarm)}.emergency-text{color:var(--state-emergency)}.segment.run,.timeline-legend .run,.fleet-dot.run{background:var(--state-run)}.segment.stop,.timeline-legend .stop,.fleet-dot.stop{background:var(--state-stop)}.segment.alarm,.timeline-legend .alarm,.fleet-dot.alarm{background:var(--state-alarm)}.segment.emergency,.timeline-legend .emergency,.fleet-dot.emergency{background:var(--state-emergency);outline-color:var(--state-emergency)}.segment.unknown,.timeline-legend .unknown,.fleet-dot.unknown{background:var(--state-offline)}.state-run{--machine-color:var(--state-run);--machine-tint:#f2fbf5}.state-stop{--machine-color:var(--state-stop);--machine-tint:#fffbed}.state-alarm{--machine-color:var(--state-alarm);--machine-tint:#fff6f5}.state-emergency{--machine-color:var(--state-emergency);--machine-tint:#f7f2ff}.state-offline{--machine-color:var(--state-offline);--machine-tint:#f5f6f8}.fleet-machine,.machine-panel{border-left:5px solid var(--machine-color,var(--line));background:var(--machine-tint,#fff)}.fleet-machine.selected{border-left-color:var(--machine-color);background:var(--machine-tint);outline-offset:2px;outline:2px solid #06c}.status-legend{color:#515661;flex-wrap:wrap;gap:16px;margin:16px 0;font-size:12px;display:flex}.status-legend span{align-items:center;gap:6px;display:flex}.history-state{min-width:0;padding:4px 8px;font-size:12px;display:inline-block}.table-scroll{overflow-x:auto}.table-scroll table{min-width:720px}.shell>main>header{flex-wrap:wrap}.group-selector{max-width:260px}.group-settings .panel{margin-bottom:18px}.group-machine-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;max-height:420px;display:grid;overflow:auto}.group-machine-list label{border:1px solid var(--line);border-radius:10px;align-items:center;gap:12px;padding:12px;display:flex}.group-machine-list input{flex-shrink:0;width:18px;height:18px;margin:0}.group-machine-list small{color:var(--muted);display:block}.fleet-list{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;display:grid}.fleet-machine{text-align:center;border:1px solid var(--line);background:#fff;flex-direction:column;align-items:center;gap:8px;padding:18px 16px;display:flex}.fleet-machine.selected{background:#fff;border-color:#06c}.fleet-machine>span{gap:4px;display:grid}.fleet-machine strong{font-size:18px}.cnc-illustration{flex-shrink:0;width:100%;max-width:320px;height:auto;display:block}.machine-heading>.cnc-illustration{width:180px}.machine-updated{font-size:11px}@media (width<=650px){.fleet-list{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.machine-heading{flex-wrap:wrap}.machine-heading>.cnc-illustration{width:140px}}.status-distribution{background:#fff;margin-top:20px}.distribution-heading h2{margin:5px 0}.distribution-body{align-items:center;gap:48px;display:flex}.status-donut{flex:0 0 220px;width:220px;position:relative}.status-donut svg{width:100%;display:block}.donut-total{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.donut-total strong{letter-spacing:-2px;font-size:42px;line-height:1.2}.donut-total span{color:var(--muted);font-size:12px}.distribution-legend{flex:1;max-width:600px;margin:0;padding:0;list-style:none}.distribution-legend li{border-bottom:1px solid var(--line);grid-template-columns:minmax(140px,1fr) 80px 55px;align-items:center;gap:12px;padding:12px 0;font-size:13px;display:grid}.distribution-legend li>span:last-child{text-align:right;font-variant-numeric:tabular-nums}.distribution-label{align-items:center;gap:9px;display:flex}.distribution-label i{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}@media (width<=700px){.distribution-body{flex-direction:column;gap:12px}.distribution-legend{width:100%}}@media (width>=701px) and (width<=1100px){.distribution-body{gap:20px}.status-donut{flex-basis:180px;width:180px}.distribution-legend li{grid-template-columns:minmax(120px,1fr) 65px 40px;gap:8px;font-size:12px}}
