@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600&family=Manrope:wght@400;500;600;700;800&display=swap";/**
* 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.
*/.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;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{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 .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility,.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{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}:root{color-scheme:dark;--bg: #0a1220;--bg-soft: rgba(11, 19, 33, .88);--card: rgba(14, 23, 38, .9);--card-strong: rgba(16, 27, 44, .98);--line: rgba(176, 197, 227, .12);--text: #f3f7fd;--muted: #93a4bd;--accent: #8fb8ff;--accent-strong: #b4f0dc;--danger: #ff7b7b;--warning: #f1cd77;--shadow: 0 24px 50px rgba(0, 0, 0, .22)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:Manrope,sans-serif;color:var(--text);background:radial-gradient(circle at top left,rgba(143,184,255,.12),transparent 24%),radial-gradient(circle at right 20%,rgba(180,240,220,.08),transparent 22%),linear-gradient(180deg,#0a1220,#0d1726,#09111d)}button,input,select,textarea{font:inherit}button{cursor:pointer}.loading-shell,.login-shell,.dashboard-shell{min-height:100vh}.loading-shell{display:grid;place-items:center;color:var(--muted)}.login-shell{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;padding:3rem}.login-showcase,.login-card,.hero-panel,.overview-card,.server-card,.empty-panel,.terminal-modal{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow)}.login-showcase,.login-card{border-radius:32px;padding:2.5rem}.login-showcase{display:flex;flex-direction:column;justify-content:center;background:linear-gradient(140deg,#8fb8ff24,#0a1220d1),var(--card-strong)}.login-showcase h1,.hero-panel h1{margin:.25rem 0 1rem;font-size:clamp(2.5rem,4vw,4.6rem);line-height:.96}.login-showcase p,.hero-copy,.meta-line,.empty-panel p{color:var(--muted);max-width:62ch}.showcase-points,.hero-actions,.form-actions,.section-head{display:flex;gap:.75rem}.showcase-points{flex-wrap:wrap;margin-top:1.5rem}.showcase-points span,.welcome-pill,.status-pill{border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;padding:.55rem .9rem}.login-card{align-self:center;background:#0a1728e0}.login-form,.ssh-form{display:grid;gap:1rem;margin-top:1.5rem}.login-form label,.ssh-form label{display:grid;gap:.5rem;color:var(--muted)}input,select,textarea{border:1px solid rgba(176,197,227,.12);border-radius:14px;background:#090f1ae6;color:var(--text);padding:.9rem 1rem}textarea{min-height:140px;resize:vertical;font-family:JetBrains Mono,monospace}.primary-button,.ghost-button,.danger-button{border-radius:12px;padding:.82rem 1.05rem;border:1px solid transparent;transition:transform .18s ease,border-color .18s ease,background .18s ease}.primary-button{background:linear-gradient(135deg,#a9c6ff,#c5f3e5);color:#08111d;font-weight:700}.ghost-button{background:#ffffff08;color:var(--text);border-color:#ffffff14}.danger-button{background:#ff7b7b14;color:#ffd5d5;border-color:#ff7b7b38}.primary-button:hover,.ghost-button:hover,.danger-button:hover{transform:translateY(-1px)}.primary-button:disabled,.ghost-button:disabled,.danger-button:disabled{opacity:.45;cursor:not-allowed}.dashboard-shell{padding:2rem}.hero-panel{display:flex;justify-content:space-between;gap:1.5rem;border-radius:32px;padding:2rem;background:radial-gradient(circle at top right,rgba(143,184,255,.16),transparent 28%),linear-gradient(145deg,#0e1726fa,#0b121efa)}.hero-actions{align-items:flex-start;flex-wrap:wrap}.refresh-toggle{display:inline-flex;gap:.35rem;padding:.32rem;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#ffffff08}.toggle-button{border:0;border-radius:999px;padding:.6rem .9rem;background:transparent;color:var(--muted)}.toggle-button.active{background:#8fb8ff29;color:var(--text)}.overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem;margin:1.5rem 0 2rem}.overview-card{border-radius:20px;padding:1.2rem 1.3rem}.overview-card span,.metric-tile span,.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;color:var(--muted)}.overview-card strong,.metric-tile strong{display:block;font-size:1.6rem;margin-top:.35rem}.section-head{align-items:end;justify-content:space-between;margin-bottom:1rem}.server-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start}.server-card{min-width:0;border-radius:24px;padding:1.35rem;background:linear-gradient(180deg,#101b2ceb,#0b1321eb)}.server-card-top{display:block}.server-heading-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.server-card h3{margin:.45rem 0 .1rem;font-size:1.35rem}.server-address{margin:0;color:var(--text);font-family:JetBrains Mono,monospace;font-size:.93rem}.status-pill.up{color:#072015;background:#b4f0dcf2}.status-pill.down{color:#fff;background:#ff7b7be6}.compact-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:1.15rem 0 .9rem}.compact-metric,.summary-stat,.detail-block{border-radius:18px;padding:1rem;background:#ffffff06;border:1px solid rgba(255,255,255,.05)}.compact-metric-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.7rem}.compact-metric-head strong,.summary-stat strong{font-size:1.05rem}.server-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.summary-stat span{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.45rem}.card-actions{display:flex;justify-content:space-between;gap:.8rem;margin-top:1rem}.card-actions>*{flex:1}.usage-bar{display:grid;grid-template-columns:auto 1fr auto;gap:.8rem;align-items:center;margin-bottom:1.3rem;color:var(--muted)}.usage-track{height:10px;border-radius:999px;background:#ffffff14;overflow:hidden}.usage-track.subtle{height:8px}.usage-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#bed0ff)}.usage-fill.accent-soft{background:linear-gradient(90deg,#8fb8ff,var(--accent-strong))}.server-details{display:grid;gap:1rem;margin-top:1rem}.services-table{display:grid;gap:.5rem}.services-header,.services-row{display:grid;grid-template-columns:1.5fr .8fr 1fr 1fr;gap:.7rem;border-radius:14px;padding:.85rem 1rem}.services-header{color:var(--muted);background:#ffffff06}.services-row{background:#ffffff09}.empty-state{color:var(--muted);margin:.5rem 0 0}.ssh-form{grid-template-columns:repeat(2,minmax(0,1fr))}.full-width{grid-column:1 / -1}.form-actions{align-items:center}.form-feedback,.terminal-error,.error-banner{color:var(--warning)}.empty-panel{border-radius:28px;padding:2rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#02070fb3;display:grid;place-items:center;padding:1.5rem}.terminal-modal{width:min(1100px,100%);border-radius:24px;padding:1.2rem;background:#040c16f5}.terminal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.terminal-header h3{margin:.2rem 0 0}.terminal-surface{height:65vh;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.08)}@media (max-width: 980px){.login-shell,.hero-panel{grid-template-columns:1fr;flex-direction:column}.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.server-grid{grid-template-columns:1fr}}@media (max-width: 720px){.dashboard-shell,.login-shell{padding:1rem}.overview-grid,.compact-metrics,.server-summary-grid,.ssh-form,.services-header,.services-row{grid-template-columns:1fr}.card-actions{flex-direction:column}.server-card,.hero-panel,.login-showcase,.login-card{border-radius:22px;padding:1.2rem}}
