:root,[data-theme=dark]{color-scheme:dark;font-family:Inter,system-ui,-apple-system,sans-serif;--bg:#0b0d12;--bg-elevated:#141925;--bg-subtle:#0f131c;--border:#273043;--border-subtle:#2a3142;--text:#e8eaef;--text-muted:#a8b0c2;--link:#7cb7ff;--accent:#7cb7ff;--accent-bg:rgba(59,110,245,0.15);--accent-border:rgba(59,110,245,0.3);--accent-subtle:rgba(59,110,245,0.08);--primary:#3b6ef5;--primary-hover:#4d7ef7;--destructive:#c94a4a;--destructive-hover:#d65c5c;--success:#1f4d3a;--success-text:#7dffb2;--error-bg:#2a1414;--error-border:#6b2f2f;--error-text:#ff9b9b;--info-bg:#121a2e;--info-border:rgba(59,110,245,0.3);--info-text:#a8c4ff;--code-bg:#0a0d14;--badge-failed-bg:#4d1f1f;--badge-failed-text:#ff9b9b;--badge-active-bg:#1f3a5c;--badge-active-text:#7dd3ff;--badge-provisioning-bg:#3d3520;--badge-provisioning-text:#ffd47d;--overlay:rgba(0,0,0,0.65);--shadow:rgba(0,0,0,0.5);--shadow-soft:rgba(0,0,0,0.35);--grid-line:rgba(255,255,255,0.03);--logout-hover:#ff9b9b;--logout-hover-bg:rgba(201,74,74,0.1);--btn-secondary-hover:#343d52;--brand-gradient-start:#e8eaef;--content-glow:rgba(59,110,245,0.06);--focus-ring:rgba(59,110,245,0.25);--radius:8px;--radius-lg:12px;background:var(--bg);color:var(--text)}[data-theme=light]{color-scheme:light;--bg:#f8f9fc;--bg-elevated:#ffffff;--bg-subtle:#f1f3f8;--border:#d8dde8;--border-subtle:#e2e6ef;--text:#111827;--text-muted:#5b6474;--link:#2563eb;--accent:#2563eb;--accent-bg:rgba(37,99,235,0.1);--accent-border:rgba(37,99,235,0.22);--accent-subtle:rgba(37,99,235,0.06);--primary:#3b6ef5;--primary-hover:#2f5fe0;--destructive:#dc2626;--destructive-hover:#b91c1c;--success:#dcfce7;--success-text:#15803d;--error-bg:#fef2f2;--error-border:#fecaca;--error-text:#b91c1c;--info-bg:#eff6ff;--info-border:rgba(37,99,235,0.22);--info-text:#1d4ed8;--code-bg:#f1f3f8;--badge-failed-bg:#fee2e2;--badge-failed-text:#b91c1c;--badge-active-bg:#dbeafe;--badge-active-text:#1d4ed8;--badge-provisioning-bg:#fef3c7;--badge-provisioning-text:#b45309;--overlay:rgba(15,23,42,0.35);--shadow:rgba(15,23,42,0.12);--shadow-soft:rgba(15,23,42,0.08);--grid-line:rgba(15,23,42,0.06);--logout-hover:#b91c1c;--logout-hover-bg:rgba(220,38,38,0.08);--btn-secondary-hover:#e2e6ef;--brand-gradient-start:#111827;--content-glow:rgba(37,99,235,0.05);--focus-ring:rgba(37,99,235,0.2)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text)}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}.app-shell{display:flex;min-height:100vh}.app-sidebar{width:240px;flex-shrink:0;background:var(--bg-elevated);border-right:1px solid var(--border);padding:1.25rem .875rem;display:flex;flex-direction:column;gap:1.5rem;position:-webkit-sticky;position:sticky;top:0;height:100vh}.app-sidebar-footer{margin-top:auto;padding-top:1rem;border-top:1px solid var(--border)}.app-logout{width:100%;border:none;background:transparent;cursor:pointer;font-family:inherit;text-align:left}.app-logout:hover{color:var(--logout-hover);background:var(--logout-hover-bg)}.app-brand{display:flex;align-items:center;gap:.6rem;font-size:1.15rem;font-weight:700;color:var(--text);text-decoration:none;padding:.5rem .625rem;border-radius:var(--radius)}.app-brand-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--accent-bg);border:1px solid var(--accent-border);color:var(--accent)}.app-brand:hover{text-decoration:none;color:var(--link)}.app-nav-label{display:block;padding:0 .75rem;margin-bottom:.35rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);opacity:.7}.app-nav{display:flex;flex-direction:column;gap:.25rem}.workspace-switcher{position:relative;margin-bottom:.5rem}.workspace-switcher-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;gap:.5rem;padding:.6rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer}.workspace-switcher-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-switcher-label-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;min-width:0;flex:1 1}.workspace-switcher-role{font-size:.68rem;font-weight:500;color:var(--text-muted);text-transform:capitalize}.workspace-switcher-divider{height:1px;margin:.35rem 0;background:var(--border)}.workspace-switcher-create{padding:.35rem}.workspace-switcher-create-actions{display:flex;gap:.35rem;margin-top:.5rem}.workspace-switcher-create-trigger{flex-direction:row!important;align-items:center!important;gap:.4rem!important;color:var(--accent)!important}.members-card{margin-bottom:1rem}.members-table{width:100%;border-collapse:collapse}.members-table td,.members-table th{padding:.75rem .5rem;text-align:left;border-bottom:1px solid var(--border)}.member-cell{display:flex;flex-direction:column;gap:.15rem}.member-email{font-size:.8rem;color:var(--text-muted)}.role-badge{display:inline-block;padding:.2rem .5rem;border-radius:999px;background:var(--accent-bg);color:var(--accent);font-size:.75rem;font-weight:600}.invite-form-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.pending-invites{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.pending-invites li{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.invite-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.invite-state{display:flex;flex-direction:column;gap:.75rem;max-width:28rem}.invite-state h1{margin:0;font-size:1.35rem}.section-title{margin:0 0 .75rem;font-size:1rem}.input-compact{min-width:8rem;padding:.35rem .5rem;font-size:.85rem}.workspace-switcher-menu{position:absolute;top:calc(100% + .35rem);left:0;right:0;z-index:20;margin:0;padding:.35rem;list-style:none;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);box-shadow:0 8px 24px rgba(0,0,0,.12)}.workspace-switcher-option{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;padding:.55rem .65rem;border:none;border-radius:calc(var(--radius) - 2px);background:transparent;color:var(--text);font-family:inherit;font-size:.85rem;text-align:left;cursor:pointer}.workspace-switcher-option:hover,.workspace-switcher-option[aria-selected=true]{background:var(--accent-bg);color:var(--accent)}.workspace-switcher-type{font-size:.7rem;color:var(--text-muted)}.github-empty-state{padding:1rem 0}.github-empty-state,.repo-picker{display:flex;flex-direction:column;gap:.75rem}.repo-picker-list{list-style:none;margin:0;padding:0;max-height:280px;overflow:auto;border:1px solid var(--border);border-radius:var(--radius)}.repo-picker-option{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;padding:.7rem .85rem;border:none;border-bottom:1px solid var(--border);background:transparent;color:var(--text);font-family:inherit;text-align:left;cursor:pointer}.repo-picker-option:last-child{border-bottom:none}.repo-picker-option-active,.repo-picker-option:hover{background:var(--accent-bg)}.repo-picker-meta{font-size:.75rem;color:var(--text-muted)}.repo-picker-advanced{align-self:flex-start;border:none;background:transparent;color:var(--link);font-family:inherit;cursor:pointer;padding:0}.repo-picker-tabs{display:flex;flex-wrap:wrap;gap:.5rem}.repo-picker-tab{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-subtle);color:var(--text-muted);font-family:inherit;font-size:.85rem;padding:.45rem .75rem;cursor:pointer}.repo-picker-tab-active{border-color:var(--accent-border);background:var(--accent-bg);color:var(--accent)}.import-wizard-page{max-width:52rem}.import-wizard{display:flex;flex-direction:column;gap:1rem}.import-wizard-card{margin-top:.25rem}.import-wizard-steps{display:flex;flex-wrap:wrap;gap:.5rem 1rem;list-style:none;margin:0;padding:0;font-size:.85rem;color:var(--text-muted)}.import-wizard-steps li{position:relative}.import-wizard-step-active{color:var(--text);font-weight:600}.import-step{display:flex;flex-direction:column;gap:1rem}.import-benefits{margin:0;padding-left:1.25rem;color:var(--text-muted);font-size:.9rem}.import-benefits li+li{margin-top:.35rem}.import-warning{padding:.75rem 1rem;border:1px solid var(--info-border);border-radius:var(--radius);background:var(--info-bg);color:var(--info-text);font-size:.875rem}.import-warning p{margin:0}.import-analyze-loading{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.import-deploying{align-items:center;text-align:center;padding:2rem 1rem}.import-deploying-spinner{color:var(--accent);animation:import-spin 1s linear infinite}.project-target-picker{display:flex;flex-direction:column;gap:.75rem}.project-target-options{display:flex;flex-direction:column;gap:.5rem}.project-target-option{display:flex;align-items:center;gap:.6rem;padding:.65rem .85rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-subtle);cursor:pointer}.project-target-option-active{border-color:var(--accent-border);background:var(--accent-bg)}.project-target-option input{margin:0;accent-color:var(--primary)}.service-config-form{display:flex;flex-direction:column;gap:.25rem}.service-config-advanced{margin-top:.5rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-subtle)}.service-config-advanced summary{cursor:pointer;padding:.75rem 1rem;font-weight:500;color:var(--text)}.service-config-advanced-body{padding:0 1rem 1rem}.field-error{margin:.35rem 0 0;font-size:.8rem;color:var(--error-text)}.build-settings-list{display:grid;grid-template-columns:minmax(8rem,12rem) 1fr;grid-gap:.65rem 1rem;gap:.65rem 1rem;margin:0}.build-settings-list dt{margin:0;color:var(--text-muted);font-size:.85rem}.build-settings-list dd{margin:0;font-family:ui-monospace,monospace;font-size:.85rem;word-break:break-word}.onboarding-checklist{margin-bottom:1rem;border-color:var(--accent-border);background:linear-gradient(180deg,var(--accent-subtle),var(--bg-elevated))}.onboarding-checklist-complete{animation:onboarding-complete 1.2s ease}.onboarding-checklist-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.onboarding-checklist-title{margin:0 0 .25rem;font-size:1.05rem}.onboarding-checklist-desc,.onboarding-checklist-item-desc{margin:0;color:var(--text-muted);font-size:.875rem}.onboarding-checklist-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.onboarding-checklist-item{display:flex;gap:.75rem;align-items:flex-start}.onboarding-checklist-icon{color:var(--text-muted);flex-shrink:0;margin-top:.1rem}.onboarding-checklist-item-done .onboarding-checklist-icon{color:var(--success-text)}.onboarding-checklist-link{font-weight:600;text-decoration:none}.onboarding-checklist-label{font-weight:600}.onboarding-checklist-body{display:flex;flex-direction:column;gap:.2rem}@keyframes onboarding-complete{0%{box-shadow:0 0 0 0 var(--accent-border)}50%{box-shadow:0 0 0 4px var(--accent-border)}to{box-shadow:0 0 0 0 transparent}}@keyframes import-spin{to{transform:rotate(1turn)}}.installation-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.installation-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border:1px solid var(--border);border-radius:var(--radius)}.installation-meta{margin:.2rem 0 0;font-size:.8rem;color:var(--text-muted)}.installation-actions{display:flex;align-items:center;gap:.75rem}.app-nav-link{display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem;border-radius:var(--radius);color:var(--text-muted);font-weight:500;font-size:.9rem;text-decoration:none;transition:background .15s,color .15s}.app-nav-link:hover{background:var(--bg-subtle);color:var(--text);text-decoration:none}.app-nav-link-active{background:var(--accent-bg);color:var(--accent)}.app-nav-link-new{margin-bottom:.25rem;background:var(--primary);color:#fff}.app-nav-link-new:hover{background:var(--primary-hover);color:#fff}.app-content{flex:1 1;overflow:auto;background:radial-gradient(ellipse 60% 40% at 80% 0,var(--content-glow),transparent),var(--bg)}.app-content-inner{min-height:100vh}main{margin:0 auto;padding:2rem 1.75rem 3rem}.page-header{margin-bottom:2rem}.page-back-link{display:inline-flex;align-items:center;gap:.4rem;font-size:.875rem;color:var(--text-muted);margin-bottom:.75rem;text-decoration:none}.page-back-link:hover{color:var(--link);text-decoration:none}.page-header-main{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.page-title{margin:0;font-size:1.75rem;font-weight:700}.page-description{margin:.35rem 0 0;color:var(--text-muted);font-size:.9rem}.page-actions{display:flex;gap:.5rem;flex-wrap:wrap}.sub-nav{display:flex;gap:.25rem;margin-bottom:1.5rem;padding:.25rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);overflow-x:auto}.sub-nav-link{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .875rem;border-radius:var(--radius);color:var(--text-muted);font-size:.875rem;font-weight:500;text-decoration:none;white-space:nowrap;transition:background .15s,color .15s}.sub-nav-link:hover{background:var(--bg-subtle);color:var(--text);text-decoration:none}.sub-nav-link-active{background:var(--accent-bg);color:var(--accent)}.section-heading{margin-bottom:1rem}.section-title{margin:0;font-size:1.1rem;font-weight:600}.section-description{margin:.3rem 0 0;font-size:.875rem;color:var(--text-muted)}.content-section{margin-bottom:2rem}.empty-state{text-align:center;padding:2.5rem 1.5rem}.empty-state-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:var(--bg-subtle);border:1px solid var(--border-subtle);color:var(--text-muted);margin-bottom:1rem}.empty-state-title{margin:0;font-weight:600;font-size:.95rem}.empty-state-description{margin:.4rem 0 0;font-size:.875rem;color:var(--text-muted);max-width:36ch;margin-inline:auto}.empty-state-action{margin-top:1rem}.item-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.item-list-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.875rem 1rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius)}.item-list-link{text-decoration:none;color:inherit;transition:border-color .15s,background .15s}.item-list-link:hover{border-color:var(--accent-border);background:var(--accent-subtle);text-decoration:none}.item-list-row-active{border-color:var(--primary);box-shadow:0 0 0 1px var(--accent-border)}.item-list-main{min-width:0;flex:1 1}.item-list-title{display:block;font-weight:600;font-size:.9rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.item-list-meta{display:block;margin-top:.2rem;font-size:.8rem;color:var(--text-muted);word-break:break-all}.item-list-tag{display:inline-block;margin-left:.5rem;padding:.1rem .4rem;border-radius:4px;background:var(--bg-subtle);border:1px solid var(--border-subtle);font-size:.7rem;text-transform:uppercase;letter-spacing:.04em}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem}@media (max-width:640px){.form-grid{grid-template-columns:1fr}}.form-grid .input,.form-grid input{margin-bottom:0}.checkbox-label{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.875rem;color:var(--text-muted);cursor:pointer}.checkbox-label input[type=checkbox]{width:auto;margin:0;accent-color:var(--primary)}.form-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:.75rem;gap:.75rem;margin-bottom:1rem}.stat-card{padding:1rem;background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius)}.stat-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem}.stat-value{font-size:1.25rem;font-weight:700}.plan-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:.75rem;gap:.75rem}.plan-option{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:1rem;background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius);cursor:pointer;transition:border-color .15s,background .15s;text-align:left;font-family:inherit;color:inherit}.plan-option:hover{border-color:var(--primary)}.plan-option-name{font-weight:600;font-size:.95rem}.plan-option-desc{font-size:.8rem;color:var(--text-muted)}.usage-bar{height:6px;background:var(--bg-subtle);border-radius:999px;overflow:hidden;margin-top:.5rem}.usage-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:999px;transition:width .3s ease}.projects-layout{display:grid;grid-gap:1.5rem;gap:1.5rem}@media (min-width:720px){.projects-layout{grid-template-columns:280px 1fr;align-items:start}}.project-card{display:flex;align-items:center;gap:.875rem;padding:.875rem 1rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;color:inherit;transition:border-color .15s,background .15s,transform .1s}.project-card:hover{border-color:var(--accent-border);background:var(--accent-subtle);text-decoration:none;transform:translateY(-1px)}.project-card-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:var(--bg-subtle);border:1px solid var(--border-subtle);color:var(--accent);flex-shrink:0}.project-card-body{min-width:0;flex:1 1}.project-card-name{display:block;font-weight:600;font-size:.95rem}.project-card-meta{display:block;margin-top:.15rem;font-size:.8rem;color:var(--text-muted)}.project-grid{display:grid;grid-gap:.5rem;gap:.5rem}.quick-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:.75rem;gap:.75rem;margin-bottom:2rem}.quick-link-card{display:flex;flex-direction:column;gap:.35rem;padding:1rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);text-decoration:none;color:inherit;transition:border-color .15s,background .15s}.quick-link-card:hover{border-color:var(--accent-border);background:var(--accent-subtle);text-decoration:none}.quick-link-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:var(--bg-subtle);border:1px solid var(--border-subtle);color:var(--accent)}.quick-link-title{font-weight:600;font-size:.9rem}.quick-link-desc{font-size:.8rem;color:var(--text-muted);line-height:1.4}.service-card{display:flex;align-items:center;gap:.875rem;padding:.875rem 1rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;color:inherit;transition:border-color .15s,background .15s}.service-card:hover{border-color:var(--accent-border);background:var(--accent-subtle);text-decoration:none}.service-card-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:var(--bg-subtle);border:1px solid var(--border-subtle);color:var(--accent);flex-shrink:0}.service-card-body{min-width:0;flex:1 1}.service-card-name{display:block;font-weight:600;font-size:.9rem}.service-card-meta{display:block;margin-top:.15rem;font-size:.78rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.service-type-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:.6rem;gap:.6rem;margin-bottom:1.25rem}.service-type-option{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;padding:.875rem;background:var(--bg-subtle);border:2px solid var(--border-subtle);border-radius:var(--radius);cursor:pointer;text-align:left;font-family:inherit;color:inherit;transition:border-color .15s,background .15s}.service-type-option:hover{border-color:var(--accent-border)}.service-type-option-active{border-color:var(--primary);background:var(--accent-subtle)}.service-type-option-icon{color:var(--accent)}.service-type-option-label{font-weight:600;font-size:.85rem}.service-type-option-desc{font-size:.75rem;color:var(--text-muted);line-height:1.35}.form-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.form-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.form-section-title{margin:0 0 .25rem;font-size:.95rem;font-weight:600}.form-section-desc{margin:0 0 1rem;font-size:.8rem;color:var(--text-muted)}.form-inline{display:flex;gap:.5rem;align-items:flex-end}.form-inline .input,.form-inline input{margin-bottom:0;flex:1 1}.info-banner{display:flex;align-items:flex-start;gap:.6rem;background:var(--info-bg);border:1px solid var(--info-border);color:var(--info-text);border-radius:var(--radius);padding:.75rem 1rem;margin-bottom:1.5rem;font-size:.875rem;line-height:1.5}.copy-field{margin-bottom:1rem}.copy-field:last-child{margin-bottom:0}.copy-field-header{margin-bottom:.4rem}.copy-field-label{font-size:.8rem;font-weight:600}.copy-field-desc,.copy-field-label{display:block;color:var(--text-muted)}.copy-field-desc{font-size:.75rem;margin-top:.15rem}.copy-field-row{display:flex;gap:.5rem;align-items:stretch}.copy-field-value{flex:1 1;margin:0;font-size:.75rem;max-height:4.5rem;overflow:auto}.danger-zone{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}.danger-zone-title{margin:0 0 .25rem;font-size:.9rem;font-weight:600;color:var(--error-text)}.danger-zone-desc{margin:0 0 1rem;font-size:.8rem;color:var(--text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:none;border-radius:var(--radius);cursor:pointer;font-weight:600;font-family:inherit;font-size:.875rem;transition:background .15s,opacity .15s;text-decoration:none;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:.4rem .75rem;font-size:.8rem}.btn-md{padding:.6rem 1rem}.btn-lg{padding:.75rem 1.25rem;font-size:1rem}.btn-full{width:100%}.btn-primary{background:var(--primary);color:white}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{background:var(--border-subtle);color:var(--text)}.btn-secondary:hover:not(:disabled){background:var(--btn-secondary-hover)}.btn-destructive{background:var(--destructive);color:white}.btn-destructive:hover:not(:disabled){background:var(--destructive-hover)}.btn-ghost{background:transparent;color:var(--text-muted)}.btn-ghost:hover:not(:disabled){background:var(--bg-subtle);color:var(--text)}.button,button{display:inline-flex;align-items:center;justify-content:center;background:var(--primary);color:white;border:none;border-radius:var(--radius);padding:.6rem 1rem;cursor:pointer;font-weight:600;font-family:inherit;font-size:.875rem}.button.secondary,button.secondary{background:var(--border-subtle);color:var(--text)}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:1rem}.card-header{margin-bottom:.75rem}.card-title{margin:0;font-size:1.1rem;font-weight:600}.card-description{margin:.35rem 0 0;color:var(--text-muted);font-size:.875rem}.card-content>:last-child{margin-bottom:0}.card-active{border-color:var(--primary);box-shadow:0 0 0 1px var(--accent-border)}.badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:500;background:var(--border);color:var(--text-muted)}.badge-live,.badge.available{background:var(--success);color:var(--success-text)}.badge-failed,.badge.failed{background:var(--badge-failed-bg);color:var(--badge-failed-text)}.badge-active-release,.badge.active-release{background:var(--badge-active-bg);color:var(--badge-active-text)}.badge-provisioning,.badge.provisioning{background:var(--badge-provisioning-bg);color:var(--badge-provisioning-text)}.input,input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;background:var(--bg-subtle);border:1px solid var(--border-subtle);color:inherit;border-radius:var(--radius);padding:.6rem .75rem;margin-bottom:.75rem;font-family:inherit;font-size:.875rem;transition:border-color .15s}.input:focus,input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--focus-ring)}.label,label{display:block;margin-bottom:.35rem;font-size:.85rem;color:var(--text-muted);font-weight:500}.error-banner{display:flex;align-items:flex-start;gap:.6rem;background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text);padding:.75rem 1rem;margin:1rem 0;font-size:.875rem}.error-banner,.skeleton{border-radius:var(--radius)}.skeleton{background:linear-gradient(90deg,var(--bg-subtle) 25%,var(--border-subtle) 50%,var(--bg-subtle) 75%);background-size:200% 100%;animation:skeleton-pulse 1.5s ease-in-out infinite;height:1.25rem}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.deployment-meta{margin-top:.5rem;font-size:.85rem;color:var(--text-muted)}.active-release-banner{background:var(--info-bg);border:1px solid var(--primary);border-radius:var(--radius-lg);padding:.75rem 1rem;margin:1rem 0}.actions,.page-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin:1rem 0}code{display:block;padding:.75rem;margin:.5rem 0 1rem;word-break:break-all}.log-viewer,code{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}.log-viewer{padding:1rem;white-space:pre-wrap;max-height:480px;overflow:auto}.dialog-overlay{position:fixed;inset:0;background:var(--overlay);z-index:50;animation:fade-in .15s ease}.dialog-content{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:51;width:calc(100% - 2rem);max-width:420px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:0 16px 48px var(--shadow);animation:dialog-in .2s ease}.dialog-header{margin-bottom:.75rem}.dialog-title{margin:0;font-size:1.1rem;font-weight:600}.dialog-description{margin:.5rem 0 0;color:var(--text-muted);font-size:.875rem;line-height:1.5}.dialog-footer{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.25rem}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-in{0%{opacity:0;transform:translate(-50%,-48%)}to{opacity:1;transform:translate(-50%,-50%)}}.toast-viewport{position:fixed;bottom:1.5rem;right:1.5rem;display:flex;flex-direction:column;gap:.5rem;width:360px;max-width:calc(100vw - 2rem);z-index:100;outline:none}.toast{display:flex;align-items:flex-start;gap:.75rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:.875rem 1rem;box-shadow:0 8px 24px var(--shadow-soft);animation:toast-in .2s ease}.toast-success{border-color:var(--success-text)}.toast-destructive{border-color:var(--error-border)}.toast-content{flex:1 1}.toast-title{font-weight:600;font-size:.875rem}.toast-description{color:var(--text-muted);font-size:.8rem;margin-top:.2rem}.toast-close{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:.15rem;border-radius:4px;flex-shrink:0}.toast-close:hover{color:var(--text);background:var(--bg-subtle)}@keyframes toast-in{0%{opacity:0;transform:translateX(1rem)}to{opacity:1;transform:translateX(0)}}.login-page{position:relative;display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem 1.5rem;overflow:hidden}.login-bg{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 80% 60% at 50% -10%,rgba(59,110,245,.18),transparent),radial-gradient(ellipse 50% 40% at 100% 100%,rgba(59,110,245,.08),transparent),var(--bg)}.login-bg-glow{position:absolute;border-radius:50%;filter:blur(80px);opacity:.5}.login-bg-glow-1{width:480px;height:480px;top:-120px;left:50%;transform:translateX(-50%);background:rgba(59,110,245,.25)}.login-bg-glow-2{width:320px;height:320px;bottom:-80px;right:10%;background:rgba(99,140,255,.12)}.login-bg-grid{position:absolute;inset:0;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,black,transparent);mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,black,transparent)}.theme-toggle{display:flex;align-items:center;gap:.6rem;width:100%;padding:.6rem .75rem;border:none;border-radius:var(--radius);background:transparent;color:var(--text-muted);font-weight:500;font-size:.9rem;font-family:inherit;cursor:pointer;text-align:left;transition:background .15s,color .15s}.theme-toggle:hover{background:var(--bg-subtle);color:var(--text)}.theme-toggle-floating{position:fixed;top:1rem;right:1rem;z-index:50}.theme-toggle-floating .theme-toggle{width:auto;background:var(--bg-elevated);border:1px solid var(--border);box-shadow:0 4px 16px var(--shadow-soft)}.login-container{position:relative;z-index:1;width:100%;max-width:420px;display:flex;flex-direction:column;gap:2rem;animation:login-fade-in .4s ease}.login-container-centered{max-width:360px}.login-hero{text-align:center}.login-logo{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,var(--accent-bg),var(--accent-subtle));border:1px solid var(--accent-border);color:var(--accent);margin-bottom:1rem;box-shadow:0 8px 32px var(--content-glow)}.login-brand{margin:0;font-size:2.25rem;font-weight:800;letter-spacing:-.03em;background:linear-gradient(135deg,var(--brand-gradient-start) 30%,var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-tagline{margin:.6rem 0 0;color:var(--text-muted);font-size:1rem;line-height:1.5;max-width:32ch;margin-inline:auto}.login-card{text-align:left;margin-bottom:0;border-color:var(--accent-border);box-shadow:0 16px 48px var(--shadow-soft),0 0 0 1px var(--border-subtle) inset}.login-card-compact{text-align:center}.login-card-header{margin-bottom:.5rem}.login-card-title{font-size:1.15rem}.login-features{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;grid-gap:.6rem;gap:.6rem}.login-feature{display:flex;align-items:center;gap:.65rem;font-size:.875rem;color:var(--text-muted)}.login-feature-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:var(--bg-subtle);border:1px solid var(--border-subtle);color:var(--accent);flex-shrink:0}.btn-github{width:100%;background:#24292f;color:#ffffff;gap:.6rem;font-size:.95rem;padding:.75rem 1.25rem;border:1px solid rgba(255,255,255,.1);transition:background .15s,transform .1s,box-shadow .15s}.btn-github:hover:not(:disabled){background:#2f363d;box-shadow:0 4px 16px rgba(0,0,0,.3)}.btn-github:active:not(:disabled){transform:scale(.98)}.login-cta{margin-bottom:1rem}.login-footer{margin:0;text-align:center;font-size:.8rem;color:var(--text-muted)}.login-redirecting{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1rem 0;color:var(--text-muted);font-size:.9rem}.login-redirecting p{margin:0}.login-spinner{color:var(--primary);animation:login-spin .8s linear infinite}.login-skeleton-logo{width:56px;height:56px;margin:0 auto 1rem;border-radius:14px}.login-skeleton-title{width:140px;height:2.25rem;margin:0 auto}.login-skeleton-tagline{width:280px;height:1rem;margin:.75rem auto 0}.login-skeleton-card-title{width:180px;height:1.25rem;margin-bottom:1rem}.login-skeleton-feature{height:2rem}.login-skeleton-button{height:3rem;margin-top:.5rem}@keyframes login-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes login-spin{to{transform:rotate(1turn)}}@media (min-width:640px){.login-container{max-width:440px}.login-brand{font-size:2.5rem}}