.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}:root{--bg:#f6f7f9;--panel:#fff;--text:#1c2330;--muted:#667085;--border:#dde1e7;--accent:#2563eb;--accent-text:#fff;--ok:#15803d;--ok-bg:#dcfce7;--bad:#b42318;--bad-bg:#fee4e2;--warn:#9a6700;--warn-bg:#fef3c7;--muted-bg:#eef0f3;--code-bg:#0f172a;--code-text:#e2e8f0;--radius:6px;--k8s:#326ce5;--docker:#1d7fd6;--podman:#892ca0;color:var(--text);background:var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1115;--panel:#171a21;--text:#e6e8ec;--muted:#9aa3b2;--border:#2a2f3a;--accent:#3b82f6;--ok:#4ade80;--ok-bg:#12301f;--bad:#f87171;--bad-bg:#3a1618;--warn:#fbbf24;--warn-bg:#3a2c0b;--muted-bg:#232833;--k8s:#7aa2f7;--docker:#5cb2f0;--podman:#c98ad9}@media (prefers-color-scheme:dark){:root:not([data-theme]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1115;--panel:#171a21;--text:#e6e8ec;--muted:#9aa3b2;--border:#2a2f3a;--accent:#3b82f6;--ok:#4ade80;--ok-bg:#12301f;--bad:#f87171;--bad-bg:#3a1618;--warn:#fbbf24;--warn-bg:#3a2c0b;--muted-bg:#232833;--k8s:#7aa2f7;--docker:#5cb2f0;--podman:#c98ad9}}*{box-sizing:border-box}body{margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{margin:0 0 4px;font-size:20px}h2{margin:0 0 12px;font-size:16px}h3{margin:16px 0 8px;font-size:14px}code,pre,.mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12.5px}.wrap-50{word-break:break-all;max-width:50ch}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--panel);border-bottom:1px solid var(--border);z-index:10;align-items:center;gap:16px;height:48px;padding:0 20px;display:flex;position:sticky;top:0}.topbar .brand{color:var(--text);white-space:nowrap;align-items:center;gap:10px;font-weight:600;display:inline-flex}.topbar .brand:hover{text-decoration:none}.brand-logo{width:auto;height:40px;display:block}:root[data-theme=dark] .brand-logo{filter:invert()}@media (prefers-color-scheme:dark){:root:not([data-theme]) .brand-logo{filter:invert()}}.topbar .menu{display:contents}.topbar .brand{order:0}.topbar nav{order:1}.topbar .spacer{order:2}.topbar .live{order:3}.topbar .prefs{order:4}.topbar .user{white-space:nowrap;order:5}.topbar .signout{white-space:nowrap;order:6}.menu-toggle,.brand-short,.show-sm{display:none}.topbar nav{gap:4px;display:flex}.topbar nav a{border-radius:var(--radius);color:var(--muted);padding:6px 10px}.topbar nav a.active{color:var(--text);background:var(--muted-bg)}.topbar .spacer{flex:1}.topbar .user{color:var(--text)}.live{border-radius:10px;padding:2px 8px;font-size:12px}.live.on{color:var(--ok);background:var(--ok-bg)}.live.off{color:var(--warn);background:var(--warn-bg)}main{flex:1;width:100%;max-width:1400px;margin:0 auto;padding:20px}footer{color:var(--muted);text-align:right;padding:8px 20px;font-size:12px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:16px;overflow-x:auto}.page-head{flex-wrap:wrap;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.page-head .grow{flex:1;min-width:200px}.page-head .sub{color:var(--muted);font-size:13px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.muted{color:var(--muted)}.small{font-size:12px}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.right{margin-left:auto}.crumbs{color:var(--muted);margin-bottom:4px;font-size:13px}.crumbs a{color:var(--muted)}button,.button{font:inherit;border-radius:var(--radius);border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;white-space:nowrap;padding:6px 12px}button:hover:not(:disabled){border-color:var(--muted)}button:disabled{opacity:.5;cursor:default}button.primary,.button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}button.danger{color:var(--bad);border-color:var(--bad)}button.link{color:var(--accent);background:0 0;border:none;padding:4px}button.small,.button.small{padding:3px 8px;font-size:12px}.pager{justify-content:flex-end;align-items:center;gap:4px;margin:6px 0;display:flex}.pager button.icon{justify-content:center;align-items:center;padding:4px 6px;display:inline-flex}.pager-page{color:var(--muted);align-items:center;gap:6px;margin:0 4px;font-size:13px;display:inline-flex}.pager-page input{text-align:center;appearance:textfield;width:4.5em;padding:3px 6px}.pager-page input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pager-page input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.pager button.spinning svg{animation:.8s linear infinite pager-spin}@keyframes pager-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.pager button.spinning svg{animation:none}}a.button{text-align:center;text-decoration:none;display:inline-block}input,select,textarea{font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);color:var(--text);padding:6px 8px}input[type=checkbox]{width:auto}textarea{width:100%}.field{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.field .label{font-size:13px;font-weight:500}.field .hint{color:var(--muted);font-size:12px}.field input,.field select,.field textarea{width:100%}.check{align-items:center;gap:6px;margin-bottom:12px;display:flex}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:8px 10px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:12px;font-weight:500}tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--muted-bg)}td.actions{white-space:nowrap;text-align:right}td.actions button{margin-left:4px}td.volume-actions{white-space:normal;max-width:280px}td.volume-actions button{margin:2px 0 2px 4px}.badge{border-radius:10px;padding:1px 8px;font-size:12px;font-weight:500;display:inline-block}.badge.ok{color:var(--ok);background:var(--ok-bg)}.badge.bad{color:var(--bad);background:var(--bad-bg)}.badge.warn{color:var(--warn);background:var(--warn-bg)}.badge.muted{color:var(--muted);background:var(--muted-bg)}.role{color:var(--muted);border:1px solid var(--border);border-radius:10px;padding:0 6px;font-size:12px}.error{background:var(--bad-bg);color:var(--bad);border-radius:var(--radius);align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;display:flex}.warning{background:var(--warn-bg);color:var(--warn);border-radius:var(--radius);margin-bottom:12px;padding:8px 12px}.info{background:var(--muted-bg);border-radius:var(--radius);margin-bottom:12px;padding:8px 12px}.loading,.empty{color:var(--muted);text-align:center;padding:24px}.tabs{border-bottom:1px solid var(--border);gap:2px;margin-bottom:16px;display:flex}.tabs button{color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:8px 14px}.tabs button.active{color:var(--text);border-bottom-color:var(--accent)}.modal-backdrop{z-index:50;background:#0006;justify-content:center;align-items:flex-start;padding-top:10vh;display:flex;position:fixed;inset:0}.modal{background:var(--panel);border-radius:var(--radius);flex-direction:column;width:min(520px,94vw);max-height:80vh;display:flex;box-shadow:0 10px 40px #0000004d}.modal.wide{width:min(900px,96vw)}.modal-head{border-bottom:1px solid var(--border);align-items:center;padding:12px 16px;display:flex}.modal-head h2{flex:1;margin:0}.modal-body{padding:16px;overflow:auto}.modal-foot{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.confirm{align-items:center;gap:6px;display:inline-flex}.confirm>span{color:var(--muted);font-size:12px}.copybox{flex-wrap:wrap;align-items:flex-start;gap:8px;margin-bottom:12px;display:flex}.copybox .label{width:100%;font-size:13px;font-weight:500}.copybox textarea{resize:vertical;flex:1;font-family:ui-monospace,Menlo,monospace;font-size:12px}pre.json{background:var(--code-bg);color:var(--code-text);border-radius:var(--radius);max-height:70vh;margin:0;padding:12px;overflow:auto}.login{max-width:360px;margin:12vh auto}.login h1{margin-bottom:16px}.tree{margin:0;padding-left:0;list-style:none}.tree .tree{border-left:1px dashed var(--border);margin-left:8px;padding-left:20px}.tree-node{margin:4px 0}.node-name{align-items:center;gap:8px;padding:4px 0;font-weight:600;display:flex}.env-row{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);grid-template-columns:32px minmax(180px,1.5fr) 90px minmax(120px,1fr) 120px 110px;align-items:center;gap:12px;margin:4px 0;padding:8px 10px;display:grid}.env-row:hover{border-color:var(--muted)}.env-row .name{font-weight:500}.env-title{align-items:center;gap:10px;display:flex}.env-icon{color:var(--muted);flex:none;justify-content:center;align-items:center;display:inline-flex}.env-icon svg{width:100%;height:100%}.env-icon img{object-fit:contain;border-radius:4px;width:100%;height:100%}.env-icon.kubernetes{color:var(--k8s)}.env-icon.docker{color:var(--docker)}.env-icon.podman{color:var(--podman)}.counts{color:var(--muted);font-size:12px}.counts b{color:var(--text);font-weight:600}@media (width<=900px){.env-row{grid-template-columns:32px 1fr auto}.env-row .hide-narrow{display:none}main{padding:12px}}.kv{grid-template-columns:max-content 1fr;gap:6px 16px;display:grid}.kv dt{color:var(--muted)}.kv dd{overflow-wrap:anywhere;margin:0}.grid2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;display:grid}.labels{flex-wrap:wrap;gap:4px;display:flex}.labels code{background:var(--muted-bg);border-radius:4px;padding:1px 6px}.logbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px;display:flex}.logview{background:var(--code-bg);color:var(--code-text);border-radius:var(--radius);white-space:pre-wrap;word-break:break-all;height:60vh;padding:8px 10px;font-family:ui-monospace,Menlo,monospace;font-size:12.5px;line-height:1.45;overflow:auto}.logview .stderr{color:#fca5a5}.logview .system{color:#93c5fd}.logview mark{color:#000;background:#facc15}.logview .ts{color:#64748b}.terminal{border-radius:var(--radius);background:#000;height:65vh;padding:6px}.terminal-status{color:var(--muted);margin-top:6px;font-size:12px}.editor{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.editor .cm-editor{height:420px}.editor .cm-editor.cm-focused{outline:none}.envtable input{font-family:ui-monospace,Menlo,monospace;font-size:12.5px}.deploy-output{height:45vh}.pw{width:100%;display:block;position:relative}.pw input{width:100%;padding-right:38px}.pw-eye{color:var(--muted);background:0 0;border:none;align-items:center;padding:4px 8px;display:inline-flex;position:absolute;top:50%;right:2px;transform:translateY(-50%);min-height:0!important}.pw-eye:hover:not(:disabled){color:var(--text)}.pw-eye[aria-pressed=true]{color:var(--accent)}.auth-links{flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:12px;font-size:13px;display:flex}.prefs{align-items:center;gap:4px;display:inline-flex}.prefs select,.prefs button{padding:3px 6px;font-size:12px}.seg{border:1px solid var(--border);border-radius:var(--radius);display:inline-flex;overflow:hidden}.seg button{background:var(--panel);color:var(--muted);border:none;border-radius:0;padding:3px 8px}.seg button+button{border-left:1px solid var(--border)}.seg button.on{background:var(--muted-bg);color:var(--text)}.login-prefs{position:fixed;top:12px;right:16px}@media (width<=1023px){.topbar{gap:10px;padding:0 12px}.brand-full{display:none}.brand-logo{height:36px}.brand-short{display:inline}.topbar .live{order:6;margin-left:auto}.menu-toggle{order:7;padding:6px 10px;font-size:18px;line-height:1;display:inline-flex}.topbar .menu{display:none}.topbar .menu.open{background:var(--panel);border-bottom:1px solid var(--border);flex-direction:column;align-items:stretch;gap:4px;padding:8px 12px 14px;display:flex;position:absolute;top:48px;left:0;right:0;box-shadow:0 8px 20px #00000026}.menu.open nav{flex-direction:column;gap:2px}.menu.open nav a,.menu.open .user{border-radius:var(--radius);padding:10px 12px}.menu.open .spacer{display:none}.menu.open .prefs{gap:8px;padding:8px 12px}.menu.open .signout{text-align:left;padding:10px 12px}}@media (width<=860px){main{padding:10px}h1{font-size:18px}.panel{padding:12px;overflow-x:auto}.page-head{gap:8px;margin-bottom:12px}.page-head>input,.page-head>.grow{width:100%}.page-head>button{flex:1}.grid2{gap:12px;grid-template-columns:minmax(0,1fr)!important}.hide-sm{display:none!important}.show-sm{display:block}.tabs{flex-wrap:wrap;row-gap:0}.tabs button{padding:8px 10px}button,.button{min-height:36px}button.small{min-height:32px}button.link{min-height:0}input,select,textarea{font-size:16px}.row>input{flex:100%}th,td{padding:8px 6px}td.actions{white-space:normal}td.actions button,td.actions .confirm{margin:2px 0 2px 4px}.confirm{flex-wrap:wrap;justify-content:flex-end}.kv{grid-template-columns:minmax(0,1fr);gap:2px}.kv dt{margin-top:8px}.logbar{gap:8px}.logbar .right{width:100%;margin-left:0}.logview{height:55vh;font-size:12px}.terminal{height:55vh}.editor .cm-editor{height:340px}.deploy-output{height:40vh}.modal-backdrop{align-items:stretch;padding-top:0}.modal,.modal.wide{border-radius:0;width:100vw;max-height:100dvh}.modal-foot{flex-wrap:wrap}.modal-foot button,.modal-foot .button{flex:1}table.cards thead{display:none}table.cards,table.cards tbody{display:block}table.cards tr{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 8px;padding:10px 0;display:grid}table.cards tr:last-child{border-bottom:none}table.cards td{border:none;min-width:0;padding:0;display:block}table.cards td:first-child,table.cards td[colspan]{grid-column:1/-1}table.cards td.actions{text-align:right;grid-column:2}table.cards td[colspan]{margin:0 -2px;padding:6px 8px}table.cards tbody tr:hover{background:0 0}table.cards .mono{word-break:break-all}.login{margin:72px 12px 0}.login-prefs{right:12px}.envtable td{padding:4px 2px}footer{text-align:center}}
