.sidebar[data-v-4ee8d170]{width:var(--sidebar-width);height:100vh;background:var(--sidebar-bg);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;overflow:visible;transition:width .2s ease}.sidebar-header[data-v-4ee8d170]{height:var(--header-height);padding:0 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;flex-shrink:0;text-decoration:none;cursor:pointer;transition:opacity .15s ease}.sidebar-header[data-v-4ee8d170]:hover{opacity:.8}.sidebar-logo[data-v-4ee8d170]{display:flex;flex-direction:column;gap:2px}.logo-icon[data-v-4ee8d170]{display:flex;align-items:center;color:var(--text)}.logo-icon[data-v-4ee8d170] svg{display:block;height:30px;width:auto}.logo-icon[data-v-4ee8d170] .logo-text{fill:currentColor}.logo-icon[data-v-4ee8d170] .logo-badge{fill:#c080ff}.logo-icon[data-v-4ee8d170] .portainer-logo-small .logo-text{fill:currentColor}.starred-section[data-v-4ee8d170]{padding:4px 0 0;border-bottom:1px solid var(--border);margin-bottom:0}.starred-section .nav-section-title[data-v-4ee8d170]{padding:0 16px 2px;font-size:9px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--subtle)}.starred-section .starred-item[data-v-4ee8d170]{display:flex;align-items:center;gap:6px;padding:4px 10px!important;margin:0 8px 2px!important;border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;transition:background .15s ease,color .15s ease;font-size:11px!important;font-weight:500;text-decoration:none;min-height:auto}.starred-section .starred-item[data-v-4ee8d170]:last-child{margin-bottom:4px!important}.starred-resource-type[data-v-4ee8d170]{display:inline-flex;align-items:center;padding:1px 4px;font-size:8px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--subtle);background:#1118270a;border-radius:3px;flex-shrink:0;line-height:1.2}.starred-section .starred-item[data-v-4ee8d170]:hover{background:#1118270a;color:var(--text)}.starred-section .starred-item.active[data-v-4ee8d170]{background:var(--accent-active);color:var(--accent)}.sidebar-nav[data-v-4ee8d170]{flex:1;overflow-y:auto;padding:12px 0}.nav-section[data-v-4ee8d170]{margin-bottom:8px}.nav-section-title[data-v-4ee8d170]{padding:8px 16px 6px;font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--subtle)}.nav-item[data-v-4ee8d170]{display:flex;align-items:center;gap:10px;padding:9px 16px;margin:0 8px;border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;transition:background .15s ease,color .15s ease;font-size:13px;font-weight:500;text-decoration:none}.nav-item[data-v-4ee8d170]:hover{background:#1118270a;color:var(--text)}.nav-item.active[data-v-4ee8d170]{background:var(--accent-active);color:var(--accent)}.nav-item.active .nav-icon[data-v-4ee8d170]{color:var(--accent)}.nav-icon[data-v-4ee8d170]{width:18px;height:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--muted)}.nav-badge[data-v-4ee8d170]{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--alert-error-bg);color:var(--status-danger);font-size:11px;font-weight:700;margin-left:auto;flex-shrink:0}.nav-item.active .nav-badge[data-v-4ee8d170]{background:#ef444433;color:#dc2626}.nav-item:hover .nav-icon[data-v-4ee8d170]{color:var(--text)}.sidebar-footer[data-v-4ee8d170]{padding:12px 16px;border-top:1px solid var(--border);font-size:11px;color:var(--subtle);overflow:hidden;white-space:nowrap}.infinity-symbol[data-v-4ee8d170]{font-size:1.4em;vertical-align:middle;line-height:0}.nav-tooltip[data-v-4ee8d170]{display:none}.sidebar.collapsed[data-v-4ee8d170]{width:var(--sidebar-collapsed-width)}.sidebar.collapsed .sidebar-header[data-v-4ee8d170]{padding:0;justify-content:center}.sidebar.collapsed .sidebar-logo[data-v-4ee8d170]{align-items:center}.sidebar.collapsed .logo-icon[data-v-4ee8d170]{display:flex;align-items:center;justify-content:center}.sidebar.collapsed .logo-icon[data-v-4ee8d170] svg{height:22.5px;width:22.5px}.sidebar.collapsed .sidebar-nav[data-v-4ee8d170]{overflow:visible}.sidebar.collapsed .nav-section-title[data-v-4ee8d170]{font-size:8px;padding:8px 8px 6px;text-align:center;letter-spacing:.3px}.sidebar.collapsed .nav-item[data-v-4ee8d170]{justify-content:center;padding:10px 8px;margin:0 6px;position:relative}.sidebar.collapsed .nav-item .nav-label[data-v-4ee8d170]{display:none}.sidebar.collapsed .nav-item .nav-badge[data-v-4ee8d170]{position:absolute;top:6px;right:6px;margin-left:0}.sidebar.collapsed .nav-item .nav-tooltip[data-v-4ee8d170]{display:none;position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);background:var(--tooltip-bg);color:var(--tooltip-text);padding:6px 10px;border-radius:6px;font-size:12px;font-weight:600;white-space:nowrap;z-index:1000;pointer-events:none;box-shadow:0 4px 12px #00000026}.sidebar.collapsed .nav-item .nav-tooltip[data-v-4ee8d170]:before{content:"";position:absolute;right:100%;top:50%;transform:translateY(-50%);border:5px solid transparent;border-right-color:var(--tooltip-bg)}.sidebar.collapsed .nav-item:hover .nav-tooltip[data-v-4ee8d170]{display:block}.sidebar.collapsed .sidebar-footer[data-v-4ee8d170]{padding:12px 6px;text-align:center}.sidebar.collapsed .sidebar-footer-text[data-v-4ee8d170]{display:none}.sidebar.collapsed .sidebar-footer[data-v-4ee8d170]:after{content:"©";font-size:10px}.header[data-v-668b7ce6]{height:var(--header-height);background:var(--header-bg);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 20px;gap:16px;flex-shrink:0}.header-menu-btn[data-v-668b7ce6]{width:36px;height:36px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--muted);transition:background .15s ease,border-color .15s ease}.header-menu-btn[data-v-668b7ce6]:hover{background:var(--dropdown-hover);border-color:var(--border-strong)}.breadcrumb[data-v-668b7ce6]{display:flex;align-items:center;gap:8px;font-size:13px}.breadcrumb-item[data-v-668b7ce6]{color:var(--muted);display:flex;align-items:center;gap:8px}.breadcrumb-item.current[data-v-668b7ce6]{color:var(--text);font-weight:600}.breadcrumb-item.clickable[data-v-668b7ce6]{cursor:pointer;transition:color .15s ease}.breadcrumb-item.clickable[data-v-668b7ce6]:hover{color:var(--accent)}.breadcrumb-icon[data-v-668b7ce6]{display:flex;align-items:center;justify-content:center}.breadcrumb-icon[data-v-668b7ce6] svg{width:16px;height:16px}.breadcrumb-separator[data-v-668b7ce6]{color:var(--subtle)}.breadcrumb-dropdown[data-v-668b7ce6]{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.breadcrumb-dropdown[data-v-668b7ce6]:hover{color:var(--text)}.star-btn[data-v-668b7ce6]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;margin-left:4px;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;color:var(--subtle);transition:color .15s ease,background .15s ease}.star-btn[data-v-668b7ce6]:hover{color:var(--muted);background:var(--dropdown-hover)}.star-btn.starred[data-v-668b7ce6]{color:var(--status-warning)}.star-btn.starred[data-v-668b7ce6]:hover{color:var(--badge-amber-text);background:#f59e0b14}.header-spacer[data-v-668b7ce6]{flex:1}.header-search[data-v-668b7ce6]{display:flex;align-items:center;gap:10px;padding:8px 14px;background:var(--dropdown-hover);border:1px solid var(--border);border-radius:var(--radius);color:var(--muted);font-size:13px;min-width:200px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.header-search[data-v-668b7ce6]:hover{border-color:var(--border-strong)}.header-search-icon[data-v-668b7ce6]{display:flex;align-items:center;color:var(--subtle)}.header-search-text[data-v-668b7ce6]{flex:1}.header-search-shortcut[data-v-668b7ce6]{font-size:11px;padding:3px 6px;background:var(--dropdown-hover);border-radius:4px;font-weight:600;letter-spacing:.3px}.header-actions[data-v-668b7ce6]{display:flex;align-items:center;gap:6px}.header-action-btn[data-v-668b7ce6]{width:36px;height:36px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--muted);transition:background .15s ease,border-color .15s ease}.header-action-btn[data-v-668b7ce6]:hover{background:var(--dropdown-hover);border-color:var(--border-strong);color:var(--text)}.header-user-wrapper[data-v-668b7ce6]{position:relative;margin-left:6px}.header-user[data-v-668b7ce6]{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#86efac,#34d399);display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;border:none;transition:transform .15s ease,box-shadow .15s ease}.header-user[data-v-668b7ce6]:hover{transform:scale(1.04)}.header-user.active[data-v-668b7ce6]{box-shadow:0 0 0 3px var(--accent-hover)}.header-user-avatar[data-v-668b7ce6]{width:100%;height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center}.header-user-avatar[data-v-668b7ce6] svg{color:#fff}.header-user[data-v-668b7ce6]:after{content:"";position:absolute;bottom:-2px;right:-2px;width:10px;height:10px;background:var(--header-bg);border-radius:50%;display:flex;align-items:center;justify-content:center}.header-user-caret[data-v-668b7ce6]{position:absolute;bottom:-1px;right:-1px;width:12px;height:12px;background:var(--header-bg);border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:1}.header-user-caret[data-v-668b7ce6] svg{width:8px;height:8px;color:var(--muted)}.user-dropdown[data-v-668b7ce6]{position:absolute;top:calc(100% + 8px);right:0;width:260px;background:var(--dropdown-bg);border-radius:12px;box-shadow:var(--dropdown-shadow);z-index:1000;overflow:hidden}.user-dropdown-header[data-v-668b7ce6]{display:flex;align-items:center;gap:12px;padding:16px}.user-dropdown-avatar[data-v-668b7ce6]{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#86efac,#34d399);display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-dropdown-avatar[data-v-668b7ce6] svg{width:22px;height:22px;color:#fff}.user-dropdown-info[data-v-668b7ce6]{flex:1;min-width:0}.user-dropdown-name[data-v-668b7ce6]{font-weight:600;font-size:14px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-dropdown-email[data-v-668b7ce6]{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-dropdown-divider[data-v-668b7ce6]{height:1px;background:var(--border);margin:0}.user-dropdown-section[data-v-668b7ce6]{padding:12px 16px}.user-dropdown-section-label[data-v-668b7ce6]{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.theme-toggle[data-v-668b7ce6]{display:flex;gap:4px;background:var(--dropdown-hover);padding:4px;border-radius:10px}.theme-toggle-btn[data-v-668b7ce6]{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border:none;background:transparent;border-radius:7px;cursor:pointer;color:var(--muted);font-size:12px;font-weight:500;transition:all .15s ease}.theme-toggle-btn[data-v-668b7ce6]:hover{color:var(--text)}.theme-toggle-btn.active[data-v-668b7ce6]{background:var(--dropdown-bg);color:var(--text);box-shadow:0 1px 3px #00000014,0 0 0 1px var(--border)}.theme-toggle-btn[data-v-668b7ce6] svg{flex-shrink:0}.language-toggle[data-v-668b7ce6]{display:flex;gap:4px;background:var(--dropdown-hover);padding:4px;border-radius:10px}.language-toggle-btn[data-v-668b7ce6]{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border:none;background:transparent;border-radius:7px;cursor:pointer;color:var(--muted);font-size:12px;font-weight:500;transition:all .15s ease}.language-toggle-btn[data-v-668b7ce6]:hover{color:var(--text)}.language-toggle-btn.active[data-v-668b7ce6]{background:var(--dropdown-bg);color:var(--text);box-shadow:0 1px 3px #00000014,0 0 0 1px var(--border)}.user-dropdown-menu[data-v-668b7ce6]{padding:6px}.user-dropdown-item[data-v-668b7ce6]{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;background:transparent;border-radius:8px;cursor:pointer;color:var(--text);font-size:13px;font-weight:500;font-family:inherit;transition:background .15s ease;text-align:left}.user-dropdown-item[data-v-668b7ce6]:hover{background:var(--dropdown-hover)}.user-dropdown-item-icon[data-v-668b7ce6]{display:flex;align-items:center;justify-content:center;color:var(--muted)}.user-dropdown-item.logout[data-v-668b7ce6],.user-dropdown-item.logout .user-dropdown-item-icon[data-v-668b7ce6]{color:var(--status-danger)}.user-dropdown-item.logout[data-v-668b7ce6]:hover{background:#ef444414}.test-connection-btn[data-v-668b7ce6]{display:flex;align-items:center;gap:8px;width:100%;padding:9px 12px;border:1px solid var(--border);background:var(--dropdown-hover);border-radius:8px;cursor:pointer;color:var(--text);font-size:13px;font-weight:500;font-family:inherit;transition:background .15s ease,border-color .15s ease}.test-connection-btn[data-v-668b7ce6]:hover:not(:disabled){background:var(--dropdown-bg);border-color:var(--border-strong)}.test-connection-btn[data-v-668b7ce6]:disabled{opacity:.7;cursor:wait}.test-connection-btn.success[data-v-668b7ce6]{border-color:var(--status-healthy);background:#22c55e0f}.test-connection-btn.error[data-v-668b7ce6]{border-color:var(--status-danger);background:#ef44440f}.test-connection-icon[data-v-668b7ce6]{display:flex;align-items:center;justify-content:center;color:var(--muted)}.test-connection-btn.success .test-connection-icon[data-v-668b7ce6]{color:var(--status-healthy)}.test-connection-btn.error .test-connection-icon[data-v-668b7ce6]{color:var(--status-danger)}.test-connection-btn.loading .test-connection-icon[data-v-668b7ce6]{color:var(--accent)}.test-connection-label[data-v-668b7ce6]{flex:1;text-align:left}.test-connection-message[data-v-668b7ce6]{margin-top:8px;font-size:12px;line-height:1.4;padding:6px 10px;border-radius:6px}.test-connection-message.success[data-v-668b7ce6]{color:var(--status-healthy);background:#22c55e14}.test-connection-message.error[data-v-668b7ce6]{color:var(--status-danger);background:#ef444414}.dropdown-enter-active[data-v-668b7ce6]{transition:all .2s cubic-bezier(.16,1,.3,1)}.dropdown-leave-active[data-v-668b7ce6]{transition:all .15s ease-in}.dropdown-enter-from[data-v-668b7ce6]{opacity:0;transform:translateY(-8px) scale(.96)}.dropdown-leave-to[data-v-668b7ce6]{opacity:0;transform:translateY(-4px) scale(.98)}.command-palette-backdrop[data-v-3b991911]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;z-index:9999}.command-palette[data-v-3b991911]{width:100%;max-width:580px;background:var(--content-bg);border-radius:16px;box-shadow:var(--dropdown-shadow);overflow:hidden;display:flex;flex-direction:column;max-height:70vh}.command-search[data-v-3b991911]{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border)}.command-search-icon[data-v-3b991911]{color:var(--muted);display:flex;align-items:center;flex-shrink:0}.command-search-icon[data-v-3b991911] svg{width:20px;height:20px}.command-input[data-v-3b991911]{flex:1;border:none;background:transparent;font-size:16px;color:var(--text);outline:none;font-family:inherit}.command-input[data-v-3b991911]::placeholder{color:var(--subtle)}.command-shortcut[data-v-3b991911]{font-size:11px;font-weight:600;padding:4px 8px;background:var(--toggle-bg);border:1px solid var(--border);border-radius:6px;color:var(--muted);font-family:system-ui,-apple-system,sans-serif}.command-results[data-v-3b991911]{flex:1;overflow-y:auto;padding:8px;scroll-behavior:smooth}.command-group[data-v-3b991911]{margin-bottom:8px}.command-group[data-v-3b991911]:last-child{margin-bottom:0}.command-group-header[data-v-3b991911]{display:flex;align-items:center;gap:8px;padding:8px 12px 6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}.command-group-icon[data-v-3b991911]{display:flex;align-items:center;opacity:.7}.command-group-icon[data-v-3b991911] svg{width:14px;height:14px}.command-item[data-v-3b991911]{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;cursor:pointer;transition:background-color .1s ease}.command-item[data-v-3b991911]:hover,.command-item.selected[data-v-3b991911]{background:var(--accent-hover)}.command-item-icon[data-v-3b991911]{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--toggle-bg);color:var(--muted)}.command-item-icon.environment[data-v-3b991911]{background:var(--icon-bg-blue)}.command-item-icon.group[data-v-3b991911]{background:var(--icon-bg-purple)}.command-item-icon.group[data-v-3b991911] svg{color:var(--icon-color-purple)}.command-item-icon.policy[data-v-3b991911]{background:var(--icon-bg-cyan)}.command-item-icon.page[data-v-3b991911]{background:linear-gradient(135deg,#fcd34d,#f59e0b);color:#fff}.platform-icon[data-v-3b991911]{width:24px;height:24px}.command-item-content[data-v-3b991911]{flex:1;min-width:0}.command-item-name[data-v-3b991911]{font-size:14px;font-weight:500;color:var(--text);display:flex;align-items:center;gap:8px}.status-dot[data-v-3b991911]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot.status-up[data-v-3b991911]{background:var(--status-success);box-shadow:0 0 8px #22c55e66}.status-dot.status-down[data-v-3b991911]{background:var(--status-danger);box-shadow:0 0 8px #ef444466}.status-dot.status-heartbeat[data-v-3b991911]{background:var(--status-warning);box-shadow:0 0 8px #f59e0b66}.command-item-desc[data-v-3b991911]{font-size:12px;color:var(--muted);margin-top:2px;display:flex;align-items:center;gap:8px}.command-item-tag[data-v-3b991911]{font-size:10px;font-weight:600;padding:2px 6px;background:var(--badge-bg);border-radius:4px;color:var(--muted);text-transform:uppercase;letter-spacing:.3px}.command-item-action[data-v-3b991911]{color:var(--subtle);opacity:0;transition:opacity .1s ease}.command-item:hover .command-item-action[data-v-3b991911],.command-item.selected .command-item-action[data-v-3b991911]{opacity:1}.command-empty[data-v-3b991911]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:var(--muted);gap:12px}.command-empty-icon[data-v-3b991911]{opacity:.5}.command-footer[data-v-3b991911]{display:flex;align-items:center;justify-content:center;gap:20px;padding:12px 16px;border-top:1px solid var(--border);background:var(--toggle-bar-bg)}.command-hint[data-v-3b991911]{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.command-hint kbd[data-v-3b991911]{font-size:11px;font-weight:500;padding:3px 6px;background:var(--content-bg);border:1px solid var(--border);border-radius:4px;font-family:system-ui,-apple-system,sans-serif;min-width:22px;text-align:center}.loading-interstitial[data-v-07f18056]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:var(--bg)}.loading-interstitial-card[data-v-07f18056]{display:flex;flex-direction:column;align-items:center;gap:24px;padding:48px 56px;text-align:center}.loading-interstitial-logo[data-v-07f18056]{color:var(--text);opacity:.85}.loading-interstitial-logo[data-v-07f18056] svg{width:40px;height:40px}.loading-interstitial-logo[data-v-07f18056] .logo-text{fill:currentColor}.loading-interstitial-logo[data-v-07f18056] .logo-badge{fill:#c080ff}.loading-interstitial-spinner[data-v-07f18056]{width:32px;height:32px}.loading-ring[data-v-07f18056]{width:100%;height:100%;animation:interstitial-spin-07f18056 1s linear infinite}.loading-ring circle[data-v-07f18056]{fill:none;stroke:var(--accent, #0ea5e9);stroke-width:3;stroke-linecap:round;stroke-dasharray:80 107}@keyframes interstitial-spin-07f18056{to{transform:rotate(360deg)}}.loading-interstitial-text[data-v-07f18056]{display:flex;flex-direction:column;gap:6px}.loading-interstitial-title[data-v-07f18056]{font-size:14px;font-weight:500;color:var(--text)}.loading-interstitial-subtitle[data-v-07f18056]{font-size:12px;color:var(--muted)}.interstitial-fade-leave-active[data-v-07f18056]{transition:opacity .35s ease}.interstitial-fade-leave-to[data-v-07f18056]{opacity:0}:root{--bg: #f6f7f9;--sidebar-bg: #ffffff;--header-bg: #ffffff;--content-bg: #ffffff;--border: rgba(17,24,39,.08);--border-strong: rgba(17,24,39,.14);--text: rgba(17,24,39,.92);--muted: rgba(17,24,39,.55);--subtle: rgba(17,24,39,.38);--accent: #0ea5e9;--accent-hover: rgba(14,165,233,.08);--accent-active: rgba(14,165,233,.12);--sidebar-width: 220px;--sidebar-collapsed-width: 56px;--header-height: 56px;--radius: 10px;--radius-sm: 6px;--dropdown-bg: #ffffff;--dropdown-hover: rgba(17,24,39,.04);--dropdown-shadow: 0 10px 40px rgba(0,0,0,.12), 0 0 0 1px rgba(17,24,39,.08);--card-shadow-hover: 0 4px 16px rgba(0,0,0,.06);--banner-bg: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);--banner-border: #bae6fd;--status-success: #22c55e;--status-warning: #f59e0b;--status-danger: #ef4444;--status-info: #3b82f6;--icon-bg-blue: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%);--icon-color-blue: #2563eb;--icon-bg-purple: linear-gradient(135deg, #f3e8ff 0%, #e9d5ff 100%);--icon-color-purple: #7c3aed;--icon-bg-green: linear-gradient(135deg, #dcfce7 0%, #bbf7d0 100%);--icon-color-green: #16a34a;--icon-bg-cyan: linear-gradient(135deg, #cffafe 0%, #a5f3fc 100%);--icon-color-cyan: #0891b2;--alert-error-bg: #fef2f2;--alert-error-border: #fecaca;--alert-error-icon-bg: #fee2e2;--alert-warning-bg: #fffbeb;--alert-warning-border: #fde68a;--alert-warning-icon-bg: #fef3c7;--alert-info-bg: #f0f9ff;--alert-info-border: #bae6fd;--alert-info-icon-bg: #dbeafe;--list-shadow: 0 1px 2px rgba(16,24,40,.06), 0 6px 16px rgba(16,24,40,.08);--toggle-bar-bg: #f8f9fa;--toggle-bg: rgba(17,24,39,.05);--toggle-hover: rgba(17,24,39,.08);--toggle-active-shadow: 0 1px 2px rgba(16,24,40,.08);--badge-bg: rgba(17,24,39,.08);--subfilter-bg: linear-gradient(to bottom, rgba(17,24,39,.02), transparent);--group-header-bg: rgba(17,24,39,.02);--card-hover: rgba(17,24,39,.02);--icon-container-bg: rgba(17,24,39,.04);--text-semi: rgba(17,24,39,.7);--text-faint: rgba(17,24,39,.45);--badge-blue-bg: rgba(37,99,235,.1);--badge-blue-text: #2563eb;--badge-purple-bg: rgba(139,92,246,.1);--badge-purple-text: #7c3aed;--badge-green-bg: rgba(22,163,74,.1);--badge-green-text: #16a34a;--badge-orange-bg: rgba(249,115,22,.1);--badge-orange-text: #ea580c;--badge-cyan-bg: rgba(6,182,212,.1);--badge-cyan-text: #0891b2;--badge-amber-bg: rgba(217,119,6,.1);--badge-amber-text: #d97706;--badge-red-bg: rgba(220,38,38,.1);--badge-red-text: #dc2626;--platform-k8s: #326ce5;--platform-docker: #0088cc;--accent-teal: #0d9488;--accent-teal-bg: rgba(13,148,136,.12);--accent-amber: #f59e0b;--accent-amber-bg: rgba(245,158,11,.12);--tooltip-bg: rgba(17,24,39,.92);--tooltip-text: #ffffff}[data-theme=dark]{--bg: #0f1117;--sidebar-bg: #16181d;--header-bg: #16181d;--content-bg: #1c1f26;--border: rgba(255,255,255,.08);--border-strong: rgba(255,255,255,.14);--text: rgba(255,255,255,.92);--muted: rgba(255,255,255,.55);--subtle: rgba(255,255,255,.38);--accent: #38bdf8;--accent-hover: rgba(56,189,248,.12);--accent-active: rgba(56,189,248,.18);--dropdown-bg: #1c1f26;--dropdown-hover: rgba(255,255,255,.06);--dropdown-shadow: 0 10px 40px rgba(0,0,0,.4), 0 0 0 1px rgba(255,255,255,.08);--card-shadow-hover: 0 4px 16px rgba(0,0,0,.3);--banner-bg: linear-gradient(135deg, rgba(56,189,248,.08) 0%, rgba(56,189,248,.04) 100%);--banner-border: rgba(56,189,248,.25);--status-success: #4ade80;--status-warning: #fbbf24;--status-danger: #f87171;--status-info: #60a5fa;--icon-bg-blue: linear-gradient(135deg, rgba(59,130,246,.2) 0%, rgba(59,130,246,.1) 100%);--icon-color-blue: #60a5fa;--icon-bg-purple: linear-gradient(135deg, rgba(139,92,246,.2) 0%, rgba(139,92,246,.1) 100%);--icon-color-purple: #a78bfa;--icon-bg-green: linear-gradient(135deg, rgba(34,197,94,.2) 0%, rgba(34,197,94,.1) 100%);--icon-color-green: #4ade80;--icon-bg-cyan: linear-gradient(135deg, rgba(6,182,212,.2) 0%, rgba(6,182,212,.1) 100%);--icon-color-cyan: #22d3ee;--alert-error-bg: rgba(239,68,68,.1);--alert-error-border: rgba(239,68,68,.25);--alert-error-icon-bg: rgba(239,68,68,.2);--alert-warning-bg: rgba(245,158,11,.1);--alert-warning-border: rgba(245,158,11,.25);--alert-warning-icon-bg: rgba(245,158,11,.2);--alert-info-bg: rgba(59,130,246,.1);--alert-info-border: rgba(59,130,246,.25);--alert-info-icon-bg: rgba(59,130,246,.2);--list-shadow: 0 1px 2px rgba(0,0,0,.2), 0 6px 16px rgba(0,0,0,.25);--toggle-bar-bg: rgba(255,255,255,.03);--toggle-bg: rgba(0,0,0,.25);--toggle-hover: rgba(255,255,255,.08);--toggle-active-shadow: 0 1px 3px rgba(0,0,0,.4);--badge-bg: rgba(255,255,255,.1);--subfilter-bg: linear-gradient(to bottom, rgba(255,255,255,.015), transparent);--group-header-bg: rgba(255,255,255,.025);--card-hover: rgba(255,255,255,.03);--icon-container-bg: rgba(255,255,255,.08);--text-semi: rgba(255,255,255,.7);--text-faint: rgba(255,255,255,.45);--badge-blue-bg: rgba(59,130,246,.15);--badge-blue-text: #60a5fa;--badge-purple-bg: rgba(139,92,246,.15);--badge-purple-text: #a78bfa;--badge-green-bg: rgba(34,197,94,.15);--badge-green-text: #4ade80;--badge-orange-bg: rgba(249,115,22,.15);--badge-orange-text: #fb923c;--badge-cyan-bg: rgba(6,182,212,.15);--badge-cyan-text: #22d3ee;--badge-amber-bg: rgba(251,191,36,.15);--badge-amber-text: #fbbf24;--badge-red-bg: rgba(248,113,113,.15);--badge-red-text: #f87171;--platform-k8s: #5b8def;--platform-docker: #2ba8e6;--accent-teal: #2dd4bf;--accent-teal-bg: rgba(45,212,191,.15);--accent-amber: #fbbf24;--accent-amber-bg: rgba(251,191,36,.15);--tooltip-bg: rgba(255,255,255,.95);--tooltip-text: rgba(17,24,39,.92)}@media (prefers-color-scheme: dark){[data-theme=system]{--bg: #0f1117;--sidebar-bg: #16181d;--header-bg: #16181d;--content-bg: #1c1f26;--border: rgba(255,255,255,.08);--border-strong: rgba(255,255,255,.14);--text: rgba(255,255,255,.92);--muted: rgba(255,255,255,.55);--subtle: rgba(255,255,255,.38);--accent: #38bdf8;--accent-hover: rgba(56,189,248,.12);--accent-active: rgba(56,189,248,.18);--dropdown-bg: #1c1f26;--dropdown-hover: rgba(255,255,255,.06);--dropdown-shadow: 0 10px 40px rgba(0,0,0,.4), 0 0 0 1px rgba(255,255,255,.08);--card-shadow-hover: 0 4px 16px rgba(0,0,0,.3);--banner-bg: linear-gradient(135deg, rgba(56,189,248,.08) 0%, rgba(56,189,248,.04) 100%);--banner-border: rgba(56,189,248,.25);--status-success: #4ade80;--status-warning: #fbbf24;--status-danger: #f87171;--status-info: #60a5fa;--icon-bg-blue: linear-gradient(135deg, rgba(59,130,246,.2) 0%, rgba(59,130,246,.1) 100%);--icon-color-blue: #60a5fa;--icon-bg-purple: linear-gradient(135deg, rgba(139,92,246,.2) 0%, rgba(139,92,246,.1) 100%);--icon-color-purple: #a78bfa;--icon-bg-green: linear-gradient(135deg, rgba(34,197,94,.2) 0%, rgba(34,197,94,.1) 100%);--icon-color-green: #4ade80;--icon-bg-cyan: linear-gradient(135deg, rgba(6,182,212,.2) 0%, rgba(6,182,212,.1) 100%);--icon-color-cyan: #22d3ee;--alert-error-bg: rgba(239,68,68,.1);--alert-error-border: rgba(239,68,68,.25);--alert-error-icon-bg: rgba(239,68,68,.2);--alert-warning-bg: rgba(245,158,11,.1);--alert-warning-border: rgba(245,158,11,.25);--alert-warning-icon-bg: rgba(245,158,11,.2);--alert-info-bg: rgba(59,130,246,.1);--alert-info-border: rgba(59,130,246,.25);--alert-info-icon-bg: rgba(59,130,246,.2);--list-shadow: 0 1px 2px rgba(0,0,0,.2), 0 6px 16px rgba(0,0,0,.25);--toggle-bar-bg: rgba(255,255,255,.03);--toggle-bg: rgba(0,0,0,.25);--toggle-hover: rgba(255,255,255,.08);--toggle-active-shadow: 0 1px 3px rgba(0,0,0,.4);--badge-bg: rgba(255,255,255,.1);--subfilter-bg: linear-gradient(to bottom, rgba(255,255,255,.015), transparent);--group-header-bg: rgba(255,255,255,.025);--card-hover: rgba(255,255,255,.03);--icon-container-bg: rgba(255,255,255,.08);--text-semi: rgba(255,255,255,.7);--text-faint: rgba(255,255,255,.45);--badge-blue-bg: rgba(59,130,246,.15);--badge-blue-text: #60a5fa;--badge-purple-bg: rgba(139,92,246,.15);--badge-purple-text: #a78bfa;--badge-green-bg: rgba(34,197,94,.15);--badge-green-text: #4ade80;--badge-orange-bg: rgba(249,115,22,.15);--badge-orange-text: #fb923c;--badge-cyan-bg: rgba(6,182,212,.15);--badge-cyan-text: #22d3ee;--badge-amber-bg: rgba(251,191,36,.15);--badge-amber-text: #fbbf24;--badge-red-bg: rgba(248,113,113,.15);--badge-red-text: #f87171;--platform-k8s: #5b8def;--platform-docker: #2ba8e6;--accent-teal: #2dd4bf;--accent-teal-bg: rgba(45,212,191,.15);--accent-amber: #fbbf24;--accent-amber-bg: rgba(251,191,36,.15);--tooltip-bg: rgba(255,255,255,.95);--tooltip-text: rgba(17,24,39,.92)}}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:DM Sans,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:14px}a{color:inherit;text-decoration:none}.app-layout{display:flex;height:100vh;overflow:hidden}.main-area{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden;transition:margin-left .2s ease}.content-area{flex:1;overflow:auto;padding:24px;position:relative}.refresh-progress-bar{position:absolute;top:0;left:0;right:0;height:3px;background:transparent;overflow:hidden;z-index:100;pointer-events:none;opacity:0;transition:opacity .2s ease}.refresh-progress-bar.active{opacity:1}.refresh-progress-fill{height:100%;width:40%;background:linear-gradient(90deg,transparent,var(--accent),#38bdf8,transparent);border-radius:2px;transform:translate(-100%)}.refresh-progress-bar.active .refresh-progress-fill{animation:refresh-slide 1.2s cubic-bezier(.4,0,.2,1) infinite}@keyframes refresh-slide{0%{transform:translate(-100%)}to{transform:translate(350%)}}.content-placeholder{height:100%;display:flex;align-items:center;justify-content:center;color:var(--subtle);font-size:14px;font-style:italic}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 14px;border-radius:10px;border:1px solid var(--border);background:var(--content-bg);color:var(--text);font-weight:600;font-size:12px;cursor:pointer;transition:background .15s ease,border-color .15s ease;font-family:inherit}.btn>span{display:inline-flex;align-items:center;justify-content:center}.btn>span :deep(svg){display:block}.btn:hover{background:var(--dropdown-hover);border-color:var(--border-strong)}.btn.primary{background:#0ea5e9;border-color:#0ea5e973;color:#fff;box-shadow:0 1px 2px #1018281a,0 6px 14px #0ea5e92e}.btn.primary:hover{background:#0284c7}.btn:disabled{cursor:not-allowed;opacity:.55}.btn.primary:disabled{background:var(--border-strong);border-color:var(--border-strong);color:var(--muted);box-shadow:none}.btn.btn-sm{padding:6px 10px;font-size:12px;border-radius:8px}.btn.icon-only{padding:9px;gap:0}.btn.icon-only :deep(svg){width:16px;height:16px}.page-header-row{display:flex;align-items:center;gap:16px;margin-bottom:10px}.page-title-section{flex:1;min-width:0}.page-header-spacer{flex:0;display:none}.page-header-row>.btn,.page-header-row>button{flex-shrink:0}.back-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:10px;border:1px solid var(--border);background:var(--content-bg);color:var(--muted);font-weight:600;font-size:13px;cursor:pointer;transition:background .15s ease,border-color .15s ease;flex-shrink:0}.back-btn:hover{background:var(--dropdown-hover);border-color:var(--border-strong)}.page-title{font-size:18px;font-weight:900;letter-spacing:.2px;margin:0 0 4px}.page-subtitle{font-size:13px;color:var(--muted);margin:0}.spinner-svg{animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-spinner{display:flex;align-items:center;color:inherit}.sort-toggle-bar{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--toggle-bar-bg);border-bottom:1px solid var(--border)}.sort-toggle-label{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}.sort-toggle-options{display:flex;gap:2px}.sort-toggle-btn{padding:7px 14px;border:none;background:transparent;border-radius:6px;font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;transition:all .15s ease;font-family:inherit;position:relative}.sort-toggle-btn:hover{color:var(--text);background:var(--dropdown-hover)}.sort-toggle-btn.active{background:var(--content-bg);color:var(--text);box-shadow:0 1px 3px #10182814,0 0 0 1px var(--border)}.filter-search-box{display:flex;align-items:center;gap:8px;margin-left:auto;padding:6px 12px;background:var(--content-bg);border:1px solid var(--border);border-radius:8px;transition:border-color .15s ease,box-shadow .15s ease}.filter-search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #0ea5e91a}.filter-search-box svg{color:var(--muted);flex-shrink:0}.filter-search-input{border:none;background:transparent;font-size:13px;font-family:inherit;color:var(--text);outline:none;width:160px}.filter-search-input::placeholder{color:var(--muted)}.access-view{display:flex;flex-direction:column;gap:20px}.access-section{background:var(--content-bg);border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:var(--list-shadow)}.access-section.access-section--direct{border-color:#0ea5e933}.access-section.access-section--direct .access-section__header{background:#0ea5e90d}.access-section.access-section--team{border-color:#22c55e33}.access-section.access-section--team .access-section__header{background:#22c55e0d}.access-section__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);background:var(--toggle-bg)}.access-section__title{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;color:var(--text);margin:0}.access-section__title :deep(svg){width:18px;height:18px;opacity:.6}.access-section__count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;border-radius:999px;background:var(--badge-bg);font-size:12px;font-weight:700;color:var(--muted)}.access-section__description{padding:12px 20px;font-size:12px;color:var(--muted);border-bottom:1px solid var(--border);background:var(--toggle-bg)}.access-section__description strong{color:var(--text)}.access-list{padding:8px}.access-item{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:10px;transition:background .15s ease}.access-item:hover{background:var(--toggle-hover)}.access-item.access-item--clickable{cursor:pointer;color:inherit;text-decoration:none}.access-item__icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--icon-container-bg);color:var(--muted);flex-shrink:0}.access-item__icon :deep(svg){width:20px;height:20px}.access-item__icon--direct{background:#0ea5e91a;color:var(--accent)}.access-item__icon--team{background:#22c55e1a;color:#16a34a}.access-item__avatar{width:40px;height:40px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}.access-item__info{flex:1;min-width:0}.access-item__name-row{display:flex;align-items:center;gap:10px;margin-bottom:4px}.access-item__name{font-size:14px;font-weight:700;color:var(--text)}.access-item:not(:has(.access-item__name-row)) .access-item__name{margin-bottom:4px}.access-item__inherited-badge{font-size:11px;font-weight:600;color:#16a34a;background:#22c55e26;padding:2px 8px;border-radius:999px}.access-item__meta{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted)}.access-item__env-count{display:flex;align-items:center;gap:5px;font-weight:600}.access-item__env-count :deep(svg){width:12px;height:12px;opacity:.6}.access-item__role{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.access-role-badge{padding:5px 12px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}.access-role-badge.purple{background:var(--badge-purple-bg);color:var(--badge-purple-text)}.access-role-badge.blue{background:#0ea5e926;color:var(--accent)}.access-role-badge.gray{background:var(--badge-bg);color:var(--muted)}.access-empty-section{padding:32px;text-align:center}.access-empty-section__text{font-size:13px;color:var(--muted)}.access-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 40px;background:var(--content-bg);border:1px solid var(--border);border-radius:14px;text-align:center}.access-empty-state__icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:16px;background:var(--icon-container-bg);color:var(--muted);margin-bottom:20px}.access-empty-state__icon :deep(svg){width:28px;height:28px}.access-empty-state__title{font-size:18px;font-weight:800;color:var(--text);margin:0 0 8px}.access-empty-state__description{font-size:13px;color:var(--muted);line-height:1.6;max-width:400px;margin:0}.access-empty-state__description strong{color:var(--text)}.access-info-banner{display:flex;align-items:flex-start;gap:14px;padding:20px 24px;border-radius:14px}.access-info-banner--team{background:#22c55e0d;border:1px solid rgba(34,197,94,.15)}.access-info-banner--admin{background:#8b5cf60d;border:1px solid rgba(139,92,246,.15)}.access-info-banner__icon{display:flex;flex-shrink:0;margin-top:2px}.access-info-banner--team .access-info-banner__icon{color:#16a34a}.access-info-banner--admin .access-info-banner__icon{color:var(--badge-purple-text)}.access-info-banner__icon :deep(svg){width:22px;height:22px}.access-info-banner__content{flex:1}.access-info-banner__content strong{display:block;font-size:15px;font-weight:700;color:var(--text);margin-bottom:6px}.access-info-banner__content p{font-size:13px;color:var(--muted);line-height:1.6;margin:0}.form-group{margin-bottom:24px}.form-group:last-child{margin-bottom:0}.form-label{display:block;font-size:13px;font-weight:700;color:var(--text);margin-bottom:12px}.form-label.with-help{display:flex;align-items:center;gap:6px;margin-bottom:0}.form-label.required:after{content:"*";color:var(--status-danger);margin-left:2px}.form-row{display:flex;align-items:center;gap:24px}.form-row .form-label{min-width:160px;margin-bottom:0}.form-row.vertical{flex-direction:column;align-items:stretch;gap:8px}.form-row.vertical .form-label{min-width:auto}.form-input,.form-select,.form-textarea{flex:1;padding:10px 12px;font-size:13px;font-family:inherit;color:var(--text);background:var(--content-bg);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color .15s ease,box-shadow .15s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #0ea5e91a}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{opacity:.6;cursor:not-allowed;background:var(--toggle-bg)}.form-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.form-textarea{resize:vertical;min-height:100px}.form-hint{font-size:12px;color:var(--muted);margin:8px 0 0}.form-hint .link,.link{color:var(--accent);text-decoration:none}.form-hint .link:hover,.link:hover{text-decoration:underline}.help-icon{display:flex;align-items:center;color:var(--muted);cursor:help}.help-icon :deep(svg){width:14px;height:14px}.alert-banner{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--radius-sm);margin-bottom:20px}.alert-banner.warning{background:var(--alert-warning-bg);border:1px solid var(--alert-warning-border)}.alert-banner.info{background:var(--alert-info-bg);border:1px solid var(--alert-info-border)}.alert-banner.info.small{padding:10px 12px;margin-bottom:16px}.alert-icon{display:flex;align-items:center;flex-shrink:0;margin-top:1px}.alert-banner.warning .alert-icon{color:var(--status-warning)}.alert-banner.info .alert-icon{color:var(--status-info)}.alert-icon :deep(svg){width:16px;height:16px}.alert-text{font-size:13px;color:var(--text);line-height:1.5}.checkbox-input{width:20px;height:20px;border-radius:4px;border:2px solid var(--border-strong);background:var(--content-bg);cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;flex-shrink:0;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.checkbox-input:hover{border-color:var(--accent);background:var(--accent-hover)}.checkbox-input:checked{background:var(--accent);border-color:var(--accent)}.checkbox-input:checked:after{content:"";position:absolute;left:50%;top:45%;width:5px;height:10px;border:solid white;border-width:0 2.5px 2.5px 0;transform:translate(-50%,-50%) rotate(45deg)}.checkbox-input:disabled{opacity:.5;cursor:not-allowed}.checkbox-row{display:flex;align-items:center;gap:10px;cursor:pointer}.checkbox-row .toggle-label{cursor:pointer}.checkbox-row:hover .checkbox-input:not(:disabled){border-color:var(--accent);background:var(--accent-hover)}.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--toggle-bar-bg)}.toggle-row.simple{padding:0;border:none;background:transparent}.toggle-info{flex:1}.toggle-label{font-size:14px;font-weight:600;color:var(--text);margin-bottom:2px}.toggle-label.with-help{display:flex;align-items:center;gap:6px}.toggle-description{font-size:12px;color:var(--muted)}.setting-checkbox{display:flex;align-items:center;cursor:pointer}.setting-checkbox input{position:absolute;opacity:0;width:0;height:0}.checkbox-box{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:2px solid var(--border-strong);border-radius:4px;background:var(--content-bg);transition:all .15s ease}.setting-checkbox:hover:not(:has(input:disabled)) .checkbox-box{border-color:var(--accent);background:var(--accent-hover)}.checkbox-box:after{content:"";display:none;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg);margin-bottom:2px}.setting-checkbox input:checked+.checkbox-box{background:var(--accent);border-color:var(--accent)}.setting-checkbox input:checked+.checkbox-box:after{display:block}.setting-checkbox input:disabled+.checkbox-box{opacity:.5;cursor:not-allowed}.setting-checkbox:has(input:disabled){cursor:not-allowed}.settings-panel{background:var(--content-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--list-shadow);overflow:hidden}.settings-header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border);background:var(--toggle-bar-bg)}.settings-header-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#0ea5e91f;color:var(--accent);flex-shrink:0}.settings-header-icon :deep(svg){width:18px;height:18px}.settings-header-text{flex:1}.settings-header-text h3{font-size:15px;font-weight:800;color:var(--text);margin:0}.settings-header-text p{font-size:12px;color:var(--muted);margin:2px 0 0}.settings-content{padding:16px 20px}.settings-group{display:flex;flex-direction:column;gap:0}.setting-item{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 0;border-bottom:1px solid var(--border)}.setting-item:first-child{padding-top:0}.setting-item:last-child{border-bottom:none;padding-bottom:0}.setting-item-checkbox{cursor:pointer}.setting-item-checkbox.disabled{cursor:not-allowed}.setting-info{flex:1}.setting-label{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:var(--text)}.setting-required{color:var(--status-danger)}.setting-help{display:inline-flex;align-items:center;color:var(--muted);cursor:help}.setting-help :deep(svg){width:14px;height:14px;opacity:.6}.setting-desc{font-size:12px;color:var(--muted);margin-top:4px}.setting-control{flex-shrink:0}.setting-input{padding:8px 12px;border-radius:8px;border:1px solid var(--border);background:var(--content-bg);font-size:13px;color:var(--text);font-family:inherit;width:120px}.setting-input:hover:not(:disabled){border-color:var(--border-strong)}.setting-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #0ea5e91a}.setting-input:disabled{opacity:.6;cursor:not-allowed;background:var(--toggle-bg)}.setting-input::placeholder{color:var(--muted)}.subsection{margin-top:24px;padding-top:24px;border-top:1px solid var(--border)}.subsection.first{margin-top:0;padding-top:0;border-top:none}.subsection-title{font-size:14px;font-weight:700;color:var(--text);margin:0 0 8px}.subsection-description{font-size:13px;color:var(--muted);line-height:1.5;margin:0 0 12px}.subsection-description:last-of-type{margin-bottom:16px}.field-group-title{font-size:13px;font-weight:700;color:var(--text);margin:16px 0 8px}.detail-tabs-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.detail-tabs{display:flex;gap:8px;padding:4px;background:var(--toggle-bg);border:1px solid var(--border);border-radius:14px;width:fit-content}.detail-tab{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:10px;border:none;background:transparent;font-size:13px;font-weight:700;color:var(--muted);cursor:pointer;transition:background .15s ease,color .15s ease;font-family:inherit}.detail-tab:hover{background:var(--toggle-hover);color:var(--text)}.detail-tab.active{background:var(--content-bg);color:var(--text);box-shadow:var(--toggle-active-shadow)}.detail-tab svg{opacity:.7;width:16px;height:16px}.detail-tab.active svg{opacity:1}.detail-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--badge-bg);font-size:11px;font-weight:800;color:var(--muted)}.detail-tab.active .detail-tab-badge{background:#0ea5e926;color:var(--accent)}.detail-tab-badge-error{background:#ef44441f;color:#dc2626}.detail-tab.active .detail-tab-badge-error{background:#ef444426;color:#dc2626}.detail-tab-badge-syncing{background:#d977061f;color:#d97706}.detail-tab.active .detail-tab-badge-syncing{background:#d9770626;color:#d97706}.detail-tabs-actions{display:flex;align-items:center;gap:12px}.detail-editing-label{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:700;color:var(--accent);background:#0ea5e91a;border-radius:8px}.detail-editing-label svg{width:14px;height:14px}.detail-deploying-label{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:700;color:var(--accent);background:#0ea5e91a;border-radius:8px}.detail-deploying-spinner{display:inline-block;width:14px;height:14px;border:2px solid color-mix(in srgb,var(--accent) 30%,transparent);border-top-color:var(--accent);border-radius:50%;animation:detail-deploy-spin .6s linear infinite}@keyframes detail-deploy-spin{to{transform:rotate(360deg)}}.detail-action-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:10px;border:1px solid var(--border);background:var(--content-bg);font-size:13px;font-weight:700;color:var(--muted);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease;font-family:inherit}.detail-action-btn:hover{background:var(--toggle-hover);color:var(--text);border-color:var(--border-strong)}.detail-action-btn svg{width:16px;height:16px;opacity:.7}.detail-action-btn:hover svg{opacity:1}.detail-action-btn-danger{color:#dc2626;border-color:#ef444433;background:#ef44440d}.detail-action-btn-danger:hover{background:#ef44441a;color:#dc2626;border-color:#ef44444d}.detail-view{display:flex;flex-direction:column;gap:18px}.detail-content.has-footer{padding-bottom:100px}.detail-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 20px 20px 24px;background:var(--content-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--list-shadow)}.detail-header-left{display:flex;align-items:center;gap:16px;flex:1;min-width:0}.detail-header-right{display:flex;align-items:center;flex-shrink:0}.action-bar-sentinel{height:1px;margin-bottom:-1px;pointer-events:none}.env-action-bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;min-height:56px;margin-bottom:16px;margin-left:0;margin-right:0;background-color:var(--content-bg);background-image:none;border:1px solid var(--border);border-radius:var(--radius);box-shadow:none;container-type:inline-size;transition:background-image .25s ease,background-color .25s ease,border-color .25s ease,box-shadow .25s ease,margin .25s ease}.env-action-bar.is-scrolled,.env-action-bar.has-selection{background-image:linear-gradient(var(--accent-hover),var(--accent-hover));border-color:color-mix(in srgb,var(--accent) 25%,transparent)}.env-action-bar.is-scrolled{margin-left:8px;margin-right:8px;box-shadow:0 2px 6px #0000000f,0 4px 14px #00000014;cursor:pointer}.action-bar-left{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.action-bar-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.action-bar-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:none;border-radius:8px;background:transparent;font-size:13px;font-weight:500;color:var(--text);cursor:pointer;font-family:inherit;transition:background .15s ease,color .15s ease}.action-bar-btn:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--text)}.action-bar-btn:disabled{opacity:.5;cursor:not-allowed}.action-bar-btn.active{background:color-mix(in srgb,var(--accent) 28%,transparent);color:var(--accent)}.action-bar-btn-icon{display:inline-flex;align-items:center;justify-content:center}.action-bar-btn-icon svg{width:16px;height:16px;opacity:.9}.action-bar-btn-primary{background:var(--accent);color:#fff}.action-bar-btn-primary:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 90%,black);color:#fff}.action-bar-btn-danger:hover:not(:disabled){background:color-mix(in srgb,#dc2626 18%,transparent);color:#b91c1c}.action-bar-spinner{display:inline-flex;align-items:center;justify-content:center;padding:0 8px;color:var(--accent)}.action-bar-spinner svg{width:16px;height:16px;animation:action-bar-spin .9s linear infinite}@keyframes action-bar-spin{to{transform:rotate(360deg)}}.action-bar-pending-label{font-size:13px;font-weight:600;color:var(--accent)}.action-bar-summary{display:flex;align-items:center;gap:2px}.summary-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:none;border-radius:6px;background:transparent;font-family:inherit;cursor:default;position:relative;transition:all .15s ease}button.summary-pill{cursor:pointer}button.summary-pill:hover{background:color-mix(in srgb,var(--text) 6%,transparent)}.summary-pill.active{background:color-mix(in srgb,var(--accent) 10%,transparent)}.summary-pill.active .summary-pill-count,.summary-pill.active .summary-pill-label{color:var(--accent)}.summary-pill-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.summary-pill-dot.running{background:var(--status-success);box-shadow:0 0 6px #22c55e59}.summary-pill-dot.error{background:var(--status-danger);box-shadow:0 0 6px #ef444459}.summary-pill-dot.pending{background:var(--status-warning);box-shadow:0 0 6px #f59e0b59;animation:summary-pill-pulse 2s ease-in-out infinite}.summary-pill-dot.exited,.summary-pill-dot.stopped{background:var(--muted)}.summary-pill-dot.partial,.summary-pill-dot.unused{background:var(--status-warning);box-shadow:0 0 6px #f59e0b59}@keyframes summary-pill-pulse{0%,to{opacity:1}50%{opacity:.4}}.summary-pill-count{font-size:15px;font-weight:700;color:var(--text);line-height:1}.summary-pill-label{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.3px}.summary-pill.pill-running.active .summary-pill-count,.summary-pill.pill-running.active .summary-pill-label{color:var(--status-success)}.summary-pill.pill-running.active{background:color-mix(in srgb,var(--status-success) 8%,transparent)}.summary-pill.pill-error.active .summary-pill-count,.summary-pill.pill-error.active .summary-pill-label{color:var(--status-danger)}.summary-pill.pill-error.active{background:color-mix(in srgb,var(--status-danger) 8%,transparent)}.summary-pill.pill-pending.active .summary-pill-count,.summary-pill.pill-pending.active .summary-pill-label{color:var(--status-warning)}.summary-pill.pill-pending.active{background:color-mix(in srgb,var(--status-warning) 8%,transparent)}.summary-pill.pill-partial.active .summary-pill-count,.summary-pill.pill-partial.active .summary-pill-label{color:var(--status-warning)}.summary-pill.pill-partial.active{background:color-mix(in srgb,var(--status-warning) 8%,transparent)}.summary-pill.pill-succeeded.active .summary-pill-count,.summary-pill.pill-succeeded.active .summary-pill-label{color:var(--accent)}.summary-pill.pill-succeeded.active{background:color-mix(in srgb,var(--accent) 8%,transparent)}.summary-pill-dot.succeeded{background:var(--accent);box-shadow:0 0 6px #0ea5e959}.summary-pill.pill-exited.active .summary-pill-count{color:var(--muted)}.summary-pill.pill-exited.active{background:color-mix(in srgb,var(--muted) 10%,transparent)}.summary-pill.pill-stopped.active .summary-pill-count{color:var(--muted)}.summary-pill.pill-stopped.active{background:color-mix(in srgb,var(--muted) 10%,transparent)}.summary-pill.pill-unused .summary-pill-count{color:var(--status-warning)}.summary-pill.pill-unused.active{background:color-mix(in srgb,var(--status-warning) 10%,transparent)}.summary-pill.pill-unused.active .summary-pill-count,.summary-pill.pill-unused.active .summary-pill-label{color:var(--status-warning)}.summary-pill.pill-system .summary-pill-count{color:var(--muted)}.summary-pill-divider{width:1px;height:20px;background:var(--border);margin:0 4px;flex-shrink:0}.summary-clear-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;transition:all .15s ease}.summary-clear-btn:hover{background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--text)}.summary-clear-btn svg{width:14px;height:14px}.prune-result-toast{position:fixed;bottom:24px;right:24px;z-index:1000;display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--content-bg);border:1px solid var(--status-success);border-radius:12px;box-shadow:0 4px 20px #00000026;max-width:400px}.prune-result-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:color-mix(in srgb,var(--status-success) 15%,transparent);color:var(--status-success);flex-shrink:0}.prune-result-icon svg{width:18px;height:18px}.prune-result-content{flex:1;min-width:0}.prune-result-title{font-size:14px;font-weight:600;color:var(--text)}.prune-result-details{font-size:13px;color:var(--muted);margin-top:2px}.prune-result-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:6px;color:var(--muted);cursor:pointer;flex-shrink:0;transition:background .15s ease,color .15s ease}.prune-result-close:hover{background:var(--toggle-hover);color:var(--text)}.prune-result-close svg{width:14px;height:14px}.toast-enter-active{animation:toast-in .3s ease}.toast-leave-active{animation:toast-out .2s ease}@keyframes toast-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}.actions-wrap{position:relative}.actions-trigger{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;border:1px solid var(--border);background:var(--content-bg);font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;transition:background .15s ease,color .15s ease;font-family:inherit}.actions-trigger:hover{background:var(--toggle-hover);color:var(--text)}.actions-trigger svg{width:14px;height:14px;opacity:.8}.actions-trigger-label{white-space:nowrap}.actions-dropdown{position:absolute;right:0;top:100%;margin-top:4px;min-width:180px;padding:6px;background:var(--content-bg);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #10182826;z-index:20}.actions-dropdown-fixed{position:fixed;min-width:180px;padding:6px;background:var(--content-bg);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #10182826;z-index:10000}.actions-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;border-radius:8px;background:transparent;font-size:13px;font-weight:500;color:var(--text);text-align:left;cursor:pointer;transition:background .15s ease;font-family:inherit}.actions-dropdown-item:hover{background:var(--toggle-hover)}.actions-dropdown-item-danger{color:var(--status-danger)}.actions-dropdown-item-danger:hover{background:color-mix(in srgb,var(--status-danger) 10%,transparent)}.actions-dropdown-icon{display:flex;align-items:center;flex-shrink:0}.actions-dropdown-icon svg{width:16px;height:16px;opacity:.7}@container (max-width: 580px){.summary-pill-label{display:none}.summary-pill{padding:6px 8px;gap:4px}}@container (max-width: 420px){.action-bar-btn-label{display:none}.action-bar-btn{padding:8px}}.stack-tab-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;min-height:52px;box-sizing:border-box;background:var(--group-header-bg);border-bottom:1px solid var(--border)}.stack-tab-header-left{display:flex;flex-direction:column;gap:4px}.stack-tab-header-title-row{display:flex;align-items:center;gap:8px;min-height:20px}.stack-tab-header-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;opacity:.7}.stack-tab-header-icon svg{width:16px!important;height:16px!important;min-width:16px;min-height:16px}.stack-tab-header-title{font-size:13px;font-weight:800;line-height:1.35;color:var(--text);letter-spacing:.2px}.stack-tab-header-subtitle{font-size:12px;line-height:1.35;color:var(--muted)}.stack-tab-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.wizard-stepperbar{padding:0 0 9px}.wizard-stepperbar-inner{max-width:100%}.wizard-steps{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px;align-items:center}.wizard-step{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:999px;border:1px solid var(--border);background:var(--toggle-bg);color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.2px;white-space:nowrap}.wizard-step-num{width:18px;height:18px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;background:var(--badge-bg);color:var(--text)}.wizard-step.current{border-color:#0ea5e959;background:var(--accent-active);color:var(--accent)}.wizard-step.current .wizard-step-num{background:#0ea5e92e;color:var(--accent)}.wizard-step.clickable{cursor:pointer;transition:background .15s ease,border-color .15s ease}.wizard-step.clickable:hover{background:var(--toggle-hover);border-color:var(--border-strong);color:var(--text)}.wizard-topbar,.wizard-footer{position:fixed;left:var(--sidebar-width);right:0;bottom:0;z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:color-mix(in srgb,var(--content-bg) 92%,transparent);border-top:1px solid var(--border);transition:left .25s ease}.sidebar-collapsed .wizard-topbar,.sidebar-collapsed .wizard-footer{left:var(--sidebar-collapsed-width)}@media (max-width: 1199px){.wizard-topbar,.wizard-footer{left:var(--sidebar-collapsed-width)}}.wizard-topbar-inner{max-width:1200px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:14px}.wizard-footer-inner{max-width:1200px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap}.wizard-top-actions,.wizard-footer-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.wizard-inline-content{padding-bottom:100px}
