:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#07111f;--side:#091827;--panel:#0d2032;--line:#1d3850;--text:#e6f0f7;--muted:#85a1b5;--primary:#17b7a2;--primary2:#0d8f84;--danger:#ef5b67;--good:#34d399;--shadow:0 18px 50px #0004;font-family:Inter,ui-sans-serif,system-ui,sans-serif}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#edf3f5;--side:#fff;--panel:#fff;--line:#d6e2e7;--text:#173044;--muted:#61798a;--shadow:0 12px 35px #17304414}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}button,input{font:inherit}button{cursor:pointer;border:0}.shell{grid-template-columns:230px 1fr;min-height:100vh;display:grid}.shell aside{background:var(--side);border-right:1px solid var(--line);flex-direction:column;height:100vh;padding:24px 14px;display:flex;position:sticky;top:0}.brand{letter-spacing:-1px;padding:0 12px 28px;font-size:22px;font-weight:800}.brand span{color:var(--primary)}nav{gap:4px;display:grid}nav button,.aside-bottom button{color:var(--muted);text-align:left;background:0 0;border-radius:9px;gap:11px;padding:11px 13px;display:flex}nav button:hover,nav button.active{color:var(--primary);background:#19b7a21a}.aside-bottom{gap:3px;margin-top:auto;display:grid}.aside-bottom small{color:var(--muted);padding:12px}main{min-width:0}.page{max-width:1500px;margin:auto;padding:34px}.page-head{justify-content:space-between;align-items:center;margin-bottom:26px;display:flex}.page-head h1{margin:0;font-size:29px}.page-head p{color:var(--muted);margin:6px 0 0}.panel,.machine-card,.stat{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px}.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:26px;display:grid}.stat{padding:18px}.stat small{color:var(--muted);display:block}.stat strong{margin-top:8px;font-size:26px;display:block}.stat.good strong{color:var(--good)}.stat.bad strong{color:var(--danger)}.grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;display:grid}.machine-card{color:var(--text);text-align:left;gap:10px;padding:20px;display:grid}.machine-card:hover{border-color:var(--primary);transform:translateY(-1px)}.machine-head{align-items:center;gap:9px;display:flex}.machine-card small,.machine-card span{color:var(--muted)}.dot{background:var(--danger);border-radius:99px;width:9px;height:9px;display:inline-block;box-shadow:0 0 8px}.dot.on{background:var(--good)}.tabs{border-bottom:1px solid var(--line);gap:8px;margin-bottom:22px;display:flex}.tabs button{color:var(--muted);background:0 0;border-bottom:2px solid #0000;padding:12px 16px}.tabs button.active{color:var(--primary);border-color:var(--primary)}.signal-card{min-height:170px;padding:18px}.signal-card>div:first-child{justify-content:space-between;display:flex}.signal-card small{color:var(--muted)}.signal-card b{text-align:right;display:block}.spark{width:100%;height:85px;margin:12px 0}.chart-empty,.empty{color:var(--muted);place-items:center;min-height:100px;display:grid}.live-state{color:var(--muted);align-items:center;gap:8px;margin-bottom:18px;display:flex}table{border-collapse:collapse;background:var(--panel);border-radius:12px;width:100%;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--line);padding:14px}th{color:var(--muted);text-transform:uppercase;font-size:12px}tbody tr{cursor:pointer}tbody tr:hover{background:#17b7a20b}.badge{border-radius:99px;padding:4px 8px;font-size:12px}.badge.good{color:var(--good);background:#34d39918}.badge.bad{color:var(--danger);background:#ef5b6718}.split{grid-template-columns:minmax(260px,1fr) minmax(320px,2fr);gap:18px;display:grid}.split>.panel{padding:22px}.record-list{gap:7px;display:grid}.record-list button{background:var(--panel);border:1px solid var(--line);color:var(--text);text-align:left;border-radius:9px;padding:13px}.record-list button.selected{border-color:var(--primary);background:#17b7a213}.record-list small{color:var(--muted);margin-top:5px;display:block}.toolbar{align-items:center;gap:9px;margin-bottom:15px;display:flex}button{background:var(--primary2);color:#fff;border-radius:8px;padding:9px 13px}button.ghost{border:1px solid var(--line);color:var(--muted);background:0 0}button.danger{background:#9e3440}.form{gap:13px;display:grid}.form label,.login-card label{color:var(--muted);gap:6px;font-size:13px;display:grid}.form-grid{grid-template-columns:repeat(2,1fr);gap:10px;padding:12px;display:grid}input{background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:10px 12px}details{border:1px solid var(--line);border-radius:8px}summary{cursor:pointer;padding:12px}.kv{border-bottom:1px solid var(--line);grid-template-columns:130px 1fr;padding:8px 0;display:grid}.kv span{color:var(--muted)}.kv b{word-break:break-word}.error{color:#ff9ba4;background:#ef5b6718;border:1px solid #ef5b6744;border-radius:8px;padding:12px}.login{background:radial-gradient(circle at 25% 15%,#0c5b5c 0,transparent 30%),var(--bg);place-items:center;min-height:100vh;display:grid}.login-card{gap:17px;width:min(390px,100vw - 32px);padding:34px;display:grid}.login-card .brand{padding:0;font-size:32px}.login-card p{color:var(--muted);margin:0 0 8px}pre{white-space:pre-wrap;padding:20px}@media (width<=800px){.shell{grid-template-columns:1fr}.shell aside{height:auto;position:static}.shell nav{grid-template-columns:repeat(3,1fr)}.aside-bottom{margin-top:15px;display:flex}.page{padding:20px}.split{grid-template-columns:1fr}.page-head{align-items:flex-start}.grid.signals{grid-template-columns:1fr}}.shell aside,.shell nav,.shell nav button,.aside-bottom,.aside-bottom button,.page{min-width:0;max-width:100%}nav button,.aside-bottom button{white-space:normal;overflow-wrap:anywhere}@media (width<=800px){.shell nav{grid-template-columns:repeat(3,minmax(0,1fr))}.aside-bottom{flex-wrap:wrap}.aside-bottom small{overflow-wrap:anywhere;min-width:0}}@media (width<=500px){.shell nav{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=480px){.shell nav{grid-template-columns:minmax(0,1fr)}.aside-bottom{grid-template-columns:minmax(0,1fr);display:grid}nav button,.aside-bottom button{width:100%}}.shell{width:100%;max-width:100vw;overflow-x:clip}.table-scroll{width:100%;min-width:0;max-width:100%;overflow-x:auto}select{background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:10px 12px}.button{background:var(--primary2);color:#fff;border-radius:8px;padding:9px 13px;text-decoration:none;display:inline-block}.multi-chart{width:100%;height:300px;margin:18px 0}.multi-chart line{stroke:var(--line);stroke-width:.35px}.comparison-picker{grid-template-columns:220px 1fr 1fr auto;align-items:start;gap:15px;margin-bottom:20px;display:grid}.comparison-picker label{color:var(--muted);gap:7px;display:grid}.record-list.compact{max-height:180px;overflow:auto}.comparison-chart{padding:20px}.prototype{border:1px solid var(--line);background:#081321;border-radius:12px;position:relative;overflow:hidden}.prototype>.badge{color:#fbbf24;z-index:1;background:#161d2bde;position:absolute;top:12px;right:12px}.prototype img{width:100%;display:block}@media (width<=900px){.comparison-picker{grid-template-columns:1fr}}.schematic-layout{gap:14px;display:grid}.schematic-toolbar{flex-wrap:wrap;gap:8px;display:flex}.schematic-work{grid-template-columns:minmax(0,1fr) 260px;gap:14px;display:grid}.schematic-canvas{border:1px solid var(--line);touch-action:none;border-radius:10px;width:100%;max-height:75vh}.schematic-canvas>*{cursor:move}.inspector{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:10px;height:auto;padding:16px;display:flex;position:static}.inspector label{color:var(--muted);grid-template-columns:90px 1fr;align-items:center;gap:8px;font-size:12px;display:grid}.inspector input,.inspector select{width:100%;min-width:0}@media (width<=900px){.schematic-work{grid-template-columns:1fr}.inspector{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}.record-explorer{margin:12px 0}.record-explorer>.toolbar{flex-wrap:wrap}.record-explorer>.toolbar label{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.record-explorer input[type=range]{width:120px;padding:0}.cursor-line{stroke:#fff;stroke-width:.45px}.xy-config{grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0;display:grid}.xy-config label{color:var(--muted);gap:5px;font-size:12px;display:grid}.xy-chart{background:var(--bg);border:1px solid var(--line);border-radius:8px;width:100%;max-height:280px}.toolbar fieldset{border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;gap:8px;display:flex}.toolbar fieldset label{gap:4px;display:flex}@media (width<=700px){.xy-config,.xy-grid{grid-template-columns:1fr 1fr}}.shell>aside{overflow-y:auto}.shell .inspector{height:auto;padding:16px;position:static;overflow:auto}button:disabled{cursor:not-allowed;opacity:.5}a.button,.button{background:var(--primary2);color:#fff;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:9px 13px;text-decoration:none;display:inline-flex}.button.ghost{border:1px solid var(--line);color:var(--text);background:0 0}button.text-link{color:var(--primary);text-align:left;background:0 0;padding:0}.operation-panel{min-width:0;margin:20px 0;padding:22px}.operation-panel h2{margin:0 0 14px;font-size:19px}.operation-panel h3{font-size:16px}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.section-heading h2,.section-heading h3{margin:0}.field{min-width:0;color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.field input,.field select{width:100%;min-width:0}.field>span{line-height:1.4}select,textarea{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:8px;max-width:100%;padding:10px 12px}fieldset{border:0;min-width:0;margin:0;padding:0}.form-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:12px 0}.toolbar{flex-wrap:wrap;margin-top:12px}.toolbar .field{min-width:150px}.signal-select{flex-wrap:wrap;gap:10px 20px;padding:12px 0;display:flex}.check{cursor:pointer;align-items:center;font-size:13px;color:var(--text)!important;flex-direction:row!important;gap:8px!important;display:inline-flex!important}.check input{accent-color:var(--primary);margin:0;width:auto!important}input[type=range]{accent-color:var(--primary);padding:6px 0}.muted{color:var(--muted);font-size:13px;line-height:1.6}.success{color:var(--good);background:#34d39913;border:1px solid #34d39955;border-radius:8px;margin:12px 0;padding:12px}.error{margin:12px 0}.error-text{color:var(--danger)}.table-scroll{max-width:100%;margin:16px 0;overflow:auto}td small{color:var(--muted);margin-top:6px;font-size:12px;display:block}.table-scroll td{vertical-align:top}.table-scroll .toolbar{min-width:160px;margin:0}.recording-columns{grid-template-columns:minmax(220px,1fr) minmax(0,3fr);gap:20px;display:grid}.recording-columns>.operation-panel{margin:0}.recording-columns .record-list{max-height:600px;overflow:auto}.record-chart-grid{gap:14px;display:grid}.record-chart{background:var(--bg);border:1px solid var(--line);border-radius:10px;min-width:0;padding:14px}.record-chart small{color:var(--muted);font-size:11px}.record-plot{width:100%;height:auto;max-height:360px;display:block}.record-chart .section-heading strong{font-size:13px}.record-chart .section-heading span{color:var(--muted);font-size:12px}.xy-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.session-state{border-left:3px solid var(--primary);background:#17b7a20d;padding:12px}.dashboard-trends{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.dashboard-trends>.operation-panel{margin:0}.alert-trend{width:100%;height:100px;display:block}.legend{flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.trend{padding:12px 0}.signal-editor{margin:14px 0;padding:12px}.threshold-editor{border:1px solid var(--line);border-radius:8px;margin:15px 0;padding:16px}.threshold-fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.json-editor{margin:16px 0;padding:10px}.json-editor textarea{width:100%;font:12px/1.6 ui-monospace,monospace}.file-input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.issued-secret{border:1px solid var(--primary);border-radius:12px;margin-bottom:20px;padding:20px}.issued-secret code{overflow-wrap:anywhere;background:var(--bg);padding:15px;font-size:18px;display:block}.prototype img{width:100%;height:auto}.page-head{gap:16px}.page>.tabs{flex-wrap:wrap}.schematic-canvas{touch-action:none}.recording-workspace{min-width:0}@media (width<=1100px){.recording-columns{grid-template-columns:1fr}.recording-columns .record-list{max-height:240px}.dashboard-trends{grid-template-columns:1fr}}@media (width<=700px){.operation-panel{padding:15px}.threshold-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{grid-template-columns:1fr}.page-head{flex-wrap:wrap}.toolbar{align-items:stretch}.toolbar .field{width:100%}}
