.app-window{position:fixed;inset:0;background-color:var(--bg-primary);border-radius:12px;overflow:hidden;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);border:1px solid var(--border-color);display:flex;flex-direction:column}[data-theme=dark] .app-window{background:radial-gradient(ellipse at 50% 40%,#131313 0,#0E0E0E 70%,#0A0A0A 100%);box-shadow:0 25px 60px -12px rgba(0,0,0,.8);border-color:var(--border-color)}[data-theme=dark] .main-content{background:transparent}[data-theme=dark] .page-header{background:#0A0A0A;border-bottom-color:var(--sidebar-border)}[data-theme=dark] .page-content{background:transparent}[data-theme=dark] .header-nav{background:#080808;border-bottom-color:var(--sidebar-border)}[data-theme=dark] .titlebar{background:#070707;border-bottom-color:var(--sidebar-border)}.titlebar{height:var(--titlebar-height);background-color:var(--sidebar-bg);border-bottom:1px solid var(--sidebar-border);display:flex;align-items:center;justify-content:space-between;padding:0 16px;flex-shrink:0;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-app-region:drag;cursor:-webkit-grab;cursor:grab;transition:background-color .2s ease,border-color .2s ease;border-top-left-radius:12px;border-top-right-radius:12px}.titlebar:active{cursor:-webkit-grabbing;cursor:grabbing}.titlebar-controls{display:flex;gap:8px;align-items:center;-webkit-app-region:no-drag}.titlebar-btn{width:12px;height:12px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.titlebar-btn svg{opacity:0;color:rgba(0,0,0,.5);transition:opacity .15s ease}.titlebar-controls:hover .titlebar-btn svg{opacity:1}.titlebar-btn-close{background-color:#ff5f57}.titlebar-btn-close:hover{background-color:#ff3b30}.titlebar-btn-minimize{background-color:#ffbd2e}.titlebar-btn-minimize:hover{background-color:#ff9500}.titlebar-btn-maximize{background-color:#28c940}.titlebar-btn-maximize:hover{background-color:#34c759}.titlebar-title{font-size:13px;font-weight:500;color:var(--text-secondary);flex:1 1;text-align:center}.titlebar-actions{display:flex;align-items:center;gap:6px;-webkit-app-region:no-drag}.titlebar-actions .titlebar-icon-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.titlebar-actions .titlebar-icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.titlebar-actions .titlebar-icon-btn .tunnel-icon.connected{color:var(--accent-green)}.app-layout{display:flex;flex-direction:row;flex:1 1;overflow:hidden}.app-left-column{display:flex;flex-direction:column;flex:1 1;min-width:0;overflow:hidden}.app-left-column.collapsed{display:none}.header-nav{display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:48px;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-shrink:0;position:relative;-webkit-app-region:drag}.header-nav *{-webkit-app-region:no-drag}.header-nav-left{gap:24px;min-width:180px}.header-logo,.header-nav-left{display:flex;align-items:center}.header-logo{gap:8px;font-size:14px;font-weight:600;color:var(--text-primary)}.header-logo .logo-icon{color:var(--accent-blue)}.header-tabs{display:flex;align-items:center;gap:4px;position:absolute;left:50%;transform:translateX(-50%);max-width:calc(100% - 400px);overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.header-tabs::-webkit-scrollbar{display:none}.header-tab{display:flex;align-items:center;gap:6px;padding:8px 14px;border:none;background:none;border-radius:6px;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.header-tab:hover{background-color:var(--bg-hover);color:var(--text-primary)}.header-tab.active{background-color:var(--accent-blue);color:white}.header-tab.active svg{color:white}.header-tab svg{color:var(--text-muted)}.header-tab:hover svg{color:var(--text-secondary)}.tab-presence-badge{display:flex;align-items:center;justify-content:center;width:16px;height:16px;background-color:var(--color-primary,#3b82f6);border-radius:50%;margin-left:4px;animation:presence-pulse 2s infinite}.tab-presence-badge svg{color:white!important}@keyframes presence-pulse{0%,to{opacity:1}50%{opacity:.7}}.header-nav-right{display:flex;align-items:center;gap:8px}.header-icon-btn .tunnel-icon.connected{color:var(--accent-green)}.header-icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background-color:var(--bg-tertiary);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.header-icon-btn:hover{background-color:var(--bg-hover);color:var(--text-primary)}.main-container{display:flex;flex:1 1;overflow:hidden;height:0;min-height:0}.main-content{flex:1 1;overflow-y:auto;background-color:var(--bg-primary);display:flex;flex-direction:column;contain:layout style paint}.main-content.with-explorer{min-width:0;overflow:hidden}.page-header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 32px;border-bottom:1px solid var(--border-color);background-color:var(--bg-primary);position:-webkit-sticky;position:sticky;top:0;z-index:10}.page-header-left h1{font-size:24px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.page-subtitle{font-size:14px;color:var(--text-muted)}.page-header-actions{display:flex;gap:10px;align-items:center}.page-content{padding:24px 32px;flex:1 1;overflow-y:auto}.section{margin-top:24px}.section-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:16px}.modal-overlay{position:fixed;inset:0;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:10000;padding:24px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}[data-theme=dark] .modal-overlay{background-color:rgba(0,0,0,.7)}.modal{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;width:100%;max-width:800px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid var(--border-color)}.modal-header h2{font-size:17px;font-weight:600;color:var(--text-primary)}.modal-close{width:30px;height:30px;flex-shrink:0;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:50%;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:var(--text-primary);background:var(--bg-hover);border-color:rgba(255,255,255,.15)}.modal-body{padding:24px;overflow-y:auto;flex:1 1}.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted)}.empty-state svg{color:var(--text-muted);margin-bottom:16px}.empty-state h3{font-size:17px;margin-bottom:8px;color:var(--text-secondary)}.empty-state p{font-size:14px}.main-content>*,.page-content{animation:page-fade-in .18s ease-out both}@keyframes page-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}[data-theme=dark] .app-window:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:12px;box-shadow:inset 0 0 80px rgba(0,0,0,.25);z-index:0}.header-icon-btn,.header-tab,.titlebar-icon-btn{transition:background-color .2s ease,color .2s ease,transform .15s ease,box-shadow .2s ease}.header-icon-btn:hover,.header-tab:hover,.titlebar-icon-btn:hover{transform:translateY(-1px)}.header-icon-btn:active,.header-tab:active,.titlebar-icon-btn:active{transform:translateY(0)}[data-theme=dark] .header-tab.active{box-shadow:0 0 12px rgba(255,255,255,.06)}@keyframes panel-slide-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.modal{animation:panel-slide-in .2s ease-out both}[data-theme=dark] .modal-overlay{background-color:rgba(0,0,0,.65);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}[data-theme=dark] .modal{background:#141414;border-color:var(--border-color);box-shadow:0 24px 48px -12px rgba(0,0,0,.6)}button{transition:transform .1s ease,opacity .15s ease}button:active:not(:disabled){transform:scale(.97)}[data-theme=light] .header-nav{background:#f0f3f7;border-bottom-color:var(--sidebar-border)}[data-theme=light] .titlebar{background:#e8ecf2;border-bottom-color:var(--sidebar-border)}[data-theme=light] .modal-close:hover{border-color:rgba(0,0,0,.12)}[data-theme=light] .modal{box-shadow:0 20px 60px rgba(0,0,0,.15)}