/**
 * 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}:root{color-scheme:dark;--bg: #0b0f14;--bg-elevated: #121820;--bg-surface: #1a222d;--bg-hover: #243040;--bg-overlay: #1e2836;--border: rgba(148, 163, 184, .18);--border-subtle: rgba(148, 163, 184, .1);--border-strong: rgba(148, 163, 184, .28);--text: #f1f5f9;--text-muted: #94a3b8;--text-subtle: #64748b;--primary: #22c55e;--primary-hover: #16a34a;--primary-muted: rgba(34, 197, 94, .14);--primary-fg: #86efac;--accent: #38bdf8;--secondary: #38bdf8;--secondary-muted: rgba(56, 189, 248, .12);--secondary-glow: rgba(56, 189, 248, .1);--danger: #f87171;--danger-bg: rgba(248, 113, 113, .1);--danger-border: rgba(248, 113, 113, .35);--warning: #fbbf24;--warning-bg: rgba(251, 191, 36, .1);--focus-ring: #38bdf8;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--shadow-sm: 0 1px 0 rgba(255, 255, 255, .03) inset;--shadow-md: 0 0 0 1px var(--border-subtle), 0 12px 40px rgba(0, 0, 0, .35);--shadow-lg: 0 0 0 1px var(--border), 0 24px 64px rgba(0, 0, 0, .5);--transition: .18s cubic-bezier(.16, 1, .3, 1);--header-offset: 4.25rem;--z-sticky: 50;--z-overlay: 100;--z-modal: 200;--font-sans: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-mono: "Fira Code", ui-monospace, SFMono-Regular, Menlo, monospace;font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.5;font-feature-settings:"ss01" on,"cv11" on;letter-spacing:-.011em}*,*:before,*:after{box-sizing:border-box}html{overflow-x:clip}body{margin:0;min-height:100vh;overflow-x:clip;overscroll-behavior-y:contain;-webkit-font-smoothing:antialiased;background:radial-gradient(ellipse 70% 40% at 50% -15%,rgba(34,197,94,.07),transparent 60%),radial-gradient(ellipse 50% 30% at 100% 0%,rgba(56,189,248,.04),transparent 50%),var(--bg)}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.02em}h1{font-size:1.5rem}h2{font-size:1.15rem}h3{font-size:.95rem}code{font-family:var(--font-mono);font-size:.85em;background:#94a3b814;padding:.1em .35em;border-radius:4px}.layout{position:relative;max-width:1360px;margin:0 auto;padding:1.25rem 1.25rem 3rem;width:100%}.layout-auth{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem 1rem;background-color:var(--bg);background-image:radial-gradient(ellipse 60% 45% at 50% 35%,rgba(34,197,94,.08),transparent 65%),linear-gradient(rgba(148,163,184,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.04) 1px,transparent 1px);background-size:auto,40px 40px,40px 40px}.skip-link{position:absolute;top:-100%;left:1rem;z-index:200;padding:.5rem 1rem;border-radius:var(--radius-sm);background:var(--accent);color:var(--bg);font-weight:600;text-decoration:none;transition:top var(--transition)}.skip-link:focus{top:1rem;outline:2px solid var(--text);outline-offset:2px}.app-main{display:grid;grid-template-columns:1fr;gap:1.25rem;align-items:start}@media(min-width:1100px){.app-main.has-selection{grid-template-columns:minmax(14rem,18rem) minmax(0,1fr)}.app-main.has-selection .fleet-pane{position:sticky;top:var(--header-offset);max-height:calc(100vh - var(--header-offset) - 1.5rem);overflow:auto;margin-bottom:0}.app-main.has-selection .detail-pane{margin-bottom:0}}.loading-line{padding:2rem 0;text-align:center}.loading-block{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:3rem 1rem}.header-sticky{position:sticky;top:0;z-index:var(--z-sticky);margin:-1.25rem -1.25rem 1.25rem;padding:.75rem 1.25rem;padding-top:max(.75rem,env(safe-area-inset-top,0px));background:color-mix(in srgb,var(--bg) 78%,transparent);-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);border-bottom:1px solid var(--border-subtle)}.header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin-bottom:0;padding-bottom:0;border-bottom:none}.brand{display:flex;align-items:center;gap:.7rem}.brand-mark{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:var(--radius-sm);background:var(--primary-muted);color:var(--primary-fg);flex-shrink:0;box-shadow:inset 0 0 0 1px #22c55e33}.brand h1{font-size:1.05rem;font-weight:650;letter-spacing:-.03em}.brand-sub{margin:.1rem 0 0;font-size:.75rem;color:var(--text-subtle);letter-spacing:.01em}.header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.section-card,.panel{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:var(--shadow-sm)}.section-card{padding:1.15rem 1.2rem;margin-bottom:1rem}.section-title{margin:0;font-size:.95rem;font-weight:650;letter-spacing:-.02em}.panel{padding:1rem}.login-card{width:min(380px,100%);padding:2rem 1.75rem;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-md)}.login-brand{margin-bottom:1.75rem;text-align:center}.login-brand-icon{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;margin-bottom:.85rem;border-radius:var(--radius-md);background:var(--primary-muted);color:var(--primary-fg);box-shadow:inset 0 0 0 1px #22c55e38}.login-brand h1{font-size:1.5rem;letter-spacing:-.03em}.login-submit{width:100%;margin-top:.5rem;padding:.6rem 1rem}.login-card label,.modal-body label,.panel label,.form-card label{display:block;margin-bottom:.85rem;font-size:.875rem;font-weight:500;color:var(--text-muted)}.login-card input,.modal-body input,.modal-body select,.modal-body textarea,.panel input,.panel select,.panel textarea,.form-card input,.form-card select,.form-card textarea,.fleet-search{display:block;width:100%;margin-top:.35rem;padding:.55rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;transition:border-color var(--transition),box-shadow var(--transition),background var(--transition)}.modal-body textarea,.panel textarea,.form-card textarea{resize:vertical;min-height:4.5rem}.login-card input:hover,.modal-body input:hover,.modal-body select:hover,.panel input:hover,.panel select:hover,.form-card input:hover,.form-card select:hover,.fleet-search:hover{border-color:var(--border-strong)}.login-card input:focus-visible,.modal-body input:focus-visible,.modal-body select:focus-visible,.modal-body textarea:focus-visible,.panel input:focus-visible,.panel select:focus-visible,.panel textarea:focus-visible,.form-card input:focus-visible,.form-card select:focus-visible,.form-card textarea:focus-visible,.fleet-search:focus-visible{outline:none;border-color:color-mix(in srgb,var(--accent) 70%,transparent);box-shadow:0 0 0 3px #38bdf826;background:var(--bg-elevated)}.group-mode{border:none;margin:0 0 .85rem;padding:0}.group-mode legend{font-size:.875rem;font-weight:500;color:var(--text-muted);margin-bottom:.5rem}.group-mode label{display:inline-flex;align-items:center;gap:.4rem;margin-right:1rem;color:var(--text);cursor:pointer}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b0f14b8;-webkit-backdrop-filter:blur(6px) saturate(1.1);backdrop-filter:blur(6px) saturate(1.1);display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem;animation:overlay-in .16s cubic-bezier(.16,1,.3,1)}.modal-body{background:var(--bg-overlay);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.5rem;width:min(440px,100%);box-shadow:var(--shadow-lg);animation:panel-in .2s cubic-bezier(.16,1,.3,1)}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes panel-in{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.modal,.modal-body{animation:none}}.modal-body-wide{width:min(520px,100%)}.modal-title-icon{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;margin-right:.4rem;vertical-align:middle;border-radius:var(--radius-sm);background:var(--secondary-glow);color:#a5b4fc}.modal-lead{margin:-.25rem 0 1.25rem;font-size:.875rem;line-height:1.5}.pairing-success{text-align:center}.pairing-expires{margin:0 0 1.25rem}.pairing-actions{justify-content:center;margin-bottom:0}.confirm-icon{display:inline-block;width:1.25rem;height:1.25rem;margin-right:.4rem;vertical-align:-.2em;color:var(--danger)}.confirm-modal h2{display:flex;align-items:center;gap:.35rem}.confirm-modal h2{margin-bottom:.75rem}.confirm-message{margin:0 0 1.25rem;color:var(--text-muted);line-height:1.6}.confirm-actions{justify-content:flex-end}.pairing-code{font-size:clamp(1.5rem,6vw,2.5rem);letter-spacing:.2em;text-align:center;font-weight:700;margin:1.25rem 0;color:var(--primary);font-family:var(--font-mono);overflow-wrap:anywhere}.fleet-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.5rem;margin-bottom:.85rem}.fleet-stats{display:flex;flex-wrap:wrap;gap:.35rem}.fleet-stat{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;font-variant-numeric:tabular-nums;color:var(--text-muted);padding:.2rem .5rem;border-radius:999px;background:#94a3b80f;border:1px solid var(--border-subtle)}.fleet-filters{display:flex;flex-direction:column;gap:.65rem;margin-bottom:.85rem}@media(min-width:720px){.fleet-filters{flex-direction:row;align-items:center}.fleet-search-field{flex:1;min-width:12rem;max-width:22rem}}.fleet-search-field{position:relative;display:block;flex:1;min-width:12rem;max-width:22rem}.fleet-search-icon{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);width:.95rem;height:.95rem;color:var(--text-subtle);pointer-events:none}.fleet-search-field .fleet-search{margin-top:0;padding-left:2.15rem}.fleet-result-count{margin:0;font-size:.75rem;font-variant-numeric:tabular-nums;white-space:nowrap}.fleet-search{margin-top:0}.filter-chips{display:inline-flex;flex-wrap:wrap;gap:.15rem;padding:.2rem;border-radius:999px;background:#94a3b80f;border:1px solid var(--border-subtle)}.chip{font-size:.78rem;padding:.32rem .7rem;border-radius:999px;background:transparent;border:1px solid transparent;color:var(--text-muted);cursor:pointer;transition:background var(--transition),border-color var(--transition),color var(--transition)}.chip:hover{background:#94a3b81a;color:var(--text)}.chip.active{background:var(--bg-surface);border-color:var(--border);color:var(--text);box-shadow:0 1px 2px #0003}.chip:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.chip:active{transform:scale(.97)}.fleet-empty{margin:.75rem 0 0;text-align:center}.table-wrap{overflow-x:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg) 55%,transparent)}.table{width:100%;border-collapse:collapse;font-size:.8125rem}.table th,.table td{text-align:left;padding:.55rem .75rem;border-bottom:1px solid var(--border-subtle);white-space:nowrap}.table th{position:sticky;top:0;z-index:1;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-subtle);background:color-mix(in srgb,var(--bg-elevated) 92%,var(--bg-surface));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.table tbody tr:last-child td{border-bottom:none}.table tbody tr{cursor:pointer;transition:background var(--transition)}.table tbody tr:hover{background:#94a3b80f}.table tbody tr.selected{background:#22c55e14;box-shadow:inset 2px 0 0 var(--primary)}.table tbody tr:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.table-data tbody tr{cursor:default}.table-data tbody tr:hover{background:#94a3b80a}.table-compact th,.table-compact td{padding:.4rem .5rem;font-size:.78rem}.fleet-compact .fleet-toolbar,.fleet-compact .fleet-filters{margin-bottom:.5rem}.fleet-compact .filter-chips .chip{padding:.35rem .6rem;font-size:.75rem;min-height:2rem}.fleet-name-only{display:inline-flex;align-items:center;gap:.45rem;min-width:0;max-width:100%}.fleet-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fleet-status-pip{width:.5rem;height:.5rem;border-radius:50%;flex-shrink:0}.fleet-status-pip.online{background:#86efac}.fleet-status-pip.degraded{background:var(--warning)}.fleet-status-pip.offline{background:var(--text-subtle)}.fleet-compact .table-wrap{overflow-x:hidden}.badge{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.72rem;font-weight:600;text-transform:capitalize;letter-spacing:.02em}.badge.online{background:var(--primary-muted);color:var(--primary-fg);box-shadow:inset 0 0 0 1px #22c55e33}.badge.degraded{background:var(--warning-bg);color:var(--warning);box-shadow:inset 0 0 0 1px #fbbf2433}.badge.offline{background:#94a3b814;color:var(--text-muted);box-shadow:inset 0 0 0 1px var(--border-subtle)}.badge.expired{background:var(--danger-bg);color:var(--danger)}.badge.action-queued{background:var(--bg-surface);color:var(--text-muted)}.badge.action-progress,.badge.action-running{background:var(--secondary-muted);color:#7dd3fc}.badge.action-running{box-shadow:0 0 0 1px #38bdf859}.badge.action-succeeded{background:var(--primary-muted);color:#86efac}.badge.action-failed{background:var(--danger-bg);color:var(--danger)}.badge.action-cancelled{background:var(--warning-bg);color:var(--warning)}.badge.sync-synced{background:var(--primary-muted);color:#86efac}.badge.sync-pending{background:var(--warning-bg);color:var(--warning)}.badge.sync-drifted{background:var(--danger-bg);color:var(--danger)}.panel-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem 1rem;margin-bottom:1rem;padding-bottom:.85rem;border-bottom:1px solid var(--border-subtle)}.panel-header h3{margin:0;font-size:.95rem;font-weight:650;letter-spacing:-.02em}.panel-header-desc{margin:.3rem 0 0;font-size:.8rem;line-height:1.45;max-width:42rem}.panel-header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.alert-banner{display:flex;align-items:flex-start;gap:.65rem;margin-bottom:1rem;padding:.65rem .85rem;border-radius:var(--radius-sm);font-size:.875rem;line-height:1.5}.alert-banner-icon{flex-shrink:0;margin-top:.1rem}.alert-banner-content{flex:1;min-width:0}.alert-banner-info{border:1px solid rgba(56,189,248,.35);background:#0c4a6e59;color:#bae6fd}.alert-banner-info .alert-banner-icon{color:var(--accent)}.alert-banner-warning{border:1px solid rgba(251,191,36,.35);background:var(--warning-bg);color:#fde68a}.alert-banner-warning .alert-banner-icon{color:var(--warning)}.alert-banner-error{border:1px solid var(--danger-border);background:var(--danger-bg);color:#fecaca}.alert-banner-error .alert-banner-icon{color:var(--danger)}.form-card{padding:1rem;margin-bottom:1rem;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#0f172a73}.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:.15rem;font-size:.85rem}.breadcrumb-segment{display:inline-flex;align-items:center}.breadcrumb-sep{margin:0 .2rem;color:var(--text-subtle)}.breadcrumb-link,.breadcrumb-current{background:none;border:none;padding:.15rem .25rem;font:inherit;font-family:var(--font-mono);font-size:.8rem;cursor:pointer;border-radius:3px}.breadcrumb-link{color:var(--accent)}.breadcrumb-link:hover{text-decoration:underline}.breadcrumb-current{color:var(--text-muted);cursor:default}.apps-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.5rem}.apps-count{margin:.5rem 0;font-size:.8rem}.app-actions{display:flex;flex-wrap:wrap;gap:.35rem}.app-action-btn{font-size:.75rem;min-height:2.25rem;padding:.35rem .6rem}.schedule-header{display:flex;align-items:center;gap:.6rem}.schedule-editor{margin:.75rem 0;display:flex;flex-direction:column;gap:.75rem;max-width:28rem}.schedule-days{display:flex;flex-wrap:wrap;gap:.5rem}.schedule-day{display:inline-flex;align-items:center;gap:.3rem;font-size:.85rem}.schedule-reported{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border)}.schedule-report-grid{display:grid;grid-template-columns:max-content 1fr;gap:.35rem 1rem;margin:.5rem 0 0;font-size:.85rem}.schedule-report-grid dt{color:var(--text-muted)}.schedule-report-grid dd{margin:0;font-family:var(--font-mono, monospace)}.device-workspace{display:flex;flex-direction:column;gap:0;margin-bottom:1.5rem;padding:0;width:100%;max-width:100%;min-width:0;overflow:clip;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:var(--shadow-sm)}.device-workspace-header{display:flex;flex-direction:column;gap:.85rem;padding:1rem 1.1rem;min-width:0;border-bottom:1px solid var(--border);background:linear-gradient(180deg,rgba(34,197,94,.06),transparent 70%),var(--bg-elevated)}.device-workspace-identity{display:flex;align-items:flex-start;gap:.75rem}.device-workspace-title-block{flex:1;min-width:0}.detail-close.detail-back{display:inline-flex;align-items:center;gap:.35rem;flex-shrink:0;min-height:2.75rem;min-width:2.75rem;padding:.35rem .65rem;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:background var(--transition),color var(--transition),border-color var(--transition)}.detail-close.detail-back:hover:not(:disabled){background:var(--bg-surface);color:var(--text)}.detail-back-label{font-size:.82rem;font-weight:500}.btn-label-short{display:none}.device-workspace-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .65rem}.device-workspace-title-row h2{margin:0;min-width:0;max-width:100%;font-size:1.2rem;letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-workspace-id{margin:.35rem 0 0;font-size:.75rem}.device-workspace-id code{background:transparent;padding:0;color:var(--text-subtle)}.device-meta-line{margin:.45rem 0 0;font-size:.8rem;line-height:1.4}.device-workspace-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem;min-width:0;width:100%}.device-workspace-toolbar>.primary{margin:0}.device-workspace-danger{display:flex;flex-wrap:wrap;gap:.4rem;margin-left:auto;min-width:0;max-width:100%}.device-workspace-body{display:grid;grid-template-columns:1fr;min-height:0;min-width:0;width:100%}.device-nav{border-bottom:1px solid var(--border);background:#02061759;min-width:0;max-width:100%}.device-nav-list{display:flex;gap:.25rem;padding:.45rem;overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch;max-width:100%;min-width:0}.device-nav-item{display:inline-flex;align-items:center;gap:.55rem;flex:0 0 auto;min-width:8.5rem;padding:.55rem .7rem;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);text-align:left;cursor:pointer;transition:background var(--transition),border-color var(--transition),color var(--transition)}.device-nav-item:hover:not(:disabled){background:var(--bg-surface);color:var(--text);border-color:var(--border)}.device-nav-item.active{background:var(--bg-surface);border-color:var(--primary);color:var(--text);box-shadow:inset 3px 0 0 var(--primary)}.device-nav-icon{width:1.05rem;height:1.05rem;flex-shrink:0;opacity:.9}.device-nav-copy{display:flex;flex-direction:column;gap:.05rem;min-width:0}.device-nav-label{font-size:.82rem;font-weight:600;line-height:1.2}.device-nav-hint{font-size:.68rem;color:var(--text-subtle);line-height:1.2}.device-nav-item.active .device-nav-hint{color:var(--text-muted)}.device-workspace-content{padding:1rem 1.1rem 1.15rem;min-width:0}.device-workspace-content .actions{margin-bottom:.85rem}.detail-close{flex-shrink:0}.btn-icon-only{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;min-width:2.75rem;min-height:2.75rem;padding:0;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted)}.btn-icon-only:hover:not(:disabled){background:var(--bg-surface);color:var(--text)}.tabpanel{animation:tabpanel-in .2s ease}@keyframes tabpanel-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(min-width:860px){.device-workspace-body{grid-template-columns:11.5rem minmax(0,1fr)}.device-nav{border-bottom:none;border-right:1px solid var(--border)}.device-nav-list{flex-direction:column;overflow-x:visible;padding:.55rem;gap:.2rem}.device-nav-item{width:100%;min-width:0}}@media(min-width:1100px){.app-main.has-selection .detail-pane.device-workspace{position:sticky;top:var(--header-offset);max-height:calc(100vh - var(--header-offset) - 1.25rem);overflow:auto}}.actions-panel{margin-bottom:0;padding:0;border:none;background:transparent}.action-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.75rem;margin-bottom:1.25rem}.action-group{padding:.85rem;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#0f172a73}.action-group-title{margin:0 0 .6rem;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-subtle)}.action-group-buttons{display:flex;flex-direction:column;gap:.4rem}.action-group-utility{grid-column:1 / -1;display:flex;align-items:center;justify-content:flex-end;background:transparent;border-style:dashed}.actions-waiting{display:inline-flex;align-items:center;gap:.5rem;margin:0;font-size:.85rem;color:var(--accent)}.actions-history-title{margin:0 0 .65rem;font-size:.85rem;font-weight:600;color:var(--text-muted)}.action-type-label{display:block;font-weight:500}.action-type-code{display:block;margin-top:.15rem;font-size:.75rem;color:var(--text-muted)}.actions-spinner{width:.875rem;height:.875rem;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:actions-spin .8s linear infinite}@keyframes actions-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.actions-spinner,.video-spinner{animation:none;border-top-color:var(--accent)}.status-pill-pulse{animation:none}.skeleton-row{animation:none;background:var(--bg-surface)}.tabpanel{animation:none}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.actions-offline-hint{margin:0 0 .75rem}.actions-table-wrap{overflow-x:auto}.action-detail{max-width:22rem;word-break:break-word;font-size:.875rem}.device-info-panel{margin-bottom:0;padding:0;border:none;background:transparent}.device-recent-events{margin-top:1.25rem}.device-recent-events-title{font-size:.95rem;font-weight:600;margin:0 0 .5rem}.device-event-strip{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.device-event-strip li{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:baseline;font-size:.875rem}.device-event-type{font-weight:600}.update-available-badge{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.02em;color:var(--accent, #b45309);background:color-mix(in srgb,var(--accent, #b45309) 12%,transparent);padding:.15rem .45rem;border-radius:.25rem}.device-info-panel h3{margin:0 0 .75rem}.device-info-note{margin:0 0 .75rem;font-size:.85rem}.device-info{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.85rem 1rem;margin:0;font-size:.9rem}.info-bento{gap:.65rem}.info-card{padding:.75rem .85rem;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#0f172a73;transition:border-color var(--transition),background var(--transition)}.info-card-highlight{border-color:#6366f159;background:var(--secondary-glow)}.info-card dt{margin:0;color:var(--text-subtle);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}.info-card dd{margin:.35rem 0 0;word-break:break-word}.device-info dt{margin:0;color:var(--text-subtle);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}.device-info dd{margin:.2rem 0 0;word-break:break-word}.device-info dd.mono{font-family:var(--font-mono);font-size:.82rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.support-panel{padding-top:.25rem}.support-split{grid-template-columns:1fr;align-items:stretch}.support-split .terminal-wrap .terminal{height:220px;min-height:220px}.support-split.is-video-expanded .terminal-wrap{display:none}.tab-label{display:inline-flex;align-items:center;gap:.35rem}.tab-icon{width:1rem;height:1rem;opacity:.85}.btn-with-icon{display:inline-flex;align-items:center;gap:.4rem}.btn-icon{width:1rem;height:1rem;flex-shrink:0}@media(max-width:1099px){.layout.has-device-selection .pending-panel,.app-main.has-selection .fleet-pane{display:none}.app-main.has-selection{grid-template-columns:1fr}.app-main.has-selection .detail-pane.device-workspace{position:static;max-height:none;overflow:visible}}@media(max-width:900px){.layout{padding:1rem .75rem 2rem;overflow-x:clip}.header-sticky{margin:-1rem -.75rem 1rem;padding:.75rem}.header{flex-direction:row;align-items:center;gap:.65rem}.brand-sub{display:none}.brand-mark{width:2.15rem;height:2.15rem}.brand h1{font-size:1.05rem}.header-actions{gap:.35rem}.header-actions button{min-width:2.75rem;min-height:2.75rem;padding:.45rem .65rem}.header-actions .btn-label,.header-actions .btn-label-full{display:none}.header-actions .btn-label-short,.header-actions .primary .btn-label{display:inline}.split{grid-template-columns:1fr}.device-workspace{border-radius:var(--radius-sm)}.device-workspace-header{padding:.85rem .85rem .9rem;gap:.7rem}.device-workspace-title-row h2{font-size:1.05rem}.device-workspace-id,.device-meta-line{font-size:.72rem;word-break:break-word}.device-workspace-toolbar{flex-direction:column;align-items:stretch}.device-workspace-danger{margin-left:0;width:100%}.device-workspace-danger .danger{flex:1 1 calc(50% - .2rem);min-width:7rem;min-height:2.75rem}.device-workspace-toolbar .btn-with-icon{width:100%;max-width:100%;justify-content:center;min-height:2.75rem}.device-meta-line{overflow-wrap:anywhere}.alert-banner{max-width:100%}.alert-banner-content{overflow-wrap:anywhere}.device-workspace-content{padding:.85rem;max-width:100%}.device-workspace-body{min-height:0}.action-groups{grid-template-columns:1fr}.filter-chips{flex-wrap:wrap;gap:.45rem}.chip{flex:0 0 auto;min-height:2.5rem;padding:.4rem .85rem}.fleet-search,.login-card input{min-height:2.75rem;font-size:1rem}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.fleet-section:not(.fleet-compact) .col-secondary,.fleet-section:not(.fleet-compact) thead th:nth-child(2),.fleet-section:not(.fleet-compact) thead th:nth-child(3),.fleet-section:not(.fleet-compact) thead th:nth-child(4),.fleet-section:not(.fleet-compact) thead th:nth-child(6),.fleet-section:not(.fleet-compact) tbody td:nth-child(2),.fleet-section:not(.fleet-compact) tbody td:nth-child(3),.fleet-section:not(.fleet-compact) tbody td:nth-child(4),.fleet-section:not(.fleet-compact) tbody td:nth-child(6){display:none}.app-main,.detail-pane,.fleet-pane,.section-card{min-width:0;max-width:100%}.video-stage{aspect-ratio:16 / 9}.video-wrap.is-expanded .video-stage{height:min(70vh,560px);max-height:min(70vh,560px)}.video-controls{gap:.4rem}.video-control-btn{min-height:2.75rem}.video-header{flex-wrap:wrap}.video-header-actions{gap:.45rem}.support-split .terminal-wrap .terminal{height:200px;min-height:200px}.terminal-input-row{min-height:2.75rem}.touch-coach-dialog{max-width:calc(100% - 1rem);margin:.5rem;padding:.85rem}.modal{padding:.75rem;width:min(28rem,calc(100% - 1.5rem))}}@media(max-width:859px){.device-nav-list{gap:.2rem;padding:.4rem;scroll-snap-type:x proximity}.device-nav-item{min-width:4.75rem;min-height:2.75rem;padding:.45rem .55rem;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;text-align:center;scroll-snap-align:start}.device-nav-item.active{box-shadow:inset 0 -3px 0 var(--primary)}.device-nav-hint{display:none}.device-nav-label{font-size:.72rem}.device-nav-icon{width:1.15rem;height:1.15rem}}@media(max-width:480px){.layout{padding:.75rem .55rem 1.75rem}.header-sticky{margin:-.75rem -.55rem .85rem}.header-actions .primary .btn-label{display:none}.device-workspace-title-row{gap:.35rem}.detail-back-label{display:none}.detail-close.detail-back{width:2.5rem;height:2.5rem;padding:0;justify-content:center}}.terminal{width:100%;height:280px;min-height:280px;overflow:hidden;position:relative;border:1px solid var(--border-subtle);border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:#000}.terminal-output{cursor:default}.terminal-input-row{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1px solid var(--border-subtle);border-top:none;border-radius:0 0 var(--radius-sm) var(--radius-sm);background:var(--bg)}.terminal-input-row:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px #38bdf84d}.terminal-input-label{color:var(--text-subtle);font-family:var(--font-mono);font-size:13px;-webkit-user-select:none;user-select:none}.terminal-input{flex:1;min-width:0;border:none;background:transparent;color:var(--text);font-family:var(--font-mono);font-size:13px;outline:none}.terminal-input:disabled{color:var(--text-subtle);cursor:not-allowed}.terminal .xterm{height:100%;padding:4px}.video-wrap,.terminal-wrap{display:flex;flex-direction:column;gap:.65rem;min-width:0}.video-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.video-header-actions{display:inline-flex;align-items:center;gap:.35rem}.video-wrap h3,.terminal-wrap h3{margin:0;font-size:.95rem;font-weight:600}.video-stage{position:relative;width:100%;aspect-ratio:16 / 9;background:#000;border-radius:var(--radius-sm);overflow:hidden}.video-controls{display:flex;flex-wrap:wrap;gap:.5rem;padding:.45rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated)}.video-control-btn{flex:1 1 0;min-width:5.5rem;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.75rem}.video-control-btn .btn-icon{width:1rem;height:1rem;flex-shrink:0}.video-canvas{display:block;width:100%;height:100%;background:#000;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);object-fit:contain}.video-canvas.is-interactive{cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none}.video-wrap.is-expanded .video-stage{max-height:min(72vh,720px);aspect-ratio:auto;height:min(72vh,720px)}.video-wrap.is-expanded .video-canvas{height:100%}.video-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:1.25rem;text-align:center;border-radius:var(--radius-sm);background:#020617d1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.video-overlay-error{border:1px solid rgba(248,113,113,.35)}.video-overlay-ended{border:1px solid var(--border-subtle)}.video-overlay-icon{color:var(--danger);flex-shrink:0}.video-overlay-text{margin:0;max-width:22rem;font-size:.875rem;color:var(--text-muted);line-height:1.5}.video-spinner{width:1.75rem;height:1.75rem;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:actions-spin .8s linear infinite}.video-footnote{margin:0;font-size:.8rem}.touch-coach-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center;padding:1rem;border-radius:var(--radius-sm);background:#020617b8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.touch-coach-dialog{width:min(22rem,100%);padding:1.1rem 1.15rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:var(--shadow-lg)}.touch-coach-title{margin:0 0 .35rem;font-size:1rem}.touch-coach-lead{margin:0 0 .85rem;font-size:.85rem}.touch-coach-list{margin:0 0 1rem;padding:0;list-style:none;display:flex;flex-direction:column;gap:.65rem}.touch-coach-item{display:flex;align-items:flex-start;gap:.55rem;font-size:.82rem;line-height:1.45;color:var(--text-muted)}.touch-coach-icon{flex-shrink:0;margin-top:.1rem;color:var(--text)}.touch-coach-keys{display:inline-flex;gap:.15rem;flex-shrink:0}.touch-coach-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){.touch-coach-overlay{-webkit-backdrop-filter:none;backdrop-filter:none}}.status-pill{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.status-pill-neutral{background:var(--bg-surface);color:var(--text-muted)}.status-pill-active{background:#38bdf826;color:#7dd3fc}.status-pill-success{background:var(--primary-muted);color:var(--primary-fg)}.status-pill-warning{background:var(--warning-bg);color:var(--warning)}.status-pill-error{background:var(--danger-bg);color:var(--danger)}.status-pill-pulse{animation:pill-pulse 2s ease-in-out infinite}@keyframes pill-pulse{0%,to{opacity:1}50%{opacity:.65}}@media(prefers-reduced-motion:reduce){.status-pill-pulse{animation:none}}.empty-state{padding:2.25rem 1.25rem;text-align:center;border:1px dashed var(--border);border-radius:var(--radius-md);background:#94a3b808}.empty-state-title{margin:0 0 .4rem;font-size:.95rem;font-weight:650;letter-spacing:-.02em}.empty-state-desc{margin:0 auto;max-width:26rem;font-size:.875rem;line-height:1.55}.empty-state-action{margin-top:1rem}.skeleton-table{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.skeleton-row{height:2.5rem;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--bg-surface) 0%,var(--bg-hover) 50%,var(--bg-surface) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.2s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){.skeleton-row{animation:none;background:var(--bg-surface)}}.banner-error{margin:0 0 1rem;padding:.65rem .85rem;border-radius:var(--radius-sm);border:1px solid var(--danger-border);background:var(--danger-bg)}.action-detail a{color:var(--accent);text-decoration:none;cursor:pointer}.action-detail a:hover{text-decoration:underline}.actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}button{background:var(--bg-surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.42rem .8rem;font:inherit;font-size:.8125rem;font-weight:550;cursor:pointer;transition:background var(--transition),border-color var(--transition),color var(--transition),transform .12s ease}button:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-strong)}button:active:not(:disabled){transform:scale(.98)}button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media(prefers-reduced-motion:reduce){button:active:not(:disabled),.chip:active{transform:none}}button.primary{background:var(--primary);border-color:transparent;color:#052e16;font-weight:650;box-shadow:0 1px #ffffff26 inset}button.primary:hover:not(:disabled){background:var(--primary-hover);border-color:transparent}button.danger{border-color:var(--danger-border);color:var(--danger);background:transparent}button.danger:hover:not(:disabled){background:var(--danger-bg)}button:disabled{opacity:.5;cursor:not-allowed}.muted{color:var(--text-muted)}.checkbox-row{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.checkbox-row input[type=checkbox]{width:auto;margin:0}.error{color:var(--danger);font-size:.875rem}.relay-timeout-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#0b0f14c7;-webkit-backdrop-filter:blur(6px) saturate(1.1);backdrop-filter:blur(6px) saturate(1.1)}.relay-timeout-dialog{width:min(28rem,calc(100vw - 2rem));padding:1.5rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:var(--shadow-lg)}.relay-timeout-dialog h2{margin:0 0 .75rem;font-size:1.1rem}.relay-timeout-dialog p{margin:0 0 .75rem;color:var(--text-muted)}.relay-timeout-countdown{font-variant-numeric:tabular-nums;color:var(--text)!important}.relay-timeout-actions{display:flex;gap:.75rem;margin-top:1rem}.files-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.65rem .75rem;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#0f172a59}.files-path{font-size:.85rem;color:var(--text-muted)}.file-upload-label input[type=file]{margin-left:.5rem}.link-button{background:none;border:none;padding:0;color:var(--accent);cursor:pointer;font:inherit;text-align:left}.link-button:hover{text-decoration:underline}.header-nav{display:inline-flex;gap:.15rem;flex:1;justify-content:center;padding:.2rem;border-radius:999px;background:#94a3b80f;border:1px solid var(--border-subtle);max-width:fit-content;margin-inline:auto}.nav-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .9rem;border-radius:999px;border:1px solid transparent;background:transparent;color:var(--text-muted);font:inherit;font-size:.8125rem;font-weight:550;cursor:pointer;transition:background var(--transition),color var(--transition),border-color var(--transition)}.nav-pill:hover{color:var(--text);background:#94a3b814}.nav-pill.active{color:var(--text);border-color:var(--border-subtle);background:var(--bg-surface);box-shadow:0 1px 2px #00000040}.admin-panel{margin-top:.25rem}.admin-tabs,.admin-subtabs{display:inline-flex;flex-wrap:wrap;gap:.15rem;margin:1rem 0 .85rem;padding:.2rem;border-radius:var(--radius-sm);background:#94a3b80f;border:1px solid var(--border-subtle)}.admin-tab{display:inline-flex;align-items:center;gap:.35rem;border:1px solid transparent;background:transparent;color:var(--text-muted);border-radius:calc(var(--radius-sm) - 2px);padding:.38rem .7rem;font:inherit;font-size:.8125rem;font-weight:550;cursor:pointer;transition:background var(--transition),color var(--transition)}.admin-tab:hover{color:var(--text);background:#94a3b814}.admin-tab.active{background:var(--bg-surface);border-color:var(--border-subtle);color:var(--text);box-shadow:0 1px 2px #0003}.admin-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.admin-hint{margin:0 0 .75rem;font-size:.875rem}.admin-form-inline{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end;margin-bottom:1rem}.admin-form-inline label{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;color:var(--text-muted)}.admin-form-inline input{min-width:12rem;padding:.45rem .6rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit}.admin-form-inline.edit-form{padding:.75rem;border:1px dashed var(--border);border-radius:var(--radius-sm);background:#0f172a59}.admin-row-actions{display:flex;gap:.35rem;justify-content:flex-end}.admin-pager{display:flex;gap:.5rem;margin-top:.75rem}.mono-truncate{max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:.75rem}.badge.status-active{background:var(--primary-muted);color:var(--primary-fg)}.badge.status-expired,.badge.status-cancelled{background:#f8717126;color:#fecaca}.badge.status-claimed{background:#38bdf826;color:#bae6fd}@media(max-width:800px){.header-nav{order:3;width:100%;max-width:none;justify-content:stretch;margin-inline:0}.nav-pill{flex:1;justify-content:center}.fleet-search-field{max-width:none}}.login-tagline{margin:.35rem 0 0;font-size:.875rem}.audit-panel .admin-hint{margin-bottom:.85rem}.audit-meta{display:inline-flex;align-items:center;gap:.4rem;margin:0 0 .75rem;font-size:.8rem;font-variant-numeric:tabular-nums}.audit-inline-icon{width:.9rem;height:.9rem;flex-shrink:0;opacity:.85}.audit-when,.audit-actor{display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}.audit-action-chip{display:inline-flex;align-items:center;gap:.35rem;max-width:100%;padding:.15rem .45rem;border-radius:999px;border:1px solid var(--border-subtle);background:#94a3b80f}.audit-action-chip code{background:transparent;padding:0;font-size:.72rem;white-space:nowrap}.audit-action-chip.tone-pairing{border-color:#38bdf847;background:#38bdf814;color:#7dd3fc}.audit-action-chip.tone-group{border-color:#a78bfa47;background:#a78bfa14;color:#c4b5fd}.audit-action-chip.tone-device{border-color:#22c55e47;background:var(--primary-muted);color:var(--primary-fg)}.audit-action-chip.tone-action,.audit-action-chip.tone-command{border-color:#fbbf2447;background:var(--warning-bg);color:var(--warning)}.audit-action-chip.tone-danger{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger)}.audit-subject{display:flex;align-items:flex-start;gap:.45rem;min-width:0;max-width:16rem}.audit-subject-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.audit-subject-name{font-weight:600;font-size:.8125rem;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audit-subject-ref{display:block;font-size:.68rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:14rem;background:transparent;padding:0}.audit-subject-device .audit-inline-icon{color:var(--primary-fg)}.audit-subject-pairing .audit-inline-icon{color:#7dd3fc}.audit-subject-group .audit-inline-icon{color:#c4b5fd}.audit-subject-system .audit-inline-icon{color:var(--text-muted)}.audit-table td{vertical-align:middle}.audit-table td:has(.audit-subject){white-space:normal}.install-apk-modal{width:min(560px,100%);max-height:min(85vh,720px);display:flex;flex-direction:column;padding:0;overflow:hidden}.install-apk-modal-header{flex-shrink:0;padding:1.25rem 1.35rem .35rem}.install-apk-modal-header h2{display:flex;align-items:center;gap:0;margin:0 0 .35rem}.install-apk-tabs{margin:.65rem 0 0;width:100%;box-sizing:border-box}.install-apk-modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:.65rem 1.35rem .5rem}.install-apk-error{flex-shrink:0;margin:0 1.35rem .35rem}.install-apk-modal-footer{flex-shrink:0;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin:0;padding:.75rem 1.35rem 1.15rem;border-top:1px solid var(--border-subtle);background:var(--bg-overlay)}.install-apk-fields{display:flex;flex-direction:column;gap:.65rem}.apk-library-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.apk-library-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:.65rem .75rem;padding:.55rem .65rem;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#94a3b80a;cursor:pointer;transition:background var(--transition),border-color var(--transition)}.apk-library-row:hover{background:#94a3b814}.apk-library-row:focus-visible{outline:2px solid var(--focus-ring, var(--primary-fg));outline-offset:2px}.apk-library-row.selected{border-color:color-mix(in srgb,var(--primary-fg) 45%,var(--border));background:color-mix(in srgb,var(--primary-fg) 12%,transparent)}.apk-library-row-icon{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-sm);background:var(--secondary-glow, rgba(165, 180, 252, .12));color:#a5b4fc;flex-shrink:0}.apk-library-row-main{display:flex;flex-direction:column;gap:.12rem;min-width:0}.apk-library-filename{font-weight:550;font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.apk-library-package{font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.apk-library-row-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem;font-size:.75rem;flex-shrink:0}.apk-library-row-meta code{font-size:.7rem}@media(max-width:520px){.apk-library-row{grid-template-columns:auto 1fr}.apk-library-row-meta{grid-column:2;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:.35rem .65rem}.apk-library-row .app-action-btn{grid-column:2;justify-self:start}}@media(prefers-reduced-motion:reduce){.apk-library-row{transition:none}}
