/**
 * 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: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{-webkit-user-select:text;user-select:text;white-space:pre}.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}*{margin:0;padding:0;box-sizing:border-box}:root{color-scheme:dark}body{background:#0f1216;color:#d7dde4;font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.5}.shell{max-width:760px;margin:0 auto;padding:2rem 1.25rem}header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #232a33;padding-bottom:1rem;margin-bottom:1.5rem}.brand-logo{flex:none;width:230px;height:44px;background:url(/thatsarap-banner.png) no-repeat center -6px / 330px auto}.login-hero{display:block;width:100%;max-width:100%;height:auto;border-radius:8px;margin-bottom:.25rem}h1{font-size:1.35rem;font-weight:600;letter-spacing:.02em}h2{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#8a94a0;margin-bottom:.75rem}.badge{font-size:.75rem;padding:.15rem .6rem;border-radius:999px;border:1px solid}.badge-live{color:#6fdb8f;border-color:#2c5238;background:#14261a}.badge-dead{color:#e0808a;border-color:#55272d;background:#251518}.empty{color:#6b7480;padding:1.5rem;text-align:center;border:1px dashed #2a323c;border-radius:8px}.devices{list-style:none;display:flex;flex-direction:column;gap:.5rem}.device{display:flex;align-items:center;gap:.85rem;background:#161b21;border:1px solid #232a33;border-radius:8px;padding:.8rem 1rem}.dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.dot-online{background:#3ecf6b;box-shadow:0 0 6px #3ecf6b88}.device-main{display:flex;flex-direction:column;min-width:0;flex:1}.hostname{font-weight:600;color:#eef2f6;min-width:0;overflow-wrap:anywhere}.os{font-size:.8rem;color:#8a94a0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.device-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem}.mono{font-family:Consolas,Cascadia Code,monospace;font-size:.8rem;color:#9aa5b1}.version{font-size:.72rem;color:#6b7480}.dot-offline{background:#4a535e}.header-right{display:flex;align-items:center;gap:.6rem}.user{font-size:.8rem;color:#9aa5b1;max-width:16rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn{background:#202832;color:#d7dde4;border:1px solid #313c48;border-radius:6px;padding:.4rem .7rem;font-size:.82rem;cursor:pointer;font-family:inherit}.btn:hover{background:#27313d}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-sm{padding:.25rem .55rem;font-size:.75rem}.btn-connect{background:#1b3a5c;border-color:#2b567f;color:#cfe4ff}.btn-connect:hover:not(:disabled){background:#224a75}.btn-danger{background:#3a1d21;border-color:#6a2e35;color:#f0b5bc}.btn-danger:hover{background:#4a2429}.login-shell{min-height:100vh;display:grid;place-items:center;padding:1rem}.login-card{width:100%;max-width:340px;background:#161b21;border:1px solid #232a33;border-radius:12px;padding:1.75rem;display:flex;flex-direction:column;gap:.75rem}.login-card h1{font-size:1.35rem}.login-sub{color:#8a94a0;font-size:.85rem;margin-bottom:.5rem}.login-card label{display:flex;flex-direction:column;gap:.3rem;font-size:.78rem;color:#9aa5b1}.login-card input{background:#0f1216;border:1px solid #2a323c;border-radius:6px;padding:.5rem .6rem;color:#eef2f6;font-size:.9rem;font-family:inherit}.login-card input:focus{outline:none;border-color:#3a6ea5}.login-card button{margin-top:.5rem;background:#1b3a5c;border:1px solid #2b567f;color:#cfe4ff;border-radius:6px;padding:.55rem;font-size:.9rem;cursor:pointer}.login-card button:disabled{opacity:.5;cursor:not-allowed}.login-error{color:#e0808a;font-size:.8rem;background:#251518;border:1px solid #55272d;border-radius:6px;padding:.45rem .6rem;overflow-wrap:anywhere;max-height:9rem;overflow:auto}.login-hint{color:#6b7480;font-size:.72rem;margin-top:.25rem}.rc{display:flex;flex-direction:column;height:100vh}.rc-bar{display:flex;align-items:center;gap:.6rem;padding:.5rem .75rem;border-bottom:1px solid #232a33;background:#12161b}.rc-title{font-weight:600;color:#eef2f6;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rc-spacer{flex:1}.rc-bar select{background:#0f1216;color:#d7dde4;border:1px solid #2a323c;border-radius:6px;padding:.3rem .4rem;font-family:inherit}.rc-error{background:#251518;color:#e0808a;border-bottom:1px solid #55272d;padding:.4rem .75rem;font-size:.82rem;overflow-wrap:anywhere;max-height:9rem;overflow:auto}.tls-ok{background:#14261a;color:#6fdb8f;border:1px solid #2c5238;border-radius:8px;padding:.5rem .75rem;font-size:.85rem;line-height:1.45}.tls-ok code{color:#a8e8bd}.adv-details{margin-top:.75rem;border:1px solid #232a33;border-radius:8px;padding:.5rem .75rem;background:#12161b}.adv-details>summary{cursor:pointer;font-size:.82rem;font-weight:600;color:#8a94a0;text-transform:uppercase;letter-spacing:.06em;-webkit-user-select:none;user-select:none}.adv-details>summary:hover{color:#d7dde4}.adv-details[open]>summary{margin-bottom:.5rem}.rc-body{display:flex;flex:1;min-height:0}.rc-screen{flex:1;position:relative;display:grid;place-items:center;background:#05070a;overflow:hidden;padding:.5rem}.screen-canvas{max-width:100%;max-height:100%;width:auto;height:auto;background:#000;cursor:default;outline:none}.rc-overlay{position:absolute;color:#8a94a0;font-size:.9rem;pointer-events:none}.rc-switching{background:#12161bcc;border:1px solid #313c48;border-radius:6px;padding:.3rem .7rem}.rc-mons{display:flex;align-items:center;gap:.25rem}.rc-mon-active{background:#1b3a5c;border-color:#2b567f;color:#cfe4ff}.rc-mon-active:hover{background:#224a75}.rc-grid{flex:1;min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-content:start;gap:.75rem;padding:.75rem;background:#05070a;overflow:auto}.rc-grid-cell{margin:0;cursor:pointer;border:1px solid #313c48;border-radius:8px;overflow:hidden;background:#000}.rc-grid-cell:hover{border-color:#2b567f}.rc-grid-live canvas{display:block;width:100%;height:auto}.rc-grid-cell figcaption{padding:.35rem .6rem;font-size:.75rem;color:#9aa5b1;background:#12161b}.rc-files{width:300px;border-left:1px solid #232a33;background:#12161b;display:flex;flex-direction:column;min-height:0}.files-head{display:flex;align-items:center;justify-content:space-between;padding:.6rem .75rem;border-bottom:1px solid #232a33}.files-path{display:flex;align-items:center;gap:.4rem;padding:.4rem .75rem;border-bottom:1px solid #232a33;font-size:.75rem;overflow:hidden}.files-path code{color:#9aa5b1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.files-list{list-style:none;flex:1;overflow-y:auto;min-height:60px}.file-row{width:100%;display:flex;align-items:center;gap:.5rem;background:none;border:none;color:#d7dde4;padding:.35rem .75rem;cursor:pointer;font-size:.82rem;text-align:left;font-family:inherit}.file-row:hover{background:#1b222b}.file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{color:#6b7480;font-size:.72rem}.files-empty{color:#6b7480;padding:.6rem .75rem;font-size:.8rem}.files-log{border-top:1px solid #232a33;padding:.5rem .75rem;height:140px;overflow-y:auto;font-size:.72rem;color:#8a94a0;font-family:Consolas,monospace}.files-log div{margin-bottom:.2rem}.inv-summary{font-size:.72rem;color:#6b7480;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell-wide{max-width:1160px}.detail-title{display:flex;align-items:center;gap:.7rem;min-width:0}.detail-title h1{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-error{border:1px solid #55272d;border-radius:6px;margin-bottom:1rem}.detail-note{padding:.55rem .8rem;border-radius:6px;margin-bottom:1rem;font-size:.9rem}.detail-note-ok{border:1px solid #2c5136;background:#16241b;color:#b8e6c4}.detail-note-warn{border:1px solid #5a4d24;background:#241f12;color:#e8d9a6}.metrics-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.6rem;margin-bottom:1.75rem}.gauge{background:#161b21;border:1px solid #232a33;border-radius:8px;padding:.6rem .75rem;display:flex;flex-direction:column;gap:.4rem}.gauge-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.gauge-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#8a94a0}.gauge-value{font-size:.82rem;color:#eef2f6;font-variant-numeric:tabular-nums;white-space:nowrap}.gauge-sub{font-size:.7rem;color:#6b7480}.bar{height:6px;border-radius:999px;background:#0f1216;border:1px solid #232a33;overflow:hidden}.bar-fill{height:100%;border-radius:999px;transition:width .6s ease}.bar-ok{background:#2f81d6}.bar-warm{background:#d6a12f}.bar-hot{background:#d6452f}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:.6rem;margin-bottom:1.75rem}.card{background:#161b21;border:1px solid #232a33;border-radius:8px;padding:.85rem 1rem}.card h3{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#8a94a0;margin-bottom:.6rem}.fact{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.18rem 0;font-size:.82rem}.fact-k{color:#8a94a0;flex-shrink:0}.fact-v{color:#d7dde4;text-align:right;overflow-wrap:anywhere}.disk-row{padding:.3rem 0;display:flex;flex-direction:column;gap:.3rem}.disk-head{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem;font-size:.8rem}.nic-row{padding:.3rem 0;border-bottom:1px solid #1b222b}.nic-row:last-child{border-bottom:none}.nic-name{font-size:.82rem;color:#d7dde4}.nic-detail{display:flex;justify-content:space-between;gap:.8rem;font-size:.74rem;flex-wrap:wrap}.sw-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.6rem}.sw-head h2{margin-bottom:0}.sw-count{color:#5d6772;font-weight:500;text-transform:none;letter-spacing:normal}.sw-search{background:#0f1216;border:1px solid #2a323c;border-radius:6px;padding:.4rem .6rem;color:#eef2f6;font-size:.82rem;font-family:inherit;width:260px}.sw-search:focus{outline:none;border-color:#3a6ea5}.sw-table-wrap{border:1px solid #232a33;border-radius:8px;overflow:auto;max-height:480px;background:#161b21;margin-bottom:2rem}.sw-table{width:100%;border-collapse:collapse;font-size:.8rem}.sw-table th{text-align:left;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:#8a94a0;font-weight:600;padding:.5rem .75rem;border-bottom:1px solid #232a33;position:sticky;top:0;background:#161b21}.sw-table td{padding:.4rem .75rem;border-bottom:1px solid #1b222b;color:#c6cdd5;vertical-align:top}.sw-table tbody tr:hover td{background:#1b222b}.sw-none{color:#6b7480;text-align:center}.tabs{display:flex;gap:.15rem;border-bottom:1px solid #232a33;margin-bottom:1.25rem}.tab{background:none;border:none;border-bottom:2px solid transparent;color:#8a94a0;padding:.45rem .9rem;font-size:.85rem;font-family:inherit;cursor:pointer}.tab:hover{color:#d7dde4}.tab-active{color:#eef2f6;border-bottom-color:#2f81d6}.badge-run{color:#7fb7f0;border-color:#2b567f;background:#14202e}.badge-idle{color:#9aa5b1;border-color:#313c48;background:#1a2027}.badge-warn{color:#e6c67a;border-color:#5c4a1e;background:#241d10}.term-section select,.run-controls select,.form-grid select{background:#0f1216;color:#d7dde4;border:1px solid #2a323c;border-radius:6px;padding:.35rem .5rem;font-family:inherit;font-size:.82rem}.term-toolbar{display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem}.term-container{height:420px;min-height:420px;background:#0b0e12;border:1px solid #232a33;border-radius:8px;padding:.5rem;overflow:hidden}.term-container .xterm{height:100%}.run-card{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.5rem}.run-controls{display:flex;align-items:center;gap:.6rem}.run-input,.form-grid textarea{background:#0f1216;border:1px solid #2a323c;border-radius:6px;padding:.5rem .6rem;color:#eef2f6;font-size:.82rem;resize:vertical;width:100%}.run-input:focus,.form-grid textarea:focus,.form-grid input:focus{outline:none;border-color:#3a6ea5}.run-job-meta{margin-bottom:.4rem}.run-output{background:#0b0e12;border:1px solid #232a33;border-radius:8px;padding:.75rem;font-family:Consolas,Cascadia Code,monospace;font-size:.78rem;color:#c6cdd5;max-height:320px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:1.5rem}.run-history{max-height:260px;margin-bottom:1.5rem}.run-history-row{cursor:pointer}.run-what{max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Consolas,Cascadia Code,monospace;font-size:.76rem}.form-grid{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.form-grid input{background:#0f1216;border:1px solid #2a323c;border-radius:6px;padding:.45rem .6rem;color:#eef2f6;font-size:.85rem;font-family:inherit;width:100%}.form-row{display:flex;gap:.5rem;align-items:center}.form-row input{flex:1}.tab-actions{display:flex;align-items:center;gap:.6rem}.auto-toggle{display:flex;align-items:center;gap:.3rem;font-size:.75rem;color:#9aa5b1;cursor:pointer;white-space:nowrap}.th-sort{cursor:pointer;-webkit-user-select:none;user-select:none}.th-sort:hover{color:#d7dde4}.row-actions{display:flex;gap:.35rem;justify-content:flex-end;white-space:nowrap}.proc-user{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-nav{margin-bottom:1.5rem}.vault-card{margin:2rem auto;max-width:380px}.vault-card-title{font-size:1.05rem;font-weight:600;text-transform:none;letter-spacing:normal;color:#eef2f6;margin-bottom:.25rem;min-width:0;overflow-wrap:anywhere}.vault-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem;flex-wrap:wrap}.vault-note{font-size:.72rem;color:#6b7480;margin-bottom:1rem}.vault-items{list-style:none;display:flex;flex-direction:column;gap:.5rem}.vault-item{align-items:flex-start}.vault-item-corrupt{border-color:#5c4a1e;background:#1d1910}.vault-type-badge,.vault-device-badge{display:inline-block;font-size:.65rem;font-weight:500;padding:.05rem .45rem;border-radius:999px;margin-left:.5rem;vertical-align:middle;max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vault-type-badge{color:#9aa5b1;border:1px solid #313c48;background:#1a2027}.vault-device-badge{color:#7fb7f0;border:1px solid #2b567f;background:#14202e}.vault-secret{font-size:.82rem;color:#c6cdd5;overflow-wrap:anywhere}.vault-notes{font-size:.76rem;color:#8a94a0;white-space:pre-wrap;overflow-wrap:anywhere;border-left:2px solid #232a33;padding-left:.5rem;margin-top:.25rem}.strength{display:flex;align-items:center;gap:.6rem}.strength-bar{flex:1;height:6px;border-radius:999px;background:#0f1216;border:1px solid #232a33;overflow:hidden}.strength-fill{height:100%;border-radius:999px;transition:width .25s ease,background .25s ease;background:#4a535e}.strength-1 .strength-fill{background:#d6452f}.strength-2 .strength-fill{background:#d6a12f}.strength-3 .strength-fill{background:#2f81d6}.strength-4 .strength-fill{background:#3ecf6b}.strength-label{font-size:.72rem;color:#8a94a0;min-width:3.5rem;text-align:right}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#05070ab3;display:grid;place-items:center;padding:1rem;z-index:50}.modal{width:100%;max-width:460px;max-height:90vh;overflow-y:auto;background:#161b21;border:1px solid #232a33;border-radius:12px;padding:1.5rem}.vault-modal .form-grid{margin-top:.75rem}.vault-field{display:flex;flex-direction:column;gap:.3rem;font-size:.78rem;color:#9aa5b1;flex:1}.vault-field input,.vault-field textarea{background:#0f1216;border:1px solid #2a323c;border-radius:6px;padding:.45rem .6rem;color:#eef2f6;font-size:.85rem;font-family:inherit;width:100%}.vault-field input:focus,.vault-field textarea:focus{outline:none;border-color:#3a6ea5}.vault-modal-actions{justify-content:flex-end;margin-top:.5rem}.vault-generator{display:flex;flex-direction:column;gap:.5rem;background:#12161b;border:1px solid #232a33;border-radius:8px;padding:.6rem .75rem}.vault-gen-card{margin-bottom:1rem}.vault-gen-card .vault-generator{border:none;background:none;padding:0}.vault-gen-output{flex:1;background:#0f1216;border:1px solid #2a323c;border-radius:6px;padding:.4rem .6rem;font-size:.8rem;color:#eef2f6;overflow-wrap:anywhere;min-width:0}.vault-gen-controls{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap}.vault-gen-controls input[type=range]{width:120px;accent-color:#2f81d6}.vault-gen-controls input[type=checkbox]{accent-color:#2f81d6}.access-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.35rem 1rem;padding:.5rem .25rem}.access-option{display:flex;align-items:center;gap:.45rem;font-size:.85rem;cursor:pointer}.access-option input[type=checkbox]{accent-color:#2f81d6}.access-section-label{margin:.5rem 0 .15rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#8b98a5}.group-chip{display:inline-block;background:#22303c;border:1px solid #33424f;border-radius:999px;padding:.05rem .55rem;font-size:.7rem;color:#aeb9c4;margin-left:.35rem;max-width:9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.fleet-toolbar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.fleet-search{flex:1 1 220px;min-width:0;width:auto}.fleet-toolbar select{background:#0f1216;color:#d7dde4;border:1px solid #2a323c;border-radius:6px;padding:.4rem .5rem;font-family:inherit;font-size:.82rem;max-width:12rem}.fleet-count{font-size:.75rem;color:#6b7480;white-space:nowrap;margin-left:auto}.skel-row .device-main{gap:.45rem}.skel-bar{display:block;height:.8rem;border-radius:4px;background:#232a33;animation:skel-pulse 1.2s ease-in-out infinite}@keyframes skel-pulse{0%,to{opacity:.55}50%{opacity:1}}.load-error{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;background:#251518;color:#e0808a;border:1px solid #55272d;border-radius:8px;padding:.85rem 1rem;font-size:.85rem;overflow-wrap:anywhere}@media(max-width:700px){.shell{padding:1.25rem .85rem}header{flex-wrap:wrap;gap:.5rem .75rem}.header-right{width:100%;flex-wrap:wrap;justify-content:flex-start;row-gap:.4rem}.header-right .btn{margin-left:auto}.user{max-width:60vw}.tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.tab{flex:none;white-space:nowrap}.form-row,.run-controls,.term-toolbar,.tab-actions,.sw-head,.rc-bar{flex-wrap:wrap}.form-row input{flex:1 1 160px}.device{flex-wrap:wrap}.device-main{flex:1 1 12rem}.row-actions{flex-wrap:wrap;white-space:normal;justify-content:flex-start}.sw-search,.run-input,.fleet-search{width:100%;flex-basis:100%}.fleet-count{margin-left:0}.rc-body{flex-direction:column}.rc-files{width:100%;border-left:none;border-top:1px solid #232a33;max-height:40vh}}
