/**
 * Copyright (c) 2014 The xterm.js authors. All rights reserved.
 * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
 * https://github.com/chjj/term.js
 * @license MIT
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Originally forked from (with the author's permission):
 *   Fabrice Bellard's javascript vt100 for jslinux:
 *   http://bellard.org/jslinux/
 *   Copyright (c) 2011 Fabrice Bellard
 *   The original design remains. The terminal itself
 *   has been extended to include xterm CSI codes, among
 *   other features.
 */

/**
 *  Default styles for xterm.js
 */

.xterm {
    cursor: text;
    position: relative;
    user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
}

.xterm.focus,
.xterm:focus {
    outline: none;
}

.xterm .xterm-helpers {
    position: absolute;
    top: 0;
    /**
     * The z-index of the helpers must be higher than the canvases in order for
     * IMEs to appear on top.
     */
    z-index: 5;
}

.xterm .xterm-helper-textarea {
    padding: 0;
    border: 0;
    margin: 0;
    /* Move textarea out of the screen to the far left, so that the cursor is not visible */
    position: absolute;
    opacity: 0;
    left: -9999em;
    top: 0;
    width: 0;
    height: 0;
    z-index: -5;
    /** Prevent wrapping so the IME appears against the textarea at the correct position */
    white-space: nowrap;
    overflow: hidden;
    resize: none;
}

.xterm .composition-view {
    /* TODO: Composition position got messed up somewhere */
    background: #000;
    color: #FFF;
    display: none;
    position: absolute;
    white-space: nowrap;
    z-index: 1;
}

.xterm .composition-view.active {
    display: block;
}

.xterm .xterm-viewport {
    /* On OS X this is required in order for the scroll bar to appear fully opaque */
    background-color: #000;
    overflow-y: scroll;
    cursor: default;
    position: absolute;
    right: 0;
    left: 0;
    top: 0;
    bottom: 0;
}

.xterm .xterm-screen {
    position: relative;
}

.xterm .xterm-screen canvas {
    position: absolute;
    left: 0;
    top: 0;
}

.xterm-char-measure-element {
    display: inline-block;
    visibility: hidden;
    position: absolute;
    top: 0;
    left: -9999em;
    line-height: normal;
}

.xterm.enable-mouse-events {
    /* When mouse events are enabled (eg. tmux), revert to the standard pointer cursor */
    cursor: default;
}

.xterm.xterm-cursor-pointer,
.xterm .xterm-cursor-pointer {
    cursor: pointer;
}

.xterm.column-select.focus {
    /* Column selection mode */
    cursor: crosshair;
}

.xterm .xterm-accessibility:not(.debug),
.xterm .xterm-message {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    z-index: 10;
    color: transparent;
    pointer-events: none;
}

.xterm .xterm-accessibility-tree:not(.debug) *::selection {
  color: transparent;
}

.xterm .xterm-accessibility-tree {
  font-family: monospace;
  user-select: text;
  white-space: pre;
}

.xterm .xterm-accessibility-tree > div {
  transform-origin: left;
  width: fit-content;
}

