*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--font-sans: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, "SF Mono", "Fira Code", "JetBrains Mono", Menlo, monospace;--text-xs: 12px;--text-sm: 13px;--text-base: 14px;--text-md: 16px;--text-lg: 20px;--text-xl: 24px;--tracking-caps: .07em;--radius-sm: 4px;--radius: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 14px;--radius-full: 999px;--shadow-sm: 0 1px 2px rgba(0,0,0,.08);--shadow: 0 1px 2px rgba(0,0,0,.1), 0 2px 8px rgba(0,0,0,.1);--shadow-lg: 0 0 0 1px rgba(0,0,0,.04), 0 4px 8px rgba(0,0,0,.12), 0 16px 40px rgba(0,0,0,.24);--ease: cubic-bezier(.25, .1, .25, 1);--dur: .14s;--bg-base: #101114;--bg-surface: #16171b;--bg-elevated: #1d1f24;--bg-hover: #26282f;--border: #2b2e36;--border-subtle: #202228;--text-primary: #e8eaed;--text-secondary: #9a9fa8;--text-muted: #5c616b;--accent: #FF5200;--accent-hover: #E04B00;--accent-bg: rgba(255,82,0,.14);--accent-contrast: #ffffff;--success: #4ec26a;--success-bg: rgba(78,194,106,.12);--warning: #e0a63a;--warning-bg: rgba(224,166,58,.12);--danger: #f26d63;--danger-bg: rgba(242,109,99,.12);--purple: #b795f6;--purple-bg: rgba(183,149,246,.12);--ring: rgba(255,82,0,.45);--overlay: rgba(8,9,11,.62);--header-blur-bg: rgba(22,23,27,.82);--table-header-bg: #1a1c21;--table-row-hover: #1c1e23;--table-row-border: #24262d;--table-zebra: color-mix(in srgb, var(--bg-elevated) 38%, transparent);--bg: var(--bg-base);--surface: var(--bg-surface);--surface2: var(--bg-elevated);--text: var(--text-primary);--text-dim: var(--text-secondary);--green: var(--success);--blue: var(--accent);--orange: var(--warning);--red: var(--danger);--gray: var(--text-muted);--font: var(--font-sans)}[data-theme=light]{--bg-base: #f7f8fa;--bg-surface: #ffffff;--bg-elevated: #f1f3f5;--bg-hover: #e9ecef;--border: #d8dce2;--border-subtle: #e9ecf0;--text-primary: #17191d;--text-secondary: #5b626c;--text-muted: #9aa1ab;--accent: #E04B00;--accent-hover: #C24100;--accent-bg: rgba(255,82,0,.08);--accent-contrast: #ffffff;--success: #16803c;--success-bg: rgba(22,128,60,.09);--warning: #96660a;--warning-bg: rgba(150,102,10,.1);--danger: #d33328;--danger-bg: rgba(211,51,40,.08);--purple: #7c3aed;--purple-bg: rgba(124,58,237,.08);--ring: rgba(224,75,0,.35);--overlay: rgba(23,25,29,.42);--header-blur-bg: rgba(255,255,255,.82);--shadow-sm: 0 1px 2px rgba(23,25,29,.06);--shadow: 0 1px 2px rgba(23,25,29,.07), 0 2px 8px rgba(23,25,29,.07);--shadow-lg: 0 0 0 1px rgba(23,25,29,.04), 0 4px 8px rgba(23,25,29,.08), 0 16px 40px rgba(23,25,29,.16);--table-header-bg: #f1f3f5;--table-row-hover: #f3f5f7;--table-row-border: #eceef1;--table-zebra: color-mix(in srgb, var(--bg-elevated) 50%, transparent);--bg: var(--bg-base);--surface: var(--bg-surface);--surface2: var(--bg-elevated);--text: var(--text-primary);--text-dim: var(--text-secondary);--green: var(--success);--blue: var(--accent);--orange: var(--warning);--red: var(--danger);--gray: var(--text-muted)}html{color-scheme:dark}html[data-theme=light]{color-scheme:light}body{background:var(--bg-base);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:var(--radius)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-4);position:relative;background:radial-gradient(ellipse 70% 45% at 50% -8%,var(--accent-bg),transparent 70%),var(--bg-base)}.login-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(color-mix(in srgb,var(--text-muted) 34%,transparent) 1px,transparent 1px);background-size:26px 26px;mask-image:radial-gradient(ellipse 68% 60% at 50% 38%,#000 25%,transparent 78%);-webkit-mask-image:radial-gradient(ellipse 68% 60% at 50% 38%,#000 25%,transparent 78%);pointer-events:none}.login-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-8);width:100%;max-width:384px;box-shadow:var(--shadow-lg);position:relative;animation:card-in .28s var(--ease)}@keyframes card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.login-logo{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:var(--space-6)}.login-mark{width:48px;height:48px;display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-3);filter:drop-shadow(0 4px 14px rgba(255,82,0,.35))}.login-mark svg{width:48px;height:48px}.login-logo .logo-icon{font-size:2rem}.login-logo h1{font-size:var(--text-lg);font-weight:700;letter-spacing:-.01em;margin:0 0 var(--space-1);color:var(--text-primary)}.login-logo p{color:var(--text-secondary);font-size:var(--text-sm)}.login-form{display:flex;flex-direction:column;gap:var(--space-4)}.login-divider{display:flex;align-items:center;gap:var(--space-3);color:var(--text-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-caps)}.login-divider:before,.login-divider:after{content:"";flex:1;border-top:1px solid var(--border)}.login-footer{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border);text-align:center}.login-docs-link{display:inline-flex;align-items:center;gap:5px}.login-docs-link svg{width:14px;height:14px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:var(--text-sm);font-weight:500;color:var(--text-primary)}.field input,.field select,.cp-text-input input{background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);padding:7px 10px;outline:none;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.field input::placeholder,.cp-text-input input::placeholder{color:var(--text-muted)}.field input:hover,.field select:hover,.cp-text-input input:hover{border-color:color-mix(in srgb,var(--border) 40%,var(--text-muted))}.field input:focus,.field select:focus,.cp-text-input input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.btn{border:1px solid transparent;border-radius:var(--radius);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;line-height:1.35;padding:6px 12px;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;-webkit-user-select:none;user-select:none;text-decoration:none;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease),opacity var(--dur) var(--ease)}.btn svg{width:14px;height:14px;flex-shrink:0}.btn:not(:disabled):active{transform:translateY(.5px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.btn-primary{background:var(--accent);color:var(--accent-contrast)}.btn-primary:not(:disabled):hover{background:var(--accent-hover)}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border)}.btn-secondary:not(:disabled):hover{background:var(--bg-hover);border-color:color-mix(in srgb,var(--border) 55%,var(--text-muted))}.btn-danger{background:var(--danger);color:#fff}.btn-danger:not(:disabled):hover{background:color-mix(in srgb,var(--danger) 86%,#000)}.btn-warning{background:var(--warning);color:#1c1917}.btn-warning:not(:disabled):hover{background:color-mix(in srgb,var(--warning) 86%,#000)}.btn-success{background:var(--success);color:#fff}.btn-success:not(:disabled):hover{background:color-mix(in srgb,var(--success) 86%,#000)}.btn-ghost{background:transparent;color:var(--text-secondary);border-color:var(--border)}.btn-ghost:not(:disabled):hover{background:var(--bg-elevated);color:var(--text-primary)}.btn-full{width:100%;padding:9px 12px}.btn-sm{font-size:var(--text-xs);padding:3px 9px;gap:4px}.btn-sm svg{width:12px;height:12px}.btn-blue{background:var(--accent);color:var(--accent-contrast)}.btn-blue:not(:disabled):hover{background:var(--accent-hover)}.btn-red{background:var(--danger);color:#fff}.btn-red:not(:disabled):hover{background:color-mix(in srgb,var(--danger) 86%,#000)}.theme-toggle{background:transparent;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;height:30px;width:30px;display:flex;align-items:center;justify-content:center;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease);padding:0;line-height:1}.theme-toggle svg{width:16px;height:16px}.theme-toggle:hover{background:var(--bg-elevated);color:var(--text-primary)}.dashboard{height:100vh;min-height:100vh;display:flex;flex-direction:column;overflow:hidden}.dash-body{flex:1;overflow:hidden;display:flex;flex-direction:column}.dash-header{background:var(--header-blur-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:0 var(--space-6);height:52px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);position:sticky;top:0;z-index:10;flex-shrink:0}.dash-title{display:flex;align-items:center;gap:10px;font-size:var(--text-base);font-weight:650;letter-spacing:-.01em;color:var(--text-primary)}.dash-mark{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.dash-mark svg{width:24px;height:24px}.logo-icon-sm{font-size:1.2rem;width:20px;height:20px;display:inline-flex;align-items:center}.logo-icon-sm svg{width:20px;height:20px}.dash-user{display:flex;align-items:center;gap:var(--space-2)}.user-chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:3px 10px 3px 4px;border:1px solid var(--border);border-radius:var(--radius-full);background:var(--bg-elevated);max-width:240px}.user-chip .user-email{color:var(--text-secondary);font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar{width:22px;height:22px;border-radius:var(--radius-full);background:linear-gradient(135deg,#ff5200,#e04b00);color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;text-transform:uppercase;flex-shrink:0;-webkit-user-select:none;user-select:none}.user-badge{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-secondary);font-size:var(--text-xs);padding:3px 10px}.stats-bar{display:flex;gap:var(--space-3);background:var(--bg-base);border-bottom:1px solid var(--border);padding:var(--space-3) var(--space-6);flex-shrink:0;overflow-x:auto}.stat{--stat-accent: var(--text-muted);background:var(--bg-surface);flex:1;min-width:128px;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);text-align:left;border-radius:var(--radius-md);border:1px solid var(--border-subtle);transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.stat:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--stat-accent) 35%,var(--border));box-shadow:var(--shadow-sm)}.stat-icon{width:32px;height:32px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--stat-accent) 12%,transparent);color:var(--stat-accent);flex-shrink:0}.stat-icon svg{width:16px;height:16px}.stat-body{display:flex;flex-direction:column;min-width:0}.stat-value{font-size:var(--text-lg);font-weight:700;line-height:1.15;letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--text-primary)}.stat-label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-caps);font-weight:600;white-space:nowrap}.stat-green{--stat-accent: var(--success)}.stat-blue{--stat-accent: var(--accent)}.stat-orange{--stat-accent: var(--warning)}.stat-red{--stat-accent: var(--danger)}.stat:has(.stat-green){--stat-accent: var(--success)}.stat:has(.stat-blue){--stat-accent: var(--accent)}.stat:has(.stat-orange){--stat-accent: var(--warning)}.stat:has(.stat-red){--stat-accent: var(--danger)}.active-sessions{background:var(--accent-bg);border-bottom:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));padding:var(--space-3) var(--space-6)}.active-sessions h3{font-size:var(--text-xs);font-weight:600;color:var(--accent);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:var(--tracking-caps)}.session-list{display:flex;flex-direction:column;gap:var(--space-2)}.session-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3)}.session-info{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.session-info code{font-size:var(--text-xs);color:var(--text-secondary)}.error-banner{background:var(--danger-bg);border-left:3px solid var(--danger);color:var(--danger);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:10px var(--space-6);font-size:var(--text-sm);flex-shrink:0}.error-msg{color:var(--danger);font-size:var(--text-sm);flex-shrink:0}.close-btn{background:none;border:none;color:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-sm);padding:0;font-size:var(--text-base);transition:background var(--dur) var(--ease)}.close-btn svg{width:14px;height:14px}.close-btn:hover{background:color-mix(in srgb,currentColor 12%,transparent)}.tabs{display:flex;background:var(--bg-surface);border-bottom:1px solid var(--border);padding:0 var(--space-4);gap:var(--space-1);flex-shrink:0;overflow-x:auto}.tab{position:relative;background:none;border:none;color:var(--text-secondary);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;padding:10px var(--space-3);transition:color var(--dur) var(--ease);display:flex;align-items:center;gap:6px;white-space:nowrap}.tab svg{width:15px;height:15px;flex-shrink:0}.tab:after{content:"";position:absolute;left:var(--space-3);right:var(--space-3);bottom:-1px;height:2px;border-radius:2px 2px 0 0;background:var(--accent);transform:scaleX(0);transition:transform .18s var(--ease)}.tab:hover{color:var(--text-primary)}.tab-active{color:var(--text-primary);font-weight:600}.tab-active:after{transform:scaleX(1)}.tab-badge{background:var(--bg-elevated);border-radius:var(--radius-full);color:var(--text-secondary);font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;padding:1px 7px;line-height:1.5}.tab-active .tab-badge{background:var(--accent-bg);color:var(--accent)}.tab-badge-warn{background:var(--warning-bg)!important;color:var(--warning)!important}.filter-pills{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:10px var(--space-6);flex-shrink:0}.pill{background:transparent;border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-xs);font-weight:500;padding:3px 11px;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.pill:hover{background:var(--bg-elevated);color:var(--text-primary)}.pill-active{background:var(--accent-bg);border-color:color-mix(in srgb,var(--accent) 45%,var(--border));color:var(--accent);font-weight:600}.filters{display:flex;align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;padding:10px var(--space-6);background:var(--bg-surface);border-bottom:1px solid var(--border);flex-shrink:0}.filter-label{display:flex;flex-direction:column;gap:4px}.filter-label span{font-size:11px;text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-secondary);font-weight:600}.filter-label select{background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-sm);padding:5px 8px;outline:none;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);cursor:pointer}.filter-label select:hover{border-color:color-mix(in srgb,var(--border) 40%,var(--text-muted))}.filter-label select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.filter-clear{align-self:flex-end}.table-wrap{overflow:auto;flex:1;min-height:0;overscroll-behavior:contain}.data-table{width:100%;border-collapse:separate;border-spacing:0}.data-table th{position:sticky;top:0;z-index:5;background:var(--table-header-bg);border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:11px;font-weight:600;padding:9px var(--space-4);text-align:left;text-transform:uppercase;letter-spacing:var(--tracking-caps);white-space:nowrap}.data-table td{border-bottom:1px solid var(--table-row-border);color:var(--text-primary);font-size:var(--text-sm);padding:9px var(--space-4);vertical-align:middle;transition:background .1s var(--ease)}.data-table td:first-child{border-left:2px solid transparent}.data-table tbody tr:nth-child(2n) td{background:var(--table-zebra)}.data-table tbody tr:hover td{background:var(--table-row-hover)}.data-table tbody tr:hover td:first-child{border-left-color:var(--accent)}.empty-row{color:var(--text-secondary);text-align:center;padding:var(--space-8)!important}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4) 0}.empty-state svg{width:32px;height:32px;color:var(--text-muted);margin-bottom:var(--space-1)}.empty-state-title{font-size:var(--text-base);font-weight:600;color:var(--text-primary)}.empty-state-hint{font-size:var(--text-sm);color:var(--text-secondary);max-width:44ch}.cell-actions{white-space:nowrap;width:1%}.cell-actions .actions{flex-wrap:nowrap}.cell-title{font-weight:600;font-size:var(--text-sm)}.cell-sub{font-size:var(--text-xs);color:var(--text-secondary);font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin-top:2px;max-width:32ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-cell{display:flex;align-items:center;gap:10px;min-width:0}.device-cell-icon{width:30px;height:30px;border-radius:var(--radius);background:var(--bg-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.device-cell-icon svg{width:15px;height:15px}.device-cell-text{display:flex;flex-direction:column;min-width:0}.clip{display:inline-block;max-width:24ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.clip-wide{max-width:40ch}.badge-list{display:flex;flex-wrap:wrap;gap:4px}.row-revoked td{opacity:.5}.row-needs_attention td{background:var(--warning-bg)!important}.row-quarantined td{background:var(--danger-bg)!important}.row-offline td{opacity:.5}.badge{border-radius:var(--radius-full);display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:2px 9px;letter-spacing:.01em;white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.badge-green{background:var(--success-bg);color:var(--success)}.badge-blue{background:var(--accent-bg);color:var(--accent)}.badge-orange{background:var(--warning-bg);color:var(--warning)}.badge-red{background:var(--danger-bg);color:var(--danger)}.badge-gray{background:color-mix(in srgb,var(--text-muted) 15%,transparent);color:var(--text-secondary)}.platform-badge{font-size:var(--text-sm);display:inline-flex;align-items:center;gap:5px;color:var(--text-primary)}.platform-badge svg{width:14px;height:14px;flex-shrink:0;color:var(--text-secondary)}.type-badge{font-size:11px;color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1px 6px;font-weight:500}.type-badge.real{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 30%,var(--border))}.type-badge.virtual{color:var(--warning);border-color:color-mix(in srgb,var(--warning) 30%,var(--border))}code{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums;padding:1px 5px;color:var(--text-primary)}.hub-id,.udid{font-size:var(--text-xs)}.dim{color:var(--text-secondary);font-size:var(--text-xs)}.link{color:var(--accent);font-size:var(--text-sm);text-decoration:none;transition:color var(--dur) var(--ease)}.link:hover{color:var(--accent-hover);text-decoration:underline}kbd{font-family:var(--font-mono);font-size:10.5px;color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border);border-bottom-width:2px;border-radius:var(--radius-sm);padding:0 5px;line-height:1.6}.actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.nowrap{white-space:nowrap}.table-footer{padding:var(--space-2) var(--space-4);font-size:var(--text-xs);color:var(--text-secondary);flex-shrink:0;border-top:1px solid var(--border-subtle)}.admin-panel{flex:1;display:flex;flex-direction:column;min-height:0}.admin-tabs{display:flex;padding:0 var(--space-4);border-bottom:1px solid var(--border);background:var(--bg-surface);gap:var(--space-1);flex-shrink:0;overflow-x:auto}.admin-content{flex:1;overflow:hidden;display:flex;flex-direction:column;padding:var(--space-6);gap:0;min-height:0}.admin-content>div{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto}.admin-content .table-wrap{min-height:200px}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border);flex-shrink:0}.admin-toolbar h2{font-size:var(--text-md);font-weight:650;letter-spacing:-.01em;color:var(--text-primary)}.admin-section-title{font-size:var(--text-md);font-weight:650;color:var(--text-primary);padding:0 0 var(--space-3) 0;margin:0 0 var(--space-5) 0;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.admin-tabs svg{width:15px;height:15px;flex-shrink:0}.inline-form{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-5);flex-shrink:0}.inline-form h3{font-size:var(--text-base);font-weight:600;margin-bottom:var(--space-3);color:var(--text-primary)}.form-row{display:flex;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-3)}.form-row .field{flex:1;min-width:180px}.form-row .field select{width:100%}.form-actions{display:flex;gap:var(--space-2);margin-top:var(--space-3)}.multiselect{position:relative;max-width:420px}.multiselect-trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;padding:7px 10px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-size:var(--text-sm);cursor:pointer;text-align:left}.multiselect-trigger:hover{border-color:color-mix(in srgb,var(--border) 40%,var(--text-muted))}.multiselect-trigger:disabled{opacity:.5;cursor:not-allowed}.multiselect-open .multiselect-trigger{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.multiselect-summary{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multiselect-placeholder{color:var(--text-muted)}.multiselect-caret{color:var(--text-muted);font-size:var(--text-xs);flex-shrink:0}.multiselect-panel{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.multiselect-filter{margin:var(--space-2);padding:6px 9px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-size:var(--text-sm)}.multiselect-options{max-height:220px;overflow-y:auto;padding:var(--space-1) 0}.multiselect-option{display:flex;align-items:center;gap:var(--space-2);padding:6px var(--space-3);font-size:var(--text-sm);color:var(--text-primary);cursor:pointer}.multiselect-option:hover{background:var(--bg-elevated)}.multiselect-option input[type=checkbox]{flex-shrink:0;accent-color:var(--accent)}.multiselect-option-label{display:flex;flex-direction:column;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multiselect-option-hint{color:var(--text-muted);font-size:var(--text-xs)}.multiselect-empty{padding:var(--space-3);color:var(--text-muted);font-size:var(--text-sm)}.multiselect-footer{border-top:1px solid var(--border-subtle);padding:var(--space-1) var(--space-2);display:flex;justify-content:flex-end}.connect-hub-card{background:var(--accent-bg);border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border));border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-5);flex-shrink:0;overflow-y:auto}.connect-hub-card h3{color:var(--accent);margin-bottom:var(--space-3);font-size:var(--text-base)}.connect-hub-card p{margin-bottom:var(--space-2);color:var(--text-primary);font-size:var(--text-sm)}.hub-steps{padding-left:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.hub-steps li{line-height:1.6;color:var(--text-primary);font-size:var(--text-sm)}.hub-steps pre{background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-2) var(--space-3);margin-top:6px;overflow-x:auto}.hub-steps pre code{background:none;border:none;padding:0;font-size:var(--text-xs)}.new-key-banner{background:var(--success-bg);border:1px solid color-mix(in srgb,var(--success) 30%,var(--border));border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4);flex-shrink:0;font-size:var(--text-sm)}.cp-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:var(--bg-base);display:flex;flex-direction:column}.control-panel{flex:1;display:flex;flex-direction:column;height:100%}.cp-toolbar{background:var(--header-blur-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:var(--space-2) var(--space-5);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-shrink:0;z-index:5}.cp-device-info{display:flex;align-items:center;gap:10px;min-width:0}.cp-device-info strong{color:var(--text-primary);font-size:var(--text-sm);white-space:nowrap}.cp-device-info .dim{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono)}.cp-toolbar-right{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.cp-status-text{font-size:var(--text-xs);color:var(--text-secondary);font-variant-numeric:tabular-nums}.cp-gesture-hint{display:flex;align-items:center;gap:5px;font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap}.cp-mode-toggle{display:flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.cp-mode-toggle .btn{border-radius:0;border:none;border-right:1px solid var(--border)}.cp-mode-toggle .btn:last-child{border-right:none}.cp-main{flex:1;display:flex;overflow:hidden}.cp-stream-wrap{flex:1;position:relative;background:radial-gradient(ellipse 90% 80% at 50% 0%,rgba(255,82,0,.05),transparent 60%),radial-gradient(ellipse 130% 110% at 50% 50%,#17181c,#0b0c0e 78%);display:flex;align-items:center;justify-content:center;overflow:hidden;padding:var(--space-6) var(--space-6) 72px}.cp-stream-wrap:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;box-shadow:inset 0 0 140px #0000008c}.cp-device-frame{position:relative;max-height:100%;max-width:100%;display:flex;align-items:center;justify-content:center;background:#000;border-radius:22px;padding:10px;border:1px solid rgba(255,255,255,.09);box-shadow:0 0 0 1px #000c,0 12px 48px #00000080,inset 0 0 4px #ffffff0d;min-height:0}.cp-stream{max-height:calc(100vh - 220px);max-width:100%;display:block;border-radius:14px;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.cp-overlay{position:absolute;top:10px;right:10px;bottom:10px;left:10px;border-radius:14px;cursor:crosshair;touch-action:none}.cp-pill-toolbar{position:absolute;bottom:var(--space-5);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:2px;padding:5px;border-radius:var(--radius-full);background:#18191ed9;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 8px #00000040,0 12px 32px #00000059;z-index:15;animation:pill-in .24s var(--ease)}@keyframes pill-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.cp-pill-btn{background:transparent;border:none;border-radius:var(--radius-full);color:#b6bac2;cursor:pointer;width:34px;height:34px;display:flex;align-items:center;justify-content:center;padding:0;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.cp-pill-btn svg{width:16px;height:16px}.cp-pill-btn:hover{background:#ffffff1f;color:#fff}.cp-pill-btn:focus-visible{outline:2px solid var(--ring);outline-offset:0}.cp-pill-sep{width:1px;height:18px;background:#ffffff1f;margin:0 4px;flex-shrink:0}.hidden{display:none}.tap-ripple{position:absolute;width:28px;height:28px;border-radius:50%;border:2px solid var(--accent);background:var(--accent-bg);transform:translate(-50%,-50%);pointer-events:none;animation:ripple-fade .6s ease-out forwards;z-index:10}.tap-ripple.long-press-ripple{width:44px;height:44px;border-color:var(--warning);background:var(--warning-bg);animation:lp-pulse .8s ease-in-out infinite}@keyframes ripple-fade{0%{transform:translate(-50%,-50%) scale(.5);opacity:1}to{transform:translate(-50%,-50%) scale(1.5);opacity:0}}@keyframes lp-pulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.9}50%{transform:translate(-50%,-50%) scale(1.25);opacity:.6}}.drag-hint{position:absolute;bottom:68px;left:50%;transform:translate(-50%);background:#e0a63aeb;color:#1c1917;font-size:var(--text-xs);font-weight:600;padding:4px 12px;border-radius:var(--radius-full);pointer-events:none;white-space:nowrap;z-index:20;animation:hint-pop .2s ease-out}@keyframes hint-pop{0%{opacity:0;transform:translate(-50%) scale(.85)}to{opacity:1;transform:translate(-50%) scale(1)}}.cp-install{display:flex;flex-direction:column;gap:var(--space-2)}.cp-install input[type=file]{font-size:var(--text-xs);color:var(--text-secondary);background:var(--bg-elevated);border:1px dashed var(--border);border-radius:var(--radius);padding:var(--space-2);cursor:pointer}.cp-install input[type=file]::-webkit-file-upload-button{background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-xs);padding:3px 8px;cursor:pointer;margin-right:var(--space-2)}.cp-install-msg{font-size:var(--text-xs);color:var(--text-secondary);padding:2px 0}.cp-install-msg.success{color:var(--success)}.cp-install-msg.error{color:var(--danger)}.install-msg{display:flex;align-items:center;gap:4px;padding:6px 8px;border-radius:var(--radius-sm);font-size:var(--text-xs)}.install-msg.success{background:var(--success-bg);color:var(--success);border:1px solid color-mix(in srgb,var(--success) 30%,var(--border))}.install-msg.error{background:var(--danger-bg);color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 30%,var(--border))}.cp-no-stream{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);color:#9a9fa8;text-align:center;z-index:2}.cp-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--bg-elevated) 25%,var(--bg-hover) 50%,var(--bg-elevated) 75%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite;color:transparent!important;-webkit-user-select:none;user-select:none}@keyframes shimmer{to{background-position:-200% 0}}.cp-controls{width:300px;background:var(--bg-surface);border-left:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;transition:width .22s var(--ease),min-width .22s var(--ease);overflow:hidden}.cp-controls.cp-collapsed{width:48px}.cp-controls.cp-expanded{width:480px;min-width:480px}.cp-panel-header{display:flex;align-items:stretch;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--bg-surface);min-height:40px}.cp-panel-tabs{display:flex;flex:1;overflow:hidden;padding:0 var(--space-1)}.cp-panel-tab{position:relative;background:none;border:none;color:var(--text-secondary);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;padding:10px var(--space-3);transition:color var(--dur) var(--ease);white-space:nowrap;display:flex;align-items:center;gap:5px}.cp-panel-tab svg{width:14px;height:14px}.cp-panel-tab:after{content:"";position:absolute;left:var(--space-3);right:var(--space-3);bottom:-1px;height:2px;border-radius:2px 2px 0 0;background:var(--accent);transform:scaleX(0);transition:transform .18s var(--ease)}.cp-panel-tab:hover{color:var(--text-primary)}.cp-panel-tab.active{color:var(--text-primary);font-weight:600}.cp-panel-tab.active:after{transform:scaleX(1)}.cp-tab-count{font-size:10.5px;color:var(--text-muted);font-variant-numeric:tabular-nums}.cp-collapse-toggle{background:none;border:none;border-left:1px solid var(--border);color:var(--text-secondary);cursor:pointer;min-width:34px;display:flex;align-items:center;justify-content:center;transition:background var(--dur) var(--ease),color var(--dur) var(--ease);flex-shrink:0;padding:0}.cp-collapse-toggle svg{width:14px;height:14px}.cp-collapse-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.cp-panel-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-5)}.cp-controls.cp-collapsed .cp-panel-body,.cp-controls.cp-collapsed .cp-panel-tabs{display:none}.cp-collapsed-icons{display:none;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-3) 0;flex:1}.cp-controls.cp-collapsed .cp-collapsed-icons{display:flex}.cp-icon-btn{background:none;border:none;border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;width:34px;height:34px;display:flex;align-items:center;justify-content:center;transition:background var(--dur) var(--ease),color var(--dur) var(--ease);padding:0}.cp-icon-btn svg{width:17px;height:17px}.cp-icon-btn:hover{background:var(--bg-elevated);color:var(--text-primary)}.cp-icon-btn.active{background:var(--accent-bg);color:var(--accent)}.cp-controls section h4{font-size:11px;text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-secondary);margin-bottom:var(--space-2);font-weight:600;display:flex;align-items:center;gap:6px}.cp-controls section h4:after{content:"";flex:1;border-top:1px solid var(--border-subtle)}.cp-keys{display:flex;flex-wrap:wrap;gap:6px}.cp-text-input{display:flex;gap:6px}.cp-text-input input{flex:1;min-width:0}.cp-session-info{display:flex;flex-direction:column;gap:var(--space-2)}.cp-session-info>div{display:flex;flex-direction:column;gap:2px}.cp-session-info code{font-size:11px;word-break:break-all}.cp-logs{display:flex;flex-direction:column;gap:var(--space-2);height:100%;overflow:hidden}.cp-logs-empty{color:var(--text-secondary);font-size:var(--text-sm);text-align:center;padding:var(--space-8) 0}.cp-log-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:2px;font-family:var(--font-mono);font-size:var(--text-xs)}.cp-log-entry{display:flex;gap:var(--space-2);padding:3px 6px;border-radius:var(--radius-sm);line-height:1.45;border-left:2px solid transparent}.cp-log-entry.log-info{color:var(--text-secondary);border-left-color:var(--accent);background:var(--accent-bg)}.cp-log-entry.log-warn{color:var(--warning);border-left-color:var(--warning);background:var(--warning-bg)}.cp-log-entry.log-error{color:var(--danger);border-left-color:var(--danger);background:var(--danger-bg)}.cp-log-ts{color:var(--text-muted);flex-shrink:0;font-variant-numeric:tabular-nums}.cp-log-msg{flex:1;word-break:break-all}.cp-log-filters{display:flex;gap:4px;flex-shrink:0}.cp-log-filter-btn{flex:1;padding:3px 6px;font-family:var(--font-sans);font-size:var(--text-xs);font-weight:500;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.cp-log-filter-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.cp-log-filter-btn.active{background:var(--accent-bg);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:overlay-in .16s var(--ease);padding:var(--space-4)}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.modal-box{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:min(620px,95vw);max-height:90vh;display:flex;flex-direction:column;overflow:hidden;animation:modal-in .22s var(--ease)}@keyframes modal-in{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border);flex-shrink:0}.modal-header h2{margin:0;font-size:var(--text-md);font-weight:650;letter-spacing:-.01em;color:var(--text-primary)}.modal-header-actions{display:flex;align-items:center;gap:var(--space-2)}.modal-esc-hint{color:var(--text-muted);font-size:var(--text-xs);display:inline-flex;align-items:center;gap:5px}.inactivity-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:100;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:overlay-in .16s var(--ease)}.inactivity-popup{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-6) var(--space-8);min-width:300px;text-align:center;color:var(--text-primary);box-shadow:var(--shadow-lg);animation:modal-in .22s var(--ease)}.inactivity-popup h3{margin:0 0 var(--space-2);font-size:var(--text-md);font-weight:650;color:var(--text-primary)}.inactivity-popup p{margin:0 0 var(--space-4);color:var(--text-secondary);font-size:var(--text-sm)}.inactivity-popup p strong{color:var(--text-primary);font-variant-numeric:tabular-nums}.inactivity-progress{height:5px;background:var(--bg-elevated);border-radius:var(--radius-full);margin-bottom:var(--space-5);overflow:hidden}.inactivity-bar{height:100%;background:var(--danger);border-radius:var(--radius-full);transition:width 1s linear}.inactivity-actions{display:flex;gap:var(--space-3);justify-content:center}.onboard-breadcrumb{display:flex;align-items:center;gap:6px;padding:var(--space-3) var(--space-6);background:var(--bg-base);border-bottom:1px solid var(--border);font-size:var(--text-xs);color:var(--text-secondary);flex-shrink:0}.onboard-breadcrumb .active{color:var(--accent);font-weight:600}.onboard-breadcrumb .done{color:var(--success)}.onboard-breadcrumb .sep{color:var(--text-muted)}.onboard-body{flex:1;overflow-y:auto}.onboard-step{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-5)}.onboard-desc{margin:0;color:var(--text-primary)}.onboard-empty{text-align:center;color:var(--text-secondary);padding:var(--space-6) 0}.onboard-actions{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-2);border-top:1px solid var(--border);margin-top:auto}.onboard-hub-list{display:flex;flex-direction:column;gap:var(--space-2)}.onboard-hub-btn{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-base);cursor:pointer;font-family:var(--font-sans);color:var(--text-primary);font-size:var(--text-base);text-align:left;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.onboard-hub-btn:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--border));background:var(--accent-bg)}.onboard-hub-btn.selected{border-color:var(--accent);background:var(--accent-bg);box-shadow:0 0 0 1px var(--accent)}.onboard-hub-btn .hub-icon{display:inline-flex;color:var(--text-secondary)}.onboard-hub-btn .hub-icon svg{width:22px;height:22px}.onboard-hub-btn .check-mark{margin-left:auto;color:var(--success);display:inline-flex}.onboard-hub-btn .check-mark svg{width:16px;height:16px}.onboard-platform-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.onboard-platform-btn{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-base);cursor:pointer;font-family:var(--font-sans);color:var(--text-primary);font-size:var(--text-base);transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease),transform var(--dur) var(--ease)}.onboard-platform-btn:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--border));background:var(--accent-bg);transform:translateY(-1px)}.onboard-platform-btn.selected{border-color:var(--accent);background:var(--accent-bg);box-shadow:0 0 0 1px var(--accent)}.onboard-platform-icon{color:var(--text-secondary)}.onboard-platform-icon svg{width:36px;height:36px}.onboard-platform-btn.selected .onboard-platform-icon{color:var(--accent)}.onboard-checklist{display:flex;flex-direction:column;gap:var(--space-2)}.onboard-check-item{display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:background .1s var(--ease),border-color var(--dur) var(--ease)}.onboard-check-item:hover{background:var(--bg-elevated)}.onboard-check-item.checked{background:var(--success-bg);border-color:color-mix(in srgb,var(--success) 45%,var(--border))}.onboard-check-item.current{border-color:var(--accent);background:var(--accent-bg)}.check-num{width:26px;height:26px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border:1px solid var(--border);font-size:var(--text-xs);font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-secondary);transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.check-num svg{width:13px;height:13px}.onboard-check-item.checked .check-num{background:var(--success);border-color:var(--success);color:#fff}.onboard-check-item.current .check-num{background:var(--accent);border-color:var(--accent);color:#fff}.check-content{flex:1}.check-title{font-weight:600;margin-bottom:3px;color:var(--text-primary);font-size:var(--text-sm)}.check-detail{font-size:var(--text-xs);line-height:1.55;color:var(--text-secondary)}.onboard-scan-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.onboard-scan-header h3{margin:0;font-size:var(--text-base);font-weight:600;color:var(--text-primary)}.onboard-tips{margin:var(--space-2) 0 0 var(--space-4);font-size:var(--text-xs);color:var(--text-secondary);line-height:1.8;text-align:left;display:inline-block}.onboard-device-list{display:flex;flex-direction:column;gap:var(--space-2)}.onboard-device-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-base);transition:border-color var(--dur) var(--ease)}.onboard-device-card.ready{border-color:color-mix(in srgb,var(--success) 50%,var(--border));background:var(--success-bg)}.onboard-device-card.attention{border-color:color-mix(in srgb,var(--warning) 50%,var(--border));background:var(--warning-bg)}.od-platform{display:flex;color:var(--text-secondary)}.od-platform svg{width:24px;height:24px}.od-info{flex:1;min-width:0}.od-status{flex-shrink:0}.onboard-hint{font-size:var(--text-xs);color:var(--text-primary);padding:10px var(--space-3);background:var(--warning-bg);border:1px solid color-mix(in srgb,var(--warning) 30%,var(--border));border-radius:var(--radius);margin-top:var(--space-1);display:flex;align-items:flex-start;gap:8px}.onboard-hint svg{width:15px;height:15px;flex-shrink:0;color:var(--warning);margin-top:1px}.row-clickable{cursor:pointer}.row-clickable:focus-visible{outline:2px solid var(--ring);outline-offset:-2px}.slide-over-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:var(--overlay);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:overlay-in .16s var(--ease)}.slide-over{position:fixed;top:0;right:0;bottom:0;z-index:91;width:min(440px,100vw);background:var(--bg-surface);border-left:1px solid var(--border);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;animation:slide-over-in .22s var(--ease);outline:none}@keyframes slide-over-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.slide-over-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);flex-shrink:0}.slide-over-header-right{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.slide-over-body{flex:1;overflow-y:auto;padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-6)}.slide-over-body .error-banner{padding:8px var(--space-3);border-radius:var(--radius)}.slide-over-body section h4{font-size:11px;text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-secondary);margin-bottom:var(--space-3);font-weight:600;display:flex;align-items:center;gap:6px}.slide-over-body section>p.dim{margin-top:var(--space-2)}.panel-info{display:flex;flex-direction:column;gap:var(--space-2)}.panel-info>div{display:flex;align-items:baseline;gap:var(--space-3)}.panel-info dt{width:120px;flex-shrink:0;font-size:var(--text-xs);color:var(--text-secondary)}.panel-info dd{margin:0;font-size:var(--text-sm);color:var(--text-primary);min-width:0}.panel-reserve-row{display:flex;align-items:flex-end;gap:var(--space-2);flex-wrap:wrap}.timeline{list-style:none;display:flex;flex-direction:column;margin:0;padding:0}.timeline-entry{position:relative;display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-2) 0 var(--space-2) var(--space-4);border-left:2px solid var(--border-subtle)}.timeline-entry:before{content:"";position:absolute;left:-5px;top:14px;width:8px;height:8px;border-radius:50%;background:var(--bg-surface);border:2px solid var(--text-muted)}.timeline-entry .badge{flex-shrink:0;margin-top:1px}.timeline-body{display:flex;flex-direction:column;gap:3px;min-width:0}.timeline-action{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.timeline-action code{word-break:break-word}.timeline-meta{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-secondary)}.timeline-meta time{color:var(--text-muted);white-space:nowrap}.analytics-panel{flex:1;min-height:0;overflow-y:auto;padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-6)}.analytics-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;padding-bottom:var(--space-3);border-bottom:1px solid var(--border);flex-shrink:0}.analytics-toolbar h2{font-size:var(--text-md);font-weight:650;letter-spacing:-.01em;color:var(--text-primary)}.analytics-stats{display:flex;gap:var(--space-3);flex-wrap:wrap}.analytics-stats .stat{flex:1;min-width:160px}.analytics-panel section h3{font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-3)}.analytics-table{flex:none;overflow:visible;max-height:none}.adoption-chart{display:flex;align-items:stretch;gap:6px;padding:var(--space-4);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow-x:auto}.adoption-col{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;min-width:34px}.adoption-count{font-size:var(--text-xs);font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.adoption-bar-track{height:120px;width:100%;display:flex;align-items:flex-end;justify-content:center}.adoption-bar{width:min(26px,100%);min-height:2px;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:var(--accent);opacity:.85;transition:height .22s var(--ease)}.adoption-col:hover .adoption-bar{opacity:1}.adoption-label{font-size:10.5px;color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.adoption-users{font-size:10.5px;color:var(--text-muted);font-variant-numeric:tabular-nums}
