.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;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:0 auto;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-shrink:0;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: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}}.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:52px;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-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);min-height:44px;padding:0 9px 0 14px}.deploy-tab--restructured .deploy-config-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);gap:8px;font-size:11px;font-weight:650}.deploy-tab--restructured .deploy-config-title svg{width:14px;height:14px}.deploy-tab--restructured .deploy-config-controls{gap:8px}.deploy-tab--restructured .view-toggle{border-radius:var(--dep-pill);border-color:var(--dep-line);background:color-mix(in srgb, var(--bg-tertiary) 70%, transparent);padding:3px}.deploy-tab--restructured .view-toggle-labeled .view-btn{border-radius:var(--dep-pill);gap:6px;min-width:0;min-height:26px;padding:0 12px;font-size:12px;font-weight:600}.deploy-tab--restructured .view-btn svg{width:13px;height:13px}.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:30px;height:30px}.deploy-tab--restructured .deploy-step{border-bottom-color:color-mix(in srgb, var(--border-color) 40%, transparent);gap:12px;min-height:46px;padding:7px 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:2px}.deploy-tab--restructured .step-name-input{font-size:12.5px;font-weight:550}.deploy-tab--restructured .step-command-input{font-family:var(--dep-mono);opacity:1;color:var(--text-muted);font-size:11px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000 100%);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000 100%)}.deploy-tab--restructured .step-command-input:focus{-webkit-mask-image:none;mask-image:none}.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-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}}
.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-direction:column;align-items:flex-start;padding:12px}.deploy-config-controls,.deploy-config-controls>*{width:100%}.deploy-version-field{justify-content:space-between;width:100%}}