.xterm .live-region {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.xterm-dim {
    /* Dim should not apply to background, so the opacity of the foreground color is applied
     * explicitly in the generated class and reset to 1 here */
    opacity: 1 !important;
}

.xterm-underline-1 { text-decoration: underline; }
.xterm-underline-2 { text-decoration: double underline; }
.xterm-underline-3 { text-decoration: wavy underline; }
.xterm-underline-4 { text-decoration: dotted underline; }
.xterm-underline-5 { text-decoration: dashed underline; }

.xterm-overline {
    text-decoration: overline;
}

.xterm-overline.xterm-underline-1 { text-decoration: overline underline; }
.xterm-overline.xterm-underline-2 { text-decoration: overline double underline; }
.xterm-overline.xterm-underline-3 { text-decoration: overline wavy underline; }
.xterm-overline.xterm-underline-4 { text-decoration: overline dotted underline; }
.xterm-overline.xterm-underline-5 { 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;
    position: absolute;
    top: 0;
    right: 0;
    pointer-events: none;
}

.xterm-decoration-top {
    z-index: 2;
    position: relative;
}



/* Derived from vs/base/browser/ui/scrollbar/media/scrollbar.css */

/* xterm.js customization: Override xterm's cursor style */
.xterm .xterm-scrollable-element > .scrollbar {
    cursor: default;
}

/* Arrows */
.xterm .xterm-scrollable-element > .scrollbar > .scra {
	cursor: pointer;
	font-size: 11px !important;
}

.xterm .xterm-scrollable-element > .visible {
	opacity: 1;

	/* Background rule added for IE9 - to allow clicks on dom node */
	background:rgba(0,0,0,0);

	transition: opacity 100ms linear;
	/* In front of peek view */
	z-index: 11;
}
.xterm .xterm-scrollable-element > .invisible {
	opacity: 0;
	pointer-events: none;
}
.xterm .xterm-scrollable-element > .invisible.fade {
	transition: opacity 800ms linear;
}

/* Scrollable Content Inset Shadow */
.xterm .xterm-scrollable-element > .shadow {
	position: absolute;
	display: none;
}
.xterm .xterm-scrollable-element > .shadow.top {
	display: block;
	top: 0;
	left: 3px;
	height: 3px;
	width: 100%;
	box-shadow: var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset;
}
.xterm .xterm-scrollable-element > .shadow.left {
	display: block;
	top: 3px;
	left: 0;
	height: 100%;
	width: 3px;
	box-shadow: var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset;
}
.xterm .xterm-scrollable-element > .shadow.top-left-corner {
	display: block;
	top: 0;
	left: 0;
	height: 3px;
	width: 3px;
}
.xterm .xterm-scrollable-element > .shadow.top.left {
	box-shadow: var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset;
}

:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;color-scheme:light;--bg:#edf2f3;--text:#23343a;--muted:#4f646d;--quiet:#556971;--line:rgba(63,88,99,.11);--glass:rgba(255,255,255,.56);--glass-strong:rgba(255,255,255,.76);--inset:rgba(243,248,249,.58);--edge:rgba(255,255,255,.94);--accent:#226c61;--accent-wash:rgba(37,117,101,.10);--track:rgba(48,84,98,.09);--shadow:0 8px 30px -14px rgba(46,74,88,.20),inset 0 1px 0 rgba(255,255,255,.85);--warning:#a86424;--warning-wash:rgba(180,119,46,.1);--offline:#849198;--focus:#137c78;--dialog:rgba(240,246,247,.95);--chart:#4a998b;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;transition:background-color .2s,color .2s}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}button:disabled{cursor:default}button,a,input,select,dialog{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--focus)}a{color:inherit;text-decoration:none}button{border:0}button svg{pointer-events:none}button,input,select{-webkit-appearance:none;appearance:none}button{background:none}svg{display:block}input{min-width:0}::selection{background:rgba(94,174,167,.25)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:20px;top:-70px;z-index:100;padding:12px 20px;background:var(--glass-strong);border:1px solid var(--line);border-radius:12px}.skip-link:focus{top:16px}.ambient{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:-1;background:linear-gradient(125deg,#e5ecea 0%,#ecf2f6 48%,#e9e6e0 100%)}.orb{position:absolute;border-radius:50%;filter:blur(65px);opacity:.52}.orb-one{width:650px;height:600px;background:radial-gradient(ellipse,#aed4d0 0%,#bcd7da 36%,transparent 72%);top:-340px;left:-140px}.orb-two{width:880px;height:840px;right:-430px;top:120px;background:radial-gradient(ellipse,#c2d4df 0%,#b3cdda 40%,transparent 72%)}.orb-three{width:800px;height:800px;left:9%;bottom:-500px;background:radial-gradient(ellipse,#e3ccac,transparent 70%);opacity:.48}.glass-ribbon{position:absolute;width:430px;height:980px;border:1px solid rgba(255,255,255,.4);border-radius:240px;transform:rotate(-32deg);background:linear-gradient(90deg,rgba(255,255,255,.05),rgba(255,255,255,.2) 45%,rgba(255,255,255,.45) 49%,rgba(255,255,255,.03) 56%);box-shadow:inset 8px 0 32px rgba(255,255,255,.2),14px 0 55px rgba(109,139,150,.06)}.ribbon-one{top:-540px;right:-40px}.ribbon-two{left:-230px;bottom:-660px;transform:rotate(35deg);opacity:.6}.site-shell{width:min(1280px,calc(100% - 96px));margin:auto}.topbar{height:104px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:12px;font-size:22px;font-weight:650;letter-spacing:-.75px;line-height:1}.brand-mark{width:39px;height:39px;display:grid;place-items:center;color:var(--accent);background:linear-gradient(135deg,rgba(255,255,255,.85),rgba(242,255,253,.36));border:1px solid var(--edge);box-shadow:var(--shadow);border-radius:13px}.brand-mark svg{width:28px}.topbar-actions{display:flex;align-items:center;gap:22px}.demo-label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}.demo-label>span{height:5px;width:5px;border-radius:50%;background:var(--quiet)}.icon-button{display:grid;place-items:center;flex:none;min-width:38px;width:38px;height:38px;border:1px solid var(--line);border-radius:12px;background:var(--glass);transition:background .18s,transform .18s}.icon-button:hover{background:var(--glass-strong);transform:translateY(-1px)}.icon-button svg{width:18px;height:18px;color:var(--muted)}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;padding:37px 0 25px;gap:20px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.1px;color:var(--quiet);margin-bottom:8px}h1{display:flex;align-items:center;gap:12px;font-size:28px;letter-spacing:-.7px;line-height:1.35;margin:0;font-weight:620}.node-total{display:inline-grid;place-items:center;font-size:12px;letter-spacing:0;min-width:27px;height:25px;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-weight:500;background:var(--glass)}.status-overview{display:flex;gap:20px;align-items:center;color:var(--muted);font-size:12px;padding-bottom:6px}.status-overview>span{display:flex;align-items:center;gap:6px;white-space:nowrap}.status-overview strong{font-size:13px;color:var(--text);font-weight:550;font-variant-numeric:tabular-nums}.status-dot{display:inline-block;height:6px;width:6px;flex:none;border-radius:50%;background:var(--offline);font-style:normal}.status-dot.online{background:#348976;box-shadow:0 0 0 3px rgba(62,140,120,.08)}.glass,.server-card{background:var(--glass);border:1px solid var(--edge);box-shadow:var(--shadow);backdrop-filter:blur(26px) saturate(1.2);-webkit-backdrop-filter:blur(26px) saturate(1.2)}.toolbar{border-radius:17px;padding:9px 10px;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:58px}.status-tabs{display:flex;gap:3px;flex:none}.tab{display:flex;gap:8px;align-items:center;padding:8px 14px;border-radius:10px;font-size:12px;color:var(--muted);white-space:nowrap;min-height:36px}.tab span{font-size:10px;font-variant-numeric:tabular-nums;opacity:.7}.tab.active{background:var(--glass-strong);box-shadow:0 2px 7px rgba(38,65,76,.06),inset 0 0 0 1px var(--edge);color:var(--text);font-weight:600}.tab:hover:not(.active){background:var(--inset)}.filter-controls{display:flex;align-items:center;gap:10px}.search-field{display:flex;align-items:center;gap:9px;padding:0 12px;background:var(--inset);border:1px solid var(--line);border-radius:10px;height:36px;width:242px}.search-icon svg,.region-icon svg,.sort-icon svg{width:15px;height:15px;color:var(--quiet)}.search-field input{width:100%;border:0;background:transparent;color:var(--text);font-size:12px;padding:6px 0;outline:none}.search-field:focus-within{outline:2px solid var(--focus);outline-offset:2px}.search-field input::placeholder{color:var(--quiet)}.search-field kbd{display:grid;place-items:center;min-width:17px;height:20px;border:1px solid var(--line);border-radius:4px;color:var(--quiet);font-family:inherit;font-size:11px}.select-wrap{position:relative;display:flex;align-items:center;gap:7px;height:36px;min-width:121px;padding-left:11px;border-left:1px solid var(--line)}.select-wrap select{background:transparent;border:0;color:var(--muted);padding:8px 24px 8px 0;font-size:12px;width:100%;cursor:pointer}.select-wrap option{color:var(--text);background:var(--bg)}.select-chevron{position:absolute;right:7px;pointer-events:none}.select-chevron svg{width:12px;color:var(--quiet)}.list-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 2px 13px;color:var(--muted);font-size:11px}.refresh-control{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px;padding:4px 0;min-height:26px}.refresh-icon svg{width:12px;height:12px}.refresh-time{color:var(--quiet);font-variant-numeric:tabular-nums;border-left:1px solid var(--line);padding-left:8px;margin-left:2px}.server-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}.server-card{border-radius:23px;padding:23px 23px 0;overflow:hidden;position:relative;min-width:0;transition:transform .2s,box-shadow .2s,background .2s}.server-card:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);background:linear-gradient(135deg,rgba(255,255,255,.16),transparent 50%);z-index:-1}.server-card:hover{transform:translateY(-3px);background:var(--glass-strong);box-shadow:0 15px 35px -16px rgba(46,74,88,.25),inset 0 1px 0 var(--edge)}.card-heading{display:flex;align-items:center;gap:11px}.flag-wrap{height:39px;width:39px;display:grid;place-items:center;background:var(--glass-strong);box-shadow:0 1px 4px rgba(53,82,94,.06);border:1px solid var(--edge);border-radius:13px;flex:none}.flag-wrap svg{width:23px;height:16px;border-radius:3px;box-shadow:0 0 0 .5px rgba(0,0,0,.08)}.node-identity{flex:1;min-width:0}.node-title{margin:0;font-size:15px;letter-spacing:-.3px;font-weight:620;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-title button{padding:0;text-align:left;font-weight:inherit;max-width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.node-title button:hover{color:var(--accent)}.node-location{font-size:10.5px;color:var(--muted);margin:3px 0 0;letter-spacing:.2px}.status-badge{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--accent);background:var(--accent-wash);border-radius:7px;padding:4px 7px;white-space:nowrap}.status-badge.is-offline{color:var(--muted);background:var(--track)}.status-badge .status-dot{width:4px;height:4px;box-shadow:none}.hardware-row{display:flex;align-items:center;gap:6px;margin-top:21px;color:var(--muted);font-size:10.5px;white-space:nowrap}.hardware-row svg{width:13px;height:13px;flex:none}.cpu-model{overflow:hidden;text-overflow:ellipsis}.core-count{font-size:10px;color:var(--quiet);margin-left:auto;padding-left:6px;font-variant-numeric:tabular-nums}.cpu-block{margin-top:15px;display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.metric-label{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--muted);font-weight:450}.metric-label svg{width:13px;height:13px}.cpu-value{font-size:31px;font-weight:490;font-variant-numeric:tabular-nums;letter-spacing:-1.2px;line-height:1.3;margin-top:4px}.cpu-value .unit{font-size:14px;letter-spacing:0;margin-left:4px;color:var(--muted);font-weight:450}.cpu-value.warning{color:var(--warning)}.sparkline{width:112px;height:43px;color:var(--chart);margin-bottom:5px;overflow:visible}.sparkline.warning{color:var(--warning)}.spark-fill{fill:currentColor;opacity:.07}.spark-line{fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.sparkline-offline{width:110px;height:40px;display:grid;place-items:center;font-size:10px;color:var(--quiet);border-bottom:1px dashed var(--line);margin-bottom:9px}.resource-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:17px}.resource-value{margin-top:8px;white-space:nowrap;font-size:17px;letter-spacing:-.45px;font-weight:550;font-variant-numeric:tabular-nums}.resource-value .resource-total{font-size:10px;color:var(--muted);letter-spacing:0;font-weight:400;margin-left:4px}.resource-caption{display:flex;align-items:center;justify-content:space-between;margin-top:6px;font-size:10px;color:var(--muted);gap:5px}.metric-meter{display:block;width:100%;height:5px;margin-top:10px;border:none;appearance:none;-webkit-appearance:none;background:var(--track);border-radius:4px;overflow:hidden}.metric-meter::-webkit-meter-bar{background:var(--track);border:0;border-radius:4px;height:5px;box-shadow:none}.metric-meter::-webkit-meter-optimum-value{background:#66a699;border-radius:4px}.metric-meter::-moz-meter-bar{background:#66a699;border-radius:4px}.metric-meter.warning::-webkit-meter-optimum-value{background:#c49b64}.metric-meter.warning::-moz-meter-bar{background:#c49b64}.metric-meter.offline-meter::-webkit-meter-optimum-value{background:transparent}.metric-meter.offline-meter::-moz-meter-bar{background:transparent}.swap-row{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding:13px 0;margin-top:18px;font-size:10px;color:var(--muted);min-height:43px}.swap-label{display:flex;align-items:center;gap:6px}.swap-label svg{height:12px;width:12px;color:var(--quiet)}.swap-usage{font-variant-numeric:tabular-nums}.swap-none{color:var(--quiet)}.swap-warning{color:var(--warning)}.card-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 -23px;padding:10px 23px;background:rgba(255,255,255,.14);border-top:1px solid var(--line);font-size:10px;color:var(--quiet)}.uptime{display:flex;align-items:center;gap:5px}.uptime svg{width:11px;height:11px}.detail-link{display:flex;align-items:center;gap:3px;font-size:10px;color:var(--muted);padding:3px 0;min-height:25px}.detail-link:hover{color:var(--accent)}.detail-link svg{width:12px;height:12px}.server-card.is-offline{background:rgba(255,255,255,.32)}.server-card.is-offline .flag-wrap svg{filter:saturate(.45)}.server-card.is-offline .cpu-value{color:var(--quiet)}.empty-state{text-align:center;padding:66px 24px;border-radius:23px}.empty-icon{display:grid;place-items:center;margin:0 auto 17px;width:52px;height:52px;border:1px solid var(--edge);background:var(--inset);border-radius:17px;color:var(--muted)}.empty-icon svg{width:25px;height:25px}.empty-state h2{margin:0;font-size:18px;font-weight:550}.empty-state p{font-size:12px;color:var(--muted);margin:10px 0 24px;overflow-wrap:anywhere}.secondary-button{padding:9px 17px;border-radius:10px;background:var(--glass-strong);border:1px solid var(--line);font-size:12px}.footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:30px 2px 27px;color:var(--muted);font-size:10px}.footer>span{display:flex;align-items:center;gap:7px}.footer-dot{width:4px;height:4px;background:var(--quiet);border-radius:50%;display:inline-block}.footer-version{font-size:9px;border:1px solid var(--line);border-radius:5px;padding:1px 4px;color:var(--quiet)}.node-dialog{padding:0;border:1px solid var(--edge);color:var(--text);background:var(--dialog);width:min(590px,calc(100vw - 32px));max-height:calc(100dvh - 48px);border-radius:27px;box-shadow:0 35px 100px rgba(21,41,50,.22),inset 0 1px 0 var(--edge);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);overscroll-behavior:contain}.node-dialog::backdrop{background:rgba(34,55,64,.25);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.dialog-inner{padding:23px 28px 28px}.dialog-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.dialog-eyebrow{display:flex;gap:10px;align-items:center;font-size:11px;color:var(--muted)}.dialog-header{display:flex;gap:13px;align-items:center;margin-bottom:23px}.dialog-header h2{font-size:22px;font-weight:570;letter-spacing:-.6px;line-height:1.4;margin:0}.dialog-header .flag-wrap{width:49px;height:49px;border-radius:16px}.dialog-header .status-badge{margin-left:auto}.detail-hardware{display:grid;grid-template-columns:1fr 1fr;gap:17px 20px;padding:18px;background:var(--inset);border:1px solid var(--line);border-radius:15px}.detail-hardware dl{margin:0}.detail-hardware dt{color:var(--muted);font-size:10px;margin-bottom:5px}.detail-hardware dd{font-size:12px;margin:0;overflow-wrap:anywhere}.detail-chart{margin:23px 0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px}.section-heading h3{font-size:12px;font-weight:550;margin:0}.section-heading>span{color:var(--muted);font-size:10px}.detail-chart svg{width:100%;height:100px;border-bottom:1px solid var(--line);color:var(--chart);background:repeating-linear-gradient(to top,transparent 0,transparent 24px,var(--line) 24px,var(--line) 25px)}.chart-axis{display:flex;justify-content:space-between;font-size:9px;color:var(--quiet);margin-top:7px}.detail-resource-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:21px 0}.detail-resource-row .resource-block{padding:14px 16px;border:1px solid var(--line);border-radius:13px;background:var(--inset)}.disk-list{padding:0;margin:0;list-style:none}.disk-item{padding:13px 0;border-top:1px solid var(--line)}.disk-row{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:11px}.disk-row strong{font-weight:500;color:var(--text)}.dialog-notice{font-size:11px;color:var(--muted);padding:16px;border-radius:13px;background:var(--inset);border:1px solid var(--line);margin:20px 0}.noscript{position:fixed;bottom:10px;left:10px;padding:15px;background:#fff;color:#222;border:1px solid #ccc;border-radius:12px}
[data-theme="dark"]{color-scheme:dark;--bg:#111d26;--text:#e1ebef;--muted:#b2c3cc;--quiet:#a4b6bf;--line:rgba(177,206,220,.11);--glass:rgba(35,53,65,.48);--glass-strong:rgba(44,65,77,.71);--inset:rgba(18,35,46,.33);--edge:rgba(188,219,232,.13);--accent:#8dd4be;--accent-wash:rgba(108,188,163,.10);--track:rgba(164,191,206,.11);--shadow:0 10px 30px -14px rgba(0,0,0,.34),inset 0 1px 0 rgba(209,234,246,.09);--warning:#e4ba7c;--warning-wash:rgba(220,165,87,.1);--offline:#8c9ca6;--focus:#90dcce;--dialog:rgba(29,47,59,.97);--chart:#80bfaf}[data-theme="dark"] .ambient{background:linear-gradient(125deg,#152a2f,#152330 47%,#202c35)}[data-theme="dark"] .orb-one{background:radial-gradient(ellipse,#24585b,transparent 70%);opacity:.7}[data-theme="dark"] .orb-two{background:radial-gradient(ellipse,#355b72,transparent 70%);opacity:.45}[data-theme="dark"] .orb-three{background:radial-gradient(ellipse,#515e51,transparent 70%);opacity:.3}[data-theme="dark"] .glass-ribbon{opacity:.1}[data-theme="dark"] .brand-mark{background:linear-gradient(135deg,rgba(115,179,171,.18),rgba(113,155,176,.04))}[data-theme="dark"] .server-card:before{background:linear-gradient(135deg,rgba(197,236,249,.03),transparent 50%);box-shadow:none}[data-theme="dark"] .server-card.is-offline{background:rgba(33,49,60,.35)}[data-theme="dark"] .card-footer{background:rgba(0,0,0,.05)}[data-theme="dark"] .status-dot.online{background:#83bea5}[data-theme="dark"] .server-card:hover{box-shadow:0 16px 35px -14px rgba(0,0,0,.35),inset 0 1px 0 var(--edge)}[data-theme="dark"] .node-dialog::backdrop{background:rgba(3,13,21,.45)}
@media(min-width:1550px){.site-shell{width:min(1360px,calc(100% - 120px))}.server-card{padding:26px 27px 0}.card-footer{margin:0 -27px;padding:11px 27px}.resource-grid{margin-top:21px}.swap-row{margin-top:20px}}
@media(max-width:1150px){.site-shell{width:calc(100% - 64px)}.server-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.search-field{width:204px}.toolbar{flex-wrap:wrap;gap:9px}.filter-controls{flex:1;justify-content:flex-end}.select-wrap{min-width:115px}.server-card{padding:24px 24px 0}.card-footer{margin:0 -24px;padding:10px 24px}}
@media(max-width:850px){.toolbar{padding:10px}.status-tabs{width:100%;padding-bottom:8px;border-bottom:1px solid var(--line)}.tab{flex:1;justify-content:center}.filter-controls{width:100%;gap:7px}.search-field{flex:1}.page-heading{padding-top:28px}.server-grid{gap:15px}.topbar{height:88px}.select-wrap{min-width:114px}.node-title{font-size:14px}.server-card{padding:21px 19px 0}.card-footer{margin:0 -19px;padding:10px 19px}.resource-grid{gap:15px}}
@media(max-width:600px){.site-shell{width:calc(100% - 36px)}.topbar{height:80px}.brand{font-size:20px;gap:9px}.brand-mark{height:34px;width:34px;border-radius:11px}.topbar-actions{gap:12px}.demo-label{font-size:10px}.icon-button{height:34px;width:34px;min-width:34px;border-radius:10px}.page-heading{padding:26px 0 21px}.eyebrow{font-size:9px;letter-spacing:1.6px;margin-bottom:8px}h1{font-size:25px;gap:10px}.status-overview{gap:11px;font-size:10px;padding-bottom:4px}.status-overview>span{gap:5px}.status-overview strong{font-size:11px}.status-dot{width:5px;height:5px}.toolbar{border-radius:16px}.filter-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}.search-field{grid-column:1/-1;width:100%;height:38px}.select-wrap{min-width:0;border-left:0;padding-left:10px;background:var(--inset);border:1px solid var(--line);border-radius:9px;height:35px}.select-wrap select{padding-right:23px}.list-caption{padding:18px 2px 12px;font-size:10px}.refresh-control{font-size:10px;gap:5px}.refresh-time{font-size:9px;padding-left:6px}.server-grid{grid-template-columns:minmax(0,1fr);gap:16px}.server-card{padding:23px 23px 0;border-radius:23px}.node-title{font-size:16px}.node-location{font-size:11px}.hardware-row{font-size:11px;margin-top:20px}.cpu-block{margin-top:13px}.cpu-value{font-size:32px}.sparkline{width:126px;height:43px}.resource-grid{margin-top:17px;gap:30px}.resource-value{font-size:18px}.resource-value .resource-total{font-size:11px}.resource-caption{font-size:10px}.swap-row{font-size:11px;padding:13px 0}.card-footer{margin:0 -23px;padding:10px 23px}.footer{padding:25px 2px;flex-wrap:wrap;font-size:9px;gap:12px}.dialog-inner{padding:20px}.node-dialog{border-radius:23px}.dialog-header h2{font-size:20px}.detail-hardware{gap:15px;padding:15px}.detail-resource-row{gap:10px}.detail-resource-row .resource-block{padding:12px}.empty-state{padding:50px 20px}}
@media(max-width:360px){.site-shell{width:calc(100% - 26px)}.status-overview{gap:9px}.resource-grid{gap:15px}.server-card{padding-left:18px;padding-right:18px}.card-footer{margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px}.refresh-time{display:none}.dialog-header h2{font-size:18px}.detail-resource-row{grid-template-columns:1fr}.dialog-inner{padding:17px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.server-card:hover,.icon-button:hover{transform:none}}
@media(prefers-reduced-transparency:reduce){.ambient{display:none}.glass,.server-card,.server-card.is-offline,.node-dialog{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--bg)}.node-dialog::backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(forced-colors:active){.ambient{display:none}.server-card,.toolbar,.node-dialog,.status-badge,.icon-button{border:1px solid CanvasText}.metric-meter{forced-color-adjust:none}.status-dot{background:CanvasText}.sparkline{color:CanvasText}.brand-mark{border:1px solid CanvasText}}
.admin-badge{padding:6px 10px;border:1px solid var(--line);border-radius:8px;font-size:10px;background:var(--accent-wash);color:var(--accent)}.admin-ip-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line)}.admin-ip-row>span{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px}.admin-ip-row svg{width:12px;height:12px}.admin-ip-row code{font-size:11px;overflow-wrap:anywhere}.ssh-button{display:flex;align-items:center;gap:5px;color:var(--accent);font-size:10px;padding:5px 8px;background:var(--accent-wash);border-radius:7px}.primary-button,.danger-button{display:inline-flex;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:9px 15px;border-radius:10px;background:#286b61;border:1px solid rgba(255,255,255,.12);color:#fff;font-size:12px}.primary-button:hover{background:#205b53}.primary-button:disabled,.danger-button:disabled{opacity:.6;cursor:wait}.primary-button svg,.secondary-button svg{height:15px;width:15px}.secondary-button{display:inline-flex;justify-content:center;align-items:center;gap:7px}.danger-button{background:#9d4646}.dialog-top h2{font-size:20px;letter-spacing:-.5px;font-weight:580;margin:0}.form-field{display:flex;flex-direction:column;gap:8px;font-size:11px;font-weight:500;margin-bottom:18px;color:var(--muted)}.form-field input,.form-field select{width:100%;padding:11px 12px;min-height:42px;border:1px solid var(--line);border-radius:10px;background:var(--glass);color:var(--text);font-size:13px;outline-offset:2px}.form-field input::placeholder{color:var(--quiet);font-size:11px}.form-field select{appearance:auto}.form-field input:focus,.form-field select:focus{outline:2px solid var(--focus)}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ip-columns{grid-template-columns:1fr 112px}.form-error{color:#a43838;font-size:12px;min-height:0;margin:10px 0;overflow-wrap:anywhere}.form-error:empty{display:none}.form-submit{width:100%;margin-top:8px}.form-subtitle{color:var(--muted);font-size:12px;margin:10px 0 28px}.form-footnote{color:var(--muted);font-size:11px;line-height:1.7;margin:15px 0 0}.form-notice{font-size:11px;line-height:1.7;padding:13px 14px;border:1px solid var(--line);background:var(--inset);border-radius:11px;color:var(--muted)}.login-dialog{max-width:410px}.login-dialog .dialog-inner{padding:22px 30px 30px}.login-symbol{display:grid;place-items:center;width:49px;height:49px;border-radius:16px;border:1px solid var(--edge);background:var(--accent-wash);color:var(--accent);margin:5px 0 22px}.login-symbol svg{width:25px;height:25px}.login-dialog h2{font-size:24px;font-weight:580;letter-spacing:-.7px;line-height:1.4;margin:0}.login-dialog .form-footnote{text-align:center;margin-top:20px}.check-field{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--text);cursor:pointer}.check-field input{appearance:auto;width:16px;height:16px;accent-color:var(--accent)}.advanced-fields{border-top:1px solid var(--line);padding:14px 0;margin:1px 0 10px}.advanced-fields summary{font-size:11px;color:var(--muted);cursor:pointer;margin-bottom:14px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.compact-dialog{max-width:430px}.compact-dialog p{font-size:13px;overflow-wrap:anywhere}.compact-dialog .form-footnote{font-size:11px}.admin-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:36px 0 27px}.admin-heading-actions{display:flex;gap:10px}.admin-layout{display:grid;grid-template-columns:174px minmax(0,1fr);gap:23px}.admin-nav{border-radius:19px;padding:9px;height:max-content;display:flex;flex-direction:column;gap:4px}.admin-nav-item{display:flex;align-items:center;gap:10px;padding:12px 13px;border-radius:11px;font-size:12px;color:var(--muted);text-align:left}.admin-nav-item svg{width:16px;height:16px}.admin-nav-item.active{background:var(--glass-strong);color:var(--accent);box-shadow:0 1px 6px rgba(30,60,70,.04)}.admin-nav-item:hover{background:var(--inset)}.admin-content{min-width:0;min-height:520px}.admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.stat-tile{padding:18px 19px;border-radius:18px}.stat-tile>span{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted)}.stat-tile svg{width:14px;height:14px}.stat-tile strong{display:block;font-size:28px;line-height:1.5;font-weight:500;letter-spacing:-1px;margin-top:5px}.admin-box{border-radius:21px;padding:24px;min-width:0;margin-bottom:20px}.admin-section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px}.admin-section-heading h2{margin:0;font-size:17px;font-weight:590;letter-spacing:-.3px}.admin-section-heading p{font-size:11px;color:var(--muted);margin:7px 0 0}.table-scroll{width:100%;overflow:auto}.node-table{border-collapse:collapse;width:100%;font-size:11px;text-align:left;white-space:nowrap}.node-table th{font-weight:450;color:var(--muted);padding:0 14px 13px 0;border-bottom:1px solid var(--line)}.node-table td{padding:16px 14px 16px 0;border-bottom:1px solid var(--line)}.node-table td:last-child,.node-table th:last-child{padding-right:0}.node-table tr:last-child td{border-bottom:0}.admin-node-name{display:flex;align-items:center;gap:11px}.admin-node-name .flag-wrap{height:33px;width:33px;border-radius:10px}.admin-node-name .flag-wrap svg{width:21px;height:14px}.admin-node-name strong{font-size:12px;font-weight:550;display:block;max-width:180px;overflow:hidden;text-overflow:ellipsis}.admin-node-name small,.address-cell small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.address-cell code{font-size:11px}.row-actions{display:flex;gap:10px}.table-button{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:10px;padding:6px 0}.table-button svg{height:12px;width:12px}.table-button:hover{color:var(--accent)}.danger-text{color:#a95151}.connection-note{border-radius:17px;padding:18px 21px;display:flex;align-items:center;gap:13px;font-size:11px;line-height:1.7;color:var(--muted)}.connection-note svg{width:22px;height:22px;color:var(--accent);flex:none}.settings-box{max-width:720px}.settings-form{max-width:450px}.settings-form .primary-button{margin-top:25px}.security-summary{display:flex;flex-wrap:wrap;gap:10px 16px;margin-bottom:26px;padding-bottom:23px;border-bottom:1px solid var(--line)}.security-summary>span{display:flex;gap:5px;align-items:center;font-size:10px;color:var(--accent)}.security-summary svg{width:13px;height:13px}.audit-row{display:grid;grid-template-columns:150px 130px 1fr;gap:15px;font-size:11px;border-bottom:1px solid var(--line);padding:14px 0}.audit-row time,.audit-row span{color:var(--muted);overflow-wrap:anywhere}.audit-row strong{font-weight:500}.admin-empty{font-size:12px;padding:24px;text-align:center;color:var(--muted)}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);z-index:1000;background:var(--dialog);color:var(--text);border:1px solid var(--edge);border-radius:13px;padding:13px 20px;box-shadow:0 10px 35px rgba(0,0,0,.14);font-size:12px;max-width:min(520px,calc(100vw - 36px));backdrop-filter:blur(20px);line-height:1.7}.toast.is-error{color:#ab4545}.terminal-dialog{width:min(1020px,calc(100vw - 40px));padding:0;border-radius:19px;border:1px solid #394750;background:#131c23;color:#d6e2e8;max-height:calc(100dvh - 40px);box-shadow:0 30px 100px rgba(0,0,0,.4)}.terminal-dialog::backdrop{background:rgba(10,25,34,.4);backdrop-filter:blur(9px)}.terminal-dialog.is-expanded{width:calc(100vw - 28px);height:calc(100dvh - 28px);max-width:none;max-height:none}.terminal-shell{height:100%;min-height:520px;display:flex;flex-direction:column}.terminal-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;background:#202c35;border-bottom:1px solid #35424c}.terminal-heading{display:flex;align-items:center;gap:13px}.terminal-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#2b3e46;color:#a4ccc2}.terminal-mark svg{width:18px;height:18px}.terminal-heading h2{font-size:14px;letter-spacing:.1px;margin:0;font-weight:550}.terminal-heading p{font-size:10px;color:#a8b9c3;margin:4px 0 0;font-family:ui-monospace,monospace}.terminal-actions{display:flex;gap:8px}.terminal-control{color:#b8c7d0;padding:6px 9px;border-radius:7px;border:1px solid #3a4a55;font-size:10px}.terminal-control:hover{background:#30414a}.terminal-toolbar{display:flex;align-items:center;gap:15px;padding:12px 22px;border-bottom:1px solid #2b3842;font-size:10px;color:#b0c0ca}.terminal-toolbar>span:first-child{display:flex;align-items:center;gap:6px}.terminal-channel{margin-right:auto;color:#96aab7}.terminal-toolbar button{padding:5px 10px;border:1px solid #3c5c59;color:#b4d4c9;border-radius:7px;font-size:10px}.terminal-toolbar button:disabled{border-color:#32414a;color:#697f8c;cursor:default}.terminal-screen{min-height:380px;flex:1;padding:16px 20px;background:#131c23;position:relative;overflow:hidden}.terminal-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:348px;text-align:center;color:#91a5b2;gap:5px}.terminal-placeholder-icon{display:grid;place-items:center;width:51px;height:51px;border:1px solid #33454f;border-radius:15px;color:#9bc6bd;background:#1e2f37;margin-bottom:15px}.terminal-placeholder-icon svg{width:27px;height:27px}.terminal-placeholder h3{font-size:14px;font-weight:500;color:#d1dce3;margin:0}.terminal-placeholder p{font-size:11px;line-height:1.7;margin:7px 0 0;max-width:420px}.terminal-placeholder .terminal-hint{color:#b4c6cf;margin-top:16px}.terminal-footer{display:flex;justify-content:space-between;gap:15px;padding:11px 22px;border-top:1px solid #2a3943;font-size:10px;color:#93a9b7}.terminal-dialog.is-expanded .terminal-screen{min-height:0}.terminal-dialog.is-expanded .terminal-placeholder{height:100%}[data-theme="dark"] .form-error,[data-theme="dark"] .danger-text,[data-theme="dark"] .toast.is-error{color:#f0aaa6}
@media(max-width:1000px){.admin-layout{grid-template-columns:148px minmax(0,1fr);gap:17px}.admin-box{padding:20px}.admin-stats{gap:10px}.stat-tile{padding:16px}.row-actions{gap:8px}}
@media(max-width:700px){.admin-layout{grid-template-columns:minmax(0,1fr);gap:17px}.admin-nav{flex-direction:row;overflow:auto;border-radius:14px;padding:6px;gap:0}.admin-nav-item{flex:1;flex-direction:column;gap:6px;padding:10px 9px;white-space:nowrap;font-size:10px}.admin-nav-item svg{width:16px;height:16px}.admin-page-heading{padding:27px 0 20px;gap:12px}.admin-page-heading h1{font-size:24px}.admin-heading-actions{gap:7px}.admin-heading-actions button{font-size:10px;padding:8px 9px}.admin-heading-actions svg{display:none}.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:17px}.stat-tile{padding:15px 17px;border-radius:15px}.stat-tile strong{font-size:26px}.admin-box{padding:18px;border-radius:18px}.admin-section-heading{gap:10px}.admin-section-heading h2{font-size:16px}.admin-section-heading .primary-button{font-size:10px;padding:8px 10px}.admin-section-heading .primary-button svg{height:12px;width:12px}.node-table td{padding-top:15px;padding-bottom:15px}.audit-row{grid-template-columns:1fr 1fr;gap:7px}.audit-row span{grid-column:1/-1}.topbar-actions{gap:7px}.admin-badge{font-size:9px;padding:5px 6px}.admin-badge:not([hidden])~.theme-button{display:none}.form-columns{gap:11px}.ip-columns{grid-template-columns:1fr 84px}.terminal-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 30px);border-radius:15px}.terminal-shell{min-height:480px}.terminal-header{padding:14px;gap:10px}.terminal-mark{display:none}.terminal-toolbar{padding:11px 14px;gap:10px;flex-wrap:wrap}.terminal-channel{font-size:9px}.terminal-screen{padding:12px;min-height:330px}.terminal-placeholder{min-height:300px}.terminal-footer{padding:11px 14px;font-size:9px}.login-dialog .dialog-inner{padding:20px 24px 27px}}

