:root{--surface: #ffffff;--canvas: #fafafa;--text: #18181b;--muted: #71717a;--border: #e4e4e7;--success: #15803d;--danger: #b91c1c;--radius: 12px;--brand: #0b0b0d;--brand-soft: #242428;--focus: #2563eb;--shadow-sm: 0 1px 2px rgb(24 24 27 / .04);--shadow-md: 0 18px 50px rgb(0 0 0 / .14);--content-width: 1180px}*,*:before,*:after{box-sizing:border-box}html{color:var(--text);background:var(--canvas);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid color-mix(in srgb,var(--focus) 24%,transparent);outline-offset:2px}select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--focus) 24%,transparent);outline-offset:2px}a{color:inherit}h1,h2,p{margin-top:0}.app-logo{display:inline-flex;align-items:center;gap:10px;color:var(--text);font-size:14px;font-weight:700;letter-spacing:-.01em;text-decoration:none;white-space:nowrap}.app-logo--inverse{color:#fff}.app-logo__mark{display:grid;width:28px;height:28px;grid-template-columns:repeat(2,1fr);gap:3px;padding:5px;border-radius:8px;background:var(--brand);border:1px solid rgb(255 255 255 / .16)}.app-logo__mark span{display:block;border-radius:2px;background:#fff}.app-logo__mark span:last-child{opacity:.46}.app-logo--inverse .app-logo__mark{background:#fff}.app-logo--inverse .app-logo__mark span{background:var(--brand)}.app-button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:8px;padding:0 16px;border:1px solid transparent;border-radius:9px;cursor:pointer;font-size:14px;font-weight:650;transition:transform .12s ease,background-color .12s ease,border-color .12s ease;text-decoration:none}.app-button:hover:not(:disabled){transform:translateY(-1px)}.app-button:disabled{cursor:not-allowed;opacity:.62}.app-button--primary{color:#fff;background:var(--brand);border-color:var(--brand)}.app-button--primary:hover:not(:disabled){background:var(--brand-soft)}.app-button--secondary{color:var(--text);background:var(--surface);border-color:var(--border)}.app-button--danger{color:#fff;background:var(--danger)}.app-button--ghost{min-height:34px;padding-inline:10px;color:var(--muted);background:transparent}.app-button--ghost:hover:not(:disabled){color:var(--text);background:#f4f4f5}.app-button__spinner{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .65s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-field{display:grid;gap:7px}.app-field__label{color:#3f3f46;font-size:13px;font-weight:650}.app-field__input{width:100%;height:44px;padding:0 12px;border:1px solid var(--border);border-radius:9px;color:var(--text);background:var(--surface);box-shadow:var(--shadow-sm);transition:border-color .12s ease,box-shadow .12s ease}.app-field__input:hover:not(:disabled){border-color:#c7c7cd}.app-field__input:focus{border-color:#a1a1aa;box-shadow:0 0 0 3px #18181b0f;outline:none}.app-field__input:disabled{background:#f4f4f5}.app-field__input[aria-invalid=true]{border-color:var(--danger)}.app-field__error{color:var(--danger);font-size:12px}.eyebrow{margin-bottom:8px;color:var(--muted);font-size:11px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.eyebrow--inverse{color:#a1a1aa}.login-page{display:grid;min-height:100vh;grid-template-columns:minmax(420px,.92fr) minmax(480px,1.08fr);background:var(--surface)}.login-brand{display:flex;min-height:100%;flex-direction:column;justify-content:space-between;overflow:hidden;padding:clamp(32px,5vw,72px);color:#fff;background:radial-gradient(circle at 85% 25%,rgb(75 75 84 / .42),transparent 34%),linear-gradient(145deg,#0a0a0b,#18181b 70%,#101012)}.login-brand__message{max-width:560px;padding:72px 0 56px}.login-brand__message h1{margin-bottom:20px;font-size:clamp(38px,5vw,66px);line-height:.98;letter-spacing:-.055em}.login-brand__message>p:last-child{max-width:440px;margin-bottom:0;color:#b6b6bd;font-size:17px;line-height:1.6}.login-release-card{display:grid;max-width:480px;gap:8px;padding:18px;border:1px solid rgb(255 255 255 / .12);border-radius:var(--radius);color:#a1a1aa;background:#ffffff0e;box-shadow:var(--shadow-md);font-size:13px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.login-release-card strong{color:#fff;font-size:16px}.login-release-card__topline{display:flex;align-items:center;gap:8px}.login-release-card__topline span:last-child{margin-left:auto}.status-dot{width:7px;height:7px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 4px #4ade801f}.login-form-panel{display:grid;place-items:center;padding:40px;background:var(--canvas)}.login-form{display:grid;width:min(100%,400px);gap:20px;padding:clamp(28px,4vw,44px);border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);background:var(--surface);box-shadow:0 10px 35px #18181b12}.login-form header{margin-bottom:8px}.login-form h2{margin-bottom:10px;font-size:27px;letter-spacing:-.035em}.login-form header>p:last-child,.login-form__help{margin-bottom:0;color:var(--muted);font-size:13px;line-height:1.5}.form-alert{padding:11px 12px;border:1px solid #fecaca;border-radius:9px;color:#991b1b;background:#fef2f2;font-size:13px}.login-form__submit{width:100%;margin-top:4px}.login-form__help{text-align:center}.product-shell{min-height:100vh;background:var(--canvas)}.product-header{position:sticky;z-index:10;top:0;border-bottom:1px solid var(--border);background:#ffffffeb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.product-header__inner{display:grid;min-height:62px;max-width:var(--content-width);align-items:center;margin:0 auto;padding:0 24px;grid-template-columns:auto 1fr auto;gap:34px}.product-nav{display:flex;align-self:stretch;align-items:center;gap:6px}.product-nav a{display:inline-flex;height:36px;align-items:center;padding:0 11px;border-radius:8px;color:var(--muted);font-size:13px;font-weight:550;text-decoration:none}.product-nav a:hover{color:var(--text);background:#f4f4f5}.product-nav a.router-link-active{color:var(--text);background:#f0f0f2}.account-menu{display:flex;align-items:center;gap:9px}.account-menu__avatar{display:grid;width:27px;height:27px;place-items:center;border-radius:8px;color:#fff;background:var(--brand);font-size:11px;font-weight:750}.account-menu__name{max-width:120px;overflow:hidden;font-size:13px;font-weight:600;text-overflow:ellipsis}.product-main{width:100%;max-width:var(--content-width);margin:0 auto;padding:54px 24px 80px}.page-stack{display:grid;gap:32px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.page-heading h1{margin-bottom:8px;font-size:clamp(30px,4vw,42px);letter-spacing:-.045em}.page-heading>div>p:last-child{max-width:580px;margin-bottom:0;color:var(--muted);line-height:1.55}.placeholder-action{height:40px;padding:0 15px;border:0;border-radius:9px;color:#fff;background:var(--brand);opacity:.52}.empty-projects{display:grid;min-height:340px;place-items:center;align-content:center;padding:44px 24px;border:1px solid var(--border);border-radius:var(--radius);text-align:center;background:var(--surface);box-shadow:var(--shadow-sm)}.empty-projects__mark{display:grid;width:44px;height:44px;place-items:center;margin-bottom:20px;border:1px solid var(--border);border-radius:12px;color:var(--muted);background:var(--canvas);font-size:24px}.empty-projects h2{margin-bottom:8px;font-size:18px}.empty-projects p{max-width:470px;margin-bottom:0;color:var(--muted);line-height:1.6}.queue-indicator,.health-badge,.release-state,.current-pill{display:inline-flex;align-items:center;white-space:nowrap}.queue-indicator{gap:8px;padding:8px 11px;border:1px solid var(--border);border-radius:999px;color:var(--muted);background:var(--surface);font-size:12px;font-weight:650;box-shadow:var(--shadow-sm)}.queue-indicator span{width:6px;height:6px;border-radius:50%;background:#a1a1aa}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.project-card{overflow:hidden;border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);background:var(--surface);box-shadow:var(--shadow-sm);transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.project-card:hover{border-color:#d4d4d8;box-shadow:0 12px 30px #18181b0f;transform:translateY(-2px)}.project-card__header,.project-card__footer,.project-card__release,.releases-heading,.timeline-release header{display:flex;align-items:center;justify-content:space-between;gap:16px}.project-card__header{padding:22px 22px 18px}.project-card__environment{margin-bottom:5px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.project-card__header a{font-size:17px;font-weight:720;letter-spacing:-.02em;text-decoration:none}.project-card__header a:after{content:" ↗";color:#a1a1aa;font-size:12px}.health-badge{gap:7px;padding:5px 8px;border:1px solid var(--border);border-radius:999px;color:var(--muted);background:#fafafa;font-size:11px;font-weight:700}.health-badge>span{width:6px;height:6px;border-radius:50%;background:#a1a1aa}.health-badge--healthy{border-color:#bbf7d0;color:#166534;background:#f0fdf4}.health-badge--healthy>span{background:#22c55e;box-shadow:0 0 0 3px #22c55e1f}.health-badge--danger{border-color:#fecaca;color:#991b1b;background:#fef2f2}.health-badge--danger>span{background:#ef4444}.project-card__release{min-height:94px;justify-content:flex-start;margin-inline:12px;padding:16px 12px;border:1px solid #ededf0;border-radius:10px;background:#fafafa}.project-card__release-mark{display:grid;width:30px;height:30px;flex:0 0 auto;place-items:center;border:1px solid var(--border);border-radius:8px;color:#52525b;background:var(--surface);font-size:13px}.project-card__release>div:nth-child(2){min-width:0;flex:1}.project-card__release p{overflow:hidden;margin-bottom:5px;font-size:12px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.project-card__release span{color:var(--muted);font-size:11px}.project-card__release .release-status{color:var(--success);font-weight:700;text-transform:capitalize}.project-card__footer{padding:18px 22px 22px}.project-card__metadata{display:flex;min-width:0;gap:20px}.project-card__metadata span{display:grid;min-width:0;gap:3px;color:#3f3f46;font-size:12px}.project-card__metadata strong{color:var(--muted);font-size:10px;font-weight:650;letter-spacing:.05em;text-transform:uppercase}.projects-state{display:grid;min-height:320px;place-items:center;align-content:center;padding:48px 24px;border:1px solid var(--border);border-radius:var(--radius);text-align:center;background:var(--surface);box-shadow:var(--shadow-sm)}.projects-state h2{margin:18px 0 8px;font-size:18px}.projects-state p{max-width:480px;margin-bottom:18px;color:var(--muted);font-size:13px;line-height:1.55}.state-mark,.state-spinner{display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--border);border-radius:12px;color:var(--muted);background:#fafafa;font-size:21px}.state-mark--error{border-color:#fecaca;color:var(--danger);background:#fef2f2}.state-spinner:before{width:16px;height:16px;border:2px solid #a1a1aa;border-right-color:transparent;border-radius:50%;content:"";animation:spin .7s linear infinite}.deployment-notice{position:fixed;z-index:25;right:24px;bottom:24px;max-width:min(420px,calc(100vw - 32px));margin:0;padding:12px 15px;border:1px solid #d4d4d8;border-radius:10px;color:#fff;background:var(--brand);box-shadow:var(--shadow-md);font-size:13px;font-weight:650}.dialog-backdrop{position:fixed;z-index:30;inset:0;display:grid;place-items:center;overflow-y:auto;padding:24px;background:#09090b8a;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.deploy-dialog{width:min(100%,500px);padding:26px;border:1px solid rgb(255 255 255 / .2);border-radius:16px;background:var(--surface);box-shadow:0 24px 80px #0000003d}.deploy-dialog header h2{margin-bottom:9px;font-size:23px;letter-spacing:-.03em}.deploy-dialog header>p:last-child{margin-bottom:0;color:var(--muted);font-size:13px;line-height:1.55}.deploy-dialog__details{display:grid;margin:22px 0;border:1px solid var(--border);border-radius:11px;background:#fafafa}.deploy-dialog__details div{display:grid;min-width:0;grid-template-columns:minmax(110px,.42fr) minmax(0,1fr);gap:16px;padding:11px 13px;border-bottom:1px solid var(--border)}.deploy-dialog__details div:last-child{border-bottom:0}.deploy-dialog__details dt,.deploy-dialog__details dd{min-width:0;margin:0;font-size:12px}.deploy-dialog__details dt{color:var(--muted)}.deploy-dialog__details dd{overflow:hidden;font-weight:650;text-align:right;text-overflow:ellipsis}.deploy-dialog footer{display:flex;justify-content:flex-end;gap:10px}.code-value{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.detail-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.detail-heading h1{margin-bottom:8px;font-size:clamp(30px,4vw,42px);letter-spacing:-.045em}.detail-heading>div>p:last-child{margin-bottom:0;color:var(--muted)}.back-link{display:inline-block;margin-bottom:30px;color:var(--muted);font-size:12px;font-weight:650;text-decoration:none}.back-link:hover{color:var(--text)}.current-release{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px;border:1px solid #d1fae5;border-radius:calc(var(--radius) + 2px);background:linear-gradient(135deg,#f0fdf4,#fff 62%);box-shadow:var(--shadow-sm)}.current-release h2{margin-bottom:8px;overflow-wrap:anywhere;font-size:18px;letter-spacing:-.02em}.current-release>div>p:last-child{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:0;color:var(--muted);font-size:12px}.release-state{gap:7px;padding:7px 10px;border:1px solid #bbf7d0;border-radius:999px;color:#166534;background:#fff;font-size:11px;font-weight:750}.release-state:before{width:6px;height:6px;border-radius:50%;background:#22c55e;content:""}.release-state--empty{border-color:var(--border);color:var(--muted)}.release-state--empty:before{background:#a1a1aa}.detail-grid{display:grid;align-items:start;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:18px}.detail-panel{min-width:0;padding:23px;border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);background:var(--surface);box-shadow:var(--shadow-sm)}.detail-panel h2{margin-bottom:0;font-size:17px;letter-spacing:-.02em}.config-panel dl{display:grid;margin:20px 0 0;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.config-panel dl>div{min-width:0}.config-panel dt,.config-panel dd{margin:0;overflow-wrap:anywhere;font-size:12px}.config-panel dt{margin-bottom:5px;color:var(--muted)}.config-panel dd{font-weight:650}.config-panel .config-panel__wide{grid-column:1 / -1}.releases-heading{align-items:flex-end;padding-bottom:18px;border-bottom:1px solid var(--border)}.releases-heading>span{color:var(--muted);font-size:11px}.deployment-timeline{display:grid;margin:0;padding:2px 0 0;list-style:none}.deployment-timeline>li{position:relative;display:grid;min-width:0;padding:17px 0 17px 25px;grid-template-columns:minmax(0,1fr);border-bottom:1px solid #f1f1f3}.deployment-timeline>li:last-child{padding-bottom:0;border-bottom:0}.deployment-timeline>li:before{position:absolute;top:25px;bottom:-25px;left:5px;width:1px;background:var(--border);content:""}.deployment-timeline>li:last-child:before{display:none}.timeline-dot{position:absolute;z-index:1;top:23px;left:1px;width:9px;height:9px;border:2px solid var(--surface);border-radius:50%;background:#a1a1aa;box-shadow:0 0 0 1px #a1a1aa}.timeline-dot--success{background:#22c55e;box-shadow:0 0 0 1px #22c55e}.timeline-dot--error{background:#ef4444;box-shadow:0 0 0 1px #ef4444}.timeline-release{min-width:0}.timeline-release header{align-items:flex-start}.timeline-release header>div{display:flex;min-width:0;align-items:center;gap:7px}.timeline-release strong{min-width:0;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.timeline-release time{flex:0 0 auto;color:var(--muted);font-size:10px}.current-pill{padding:3px 6px;border-radius:999px;color:#166534;background:#dcfce7;font-size:9px;font-weight:750}.timeline-release>p{display:flex;flex-wrap:wrap;gap:8px;margin:7px 0 0;color:var(--muted);font-size:11px}.timeline-rollback{min-height:30px;margin:8px 0 0 -10px;font-size:11px}.empty-releases{margin:24px 0 0;color:var(--muted);font-size:13px}@media(max-width:900px){.login-page{grid-template-columns:1fr}.login-brand{min-height:auto;padding:30px}.login-brand__message{padding:64px 0 18px}.login-brand__message h1{max-width:700px}.login-release-card{display:none}.product-header__inner{grid-template-columns:auto 1fr}.product-nav{grid-column:1 / -1;grid-row:2;overflow-x:auto;padding-bottom:9px}.account-menu{justify-self:end}.project-grid,.detail-grid{grid-template-columns:1fr}}@media(max-width:600px){.login-brand{display:none}.login-form-panel{min-height:100vh;padding:20px}.login-form{padding:28px 22px}.product-header__inner{padding:14px 16px 0;gap:12px}.account-menu__name{display:none}.product-nav{gap:2px}.product-nav a{padding-inline:9px}.product-main{padding:36px 16px 56px}.page-heading{align-items:flex-start;flex-direction:column}.project-card__header,.project-card__footer{padding-inline:17px}.project-card__footer{align-items:flex-end}.project-card__metadata{gap:14px}.project-card__release{align-items:flex-start}.project-card__release .release-status{display:none}.dialog-backdrop{align-items:end;padding:0}.deploy-dialog{max-height:calc(100vh - 24px);overflow-y:auto;padding:23px 20px max(23px,env(safe-area-inset-bottom));border-radius:18px 18px 0 0}.deploy-dialog__details div{grid-template-columns:1fr;gap:4px}.deploy-dialog__details dd{text-align:left}.deploy-dialog footer .app-button{flex:1}.deployment-notice{right:16px;bottom:16px}.current-release{align-items:flex-start;flex-direction:column;padding:21px}.detail-panel{padding:20px}.releases-heading{align-items:flex-start;flex-direction:column}.timeline-release header{flex-direction:column;gap:5px}.timeline-release header>div{width:100%}}.page-heading__actions,.deployment-actions,.preset-actions,.resource-actions,.connection-test,.form-footer{display:flex;align-items:center;gap:10px}.workflow-page{max-width:1080px;margin:0 auto}.workflow-panel,.form-section,.preset-bar,.danger-zone{border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);background:var(--surface);box-shadow:var(--shadow-sm)}.workflow-panel{min-width:0;padding:24px}.panel-heading,.resource-card__title,.progress-copy,.danger-zone{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.panel-heading{margin-bottom:20px}.panel-heading h2,.preset-bar h2,.progress-copy h2,.danger-zone h2{margin-bottom:0;font-size:19px;letter-spacing:-.025em}.panel-heading>span,.resource-card__title>span{color:var(--muted);font-size:12px}.inline-state,.empty-copy{padding:28px;border:1px dashed var(--border);border-radius:var(--radius);color:var(--muted);text-align:center;background:#ffffff8c}.app-field__textarea{width:100%;min-height:96px;resize:vertical;padding:11px 12px;border:1px solid var(--border);border-radius:9px;color:var(--text);background:var(--surface);box-shadow:var(--shadow-sm);line-height:1.5}.app-field__textarea:focus,select.app-field__input:focus{border-color:#a1a1aa;box-shadow:0 0 0 3px #18181b0f;outline:none}.field-help{color:var(--muted);font-size:11px;line-height:1.5}.secret-field__heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.secret-state,.connection-pill{display:inline-flex;align-items:center;width:max-content;padding:3px 7px;border-radius:999px;color:#166534;background:#dcfce7;font-size:10px;font-weight:750}.connection-pill{color:#52525b;background:#f4f4f5}.connection-pill--verified{color:#166534;background:#dcfce7}.project-form{display:grid;gap:18px}.preset-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px}.preset-bar p:last-child,.form-section>p,.danger-zone p{margin:7px 0 0;color:var(--muted);font-size:12px;line-height:1.55}.form-section{display:grid;gap:17px;margin:0;padding:24px}.form-section legend{padding:0 9px;font-size:20px;font-weight:730;letter-spacing:-.025em}.field-pair,.infrastructure-grid,.settings-grid,.deployment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-footer{justify-content:flex-end;padding-top:8px}.danger-zone{align-items:center;padding:22px 24px;border-color:#fecaca}.resource-list,.activity-list,.stage-timeline,.log-viewer ol{padding:0;margin:0;list-style:none}.resource-list{display:grid;gap:12px;margin-bottom:22px}.resource-card{display:grid;gap:14px;padding:18px;border:1px solid var(--border);border-radius:11px;background:#fafafa}.resource-card__title>div{display:grid;gap:4px}.resource-card__title strong{font-size:14px}.resource-card__title div span,.resource-summary,.connection-test__message{color:var(--muted);font-size:11px}.resource-summary{display:grid;gap:8px;margin:0}.resource-summary div{display:flex;justify-content:space-between;gap:12px}.resource-summary dt{font-weight:650}.resource-summary dd{margin:0;text-align:right;overflow-wrap:anywhere}.resource-actions{justify-content:flex-end}.compact-form{display:grid;gap:14px;padding:19px;border:1px solid var(--border);border-radius:11px;background:#fafafa}.compact-form--plain{padding:0;border:0;background:transparent}.compact-form h3{margin:0 0 2px;font-size:15px}.connection-test{flex-wrap:wrap}.connection-test__message{display:inline-flex;align-items:center;gap:6px;margin:0}.connection-test__message--success{color:var(--success)}.connection-test__message--error{color:var(--danger)}.fingerprint-value,.recovery-command code{display:block;padding:14px;border:1px solid var(--border);border-radius:9px;overflow-wrap:anywhere;background:#fafafa;font-size:12px}.deployment-heading{align-items:center}.status-pill{display:inline-flex;align-items:center;width:max-content;padding:5px 9px;border-radius:999px;color:#52525b;background:#f4f4f5;font-size:10px;font-weight:750;white-space:nowrap}.status-pill--succeeded,.status-pill--rolled_back{color:#166534;background:#dcfce7}.status-pill--failed,.status-pill--cancelled{color:#991b1b;background:#fee2e2}.status-pill--running,.status-pill--cancel_requested{color:#92400e;background:#fef3c7}.progress-copy{align-items:flex-end}.progress-copy dl{display:flex;gap:28px;margin:0}.progress-copy dl div{display:grid;gap:4px}.progress-copy dt{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.progress-copy dd{margin:0;font-size:14px;font-weight:700}.progress-track{height:7px;margin-top:20px;overflow:hidden;border-radius:999px;background:#e4e4e7}.progress-track span{display:block;height:100%;border-radius:inherit;background:var(--brand);transition:width .24s ease}.stream-state{margin:14px 0 0;color:#92400e;font-size:11px}.deployment-grid{align-items:start}.deployment-grid>:only-child{grid-column:1 / -1}.stage-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 10px}.stage-timeline li{display:flex;min-width:0;align-items:center;gap:9px;color:var(--muted)}.stage-timeline__marker{display:grid;width:25px;height:25px;flex:0 0 auto;place-items:center;border:1px solid var(--border);border-radius:50%;background:#fafafa;font-size:10px;font-weight:750}.stage-timeline li div{display:grid;min-width:0;gap:2px}.stage-timeline strong{overflow:hidden;color:inherit;font-size:11px;text-overflow:ellipsis}.stage-timeline li div span{font-size:9px}.stage-timeline__item--active,.stage-timeline__item--complete{color:var(--text)!important}.stage-timeline__item--active .stage-timeline__marker{color:#fff;border-color:var(--brand);background:var(--brand)}.stage-timeline__item--complete .stage-timeline__marker{color:#166534;border-color:#bbf7d0;background:#dcfce7}.stage-timeline__item--error{color:var(--danger)!important}.stage-timeline__item--error .stage-timeline__marker{border-color:#fecaca;background:#fee2e2}.failure-reason{color:var(--danger);font-size:13px;line-height:1.55}.recovery-command,.rollback-option{display:grid;gap:10px;margin-top:16px}.recovery-command>span{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase}.rollback-option p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.log-viewer{overflow:hidden;border:1px solid #2e2e33;border-radius:calc(var(--radius) + 2px);color:#e4e4e7;background:#111113;box-shadow:var(--shadow-md)}.log-viewer header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid #2e2e33}.log-viewer h2{margin:0;font-size:14px}.log-viewer header>span,.log-viewer__window-note{color:#a1a1aa;font-size:10px}.log-viewer__viewport{height:min(48vh,520px);min-height:260px;overflow:auto;padding:13px 0;font:11px/1.65 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.log-viewer li{display:grid;grid-template-columns:42px 72px 88px minmax(0,1fr);gap:8px;padding:1px 16px;overflow-wrap:anywhere}.log-line__sequence,.log-viewer time,.log-line__stage{color:#71717a}.log-line--error{color:#fca5a5}.log-line--warn,.log-line--warning{color:#fde68a}.log-viewer__empty{padding:30px 18px;color:#71717a;text-align:center}.log-viewer__window-note{margin:0;padding:8px 18px;border-top:1px solid #2e2e33}.activity-list{display:grid}.activity-list li+li{border-top:1px solid var(--border)}.activity-list a{display:grid;grid-template-columns:auto minmax(150px,1fr) minmax(140px,1fr) auto auto;align-items:center;gap:14px;padding:16px 8px;border-radius:9px;text-decoration:none}.activity-list a:hover{background:#fafafa}.activity-list a>div{display:grid;gap:3px;min-width:0}.activity-list a div span,.activity-error{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.activity-marker,.diagnostic-dot{width:8px;height:8px;border-radius:50%;background:#a1a1aa}.activity-marker--succeeded,.activity-marker--rolled_back,.diagnostic-dot--ok{background:#22c55e}.activity-marker--failed,.activity-marker--cancelled{background:#ef4444}.settings-grid{align-items:start}.diagnostics-panel{grid-column:1 / -1}.diagnostic-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}.diagnostic-list div{display:grid;gap:7px;padding:14px;border:1px solid var(--border);border-radius:9px;background:#fafafa}.diagnostic-list dt{color:var(--muted);font-size:10px;font-weight:700;text-transform:capitalize}.diagnostic-list dd{display:flex;align-items:center;gap:7px;margin:0;font-size:12px;font-weight:650;text-transform:capitalize}@media(max-width:800px){.infrastructure-grid,.settings-grid,.deployment-grid,.field-pair{grid-template-columns:1fr}.diagnostics-panel,.deployment-grid>:only-child{grid-column:auto}.stage-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.page-heading__actions,.deployment-actions,.preset-bar,.progress-copy,.danger-zone{width:100%;align-items:stretch;flex-direction:column}.workflow-panel,.form-section,.preset-bar{padding:19px}.preset-actions,.form-footer{flex-wrap:wrap}.preset-actions .app-button,.form-footer .app-button{flex:1}.stage-timeline{grid-template-columns:1fr}.log-viewer li{grid-template-columns:30px 72px minmax(0,1fr)}.log-viewer time{display:none}.activity-list a{grid-template-columns:auto 1fr auto}.activity-list a>div:nth-of-type(2),.activity-list a>span:last-child{display:none}.diagnostic-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
