.sidebar{position:fixed;left:0;top:0;width:var(--sidebar-width);height:100vh;background:var(--sidebar-bg);border-right:1px solid var(--border-color);display:flex;flex-direction:column;z-index:200;transition:width var(--transition-slow);overflow:visible}.sidebar.collapsed{width:var(--sidebar-collapsed-width)}.sidebar-header{height:var(--header-height);display:flex;align-items:center;padding:0 20px;border-bottom:1px solid var(--border-color);position:relative;overflow:hidden}.sidebar-header-video{position:absolute;top:50%;left:50%;min-width:100%;min-height:100%;width:auto;height:auto;transform:translate(-50%,-50%);object-fit:cover;z-index:0}.sidebar-header-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#0f172abf,#1e1b4bbf);z-index:1}.sidebar-logo{display:flex;align-items:center;gap:12px;position:relative;z-index:2;flex:1}.sidebar-toggle-btn{position:absolute;right:-14px;top:32px;z-index:10;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:50%;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-normal);flex-shrink:0;box-shadow:0 2px 8px #00000026}.sidebar-toggle-btn:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--primary-color)}.sidebar-toggle-btn i{font-size:10px}.collapsed .sidebar-toggle-btn{right:-14px}.collapsed .sidebar-header{padding:0 12px;justify-content:center}.collapsed .sidebar-logo{justify-content:center}.sidebar-logo img{height:36px;width:auto}.sidebar-logo-text{font-size:18px;font-weight:700;background:linear-gradient(135deg,var(--primary-light),var(--accent-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;white-space:nowrap}.collapsed .sidebar-logo-text{display:none}.sidebar-nav{flex:1;padding:20px 12px;overflow-y:auto}.nav-section{margin-bottom:24px}.nav-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);padding:0 12px;margin-bottom:8px}.collapsed .nav-section-title{display:none}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--border-radius);color:var(--text-secondary);text-decoration:none;transition:all var(--transition-normal);margin-bottom:4px;cursor:pointer;border:none;background:transparent;width:100%;font-size:14px}.nav-item:hover{background:var(--bg-secondary);color:var(--text-primary)}.nav-item.active{background:linear-gradient(135deg,var(--primary-color),var(--accent-secondary));color:#fff;box-shadow:var(--shadow-glow)}.nav-item i{width:20px;text-align:center;font-size:16px;flex-shrink:0}.nav-item-text{font-weight:500}.collapsed .nav-item-text{display:none}.collapsed .nav-item{justify-content:center;padding:12px}.nav-badge{margin-left:auto;background:var(--danger-color);color:#fff;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px}.collapsed .nav-badge{display:none}[data-theme=light] .sidebar{background:var(--sidebar-bg);border-right-color:#94a3b8}[data-theme=light] .sidebar-header{border-bottom-color:#94a3b8}[data-theme=light] .sidebar-logo-text{background:linear-gradient(135deg,#1e40af,var(--primary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}[data-theme=light] .nav-section-title{color:#475569}[data-theme=light] .nav-item{color:#1e3a5f}[data-theme=light] .nav-item:hover{background:#94a3b8;color:#0f172a}[data-theme=light] .nav-item.active{background:linear-gradient(135deg,var(--primary-color),var(--accent-secondary));color:#fff}[data-theme=light] .sidebar-toggle-btn{background:#0000000d;border-color:#0000001a;color:#475569}[data-theme=light] .sidebar-toggle-btn:hover{background:#0000001a;color:#1e293b}.sidebar-stats{padding:16px 12px;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:8px}.sidebar-stat-card{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--bg-tertiary);border-radius:var(--border-radius);transition:all var(--transition-normal)}.sidebar-stat-card:hover{background:var(--bg-secondary)}.sidebar-stat-icon{width:32px;height:32px;border-radius:var(--border-radius);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.sidebar-stat-icon.green{background:#22c55e26;color:var(--success-color)}.sidebar-stat-icon.red{background:#ef444426;color:var(--danger-color)}.sidebar-stat-icon.blue{background:#3b82f626;color:var(--info-color)}.sidebar-stat-icon.purple{background:#a855f726;color:#a855f7}.sidebar-stat-content{display:flex;flex-direction:column;gap:2px;min-width:0}.sidebar-stat-value{font-size:16px;font-weight:600;color:var(--text-primary);line-height:1}.sidebar-stat-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.collapsed .sidebar-stats{padding:12px 8px}.collapsed .sidebar-stat-card{justify-content:center;padding:10px}.collapsed .sidebar-stat-content{display:none}[data-theme=light] .sidebar-stat-card{background:#f1f5f9}[data-theme=light] .sidebar-stat-card:hover{background:#e2e8f0}.header{position:fixed;top:0;left:var(--sidebar-width);right:0;height:var(--header-height);background:var(--header-bg);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 24px;z-index:100;transition:left var(--transition-slow)}.header.sidebar-collapsed{left:var(--sidebar-collapsed-width)}.header-left{display:flex;align-items:center;gap:20px;flex:1;min-width:0}.header-search{position:relative;flex:1}.header-search input{width:100%;padding:10px 16px 10px 42px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-primary);font-size:14px;transition:all var(--transition-normal)}.header-search input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f133}.header-search input::placeholder{color:var(--text-muted)}.header-search i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-muted)}.header-right{display:flex;align-items:center;gap:16px;margin-left:24px}.header-icon-btn{width:40px;height:40px;border-radius:var(--border-radius);background:var(--bg-tertiary);border:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;transition:all var(--transition-normal)}.header-icon-btn:hover{background:var(--primary-color);color:#fff}.notification-badge{position:absolute;top:-4px;right:-4px;width:18px;height:18px;background:var(--danger-color);border-radius:50%;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;color:#fff}.user-menu{display:flex;align-items:center;gap:12px;padding:6px 12px 6px 6px;background:var(--bg-tertiary);border-radius:12px;cursor:pointer;transition:all var(--transition-normal);border:none}.user-menu:hover{background:var(--bg-primary)}.user-avatar{width:36px;height:36px;border-radius:var(--border-radius);background:linear-gradient(135deg,var(--primary-color),var(--accent-color));display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;color:#fff}.user-info{text-align:left}.user-name{font-size:14px;font-weight:600;color:var(--text-primary)}.user-role{font-size:12px;color:var(--text-muted)}.user-menu-icon{color:var(--text-muted);font-size:12px;transition:transform var(--transition-normal)}.user-menu-icon.rotated{transform:rotate(180deg)}.user-menu-container{position:relative}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:280px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-lg);z-index:1000;overflow:hidden;animation:dropdownFadeIn .2s ease-out}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.user-dropdown-header{display:flex;align-items:center;gap:12px;padding:16px;background:var(--bg-tertiary)}.user-avatar.large{width:48px;height:48px;font-size:18px}.user-dropdown-name{font-size:16px;font-weight:600;color:var(--text-primary)}.user-dropdown-email{font-size:12px;color:var(--text-muted)}.user-dropdown-divider{height:1px;background:var(--border-color);margin:4px 0}.user-dropdown-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:transparent;border:none;color:var(--text-primary);font-size:14px;cursor:pointer;transition:background var(--transition-fast);text-decoration:none}.user-dropdown-item:hover{background:var(--bg-tertiary)}.user-dropdown-item i{width:20px;color:var(--text-muted)}.user-dropdown-item.logout,.user-dropdown-item.logout i{color:var(--status-error)}.user-dropdown-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:8px 16px 4px}.header-dropdown-container{position:relative}.header-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-lg);z-index:1000;overflow:hidden;animation:dropdownFadeIn .2s ease-out}.dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-color)}.dropdown-header h4{font-size:14px;font-weight:600;margin:0}.dropdown-footer{padding:8px 16px;border-top:1px solid var(--border-color);text-align:center}.dropdown-footer button{background:none;border:none;color:var(--primary-color);font-size:13px;cursor:pointer}.dropdown-footer button:hover{text-decoration:underline}.notifications-dropdown{width:360px}.mark-all-read{background:none;border:none;color:var(--primary-color);font-size:12px;cursor:pointer}.mark-all-read:hover{text-decoration:underline}.notifications-list{max-height:320px;overflow-y:auto}.no-notifications{padding:32px;text-align:center;color:var(--text-muted)}.no-notifications i{font-size:32px;margin-bottom:12px}.notification-item{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;cursor:pointer;transition:background var(--transition-fast);position:relative}.notification-item:hover{background:var(--bg-tertiary)}.notification-item.read{opacity:.6}.notification-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.notification-icon.info{background:#3b82f626;color:var(--info-color)}.notification-icon.warning{background:#f59e0b26;color:var(--warning-color)}.notification-icon.error{background:#ef444426;color:var(--danger-color)}.notification-icon.success{background:#22c55e26;color:var(--success-color)}.notification-content{flex:1;min-width:0}.notification-title{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.notification-message{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-time{font-size:11px;color:var(--text-muted);margin-top:4px}.notification-unread-dot{width:8px;height:8px;background:var(--primary-color);border-radius:50%;flex-shrink:0;margin-top:4px}.notifications-settings{border-top:1px solid var(--border-color);padding:12px 0;margin-top:8px}.notifications-settings .setting-item{padding:8px 16px}.notifications-settings .setting-label{font-size:12px}.settings-dropdown{width:320px}.settings-list{padding:8px 0}.setting-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px}.setting-info{display:flex;flex-direction:column}.setting-label{font-size:13px;font-weight:500;color:var(--text-primary)}.setting-hint{font-size:11px;color:var(--text-muted)}.theme-toggle-inline{position:relative;width:50px;height:26px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:13px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:0 6px;transition:all var(--transition-normal)}.theme-toggle-inline .toggle-slider{position:absolute;width:20px;height:20px;background:var(--primary-color);border-radius:50%;left:3px;transition:all .3s ease}[data-theme=light] .theme-toggle-inline .toggle-slider{left:calc(100% - 23px)}.theme-toggle-inline .theme-icon-light,.theme-toggle-inline .theme-icon-dark{font-size:10px;z-index:1}.theme-toggle-inline .theme-icon-light{color:#fbbf24}.theme-toggle-inline .theme-icon-dark{color:#94a3b8}.toggle-switch{position:relative;width:44px;height:24px;flex-shrink:0}.toggle-switch input{opacity:0;width:100%;height:100%;position:absolute;top:0;left:0;cursor:pointer;z-index:2;margin:0}.toggle-slider-simple{position:absolute;cursor:pointer;inset:0;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;transition:all .3s ease}.toggle-slider-simple:before{position:absolute;content:"";height:18px;width:18px;left:2px;bottom:2px;background:var(--text-muted);border-radius:50%;transition:all .3s ease}.toggle-switch input:checked+.toggle-slider-simple{background:var(--primary-color);border-color:var(--primary-color)}.toggle-switch input:checked+.toggle-slider-simple:before{transform:translate(20px);background:#fff}.header-icon-btn.spinning i{animation:spin 1s linear infinite}.theme-toggle-container{margin-left:8px}.theme-toggle-btn{position:relative;width:70px;height:36px;background:linear-gradient(135deg,#1e293b,#0f172a);border:2px solid var(--border-color);border-radius:20px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:4px 8px;transition:all var(--transition-normal);overflow:hidden}.theme-toggle-btn:hover{border-color:var(--primary-color);box-shadow:0 0 15px #6366f14d}.theme-toggle-btn .theme-icon-light,.theme-toggle-btn .theme-icon-dark{font-size:14px;z-index:1;transition:all var(--transition-normal)}.theme-toggle-btn .theme-icon-light{color:#fbbf24}.theme-toggle-btn .theme-icon-dark{color:#94a3b8}.theme-toggle-slider{position:absolute;width:28px;height:28px;background:linear-gradient(135deg,var(--primary-color),var(--accent-secondary));border-radius:50%;left:4px;transition:all .3s cubic-bezier(.68,-.55,.265,1.55);box-shadow:0 2px 10px #6366f166}[data-theme=light] .theme-toggle-btn{background:linear-gradient(135deg,#e0f2fe,#f0f9ff)}[data-theme=light] .theme-toggle-slider{left:calc(100% - 32px);background:linear-gradient(135deg,var(--primary-color),var(--accent-color))}[data-theme=light] .theme-toggle-btn .theme-icon-light{color:#f59e0b}[data-theme=light] .theme-toggle-btn .theme-icon-dark{color:var(--primary-color)}@media(max-width:768px){.header-search input{width:200px}.user-info{display:none}}.main-layout{min-height:100vh}.main-content{margin-left:var(--sidebar-width);margin-top:var(--header-height);padding:24px;min-height:calc(100vh - var(--header-height));transition:margin-left var(--transition-slow)}.main-layout.sidebar-collapsed .main-content{margin-left:var(--sidebar-collapsed-width)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-title{font-size:28px;font-weight:700}.page-subtitle{color:var(--text-muted);font-size:14px;margin-top:4px}@media(max-width:1024px){.main-content{margin-left:var(--sidebar-collapsed-width)}}.password-input-container{position:relative}.password-field{position:relative;display:flex;align-items:center}.password-field .input{padding-right:80px}.password-actions{position:absolute;right:8px;display:flex;gap:4px}.password-action-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:6px 8px;border-radius:var(--border-radius);transition:all .2s ease}.password-action-btn:hover{color:var(--primary-color);background:var(--bg-tertiary)}.password-complexity{display:flex;align-items:center;gap:12px;margin-top:8px}.complexity-bars{display:flex;gap:4px}.complexity-bar{width:40px;height:4px;border-radius:2px;background:var(--border-color);transition:all .3s ease}.complexity-bar.active{background:var(--success-color)}.complexity-label{font-size:12px;font-weight:500}.password-hints{display:flex;flex-direction:column;gap:4px;margin-top:8px}.password-hints .hint{font-size:12px;color:var(--text-muted)}.input-error{border-color:var(--danger-color)!important}.field-error{display:block;font-size:12px;color:var(--danger-color);margin-top:6px}.field-success{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--success-color);margin-top:6px}.generator-modal{position:absolute;top:100%;left:0;right:0;margin-top:8px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:16px;box-shadow:var(--shadow-lg);z-index:100}.generator-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.generator-header h4{font-size:14px;font-weight:600;margin:0}.generator-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;font-size:16px}.generator-close:hover{color:var(--text-primary)}.generator-preview{display:flex;gap:8px;margin-bottom:16px}.generator-preview .input{flex:1;font-family:Monaco,Consolas,monospace;font-size:13px}.generator-preview .btn{padding:8px 12px}.generator-options{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.generator-option{display:flex;align-items:center;gap:12px}.generator-option label:first-child{font-size:13px;color:var(--text-secondary);min-width:80px}.generator-option input[type=range]{flex:1;height:6px;-webkit-appearance:none;background:var(--border-color);border-radius:3px;outline:none}.generator-option input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--primary-color);cursor:pointer}.range-value{min-width:30px;text-align:center;font-size:13px;font-weight:500;color:var(--primary-color)}.generator-checkboxes{display:flex;gap:16px;flex-wrap:wrap}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:var(--text-secondary)}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary-color);cursor:pointer}.generator-actions{display:flex;justify-content:flex-end}.btn-sm{padding:8px 16px;font-size:13px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.login-video-bg{position:absolute;top:50%;left:50%;min-width:100%;min-height:100%;width:auto;height:auto;transform:translate(-50%,-50%);object-fit:cover;z-index:0}.login-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#0f172ad9,#1e1b4bd9);z-index:1}.login-card{position:relative;z-index:2;background:#0d1238;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(99,102,241,.2);border-radius:var(--border-radius);padding:48px;width:100%;max-width:420px;box-shadow:0 25px 60px #000000b3,0 10px 30px #0d123880,inset 0 1px #ffffff0d}.login-logo{text-align:center;margin-bottom:32px}.login-logo img{height:64px;width:auto;margin-bottom:16px}.login-logo h1{font-size:24px;font-weight:700;background:linear-gradient(135deg,var(--primary-light),var(--accent-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-logo p{color:var(--text-muted);font-size:14px;margin-top:8px}.login-form{display:flex;flex-direction:column;gap:20px}.form-group label{font-size:14px;font-weight:500;color:var(--text-secondary)}.form-input-wrapper{position:relative}.form-input-wrapper i{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--text-muted)}.form-input-wrapper input{width:100%;padding:14px 16px 14px 48px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-primary);font-size:15px;transition:all var(--transition-normal)}.form-input-wrapper input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f133}.form-input-wrapper input::placeholder{color:var(--text-muted)}.login-options{display:flex;justify-content:space-between;align-items:center;font-size:14px}.remember-me{display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--text-secondary)}.remember-me input{width:18px;height:18px;accent-color:var(--primary-color)}.forgot-password{color:var(--primary-color);text-decoration:none;transition:color var(--transition-normal)}.forgot-password:hover{color:var(--primary-light)}.login-btn{width:100%;padding:16px;background:#eb5f16;border:none;border-radius:var(--border-radius);color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all var(--transition-normal);display:flex;align-items:center;justify-content:center;gap:10px}.login-btn:hover:not(:disabled){transform:translateY(-2px);background:#d45514;box-shadow:0 8px 25px #eb5f1666}.login-btn:disabled{opacity:.7;cursor:not-allowed}.login-btn .spinner{width:20px;height:20px;border-width:2px}.login-error{background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:var(--border-radius);padding:12px 16px;color:var(--danger-color);font-size:14px;display:flex;align-items:center;gap:10px}.form-group.has-error .form-input-wrapper input{border-color:var(--danger-color)}.field-error{color:var(--danger-color);font-size:12px;margin-top:4px}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;transition:color var(--transition-fast)}.password-toggle:hover{color:var(--text-secondary)}.login-footer{text-align:center;margin-top:24px;padding-top:24px;border-top:1px solid var(--border-color);color:var(--text-muted);font-size:13px}.login-footer a{color:var(--primary-color);text-decoration:none}.refresh-btn{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;font-size:18px;padding:0}.refresh-btn:hover{background:var(--bg-hover);border-color:var(--primary-color);color:var(--primary-color)}.refresh-btn:disabled{opacity:.7;cursor:wait}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.refresh-spin{display:inline-block;animation:spin 1s linear infinite}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:24px}.stat-card{background:var(--bg-card);border-radius:var(--border-radius);padding:24px;border:1px solid var(--border-color);transition:all var(--transition-slow)}.stat-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #0000004d;border-color:var(--primary-color)}.stat-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.stat-icon{width:48px;height:48px;border-radius:var(--border-radius);display:flex;align-items:center;justify-content:center;font-size:20px}.stat-icon.green{background:#10b98126;color:var(--success-color)}.stat-icon.blue{background:#3b82f626;color:var(--info-color)}.stat-icon.yellow{background:#f59e0b26;color:var(--warning-color)}.stat-icon.red{background:#ef444426;color:var(--danger-color)}.stat-icon.purple{background:#a855f726;color:var(--accent-secondary)}.stat-trend{font-size:12px;font-weight:600;padding:4px 8px;border-radius:var(--border-radius)}.stat-trend.up{background:#10b98126;color:var(--success-color)}.stat-trend.down{background:#ef444426;color:var(--danger-color)}.stat-value{font-size:32px;font-weight:700;margin-bottom:4px}.stat-label{color:var(--text-muted);font-size:14px}.quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:24px}.quick-action-btn{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-normal);text-decoration:none}.quick-action-btn:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--primary-color);transform:translateY(-2px)}.quick-action-btn i{font-size:24px;color:var(--primary-color)}.quick-action-btn span{font-size:13px;font-weight:500}.devices-section{background:var(--bg-card);border-radius:var(--border-radius);border:1px solid var(--border-color);overflow:hidden}.devices-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-color)}.devices-title{font-size:16px;font-weight:600}.devices-filters{display:flex;gap:8px;flex-wrap:wrap}.filter-btn{padding:6px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all var(--transition-normal)}.filter-btn:hover,.filter-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.devices-list{padding:8px}.device-group{margin-bottom:4px}.device-group-header{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-tertiary);border-radius:var(--border-radius);transition:all var(--transition-normal)}.device-group-header:hover{background:var(--bg-primary)}.device-group-header-clickable{display:flex;align-items:center;gap:10px;cursor:pointer;flex-shrink:0}.device-group-icon{color:var(--primary-color);transition:transform var(--transition-normal)}.device-group.collapsed .device-group-icon{transform:rotate(-90deg)}.device-group-name{font-weight:600}.device-group-agent-link{flex:1}.device-group-header-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.header-action-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-muted);cursor:pointer;transition:all var(--transition-normal)}.header-action-btn:hover{color:var(--accent-color);border-color:var(--accent-color);background:var(--bg-tertiary)}.header-action-btn.settings:hover{color:var(--primary-color);border-color:var(--primary-color)}.header-action-btn i{font-size:13px}.header-action-btn .fa-check{color:var(--success-color)}.agent-link-btn{display:flex;align-items:center;gap:8px;padding:4px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-muted);font-size:12px;font-family:Consolas,Monaco,monospace;cursor:pointer;transition:all var(--transition-normal)}.agent-link-btn:hover{color:var(--accent-color);border-color:var(--accent-color)}.agent-link-btn i{color:var(--accent-color)}.agent-copy-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-muted);cursor:pointer;transition:all var(--transition-normal)}.agent-copy-btn:hover{color:var(--accent-color);border-color:var(--accent-color)}.agent-copy-btn .fa-check{color:var(--success-color)}.group-settings-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-muted);cursor:pointer;transition:all var(--transition-normal);flex-shrink:0}.group-settings-btn:hover{color:var(--primary-color);border-color:var(--primary-color);background:var(--bg-tertiary)}.group-settings-btn i{font-size:14px}.device-group-count{font-size:13px;color:var(--text-muted);background:var(--bg-secondary);padding:4px 10px;border-radius:var(--border-radius);flex-shrink:0;cursor:pointer}.device-group-devices{overflow:visible;transition:max-height var(--transition-slow)}.device-group.collapsed .device-group-devices{max-height:0;overflow:hidden}.device-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--border-radius);transition:all var(--transition-normal);cursor:pointer;position:relative}.device-item:hover{background:var(--bg-tertiary)}.device-icon{width:36px;height:36px;border-radius:var(--border-radius);background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--text-secondary);flex-shrink:0}.device-icon.online{background:#10b98126;color:var(--success-color)}.device-icon.offline{background:#64748b26;color:var(--text-muted)}.device-info{flex:1;min-width:0}.device-name-row{display:flex;align-items:center;gap:8px;margin-bottom:2px}.device-name{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:500;flex-shrink:0}.status-badge .status-dot{width:6px;height:6px;border-radius:50%}.status-badge.online{background:#10b98126;color:var(--success-color)}.status-badge.online .status-dot{background:var(--success-color)}.status-badge.offline{background:#64748b26;color:var(--text-muted)}.status-badge.offline .status-dot{background:var(--text-muted)}.device-details{display:flex;gap:12px;font-size:12px;color:var(--text-muted);flex-wrap:wrap}.device-details span{display:flex;align-items:center;gap:6px}.device-actions{display:flex;gap:6px;flex-shrink:0;position:absolute;left:50%;transform:translate(-50%)}.device-action-btn{width:32px;height:32px;border-radius:var(--border-radius);background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-normal)}.device-action-btn:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.device-action-btn.disabled,.device-action-btn:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.device-action-btn.disabled:hover,.device-action-btn:disabled:hover{background:var(--bg-secondary);color:var(--text-secondary);border-color:var(--border-color)}.shebang-icon{font-family:Cascadia Code,SF Mono,Consolas,monospace;font-size:11px;font-weight:700;letter-spacing:-1px}.more-menu-container{position:absolute;right:12px;top:50%;transform:translateY(-50%)}.device-more-menu{position:absolute;top:100%;right:0;margin-top:4px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-lg);min-width:160px;z-index:1000;padding:6px 0}.device-more-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:none;border:none;color:var(--text-primary);font-size:13px;cursor:pointer;transition:background var(--transition-fast)}.device-more-menu button:hover{background:var(--bg-tertiary)}.device-more-menu button i{width:16px;color:var(--text-muted)}.device-more-menu button.danger,.device-more-menu button.danger i{color:var(--danger-color)}.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted)}.empty-state i{font-size:48px;margin-bottom:16px;opacity:.5}.empty-state h3{font-size:18px;margin-bottom:8px;color:var(--text-secondary)}[data-theme=light] .stat-card,[data-theme=light] .devices-section{background:var(--bg-card);box-shadow:0 1px 3px #0000001a}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--bg-card);border-radius:var(--border-radius);border:1px solid var(--border-color);padding:32px;width:60vw!important;max-width:1000px!important;min-width:400px;height:60vh!important;max-height:80vh!important;display:flex;flex-direction:column;overflow:hidden}.modal-body{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.modal-body .form-group{display:flex;flex-direction:column}.modal-body .form-group:last-of-type{flex:1;min-height:0}.modal-body textarea{flex:1!important;min-height:100px;height:100%!important;resize:none!important}.modal-content.modal-sm{max-width:560px}.modal-content.modal-lg{max-width:900px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.modal-title{font-size:20px;font-weight:600}.modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:20px;padding:4px}.modal-body{display:flex;flex-direction:column;gap:16px}.modal-footer{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:500;font-size:14px;color:var(--text-secondary)}.form-hint{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted)}.script-textarea{font-family:Consolas,Monaco,Courier New,monospace;font-size:13px;line-height:1.5;min-height:200px}.wol-btn{position:relative}.wol-icon{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:2px solid currentColor;border-radius:50%;position:relative}.wol-icon i{font-size:10px;color:var(--warning-color)}.wol-btn:hover .wol-icon{border-color:var(--warning-color);box-shadow:0 0 8px #fbbf2466}.wol-btn:hover .wol-icon i{color:var(--warning-color)}.group-settings-modal{background:var(--bg-card);border-radius:var(--border-radius);border:1px solid var(--border-color);width:100%;max-width:520px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.group-settings-modal .modal-header{display:flex;flex-direction:column;gap:4px;padding:24px 24px 16px;border-bottom:1px solid var(--border-color);position:relative}.group-settings-modal .modal-header h3{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:600;margin:0}.group-settings-modal .modal-header h3 i{color:var(--primary-color)}.group-settings-modal .modal-subtitle{font-size:13px;color:var(--text-muted)}.group-settings-modal .modal-close-btn{position:absolute;top:16px;right:16px;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:8px;font-size:16px;transition:color var(--transition-normal)}.group-settings-modal .modal-close-btn:hover{color:var(--text-primary)}.group-settings-modal .modal-body{padding:20px 24px;overflow-y:auto;flex:1}.settings-section{margin-bottom:24px}.settings-section:last-child{margin-bottom:0}.settings-section-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin:0 0 12px}.setting-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--border-color)}.setting-item:last-child{border-bottom:none}.setting-info{display:flex;flex-direction:column;gap:2px;flex:1}.setting-label{font-weight:500;font-size:14px}.setting-description{font-size:12px;color:var(--text-muted)}.toggle-switch{position:relative;width:44px;height:24px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all var(--transition-normal);flex-shrink:0}.toggle-switch.active{background:var(--primary-color);border-color:var(--primary-color)}.toggle-slider{position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform var(--transition-normal);box-shadow:0 1px 3px #0003}.toggle-switch.active .toggle-slider{transform:translate(20px)}.quality-buttons{display:flex;gap:4px}.quality-btn{padding:6px 12px;font-size:12px;font-weight:500;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-normal)}.quality-btn:hover{background:var(--bg-secondary)}.quality-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.scale-input{display:flex;align-items:center;gap:12px}.scale-input input[type=range]{width:120px;accent-color:var(--primary-color)}.scale-value{font-size:13px;font-weight:500;color:var(--text-primary);min-width:48px;text-align:right}.group-settings-modal .modal-footer{display:flex;gap:12px;justify-content:flex-end;padding:16px 24px;border-top:1px solid var(--border-color);background:var(--bg-tertiary)}.btn-secondary{padding:10px 20px;font-size:14px;font-weight:500;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-normal)}.btn-secondary:hover{background:var(--bg-tertiary);color:var(--text-primary)}.btn-primary{display:flex;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;background:var(--primary-color);border:none;border-radius:var(--border-radius);color:#fff;cursor:pointer;transition:all var(--transition-normal)}.btn-primary:hover{background:var(--primary-light)}@media(max-width:768px){.devices-filters,.device-details{display:none}}.account-page{max-width:800px}.account-section{background:var(--bg-card);border-radius:var(--border-radius);border:1px solid var(--border-color);padding:24px;margin-bottom:24px}.account-section-title{font-size:18px;font-weight:600;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.account-avatar{width:120px;height:120px;border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--primary-color),var(--accent-color));display:flex;align-items:center;justify-content:center;font-size:48px;font-weight:700;color:#fff;margin-bottom:24px}.account-form{display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.account-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.account-info-item{padding:16px;background:var(--bg-tertiary);border-radius:var(--border-radius)}.account-info-label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.account-info-value{font-size:16px;font-weight:500}.account-actions{display:flex;gap:12px;margin-top:8px}.form-group.has-error .form-input-wrapper input,.form-group.has-error .password-input-wrapper input{border-color:var(--danger-color)}.form-group.has-error .form-input-wrapper i:first-child{color:var(--danger-color)}.field-error{color:var(--danger-color);font-size:12px;margin-top:4px;display:block}.form-error-message{background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:var(--border-radius);padding:12px 16px;color:var(--danger-color);font-size:14px;display:flex;align-items:center;gap:10px}.form-success-message{background:#22c55e26;border:1px solid rgba(34,197,94,.3);border-radius:var(--border-radius);padding:12px 16px;color:var(--success-color);font-size:14px;display:flex;align-items:center;gap:10px}.account-form .password-input-container{width:100%}.account-form .password-input-wrapper{background:var(--bg-tertiary)}.events-table-container{background:var(--bg-card);border-radius:var(--border-radius);border:1px solid var(--border-color);overflow:hidden}.events-table{width:100%;border-collapse:collapse}.events-table th{text-align:left;padding:12px 16px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.events-table th.th-actions{width:48px;text-align:right;padding-right:12px}.refresh-icon-btn{width:28px;height:28px;border-radius:var(--border-radius);background:transparent;border:1px solid transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-normal)}.refresh-icon-btn:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-color)}.events-table td{padding:10px 16px;border-bottom:1px solid var(--border-color);font-size:13px}.events-table tr:last-child td{border-bottom:none}.events-table tr:hover td{background:var(--bg-tertiary)}.event-type{display:inline-flex;align-items:center;gap:8px;padding:3px 10px;border-radius:var(--border-radius);font-size:11px;font-weight:500}.event-type.login{background:#10b98126;color:var(--success-color)}.event-type.logout{background:#3b82f626;color:var(--info-color)}.event-type.device{background:#a855f726;color:var(--accent-secondary)}.event-type.error{background:#ef444426;color:var(--danger-color)}.event-type.warning{background:#f59e0b26;color:var(--warning-color)}.event-time{color:var(--text-muted);font-size:13px}.events-pagination{display:flex;justify-content:center;gap:8px;padding:20px}.page-btn{width:32px;height:32px;border-radius:var(--border-radius);background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-normal)}.page-btn:hover,.page-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.users-header-actions{display:flex;gap:12px}.users-table-container{background:var(--bg-card);border-radius:var(--border-radius);border:1px solid var(--border-color);overflow:hidden}.users-table{width:100%;border-collapse:collapse}.users-table th{text-align:left;padding:16px 20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.users-table td{padding:16px 20px;border-bottom:1px solid var(--border-color);font-size:14px}.users-table tr:last-child td{border-bottom:none}.users-table tr:hover td{background:var(--bg-tertiary)}.user-cell{display:flex;align-items:center;gap:12px}.user-avatar-sm{width:36px;height:36px;border-radius:var(--border-radius);background:linear-gradient(135deg,var(--primary-color),var(--accent-color));display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px;color:#fff}.user-name-cell{font-weight:500}.user-email-cell{color:var(--text-muted);font-size:13px}.user-role-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500}.user-role-badge.admin{background:#ef444426;color:var(--danger-color)}.user-role-badge.user{background:#3b82f626;color:var(--info-color)}.user-actions{display:flex;gap:8px}.users-page .modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.users-page .modal-content{background:var(--bg-card);border-radius:var(--border-radius);border:1px solid var(--border-color);padding:24px;width:100%;max-width:480px;height:auto!important;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modal-title{font-size:18px;font-weight:600}.modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:18px;padding:4px}.modal-close:hover{color:var(--text-primary)}.modal-close:disabled{opacity:.5;cursor:not-allowed}.modal-form{display:flex;flex-direction:column;gap:14px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:6px}.form-error{background:#ef444426;color:var(--danger-color);padding:10px 14px;border-radius:var(--border-radius);display:flex;align-items:center;gap:10px;font-size:13px}.form-hint{display:block;font-size:11px;color:var(--text-muted);margin-top:4px}.required{color:var(--danger-color)}.spinner-sm{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.btn:disabled{opacity:.6;cursor:not-allowed}.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;inset:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;inset:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{font-family:monospace;-webkit-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.remote-page{height:calc(100vh - var(--header-height) - 48px);display:flex;flex-direction:column}.remote-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius) var(--border-radius) 0 0}.remote-info{display:flex;align-items:center;gap:12px}.remote-device-icon{width:40px;height:40px;border-radius:var(--border-radius);background:#10b98126;color:var(--success-color);display:flex;align-items:center;justify-content:center;font-size:18px}.remote-device-header{display:flex;align-items:center;gap:12px}.remote-device-name{font-weight:600}.remote-device-status{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted)}.status-separator{color:var(--text-muted);opacity:.5;margin:0 4px}.connection-status{display:inline-flex;align-items:center;gap:6px}.connection-status.connected{color:var(--success-color)}.connection-status.connecting,.connection-status.waiting{color:var(--warning-color)}.connection-status.disconnected{color:var(--text-muted)}.remote-actions{display:flex;align-items:center;gap:8px}.btn-sm{padding:6px 12px;font-size:13px;display:inline-flex;align-items:center;gap:6px}.btn-secondary{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary)}.btn-secondary:hover{background:var(--bg-secondary);border-color:var(--text-muted)}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn{position:relative}.multi-monitor-badge{position:absolute;top:-4px;right:-4px;background:var(--primary-color);color:#fff;font-size:10px;font-weight:600;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px}.display-selector{display:flex;align-items:center;gap:8px;padding:4px 8px;background:var(--bg-tertiary);border-radius:var(--border-radius);border:1px solid var(--border-color)}.display-label{font-size:12px;color:var(--text-muted);white-space:nowrap}.display-dropdown{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-primary);padding:4px 8px;font-size:13px;cursor:pointer;min-width:120px}.display-dropdown:hover{border-color:var(--text-muted)}.icon-btn-small{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-muted);cursor:pointer;font-size:11px;transition:all .15s ease}.icon-btn-small:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--text-muted)}.display-dropdown:focus{outline:none;border-color:var(--primary-color)}.remote-container{flex:1;background:#000;border:1px solid var(--border-color);border-top:none;border-radius:0 0 var(--border-radius) var(--border-radius);overflow:hidden;position:relative}.remote-desktop-canvas{width:100%;height:100%;object-fit:contain;background:#000;display:block;cursor:crosshair}.remote-container.connected .remote-desktop-canvas{cursor:default}.remote-container:fullscreen{border-radius:0;border:none}.remote-container:fullscreen .remote-desktop-canvas{width:100vw;height:100vh;object-fit:contain}.remote-container:fullscreen:before{content:"Press ESC to exit fullscreen";position:absolute;top:0;left:50%;transform:translate(-50%);background:#000c;color:var(--text-muted);padding:8px 16px;border-radius:0 0 var(--radius-md) var(--radius-md);font-size:12px;opacity:0;transition:opacity .3s ease;z-index:1000;pointer-events:none}.remote-container:fullscreen:hover:before{opacity:1}.remote-container.thumbnail-mode{flex:0 0 auto;height:200px;max-width:400px;margin:16px auto;border-radius:var(--border-radius);border:2px solid var(--primary-color);box-shadow:0 4px 20px #6366f14d;transition:all .3s ease}.remote-container.thumbnail-mode .remote-desktop-canvas{opacity:.7;transition:opacity .2s ease}.remote-container.thumbnail-mode:hover .remote-desktop-canvas{opacity:1}.thumbnail-overlay{position:absolute;top:0;left:0;right:0;z-index:10;display:flex;flex-direction:column;align-items:center;padding:8px;background:linear-gradient(180deg,rgba(0,0,0,.8) 0%,transparent 100%);pointer-events:none}.thumbnail-badge{display:flex;align-items:center;gap:6px;background:var(--primary-color);color:#fff;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.thumbnail-badge i{font-size:11px}.thumbnail-hint{font-size:10px;color:var(--text-muted);margin-top:4px;text-align:center}.remote-container:has(.remote-placeholder) .remote-desktop-canvas{position:absolute;opacity:0;pointer-events:none}.remote-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-primary);color:var(--text-muted);gap:16px}.remote-loading .spinner{width:48px;height:48px}.remote-error{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-primary);color:var(--text-muted);gap:16px}.remote-error i{font-size:48px;color:var(--danger-color)}.terminal-wrapper{flex:1;display:flex;flex-direction:column;min-height:0;background:#0d1117;border:1px solid var(--border-color);border-top:none;border-radius:0 0 var(--radius-lg) var(--radius-lg);overflow:hidden}.terminal-header{display:flex;align-items:center;gap:12px;padding:8px 12px;background:#161b22;border-bottom:1px solid var(--border-color)}.terminal-status{color:var(--text-muted);font-size:13px}.terminal-status.connected{color:var(--success-color)}.terminal-status.waiting{color:var(--warning-color)}.terminal-spinner{margin-right:6px}.terminal-container{flex:1;padding:8px;overflow:hidden;min-height:0;cursor:text}.terminal-container:focus-within{outline:none}.terminal-container .xterm{height:100%}.terminal-container .xterm-screen{height:100%!important}.terminal-container .xterm-helper-textarea{position:absolute!important;opacity:0!important;left:-9999px!important}.terminal-container .xterm-viewport{overflow-y:auto!important}.btn-sm{padding:4px 12px;font-size:12px}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-card)}.close-btn{color:var(--text-muted);opacity:.5;transition:all .2s ease}.close-btn.active{opacity:1;color:var(--warning-color);border:1px solid rgba(251,146,60,.4);box-shadow:0 0 8px #fb923c4d}.close-btn.active:hover{color:var(--danger-color);border-color:#ef444466;box-shadow:0 0 8px #ef44444d;background:#ef44441a}.close-btn:hover{color:var(--danger-color);background:#ef44441a}.remote-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-primary);color:var(--text-muted);gap:16px}.placeholder-icon{font-size:48px;color:var(--primary-color)}.files-browser-container{flex:1;background:var(--bg-card);border:1px solid var(--border-color);border-top:none;border-radius:0 0 var(--radius-lg) var(--radius-lg);display:flex;flex-direction:column;overflow:hidden}.files-browser-container.fullscreen{position:fixed;inset:0;z-index:1000;border-radius:0;border:none}.files-browser-path{padding:12px 16px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);font-family:Consolas,monospace;font-size:13px;display:flex;align-items:center;gap:8px;flex-shrink:0}.files-browser-list{padding:12px;flex:1;overflow-y:auto}.file-browser-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--border-radius);cursor:pointer;transition:background var(--transition-normal)}.file-browser-item:hover{background:var(--bg-tertiary)}.file-browser-icon{width:40px;height:40px;border-radius:var(--border-radius);display:flex;align-items:center;justify-content:center;font-size:18px}.file-browser-icon.folder{background:#f59e0b26;color:var(--warning-color)}.file-browser-icon.file{background:#3b82f626;color:var(--info-color)}.file-browser-name{flex:1;font-weight:500}.file-browser-size{color:var(--text-muted);font-size:13px;min-width:80px}.file-browser-date{color:var(--text-muted);font-size:13px;min-width:120px;text-align:right}.file-browser-item.selected{background:#3b82f633;border-color:var(--primary-color)}.file-browser-item.selected:hover{background:#3b82f640}.file-browser-item.clickable{cursor:pointer}.file-browser-item.clickable .file-browser-name{color:var(--primary-color)}.file-browser-item.clickable:hover .file-browser-name{text-decoration:underline}.files-toolbar{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);gap:12px;flex-shrink:0}.files-toolbar-left,.files-toolbar-right{display:flex;align-items:center;gap:6px}.files-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .15s}.files-btn:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--primary-color)}.files-btn:disabled{opacity:.4;cursor:not-allowed}.files-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.files-btn.active:hover{background:var(--primary-color-hover)}.files-btn.danger:hover:not(:disabled){background:#ef44441a;color:var(--danger-color);border-color:var(--danger-color)}.files-upload-input{display:none}.files-separator{width:1px;height:24px;background:var(--border-color);margin:0 4px}.files-sort-select{padding:6px 10px;border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--bg-card);color:var(--text-secondary);font-size:12px;cursor:pointer}.files-clipboard-badge{padding:4px 8px;background:#3b82f626;color:var(--primary-color);border-radius:var(--border-radius);font-size:11px;font-weight:500}.files-browser-path{padding:8px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);font-family:Consolas,Monaco,Courier New,monospace;font-size:13px;display:flex;align-items:center;gap:0;flex-wrap:wrap;min-height:40px}.path-separator{color:var(--text-muted);margin:0;font-weight:300;opacity:.6}.path-crumb{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px 6px;border-radius:4px;font-family:inherit;font-size:inherit;display:inline-flex;align-items:center;gap:4px;transition:all .15s;white-space:nowrap}.path-crumb:hover:not(:disabled){background:var(--bg-tertiary);color:var(--primary-color)}.path-crumb:disabled{cursor:not-allowed;opacity:.5}.files-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-muted);text-align:center;gap:16px}.files-placeholder .placeholder-icon{font-size:48px;color:var(--primary-color);opacity:.6}.files-placeholder p{font-size:14px;margin:0}.files-status-bar{padding:8px 16px;background:var(--bg-tertiary);border-top:1px solid var(--border-color);font-size:12px;color:var(--text-muted)}.console-container{flex:1;display:flex;flex-direction:column;background:#0d1117;border:1px solid var(--border-color);border-top:none;border-radius:0 0 var(--radius-lg) var(--radius-lg);overflow:hidden}.console-output{flex:1;padding:16px;font-family:Cascadia Code,SF Mono,Monaco,Inconsolata,Fira Code,Droid Sans Mono,Source Code Pro,Consolas,Courier New,monospace;font-size:13px;line-height:1.6;color:#c9d1d9;overflow-y:auto;white-space:pre-wrap;word-break:break-word}.console-line{padding:2px 0}.console-line.command{color:#58a6ff;font-weight:500}.console-line.error{color:#f85149}.console-input-container{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#161b22;border-top:1px solid #30363d}.console-prompt{color:#58a6ff;font-family:Cascadia Code,SF Mono,Consolas,monospace;font-weight:700;font-size:14px}.console-input{flex:1;background:#0d1117;border:1px solid #30363d;border-radius:var(--border-radius);padding:8px 12px;color:#c9d1d9;font-family:Cascadia Code,SF Mono,Consolas,monospace;font-size:13px;outline:none;transition:border-color .2s}.console-input:focus{border-color:#58a6ff}.console-input:disabled{opacity:.5;cursor:not-allowed}.console-input::placeholder{color:#484f58}.console-send-btn{width:36px;height:36px;border:none;border-radius:var(--border-radius);background:var(--primary-color);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.console-send-btn:hover:not(:disabled){background:var(--primary-hover)}.console-send-btn:disabled{opacity:.5;cursor:not-allowed}.popup-container{width:100vw;height:100vh;display:flex;flex-direction:column;background:#000;overflow:hidden}.popup-container.fullscreen{position:fixed;top:0;left:0;z-index:9999}.popup-source-canvas{display:none}.popup-toolbar{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--bg-card, #1a1a2e);border-bottom:1px solid var(--border-color, #2d2d44);flex-shrink:0;transition:opacity .3s ease,transform .3s ease;z-index:100}.popup-toolbar.hidden{opacity:0;transform:translateY(-100%);position:absolute;top:0;left:0;right:0;pointer-events:none}.popup-container.fullscreen:hover .popup-toolbar.hidden{opacity:1;transform:translateY(0);pointer-events:auto}.popup-info{display:flex;align-items:center;gap:12px;min-width:0}.popup-device-name{font-weight:600;color:var(--text-primary, #e4e4e7);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.popup-display-name{font-size:12px;color:var(--text-muted, #a1a1aa);padding:2px 8px;background:var(--bg-tertiary, #252538);border-radius:4px;white-space:nowrap}.popup-status{display:flex;align-items:center;gap:6px;font-size:12px;white-space:nowrap}.popup-status.connected{color:var(--success-color, #10b981)}.popup-status.connected i{font-size:8px}.popup-status.connecting,.popup-status.waiting{color:var(--warning-color, #f59e0b)}.popup-status.disconnected{color:var(--text-muted, #a1a1aa)}.popup-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.popup-select{background:var(--bg-secondary, #16162a);border:1px solid var(--border-color, #2d2d44);border-radius:6px;color:var(--text-primary, #e4e4e7);padding:6px 10px;font-size:12px;cursor:pointer;min-width:80px}.popup-select:hover{border-color:var(--text-muted, #a1a1aa)}.popup-select:focus{outline:none;border-color:var(--primary-color, #6366f1)}.popup-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-tertiary, #252538);border:1px solid var(--border-color, #2d2d44);border-radius:6px;color:var(--text-secondary, #a1a1aa);cursor:pointer;transition:all .15s ease}.popup-btn:hover:not(:disabled){background:var(--bg-secondary, #16162a);color:var(--text-primary, #e4e4e7);border-color:var(--text-muted, #a1a1aa)}.popup-btn:disabled{opacity:.5;cursor:not-allowed}.popup-btn.close-btn:hover{background:var(--danger-color, #ef4444);border-color:var(--danger-color, #ef4444);color:#fff}.popup-canvas-container{flex:1;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#000}.popup-canvas{max-width:100%;max-height:100%;object-fit:contain;background:#000;cursor:default}.popup-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000000d9;color:var(--text-primary, #e4e4e7);gap:16px}.overlay-icon{font-size:48px;color:var(--text-muted, #a1a1aa)}.popup-overlay p{color:var(--text-muted, #a1a1aa);margin:0}.popup-error{width:100vw;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-primary, #0d0d1a);color:var(--text-primary, #e4e4e7);gap:16px}.popup-error i{font-size:48px;color:var(--danger-color, #ef4444)}.popup-error h3{margin:0}.popup-error p{color:var(--text-muted, #a1a1aa);margin:0}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:8px;font-weight:500;cursor:pointer;transition:all .15s ease;border:none}.btn-primary{background:var(--primary-color, #6366f1);color:#fff}.btn-primary:hover{background:var(--primary-hover, #5558e3)}:root{--primary-color: #6366f1;--primary-dark: #4f46e5;--primary-light: #818cf8;--accent-color: #22d3ee;--accent-secondary: #a855f7;--success-color: #10b981;--warning-color: #f59e0b;--danger-color: #ef4444;--info-color: #3b82f6;--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--bg-card: #1e293b;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--border-color: #334155;--sidebar-width: 260px;--sidebar-collapsed-width: 70px;--sidebar-bg: #0f172a;--header-height: 64px;--header-bg: #1e293b;--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--border-radius: 5px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 20px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .2);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .25);--shadow-glow: 0 4px 15px rgba(99, 102, 241, .4)}[data-theme=light]{--bg-primary: #e2e8f0;--bg-secondary: #f1f5f9;--bg-tertiary: #cbd5e1;--bg-card: #f8fafc;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--border-color: #cbd5e1;--sidebar-bg: #cbd5e1;--header-bg: #f8fafc}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;overflow-x:hidden;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}::selection{background:var(--primary-color);color:#fff}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-5{gap:20px}.gap-6{gap:24px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-success{color:var(--success-color)}.text-danger{color:var(--danger-color)}.text-warning{color:var(--warning-color)}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:var(--border-radius);font-size:14px;font-weight:600;cursor:pointer;border:none;transition:all var(--transition-normal)}.btn-primary{background:linear-gradient(135deg,var(--primary-color),var(--accent-secondary));color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-glow)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary)}.btn-secondary:hover{background:var(--bg-primary)}.btn-danger{background:var(--danger-color);color:#fff}.btn-danger:hover{opacity:.9;transform:translateY(-2px)}.btn-sm{padding:6px 12px;font-size:13px}.btn-lg{padding:14px 28px;font-size:16px}.card{background:var(--bg-card);border-radius:var(--border-radius);border:1px solid var(--border-color);padding:24px;transition:all var(--transition-slow)}.card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #0000004d;border-color:var(--primary-color)}.input{width:100%;padding:12px 16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-primary);font-size:14px;transition:all var(--transition-normal)}.input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f133}.input::placeholder{color:var(--text-muted)}.badge{display:inline-flex;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;border-radius:9999px}.badge-success{background:#10b98126;color:var(--success-color)}.badge-danger{background:#ef444426;color:var(--danger-color)}.badge-warning{background:#f59e0b26;color:var(--warning-color)}.badge-info{background:#3b82f626;color:var(--info-color)}.status-dot{width:8px;height:8px;border-radius:50%}.status-dot.online{background:var(--success-color);box-shadow:0 0 8px var(--success-color)}.status-dot.offline{background:var(--text-muted)}.icon-btn{width:40px;height:40px;border-radius:var(--border-radius);background:var(--bg-tertiary);border:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-normal)}.icon-btn:hover{background:var(--primary-color);color:#fff}.icon-btn-sm{width:36px;height:36px}.spinner{width:40px;height:40px;border:3px solid var(--bg-tertiary);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.gradient-text{background:linear-gradient(135deg,var(--primary-light),var(--accent-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}[data-theme=light] .gradient-text{background:linear-gradient(135deg,#1e40af,var(--primary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