#terminal-mount{width:100%;height:100%;min-height:280px;padding:14px 8px 8px 14px}#terminal-mount[hidden],.terminal-placeholder[hidden]{display:none}.terminal-screen{min-height:340px;height:min(58vh,660px)}.terminal-dialog.is-expanded .terminal-screen{height:calc(100dvh - 180px)}.terminal-screen .xterm{height:100%}.agent-version,.deploy-status{display:block;font-size:11px;line-height:1.5;margin-top:5px;color:var(--muted);max-width:230px}.deploy-status.failed{color:#b64a4a}.deploy-status.running{color:#557bab}.fingerprint{display:block;overflow-wrap:anywhere;font-size:12px;padding:16px 0}.terminal-actions{flex-shrink:0}@media(max-width:600px){.terminal-channel{display:none}.terminal-screen{height:55dvh}#terminal-mount{padding:10px 3px}.terminal-heading{min-width:0}.terminal-heading h2{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.terminal-heading p{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}

.form-field textarea{width:100%;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--input-bg,rgba(255,255,255,.45));color:var(--text);resize:vertical;min-height:150px;font:12px/1.7 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.command-item{display:flex;justify-content:space-between;gap:24px;padding:22px 0;border-bottom:1px solid var(--border)}.command-item:last-child{border-bottom:0}.command-info{min-width:0}.command-info strong{font-size:14px}.command-info pre{font:12px/1.65 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;max-height:120px;overflow:auto;margin:8px 0 0}.terminal-quickbar{display:flex;align-items:center;gap:10px;padding:8px 16px;background:#172233;border-bottom:1px solid #2a384a;color:#9eb0c5;font-size:11px}.terminal-quickbar select{max-width:220px;min-width:130px;background:#213047;color:#dce6f0;border:1px solid #3b4e65;border-radius:6px;padding:5px;font:inherit}.terminal-quickbar button{background:#355376;color:#e0eeff;border:1px solid #4a6b90;border-radius:6px;padding:5px 10px;cursor:pointer}.terminal-quickbar button:disabled{opacity:.4;cursor:default}#terminal-command-preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,monospace}.terminal-dialog.is-expanded .terminal-screen{height:calc(100dvh - 222px)}@media(max-width:600px){.command-item{gap:12px}.terminal-quickbar{padding:8px;gap:6px}#terminal-command-preview{display:none}.terminal-quickbar select{min-width:100px;flex:1}.terminal-quickbar label{white-space:nowrap}}

.form-field[hidden],.mfa-secret[hidden]{display:none}.mfa-secret{padding:16px;background:var(--input-bg,rgba(130,150,170,.08));border-radius:12px}.mfa-secret p,.mfa-secret small{font-size:12px;color:var(--muted)}.mfa-secret code{display:block;font-size:15px;letter-spacing:1px;overflow-wrap:anywhere;margin:12px 0}.settings-box + .settings-box{margin-top:20px}
/* A fixed outer frame prevents terminal row sizing from growing the dialog. */
.terminal-dialog{height:min(760px,calc(100dvh - 48px));overflow:hidden}.terminal-dialog .terminal-shell{height:100%;min-height:0;overflow:hidden}.terminal-header,.terminal-toolbar,.terminal-quickbar,.terminal-footer{flex:0 0 auto}.terminal-dialog .terminal-screen,.terminal-dialog.is-expanded .terminal-screen{flex:1 1 0%;height:auto;min-height:0;padding:0;overflow:hidden}.terminal-dialog #terminal-mount{height:100%;min-height:0}.terminal-dialog .terminal-placeholder{height:100%;min-height:0;padding:24px}.node-table .status-badge{display:inline-flex}.command-item{border-color:var(--line)}.form-field textarea{border-color:var(--line)}

.node-badges{display:flex;flex-direction:column;align-items:flex-end;gap:7px;flex-shrink:0}
.latency-badge{font-size:10px;line-height:1.4;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--muted);padding:2px 6px;border:1px solid var(--line);border-radius:5px;background:rgba(128,164,172,.05)}
.latency-badge.is-muted{opacity:.6}
.mfa-qr{display:block;width:248px;max-width:100%;height:auto;margin:14px auto;border-radius:8px;background:#fff;image-rendering:pixelated}
.mfa-secret code{display:block;overflow-wrap:anywhere;user-select:all}

.notification-events{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:12px 28px}.notification-events legend{font-size:12px;color:var(--muted);margin-bottom:10px}.notification-actions{display:flex;flex-wrap:wrap;gap:12px}.notification-status{padding:14px 16px;border:1px solid var(--line);border-radius:12px;overflow-wrap:anywhere}.notification-status p{font-size:12px;line-height:1.65;margin:0 0 6px;color:var(--muted)}.notification-status .table-button{margin-top:4px}.check-field[hidden]{display:none}

.notification-actions{align-items:center;margin-top:6px}.notification-actions .primary-button,.notification-actions .secondary-button{margin:0;min-height:40px}.notification-status{margin-top:18px}.notification-events{margin-bottom:8px}

.brand{min-width:0;flex:1}.brand-mark,.topbar-actions{flex-shrink:0}.brand-name{display:block;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.3}.login-site-name{min-width:0;overflow-wrap:anywhere;padding-right:12px}.footer>span{min-width:0}.footer-site-name{max-width:min(50vw,240px);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.footer-version{flex:none}

/* Files remain scoped to the existing SSH workspace. */
.terminal-dialog{width:min(1240px,calc(100vw - 64px));--file-width:264px}.terminal-workspace{position:relative;display:flex;flex:1 1 0%;min-height:0;overflow:hidden;background:#131c23}.terminal-main{display:flex;flex-direction:column;min-width:0;flex:1;overflow:hidden}.terminal-pane{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.terminal-pane[hidden],.file-editor[hidden],.file-sidebar[hidden],.file-resizer[hidden],.terminal-tabs button[hidden],.file-editor-bottom button[hidden],#file-dirty[hidden]{display:none!important}.file-sidebar{display:flex;flex-direction:column;flex:0 0 var(--file-width);width:var(--file-width);min-width:0;color:#c3d1da;background:rgba(24,36,45,.98);overflow:hidden}.file-sidebar-heading{display:flex;align-items:center;gap:8px;min-height:40px;padding:8px 13px;border-bottom:1px solid #2d3d48}.file-sidebar-heading strong{font-size:12px;font-weight:550}.file-sidebar-heading>span{font:9px ui-monospace,monospace;color:#849ba9;border:1px solid #354a55;border-radius:4px;padding:1px 4px}.file-sidebar-heading button{margin-left:auto;color:#9cb0bc;font-size:19px;line-height:1}.file-navigation{display:flex;gap:5px;padding:9px 10px 7px}.file-navigation button,.file-editor-bottom button{font-size:10px;color:#b3c9d4;border:1px solid #344c58;border-radius:6px;padding:5px 8px;white-space:nowrap}.file-navigation button:hover,.file-editor-bottom button:hover{background:#253e48}.file-navigation button:first-child{font-family:ui-monospace,monospace;min-width:25px}#file-location-form{display:flex;gap:0;margin:0 10px 9px;border:1px solid #354b58;border-radius:7px;overflow:hidden;background:#13202a}#file-path{min-width:0;width:100%;border:0;background:transparent;color:#cbd8df;padding:7px;font:11px ui-monospace,monospace}#file-location-form button{color:#abc4ce;padding:0 8px;font-size:15px}.file-tree{flex:1;min-height:0;overflow:auto;padding:2px 6px 8px;scrollbar-width:thin;scrollbar-color:#3d515d transparent}.file-tree-row{display:flex;align-items:center;min-height:30px;padding-left:calc(var(--file-depth)*13px);border-radius:5px;min-width:max-content}.file-tree-row:hover{background:#243a45}.file-expand{flex:0 0 20px;width:20px;height:28px;padding:0;color:#8fa7b4;font-size:12px}.file-tree-target{display:flex;align-items:center;gap:7px;flex:1;min-width:0;padding:6px 8px 6px 0;text-align:left;color:#c7d6df;font-size:11px;line-height:1.4}.file-tree-target svg{width:16px;height:16px;flex:none;fill:none;stroke:#84aaa9;stroke-width:1.3;stroke-linejoin:round}.file-tree-name{max-width:330px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-link-mark{font-size:11px;color:#7b9caa}.file-empty{font-size:11px;padding:6px 15px;color:#839da9}.file-load-more{color:#accdc7;font-size:10px;padding:8px 14px}.file-tree-status{flex:none;font-size:10px;line-height:1.5;overflow-wrap:anywhere;margin:0;padding:9px 12px;border-top:1px solid #2e414b;color:#8fa9b6;min-height:33px}.file-tree-status.is-error,.file-editor-bottom .is-error{color:#edb09f}.file-resizer{width:5px;flex:0 0 5px;cursor:col-resize;background:#263943;touch-action:none}.file-resizer:hover,.file-resizer:focus-visible{background:#6a9a9a}.terminal-tabs{display:flex;align-items:stretch;flex:none;height:38px;background:#1a2933;border-bottom:1px solid #2f414c;overflow:hidden}.terminal-tabs button{padding:0 14px;color:#97adba;font-size:11px;min-width:0}.terminal-tabs button.active{color:#d7e5ea;background:#13202a;box-shadow:inset 0 -2px #8cbeb5}.terminal-tabs #file-tab{display:flex;align-items:center;gap:8px;max-width:calc(100% - 125px)}#file-tab-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#file-dirty{display:block;flex:none;width:6px;height:6px;background:#d5b888;border-radius:50%}.terminal-tabs #file-close{margin-left:auto;flex:none;font-size:17px;padding:0 12px}.file-editor{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;background:#111c25}.file-editor-toolbar{display:flex;align-items:center;gap:12px;padding:10px 13px;min-height:37px;border-bottom:1px solid #263b46;color:#9fb5c1;font-size:10px;flex:none}#file-name{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,monospace}.file-editor-toolbar label{display:flex;align-items:center;gap:5px;white-space:nowrap}.file-editor-toolbar input{appearance:auto;-webkit-appearance:auto;color-scheme:dark;accent-color:#94bdb4;width:12px;height:12px}#file-content{flex:1;min-height:0;width:100%;resize:none;background:#111c25;color:#d7e3eb;border:0;outline:0;padding:16px 18px;font:12px/1.75 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;tab-size:2;border-radius:0;scrollbar-width:thin;scrollbar-color:#3d515d transparent;caret-color:#c8e6dc}#file-content:focus{box-shadow:inset 2px 0 #739e9a}#file-content:disabled{opacity:.65}.file-editor-meta{display:flex;justify-content:space-between;gap:8px;color:#7e99a9;font-size:9px;padding:7px 13px;flex:none;border-top:1px solid #243844}.file-editor-bottom{padding:10px 13px;border-top:1px solid #2d404b;flex:none;background:#192a33}.file-editor-bottom p{font-size:11px;color:#a8c8be;margin:0 0 9px;line-height:1.5;overflow-wrap:anywhere}.file-editor-bottom p:empty{display:none}.file-editor-bottom>div{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.file-editor-bottom #file-save{background:#375b59;color:#dceee8;border-color:#547b74}.file-editor-bottom button:disabled{opacity:.4;cursor:default}.file-drawer-shade{display:none}.file-discard-dialog{max-width:400px}.file-discard-dialog h2{font-size:18px}.file-discard-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.terminal-workspace button:focus-visible{outline:2px solid #96c8c0;outline-offset:-2px}.terminal-tabs [role=tab]:focus-visible{outline-offset:-3px}
@media(max-width:700px){.terminal-dialog{width:calc(100vw - 16px);height:calc(100dvh - 24px);max-height:calc(100dvh - 24px)}.file-sidebar{position:absolute;inset:0 auto 0 0;width:min(300px,86%);z-index:4;box-shadow:12px 0 30px #0004}.file-resizer{display:none!important}.files-visible .file-drawer-shade{display:block;position:absolute;inset:0;border:0;border-radius:0;background:#06101666;z-index:3}.terminal-tabs{height:36px}.file-editor-meta{font-size:9px;padding:7px 9px}.file-editor-meta>span:last-child{display:none}#file-content{padding:12px;font-size:12px}.file-editor-toolbar{padding:8px 10px}.file-editor-bottom{padding:9px 10px}.terminal-toolbar{gap:8px}.terminal-toolbar button{padding:5px 8px}.terminal-heading p{max-width:150px}.terminal-footer{gap:8px}.file-tree-row{min-height:36px}.file-tree-target{font-size:12px;padding-top:8px;padding-bottom:8px}.file-sidebar-heading{min-height:42px}}

/* Network readings and private lease details. */
.flag-wrap .country-flag{display:block;width:30px;height:20px;object-fit:contain;border-radius:2px}.network-block{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.network-heading,.network-interface-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.network-selector{max-width:64%;border:1px solid var(--line);border-radius:7px;background:var(--inset);padding:3px 8px;color:var(--muted);font-size:10px;cursor:pointer}.network-values{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:10px}.network-direction{min-width:0}.network-rate,.network-total{margin:0}.network-rate dt{font-size:10px;color:var(--muted);margin-bottom:4px}.network-rate dd{margin:0;font-size:16px;font-variant-numeric:tabular-nums;white-space:nowrap}.network-total{display:flex;flex-wrap:wrap;gap:5px;font-size:10px;color:var(--quiet);margin-top:5px}.network-total dd{margin:0;font-variant-numeric:tabular-nums}.network-empty{color:var(--quiet);font-size:11px}.detail-network{margin-top:22px}.network-interface-list{display:grid;gap:10px}.network-interface{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--inset)}.network-interface-heading strong{font-size:12px;overflow-wrap:anywhere}.network-interface-tags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;font-size:10px;color:var(--muted)}.network-interface-tags span{background:var(--glass);border:1px solid var(--line);border-radius:5px;padding:2px 6px}.admin-node-details{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.admin-node-details .detail-hardware{margin-bottom:0}.provider-link{color:var(--accent);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.lease-fields{padding:16px 0 0;margin:18px 0;border:0;border-top:1px solid var(--line);min-width:0}.lease-fields legend{font-size:12px;font-weight:600;padding-right:8px}.lease-fields legend span{font-size:10px;font-weight:400;color:var(--quiet);margin-left:6px}.lease-fields small{color:var(--quiet);font-size:10px;font-weight:400}.lease-fields .check-field{margin-top:12px}.lease-fields input[type=datetime-local]{min-width:0;width:100%}.renewal-dialog{width:min(620px,calc(100vw - 32px))}.renewal-dialog h2{font-size:19px;margin:0}#renewal-list{display:grid;gap:10px;margin:20px 0}.renewal-item{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px;border:1px solid var(--line);background:var(--inset);border-radius:12px}.renewal-item>div{min-width:0}.renewal-item strong{font-size:13px;overflow-wrap:anywhere}.renewal-item p{font-size:11px;color:var(--muted);margin:5px 0}.renewal-item small{font-size:10px;color:var(--quiet)}.renewal-item button{flex-shrink:0;font-size:11px}.renewal-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.renewal-footer>span{font-size:10px;color:var(--muted)}.expiry-due{color:var(--warning)}
@media(max-width:600px){.network-rate dd{font-size:15px}.renewal-item{align-items:stretch;flex-direction:column;gap:9px}.renewal-item button{align-self:flex-end}.network-interface-tags{gap:4px}.network-interface{padding:12px}.lease-fields .form-columns{grid-template-columns:1fr}.renewal-footer{align-items:flex-start}.renewal-footer>span{max-width:58%}}

.renewal-group{display:grid;gap:10px}.renewal-group-title{font-size:12px;font-weight:500;color:var(--muted);margin:2px 0 0}.renewal-item-actions{display:flex;flex-direction:column;gap:7px;flex-shrink:0}.renewal-item-actions .secondary-button{font-size:11px;justify-content:center;padding:7px 12px;min-height:32px}@media(max-width:600px){.renewal-item-actions{align-items:stretch}.renewal-item .renewal-item-actions button{align-self:stretch}}

.detail-resource-row>.resource-block:only-child{grid-column:1/-1}

.ops-session{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;border-bottom:1px solid var(--line,rgba(90,110,130,.15))}.ops-session p{margin:6px 0}.ops-session small{overflow-wrap:anywhere}.ops-dialog .dialog-inner{display:grid;gap:18px;max-height:85vh;overflow:auto}.recovery-codes{font:14px/1.8 ui-monospace,monospace;overflow:auto;user-select:all}.ops-session .row-actions{flex-wrap:wrap}.ops-session button{flex-shrink:0}@media(max-width:700px){.ops-session{align-items:flex-start;flex-direction:column}.recovery-codes{font-size:12px}}

.telegram-settings{max-width:none}.telegram-layout{display:grid;grid-template-columns:minmax(260px,1fr) minmax(260px,360px);gap:36px;align-items:start}.telegram-preview{padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--inset);min-width:0}.telegram-preview h3{font-size:14px;margin:0 0 6px;font-weight:600}.telegram-preview .form-footnote{margin:0 0 14px}.telegram-preview-select{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:var(--glass);color:var(--text);font:inherit;font-size:12px;margin-bottom:16px}.telegram-message{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--glass);border:1px solid var(--line);border-radius:13px 13px 4px 13px;padding:18px 16px;font-size:13px;line-height:1.7;color:var(--text);box-shadow:0 3px 12px #19384506}.telegram-message b{font-weight:600}.telegram-message i{font-size:11px;color:var(--muted);font-style:normal}.telegram-message code{font-size:12px}.telegram-open-panel{text-align:center;padding:10px;margin-top:5px;border:1px solid var(--line);border-radius:8px;font-size:12px;color:var(--accent);background:var(--glass)}.telegram-layout .notification-events{display:grid;grid-template-columns:1fr 1fr;gap:13px}.telegram-layout .check-field{line-height:1.5}
@media(max-width:1100px){.telegram-layout{grid-template-columns:1fr;gap:24px}.telegram-preview{max-width:460px;width:100%}}@media(max-width:480px){.telegram-layout .notification-events{grid-template-columns:1fr}.telegram-preview{padding:16px}}

.node-group{font-size:10px;color:var(--muted);margin:5px 0 0}.private-note{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.8;padding:14px;border:1px solid var(--line);border-radius:10px}.node-ordering{display:flex;gap:12px;margin-top:5px}.node-table tr.is-dragging{opacity:.45}.group-wrap select{max-width:150px}.filter-controls{flex-wrap:wrap}.offsite-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.offsite-list{margin-top:18px}.offsite-list strong{font-size:11px;overflow-wrap:anywhere}.inspector-dialog{width:min(960px,calc(100vw - 28px));max-width:960px}.inspector-tabs{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.inspector-tabs .active{color:var(--accent);border-color:var(--accent)}.inspector-tabs select{border:1px solid var(--line);border-radius:8px;background:var(--inset);padding:9px;color:var(--text);font-size:12px}.inspector-body{max-height:65dvh;overflow:auto;margin-top:16px}.inspector-table td:nth-child(3){white-space:normal;min-width:90px}.service-log{font:11px/1.7 ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--inset);border:1px solid var(--line);border-radius:10px;padding:15px}.inspector-dialog h3{font-size:14px;overflow-wrap:anywhere}
.terminal-dialog[open]{display:flex;flex-direction:column}.ssh-session-bar{display:flex;gap:8px;align-items:center;padding:7px 10px;flex:none;min-height:45px;background:#15212b;border-bottom:1px solid #344650}.ssh-session-tabs{display:flex;overflow:auto;flex:1;gap:5px}.ssh-session-tab{display:flex;align-items:center;flex:none;border-radius:7px;background:#233441;border:1px solid transparent}.ssh-session-tab.active{border-color:#779b99;background:#304850}.ssh-session-tab button{padding:7px;color:#c1d3db;font-size:11px;white-space:nowrap}.ssh-session-tab button:first-child{max-width:180px;overflow:hidden;text-overflow:ellipsis}.ssh-session-tab button:last-child{font-size:16px}.ssh-session-bar select{min-width:100px;max-width:150px;background:#22343e;border:1px solid #3c545f;color:#bacecf;border-radius:6px;padding:6px;font-size:11px}.ssh-session-bar>button{font-size:11px;padding:7px;color:#bbd6d1;white-space:nowrap}.ssh-session-bar>button:disabled{opacity:.4}.ssh-session-stage{flex:1;min-height:0;overflow:hidden}.ssh-session{height:100%}.file-tools{flex-wrap:wrap;padding-top:0}.file-row-action{flex:none;color:#9eb9c4;padding:5px 7px;font-size:13px}.file-transfer{display:flex;align-items:center;gap:8px;padding:9px 12px;color:#b6d7cb;font-size:10px;border-top:1px solid #345}.file-transfer[hidden]{display:none}.file-transfer span{flex:1;overflow-wrap:anywhere}.file-transfer button{border:1px solid #496;border-radius:5px;padding:3px 7px;flex:none}.file-name-dialog{max-width:420px}.file-name-dialog h2{font-size:18px}.file-name-dialog .settings-form>button{margin-right:12px}.file-tree-name{max-width:220px}
@media(max-width:700px){.ssh-session-bar{flex-wrap:wrap;gap:4px;padding:5px 8px}.ssh-session-tabs{flex-basis:100%}.ssh-session-bar select{flex:1;max-width:none}.ssh-session-tab button:first-child{max-width:145px}.node-ordering{gap:20px}.group-wrap{flex:1}.group-wrap select{max-width:none;width:100%}.inspector-dialog .dialog-inner{padding:16px}.offsite-actions button{font-size:11px}.file-row-action{padding:7px}}

/* Renewal budgeting and touch terminal controls */
.billing-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.billing-card{padding:18px;border:1px solid var(--line);background:var(--inset);border-radius:13px}.billing-card h3{margin:0 0 16px;font-size:14px}.billing-metrics{display:grid;grid-template-columns:1fr 1fr;gap:18px 12px}.billing-metrics dl{margin:0}.billing-metrics dt{font-size:11px;color:var(--muted)}.billing-metrics dd{margin:6px 0 0;font-size:15px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.billing-box .table-scroll{margin-top:22px}.renewal-item-info{flex:1}.renewal-item .form-field{font-size:11px;margin-top:10px}.renewal-item input[type=datetime-local]{font-size:12px;min-width:0}.renewal-sum{font-size:11px;color:var(--muted);line-height:1.7;margin:0 0 3px}.terminal-keybar{display:flex;gap:5px;overflow-x:auto;padding:7px 10px;background:#18252f;border-top:1px solid #344650;flex:none;scrollbar-width:thin}.terminal-keybar button{flex:none;min-width:38px;min-height:36px;padding:5px 9px;border:1px solid #3b505e;border-radius:7px;color:#dce6f0;background:#233542;font:12px ui-monospace,monospace;touch-action:manipulation;user-select:none;-webkit-user-select:none}.terminal-keybar button[aria-pressed=true]{background:#356782;border-color:#90b5c9;color:#fff}.terminal-keybar button:disabled{opacity:.4}.terminal-search{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px;background:#18252f;flex:none}.terminal-search[hidden]{display:none}.terminal-search input{flex:1;min-width:100px;background:#121b29;color:#dce6f0;border:1px solid #3b505e;border-radius:6px;padding:7px}.terminal-search button{background:#233542;color:#dce6f0;border:1px solid #3b505e;border-radius:5px;padding:7px}.terminal-search span{font-size:11px;color:#e9ae96}@media(max-width:700px){.terminal-keybar{padding:6px;gap:4px}.terminal-keybar button{min-width:36px;min-height:40px;padding:5px 8px}.terminal-search input{font-size:16px}.terminal-dialog{overscroll-behavior:contain}.billing-cards{grid-template-columns:1fr}}

.terminal-dialog.is-compact-terminal .terminal-header,.terminal-dialog.is-compact-terminal .terminal-quickbar,.terminal-dialog.is-compact-terminal .ssh-session-bar>select,.terminal-dialog.is-compact-terminal .ssh-session-bar>button{display:none}.terminal-dialog.is-compact-terminal .ssh-session-bar{min-height:38px;flex-wrap:nowrap;padding:4px 7px}.terminal-dialog.is-compact-terminal .terminal-toolbar{padding:5px 9px}.terminal-dialog.is-compact-terminal .terminal-tabs{min-height:32px}.terminal-dialog.is-compact-terminal .terminal-footer{padding:5px 10px;font-size:9px}

.file-code-editor{flex:1;min-height:0;overflow:hidden;color:inherit;position:relative}
.file-editor .file-editor-top{flex-wrap:wrap}
.file-code-editor .cm-editor.cm-focused{outline:none}
.file-diff-dialog{width:min(850px,95vw);padding:24px;max-height:85dvh;color:var(--text)}
.file-diff-dialog>p{overflow-wrap:anywhere}
.file-diff-content{max-height:55dvh;overflow:auto;font:12px/1.6 ui-monospace,monospace;border:1px solid #8883;border-radius:8px;padding:12px}
.file-diff-content pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}
.diff-added{background:#31844e25;color:#2c8a4b}.diff-removed{background:#c3443820;color:#d16a61}
.cm-search{display:flex;flex-wrap:wrap;gap:6px}
.file-code-editor .cm-search button{color:inherit}
.terminal-keybar button{touch-action:manipulation}


.file-transfer-queue{flex:none;max-height:210px;overflow:auto;border-top:1px solid #8883;padding:10px;font-size:12px}
.file-transfer-queue>strong{font-weight:500}
.file-transfer-job{display:flex;flex-wrap:wrap;align-items:center;gap:5px;padding:7px 0;border-bottom:1px solid #8882}
.file-transfer-job>span{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file-transfer-job>small{flex:1;min-width:80px;overflow-wrap:anywhere}
.file-transfer-job button{font-size:11px;padding:3px 7px;border:1px solid #8883;border-radius:4px;color:inherit;background:transparent}
@media(max-width:700px){.file-code-editor .cm-search input{max-width:130px}}

.file-code-editor .cm-search .cm-button{background:transparent;border:1px solid #8884;border-radius:5px;padding:3px 8px;color:inherit;font:inherit}
.file-code-editor .cm-search input{border:1px solid #8885;border-radius:5px;padding:4px 6px}
.file-code-editor .cm-panel.cm-search{padding:8px;gap:5px;font-size:12px}
.file-code-editor .cm-search label{display:inline-flex;align-items:center;gap:3px;font-size:11px}

.terminal-screen .xterm{touch-action:pan-x pinch-zoom}

.admin-server-filters{margin:-4px 0 22px;max-width:100%;flex-wrap:wrap}.admin-server-filters .tab{white-space:nowrap}

/* Server inventory and Agent maintenance use the existing panel controls. */
.server-search-fields{display:grid;grid-template-columns:minmax(210px,2fr) repeat(3,minmax(125px,1fr)) auto;align-items:end;gap:12px;margin:18px 0 10px}
.server-search-fields .form-field{margin:0;min-width:0}
.server-search-fields input,.server-search-fields select{width:100%;min-width:0}
.server-filter-summary{font-size:12px;color:var(--muted);margin:10px 0}
.server-health{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:150px;max-width:260px;font-size:12px}
.server-health small{white-space:normal;overflow-wrap:anywhere;line-height:1.5}
.server-offline-duration,.task-state.failed{color:var(--red,#b34b51)}
.server-last-error{color:var(--muted)}
.server-diagnostics{max-width:650px}
.server-diagnostic-fields{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px 16px;font-size:13px}
.server-diagnostic-fields dt{color:var(--muted)}.server-diagnostic-fields dd{margin:0;overflow-wrap:anywhere}
.server-check-command{padding:12px;border-radius:8px;background:var(--panel);font-size:12px;overflow:auto}
.agent-maintenance-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:18px 0 10px}
.agent-maintenance-toolbar .check-field{margin:0 auto 0 0}
.agent-task-table{min-width:640px}.agent-task-table th:first-child{width:50px}
.agent-task-table input[type=checkbox]{appearance:auto;-webkit-appearance:auto;width:16px;height:16px;accent-color:var(--accent)}
.agent-task-table td:last-child{white-space:normal;min-width:180px}
.agent-task-table .deploy-status{white-space:normal;max-width:390px}
.batch-submit-result{overflow-wrap:anywhere}
@media(max-width:1100px){.server-search-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.server-search{grid-column:1/-1}}
@media(max-width:580px){.server-search-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.server-search-fields .form-field:first-child{grid-column:1/-1}.server-diagnostic-fields{grid-template-columns:94px minmax(0,1fr);gap:10px}.agent-maintenance-toolbar .check-field{width:100%}}

.admin-node-provider{display:block;color:var(--muted);font-size:11px;margin-top:3px}

.list-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin:18px 0 4px;color:var(--muted);font-size:12px}
.list-pagination select{appearance:auto;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--glass-strong);color:var(--text);max-width:110px}
.list-pagination button{padding:7px 12px}.list-pagination button:disabled{opacity:.4}

/* Compact version controls keep the existing theme's button appearance. */
.server-filter-reset{min-width:60px;min-height:36px;justify-self:start;padding:9px 14px;white-space:nowrap}
.agent-row-actions .compact-button{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;font-size:12px;white-space:nowrap;margin:3px 6px 3px 0}
.agent-version-status{display:block;font-size:11px;color:var(--muted);margin-top:5px;white-space:normal}
.version-update-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:12px}
.version-check-status{overflow-wrap:anywhere}.version-notice{font-size:12px;max-width:100%;white-space:normal;text-align:left}
.server-search-fields{grid-template-columns:minmax(150px,2fr) repeat(3,minmax(100px,1fr)) auto}
@media(max-width:1200px){.server-search-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.server-search-fields .server-search{grid-column:1/-1}}
@media(max-width:580px){.server-search-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.server-filter-reset{min-width:60px}}

.agent-row-actions button:disabled{opacity:.45;cursor:not-allowed}

/* Site appearance is independent of each visitor's light/dark choice. */
.theme-background{position:fixed;inset:0;z-index:-1;pointer-events:none;display:none;overflow:hidden}
.theme-background:before{content:"";position:absolute;inset:-28px;background-image:var(--theme-image);background-size:cover;background-position:center;filter:blur(var(--theme-blur))}
.theme-background:after{content:"";position:absolute;inset:0;background:#edf2f3;opacity:var(--theme-dim)}
[data-theme=dark] .theme-background:after{background:#0e1820}
.has-theme-background .theme-background{display:block}.has-theme-background .ambient{display:none}
.custom-brand-icon{width:100%;height:100%;object-fit:contain;border-radius:inherit}.brand-mark.has-custom-icon{background:transparent;box-shadow:none;border-color:transparent;padding:0}
html[data-appearance=default][data-theme=dark]{--theme-button-text:#16262b}
.primary-button{background:var(--theme-button-color,var(--accent));color:var(--theme-button-text,#fff)}
html[data-appearance=clear]{--bg:#e2eaed;--glass:rgba(255,255,255,.14);--glass-strong:rgba(255,255,255,.62);--inset:rgba(255,255,255,.13);--edge:rgba(255,255,255,.82);--line:rgba(66,93,108,.16);--accent:#326a83;--accent-wash:#326a8312;--dialog:rgba(232,241,245,.83);--shadow:0 8px 28px -12px #334f6b24,inset 0 1px 0 #ffffffa8}
html[data-appearance=clear][data-theme=dark]{--bg:#182834;--glass:rgba(190,216,236,.055);--glass-strong:rgba(47,68,84,.68);--inset:rgba(194,222,243,.04);--edge:rgba(217,236,255,.21);--line:rgba(192,219,239,.17);--accent:#a4cddd;--accent-wash:#a4cddd14;--dialog:rgba(29,48,63,.84);--shadow:0 12px 32px -12px #0005,inset 0 1px 0 #ffffff1f;--theme-button-color:#376b82;--theme-button-text:#fff}
[data-appearance=clear] .ambient{background:linear-gradient(140deg,#dce6ee,#e5e9e7 65%,#cbdbe4)}[data-appearance=clear][data-theme=dark] .ambient{background:linear-gradient(140deg,#182935,#243941 65%,#152735)}
[data-appearance=clear] .ambient>*{display:none}
[data-appearance=clear] .glass,[data-appearance=clear] .server-card{backdrop-filter:blur(24px) saturate(1.08);-webkit-backdrop-filter:blur(24px) saturate(1.08)}
[data-appearance=clear] .server-card:before{background:linear-gradient(128deg,#ffffff16,transparent 45%);box-shadow:none}
[data-appearance=clear] .server-card.is-offline{background:var(--glass)}
[data-appearance=clear] .card-footer{background:#ffffff08}
html[data-appearance=sketch]{--bg:#f4f1e8;--text:#363d39;--muted:#58605a;--quiet:#656b62;--glass:#fcfbf5;--glass-strong:#fffef8;--inset:#eeeee433;--line:#69726545;--edge:#6b7569;--accent:#52634d;--accent-wash:#71816212;--track:#667b591a;--shadow:3px 4px 0 #69726528;--dialog:#fbfaf3;--chart:#72856b;--focus:#52634d}
html[data-appearance=sketch][data-theme=dark]{--bg:#242a27;--text:#ebeade;--muted:#c3c9bd;--quiet:#afb8ad;--glass:#2c3430;--glass-strong:#343d36;--inset:#21292388;--line:#a6b29b55;--edge:#82927b;--accent:#c0ceac;--accent-wash:#c0ceac14;--track:#c0ceac20;--shadow:3px 4px 0 #0004;--dialog:#2c3430;--chart:#b0c59e;--focus:#c0ceac;--theme-button-color:#c0ceac;--theme-button-text:#283025}
[data-appearance=sketch] .ambient{background-color:var(--bg);background-image:radial-gradient(#78806a20 .7px,transparent .7px);background-size:7px 7px}
[data-appearance=sketch] .ambient>*{display:none}
[data-appearance=sketch] .glass,[data-appearance=sketch] .server-card,[data-appearance=sketch] .brand-mark{backdrop-filter:none;-webkit-backdrop-filter:none;border:1.3px solid var(--edge);box-shadow:var(--shadow);border-radius:7px 12px 8px 13px/12px 8px 13px 7px;background:var(--glass)}
[data-appearance=sketch] .server-card:before{display:none}
[data-appearance=sketch] .server-card:hover{transform:translateY(-1px);box-shadow:4px 6px 0 #6972652e}
[data-appearance=sketch] .server-card.is-offline{background:var(--glass);opacity:.84}
[data-appearance=sketch] .card-footer{background:transparent;border-top:1px dashed var(--line)}
[data-appearance=sketch] .meter{border-radius:3px}.theme-sample-sketch .sample-window,[data-appearance=sketch] .icon-button,[data-appearance=sketch] .secondary-button,[data-appearance=sketch] .primary-button{border-radius:6px 8px 5px 9px;border:1px solid var(--edge)}
[data-appearance=sketch] .node-dialog:not(.terminal-dialog){border:1.4px solid var(--edge);border-radius:11px 17px 12px 9px;box-shadow:6px 7px 0 #151c1730;background:var(--dialog)}
[data-appearance=sketch] h1{letter-spacing:.1px;font-weight:600}
html[data-appearance=anime]{--bg:#f3edf5;--text:#43394c;--muted:#685976;--quiet:#74667f;--glass:rgba(255,250,254,.86);--glass-strong:rgba(255,253,255,.96);--inset:#f5eaf344;--edge:#ffffff;--line:#b691b32c;--accent:#a65077;--accent-wash:#a6507712;--track:#b77ea825;--shadow:0 5px 0 #c894b516,0 12px 30px -18px #67578c60;--dialog:rgba(255,250,254,.97);--chart:#b577a8;--focus:#a65077;--theme-button-color:#a65077;--theme-button-text:#fff}
html[data-appearance=anime][data-theme=dark]{--bg:#25243a;--text:#f1e9f6;--muted:#d3c5df;--quiet:#bcb0cc;--glass:rgba(43,38,65,.89);--glass-strong:rgba(50,44,75,.98);--inset:#54406633;--edge:#d2acee33;--line:#ccb7eb29;--accent:#e3b6d5;--accent-wash:#e3b6d516;--track:#e3b6d520;--shadow:0 6px 0 #170e291c,0 12px 30px -18px #03020d99;--dialog:rgba(43,38,65,.98);--chart:#d4abd1;--focus:#e3b6d5;--theme-button-color:#b175a1;--theme-button-text:#fff}
[data-appearance=anime] .ambient{background:#c3d9ed url("/assets/anime-sky-18a040a32a11.svg") center bottom/cover no-repeat}
[data-appearance=anime] .ambient>*{display:none}
[data-appearance=anime][data-theme=dark] .ambient{filter:brightness(.42) saturate(.62)}
[data-appearance=anime] .glass,[data-appearance=anime] .server-card{border:1.5px solid var(--edge);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
[data-appearance=anime] .server-card{border-radius:18px 18px 26px 18px}
[data-appearance=anime] .server-card:before{display:none}
[data-appearance=anime] .server-card.is-offline{background:var(--glass)}
[data-appearance=anime] .card-footer{background:#ac71a306;border-top:1px dashed var(--line)}
[data-appearance=anime] .page-heading .eyebrow:before{content:"✦";margin-right:7px;color:var(--accent);font-size:12px}
[data-appearance=anime] .brand-mark{background:var(--glass-strong);color:var(--accent);border:1.5px solid var(--edge);border-radius:13px 10px 15px 9px}
[data-appearance=anime] .node-title{font-weight:650}
[data-appearance=anime] .node-dialog:not(.terminal-dialog){border:2px solid var(--edge);border-radius:22px 22px 29px 22px}
/* Theme editor */
#theme-settings{max-width:none;background:var(--glass-strong);color:var(--text);border-radius:18px}
.theme-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;border:0;padding:0;margin:0 0 28px;min-width:0}
.theme-choice{position:relative;display:flex;flex-direction:column;gap:5px;cursor:pointer;padding:8px 8px 12px;border:1.5px solid var(--line);border-radius:12px;background:var(--inset)}
.theme-choice:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.theme-choice input{position:absolute;right:15px;top:15px;z-index:1;width:15px;height:15px;border:1px solid #738991;border-radius:50%;background:#ffffffb3;appearance:none}
.theme-choice input:checked{background:#fff;border:5px solid #366f68}
.theme-choice-title{font-size:13px;font-weight:600;margin:5px 5px 0}.theme-choice-note{font-size:11px;color:var(--muted);margin:0 5px}
.theme-sample{height:104px;display:grid;place-items:center;border-radius:7px;overflow:hidden;background:#e3edea;color:#386154}
.sample-window{display:flex;flex-direction:column;position:relative;width:110px;height:65px;background:#ffffff94;border:1px solid #fff;border-radius:12px;padding:13px;gap:7px;box-shadow:0 7px 15px #58656615}
.sample-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.sample-line{width:58%;height:4px;border-radius:4px;background:currentColor;opacity:.55}.sample-bars{width:100%;height:7px;border:1px solid currentColor;border-radius:3px;opacity:.5;background:linear-gradient(90deg,currentColor 36%,transparent 36%)}
.theme-sample-clear{background:linear-gradient(130deg,#b2c7d4,#dbe6ee 60%,#bdd4d9);color:#4c7185}.theme-sample-clear .sample-window{background:#ffffff18;box-shadow:0 7px 18px #53697a30,inset 0 1px 0 #fff9;border-color:#ffffffd9}
.theme-sample-sketch{background-color:#f2eee1;background-image:radial-gradient(#58634520 .7px,transparent .7px);background-size:5px 5px;color:#68715b}.theme-sample-sketch .sample-window{background:#fffdf2;border:1.4px solid #69705f;box-shadow:3px 4px 0 #69705f2b}
.theme-sample-anime{background:#c8def0 url("/assets/anime-sky-18a040a32a11.svg") center 55%/cover;color:#a25a7f}.theme-sample-anime .sample-window{background:#fff4fddd;border-color:#fff;box-shadow:3px 4px 0 #ba8bbb24}
.theme-custom{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}.theme-fields{display:flex;flex-direction:column;gap:15px;min-width:0}
.theme-color-row{display:flex;gap:10px;align-items:center}.theme-color-row input[type=color]{width:48px;height:40px;padding:4px;flex:none}.theme-color-row input[type=text]{flex:1}
.theme-media{padding-top:8px}.theme-media .form-field{gap:10px}.theme-file-input{font-size:11px!important;max-width:100%;padding:8px!important}
.theme-file-input::file-selector-button{font:inherit;padding:5px 9px;background:var(--glass);color:var(--text);border:1px solid var(--line);border-radius:5px;margin-right:8px;cursor:pointer}
.theme-image-preview,.theme-icon-preview{height:108px;display:grid;place-items:center;overflow:hidden;border:1px dashed var(--line);border-radius:10px;background:var(--inset);color:var(--quiet);font-size:11px}
.theme-image-preview img{width:100%;height:100%;object-fit:cover}.theme-icon-preview{height:76px}.theme-icon-preview img{width:48px;height:48px;object-fit:contain}
.theme-media-actions{display:flex;justify-content:space-between;align-items:center;margin-top:7px;gap:10px;font-size:11px}.theme-file-status{color:var(--muted)}
.theme-range-label{display:flex;justify-content:space-between;gap:8px}.theme-range-label output{font-weight:400;color:var(--muted)}
.theme-form input[type=range]{appearance:auto;accent-color:var(--accent);padding:0;height:25px;background:transparent;border:0;width:100%}
.theme-form textarea{width:100%;padding:11px;border:1px solid var(--line);border-radius:8px;background:var(--inset);color:var(--text);font:12px/1.7 ui-monospace,monospace;resize:vertical}
.theme-css-help{font-size:11px;color:var(--muted);line-height:1.8}.theme-css-help summary{cursor:pointer;color:var(--text)}.theme-css-help p{overflow-wrap:anywhere}
.theme-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:20px;margin-top:22px}
#theme-preview-banner{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:10000;display:flex;align-items:center;gap:12px;padding:10px 13px;background:#17252ff5;color:#fff;border:1px solid #ffffff4d;border-radius:12px;box-shadow:0 8px 30px #0004;font:13px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;white-space:nowrap}
#theme-preview-banner button{color:#fff;padding:7px 10px;border:1px solid #ffffff4d;border-radius:6px;background:#ffffff0e;font:inherit}#theme-preview-banner button:last-child{background:#e5edf3;color:#20313e}
@media(max-width:900px){.theme-custom{grid-template-columns:1fr;gap:25px}}@media(max-width:540px){.theme-presets{gap:9px}.theme-sample{height:86px}.theme-choice-note{font-size:10px}.theme-choice-title{font-size:12px}.theme-choice{padding:6px 6px 10px}.sample-window{width:86px;height:59px}.theme-color-row input[type=text]{font-size:16px}.theme-actions{gap:10px}.theme-actions .table-button{width:100%;text-align:left;padding:6px 0}#theme-preview-banner{bottom:10px;gap:8px;font-size:12px;max-width:calc(100vw - 20px)}}
/* Equal card heights and Swap next to memory. */
.server-grid{align-items:stretch;grid-auto-rows:1fr}
.server-card{height:100%;display:flex;flex-direction:column}
.server-card .card-heading{min-height:61px;align-items:flex-start}
.server-card .node-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.server-card .node-title button{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
.server-card .node-location,.server-card .node-group{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.server-card .card-metrics{display:flex;flex-direction:column;flex:1;min-height:0}
.server-card .resource-grid{min-height:112px;align-items:start}
.server-card .network-block{margin-top:auto;min-height:108px}
.server-card .card-footer{flex:none}
.memory-swap{display:flex;align-items:center;justify-content:space-between;gap:5px;padding-top:8px;margin-top:7px;border-top:1px dashed var(--line);color:var(--quiet);font-size:9px;line-height:1.4}
.memory-swap .swap-label{font-size:9px;flex:none}.memory-swap .swap-label svg{width:10px;height:10px}
.memory-swap .swap-usage{font-variant-numeric:tabular-nums;text-align:right;overflow-wrap:anywhere}
.detail-inspector-link{display:inline-flex!important;font-size:11px!important;padding:4px 9px!important;margin-top:8px;min-height:28px}
@media(max-width:600px){.memory-swap,.memory-swap .swap-label{font-size:10px}.server-card .resource-grid{min-height:116px}}

.metric-meter:not(.warning)::-webkit-meter-optimum-value{background:var(--chart)}
.metric-meter:not(.warning)::-moz-meter-bar{background:var(--chart)}

/* Four seasons: quiet, transparent surfaces over one continuous landscape. */
html:is([data-appearance=seasons]){--bg:#dce6dd;--text:#203b35;--muted:#35554b;--quiet:#405c53;--glass:rgba(255,255,248,.10);--glass-strong:rgba(255,255,248,.19);--inset:rgba(255,255,248,.065);--input-bg:rgba(255,255,248,.10);--edge:rgba(255,255,249,.64);--line:rgba(40,72,60,.16);--accent:#376956;--accent-wash:#37695614;--track:#365f4921;--shadow:0 9px 28px -18px #284b393b,inset 0 1px 0 #fffff85e;--dialog:rgba(245,250,242,.24);--chart:#4d7e63;--focus:#2d6954;--theme-button-color:#376956;--theme-button-text:#fff}
html:is([data-appearance=seasons])[data-theme=dark]{--bg:#192927;--text:#e7f0e6;--muted:#d3e0d3;--quiet:#c4d5c5;--glass:rgba(24,45,38,.10);--glass-strong:rgba(24,45,38,.19);--inset:rgba(12,29,22,.07);--input-bg:rgba(12,29,22,.13);--edge:rgba(224,242,223,.28);--line:rgba(227,240,220,.17);--accent:#b8d8b8;--accent-wash:#b8d8b81a;--track:#b8d8b825;--shadow:0 10px 30px -18px #05150f66,inset 0 1px 0 #e0f2df2b;--dialog:rgba(19,39,33,.23);--chart:#b8d8b8;--focus:#c7e3c6;--theme-button-color:#b8d8b8;--theme-button-text:#233e30}
:is([data-appearance=seasons]) .ambient{display:none}
.theme-background.has-season-scene{display:block;background:linear-gradient(#ccdee0,#b4c6b3)}
.season-scene{position:absolute;inset:0;will-change:transform;contain:layout style}.season-landscape{position:absolute;inset:0;width:100%;height:100%}
:is([data-appearance=seasons]) .glass,:is([data-appearance=seasons]) .server-card{background:var(--glass);backdrop-filter:blur(6px) saturate(.96);-webkit-backdrop-filter:blur(6px) saturate(.96)}
:is([data-appearance=seasons]) .server-card:before{background:linear-gradient(130deg,#ffffff0b,transparent 48%);box-shadow:none}
:is([data-appearance=seasons]) .server-card:hover,:is([data-appearance=seasons]) .server-card.is-offline{background:var(--glass)}
:is([data-appearance=seasons]) .card-footer{background:transparent}
:is([data-appearance=seasons]) .brand-mark{background:var(--glass);color:var(--accent)}
:is([data-appearance=seasons]) .node-dialog:not(.terminal-dialog){background:var(--dialog);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
:is([data-appearance=seasons]) .node-dialog::backdrop{background:#253b301c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
:is([data-appearance=seasons])[data-theme=dark] .node-dialog::backdrop{background:#06161030}
:is([data-appearance=seasons]) .admin-box,:is([data-appearance=seasons]) #theme-settings,:is([data-appearance=seasons]) .stat-tile,:is([data-appearance=seasons]) .admin-nav{background:var(--glass)}
.theme-sample-seasons{background:linear-gradient(180deg,#d2e0da 0%,#eee7d6 48%,#a9bca3 49%,#afcfc8 74%,#b8bf9a 100%);color:#456b54;position:relative}
.theme-sample-seasons:before,.theme-sample-seasons:after{content:"";position:absolute;bottom:-15px;left:5%;width:80px;height:90px;border-radius:48% 62% 36% 48%;background:linear-gradient(120deg,#dab9b1,#96b190 36%,#d1ae7a 65%,#dce7df);transform:rotate(-12deg);opacity:.72}
.theme-sample-seasons:after{left:auto;right:-20px;width:90px;height:65px;transform:rotate(24deg)}
.theme-sample-seasons .sample-window{z-index:1;background:#ffffff16;border-color:#ffffffe0;backdrop-filter:blur(3px)}
.footer{flex-wrap:wrap;gap:12px}
.season-controls{display:inline-flex;align-items:center;gap:9px;color:var(--muted);font-size:10px}
.season-controls button{font-size:10px;padding:3px 8px;border:1px solid var(--line);border-radius:6px;color:inherit;background:var(--glass)}
.season-controls button:hover{background:var(--glass-strong)}
.season-name{min-width:1em}
@media(forced-colors:active){.season-landscape,.season-controls{display:none!important}}

/* Terminal and SFTP use the chosen site's palette; the default theme stays intact. */
html[data-appearance=clear]{--terminal-surface:rgba(237,246,251,.42)}
html[data-appearance=clear][data-theme=dark]{--terminal-surface:rgba(28,47,59,.50)}
html[data-appearance=sketch]{--terminal-surface:var(--glass)}
html[data-appearance=anime]{--terminal-surface:var(--glass)}
html:is([data-appearance=seasons]){--terminal-surface:rgba(248,250,240,.16)}
html:is([data-appearance=seasons])[data-theme=dark]{--terminal-surface:rgba(15,34,28,.16)}


.season-weather,.season-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.season-weather{contain:layout style}
.season-sprite{position:absolute;top:0;width:calc(var(--flake)*1.7);height:var(--flake);border-radius:70% 20% 70% 20%;background:#dcb1b5;opacity:.55}
.season-particles-1 .season-sprite{background:#f7f0d1;opacity:.3;width:var(--flake);height:calc(var(--flake)*.6)}
.season-particles-2 .season-sprite{background:#b99661;opacity:.54}
.season-particles-3 .season-sprite{width:var(--flake);height:var(--flake);background:#fff;border-radius:50%;opacity:.6}
.season-ripple{position:absolute;height:1px;background:#fffbe15c;border-radius:50%;opacity:.24}
[data-theme=dark] .season-ripple{background:#fffbe130}
@media(forced-colors:active){.season-weather{display:none!important}}

/* Mountain lake: a restrained light veil keeps the transparent cards readable. */
html:is([data-appearance=seasons]) :is(.sparkline:not(.warning),.detail-chart svg,.network-rate dd){color:var(--season-metric,var(--chart))}
html:is([data-appearance=seasons]) .metric-meter:not(.warning):not(.offline-meter)::-webkit-meter-optimum-value{background:var(--season-metric,var(--chart))}
html:is([data-appearance=seasons]) .metric-meter:not(.warning):not(.offline-meter)::-moz-meter-bar{background:var(--season-metric,var(--chart))}
@media(forced-colors:active){html:is([data-appearance=seasons]) :is(.sparkline:not(.warning),.detail-chart svg,.network-rate dd){color:CanvasText}}

html:is([data-appearance=seasons]) .server-card:not(.is-offline) :is(.cpu-value:not(.warning),.resource-value,.swap-usage:not(.swap-warning)){color:var(--season-metric,var(--chart))}

@media(min-width:1200px){.theme-presets{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Metric colors already advance in small RGB steps; no overlapping per-element transitions. */
.theme-package-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 18px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.theme-package-tools a{font-size:12px;color:var(--accent);padding:6px 8px}
.theme-package-tools p{flex-basis:100%;font-size:12px;color:var(--muted);margin:0}
.theme-choice-package .theme-sample{background:linear-gradient(135deg,var(--glass-strong),var(--accent-wash));color:var(--accent)}
html[data-theme-package]:not([data-theme-package=""]){--terminal-surface:var(--glass-strong)}

/* Moving landscapes use cached color/blur effects; translucent surfaces need no live backdrop passes. */
html[data-appearance=seasons] :is(.glass,.server-card,.file-sidebar,#theme-preview-banner){backdrop-filter:none;-webkit-backdrop-filter:none}
html.has-package-background-color:not(.has-theme-background) .ambient{background:var(--bg)}

/* Preserve glass at rest; moving content uses its translucent color layer.
   This avoids re-filtering the viewport on every scroll / hover frame. */
html.theme-in-motion:not(:has(dialog[open])) :is(.glass,.server-card,.toast){backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.season-scene,.season-weather{contain:layout paint style}

/* The sixth administrator field completes the hardware grid without changing public details. */
.detail-hardware-admin{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.detail-hardware-admin>dl{min-width:0;align-self:stretch}
.detail-hardware-admin>dl>dt{line-height:1.5;min-height:15px}
.detail-hardware-admin>dl>dd{min-height:28px;line-height:1.65}
.detail-hardware-admin .detail-inspector-link{margin-top:0;vertical-align:top}
.telegram-settings-column{min-width:0}
.telegram-group-form{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.telegram-group-form h3{margin:0;font-size:14px;font-weight:600}

/* Layout additions use the original terminal typography and controls. */
#terminal-dialog{--text:#283643;--muted:#657583;--quiet:#80909a;--accent:#327ba3;--line:#dfe5ea;--edge:#cbd4db;--glass:#fff;--glass-strong:#f5f8fa;--inset:#f6f8fa;--dialog:#fff;--accent-wash:#eaf3f8;--focus:#75aac7;--warning:#a03b39;--file-width:254px;--bottom-height:208px;--theme-button-color:#357b9f;--theme-button-text:#fff;color-scheme:light;color:#283643;background:#fff!important;border:1px solid #bbc8d1!important;border-radius:19px!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:0 30px 100px rgba(0,0,0,.4)!important;width:min(1240px,calc(100vw - 64px));height:min(760px,calc(100dvh - 48px));max-height:calc(100dvh - 16px);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;font-size:14px;line-height:1.5}
#terminal-dialog.is-expanded{width:calc(100vw - 16px);height:calc(100dvh - 16px)}
#terminal-dialog [hidden]{display:none!important}
#terminal-dialog button,#terminal-dialog select{color:#344955;border-color:#d6e0e6;background:#fff;font-family:inherit;box-shadow:none;border-radius:7px}
#terminal-dialog button:disabled{opacity:.4;cursor:default}
#terminal-dialog button:focus-visible,#terminal-dialog input:focus-visible{outline:2px solid #5099c0;outline-offset:-2px}
#terminal-dialog button:hover:not(:disabled){background:#edf4f8}
#terminal-dialog .ssh-session-bar{position:relative;gap:2px;padding:4px 125px 4px 6px;background:#fff;min-height:38px;border-bottom:1px solid #dfe5ea;flex-wrap:nowrap}
#terminal-dialog .ssh-session-tabs{flex:0 1 auto;gap:3px;min-width:0}
#terminal-dialog .ssh-session-tab{background:#fff;border:1px solid #e1e7eb;border-radius:7px}
#terminal-dialog .ssh-session-tab.active{background:#f0f6fa;border-color:#afc6d5}
#terminal-dialog .ssh-session-tab button:first-child{display:flex;align-items:center;gap:7px;max-width:230px;font-size:12px}
#terminal-dialog .ssh-session-tab button span{overflow:hidden;text-overflow:ellipsis}
#terminal-dialog .ssh-session-tab button{color:#344955;background:transparent;padding:5px 8px}
#terminal-dialog .ssh-session-tab button:last-child{color:#8a959d;padding-left:3px}
#terminal-dialog .ssh-tab-dot{display:inline-block;width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#a2adb5}
#terminal-dialog .ssh-tab-dot.connected{background:#4d9e5f}
#terminal-dialog .ssh-add-session{font-size:25px;font-weight:700;line-height:26px;flex:0 0 34px;padding:0 5px;color:#344955}
#terminal-dialog .ssh-server-picker{position:absolute;z-index:15;top:100%;left:10px;width:280px;max-width:calc(100vw - 50px);max-height:320px;overflow:auto;background:#fff;border:1px solid #cbd7df;box-shadow:0 8px 24px #152d4326;border-radius:5px;padding:5px}
#terminal-dialog .ssh-server-picker button{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:9px;text-align:left}
#terminal-dialog .ssh-server-picker strong{font-weight:500;overflow:hidden;text-overflow:ellipsis}
#terminal-dialog .ssh-server-picker span{color:#73828d;font-size:11px}
#terminal-dialog .terminal-header{position:absolute;right:7px;top:4px;z-index:2;padding:0;border:0;background:transparent;min-height:0}
#terminal-dialog .terminal-actions{display:flex;gap:5px}
#terminal-dialog .terminal-actions button{padding:5px 10px;border:1px solid #dce4e9;font-size:12px}
#terminal-dialog .terminal-toolbar{display:flex;align-items:center;gap:7px;padding:5px 9px;min-height:37px;background:#fff;border-bottom:1px solid #dce4e9;flex-wrap:nowrap}
#terminal-dialog .terminal-toolbar>button{border:1px solid #dce4e9;padding:4px 10px;white-space:nowrap}
#terminal-dialog .terminal-quickbar{padding:0;margin-left:auto;background:#fff;border:0;gap:5px;min-width:0}
#terminal-dialog .terminal-quickbar select{min-width:100px;max-width:180px;padding:3px 6px;border:1px solid #dce4e9}
#terminal-dialog .terminal-quickbar button{padding:3px 9px;border:1px solid #dce4e9}
#terminal-dialog .terminal-workspace,#terminal-dialog .terminal-main{background:#fff!important}
#terminal-dialog .terminal-main{min-height:0}
#terminal-dialog .terminal-pane,#terminal-dialog .terminal-screen,#terminal-dialog .xterm-viewport,#terminal-dialog #terminal-mount{background:#183447!important}
#terminal-dialog .terminal-pane{flex:1 1 0;min-height:100px}
#terminal-dialog #terminal-mount{padding:14px 8px 8px 14px}
#terminal-dialog .terminal-placeholder,#terminal-dialog .terminal-placeholder h3,#terminal-dialog .terminal-hint{color:#cddce6}
#terminal-dialog .terminal-footer{padding:3px 10px;min-height:23px;background:#fff;color:#778691;border-top:1px solid #e1e7eb;font-size:10px}
#terminal-dialog #terminal-footer-state{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#terminal-dialog .file-sidebar{position:relative;background:#fff;color:#344955;overflow:auto;flex:0 0 var(--file-width);width:var(--file-width);min-width:220px;padding:10px 12px 0;scrollbar-color:#c9d4db transparent;backdrop-filter:none}
#terminal-dialog #terminal-monitor{flex:none}
#terminal-dialog .terminal-node-ip{font:550 12px ui-monospace,monospace;padding-right:18px;overflow-wrap:anywhere;margin-bottom:4px;color:#253d4d}
#terminal-dialog .terminal-system-line{font-size:11px;color:#76848c;line-height:1.8;font-variant-numeric:tabular-nums}
#terminal-dialog .terminal-resource{font-size:11px;margin-top:10px}
#terminal-dialog .terminal-resource>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#4f646d;font-variant-numeric:tabular-nums}
#terminal-dialog .terminal-resource-track{height:5px;margin-top:6px;border-radius:4px;overflow:hidden;background:rgba(48,84,98,.09)}
#terminal-dialog .terminal-resource-track i{display:block;height:100%;border-radius:4px;background:#66a699;transition:width .35s ease}
#terminal-dialog .terminal-mini-chart{margin-top:13px}
#terminal-dialog .terminal-chart-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2px 5px;font-size:10px;color:#63747f}
#terminal-dialog .terminal-chart-heading strong{font-weight:500;color:#344955}
#terminal-dialog .terminal-chart-heading>span{font:10px ui-monospace,monospace}
#terminal-dialog .terminal-network-select{max-width:100%;font-size:10px;max-height:23px;border:1px solid #e1e7eb;margin:3px 0}
#terminal-dialog .terminal-mini-chart svg{display:block;width:100%;height:65px}
#terminal-dialog .terminal-chart-axis{display:flex;justify-content:space-between;font-size:9px;color:#657b89}
#terminal-dialog .terminal-network-totals{font-size:10px;color:#6d7f89;margin-top:3px;font-variant-numeric:tabular-nums}
#terminal-dialog .terminal-root-heading{display:flex;justify-content:space-between;padding:10px 0 5px;border-top:1px solid #e6ebee;margin-top:6px;font-size:11px}
#terminal-dialog .terminal-root-heading strong{font-weight:500}
#terminal-dialog .terminal-root-heading span{color:#657b89;font-size:10px}
#terminal-dialog .file-tree{flex:none;overflow:visible;padding:0}
#terminal-dialog .file-tree-row{min-width:0;padding:0;min-height:27px;border-radius:3px}
#terminal-dialog .file-tree-row:hover{background:#f0f6fa}
#terminal-dialog .file-tree-target{color:#344955;font-size:11px;min-width:0;padding:4px 0;gap:6px}
#terminal-dialog .file-tree-target svg{stroke:#839aaa;width:15px;height:15px}
#terminal-dialog .file-tree-name{max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#terminal-dialog .file-root-size{font:10px ui-monospace,monospace;color:#657b89;flex:none;padding-left:8px}
#terminal-dialog .file-tree-status{color:#85949e;background:#fff;border:0;font-size:10px;padding:4px 0;margin:0}
#terminal-dialog .file-resizer{width:5px;flex:0 0 5px;background:#e2e8ed;cursor:col-resize;touch-action:none}
#terminal-dialog #terminal-bottom-resizer{height:5px;flex:0 0 5px;background:#e2e8ed;cursor:row-resize;touch-action:none}
#terminal-dialog .file-resizer:hover,#terminal-dialog #terminal-bottom-resizer:hover,#terminal-dialog [role=separator]:focus-visible{background:#89afc6}
#terminal-dialog #terminal-bottom{height:var(--bottom-height);flex:0 0 var(--bottom-height);max-height:calc(100% - 220px);min-height:150px;display:flex;flex-direction:column;overflow:hidden;background:#fff}
#terminal-dialog .terminal-bottom-tabs{display:flex;gap:1px;flex:none;height:29px;background:#fff;border-bottom:1px solid #e1e7eb}
#terminal-dialog .terminal-bottom-tabs button{padding:4px 16px;color:#87949d;border:0;border-radius:0}
#terminal-dialog .terminal-bottom-tabs [aria-selected=true]{color:#346986;box-shadow:inset 0 -2px #74a1bc}
#terminal-dialog #terminal-route,#terminal-dialog #terminal-file-pane{display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden}
#terminal-dialog .terminal-route-heading{display:flex;align-items:center;gap:12px;padding:4px 12px;font-size:11px;flex:none}
#terminal-dialog .terminal-route-heading strong{font-weight:500}
#terminal-dialog #terminal-route-summary{color:#4f8660;font-size:10px}
#terminal-dialog #terminal-route-summary.unreachable{color:#af5854}
#terminal-dialog .terminal-route-heading button{margin-left:auto;padding:3px 8px;border:1px solid #e1e7eb}
#terminal-dialog .terminal-table-scroll{overflow:auto;flex:1;min-height:0}
#terminal-dialog table{border-collapse:collapse;width:100%;font-size:11px;text-align:left;white-space:nowrap}
#terminal-dialog th{position:sticky;top:0;background:#f5f7f9;color:#657b89;font-weight:400;z-index:1}
#terminal-dialog td,#terminal-dialog th{padding:4px 12px;border-bottom:1px solid #edf1f4}
#terminal-dialog td{color:#526974;font-variant-numeric:tabular-nums}
#terminal-dialog tbody tr:hover{background:#f5f9fc}
#terminal-dialog #terminal-route-status{flex:none;margin:0;padding:3px 12px;color:#657b89;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#terminal-dialog .file-pathbar{display:flex;align-items:center;flex-wrap:wrap;gap:4px;padding:4px 7px;flex:none}
#terminal-dialog .file-navigation{padding:0;gap:4px}
#terminal-dialog .file-navigation button{color:#516976;border:1px solid #dce4e9;padding:3px 8px;background:#fff;font-size:11px}
#terminal-dialog #file-location-form{margin:0;flex:1;min-width:150px;border:1px solid #dce4e9;background:#fff;border-radius:3px}
#terminal-dialog #file-path{color:#526b7b;font:11px/1.4 ui-monospace,monospace;padding:4px 7px}
#terminal-dialog #file-location-form button{color:#607b8a}
#terminal-dialog .file-tools{padding:0;flex-wrap:nowrap}
#terminal-dialog .file-mode{font:10px ui-monospace,monospace}
#terminal-dialog .file-table-actions button{font-size:10px;margin-right:7px;padding:2px 5px;color:#6d8797}
#terminal-dialog .file-table-actions{width:1%}
#terminal-dialog .terminal-file-table .file-tree-target{max-width:430px;white-space:nowrap}
#terminal-dialog #terminal-file-pane>.file-tree-status{padding:2px 10px}
#terminal-dialog .terminal-tabs{background:#fff;border-color:#dfe5ea;flex:none}
#terminal-dialog .terminal-tabs button{color:#617482}
#terminal-dialog .terminal-tabs button.active{background:#f3f7fa;color:#345c76;box-shadow:inset 0 -2px #8daec3}
#terminal-dialog .file-transfer-queue{background:#fff;color:#506b7b;max-height:100px;overflow:auto}
#terminal-dialog .terminal-keybar{display:none;background:#fff;border-color:#dfe5ea}
#terminal-dialog .terminal-keybar button{color:#476b81;background:#fff;border-color:#d6e1e8}
#terminal-dialog .terminal-keybar button[aria-pressed=true]{background:#cde6f5;color:#254f6a}
#terminal-dialog .terminal-search{background:#fff}
#terminal-dialog .terminal-search input{background:#fff;color:#344955;border-color:#cfdae2}
#terminal-dialog .terminal-search button{background:#fff;color:#46667a;border-color:#cfdae2}
#terminal-dialog .file-empty,#terminal-dialog .file-load-more{color:#8c9ca6}
#terminal-dialog .is-error{color:#a33e3b!important}
@media(max-width:700px){
 #terminal-dialog{width:calc(100vw - 12px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}
 #terminal-dialog .ssh-session-bar{padding-right:105px;min-height:37px}
 #terminal-dialog .ssh-session-tabs{flex-basis:auto}
 #terminal-dialog .ssh-session-tab button:first-child{max-width:125px;padding:5px}
 #terminal-dialog .ssh-add-session{flex-basis:27px}
 #terminal-dialog .terminal-header{top:5px;right:4px}
 #terminal-dialog .terminal-actions button{padding:4px 7px;font-size:11px}
 #terminal-dialog .terminal-toolbar{padding:5px;gap:4px;min-height:35px}
 #terminal-dialog .terminal-toolbar>button{padding:4px 8px;font-size:11px}
 #terminal-dialog .terminal-quickbar{display:none}
 #terminal-dialog .file-sidebar{position:relative;inset:auto;width:var(--file-width,180px);flex-basis:var(--file-width,180px);min-width:150px;z-index:auto;box-shadow:none;padding:9px 8px 0}
 #terminal-dialog .file-resizer{display:block;width:5px;min-width:5px;touch-action:none}
 #terminal-dialog .terminal-keybar{display:flex;min-height:48px;padding:4px;gap:3px}
 #terminal-dialog .terminal-keybar button{min-height:38px;min-width:36px;padding:3px 7px}
 #terminal-dialog #terminal-bottom{height:var(--bottom-height,170px);flex-basis:var(--bottom-height,170px)}
 #terminal-dialog .terminal-route-heading{gap:6px;padding:3px 8px;font-size:10px}
 #terminal-dialog #terminal-route-summary{font-size:9px}
 #terminal-dialog .file-pathbar{gap:4px;padding:4px}
 #terminal-dialog #file-location-form{order:-1;flex-basis:100%;min-width:0}
 #terminal-dialog .file-tools{margin-left:0;max-width:100%;overflow-x:auto}
 #terminal-dialog .file-navigation{flex-wrap:wrap}
 #terminal-dialog .file-tools{flex-wrap:nowrap}
 #terminal-dialog .file-tools button{flex:none}
 #terminal-dialog .terminal-resource>div:first-child{flex-wrap:wrap;gap:0 5px}
 #terminal-dialog .terminal-resource>div:first-child>span:last-child{margin-left:auto}
 #terminal-dialog .terminal-chart-heading>span{font-size:9px}
 #terminal-dialog .terminal-network-totals{overflow-wrap:anywhere}
 #terminal-dialog .terminal-route-heading{flex-wrap:wrap}
 #terminal-dialog .terminal-route-heading strong{font-size:10px}
 #terminal-dialog .terminal-route-heading button{padding:2px 4px}
 #terminal-dialog #terminal-route-summary{order:3;width:100%}
 #terminal-dialog .file-navigation button{font-size:10px;padding:3px 6px}
 #terminal-dialog #terminal-mount{padding:6px 3px}
 #terminal-dialog .terminal-file-table .file-tree-target{max-width:220px}
 #terminal-dialog.is-compact-terminal #terminal-bottom,#terminal-dialog.is-compact-terminal #terminal-bottom-resizer{display:none}
 #terminal-dialog.is-compact-terminal .terminal-header{display:block}
 #terminal-dialog.is-compact-terminal .ssh-add-session{display:block}
 #terminal-dialog .terminal-footer{font-size:9px;min-height:20px}
}

/* Compact desktop chrome; terminal glyph rendering remains unchanged. */
#terminal-dialog .terminal-toolbar>button{min-height:27px}
#terminal-dialog .terminal-chart-axis{font-size:10px}
#terminal-dialog .terminal-node-ip{font-weight:550;letter-spacing:0}
#terminal-dialog #terminal-route table{min-width:620px}
#terminal-dialog #terminal-route td{padding-top:5px;padding-bottom:5px}
#terminal-dialog #terminal-route th{font-weight:500}
#terminal-dialog .route-ttl{width:44px;color:#7d8d97}
#terminal-dialog .route-address,#terminal-dialog .route-latency{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}
#terminal-dialog .route-operator{min-width:160px;max-width:320px}
#terminal-dialog .route-operator span{display:block;max-width:280px;overflow:hidden;text-overflow:ellipsis;font-size:11px;color:#465c6a}
#terminal-dialog .route-operator small{display:block;color:#6f8390;font:10px ui-monospace,monospace}
#terminal-dialog::backdrop{background:rgba(34,55,64,.25);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}

#terminal-dialog .terminal-volume{padding:4px 0 8px}
#terminal-dialog .terminal-volume .file-tree-target{width:100%;gap:8px;font-family:inherit}
#terminal-dialog .terminal-volume .file-tree-name{font-size:11px;min-width:0;flex:1}
#terminal-dialog .file-volume-size{flex:none;font-size:10px;color:#4f646d;font-variant-numeric:tabular-nums}
#terminal-dialog .terminal-volume-track{height:5px;border-radius:4px;overflow:hidden;background:rgba(48,84,98,.09);margin-top:3px}
#terminal-dialog .terminal-volume-track i{display:block;height:100%;border-radius:4px;background:#66a699;transition:width .35s ease}
#terminal-dialog #file-root-status:empty{display:none}
@media(prefers-reduced-motion:reduce){#terminal-dialog .terminal-resource-track i,#terminal-dialog .terminal-volume-track i{transition:none}}

#terminal-dialog .terminal-processes{margin-top:12px;max-height:148px;overflow:auto;scrollbar-width:thin;border:1px solid #dce4e9}
#terminal-dialog .terminal-processes table{width:100%;table-layout:fixed;font-size:11px}
#terminal-dialog .terminal-processes th{padding:0;background:#609ace;color:#fff;font-size:11px;font-weight:400}
#terminal-dialog .terminal-processes th:nth-child(1){width:30%}
#terminal-dialog .terminal-processes th:nth-child(2){width:26%}
#terminal-dialog .terminal-processes th:nth-child(3){padding:3px 4px}
#terminal-dialog .terminal-processes th button{display:block;width:100%;padding:3px 4px;border:0;border-radius:0;background:transparent;color:#fff;font:inherit;text-align:left}
#terminal-dialog .terminal-processes th button.active{background:#cb775b}
#terminal-dialog .terminal-processes td{padding:3px 4px;color:#344955;border-bottom:1px solid #edf1f4;overflow:hidden;text-overflow:ellipsis;font-size:11px;font-variant-numeric:tabular-nums}
#terminal-dialog .terminal-processes td:first-child{background:#edf5fa}
#terminal-dialog .terminal-processes td:nth-child(2){background:#faf3e8}
#terminal-dialog .terminal-processes .terminal-process-note{white-space:normal;color:#76848c;background:#fff}
/* A native modal makes the dashboard inert. Suspend its expensive backdrop
   filters while the terminal is open; closing restores the selected theme. */
body:has(#terminal-dialog[open]) :is(.server-card,.glass){backdrop-filter:none!important;-webkit-backdrop-filter:none!important}


/* Keep the original dark editor readable inside the light terminal chrome. */
#terminal-dialog .file-editor{color:#d7e3eb;background:#111c25;color-scheme:dark;--text:#d7e3eb;--muted:#9fb5c1;--quiet:#9bb0bd;--line:#263b46;--accent:#94bdb4;--focus:#c8e6dc}
#terminal-dialog .file-editor-toolbar{color:#9fb5c1;background:#111c25;border-color:#263b46}
#terminal-dialog .file-editor-meta{color:#9bb0bd;background:#111c25;border-color:#263b46}
#terminal-dialog .file-editor-bottom{background:#192a33;border-color:#2d404b}
#terminal-dialog .file-editor button{color:#b3c9d4;border-color:#344c58;background:transparent}
#terminal-dialog .file-editor button:hover:not(:disabled){background:#253e48}
#terminal-dialog .file-editor #file-save{color:#dceee8;background:#375b59;border-color:#547b74}
#terminal-dialog .file-editor button:focus-visible,#terminal-dialog .file-editor input:focus-visible{outline-color:#94bdb4}
#terminal-dialog .file-editor .is-error{color:#edb09f!important}
#terminal-dialog .file-editor .cm-search input::placeholder{color:#9bb0bd;opacity:1}

/* Hide modal scroll rails without changing wheel, touch or keyboard scrolling. */
#node-dialog,#node-editor{scrollbar-width:none}
#node-dialog::-webkit-scrollbar,#node-editor::-webkit-scrollbar{display:none;width:0;height:0}
@media(prefers-reduced-transparency:reduce){
 #terminal-dialog::backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}
}

/* Saved commands sit next to files and route diagnostics. */
#terminal-dialog #terminal-command-pane{display:flex;flex-direction:column;min-height:0;flex:1;overflow:auto;background:#fff}
#terminal-dialog .terminal-command-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;margin:0 10px}
#terminal-dialog .terminal-command-item{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;min-height:44px;padding:8px 12px;border-bottom:1px solid #edf1f4}
#terminal-dialog .terminal-command-item:nth-child(odd){border-right:1px solid #e1e7eb}
#terminal-dialog .terminal-command-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#344955}
#terminal-dialog .terminal-command-run{flex:none;padding:4px 10px;border:1px solid #d6e0e6;font-size:11px}
#terminal-dialog .terminal-command-status{margin:0;padding:10px 14px;color:#657b89;font-size:11px}
#terminal-dialog .terminal-command-status:empty{display:none}
@media(max-width:700px){
 #terminal-dialog .terminal-bottom-tabs button{flex:1;min-width:0;padding:4px 6px;white-space:nowrap;font-size:12px}
 #terminal-dialog .terminal-command-list{margin:0 3px}
 #terminal-dialog .terminal-command-item{gap:5px;padding:4px;min-height:44px}
 #terminal-dialog .terminal-command-name{font-size:11px}
 #terminal-dialog .terminal-command-run{padding:6px 4px;min-width:34px;min-height:34px}
}

/* Modal scrolling never reaches the dashboard, including terminal scrollback edges. */
html:has(dialog[open]),body:has(dialog[open]){overflow:hidden;overscroll-behavior:none}
#terminal-dialog :is(.xterm-viewport,.xterm-scrollable-element,.file-sidebar,.terminal-table-scroll,#terminal-command-pane,.terminal-processes,.cm-scroller){overscroll-behavior:contain}
