:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#e8ebf4;background:#080b14;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 15% 0%,#17223e 0,transparent 28rem),#080b14}button,input{font:inherit}button{border:1px solid #313a52;border-radius:9px;background:#171d2c;color:#eef1f9;padding:10px 15px;cursor:pointer;font-weight:650;transition:.15s ease;white-space:nowrap}button:hover:not(:disabled){border-color:#62719a;transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.42}button.primary{border-color:#5d6fff;background:#5d6fff;color:#fff}button.ghost{background:transparent}button.rollback{border-color:#9d7339;background:#9d733929;color:#f0bd6c}button.danger-text{color:#ff8b9d;border-color:transparent}input{width:100%;min-width:0;border:1px solid #303950;border-radius:9px;padding:11px 12px;background:#0a0f1b;color:#eef1f8;outline:none}input:focus{border-color:#6475ff;box-shadow:0 0 0 3px #586cff20}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}h1,h2,h3,p{margin-top:0}h1{margin:6px 0 0;font-size:clamp(28px,4vw,42px);letter-spacing:-.04em}h2{margin:4px 0 0;font-size:20px;letter-spacing:-.02em}h3{margin:0;font-size:16px;letter-spacing:-.01em}.page{width:min(1540px,calc(100% - 48px));min-height:100vh;margin:0 auto;padding:36px 0 72px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.eyebrow,.label{color:#8390b1;font-size:11px;font-weight:800;letter-spacing:.14em}.header-actions{display:flex;align-items:center;gap:12px}.version{color:#99a5c3;font-family:ui-monospace,monospace;font-size:13px}.panel{border:1px solid #252c3e;border-radius:14px;background:#0f1421eb;box-shadow:0 22px 65px #0003}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.alert{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding:13px 16px;border-radius:10px;font-size:13px}.alert.error,.inline-error{color:#ff9aaa;background:#b93d5529;border:1px solid rgba(217,90,112,.35)}.alert.notice{color:#73dfb3;background:#2b9b6921;border:1px solid rgba(59,190,130,.27)}.alert button{border:0;padding:0;background:transparent;font-size:20px}.inline-error{margin:12px 0;padding:10px 12px;border-radius:8px;font-size:12px}.warning-text{color:#e8b35f!important}.danger-color{color:#ff7187!important}.count{color:#8390b1}.environment-tabs{display:flex;gap:8px;margin-bottom:18px;padding:5px;overflow-x:auto;border:1px solid #252d40;border-radius:13px;background:#0c111d}.environment-tabs a{display:flex;align-items:center;gap:9px;padding:10px 15px;border:1px solid transparent;border-radius:9px;color:#97a2bd;font-weight:650;text-decoration:none;white-space:nowrap;transition:.15s ease}.environment-tabs a:hover{border-color:#3d4968;color:#dce2f3}.environment-tabs a.active{border-color:#5667ea;background:#20294a;color:#fff}.environment-tabs small{color:#68748e;font:10px ui-monospace,monospace;text-transform:uppercase}.environment-tabs a.active small{color:#aab3ff}.summary-strip{display:flex;align-items:center;min-height:60px;margin-bottom:22px;padding:10px 16px}.summary-strip>div{display:flex;align-items:baseline;gap:7px;min-width:110px;padding:0 18px;border-right:1px solid #282f42}.summary-strip>div:first-child{padding-left:2px}.summary-strip strong{font-size:20px}.summary-strip span,.summary-strip small{color:#7e89a4;font-size:11px}.summary-strip small{margin-left:auto}.services-heading{display:flex;justify-content:space-between;align-items:flex-end;margin:0 3px 12px}.services-heading small{color:#6f7b96}.redeploy-all-panel{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:22px;padding:18px 20px;border-color:#5d6fff59;background:linear-gradient(110deg,#222c5294,#0f1421eb)}.redeploy-all-copy{flex:1;min-width:0}.redeploy-all-copy h2{margin-top:3px;font-size:17px}.redeploy-all-copy p{margin:6px 0 0;color:#7d89a6;font-size:11px;line-height:1.5}.redeploy-all-copy .operation-strip{max-width:620px}.redeploy-all-copy details{margin-top:12px;color:#d59b57;font-size:11px}.redeploy-all-copy summary{cursor:pointer}.redeploy-all-panel>button{min-width:150px}.service-table-wrap{overflow:auto}.service-table{width:100%;border-collapse:collapse;table-layout:fixed}.service-table th{height:38px;padding:0 13px;border-bottom:1px solid #293145;color:#697590;font-size:10px;letter-spacing:.08em;text-align:left;text-transform:uppercase}.service-table td{height:58px;padding:8px 13px;border-bottom:1px solid #20273a;color:#a3aec7;font-size:12px;vertical-align:middle}.service-table tbody tr:last-child td{border-bottom:0}.service-table tbody tr:hover{background:#45537c1a}.service-table th:nth-child(1){width:19%}.service-table th:nth-child(2){width:12%}.service-table th:nth-child(3){width:16%}.service-table th:nth-child(4){width:8%}.service-table th:nth-child(5){width:9%}.service-table th:nth-child(6){width:10%}.service-table th:nth-child(8){width:48px}.service-link{display:flex;align-items:center;width:100%;gap:11px;padding:3px 0;color:inherit;text-align:left;text-decoration:none}.service-link:hover strong{color:#aeb8ff}.service-link>span:last-child{min-width:0}.service-link strong,.version-cell strong{display:block;overflow:hidden;color:#e3e7f1;text-overflow:ellipsis;white-space:nowrap}.service-link small,.version-cell small{display:block;margin-top:3px;overflow:hidden;color:#66728d;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.version-cell strong,.mono-cell{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.message-cell{overflow:hidden;color:#66728d!important;text-overflow:ellipsis;white-space:nowrap}.message-cell.has-message{color:#d5a95f!important}.open-button{display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid transparent;border-radius:9px;color:#8794b4;font-size:21px;line-height:1;text-decoration:none}.open-button:hover{border-color:#45516f;color:#c8d0e5}.open-button span{display:block;line-height:1;transform:translateY(-1px)}.runtime-down{color:#ff899b!important;font-weight:700}.infrastructure-section{margin-top:24px}.infrastructure-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.infrastructure-card{min-width:0;padding:17px}.infrastructure-card-heading{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:10px}.infrastructure-card-heading strong{overflow:hidden;color:#e3e7f1;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.infrastructure-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0 13px}.infrastructure-facts span{display:block;margin-bottom:5px;color:#68748e;font-size:9px;letter-spacing:.06em;text-transform:uppercase}.infrastructure-facts strong{display:block;overflow:hidden;color:#bdc6dc;font:11px ui-monospace,SFMono-Regular,Consolas,monospace;text-overflow:ellipsis;white-space:nowrap}.infrastructure-card>code{display:block;overflow:hidden;padding-top:11px;border-top:1px solid #222a3b;color:#65718d;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.status-dot{display:inline-block;flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:#71809d;box-shadow:0 0 11px currentColor}.status-dot.healthy{background:#52d397;color:#52d397}.status-dot.unhealthy{background:#ff657f;color:#ff657f}.status-dot.degraded,.status-dot.pending{background:#efb759;color:#efb759}.status-dot.canceled{background:#8e99b5;color:#8e99b5}.state-pill,.job-state,.history-result{display:inline-flex;border-radius:100px;padding:5px 8px;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.state-pill{color:#9ca8c4;background:#20283a}.state-healthy{color:#59d49d;background:#2b9b6924}.state-unhealthy,.state-conflict,.state-rollback{color:#ff7187;background:#ff53711f}.state-version_mismatch,.state-degraded,.state-deploying,.state-starting,.state-missing_env,.state-missing_project,.state-missing_compose,.state-missing_config{color:#f0bc61;background:#f0bc611f}.detail-heading{margin:6px 2px 16px}.back-button{margin-bottom:16px;padding:7px 0;border:0;background:transparent;color:#8996b5}.back-button:hover:not(:disabled){border-color:transparent;transform:translate(-2px)}.detail-title{display:flex;justify-content:space-between;align-items:center;gap:20px}.detail-title h2{margin-top:5px;font-size:30px}.service-message-banner{margin-bottom:15px;padding:12px 15px;border:1px solid #293247;border-radius:10px;color:#8d99b6;background:#141b2cbf;font-size:12px}.service-message-banner.warning{border-color:#dda44861;color:#e8b35f;background:#754e141c}.detail-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(340px,.7fr);gap:16px}.detail-panel,.control-panel{padding:22px}.detail-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:18px 0;overflow:hidden;border:1px solid #242c3e;border-radius:10px;background:#242c3e}.detail-facts>div{min-height:76px;padding:13px;background:#0d1320}.detail-facts span{display:block;margin-bottom:7px;color:#68748e;font-size:10px;text-transform:uppercase}.detail-facts strong{font:13px ui-monospace,SFMono-Regular,Consolas,monospace}.detail-facts code{display:block;overflow:hidden;color:#bdc6dc;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.metadata-line{display:flex;align-items:center;min-height:32px;gap:9px;border-top:1px solid #20273a;color:#818ca7;font-size:11px}.metadata-line>span:first-child{min-width:78px;color:#65718c}.metadata-line code{min-width:0;overflow:hidden;color:#b3bdd6;text-overflow:ellipsis;white-space:nowrap}.metadata-line a{min-width:0;overflow:hidden;color:#9ba8ff;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.metadata-line a:hover{color:#c2c9ff;text-decoration:underline}.metadata-line small{margin-left:auto;overflow:hidden;color:#68748e;text-overflow:ellipsis;white-space:nowrap}.control-panel{display:flex;flex-direction:column}.control-field{display:grid;gap:7px;margin-top:17px;color:#aeb7ce;font-size:12px;font-weight:650}.control-field>span{color:#75819c}.source-toggle{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border:1px solid #2a3348;border-radius:11px;background:#090e19}.source-toggle button{min-height:36px;padding:7px 10px;border-color:transparent;background:transparent;color:#7f8aa5;font-size:12px}.source-toggle button:hover:not(:disabled){transform:none}.source-toggle button.active{border-color:#4e5fcf;background:#20294a;color:#f2f4fc;box-shadow:0 4px 14px #0004}.local-build-note{display:grid;gap:4px;margin-top:17px;padding:12px;border:1px solid #293249;border-radius:9px;background:#0b111e}.local-build-note strong{color:#cfd5e6;font-size:12px}.local-build-note span{overflow:hidden;color:#707c98;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.worker-build-note{border-color:#5d6fff59;background:#3543861a}.service-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:auto;padding-top:20px}.service-actions button{padding:9px 12px;font-size:12px}.rollback-action{margin-top:9px!important}.wide{width:100%;margin-top:22px}.operation-strip{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;margin:16px 0 0;color:#9ca8c6;font-size:10px}.operation-strip>div{height:5px;overflow:hidden;border-radius:10px;background:#080c14}.operation-strip i{display:block;height:100%;background:#6577ff}.active-operation{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}.active-operation .operation-strip{min-width:0}.cancel-operation{padding:6px 8px;font-size:10px}.job-state.running,.job-state.queued{color:#93a1ff;background:#5d6fff21}.history-panel,.orphans-panel{margin-top:16px;padding:22px}.history-list{margin-top:15px}.history-event{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:13px;min-height:58px;padding:9px 2px;border-top:1px solid #20273a}.history-main{min-width:0}.history-main strong{color:#d8deed;font-size:12px}.history-main>span{margin-left:10px;color:#8995b0;font-size:11px}.history-main>span a{color:#9ba8ff;text-decoration:none}.history-main>span a:hover{text-decoration:underline}.history-main small{display:block;margin-top:4px;color:#65718d;font-size:10px}.history-result.completed{color:#59d49d;background:#2b9b6924}.history-result.failed{color:#ff7187;background:#ff53711f}.history-result.canceled{color:#a9b2c9;background:#8e99b51f}.history-result.running,.history-result.queued{color:#93a1ff;background:#5d6fff21}.history-event details{grid-column:2 / -1;width:100%}.history-event summary{color:#7f8ba6;cursor:pointer;font-size:11px}.diagnostics{max-height:260px;overflow:auto;padding:12px;border:1px solid #293146;border-radius:9px;background:#080c14;color:#9eabc8;font:11px/1.55 ui-monospace,monospace;white-space:pre-wrap}.orphan{display:grid;grid-template-columns:.5fr 1fr 1fr;gap:12px;padding:11px 0;border-top:1px solid #222a3b;color:#8793ad;font-size:12px}.orphan:first-of-type{margin-top:14px}.orphan strong{color:#d1d7e8}.orphan span,.orphan small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty{display:grid!important;place-items:center;min-height:90px!important;color:#6f7a94}.route-not-found{padding:28px}.route-not-found p{margin:10px 0 20px;color:#7f8aa5}.primary-link{display:inline-flex;padding:10px 15px;border-radius:9px;background:#5d6fff;color:#fff;font-weight:650;text-decoration:none}.centered{min-height:100vh;display:grid;place-items:center}.inventory-loading{min-height:240px}.spinner{width:36px;height:36px;border:3px solid #273047;border-top-color:#6f7fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(430px,100%);padding:34px;border:1px solid #283149;border-radius:18px;background:#0f1422f5;box-shadow:0 30px 100px #0008}.logo-mark{display:grid;place-items:center;width:42px;height:42px;margin-bottom:25px;border-radius:11px;background:#5d6fff;color:#fff;font-weight:900}.login-card h1{margin-bottom:10px;font-size:32px}.login-card p{margin-bottom:24px;color:#8792ad;font-size:13px;line-height:1.55}.login-card label{display:grid;gap:7px;margin-top:16px;color:#aeb7ce;font-size:12px;font-weight:650}@media(max-width:1080px){.detail-layout{grid-template-columns:1fr}.service-table{min-width:960px}.infrastructure-grid{grid-template-columns:1fr}}@media(max-width:760px){.page{width:min(100% - 28px,720px);padding-top:22px}.version{display:none}.summary-strip{align-items:stretch;flex-wrap:wrap}.summary-strip>div{flex:1 0 45%;padding:6px 12px;border-right:0}.summary-strip small{width:100%;margin:8px 10px 0}.services-heading{align-items:flex-start;gap:8px}.services-heading>small{max-width:190px;text-align:right}.detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.history-event{grid-template-columns:10px minmax(0,1fr)}.history-result{grid-column:2;justify-self:start}.history-event details{grid-column:2}.orphan{grid-template-columns:1fr;gap:4px}.redeploy-all-panel{align-items:stretch;flex-direction:column}.redeploy-all-panel>button{width:100%}}@media(max-width:520px){header{align-items:flex-start}.detail-title{align-items:flex-start}.detail-title h2{font-size:25px}.detail-facts{grid-template-columns:1fr}.detail-layout{display:block}.control-panel{margin-top:14px}.source-toggle{grid-template-columns:1fr}.service-actions{flex-wrap:wrap}}
