:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0b0c;--sidebar:#101011;--panel:#151516;--panel-2:#1b1b1d;--border:#252527;--border-strong:#333336;--text:#ececee;--muted:#8b8b92;--accent:#ff7a1a;--accent-strong:#ff8f3d;--accent-soft:#ff7a1a1f;--accent-text:#1a0d02;--good:#3ccf86;--good-soft:#3ccf861f;--warn:#f0b429;--warn-soft:#f0b4291f;--bad:#f5546a;--bad-soft:#f5546a1f;--radius:12px;--radius-sm:8px;--shadow:0 1px 0 #ffffff08 inset, 0 8px 24px #00000059;-webkit-font-smoothing:antialiased;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f4f6;--sidebar:#fff;--panel:#fff;--panel-2:#f6f6f8;--border:#e4e4e8;--border-strong:#d0d0d6;--text:#17171a;--muted:#6b6b75;--accent:#f26a0a;--accent-strong:#d95c00;--accent-soft:#f26a0a1a;--accent-text:#fff;--good:#14804a;--good-soft:#14804a1a;--warn:#a86b00;--warn-soft:#a86b001a;--bad:#cf2a43;--bad-soft:#cf2a4317;--shadow:0 1px 2px #0000000d, 0 4px 16px #0000000d}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;line-height:1.45}h1{letter-spacing:-.01em;margin:0 0 1rem;font-size:1.55rem;font-weight:650}h2{margin:0;font-size:.95rem;font-weight:600}h3{margin:0 0 .4rem;font-size:1rem}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-strong)}code{background:var(--panel-2);border:1px solid var(--border);border-radius:5px;padding:.05em .4em;font-size:.85em}.muted{color:var(--muted)}.accent{color:var(--accent)}.error{color:var(--bad);margin:0}.ok{color:var(--good);margin:.4rem 0 0}.mono{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem}.pad{padding:1rem 1.25rem}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button,input,select,textarea{font:inherit;color:inherit}button,a.btn{background:var(--panel-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;color:var(--text);justify-content:center;align-items:center;gap:.4rem;padding:.45rem .85rem;font-weight:500;text-decoration:none;transition:border-color .12s,background .12s,transform 50ms;display:inline-flex}button:hover:not(:disabled),a.btn:hover{border-color:var(--accent);color:var(--text)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed}button.primary,a.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}button.primary:hover:not(:disabled),a.btn.primary:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--accent-text)}button.danger{color:var(--bad);background:0 0;border-color:#f5546a66}button.danger:hover:not(:disabled){background:var(--bad-soft);border-color:var(--bad)}.icon-btn{color:var(--muted);background:0 0;border-color:#0000;border-radius:8px;padding:.4rem}.icon-btn:hover:not(:disabled){color:var(--text);background:var(--panel-2);border-color:var(--border)}input,select,textarea{background:var(--panel-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;padding:.5rem .7rem}input::placeholder,textarea::placeholder{color:var(--muted)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}select{width:auto;padding-right:1.6rem}input[type=search]{width:16rem}input[type=checkbox]{width:auto;accent-color:var(--accent)}progress{vertical-align:middle;width:8rem;accent-color:var(--accent)}textarea{font-family:inherit}textarea.code{tab-size:2;white-space:pre;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;line-height:1.5;overflow:auto}.form{gap:.9rem;display:grid}.form label,dialog.modal label{color:var(--muted);gap:.35rem;font-size:.85rem;display:grid}label.inline{flex-direction:row;align-items:center;gap:.4rem;display:inline-flex}.row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.row.end{justify-content:flex-end}.row.between{justify-content:space-between}.shell{grid-template-columns:15.5rem 1fr;min-height:100vh;display:grid}.sidebar{background:var(--sidebar);border-right:1px solid var(--border);flex-direction:column;gap:1.2rem;height:100vh;padding:1.1rem .8rem;display:flex;position:sticky;top:0;overflow-y:auto}.brand{align-items:center;gap:.65rem;padding:0 .4rem;display:flex}.brand-mark{background:var(--accent);width:2rem;height:2rem;color:var(--accent-text);border-radius:9px;place-items:center;display:grid;box-shadow:0 4px 14px #ff7a1a59}.brand-name{letter-spacing:-.01em;font-size:1.05rem;font-weight:700}.nav-section{gap:.15rem;margin-bottom:1rem;display:grid}.nav-title{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:.2rem .65rem .45rem;font-size:.66rem;font-weight:600}.nav-link{color:var(--muted);border:1px solid #0000;border-radius:9px;align-items:center;gap:.65rem;padding:.5rem .65rem;font-weight:500;display:flex}.nav-link:hover{background:var(--panel-2);color:var(--text)}.nav-link.active{background:var(--panel-2);color:var(--text);border-color:var(--border)}.nav-link.active svg{color:var(--accent)}.sidebar-foot{border-top:1px solid var(--border);gap:.6rem;margin-top:auto;padding-top:.9rem;display:grid}.user-card{align-items:center;gap:.65rem;padding:.35rem;display:flex}.avatar{background:var(--accent-soft);width:2.1rem;height:2.1rem;color:var(--accent);border:1px solid #ff7a1a40;border-radius:9px;place-items:center;font-size:.75rem;font-weight:700;display:grid}.user-meta{min-width:0}.user-name{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.user-role{text-transform:capitalize;font-size:.75rem}.foot-actions{gap:.2rem;display:flex}.main{min-width:0}main{max-width:100rem;margin:0 auto;padding:1.75rem 2rem 3rem}@media (width<=860px){.shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--border);flex-flow:wrap;align-items:center;gap:.6rem;height:auto;padding:.7rem;position:static}.sidebar nav{order:3;gap:.2rem;width:100%;display:flex;overflow-x:auto}.nav-section{margin:0;display:flex}.nav-title{display:none}.sidebar-foot{border:0;align-items:center;margin:0 0 0 auto;padding:0;display:flex}.user-meta{display:none}main{padding:1.1rem 1rem 2rem}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.4rem;display:flex}.welcome{margin:0 0 .5rem;font-size:1.9rem}.sub{flex-wrap:wrap;align-items:center;gap:.7rem;margin:0;display:flex}.pill{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;align-items:center;gap:.4rem;padding:.15rem .6rem;font-size:.68rem;font-weight:700;display:inline-flex}.pill-good{background:var(--good-soft);color:var(--good)}.dot{width:.42rem;height:.42rem;box-shadow:0 0 0 3px color-mix(in srgb, currentColor 22%, transparent);background:currentColor;border-radius:50%}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(13.5rem,1fr));gap:1rem;margin-bottom:1rem;display:grid}a.stat-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--text);gap:.55rem;padding:1.1rem 1.15rem;transition:border-color .12s,transform .12s;display:grid}a.stat-card:hover{border-color:var(--border-strong);color:var(--text);transform:translateY(-1px)}.stat-head{align-items:center;gap:.6rem;display:flex}.stat-icon{background:var(--accent-soft);width:2rem;height:2rem;color:var(--accent);border:1px solid #ff7a1a38;border-radius:9px;place-items:center;display:grid}.stat-label{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-size:.68rem;font-weight:600}.stat-value{letter-spacing:-.02em;font-size:2rem;font-weight:700;line-height:1.1}.stat-value small{color:var(--muted);margin-left:.3rem;font-size:1rem;font-weight:500}.stat-foot{color:var(--muted);border-top:1px solid var(--border);padding-top:.55rem;font-size:.78rem}a.stat-danger .stat-icon{background:var(--bad-soft);color:var(--bad);border-color:#f5546a4d}a.stat-danger .stat-value,a.stat-danger .stat-foot{color:var(--bad)}.grid-2{grid-template-columns:1.4fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}@media (width<=960px){.grid-2{grid-template-columns:1fr}}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;padding:1.1rem 1.25rem}.panel.table-panel{margin-bottom:1rem;padding:0;overflow:hidden}.panel-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.9rem;display:flex}.table-panel .panel-head{border-bottom:1px solid var(--border);margin:0;padding:1rem 1.25rem}.meter{margin-bottom:.95rem}.meter-row{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);justify-content:space-between;margin-bottom:.4rem;font-size:.72rem;font-weight:600;display:flex}.meter-row b{color:var(--text)}.tickbar{grid-auto-columns:1fr;grid-auto-flow:column;gap:3px;height:.7rem;display:grid}.tickbar span{background:var(--panel-2);border:1px solid var(--border);border-radius:2px}.tickbar-accent span.on{background:var(--accent);border-color:var(--accent)}.tickbar-good span.on{background:var(--good);border-color:var(--good)}.tickbar-warn span.on{background:var(--warn);border-color:var(--warn)}.tickbar-bad span.on{background:var(--bad);border-color:var(--bad)}.callout{border-radius:var(--radius-sm);background:var(--panel-2);border:1px solid var(--border);color:var(--muted);flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.4rem;padding:.7rem .9rem;font-size:.82rem;display:flex}.feed{gap:.1rem;margin:0;padding:0;list-style:none;display:grid}.feed li{border-bottom:1px solid var(--border);grid-template-columns:auto 1fr auto auto;align-items:center;gap:.6rem;padding:.5rem 0;display:grid}.feed li:last-child{border:0}.feed time{font-size:.75rem}ul.plain{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}table{border-collapse:collapse;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);width:100%;box-shadow:var(--shadow);overflow:hidden}.table-panel table{box-shadow:none;border:0;border-radius:0}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:.7rem 1rem}th{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);background:color-mix(in srgb, var(--panel-2) 55%, transparent);white-space:nowrap;font-size:.66rem;font-weight:600}tbody tr:hover td{background:color-mix(in srgb, var(--panel-2) 45%, transparent)}tr:last-child td{border-bottom:0}td.row,th.row{text-align:right;white-space:nowrap;display:table-cell}td.row>*{margin-left:.4rem}td.row>:first-child{margin-left:0}.nowrap{white-space:nowrap;word-break:normal}td .muted{font-size:.8rem}main>.row.between{margin-bottom:1.1rem}main>.row.between>h1{margin:0}td a{color:var(--text);font-weight:500}td a:hover{color:var(--accent)}.badge{letter-spacing:.06em;text-transform:uppercase;background:var(--panel-2);color:var(--muted);border:1px solid var(--border);white-space:nowrap;border-radius:6px;padding:.12rem .55rem;font-size:.66rem;font-weight:700;display:inline-block}.badge-good{background:var(--good-soft);color:var(--good);border-color:#0000}.badge-warn{background:var(--warn-soft);color:var(--warn);border-color:#0000}.badge-bad{background:var(--bad-soft);color:var(--bad);border-color:#0000}.state{text-align:center;color:var(--muted);padding:2.75rem 1rem}.state h2,.state h3{color:var(--text)}.state-error{color:var(--bad)}.spinner{border:3px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;width:1.7rem;height:1.7rem;margin:3rem auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.auth-card{background:var(--panel);border:1px solid var(--border);max-width:23rem;box-shadow:var(--shadow);border-radius:16px;gap:.9rem;margin:14vh auto 0;padding:2rem;display:grid}.auth-brand{margin-bottom:.2rem;padding:0}dialog.modal{border:1px solid var(--border-strong);background:var(--panel);color:var(--text);border-radius:14px;width:min(30rem,92vw);padding:0;box-shadow:0 24px 60px #0000008c}dialog.modal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0000009e}.modal-body{gap:.9rem;padding:1.4rem;display:grid}.toasts{z-index:50;pointer-events:none;justify-items:center;gap:.5rem;display:grid;position:fixed;bottom:1rem;left:50%;transform:translate(-50%)}.toasts .toast{pointer-events:auto}.toast{background:var(--panel);border:1px solid var(--border-strong);border-left:3px solid var(--good);box-shadow:var(--shadow);border-radius:10px;max-width:24rem;padding:.65rem 1rem}.toast-error{border-left-color:var(--bad)}.tabs{border-bottom:1px solid var(--border);gap:.25rem;margin:1.1rem 0;display:flex}.tab{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:.55rem .9rem}.tab:hover:not(:disabled){color:var(--text);border-color:#0000;border-bottom-color:var(--border-strong)}.tab.active{border-bottom-color:var(--accent);color:var(--accent)}.kv{grid-template-columns:10rem 1fr;gap:.55rem 1rem;margin:1rem 0;display:grid}.kv dt{color:var(--muted)}.kv dd{min-width:0;margin:0}.tiles{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.tile{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:.8rem 1rem}.tile>.muted:first-child{letter-spacing:.09em;text-transform:uppercase;font-size:.66rem;font-weight:600}.tile-value{margin:.15rem 0;font-size:1.4rem;font-weight:650}.logbar{margin-bottom:.6rem}.logbox{color:#d8dae0;border:1px solid var(--border);border-radius:var(--radius);white-space:pre-wrap;word-break:break-all;background:#08080a;height:60vh;margin:0;padding:.85rem;font:.78rem/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:auto}.logbox.short{height:auto;max-height:16rem}.log-err{color:#ff8a80}.log-ts{color:#6f7885}.action-out{margin:1rem 0}pre.error{white-space:pre-wrap;margin:.5rem 0}.prune-list{gap:.35rem;max-height:14rem;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.vol-opt{z-index:100;background:var(--panel);border:1px solid var(--bad);border-radius:10px;padding:.6rem 1rem;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%)}.code-editor{border:1px solid var(--border-strong);border-radius:var(--radius-sm);min-width:0;overflow:hidden}.code-editor:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.code-editor.lg,textarea.fallback-editor.lg{height:30rem}.code-editor.sm,textarea.fallback-editor.sm{height:14rem}.dd-flash{background:#ff7a1a38;animation:2.2s ease-out forwards ddflash}@keyframes ddflash{to{background:0 0}}.field{gap:.4rem;display:grid}.field-label{color:var(--muted);font-size:.85rem}.workbench{grid-template-columns:minmax(0,1fr) 21rem;align-items:start;gap:1rem;display:grid}.workbench.no-templates{grid-template-columns:minmax(0,1fr)}@media (width<=1100px){.workbench{grid-template-columns:minmax(0,1fr)}}.wb-status{margin:.4rem 0 0;font-size:.8rem}.tpl-panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;height:33.2rem;min-height:0;display:flex}.tpl-head{border-bottom:1px solid var(--border);gap:.6rem;padding:.9rem .9rem .6rem;display:grid}.tpl-search{background:var(--panel-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--muted);align-items:center;gap:.5rem;padding:0 .6rem;display:flex}.tpl-search input{box-shadow:none;background:0 0;border:0;width:100%;padding:.45rem 0}.tpl-search:focus-within{border-color:var(--accent)}.chips{flex-wrap:wrap;gap:.3rem;display:flex}.chip{border-color:var(--border-strong);color:var(--muted);background:0 0;border-radius:999px;padding:.15rem .6rem;font-size:.72rem}.chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.tpl-list{flex:1;align-content:start;gap:.25rem;margin:0;padding:.4rem;list-style:none;display:grid;overflow-y:auto}.tpl-card{border:1px solid #0000;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:start;gap:.65rem;padding:.55rem .6rem;display:grid}.tpl-card:hover{background:var(--panel-2);border-color:var(--border)}.tpl-avatar{background:var(--accent-soft);width:2rem;height:2rem;color:var(--accent);border:1px solid #ff7a1a40;border-radius:8px;place-items:center;font-size:.7rem;font-weight:700;display:grid}.tpl-name{font-weight:600}.tpl-image{color:var(--muted);font-size:.72rem}.tpl-desc{margin-top:.15rem;font-size:.78rem}.tpl-note{color:var(--warn);margin-top:.3rem;font-size:.72rem}.tpl-add{color:var(--accent);background:var(--accent-soft);border-color:#ff7a1a4d}.tpl-add:hover:not(:disabled){background:var(--accent);color:var(--accent-text)}.tpl-foot{border-top:1px solid var(--border);margin:0;padding:.6rem .9rem;font-size:.72rem}.env-editor{gap:.6rem;display:grid}.env-bar{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.env-bar .muted{margin-right:auto}.seg{border:1px solid var(--border-strong);border-radius:var(--radius-sm);display:inline-flex;overflow:hidden}.seg button{color:var(--muted);background:0 0;border:0;border-radius:0}.seg button.on{background:var(--accent-soft);color:var(--accent)}.env-issues{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-2);gap:.2rem;margin:0;padding:.6rem .8rem;font-size:.82rem;list-style:none;display:grid}.env-issues .error{color:var(--bad)}.env-issues .warn{color:var(--warn)}.env-table td{padding:.45rem .8rem}.env-table td input{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem}.env-table td.row{flex-wrap:nowrap;justify-content:flex-end;gap:.1rem}tr.env-dupe td{background:var(--warn-soft)}tr.env-add td{background:color-mix(in srgb, var(--panel-2) 60%, transparent)}.env-addrow{grid-template-columns:1fr 1.4fr auto;gap:.5rem;margin-top:.75rem;display:grid}textarea.fallback-editor{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.lead{max-width:60rem;margin:-.4rem 0 1.1rem}.card-grid{grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));gap:1rem;display:grid}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:.7rem;min-width:0;padding:1rem 1.1rem;transition:border-color .12s;display:flex}.card:hover,.card:focus-within{border-color:var(--border-strong)}.card-head{align-items:center;gap:.7rem;display:flex}.card-title{flex:1;min-width:0;display:grid}.card-title strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.card-title .mono{text-overflow:ellipsis;white-space:nowrap;word-break:normal;font-size:.72rem;overflow:hidden}.card-facts{grid-template-columns:auto 1fr;gap:.25rem .9rem;margin:0;font-size:.85rem;display:grid}.card-facts dt{color:var(--muted)}.card-facts dd{overflow-wrap:anywhere;min-width:0;margin:0}.card-status{font-size:.8rem}.card-actions{border-top:1px solid var(--border);flex-wrap:wrap;gap:.4rem;margin-top:auto;padding-top:.4rem;display:flex}.card-actions button{padding:.3rem .65rem;font-size:.82rem}.small{font-size:.78rem}.sdot{color:var(--muted);align-items:center;gap:.45rem;display:inline-flex}.sdot i{background:var(--muted);border-radius:50%;width:.5rem;height:.5rem}.sdot-good{color:var(--good)}.sdot-good i{background:var(--good);box-shadow:0 0 0 3px color-mix(in srgb, var(--good) 22%, transparent)}.sdot-warn{color:var(--warn)}.sdot-warn i{background:var(--warn)}.sdot-bad{color:var(--bad)}.sdot-bad i{background:var(--bad)}.help{margin:-.3rem 0 0;font-size:.8rem}ul.issues{border-radius:var(--radius-sm);background:var(--warn-soft);color:var(--warn);margin:0;padding:.6rem .9rem .6rem 1.6rem;font-size:.8rem}.tpl-image-form{grid-template-columns:1fr auto;gap:.4rem;display:grid}.tpl-image-form input{font-size:.8rem}.env-switch{position:relative}.env-btn{text-align:left;background:var(--panel-2);border-color:var(--border);justify-content:space-between;width:100%;padding:.55rem .7rem}.env-btn-text{gap:.1rem;min-width:0;display:grid}.env-label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.62rem;font-weight:600}.env-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.env-name .sdot{color:var(--text)}.env-menu{z-index:40;background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--radius-sm);gap:.1rem;padding:.3rem;display:grid;position:absolute;top:calc(100% + .35rem);left:0;right:0;box-shadow:0 12px 32px #00000073}.env-menu a{color:var(--text);border-radius:7px;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .6rem;text-decoration:none;display:flex}.env-menu a:hover,.env-menu a.on{background:var(--panel-2)}.env-menu a.on{box-shadow:inset 2px 0 0 var(--accent)}.env-menu .sdot{color:var(--text)}.env-kind{font-size:.7rem}.env-menu .env-all{color:var(--accent);border-top:1px solid var(--border);border-radius:0 0 7px 7px;margin-top:.2rem;padding-top:.6rem}.card-last{border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.last-note{margin-left:auto}.card-actions a.btn{padding:.3rem .65rem;font-size:.82rem}.env-btn svg{flex:none;transition:transform .15s;transform:rotate(90deg)}.env-btn[aria-expanded=true] svg{transform:rotate(-90deg)}@media (width<=860px){.sidebar{align-content:flex-start;row-gap:.5rem}.sidebar nav{white-space:nowrap}.nav-link{white-space:nowrap;padding:.4rem .6rem}.env-switch{flex:100%;order:2}.brand,.sidebar-foot{order:1}.sidebar nav{order:3}}dialog.modal:has(.access-form){width:min(40rem,94vw)}.access-form fieldset{border:1px solid var(--border);border-radius:10px;gap:.4rem;padding:.6rem .9rem;display:grid}.access-form legend{color:var(--muted);padding:0 .3rem;font-size:.8rem}.grant-row{grid-template-columns:minmax(8rem,1.2fr) minmax(7rem,1fr) 6.5rem auto;align-items:center;gap:.4rem;display:grid}.grant-row input[aria-invalid=true]{border-color:var(--bad)}@media (width<=560px){.grant-row{grid-template-columns:1fr 1fr}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.filter-bar{flex-wrap:wrap;align-items:center;gap:.6rem .8rem;margin:0 0 1.1rem;display:flex}.fb-search{border:1px solid var(--border-strong);background:var(--panel);color:var(--muted);border-radius:9px;flex:14rem;align-items:center;gap:.45rem;min-width:min(18rem,100%);max-width:26rem;padding:0 .65rem;display:flex}.fb-search input{background:0 0;border:0;outline:none;flex:1;min-width:0;padding:.5rem 0}.fb-search:focus-within{border-color:var(--accent)}.chip{cursor:pointer}.chip-count{opacity:.75;font-variant-numeric:tabular-nums}.view-toggle{gap:.25rem;margin-left:auto;display:inline-flex}.link-btn{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:.2rem .3rem;text-decoration:underline}.th-sort{font:inherit;color:inherit;cursor:pointer;text-transform:inherit;letter-spacing:inherit;background:0 0;border:0;padding:0}th.sel,td.sel{width:2rem}.action-menu{display:inline-block;position:relative}.kebab{padding:.25rem .6rem;font-size:1.1rem;line-height:1}.menu{z-index:30;background:var(--panel);border:1px solid var(--border-strong);min-width:11rem;box-shadow:var(--shadow);border-radius:10px;padding:.3rem;display:grid;position:absolute;top:calc(100% + .25rem);right:0}.menu>a,.menu>button{text-align:left;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:.5rem .7rem;text-decoration:none}.menu>a:hover,.menu>button:hover:not(:disabled),.menu>:focus-visible{background:var(--panel-2);outline:none}.menu .danger{color:var(--bad)}.skeleton{min-height:7rem}.sk{background:linear-gradient(90deg, var(--panel-2), var(--border), var(--panel-2));background-size:200% 100%;border-radius:6px;height:.8rem;animation:1.4s linear infinite sk;display:block}.sk-title{width:55%;height:1rem}.sk-short{width:35%}.sk-row{height:2.4rem;margin-bottom:.5rem}@keyframes sk{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.sk{animation:none}}.groups{gap:1.4rem;display:grid}.group-head{align-items:baseline;gap:.8rem;margin:0 0 .6rem;display:flex}.group-toggle{color:var(--text);font-size:1rem;font-weight:700;text-decoration:none}.chip.port{font-family:var(--mono,ui-monospace, monospace);text-decoration:none}a.chip.port:hover{border-color:var(--accent);color:var(--accent)}.bulk-bar{background:var(--accent-soft);border:1px solid var(--accent);border-radius:10px;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 .8rem;padding:.55rem .8rem;display:flex}.bulk-results{background:var(--panel);border:1px solid var(--border-strong);border-radius:10px;margin:0 0 .8rem;padding:.7rem .9rem}.bulk-results ul{margin:.4rem 0 0;padding-left:1.1rem;list-style:none}.size-bar{background:var(--panel-2);border-radius:3px;min-width:4rem;height:4px;margin-top:.25rem;display:block;overflow:hidden}.size-bar b{background:var(--accent);height:100%;display:block}.table-wrap{border-radius:var(--radius);overflow-x:auto}.table-wrap>table{min-width:42rem}.tagcol{min-width:15rem}dialog.modal:has(.wizard){width:min(40rem,94vw)}.steps{color:var(--muted);flex-wrap:wrap;gap:.4rem .9rem;margin:0 0 .4rem;padding:0;font-size:.78rem;list-style:none;display:flex}.steps .on{color:var(--accent);font-weight:700}.code-block{background:var(--panel-2);border:1px solid var(--border);white-space:pre-wrap;word-break:break-all;-webkit-user-select:all;user-select:all;border-radius:9px;margin:0;padding:.7rem .85rem;font:.78rem/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.checklist{color:var(--muted);gap:.3rem;margin:0;padding-left:1.1rem;font-size:.85rem;display:grid}.row-grid{grid-template-columns:1fr 6rem;gap:.6rem;display:grid}.wizard textarea{width:100%;font-family:ui-monospace,monospace;font-size:.75rem}dialog.modal label.inline,.form label.inline{flex-direction:row;align-items:center;gap:.5rem;display:inline-flex}.env-banner{border:1px solid var(--bad);background:var(--bad-soft);color:var(--text);border-radius:10px;margin:0 0 1rem;padding:.7rem 1rem;font-size:.9rem}.env-banner a{color:var(--accent)}.lint-notes{border:1px solid var(--border-strong);background:var(--panel);border-radius:10px;margin:.8rem 0;padding:.7rem .9rem;font-size:.88rem}.lint-notes.has-warn{border-color:var(--warn);background:var(--warn-soft)}.lint-notes ul{gap:.25rem;margin:.4rem 0 0;padding-left:1.1rem;display:grid}.lint-warning{color:var(--warn);font-weight:700}.lint-info{color:var(--muted);font-weight:700}.tpl-remote{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.shell-bar{align-items:center;gap:.8rem;min-height:2rem;margin:0 0 .5rem;display:flex}.shell-term{border:1px solid var(--border-strong);background:#0b0b0e;border-radius:10px;height:min(62vh,36rem);padding:.6rem .7rem;overflow:hidden}.shell-term .xterm{height:100%}.shell-bar .spacer{flex:1}.row-grid2{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}@media (width<=560px){.row-grid2{grid-template-columns:1fr}}.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}
