.project-selector{position:relative}.project-selector-btn{color:var(--text-primary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;max-width:200px;padding:4px 10px;font-size:13px;font-weight:500;transition:background-color .15s,color .15s;display:flex}.project-selector-btn.compact{border-radius:999px;gap:5px;min-width:0;max-width:148px;padding:4px 8px;font-size:12px}.project-selector-btn.compact .project-name{min-width:0}.project-selector-btn.compact .project-icon-wrapper{align-items:center;display:flex}.project-selector-btn:hover{background:var(--bg-secondary);border-color:var(--border-color)}.project-selector-btn:disabled{opacity:.5;cursor:not-allowed}.project-selector-btn .project-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-selector-btn .chevron{color:var(--text-muted);flex-shrink:0;transition:transform .15s}.project-selector-btn .chevron.open{transform:rotate(180deg)}.project-type-icon{flex-shrink:0;align-items:center;display:flex}.project-type-icon-default{color:var(--text-muted);flex-shrink:0}.project-dropdown{background:var(--lightningcss-light,var(--theme-light-panel,#fff))var(--lightningcss-dark,#0a0a0c);border:1px solid var(--border-color);z-index:100;border-radius:14px;min-width:260px;max-width:320px;max-height:70vh;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto;box-shadow:0 8px 24px var(--lightningcss-light,#0f172a10)var(--lightningcss-dark,#00000040)}[data-theme=light] .project-dropdown{background:#fff}.project-dropdown-current{border-bottom:1px solid var(--border-color);padding:6px}.project-dropdown-section{border-bottom:1px solid var(--border-color);padding:4px 0}.project-dropdown-section:last-child{border-bottom:none}.project-dropdown-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:6px 12px 4px;font-size:11px;font-weight:600}.project-dropdown-item{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:999px;align-items:center;gap:8px;width:calc(100% - 8px);margin:0 4px;padding:6px 10px;transition:background .1s;display:flex}.project-dropdown-item:hover{background:var(--bg-hover)}.project-dropdown-item.active{background:var(--bg-secondary)}.project-dropdown-item svg{color:var(--text-secondary);flex-shrink:0}.project-dropdown-item.active svg{color:var(--accent-blue)}.project-item-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.project-item-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;line-height:1.3;overflow:hidden}.project-item-path{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.3;overflow:hidden}.project-dropdown-item .check-icon{color:var(--accent-green);flex-shrink:0}.project-item-actions{flex-shrink:0;gap:2px;display:flex}.project-edit-btn{width:22px;height:22px;color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;transition:all .1s;display:flex}.project-dropdown-item:hover .project-edit-btn{opacity:.6}.project-edit-btn.is-shared-marker{opacity:.85;color:var(--lightningcss-light,#39795f)var(--lightningcss-dark,#6ee7b7)}.project-dropdown-item:hover .project-edit-btn.is-shared-marker{opacity:1;color:var(--lightningcss-light,#39795f)var(--lightningcss-dark,#6ee7b7)}[data-theme=light] .project-edit-btn.is-shared-marker{color:var(--lightningcss-light,#037954)var(--lightningcss-dark,#059669)}[data-theme=light] .project-dropdown-item:hover .project-edit-btn.is-shared-marker{color:#047857}.project-edit-btn:hover{background:var(--bg-tertiary);color:var(--accent-blue);opacity:1!important}.project-icon-wrapper{flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.project-activity-dot{border:1.5px solid var(--bg-secondary,#1a1a2e);pointer-events:none;border-radius:50%;flex-shrink:0;width:7px;height:7px;position:absolute;top:-2px;right:-4px}.project-activity-dot.is-working{background:#eab308;animation:1.5s ease-in-out infinite project-running-pulse;box-shadow:0 0 4px #eab30880}.project-activity-dot.is-unread{background:#22c55e;box-shadow:0 0 4px #22c55e80}.project-selector-status-dot{border:none;margin-left:2px;position:static}@keyframes project-running-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}.project-notification-badge,.project-selector-badge{display:none}.project-dropdown-actions{border-top:1px solid var(--border-color);flex-direction:column;gap:1px;margin-top:4px;padding:4px;display:flex}.project-dropdown-action{width:100%;color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:999px;align-items:center;gap:8px;padding:7px 12px;font-size:12px;transition:all .1s;display:flex}.project-dropdown-action:hover{background:var(--lightningcss-light,var(--theme-light-panel,#fff))var(--lightningcss-dark,#1c1c1f);color:var(--text-primary)}[data-theme=light] .project-dropdown-action:hover{background:var(--bg-hover)}.project-dropdown-action svg{color:var(--text-muted);flex-shrink:0}.project-dropdown-action:hover svg{color:var(--accent-blue)}.project-remote-badge{color:var(--color-primary,#3b82f6);background:var(--bg-secondary);border-radius:50%;padding:1px;position:absolute;bottom:-2px;right:-4px}.project-selector-btn.remote{border-color:var(--color-primary-alpha-30,#3b82f64d)}.project-selector-btn.remote:hover{border-color:var(--color-primary,#3b82f6)}
.collab-indicator{border-radius:12px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:500;display:flex}.collab-indicator.hosting{color:var(--lightningcss-light,#15803c)var(--lightningcss-dark,#22c55e);background:#22c55e26}.collab-indicator.guest{background:var(--color-primary-alpha-15,#3b82f626);color:var(--color-primary,#3b82f6)}.collab-indicator .pending-badge{color:#fff;background:#f59e0b;border-radius:8px;margin-left:2px;padding:1px 5px;font-size:10px;font-weight:600}.collab-menu-container{position:relative}.collab-dropdown{background:var(--bg-secondary);border:1px solid var(--border-color);z-index:1000;border-radius:12px;min-width:260px;margin-top:8px;padding:8px;animation:.15s ease-out dropdown-in;position:absolute;top:100%;right:0;box-shadow:0 8px 24px var(--lightningcss-light,#0f172a0d)var(--lightningcss-dark,#0003)}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.collab-dropdown-item{cursor:pointer;text-align:left;width:100%;color:var(--text-primary);background:0 0;border:none;border-radius:8px;align-items:flex-start;gap:12px;padding:12px;transition:background .15s;display:flex}.collab-dropdown-item:hover{background:var(--bg-tertiary)}.collab-dropdown-item svg{color:var(--text-secondary);flex-shrink:0;margin-top:2px}.collab-dropdown-item:hover svg{color:var(--accent-blue)}.collab-dropdown-text{flex-direction:column;gap:2px;display:flex}.collab-dropdown-title{font-size:14px;font-weight:500}.collab-dropdown-desc{color:var(--text-secondary);font-size:12px}.header-collab-controls{position:relative}.header-icon-btn.collab-active{color:var(--lightningcss-light,#15803c)var(--lightningcss-dark,#22c55e)}.header-icon-btn .participant-count{background:var(--accent-blue);color:var(--lightningcss-light,var(--theme-light-text,#0f172a))var(--lightningcss-dark,white);border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:10px;font-weight:600;display:flex;position:absolute;top:-4px;right:-4px}.session-panel-dropdown{z-index:1000;margin-top:8px;position:absolute;top:100%;right:0}.join-request-toast{z-index:9999;max-width:340px;animation:.3s ease-out toast-slide-in;position:fixed;top:16px;right:16px}@keyframes toast-slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}:root{--warning-color:#f59e0b;--warning-bg:#f59e0b1a;--danger-color:#ef4444;--success-color:#22c55e}[data-theme=dark]{--warning-color:#fbbf24;--warning-bg:#fbbf241a}.presence-bar{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:8px 16px;font-size:13px;display:flex}.presence-bar-left{color:var(--text-secondary);align-items:center;gap:8px;display:flex}.presence-label{color:var(--text-primary);font-weight:500}.presence-code{background:var(--bg-tertiary);color:var(--accent-blue);letter-spacing:1px;border-radius:4px;padding:2px 8px;font-family:monospace;font-size:12px;font-weight:600}.presence-project{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:12px;font-weight:500;overflow:hidden}.presence-claude-badge{background:var(--accent-purple-alpha-15,#8b5cf626);border:1px solid var(--accent-purple-alpha-30,#8b5cf64d);color:var(--accent-purple,#a78bfa);border-radius:10px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:500;display:flex}.presence-participants{align-items:center;gap:12px;display:flex}.presence-participant{background:var(--bg-tertiary);border-radius:16px;align-items:center;gap:6px;padding:4px 8px;transition:background .15s;display:flex}.presence-participant:hover{background:var(--bg-hover)}.presence-participant.you{background:#22c55e26}.presence-participant.host{background:#f59e0b26}.presence-avatar{width:24px;height:24px;color:var(--lightningcss-light,var(--theme-light-text,#0f172a))var(--lightningcss-dark,white);border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.presence-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:80px;font-size:12px;font-weight:500;overflow:hidden}.presence-online{color:var(--lightningcss-light,#15803c)var(--lightningcss-dark,#22c55e);fill:#22c55e}.presence-empty{color:var(--text-muted);font-size:12px;font-style:italic}.guest-mode-banner{background:linear-gradient(90deg, var(--color-primary-alpha-10,#3b82f61a) 0%, var(--color-primary-alpha-5,#3b82f60d) 100%);border-bottom:1px solid var(--color-primary-alpha-20,#3b82f633);color:var(--text-secondary);justify-content:center;align-items:center;gap:12px;padding:8px 16px;font-size:13px;display:flex}.guest-mode-banner strong{color:var(--color-primary,#3b82f6);font-weight:600}.guest-mode-banner .btn-sm{padding:4px 10px;font-size:12px}.permission-badge{background:var(--bg-tertiary);color:var(--text-secondary);border-radius:4px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;display:inline-flex}.permission-badge.granted{color:var(--lightningcss-light,#15803c)var(--lightningcss-dark,#22c55e);background:#22c55e26}.permission-badge.denied{color:var(--lightningcss-light,#c13636)var(--lightningcss-dark,#ef4444);background:#ef444426}.presence-indicator{background:#22c55e;border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.connection-status{align-items:center;gap:6px;font-size:12px;display:flex}.connection-status.connecting{color:var(--lightningcss-light,#905b05)var(--lightningcss-dark,#f59e0b)}.connection-status.connected{color:var(--lightningcss-light,#15803c)var(--lightningcss-dark,#22c55e)}.connection-status.disconnected{color:var(--lightningcss-light,#c13636)var(--lightningcss-dark,#ef4444)}.connection-status .spinner{border:2px solid;border-top-color:#0000;border-radius:50%;width:12px;height:12px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.session-code-large{letter-spacing:4px;color:var(--accent-blue);text-align:center;background:var(--bg-tertiary);-webkit-user-select:all;user-select:all;border-radius:8px;padding:16px;font-family:Monaco,Menlo,monospace;font-size:24px;font-weight:700}.participant-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.participant-card{background:var(--bg-tertiary);border-radius:8px;align-items:center;gap:12px;padding:12px;transition:background .15s;display:flex}.participant-card:hover{background:var(--bg-hover)}.participant-card .avatar{width:40px;height:40px;color:var(--lightningcss-light,var(--theme-light-text,#0f172a))var(--lightningcss-dark,white);border-radius:50%;justify-content:center;align-items:center;font-size:16px;font-weight:600;display:flex}.participant-card .info{flex:1;min-width:0}.participant-card .name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.participant-card .status{color:var(--text-secondary);font-size:12px}.file-change-notification{background:var(--color-primary-alpha-10,#3b82f61a);border:1px solid var(--color-primary-alpha-20,#3b82f633);color:var(--color-primary,#3b82f6);border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;animation:.3s ease-out slide-in;display:flex}@keyframes slide-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.file-change-notification .participant-name{font-weight:500}.file-change-notification .file-path{opacity:.8;font-family:monospace;font-size:12px}.remote-selection{opacity:.3}.modal-enter{animation:.2s ease-out modal-in}@keyframes modal-in{0%{opacity:0;transform:scale(.95)translateY(-10px)}to{opacity:1;transform:scale(1)translateY(0)}}
.file-explorer{background-color:var(--bg-secondary);border-right:1px solid var(--border-color);flex-direction:column;flex-shrink:0;width:260px;display:flex;overflow:hidden}.file-explorer-header{border-bottom:1px solid var(--border-color);background:var(--bg-secondary);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.file-explorer-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.file-explorer-actions{gap:4px;display:flex}.file-explorer-actions button{width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;transition:all .15s;display:flex}.file-explorer-actions button:hover{background-color:var(--bg-hover);color:var(--text-primary)}.file-tree{background:var(--bg-primary);flex:1;padding:8px 0;overflow-y:auto}.file-tree-item{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;padding:6px 12px;transition:background-color .1s;display:flex}.file-tree-item:hover{background-color:var(--bg-hover);border-left:1px solid var(--border-color)}.file-tree-item.selected{border-left:3px solid var(--accent-blue);background:linear-gradient(90deg,#1d9bf01f 0%,#1d9bf00a 100%);padding-left:9px}.file-tree-item.selected svg{color:var(--accent-blue)!important}.file-tree-item.selected .file-tree-name{color:var(--accent-blue)}.file-tree-item.selected .file-icon{color:var(--accent-blue)!important}.file-tree-parent{color:var(--text-muted)}.file-tree-toggle{width:14px;color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}.file-tree-icon{width:16px;color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}.file-tree-item:hover .file-tree-icon{color:var(--text-secondary)}.file-tree-name{min-width:0;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;overflow:hidden}.file-tree-spinner{border:2px solid var(--border-color);border-top-color:var(--accent-blue);border-radius:50%;width:12px;height:12px;margin-left:auto;animation:.8s linear infinite spin}.file-explorer-loading,.file-explorer-error,.file-explorer-empty{text-align:center;color:var(--text-muted);padding:24px 16px;font-size:13px}.file-explorer-error{color:var(--accent-red)}.file-context-menu{background-color:var(--bg-secondary);border:1px solid var(--border-color);z-index:1000;border-radius:8px;min-width:180px;padding:4px;box-shadow:0 4px 12px #00000026}.file-context-item{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:999px;align-items:center;gap:10px;padding:8px 12px;font-size:13px;transition:background-color .1s;display:flex}.file-context-item:hover{background-color:var(--bg-hover)}.file-context-item svg{color:var(--text-muted);flex-shrink:0}.file-context-item:first-child svg{color:var(--accent-purple)}.file-context-item:first-child:hover{background-color:var(--accent-purple-alpha-10,#8b5cf61a)}.file-icon{flex-shrink:0}.file-icon-ts{color:var(--lightningcss-light,#2c6cb2)var(--lightningcss-dark,#3178c6)}.file-icon-js{color:var(--lightningcss-light,#74690c)var(--lightningcss-dark,#f7df1e)}.file-icon-json{color:var(--lightningcss-light,#696920)var(--lightningcss-dark,#cbcb41)}.file-icon-config{color:var(--accent-purple,#8b5cf6)}.file-icon-md{color:var(--lightningcss-light,#396f87)var(--lightningcss-dark,#519aba)}.file-icon-html{color:var(--lightningcss-light,#b83e1e)var(--lightningcss-dark,#e44d26)}.file-icon-css{color:#639}.file-icon-rust{color:var(--lightningcss-light,#81604c)var(--lightningcss-dark,#dea584)}.file-icon-python{color:var(--lightningcss-light,#316a99)var(--lightningcss-dark,#3776ab)}.file-icon-go{color:var(--lightningcss-light,#00708c)var(--lightningcss-dark,#00add8)}.file-icon-ruby{color:#cc342d}.file-icon-sql{color:#336791}.file-icon-env{color:var(--lightningcss-light,#7b6e20)var(--lightningcss-dark,#ecd53f)}.file-icon-lock{color:var(--lightningcss-light,var(--theme-light-text-muted,#5b6779))var(--lightningcss-dark,#9ca3af)}.file-icon-git{color:var(--lightningcss-light,#c24028)var(--lightningcss-dark,#f05032)}.file-icon-shell{color:var(--lightningcss-light,#387b1a)var(--lightningcss-dark,#4eaa25)}.file-icon-image{color:var(--lightningcss-light,#8744c7)var(--lightningcss-dark,#a855f7)}.file-icon-archive{color:var(--lightningcss-light,#905b05)var(--lightningcss-dark,#f59e0b)}.file-tree-item:hover .file-icon-ts{color:var(--lightningcss-light,#2c6cb2)var(--lightningcss-dark,#3178c6)}.file-tree-item:hover .file-icon-js{color:var(--lightningcss-light,#74690c)var(--lightningcss-dark,#f7df1e)}.file-tree-item:hover .file-icon-json{color:var(--lightningcss-light,#696920)var(--lightningcss-dark,#cbcb41)}.file-tree-item:hover .file-icon-config{color:var(--accent-purple,#8b5cf6)}.file-tree-item:hover .file-icon-md{color:var(--lightningcss-light,#396f87)var(--lightningcss-dark,#519aba)}.file-tree-item:hover .file-icon-html{color:var(--lightningcss-light,#b83e1e)var(--lightningcss-dark,#e44d26)}.file-tree-item:hover .file-icon-css{color:#639}.file-tree-item:hover .file-icon-rust{color:var(--lightningcss-light,#81604c)var(--lightningcss-dark,#dea584)}.file-tree-item:hover .file-icon-python{color:var(--lightningcss-light,#316a99)var(--lightningcss-dark,#3776ab)}.file-tree-item:hover .file-icon-go{color:var(--lightningcss-light,#00708c)var(--lightningcss-dark,#00add8)}.file-tree-item:hover .file-icon-ruby{color:#cc342d}.file-tree-item:hover .file-icon-sql{color:#336791}.file-tree-item:hover .file-icon-env{color:var(--lightningcss-light,#7b6e20)var(--lightningcss-dark,#ecd53f)}.file-tree-item:hover .file-icon-lock{color:var(--lightningcss-light,var(--theme-light-text-muted,#5b6779))var(--lightningcss-dark,#9ca3af)}.file-tree-item:hover .file-icon-git{color:var(--lightningcss-light,#c24028)var(--lightningcss-dark,#f05032)}.file-tree-item:hover .file-icon-shell{color:var(--lightningcss-light,#387b1a)var(--lightningcss-dark,#4eaa25)}.file-tree-item:hover .file-icon-image{color:var(--lightningcss-light,#8744c7)var(--lightningcss-dark,#a855f7)}.file-tree-item:hover .file-icon-archive,.folder-icon,.file-tree-item:hover .folder-icon,.file-tree-item.selected .folder-icon{color:var(--lightningcss-light,#905b05)var(--lightningcss-dark,#f59e0b)}.file-status-indicator{border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-left:4px}.file-cloud-sync{width:12px;height:12px;color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;margin-left:3px;padding:0;line-height:0;display:inline-flex;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important}.file-cloud-sync svg{display:block;box-shadow:none!important;background:0 0!important;border:0!important}.file-cloud-sync.status-syncing{color:var(--accent-blue)}.file-cloud-sync.status-syncing svg{animation:1s linear infinite spin;color:var(--accent-blue)!important}.file-cloud-sync.status-synced{color:var(--lightningcss-light,#1c7b59)var(--lightningcss-dark,#34d399)}.file-cloud-sync.status-synced svg{color:var(--lightningcss-light,#1c7b59)var(--lightningcss-dark,#34d399)!important}.file-cloud-sync.status-pending{color:var(--lightningcss-light,#826311)var(--lightningcss-dark,#fbbf24)}.file-cloud-sync.status-pending svg{color:var(--lightningcss-light,#826311)var(--lightningcss-dark,#fbbf24)!important}.file-cloud-sync.status-error{color:var(--lightningcss-light,#b45151)var(--lightningcss-dark,#f87171)}.file-cloud-sync.status-error svg{color:var(--lightningcss-light,#b45151)var(--lightningcss-dark,#f87171)!important}.file-cloud-sync.status-conflict{color:var(--lightningcss-light,#826311)var(--lightningcss-dark,#fbbf24)}.file-cloud-sync.status-conflict svg{color:var(--lightningcss-light,#826311)var(--lightningcss-dark,#fbbf24)!important}.file-status-indicator.status-error{background-color:#ef4444;box-shadow:0 0 4px #ef444480}.file-status-indicator.status-warning{background-color:#f59e0b;box-shadow:0 0 4px #f59e0b80}.file-status-indicator.status-git-modified{background-color:#22c55e;box-shadow:0 0 4px #22c55e80}.file-status-indicator.status-git-added{background-color:#10b981;box-shadow:0 0 4px #10b98180}.file-status-indicator.status-git-untracked{background-color:var(--color-primary,#3b82f6);box-shadow:0 0 4px var(--color-primary-alpha-50,#3b82f680)}.file-tree-item.selected .file-status-indicator{opacity:.9}.file-tree-item.renaming{background-color:var(--bg-tertiary)}.file-rename-form{flex:1;min-width:0}.file-rename-input{border:1px solid var(--accent-blue);background:var(--bg-primary);width:100%;color:var(--text-primary);border-radius:4px;outline:none;padding:2px 6px;font-size:12px}.file-rename-input:focus{box-shadow:0 0 0 2px var(--color-primary-alpha-20,#3b82f633)}.file-context-divider{background-color:var(--border-color);height:1px;margin:4px 8px}.file-context-item.file-context-danger,.file-context-item.file-context-danger svg{color:var(--accent-red)}.file-context-item.file-context-danger:hover{background-color:#ef44441a}.file-delete-overlay{z-index:1001;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.file-delete-dialog{background:var(--bg-primary);border-radius:12px;width:90%;max-width:400px;padding:20px;box-shadow:0 8px 32px var(--lightningcss-light,#0f172a13)var(--lightningcss-dark,#0000004d)}.file-delete-dialog h3{color:var(--text-primary);margin:0 0 12px;font-size:16px;font-weight:600}.file-delete-dialog p{color:var(--text-secondary);margin:0 0 20px;font-size:13px;line-height:1.5}.file-delete-dialog strong{color:var(--text-primary);font-weight:500}.file-delete-actions{justify-content:flex-end;gap:8px;display:flex}.file-delete-actions .btn{cursor:pointer;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .15s}.file-delete-actions .btn-secondary{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary)}.file-delete-actions .btn-secondary:hover{background:var(--bg-tertiary)}.file-delete-actions .btn-danger{background:var(--accent-red);color:var(--lightningcss-light,var(--theme-light-text,#0f172a))var(--lightningcss-dark,white);border:none}.file-delete-actions .btn-danger:hover{background:#dc2626}.file-remote-indicator{color:var(--color-primary,#3b82f6);opacity:.7;flex-shrink:0;margin-left:auto}.file-tree-item:hover .file-remote-indicator{opacity:1}.file-explorer-remote-badge{color:var(--color-primary,#3b82f6);flex-shrink:0;margin-right:6px}@media (max-width:1200px){.file-explorer{width:220px}}@media (max-width:900px){.file-explorer{width:180px}}@media (max-width:768px){.file-explorer{display:none}}.cloud-secrets-dialog{max-width:460px}.cloud-secrets-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.cloud-secrets-head h3{align-items:center;gap:7px;margin:0 0 4px;display:flex}.cloud-secrets-close{color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:2px;line-height:0}.cloud-secrets-close:hover{color:var(--text-primary)}.cloud-secrets-body{margin:10px 0 18px}.cloud-secrets-project{color:var(--text-primary);margin:0 0 10px;font-size:13px;font-weight:500}.cloud-secrets-note{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:8px;align-items:flex-start;gap:7px;margin:0 0 14px;padding:9px 11px;font-size:12px;line-height:1.45;display:flex}.cloud-secrets-note svg{color:var(--accent-green);flex-shrink:0;margin-top:2px}.cloud-secrets-files{flex-direction:column;gap:4px;max-height:190px;margin-bottom:12px;display:flex;overflow-y:auto}.cloud-secrets-file{color:var(--text-primary);background:var(--bg-secondary);cursor:pointer;border-radius:7px;align-items:center;gap:8px;padding:6px 9px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:12px;display:flex}.cloud-secrets-file:hover{background:var(--bg-hover)}.cloud-secrets-empty{color:var(--text-muted);margin:0 0 12px;font-size:12px}.cloud-secrets-input{box-sizing:border-box;border:1px solid var(--border-color);background:var(--bg-primary);width:100%;color:var(--text-primary);border-radius:8px;outline:none;margin-bottom:8px;padding:9px 11px;font-size:13px}.cloud-secrets-input:focus{border-color:var(--color-primary,#3b82f6)}.cloud-secrets-warn,.cloud-secrets-error,.cloud-secrets-ok{margin:6px 0 0;font-size:12px;line-height:1.45}.cloud-secrets-warn{color:var(--accent-amber,#f59e0b)}.cloud-secrets-error{color:var(--accent-red,#ef4444)}.cloud-secrets-ok{color:var(--accent-green,#22c55e)}
.deploy-tab{background:0 0;min-width:0;padding:clamp(14px,2vw,22px) clamp(16px,2.4vw,26px) 30px;overflow-x:hidden}.deploy-tab--restructured{flex-direction:column;gap:12px;display:flex}.deploy-console{border:1px solid color-mix(in srgb, var(--border-color) 72%, transparent);background:color-mix(in srgb, var(--bg-tertiary) 28%, transparent);border-radius:14px;flex-direction:column;gap:10px;min-width:0;padding:10px 12px;display:flex}.deploy-console-row{align-items:center;gap:8px;min-width:0;display:flex}.deploy-console-row--target{flex-wrap:nowrap}.deploy-console-row--target>.env-tabs{scrollbar-width:none;flex:auto;min-width:0;overflow-x:auto}.deploy-console-row--target>.env-tabs::-webkit-scrollbar{display:none}.deploy-console-ship{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.deploy-console-row--config{border-top:1px solid color-mix(in srgb, var(--border-color) 55%, transparent);padding-top:8px}.deploy-console-row--config .deploy-setup-strip{width:100%}.deploy-setup-strip{background:0 0;border:none;flex-wrap:wrap;align-items:center;gap:8px 12px;min-width:0;padding:0;display:flex}.deploy-setup-strip-field{flex-direction:row;flex:0 auto;align-items:center;gap:6px;min-width:0;display:flex}.deploy-setup-strip-field--grow{flex:160px;min-width:140px}.deploy-setup-strip-field .pill-select{min-width:120px}.deploy-setup-strip-field--grow .pill-select{flex:1;min-width:120px}.deploy-setup-strip-label{color:var(--text-muted);white-space:nowrap;font-size:11px;font-weight:500}.deploy-setup-strip .deploy-autosave-status{opacity:.55;border:none;margin-left:auto;padding:0;font-size:10px}.deploy-metrics-line{color:var(--text-muted);flex-wrap:wrap;align-items:baseline;font-size:11px;display:flex}.deploy-metrics-line strong{color:var(--text-primary);font-variant-numeric:tabular-nums;margin-right:3px;font-weight:600}.deploy-metrics-line .is-success strong{color:color-mix(in srgb, var(--accent-green) 85%, var(--text-primary))}.deploy-metrics-line .is-failed strong{color:color-mix(in srgb, var(--accent-red) 85%, var(--text-primary))}.deploy-metrics-sep{opacity:.4;-webkit-user-select:none;user-select:none;margin:0 6px}.deploy-main{flex:none;min-width:0}.deploy-tab--restructured .deploy-config-panel{flex-direction:column;flex:none;align-self:stretch;height:auto;max-height:none;margin-bottom:0;display:flex}.deploy-tab--restructured .deploy-config-toolbar{display:none}.deploy-tab--restructured .deploy-config-header{flex-shrink:0;min-height:40px;padding:0 10px 0 12px}.deploy-tab--restructured .deploy-config-content{flex:none;min-height:0;max-height:none;overflow:visible}.deploy-tab--restructured .deploy-config-content:has(.deploy-steps){max-height:none;overflow:visible}.deploy-tab--restructured .deploy-config-footer{border-top:1px solid color-mix(in srgb, var(--border-color) 65%, transparent);background:0 0;flex:none;margin-top:0;padding:8px 12px}.deploy-console-row--target>.env-tabs{flex:1 1 0;min-width:0}.deploy-console .env-tab-btn{flex-shrink:0;padding:5px 10px;font-size:12px}.deploy-console .env-tab-dot{width:6px;height:6px}.deploy-tab--restructured .deploy-step{gap:8px;min-height:40px;padding:6px 12px}.deploy-tab--restructured .deploy-step .step-icon{display:none}.deploy-tab--restructured .step-number{width:18px;height:18px;color:var(--text-muted);opacity:.7;background:0 0;font-size:10px;font-weight:500}.deploy-tab--restructured .step-command-input{opacity:.85;font-size:11px}.deploy-tab--restructured .add-step-btn{border-radius:0;min-height:34px}.deploy-history-header{justify-content:space-between;align-items:baseline;gap:12px;min-width:0;margin-bottom:8px;display:flex}.deploy-tab--restructured .deploy-history .section-title{color:var(--text-secondary);margin:0;font-size:12px;font-weight:550}.deploy-tab--restructured .deploy-version-field{gap:4px;min-height:32px;padding:0 8px}.deploy-tab--restructured .deploy-version-field label{text-transform:none;letter-spacing:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:600}.deploy-tab--restructured .deploy-now-btn{min-height:32px;padding:0 14px;font-size:12.5px}.deploy-list--compact{flex-direction:column;gap:2px;display:flex}.deploy-row{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:10px 12px;margin:0;padding:7px 8px;transition:background-color .12s,border-color .12s;display:grid}.deploy-row--resumable{grid-template-columns:58px minmax(0,1fr) auto auto}.deploy-row:focus-visible{outline:2px solid var(--accent-blue);outline-offset:1px}.deploy-row:hover{background:color-mix(in srgb, var(--bg-hover) 70%, transparent);border-color:color-mix(in srgb, var(--border-color) 50%, transparent)}.deploy-row .status-badge{text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;justify-self:start;padding:2px 6px;font-size:9px}.deploy-row-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-primary);font-size:12.5px;font-weight:500;overflow:hidden}.deploy-row-meta{min-width:0;max-width:42%;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:0 5px;font-size:11px;display:flex;overflow:hidden}.deploy-row-meta code{color:var(--text-secondary);background:0 0;flex-shrink:0;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.empty-state--compact{padding:20px 12px}.empty-state--compact h3{font-size:13px;font-weight:500}@media (max-width:820px){.deploy-row{grid-template-columns:56px minmax(0,1fr)}.deploy-row-meta{grid-column:1/-1;justify-content:flex-start;padding-left:68px}.deploy-row--resumable{grid-template-columns:max-content minmax(0,1fr) auto}.deploy-row--resumable .deploy-row-resume{grid-area:1/3}}.section-header{align-items:center;gap:12px;margin-bottom:16px;display:flex}.section-header .section-title{margin-bottom:0}.section-header .env-badge{color:#fff;text-transform:uppercase;letter-spacing:.5px;border-radius:4px;align-items:center;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.stats-bar{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:20px;display:grid}.stat-card{border:1px solid color-mix(in srgb, var(--border-color) 65%, transparent);box-shadow:none;background:0 0;border-radius:10px;padding:10px 12px;transition:border-color .16s,background-color .16s;position:relative;overflow:hidden}.stat-card:before{content:none}.stat-card:hover{border-color:var(--border-color);background:color-mix(in srgb, var(--bg-tertiary) 40%, transparent)}.stat-card-header{align-items:center;gap:5px;margin-bottom:6px;display:flex}.stat-card-header svg{display:none}.stat-card h4{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:500}.stat-card .value{color:var(--text-primary);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:22px;font-weight:600;line-height:1}.stat-card .value.success{color:color-mix(in srgb, var(--accent-green) 80%, var(--text-primary))}.stat-card .value.failed{color:color-mix(in srgb, var(--accent-red) 80%, var(--text-primary))}.deploy-list{flex-direction:column;display:flex}.deploy-list:not(.deploy-list--compact){gap:12px}.deploy-tab .section{margin-top:10px}.deploy-tab .section-title{color:var(--text-primary);letter-spacing:0;margin:0 0 12px;font-size:15px;font-weight:600}.deploy-card{background:var(--bg-tertiary);border:1px solid var(--border-color);cursor:pointer;box-shadow:none;border-radius:8px;min-width:0;padding:16px 18px;transition:background-color .16s,border-color .16s;overflow:hidden}.deploy-card:hover{background-color:var(--bg-hover);border-color:var(--border-color)}.deploy-card-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.deploy-card-title{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.deploy-card-title h3{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:650;overflow:hidden}.deploy-card-header .status-badge{flex-shrink:0}.deploy-card-commit{color:var(--text-secondary);align-items:center;gap:8px;font-family:SF Mono,Monaco,Courier New,monospace;font-size:13px;display:flex}.deploy-card-commit svg{color:var(--text-muted)}.deploy-card-branch{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.deploy-card-promotion{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.deploy-card-meta{color:var(--text-muted);flex-wrap:wrap;gap:12px;font-size:13px;display:flex}.deploy-card-meta span{align-items:center;gap:6px;display:flex}.deploy-card-meta svg{color:var(--text-muted)}.commit-info{border-bottom:1px solid var(--border-color);margin-bottom:24px;padding-bottom:20px}.commit-info h3{color:var(--text-primary);margin-bottom:8px;font-size:16px;font-weight:600}.commit-info p{color:var(--text-muted);align-items:center;gap:8px;font-size:13px;display:flex}.commit-info p svg{color:var(--text-muted)}.commit-info .commit-info-secondary{overflow-wrap:anywhere;margin-top:6px;display:block}.progress-section{border-bottom:1px solid var(--border-color);margin-bottom:24px;padding-bottom:20px}.progress-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.progress-label{color:var(--text-primary);font-size:14px;font-weight:500}.progress-percent{color:var(--text-muted);font-family:SF Mono,Monaco,Courier New,monospace;font-size:14px;font-weight:600}.progress-bar-container{background-color:var(--bg-tertiary);border-radius:4px;height:8px;overflow:hidden}.progress-bar-fill{border-radius:4px;height:100%;transition:width .3s ease-in-out}.steps{flex-direction:column;gap:16px;display:flex}.step{align-items:flex-start;gap:16px;display:flex}.step-indicator{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:600;display:flex}.step-pending .step-indicator{background-color:var(--bg-tertiary);color:var(--text-muted)}.step-running .step-indicator{color:var(--accent-blue);background-color:#1d9bf026;animation:1.5s infinite pulse}.step-success .step-indicator{color:var(--accent-green);background-color:#16a34a26}.step-failed .step-indicator{color:var(--accent-red);background-color:#dc262626}.step-content{flex:1;min-width:0}.step-content h4{color:var(--text-primary);margin-bottom:2px;font-size:14px;font-weight:600}.step-content p{color:var(--text-muted);font-size:13px}.logs{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;max-height:280px;margin-top:24px;padding:16px;overflow-y:auto}.logs-header{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);align-items:center;gap:6px;margin-bottom:12px;font-size:12px;font-weight:600;display:flex}.logs pre{color:var(--text-secondary);white-space:pre-wrap;word-break:break-all;font-family:SF Mono,Monaco,Courier New,monospace;font-size:12px;line-height:1.6}.deploy-header-row{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;margin-bottom:18px;display:flex}.deploy-now-btn{white-space:nowrap;background:var(--accent-blue);border:1px solid color-mix(in srgb, var(--accent-blue) 40%, transparent);min-height:36px;box-shadow:none;color:#fff;background-image:none;border-radius:999px;flex-shrink:0;align-items:center;gap:7px;padding:0 15px;font-size:13px;font-weight:550;display:flex;transform:none}.deploy-now-btn:hover:not(:disabled){background:var(--accent-blue-hover);box-shadow:none;background-image:none;transform:none}.deploy-version-field{background:color-mix(in srgb, var(--bg-tertiary) 80%, transparent);border:1px solid color-mix(in srgb, var(--border-color) 75%, transparent);border-radius:999px;flex:none;align-items:center;gap:10px;min-height:36px;padding:0 12px;display:flex}.deploy-version-field label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:0;font-size:10px;font-weight:500}.deploy-version-field input{color:var(--text-primary);background:0 0;border:none;outline:none;width:92px;padding:2px 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;font-weight:500}.deploy-version-field input.invalid{color:var(--color-danger,#f87171)}.deploy-version-hint{color:var(--text-muted);white-space:nowrap;border-left:1px solid var(--border-color);padding-left:10px;font-size:11px}.deploy-version-hint.invalid{color:var(--color-danger,#f87171)}.deploy-error-banner{color:var(--accent-red);background:#ef44441f;border:1px solid #ef444459;border-radius:8px;align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;font-size:13px;display:flex}.deploy-error-banner button{color:var(--accent-red);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0 4px;font-size:16px}.deploy-header-row>.env-tabs{scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;flex:420px;width:auto;min-width:0;max-width:100%;overflow-x:auto}.deploy-header-row>.env-tabs::-webkit-scrollbar{display:none}.deploy-config-panel{border:1px solid color-mix(in srgb, var(--border-color) 70%, transparent);box-shadow:none;background:0 0;border-radius:12px;margin-bottom:24px;overflow:hidden}.deploy-config-header{border-bottom:1px solid color-mix(in srgb, var(--border-color) 70%, transparent);flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:8px;min-height:44px;padding:0 12px;display:flex}.deploy-config-title{min-width:0;color:var(--text-primary);align-items:center;gap:8px;font-size:13px;font-weight:550;display:flex}.deploy-config-title span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.deploy-config-title svg{color:var(--text-muted);flex-shrink:0}.deploy-config-controls{flex-shrink:0;align-items:center;gap:8px;display:flex}.deploy-config-toolbar{border-bottom:1px solid var(--border-color);background:var(--bg-primary);justify-content:space-between;align-items:flex-end;gap:14px;padding:12px 14px;display:flex}.deploy-template-control{flex-direction:column;flex:1;gap:6px;min-width:260px;display:flex}.deploy-template-control label,.deploy-toolbar-label{color:var(--text-muted);letter-spacing:0;font-size:11px;font-weight:800}.deploy-template-row{align-items:center;gap:8px;min-width:0;display:flex}.deploy-template-row select{border:1px solid var(--border-color);background:var(--bg-tertiary);min-width:0;height:34px;color:var(--text-primary);border-radius:999px;outline:none;flex:1;padding:0 12px;font-size:12px}.deploy-template-row select:focus{border-color:var(--accent-blue)}.deploy-template-row select:disabled{opacity:.65}.deploy-template-apply{flex-shrink:0;min-height:34px}.deploy-mode-control{flex-direction:column;flex:none;align-items:flex-start;gap:6px;display:flex}.view-toggle{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:999px;flex-shrink:0;padding:3px;display:flex;overflow:hidden}.view-btn{min-width:32px;min-height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;padding:0 8px;transition:all .15s;display:flex}.view-btn:hover{background:var(--bg-hover)}.view-btn.active{background:var(--bg-hover);color:var(--text-primary)}.view-toggle-labeled .view-btn{gap:6px;min-height:34px;padding:0 12px;font-size:12px;font-weight:800}.view-toggle-labeled .view-btn span{display:inline}.secrets-toggle{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:6px 10px;transition:all .15s;display:flex}.secrets-toggle:hover{background:var(--bg-tertiary)}.secrets-toggle.active{background:var(--bg-tertiary);border-color:var(--accent-blue);color:var(--text-primary)}.secrets-count{background:var(--accent-blue);color:#fff;border-radius:10px;padding:1px 6px;font-size:10px;font-weight:600}.deploy-config-content{max-height:none;padding:0;overflow-y:visible}.deploy-config-content:has(.code-editor){padding:0;overflow:hidden}.deploy-config-content:has(.deploy-steps){max-height:min(50vh,560px);overflow-y:auto}.deploy-steps{flex-direction:column;gap:0;display:flex}.deploy-step{border:none;border-bottom:1px solid color-mix(in srgb, var(--border-color) 65%, transparent);background:0 0;border-radius:0;align-items:center;gap:10px;min-height:40px;padding:8px 14px;transition:background-color .14s;display:flex}.deploy-step:hover{background:color-mix(in srgb, var(--bg-hover) 70%, transparent)}.step-number{background:color-mix(in srgb, var(--bg-tertiary) 80%, transparent);width:20px;height:20px;color:var(--text-muted);font-variant-numeric:tabular-nums;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:500;display:flex}.deploy-step .step-icon{color:var(--text-muted);opacity:.85;flex-shrink:0;width:13px;height:13px}.step-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.step-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:500;overflow:hidden}.step-desc{color:var(--text-muted);opacity:.85;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.step-name-input,.step-command-input{color:var(--text-primary);background:0 0;border:none;outline:none;width:100%;padding:2px 0;font-size:12px}.step-name-input{font-weight:500}.step-command-input{color:var(--text-muted);letter-spacing:0;font-family:SF Mono,Monaco,Courier New,monospace;font-size:11px;font-weight:400}.step-name-input:focus,.step-command-input:focus{background:var(--bg-tertiary);border-radius:4px;margin:-2px -4px;padding:2px 4px}.step-remove{color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:999px;padding:4px;transition:all .15s}.deploy-step:hover .step-remove{opacity:1}.step-remove:hover{color:var(--accent-red);background:#ef44441f}.deploy-step.disabled{opacity:.5}.add-step-btn{border:none;border-top:1px dashed var(--border-color);width:100%;min-height:40px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:0 0 8px 8px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:12px;transition:all .15s;display:flex}.add-step-btn:hover{background:var(--bg-hover);border-color:var(--border-color);color:var(--text-primary)}.deploy-loading{color:var(--text-muted);justify-content:center;align-items:center;gap:8px;padding:24px;font-size:13px;display:flex}.deploy-empty{color:var(--text-muted);flex-direction:column;align-items:center;gap:12px;padding:32px;display:flex}.deploy-empty svg{color:var(--text-secondary)}.deploy-empty p{margin:0;font-size:13px}.deploy-empty-actions{align-items:center;gap:12px;display:flex}.or-divider{color:var(--text-muted);text-transform:lowercase;font-size:12px}.ai-generate-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);width:30px;height:30px;color:var(--text-muted);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:background-color .15s,border-color .15s,color .15s;display:flex}.ai-generate-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-color);color:var(--text-primary);box-shadow:none;transform:none}.ai-generate-btn.active{background:var(--bg-hover);border-color:var(--border-color);color:var(--text-primary)}.ai-generate-btn:disabled{opacity:.6;cursor:not-allowed}.ai-generate-wrapper{position:relative}.ai-generate-menu{background:var(--bg-primary);border:1px solid var(--border-color);z-index:50;border-radius:8px;min-width:200px;padding:5px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 26px #0000004d}.ai-generate-menu button{width:100%;color:var(--text-primary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.ai-generate-menu button:hover{background:var(--bg-hover)}.ai-generate-menu button svg{color:var(--text-muted)}.unsaved-indicator{color:var(--accent-blue);margin-left:4px}@media (max-width:1180px){.stats-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.deploy-header-row>.env-tabs{flex-basis:100%;order:1}.deploy-version-field{order:2}.deploy-now-btn{order:3}}@media (max-width:760px){.deploy-config-toolbar,.deploy-header-row>.env-tabs,.deploy-version-field,.deploy-now-btn{width:100%}.deploy-config-toolbar{flex-direction:column;align-items:stretch}.deploy-template-control,.deploy-mode-control{width:100%;min-width:0}.deploy-template-row{flex-direction:column;align-items:stretch}.view-toggle-labeled{width:100%}.view-toggle-labeled .view-btn{flex:1}.deploy-config-controls .view-toggle-labeled{flex-shrink:0;width:auto}.deploy-config-controls .view-toggle-labeled .view-btn{flex:none}.deploy-version-field{justify-content:space-between}.deploy-now-btn{justify-content:center}.stats-bar{grid-template-columns:1fr}}.deploy-tab--restructured{--dep-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;--dep-line:color-mix(in srgb, var(--border-color) 70%, transparent);--dep-surface:color-mix(in srgb, var(--bg-tertiary) 26%, transparent);--dep-pill:999px;gap:12px}.deploy-tab--restructured .deploy-console,.deploy-tab--restructured .deploy-config-panel{background:var(--dep-surface);border-color:var(--dep-line);box-shadow:inset 0 1px #ffffff0b,0 1px 2px #0006,0 8px 24px -12px #000000b3}.deploy-tab--restructured .deploy-console{border-radius:16px;gap:0;padding:0}.deploy-tab--restructured .deploy-console-row--target{gap:10px;padding:9px 10px}.deploy-tab--restructured .deploy-console-row--config{border-top-color:color-mix(in srgb, var(--border-color) 50%, transparent);padding:9px 14px}.deploy-tab--restructured .deploy-console .env-tabs{border:1px solid var(--dep-line);border-radius:var(--dep-pill);background:color-mix(in srgb, var(--bg-tertiary) 55%, transparent);gap:4px;min-height:38px;padding:4px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 22px),#0000 100%);mask-image:linear-gradient(90deg,#000 calc(100% - 22px),#0000 100%)}.deploy-tab--restructured .deploy-console .env-tab-btn{border-radius:var(--dep-pill);min-height:28px;color:var(--text-secondary);white-space:nowrap;background:0 0;border:1px solid #0000;flex-shrink:0;gap:7px;padding:0 13px;font-size:12.5px;font-weight:550}.deploy-tab--restructured .deploy-console .env-tab-btn:hover{background:color-mix(in srgb, var(--bg-hover) 75%, transparent);color:var(--text-primary)}.deploy-tab--restructured .deploy-console .env-tab-btn.active{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.deploy-tab--restructured .deploy-console .env-tab-dot{border:none;width:7px;height:7px}.deploy-tab--restructured .deploy-console .env-tab-btn.active .env-tab-dot{border:1.5px solid #ffffffe6}.deploy-tab--restructured .deploy-console-ship{gap:8px}.deploy-tab--restructured .deploy-version-field{border-radius:var(--dep-pill);border-color:var(--dep-line);background:color-mix(in srgb, var(--bg-tertiary) 70%, transparent);gap:6px;min-height:34px;padding:0 14px}.deploy-tab--restructured .deploy-version-field label{font-family:var(--dep-mono);color:var(--text-muted);font-size:11px;font-weight:400}.deploy-tab--restructured .deploy-version-field input{width:62px;font-size:13px}.deploy-tab--restructured .deploy-now-btn{border-radius:var(--dep-pill);gap:7px;min-height:34px;padding:0 16px;font-size:13px;font-weight:600}.deploy-tab--restructured .deploy-now-btn svg{width:14px;height:14px}.deploy-tab--restructured .deploy-setup-strip{gap:8px 14px}.deploy-tab--restructured .deploy-setup-strip-label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);font-size:10px;font-weight:600}.deploy-tab--restructured .deploy-console .pill-select-trigger{border-radius:var(--dep-pill);border-color:var(--dep-line);background:color-mix(in srgb, var(--bg-tertiary) 70%, transparent);gap:8px;height:32px;padding:0 10px 0 14px;font-size:12.5px}.deploy-tab--restructured .deploy-console .pill-select-menu{border-radius:16px;padding:5px}.deploy-tab--restructured .deploy-console .pill-select-option{border-radius:var(--dep-pill);min-height:30px;font-size:12.5px}.deploy-tab--restructured .deploy-config-panel{border-radius:16px}.deploy-tab--restructured .deploy-config-header{border-bottom-color:color-mix(in srgb, var(--border-color) 50%, transparent);flex-flow:row;align-items:center;gap:10px;min-height:42px;padding:0 10px 0 14px}.deploy-tab--restructured .deploy-config-title{text-transform:uppercase;letter-spacing:.08em;min-width:0;color:var(--text-secondary);flex:auto;gap:8px;font-size:11px;font-weight:650}.deploy-tab--restructured .deploy-config-title svg{flex-shrink:0;width:14px;height:14px}.deploy-tab--restructured .deploy-config-controls{flex-wrap:nowrap;flex:none;align-items:center;gap:6px;width:auto;max-width:none;display:flex}.deploy-tab--restructured .view-toggle,.deploy-tab--restructured .view-toggle-labeled{border-radius:var(--dep-pill);border-color:var(--dep-line);background:color-mix(in srgb, var(--bg-tertiary) 70%, transparent);flex:none;max-width:none;padding:2px;width:auto!important}.deploy-tab--restructured .view-toggle-labeled .view-btn{border-radius:var(--dep-pill);gap:5px;width:auto;min-width:0;min-height:26px;padding:0 10px;font-size:12px;font-weight:600;flex:none!important}.deploy-tab--restructured .view-btn svg{flex-shrink:0;width:13px;height:13px}.deploy-tab--restructured .ai-generate-wrapper{flex:none;width:auto}.deploy-tab--restructured .ai-generate-btn{border-color:var(--dep-line);background:color-mix(in srgb, var(--bg-tertiary) 70%, transparent);border-radius:50%;width:28px;min-width:28px;max-width:28px;height:28px}.deploy-tab--restructured .deploy-step{border-bottom-color:color-mix(in srgb, var(--border-color) 40%, transparent);gap:12px;min-height:38px;padding:8px 14px}.deploy-tab--restructured .deploy-step:hover{background:color-mix(in srgb, var(--bg-hover) 55%, transparent)}.deploy-tab--restructured .step-number{background:color-mix(in srgb, var(--bg-tertiary) 75%, transparent);width:22px;height:22px;font-family:var(--dep-mono);opacity:1;border-radius:50%;font-size:10.5px}.deploy-tab--restructured .step-info{gap:0}.deploy-tab--restructured .step-name-input{font-size:13px;font-weight:550}.deploy-tab--restructured .add-step-btn{border-top:1px solid color-mix(in srgb, var(--border-color) 45%, transparent);min-height:38px;font-size:12px}.deploy-tab--restructured .deploy-config-footer{border-top-color:color-mix(in srgb, var(--border-color) 50%, transparent);justify-content:flex-end;padding:9px 12px;display:flex}.deploy-tab--restructured .deploy-config-footer .btn{border:1px solid var(--dep-line);border-radius:var(--dep-pill);background:color-mix(in srgb, var(--bg-tertiary) 85%, transparent);min-height:30px;box-shadow:none;color:var(--text-secondary);background-image:none;gap:7px;padding:0 15px;font-size:12.5px;font-weight:550;transform:none}.deploy-tab--restructured .deploy-config-footer .btn:hover:not(:disabled){background:var(--bg-hover);box-shadow:none;color:var(--text-primary);background-image:none;transform:none}.deploy-tab--restructured .deploy-config-footer .btn svg{width:13px;height:13px}.deploy-tab--restructured .deploy-history-header{margin-bottom:6px;padding:0 12px}.deploy-tab--restructured .deploy-history .section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);font-size:11px;font-weight:650}.deploy-tab--restructured .deploy-list--compact{gap:2px}.deploy-tab--restructured .deploy-row{border-radius:var(--dep-pill);grid-template-columns:max-content minmax(0,1fr) auto;gap:0 12px;min-height:40px;padding:7px 12px}.deploy-tab--restructured .deploy-row--resumable{grid-template-columns:max-content minmax(0,1fr) auto auto}@media (max-width:820px){.deploy-tab--restructured .deploy-row--resumable{grid-template-columns:max-content minmax(0,1fr) auto}}.deploy-row .deploy-row-resume{white-space:nowrap;border-radius:999px;justify-self:end;gap:5px;height:26px;min-height:26px;padding:0 10px;font-size:11.5px}.deploy-tab--restructured .deploy-row-title{color:var(--text-secondary);font-size:12.5px;font-weight:500}.deploy-tab--restructured .deploy-row:hover .deploy-row-title{color:var(--text-primary)}.deploy-tab--restructured .deploy-row-meta,.deploy-tab--restructured .deploy-row-meta code{font-family:var(--dep-mono);font-size:11px}.deploy-tab--restructured .deploy-row-meta{opacity:.8;gap:0 6px}.deploy-tab--restructured .deploy-row .status-badge{border-radius:var(--dep-pill);letter-spacing:.07em;text-transform:uppercase;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:3px 11px;font-size:9.5px;font-weight:700;display:inline-flex}.deploy-tab--restructured .deploy-row .status-badge:before{content:"";background:currentColor;border-radius:50%;flex:none;width:5px;height:5px}.deploy-tab--restructured .deploy-row .status-success{background:color-mix(in srgb, var(--accent-green) 16%, transparent);border-color:color-mix(in srgb, var(--accent-green) 32%, transparent);color:var(--accent-green)}.deploy-tab--restructured .deploy-row .status-failed{background:color-mix(in srgb, var(--accent-red) 16%, transparent);border-color:color-mix(in srgb, var(--accent-red) 32%, transparent);color:var(--accent-red)}.deploy-tab--restructured .deploy-row .status-pending,.deploy-tab--restructured .deploy-row .status-building,.deploy-tab--restructured .deploy-row .status-deploying{background:color-mix(in srgb, var(--accent-blue) 16%, transparent);border-color:color-mix(in srgb, var(--accent-blue) 32%, transparent);color:var(--accent-blue)}@media (max-width:820px){.deploy-tab--restructured .deploy-row{grid-template-columns:max-content minmax(0,1fr)}.deploy-tab--restructured .deploy-row-meta{padding-left:0}}.dev-suite .deploy-detail-overlay{z-index:100;position:absolute;inset:0}.dev-suite .deploy-detail-modal{max-width:min(800px,100%)}.deploy-workflow{flex-direction:column;gap:12px;display:flex}.deploy-workflow-banner{border:1px solid var(--border-color,#ffffff14);background:var(--bg-secondary,#ffffff08);color:var(--text-secondary);border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:12px;line-height:1.4;display:flex}.deploy-workflow-banner svg{color:var(--accent-color,#3b82f6);flex-shrink:0;margin-top:2px}.deploy-workflow-text{flex-direction:column;gap:2px;display:flex}.deploy-workflow-text strong{color:var(--text-primary)}.deploy-workflow-text code{font-family:var(--font-mono,ui-monospace, monospace);color:var(--text-primary);font-size:11px}.deploy-step.readonly{cursor:default}.step-name-static{color:var(--text-primary);font-size:13px}
.secrets-panel{border-top:1px solid var(--border-color);background:var(--bg-tertiary);padding:16px}.secrets-header{color:var(--text-primary);align-items:center;gap:8px;margin-bottom:12px;font-size:13px;font-weight:600;display:flex}.secrets-header svg{color:var(--text-muted)}.secret-toggle:hover{color:var(--text-primary)}.secret-remove:hover{color:var(--accent-red)}.add-secret-btn{border:1px dashed var(--border-color);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:6px;padding:8px 12px;font-size:12px;transition:all .15s;display:flex}.add-secret-btn:hover{background:var(--bg-primary);border-color:var(--text-muted);color:var(--text-primary)}.deploy-config-footer{border-top:1px solid var(--border-color);background:var(--bg-tertiary);-webkit-backdrop-filter:none;backdrop-filter:none;justify-content:flex-end;padding:10px 14px;display:flex}.deploy-tab .status-badge{letter-spacing:.05em;border:1px solid var(--border-color);text-transform:uppercase;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:600}.deploy-tab .status-success{color:var(--accent-green);background:#22c55e2e;border-color:#22c55e59}.deploy-tab .status-failed{color:var(--accent-red);background:#ef44442e;border-color:#ef444459}.deploy-tab .status-pending,.deploy-tab .status-building,.deploy-tab .status-deploying{background:var(--bg-hover);color:var(--text-secondary);border-color:var(--border-color)}.code-editor{border:1px solid var(--border-color);background:#fafafa;border-radius:8px;overflow:hidden}.code-editor-container{min-height:200px;max-height:300px;display:flex;position:relative;overflow:hidden}.code-line-numbers{-webkit-user-select:none;user-select:none;pointer-events:none;z-index:2;background:#f0f0f0;border-right:1px solid #e0e0e0;width:48px;padding:12px 0;position:absolute;top:0;left:0}.line-number{text-align:right;color:#999;height:20px;padding:0 12px;font-family:SF Mono,Monaco,Courier New,monospace;font-size:12px;line-height:20px}.code-highlight-layer{pointer-events:none;z-index:1;padding:12px 12px 12px 16px;position:absolute;top:0;left:48px;right:0}.code-line{color:#24292e;white-space:pre;height:20px;font-family:SF Mono,Monaco,Courier New,monospace;font-size:12px;line-height:20px}.code-textarea{resize:none;color:#0000;caret-color:#24292e;z-index:3;background:0 0;border:none;outline:none;width:100%;min-height:200px;max-height:300px;padding:12px 12px 12px 64px;font-family:SF Mono,Monaco,Courier New,monospace;font-size:12px;line-height:20px;position:relative;overflow-y:auto}.code-textarea::selection{background:#add6ffcc}.syntax-comment{color:#6a737d;font-style:italic}.syntax-variable{color:#005cc5}.syntax-string{color:#032f62}.syntax-command{color:#6f42c1;font-weight:500}.syntax-flag{color:#22863a}[data-theme=dark] .code-editor{background:var(--bg-secondary)}[data-theme=dark] .code-line-numbers{background:var(--bg-tertiary);border-right-color:var(--border-color)}[data-theme=dark] .line-number{color:var(--text-secondary)}[data-theme=dark] .code-line{color:var(--text-primary)}[data-theme=dark] .code-textarea{caret-color:#aeafad}[data-theme=dark] .code-textarea::selection{background:#264f78cc}[data-theme=dark] .syntax-comment{color:#6a9955}[data-theme=dark] .syntax-variable{color:#9cdcfe}[data-theme=dark] .syntax-string{color:#ce9178}[data-theme=dark] .syntax-command{color:#569cd6}[data-theme=dark] .syntax-flag{color:#dcdcaa}.secrets-list{flex-direction:column;gap:8px;display:flex}.secret-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.secret-key{background:var(--bg-primary);border:1px solid var(--border-color);width:180px;min-width:100px;color:var(--text-primary);border-radius:6px;padding:8px 10px;font-family:SF Mono,Monaco,Courier New,monospace;font-size:13px}.secret-key:focus{border-color:var(--accent-blue);outline:none}.secret-value-wrapper{flex:1;align-items:center;display:flex;position:relative}.secret-value{background:var(--bg-primary);border:1px solid var(--border-color);width:100%;color:var(--text-primary);border-radius:6px;padding:8px 36px 8px 10px;font-family:SF Mono,Monaco,Courier New,monospace;font-size:13px}.secret-value:focus{border-color:var(--accent-blue);outline:none}.secret-toggle{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;position:absolute;right:8px}.secret-toggle:hover{color:var(--text-primary);background:var(--bg-tertiary)}.secret-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px}.secret-remove:hover{color:var(--accent-red);background:#dc26261a}.add-secret-btn{align-self:flex-start;margin-top:4px}.deploy-config-actions{justify-content:flex-end;margin-top:8px;display:flex}.panel-selector-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.panel-selector-modal{background:var(--bg-secondary);border:1px solid var(--border-color);min-width:280px;max-width:400px;box-shadow:var(--shadow-lg);border-radius:12px;padding:16px}.panel-selector-header{color:var(--text-primary);border-bottom:1px solid var(--border-color);align-items:center;gap:10px;margin-bottom:12px;padding-bottom:12px;font-size:15px;font-weight:600;display:flex}.panel-selector-header svg{color:#8b5cf6}.panel-selector-list{flex-direction:column;gap:6px;display:flex}.panel-selector-item{background:var(--bg-primary);border:1px solid var(--border-color);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;border-radius:8px;align-items:center;gap:10px;padding:12px 14px;font-size:14px;transition:all .15s;display:flex}.panel-selector-item:hover{background:var(--bg-tertiary);border-color:#8b5cf6}.panel-selector-item svg{color:var(--text-muted);flex-shrink:0}@media (max-width:1100px){.stats-bar{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.stats-bar{grid-template-columns:1fr}}@container (max-width:760px){.stats-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.deploy-header-row{flex-wrap:wrap;align-items:stretch}.deploy-header-row>.env-tabs{flex-basis:100%;order:3}.deploy-now-btn,.deploy-version-field{min-height:38px}.deploy-now-btn{padding:0 16px}}@container (max-width:560px){.stats-bar{grid-template-columns:1fr}.deploy-card{padding:14px 16px}.deploy-card-header{flex-direction:column}.deploy-config-header{flex-flow:row;align-items:center;padding:0 10px 0 12px}.deploy-config-controls{flex-shrink:0;width:auto}.deploy-config-controls>*{width:auto}.deploy-version-field{justify-content:space-between;width:100%}}
.deploy-tab--restructured{container-type:inline-size}.deploy-tab--restructured .deploy-last-release{color:var(--text-secondary);font-family:var(--dep-mono);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px}@container (max-width:940px){.deploy-tab--restructured .deploy-console-row--target{flex-wrap:wrap;align-items:stretch}.deploy-tab--restructured .deploy-console-row--target>.env-tabs{flex:1 0 100%;width:100%;scroll-padding-inline:18px;-webkit-mask-image:none;mask-image:none}.deploy-tab--restructured .deploy-console-ship{justify-content:flex-end;width:100%;margin-left:0}}@container (max-width:560px){.deploy-tab--restructured .deploy-console-ship{grid-template-columns:minmax(0,1fr) auto;display:grid}.deploy-tab--restructured .deploy-last-release{grid-column:1/-1}.deploy-tab--restructured .deploy-version-field{width:100%}}
.deploy-auto-fix{flex-wrap:wrap;align-items:center;gap:8px 10px;width:100%;min-width:0;display:flex}.deploy-auto-fix-switch{background:color-mix(in srgb, var(--bg-tertiary,#1f232ae6) 88%, transparent);border:1px solid color-mix(in srgb, var(--border-color,#94a3b857) 85%, transparent);color:var(--text-secondary);cursor:pointer;font:inherit;border-radius:999px;align-items:center;gap:6px;height:32px;padding:0 6px 0 12px;font-size:12px;font-weight:500;transition:border-color .15s,color .15s;display:inline-flex}.deploy-auto-fix-switch:hover,.deploy-auto-fix-switch:focus-visible{border-color:color-mix(in srgb, var(--text-muted) 40%, transparent);outline:none}.deploy-auto-fix-switch:disabled{cursor:default;opacity:.6}.deploy-auto-fix-knob{background:color-mix(in srgb, var(--text-muted) 35%, transparent);border-radius:999px;width:32px;height:18px;transition:background-color .15s;position:relative}.deploy-auto-fix-knob:after{background:var(--text-primary,#f8fafc);content:"";border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;top:2px;left:2px}.deploy-auto-fix-switch.is-on{color:var(--text-primary)}.deploy-auto-fix-switch.is-on .deploy-auto-fix-knob{background:var(--color-primary,#3b82f6)}.deploy-auto-fix-switch.is-on .deploy-auto-fix-knob:after{transform:translate(14px)}.deploy-auto-fix .deploy-setup-strip-field .pill-select{min-width:110px}.deploy-auto-fix-model{flex:180px}.deploy-auto-fix-model .pill-select{flex:1}.deploy-auto-fix-status,.deploy-auto-fix-error{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;font-size:11px;overflow:hidden}.deploy-auto-fix-status--link{text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.deploy-auto-fix-status--redeploying{color:var(--color-primary,#3b82f6)}.deploy-auto-fix-status--stopped,.deploy-auto-fix-status--failed,.deploy-auto-fix-error{color:var(--color-danger,#ef4444)}
.deploy-group-tab-count{background:color-mix(in srgb, var(--text-muted) 22%, transparent);min-width:17px;height:17px;color:inherit;text-align:center;border-radius:999px;padding:0 5px;font-size:10.5px;font-weight:650;line-height:17px}.deploy-tab--restructured .deploy-console .env-tab-btn.active .deploy-group-tab-count{background:#ffffff38}.deploy-group-targets{flex-wrap:wrap;align-items:center;gap:6px;width:100%;min-width:0;display:flex}.deploy-group-targets-label{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;margin-right:4px;font-size:11px;font-weight:600}.deploy-group-target{border:1px solid color-mix(in srgb, var(--border-color) 85%, transparent);background:color-mix(in srgb, var(--bg-tertiary) 70%, transparent);border-radius:999px;align-items:center;height:32px;padding:0 4px 0 6px;transition:border-color .12s,background-color .12s,opacity .12s;display:inline-flex}.deploy-group-target:not(.is-checked){opacity:.62}.deploy-group-target.is-focused{border-color:var(--accent-blue);background:color-mix(in srgb, var(--accent-blue) 12%, var(--bg-tertiary))}.deploy-group-target-check{border:1.5px solid color-mix(in srgb, var(--text-muted) 70%, transparent);color:#fff;cursor:pointer;background:0 0;border-radius:5px;justify-content:center;align-items:center;width:18px;height:18px;padding:0;display:inline-flex}.deploy-group-target.is-checked .deploy-group-target-check{border-color:var(--accent-blue);background:var(--accent-blue)}.deploy-group-target-check:focus-visible,.deploy-group-target-label:focus-visible{outline:2px solid color-mix(in srgb, var(--accent-blue) 70%, transparent);outline-offset:2px}.deploy-group-target-label{height:100%;color:var(--text-primary);cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border:none;align-items:center;gap:6px;padding:0 9px 0 7px;font-size:12.5px;font-weight:550;display:inline-flex}.deploy-group-target-status{background:var(--text-muted);border-radius:50%;width:7px;height:7px}.deploy-group-target-status.is-success{background:var(--accent-green,#22c55e)}.deploy-group-target-status.is-failed{background:var(--accent-red,#ef4444)}.deploy-group-target-status.is-pending,.deploy-group-target-status.is-building,.deploy-group-target-status.is-deploying{background:var(--accent-blue);animation:1.2s ease-in-out infinite deploy-target-pulse}@keyframes deploy-target-pulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.deploy-group-target-status{animation:none!important}}.deploy-group-target-lane{background:color-mix(in srgb, var(--text-muted) 18%, transparent);color:var(--text-muted);letter-spacing:.02em;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:600}.deploy-group-targets-all{height:26px;color:var(--text-muted);cursor:pointer;font:inherit;background:0 0;border:none;border-radius:999px;padding:0 10px;font-size:12px}.deploy-group-targets-all:hover{color:var(--text-primary)}.deploy-console-controls{flex-wrap:wrap;align-items:center;gap:8px 10px;width:100%;min-width:0;display:flex}.deploy-console-controls>.deploy-auto-fix{flex:auto;width:auto}.deploy-group-control{border:1px solid color-mix(in srgb, var(--border-color) 85%, transparent);background:color-mix(in srgb, var(--bg-tertiary) 88%, transparent);height:32px;color:var(--text-secondary);border-radius:999px;align-items:center;gap:6px;padding:0 4px 0 12px;font-size:12px;font-weight:500;display:inline-flex}.deploy-group-control.has-error{border-color:var(--accent-red,#ef4444)}.deploy-group-control input{width:120px;height:24px;color:var(--text-primary);font:inherit;background:0 0;border:none;border-radius:999px;outline:none;padding:0 8px}.deploy-group-control input:focus{background:color-mix(in srgb, var(--bg-hover) 80%, transparent)}.deploy-group-control input[readonly]{color:var(--text-secondary);cursor:default}
.deploy-tab--layout .deploy-layout{min-width:0;display:block}.deploy-tab--layout .deploy-layout.has-sidebar{grid-template-columns:minmax(168px,212px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.deploy-layout-main{flex-direction:column;gap:16px;min-width:0;display:flex}.deploy-app-sidebar{border:1px solid var(--dep-line,var(--border-color));background:color-mix(in srgb, var(--bg-tertiary) 45%, transparent);border-radius:16px;flex-direction:column;gap:14px;max-height:calc(100vh - 160px);padding:10px 8px;display:flex;position:sticky;top:12px;overflow-y:auto}.deploy-app-section{flex-direction:column;gap:2px;display:flex}.deploy-app-section-label{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;padding:0 8px 4px;font-size:10.5px;font-weight:650}.deploy-app-btn{width:100%;min-height:32px;color:var(--text-secondary);cursor:pointer;font:inherit;text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:8px;padding:0 10px;font-size:12.5px;font-weight:550;display:flex}.deploy-app-btn:hover{background:color-mix(in srgb, var(--bg-hover) 75%, transparent);color:var(--text-primary)}.deploy-app-btn.active{background:color-mix(in srgb, var(--accent-blue) 16%, var(--bg-tertiary));border-color:color-mix(in srgb, var(--accent-blue) 45%, transparent);color:var(--text-primary)}.deploy-app-btn.is-dim:not(.active){opacity:.55}.deploy-app-btn:focus-visible,.deploy-stage-btn:focus-visible{outline:2px solid color-mix(in srgb, var(--accent-blue) 70%, transparent);outline-offset:1px}.deploy-app-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.deploy-app-status{background:var(--text-muted);border-radius:50%;flex:none;width:7px;height:7px}.deploy-app-status.is-success{background:var(--accent-green,#22c55e)}.deploy-app-status.is-failed{background:var(--accent-red,#ef4444)}.deploy-app-status.is-building{background:var(--accent-blue);animation:1.2s ease-in-out infinite deploy-target-pulse}@media (prefers-reduced-motion:reduce){.deploy-app-status{animation:none!important}}.deploy-console-heading{flex:auto;align-items:center;gap:12px;min-width:0;display:flex}.deploy-app-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin:0 4px 0 2px;font-size:15px;font-weight:650;overflow:hidden}.deploy-stage-bar{border:1px solid var(--dep-line,var(--border-color));background:color-mix(in srgb, var(--bg-tertiary) 55%, transparent);scrollbar-width:none;border-radius:999px;align-items:center;gap:4px;min-height:38px;padding:4px;display:inline-flex;overflow-x:auto}.deploy-stage-bar::-webkit-scrollbar{display:none}.deploy-stage-btn{min-height:28px;color:var(--text-secondary);cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:0 13px;font-size:12.5px;font-weight:550;display:inline-flex}.deploy-stage-btn:hover{background:color-mix(in srgb, var(--bg-hover) 75%, transparent);color:var(--text-primary)}.deploy-stage-btn.active{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.deploy-stage-btn.is-empty:not(.active){opacity:.5}.deploy-stage-count{background:color-mix(in srgb, var(--text-muted) 22%, transparent);text-align:center;border-radius:999px;min-width:17px;height:17px;padding:0 5px;font-size:10.5px;font-weight:650;line-height:17px}.deploy-stage-btn.active .deploy-stage-count{background:#ffffff38}.deploy-promote-btn{white-space:nowrap}.deploy-empty-stage{color:var(--text-muted);font-size:12.5px}.deploy-empty-stage code{font-size:11.5px}.deploy-layout-banner{border:1px solid color-mix(in srgb, var(--accent-blue) 35%, transparent);background:color-mix(in srgb, var(--accent-blue) 8%, transparent);color:var(--text-secondary);border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-bottom:14px;padding:10px 14px;font-size:12.5px;display:flex}.deploy-layout-banner>svg{color:var(--accent-blue);flex:none}.deploy-layout-banner>span{flex:320px;min-width:0}.deploy-layout-banner.is-error{border-color:color-mix(in srgb, var(--accent-red,#ef4444) 45%, transparent);background:color-mix(in srgb, var(--accent-red,#ef4444) 8%, transparent)}.deploy-layout-banner.is-error>svg{color:var(--accent-red,#ef4444)}.deploy-layout-banner-actions{gap:8px;margin-left:auto;display:flex}.deploy-layout-banner-actions .btn{align-items:center;gap:5px;display:inline-flex}.deploy-layout-yaml{background:var(--bg-primary,#000);max-height:320px;color:var(--text-secondary);font-family:var(--dep-mono,ui-monospace, SFMono-Regular, Menlo, monospace);border-radius:10px;flex:100%;margin:4px 0 0;padding:10px 12px;font-size:11.5px;line-height:1.5;overflow:auto}.deploy-layout-banner-error{color:var(--accent-red,#ef4444);flex:100%}.deploy-releases-table{flex-direction:column;gap:2px;display:flex;overflow-x:auto}.deploy-releases-row{border-radius:10px;grid-template-columns:minmax(150px,1.3fr);grid-auto-columns:minmax(96px,1fr);grid-auto-flow:column;align-items:center;gap:8px;min-height:34px;padding:4px 12px;display:grid}.deploy-releases-row:not(.deploy-releases-head):hover{background:color-mix(in srgb, var(--bg-hover) 60%, transparent)}.deploy-releases-head{min-height:26px;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:10.5px;font-weight:650}.deploy-releases-head span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.deploy-releases-version{align-items:baseline;gap:8px;min-width:0;display:flex}.deploy-releases-version code{color:var(--text-primary);font-family:var(--dep-mono,ui-monospace, SFMono-Regular, Menlo, monospace);font-size:12px}.deploy-releases-when{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.deploy-releases-cell{color:var(--text-muted);align-items:center;font-size:12px;display:inline-flex}.deploy-releases-cell.is-success{color:var(--accent-green,#22c55e)}.deploy-releases-cell.is-failed{color:var(--accent-red,#ef4444)}.deploy-releases-cell.is-pending,.deploy-releases-cell.is-building,.deploy-releases-cell.is-deploying{color:var(--accent-blue)}@media (max-width:900px){.deploy-tab--layout .deploy-layout.has-sidebar{grid-template-columns:minmax(0,1fr)}.deploy-app-sidebar{flex-direction:row;max-height:none;position:static;overflow-x:auto}.deploy-app-section{flex-direction:row;align-items:center}.deploy-app-btn{white-space:nowrap;width:auto}}.layout-picker{flex-wrap:wrap;flex:auto;align-items:center;gap:8px 10px;min-width:0;display:flex}.layout-picker-app{border:1px solid var(--border-color);background:color-mix(in srgb, var(--bg-tertiary) 70%, transparent);min-width:180px;max-width:280px;height:36px;color:var(--text-primary);font:inherit;cursor:pointer;border-radius:999px;padding:0 34px 0 14px;font-size:13px;font-weight:600}.layout-picker-app:focus-visible{outline:2px solid color-mix(in srgb, var(--accent-blue) 70%, transparent);outline-offset:1px}.layout-picker-targets{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.layout-picker-targets .env-tab-btn.is-dim:not(.active){opacity:.5}.layout-page{min-width:0;height:100%;overflow-y:auto}.layout-page>.deploy-layout{padding:16px 20px}.layout-page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.layout-page-nav{flex-direction:column;align-items:flex-start;gap:10px;min-width:0;display:flex}.layout-page-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.layout-page.env-tab{padding:0}.layout-page-empty{border:1px dashed var(--border-color);color:var(--text-secondary);border-radius:16px;flex-direction:column;align-items:flex-start;gap:12px;padding:28px;display:flex}.layout-page-empty p{margin:0}

.database-viewer{flex-direction:column;gap:16px;min-width:0;height:100%;padding:clamp(16px,2.2vw,24px);display:flex;overflow:hidden auto}.database-viewer>.env-tabs{flex:none;align-self:flex-start;width:auto;max-width:100%;margin:0}.db-connection-status{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:0;padding:10px 16px;display:flex}.db-connection-status .db-status{margin:0}.db-connecting{background-color:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:12px;justify-content:center;align-items:center;gap:12px;padding:40px;font-size:14px;display:flex}.db-setup-required{background-color:var(--bg-secondary);border:1px solid var(--border-color);text-align:center;border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;padding:60px 40px;display:flex}.db-connection-error{flex:none;min-height:360px;padding:42px 32px}.db-setup-required.db-connection-error p{max-width:560px}.db-setup-required svg{color:var(--text-muted);opacity:.6}.db-setup-required h3{color:var(--text-primary);margin:0;font-size:18px;font-weight:600}.db-setup-required p{color:var(--text-muted);max-width:400px;margin:0;font-size:14px}.db-setup-actions{gap:12px;margin-top:8px;display:flex}.db-status{align-items:center;gap:8px;font-size:13px;display:flex}.db-status.connected{color:var(--text-primary)}.db-status .env-badge{color:#fff;text-transform:uppercase;letter-spacing:.5px;border-radius:4px;align-items:center;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.db-status .db-name-display{color:var(--text-primary);font-weight:500}.db-selector-wrapper{position:relative}.db-selector-trigger{padding:4px!important}.db-selector-dropdown{background-color:var(--bg-secondary);border:1px solid var(--border-color);min-width:200px;box-shadow:var(--shadow-lg);z-index:100;border-radius:8px;margin-top:4px;position:absolute;top:100%;left:0;overflow:hidden}.db-selector-option{width:100%;color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:10px 14px;font-size:13px;transition:all .15s;display:flex}.db-selector-option:hover{background-color:var(--bg-hover);color:var(--text-primary)}.db-selector-option.active{color:var(--accent-blue);background-color:#2563eb1a}.db-selector-option svg{color:var(--text-muted);flex-shrink:0}.db-selector-option.active svg{color:var(--accent-blue)}.db-selector-option .badge-primary{color:var(--accent-blue);text-transform:uppercase;background-color:#2563eb1a;border-radius:4px;margin-left:auto;padding:2px 6px;font-size:10px;font-weight:600}.db-status.connected .status-dot{background-color:var(--accent-green);border-radius:50%;width:8px;height:8px;animation:2s infinite pulse}.db-status.error{color:var(--accent-red);background-color:#dc26261a;border-radius:8px;padding:10px 12px}.db-main-layout{flex:1;gap:16px;min-width:0;min-height:0;display:flex;overflow:hidden}.db-sidebar{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;flex-shrink:0;width:clamp(188px,24cqw,260px);min-width:180px;display:flex;overflow:hidden}.db-sidebar-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.db-sidebar-header h3{color:var(--text-primary);font-size:14px;font-weight:600}.db-search{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;align-items:center;gap:8px;margin:12px;padding:10px 12px;display:flex}.db-search svg{color:var(--text-muted);flex-shrink:0}.db-search input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:13px}.db-search input::placeholder{color:var(--text-muted)}.db-table-list{flex:1;padding:0 8px 12px;overflow-y:auto}.db-table-item{width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:flex-start;gap:10px;margin-bottom:2px;padding:10px 12px;transition:all .15s;display:flex}.db-table-item:hover{background-color:var(--bg-hover);color:var(--text-primary)}.db-table-item.active{background-color:var(--accent-blue);color:#fff}.db-table-item.active svg{color:#fff}.db-table-item svg{color:var(--text-muted);flex-shrink:0;margin-top:2px}.db-table-item:hover svg{color:var(--text-secondary)}.table-info{flex-direction:column;min-width:0;display:flex}.table-name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.table-meta{color:var(--text-muted);margin-top:2px;font-size:11px}.db-table-item.active .table-meta{color:#ffffffb3}.db-empty{text-align:center;color:var(--text-muted);padding:24px 16px;font-size:13px}.db-content{flex-direction:column;flex:1;gap:16px;min-width:0;display:flex}.db-query-panel{align-items:flex-start;gap:12px;display:flex}.db-query-panel textarea{background-color:var(--bg-secondary);border:1px solid var(--border-color);min-width:0;color:var(--text-primary);resize:vertical;border-radius:8px;flex:1;min-height:60px;padding:12px 14px;font-family:SF Mono,Monaco,Courier New,monospace;font-size:13px;transition:all .2s}.db-query-panel textarea:focus{border-color:var(--accent-blue);outline:none;box-shadow:0 0 0 3px #2563eb1a}.db-query-panel textarea::placeholder{color:var(--text-muted)}.db-query-error{color:var(--accent-red);background-color:#dc26261a;border:1px solid #dc262633;border-radius:8px;padding:12px 14px;font-family:SF Mono,Monaco,Courier New,monospace;font-size:13px}.db-view-header{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;display:flex}.db-table-title{align-items:center;gap:10px;display:flex}.db-table-title svg{color:var(--accent-blue)}.db-table-title h2{color:var(--text-primary);font-size:15px;font-weight:600}.db-table-title .row-count{color:var(--text-muted);background-color:var(--bg-tertiary);border-radius:4px;padding:4px 8px;font-size:12px}.db-view-toggle{background-color:var(--bg-tertiary);border-radius:8px;gap:4px;padding:4px;display:flex}.db-view-toggle button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.db-view-toggle button:hover{color:var(--text-primary)}.db-view-toggle button.active{background-color:var(--bg-primary);color:var(--text-primary);box-shadow:var(--shadow-sm)}.db-schema{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.schema-table{border-collapse:collapse;width:100%}.schema-table th{text-align:left;background-color:var(--bg-tertiary);text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:1px solid var(--border-color);padding:12px 16px;font-size:11px;font-weight:600}.schema-table td{color:var(--text-secondary);border-bottom:1px solid var(--border-color);padding:12px 16px;font-size:13px}.schema-table tr:last-child td{border-bottom:none}.schema-table tr:hover td{background-color:var(--bg-tertiary)}.schema-table tr.primary-key td{background-color:#2563eb0d}.schema-table .col-name{color:var(--text-primary);align-items:center;gap:8px;font-weight:500;display:flex}.schema-table .pk-icon{color:var(--accent-yellow)}.schema-table .col-type{align-items:center;gap:8px;font-family:SF Mono,Monaco,Courier New,monospace;font-size:12px;display:flex}.type-icon{color:var(--text-muted)}.type-icon.numeric{color:var(--accent-blue)}.type-icon.text{color:var(--accent-green)}.type-icon.datetime{color:var(--accent-purple)}.type-icon.boolean{color:var(--accent-yellow)}.type-icon.json{color:#f97316}.type-icon.uuid{color:var(--accent-purple)}.col-nullable{font-size:12px}.col-default{color:var(--text-muted);font-family:SF Mono,Monaco,Courier New,monospace;font-size:12px}.db-data-container{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.db-data-grid{flex:1;overflow:auto}.db-data-grid table{border-collapse:collapse;width:100%;min-width:max-content;font-size:13px}.db-data-grid th{text-align:left;background-color:var(--bg-tertiary);color:var(--text-secondary);border-bottom:1px solid var(--border-color);white-space:nowrap;z-index:1;padding:10px 14px;font-size:12px;font-weight:600;position:sticky;top:0}.db-data-grid td{color:var(--text-secondary);border-bottom:1px solid var(--border-color);text-overflow:ellipsis;white-space:nowrap;max-width:300px;padding:8px 14px;overflow:hidden}.db-data-grid tr:hover td{background-color:var(--bg-tertiary)}.db-data-grid td.null-value{color:var(--text-muted);font-style:italic}.db-data-grid td.empty-row{text-align:center;color:var(--text-muted);padding:24px}.db-pagination{border-top:1px solid var(--border-color);background-color:var(--bg-secondary);flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:12px 16px;display:flex}.db-pagination .page-info{color:var(--text-muted);text-align:center;min-width:120px;font-size:13px}@container (max-width:700px){.db-main-layout{gap:12px}.db-sidebar{width:172px;min-width:148px}.db-query-panel{flex-direction:column}.db-query-panel textarea,.db-query-panel button{width:100%}}@container (max-width:560px){.db-main-layout{flex-direction:column;overflow:auto}.db-sidebar{width:100%;min-height:180px;max-height:240px}.db-view-header{flex-direction:column;align-items:flex-start}.db-view-toggle{width:100%}.db-view-toggle button{flex:1;justify-content:center}}.db-empty-state,.db-not-connected{text-align:center;color:var(--text-muted);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:48px;display:flex}.db-empty-state svg,.db-not-connected svg{color:var(--text-muted);opacity:.6;margin-bottom:16px}.db-empty-state h3,.db-not-connected h3{color:var(--text-secondary);margin-bottom:8px;font-size:16px;font-weight:600}.db-empty-state p,.db-not-connected p{max-width:300px;font-size:14px}.db-loading{background-color:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);color:var(--text-secondary);z-index:100;border-radius:12px;align-items:center;gap:10px;padding:16px 24px;font-size:14px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.db-actions{align-items:center;display:flex}.db-actions-menu-wrapper{position:relative}.db-actions-trigger{background:var(--bg-primary);border:1px solid var(--border-color);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex}.db-actions-trigger:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--text-muted)}.db-actions-backdrop{z-index:99;position:fixed;inset:0}.db-actions-dropdown{background:var(--bg-secondary);border:1px solid var(--border-color);width:260px;box-shadow:var(--shadow-lg);z-index:100;border-radius:12px;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.db-actions-section{padding:8px}.db-actions-section-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:8px 12px 4px;font-size:11px;font-weight:600}.db-actions-divider{background:var(--border-color);height:1px;margin:4px 0}.db-action-item{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:12px;padding:10px 12px;transition:all .15s;display:flex}.db-action-item:hover{background:var(--bg-tertiary)}.db-action-item:disabled{opacity:.5;cursor:not-allowed}.db-action-item svg{color:var(--text-muted);flex-shrink:0}.db-action-item-content{flex-direction:column;gap:2px;display:flex}.db-action-item-content span:first-child{font-size:14px;font-weight:500}.db-action-item-desc{color:var(--text-muted);font-size:12px;font-weight:400!important}.db-action-sync:hover{background:#3b82f61a}.db-action-sync:hover svg{color:var(--accent-blue)}.db-action-danger{border-radius:8px;margin:8px}.db-action-danger:hover{color:#ef4444;background:#ef44441a}.db-action-danger:hover svg{color:#ef4444}
.sync-dialog-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.sync-dialog{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;width:420px;max-width:90vw;box-shadow:0 20px 40px #0003}.sync-dialog-header{border-bottom:1px solid var(--border-color);align-items:center;gap:10px;padding:16px 20px;display:flex}.sync-dialog-header svg:first-child{color:var(--accent-blue)}.sync-dialog-header h3{flex:1;margin:0;font-size:16px;font-weight:600}.sync-dialog-header .btn-icon{width:28px;height:28px}.sync-dialog-content{flex-direction:column;gap:20px;padding:20px;display:flex}.sync-transfer-flow{align-items:center;gap:12px;display:flex}.sync-endpoint{flex:1}.sync-endpoint-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:11px;font-weight:600}.sync-endpoint-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;align-items:center;gap:10px;padding:10px 12px;display:flex}.sync-env-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.sync-endpoint-info{flex-direction:column;gap:1px;min-width:0;display:flex}.sync-endpoint-env{color:var(--text-primary);font-size:13px;font-weight:600}.sync-endpoint-db{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.sync-transfer-arrow{color:var(--text-muted);flex-shrink:0}.sync-target-dropdown-wrapper{position:relative}.sync-target-trigger{background:var(--bg-primary);border:1px solid var(--border-color);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;border-radius:8px;align-items:center;gap:8px;padding:10px 12px;font-size:13px;transition:all .15s;display:flex}.sync-target-trigger:hover{border-color:var(--text-muted)}.sync-target-trigger svg{color:var(--text-muted);margin-left:auto;transition:transform .15s}.sync-target-trigger svg.rotated{transform:rotate(180deg)}.sync-target-placeholder{color:var(--text-muted)}.sync-target-backdrop{z-index:10;position:fixed;inset:0}.sync-target-options{background:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);z-index:11;border-radius:8px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden}.sync-target-option{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:10px 12px;font-size:13px;transition:background .1s;display:flex}.sync-target-option:hover{background:var(--bg-tertiary)}.sync-target-option.active{background:#3b82f61a}.sync-target-warning-badge{color:#ef4444;text-transform:uppercase;background:#ef44441a;border-radius:4px;margin-left:auto;padding:2px 6px;font-size:10px;font-weight:600}.sync-type-section{flex-direction:column;gap:8px;display:flex}.sync-type-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.sync-type-buttons{gap:8px;display:flex}.sync-type-btn{background:var(--bg-primary);border:1px solid var(--border-color);cursor:pointer;color:var(--text-secondary);border-radius:8px;flex-direction:column;flex:1;align-items:center;gap:6px;padding:12px 8px;transition:all .15s;display:flex}.sync-type-btn:hover{background:var(--bg-tertiary);border-color:var(--text-muted)}.sync-type-btn.active{border-color:var(--accent-blue);color:var(--accent-blue);background:#3b82f61a}.sync-type-btn svg{opacity:.7}.sync-type-btn.active svg{opacity:1}.sync-type-btn span{font-size:12px;font-weight:500}.sync-type-desc{color:var(--text-muted);text-align:center;font-size:12px}.sync-production-warning{background:#ef444414;border:1px solid #ef444433;border-radius:8px;gap:12px;padding:12px;display:flex}.sync-production-warning svg{color:#ef4444;flex-shrink:0;margin-top:2px}.sync-warning-content{flex:1;min-width:0}.sync-warning-content strong{color:#ef4444;margin-bottom:4px;font-size:13px;display:block}.sync-warning-content p{color:var(--text-secondary);margin:0 0 10px;font-size:12px}.sync-confirm-input{background:var(--bg-primary);width:100%;color:var(--text-primary);border:1px solid #ef44444d;border-radius:6px;padding:8px 10px;font-family:SF Mono,monospace;font-size:12px}.sync-confirm-input:focus{border-color:#ef4444;outline:none}.sync-confirm-input::placeholder{color:var(--text-muted)}.sync-dialog-footer{border-top:1px solid var(--border-color);justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.sync-dialog-footer .btn{padding:8px 16px;font-size:13px}[data-theme=dark] .db-sidebar{background-color:var(--sidebar-bg);border-color:var(--sidebar-border)}[data-theme=dark] .db-sidebar-header{border-bottom-color:var(--sidebar-border)}[data-theme=dark] .db-search{background-color:var(--sidebar-bg);border-color:var(--sidebar-border)}

.code-tab-container{flex-direction:column;flex:1;height:100%;min-height:0;display:flex;overflow:hidden}.code-editor-area{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.code-editor{background-color:var(--bg-primary);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.code-editor-tabs{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-shrink:0;align-items:stretch;min-width:0;min-height:38px;display:flex;overflow:hidden}.code-editor-tabs-scroll{scrollbar-width:thin;scrollbar-color:var(--border-color) transparent;flex:auto;align-items:stretch;min-width:0;display:flex;overflow:auto hidden}.code-editor-tabs-scroll::-webkit-scrollbar{height:4px}.code-editor-tabs-scroll::-webkit-scrollbar-thumb{background-color:var(--border-color);border-radius:2px}.code-editor-tabs-actions{border-left:1px solid var(--border-color);background-color:var(--bg-secondary);z-index:1;flex:none;align-items:center;gap:6px;padding:0 8px 0 6px;display:flex}.code-editor-tab{border-right:1px solid var(--border-color);cursor:pointer;box-sizing:border-box;background-color:#0000;flex:none;align-items:center;gap:6px;min-width:96px;max-width:200px;padding:7px 12px;transition:background-color .1s;display:flex}.code-editor-tab:hover{background-color:var(--bg-hover)}.code-editor-tab.active{background-color:var(--bg-primary);border-bottom:2px solid var(--accent-blue);min-width:max-content;max-width:none;margin-bottom:-1px}.tab-name{min-width:0;color:var(--text-secondary);flex:auto;align-items:center;gap:4px;max-width:100%;font-size:12px;display:flex;overflow:hidden}.tab-name-text{text-overflow:ellipsis;white-space:nowrap;text-align:left;direction:ltr;unicode-bidi:plaintext;flex:auto;min-width:0;overflow:hidden}.code-editor-tab.active .tab-name{color:var(--text-primary)}.code-editor-tab.active .tab-name-text{text-overflow:clip;flex:0 auto;overflow:visible}.tab-dirty{color:var(--accent-yellow);flex-shrink:0;font-size:10px}.tab-external{flex-shrink:0}.tab-close{width:16px;height:16px;color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;transition:all .1s;display:flex}.code-editor-tab:hover .tab-close,.code-editor-tab.active .tab-close{opacity:1}.tab-close:hover{background-color:var(--bg-hover);color:var(--text-primary)}.code-editor-save-btn{background-color:var(--accent-green);color:#fff;cursor:pointer;border:none;border-radius:4px;flex-shrink:0;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;transition:background-color .15s;display:flex}.code-editor-save-btn:hover:not(:disabled){background-color:#15803d}.code-editor-save-btn:disabled{opacity:.6;cursor:not-allowed}.code-editor-diff-btn{border:1px solid color-mix(in srgb, var(--accent-purple) 42%, transparent);background-color:color-mix(in srgb, var(--accent-purple) 14%, transparent);min-width:34px;height:28px;color:var(--text-primary);white-space:nowrap;cursor:pointer;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:600;transition:background-color .15s;display:flex}.code-editor-diff-btn:hover{background-color:color-mix(in srgb, var(--accent-purple) 22%, transparent);border-color:color-mix(in srgb, var(--accent-purple) 58%, transparent)}.code-editor-tab.has-changes{box-shadow:inset 0 1px 0 color-mix(in srgb, var(--accent-purple) 72%, transparent)}.tab-external{color:var(--accent-purple);font-size:9px}.code-editor-external-banner{border-bottom:1px solid color-mix(in srgb, var(--accent-purple) 35%, var(--border-color));z-index:1;background:linear-gradient(90deg,#9333ea1a,#3b82f60d);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex;position:relative}.code-editor-external-banner>span{min-width:0;color:var(--text-primary);align-items:center;gap:7px;font-size:12px;font-weight:600;display:flex}.code-editor-external-banner>span svg{color:var(--accent-purple)}.banner-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.banner-actions button{cursor:pointer;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;height:28px;padding:0 12px;font-size:12px;font-weight:600;transition:all .15s;display:flex}.banner-actions .accept-btn{background-color:color-mix(in srgb, var(--accent-green) 92%, #000);color:#fff}.banner-actions .accept-btn:hover{background-color:#15803d}.banner-actions .reject-btn{background-color:color-mix(in srgb, var(--bg-tertiary) 72%, transparent);color:var(--text-secondary);border:1px solid var(--border-color)}.banner-actions .reject-btn:hover{background-color:var(--bg-hover);color:var(--text-primary)}.code-editor-content{flex:1;height:0;min-height:0;position:relative;overflow:hidden}.code-editor-empty{color:var(--text-muted);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:48px;display:flex}.code-editor-empty svg{opacity:.4}.code-editor-empty h3{color:var(--text-secondary);margin:0;font-size:16px;font-weight:600}.code-editor-empty p{margin:0;font-size:14px}.code-editor-binary{color:var(--text-muted);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:48px;display:flex}.code-editor-binary svg{opacity:.4;color:var(--accent-yellow)}.code-editor-binary h3{color:var(--text-secondary);margin:0;font-size:16px;font-weight:600}.code-editor-binary p{margin:0;font-size:14px}.code-editor-binary .file-path{color:var(--text-muted);word-break:break-all;max-width:400px;font-family:SF Mono,Monaco,Courier New,monospace;font-size:12px}.code-editor-loading{color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;display:flex}.code-editor-loading .spin{animation:1s linear infinite spin}.monaco-editor{padding-top:8px}[data-theme=dark] .code-editor-tabs{background-color:var(--bg-primary);border-bottom-color:var(--border-color)}[data-theme=dark] .code-editor-tab.active{background-color:var(--bg-secondary)}[data-theme=dark] .code-editor-empty,[data-theme=dark] .code-editor-binary,[data-theme=dark] .code-editor-loading{background-color:#0000}@media (max-width:900px){.header-tab span{display:none}.header-tab{padding:8px 10px}}@container (max-width:620px){.code-editor-tabs{min-height:36px}.code-editor-tab{min-width:80px;max-width:160px;padding:6px 9px}.code-editor-tab.active{min-width:max-content;max-width:none}.code-editor-external-banner{flex-wrap:wrap;row-gap:8px}.code-editor-save-btn,.code-editor-diff-btn{justify-content:center;width:30px;min-width:30px;height:30px;padding:6px}.code-editor-save-btn span,.code-editor-diff-btn span{display:none}.code-editor-external-banner{flex-flow:wrap;align-items:center}.banner-actions{width:auto;margin-left:auto}.banner-actions button{flex:none;justify-content:center}}
.server-panel{height:100%;padding:24px;overflow:hidden auto}.server-panel-devsuite>.env-tabs{width:100%;margin-bottom:20px}.server-env-tab-count{color:var(--text-muted);background-color:var(--bg-tertiary);text-align:center;border-radius:8px;min-width:20px;padding:2px 6px;font-size:11px;font-weight:600}.env-tab-btn.active .server-env-tab-count{background-color:var(--bg-tertiary);color:var(--text-secondary)}.server-header{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:24px;display:flex}.server-title{flex:1;align-items:center;gap:10px;display:flex}.server-title svg{color:var(--accent-blue)}.server-title h2{color:var(--text-primary);margin:0;font-size:18px;font-weight:600}.server-count{color:var(--text-secondary);background-color:var(--bg-tertiary);border-radius:10px;padding:2px 8px;font-size:12px;font-weight:600}.server-stats{gap:12px;display:flex}.server-stat{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;display:flex}.server-stat.active svg{color:var(--accent-green)}.server-stat.off svg{color:var(--text-muted)}.server-refresh-btn{background-color:var(--bg-tertiary);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.server-refresh-btn:hover:not(:disabled){background-color:var(--bg-hover);color:var(--text-primary)}.server-refresh-btn:disabled{opacity:.6;cursor:not-allowed}.server-grid{grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:16px;display:grid}.droplet-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:16px;transition:all .15s}.droplet-card:hover{border-color:var(--accent-blue);box-shadow:0 2px 8px #0000001a}.droplet-header{align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.droplet-status{border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:5px}.droplet-info{flex:1;min-width:0}.droplet-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin:0 0 4px;font-size:15px;font-weight:600;overflow:hidden}.droplet-region{color:var(--text-muted);align-items:center;gap:4px;font-size:12px;display:flex}.droplet-actions{gap:4px;display:flex}.droplet-action-btn{background-color:var(--bg-tertiary);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.droplet-action-btn:hover:not(:disabled){background-color:var(--bg-hover);color:var(--text-primary)}.droplet-action-btn.danger:hover:not(:disabled){color:var(--accent-red);background-color:#ef444426}.droplet-action-btn.success:hover:not(:disabled){color:var(--accent-green);background-color:#22c55e26}.droplet-action-btn:disabled{opacity:.5;cursor:not-allowed}.droplet-specs{border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);flex-wrap:wrap;gap:12px;margin-bottom:10px;padding:10px 0;display:flex}.droplet-spec{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;display:flex}.droplet-spec svg{color:var(--text-muted)}.droplet-network{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.droplet-ip{align-items:center;gap:6px;font-size:12px;display:flex}.droplet-ip svg{color:var(--text-muted)}.ip-label{color:var(--text-muted);min-width:50px}.ip-value{color:var(--text-primary);background-color:var(--bg-tertiary);border-radius:4px;padding:2px 6px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:11px}.ip-copy{width:20px;height:20px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:flex}.ip-copy:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.droplet-footer{color:var(--text-muted);justify-content:space-between;align-items:center;font-size:11px;display:flex}.droplet-image{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.droplet-created{flex-shrink:0;align-items:center;gap:4px;display:flex}.droplet-tags{border-top:1px solid var(--border-color);flex-wrap:wrap;gap:4px;margin-top:10px;padding-top:10px;display:flex}.droplet-tag{color:var(--accent-blue);background-color:#2563eb1a;border-radius:10px;padding:2px 8px;font-size:10px}.server-loading{height:300px;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.server-loading span{font-size:14px}.server-error{text-align:center;height:300px;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.server-error svg{color:var(--accent-yellow);opacity:.6}.server-error h3{color:var(--text-secondary);margin:0;font-size:16px;font-weight:600}.server-error p{max-width:400px;margin:0;font-size:13px}.server-settings-btn,.server-retry-btn{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:6px;margin-top:8px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.server-settings-btn{background-color:var(--accent-blue);color:#fff}.server-settings-btn:hover{background-color:var(--accent-blue-hover)}.server-retry-btn{background-color:var(--bg-tertiary);color:var(--text-secondary)}.server-retry-btn:hover{background-color:var(--bg-hover);color:var(--text-primary)}.server-empty{text-align:center;height:300px;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.server-empty svg{opacity:.4}.server-empty h3{color:var(--text-secondary);margin:0;font-size:16px;font-weight:600}.server-empty p{margin:0;font-size:13px}.server-panel .spin{animation:1s linear infinite spin}.server-title .env-badge{color:#fff;text-transform:uppercase;letter-spacing:.5px;border-radius:4px;align-items:center;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.server-error-banner{color:var(--accent-red);background-color:#ef44441a;border:1px solid #ef444433;border-radius:8px;align-items:center;gap:8px;margin-bottom:16px;padding:10px 14px;font-size:13px;display:flex}.server-error-banner button{width:20px;height:20px;color:var(--accent-red);cursor:pointer;opacity:.7;background:0 0;border:none;margin-left:auto;padding:0;font-size:16px}.server-error-banner button:hover{opacity:1}.server-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:16px;transition:all .15s}.server-card:hover{border-color:var(--accent-blue);box-shadow:0 2px 8px #0000001a}.server-card.primary{border-color:var(--accent-blue);background:linear-gradient(135deg, color-mix(in srgb, var(--accent-blue) 7%, transparent) 0%, transparent 100%)}.server-card-header{align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.server-card-status{padding-top:4px}.server-card-status .status-indicator{border-radius:50%;width:10px;height:10px}.server-card-info{flex:1;min-width:0}.server-card-name{color:var(--text-primary);align-items:center;gap:8px;margin:0 0 4px;font-size:15px;font-weight:600;display:flex}.server-card-name .primary-badge{color:var(--accent-blue);background-color:color-mix(in srgb, var(--accent-blue) 12%, transparent);text-transform:uppercase;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600}.server-card-type{color:var(--text-muted);font-size:12px}.server-card-actions{gap:4px;display:flex}.server-action-btn{background-color:var(--bg-tertiary);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;transition:all .15s;display:flex}.server-action-btn:hover:not(:disabled){background-color:var(--bg-hover);color:var(--text-primary)}.server-action-btn.danger:hover:not(:disabled){color:var(--accent-red);background-color:#ef444426}.server-action-btn.success:hover:not(:disabled){color:var(--accent-green);background-color:#22c55e26}.server-action-btn:disabled{opacity:.5;cursor:not-allowed}.server-action-btn.tunnel{background-color:color-mix(in srgb, var(--accent-blue) 12%, transparent);color:var(--accent-blue)}.server-action-btn.tunnel:hover:not(:disabled){background-color:color-mix(in srgb, var(--accent-blue) 20%, transparent);color:var(--accent-blue)}.server-action-btn.tunnel-active{color:var(--accent-green);background-color:#22c55e26}.server-action-btn.tunnel-active:hover:not(:disabled){color:var(--accent-red);background-color:#ef444426}.server-card-details{border-top:1px solid var(--border-color);flex-direction:column;gap:8px;padding:12px 0;display:flex}.server-detail{align-items:center;gap:8px;font-size:12px;display:flex}.server-detail svg{color:var(--text-muted);flex-shrink:0}[data-theme=dark] .server-detail svg{color:var(--text-primary)}.server-detail .detail-label{color:var(--text-muted);min-width:70px}.server-detail .detail-value{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.server-detail code.detail-value{background-color:var(--bg-tertiary);border-radius:4px;padding:2px 6px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:11px}.server-droplet-info{border-top:1px solid var(--border-color);padding:10px 0}.droplet-link-badge{color:var(--accent-purple);align-items:center;gap:6px;margin-bottom:8px;font-size:11px;display:flex}.droplet-link-badge svg{color:var(--accent-purple)}.server-droplet-info .droplet-specs{border:none;flex-wrap:wrap;gap:12px;margin:0;padding:0;display:flex}.server-droplet-info .droplet-spec{color:var(--text-muted);align-items:center;gap:4px;font-size:11px;display:flex}.server-droplet-info .droplet-spec svg{width:12px;height:12px}.server-test-result{border-radius:8px;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;font-size:12px;display:flex}.server-test-result.success{color:var(--accent-green);background-color:#22c55e1a}.server-test-result.error{color:var(--accent-red);background-color:#ef44441a}.server-test-result .latency{color:var(--text-muted);margin-left:auto;font-family:SF Mono,Monaco,Consolas,monospace}.server-section-divider{border-bottom:1px solid var(--border-color,#ffffff14);align-items:center;gap:10px;margin-top:20px;margin-bottom:8px;padding:8px 0;display:flex}.cloud-provider-badge{letter-spacing:.5px;text-transform:uppercase;border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.cloud-provider-badge.aws{color:#f90;background-color:#ff99001f;border:1px solid #ff990040}.cloud-provider-badge.do{color:#0069ff;background-color:#0069ff1f;border:1px solid #0069ff40}
