:root{color:#213049;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f3f6fa;font-family:DM Sans,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,system-ui,sans-serif}h1{letter-spacing:-.045em}h2,h3{letter-spacing:-.025em}input,select{outline:none}input:focus-visible,select:focus-visible,button:focus-visible{outline-offset:2px;outline:3px solid #92b8fb}.muted{color:#7a8aa1}.eyebrow{letter-spacing:.17em;color:#2973d3;font-family:Manrope,sans-serif;font-size:11px;font-weight:800}.brand{color:#152840;letter-spacing:.08em;white-space:nowrap;align-items:center;gap:12px;font:800 15px/1.08 Manrope,sans-serif;display:flex}.brand small{letter-spacing:.22em;color:#8697aa;margin-top:4px;font-size:9px;display:block}.brand-mark{color:#fff;background:#2774d8;border-radius:10px;place-items:center;width:38px;height:38px;font:800 24px Manrope,sans-serif;display:grid;box-shadow:0 6px 15px #2774d842}.primary-button{color:#fff;background:#2675de;border:0;border-radius:10px;min-height:44px;padding:0 20px;font-weight:700;transition:background .15s;box-shadow:0 5px 14px #2675de2b}.primary-button:hover:not(:disabled){background:#135dc0}.quiet-button{color:#526580;background:#f4f7fb;border:1px solid #dce4ee;border-radius:9px;padding:9px 14px;font-weight:700}.quiet-button:hover{background:#e9f0fa}.text-button{color:#2973d3;background:0 0;border:0;padding:0;font-size:12px;font-weight:700}.text-button:hover{text-decoration:underline}.form-error,.banner-error{color:#bb3944;background:#fff1f2;border:1px solid #f1c9cc;border-radius:9px;padding:10px 12px;font-size:13px}.banner-error{margin-bottom:16px}.spinner{border:3px solid #bfd3ee;border-top-color:#2973d3;border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.startup{color:#60718b;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100vh;display:flex}.login-page{background:#fff;grid-template-columns:1fr 520px;min-height:100vh;display:grid}.login-art{color:#fff;background:radial-gradient(circle at 50% 38%,#285481 0,#142d4b 42%,#0d2137 78%);align-items:flex-end;padding:48px;display:flex;position:relative;overflow:hidden}.login-art:before{content:"";background-color:#0000;background-image:linear-gradient(125deg,#0000 45%,#7db7f014 45.3%,#0000 45.7%),linear-gradient(35deg,#0000 55%,#7db7f011 55.3%,#0000 55.7%);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:120px 120px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0}.art-grid{grid-template-columns:repeat(3,88px);gap:11px;display:grid;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)rotate(-25deg)skew(12deg,12deg)}.art-grid span{background:#29608d;border:2px solid #83bce85e;border-radius:8px;width:88px;height:88px;box-shadow:14px 17px #0a1f36,20px 24px 35px #010c18a6}.art-grid span:nth-child(3n+2){background:#1b83b2}.art-grid span:nth-child(5){background:#48a776}.art-grid span:nth-child(7){background:#dc715d}.art-caption{letter-spacing:-.04em;max-width:480px;font:700 clamp(25px,3vw,46px)/1.14 Manrope,sans-serif;position:relative}.login-panel{flex-direction:column;padding:40px 52px;display:flex}.login-form-wrap{width:100%;margin:auto 0}.login-form-wrap h1{margin:10px 0;font-size:35px}.login-form-wrap .muted{max-width:320px;margin-bottom:30px;font-size:14px;line-height:1.6}.login-form{flex-direction:column;gap:10px;display:flex}.login-form label{color:#3e4e64;font-size:13px;font-weight:700}.login-form input,.product-form input{color:#1c2b41;background:#fff;border:1px solid #d7e0eb;border-radius:10px;height:47px;padding:0 13px}.login-form input{margin-bottom:12px}.login-form .primary-button{margin-top:8px}.login-footer{color:#9cabbc;margin:0;font-size:12px}.app-shell{min-height:100vh}.topbar{background:#fff;border-bottom:1px solid #e3e9f1;justify-content:space-between;align-items:center;height:74px;padding:0 clamp(22px,4vw,60px);display:flex}.topbar-right{align-items:center;gap:22px;display:flex}.account-name{text-align:right;font-size:13px;font-weight:700}.account-name small{color:#8a99aa;margin-top:3px;font-weight:500;display:block}.dashboard{max-width:1720px;margin:auto;padding:38px clamp(20px,4vw,60px) 60px}.page-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px;display:flex}.page-heading .eyebrow{margin-bottom:7px}.page-heading h1{margin-bottom:4px;font-size:32px}.page-heading .muted{margin:0;font-size:13px}.line-select{color:#5e6e83;gap:8px;min-width:260px;font-size:12px;font-weight:700;display:grid}.line-select select{color:#23364e;background:#fff;border:1px solid #d8e1ec;border-radius:9px;height:43px;padding:0 13px;font-weight:700}.status-dot{background:#9fa9b4;border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.status-dot.running{background:#42b887}.status-dot.stopped{background:#edbd4b}.status-dot.fault{background:#e36e76}.status-dot.offline{background:#9aa7b6}.workspace{grid-template-columns:minmax(0,1.9fr) minmax(300px,.8fr);align-items:start;gap:18px;display:grid}.panel{background:#fff;border:1px solid #e4eaf2;border-radius:14px;box-shadow:0 4px 18px #1c345208}.visual-panel{overflow:hidden}.panel-header{border-bottom:1px solid #e7edf4;justify-content:space-between;align-items:center;height:75px;padding:0 22px;display:flex}.panel-header h2,.section-title h2{margin:0 0 4px;font-size:15px}.panel-header p{color:#98a6b7;margin:0;font-size:11px}.live-chip{color:#278d64;letter-spacing:.1em;background:#eafaf2;border:1px solid #bfe9d8;border-radius:50px;align-items:center;gap:6px;padding:6px 10px;font-size:10px;font-weight:800;display:flex}.live-chip i{background:#2aaf76;border-radius:50%;width:6px;height:6px;display:inline-block}.unity-stage{background:#e1e9f1;height:clamp(340px,36vw,500px);position:relative}.unity-canvas{display:block}.unity-overlay{color:#455972;text-align:center;background:#e6edf4f2;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:20px;font-size:13px;display:flex;position:absolute;inset:0}.unity-overlay strong{font:700 15px Manrope,sans-serif}.visual-footer{color:#6d7c91;align-items:center;gap:22px;min-height:51px;padding:10px 21px;font-size:11px;display:flex}.visual-footer span{align-items:center;gap:7px;display:flex}.side-column{flex-direction:column;gap:16px;display:flex}.side-column .panel{padding:19px}.section-title{justify-content:space-between;align-items:center;margin-bottom:17px;display:flex}.section-title h2{margin:0}.empty-state{color:#98a6b7;margin:0;padding:12px 0 15px;font-size:12px;line-height:1.6}.machine-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.machine-title .eyebrow{margin-bottom:4px}.machine-title h3{margin:0;font-size:19px}.status-pill{white-space:nowrap;border-radius:100px;padding:6px 9px;font-size:10px;font-weight:700}.status-pill.running{color:#268965;background:#e9f8f0}.status-pill.stopped{color:#9d741b;background:#fff7df}.status-pill.fault{color:#c5444f;background:#fff0f1}.status-pill.offline{color:#657489;background:#edf1f5}.machine-info dl{border-top:1px solid #edf1f6;margin:18px 0 0}.machine-info dl div{border-bottom:1px solid #edf1f6;justify-content:space-between;gap:12px;padding:12px 0;font-size:12px;display:flex}.machine-info dt{color:#8998ab}.machine-info dd{text-align:right;max-width:65%;margin:0;font-weight:700}.product-panel .muted{margin:-5px 0 13px;font-size:12px;line-height:1.5}.product-form{gap:7px;display:flex}.product-form input{width:100%;min-width:0;height:41px;font-size:12px}.product-form .primary-button{min-height:41px}.product-panel .form-error{margin:10px 0 0}.result-note{color:#55728e;margin:10px 0 0;font-size:12px;line-height:1.5}.count-badge{color:#d35961;text-align:center;background:#feeef0;border-radius:99px;min-width:24px;padding:3px 7px;font-size:11px;font-weight:800}.alarm-list{max-height:300px;margin:0;padding:0;list-style:none;overflow:auto}.alarm-list li+li{border-top:1px solid #edf1f6}.alarm-list button{text-align:left;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:11px 2px;display:flex}.alarm-list button:hover{background:#f7faff}.alarm-icon{color:#cf4d57;background:#fff0f1;border-radius:8px;flex:none;place-items:center;width:30px;height:30px;font-weight:800;display:grid}.alarm-copy{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.alarm-copy strong{color:#2d3e56;font-size:12px}.alarm-copy small{color:#8e9bae;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.alarm-list time{color:#9dacbd;align-self:start;margin-top:4px;font-size:10px}@media (width<=1100px){.workspace{grid-template-columns:1fr}.side-column{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.alarms-panel{grid-column:1/-1}}@media (width<=760px){.login-page{grid-template-columns:1fr}.login-art{display:none}.login-panel{min-height:100vh;padding:28px}.topbar{height:auto;min-height:69px;padding:14px 18px}.brand{font-size:12px}.brand-mark{width:34px;height:34px}.topbar-right{gap:9px}.account-name{display:none}.dashboard{padding:25px 14px}.page-heading{flex-direction:column;align-items:stretch;margin-bottom:20px}.page-heading h1{font-size:27px}.side-column{display:flex}.unity-stage{height:340px}.visual-footer{flex-wrap:wrap;gap:10px 16px}}.unity-stage,.unity-canvas{touch-action:none;overscroll-behavior:contain}.unity-canvas{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:100%;height:100%}.visual-footer:has(.cancel-placement){flex-wrap:wrap;gap:10px 16px}.cancel-placement{white-space:nowrap;margin-left:auto}.banner-info{color:#2f5f93;background:#eef5ff;border:1px solid #cfe0f7;border-radius:9px;margin-bottom:16px;padding:10px 12px;font-size:13px}.topbar-error{margin:12px clamp(22px,4vw,60px) 0}.notice-panel{max-width:620px;margin:40px auto;padding:32px}.notice-panel h1{margin:0 0 8px;font-size:24px}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.admin-card{padding:22px}.admin-card ul{color:#5e6e83;margin:0;padding-left:18px;font-size:13px;line-height:1.9}.soon-badge{color:#6b7b90;letter-spacing:.06em;background:#eef2f7;border-radius:99px;padding:4px 9px;font-size:10px;font-weight:800}.active-fault{background:#fff1f2;border:1px solid #f1c9cc;border-radius:10px;align-items:flex-start;gap:10px;margin-top:16px;padding:12px;display:flex}.active-fault div{flex-direction:column;gap:3px;font-size:12px;display:flex}.active-fault strong{color:#bb3944;letter-spacing:.06em;text-transform:uppercase;font-size:11px}.active-fault span{color:#2d3e56;font-weight:700}.active-fault small{color:#8e9bae;font-size:11px}@media (width<=760px){.admin-grid{grid-template-columns:1fr}}.panel-header-actions{align-items:center;gap:10px;display:flex}.panel-header-actions .quiet-button{padding:7px 12px;font-size:12px}.panel-header-actions .quiet-button:disabled{opacity:.55;cursor:not-allowed}.edit-chip{color:#9d6d10;letter-spacing:.1em;background:#fff8e6;border:1px solid #f3d79b;border-radius:50px;padding:6px 10px;font-size:10px;font-weight:800}.edit-help{margin:-6px 0 14px;font-size:12px;line-height:1.55}.dirty-badge{color:#9d6d10;background:#fff4dc;border-radius:99px;padding:4px 9px;font-size:10px;font-weight:800}.held-card{background:#f3f8ff;border:1px solid #cfe0f7;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding:12px;display:flex}.held-card>div:first-child{flex-direction:column;gap:2px;display:flex}.held-card strong{color:#213049;font-size:15px}.held-card small{color:#8e9bae;font-size:11px}.held-actions{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.text-button.danger{color:#c5444f}.text-button:disabled{color:#a9b6c6;cursor:not-allowed}.edit-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.edit-actions .primary-button,.edit-actions .quiet-button{min-height:38px;font-size:12px}.edit-actions button:disabled{opacity:.55;cursor:not-allowed}.count-badge.neutral{color:#5e6e83;background:#eef2f7}.unplaced-list,.history-list{max-height:280px;margin:0;padding:0;list-style:none;overflow:auto}.unplaced-list li+li,.history-list li+li{border-top:1px solid #edf1f6}.unplaced-list button{text-align:left;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;width:100%;padding:10px 6px;display:flex}.unplaced-list button:hover{background:#f7faff}.unplaced-list button.armed{background:#e7f6ee;box-shadow:inset 3px 0 #2aaf76}.unplaced-list strong{color:#2d3e56;font-size:13px}.unplaced-list small{color:#8e9bae;font-size:11px}.history-list li{align-items:center;gap:10px;padding:10px 0;display:flex}.history-list img,.no-preview{object-fit:cover;background:#2a2f38;border:1px solid #e4eaf2;border-radius:6px;flex:none;width:96px;height:54px}.no-preview{color:#98a6b7;background:#f4f7fb;place-items:center;font-size:10px;display:grid}.history-copy{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.history-copy strong{color:#2d3e56;align-items:center;gap:6px;font-size:13px;display:flex}.history-copy small{color:#8e9bae;font-size:11px}.active-badge{color:#268965;background:#e9f8f0;border-radius:99px;padding:2px 7px;font-size:10px;font-weight:800}.admin-tabs{border-bottom:1px solid #e3e9f1;flex-wrap:wrap;gap:6px;margin-bottom:18px;display:flex}.admin-tabs button{color:#6d7c91;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:11px 14px;font-size:13px;font-weight:700}.admin-tabs button:hover{color:#23364e}.admin-tabs button.active{color:#2675de;border-bottom-color:#2675de}.admin-content{flex-direction:column;gap:16px;display:flex}.admin-section{padding:20px;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:12px}.admin-table th{text-align:left;color:#8998ab;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-bottom:1px solid #e4eaf2;padding:8px 10px;font-size:10px}.admin-table td{color:#34465e;vertical-align:middle;border-bottom:1px solid #edf1f6;padding:10px}.admin-table td strong{margin-right:6px}.admin-table tr.inactive td{color:#a2afbf}.admin-table select{background:#fff;border:1px solid #d8e1ec;border-radius:7px;height:32px;padding:0 8px;font-size:12px}.row-actions{white-space:nowrap;justify-content:flex-end;gap:12px;display:flex}.admin-form{border-top:1px solid #edf1f6;margin-top:16px;padding-top:16px}.admin-form h3{margin:0 0 12px;font-size:14px}.form-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.form-grid label{color:#5e6e83;gap:6px;font-size:12px;font-weight:700;display:grid}.form-grid input,.form-grid select{background:#fff;border:1px solid #d8e1ec;border-radius:9px;height:40px;padding:0 12px;font-size:13px}.form-grid input:disabled{color:#8998ab;background:#f4f7fb}.check-group{border:1px solid #e4eaf2;border-radius:10px;flex-wrap:wrap;gap:8px 18px;margin:14px 0 0;padding:10px 14px;display:flex}.check-group legend{color:#5e6e83;padding:0 4px;font-size:12px;font-weight:700}.check-group label{color:#34465e;align-items:center;gap:7px;font-size:12px;display:flex}.form-actions{gap:8px;margin-top:14px;display:flex}.form-note{margin:-6px 0 12px;font-size:12px}.inline-filter{color:#5e6e83;align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.inline-filter select{background:#fff;border:1px solid #d8e1ec;border-radius:8px;height:34px;padding:0 10px}.password-notice{background:#eafaf2;border:1px solid #bfe9d8;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.password-notice strong{color:#1f6e4d}.password-notice p{color:#3d6b57;margin:4px 0 10px;font-size:12px}.password-notice code{letter-spacing:.04em;-webkit-user-select:all;user-select:all;background:#fff;border:1px solid #bfe9d8;border-radius:8px;padding:6px 10px;font-size:18px;font-weight:700}.password-actions{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.layout-cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.layout-card{background:#fff;border:1px solid #e4eaf2;border-radius:12px;overflow:hidden}.layout-card.current{border-color:#9fd9bf;box-shadow:0 0 0 2px #e3f6ec}.layout-card img,.no-preview.large{aspect-ratio:16/9;object-fit:cover;border:0;border-radius:0;width:100%;height:auto;display:block}.layout-card-body{flex-direction:column;gap:5px;padding:12px;display:flex}.layout-card-body strong{align-items:center;gap:6px;font-size:14px;display:flex}.layout-card-body small{color:#8e9bae;font-size:11px}.layout-card-body .quiet-button{align-self:flex-start;margin-top:6px;padding:7px 12px;font-size:12px}.audit-table .mono{font-family:ui-monospace,Consolas,monospace;font-size:11px}.audit-table .detail{overflow-wrap:anywhere;max-width:360px}.nowrap{white-space:nowrap}.main-column{flex-direction:column;gap:18px;min-width:0;display:flex}.range-selector{z-index:35;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#f3f6faf0;border-radius:0 0 12px 12px;flex-wrap:wrap;align-items:center;gap:6px;margin:0 -12px 14px;padding:10px 12px;display:flex;position:sticky;top:0}.range-selector small{color:#8998ab;margin-left:8px;font-size:11px}.range-selector>span{letter-spacing:.1em;color:#8998ab;margin-right:6px;font-size:10px;font-weight:800}.range-selector button{color:#5d6d83;background:#fff;border:1px solid #dfe6ef;border-radius:100px;padding:6px 13px;font-size:12px;font-weight:700}.range-selector button:hover:not(.active){color:#2675de;border-color:#2675de}.range-selector button.active{color:#fff;background:#2675de;border-color:#2675de}.insights{flex-direction:column;gap:16px;margin-bottom:20px;transition:opacity .2s;display:flex}.insights.stale{opacity:.6;transition-delay:.3s}.insight-grid{grid-template-columns:minmax(220px,.75fr) minmax(280px,1fr) minmax(0,1.7fr);align-items:stretch;gap:16px;display:grid}.chart-card{min-width:0;padding:17px 19px;position:relative}.chart-card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.chart-card-head h3{margin:0;font-size:13px}.chart-card-head p{color:#8998ab;margin:3px 0 0;font-size:11px}.chart-table-wrap{max-height:260px;overflow:auto}.chart-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:12px}.chart-table th,.chart-table td{text-align:right;white-space:nowrap;border-bottom:1px solid #eef2f7;padding:6px 8px}.chart-table th:first-child,.chart-table td:first-child{text-align:left}.chart-table th{letter-spacing:.06em;color:#8998ab;background:#fff;font-size:10px;font-weight:800;position:sticky;top:0}.chart-tooltip{z-index:5;color:#fff;white-space:nowrap;pointer-events:none;background:#213049;border-radius:8px;flex-direction:column;gap:2px;padding:6px 9px;font-size:11px;display:flex;position:absolute;top:-6px;transform:translate(-50%,-100%);box-shadow:0 6px 18px #1c345230}.chart-tooltip span{color:#c9d3e0}.gauge{width:100%;max-width:220px;margin:0 auto;display:block}.gauge-value{fill:#213049;font:800 26px Manrope,sans-serif}.gauge-caption{fill:#8998ab;font-size:11px}.gauge-facts{gap:7px;margin:12px 0 0;display:grid}.gauge-facts div{justify-content:space-between;gap:10px;font-size:12px;display:flex}.gauge-facts dt{color:#8998ab}.gauge-facts dd{text-align:right;margin:0;font-weight:700}.mini-bars{flex:1;gap:6px;min-width:0;display:flex}.mini-bar{text-align:center;flex-direction:column;flex:1;align-items:center;gap:5px;min-width:0;display:flex}.mini-bar svg{width:24px;height:56px}.mini-bar-value{color:#213049;font:800 17px/1.2 Manrope,sans-serif}.mini-bar-label{color:#4f5f75;flex-direction:column;align-items:center;gap:4px;font-size:11px;font-weight:700;display:flex}.mini-bar small{color:#8998ab;font-size:10px}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.stat-card{border:1px solid #eef2f7;border-radius:10px;flex-direction:column;gap:2px;min-width:0;padding:10px 12px;display:flex}.stat-label{color:#8998ab;font-size:11px;font-weight:700}.stat-value{color:#213049;font-variant-numeric:tabular-nums;font:800 21px/1.3 Manrope,sans-serif}.stat-note{color:#8998ab;font-size:10px}.sparkline{height:32px;margin-top:4px;position:relative}.sparkline svg{width:100%;height:100%;display:block}.sparkline-dot{box-sizing:border-box;background:#2675de;border:2px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;right:-4px;transform:translateY(-50%)}.column-chart{position:relative}.column-chart svg{width:100%;height:200px;display:block}.axis-text{fill:#8998ab;font-size:11px}.donut-wrap{align-items:center;gap:20px;display:flex}.donut{flex:none;width:128px}.donut-value{fill:#213049;font:800 20px Manrope,sans-serif}.donut-caption{fill:#8998ab;font-size:11px}.chart-legend{flex:1;gap:4px;margin:0;padding:0;font-size:12px;list-style:none;display:grid}.chart-legend li{border-radius:6px;grid-template-columns:8px 1fr auto auto;align-items:center;gap:8px;padding:4px 6px;display:grid}.chart-legend li.active{background:#f3f6fa}.chart-legend strong{font-variant-numeric:tabular-nums}.chart-legend small{text-align:right;color:#8998ab;white-space:nowrap}.chart-legend.inline{flex-wrap:wrap;gap:6px 16px;margin-top:10px;display:flex}.chart-legend.inline li{gap:6px;padding:0;display:flex}.timeline-band{height:28px;position:relative}.timeline-band svg{border-radius:4px;width:100%;height:100%;display:block}.timeline-axis{color:#8998ab;justify-content:space-between;margin-top:6px;font-size:11px;display:flex}.machine-insights,.machine-insights-head{margin-bottom:0}.machine-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}@media (width<=1100px){.insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.insight-grid .stats-card{grid-column:1/-1}.machine-grid{grid-template-columns:1fr}}@media (width<=760px){.insight-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-value{font-size:18px}.donut-wrap{flex-direction:column;align-items:stretch}.donut{margin:0 auto}.chart-card{padding:14px}}.history-chip{color:#9d6d10;letter-spacing:.1em;background:#fff8e6;border:1px solid #f3d79b;border-radius:50px;align-items:center;gap:6px;padding:6px 10px;font-size:10px;font-weight:800;display:flex}.history-chip i{background:#e0a526;border-radius:50%;width:6px;height:6px;display:inline-block}.product-code{letter-spacing:.04em;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.product-route ol{gap:4px;max-height:220px;margin:10px 0 0;padding:0;list-style:none;display:grid;overflow:auto}.product-route li{background:#f6f9fc;border-radius:7px;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:5px 8px;font-size:12px;display:grid}.product-route li time{color:#8998ab;font-variant-numeric:tabular-nums}.product-route li span{color:#268965;font-weight:700}.product-route li.revision span{color:#9d741b}.product-route li.reject span{color:#c5444f}.time-control{z-index:40;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fffffff2;border:1px solid #dfe6ef;border-radius:14px;flex-direction:column;gap:8px;margin-top:20px;padding:12px 16px 10px;display:flex;position:sticky;bottom:12px;box-shadow:0 10px 32px #1c34522e}.time-control.is-history{border-color:#f0d593;box-shadow:0 10px 32px #9d6d1033}.time-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 18px;display:flex}.time-now{align-items:center;gap:10px;display:flex}.time-now strong{color:#213049;font-variant-numeric:tabular-nums;font:800 15px Manrope,sans-serif}.time-mode{letter-spacing:.1em;color:#278d64;background:#eafaf2;border:1px solid #bfe9d8;border-radius:50px;align-items:center;gap:6px;padding:5px 9px;font-size:10px;font-weight:800;display:flex}.time-mode i{background:#2aaf76;border-radius:50%;width:6px;height:6px}.is-history .time-mode{color:#9d6d10;background:#fff8e6;border-color:#f3d79b}.is-history .time-mode i{background:#e0a526}.time-buttons,.time-day{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.time-button{color:#3f5470;white-space:nowrap;background:#f4f7fb;border:1px solid #dce4ee;border-radius:9px;padding:7px 11px;font-size:12px;font-weight:700}.time-button:hover:not(:disabled){color:#2675de;border-color:#2675de}.time-button.play{color:#fff;background:#2675de;border-color:#2675de;min-width:40px}.time-button.play:hover:not(:disabled){color:#fff;background:#1e64c4}.time-button.live:not(:disabled){color:#278d64;background:#eafaf2;border-color:#bfe9d8}.time-speeds{border:1px solid #dce4ee;border-radius:9px;display:flex;overflow:hidden}.time-speeds button{color:#5d6d83;font-variant-numeric:tabular-nums;background:#fff;border:0;padding:7px 9px;font-size:12px;font-weight:700}.time-speeds button+button{border-left:1px solid #dce4ee}.time-speeds button.active{color:#fff;background:#213049}.time-day input{color:#1c2b41;background:#fff;border:1px solid #d7e0eb;border-radius:9px;height:34px;padding:0 9px;font-size:12px}.time-track{padding:0 2px;position:relative}.time-markers{height:16px;position:relative}.time-marker{cursor:pointer;background:#e36e76;border:2px solid #fff;border-radius:4px;min-width:7px;height:12px;margin-left:-3px;padding:0;position:absolute;top:2px}.time-marker:hover,.time-marker:focus-visible{z-index:2;background:#c5444f}.time-marker-tip{color:#c9d3e0;text-align:left;white-space:nowrap;pointer-events:none;background:#213049;border-radius:8px;flex-direction:column;gap:2px;padding:6px 9px;font-size:11px;font-weight:500;display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 6px 18px #1c345230}.time-marker-tip strong{color:#fff}.time-marker.left .time-marker-tip{left:0;transform:none}.time-marker.right .time-marker-tip{left:auto;right:0;transform:none}.time-marker:hover .time-marker-tip,.time-marker:focus-visible .time-marker-tip{display:flex}.time-rail{background:#e9eff6;border-radius:6px;height:22px;position:relative;overflow:hidden}.time-future{background:repeating-linear-gradient(135deg,#dfe6ef 0 4px,#f3f6fa 4px 8px);position:absolute;top:0;bottom:0;right:0}.time-rail input[type=range]{appearance:none;cursor:pointer;background:0 0;width:100%;height:100%;margin:0;position:absolute;inset:0}.time-rail input[type=range]::-webkit-slider-runnable-track{background:0 0;height:22px}.time-rail input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#213049;border-radius:3px;width:6px;height:22px;box-shadow:0 0 0 2px #fff}.time-rail input[type=range]::-moz-range-track{background:0 0;height:22px}.time-rail input[type=range]::-moz-range-thumb{background:#213049;border:0;border-radius:3px;width:6px;height:22px;box-shadow:0 0 0 2px #fff}.time-axis{height:16px;margin-top:3px;position:relative}.time-axis span{color:#8998ab;font-variant-numeric:tabular-nums;font-size:10px;position:absolute;transform:translate(-50%)}.time-axis span:first-child{transform:none}.time-axis span:last-child{transform:translate(-100%)}.time-foot{color:#6b7c92;flex-wrap:wrap;align-items:center;gap:6px 16px;font-size:11px;display:flex}.time-legend{color:#4f5f75;align-items:center;gap:6px;font-weight:700;display:flex}.time-legend i{background:#e36e76;border-radius:3px;width:12px;height:8px}.time-note{color:#8a6a1d}.time-notice{color:#2675de;font-weight:700}.time-collapse{place-items:center;width:32px;height:32px;padding:0;display:grid}.time-collapse svg{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;width:16px;height:16px}.time-fab{z-index:40;color:#213049;font-variant-numeric:tabular-nums;background:#fff;border:1px solid #dfe6ef;border-radius:99px;align-items:center;gap:8px;padding:9px 14px 9px 11px;font-size:12px;font-weight:800;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 10px 28px #1c34522e}.time-fab:hover{border-color:#2675de}.time-fab svg{fill:none;stroke:#2675de;stroke-width:2px;stroke-linecap:round;width:20px;height:20px}.time-fab i{background:#2aaf76;border-radius:50%;width:7px;height:7px}.time-fab.is-history{background:#fffaf0;border-color:#f0d593}.time-fab.is-history i{background:#e0a526}.time-fab small{color:#2675de;font-size:11px}.chart-note{color:#8998ab;margin:8px 0 0;font-size:10.5px;line-height:1.4}.donut-side{flex:1;min-width:0}.timeline-row+.timeline-row{margin-top:12px}.timeline-row-title{color:#4f5f75;margin-bottom:4px;font-size:11px;font-weight:700;display:block}.narrow-only{display:none}@media (width<=760px){.time-fab{bottom:12px;right:12px}.time-control{gap:6px;padding:10px;bottom:6px}.wide-only{display:none}.narrow-only{display:inline}.time-row{grid-template-columns:1fr auto;gap:8px;display:grid}.time-buttons{flex-wrap:nowrap;grid-area:2/1/auto/-1;gap:5px}.time-buttons .time-button{flex:0 auto;min-width:0;padding:6px}.time-buttons .time-button.play{min-width:30px}.time-speeds{flex:none}.time-now{gap:6px;min-width:0}.time-now strong{white-space:nowrap}.time-day{flex-wrap:nowrap;gap:4px}.time-day input{width:118px}.time-day .time-button{padding:5px 8px}.time-mode{padding:4px 7px}.time-now strong{font-size:13px}.time-day input{height:30px;padding:0 6px}.time-markers{height:14px}.time-rail{height:18px}.time-rail input[type=range]::-webkit-slider-runnable-track{height:18px}.time-rail input[type=range]::-webkit-slider-thumb{height:18px}.time-rail input[type=range]::-moz-range-thumb{height:18px}.time-row{gap:8px}.time-button{padding:6px 8px;font-size:11px}.time-speeds button{padding:6px 7px;font-size:11px}.time-axis span:nth-child(2n){display:none}.time-note{font-size:10px}}.now-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}.gauge-layout{grid-template-columns:minmax(160px,220px) minmax(0,1fr);align-items:center;gap:20px;display:grid}.product-route li.upcoming{background:#fff;border:1px dashed #dce4ee}.product-route li.upcoming .route-station{color:#8998ab;font-weight:700}.product-route li.upcoming span:last-child{color:#8998ab}@media (width<=1100px){.now-grid,.range-grid{grid-template-columns:1fr}}@media (width<=760px){.gauge-layout{grid-template-columns:1fr}.range-selector small{display:none}}.mini-spinner{border:2px solid #c9d8ee;border-top-color:#2675de;border-radius:50%;flex:none;width:12px;height:12px;animation:.7s linear infinite mini-spin;display:inline-block}@keyframes mini-spin{to{transform:rotate(360deg)}}.loading-sign{color:#2675de;align-items:center;gap:6px;font-size:11px;font-weight:700;display:inline-flex}.range-selector .loading-sign{margin-left:auto}.route-legend{color:#6b7c92;flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0 0;font-size:11px;display:flex}.route-legend span{border-radius:2px;width:16px;height:4px;display:inline-block}.route-done{background:#2675de}.route-ahead{background:#9db5d6;margin-left:8px}.route-skip{border-top:3px dashed #707986;margin-left:8px;border-radius:0!important;height:0!important}@media (prefers-reduced-motion:reduce){.mini-spinner{animation-duration:2s}}.gauge-fill{transition:stroke-width .15s,stroke .15s}.gauge-fill.interactive{cursor:pointer;outline:none}.gauge-fill.interactive:focus-visible{stroke:#1a5bb5}button.mini-bar{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:4px 2px}button.mini-bar:disabled{cursor:default}button.mini-bar svg{transform-origin:50% 100%;transition:transform .15s}button.mini-bar:not(:disabled):hover svg,button.mini-bar:not(:disabled):focus-visible svg,button.mini-bar.selected svg{transform:scaleX(1.45)}button.mini-bar.selected{background:#eef4fd}button.mini-bar.selected .mini-bar-value{color:#1a5bb5}.highlight-chip{color:#1a5bb5;background:#eef4fd;border:1px solid #c7dbf6;border-radius:50px;align-items:center;gap:6px;padding:4px 6px 4px 10px;font-size:11px;font-weight:700;display:flex}.highlight-chip .text-button{padding:0 4px;font-size:14px;line-height:1}@media (prefers-reduced-motion:reduce){.gauge-fill,button.mini-bar svg{transition:none}}.card-chart{margin-top:6px;position:relative}.card-chart svg{width:100%;height:auto;display:block}.card-chart-legend{color:#6b7c92;flex-wrap:wrap;gap:4px 10px;margin:4px 0 0;font-size:11px;display:flex}.card-chart-legend span{align-items:center;gap:4px;display:inline-flex}.card-chart-legend i{border-radius:2px;width:8px;height:8px;display:inline-block}.fault-badge{border-radius:9px;margin-top:8px;padding:8px 10px;font-size:12px;line-height:1.45}.fault-badge.ok{color:#268965;background:#eafaf2;align-items:center;gap:8px;font-weight:700;display:flex}.fault-badge.bad{color:#a33a44;background:#fff0f1}.fault-badge.bad strong{margin-bottom:2px;display:block}.fault-badge ul{color:#7a3a41;margin:0;padding:0;list-style:none}.fault-badge time{font-variant-numeric:tabular-nums;font-weight:700}.card-chart.selectable{cursor:pointer;touch-action:manipulation}.period-picker{align-items:center;gap:2px;margin-left:8px;display:inline-flex;position:relative}.range-selector .period-picker button{border-radius:8px;padding:6px 10px}.range-selector .period-step{min-width:34px;padding:5px 10px;font-size:15px;line-height:1}.range-selector .period-step:disabled{opacity:.4;cursor:default;color:#5d6d83;border-color:#dfe6ef}.range-selector .period-label{color:#213049;font-variant-numeric:tabular-nums;align-items:center;gap:7px;display:inline-flex}.range-selector .period-label.open{color:#2675de;border-color:#2675de}.period-label svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:15px;height:15px}.period-popover{z-index:40;background:#fff;border:1px solid #dfe6ef;border-radius:12px;width:288px;max-width:calc(100vw - 32px);padding:12px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 12px 32px #1c345226}.period-popover.right{left:auto;right:0}.period-popover-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.period-popover-head strong{color:#213049;font-size:13px}.range-selector .period-popover-head button{min-width:36px;padding:5px 10px}.range-selector .period-popover-head button:disabled{opacity:.35;cursor:default}.period-calendar{flex-direction:column;gap:2px;display:flex}.period-calendar-head,.period-row,.period-week{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.period-calendar.weeks .period-calendar-head,.period-week{grid-template-columns:28px repeat(7,1fr)}.period-calendar-head span{color:#8998ab;text-align:center;padding:2px 0;font-size:10px;font-weight:800}.range-selector .period-row button{font-variant-numeric:tabular-nums;background:0 0;border-color:#0000;border-radius:8px;min-height:36px;padding:0;font-size:12px}.range-selector .period-row button.outside{color:#b3bfcd}.range-selector .period-row button.today,.period-week span.today{box-shadow:inset 0 0 0 1px #2675de}.range-selector .period-row button.chosen{color:#fff;background:#2675de;border-color:#2675de}.range-selector .period-row button:disabled{opacity:.35;cursor:default;color:#8998ab}.range-selector .period-week{font-variant-numeric:tabular-nums;background:0 0;border-color:#0000;border-radius:8px;align-items:center;min-height:36px;padding:0;font-size:12px}.range-selector .period-week:hover:not(:disabled){color:#2675de;background:#eaf2fd;border-color:#eaf2fd}.range-selector .period-week[aria-pressed=true]{color:#fff;background:#2675de;border-color:#2675de}.range-selector .period-week:disabled{opacity:.35;cursor:default}.period-week span{border-radius:6px;justify-content:center;align-items:center;height:28px;display:flex}.period-week span.outside{opacity:.55}.week-number{color:#8998ab;font-size:10px;font-weight:800}.period-week[aria-pressed=true] .week-number{color:#d6e6fb}.period-months{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.range-selector .period-months button{border-radius:8px;min-height:40px}.range-selector .period-months button:disabled{opacity:.35;cursor:default}.period-shifts{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px;display:grid}.range-selector .period-shifts button{border-radius:8px;flex-direction:column;align-items:center;gap:1px;min-height:44px;padding:5px 4px;display:flex}.period-shifts span{opacity:.8;font-size:10px;font-weight:600}.range-selector .period-shifts button:disabled{opacity:.35;cursor:default}.period-hint{color:#8998ab;margin:10px 0 0;font-size:11px}@media (width<=760px){.period-picker{width:100%;margin-left:0}.range-selector .period-label{flex:1;justify-content:center}}.range-selector .period-shifts button.chosen,.range-selector .period-months button.chosen{color:#fff;background:#2675de;border-color:#2675de}.line-idle-notice{z-index:3;color:#fff;background:#213049eb;border-radius:12px;align-items:flex-start;gap:10px;width:max-content;max-width:calc(100% - 128px);padding:10px 14px;font-size:12px;line-height:1.45;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #1c345233}.line-idle-notice svg{fill:none;stroke:#c9d3e0;stroke-width:2px;stroke-linecap:round;flex:none;width:20px;height:20px;margin-top:1px}.line-idle-notice div{flex-direction:column;gap:1px;display:flex}.line-idle-notice strong{font-size:13px}.line-idle-notice span{color:#dfe6ef}.line-idle-notice small{color:#aebbcc;max-width:420px;margin-top:3px;font-size:11px}.stat-card.expandable{position:relative}.stat-expand{color:#8998ab;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;place-items:center;width:34px;height:34px;padding:0;display:grid;position:absolute;top:6px;right:6px}.stat-expand:hover,.stat-expand:focus-visible{color:#2675de;background:#fff;border-color:#dfe6ef}.stat-expand svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.chart-dialog{background:0 0;border:0;border-radius:16px;width:min(1100px,100vw - 32px);max-height:calc(100vh - 32px);padding:0;overflow:visible}.chart-dialog::backdrop{background:#101b2a8c}.chart-dialog-card{max-height:calc(100vh - 32px);overflow:auto}.chart-card-actions{align-items:center;gap:10px;display:flex}.dialog-close{color:#5d6d83;cursor:pointer;background:#fff;border:1px solid #dfe6ef;border-radius:9px;place-items:center;width:36px;height:36px;padding:0;font-size:20px;line-height:1;display:grid}.dialog-close:hover{color:#2675de;border-color:#2675de}.chart-dialog-value{color:#213049;margin:-4px 0 12px;font:800 30px Manrope,sans-serif}.large-chart{position:relative}.large-chart svg{width:100%;height:auto;display:block}.large-bar.selectable{cursor:pointer}.axis-text.strong{fill:#213049;font-weight:700}.stat-card.expandable .stat-label{padding-right:34px}.chart-dialog{width:calc(100vw - 24px);max-width:none;height:calc(100vh - 24px);max-height:none}.chart-dialog-card{flex-direction:column;height:100%;max-height:none;padding:22px 26px;display:flex;overflow:hidden}.chart-dialog-card .chart-card-head h3{font-size:19px}.chart-dialog-card .chart-card-head p,.chart-dialog-card .chart-card-actions .text-button{font-size:14px}.chart-dialog-value{margin:0 0 8px;font-size:38px}.chart-dialog-body{flex:1;min-height:0;position:relative}.chart-dialog-card .chart-table-wrap{flex:1;min-height:0;max-height:none}.chart-dialog-card .chart-table{font-size:14px}.chart-dialog-card .chart-table th{font-size:12px}.chart-dialog-card .chart-table th,.chart-dialog-card .chart-table td{padding:9px 12px}.large-chart{position:absolute;inset:0;overflow:auto}.large-chart svg{display:block}.large-axis{fill:#5d6d83;font-variant-numeric:tabular-nums;font-size:14px}.large-value{fill:#213049;font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.large-tooltip{gap:3px;padding:8px 12px;font-size:14px;top:auto;transform:translate(-50%,-100%)}.large-dot.selectable{cursor:pointer}.large-chart-hint{color:#6b7c92;margin:10px 0 0;font-size:13px}.large-empty{font-size:15px}.fault-list-wrap{position:absolute;inset:0;overflow:auto}.fault-list{border-collapse:collapse;width:100%;font-size:15px}.fault-list th{z-index:1;text-align:left;letter-spacing:.06em;color:#8998ab;background:#fff;border-bottom:1px solid #e4eaf2;padding:10px 12px;font-size:12px;font-weight:800;position:sticky;top:0}.fault-list td{color:#2d3e56;vertical-align:top;border-bottom:1px solid #eef2f7;padding:12px}.fault-list td:first-child,.fault-list td:last-child{white-space:nowrap;font-variant-numeric:tabular-nums}.fault-list time{color:#a33a44;font-weight:700}.fault-list tr.selectable{cursor:pointer}.fault-list tbody tr:hover{background:#f7faff}.fault-ongoing{color:#c5444f;background:#fff0f1;border-radius:99px;padding:2px 8px;font-size:12px;font-weight:800;display:inline-block}.fault-more{color:#a33a44;margin:6px 0 0;font-size:12px;font-weight:700}.update-banner{z-index:90;color:#fff;background:#213049;border-radius:12px;align-items:center;gap:14px;width:max-content;max-width:calc(100vw - 32px);padding:12px 14px 12px 18px;font-size:13px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #1c345240}.update-banner .primary-button{flex:none;min-height:36px;padding:0 14px}@media (width<=760px){.update-banner{text-align:center;flex-direction:column;align-items:stretch}}.chart-tooltip.floating{z-index:60;position:fixed;transform:translate(-50%,-100%)}.chart-tooltip.floating.below,.large-tooltip.below{transform:translate(-50%)}.output-list{border-top:1px solid #edf1f6;margin-top:14px;padding-top:12px}.output-list-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.output-list-head div{flex-direction:column;gap:2px;display:flex}.output-list-head strong{color:#213049;font-size:13px}.output-list-head span{color:#8998ab;font-variant-numeric:tabular-nums;font-size:11px}.output-types{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.output-types button{color:#5d6d83;cursor:pointer;background:#fff;border:1px solid #dfe6ef;border-radius:100px;padding:5px 10px;font-size:11px;font-weight:700}.output-types button b{color:#213049;margin-left:4px}.output-types button:hover{color:#2675de;border-color:#2675de}.output-types button.active{color:#fff;background:#2675de;border-color:#2675de}.output-types button.active b{color:#fff}.output-products{border:1px solid #edf1f6;border-radius:10px;max-height:340px;margin:0;padding:0;list-style:none;overflow:auto}.output-products li+li{border-top:1px solid #edf1f6}.output-products button{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto auto 1fr auto;align-items:center;gap:10px;width:100%;padding:9px 10px;font-size:12px;display:grid}.output-products button:hover{background:#f7faff}.output-products button.selected{background:#eaf2fd}.output-products time{color:#8998ab;font-variant-numeric:tabular-nums}.output-products .product-code{color:#213049;font-family:ui-monospace,Consolas,monospace;font-weight:700}.output-type{color:#5d6d83}.output-outcome{border-radius:99px;padding:2px 7px;font-size:10px;font-weight:800}.output-outcome.revision{color:#9d741b;background:#fff7df}.output-outcome.reject{color:#c5444f;background:#fff0f1}.card-chart.selectable,.column-chart rect.selectable,.large-chart rect.selectable{cursor:pointer}.output-outcome.machine{color:#2675de;background:#eaf2fd}.product-route li.picked{box-shadow:inset 0 0 0 2px #2675de}.route-chip{gap:8px}.route-chip .text-button{font-size:11px}.range-grid{grid-template-columns:minmax(0,1fr)}.range-grid .stats-card{grid-column:auto}.stats-card{container-type:inline-size}.stats-card .stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@container (width>=1150px){.stats-card .stat-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@container (width<=620px){.stats-card .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (width<=380px){.stats-card .stat-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=480px){.range-selector>span:not(.loading-sign){display:none}}.machine-insights{container:machine/inline-size}@container machine (width<=1100px){.machine-grid{grid-template-columns:minmax(0,1fr)}}@media (width>=1101px){.side-column{overscroll-behavior:contain;scrollbar-width:thin;max-height:calc(100vh - 90px);position:sticky;top:78px;overflow-y:auto}}.visual-footer .touch-help{display:none}.scene-help{color:#728398;font-size:11px}.scene-edit-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-left:auto;display:flex}@media (any-pointer:coarse){.visual-footer .touch-help{display:flex}.visual-footer .pointer-help{display:none}.visual-footer>.touch-help{flex-basis:100%}.scene-edit-actions{justify-content:flex-end;gap:8px;width:100%}.scene-edit-actions .text-button,.held-actions .text-button{touch-action:manipulation;border:1px solid #d8e1ec;border-radius:8px;min-height:44px;padding:8px 12px}.held-actions{align-items:stretch}}html{-webkit-tap-highlight-color:transparent}.chart-dialog-table{display:none}.large-value.compact{font-size:12px}@media (width<=700px){.chart-dialog-card{padding:16px;overflow-y:auto}.chart-dialog-card.with-table .chart-dialog-body{flex:none;height:clamp(260px,78vw,420px)}.chart-dialog-card.with-table .chart-card-actions .text-button{display:none}.chart-dialog-table{margin-top:16px;display:block}.chart-dialog-table .chart-table-wrap{max-height:none}.chart-dialog-value{font-size:30px}.chart-dialog-card.with-table .chart-dialog-body:has(.large-chart.dots){height:auto}.large-chart.dots{position:relative;inset:auto;overflow:visible}}.line-picker{z-index:20;flex:0 320px;min-width:280px;max-width:360px;position:relative}.line-picker-label{color:#5e6e83;margin-bottom:8px;font-size:12px;font-weight:800;display:block}.line-picker-trigger{color:#23364e;text-align:left;cursor:pointer;background:linear-gradient(135deg,#fff,#f7faff);border:1px solid #cddced;border-radius:12px;align-items:center;gap:12px;width:100%;min-height:54px;padding:8px 12px;transition:border-color .15s,box-shadow .15s;display:flex;box-shadow:0 3px 12px #1c34520d}.line-picker-trigger:hover,.line-picker.open .line-picker-trigger{border-color:#5290dc;box-shadow:0 5px 18px #2675de1f}.line-picker-trigger:focus-visible,.line-picker-options button:focus-visible{outline-offset:2px;outline:3px solid #86b7f3}.line-picker-trigger:disabled{opacity:.55;cursor:not-allowed}.line-picker-glyph{background:#e7f1ff;border-radius:9px;flex:none;justify-content:center;align-items:center;gap:2px;width:34px;height:34px;display:flex}.line-picker-glyph i{background:#2675de;border-radius:3px;width:4px;display:block}.line-picker-glyph i:first-child{height:12px}.line-picker-glyph i:nth-child(2){height:20px}.line-picker-glyph i:nth-child(3){height:15px}.line-picker-value{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.line-picker-value strong,.line-picker-options strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.line-picker-value small,.line-picker-options small{color:#8192a8;font-size:10px}.line-picker-trigger svg{fill:none;stroke:#5c7592;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px;transition:transform .15s}.line-picker.open .line-picker-trigger svg{transform:rotate(180deg)}.line-picker-menu{z-index:200;background:#fff;border:1px solid #d9e5f2;border-radius:13px;width:min(360px,100vw - 32px);max-height:min(380px,60vh);padding:7px;position:absolute;top:calc(100% + 7px);right:0;overflow:hidden;box-shadow:0 15px 42px #18324e2b}.line-picker-menu>p{letter-spacing:.1em;color:#8091a5;justify-content:space-between;margin:0;padding:10px 11px 8px;font-size:10px;font-weight:800;display:flex}.line-picker-menu>p span{letter-spacing:0;color:#2675de}.line-picker-options{overscroll-behavior:contain;max-height:310px;overflow-y:auto}.line-picker-options button{text-align:left;color:#263951;cursor:pointer;background:#fff;border:0;border-radius:9px;align-items:center;gap:10px;width:100%;min-height:50px;padding:8px 10px;display:flex}.line-picker-options button:hover,.line-picker-options button.active{background:#eef5ff}.line-picker-options button.active strong{color:#195fb7}.line-picker-options button>span:last-child{flex-direction:column;gap:2px;min-width:0;display:flex}@media (width<=700px){.page-heading{flex-direction:column;align-items:stretch}.line-picker{flex:auto;width:100%;max-width:none}.line-picker-menu{width:100%;left:0;right:auto}.line-picker-options button{min-height:52px}}.layout-editor-toolbar{z-index:45;border-bottom:1px solid #dfe7f0;justify-content:space-between;align-items:flex-end;gap:32px;padding:8px 2px 22px;display:flex;position:relative;overflow:visible}.layout-editor-intro{min-width:0;max-width:760px}.layout-editor-intro .eyebrow{margin-bottom:7px;display:block}.layout-editor-intro h2{color:#21354e;margin:0 0 6px;font-size:23px}.layout-editor-intro p{margin:0;font-size:13px;line-height:1.55}.layout-editor-toolbar .line-picker{z-index:60;flex:none;width:min(420px,38vw);min-width:340px;max-width:420px}.layout-editor-toolbar .line-picker-trigger{min-height:62px;padding:10px 14px}.layout-editor-toolbar .line-picker-glyph{width:38px;height:38px}.layout-editor-toolbar .line-picker-value strong{font-size:14px}.layout-editor-toolbar .line-picker-menu{width:100%;max-height:min(440px,60vh);left:0;right:auto}.layout-editor-toolbar .line-picker-options{max-height:360px}.admin-layout-workspace{grid-template-columns:minmax(0,2.35fr) minmax(340px,.75fr);gap:24px;margin-top:22px}.admin-layout-summary{gap:.7rem;margin:0 0 1rem;display:grid}.admin-layout-summary>div{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:.65rem;display:flex}.admin-layout-summary dt{color:var(--muted)}.admin-layout-summary dd{margin:0;font-weight:700}@media (width<=1100px){.admin-layout-workspace{grid-template-columns:1fr}}@media (width<=720px){.layout-editor-toolbar{flex-direction:column;align-items:stretch;gap:18px;padding-bottom:18px}.layout-editor-toolbar .line-picker{width:100%;min-width:0;max-width:none}.layout-editor-toolbar .line-picker-menu{width:100%}}.fullscreen-button{z-index:6;color:#fff;cursor:pointer;touch-action:manipulation;background:#000;border:1px solid #fff6;border-radius:10px;place-items:center;width:40px;height:40px;padding:0;display:grid;position:absolute;top:12px;right:12px;box-shadow:0 4px 14px #0000004d}.fullscreen-button:hover{border-color:#fff}.fullscreen-button:focus-visible{outline-offset:-4px;outline:2px solid #fff}.fullscreen-button svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}:is(.visual-panel:fullscreen,.visual-panel.stage-pinned){width:100%;height:100%;box-shadow:none;border:0;border-radius:0;flex-direction:column;display:flex}.visual-panel.stage-pinned{z-index:1000;height:100dvh;position:fixed;inset:0}:is(.visual-panel:fullscreen .unity-stage,.visual-panel.stage-pinned .unity-stage){flex:1;height:auto;min-height:0}.sr-only{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.machine-held-card{grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.held-machine-copy{flex-direction:column;gap:2px;display:flex}.machine-held-card .visual-picker{border:1px solid #dce6f1;border-radius:10px;grid-column:1/-1;width:100%;margin:12px 0 0;padding:11px}.visual-picker legend{color:#6a7c93;padding:0 6px;font-size:11px;font-weight:800}.visual-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.visual-options button{color:#657890;background:#fff;border:1px solid #dce5ef;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;min-height:76px;padding:7px 4px;font-size:10px;font-weight:700;display:flex}.visual-options button:hover{background:#f7faff;border-color:#7ba7de}.visual-options button.selected{color:#195fb7;background:#eaf3ff;border-color:#2675de;box-shadow:inset 0 0 0 1px #2675de}.visual-options svg,.palette-visual svg{width:42px;height:42px;overflow:visible}.visual-top{fill:#b9c9d8}.visual-left{fill:#7892ab}.visual-right{fill:#91a9bf}.visual-cut{fill:#31475e}.visual-accent{fill:#2c8ea7}.machine-palette .section-title{align-items:flex-end;margin-bottom:12px}.machine-palette .section-title>div{flex-direction:column;gap:4px;display:flex}.machine-palette .section-title .eyebrow{font-size:9px}.machine-search{background:#f9fbfd;border:1px solid #d7e1ed;border-radius:10px;align-items:center;gap:8px;height:43px;padding:0 10px;display:flex}.machine-search:focus-within{border-color:#6e9ed9;box-shadow:0 0 0 3px #92b8fb3d}.machine-search>svg{fill:none;stroke:#8192a8;stroke-width:2px;stroke-linecap:round;flex:none;width:18px;height:18px}.machine-search input{color:#213049;background:0 0;border:0;width:100%;min-width:0;font-size:12px}.machine-search input:focus-visible{outline:0}.machine-search button{color:#657890;background:#e8eef5;border:0;border-radius:7px;flex:none;place-items:center;width:26px;height:26px;padding:0;font-size:18px;line-height:1;display:grid}.palette-note{color:#8a99aa;margin:8px 0 10px;font-size:10px;line-height:1.45}.machine-palette-list{overscroll-behavior:contain;max-height:390px;margin:0;padding:0;list-style:none;overflow:auto}.machine-palette-list li+li{border-top:1px solid #edf1f6}.machine-palette-list>li>button{text-align:left;background:0 0;border:0;border-radius:9px;grid-template-columns:50px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:62px;padding:7px 6px;display:grid}.machine-palette-list>li>button:hover{background:#f5f9fe}.machine-palette-list>li>button.armed{background:#eaf3ff;box-shadow:inset 3px 0 #2675de}.palette-visual{background:linear-gradient(145deg,#fafdff,#edf3f8);border:1px solid #e0e8f1;border-radius:9px;place-items:center;width:50px;height:48px;display:grid}.palette-machine-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.palette-machine-copy strong{text-overflow:ellipsis;white-space:nowrap;color:#2d3e56;font-size:12px;overflow:hidden}.palette-machine-copy small{color:#8e9bae;font-size:10px}.placement-state{white-space:nowrap;border-radius:99px;padding:4px 7px;font-size:9px;font-weight:800}.placement-state.placed{color:#268965;background:#e9f8f0}.placement-state.unplaced{color:#9d741b;background:#fff4dc}@media (width<=520px){.visual-options{grid-template-columns:repeat(2,minmax(0,1fr))}.machine-held-card{grid-template-columns:1fr}.machine-held-card .held-actions{grid-column:1;margin-top:10px}.machine-palette-list{max-height:320px}.machine-palette-list>li>button{grid-template-columns:46px minmax(0,1fr) auto}.palette-visual{width:46px}.placement-state{font-size:8px}}.history-thumb{cursor:zoom-in;background:0 0;border:0;border-radius:6px;flex:none;padding:0}.history-thumb:hover img{border-color:#6e9ed9}.history-thumb:focus-visible{outline-offset:2px;outline:2px solid #2675de}.history-thumb img{display:block}.layout-preview-dialog{color:#213049;background:#fff;border:0;border-radius:14px;width:min(1100px,100vw - 32px);max-height:calc(100dvh - 32px);padding:0;box-shadow:0 24px 70px #0f1e3366}.layout-preview-dialog::backdrop{background:#0f1a2acc}.layout-preview-body{flex-direction:column;display:flex}.layout-preview-head{border-bottom:1px solid #e7edf4;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:14px 18px;display:flex}.layout-preview-head>div:first-child{flex-direction:column;gap:3px;display:flex}.layout-preview-head strong{align-items:center;gap:6px;font-size:15px;display:flex}.layout-preview-head small{color:#8e9bae;font-size:11px}.layout-preview-actions{gap:8px;display:flex}.layout-preview-actions button{min-height:36px;font-size:12px}.layout-preview-body img{object-fit:contain;background:#2a2f38;width:100%;height:auto;max-height:calc(100dvh - 120px);display:block}.machine-palette-list>li.is-placed{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;display:grid}.machine-palette-list>li>button.return-to-list{white-space:nowrap;border-radius:7px;width:auto;min-height:0;padding:6px 8px;font-size:11px;display:inline-flex}.machine-palette-list>li>button.return-to-list:hover{background:#fff0f1}.secondary-edit-actions{margin-top:8px}.quiet-button.danger-quiet{color:#c5444f}.quiet-button.danger-quiet:hover:not(:disabled){background:#fff5f6;border-color:#e9aab0}.area-size{border-top:1px solid #edf1f6;margin-top:14px;padding-top:14px}.area-size-title{flex-direction:column;gap:2px;margin-bottom:10px;display:flex}.area-size-title strong{color:#213049;font-size:13px}.area-size-title small{color:#8e9bae;font-size:11px}.area-size-fields{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.area-size-fields>span{color:#8e9bae;padding-bottom:10px}.area-size-fields label{color:#5e6e83;gap:4px;font-size:11px;font-weight:700;display:grid}.area-size-fields input{background:#fff;border:1px solid #d8e1ec;border-radius:9px;width:84px;height:38px;padding:0 10px;font-size:13px}.area-size-fields .quiet-button{min-height:38px;font-size:12px}.area-size .form-error{margin:8px 0 0}.beta-stage-wrap{padding:16px clamp(12px,2vw,24px) 20px}.beta-stage-wrap .banner-error{margin-bottom:12px}.beta-panel .beta-stage{height:calc(100dvh - 110px);min-height:320px}@media (width<=760px){.beta-panel .beta-stage{height:calc(100dvh - 105px)}}.beta-mode{z-index:6;touch-action:manipulation;background:#000000c7;border-radius:12px;align-items:center;gap:4px;padding:4px;display:flex;position:absolute;top:12px;left:12px;box-shadow:0 4px 14px #0000004d}.beta-mode>span{color:#c9d3e0;letter-spacing:.06em;padding:0 8px 0 6px;font-size:11px;font-weight:800}.beta-mode button{color:#fff;cursor:pointer;background:0 0;border:0;border-radius:8px;min-height:32px;padding:0 12px;font-size:12px;font-weight:700}.beta-mode button:hover:not(.active){background:#ffffff1f}.beta-mode button.active{color:#213049;background:#fff}.beta-mode button:focus-visible{outline-offset:1px;outline:2px solid #fff}.beta-notice{z-index:6;color:#fff;background:#7d2530eb;border-radius:10px;max-width:calc(100% - 28px);padding:9px 14px;font-size:12px;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.beta-overlay{z-index:5;touch-action:pan-y;overscroll-behavior:contain;background:#fff;border-radius:6px;position:absolute;overflow:hidden;box-shadow:0 0 0 1px #d8e1ec}.beta-chart{color:#213049;flex-direction:column;gap:8px;width:100%;height:100%;min-height:0;padding:12px 14px 10px;display:flex}.beta-chart-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.beta-chart-head>div:first-child{flex-direction:column;gap:3px;min-width:0;display:flex}.beta-chart-head small{color:#8998ab;font-size:11px}.beta-chart-ranges{flex-wrap:wrap;gap:5px;display:flex}.beta-chart-ranges button{color:#5d6d83;cursor:pointer;background:#fff;border:1px solid #dfe6ef;border-radius:100px;padding:6px 12px;font-size:12px;font-weight:700}.beta-chart-ranges button:hover:not(.active){color:#2675de;border-color:#2675de}.beta-chart-ranges button.active{color:#fff;background:#2675de;border-color:#2675de}.beta-chart-plot{flex:60%;min-height:120px;position:relative}.beta-chart-plot .large-chart{position:absolute;inset:0;overflow:hidden}.beta-chart-state{color:#8998ab;text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;margin:0;font-size:13px;display:flex}.beta-chart-state strong{color:#c5444f;font-size:15px}.beta-chart-details{border-top:1px solid #e7edf4;flex-direction:column;flex:0 34%;min-height:84px;padding-top:8px;display:flex}.beta-chart-details-head{justify-content:space-between;gap:10px;margin-bottom:6px;font-size:12px;display:flex}.beta-chart-details-head span{color:#8998ab}.beta-chart-details ol{overscroll-behavior:contain;touch-action:pan-y;flex:1;min-height:0;margin:0;padding:0;list-style:none;overflow-y:auto}.beta-chart-details li button{text-align:left;font-variant-numeric:tabular-nums;color:#213049;cursor:pointer;background:0 0;border:0;border-radius:6px;grid-template-columns:minmax(60px,1fr) minmax(70px,1fr) minmax(80px,1fr) minmax(70px,1fr);gap:8px;width:100%;padding:6px 10px;font-size:12px;display:grid}.beta-chart-details li:nth-child(odd) button{background:#f8fafc}.beta-chart-details li button:hover{background:#f3f7fc}.beta-chart-details li button.selected{background:#e3eefc;font-weight:700}.beta-chart-details .revision{color:#9d741b}.beta-chart-details .reject{color:#c5444f}.beta-chart{gap:4px;padding:8px 10px}.beta-chart-head{gap:6px}.beta-chart-head strong{font-size:13px}.beta-chart-head small{font-size:10px}.beta-chart-ranges button{padding:4px 9px;font-size:11px}.beta-chart-plot{flex:1 1 0;min-height:90px}.beta-chart-details{flex:0 0 40%;min-height:64px;padding-top:4px}.beta-chart-details-head{margin-bottom:2px;font-size:11px}.beta-chart-details li button{padding:4px 8px;font-size:11px}
