body.locked .side,body.locked .top,body.locked .sbar,body.locked .offbar,body.locked .side-dim{visibility:hidden}
.gate-box{background:var(--surf);border:1px solid var(--edge-2);border-radius:var(--r-xl);padding:28px 26px;box-shadow:var(--lift)}
.gf{border-radius:var(--r-md);border-color:var(--edge);background:#111}
.gf:focus-within{border-color:rgba(255,140,66,.45);box-shadow:0 0 0 3px rgba(255,140,66,.08)}
.gate-go{border-radius:var(--r-sm)}
.add-err{font-size:11px;color:var(--red);min-height:16px;margin-top:6px}
.add-err:empty{min-height:0;margin:0}

.offbar{position:fixed;left:var(--sw);right:0;top:var(--th);z-index:190;display:none;padding:9px 24px;font-size:11.5px;color:var(--amber);background:rgba(23,20,12,.95);border-bottom:1px solid rgba(232,194,117,.25);backdrop-filter:blur(6px);transition:left .3s cubic-bezier(.22,1,.36,1)}
.offbar.on{display:block}
.offbar.r{color:var(--red);background:rgba(23,14,14,.95);border-bottom-color:rgba(255,110,110,.3)}
.offbar a{color:var(--accent);margin-left:8px}
body.has-off main{padding-top:calc(var(--th) + 60px)}

.sd-agent.off .sd-led{background:var(--fg-mute);box-shadow:none;animation:none}
.sd-agent.none .sd-led{background:var(--amber);box-shadow:0 0 0 3px rgba(232,194,117,.15);animation:none}
.tp-av{cursor:pointer;font:inherit;font-size:11px;font-weight:700}
.tp-av:hover{background:rgba(255,110,110,.1);border-color:rgba(255,110,110,.4);color:var(--red)}

.in-opts{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.in-opts button{font-size:10px;letter-spacing:.06em;color:var(--fg-mute);border:1px solid var(--edge);background:rgba(255,255,255,.02);border-radius:999px;padding:3px 10px}
.in-opts button.on{color:var(--green);border-color:rgba(125,211,168,.3);background:rgba(125,211,168,.06)}
.in-opts button:hover{border-color:var(--edge-2);color:var(--fg)}
.in-note{font-size:10.5px;color:var(--fg-mute);margin-top:8px}
.in-note::before{content:"// ";color:var(--accent)}
.inst.fail::before{background:var(--red)}
.fail .in-s{color:var(--red);background:rgba(255,110,110,.1)}
.inst.wait{opacity:.75}
.sch.fail{background:rgba(255,110,110,.1);color:var(--red)}
.sch.stop{background:rgba(232,194,117,.1);color:var(--amber)}
.ct.fail .cl{background:var(--red)}

.ins-done.bad{background:rgba(255,110,110,.08)}
.ins-done.bad .bn-glyph{color:var(--red);border-color:rgba(255,110,110,.4)}
.ins-done.bad .id-t{color:var(--red)}
.iln .lvl.w{color:var(--amber)}.iln .lvl.x{color:var(--red)}

.conn-state.off{background:rgba(255,255,255,.03);box-shadow:inset 0 0 0 1px var(--edge-2)}
.conn-state.off .cs-led{background:var(--fg-mute);box-shadow:none;animation:none}
.conn-state.none{background:rgba(232,194,117,.06);box-shadow:inset 0 0 0 1px rgba(232,194,117,.2)}
.conn-state.none .cs-led{background:var(--amber);box-shadow:0 0 0 4px rgba(232,194,117,.12);animation:none}
.cs-r button.danger:hover{color:var(--red);border-color:rgba(255,110,110,.4)}
.cs-r button.arm{color:var(--red);border-color:var(--red)}
.hw-url{margin:10px 0 0}
.hw-url b{color:var(--accent);font-weight:500;user-select:all}
.hw code{color:var(--accent)}
#keyBox{margin:14px 0 4px}
#keyBox.on{display:block;animation:lineIn .3s ease both}
.inst{cursor:pointer}
.inst .in-n{transition:color .2s}
.inst:hover .in-n{color:var(--accent)}
.sl-r{cursor:pointer}
.sv-id{display:flex;gap:18px;align-items:flex-end}
.sv-gb{width:56px;height:56px;font-size:16px;border-radius:var(--r-md)}
.sv-acts{display:flex;gap:8px;flex-wrap:wrap}
.pg-s .g{color:var(--green)}
.pp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pp-f{background:var(--surf);border:1px solid var(--edge);border-radius:var(--r-lg);padding:14px 16px;transition:border-color .2s,background .2s}
.pp-f.chg{border-color:rgba(255,140,66,.45);background:rgba(255,140,66,.04)}
.pp-f .fk{margin-bottom:10px}
.pp-k{font-size:9.5px;letter-spacing:0;text-transform:none;color:var(--fg-mute);font-weight:400;margin-left:auto}
.pp-f .grep,.pp-f .seg{background:#111}
.pp-tg{background:transparent;border:0;padding:2px 0}
.pp-q{margin:0 0 10px}
.pp-all{border:1px solid var(--edge);border-radius:var(--r-lg);background:var(--surf);overflow:hidden}
.pp-row{display:grid;grid-template-columns:minmax(160px,280px) minmax(0,1fr);gap:14px;align-items:center;padding:8px 14px;border-bottom:1px solid var(--edge)}
.pp-row:last-child{border-bottom:0}
.pp-row.chg{background:rgba(255,140,66,.05)}
.pp-row.chg .pp-rk{color:var(--accent)}
.pp-rk{font-size:11.5px;color:var(--fg-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pp-row .grep{padding:6px 12px;background:#111}
.pp-row input:disabled{color:var(--fg-mute);cursor:not-allowed}
.savebar{position:fixed;left:calc(var(--sw) + 24px);right:24px;bottom:46px;z-index:195;display:none;align-items:center;gap:10px;max-width:900px;margin:0 auto;padding:10px 12px 10px 18px;background:rgba(27,27,27,.97);border:1px solid rgba(255,140,66,.4);border-radius:var(--r-lg);box-shadow:0 18px 40px -12px rgba(0,0,0,.75);backdrop-filter:blur(8px);font-size:12px;animation:lineIn .25s ease both}
.savebar.on{display:flex}
.savebar #sbTxt{color:var(--accent);font-weight:600}
.savebar .sb-go{padding:8px 14px;font-size:12px}
@media (max-width:900px){.pp-grid{grid-template-columns:1fr}.pp-row{grid-template-columns:1fr;gap:6px}.sv-id{align-items:center}.savebar{left:12px;right:12px;flex-wrap:wrap}}
.empty-cta{padding:22px 4px;font-size:12px;color:var(--fg-dim)}
.empty-cta a{color:var(--accent)}
