*,:before,:after{box-sizing:border-box}:root{--bg-base:#f4f6f8;--bg-surface:#fff;--bg-elevated:#f8fafb;--bg-hover:#eef3f0;--bg-input:#fff;--accent:#22a45a;--accent-bright:#2db86a;--accent-dim:#22a45a1f;--accent-glow:#22a45a2e;--text-primary:#1a2332;--text-secondary:#5b6b7c;--text-muted:#8a97a8;--border:#e6ebf0;--border-strong:#d5dde5;--success:#22a45a;--success-dim:#22a45a1f;--warning:#e5a100;--warning-dim:#e5a1001f;--danger:#e05353;--danger-dim:#e053531f;--info:#3b82f6;--info-dim:#3b82f61f;--font-display:"Plus Jakarta Sans", system-ui, sans-serif;--font-body:"Manrope", system-ui, sans-serif;--sidebar-width:240px;--header-height:64px;--footer-height:36px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-sm:0 1px 2px #1a23320a;--shadow-md:0 8px 24px #1a233214;--shadow-glow:0 4px 16px var(--accent-glow);--transition-fast:.15s ease;--transition-base:.22s ease;--transition-slow:.35s cubic-bezier(.4, 0, .2, 1)}html,body,#root{height:100%}body{font-family:var(--font-body);color:var(--text-primary);background:var(--bg-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:14px;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-weight:600}a{color:var(--accent);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--accent-bright)}button,input,select,textarea{font-family:inherit;font-size:inherit}button{cursor:pointer}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.btn{border-radius:var(--radius-sm);font-weight:500;font-family:var(--font-body);transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:8px 16px;display:inline-flex}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover:not(:disabled){background:var(--accent-bright);border-color:var(--accent-bright);box-shadow:var(--shadow-glow)}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-strong)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--text-muted)}.btn-ghost{color:var(--text-secondary);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.btn-danger{background:var(--danger-dim);color:var(--danger);border-color:#e05c5c4d}.btn-danger:hover:not(:disabled){background:#e05c5c33}.btn-sm{padding:5px 10px;font-size:13px}.btn-icon{min-width:32px;padding:6px}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--text-secondary);font-size:13px;font-weight:500}.form-input,.form-select,.form-textarea{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);padding:10px 12px}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);outline:none}.form-input::placeholder{color:var(--text-muted)}.form-textarea{resize:vertical;min-height:80px}.form-error{color:var(--danger);font-size:13px}.form-hint{color:var(--text-muted);font-size:12px}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px}.card-elevated{background:var(--bg-elevated)}.empty-state{text-align:center;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;padding:48px 24px;display:flex}.empty-state-icon{opacity:.4;border:2px dashed var(--border-strong);border-radius:var(--radius-md);width:48px;height:48px;margin-bottom:16px}.empty-state h3{color:var(--text-primary);margin-bottom:8px;font-size:16px}.empty-state p{max-width:360px;margin:0;font-size:13px}.offline-banner{background:var(--warning-dim);border-radius:var(--radius-sm);color:var(--warning);border:1px solid #e8b84a40;align-items:center;gap:10px;margin-bottom:20px;padding:10px 16px;font-size:13px;display:flex}.offline-banner-dot{background:var(--warning);border-radius:50%;width:8px;height:8px;animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.page-enter{animation:pageEnter var(--transition-slow) forwards}@keyframes pageEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.loading-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:24px;height:24px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-center{justify-content:center;align-items:center;padding:64px;display:flex}.drawer-overlay{z-index:200;animation:fadeIn var(--transition-base) forwards;background:#0000008c;position:fixed;inset:0}.drawer-panel{background:var(--bg-surface);border-left:1px solid var(--border);z-index:201;width:min(480px,100vw);animation:slideIn var(--transition-slow) forwards;box-shadow:var(--shadow-md);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.drawer-body{flex:1;padding:24px;overflow-y:auto}.drawer-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.detail-grid{gap:16px;display:grid}.detail-row{flex-direction:column;gap:4px;display:flex}.detail-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:500}.detail-value{color:var(--text-primary);font-size:14px}.stats-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-bottom:24px;display:grid}.two-col-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (width<=900px){.two-col-grid{grid-template-columns:1fr}}.login-page{background:radial-gradient(ellipse 80% 60% at 50% -10%, #22a45a1f, transparent), linear-gradient(180deg, #eef6f1 0%, var(--bg-base) 55%);justify-content:center;align-items:center;min-height:100%;padding:24px;display:flex}.login-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-md);animation:pageEnter var(--transition-slow) forwards;padding:40px 36px}.login-brand{text-align:center;margin-bottom:32px}.login-brand h1{color:var(--text-primary);margin-bottom:4px;font-size:28px;font-weight:700}.login-brand span{color:var(--accent)}.login-brand p{color:var(--text-muted);margin:8px 0 0;font-size:13px}.login-form{flex-direction:column;gap:18px;display:flex}.login-hint{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);text-align:center;margin-top:24px;padding:12px 14px;font-size:12px}.login-hint code{color:var(--accent);font-family:IBM Plex Sans,monospace;font-size:11px}.viewer-page{min-height:calc(100vh - var(--header-height) - 48px);flex-direction:column;gap:12px;display:flex}.viewer-page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.viewer-page-header-text h1{font-size:22px;line-height:1.2}.viewer-page-header-main{flex-wrap:wrap;flex:1;justify-content:flex-end;align-items:center;gap:12px;min-width:0;display:flex}.viewer-page-header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.viewer-toolbar.viewer-toolbar-inline{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);border-bottom:1px solid var(--border);flex-wrap:wrap;margin-left:auto;padding:4px 8px}.viewer-toolbar.viewer-toolbar-inline .viewer-toolbar-end{margin-left:0}.viewer-meta-bar{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:10px 14px;display:flex}.viewer-meta-ids,.viewer-meta-stats{flex-wrap:wrap;align-items:center;gap:14px;min-width:0;display:flex}.viewer-meta-ids>span,.viewer-meta-stat{min-width:0;color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;display:inline-flex}.viewer-meta-k{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;font-size:11px}.viewer-meta-ids code{font-family:var(--font-display);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;background:0 0;max-width:220px;font-size:12px;overflow:hidden}.viewer-conn-pill{letter-spacing:.02em;border:1px solid var(--border-strong);background:var(--bg-surface);color:var(--text-secondary);border-radius:999px;align-items:center;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.viewer-conn-connected{color:var(--success);background:var(--success-dim);border-color:#22a45a59}.viewer-conn-connecting,.viewer-conn-reconnecting{color:var(--warning);background:var(--warning-dim);border-color:#e5a10059}.viewer-conn-failed{color:var(--danger);background:var(--danger-dim);border-color:#e0535359}.viewer-layout{flex-direction:column;flex:1;gap:12px;min-height:0;display:flex}.viewer-chrome{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);min-height:360px;box-shadow:var(--shadow-sm);flex-direction:column;flex:1;display:flex;overflow:hidden}.viewer-toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.viewer-toolbar-field{color:var(--text-secondary);align-items:center;gap:8px;font-size:12px;display:inline-flex}.viewer-toolbar-field span{white-space:nowrap}.viewer-toolbar-field select{background:var(--bg-input);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-primary);min-width:120px;padding:6px 10px;font-size:13px}.viewer-toolbar-field select:disabled{opacity:.5}.viewer-toolbar-sep{background:var(--border);flex-shrink:0;width:1px;height:24px}.viewer-toolbar-tools,.viewer-toolbar-end{align-items:center;gap:4px;display:inline-flex}.viewer-toolbar-end{margin-left:auto}.viewer-tool-btn{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--text-secondary);transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.viewer-tool-btn svg{width:18px;height:18px}.viewer-tool-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--border)}.viewer-tool-btn:disabled{opacity:.4;cursor:not-allowed}.viewer-feature-modal{max-width:620px}.viewer-files-modal{max-width:760px}.viewer-clipboard-text{resize:vertical;min-height:112px}.viewer-feature-actions,.viewer-files-heading,.viewer-remote-path,.viewer-transfer-meta{align-items:center;gap:10px;display:flex}.viewer-remote-path .form-input{flex:1}.viewer-files-heading{color:var(--text-secondary);justify-content:space-between;font-size:13px}.viewer-file-list{border:1px solid var(--border);border-radius:var(--radius-md);max-height:300px;overflow:auto}.viewer-file-row{border-bottom:1px solid var(--border);grid-template-columns:42px minmax(0,1fr) 90px auto;align-items:center;gap:10px;min-height:46px;padding:6px 10px;display:grid}.viewer-file-row:last-child{border-bottom:0}.viewer-file-kind{color:var(--text-muted);font-size:10px;font-weight:700}.viewer-file-name{min-width:0;color:var(--text-primary);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;overflow:hidden}.viewer-file-name:hover{color:var(--primary);text-decoration:underline}.viewer-file-size,.viewer-file-empty{color:var(--text-muted);font-size:12px}.viewer-file-empty{text-align:center;padding:24px}.viewer-transfer-status{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle);flex-direction:column;gap:8px;padding:12px;display:flex}.viewer-transfer-status.is-failed{border-color:var(--danger)}.viewer-transfer-status.is-completed{border-color:var(--success)}.viewer-transfer-meta{justify-content:space-between;font-size:12px}.viewer-transfer-status progress{width:100%}@media (width<=640px){.viewer-remote-path{flex-direction:column;align-items:stretch}.viewer-file-row{grid-template-columns:36px minmax(0,1fr) auto}.viewer-file-size{display:none}}.viewer-signal{width:34px;height:34px;color:var(--text-muted);justify-content:center;align-items:center;display:inline-flex}.viewer-signal svg{width:18px;height:18px}.viewer-signal.is-good{color:var(--success)}.viewer-signal.is-warn{color:var(--warning)}.viewer-signal.is-bad{color:var(--danger)}.viewer-video{background:#0b1220;flex:1;justify-content:center;align-items:center;min-height:280px;display:flex;position:relative;overflow:hidden}.viewer-video.is-fullscreen{border:none;border-radius:0}.viewer-video.viewer-scale-actual{justify-content:flex-start;align-items:flex-start;overflow:auto}.viewer-video.viewer-scale-actual .viewer-video-el{max-width:none;max-height:none;width:auto!important;height:auto!important}.viewer-video.viewer-scale-fill .viewer-stage{width:100%;max-width:none;height:100%;max-height:none}.viewer-video.viewer-scale-fill .viewer-video-el{object-fit:cover;width:100%!important;height:100%!important}.viewer-footer-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:12px 16px;display:grid}.viewer-footer-cell{flex-direction:column;gap:2px;min-width:0;display:flex}.viewer-footer-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.viewer-footer-value{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}@media (width<=960px){.viewer-footer-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.viewer-meta-ids code{max-width:140px}}.viewer-video-el{cursor:crosshair;background:#000;outline:none;display:block}.viewer-stage{max-width:100%;max-height:100%;line-height:0;display:inline-block;position:relative}.viewer-video-el.viewer-dual-cursor,.viewer-stage.viewer-virtual-cursors,.viewer-stage.viewer-virtual-cursors .viewer-video-el{cursor:none}.viewer-cursor{pointer-events:none;z-index:4;width:0;height:0;margin:0;position:absolute;top:0;left:0;transform:translate(0)}.viewer-cursor:before{content:"";filter:drop-shadow(0 0 1px #000000d9)drop-shadow(1px 1px 2px #00000073);border:12px solid #0000;border-top:15px solid #38bdf8;border-left-width:0;width:0;height:0;display:block}.viewer-cursor-host:before{border-color:#38bdf8 #0000 #0000}.viewer-cursor-host>span{display:none}.viewer-cursor-host-pc:before{opacity:.95;border-color:#f8fafc #0000 #0000}.viewer-cursor-host-pc>span{background:#0f172ad1;border:1px solid #f8fafc8c}.viewer-cursor>span{color:#06111a;text-overflow:ellipsis;white-space:nowrap;background:#38bdf8;border-radius:4px;max-width:180px;padding:3px 7px;font-size:11px;font-weight:700;line-height:16px;position:absolute;top:2px;left:14px;overflow:hidden;box-shadow:0 2px 7px #0000006b}.viewer-cursor.has-control>span:after{content:" • controle";font-weight:600}.viewer-cursor-color-0:before{border-color:#f97316 #0000 #0000}.viewer-cursor-color-0>span{background:#f97316}.viewer-cursor-color-1:before{border-color:#a78bfa #0000 #0000}.viewer-cursor-color-1>span{background:#a78bfa}.viewer-cursor-color-2:before{border-color:#4ade80 #0000 #0000}.viewer-cursor-color-2>span{background:#4ade80}.viewer-cursor-color-3:before{border-color:#facc15 #0000 #0000}.viewer-cursor-color-3>span{background:#facc15}.viewer-cursor-color-4:before{border-color:#fb7185 #0000 #0000}.viewer-cursor-color-4>span{background:#fb7185}.viewer-cursor-color-5:before{border-color:#22d3ee #0000 #0000}.viewer-cursor-color-5>span{background:#22d3ee}.viewer-cursor-color-6:before{border-color:#e879f9 #0000 #0000}.viewer-cursor-color-6>span{background:#e879f9}.viewer-cursor-color-7:before{border-color:#94a3b8 #0000 #0000}.viewer-cursor-color-7>span{background:#94a3b8}.viewer-video-el:focus{outline-offset:-2px;outline:2px solid #38bdf88c}.viewer-video-overlay{pointer-events:none;background:#070b10d1;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.viewer-file-drop-overlay{z-index:8;border-radius:var(--radius-md);color:#e0f2fe;letter-spacing:.01em;pointer-events:none;background:#071220e0;border:2px dashed #38bdf8;place-items:center;font-size:15px;font-weight:700;display:grid;position:absolute;inset:16px}.viewer-copy-toast{z-index:1200;color:#f8fafc;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#131b26f7;border:1px solid #94a3b847;border-radius:10px;gap:14px;width:min(390px,100vw - 32px);padding:16px;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 18px 48px #0000006b}.viewer-copy-toast-icon{background:linear-gradient(145deg,#0ea5e9,#2563eb);border-radius:8px;flex:0 0 40px;place-items:center;width:40px;height:40px;font-size:20px;font-weight:800;display:grid}.viewer-copy-toast-content{flex-direction:column;flex:1;gap:5px;min-width:0;line-height:1.25;display:flex}.viewer-copy-toast-name{color:#cbd5e1;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.viewer-copy-toast progress{accent-color:#38bdf8;width:100%;height:6px;margin:3px 0}.viewer-copy-toast-detail,.viewer-copy-toast-protocol{color:#94a3b8;font-size:11px}.viewer-state-badge{border-radius:var(--radius-sm);letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--border-strong);color:var(--text-secondary);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0d1219e0;padding:4px 10px;font-size:11px;font-weight:600;position:absolute;top:12px;left:12px}.viewer-state-connecting{color:var(--warning);background:var(--warning-dim);border-color:#e8b84a59}.viewer-state-connected{color:var(--success);background:var(--success-dim);border-color:#2ecc8f59}.viewer-state-demo{color:var(--accent-bright);background:var(--accent-dim);border-color:#3db8c566}.viewer-state-failed{color:var(--danger);background:var(--danger-dim);border-color:#e05c5c59}.viewer-state-reconnecting{color:var(--warning);background:var(--warning-dim);border-color:#e8b84a73;animation:1.6s ease-in-out infinite viewer-reconnect-pulse}@keyframes viewer-reconnect-pulse{0%,to{opacity:1}50%{opacity:.65}}.viewer-banner{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;padding:10px 14px;font-size:13px;display:flex}.viewer-reconnect{background:var(--warning-dim);color:var(--warning);border-color:#e8b84a59}.viewer-banner-recording{background:var(--danger-dim);color:var(--danger);border-color:#dc262659}.viewer-recording-dot{background:currentColor;border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite viewer-recording-pulse}@keyframes viewer-recording-pulse{0%,to{opacity:1}50%{opacity:.35}}.viewer-recording-icon{color:var(--text-secondary);display:inline-flex}.viewer-recording-icon svg{width:18px;height:18px}.viewer-recording-icon.is-active{color:var(--danger);animation:1.2s ease-in-out infinite viewer-recording-pulse}.viewer-ice-hint{border-radius:var(--radius-sm);color:var(--text-muted);border:1px solid var(--border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0d1219d1;flex-direction:column;align-items:flex-end;gap:2px;padding:6px 10px;font-size:11px;display:flex;position:absolute;bottom:12px;right:12px}.viewer-relay-toggle{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:inline-flex}.viewer-relay-toggle input{accent-color:var(--accent)}.viewer-adaptive-indicator{color:var(--accent-bright);background:var(--accent-dim);border-radius:var(--radius-sm);border:1px solid #3db8c559;align-items:center;padding:8px 12px;font-size:12px;font-weight:600;display:inline-flex}.viewer-adaptive-active{color:var(--success);align-self:center;font-size:10px}.viewer-quality-select{color:var(--text-secondary);align-items:center;gap:8px;font-size:13px;display:inline-flex}.viewer-quality-select select{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-body);padding:8px 12px;font-size:13px}.viewer-quality-select select:disabled{opacity:.5}.viewer-event-log{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);max-height:140px;color:var(--text-secondary);flex-direction:column;gap:4px;padding:10px 12px;font-size:12px;display:flex;overflow-y:auto}.viewer-event-log-item{align-items:baseline;gap:10px;display:flex}.viewer-event-log-time{font-family:var(--font-display);color:var(--accent);flex-shrink:0;min-width:64px;font-size:11px}.viewer-video-placeholder{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:12px;display:flex}.viewer-video-placeholder p{margin:8px 0 0;font-size:13px}.viewer-status-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#080c14b8;padding:24px}.viewer-status-panel{flex-direction:column;align-items:center;gap:10px;max-width:420px;display:flex}.viewer-status-title{color:var(--text);margin:0;font-size:18px;font-weight:600}.viewer-status-detail{color:var(--text-muted);margin:0;font-size:13px;line-height:1.45}.viewer-status-error{color:#f87171;margin:0;font-size:12px}.viewer-password-form{flex-direction:column;align-items:stretch;gap:10px;width:100%;margin-top:8px;display:flex}.viewer-password-label{color:var(--text-muted);text-align:left;font-size:12px}.viewer-password-input{width:100%}.viewer-controls{flex-wrap:wrap;gap:12px;display:flex}.viewer-metrics{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;display:grid}.metric-chip{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px}.metric-chip-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.metric-chip-value{font-family:var(--font-display);color:var(--accent);margin-top:2px;font-size:18px;font-weight:600}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.page-header h1{font-size:22px}.page-header-subtitle{color:var(--text-secondary);margin:4px 0 0;font-size:13px}.page-header-actions{flex-shrink:0;gap:10px;display:flex}.stat-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--transition-fast);flex-direction:column;gap:4px;padding:18px 20px;display:flex}.stat-card-accent{background:linear-gradient(135deg, var(--bg-surface), #22a45a0d);border-color:#22a45a47}.stat-card-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:500}.stat-card-value{font-family:var(--font-display);color:var(--text-primary);font-size:28px;font-weight:700;line-height:1.1}.stat-card-accent .stat-card-value{color:var(--accent)}.stat-card-hint{color:var(--text-secondary);font-size:12px}.status-badge{letter-spacing:.02em;border-radius:999px;align-items:center;padding:3px 10px;font-size:12px;font-weight:500;display:inline-flex}.badge-success{background:var(--success-dim);color:var(--success)}.badge-warning{background:var(--warning-dim);color:var(--warning)}.badge-danger{background:var(--danger-dim);color:var(--danger)}.badge-info{background:var(--info-dim);color:var(--info)}.badge-neutral{background:var(--bg-elevated);color:var(--text-secondary)}.data-table-wrap{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;background:var(--bg-elevated);border-bottom:1px solid var(--border);white-space:nowrap;padding:12px 16px;font-size:11px;font-weight:600}.data-table td{border-bottom:1px solid var(--border);color:var(--text-primary);padding:12px 16px}.data-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:hover{background:var(--bg-hover)}.data-table tbody tr:last-child td{border-bottom:none}.data-table-clickable tbody tr{cursor:pointer}.modal-overlay{z-index:300;animation:fadeIn var(--transition-base) forwards;background:#0009;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:480px;max-height:90vh;box-shadow:var(--shadow-md);animation:modalEnter var(--transition-slow) forwards;overflow-y:auto}.modal-panel-wide{max-width:720px}.license-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:12px 16px;display:grid}.license-form-grid .span-2{grid-column:1/-1}.license-form-grid .license-form-actions{justify-content:flex-end;align-items:center;display:flex}.license-auto-accept-row{grid-template-columns:minmax(180px,1fr) 120px;align-items:end;gap:12px;display:grid}@media (width<=640px){.license-form-grid,.license-auto-accept-row{grid-template-columns:1fr}}@keyframes modalEnter{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h2{font-size:18px}.modal-body{flex-direction:column;gap:16px;padding:24px;display:flex}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.app-shell{height:100%;display:flex;overflow:hidden}.app-sidebar{width:var(--sidebar-width);background:var(--bg-surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;display:flex}.sidebar-brand{border-bottom:1px solid var(--border);padding:24px 20px 20px}.sidebar-brand h1{letter-spacing:-.03em;font-size:26px;font-weight:700;line-height:1}.sidebar-brand h1 span{color:var(--accent)}.sidebar-brand p{color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em;margin:6px 0 0;font-size:11px;font-weight:500}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:12px 10px;display:flex;overflow-y:auto}.nav-link{border-radius:var(--radius-sm);color:var(--text-secondary);transition:background var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);border:1px solid #0000;align-items:center;gap:10px;padding:10px 12px;font-size:13px;font-weight:500;display:flex}.nav-link:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-link.active{background:var(--accent-dim);color:var(--accent);box-shadow:inset 3px 0 0 var(--accent);border-color:#0000}.nav-link-icon{opacity:.7;flex-shrink:0;width:18px;height:18px}.nav-link.active .nav-link-icon{opacity:1}.sidebar-footer{border-top:1px solid var(--border);padding:12px 10px 16px}.user-menu{border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid var(--border);align-items:center;gap:10px;padding:10px 12px;display:flex}.user-avatar{border-radius:var(--radius-sm);background:var(--accent-dim);width:32px;height:32px;color:var(--accent);font-family:var(--font-display);flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.user-info{flex:1;min-width:0}.user-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.user-email{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.user-role{color:var(--accent);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:10px;overflow:hidden}.app-main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.app-content{flex:1;padding:28px 32px;overflow-y:auto}.recent-list{margin:0;padding:0;list-style:none}.recent-list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 0;font-size:13px;display:flex}.recent-list li:last-child{border-bottom:none}.recent-list-meta{color:var(--text-muted);font-size:12px}.section-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px;font-size:14px;font-weight:600}.quick-links{flex-wrap:wrap;gap:10px;margin-bottom:24px;display:flex}.bar-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.bar-row{grid-template-columns:minmax(80px,120px) 1fr 36px;align-items:center;gap:10px;font-size:13px;display:grid}.bar-label{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bar-track{background:var(--bg-elevated);border:1px solid var(--border);border-radius:4px;height:8px;overflow:hidden}.bar-fill{background:linear-gradient(90deg, var(--accent), var(--accent-bright));min-width:2px;height:100%;transition:width var(--transition-base);border-radius:3px}.bar-count{color:var(--text-muted);text-align:right;font-variant-numeric:tabular-nums;font-size:12px}.capability-chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--accent-dim);color:var(--accent);border-radius:999px;align-items:center;padding:3px 10px;font-size:12px;font-weight:500;display:inline-flex}.inventory-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.mono-token{word-break:break-all;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;font-family:IBM Plex Sans,ui-monospace,monospace;font-size:13px}.license-key-cell{flex-direction:column;gap:4px;min-width:280px;display:flex}.license-key-field{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:8px;padding:6px 10px 6px 4px;display:flex}.license-key-actions{border-right:1px solid var(--border);flex-shrink:0;align-items:center;gap:2px;padding-right:8px;display:flex}.license-key-action-btn{color:var(--text-secondary)}.license-key-action-btn:not(:disabled):hover{color:var(--text-primary)}.license-key-actions svg{width:16px;height:16px;display:block}.license-key-value{min-width:0;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-family:IBM Plex Sans,ui-monospace,monospace;font-size:12px;line-height:1.35;overflow:hidden}.license-key-value.is-visible{white-space:normal;word-break:break-all;overflow:visible}.license-key-label{color:var(--text-secondary)}.licensing-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi-value-sm{font-size:16px;line-height:1.25}.kpi-sub{color:var(--text-muted);margin-top:4px;font-size:11px}.capacity-alerts{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.capacity-alert{border-radius:var(--radius-md);border:1px solid var(--border);padding:12px 14px}.capacity-alert strong{margin-bottom:4px;display:block}.capacity-alert p{color:var(--text-muted);margin:0;font-size:13px}.capacity-alert.tone-danger{background:var(--danger-dim);border-color:#dc262640}.capacity-alert.tone-warning{background:var(--warning-dim);border-color:#d9770640}.capacity-alert.tone-info{background:var(--info-dim);border-color:#2563eb33}.licensing-health-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.licensing-health-item{border-radius:var(--radius-md);border:1px solid var(--border);padding:10px 12px}.licensing-health-item-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.licensing-health-item p{color:var(--text-muted);margin:0;font-size:12px}.licensing-health-item.tone-danger{background:var(--danger-dim)}.licensing-health-item.tone-warning{background:var(--warning-dim)}.licensing-health-item.tone-info,.licensing-health-item.tone-success{background:var(--surface-2)}.capacity-bar{margin-top:8px}.capacity-bar-compact{margin-top:4px}.capacity-bar-header{justify-content:space-between;gap:12px;margin-bottom:6px;font-size:13px;display:flex}.capacity-bar-label{font-weight:600}.capacity-bar-value{color:var(--text-muted);white-space:nowrap}.capacity-bar-track{background:var(--bg-muted);border-radius:999px;height:8px;overflow:hidden}.capacity-bar-fill{border-radius:999px;height:100%;transition:width .2s}.capacity-bar-fill.tone-info{background:var(--info)}.capacity-bar-fill.tone-warning{background:var(--warning)}.capacity-bar-fill.tone-danger{background:var(--danger)}.capacity-bar-sublabel{color:var(--text-muted);margin:6px 0 0;font-size:12px}.licensing-quota-list{flex-direction:column;gap:14px;margin-top:12px;display:flex}.licensing-quota-item{border-bottom:1px solid var(--border);padding:12px 0}.licensing-quota-item:last-child{border-bottom:none;padding-bottom:0}.licensing-quota-item-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.capacity-tree-table .capacity-tree-indent{display:inline-block}@media (width<=900px){.licensing-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.filter-chips{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.filter-chip{border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--text-secondary);transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:500}.filter-chip:hover{background:var(--bg-hover);color:var(--text-primary)}.filter-chip.active{background:var(--accent-dim);color:var(--accent);border-color:#3db8c54d}.inventory-history-list{flex-direction:column;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.inventory-history-item{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:1fr auto;gap:4px 12px;padding:10px 12px;font-size:12px;display:grid}.inventory-history-metrics{color:var(--text-secondary)}.inventory-history-date{color:var(--text-muted);text-align:right;white-space:nowrap}.toolbar-filters{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;padding:14px 16px;display:flex}.toolbar-filters .form-input,.toolbar-filters .form-select{flex:160px;width:auto;min-width:140px;max-width:220px}.toolbar-filters .form-input.search-input{flex:2 200px;max-width:320px}.devices-page{flex-direction:column;gap:16px;display:flex}.devices-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.devices-kpi{text-align:left;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);flex-direction:column;gap:4px;padding:16px 18px;display:flex}.devices-kpi:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.devices-kpi.is-active{box-shadow:var(--shadow-glow);border-color:#22a45a66}.devices-kpi-top{justify-content:flex-end;margin-bottom:4px;display:flex}.devices-kpi-icon{border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.devices-kpi-icon svg{width:18px;height:18px}.devices-kpi-icon.is-green{color:var(--success);background:var(--success-dim)}.devices-kpi-icon.is-red{color:var(--danger);background:var(--danger-dim)}.devices-kpi-icon.is-warn{color:var(--warning);background:var(--warning-dim)}.devices-kpi-label{color:var(--text-muted);font-size:12px;font-weight:500}.devices-kpi-value{font-family:var(--font-display);color:var(--text-primary);font-size:28px;font-weight:700;line-height:1.1}.devices-kpi-hint{color:var(--text-secondary);font-size:12px}.devices-filters{margin-bottom:0}.devices-more-hint{color:var(--text-muted);margin:-4px 0 0;font-size:12px}.btn.is-pressed{background:var(--bg-hover);border-color:var(--border-strong)}.device-host-cell{flex-direction:column;gap:2px;min-width:0;display:flex}.device-host-name{color:var(--text-primary);font-weight:600}.device-host-ip{color:var(--text-muted);font-size:12px;font-family:var(--font-display)}.device-os-cell{align-items:center;gap:8px;min-width:0;display:inline-flex}.device-os-icon{width:22px;height:22px;color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.device-os-icon svg{width:16px;height:16px}.device-os-icon.is-windows{color:#3b82f6}.device-os-icon.is-linux{color:#e5a100}.device-row-actions{align-items:center;gap:2px;display:inline-flex;position:relative}.device-action-btn{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--text-secondary);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.device-action-btn svg{width:16px;height:16px}.device-action-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--border)}.device-action-btn:disabled{opacity:.4;cursor:not-allowed}.device-action-menu-wrap{position:relative}.device-action-menu{z-index:20;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:140px;box-shadow:var(--shadow-md);flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);right:0}.device-action-menu button{text-align:left;color:var(--text-primary);background:0 0;border:none;border-radius:6px;padding:8px 10px;font-size:13px}.device-action-menu button:hover{background:var(--bg-hover)}.devices-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 4px 0;display:flex}.devices-pagination-info{color:var(--text-secondary);font-size:13px}.devices-pagination-controls{align-items:center;gap:8px;display:inline-flex}.devices-pagination-controls .form-select{width:auto;min-width:140px}.devices-page-indicator{color:var(--text-secondary);text-align:center;min-width:48px;font-size:13px}@media (width<=1100px){.devices-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.devices-kpi-grid{grid-template-columns:1fr}}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:20px;padding-bottom:0;display:flex}.tab-btn{color:var(--text-secondary);border-radius:var(--radius-sm) var(--radius-sm) 0 0;transition:color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;font-size:13px;font-weight:500}.tab-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent);background:var(--accent-dim)}.bulk-bar{background:var(--accent-dim);border-radius:var(--radius-sm);color:var(--text-secondary);border:1px solid #3db8c540;align-items:center;gap:12px;margin-bottom:12px;padding:10px 16px;font-size:13px;display:flex}.bulk-bar strong{color:var(--accent)}.timeline-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.timeline-item{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;font-size:13px}.timeline-item-type{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.timeline-item-message{color:var(--text-primary);margin-top:4px}.timeline-item-date{color:var(--text-muted);margin-top:6px;font-size:11px}.users-layout{grid-template-columns:1fr;gap:20px;display:grid}.users-layout.with-panel{grid-template-columns:1fr min(320px,100%)}@media (width<=900px){.users-layout.with-panel{grid-template-columns:1fr}}.detail-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);align-self:start;padding:20px;position:sticky;top:0}.detail-panel h3{margin-bottom:12px;font-size:15px}.permission-chips{flex-wrap:wrap;gap:6px;display:flex}.permission-chip{border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-secondary);padding:3px 8px;font-size:11px;display:inline-flex}.row-checkbox{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.session-flow{flex-direction:column;display:flex}.session-flow>.tabs{margin-bottom:16px}.session-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.session-toast{background:var(--info-dim);border-radius:var(--radius-sm);color:var(--text-secondary);border:1px solid #4a9ee840;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;padding:12px 16px;font-size:13px;display:flex}.session-toast .mono-token{flex:200px;margin:0}.brand-row{align-items:center;gap:12px;display:flex}.brand-shield{width:36px;height:36px;color:var(--accent);flex-shrink:0}.app-column{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.app-topbar{height:var(--header-height);background:var(--bg-surface);border-bottom:1px solid var(--border);z-index:40;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:0 24px;display:flex;position:relative;overflow:visible}.topbar-selects{flex-shrink:0;align-items:center;gap:.5rem;display:flex;overflow:visible}.select-pill{border:1px solid var(--border);background:var(--bg-elevated,#f7f9fb);color:var(--text-primary);border-radius:9px;align-items:center;gap:.4rem;min-height:36px;padding:.35rem .6rem;font-size:.85rem;display:inline-flex}.cascade-switcher{flex-shrink:0;position:relative}.cascade-pill{cursor:pointer;min-width:8.5rem;max-width:11.5rem}.cascade-pill:disabled{cursor:default;opacity:1}.cascade-pill-icon{color:var(--text-muted);flex-shrink:0;display:inline-flex}.cascade-pill-icon svg{width:14px;height:14px}.cascade-pill-text{flex-direction:column;align-items:flex-start;gap:.05rem;min-width:0;line-height:1.15;display:flex}.cascade-pill-text strong{white-space:nowrap;text-overflow:ellipsis;max-width:8.5rem;font-size:.78rem;font-weight:650;overflow:hidden}.cascade-pill-text span{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:8.5rem;font-size:.68rem;font-weight:500;overflow:hidden}.cascade-chevron{width:14px;height:14px;color:var(--text-muted);flex-shrink:0}.cascade-menu{background:var(--bg-surface);border:1px solid var(--border);z-index:60;border-radius:10px;min-width:240px;max-width:320px;max-height:min(60vh,360px);padding:.35rem;position:absolute;top:calc(100% + 6px);left:0;overflow:auto;box-shadow:0 10px 28px #0f172a1f}.cascade-menu-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding:.35rem .55rem .25rem;font-size:.68rem;font-weight:650}.cascade-menu-item{text-align:left;cursor:pointer;width:100%;color:var(--text-primary);background:0 0;border:0;border-radius:8px;align-items:center;gap:.55rem;padding:.5rem .55rem;display:flex}.cascade-menu-item:hover:not(:disabled){background:var(--bg-elevated,#f3f5f7)}.cascade-menu-item.current{background:var(--accent-dim)}.cascade-menu-item:disabled{cursor:default}.cascade-menu-item span:not(.cascade-pill-icon){flex-direction:column;flex:1;min-width:0;line-height:1.2;display:flex}.cascade-menu-item strong{font-size:.84rem}.cascade-menu-item small{color:var(--text-muted);font-size:.72rem}.cascade-check{width:14px;height:14px;color:var(--accent);flex-shrink:0}.cascade-menu-footer{color:var(--accent);border-top:1px solid var(--border);margin-top:.25rem;padding:.45rem .55rem;font-size:.75rem;text-decoration:none;display:block}.cascade-menu-footer:hover{text-decoration:underline}.workspace-dual{flex-shrink:0;align-items:center;gap:.45rem;display:flex}.workspace-unified{flex-shrink:0;position:relative}.workspace-unified-trigger{cursor:pointer;color:#fff;background:linear-gradient(#3d4a57 0%,#2f3a45 100%);border:1px solid #2f3a45;border-radius:10px;align-items:center;gap:.55rem;min-width:10.5rem;max-width:14rem;min-height:38px;padding:.4rem .65rem;display:inline-flex}.workspace-unified-trigger:disabled{opacity:.65;cursor:default}.workspace-unified-text{flex-direction:column;flex:1;align-items:flex-start;min-width:0;line-height:1.15;display:flex}.workspace-unified-text strong{white-space:nowrap;text-overflow:ellipsis;max-width:9rem;font-size:.82rem;font-weight:650;overflow:hidden}.workspace-unified-text span{color:#ffffffb8;white-space:nowrap;text-overflow:ellipsis;max-width:9rem;font-size:.68rem;font-weight:500;overflow:hidden}.workspace-chevron{color:#fffc;flex-shrink:0;width:14px;height:14px}.workspace-icon{letter-spacing:.02em;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.68rem;font-weight:700;display:inline-flex}.workspace-icon svg{width:15px;height:15px}.workspace-icon-globe{color:#fff;background:#2f3a45}.workspace-icon-group{color:#fff;background:#0d9488}.workspace-icon-site{color:#fff;background:#6366f1}.workspace-menu-empty{color:var(--text-muted);padding:.45rem .55rem .6rem;font-size:.75rem;line-height:1.35}.workspace-menu-empty a{color:var(--accent)}.workspace-icon-company{color:#fff}.workspace-menu-item-static{cursor:default}.workspace-menu-footer{color:var(--accent);border-top:1px solid var(--border);margin-top:.25rem;padding:.45rem .55rem;font-size:.75rem;text-decoration:none;display:block}.workspace-menu-footer:hover{text-decoration:underline}.workspace-menu-tenant-hint{color:var(--text-muted);border-top:1px solid var(--border);margin-top:.2rem;padding:.35rem .55rem .15rem;font-size:.7rem}.workspace-menu-tenant-hint strong{color:var(--text-primary);font-weight:600}.workspace-unified-menu{background:var(--bg-surface);border:1px solid var(--border);z-index:1200;border-radius:12px;min-width:280px;max-width:340px;max-height:min(70vh,420px);padding:.4rem;overflow:auto;box-shadow:0 14px 36px #0f172a2e}.workspace-unified-menu-portal{position:fixed}.workspace-menu-section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:.45rem .55rem .2rem;font-size:.66rem;font-weight:700}.workspace-menu-item{text-align:left;cursor:pointer;width:100%;color:var(--text-primary);background:0 0;border:0;border-radius:9px;align-items:center;gap:.6rem;padding:.52rem .55rem;display:flex}.workspace-menu-item:hover{background:var(--bg-elevated,#f3f5f7)}.workspace-menu-item.current{background:var(--accent-dim)}.workspace-menu-copy{flex-direction:column;flex:1;min-width:0;line-height:1.2;display:flex}.workspace-menu-copy strong{font-size:.84rem;font-weight:650}.workspace-menu-copy small{color:var(--text-muted);font-size:.72rem}.workspace-check{width:15px;height:15px;color:var(--accent);flex-shrink:0}.topbar-search{background:var(--bg-elevated);border:1px solid var(--border);max-width:480px;color:var(--text-muted);border-radius:999px;flex:1;align-items:center;gap:10px;padding:8px 14px;display:flex}.topbar-search svg{flex-shrink:0;width:16px;height:16px}.topbar-search input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:13px}.topbar-actions{align-items:center;gap:6px;display:flex}.topbar-icon{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--text-secondary);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.topbar-icon svg{width:18px;height:18px}.topbar-icon:hover,.topbar-icon.active{background:var(--accent-dim);color:var(--accent)}.topbar-badge{background:var(--danger);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;display:flex;position:absolute;top:4px;right:4px}.app-footer{height:var(--footer-height);background:var(--bg-surface);border-top:1px solid var(--border);color:var(--text-muted);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 24px;font-size:12px;display:flex}.footer-left,.footer-right{align-items:center;gap:8px;display:flex}.footer-dot{background:var(--success);border-radius:50%;width:8px;height:8px}.footer-sep{opacity:.5}.footer-secure{color:var(--success);font-weight:500}.plan-card{border-radius:var(--radius-md);background:linear-gradient(135deg,#f3fbf6,#eef8f1);border:1px solid #22a45a2e;margin-bottom:10px;padding:12px 14px}.plan-card-title{color:var(--text-primary);font-size:13px;font-weight:600}.plan-card-meta{color:var(--text-secondary);margin-top:2px;font-size:12px}.plan-card-link{color:var(--accent);cursor:pointer;background:0 0;border:none;margin-top:8px;padding:0;font-size:12px;font-weight:600}.nav-group{flex-direction:column;gap:2px;margin-top:4px;display:flex}.nav-sub{flex-direction:column;gap:1px;padding:4px 0 8px 28px;display:flex}.nav-sublink{border-radius:var(--radius-sm);color:var(--text-secondary);padding:7px 10px;font-size:12px;font-weight:500}.nav-sublink:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-sublink.active{background:var(--accent-dim);color:var(--accent);box-shadow:inset 2px 0 0 var(--accent)}.user-avatar{background:var(--accent);color:#fff;border-radius:50%}.greeting-row{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.greeting-row h2{margin-bottom:4px;font-size:22px}.greeting-row p{color:var(--text-secondary);margin:0;font-size:13px}.greeting-time{color:var(--text-muted);white-space:nowrap;font-size:12px}.kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}@media (width<=1200px){.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=720px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.kpi-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:16px}.kpi-card-top{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.kpi-icon{border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.kpi-icon svg{width:18px;height:18px}.kpi-icon.green{background:var(--success-dim);color:var(--success)}.kpi-icon.red{background:var(--danger-dim);color:var(--danger)}.kpi-icon.blue{background:var(--info-dim);color:var(--info)}.kpi-icon.orange{background:var(--warning-dim);color:var(--warning)}.kpi-icon.purple{color:#7c3aed;background:#7c3aed1a}.kpi-trend{color:var(--success);font-size:11px;font-weight:600}.kpi-label{color:var(--text-muted);font-size:12px}.kpi-value{font-family:var(--font-display);margin-top:2px;font-size:26px;font-weight:700;line-height:1.15}.dash-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}@media (width<=1100px){.dash-grid-3{grid-template-columns:1fr}}.panel-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:18px}.panel-card-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.panel-card-header h3{font-size:14px;font-weight:650}.panel-link{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;font-weight:600}.donut-wrap{align-items:center;gap:18px;display:flex}.donut{background:conic-gradient(var(--success) 0 78%, var(--warning) 78% 86%, var(--danger) 86% 98%, var(--text-muted) 98% 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:120px;height:120px;display:flex}.donut-inner{background:var(--bg-surface);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:78px;height:78px;display:flex}.donut-inner strong{font-size:20px;line-height:1}.donut-inner span{color:var(--text-muted);font-size:11px}.legend-list{color:var(--text-secondary);flex-direction:column;gap:8px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.legend-dot{border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.activity-item{border-bottom:1px solid var(--border);grid-template-columns:28px 1fr auto;align-items:start;gap:10px;padding:10px 0;font-size:13px;display:grid}.activity-item:last-child{border-bottom:none}.activity-icon{background:var(--bg-elevated);width:28px;height:28px;color:var(--accent);border-radius:8px;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.activity-meta{color:var(--text-muted);font-size:11px}.alert-item{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:10px 0;font-size:13px;display:flex}.alert-item:last-child{border-bottom:none}.usage-bars{flex-direction:column;gap:14px;display:flex}.usage-row label{color:var(--text-secondary);justify-content:space-between;margin-bottom:6px;font-size:12px;display:flex}.usage-track{background:var(--bg-elevated);border-radius:999px;height:8px;overflow:hidden}.usage-fill{background:var(--accent);border-radius:999px;height:100%}.area-chart{border-radius:var(--radius-sm);background:linear-gradient(180deg, #22a45a38, #22a45a05), repeating-linear-gradient(90deg, transparent, transparent 39px, var(--border) 39px, var(--border) 40px);clip-path:polygon(0% 70%,8% 62%,16% 66%,24% 48%,32% 52%,40% 30%,48% 36%,56% 18%,64% 28%,72% 22%,80% 40%,88% 34%,100% 48%,100% 100%,0% 100%);height:140px}.mode-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0;display:grid}@media (width<=900px){.mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.mode-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);text-align:left;cursor:pointer;color:var(--text-primary);padding:14px}.mode-card.active{border-color:var(--accent);background:var(--accent-dim);box-shadow:inset 0 0 0 1px var(--accent)}.mode-card strong{margin-bottom:4px;font-size:13px;display:block}.mode-card span{color:var(--text-muted);font-size:12px}.quick-connect{gap:10px;margin-top:12px;display:flex}.quick-connect input{flex:1}.security-banner{border-radius:var(--radius-sm);background:var(--accent-dim);color:var(--accent);align-items:center;gap:10px;margin-top:16px;padding:12px 14px;font-size:13px;font-weight:500;display:flex}.steps-row{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px;display:grid}.step-card{color:var(--text-secondary);align-items:flex-start;gap:10px;font-size:13px;display:flex}.step-num{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:flex}.side-stack{flex-direction:column;gap:16px;display:flex}.history-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:10px 0;font-size:13px;display:flex}.history-item:last-child{border-bottom:none}.layout-with-side{grid-template-columns:minmax(0,1fr) 300px;gap:16px;display:grid}@media (width<=1100px){.layout-with-side{grid-template-columns:1fr}}.transfer-layout{grid-template-columns:minmax(0,1fr) 300px;gap:16px;display:grid}.transfer-devices{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-bottom:14px;display:grid}.device-box{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);padding:12px 14px}.device-box label{color:var(--text-muted);margin-bottom:4px;font-size:11px;display:block}.swap-btn{border:1px solid var(--border);background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.dual-pane{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=1000px){.dual-pane,.transfer-layout{grid-template-columns:1fr}}.file-pane{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);overflow:hidden}.file-pane-path{border-bottom:1px solid var(--border);color:var(--text-secondary);background:var(--bg-elevated);padding:10px 12px;font-size:12px}.drop-zone{border-radius:var(--radius-md);text-align:center;color:var(--text-secondary);background:#22a45a0a;border:1.5px dashed #22a45a73;margin-top:12px;padding:18px}.progress-item{border-bottom:1px solid var(--border);padding:12px 0}.progress-item:last-child{border-bottom:none}.progress-meta{color:var(--text-muted);justify-content:space-between;margin:6px 0;font-size:12px;display:flex}.chat-layout{min-height:calc(100vh - var(--header-height) - var(--footer-height) - 120px);grid-template-columns:280px minmax(0,1fr) 280px;gap:12px;display:grid}@media (width<=1200px){.chat-layout{grid-template-columns:240px minmax(0,1fr)}.chat-details{display:none}}.chat-list,.chat-thread,.chat-details{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);flex-direction:column;display:flex;overflow:hidden}.chat-list-item{border-bottom:1px solid var(--border);cursor:pointer;gap:10px;padding:12px;display:flex}.chat-list-item.active{background:var(--accent-dim)}.chat-thread-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.chat-messages{background:var(--bg-elevated);flex-direction:column;flex:1;gap:10px;padding:16px;display:flex;overflow-y:auto}.bubble{border-radius:12px;max-width:75%;padding:10px 12px;font-size:13px;line-height:1.4}.bubble.in{background:var(--bg-surface);border:1px solid var(--border);align-self:flex-start}.bubble.out{background:#d9f5e4;align-self:flex-end}.chat-composer{border-top:1px solid var(--border);gap:8px;padding:12px;display:flex}.settings-layout{grid-template-columns:200px minmax(0,1fr);gap:16px;display:grid}.settings-nav a{text-align:left;width:100%;color:inherit;text-decoration:none;display:block}.settings-nav a.active{background:var(--surface-elevated);color:var(--text-primary)}.site-checkbox-grid{flex-direction:column;gap:6px;min-width:160px;display:flex}.site-checkbox-item{color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.site-checkbox-item input{margin:0}.settings-nav button{text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:10px 12px;font-size:13px;font-weight:500}.settings-nav button.active{background:var(--accent-dim);color:var(--accent)}.settings-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (width<=900px){.settings-layout,.settings-grid{grid-template-columns:1fr}}.toggle-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;font-size:13px;display:flex}.toggle-row:last-child{border-bottom:none}.toggle{background:var(--border-strong);cursor:pointer;border:none;border-radius:999px;flex-shrink:0;width:40px;height:22px;position:relative}.toggle.on{background:var(--accent)}.toggle:after{content:"";width:16px;height:16px;transition:transform var(--transition-fast);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.toggle.on:after{transform:translate(18px)}.admin-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}@media (width<=900px){.admin-links{grid-template-columns:1fr 1fr}}.admin-link-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);padding:14px}.admin-link-card h4{margin-bottom:4px;font-size:14px}.admin-link-card p{color:var(--text-muted);margin:0 0 10px;font-size:12px}.card{box-shadow:var(--shadow-sm)}.data-table th{background:var(--bg-elevated)}.drawer-overlay{background:#1a233259}.inventory-page{flex-direction:column;gap:0;display:flex}.inv-breadcrumb{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;font-size:13px;display:flex}.inv-breadcrumb a{color:var(--text-secondary);text-decoration:none}.inv-breadcrumb a:hover{color:var(--accent)}.inv-breadcrumb .current{color:var(--text-primary);font-weight:600}.inv-detail-layout{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:20px;display:grid}@media (width<=960px){.inv-detail-layout{grid-template-columns:1fr}}.inv-device-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:20px 16px;position:sticky;top:0}.inv-device-hero{text-align:center;border-bottom:1px solid var(--border);flex-direction:column;align-items:center;gap:8px;margin-bottom:14px;padding-bottom:16px;display:flex}.inv-device-icon{border-radius:var(--radius-md);background:var(--accent-dim);width:56px;height:56px;color:var(--accent);place-items:center;display:grid}.inv-device-icon svg{width:28px;height:28px}.inv-device-hero h2{font-size:16px;font-weight:700}.inv-device-os{color:var(--text-secondary);margin:0;font-size:12px}.inv-device-meta{flex-direction:column;gap:12px;margin:0;display:flex}.inv-device-meta>div{flex-direction:column;gap:2px;display:flex}.inv-device-meta dt{color:var(--text-muted);font-size:11px;font-weight:500}.inv-device-meta dd{color:var(--text-primary);word-break:break-word;margin:0;font-size:13px}.inv-access-btn{width:100%;margin-top:16px}.inv-detail-main{flex-direction:column;gap:16px;min-width:0;display:flex}.inv-tabs{border-bottom:1px solid var(--border);background:var(--bg-surface);border-radius:var(--radius-md) var(--radius-md) 0 0;border:1px solid var(--border);border-bottom:none;flex-wrap:wrap;gap:4px;padding:4px 8px 0;display:flex}.inv-tab{appearance:none;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 12px;font-size:13px;font-weight:500}.inv-tab:hover{color:var(--text-primary)}.inv-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.inv-section-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:18px 20px}.inv-section-card h3{margin-bottom:14px;font-size:14px;font-weight:650}.inv-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 18px;display:grid}@media (width<=1100px){.inv-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.inv-summary-grid{grid-template-columns:1fr}}.inv-field{flex-direction:column;gap:4px;min-width:0;display:flex}.inv-field-label{color:var(--text-muted);font-size:11px;font-weight:500}.inv-field-value{color:var(--text-primary);word-break:break-word;font-size:13px;font-weight:550}.inv-components-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}@media (width<=1100px){.inv-components-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.inv-components-grid{grid-template-columns:1fr}}.inv-component-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);align-items:flex-start;gap:12px;padding:14px;display:flex}.inv-component-icon{border-radius:var(--radius-sm);background:var(--accent-dim);width:36px;height:36px;color:var(--accent);flex-shrink:0;place-items:center;display:grid}.inv-component-icon svg{width:18px;height:18px}.inv-component-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.inv-component-primary{color:var(--text-primary);margin-top:2px;font-size:13px;font-weight:600;line-height:1.35}.inv-component-secondary{color:var(--text-muted);margin-top:4px;font-size:11px}.inv-list{flex-direction:column;gap:8px;max-height:420px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.inv-list li{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);flex-direction:column;gap:2px;padding:10px 12px;display:flex}.inv-list strong{font-size:13px;font-weight:600}.inv-list span{color:var(--text-secondary);font-size:12px}.inv-list-meta{color:var(--text-muted)!important;font-size:11px!important}.inv-table-wrap{border:1px solid var(--border);border-radius:var(--radius-sm);max-height:480px;overflow:auto}.inv-table{border-collapse:collapse;width:100%;font-size:13px}.inv-table th,.inv-table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 12px}.inv-table th{background:var(--bg-elevated);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600;position:sticky;top:0}.inv-table tbody tr:hover{background:var(--bg-hover)}.inv-footer-actions,.inv-actions-row{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.inv-footer-actions{margin-top:4px;padding-top:8px}.sidebar-nav .nav-group{margin-top:2px}.feature-page{flex-direction:column;gap:8px;display:flex}.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:8px;display:grid}@media (width<=960px){.feature-grid{grid-template-columns:1fr}}.feature-card h3{margin-bottom:6px;font-size:14px}.feature-card p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.45}.app-sidebar .sidebar-nav{flex:1;padding-bottom:8px;overflow-y:auto}
