:root{color-scheme:light;--ink: #15221d;--ink-soft: #53615b;--ink-faint: #7d8782;--paper: #f2efe6;--paper-deep: #e7e2d7;--panel: #fbfaf5;--panel-green: #e8eddf;--line: #c6c8bc;--line-strong: #8f978f;--forest: #193b30;--forest-light: #285a49;--acid: #d7f071;--orange: #e8713a;--red: #b63c33;--amber: #d5a133;--blue: #477d8b;--shadow: 0 18px 50px rgb(22 38 31 / 10%);--font-display: "DIN Condensed", "Avenir Next Condensed", "Gill Sans", sans-serif;--font-body: "Avenir Next", "Gill Sans", "Trebuchet MS", sans-serif;--font-mono: "SFMono-Regular", Menlo, Monaco, Consolas, monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;min-width:320px;min-height:100vh;color:var(--ink);background:linear-gradient(rgb(27 56 45 / 3%) 1px,transparent 1px),linear-gradient(90deg,rgb(27 56 45 / 3%) 1px,transparent 1px),var(--paper);background-size:32px 32px;font-family:var(--font-body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{color:inherit}button:not(:disabled),select:not(:disabled){cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--orange);outline-offset:3px}.app-shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}.navigation-rail{position:sticky;top:0;z-index:20;display:flex;flex-direction:column;height:100vh;padding:28px 22px 24px;overflow:hidden;color:#edf1e8;background:radial-gradient(circle at 12% 12%,rgb(216 240 113 / 10%),transparent 28%),repeating-linear-gradient(135deg,transparent 0 10px,rgb(255 255 255 / 1.2%) 10px 11px),#15261f;border-right:1px solid #31463d}.navigation-rail:after{position:absolute;right:21px;bottom:155px;width:1px;height:100px;content:"";background:linear-gradient(transparent,var(--acid))}.brand{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none}.brand-mark{display:grid;flex:0 0 44px;width:44px;height:44px;color:var(--acid);border:1px solid rgb(215 240 113 / 45%);place-items:center;transform:rotate(-3deg)}.brand-mark svg{width:31px;height:31px;fill:currentColor}.brand-mark svg path:last-child{fill:var(--forest)}.brand strong,.brand small{display:block;line-height:1}.brand strong{font-family:var(--font-display);font-size:27px;font-stretch:condensed;letter-spacing:.08em}.brand small{margin-top:5px;color:#99aaa2;font-family:var(--font-mono);font-size:9px;letter-spacing:.17em}.rail-links{display:flex;flex-direction:column;gap:5px;margin-top:78px}.rail-link{position:relative;display:grid;grid-template-columns:30px 1fr;gap:7px;align-items:center;min-height:48px;padding:0 10px;color:#8fa198;font-size:13px;font-weight:600;text-decoration:none;border:1px solid transparent;transition:color .16s ease,border-color .16s ease,background .16s ease}.rail-link:before{position:absolute;left:-22px;width:3px;height:0;content:"";background:var(--acid);transition:height .16s ease}.rail-link:hover,.rail-link.is-active{color:#fff;background:#ffffff0a;border-color:#ffffff14}.rail-link.is-active:before{height:28px}.rail-index{color:var(--acid);font-family:var(--font-mono);font-size:9px;letter-spacing:.08em}.rail-meta{display:flex;flex-direction:column;margin-top:auto;padding-top:19px;border-top:1px solid #34483f}.rail-meta span,.rail-meta small{color:#84968d;font-family:var(--font-mono);font-size:9px;letter-spacing:.1em}.rail-meta strong{margin:5px 0 18px;color:var(--acid);font-family:var(--font-display);font-size:32px;font-weight:600;letter-spacing:.04em}.main-content{width:100%;max-width:1680px;min-width:0;margin:0 auto;padding:0 40px}.topbar{display:flex;justify-content:space-between;min-height:82px;padding:20px 0;border-bottom:1px solid var(--line)}.eyebrow-group,.topbar-status,.status-item strong,.mode-badge{display:flex;align-items:center}.eyebrow-group{gap:18px}.eyebrow,.mode-badge,.status-item span,.section-kicker,.summary-label,.context-item>span,.panel-code,.protocol-chip{font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.12em}.eyebrow{color:var(--ink-soft)}.mode-badge{gap:7px;padding:6px 9px;color:var(--forest);background:#d7f071a6;border:1px solid #b2cb51}.mode-badge i,.status-dot,.activity-warning i,.readback-state i,.climate-zone header small i,.dialog-mode-note i,.quality i,.data-legend i{display:inline-block;width:7px;height:7px;background:currentColor;border-radius:50%}.mode-badge i{box-shadow:0 0 0 3px #193b301f}.mode-badge.is-live{color:#e9f3ed;background:var(--forest-light);border-color:var(--forest-light)}.mode-badge.is-live i{color:var(--acid);box-shadow:0 0 0 3px #d7f07126}.topbar-status{gap:38px}.status-item{position:relative;min-width:116px}.status-item+.status-item:before{position:absolute;top:4px;bottom:4px;left:-20px;width:1px;content:"";background:var(--line)}.status-item>span{display:block;margin-bottom:4px;color:var(--ink-faint)}.status-item strong{gap:8px;font-size:13px}.status-dot.is-offline{color:var(--orange)}.status-dot.is-online{color:var(--forest-light)}.clock{font-family:var(--font-mono);font-size:14px!important;letter-spacing:.04em;font-variant-numeric:tabular-nums}.hero-section{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(450px,.8fr);gap:68px;align-items:end;padding:62px 0 47px}.section-kicker{margin:0 0 17px;color:var(--forest-light)}.section-kicker:before{display:inline-block;width:24px;height:1px;margin:0 9px 3px 0;content:"";background:var(--orange)}.hero-copy h1{max-width:780px;margin:0;font-family:var(--font-display);font-size:clamp(56px,6.2vw,96px);font-weight:600;line-height:.86;letter-spacing:-.035em;text-transform:uppercase}.hero-copy h1 em{color:var(--forest-light);font-style:normal}.hero-description{max-width:680px;margin:28px 0 0;color:var(--ink-soft);font-size:16px;line-height:1.7}.hero-summary{display:grid;grid-template-columns:repeat(3,1fr);background:var(--line);border:1px solid var(--line);gap:1px;box-shadow:var(--shadow)}.summary-block{min-height:145px;padding:18px 18px 16px;background:var(--panel)}.summary-block.is-accent{background:var(--acid)}.summary-label{color:var(--ink-soft)}.summary-block strong{display:block;margin:13px 0 9px;font-family:var(--font-display);font-size:53px;font-weight:600;line-height:.9;letter-spacing:-.02em}.summary-block strong.summary-word{margin-top:25px;font-size:26px;letter-spacing:.04em}.summary-block small{display:block;color:var(--ink-soft);font-size:11px;line-height:1.3}.context-strip{display:grid;grid-template-columns:1.15fr 1fr 1fr auto;gap:0;align-items:stretch;margin-bottom:12px;background:var(--panel-green);border:1px solid var(--line-strong)}.context-item{display:flex;flex-direction:column;justify-content:center;min-height:76px;padding:13px 20px;border-right:1px solid var(--line)}.context-item>span{margin-bottom:5px;color:var(--ink-faint)}.context-item strong,.context-item select{color:var(--ink);font-size:13px;font-weight:700}.context-item strong small{margin-left:8px;color:var(--ink-faint);font-family:var(--font-mono);font-size:9px;font-weight:500}.select-shell select{width:100%;padding:0 24px 0 0;background:transparent;border:0;outline:0}.quiet-button{min-width:150px;padding:0 21px;color:#fff;background:var(--forest);border:0;font-size:12px;font-weight:700}.quiet-button span{display:inline-block;margin-left:8px;color:var(--acid);font-size:18px;transition:transform .2s ease}.quiet-button:hover span,.quiet-button.is-loading span{transform:rotate(100deg)}.connection-strip{display:grid;grid-template-columns:minmax(230px,1fr) minmax(260px,.75fr) auto auto;gap:12px;align-items:center;min-height:76px;margin-bottom:14px;padding:12px 14px 12px 18px;color:#dfe9e3;background:var(--forest);border:1px solid #2e4c40;box-shadow:0 12px 30px #142c231a}.control-authority-strip{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:20px;align-items:center;min-height:74px;margin-bottom:72px;padding:14px 16px 14px 18px;background:var(--panel);border:1px solid var(--line-strong);box-shadow:0 10px 26px #142c2312}.control-authority-strip[hidden]{display:none}.control-authority-strip[data-mode=manual]{border-left:4px solid var(--acid)}.control-authority-strip[data-mode=ai]{border-left:4px solid var(--blue)}.control-authority-strip[data-mode=locked]{border-left:4px solid var(--orange)}.control-authority-strip>div:first-child>span,.control-authority-strip>div:first-child>strong,.control-authority-strip>div:first-child>small{display:block}.control-authority-strip>div:first-child>span{color:var(--ink-faint);font-family:var(--font-mono);font-size:8px;font-weight:800;letter-spacing:.11em}.control-authority-strip>div:first-child>strong{margin-top:3px;font-size:14px}.control-authority-strip>div:first-child>small{margin-top:2px;color:var(--ink-soft);font-size:10px}.control-authority-actions{display:grid;grid-template-columns:repeat(3,minmax(82px,1fr));gap:7px}.control-authority-actions button{min-height:39px;padding:0 14px;background:transparent;border:1px solid var(--line-strong);font-size:10px;font-weight:800}.control-authority-actions button.is-active{color:#fff;background:var(--forest);border-color:var(--forest);opacity:1}.workspace-section[data-authority=ai] .command-console,.workspace-section[data-authority=locked] .command-console{background-image:linear-gradient(#e8713a0a,#e8713a0a);border-color:var(--orange)}.connection-strip[hidden]{display:none}body[data-console-mode=mock] .context-strip{margin-bottom:72px}.connection-copy{min-width:0}.connection-copy>span,.operator-token-field>span{display:block;color:#91a69b;font-family:var(--font-mono);font-size:8px;font-weight:700;letter-spacing:.09em}.connection-copy strong,.connection-copy small{display:block}.connection-copy strong{margin-top:3px;color:#fff;font-size:12px}.connection-copy small{max-width:520px;margin-top:2px;overflow:hidden;color:#aebdb5;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.connection-strip[data-state=connected]{border-left:4px solid var(--acid)}.connection-strip[data-state=offline],.connection-strip[data-state=unauthorized]{border-left:4px solid var(--orange)}.operator-token-field input{width:100%;height:40px;margin-top:4px;padding:0 12px;color:#fff;background:#ffffff12;border:1px solid #4b665b;outline:0}.operator-token-field input::placeholder{color:#80938a}.connection-action,.connection-clear{min-height:40px;padding:0 14px;font-size:10px;font-weight:800;white-space:nowrap}.connection-action{color:var(--forest);background:var(--acid);border:1px solid var(--acid)}.connection-clear{color:#d6e0da;background:transparent;border:1px solid #587065}.connection-strip[data-auth-mode=proxy]{grid-template-columns:minmax(230px,1fr) auto}.edge-service-card{display:grid;grid-template-columns:minmax(260px,1.1fr) minmax(340px,1.4fr) minmax(220px,auto);gap:18px 24px;align-items:center;margin:-48px 0 72px;padding:20px 22px;background:var(--panel);border:1px solid var(--line-strong);box-shadow:0 12px 34px #142c2314}.edge-service-card[hidden]{display:none}.edge-service-card[data-state=running]{border-left:4px solid var(--acid)}.edge-service-card[data-state=starting],.edge-service-card[data-state=stopping]{border-left:4px solid var(--amber)}.edge-service-card[data-state=failed],.edge-service-card[data-state=unavailable]{border-left:4px solid var(--orange)}.edge-service-kicker,.edge-service-signals span{display:block;color:var(--ink-faint);font-family:var(--font-mono);font-size:8px;font-weight:700;letter-spacing:.09em}.edge-service-title-row{display:flex;gap:11px;align-items:center;margin-top:7px}.edge-service-title-row h2,.edge-service-title-row p{margin:0}.edge-service-title-row h2{font-size:16px;line-height:1.2}.edge-service-title-row p{max-width:460px;margin-top:3px;color:var(--ink-soft);font-size:10px;line-height:1.45}.edge-service-state-dot{flex:0 0 12px;width:12px;height:12px;background:var(--line-strong);border:3px solid var(--paper-deep);border-radius:50%;box-shadow:0 0 0 1px var(--line-strong)}.edge-service-card[data-state=running] .edge-service-state-dot{background:#789a22;box-shadow:0 0 0 1px #789a22}.edge-service-card[data-state=starting] .edge-service-state-dot,.edge-service-card[data-state=stopping] .edge-service-state-dot{background:var(--amber);box-shadow:0 0 0 1px var(--amber)}.edge-service-card[data-state=failed] .edge-service-state-dot,.edge-service-card[data-state=unavailable] .edge-service-state-dot{background:var(--orange);box-shadow:0 0 0 1px var(--orange)}.edge-service-signals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;overflow:hidden;background:var(--line);border:1px solid var(--line)}.edge-service-signals>div{min-width:0;padding:10px 11px;background:var(--paper)}.edge-service-signals strong{display:flex;gap:7px;align-items:center;margin-top:5px;overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.edge-service-signals strong:before{display:block;flex:0 0 7px;width:7px;height:7px;background:var(--line-strong);border-radius:50%;content:""}.edge-service-signals strong[data-state=ready]:before,.edge-service-signals strong[data-state=running]:before{background:#789a22}.edge-service-signals strong[data-state=checking]:before,.edge-service-signals strong[data-state=starting]:before,.edge-service-signals strong[data-state=stopping]:before{background:var(--amber)}.edge-service-signals strong[data-state=error]:before,.edge-service-signals strong[data-state=failed]:before{background:var(--orange)}.edge-service-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.edge-service-actions button{min-height:36px;padding:0 11px;color:var(--forest);background:transparent;border:1px solid var(--line-strong);font-size:9px;font-weight:800;white-space:nowrap}.edge-service-actions .edge-start-action{grid-column:1 / -1;color:var(--forest);background:var(--acid);border-color:var(--acid)}.edge-service-actions .edge-stop-action{color:var(--red);border-color:#c68b84}.edge-service-safety{grid-column:1 / -1;margin:0;padding-top:11px;color:var(--ink-soft);border-top:1px solid var(--line);font-size:9px;line-height:1.45}.server-command-section,.workspace-section,.sensor-section{margin-bottom:88px}.server-command-heading{align-items:center}.read-only-note{display:flex;gap:11px;align-items:center;max-width:430px;padding:12px 15px;color:#29434a;background:repeating-linear-gradient(135deg,transparent 0 12px,rgb(71 125 139 / 6%) 12px 13px),#e7eff0;border-left:3px solid var(--blue)}.read-only-note>span{display:grid;flex:0 0 25px;width:25px;height:25px;color:#fff;background:var(--blue);border-radius:50%;font-size:9px;place-items:center}.read-only-note p{margin:0;font-size:10px;line-height:1.45}.server-command-monitor{display:grid;grid-template-columns:minmax(290px,.72fr) minmax(0,1.45fr);min-height:545px;overflow:hidden;background:var(--line-strong);border:1px solid var(--line-strong);box-shadow:0 14px 42px #16261f14}.server-command-monitor[data-state=stale],.server-command-monitor[data-state=unavailable]{border-color:#b58f52}.server-command-feed,.server-command-inspector{min-width:0;background:var(--panel)}.server-command-feed{border-right:1px solid var(--line-strong)}.server-command-feed>header,.server-command-inspector>header{display:flex;gap:18px;align-items:center;justify-content:space-between;min-height:91px;padding:18px 20px;border-bottom:1px solid var(--line)}.server-command-feed h3,.server-command-inspector h3{margin:6px 0 0;font-family:var(--font-display);font-size:29px;font-weight:600;line-height:1;text-transform:uppercase}.server-command-count{display:grid;flex:0 0 40px;width:40px;height:40px;color:#fff;background:var(--blue);font-family:var(--font-display);font-size:24px;font-weight:600;place-items:center}.server-command-feed-meta{display:flex;gap:12px;align-items:center;justify-content:space-between;min-height:43px;padding:9px 14px;color:#597076;background:#e7eff0;border-bottom:1px solid #bdcccf;font-family:var(--font-mono)}.server-command-feed-meta>span{font-size:7px;font-weight:800;letter-spacing:.08em;white-space:nowrap}.server-command-feed-meta i{display:inline-block;width:6px;height:6px;margin-right:4px;background:var(--blue);border-radius:50%;box-shadow:0 0 0 3px #477d8b21}.server-command-feed-meta small{overflow:hidden;font-size:7px;text-align:right;text-overflow:ellipsis;white-space:nowrap}.server-command-list{max-height:410px;overflow-y:auto}.server-command-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;margin:14px;padding:28px;color:var(--ink-faint);text-align:center;border:1px dashed var(--line)}.server-command-empty>span{color:var(--blue);font-size:35px}.server-command-empty strong{margin-top:7px;color:var(--ink-soft);font-size:12px}.server-command-empty p{max-width:250px;margin:5px 0 0;font-size:9px}.server-command-row{display:grid;grid-template-columns:27px minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;min-height:82px;padding:10px 13px;color:var(--ink);text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line);transition:background .15s ease,box-shadow .15s ease}.server-command-row:hover{background:#f0f2e9}.server-command-row.is-active{background:var(--panel-green);box-shadow:inset 4px 0 var(--blue)}.server-command-row-index{color:var(--ink-faint);font-family:var(--font-mono);font-size:8px}.server-command-row-body{min-width:0}.server-command-row-body small,.server-command-row-body strong,.server-command-row-body em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.server-command-row-body small{color:var(--blue);font-family:var(--font-mono);font-size:7px;letter-spacing:.04em}.server-command-row-body strong{margin-top:2px;font-size:10px}.server-command-row-body em{margin-top:3px;color:var(--ink-faint);font-size:8px;font-style:normal}.server-command-row-state,.server-command-state{padding:5px 7px;color:#e8f0ec;background:var(--forest-light);font-family:var(--font-mono);font-size:7px;font-weight:800;letter-spacing:.05em;white-space:nowrap}.server-command-row-state[data-state=received],.server-command-state[data-state=received],.server-command-row-state[data-state=queued],.server-command-row-state[data-state=published],.server-command-row-state[data-state=started],.server-command-state[data-state=queued],.server-command-state[data-state=published],.server-command-state[data-state=started]{color:#284851;background:#cde1e5}.server-command-row-state[data-state=rejected],.server-command-row-state[data-state=failed],.server-command-row-state[data-state=expired],.server-command-state[data-state=rejected],.server-command-state[data-state=failed],.server-command-state[data-state=expired]{color:#fff;background:var(--red)}.server-command-state[data-state=unconfirmed],.server-command-row-state[data-state=unconfirmed]{color:#664512;background:#ead59f}.server-command-state[data-state=waiting]{color:#52625b;background:#e1e3da}.server-command-inspector{display:flex;flex-direction:column}.server-command-facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-bottom:1px solid var(--line)}.server-command-facts>div{min-width:0;min-height:74px;padding:13px;border-right:1px solid var(--line)}.server-command-facts>div:last-child{border-right:0}.server-command-facts span,.server-command-json>span{display:block;color:var(--ink-faint);font-family:var(--font-mono);font-size:7px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.server-command-facts strong{display:block;margin-top:8px;overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.server-command-json{flex:1;min-height:285px;padding:16px 18px;color:#dce8e1;background:linear-gradient(rgb(215 240 113 / 4%) 1px,transparent 1px),#14271f;background-size:100% 24px}.server-command-json>span{color:#98aaa1}.server-command-json pre{max-height:300px;margin:12px 0 0;overflow:auto;color:#dce8e1;font-family:var(--font-mono);font-size:10px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.server-command-inspector>footer{display:flex;gap:10px;align-items:flex-start;min-height:58px;padding:13px 18px;color:#52666c;background:#e7eff0;border-top:1px solid #bdcccf}.server-command-inspector>footer i{display:grid;flex:0 0 20px;width:20px;height:20px;color:#fff;background:var(--blue);border-radius:50%;font-family:var(--font-mono);font-size:9px;font-style:normal;place-items:center}.server-command-inspector>footer p{margin:1px 0 0;font-size:9px;line-height:1.45}.section-heading{display:flex;gap:32px;align-items:flex-end;justify-content:space-between;margin-bottom:24px}.section-heading .section-kicker{margin-bottom:9px}.section-heading h2{margin:0;font-family:var(--font-display);font-size:clamp(38px,4vw,58px);font-weight:600;line-height:.95;letter-spacing:-.02em;text-transform:uppercase}.safety-note{display:flex;gap:11px;align-items:center;max-width:405px;padding:11px 14px;background:#f5e7dc;border-left:3px solid var(--orange)}.safety-note p{margin:0;color:#694637;font-size:11px;line-height:1.45}.safety-icon{display:grid;flex:0 0 24px;width:24px;height:24px;color:#fff;background:var(--orange);border-radius:50%;font-family:var(--font-mono);font-size:12px;font-weight:700;place-items:center}.control-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:stretch}.command-console,.activity-panel{min-width:0;background:var(--panel);border:1px solid var(--line-strong);box-shadow:0 10px 34px #16261f0f}.command-tabs{display:grid;grid-template-columns:repeat(5,1fr);background:var(--paper-deep);border-bottom:1px solid var(--line-strong)}.command-tab{min-height:61px;padding:10px;color:var(--ink-soft);background:transparent;border:0;border-right:1px solid var(--line);font-size:12px;font-weight:700;transition:color .15s ease,background .15s ease}.command-tab:last-child{border-right:0}.command-tab span{display:block;margin-bottom:3px;color:var(--ink-faint);font-family:var(--font-mono);font-size:8px}.command-tab:hover{color:var(--ink);background:#fff6}.command-tab.is-active{color:#fff;background:var(--forest)}.command-tab.is-active span{color:var(--acid)}.command-panel{min-height:545px;padding:30px 32px 34px}.command-panel[hidden]{display:none}.command-panel.is-active{animation:panel-reveal .26s ease both}@keyframes panel-reveal{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.panel-intro{display:flex;gap:24px;align-items:flex-start;justify-content:space-between;min-height:102px;padding-bottom:22px;border-bottom:1px solid var(--line)}.panel-code{color:var(--forest-light)}.panel-intro h3,.activity-panel h3{margin:7px 0 5px;font-family:var(--font-display);font-size:31px;font-weight:600;line-height:1;letter-spacing:-.01em;text-transform:uppercase}.panel-intro p{max-width:600px;margin:0;color:var(--ink-soft);font-size:12px}.protocol-chip{flex:0 0 auto;padding:7px 9px;color:var(--forest);background:var(--panel-green);border:1px solid #aab9aa}.protocol-chip.is-warning{color:#794d18;background:#f2e5c6;border-color:#d8b878}.command-form{padding-top:27px}.field-grid{display:grid;gap:18px}.field-grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-fields{max-width:680px}.form-field,.program-group label,.dose-grid label,.target-field,.runtime-values label{display:flex;flex-direction:column}.form-field>span,.program-group label>span,.dose-grid label>span,.target-field>span,.runtime-values label>span,.readback-state>span{margin-bottom:7px;color:var(--ink-soft);font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.form-field input,.form-field select,.program-group input,.dose-grid input,.target-field input,.runtime-values input{width:100%;height:50px;padding:0 13px;color:var(--ink);background:#f6f4ed;border:1px solid var(--line-strong);border-radius:0;font-family:var(--font-mono);font-size:13px;font-weight:700;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.form-field input:focus,.form-field select:focus,.program-group input:focus,.dose-grid input:focus,.target-field input:focus,.runtime-values input:focus{background:#fff;border-color:var(--forest-light);box-shadow:inset 3px 0 var(--acid);outline:none}.form-field small{margin-top:5px;color:var(--ink-faint);font-size:10px}.action-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:30px}.action-row.align-end{justify-content:flex-end}.primary-action,.danger-action,.secondary-action{min-height:48px;padding:0 19px;border:0;font-size:12px;font-weight:800;transition:transform .15s ease,filter .15s ease,background .15s ease}.primary-action{display:inline-flex;gap:34px;align-items:center;justify-content:space-between;min-width:205px;color:#fff;background:var(--forest)}.primary-action i{color:var(--acid);font-size:19px;font-style:normal}.danger-action{color:#fff;background:var(--red)}.secondary-action{color:var(--ink);background:transparent;border:1px solid var(--line-strong)}.primary-action:hover,.danger-action:hover,.secondary-action:hover{filter:brightness(1.08);transform:translateY(-1px)}.inline-explanation{max-width:720px;margin:25px 0 0;padding:11px 13px;color:var(--ink-soft);background:var(--paper-deep);border-left:2px solid var(--blue);font-size:11px}.repeatable-header{display:flex;align-items:flex-end;justify-content:space-between;margin:26px 0 10px}.repeatable-header span{display:block;font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.09em}.repeatable-header small{color:var(--ink-faint);font-size:10px}.mini-button{min-height:35px;padding:0 12px;color:var(--forest);background:transparent;border:1px solid var(--forest-light);font-family:var(--font-mono);font-size:9px;font-weight:700}.program-groups{display:flex;flex-direction:column;gap:7px;max-height:250px;padding-right:4px;overflow-y:auto}.program-group{display:grid;grid-template-columns:35px minmax(130px,1.5fr) minmax(90px,.7fr) minmax(110px,.8fr) 34px;gap:10px;align-items:end;padding:11px;background:#f1efe7;border:1px solid var(--line)}.group-number{align-self:center;color:var(--forest-light);font-family:var(--font-display);font-size:25px;font-weight:600}.program-group input{height:39px;background:var(--panel)}.remove-group{width:34px;height:39px;color:var(--red);background:transparent;border:1px solid #d5b6b0;font-size:20px}.readback-state{padding:10px 13px;background:#f4e8cf;border:1px solid #d8bc82}.readback-state strong{display:flex;gap:7px;align-items:center;color:#7b541c;font-size:11px}.readback-state i{color:var(--amber)}.dose-grid{display:grid;grid-template-columns:repeat(5,minmax(80px,1fr));gap:8px;margin-top:24px}.dose-grid label{position:relative;padding:12px;background:var(--paper-deep);border-top:3px solid var(--forest-light)}.dose-grid input{height:43px;background:var(--panel)}.dose-grid small{margin-top:5px;color:var(--ink-faint);font-size:9px}.target-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:9px}.target-field{position:relative;display:grid;grid-template-columns:1fr 130px 60px;gap:12px;align-items:center;min-height:61px;padding:8px 13px;color:#fff;background:var(--forest)}.target-field>span{margin:0;color:#d8e3dc}.target-field input{height:43px;color:#fff;background:#ffffff14;border-color:#ffffff4d}.target-field small{color:var(--acid);font-family:var(--font-mono);font-size:9px}.target-field.ph-target{background:#315348}.runtime-values{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:14px;align-items:center;margin-top:31px;padding:20px;background:var(--paper-deep);border:1px solid var(--line)}.runtime-values label{padding:11px;background:var(--panel);border-top:3px solid var(--forest-light)}.runtime-values small{margin-top:5px;color:var(--ink-faint);font-size:9px}.value-separator{color:var(--ink-faint);font-family:var(--font-display);font-size:32px}.climate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}.climate-zone{background:#f0eee6;border:1px solid var(--line-strong)}.climate-zone>header{display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:10px 13px;color:#fff;background:var(--forest)}.climate-zone>header div{display:flex;gap:8px;align-items:baseline}.climate-zone>header span,.climate-zone>header small{font-family:var(--font-mono);font-size:8px;letter-spacing:.07em}.climate-zone>header strong{color:var(--acid);font-family:var(--font-display);font-size:28px}.climate-zone>header small{display:flex;gap:6px;align-items:center;color:#b4c1ba}.climate-zone>header small i{color:var(--amber)}.climate-control{display:flex;gap:12px;align-items:center;justify-content:space-between;min-height:78px;padding:12px 13px;border-bottom:1px solid var(--line)}.control-name{display:block;font-size:12px;font-weight:800}.climate-control small{color:var(--ink-faint);font-size:9px}.paired-actions{display:grid;grid-template-columns:repeat(2,1fr)}.paired-actions button{min-width:58px;min-height:38px;color:var(--forest);background:transparent;border:1px solid var(--line-strong);font-size:10px;font-weight:800}.paired-actions button+button{border-left:0}.paired-actions button:hover{color:#fff;background:var(--forest-light)}.roof-control{display:block;min-height:145px}.roof-heading{display:flex;align-items:flex-start;justify-content:space-between}.roof-heading output{color:var(--forest-light);font-family:var(--font-display);font-size:28px;font-weight:600}.roof-control input[type=range]{width:100%;height:4px;margin:19px 0 5px;accent-color:var(--forest-light)}.range-labels{display:flex;justify-content:space-between;color:var(--ink-faint);font-family:var(--font-mono);font-size:7px;letter-spacing:.03em}.apply-roof{width:100%;min-height:35px;margin-top:11px;color:var(--forest);background:transparent;border:1px solid var(--forest-light);font-size:10px;font-weight:800}.apply-roof:hover{color:#fff;background:var(--forest-light)}.climate-gap{margin-top:14px}.activity-panel{display:flex;flex-direction:column;min-height:607px}.activity-panel>header{display:flex;align-items:center;justify-content:space-between;min-height:91px;padding:20px;border-bottom:1px solid var(--line)}.activity-panel h3{margin-bottom:0;font-size:27px}.activity-count{display:grid;width:40px;height:40px;color:var(--forest);background:var(--acid);font-family:var(--font-display);font-size:24px;font-weight:600;place-items:center}.activity-warning{display:flex;gap:9px;align-items:flex-start;margin:14px 14px 0;padding:10px;color:#6b4a1a;background:#f0e5cc;border:1px solid #deca9d}.activity-warning i{flex:0 0 7px;margin-top:5px;color:var(--amber)}.activity-warning p{margin:0;font-size:10px}.activity-list{flex:1;max-height:401px;padding:14px;overflow-y:auto}.empty-activity{display:flex;flex-direction:column;align-items:center;justify-content:center;height:255px;padding:25px;color:var(--ink-faint);text-align:center;border:1px dashed var(--line)}.empty-activity>span{margin-bottom:10px;color:var(--forest-light);font-size:35px}.empty-activity strong{color:var(--ink-soft);font-size:12px}.empty-activity p{max-width:220px;margin:6px 0 0;font-size:10px}.activity-item{display:grid;grid-template-columns:31px 1fr;min-height:97px;border-bottom:1px solid var(--line)}.activity-line{position:relative;display:flex;flex-direction:column;align-items:center;color:var(--ink-faint);font-family:var(--font-mono);font-size:7px}.activity-line:after{position:absolute;top:28px;bottom:-1px;width:1px;content:"";background:var(--line)}.activity-line i{z-index:1;width:9px;height:9px;margin:11px 0 3px;background:var(--acid);border:2px solid var(--forest);border-radius:50%}.activity-body{padding:8px 0 11px 5px}.activity-type{color:var(--forest-light);font-family:var(--font-mono);font-size:8px;letter-spacing:.04em}.activity-body strong,.activity-body p{display:block}.activity-error{display:block;margin-top:6px;color:var(--red);font-size:8px;line-height:1.35}.activity-evidence{display:block;margin-top:6px;color:var(--ink-muted);font-family:var(--font-mono);font-size:8px;line-height:1.4}.activity-body strong{margin-top:3px;font-size:11px}.activity-body p{margin:2px 0 7px;color:var(--ink-faint);font-size:9px}.demo-status{padding:3px 5px;color:#425d19;background:#d7f0718c;font-family:var(--font-mono);font-size:7px;font-weight:700;letter-spacing:.06em}.demo-status.is-live{color:#e6eee9;background:var(--forest-light)}.activity-panel>footer{padding:15px 20px 17px;background:#ece9df;border-top:1px solid var(--line)}.activity-panel>footer>span{font-family:var(--font-mono);font-size:8px;font-weight:700;letter-spacing:.08em}.activity-panel>footer small{display:block;color:var(--ink-faint);font-family:var(--font-mono);font-size:7px}.lifecycle-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin:9px 0 7px}.lifecycle-steps i{height:3px;background:var(--line)}.lifecycle-steps i.is-current{background:var(--forest-light)}.capacity-indicator{min-width:280px}.capacity-indicator>span{font-family:var(--font-mono);font-size:9px;letter-spacing:.07em}.capacity-indicator>span strong{color:var(--forest-light);font-family:var(--font-display);font-size:23px}.capacity-track{height:5px;margin:7px 0 5px;overflow:hidden;background:var(--line)}.capacity-track i{display:block;width:25%;height:100%;background:var(--forest-light)}.capacity-indicator small{color:var(--ink-faint);font-size:9px}.weather-station-card{position:relative;display:grid;grid-template-columns:1fr;margin-bottom:12px;overflow:hidden;background:var(--panel);border:1px solid var(--line-strong);box-shadow:0 10px 30px #18332a0f}.weather-station-card:before{position:absolute;top:0;bottom:0;left:0;width:4px;content:"";background:var(--blue)}.weather-station-card.is-stale:before{background:var(--amber)}.weather-station-card.is-error:before{background:var(--red)}.weather-station-card.is-empty{box-shadow:none}.weather-station-card.is-empty:before{background:#89989a}.electricity-meter-card:before,.electricity-meter-card.is-empty:before{background:var(--forest-light)}.electricity-meter-card.is-stale:before{background:var(--amber)}.electricity-meter-card.is-error:before{background:var(--red)}.electricity-meter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.weather-station-card>header{display:flex;flex-direction:column;gap:13px;justify-content:space-between;min-width:0;padding:20px 22px 18px 25px;background:repeating-linear-gradient(135deg,transparent 0 14px,rgb(71 125 139 / 5%) 14px 15px),#e7eff0;border-bottom:1px solid var(--line-strong)}.weather-station-card h3{margin:7px 0 0;font-family:var(--font-display);font-size:28px;font-weight:600;line-height:1}.weather-station-card header p{margin:7px 0 0;color:#5f7479;font-size:9px}.weather-station-card .quality{color:var(--ink-soft);font-family:var(--font-mono);font-size:8px;font-weight:700}.weather-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.weather-metric{min-width:0;min-height:96px;padding:17px 13px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.weather-metric:nth-child(2n){border-right:0}.weather-metric:nth-last-child(-n+2){border-bottom:0}.weather-metric>span{display:block;overflow:hidden;color:var(--ink-faint);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.weather-metric strong{display:block;margin-top:12px;font-family:var(--font-display);font-size:29px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}.weather-metric strong small{margin-left:4px;color:var(--ink-faint);font-family:var(--font-body);font-size:9px;font-weight:500}.weather-metric.is-placeholder{background:#e7eff047}.weather-metric.is-placeholder strong{color:#92a5a8}.weather-station-card>footer{display:flex;flex-direction:column;grid-column:1 / -1;gap:3px;justify-content:space-between;padding:8px 13px 8px 25px;color:var(--ink-faint);background:#eeece4;border-top:1px solid var(--line);font-family:var(--font-mono);font-size:7px}@media(min-width:621px){.weather-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.weather-metric{min-height:118px;padding:24px 16px 18px;border-bottom:1px solid var(--line)}.weather-metric:nth-child(2n){border-right:1px solid var(--line)}.weather-metric:nth-child(3n){border-right:0}.weather-metric:nth-last-child(-n+3){border-bottom:0}.electricity-meter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.electricity-meter-grid .weather-metric:nth-child(2n){border-right:0}.electricity-meter-grid .weather-metric:nth-child(odd){border-right:1px solid var(--line)}.electricity-meter-grid .weather-metric:nth-child(-n+2){border-bottom:1px solid var(--line)}.electricity-meter-grid .weather-metric:nth-last-child(-n+2){border-bottom:0}.weather-metric strong{margin-top:19px;font-size:34px}.weather-station-card>footer{flex-direction:row;gap:14px}}@media(min-width:821px){.weather-station-card{grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr)}.weather-station-card>header{border-right:1px solid var(--line-strong);border-bottom:0}}.sensor-view-tabs{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);gap:1px;margin-bottom:12px;overflow:hidden;background:var(--line-strong);border:1px solid var(--line-strong)}.sensor-view-tab{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;min-height:72px;padding:12px 18px;color:var(--ink-soft);text-align:left;background:var(--panel);border:0;transition:color .16s ease,background .16s ease}.sensor-view-tab:after{position:absolute;right:0;bottom:0;left:0;height:4px;content:"";background:transparent}.sensor-view-tab>span,.sensor-view-tab small{font-family:var(--font-mono);font-size:8px;letter-spacing:.06em}.sensor-view-tab>span{color:var(--forest-light);font-weight:700}.sensor-view-tab strong{overflow:hidden;color:var(--ink);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.sensor-view-tab small{color:var(--ink-faint);white-space:nowrap}.sensor-view-tab small b{margin-right:3px;color:inherit;font-family:var(--font-display);font-size:18px}.sensor-view-tab:hover{background:#f3f1e8}.sensor-view-tab.is-active{color:#fff;background:var(--forest)}.sensor-view-tab.is-active:after{background:var(--acid)}.sensor-view-tab.is-active>span,.sensor-view-tab.is-active small{color:#b9c8bf}.sensor-view-tab.is-active strong,.sensor-view-tab.is-active small b{color:#fff}.sensor-view-tab.is-planned:not(.is-active){background:repeating-linear-gradient(135deg,transparent 0 12px,rgb(71 125 139 / 5%) 12px 13px),#efeee7}.sensor-view-tab.is-planned>span{color:var(--blue)}.sensor-view-tab.is-planned.is-active{background:#29434a}.sensor-view-tab.is-planned.is-active:after{background:#89bac4}.planned-sensor-note{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;margin-bottom:12px;padding:16px 18px;color:#29434a;background:repeating-linear-gradient(135deg,transparent 0 14px,rgb(71 125 139 / 6%) 14px 15px),#e7eff0;border:1px dashed #71929a}.planned-sensor-note[hidden]{display:none}.planned-note-code,.planned-slot-range{font-family:var(--font-mono);font-size:8px;font-weight:700;letter-spacing:.07em;white-space:nowrap}.planned-note-code{padding:5px 7px;color:#fff;background:var(--blue)}.planned-sensor-note strong{display:block;font-size:12px}.planned-sensor-note p{max-width:820px;margin:3px 0 0;color:#5f7479;font-size:10px}.planned-slot-range{color:var(--blue);font-size:10px}.sensor-toolbar{display:grid;grid-template-columns:auto minmax(230px,1fr) auto;gap:16px;align-items:center;min-height:65px;padding:10px;background:var(--panel);border:1px solid var(--line-strong)}.sensor-filters{display:flex;min-height:42px}.sensor-filters button{min-width:105px;padding:0 12px;color:var(--ink-soft);background:transparent;border:0;border-right:1px solid var(--line);font-size:11px;font-weight:700}.sensor-filters button span{margin-left:4px;color:var(--ink-faint);font-family:var(--font-mono);font-size:8px}.sensor-filters button.is-active{color:#fff;background:var(--forest)}.sensor-filters button.is-active span{color:var(--acid)}.sensor-filters button:disabled{background:#eceae2}.sensor-search{display:flex;align-items:center;height:42px;padding:0 13px;background:#f1efe7;border:1px solid var(--line)}.sensor-search>span{margin-right:8px;color:var(--forest-light);font-size:20px}.sensor-search input{width:100%;background:transparent;border:0;outline:0;font-size:11px}.data-legend{display:flex;gap:12px;align-items:center;padding-right:6px;color:var(--ink-faint);font-size:9px}.data-legend span{display:flex;gap:5px;align-items:center;white-space:nowrap}.data-legend .legend-ok{color:var(--forest-light)}.data-legend .legend-stale{color:var(--amber)}.data-legend .legend-empty{color:var(--ink-faint)}.data-legend .legend-planned{color:var(--blue)}.data-legend.is-planned .demo-legend{color:#315c66;background:#d8e7e9}.data-legend span.demo-legend{padding:4px 6px;color:#80531b;background:#f1e5c9;font-family:var(--font-mono);font-size:7px;font-weight:700}.sensor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}.sensor-card{position:relative;min-width:0;overflow:hidden;background:var(--panel);border:1px solid var(--line-strong);box-shadow:0 8px 25px #18332a0d;transition:transform .17s ease,box-shadow .17s ease}.sensor-card:before{position:absolute;top:0;left:0;width:4px;height:54px;content:"";background:var(--forest-light)}.sensor-card.is-stale:before{background:var(--amber)}.sensor-card.is-empty{background:#f4f2eb;box-shadow:none}.sensor-card.is-empty:before{background:#aaa99f}.sensor-card.is-empty .sensor-number{color:#858b86}.sensor-card.is-empty .sensor-kind{color:#6f7772;background:#e6e5df}.sensor-card.is-planned{background:repeating-linear-gradient(135deg,transparent 0 16px,rgb(71 125 139 / 3.5%) 16px 17px),#f5f4ee;border-style:dashed;border-color:#91a7a8;box-shadow:none}.sensor-card.is-planned:before{background:var(--blue)}.sensor-card.is-planned:hover{box-shadow:0 12px 28px #29434a17}.sensor-card.is-planned .sensor-number,.sensor-card.is-planned .sensor-kind{color:var(--blue)}.sensor-card.is-planned .sensor-kind{background:#dce9e9}.sensor-card:hover{box-shadow:0 15px 34px #18332a1a;transform:translateY(-2px)}.sensor-card>header{display:flex;gap:12px;align-items:center;justify-content:space-between;min-height:69px;padding:10px 13px 10px 16px;border-bottom:1px solid var(--line)}.sensor-identity{display:flex;gap:10px;align-items:center;min-width:0}.sensor-number{color:var(--forest-light);font-family:var(--font-display);font-size:35px;font-weight:600;line-height:1}.sensor-identity h3,.sensor-identity p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sensor-identity h3{margin:0;font-size:12px}.sensor-identity p{max-width:150px;margin:2px 0 0;color:var(--ink-faint);font-size:9px}.sensor-card-tags{display:flex;flex:0 0 auto;flex-direction:column;gap:4px;align-items:flex-end}.sensor-greenhouse-zone{padding:4px 6px;color:var(--panel);background:var(--forest-light);font-family:var(--font-mono);font-size:7px;font-weight:700;letter-spacing:.05em}.sensor-kind{flex:0 0 auto;padding:5px 6px;color:var(--forest-light);background:var(--panel-green);font-family:var(--font-mono);font-size:7px;font-weight:700;letter-spacing:.05em}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr)}.metric-grid.is-co2{grid-template-columns:repeat(3,1fr);min-height:142px}.metric{min-width:0;min-height:70px;padding:11px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.metric:nth-child(3n){border-right:0}.metric:nth-last-child(-n+3){border-bottom:0}.metric>span{display:block;overflow:hidden;color:var(--ink-faint);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.metric strong{display:block;margin-top:8px;font-family:var(--font-display);font-size:25px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}.metric strong small{margin-left:3px;color:var(--ink-faint);font-family:var(--font-body);font-size:8px;font-weight:500}.metric.needs-attention{background:#f5e4d9}.metric.needs-attention strong{color:var(--red)}.metric.is-placeholder{background:#e7eff061}.metric.is-placeholder strong{color:#92a5a8;letter-spacing:.08em}.sensor-card>footer{display:flex;align-items:center;justify-content:space-between;min-height:37px;padding:8px 11px;color:var(--ink-faint);background:#eeece4;font-family:var(--font-mono);font-size:7px}.quality{display:flex;gap:5px;align-items:center}.quality.ok i{color:var(--forest-light)}.quality.stale i{color:var(--amber)}.quality.error i{color:var(--red)}.quality.unknown i{color:var(--blue)}.skeleton-card{min-height:260px;background:linear-gradient(100deg,#e8e5dc 30%,#f6f4ed,#e8e5dc 70%);background-size:300% 100%;border-color:var(--line);animation:skeleton 1.25s linear infinite}@keyframes skeleton{0%{background-position:100% 0}to{background-position:0 0}}.empty-sensors{grid-column:1 / -1;padding:70px 20px;color:var(--ink-faint);text-align:center;background:var(--panel);border:1px dashed var(--line-strong)}.empty-sensors strong{color:var(--ink-soft)}.empty-sensors p{margin:4px 0 0;font-size:11px}.sensor-pagination{display:flex;align-items:center;justify-content:space-between;min-height:59px;margin-top:12px;padding:8px 10px 8px 17px;background:var(--panel-green);border:1px solid var(--line)}.sensor-pagination>span,.sensor-pagination div span{font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.05em}.sensor-pagination div{display:flex;align-items:center}.sensor-pagination button{width:42px;height:41px;color:var(--forest);background:transparent;border:1px solid var(--line-strong)}.sensor-pagination div span{min-width:76px;text-align:center}.page-footer{display:flex;align-items:center;justify-content:space-between;min-height:83px;color:#8b9a92;background:var(--forest);margin-inline:-40px;padding:0 40px;font-family:var(--font-mono);font-size:8px;letter-spacing:.07em}.page-footer p{margin:0}.command-dialog{width:min(720px,calc(100vw - 28px));max-height:calc(100vh - 28px);padding:0;color:var(--ink);background:var(--panel);border:1px solid var(--line-strong);box-shadow:0 30px 100px #05120d6b}.command-dialog::backdrop{background:#0c1c16ba;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog-shell>header{display:flex;align-items:flex-start;justify-content:space-between;padding:24px 26px 20px;border-bottom:1px solid var(--line)}.dialog-shell h2{margin:6px 0 0;font-family:var(--font-display);font-size:38px;font-weight:600;line-height:1;text-transform:uppercase}.dialog-close{width:38px;height:38px;color:var(--ink-soft);background:transparent;border:1px solid var(--line);font-size:22px}.dialog-command-summary{display:grid;grid-template-columns:1.35fr .8fr .8fr;background:var(--line);border-bottom:1px solid var(--line);gap:1px}.dialog-command-summary>div{padding:13px 16px;background:var(--paper-deep)}.dialog-command-summary span,.json-preview>span{display:block;margin-bottom:4px;color:var(--ink-faint);font-family:var(--font-mono);font-size:8px;font-weight:700;letter-spacing:.07em}.dialog-command-summary strong{font-size:11px}.dialog-warning{margin:17px 25px 0;padding:10px 12px;color:#744621;background:#f4e4d7;border-left:3px solid var(--orange);font-size:10px}.json-preview{margin:15px 25px;padding:13px;color:#d9e6de;background:#14251e;border:1px solid #30463c}.json-preview>span{color:var(--acid)}.json-preview pre{max-height:270px;margin:10px 0 0;overflow:auto;font-family:var(--font-mono);font-size:10px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.dialog-mode-note{display:flex;gap:9px;align-items:flex-start;margin:0 25px;color:#675020}.dialog-mode-note i{flex:0 0 7px;margin-top:6px;color:var(--amber)}.dialog-mode-note p{margin:0;font-size:10px}.dialog-shell>footer{display:flex;gap:9px;justify-content:flex-end;margin-top:18px;padding:16px 25px;background:var(--paper-deep);border-top:1px solid var(--line)}.toast{position:fixed;right:24px;bottom:24px;z-index:100;max-width:min(420px,calc(100vw - 32px));padding:13px 16px;color:#fff;background:var(--forest);border-left:4px solid var(--acid);box-shadow:0 18px 50px #091b144d;font-size:11px;font-weight:700;opacity:0;pointer-events:none;transform:translateY(16px);transition:opacity .18s ease,transform .18s ease}.toast[data-tone=error]{background:#642a26;border-left-color:#f0a593}.toast.is-visible{opacity:1;transform:translateY(0)}@media(max-width:1320px){.main-content{padding-inline:28px}.hero-section{grid-template-columns:1fr;gap:35px}.hero-summary{max-width:720px}.control-layout{grid-template-columns:minmax(0,1fr) 300px}.sensor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-footer{margin-inline:-28px;padding-inline:28px}}@media(max-width:1080px){html{scroll-padding-top:90px}.app-shell{grid-template-columns:1fr}.navigation-rail{position:sticky;display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;height:76px;padding:12px 24px;border-right:0;border-bottom:1px solid #31463d}.navigation-rail:after,.rail-meta{display:none}.brand-mark{flex-basis:38px;width:38px;height:38px}.brand strong{font-size:23px}.rail-links{flex-direction:row;justify-content:flex-end;margin:0}.rail-link{grid-template-columns:auto 1fr;min-height:42px}.rail-link:before{right:9px;bottom:-17px;left:9px;width:auto;height:3px!important;opacity:0}.rail-link.is-active:before{opacity:1}.control-layout{grid-template-columns:1fr}.activity-panel{min-height:auto}.connection-strip{grid-template-columns:minmax(220px,1fr) minmax(240px,1fr) auto}.edge-service-card{grid-template-columns:minmax(240px,1fr) minmax(380px,1.4fr)}.edge-service-actions{grid-column:1 / -1;grid-template-columns:2fr 1fr 1fr}.edge-service-actions .edge-start-action{grid-column:auto}.connection-clear{grid-column:3}.activity-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 16px;max-height:310px}.empty-activity{grid-column:1 / -1;height:160px}.server-command-monitor{grid-template-columns:minmax(270px,.62fr) minmax(0,1.38fr)}.server-command-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.server-command-facts>div:nth-child(3){border-right:0}.server-command-facts>div:nth-child(n+4){border-top:1px solid var(--line)}}@media(max-width:820px){.main-content{padding-inline:18px}.connection-strip{grid-template-columns:1fr auto auto}.control-authority-strip{grid-template-columns:1fr}.connection-copy{grid-column:1 / -1}.connection-clear{grid-column:auto}.topbar{min-height:70px}.eyebrow,.status-item:first-child,.safety-note{display:none}.hero-section{padding-top:44px}.hero-copy h1{font-size:clamp(52px,13vw,80px)}.hero-summary{grid-template-columns:repeat(3,1fr)}.context-strip{grid-template-columns:repeat(2,1fr)}.context-item:nth-child(2){border-right:0}.context-item:nth-child(3){border-top:1px solid var(--line)}.quiet-button{border-top:1px solid #29463a}.section-heading{align-items:flex-start}.server-command-monitor{grid-template-columns:1fr}.server-command-feed{border-right:0;border-bottom:1px solid var(--line-strong)}.server-command-list{max-height:280px}.server-command-empty{min-height:180px}.command-tabs{display:flex;overflow-x:auto}.command-tab{flex:0 0 125px}.command-panel{padding-inline:22px}.climate-grid,.sensor-view-tabs{grid-template-columns:1fr}.planned-sensor-note{grid-template-columns:minmax(0,1fr) auto}.planned-note-code{grid-column:1 / -1;justify-self:start}.sensor-toolbar{grid-template-columns:1fr}.sensor-filters{overflow-x:auto}.data-legend{justify-content:flex-end}.page-footer{margin-inline:-18px;padding-inline:18px}}@media(max-width:620px){html{scroll-padding-top:145px}.navigation-rail{grid-template-columns:1fr;height:auto;padding:12px 14px 9px}.brand{justify-content:center}.brand-mark{display:none}.rail-links{justify-content:stretch;gap:0}.rail-link{display:flex;flex:1;justify-content:center;min-width:0;padding:0 5px;font-size:10px}.rail-index{display:none}.rail-link:before{bottom:-9px}.topbar-status{margin-left:auto}.hero-section{padding:34px 0 30px}.hero-copy h1{font-size:51px}.hero-description{font-size:13px}.hero-summary{grid-template-columns:1fr}.summary-block{display:grid;grid-template-columns:1fr auto;min-height:86px;align-items:center}.summary-block strong,.summary-block strong.summary-word{grid-row:1 / 3;grid-column:2;margin:0}.context-strip,.connection-strip{grid-template-columns:1fr;margin-bottom:55px}.connection-copy,.connection-clear{grid-column:auto}.connection-copy small{white-space:normal}.connection-action,.connection-clear{width:100%}.edge-service-card{grid-template-columns:1fr;margin-top:-31px;margin-bottom:55px;padding:18px}.edge-service-signals{grid-template-columns:1fr}.edge-service-actions{grid-column:auto;grid-template-columns:1fr}.edge-service-actions .edge-start-action{grid-column:auto}.edge-service-actions button{min-height:42px}.edge-service-safety{grid-column:auto}.context-item{border-top:1px solid var(--line);border-right:0}.context-item:first-child{border-top:0}.quiet-button{min-height:52px}.section-heading,.sensor-heading{flex-direction:column;gap:18px;align-items:stretch}.section-heading h2{font-size:42px}.read-only-note{max-width:none}.server-command-feed>header,.server-command-inspector>header{padding-inline:14px}.server-command-feed h3,.server-command-inspector h3{font-size:25px}.server-command-feed-meta{align-items:flex-start;flex-direction:column;gap:3px}.server-command-feed-meta small{text-align:left;white-space:normal}.server-command-row{grid-template-columns:22px minmax(0,1fr)}.server-command-row-state{grid-column:2;justify-self:start}.server-command-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.server-command-facts>div:nth-child(3){border-right:1px solid var(--line)}.server-command-facts>div:nth-child(2n){border-right:0}.server-command-facts>div:nth-child(n+3){border-top:1px solid var(--line)}.server-command-json{min-height:250px;padding-inline:14px}.command-panel{min-height:auto;padding:24px 14px 27px}.panel-intro{flex-direction:column;gap:12px}.field-grid.two-columns,.field-grid.three-columns,.target-grid{grid-template-columns:1fr}.action-row,.action-row.align-end{align-items:stretch;justify-content:stretch}.primary-action,.danger-action,.secondary-action{width:100%}.program-group{grid-template-columns:28px 1fr 34px}.program-group label{grid-column:2}.program-group .group-number{grid-row:1 / 4}.program-group .remove-group{grid-row:1;grid-column:3}.dose-grid{grid-template-columns:repeat(2,1fr)}.target-field{grid-template-columns:1fr 110px 45px}.runtime-values{grid-template-columns:1fr}.value-separator{display:none}.activity-list,.sensor-grid{grid-template-columns:1fr}.sensor-view-tab{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}.sensor-view-tab>span{grid-column:1 / -1}.planned-sensor-note{grid-template-columns:1fr}.planned-slot-range{justify-self:start}.sensor-filters button{flex:1 0 110px}.data-legend{justify-content:flex-start;overflow-x:auto}.sensor-pagination{flex-direction:column;gap:8px;align-items:stretch}.sensor-pagination>span{text-align:center}.sensor-pagination>div{justify-content:space-between}.page-footer{flex-direction:column;gap:5px;justify-content:center;text-align:center}.dialog-command-summary{grid-template-columns:1fr}.dialog-shell>header,.dialog-shell>footer{padding-inline:16px}.dialog-warning,.json-preview,.dialog-mode-note{margin-inline:16px}.dialog-shell>footer{flex-direction:column-reverse}}@media(max-width:820px){.connection-strip[data-auth-mode=proxy]{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