.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}
.environments-tab{flex-direction:column;min-width:0;height:100%;display:flex;overflow:hidden}.environments-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:16px 20px;display:flex}.environments-header-left{align-items:center;gap:12px;min-width:0;display:flex}.environments-header h1{margin:0;font-size:18px;font-weight:600}.environment-selector{border-bottom:1px solid var(--border);align-items:center;gap:8px;min-width:0;padding:8px clamp(12px,2vw,20px);display:flex}.environment-tabs{scrollbar-width:none;flex:1;gap:4px;min-width:0;display:flex;overflow-x:auto}.environment-tabs::-webkit-scrollbar{display:none}.environment-tab{cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:8px 16px;transition:background-color .15s,color .15s;display:flex}.environment-tab:hover{background:var(--hover)}.environment-tab.active{background:var(--env-color,var(--primary));color:#fff}.environment-tab.active .environment-dot{opacity:.8;background:#fff!important}.environment-dot{border-radius:50%;width:8px;height:8px}.environment-name{font-size:13px;font-weight:500}.environment-default-badge{text-transform:uppercase;letter-spacing:.5px;background:#fff3;border-radius:4px;padding:2px 6px;font-size:10px}button.environment-add-btn{color:var(--text-primary);background:linear-gradient(#1f232af0,#0e1116f0);border:1px solid #94a3b847;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:36px;min-height:36px;padding:0;display:inline-flex;box-shadow:inset 0 1px #ffffff0f}button.environment-add-btn:hover{color:#f8fafc;background:#2da7ff1f;border-color:#38bdf87a}.environment-panel{flex:1;min-width:0;padding:12px clamp(10px,1.5vw,16px);overflow-y:auto}.environment-panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:12px;display:flex}.environment-header-info{align-items:center;gap:10px;min-width:0;display:flex}.environment-color-badge{border-radius:3px;width:12px;height:12px}.environment-header-info h2{margin:0;font-size:16px;font-weight:600}.environment-name-id{color:var(--text-secondary);background:var(--hover);border-radius:4px;padding:2px 8px;font-size:12px}.default-badge{background:var(--primary);color:#fff;text-transform:uppercase;letter-spacing:.5px;border-radius:4px;padding:3px 8px;font-size:11px}.environment-header-actions{gap:8px;display:flex}.server-list-section,.database-list-section,.deploy-settings-section{margin-bottom:14px}.section-header{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:8px;min-width:0;margin-bottom:8px;display:flex}.section-title{align-items:center;gap:6px;min-width:0;display:flex}.section-title h3{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);white-space:nowrap;margin:0;font-size:12px;font-weight:600}.count-badge{background:var(--hover);color:var(--text-secondary);border-radius:10px;padding:1px 6px;font-size:11px}.server-list{flex-direction:column;gap:6px;display:flex}.server-card-compact{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.server-card-compact:hover{border-color:var(--accent-blue)}.server-card-main{align-items:center;gap:8px;min-width:0;padding:8px 10px;display:flex}.server-status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.server-card-content{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex;overflow:hidden}.server-card-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.server-card-host{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-family:SF Mono,Monaco,Consolas,monospace;font-size:11px;overflow:hidden}.server-card-actions{flex-wrap:nowrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:2px;display:flex}.server-action-btn{background:var(--bg-tertiary);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:flex}.server-action-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.server-action-btn.danger:hover:not(:disabled){color:var(--accent-red);background:#ef444426}.server-action-btn:disabled{opacity:.5;cursor:not-allowed}.server-action-btn .success{color:var(--accent-green)}.server-action-btn .error{color:var(--accent-red)}.server-card-error{color:var(--accent-red);background:#ef44441a;border-top:1px solid #ef444433;align-items:center;gap:6px;padding:8px 14px;font-size:12px;display:flex}.server-card-status{border-top:1px solid var(--border-color);align-items:center;gap:6px;padding:6px 14px;font-size:11px;display:flex}.server-card-status.connected{color:var(--accent-green);background:#22c55e1a}.database-badge{text-transform:uppercase;border-radius:3px;margin-left:6px;padding:2px 5px;font-size:9px;font-weight:600}.database-badge.tunnel{color:var(--accent-blue);background:#3b82f633}.server-action-btn.primary{background:var(--accent-blue);color:#fff}.server-action-btn.primary:hover{background:var(--accent-blue-hover,#2563eb)}.server-test-result,.database-test-result{border-radius:6px;align-items:center;gap:8px;margin-top:12px;padding:8px 12px;font-size:13px;display:flex}.server-test-result.success,.database-test-result.success{color:var(--accent-green);background:#22c55e1a}.server-test-result.error,.database-test-result.error{color:var(--accent-red);background:#ef44441a}.latency{opacity:.7;margin-left:auto;font-family:monospace}.database-list{flex-direction:column;gap:12px;display:flex}.database-card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:16px}.database-card.primary{border-color:var(--primary);border-width:2px}.database-card-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.database-card-info{align-items:flex-start;gap:12px;min-width:0;display:flex}.database-card-icon{background:var(--hover);width:40px;height:40px;color:var(--text-secondary);border-radius:8px;justify-content:center;align-items:center;display:flex}.database-card-title h4{align-items:center;gap:8px;margin:0 0 4px;font-size:14px;font-weight:600;display:flex}.connection-string code{background:var(--hover);border-radius:4px;padding:6px 10px;font-size:12px;display:block;overflow-x:auto}.ssh-tunnel{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;display:flex}.database-card-actions .connected{color:#22c55e}.deploy-settings-form{background:0 0;border:none;border-radius:0;grid-template-columns:minmax(200px,.75fr) minmax(320px,1.25fr);gap:12px;padding:0;display:grid}.deploy-setup-section{border-bottom:1px solid color-mix(in srgb, var(--border-color,var(--border)) 70%, transparent);margin-bottom:4px;padding-bottom:18px}.deploy-settings-summary{display:none}.deploy-settings-header-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.deploy-settings-summary span{display:none}.deploy-autosave-status{color:var(--text-muted);white-space:nowrap;opacity:.85;background:0 0;border:none;border-radius:999px;align-items:center;padding:4px 2px;font-size:11px;font-weight:500;line-height:1;display:inline-flex}.deploy-autosave-status-saving{color:#7dd3fc;border-color:#38bdf86b}.deploy-autosave-status-saved{color:#86efac;border-color:#22c55e57}.deploy-autosave-status-error{color:#fca5a5;border-color:#f8717166}.deploy-setup-card{background:color-mix(in srgb, var(--bg-tertiary,#ffffff08) 50%, transparent);border:1px solid color-mix(in srgb, var(--border-color,var(--border)) 70%, transparent);border-radius:12px;flex-direction:column;gap:10px;min-width:0;padding:12px 14px 14px;display:flex}.deploy-setup-card-header{color:var(--text-muted);align-items:center;gap:8px;min-width:0;display:flex}.deploy-setup-card-header svg{display:none}.deploy-setup-card-header h4{color:var(--text-secondary);margin:0;font-size:12px;font-weight:550;line-height:1.2}.deploy-setup-card-header p{display:none}.pill-select{width:100%;min-width:0;position:relative}.pill-select-trigger{background:color-mix(in srgb, var(--bg-tertiary,#1f232ae6) 88%, transparent);border:1px solid color-mix(in srgb, var(--border-color,#94a3b857) 85%, transparent);box-shadow:none;color:var(--text-primary,#f8fafc);cursor:pointer;font:inherit;text-align:left;border-radius:999px;outline:none;justify-content:space-between;align-items:center;gap:10px;width:100%;min-width:0;height:36px;padding:0 12px 0 14px;font-size:13px;font-weight:500;transition:border-color .15s,background-color .15s;display:flex}.pill-select-trigger span{color:inherit;font-size:inherit;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pill-select-trigger svg{color:var(--text-secondary);flex:none;transition:transform .15s,color .15s}.pill-select-trigger:hover,.pill-select-trigger:focus-visible,.pill-select-trigger[aria-expanded=true]{background:var(--bg-tertiary,#262b33f2);border-color:color-mix(in srgb, var(--text-muted) 40%, transparent);box-shadow:none}.pill-select-trigger[aria-expanded=true] svg{color:var(--text-primary);transform:rotate(180deg)}.pill-select-menu{background:var(--bg-secondary,#080b10fa);border:1px solid color-mix(in srgb, var(--border-color,#4755699e) 90%, transparent);z-index:80;border-radius:14px;gap:2px;min-width:100%;max-height:240px;padding:5px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto;box-shadow:0 12px 32px #0006}.pill-select-option{color:var(--text-secondary,#b8c0cc);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:999px;justify-content:space-between;align-items:center;gap:10px;width:100%;min-width:0;min-height:32px;padding:0 10px 0 12px;font-size:13px;font-weight:500;display:flex}.pill-select-option span{color:inherit;font-size:inherit}.pill-select-option:hover{color:#f8fafc;background:#ffffff13}.pill-select-option.active{background:color-mix(in srgb, var(--bg-hover,#ffffff14) 100%, transparent);box-shadow:none;color:var(--text-primary,#f8fafc)}.pill-select-option svg{color:var(--text-muted);flex:none}.deploy-source-grid{grid-template-columns:minmax(140px,1fr) minmax(180px,1.2fr);gap:10px;display:grid}.deploy-source-grid label,.deploy-source-field{flex-direction:column;gap:6px;min-width:0;display:flex}.deploy-source-grid label>span,.deploy-source-field>span{color:var(--text-muted);font-size:11px;font-weight:500}.deploy-source-grid input,.deploy-source-grid select{background:var(--bg-tertiary,var(--card));border:1px solid var(--border-color,var(--border));--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text-primary);border-radius:8px;outline:none;min-width:0;height:36px;padding:0 12px;font-size:13px}.deploy-source-grid input::placeholder{color:var(--text-muted,var(--text-secondary))}.deploy-source-grid select option{background:var(--bg-tertiary,#111827);color:var(--text-primary,#f8fafc)}.deploy-source-grid input:focus,.deploy-source-grid select:focus{border-color:var(--accent-blue,var(--primary));box-shadow:0 0 0 2px #2da7ff2e}.deploy-source-grid input:disabled{background:var(--bg-secondary,var(--hover));color:var(--text-muted,var(--text-secondary));cursor:not-allowed;opacity:.55}.deploy-setting{align-items:center;gap:12px;min-width:0;margin-bottom:16px;display:flex}.deploy-setting label{min-width:140px;color:var(--text-secondary);align-items:center;gap:8px;font-size:13px;display:flex}.deploy-setting input[type=text],.deploy-setting select{background:var(--bg-tertiary,var(--card));border:1px solid var(--border-color,var(--border));color:var(--text-primary);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:8px;outline:none;flex:1;min-width:0;max-width:300px;height:36px;padding:0 12px;font-size:13px}.deploy-setting input[type=text]::placeholder{color:var(--text-muted,var(--text-secondary))}.deploy-setting input[type=text]:focus,.deploy-setting select:focus{border-color:var(--accent-blue,var(--primary));box-shadow:0 0 0 2px #2da7ff2e}.deploy-setting input[type=text]:disabled{background:var(--bg-secondary,var(--hover));color:var(--text-muted,var(--text-secondary));cursor:not-allowed;opacity:.6}.deploy-setting input[type=checkbox]{accent-color:var(--accent-blue,var(--primary));width:16px;height:16px}.deploy-setting.checkbox-setting{flex-direction:column;align-items:flex-start;gap:4px}.deploy-setting.checkbox-setting label{min-width:unset;cursor:pointer}.setting-hint{color:var(--text-secondary);margin-left:24px;font-size:12px}.setting-hint.inline{flex:180px;margin-left:0}@container (max-width:640px){.environments-header,.environment-panel-header,.database-card-header{flex-direction:column;align-items:flex-start}.deploy-setting{flex-direction:column;align-items:stretch}.deploy-settings-form,.deploy-source-grid{grid-template-columns:1fr}.deploy-settings-header-actions{flex-direction:column;align-items:stretch;width:100%;margin-left:0}.deploy-setting label{min-width:0}.deploy-setting input[type=text],.deploy-setting select{width:100%;max-width:none}.setting-hint{margin-left:0}.setting-hint.inline{flex-basis:auto}}.empty-state-container{flex:1;justify-content:center;align-items:center;display:flex}.empty-state{text-align:center;color:var(--text-secondary);flex-direction:column;align-items:center;gap:12px;padding:40px;display:flex}.empty-state h2{color:var(--text);margin:0}.empty-state p{max-width:400px;margin:0}.empty-state-actions{gap:12px;margin-top:8px;display:flex}.empty-state-hint{opacity:.7;font-size:12px}.empty-state-inline{background:var(--hover);border:1px dashed var(--border);color:var(--text-secondary);border-radius:8px;align-items:center;gap:10px;padding:16px 20px;font-size:13px;display:flex}.empty-state-inline svg{opacity:.5}
.dialog-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2147483646;isolation:isolate;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:var(--bg-secondary);box-shadow:var(--shadow-lg);border:1px solid var(--border-color);z-index:2147483647;border-radius:12px;flex-direction:column;width:90%;max-width:500px;max-height:90vh;display:flex;position:relative;overflow:hidden}.dialog-wide{max-width:600px}.dialog-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.dialog-title{color:var(--text-primary);align-items:center;gap:10px;display:flex}.dialog-title h2{color:var(--text-primary);margin:0;font-size:16px;font-weight:600}.dialog-form{padding:20px;overflow-y:auto}.form-row{gap:16px;display:flex}.form-group{flex-direction:column;flex:1;gap:6px;margin-bottom:16px;display:flex}.form-group.flex-1{flex:1}.form-group.flex-2{flex:2}.form-group label{color:var(--text-secondary);font-size:13px;font-weight:500}.form-group .optional{opacity:.7;font-weight:400}.dialog .form-group input,.dialog .form-group select,.dialog-form input,.dialog-form select{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);border-radius:6px;width:100%;padding:10px 12px;font-size:13px}.dialog .form-group input::placeholder,.dialog-form input::placeholder{color:var(--text-muted)}.dialog .form-group input:focus,.dialog .form-group select:focus,.dialog-form input:focus,.dialog-form select:focus{border-color:var(--accent-blue);outline:none;box-shadow:0 0 0 2px #2563eb26}.dialog .form-group select option,.dialog-form select option{background:var(--bg-primary);color:var(--text-primary)}.form-hint{color:var(--text-muted);font-size:11px}.form-divider{align-items:center;margin:20px 0 16px;display:flex}.form-divider span{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);background:var(--bg-secondary);padding-right:12px;font-size:11px;font-weight:600}.form-divider:after{content:"";background:var(--border-color);flex:1;height:1px}.form-error{color:#ef4444;background:#ef44441a;border:1px solid #ef44444d;border-radius:6px;margin-bottom:16px;padding:12px;font-size:13px}.checkbox-group{flex-direction:column;gap:4px;display:flex}.checkbox-group label{cursor:pointer;color:var(--text-primary);align-items:center;gap:8px;font-weight:400;display:flex}.form-group input[type=checkbox],.checkbox-group input[type=checkbox],.deploy-setting input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.dialog-actions{border-top:1px solid var(--border-color);background:var(--bg-tertiary);justify-content:flex-end;gap:12px;padding:16px 20px;display:flex}.color-picker{flex-wrap:wrap;gap:8px;display:flex}.color-swatch{cursor:pointer;border:2px solid #0000;border-radius:6px;width:28px;height:28px;transition:all .15s}.color-swatch:hover{transform:scale(1.1)}.color-swatch.selected{border-color:var(--text);box-shadow:0 0 0 2px var(--card)}.color-input{cursor:pointer;border:none;border-radius:6px;width:28px;height:28px;padding:0}.environment-preview{background:var(--hover);border-radius:6px;align-items:center;gap:12px;margin-bottom:16px;padding:12px;display:flex}.preview-label{color:var(--text-secondary);font-size:12px}.environment-tab.preview{cursor:default;background:var(--card)}.migration-wizard{max-width:700px}.wizard-steps{border-bottom:1px solid var(--border);justify-content:center;gap:24px;padding:20px;display:flex}.wizard-step-indicator{opacity:.5;align-items:center;gap:8px;display:flex}.wizard-step-indicator.active{opacity:1}.wizard-step-indicator.completed{opacity:.7}.wizard-step-indicator.completed .step-number{background:var(--primary);color:#fff}.step-number{background:var(--hover);border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:600;display:flex}.wizard-step-indicator.active .step-number{background:var(--primary);color:#fff}.step-label{font-size:13px;font-weight:500}.wizard-content{min-height:300px;padding:24px}.wizard-step h3{margin:0 0 8px;font-size:18px}.step-description{color:var(--text-secondary);margin:0 0 24px}.migration-source-info{background:var(--hover);border-radius:8px;align-items:center;gap:12px;margin-bottom:20px;padding:12px 16px;display:flex}.migration-source-info .label{color:var(--text-secondary);font-size:12px}.database-badge{background:var(--card);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;display:flex}.badge-type{color:var(--text-secondary);font-size:11px}.target-database-list{flex-direction:column;gap:8px;display:flex}.target-database-option{background:var(--card);border:2px solid var(--border);cursor:pointer;text-align:left;border-radius:8px;align-items:center;gap:12px;width:100%;padding:12px 16px;transition:all .15s;display:flex}.target-database-option:hover{border-color:var(--primary)}.target-database-option.selected{border-color:var(--primary);background:#3b82f60d}.env-indicator{border-radius:2px;width:4px;height:32px}.database-info{flex:1}.database-name{font-weight:500;display:block}.database-env,.database-type{color:var(--text-secondary);font-size:12px}.check-icon{color:var(--primary)}.validation-status{background:var(--hover);border-radius:6px;margin-top:16px;padding:12px}.validating{color:var(--text-secondary);align-items:center;gap:8px;display:flex}.validation-result{align-items:center;gap:8px;display:flex}.validation-result.valid{color:#22c55e}.validation-result.invalid{color:#ef4444}.warning-count{color:#f59e0b;margin-left:auto}.migration-options{flex-direction:column;gap:24px;display:flex}.option-group label{color:var(--text-secondary);margin-bottom:12px;font-size:13px;font-weight:600;display:block}.radio-group{flex-direction:column;gap:8px;display:flex}.radio-option{background:var(--card);border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:flex-start;gap:12px;padding:12px 16px;display:flex}.radio-option:hover{border-color:var(--primary)}.radio-option input{margin-top:2px}.radio-content{flex-direction:column;display:flex}.radio-label{font-weight:500}.radio-hint{color:var(--text-secondary);font-size:12px}.checkbox-option{background:var(--card);cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;display:flex}.checkbox-option:hover{background:var(--hover)}.migration-summary{background:var(--hover);border-radius:8px;justify-content:center;align-items:center;gap:20px;margin-bottom:24px;padding:24px;display:flex}.summary-row{text-align:center}.summary-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:11px;display:block}.summary-value{font-weight:600}.summary-arrow{color:var(--text-secondary)}.migration-warnings{background:#f59e0b1a;border:1px solid #f59e0b4d;border-radius:8px;margin-bottom:16px;padding:16px}.warning-header{color:#f59e0b;align-items:center;gap:8px;margin-bottom:12px;font-weight:600;display:flex}.migration-warnings ul{margin:0;padding-left:24px}.migration-warnings li{margin-bottom:4px;font-size:13px}.production-warning{background:#ef44441a;border:2px solid #ef44444d;border-radius:8px;gap:16px;padding:20px;display:flex}.production-warning svg{color:#ef4444;flex-shrink:0}.warning-content h4{color:#ef4444;margin:0 0 8px}.warning-content p{margin:0 0 8px;font-size:13px}.migration-error{color:#ef4444;background:#ef44441a;border-radius:6px;align-items:center;gap:8px;margin-top:16px;padding:12px;display:flex}.migration-progress{margin:24px 0}.progress-bar{background:var(--hover);border-radius:4px;height:8px;overflow:hidden}.progress-fill{background:var(--primary);height:100%;transition:width .3s}.progress-info{color:var(--text-secondary);justify-content:space-between;margin-top:8px;font-size:12px;display:flex}.progress-animation{color:var(--primary);justify-content:center;margin-top:24px;display:flex}.success-icon,.error-icon{justify-content:center;margin-bottom:16px;display:flex}.success-icon svg{color:#22c55e}.error-icon svg{color:#ef4444}.spinning{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-ghost.btn-danger:hover{color:#ef4444}.btn-xs{padding:2px 6px;font-size:11px}.btn-icon{justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:flex}.source-selector{gap:8px;margin-bottom:16px;display:flex}.source-option{border:2px solid var(--border-color);background:var(--bg-primary);cursor:pointer;color:var(--text-secondary);border-radius:8px;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.source-option:hover{border-color:var(--accent-blue);color:var(--text-primary)}.source-option.active{border-color:var(--accent-blue);color:var(--accent-blue);background:#2563eb1a}.source-option svg{flex-shrink:0}.droplet-loading,.droplet-empty{background:var(--bg-tertiary);color:var(--text-secondary);border-radius:8px;align-items:center;gap:8px;padding:16px;font-size:13px;display:flex}.droplet-list{flex-direction:column;gap:6px;max-height:200px;display:flex;overflow-y:auto}.droplet-option{border:1px solid var(--border-color);background:var(--bg-primary);cursor:pointer;text-align:left;border-radius:6px;justify-content:space-between;align-items:center;width:100%;padding:10px 12px;transition:all .15s;display:flex}.droplet-option:hover{border-color:var(--accent-blue);background:var(--bg-hover)}.droplet-option.selected{border-color:var(--accent-blue);background:#2563eb1a}.droplet-option-info{flex-direction:column;gap:2px;display:flex}.droplet-option-name{color:var(--text-primary);font-size:13px;font-weight:500}.droplet-option-details{color:var(--text-muted);font-size:11px}.droplet-check{color:var(--accent-blue);flex-shrink:0}.server-picker-loading,.server-picker-empty{text-align:center;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:40px 20px;display:flex}.server-picker-empty svg{opacity:.4}.server-picker-empty p{max-width:280px;margin:0}.server-picker-hint{color:var(--text-secondary);margin:0 0 12px;font-size:13px}.server-picker-hint strong{color:var(--text-primary)}.server-picker-list{flex-direction:column;gap:6px;max-height:300px;display:flex;overflow-y:auto}.server-picker-item{border:1px solid var(--border-color);background:var(--bg-primary);cursor:pointer;text-align:left;border-radius:8px;align-items:center;gap:12px;width:100%;padding:12px 14px;transition:all .15s;display:flex}.server-picker-item:hover{border-color:var(--accent-blue);background:var(--bg-hover)}.server-picker-item.selected{border-color:var(--accent-blue);background:#2563eb14}.server-picker-checkbox{border:2px solid var(--border-color);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;transition:all .15s;display:flex}.server-picker-checkbox.checked{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.server-picker-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.server-picker-name{color:var(--text-primary);font-size:14px;font-weight:500}.server-picker-details{color:var(--text-muted);font-size:12px}.server-picker-status{text-transform:capitalize;border-radius:10px;padding:3px 8px;font-size:11px;font-weight:500}.server-picker-status.active{color:var(--accent-green);background:#16a34a1a}.server-picker-status.off{background:var(--bg-tertiary);color:var(--text-muted)}.server-picker-status.new{color:var(--accent-blue);background:#2563eb1a}.export-checkbox,.export-radio{cursor:pointer;color:var(--text-primary);border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;transition:background .15s;display:flex}.export-checkbox:hover,.export-radio:hover{background:var(--bg-hover)}.export-checkbox input[type=checkbox],.export-radio input[type=radio]{width:16px;height:16px;accent-color:var(--accent-blue);cursor:pointer;flex-shrink:0}.export-checkbox .badge,.export-radio .badge{background:var(--bg-hover);color:var(--text-secondary);border-radius:10px;margin-left:4px;padding:1px 6px;font-size:11px;display:inline-block}.dialog-close-btn{width:28px;height:28px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.dialog-close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}
.env-tab{height:100%;padding:24px;overflow:hidden auto}.env-tabs-container{border-bottom:1px solid var(--border-color);flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:8px;min-width:0;margin-bottom:24px;padding-bottom:16px;display:flex}.env-tabs{scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;align-items:center;gap:8px;min-width:0;max-width:100%;display:flex;overflow-x:auto}.env-tabs::-webkit-scrollbar{display:none}.env-tab-btn{border:1px solid color-mix(in srgb, var(--border-color) 70%, transparent);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;flex-shrink:0;align-items:center;gap:7px;padding:7px 12px;font-size:12.5px;font-weight:500;transition:background-color .12s,border-color .12s,color .12s;display:flex}.env-tab-btn:hover{background:color-mix(in srgb, var(--bg-hover) 70%, transparent);border-color:var(--border-color);color:var(--text-secondary)}.env-tab-btn.active{background:color-mix(in srgb, var(--bg-tertiary) 90%, transparent);border-color:var(--border-color);color:var(--text-primary)}.env-tab-dot{opacity:.85;border-radius:50%;flex-shrink:0;width:7px;height:7px}.env-tab-add{box-sizing:border-box;width:36px;min-width:36px;max-width:36px;height:36px;min-height:36px;max-height:36px;color:var(--text-primary);cursor:pointer;background:linear-gradient(#1f232af0,#0e1116f0);border:1px solid #94a3b847;border-radius:999px;flex:0 0 36px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex;box-shadow:inset 0 1px #ffffff0f}.env-tab-add:hover{color:#f8fafc;background:#2da7ff1f;border-color:#38bdf87a}.env-refresh-btn{box-sizing:border-box;width:36px;min-width:36px;max-width:36px;height:36px;min-height:36px;max-height:36px;color:var(--text-secondary);cursor:pointer;background:linear-gradient(#1f232af0,#0e1116f0);border:1px solid #94a3b83d;border-radius:999px;flex:0 0 36px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex;box-shadow:inset 0 1px #ffffff0f}.env-tab-add svg,.env-refresh-btn svg{flex-shrink:0;width:16px;height:16px}.env-refresh-btn:hover:not(:disabled){color:#f8fafc;background:#ffffff12;border-color:#cbd5e166}.env-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.env-content{flex-direction:column;gap:24px;display:flex}.env-empty-state{text-align:center;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;padding:80px 20px;display:flex}.env-empty-state svg{color:var(--text-tertiary);margin-bottom:16px}.env-empty-state h2{color:var(--text-primary);margin:0 0 8px;font-size:18px;font-weight:600}.env-empty-state p{max-width:400px;margin:0 0 20px;font-size:14px}.env-empty-actions{gap:12px;display:flex}.env-btn{cursor:pointer;border:1px solid #94a3b842;border-radius:999px;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:700;transition:all .15s;display:flex}.env-btn-primary{color:#f8fafc;background:linear-gradient(#1f232af5,#101318f5);box-shadow:inset 0 1px #ffffff12}.env-btn-primary:hover:not(:disabled){background:#2da7ff21;border-color:#38bdf885}.env-btn:disabled{opacity:.5;cursor:not-allowed}.secrets-panel{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;overflow:hidden}.secrets-panel .section-header{border-bottom:1px solid var(--border-color);background:var(--bg-primary);justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:10px 12px;display:flex}.secrets-panel .section-title{align-items:center;gap:6px;min-width:0;display:flex}.secrets-panel .section-title h3{color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;margin:0;font-size:12px;font-weight:600}.secrets-panel .section-title svg{color:var(--text-secondary);flex-shrink:0}.secrets-panel .count-badge{color:var(--text-muted);background:var(--bg-tertiary);border-radius:10px;padding:1px 6px;font-size:11px;font-weight:500}.secrets-loading{color:var(--text-secondary);justify-content:center;align-items:center;gap:8px;padding:24px 20px;font-size:13px;display:flex}.secret-lock-icon{color:var(--accent-amber,#f59e0b);opacity:.8;vertical-align:middle;margin-left:6px}.secret-value-display{letter-spacing:-.3px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:12px}.secret-dialog{width:450px}.secret-dialog .input-with-toggle{align-items:center;gap:0;display:flex}.secret-dialog .input-with-toggle input{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;flex:1}.secret-dialog .input-toggle{border:1px solid var(--border-color);background:var(--bg-tertiary);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;border-left:none;border-top-right-radius:8px;border-bottom-right-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex}.secret-dialog .input-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.secrets-categories{flex-direction:column;gap:16px;display:flex}.secret-category-group{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.secret-category-header{background:var(--bg-tertiary);cursor:pointer;text-align:left;border:none;align-items:center;gap:10px;width:100%;padding:12px 14px;transition:background .15s;display:flex}.secret-category-header:hover{background:var(--bg-hover)}.category-toggle{color:var(--text-secondary);align-items:center;display:flex}.category-icon{flex-shrink:0;align-items:center;display:flex}.category-label{color:var(--text-primary);flex:1;font-size:13px;font-weight:600}.category-count{color:var(--text-muted);background:var(--bg-primary);border-radius:10px;padding:2px 8px;font-size:12px;font-weight:500}.secret-category-group .database-list{gap:6px;padding:8px}.secret-category-group .server-card-compact{border-radius:6px}.secret-category-group .server-card-compact:hover{background:var(--bg-hover)}.server-panel{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px}[data-theme=dark] .server-panel,:root[data-theme=dark] .server-panel,.dark .server-panel{background:var(--bg-secondary);border-color:var(--border-color)}[data-theme=glass] .server-panel{-webkit-backdrop-filter:blur(16px)saturate(122%);background:#1212140b;border-color:#e2e8f024;box-shadow:inset 0 1px #ffffff0e}.server-panel.server-panel-devsuite,[data-theme=dark] .server-panel.server-panel-devsuite,:root[data-theme=dark] .server-panel.server-panel-devsuite,.dark .server-panel.server-panel-devsuite{background:0 0;border:0;border-radius:0;padding:24px}.server-panel-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;display:flex}.server-panel-title{color:#111827;align-items:center;gap:8px;font-size:16px;font-weight:600;display:flex}[data-theme=dark] .server-panel-title,[data-theme=glass] .server-panel-title,:root[data-theme=dark] .server-panel-title,.dark .server-panel-title{color:var(--text-primary)}.server-panel-count{color:#606060;background:#f3f4f6;border-radius:10px;padding:2px 8px;font-size:12px;font-weight:500}[data-theme=dark] .server-panel-count,[data-theme=glass] .server-panel-count,:root[data-theme=dark] .server-panel-count,.dark .server-panel-count{color:var(--text-secondary);background:var(--bg-hover)}.server-panel-actions{flex-shrink:0;gap:8px;display:flex}.server-panel-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:999px;align-items:center;gap:6px;min-height:36px;padding:0 14px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.server-panel-btn-primary{background:var(--accent-blue);color:#fff}.server-panel-btn-primary:hover:not(:disabled){background:var(--accent-blue-hover)}.server-panel-actions .server-panel-btn-primary:not(.server-panel-btn-large){justify-content:center;width:36px;height:36px;min-height:36px;padding:0}.server-panel-btn-secondary{color:#1c1c1c;background:#f3f4f6;border:1px solid #d1d5db}.server-panel-btn-secondary:hover:not(:disabled){background:#e5e7eb}[data-theme=dark] .server-panel-btn-secondary,[data-theme=glass] .server-panel-btn-secondary,:root[data-theme=dark] .server-panel-btn-secondary,.dark .server-panel-btn-secondary{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-color)}[data-theme=dark] .server-panel-btn-secondary:hover:not(:disabled),[data-theme=glass] .server-panel-btn-secondary:hover:not(:disabled),:root[data-theme=dark] .server-panel-btn-secondary:hover:not(:disabled),.dark .server-panel-btn-secondary:hover:not(:disabled){background:var(--bg-hover)}.server-panel-btn:disabled{opacity:.5;cursor:not-allowed}.server-panel-btn-large{padding:12px 24px;font-size:14px}.server-panel-ai-button.ai-orchestrator-btn{width:34px;min-width:34px;height:34px;min-height:34px}.server-panel-ai-button-large.ai-orchestrator-btn{width:auto;min-width:0;height:36px;min-height:36px;color:var(--text-primary);gap:8px;padding:0 14px;font-size:13px;font-weight:500}[data-theme=dark] .server-panel-ai-button-large.ai-orchestrator-btn,[data-theme=glass] .server-panel-ai-button-large.ai-orchestrator-btn{color:var(--text-primary);background:#24242738;border-color:#e2e8f024}[data-theme=dark] .server-panel-ai-button-large.ai-orchestrator-btn:hover:not(:disabled),[data-theme=glass] .server-panel-ai-button-large.ai-orchestrator-btn:hover:not(:disabled){background:#3434376b;border-color:#e2e8f038}.server-panel-empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 24px;display:flex}.server-panel-empty-icon{color:#d97706;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:16px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:20px;display:flex}.server-panel-empty-icon.production{color:#dc2626;background:linear-gradient(135deg,#fee2e2,#fecaca)}:root[data-theme=dark] .server-panel-empty-icon,.dark .server-panel-empty-icon{background:linear-gradient(135deg,#d9770626,#d977061a)}[data-theme=dark] .server-panel-empty-icon,[data-theme=glass] .server-panel-empty-icon{color:#f59e0b;background:linear-gradient(135deg,#d977062e,#d977061a)}:root[data-theme=dark] .server-panel-empty-icon.production,.dark .server-panel-empty-icon.production{background:linear-gradient(135deg,#dc262626,#dc26261a)}[data-theme=dark] .server-panel-empty-icon.production,[data-theme=glass] .server-panel-empty-icon.production{background:linear-gradient(135deg,#dc26262e,#dc26261a)}.server-panel-empty-state h3{color:#111827;margin:0 0 8px;font-size:18px;font-weight:600}[data-theme=dark] .server-panel-empty-state h3,[data-theme=glass] .server-panel-empty-state h3,:root[data-theme=dark] .server-panel-empty-state h3,.dark .server-panel-empty-state h3{color:var(--text-primary)}.server-panel-empty-state p{color:#606060;max-width:380px;margin:0 0 24px;font-size:14px;line-height:1.5}[data-theme=dark] .server-panel-empty-state p,[data-theme=glass] .server-panel-empty-state p,:root[data-theme=dark] .server-panel-empty-state p,.dark .server-panel-empty-state p{color:var(--text-secondary)}.server-panel-empty-actions{flex-direction:column;align-items:center;gap:10px;display:flex}.server-panel-list{flex-direction:column;gap:8px;display:flex}.server-panel .panel-selector{text-align:center;padding:24px}.server-panel .panel-selector h4{color:var(--text-primary);margin:0 0 16px;font-size:16px;font-weight:600}.server-panel .panel-selector-list{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.server-panel .panel-selector-item{cursor:pointer;color:#111827;background:#c8c8c8;border:1px solid #e5e7eb;border-radius:10px;align-items:center;gap:12px;padding:14px 16px;font-size:14px;font-weight:500;transition:all .15s;display:flex}.server-panel .panel-selector-item:hover{border-color:var(--accent-blue);background:#f3f4f6}.server-panel .panel-selector-item svg{color:var(--accent-blue)}[data-theme=dark] .server-panel .panel-selector-item,[data-theme=glass] .server-panel .panel-selector-item,:root[data-theme=dark] .server-panel .panel-selector-item,.dark .server-panel .panel-selector-item{background:var(--bg-hover);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .server-panel .panel-selector-item:hover,[data-theme=glass] .server-panel .panel-selector-item:hover,:root[data-theme=dark] .server-panel .panel-selector-item:hover,.dark .server-panel .panel-selector-item:hover{background:var(--bg-hover);border-color:var(--accent-blue)}.server-panel .panel-selector-cancel{color:#606060;cursor:pointer;background:0 0;border:1px solid #d1d5db;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .15s}.server-panel .panel-selector-cancel:hover{color:#2a2a2a;background:#f3f4f6}[data-theme=dark] .server-panel .panel-selector-cancel,[data-theme=glass] .server-panel .panel-selector-cancel,:root[data-theme=dark] .server-panel .panel-selector-cancel,.dark .server-panel .panel-selector-cancel{border-color:var(--border-color);color:var(--text-secondary)}[data-theme=dark] .server-panel .panel-selector-cancel:hover,[data-theme=glass] .server-panel .panel-selector-cancel:hover,:root[data-theme=dark] .server-panel .panel-selector-cancel:hover,.dark .server-panel .panel-selector-cancel:hover{background:var(--bg-hover);color:var(--text-primary)}.server-panel .ai-config-waiting{color:#6366f1;background:linear-gradient(135deg,#8b5cf61a,#3b82f61a);border:1px solid #8b5cf64d;border-radius:8px;align-items:center;gap:12px;padding:16px 20px;font-size:14px;font-weight:500;display:flex}:root[data-theme=dark] .server-panel .ai-config-waiting,.dark .server-panel .ai-config-waiting{color:#a5b4fc;background:linear-gradient(135deg,#8b5cf626,#3b82f626);border-color:#8b5cf666}[data-theme=dark] .server-panel .ai-config-waiting,[data-theme=glass] .server-panel .ai-config-waiting{color:#f8fafcd1;background:#ffffff13;border-color:#e2e8f02e}.server-panel .ai-config-waiting svg.spinning{color:#8b5cf6}.server-panel .ai-config-cancel{color:#606060;cursor:pointer;background:#0000000d;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;margin-left:auto;transition:all .15s;display:flex}.server-panel .ai-config-cancel:hover{color:#ef4444;background:#ef44441a}:root[data-theme=dark] .server-panel .ai-config-cancel,.dark .server-panel .ai-config-cancel,[data-theme=dark] .server-panel .ai-config-cancel,[data-theme=glass] .server-panel .ai-config-cancel{color:var(--text-secondary);background:#ffffff0d}:root[data-theme=dark] .server-panel .ai-config-cancel:hover,.dark .server-panel .ai-config-cancel:hover,[data-theme=dark] .server-panel .ai-config-cancel:hover,[data-theme=glass] .server-panel .ai-config-cancel:hover{color:#f87171;background:#ef444426}
