:root {
  --bg:#080c10; --surface:#0e151b; --panel:#121b23; --panel-2:#17232d;
  --line:#283744; --line-soft:#1d2a34; --text:#eef3f5; --muted:#8fa0ad;
  --accent:#f0a92f; --accent-soft:#302410; --green:#52d695; --yellow:#edbd4d;
  --red:#ff6b61; --blue:#6ca8d6; --shadow:0 22px 70px #0005;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(circle at 85% -10%,#162633 0,transparent 28%),var(--bg);color:var(--text);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:14px}a{color:inherit}button,input,select{font:inherit}[hidden]{display:none!important}.muted{color:var(--muted)}.overline{margin:0;color:var(--accent);font-size:10px;font-weight:900;letter-spacing:.19em}.footnote,.inline-note{color:var(--muted);font-size:12px;line-height:1.55}.empty-state{padding:28px;text-align:center;color:var(--muted);border:1px dashed var(--line)}

/* Shared navigation */
.topbar{position:sticky;top:0;z-index:20;height:72px;display:flex;align-items:center;padding:0 max(20px,calc((100vw - 1440px)/2));background:#0a1015ee;border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.identity{display:flex;align-items:center;gap:12px;margin-right:auto;text-decoration:none}.identity b,.identity small{display:block}.identity small{margin-top:3px;color:var(--muted);font-size:10px}.logo-box{width:38px;height:38px;display:grid;place-items:center;background:var(--accent);color:#171006;font-weight:950}.device-switch{display:grid;gap:3px;margin:0 18px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.09em}.device-switch select{min-width:245px;padding:8px 10px;border:1px solid var(--line);background:var(--panel);color:var(--text)}.global-nav{display:flex;gap:4px;margin-right:14px}.global-nav a{padding:10px 12px;text-decoration:none;color:#b4c0c8}.global-nav a:hover{color:white;background:var(--panel)}.logout{padding:9px 13px;border:1px solid var(--line);background:transparent;color:#dbe3e7;cursor:pointer}

/* Page shell */
.page{max-width:1440px;margin:auto;padding:42px 24px 90px}.workspace-head,.page-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:25px}.workspace-head h1,.page-head h1{margin:9px 0 8px;font-size:clamp(32px,4vw,56px);line-height:1;letter-spacing:-.045em}.workspace-head p:last-child{margin:0}.connection-stack{display:grid;justify-items:end;gap:7px}.connection-stack small{color:var(--muted);font-size:10px}.live-badge,.section-state,.safe-lock{display:inline-flex;align-items:center;width:max-content;padding:9px 11px;border:1px solid #246044;background:#112a1e;color:var(--green);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.live-badge.offline{border-color:#5d3230;background:#2a1716;color:#ff8d84}.section-tabs{display:flex;gap:6px;margin-bottom:18px;overflow-x:auto}.section-tabs a{flex:0 0 auto;padding:12px 16px;border:1px solid var(--line);background:#0c1319;color:#a9b6be;text-decoration:none;font-size:12px;font-weight:800}.section-tabs a span{margin-right:8px;color:#647683;font-size:9px}.section-tabs a.active{border-color:var(--accent);background:var(--accent-soft);color:white}.section-tabs a.active span{color:var(--accent)}

/* System state */
.system-banner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;min-height:116px;margin-bottom:16px;padding:25px 30px;border:1px solid #315b48;background:linear-gradient(110deg,#14251d,#0f1716)}.system-banner h2{margin:5px 0 4px;font-size:clamp(25px,3vw,39px);letter-spacing:-.035em}.system-banner p:last-child{margin:0;color:#9bacb4}.status-orb{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#52d69518}.status-orb i{width:15px;height:15px;border-radius:50%;background:var(--green);box-shadow:0 0 20px var(--green)}.system-score{display:grid;text-align:right}.system-score strong{font-size:28px}.system-score small{color:var(--muted)}.system-banner.warning{border-color:#745f2d;background:linear-gradient(110deg,#29220f,#17150e)}.system-banner.warning .status-orb i{background:var(--yellow);box-shadow:0 0 20px var(--yellow)}.system-banner.stopped{border-color:#3f586a;background:linear-gradient(110deg,#16222c,#10171d)}.system-banner.stopped .status-orb i{background:var(--blue);box-shadow:0 0 20px var(--blue)}.system-banner.fault{border-color:#823732;background:linear-gradient(110deg,#301716,#19100f)}.system-banner.fault .status-orb i{background:var(--red);box-shadow:0 0 20px var(--red)}.system-banner.offline{border-color:#3a464f;background:#11171c}.system-banner.offline .status-orb i{background:#77848d;box-shadow:none}

/* Blocks and overview */
.view{display:grid;gap:16px}.section-block,.card{padding:24px;border:1px solid var(--line);background:var(--surface);box-shadow:0 9px 30px #0001}.section-heading{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:20px}.section-heading h3{margin:7px 0 0;font-size:24px;letter-spacing:-.025em}.section-heading p:not(.overline){max-width:760px;margin:7px 0 0;color:var(--muted);line-height:1.5}.section-heading>a{color:var(--accent);font-size:11px;text-decoration:none}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.quick-card{display:flex;gap:14px;align-items:center;min-height:112px;padding:18px;border:1px solid var(--line);background:var(--surface)}.quick-card>div{min-width:0}.quick-card small,.quick-card strong,.quick-card p{display:block}.quick-card small{color:var(--muted);font-size:11px}.quick-card strong{margin:5px 0;font-size:18px}.quick-card p{margin:0;color:#748692;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-icon{width:38px;height:38px;flex:0 0 auto;display:grid;place-items:center;border:1px solid #3b4b57;background:var(--panel);color:var(--accent);font-weight:900}.overview-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:16px}.interlock-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}.interlock-grid>div{min-height:78px;padding:14px;background:var(--panel)}.interlock-grid small,.interlock-grid b{display:block}.interlock-grid small{margin-bottom:7px;color:var(--muted);font-size:10px}.interlock-grid b{font-size:12px}.status-list{list-style:none;padding:0;margin:0}.status-list li{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid var(--line-soft);color:#adbbc3}.status-list li:last-child{border-bottom:0}.status-list b{color:var(--green);font-size:11px;text-align:right}

/* Mechanisms */
.mechanism-grid,.drive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.mechanism,.drive-card{min-width:0;padding:18px;border:1px solid var(--line);background:#0a1117}.mechanism header,.drive-card header{display:flex;justify-content:space-between;align-items:start;gap:12px}.mechanism header small,.drive-card header small{color:var(--muted);font-size:9px;letter-spacing:.08em}.mechanism h4,.drive-card h4{margin:5px 0 0;font-size:17px}.state-pill{padding:5px 7px;border:1px solid #345b49;background:#13281f;color:var(--green);font-size:9px;font-weight:900}.joystick-readout{margin:20px 0 15px}.joystick-number{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:10px}.joystick-number span{color:var(--accent);font-size:10px;font-weight:900;letter-spacing:.08em}.joystick-number strong{font-size:25px;font-variant-numeric:tabular-nums}.joystick-scale{position:relative;height:11px;background:#1e2a33;overflow:visible}.joystick-scale:after{content:"";position:absolute;left:50%;top:-4px;width:2px;height:19px;background:#97a8b3}.joystick-scale i{position:absolute;z-index:1;left:50%;height:100%;width:0;background:var(--green)}.joystick-scale i.negative{background:#6ca8d6}.direction-labels{display:flex;justify-content:space-between;margin-top:7px;color:#60727f;font-size:8px;font-weight:800}.joystick-readout>small{display:block;margin-top:8px;color:#71828e;font-size:9px}.mechanism-values,.drive-measures{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}.mechanism-values>span,.drive-measures>span{padding:10px;background:var(--panel)}.mechanism-values small,.mechanism-values b,.drive-measures small,.drive-measures b{display:block}.mechanism-values small,.drive-measures small{margin-bottom:4px;color:var(--muted);font-size:9px}.mechanism-values b,.drive-measures b{font-size:13px;font-variant-numeric:tabular-nums}.compact-checks{margin-top:9px}.compact-checks li{padding:9px 0;font-size:10px}

/* Charts */
.history-card{display:block}.chart-toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-bottom:14px;padding:14px;border:1px solid var(--line);background:#0a1117}.chart-toolbar label{display:grid;gap:6px;color:var(--muted);font-size:10px}.chart-toolbar select,.chart-toolbar input,.service-actions input,.service-actions select,.settings-form input,.climate-form input{min-height:38px;padding:8px 10px;border:1px solid var(--line);background:var(--panel);color:var(--text);outline:none}.chart-toolbar select:focus,.chart-toolbar input:focus,.service-actions input:focus,.settings-form input:focus,.climate-form input:focus{border-color:var(--accent)}button,.button{min-height:38px;padding:9px 13px;border:0;background:var(--accent);color:#1a1104;font-weight:900;cursor:pointer}.secondary,button.secondary{border:1px solid var(--line);background:var(--panel-2);color:var(--text)}button.danger{background:var(--red);color:#210908}button.danger.ghost{border:1px solid #70403c;background:#2b1716;color:#ffaba5}.metric-picker{margin-bottom:14px;border:1px solid var(--line);background:#0a1117}.metric-picker summary{padding:12px 14px;cursor:pointer;font-weight:800}.chart-fields{display:flex;flex-wrap:wrap;gap:8px 13px;padding:14px;border-top:1px solid var(--line)}.chart-fields label{font-size:11px;color:#b8c2c8;white-space:nowrap}.chart-fields input{accent-color:var(--accent)}.three-vfd-fields{display:contents}.chart-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;gap:12px}.mini-chart{position:relative;grid-column:span 6;height:270px;min-width:0;min-height:220px;padding:12px 12px 17px;border:1px solid var(--line);background:#091017}.mini-chart.dragging{opacity:.45;border-color:var(--accent)}.mini-chart header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;cursor:grab;user-select:none}.mini-chart header b{font-size:12px;color:#b4c0c7}.mini-chart header strong{font-size:16px}.mini-chart canvas{display:block;width:100%;height:calc(100% - 54px)}.mini-chart small{display:block;min-height:16px;margin-top:5px;color:#74828c;font-size:9px}.chart-resize{position:absolute;right:2px;bottom:2px;width:18px;height:18px;cursor:nwse-resize}.chart-resize:after{content:"";position:absolute;right:3px;bottom:3px;width:8px;height:8px;border-right:2px solid #647484;border-bottom:2px solid #647484}

/* VFD service */
.drive-measures{grid-template-columns:repeat(3,1fr);margin:18px 0 8px}.safety-note{padding:14px 16px;border-left:3px solid var(--yellow);background:#28210f;color:#d8c9a6;font-size:12px;line-height:1.55}.safe-lock{border-color:#684d1d;background:#2b2110;color:var(--yellow)}.service-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:14px}.service-actions form{display:flex;align-items:end;gap:8px;flex-wrap:wrap;padding:12px;border:1px solid var(--line);background:#0a1117}.service-actions label{display:grid;gap:5px;color:var(--muted);font-size:9px}.service-actions input{width:145px}.service-actions select{width:75px}.subheading{margin:24px 0 10px}.command-list>div{display:grid;grid-template-columns:165px 150px 1fr 1fr;gap:12px;padding:11px 0;border-top:1px solid var(--line);font-size:11px}.command-list time,.command-list span{color:var(--muted)}.command-list strong{color:var(--green)}

/* Settings */
.settings-intro{margin-bottom:16px}.settings-intro .section-heading{margin-bottom:14px}.settings-layout{display:grid;grid-template-columns:220px 1fr;gap:16px}.settings-index{position:sticky;top:90px;height:max-content;display:grid;padding:14px;border:1px solid var(--line);background:var(--surface)}.settings-index b{padding:8px 9px 12px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.settings-index a{padding:10px 9px;border-top:1px solid var(--line-soft);color:#bdc7cd;text-decoration:none;font-size:11px}.settings-index a:hover{color:var(--accent)}.settings-content{display:grid;gap:16px;min-width:0}.settings-stack{display:grid;gap:10px}.setting-card{border:1px solid var(--line);background:#0a1117}.setting-card>summary{display:flex;justify-content:space-between;align-items:center;padding:15px;cursor:pointer;list-style:none}.setting-card>summary::-webkit-details-marker{display:none}.setting-card>summary span{display:grid;gap:4px}.setting-card>summary small{color:var(--muted)}.setting-card>summary i{color:var(--accent);font-style:normal;font-size:10px;font-weight:800}.setting-body{padding:0 15px 15px;border-top:1px solid var(--line)}.calibrate-form{display:flex;align-items:center;gap:12px;padding:13px 0}.calibrate-form small{color:var(--muted)}.settings-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.settings-form fieldset{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:0;padding:13px;border:1px solid var(--line)}.settings-form legend{padding:0 6px;color:var(--accent);font-size:10px;font-weight:800}.settings-form label,.climate-form label{display:grid;gap:5px;color:var(--muted);font-size:10px}.settings-form>button{grid-column:1/-1}.check-option{display:flex!important;flex-direction:row!important;align-items:center;gap:7px!important}.check-option input{width:auto!important;min-height:auto!important;accent-color:var(--accent)}.climate-form{display:grid;grid-template-columns:repeat(5,1fr);align-items:end;gap:10px}.climate-form .check-option{grid-column:1/-1;padding-bottom:7px}.io-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.io-columns>div{padding:16px;border:1px solid var(--line);background:#0a1117}.io-columns h4{margin:0 0 12px}.io-columns dl{display:grid;grid-template-columns:110px 1fr;margin:0}.io-columns dt,.io-columns dd{margin:0;padding:9px 0;border-top:1px solid var(--line-soft)}.io-columns dt{color:var(--accent);font-weight:800}.io-columns dd{color:#adbbc3}.steps{display:grid;gap:1px;margin:0;padding:0;list-style:none;background:var(--line)}.steps li{display:grid;grid-template-columns:230px 1fr;gap:16px;padding:15px;background:var(--panel)}.steps span{color:var(--muted)}
.setting-section{scroll-margin-top:90px}.setting-section>.setting-body{padding-top:15px}.limit-config-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:14px 0}.limit-config-grid label{display:grid;gap:6px;padding:12px;border:1px solid var(--line);background:var(--panel);color:#c2ccd1;font-size:11px}.limit-config-grid select,.do-config select{min-height:38px;padding:8px;border:1px solid var(--line);background:#0b1218;color:var(--text)}.limit-config-grid small{color:var(--muted);font-size:9px}.do-config{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 12px;padding:14px;border:1px solid var(--line)}.do-config legend{padding:0 7px;color:var(--accent);font-size:10px}.do-config label{display:grid;gap:6px;color:var(--muted);font-size:10px}.io-config-form>button{width:100%}.io-live-grid,.network-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;margin-top:14px;background:var(--line)}.io-live-grid span,.network-grid span{display:grid;gap:5px;padding:12px;background:var(--panel)}.io-live-grid small,.network-grid small{color:var(--muted);font-size:9px}.io-live-grid b,.network-grid b{font-size:12px}.io-live-grid em{color:#70818d;font-size:9px;font-style:normal}.network-grid{grid-template-columns:repeat(4,1fr);margin-bottom:14px}.inner-details{margin-top:14px;border:1px solid var(--line)}.inner-details>summary{padding:12px;cursor:pointer;font-weight:800}.inner-details .io-columns{padding:0 12px 12px}

/* VFD parameter catalog and embedded manual */
.service-tools{grid-template-columns:repeat(3,1fr)}.parameter-section,.manual-section{margin-top:14px}.parameter-help{margin:14px 0;padding:12px;border-left:3px solid var(--blue);background:#101d27;color:#b9c8d1;font-size:11px;line-height:1.5}.parameter-groups{display:grid;gap:9px}.parameter-group{border:1px solid var(--line);background:#0b1218}.parameter-group>summary{display:flex;justify-content:space-between;padding:12px 14px;cursor:pointer;font-weight:800}.parameter-group>summary span{color:var(--muted);font-size:10px}.parameter-list{border-top:1px solid var(--line)}.parameter-row{display:grid;grid-template-columns:minmax(300px,1.4fr) minmax(230px,.7fr) minmax(400px,1.5fr);gap:12px;align-items:center;padding:14px;border-bottom:1px solid var(--line-soft)}.parameter-row:last-child{border-bottom:0}.parameter-copy{display:grid;grid-template-columns:62px 1fr;gap:10px}.parameter-copy code{height:max-content;padding:6px;background:var(--accent-soft);color:var(--accent);text-align:center;font-weight:900}.parameter-copy p{margin:5px 0;color:#9eacb5;font-size:10px;line-height:1.45}.parameter-copy small{color:#657783;font-size:9px}.parameter-current{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.parameter-current span{padding:8px;background:var(--panel)}.parameter-current small,.parameter-current b{display:block}.parameter-current small{color:var(--muted);font-size:8px}.parameter-current b{margin-top:4px;font-size:10px}.parameter-actions{display:grid;gap:6px}.parameter-actions form{display:flex;align-items:end;gap:6px}.parameter-actions label{display:grid;gap:3px;color:var(--muted);font-size:8px}.parameter-actions input,.parameter-actions select{height:34px;padding:6px 8px;border:1px solid var(--line);background:var(--panel);color:var(--text)}.parameter-actions button{min-height:34px;padding:7px 10px;font-size:9px}.manual-actions{display:flex;gap:8px;margin:14px 0}.manual-actions a{text-decoration:none}

/* Events */
.event-row{display:grid;grid-template-columns:175px 95px 1fr 90px;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--line);font-size:11px}.event-row time,.event-row small{color:var(--muted)}.event-row p{margin:0}.level{width:max-content;padding:4px 7px;background:#20352b;color:var(--green);font-size:9px;font-weight:900;text-transform:uppercase}.level.warning{background:#3a2f16;color:var(--yellow)}.level.error{background:#411d1a;color:#ff8d84}.filters{display:grid;grid-template-columns:minmax(240px,1fr) repeat(3,minmax(150px,210px));gap:10px;margin-bottom:18px}.filters input,.filters select{height:46px;padding:0 13px;border:1px solid var(--line);background:#0a1117;color:white}.event-kind{display:block;margin-top:5px;color:#647582;font-size:9px}.event-details{display:block;margin-top:5px;color:#82919b;font:9px ui-monospace,Consolas,monospace;overflow-wrap:anywhere}

/* Login */
.login-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:center;padding:7vw;background:radial-gradient(circle at 12% 12%,#1a2630,transparent 38%),linear-gradient(130deg,#080c10,#0c1116)}.login-brand{max-width:650px}.mark{display:flex;gap:7px;margin-bottom:55px}.mark b{width:32px;height:5px;background:var(--accent)}.mark b:nth-child(2){width:17px;opacity:.65}.mark b:nth-child(3){width:7px;opacity:.35}.login-brand h1{font-size:clamp(56px,7vw,102px);line-height:.9;letter-spacing:-.06em;margin:20px 0 30px}.login-brand h1 span{color:transparent;-webkit-text-stroke:1px #8b969e}.lead{font-size:18px;color:#aab5bd}.system-ready{margin-top:52px;color:#aab5bd}.system-ready i{display:inline-block;width:8px;height:8px;margin-right:10px;border-radius:50%;background:var(--green)}.login-card{justify-self:end;width:min(100%,490px);min-height:560px;padding:50px;display:flex;flex-direction:column;justify-content:space-between;background:#121920ee;border:1px solid var(--line);box-shadow:var(--shadow)}.login-card h2{font-size:38px;letter-spacing:-.04em;margin:13px 0 8px}.login-card form{display:grid;gap:20px}.login-card label{display:grid;gap:8px;color:#a9b4bc;font-size:12px;font-weight:700}.login-card input{height:54px;padding:0 15px;border:1px solid var(--line);background:#0b1015;color:white}.login-card button{height:56px}.fine{font-size:10px;text-align:center;color:#6e7c87}.alert{padding:13px 15px;color:#ffc1ba;background:#4a201e;border:1px solid #7a322c}

@media(max-width:1100px){.quick-grid{grid-template-columns:repeat(2,1fr)}.mechanism-grid,.drive-grid{grid-template-columns:1fr}.overview-grid{grid-template-columns:1fr}.interlock-grid{grid-template-columns:repeat(2,1fr)}.climate-form{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:1fr 1fr}.device-switch select{min-width:190px}.global-nav{display:none}.parameter-row{grid-template-columns:1fr}.limit-config-grid{grid-template-columns:repeat(2,1fr)}.network-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.topbar{padding:0 14px}.identity small{display:none}.device-switch{margin-left:auto}.device-switch select{min-width:145px;max-width:180px}.page{padding:28px 14px 60px}.workspace-head,.page-head{align-items:start;flex-direction:column}.connection-stack{justify-items:start}.system-banner{grid-template-columns:auto 1fr}.system-score{grid-column:2;text-align:left}.settings-layout{grid-template-columns:1fr}.settings-index{position:static;display:flex;overflow-x:auto}.settings-index b{display:none}.settings-index a{flex:0 0 auto;border:0;border-right:1px solid var(--line-soft)}.io-columns{grid-template-columns:1fr}.chart-grid{display:block}.mini-chart{width:100%;height:260px;margin-bottom:12px}.chart-resize{display:none}.command-list>div{grid-template-columns:1fr 1fr}.command-list strong{grid-column:1/-1}.event-row{grid-template-columns:1fr auto}.event-row p{grid-column:1/-1}.event-row>small{display:none}}
@media(max-width:560px){.identity span:last-child{display:none}.device-switch{margin:0 auto}.logout{padding:8px}.quick-grid{grid-template-columns:1fr}.section-block,.card{padding:17px}.system-banner{padding:20px;grid-template-columns:1fr}.status-orb{display:none}.system-score{grid-column:1}.section-heading{flex-direction:column}.interlock-grid{grid-template-columns:1fr 1fr}.settings-form{grid-template-columns:1fr}.settings-form fieldset{grid-template-columns:1fr}.settings-form>button{grid-column:1}.climate-form{grid-template-columns:1fr}.service-actions{grid-template-columns:1fr}.service-actions form{align-items:stretch}.service-actions label{width:100%}.service-actions input,.service-actions select{width:100%}.io-columns dl{grid-template-columns:90px 1fr}.steps li{grid-template-columns:1fr}.filters{grid-template-columns:1fr}.event-row{grid-template-columns:1fr}.calibrate-form{align-items:stretch;flex-direction:column}.login-shell{grid-template-columns:1fr;padding:30px 18px}.login-brand h1{font-size:50px}.login-card{padding:28px;min-height:500px}.limit-config-grid,.do-config,.network-grid{grid-template-columns:1fr}.io-live-grid{grid-template-columns:repeat(2,1fr)}.parameter-copy{grid-template-columns:1fr}.parameter-actions form{align-items:stretch;flex-direction:column}.parameter-actions input,.parameter-actions select{width:100%}.manual-frame{display:none}}

/* 2026-08 unified application shell */
.app-sidebar{position:fixed;inset:0 auto 0 0;z-index:40;width:252px;display:flex;flex-direction:column;padding:14px 12px;background:#0a1015f5;border-right:1px solid var(--line);backdrop-filter:blur(18px);transition:width .18s ease,transform .2s ease}.app-sidebar .identity{min-width:0}.app-sidebar .identity>span:last-child{min-width:0}.app-sidebar .identity b{white-space:nowrap}.sidebar-brand{display:flex;align-items:center;gap:8px;padding:2px 2px 14px;border-bottom:1px solid var(--line-soft)}.sidebar-collapse{width:30px;min-height:30px;margin-left:auto;padding:0;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:21px}.app-sidebar .device-switch{margin:14px 0 8px;padding:0 4px}.app-sidebar .device-switch select{width:100%;min-width:0;height:39px;padding:7px 9px}.sidebar-nav{display:grid;gap:3px;margin-top:8px}.sidebar-nav>p{margin:14px 10px 5px;color:#657682;font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.sidebar-nav a{display:grid;grid-template-columns:27px 1fr;align-items:center;gap:9px;min-height:53px;padding:8px 10px;border:1px solid transparent;color:#aab7bf;text-decoration:none}.sidebar-nav a:hover{border-color:var(--line-soft);background:var(--surface);color:white}.sidebar-nav a.active{border-color:#6d501e;background:linear-gradient(90deg,#2f2411,#151a1b);color:white}.sidebar-nav i{color:#647783;font-style:normal;font-size:9px;font-weight:900}.sidebar-nav a.active i{color:var(--accent)}.sidebar-nav span,.sidebar-nav b,.sidebar-nav small{display:block;min-width:0}.sidebar-nav b{font-size:12px}.sidebar-nav small{margin-top:3px;color:#6f818d;font-size:9px}.sidebar-footer{display:grid;gap:5px;margin-top:auto;padding:14px 8px 2px;border-top:1px solid var(--line-soft)}.sidebar-footer>small{color:var(--muted);font-size:9px}.sidebar-footer>b{font-size:11px}.sidebar-footer form{margin-top:7px}.sidebar-footer .logout{width:100%;text-align:left}.mobile-topbar,.sidebar-overlay{display:none}.app-sidebar~.page{max-width:1692px;margin-left:252px;padding:28px 24px 72px;transition:margin-left .18s ease}.workspace-head,.page-head{margin-bottom:18px}.workspace-head h1,.page-head h1{font-size:clamp(30px,3vw,44px)}.system-banner{min-height:100px;padding:20px 24px}.system-banner h2{font-size:clamp(23px,2.4vw,34px)}.section-block,.card{padding:20px}.quick-card{min-height:96px;padding:15px}.section-heading{margin-bottom:16px}.section-heading h3{font-size:21px}
body.sidebar-collapsed .app-sidebar{width:74px}.sidebar-collapsed .app-sidebar .identity>span:last-child,.sidebar-collapsed .app-sidebar .device-switch,.sidebar-collapsed .sidebar-nav span,.sidebar-collapsed .sidebar-nav>p,.sidebar-collapsed .sidebar-footer>*:not(form),.sidebar-collapsed .sidebar-footer .logout{display:none}.sidebar-collapsed .sidebar-brand{justify-content:center}.sidebar-collapsed .sidebar-brand .identity{margin:0}.sidebar-collapsed .sidebar-collapse{position:absolute;top:17px;right:-14px;border-radius:50%;background:var(--panel);transform:rotate(180deg)}.sidebar-collapsed .sidebar-nav a{grid-template-columns:1fr;place-items:center;padding:8px}.sidebar-collapsed .sidebar-nav i{font-size:10px}.sidebar-collapsed .sidebar-footer form{height:0}.sidebar-collapsed .app-sidebar~.page{margin-left:74px}

/* Compact diagnostic journal */
.compact-head{align-items:center}.journal-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.journal-summary article{display:grid;gap:5px;min-height:94px;padding:15px 17px;border:1px solid var(--line);background:var(--surface)}.journal-summary small,.journal-summary span{color:var(--muted);font-size:9px}.journal-summary strong{font-size:23px;font-variant-numeric:tabular-nums}.journal-summary .summary-error{border-top-color:var(--red)}.journal-summary .summary-error strong{color:#ff9189}.journal-summary .summary-warning{border-top-color:var(--yellow)}.journal-summary .summary-warning strong{color:var(--yellow)}.journal-card{padding-top:0}.journal-scope{display:flex;gap:2px;margin:0 -20px 16px;padding:0 20px;border-bottom:1px solid var(--line)}.journal-scope button{min-height:47px;padding:0 15px;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:11px}.journal-scope button.active{border-bottom-color:var(--accent);color:white}.journal-filters{grid-template-columns:minmax(220px,1fr) repeat(4,minmax(105px,170px)) auto;align-items:end;margin-bottom:12px}.journal-filters label{display:grid;gap:5px;color:var(--muted);font-size:9px}.journal-filters input,.journal-filters select{width:100%;height:39px}.journal-filters button{height:39px}.journal-legend{display:flex;gap:14px;padding:10px 0;color:#71828d;font-size:9px}.journal-legend span:last-child{margin-left:auto}.journal-legend i{display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%}.error-dot{background:var(--red)}.warning-dot{background:var(--yellow)}.diagnostic-events{border-top:1px solid var(--line)}.event-item{border-bottom:1px solid var(--line-soft);background:#0b1218}.event-item[open]{background:#0e171e}.event-item>summary{display:grid;grid-template-columns:164px 82px minmax(0,1fr) 70px;align-items:center;gap:12px;min-height:62px;padding:10px 12px;cursor:pointer;list-style:none}.event-item>summary::-webkit-details-marker{display:none}.event-item>summary:hover{background:#121c24}.event-item>summary time{color:#8da0ad;font:10px ui-monospace,Consolas,monospace}.event-message{display:grid;gap:4px;min-width:0}.event-message b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-message small{color:#6f818d;font-size:9px}.event-item>summary>i{color:var(--accent);font-style:normal;font-size:9px;text-align:right}.event-item.error{border-left:2px solid #a8413a}.event-item.warning{border-left:2px solid #8b691d}.event-context{padding:0 12px 14px 258px}.event-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:9px}.event-meta span{padding:5px 8px;border:1px solid var(--line-soft);color:var(--muted);font-size:9px}.event-meta b{color:#c5d0d6}.event-context dl{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:0;background:var(--line-soft)}.event-context dl>div{min-width:0;padding:9px 10px;background:var(--panel)}.event-context dt{margin-bottom:4px;color:#758793;font-size:8px}.event-context dd{margin:0;color:#d3dce1;font:9px/1.45 ui-monospace,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}

@media(max-width:1100px){.journal-summary{grid-template-columns:repeat(2,1fr)}.journal-filters{grid-template-columns:1fr 1fr 1fr}.event-context{padding-left:12px}.event-context dl{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.app-sidebar{width:268px;transform:translateX(-102%);box-shadow:var(--shadow)}.sidebar-open .app-sidebar{transform:translateX(0)}.app-sidebar~.page,.sidebar-collapsed .app-sidebar~.page{margin-left:0;padding:76px 14px 55px}.mobile-topbar{position:fixed;inset:0 0 auto 0;z-index:30;height:58px;display:flex;align-items:center;gap:12px;padding:0 12px;border-bottom:1px solid var(--line);background:#0a1015f2;backdrop-filter:blur(14px)}.mobile-topbar>button{width:36px;min-height:36px;padding:0;border:1px solid var(--line);background:var(--panel);color:white}.mobile-topbar>a{display:flex;align-items:center;gap:8px;text-decoration:none}.mobile-topbar .logo-box{width:30px;height:30px}.mobile-topbar>a b{font-size:11px}.mobile-topbar>span{margin-left:auto;color:var(--muted);font-size:9px}.sidebar-overlay{position:fixed;inset:0;z-index:35;width:100%;height:100%;padding:0;border:0;background:#0009}.sidebar-open .sidebar-overlay{display:block}.sidebar-collapse{display:none}.journal-legend span:last-child{display:none}.event-item>summary{grid-template-columns:1fr auto}.event-item>summary time{grid-column:1}.event-item>summary .level{grid-column:2;grid-row:1}.event-message{grid-column:1/-1}.event-item>summary>i{display:none}}
@media(max-width:560px){.journal-summary{grid-template-columns:1fr 1fr}.journal-summary article{min-height:82px;padding:12px}.journal-summary strong{font-size:19px}.journal-scope{overflow-x:auto}.journal-scope button{flex:0 0 auto}.journal-filters{grid-template-columns:1fr 1fr}.journal-filters .search-field{grid-column:1/-1}.journal-filters button{align-self:end}.event-context dl{grid-template-columns:1fr}.workspace-head h1,.page-head h1{font-size:30px}}

/* Fast in-page navigation, account and OTA readiness */
.sidebar-subnav{display:grid;margin:0 0 6px 36px;padding:3px 0 5px;border-left:1px solid var(--line)}.sidebar-subnav a{display:block;min-height:0;padding:7px 10px;border:0;color:#82939e;font-size:9px}.sidebar-subnav a:hover{background:var(--surface);color:var(--accent)}.sidebar-collapsed .sidebar-subnav{display:none}.settings-layout-wide{display:block}.settings-layout-wide .settings-content{width:100%}.account-grid{display:grid;grid-template-columns:minmax(260px,.65fr) minmax(420px,1.35fr);gap:14px}.account-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.account-form label{display:grid;gap:6px;color:var(--muted);font-size:10px}.account-form label:first-of-type{grid-column:1/-1}.account-form input{min-height:42px;padding:9px 11px;border:1px solid var(--line);background:var(--panel);color:var(--text)}.account-form button{grid-column:1/-1}.ota-readiness{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0;padding:13px;border:1px solid var(--line);background:var(--panel)}.ota-readiness>b,.ota-readiness>small{grid-column:1/-1}.ota-readiness span{padding:9px;border:1px solid var(--line-soft);background:#0a1117;font-size:10px}.ota-readiness small{color:var(--muted);line-height:1.45}.recommended-release{border-color:#72551f!important;background:linear-gradient(135deg,#18170f,#0a1117)!important}.recommended-release>em{display:block;width:max-content;margin:7px 0;padding:4px 6px;background:var(--accent-soft);color:var(--accent);font-style:normal;font-size:8px;font-weight:900}.setting-section{scroll-margin-top:18px}
@media(max-width:820px){.sidebar-subnav{margin-left:36px}.account-grid{grid-template-columns:1fr}.ota-readiness{grid-template-columns:1fr}.ota-readiness>b,.ota-readiness>small{grid-column:1}.setting-section{scroll-margin-top:72px}}
@media(max-width:560px){.account-form{grid-template-columns:1fr}.account-form label:first-of-type{grid-column:1}.account-form button{grid-column:1}}

/* Stable live cards and compact OTA release selector */
html{scrollbar-gutter:stable}.page,[data-view-panel]{overflow-anchor:none}.drive-card .status-list li{min-height:44px;align-items:center}.drive-card .status-list b{flex:0 1 68%;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.ota-release-list{display:grid;gap:8px;margin:12px 0}.ota-release-list article{padding:13px 14px;border:1px solid var(--line);background:#0a1117}.ota-release-head,.ota-release-foot{display:flex;align-items:center;justify-content:space-between;gap:14px}.ota-release-head>div{min-width:0}.ota-release-head b{display:block;overflow-wrap:anywhere;font-size:12px}.ota-release-head time,.ota-release-foot small{color:var(--muted);font-size:9px;white-space:nowrap}.ota-release-head em{display:inline-block;margin:0 0 5px;padding:3px 5px;background:var(--accent-soft);color:var(--accent);font-size:8px;font-style:normal;font-weight:900}.ota-release-list p{margin:9px 0;color:#aab8c0;font-size:10px;line-height:1.45}.ota-release-foot form{margin:0}.ota-release-foot button{min-height:34px;padding:7px 11px}.ota-secondary{margin-top:8px;border:1px solid var(--line-soft);background:var(--panel)}.ota-secondary>summary{padding:11px 13px;color:#aebac1;font-size:10px;font-weight:800;cursor:pointer}.ota-secondary>form,.ota-secondary>.command-list{margin:0;padding:12px}.recommended-release{border-color:#72551f!important;background:linear-gradient(135deg,#18170f,#0a1117)!important}
@media(max-width:720px){.drive-card .status-list b{flex-basis:62%;font-size:10px}.ota-release-head,.ota-release-foot{align-items:flex-start;flex-direction:column}.ota-release-head time{white-space:normal}.ota-release-foot form,.ota-release-foot button{width:100%}}

/* Operator-panel recordings */
.audio-list{display:grid;gap:7px;margin-top:16px}.audio-entry{display:grid;grid-template-columns:minmax(225px,.75fr) minmax(440px,2.25fr) auto;align-items:center;gap:12px;padding:9px 10px;border:1px solid var(--line);background:#0a1117}.audio-meta{min-width:0}.audio-meta b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audio-player-block{min-width:0}.audio-waveform-player{position:relative;height:78px;overflow:hidden;border:1px solid #173441;background:#071017}.audio-waveform-seek{position:absolute;inset:0;width:100%;height:100%;padding:0;overflow:hidden;border:0;background:transparent;cursor:crosshair}.audio-waveform{display:block;width:100%;height:100%;object-fit:fill;opacity:.88}.audio-played{position:absolute;inset:0 auto 0 0;width:0;background:rgba(53,214,192,.16);pointer-events:none}.audio-cursor{position:absolute;top:0;bottom:0;left:0;width:2px;background:#f5aa2b;box-shadow:0 0 7px #f5aa2b;pointer-events:none}.audio-play-toggle{position:absolute;z-index:3;left:9px;top:9px;width:36px;height:36px;padding:0;border:1px solid #69808b;border-radius:50%;background:rgba(7,16,23,.88);color:#fff;font-size:15px}.audio-clock{position:absolute;z-index:3;right:8px;top:7px;padding:3px 6px;background:rgba(7,16,23,.82);color:#c9d5da;font:800 10px/1.2 monospace;pointer-events:none}.audio-clock b{display:inline;color:#f5aa2b}.audio-scale{position:absolute;z-index:2;left:7px;right:7px;bottom:3px;display:flex;justify-content:space-between;color:#9fb2bb;font:700 8px/1 monospace;pointer-events:none;text-shadow:0 1px 2px #000}.audio-scale::before{content:"";position:absolute;left:0;right:0;bottom:11px;height:6px;background:repeating-linear-gradient(90deg,rgba(196,216,224,.65) 0 1px,transparent 1px 12.5%);opacity:.55}.audio-list audio{display:none}.audio-list b,.audio-list small{display:block}.audio-list small{margin-top:4px;color:var(--muted);font-size:9px}.audio-meta time{display:block;margin-bottom:4px;color:var(--accent);font-size:14px;font-weight:900}.audio-actions{justify-content:flex-end;align-self:center}.audio-list .button{text-decoration:none;white-space:nowrap}.audio-waveform-seek:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.audio-play-toggle:hover{border-color:var(--accent);color:var(--accent)}
@media(max-width:980px){.audio-entry{grid-template-columns:minmax(190px,.8fr) minmax(340px,2fr) auto}}@media(max-width:760px){.audio-entry{grid-template-columns:1fr}.audio-player-block{grid-row:auto}.audio-actions{justify-content:flex-start;margin-top:0}.audio-list .button{text-align:center}}
.recorder-card{margin-bottom:16px}.recorder-settings{display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:end;gap:12px}.recorder-settings label{display:grid;gap:6px;color:var(--muted);font-size:10px}.recorder-settings select{min-height:40px}.recorder-status{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:14px;background:var(--line)}.recorder-status span{display:grid;gap:5px;min-width:0;padding:12px;background:var(--panel)}.recorder-status small{color:var(--muted);font-size:9px}.recorder-status b{overflow-wrap:anywhere;font-size:11px}.sd-actions,.audio-actions{display:flex;gap:8px;margin-top:12px}.sd-actions form{margin:0}.state-pill{padding:6px 9px;border:1px solid var(--line);color:var(--muted);font-size:9px;font-weight:900}.state-pill.ok{border-color:#245d48;color:var(--green)}.audio-actions{margin:0}.audio-actions .button{padding:8px 10px}
.recorder-action-result{margin:12px 0 0;padding:10px 12px;border:1px solid #245d48;background:#0c211b;color:var(--green);font-size:11px}
@media(max-width:900px){.recorder-settings{grid-template-columns:1fr 1fr}.recorder-settings button{grid-column:1/-1}.recorder-status{grid-template-columns:1fr 1fr}}
.ota-release-description{margin:9px 0 12px;border:1px solid var(--line-soft);background:var(--panel)}.ota-release-description>summary{padding:9px 11px;color:var(--accent);font-size:9px;font-weight:900;cursor:pointer}.ota-release-description ul{display:grid;gap:7px;margin:0;padding:10px 14px 12px 28px;color:#aebbc2;font-size:10px;line-height:1.45}.ota-release-description li::marker{color:var(--accent)}
.audio-meta time em{display:block;margin-bottom:2px;color:var(--muted);font:800 8px/1 sans-serif;letter-spacing:.08em}
