@font-face{font-family:Inter;src:url(/fonts/inter/InterVariable.woff2)format("woff2");font-style:normal;font-weight:100 900;font-display:swap}:root{--brand-mint:#9fe7c1;--brand-forest:#245a43;--brand-ink:#153d2d;--brand-muted:#7b8881}.harbor-logo{color:var(--brand-ink);white-space:nowrap;align-items:center;gap:10px;line-height:1;display:inline-flex}.harbor-logo__mark{flex-shrink:0;width:38px;height:auto;display:block}.harbor-logo__wordmark{letter-spacing:-.9px;font-size:21px;font-weight:850}.harbor-logo__domain{color:var(--brand-muted);font-weight:750}.harbor-logo--inverse{color:#f2f6f0}.harbor-logo--inverse .harbor-logo__domain{color:var(--brand-mint)}.auth-mobile-brand{display:none}.security-brand{width:max-content;margin-bottom:14px;display:flex}:root{color:#23322d;--muted:#7b8881;--border:#e5ebe6;background:#f6f8f6;font-family:Inter,system-ui,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-1.3px;margin-bottom:10px;font-size:32px;font-weight:800;line-height:1.3}h2{letter-spacing:-.35px;margin-bottom:16px;font-size:16px;font-weight:700}h3{font-size:15px}p{line-height:1.7}.muted{color:var(--muted)}.small,small{font-size:12px}.mint{color:#71cfa4}.mono,code,pre,.terminal,.code-input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}code{word-break:break-all}.eyebrow{letter-spacing:1.7px;color:#7d8e83;margin-bottom:12px;font-size:10px;font-weight:700;display:block}.brand{color:#fff;letter-spacing:-.6px;white-space:nowrap;align-items:center;gap:9px;font-size:19px;font-weight:800;display:flex}.brand-mark{color:#153d2d;background:#9fe7c1;border-radius:9px;place-items:center;width:29px;height:29px;font-size:25px;font-weight:500;line-height:1;display:grid}.workspace{min-height:100vh;display:flex}.sidebar{color:#b3c0b8;z-index:10;background:#111e19;flex-direction:column;width:243px;padding:32px 20px 20px;display:flex;position:fixed;inset:0 auto 0 0}.workspace-picker{color:#e1e9e4;background:#1b2a22;border:1px solid #304038;border-radius:9px;align-items:center;gap:11px;margin:38px 0 28px;padding:12px 10px;font-size:12px;font-weight:600;display:flex}.workspace-icon{color:#c3d7c8;background:#32483b;border-radius:7px;place-items:center;width:29px;height:30px;display:grid}.workspace-picker small,.account small{color:#82968a;margin-top:3px;font-size:10px;font-weight:400;display:block}.chevron{margin-left:auto}.nav-label{letter-spacing:1.8px;color:#657c6d;margin:0 12px 13px;font-size:9px}nav{gap:5px;display:grid}nav button{text-align:left;color:#9eafa4;background:0 0;border:0;border-radius:7px;align-items:center;gap:12px;padding:12px 13px;font-size:12px;font-weight:500;display:flex}nav button.active{color:#b8eccf;background:#263e31}nav button:hover{background:#20362a}.nav-symbol{place-items:center;width:19px;font-size:18px;font-weight:400;display:inline-grid}.nav-count{background:#43654e;border-radius:4px;margin-left:auto;padding:2px 6px;font-size:10px}.sidebar-bottom{margin-top:auto;padding-top:70px}.beta-card{background:linear-gradient(135deg,#1f3628,#18271f);border:1px solid #304437;border-radius:9px;margin-bottom:24px;padding:18px 13px}.beta-card .mint{letter-spacing:1px;font-size:8px}.beta-card p{color:#c7d3cb;margin:10px 0;font-size:12px}.beta-card .muted{font-size:10px}.account{align-items:center;gap:10px;font-size:12px;display:flex}.account>span:last-child{color:#7b9785;margin-left:auto}.avatar{color:#d2dfd6;background:#314738;border:1px solid #49604f;border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.sidebar .text-button{color:#718c7a;margin:12px 0 0 42px;font-size:10px}.main{width:calc(100% - 243px);margin-left:243px}.topbar{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;height:76px;padding:0 38px;display:flex}.breadcrumbs{color:#7b8880;font-size:11px}.breadcrumbs span{color:#c0c9c3;margin:0 13px}.topbar-right{align-items:center;gap:23px;display:flex}.security-link{color:#708176;font-size:11px}.content{max-width:1530px;margin:auto;padding:34px 38px}.info-banner,.error-banner,.notice-banner{border-radius:7px;align-items:center;gap:11px;margin-bottom:25px;padding:13px 15px;font-size:11px;line-height:1.6;display:flex}.info-banner{color:#5e7564;background:#eff6ee;border:1px solid #dce8de}.info-banner>span{color:#558468;font-size:21px}.info-banner strong{font-weight:600}.error-banner{color:#aa483a;background:#fff0ed;border:1px solid #f3cec8}.notice-banner{color:#35654a;white-space:pre-wrap;background:#e9f7ed;max-height:300px;overflow:auto}.error-banner button,.notice-banner button{background:0 0;border:0;margin-left:auto;font-size:19px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin:12px 0 30px;display:flex}.page-heading p{margin:0;font-size:12px}.page-heading .eyebrow{margin-bottom:10px;font-size:8px}.button{color:#526257;white-space:nowrap;background:#fff;border:1px solid #dce4dd;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:10px 14px;font-size:11px;font-weight:600;line-height:1.3;display:inline-flex}.button:hover{background:#eef4ef;border-color:#b6c9bd}.button.primary{color:#fff;background:#245a43;border-color:#245a43;box-shadow:0 2px 3px #173d2510}.button.primary:hover{background:#1b4935}.button.small{padding:7px 10px;font-size:10px}.button.full{width:100%;padding:13px;font-size:13px}.button-row{align-items:center;gap:9px;display:flex}.button-row>input{flex:1;min-width:0}.text-button{color:#61856c;background:0 0;border:0;padding:0;font-size:11px}.badge{white-space:nowrap;text-transform:capitalize;border-radius:4px;align-items:center;gap:5px;width:max-content;padding:5px 8px;font-size:9px;font-weight:500;display:inline-flex}.badge.good{color:#3e8257;background:#eaf6ee}.badge.bad{color:#b34e3e;background:#fcedea}.badge.neutral{color:#79887e;background:#f0f3f0}.topbar .badge{letter-spacing:1.1px;background:#f8faf7;border:1px solid #e0e7df;font-size:8px}.stats{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px;display:grid}.stat{border:1px solid var(--border);background:#fff;border-radius:9px;padding:19px;position:relative}.stat>span:first-child{color:#809085;font-size:11px}.stat>div{letter-spacing:-1px;margin:12px 0 0;font-size:29px;font-weight:700}.stat small{color:#99a69d;letter-spacing:0;margin-top:7px;font-size:9px;font-weight:400;display:block}.stat .stat-icon{color:#789f82;background:#f2f7f0;border-radius:7px;place-items:center;width:28px;height:28px;font-size:16px;display:grid;position:absolute;top:17px;right:16px}.panel{border:1px solid var(--border);background:#fff;border-radius:9px;min-width:0;margin-bottom:23px;padding:23px}.panel-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px;display:flex}.panel-heading h2{margin:0}.count{color:#8a9b8f;background:#f0f5ef;border-radius:4px;place-items:center;min-width:19px;margin-left:5px;padding:2px;font-size:10px;display:inline-grid}.overview-grid{grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);gap:23px;display:grid}.applications-panel{padding-bottom:0}.app-row{text-align:left;background:0 0;border:0;border-top:1px solid #eff2ee;align-items:center;gap:14px;width:100%;padding:17px 0;display:flex}.app-row:hover{background:#fafcf9}.app-icon{color:#c87858;background:#f7efeb;border:1px solid #f0e3db;border-radius:9px;flex-shrink:0;place-items:center;width:37px;height:37px;font-family:Georgia,serif;font-size:23px;font-style:italic;display:grid}.app-row .row-main{flex:1;display:block}.row-main strong{font-size:12px;font-weight:600}.row-main small,.deployment-name small,.list-row small{color:#98a69c;margin-top:5px;font-size:10px;display:block}.row-main{overflow-wrap:anywhere;flex:1;align-items:center;gap:13px;min-width:0;display:flex}.launch-card{background:#eef3e9;border:1px solid #e0e8d8;border-radius:9px;margin-bottom:23px;padding:28px 25px;position:relative;overflow:hidden}.launch-card:after{content:"↗";color:#dbe7d32b;z-index:0;font-size:200px;line-height:1;position:absolute;top:6px;right:-23px}.launch-card>*{z-index:1;position:relative}.launch-card .eyebrow{letter-spacing:1.3px;font-size:7px}.launch-card h2{letter-spacing:-1px;margin-bottom:13px;font-size:26px;font-weight:800;line-height:1.35}.launch-card p{color:#8a9985;max-width:230px;font-size:11px}.runtime-pills{gap:6px;margin:18px 0 22px;display:flex}.runtime-pills span{color:#7c8d72;background:#f6f9f0;border:1px solid #d5dfcb;border-radius:4px;padding:4px 8px;font-size:9px}.launch-line{color:#788c70;margin:12px 0;font-size:10px}.launch-line span{color:#83a172;margin-right:7px}.recent-deployments{padding-bottom:0}.live-label{color:#96a498;align-items:center;gap:7px;font-size:9px;display:flex}.live-label span{background:#9cca9c;border-radius:50%;width:5px;height:5px}.table-head,.deployment-row{grid-template-columns:minmax(150px,2fr) minmax(80px,1fr) minmax(80px,1fr) minmax(90px,1fr);align-items:center;gap:15px;display:grid}.table-head{letter-spacing:1.2px;color:#a2afa5;border-bottom:1px solid #edf1eb;padding:0 0 15px;font-size:8px}.deployment-row{text-align:left;background:0 0;border:0;border-bottom:1px solid #eff3ed;width:100%;padding:16px 0}.deployment-row:last-child{border:0}.deployment-row:hover{background:#fafcf9}.deployment-name{align-items:center;gap:11px;display:flex}.deployment-name strong{font-size:11px;font-weight:600}.deployment-row code{color:#8c9b90;font-size:10px}.status-dot{background:#b2bfb5;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.status-dot.good{background:#78b98c;box-shadow:0 0 0 3px #eef7ed}.status-dot.bad{background:#d47e6d}.status-dot.neutral{background:#b9c7bb}.empty-state{text-align:center;padding:45px 20px}.empty-state h3{letter-spacing:-.4px;margin-bottom:9px;font-size:17px}.empty-state p{color:#93a094;font-size:11px;line-height:1.8}.empty-icon{color:#8dac8a;background:#f0f6ed;border-radius:13px;place-items:center;width:48px;height:48px;margin:0 auto 20px;font-size:24px;display:grid}.empty-inline{text-align:center;color:#9aaa9d;margin:0;padding:20px;font-size:11px}.page-footer{color:#a2afa4;justify-content:space-between;align-items:center;margin-top:35px;font-size:9px;display:flex}.dot{color:#bdc7be;margin:0 7px}.server-row,.list-row{border-top:1px solid #edf2ec;align-items:center;gap:14px;padding:16px 0;display:flex}.server-symbol{color:#8ca38e;font-size:22px}.integration-card{padding:26px}.integration-logo{color:#7e9e72;background:#eef4e9;border:1px solid #dce8d8;border-radius:11px;place-items:center;width:42px;height:42px;margin-bottom:23px;font-size:24px;display:grid}.integration-card p{min-height:45px;font-size:12px}.feature-grid,.two-column{grid-template-columns:1fr 1fr;gap:23px;display:grid}.mini-panel{background:#f5f8f2;border:1px solid #e8eee3;border-radius:8px;margin:10px 0 25px;padding:22px}.mini-panel>span{color:#8ba080;font-size:10px}.mini-panel h3{margin:12px 0}.mini-panel p{color:#94a18d;margin:0;font-size:12px}.tabs{border-bottom:1px solid #e0e8df;gap:25px;margin:10px 0 28px;display:flex;overflow:auto}.tabs button{color:#8b9a8c;background:0 0;border:0;border-bottom:2px solid #0000;padding:0 0 15px;font-size:11px}.tabs button.active{color:#315d40;border-bottom-color:#41714c}.title-line{align-items:center;gap:12px;margin:15px 0;display:flex}.title-line h1{margin:0;font-size:27px}.title-line .app-icon{width:32px;height:32px}.back-link{color:#97a498;background:0 0;border:0;padding:0;font-size:10px}dl{grid-template-columns:140px 1fr;gap:18px;margin:25px 0 30px;font-size:11px;display:grid}dt{color:#95a394}dd{overflow-wrap:anywhere;margin:0}.code-input{color:#5b6f5c;background:#f8faf7;width:100%;margin-bottom:18px;padding:15px;line-height:1.8;display:block}.operation-drawer{z-index:30;background:#fff;border-left:1px solid #e0e8df;width:min(680px,80vw);padding:27px;position:fixed;top:0;bottom:0;right:0;overflow:auto;box-shadow:-15px 0 70px #17372217}.operation-drawer header{justify-content:space-between;gap:15px;display:flex}.operation-drawer h2{align-items:center;gap:13px;font-size:22px;display:flex}.operation-drawer .terminal{white-space:pre-wrap;word-break:break-word;height:calc(100vh - 230px);overflow:auto}.operation-output p{margin:0;font-size:11px;line-height:1.7}.icon-button{color:#8e9c90;background:0 0;border:0;font-size:25px;line-height:1}.modal-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:50;background:#10251b65;justify-content:center;align-items:center;padding:25px;display:flex;position:fixed;inset:0}.modal{background:#fff;border:1px solid #e5ece0;border-radius:12px;width:560px;max-height:90vh;padding:30px;overflow:auto;box-shadow:0 25px 100px #102c2533}.modal .eyebrow{font-size:8px}.modal h2{font-size:23px}.modal-actions{justify-content:flex-end;margin-top:25px}label{color:#6c806e;margin:16px 0;font-size:11px;font-weight:500;display:block}input,textarea,select{color:#415a45;background:#fff;border:1px solid #dce5da;border-radius:6px;outline:none;width:100%;margin-top:7px;padding:11px 12px;font-size:12px;display:block}input:focus,textarea:focus,select:focus{border-color:#8cb197;box-shadow:0 0 0 3px #edf4e9}textarea{resize:vertical}.button-row>input{margin-top:0}.error{color:#be5944;font-size:12px}.subtle-link{color:#748d76;margin-top:20px;font-size:12px;display:inline-block}.auth-shell{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.auth-story{color:#f2f6f0;background:#14271c;flex-direction:column;justify-content:space-between;padding:45px 55px;display:flex}.auth-story .eyebrow{color:#8ab698}.auth-story h1{letter-spacing:-2px;margin:25px 0;font-size:48px;line-height:1.25}.auth-story p{color:#9bb5a1;max-width:350px}.auth-story>.muted{color:#7c9b85}.beta{color:#91ba9b;letter-spacing:1px;margin-left:5px;font-size:9px;font-weight:400}.terminal{color:#b7cdbd;background:#102017;border:1px solid #2b4431;border-radius:9px;margin-top:30px;padding:24px}.terminal-dots{letter-spacing:4px;color:#435d49;margin-bottom:22px;font-size:8px;display:block}.terminal p{max-width:none;margin:9px 0;font-size:11px}.terminal i{color:#6ea87e;margin-right:9px;font-style:normal}.auth-form{background:#fcfdfb;place-items:center;padding:45px;display:grid}.auth-card{width:100%;max-width:350px}.auth-card h2{letter-spacing:-1px;margin:15px 0;font-size:30px}.auth-card>p{font-size:12px}.auth-card .full{margin-top:25px}.footnote{border-top:1px solid #e7eee3;margin-top:45px;padding-top:25px;font-size:10px!important}.security-page{max-width:620px;margin:40px auto;padding:20px}.security-page .panel{margin-top:25px}.security-page h1{font-size:26px}.qr{background:#fff;padding:20px}.qr svg{max-width:220px}.security-page pre{white-space:pre-wrap;background:#f5f8f1;padding:20px;line-height:1.8}button:focus-visible,a:focus-visible{outline-offset:3px;outline:2px solid #79b48c}@media (width>=1500px){.content{padding-top:50px}.overview-grid{grid-template-columns:2fr 1fr}.stats{gap:23px}.stat{padding:24px}}@media (width<=1100px){.sidebar{width:210px;padding:25px 15px}.main{width:calc(100% - 210px);margin-left:210px}.brand{font-size:17px}.topbar{padding:0 25px}.content{padding:25px}.page-heading{align-items:flex-start}.page-heading>.button-row{flex-direction:column;align-items:stretch}.stats{gap:10px}.stat{padding:15px}.stat .stat-icon{display:none}.overview-grid{grid-template-columns:1fr}.launch-card{display:none}.two-column{grid-template-columns:1fr}.server-row{flex-wrap:wrap}.topbar-right{gap:10px}}@media (width<=760px){.sidebar{width:63px;padding:20px 10px}.sidebar .brand{justify-content:center}.sidebar .brand>span:last-child,.workspace-picker,.nav-label,.sidebar-bottom,nav button .nav-count{display:none}.sidebar nav{margin-top:35px}nav button{justify-content:center;gap:0;padding:12px 8px;font-size:0}nav button .nav-symbol{font-size:21px}.main{width:calc(100% - 63px);margin-left:63px}.topbar{height:60px;padding:0 17px}.topbar .badge{display:none}.security-link{font-size:9px}.breadcrumbs{font-size:10px}.content{padding:23px 17px}.info-banner{font-size:10px;line-height:1.5}.info-banner>span{display:none}.page-heading{margin-bottom:25px;display:block}.page-heading .button-row{flex-direction:row;margin-top:20px}h1{letter-spacing:-1px;font-size:25px}.page-heading p{font-size:11px}.stats{grid-template-columns:1fr 1fr}.stat>div{font-size:25px}.stat small{font-size:8px}.panel{padding:18px}.panel-heading{margin-bottom:20px}.panel-heading h2{font-size:14px}.panel-heading .small{display:none}.app-row{gap:9px}.app-row .badge{padding:4px 5px;font-size:8px}.app-icon{width:30px;height:30px;font-size:21px}.row-main strong{font-size:11px}.table-head,.deployment-row{grid-template-columns:minmax(100px,1.5fr) minmax(70px,1fr) minmax(60px,1fr);gap:8px}.table-head>span:last-child,.deployment-row>span:last-child{display:none}.table-head{font-size:7px}.deployment-row code{font-size:9px}.deployment-name strong{font-size:10px}.feature-grid{grid-template-columns:1fr}.page-footer>span:first-child{display:none}.operation-drawer{width:calc(100% - 25px);padding:20px}.tabs{gap:20px}.auth-shell{grid-template-columns:1fr}.auth-story{display:none}.auth-form{padding:35px}.title-line{flex-wrap:wrap}.title-line h1{font-size:23px}.modal-backdrop{padding:12px}.modal{padding:22px}.server-row .button{font-size:9px}dl{grid-template-columns:100px 1fr}.page-heading .button-row .button{font-size:10px}}.forge-workspace{--surface:#fff;--canvas:#fafbfa;--muted:#67716b;--border:#e1e5e2;--text:#242c28;--hover:#f0f3f1;--accent:#167852;--menu-shadow:0 2px 5px #0000000d, 0 12px 24px #00000014, 0 28px 48px #0000000a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;min-height:100vh;color:var(--text);background:var(--canvas);font-size:14px;line-height:1.5;display:block}.forge-workspace[data-theme=dark]{--surface:#181a19;--canvas:#101211;--muted:#919a95;--border:#2c302e;--text:#e8ede9;--hover:#252a27;--accent:#7fd6b0;--menu-shadow:0 2px 5px #0003, 0 12px 24px #0004, 0 28px 48px #0002;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.forge-workspace h1,.forge-workspace h2,.forge-workspace h3{letter-spacing:-.35px}.forge-workspace h1{margin:0 0 5px;font-size:22px;font-weight:600}.forge-workspace h2{font-size:15px;font-weight:600}.forge-workspace button,.forge-workspace input,.forge-workspace textarea,.forge-workspace select{color:inherit}.forge-workspace input,.forge-workspace textarea,.forge-workspace select{background:var(--surface);border-color:var(--border)}.forge-workspace button:focus-visible,.forge-workspace a:focus-visible,.forge-workspace select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.forge-workspace .scope-bar{background:var(--canvas);align-items:center;gap:12px;min-height:65px;padding:0 30px;display:flex}.forge-workspace .brand-home{background:0 0;border:0;padding:0}.forge-workspace .brand-mark{border-radius:5px;width:28px;height:28px}.forge-workspace .scope-name{white-space:nowrap;background:0 0;border:0;padding:8px 0;font-size:14px}.forge-workspace .scope-separator{color:var(--muted);flex-shrink:0}.forge-workspace .scope-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.forge-workspace .search-trigger{border:1px solid var(--border);color:var(--muted);background:0 0;border-radius:6px;align-items:center;gap:8px;min-width:168px;min-height:32px;padding:5px 9px;font-size:13px;display:flex}.forge-workspace kbd{color:var(--muted);margin-left:auto;font-size:10px}.forge-workspace .icon-button{color:var(--muted);background:0 0;border:0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;padding:6px;display:inline-flex}.forge-workspace .avatar-button{color:#9ed9bb;background:#203c30;border:1px solid #335844;border-radius:50%;place-items:center;width:30px;height:30px;font-size:12px;display:grid}.connection-state{background:#bd944c;border-radius:50%;width:6px;height:6px}.connection-state.online{background:#6cb99a}.notification-button{position:relative}.unread-dot{width:6px;height:6px;box-shadow:0 0 0 2px var(--canvas);background:#74c9a6;border-radius:50%;position:absolute;top:1px;right:2px}.forge-workspace .scope-tabs{border-bottom:0;gap:25px;height:52px;padding:0 32px;display:flex;overflow-x:auto}.forge-workspace .scope-tabs a{white-space:nowrap;color:var(--muted);border-bottom:2px solid #0000;align-items:center;font-size:14px;display:flex}.forge-workspace .scope-tabs a.active{color:var(--text);border-bottom-color:var(--text)}.forge-workspace .main{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 35%, var(--canvas));border-bottom:0;border-radius:12px 12px 0 0;width:100%;min-height:calc(100vh - 117px);margin:0}.forge-workspace .content{max-width:1144px;margin:auto;padding:36px 24px 90px}.forge-workspace .page-heading{border-bottom:1px solid var(--border);align-items:center;min-height:86px;margin:0 0 32px;padding:0 0 26px}.forge-workspace .page-heading p{overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.5}.forge-workspace .title-line{align-items:center;gap:16px}.forge-workspace .site-heading .app-icon{color:#a1cdb0;background:#253a2e;border:1px solid #3a5743;border-radius:8px;width:46px;height:46px;font-size:21px}.forge-workspace .button{background:var(--surface);min-height:32px;color:var(--text);border:1px solid var(--border);border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:6px 11px;font-size:13px;font-weight:500;display:inline-flex;box-shadow:0 1px 2px #0000000d}.forge-workspace .button:hover{background:var(--hover)}.forge-workspace .button.primary{background:var(--text);color:var(--canvas);border-color:var(--text)}.forge-workspace .button-row{gap:8px}.forge-workspace .panel{background:var(--surface);border:1px solid var(--border);box-shadow:none;border-radius:8px;margin-bottom:26px;padding:20px}.forge-workspace .compact-panel{margin:0;padding:0 16px}.forge-workspace .panel-heading{margin-bottom:17px}.forge-workspace .panel-heading h2{margin-bottom:0}.forge-workspace .site-overview{grid-template-columns:minmax(0,1fr) 220px;gap:38px;display:grid}.forge-workspace .overview-section{min-width:0;margin-bottom:35px}.forge-workspace .text-button{color:var(--muted);align-items:center;gap:5px;font-size:13px;display:inline-flex}.forge-workspace .app-row{color:var(--text);border-color:var(--border);gap:14px;padding:15px 0;font-size:13px}.forge-workspace .app-row:hover,.forge-workspace .deployment-row:hover{background:var(--hover)}.forge-workspace .row-main{min-width:0}.forge-workspace .row-main small{white-space:normal;overflow-wrap:anywhere;color:var(--muted);font-size:11px}.forge-workspace .app-row .row-main small{margin-top:4px;font-size:12px}.forge-workspace .badge{white-space:nowrap;border-radius:4px;padding:3px 6px;font-size:11px;font-weight:500}.forge-workspace .badge.neutral{color:var(--muted);background:var(--hover)}.forge-workspace .badge.good{color:#73bd9b;background:#1f49332e}.forge-workspace .badge.bad{color:#e38c80;background:#a9433326}.forge-workspace .stat{background:var(--surface);border:1px solid var(--border);box-shadow:none;border-radius:7px;padding:18px}.forge-workspace .stat>div{color:var(--text);font-size:25px}.forge-workspace .stat-icon{display:none}.forge-workspace .overview-grid{display:block}.forge-workspace .details-rail h2{margin-bottom:17px}.forge-workspace .details-rail dl{grid-template-columns:85px minmax(0,1fr);gap:14px 10px;margin:0 0 32px;display:grid}.forge-workspace dl dt,.forge-workspace dl dd{word-break:break-word;border:0;margin:0;padding:0;font-size:13px}.forge-workspace dl dt{color:var(--muted)}.forge-workspace .details-rail .text-button{color:var(--text);text-align:left;font-size:12px}.forge-workspace .rail-link{width:100%;color:var(--muted);background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;font-size:12px;display:flex}.forge-workspace .activity-line{text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;padding:9px 0;font-size:12px;display:flex}.forge-workspace .activity-line .muted{margin-left:auto}.forge-workspace .sub-navigation{flex-wrap:wrap;gap:7px;margin:-8px 0 27px;display:flex}.forge-workspace .sub-navigation a{color:var(--muted);border-radius:5px;padding:7px 13px;font-size:12px}.forge-workspace .sub-navigation a.active{background:var(--hover);color:var(--text)}.forge-workspace .server-card{border-color:var(--border)}.forge-workspace .server-name{background:0 0;border:0;align-items:center;gap:8px;padding:0;font-weight:600;display:inline-flex}.forge-workspace .empty-inline{color:var(--muted);padding:20px 0;font-size:12px}.forge-workspace .table-head{background:var(--hover);color:var(--muted);border-color:var(--border)}.forge-workspace .deployment-row,.forge-workspace .list-row{border-color:var(--border);color:var(--text);background:0 0}.forge-workspace .code-input{background:var(--canvas);border:1px solid var(--border);color:var(--text);margin-bottom:18px}.forge-workspace .modal{background:var(--surface);border:1px solid var(--border);color:var(--text);max-height:min(85dvh,850px);box-shadow:var(--menu-shadow);overscroll-behavior:contain;border-radius:12px;padding:24px;overflow-y:auto}.forge-workspace .modal input,.forge-workspace .modal select,.forge-workspace .modal textarea{background:var(--canvas);color:var(--text)}.forge-workspace .error-banner{color:#ffafa2;overflow-wrap:anywhere;background:#3e2521;border-color:#794037}.forge-workspace .notice-banner,.forge-workspace .info-banner{background:var(--hover);color:var(--text);border-color:var(--border)}.forge-workspace .run-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:22px;margin-top:20px;font-size:12px;display:flex}.run-status.succeeded{color:#64b994}.run-status.running,.run-status.queued{color:#74aef2}.run-status.failed,.run-status.needs_attention{color:#e48279}.forge-workspace .log-stage{border:1px solid var(--border);background:var(--surface);border-radius:7px;margin:0 0 14px}.forge-workspace .log-stage summary{cursor:pointer;text-transform:capitalize;justify-content:space-between;padding:17px 20px;font-size:13px;display:flex}.forge-workspace .log-stage summary small{color:var(--muted);text-transform:none}.forge-workspace .log-stage .terminal{border:1px solid var(--border);background:var(--canvas);color:var(--text);border-radius:4px;max-height:470px;margin:0 16px 16px;padding:16px;overflow:auto}.forge-workspace .terminal pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.85}.forge-workspace .scope-kicker{color:var(--muted);margin-bottom:9px!important}.popover-dismiss{z-index:30;position:fixed;inset:0}.notifications-popover,.account-popover{z-index:31;background:var(--surface);border:1px solid var(--border);box-shadow:var(--menu-shadow);border-radius:9px;width:390px;max-height:70vh;position:fixed;top:58px;right:28px;overflow:auto}.notifications-popover header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:17px;display:flex}.notifications-popover header h2{margin:0}.notification-row{text-align:left;border:0;border-bottom:1px solid var(--border);background:0 0;align-items:flex-start;gap:13px;width:100%;padding:14px 16px;font-size:13px;display:flex}.notification-row svg{color:var(--accent);flex-shrink:0;margin-top:3px}.notification-row>span{min-width:0}.notification-row strong,.notification-row span span,.notification-row small{overflow-wrap:anywhere;line-height:1.7;display:block}.notification-row small{color:var(--muted);font-size:12px}.notification-row.unread{background:var(--hover);box-shadow:inset 2px 0 var(--accent)}.notification-row:hover{background:var(--hover)}.account-popover{gap:2px;width:256px;padding:6px;display:grid}.account-popover>strong{padding:10px 10px 0;font-size:14px;font-weight:500}.account-popover small{color:var(--muted);border-bottom:1px solid var(--border);text-transform:capitalize;margin:0 0 6px;padding:0 10px 10px}.account-popover a,.forge-workspace .account-popover button{color:var(--text);text-align:left;border-radius:5px;justify-content:space-between;min-height:36px;padding:7px 10px;font-size:14px;display:flex}.forge-workspace .search-modal{max-width:600px;padding:8px}.forge-workspace .search-modal .panel-heading{border-bottom:1px solid var(--border);align-items:center;gap:10px;margin:0 0 6px;padding:8px;display:flex}.forge-workspace .search-modal input{background:0 0;border:0;flex:1}.forge-workspace .search-result{border-radius:5px;justify-content:space-between;align-items:center;padding:12px;display:flex}.forge-workspace .search-result:hover{background:var(--hover)}.forge-workspace .search-result small{color:var(--muted);margin-top:3px;font-size:12px;display:block}.deployment-messages{z-index:25;flex-direction:column-reverse;gap:10px;width:min(440px,100vw - 28px);max-height:45vh;padding:4px;display:flex;position:fixed;bottom:26px;left:50%;overflow-y:auto;transform:translate(-50%)}.deployment-toast{color:#f2f7f4;background:#181e1b;border:1px solid #39483f;border-radius:10px;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 40px #0006}.deployment-toast.pending:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#759d8440,#0000);width:60%;animation:2.8s ease-in-out infinite deploy-progress;position:absolute;inset:0}.deployment-toast .toast-open{z-index:1;text-align:left;min-width:0;color:inherit;background:0 0;border:0;flex:1;align-items:center;gap:12px;padding:13px;font-size:12px;display:flex}.toast-open>span{flex:1;min-width:0}.toast-open strong{font-weight:500;display:block}.toast-open span span{overflow-wrap:anywhere;margin-top:3px;display:block}.toast-open .toast-id{color:#9aa89f;margin-left:3px;display:inline}.toast-open svg{color:#8ab8f3;flex-shrink:0}.succeeded .toast-open svg{color:#70cf9f}.failed .toast-open svg,.needs_attention .toast-open svg{color:#f39084}.forge-workspace .toast-dismiss{z-index:1;color:#99aaa0;background:0 0;border:0;place-items:center;padding:0 9px;display:grid}.deployment-toast-enter-active,.deployment-toast-leave-active{transition:opacity .2s,transform .2s}.deployment-toast-enter-from,.deployment-toast-leave-to{opacity:0;transform:translateY(14px)scale(.97)}.spin{animation:1.3s linear infinite deploy-spin}.page-skeleton{min-height:420px;padding-top:16px}.page-skeleton>div{background:linear-gradient(90deg,var(--surface),var(--hover),var(--surface));background-size:200%;border-radius:6px;animation:2s infinite deploy-skeleton}.skeleton-heading{width:min(320px,65%);height:26px;margin-bottom:14px}.skeleton-subtitle{width:min(230px,45%);height:14px;margin-bottom:48px}.skeleton-panel{height:120px;margin-bottom:24px}@keyframes deploy-progress{0%{transform:translate(-110%)}to{transform:translate(220%)}}@keyframes deploy-spin{to{transform:rotate(360deg)}}@keyframes deploy-skeleton{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.spin,.page-skeleton>div,.deployment-toast.pending:before{animation:none}.deployment-toast-enter-active,.deployment-toast-leave-active{transition:none}}@media (width<=900px){.forge-workspace .scope-bar{flex-wrap:wrap;gap:9px;padding:12px 18px}.forge-workspace .organization-name{text-overflow:ellipsis;max-width:145px;overflow:hidden}.forge-workspace .scope-actions{gap:10px}.forge-workspace .search-trigger{min-width:0;padding:6px}.forge-workspace .search-trigger span,.forge-workspace .search-trigger kbd{display:none}.forge-workspace .site-overview{grid-template-columns:minmax(0,1fr) 190px;gap:22px}.forge-workspace .content{padding:25px 20px 90px}}@media (width<=620px){.forge-workspace .scope-bar{gap:7px}.forge-workspace .scope-actions{order:1}.forge-workspace .scope-separator,.forge-workspace .organization-name{display:none}.forge-workspace .scope-tabs{gap:20px;height:48px;padding:0 20px}.forge-workspace .content{padding:24px 16px 90px}.forge-workspace .page-heading{flex-direction:column;align-items:flex-start;gap:18px}.forge-workspace .site-overview{display:block}.forge-workspace h1{overflow-wrap:anywhere;font-size:21px}.forge-workspace .details-rail{border-top:1px solid var(--border);padding-top:20px}.forge-workspace .stats{grid-template-columns:1fr 1fr}.notifications-popover{width:auto;left:12px;right:12px}.forge-workspace .run-meta{gap:12px}.forge-workspace .panel{padding:14px}.forge-workspace .app-row,.forge-workspace .server-row,.forge-workspace .server-card{flex-wrap:wrap}}.forge-workspace .mini-panel{background:var(--hover);border:1px solid var(--border);color:var(--text)}.forge-workspace .mini-panel p{color:var(--muted)}.forge-workspace .notifications-popover .empty-inline{padding:20px}.forge-workspace .server-controls .resource-row{border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:18px 0;display:flex}.forge-workspace .server-controls .row-main{overflow-wrap:anywhere;flex:1;min-width:0}.forge-workspace .server-controls .row-main small{margin-top:6px;display:block}.forge-workspace .server-controls pre,.forge-workspace .deployment-settings pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:420px;overflow:auto}.forge-workspace .server-controls .form-grid,.forge-workspace .deployment-settings .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0;display:grid}.forge-workspace .server-controls label,.forge-workspace .deployment-settings label{flex-direction:column;gap:8px;margin:16px 0;display:flex}.forge-workspace .deployment-settings .check-label{flex-direction:row;align-items:center}.forge-workspace .deployment-settings .check-label input{width:auto}.forge-workspace .deployment-settings details{margin:20px 0}.forge-workspace .code-editor{resize:vertical;width:100%;font:13px/1.65 IBM Plex Mono,monospace}@media (width<=800px){.forge-workspace .server-controls .resource-row{flex-wrap:wrap}.forge-workspace .server-controls .row-main{flex-basis:100%}.forge-workspace .server-controls .form-grid,.forge-workspace .deployment-settings .form-grid{grid-template-columns:1fr}}.forge-workspace .server-controls .row-main{display:block}.forge-workspace .server-controls .row-main strong{font-size:13px;line-height:1.5;display:block}.forge-workspace .server-controls .row-main small{font-size:12px;line-height:1.6}.forge-workspace .server-controls .row-main pre{margin:8px 0 0;font-size:12px}.forge-workspace button,.forge-workspace a,.forge-workspace input,.forge-workspace textarea,.forge-workspace select{transition:background-color .12s,border-color .12s,color .12s,box-shadow .12s}.forge-workspace button:disabled{cursor:not-allowed;opacity:.45}.forge-workspace .button.primary:hover:not(:disabled){opacity:.9}.forge-workspace .icon-button:hover,.forge-workspace .icon-button[aria-expanded=true],.forge-workspace .scope-name:hover,.forge-workspace .search-trigger:hover,.account-popover a:hover,.forge-workspace .account-popover button:hover{background:var(--hover);color:var(--text)}.forge-workspace .scope-tabs a:hover,.forge-workspace .sub-navigation a:hover,.forge-workspace .text-button:hover{color:var(--text)}.forge-workspace :where(input,select,textarea):focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 20%, transparent)}.forge-workspace :where(input,select,textarea):focus-visible{outline:1px solid var(--accent);outline-offset:0}.forge-workspace input::placeholder,.forge-workspace textarea::placeholder{color:var(--muted);opacity:.8}.forge-workspace :where(input,select):not([type=checkbox]):not([type=radio]){min-height:36px}.forge-workspace :where(input,select,textarea){border-radius:6px;padding:8px 10px;font-size:14px;line-height:20px}.forge-workspace input[type=checkbox],.forge-workspace input[type=radio]{accent-color:var(--accent);width:16px;height:16px}.forge-workspace label{color:var(--muted);font-size:13px;line-height:1.5}.forge-workspace .modal .panel-heading{align-items:center}.forge-workspace .modal-actions{border-top:1px solid var(--border);margin-top:24px;padding-top:20px}.forge-workspace .modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0008;padding:24px 16px}.forge-workspace [role=dialog]:focus{outline:none}.forge-workspace .account-popover :focus-visible,.forge-workspace .search-result:focus-visible,.forge-workspace .notification-row:focus-visible{background:var(--hover);outline-offset:-2px}.forge-workspace .status-dot{box-shadow:none;border:0}.forge-workspace .search-empty{text-align:center;color:var(--muted);overflow-wrap:anywhere;padding:28px 16px}.forge-workspace .notifications-popover header{background:var(--surface);z-index:1;position:sticky;top:0}.forge-workspace .notifications-popover{overscroll-behavior:contain}.forge-workspace .notifications-popover h2{align-items:center;gap:10px;display:flex}.scope-switcher{min-width:0;position:relative}.forge-workspace .scope-trigger{text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;max-width:280px;min-height:34px;padding:5px 7px;font-size:14px;display:flex}.forge-workspace .scope-trigger:hover,.forge-workspace .scope-trigger[aria-expanded=true]{background:var(--hover)}.scope-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.scope-symbol,.scope-chevron{color:var(--muted);flex-shrink:0}.scope-chevron{margin-left:4px}.scope-initial{background:color-mix(in srgb, var(--accent) 15%, var(--surface));width:20px;height:20px;color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 18%, transparent);border-radius:4px;flex-shrink:0;place-items:center;font-size:11px;font-weight:600;display:grid}.scope-menu{z-index:40;border:1px solid var(--border);background:var(--surface);width:280px;box-shadow:var(--menu-shadow);transform-origin:0 0;border-radius:9px;position:absolute;top:calc(100% + 6px);left:0;overflow:hidden}.scope-search{border-bottom:1px solid var(--border);color:var(--muted);align-items:center;gap:8px;padding:4px 10px;display:flex}.forge-workspace .scope-search input{width:0;min-width:0;min-height:36px;box-shadow:none;background:0 0;border:0;border-radius:0;outline:none;flex:1;margin:0;padding:6px 0;font-size:14px}.scope-search:focus-within{box-shadow:inset 0 -1px var(--accent)}.forge-workspace .scope-search .icon-button{width:24px;height:24px;padding:4px}.scope-options{overscroll-behavior:contain;scrollbar-width:thin;max-height:min(320px,50dvh);padding:4px;overflow-y:auto}.forge-workspace .scope-option{text-align:left;background:0 0;border:0;border-radius:5px;align-items:center;gap:8px;width:100%;min-height:34px;padding:6px 8px;font-size:14px;display:flex}.forge-workspace .scope-option.highlighted{background:var(--hover)}.scope-check{color:var(--accent);flex-shrink:0}.scope-empty{color:var(--muted);overflow-wrap:anywhere;text-align:center;margin:0;padding:20px 16px;font-size:13px}.scope-menu-footer{border-top:1px solid var(--border);padding:4px}.forge-workspace .scope-menu-footer button{width:100%;min-height:34px;color:var(--accent);background:0 0;border:0;border-radius:5px;align-items:center;gap:8px;padding:6px 8px;font-size:14px;display:flex}.forge-workspace .scope-menu-footer button:hover{background:var(--hover)}.popover-enter-active,.popover-leave-active{transition:opacity .12s,transform .12s}@media (width<=1100px){.forge-workspace .scope-trigger{max-width:200px}.forge-workspace .scope-bar{gap:8px}.forge-workspace .search-trigger{min-width:32px}.forge-workspace .search-trigger span,.forge-workspace .search-trigger kbd{display:none}}@media (width<=620px){.scope-switcher-server{flex:1}.scope-switcher-site{flex-basis:100%;order:2}.forge-workspace .scope-switcher-site .scope-trigger{width:100%;max-width:100%}.forge-workspace .scope-trigger{max-width:min(200px,43vw)}.scope-menu{width:min(300px,100vw - 36px)}.forge-workspace .main{border-radius:8px 8px 0 0}.forge-workspace .modal{width:100%;padding:20px}.forge-workspace .search-modal{padding:8px}.forge-workspace .button-row{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){.forge-workspace *,.popover-enter-active,.popover-leave-active{scroll-behavior:auto!important;transition:none!important}}.forge-workspace[data-theme=light] .badge.good{color:#286b4c;background:#e5f2ea}.forge-workspace[data-theme=light] .badge.bad{color:#a63c2c;background:#fbece8}.forge-workspace[data-theme=light] .run-status.succeeded{color:#286b4c}.forge-workspace[data-theme=light] .run-status.running,.forge-workspace[data-theme=light] .run-status.queued{color:#2867b2}.forge-workspace[data-theme=light] .run-status.failed,.forge-workspace[data-theme=light] .run-status.needs_attention{color:#a63c2c}.forge-workspace .page-heading .button-row{flex-direction:row;flex-shrink:0}.notification-row.running svg,.notification-row.queued svg{color:#74aef2}.notification-row.failed svg,.notification-row.needs_attention svg{color:#e48279}.forge-workspace[data-theme=light] .notification-row.running svg,.forge-workspace[data-theme=light] .notification-row.queued svg{color:#2867b2}.forge-workspace[data-theme=light] .notification-row.failed svg,.forge-workspace[data-theme=light] .notification-row.needs_attention svg{color:#a63c2c}.forge-workspace{--canvas:#fafafa;--surface:#fff;--surface-raised:#fff;--text:#171a18;--text-soft:#3b423e;--muted:#6b736e;--faint:#9aa29d;--border:#e4e7e5;--border-strong:#d3d8d5;--hover:#f3f5f4;--active:#eceeed;--accent:var(--brand-forest);--accent-contrast:#fff;--accent-soft:color-mix(in srgb, var(--accent) 12%, transparent);--good:#1f8a5a;--good-soft:#e7f4ec;--bad:#c2412f;--bad-soft:#fcebe7;--warn:#a96a12;--warn-soft:#fbf1df;--info:#2563c9;--info-soft:#e8effc;--ring:color-mix(in srgb, var(--accent) 45%, transparent);--shadow-xs:0 1px 2px #1018280d;--shadow-sm:0 1px 2px #1018280f, 0 1px 3px #1018281a;--menu-shadow:0 0 0 1px #10182808, 0 4px 8px -2px #1018281a, 0 16px 32px -8px #10182826;--radius-sm:6px;--radius:8px;--radius-lg:12px;--ease-out:cubic-bezier(.16, 1, .3, 1);--duration:.16s;font-feature-settings:"cv11", "ss01", "ss03";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}.forge-workspace[data-theme=dark]{--canvas:#0b0c0b;--surface:#121413;--surface-raised:#181a19;--text:#f2f4f3;--text-soft:#cdd3cf;--muted:#8c958f;--faint:#5f6863;--border:#ffffff14;--border-strong:#ffffff24;--hover:#ffffff0a;--active:#ffffff12;--accent:var(--brand-mint);--accent-contrast:var(--brand-ink);--good:#5fcf9a;--good-soft:#5fcf9a1a;--bad:#f2867a;--bad-soft:#f2867a1a;--warn:#e6b45a;--warn-soft:#e6b45a1a;--info:#7fb2ff;--info-soft:#7fb2ff1a;--shadow-xs:0 1px 2px #0006;--shadow-sm:0 1px 2px #0008, 0 0 0 1px #ffffff08 inset;--menu-shadow:0 0 0 1px #ffffff12, 0 8px 16px -4px #0009, 0 24px 48px -12px #000c}.forge-workspace ::selection{background:color-mix(in srgb, var(--accent) 30%, transparent)}.forge-workspace{scrollbar-color:var(--border-strong) transparent}.forge-workspace code,.forge-workspace .mono,.forge-workspace kbd,.forge-workspace .stat>div,.forge-workspace .run-meta,.forge-workspace .count{font-variant-numeric:tabular-nums}.forge-workspace code{color:var(--muted);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.forge-workspace .scope-bar{gap:6px;min-height:60px;padding:0 24px}.forge-workspace .harbor-logo__mark{width:32px}.forge-workspace .harbor-logo__wordmark{letter-spacing:-.65px;font-size:17px}.forge-workspace[data-theme=dark] .harbor-logo{color:#f2f6f0}.forge-workspace[data-theme=dark] .harbor-logo__domain{color:var(--brand-mint)}.forge-workspace .brand-home{border-radius:8px;margin-right:6px}.forge-workspace .scope-name{border-radius:var(--radius-sm);color:var(--text);padding:6px 8px;font-weight:500}.forge-workspace .scope-separator{color:var(--faint);opacity:.8}.forge-workspace .scope-trigger{font-weight:500}.forge-workspace .search-trigger{border-color:var(--border);background:var(--surface);min-width:200px;height:32px;box-shadow:var(--shadow-xs);color:var(--muted)}.forge-workspace .search-trigger:hover{border-color:var(--border-strong)}.forge-workspace kbd{border:1px solid var(--border);background:var(--hover);color:var(--muted);border-radius:4px;padding:1px 5px;font-family:inherit;font-size:11px;line-height:16px}.connection-state{position:relative}.connection-state.online:after{content:"";color:#6cb99a;opacity:.35;animation:harbor-ping 2.4s var(--ease-out) infinite;background:currentColor;border-radius:50%;position:absolute;inset:-3px}.forge-workspace .avatar-button{color:#a8e6c8;width:30px;height:30px;transition:box-shadow var(--duration), transform var(--duration);background:linear-gradient(#24463a,#1a3329);border-color:#ffffff1f;font-size:12px;font-weight:600}.forge-workspace .avatar-button:hover,.forge-workspace .avatar-button[aria-expanded=true]{box-shadow:0 0 0 3px var(--hover)}.forge-workspace .scope-tabs{align-items:stretch;gap:4px;height:44px;padding:0 18px}.forge-workspace .scope-tabs a{border-bottom:0;padding:0 10px;font-size:13.5px;font-weight:500;position:relative}.forge-workspace .scope-tabs a:before{content:"";border-radius:var(--radius-sm);background:var(--hover);opacity:0;transition:opacity var(--duration);position:absolute;inset:6px 0 8px}.forge-workspace .scope-tabs a:hover:before{opacity:1}.forge-workspace .scope-tabs a:after{content:"";background:var(--text);height:2px;transition:transform .22s var(--ease-out);border-radius:2px 2px 0 0;position:absolute;bottom:0;left:10px;right:10px;transform:scaleX(0)}.forge-workspace .scope-tabs a.active{color:var(--text)}.forge-workspace .scope-tabs a.active:after{transform:scaleX(1)}.route-progress{z-index:2;opacity:0;pointer-events:none;height:2px;margin:0 8px -2px;transition:opacity .2s .12s;position:relative;overflow:hidden}.route-progress.active{opacity:1;transition-delay:.12s}.route-progress:before{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);width:40%;animation:1.1s cubic-bezier(.4,0,.2,1) infinite harbor-indeterminate;position:absolute;inset:0}.route-progress:not(.active):before{animation-play-state:paused}.forge-workspace .main{border-color:var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--surface);width:auto;box-shadow:var(--shadow-xs);margin:0 8px}.forge-workspace[data-theme=dark] .main{background:#0f1110}.forge-workspace .content{padding:40px 32px 96px}.forge-workspace .content>:not(.page-skeleton){animation:harbor-enter .28s var(--ease-out) both}.forge-workspace .content>:nth-child(2){animation-delay:20ms}.forge-workspace .content>:nth-child(3){animation-delay:40ms}.forge-workspace .content>:nth-child(4){animation-delay:60ms}.forge-workspace .content>:nth-child(n+5){animation-delay:80ms}.forge-workspace h1{letter-spacing:-.02em;color:var(--text);font-size:22px;font-weight:600}.forge-workspace h1 .muted{font-weight:400}.forge-workspace h2{letter-spacing:-.01em;color:var(--text);font-size:14.5px;font-weight:600}.forge-workspace .page-heading{gap:24px;min-height:0;margin-bottom:32px;padding-bottom:28px}.forge-workspace .page-heading p{color:var(--muted)}.forge-workspace .title-line{margin:0}.forge-workspace .site-heading .app-icon,.forge-workspace .app-icon{border-radius:var(--radius);width:36px;height:36px;color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--surface));border:1px solid color-mix(in srgb, var(--accent) 22%, transparent);font-family:inherit;font-size:15px;font-style:normal;font-weight:600;box-shadow:inset 0 1px #ffffff14}.forge-workspace .site-heading .app-icon{border-radius:10px;width:46px;height:46px;font-size:19px}.forge-workspace .button{letter-spacing:-.005em;height:32px;min-height:32px;color:var(--text);background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-xs), 0 1px 0 #ffffff0d inset;transition:background-color var(--duration), border-color var(--duration), box-shadow var(--duration), transform 80ms, opacity var(--duration);-webkit-user-select:none;user-select:none;gap:6px;padding:0 12px;font-size:13px;font-weight:500;position:relative}.forge-workspace .button:hover:not(:disabled){background:var(--hover);border-color:var(--border-strong)}.forge-workspace .button:active:not(:disabled){transform:translateY(.5px)scale(.985)}.forge-workspace .button.primary{color:var(--accent-contrast);background:var(--accent);border-color:var(--accent);box-shadow:var(--shadow-sm), 0 1px 0 #ffffff26 inset}.forge-workspace .button.primary:hover:not(:disabled){opacity:1;background:color-mix(in srgb, var(--accent) 88%, var(--canvas))}.forge-workspace .button.danger{color:var(--bad)}.forge-workspace .button.danger:hover:not(:disabled){background:var(--bad-soft);border-color:color-mix(in srgb, var(--bad) 35%, transparent)}.forge-workspace .button.small{height:28px;min-height:28px;padding:0 10px;font-size:12.5px}.forge-workspace .button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.forge-workspace .button svg{flex-shrink:0}.forge-workspace .text-button{border-radius:4px;font-weight:500}.forge-workspace .icon-button{border-radius:var(--radius-sm);transition:background-color var(--duration), color var(--duration)}.button[aria-busy=true]:not(:has(.spin)){pointer-events:none;color:#0000!important}.button[aria-busy=true]:not(:has(.spin))>*{visibility:hidden}.button[aria-busy=true]:not(:has(.spin)):after{content:"";border:2px solid;border-color:var(--muted) var(--muted) var(--muted) transparent;border-radius:50%;width:14px;height:14px;margin:auto;animation:.7s linear infinite deploy-spin;position:absolute;inset:0}.forge-workspace .button.primary[aria-busy=true]:not(:has(.spin)):after{border-color:var(--canvas) var(--canvas) var(--canvas) transparent}.button[aria-busy=true]{cursor:progress;opacity:1!important}.forge-workspace :where(button,a,summary,[tabindex]):focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:var(--radius-sm)}.forge-workspace :where(input,select,textarea){background:var(--surface);border:1px solid var(--border-strong);color:var(--text);box-shadow:var(--shadow-xs)}.forge-workspace :where(input,select,textarea):hover:not(:focus){border-color:color-mix(in srgb, var(--text) 22%, transparent)}.forge-workspace :where(input,select,textarea):focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.forge-workspace :where(input,select,textarea):focus-visible{outline:none}.forge-workspace label{color:var(--text-soft);font-weight:500}.forge-workspace .panel{border-color:var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-xs)}.forge-workspace[data-theme=dark] .panel{background:var(--surface)}.forge-workspace .compact-panel{padding:4px;overflow:hidden}.forge-workspace .compact-panel>.app-row{border-radius:var(--radius);border-top:0;padding:11px 12px}.forge-workspace .compact-panel>.app-row+.app-row{box-shadow:0 -1px 0 var(--border)}.forge-workspace .compact-panel>.app-row:hover+.app-row,.forge-workspace .compact-panel>.app-row:hover{box-shadow:none}.forge-workspace .compact-panel .empty-inline{padding:22px 12px}.forge-workspace .applications-panel,.forge-workspace .recent-deployments{padding:20px 20px 6px}.forge-workspace .app-row,.forge-workspace .deployment-row,.forge-workspace .list-row,.forge-workspace .server-row{border-color:var(--border);transition:background-color .12s}.forge-workspace .applications-panel .app-row,.forge-workspace section.panel>.app-row{border-radius:var(--radius);width:calc(100% + 24px);box-shadow:0 -1px 0 var(--border);border-top:0;margin:0 -12px;padding:12px}.forge-workspace .applications-panel .app-row:hover,.forge-workspace section.panel>.app-row:hover,.forge-workspace .app-row:hover+.app-row{box-shadow:none}.forge-workspace .app-row .row-main strong,.forge-workspace .list-row strong,.forge-workspace .deployment-name strong{color:var(--text);font-size:13.5px;font-weight:500}.forge-workspace .row-main small,.forge-workspace .deployment-name small,.forge-workspace .list-row small{color:var(--muted);margin-top:2px;font-size:12.5px}.forge-workspace .row-chevron{color:var(--faint);transition:transform var(--duration) var(--ease-out), color var(--duration);flex-shrink:0}.forge-workspace .app-row:hover .row-chevron{color:var(--text);transform:translate(2px)}.forge-workspace .text-button svg,.forge-workspace .rail-link svg{transition:transform var(--duration) var(--ease-out)}.forge-workspace .text-button:hover svg,.forge-workspace .rail-link:hover svg{transform:translate(1px,-1px)}.forge-workspace .rail-link{border-radius:var(--radius-sm);width:calc(100% + 16px);margin:0 -8px;padding:8px}.forge-workspace .rail-link:hover{background:var(--hover);color:var(--text)}.forge-workspace .activity-line{border-radius:var(--radius-sm);width:calc(100% + 16px);color:var(--text);text-transform:capitalize;margin:0 -8px;padding:9px 8px}.forge-workspace .activity-line:hover{background:var(--hover)}.forge-workspace .activity-line .muted{text-transform:none}.forge-workspace .list-row{padding:14px 0}.forge-workspace .list-row .row-main{text-align:left;color:inherit;text-transform:capitalize;background:0 0;border:0;padding:0}.forge-workspace .list-row .row-main small{text-transform:none}.forge-workspace .table-head{letter-spacing:.04em;color:var(--muted);background:var(--hover);border-block:1px solid var(--border);margin:0 -20px;padding:9px 20px;font-size:11px;font-weight:500}.forge-workspace .deployment-row{border-bottom:1px solid var(--border);width:calc(100% + 40px);margin:0 -20px;padding:13px 20px}.forge-workspace .deployment-row:last-of-type{border-bottom:0}.forge-workspace .deployment-name{gap:12px}.forge-workspace .deployment-name small{text-transform:capitalize}.forge-workspace .live-label{color:var(--muted);gap:8px;font-size:12px}.forge-workspace .live-label>span:first-child{background:var(--good);border-radius:50%;width:6px;height:6px;position:relative}.forge-workspace .live-label>span:first-child:after{content:"";background:var(--good);opacity:.4;animation:harbor-ping 2s var(--ease-out) infinite;border-radius:50%;position:absolute;inset:-3px}.forge-workspace .live-label.finished>span:first-child{background:var(--faint)}.forge-workspace .live-label.finished>span:first-child:after,.forge-workspace .run-page .live-label:not(.streaming):not(.finished)>span:first-child:after{display:none}.forge-workspace .run-page .live-label:not(.streaming):not(.finished)>span:first-child{background:var(--warn)}.forge-workspace .badge{letter-spacing:0;border:1px solid #0000;border-radius:999px;gap:6px;height:22px;padding:0 8px;font-size:12px;font-weight:500;line-height:1}.forge-workspace .badge:before{content:"";background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.forge-workspace .badge.neutral{color:var(--muted);background:var(--hover);border-color:var(--border)}.forge-workspace .badge.neutral:before{opacity:.6}.forge-workspace .badge.good,.forge-workspace[data-theme=light] .badge.good{color:var(--good);background:var(--good-soft);border-color:color-mix(in srgb, var(--good) 18%, transparent)}.forge-workspace .badge.bad,.forge-workspace[data-theme=light] .badge.bad{color:var(--bad);background:var(--bad-soft);border-color:color-mix(in srgb, var(--bad) 20%, transparent)}.forge-workspace .badge.progress{color:var(--info);background:var(--info-soft);border-color:color-mix(in srgb, var(--info) 20%, transparent)}.forge-workspace .badge.progress:before{animation:1.4s ease-in-out infinite harbor-pulse}.forge-workspace .notifications-popover header .badge:before,.forge-workspace .integration-card .badge:before{display:none}.forge-workspace .status-dot{background:var(--faint);width:8px;height:8px;position:relative}.forge-workspace .status-dot.good{background:var(--good)}.forge-workspace .status-dot.bad{background:var(--bad)}.forge-workspace .status-dot.progress{background:var(--info)}.forge-workspace .status-dot.progress:after{content:"";border:1.5px solid var(--info);opacity:0;animation:harbor-ping 1.6s var(--ease-out) infinite;border-radius:50%;position:absolute;inset:-4px}.run-status{text-transform:capitalize;align-items:center;gap:6px;display:inline-flex}.forge-workspace .run-meta{gap:18px}.forge-workspace .run-meta>*+:before{content:""}.forge-workspace .run-meta code{background:var(--hover);border:1px solid var(--border);border-radius:4px;padding:2px 6px}.forge-workspace .stats{gap:12px}.forge-workspace .stat{border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);transition:border-color var(--duration);padding:16px 18px}.forge-workspace .stat:hover{border-color:var(--border-strong)}.forge-workspace .stat>span:first-child{color:var(--muted);font-size:12.5px;font-weight:500}.forge-workspace .stat>div{letter-spacing:-.03em;margin-top:8px;font-size:26px;font-weight:600;line-height:1.15}.forge-workspace .stat>div.small{letter-spacing:0;font-size:14px;font-weight:500}.forge-workspace .stat small{color:var(--muted);letter-spacing:0;margin-top:6px;font-size:12px;font-weight:400}.forge-workspace .count{min-width:20px;height:20px;color:var(--muted);background:var(--hover);border:1px solid var(--border);vertical-align:1px;border-radius:999px;padding:0 6px;font-size:11.5px;font-weight:500}.forge-workspace .server-card{border-top:1px solid var(--border);padding:4px 0 18px}.forge-workspace .server-card:first-of-type{border-top:0}.forge-workspace .server-card .server-row{border-top:0;flex-wrap:wrap;row-gap:10px}.forge-workspace .server-card .stats{margin:4px 0 0}.forge-workspace .server-card .stat{box-shadow:none;background:var(--canvas)}.forge-workspace .server-symbol{border-radius:var(--radius);width:36px;height:36px;color:var(--muted);background:var(--hover);border:1px solid var(--border);place-items:center;font-size:17px;display:grid}.forge-workspace .server-name{color:var(--text);font-size:14px}.forge-workspace .server-name svg{color:var(--faint);transition:transform var(--duration) var(--ease-out), color var(--duration)}.forge-workspace .server-name:hover svg{color:var(--text);transform:translate(1px,-1px)}.forge-workspace .integration-card{transition:border-color var(--duration), transform var(--duration) var(--ease-out), box-shadow var(--duration)}.forge-workspace .integration-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.forge-workspace .integration-logo{width:40px;height:40px;color:var(--accent);background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 20%, transparent);border-radius:10px;margin-bottom:18px;font-size:19px}.forge-workspace .integration-card p{color:var(--muted);font-size:13px}.forge-workspace .details-rail{padding-left:4px}.forge-workspace .details-rail dd{color:var(--text);text-transform:none}.forge-workspace .sub-navigation{border:1px solid var(--border);border-radius:var(--radius);background:var(--hover);gap:2px;width:max-content;max-width:100%;margin:-8px 0 28px;padding:3px}.forge-workspace .sub-navigation a{transition:background-color var(--duration), color var(--duration), box-shadow var(--duration);border-radius:5px;padding:5px 12px;font-weight:500}.forge-workspace .sub-navigation a+a{margin-left:0}.forge-workspace .sub-navigation a.active{background:var(--surface-raised);color:var(--text);box-shadow:var(--shadow-sm)}.forge-workspace .empty-state{padding:52px 24px}.forge-workspace .empty-state h3{color:var(--text);margin-bottom:6px;font-size:15px;font-weight:600}.forge-workspace .empty-state p{color:var(--muted);margin-bottom:20px;font-size:13px;line-height:1.6}.forge-workspace .empty-icon{width:44px;height:44px;color:var(--accent);background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 20%, transparent);border-radius:12px;margin-bottom:16px;font-size:20px}.forge-workspace .empty-inline{color:var(--muted);justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.forge-workspace :is(.info-banner,.error-banner,.notice-banner){border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-xs);align-items:flex-start;gap:10px;margin-bottom:24px;padding:11px 12px 11px 14px;font-size:13px;line-height:1.55}.forge-workspace .banner-icon{flex-shrink:0;margin-top:2px}.forge-workspace .banner-text{white-space:pre-wrap;overflow-wrap:anywhere;flex:1;min-width:0}.forge-workspace .info-banner .banner-icon{color:var(--warn)}.forge-workspace .error-banner,.forge-workspace[data-theme=dark] .error-banner{background:var(--bad-soft);color:var(--text);border-color:color-mix(in srgb, var(--bad) 30%, transparent)}.forge-workspace .error-banner .banner-icon{color:var(--bad)}.forge-workspace .notice-banner{background:var(--good-soft);color:var(--text);border-color:color-mix(in srgb, var(--good) 25%, transparent)}.forge-workspace .notice-banner .banner-icon{color:var(--good)}.forge-workspace :is(.error-banner,.notice-banner) button{width:24px;height:24px;color:var(--muted);border-radius:5px;flex-shrink:0;place-items:center;margin:-2px -2px 0 auto;padding:0;display:grid}.forge-workspace :is(.error-banner,.notice-banner) button:hover{background:var(--active);color:var(--text)}.banner-enter-active,.banner-leave-active{transition:opacity .2s var(--ease-out,ease), transform .2s var(--ease-out,ease)}.banner-enter-from,.banner-leave-to{opacity:0;transform:translateY(-4px)}.forge-workspace .page-skeleton{min-height:420px;padding-top:0;animation:.3s 80ms both harbor-fade}.forge-workspace .page-skeleton>div{background:0 0;border-radius:0;animation:none}.forge-workspace .skeleton{background:linear-gradient(90deg, var(--hover) 25%, var(--active) 37%, var(--hover) 63%);background-size:400% 100%;border-radius:6px;animation:1.4s infinite harbor-shimmer}.forge-workspace .skeleton-header{border-bottom:1px solid var(--border);align-items:center;gap:16px;margin-bottom:32px;padding-bottom:28px;display:flex}.forge-workspace .skeleton-avatar{border-radius:10px;flex-shrink:0;width:46px;height:46px}.forge-workspace .skeleton-lines{flex:1;gap:9px;display:grid}.forge-workspace .skeleton-heading{width:min(280px,60%);height:20px;margin:0}.forge-workspace .skeleton-subtitle{width:min(200px,40%);height:12px;margin:0}.forge-workspace .skeleton-button{width:92px;height:32px}.forge-workspace .skeleton-title{width:120px;height:14px;margin-bottom:16px}.forge-workspace .skeleton-list{border:1px solid var(--border);border-radius:var(--radius-lg);padding:4px 16px}.forge-workspace .skeleton-row{align-items:center;gap:14px;padding:14px 0;display:flex}.forge-workspace .skeleton-row+.skeleton-row{border-top:1px solid var(--border)}.forge-workspace .skeleton-icon{border-radius:var(--radius);flex-shrink:0;width:32px;height:32px}.forge-workspace .skeleton-line{height:12px}.forge-workspace .skeleton-line.short{height:10px}.forge-workspace .skeleton-pill{border-radius:999px;width:68px;height:22px}.forge-workspace :is(.notifications-popover,.account-popover,.scope-menu){border-color:var(--border);border-radius:var(--radius-lg);background:var(--surface-raised);box-shadow:var(--menu-shadow)}.forge-workspace .account-popover{width:240px}.forge-workspace .account-popover>strong{font-weight:600}.forge-workspace :is(.account-popover a,.account-popover button){align-items:center;min-height:34px;font-size:13.5px;font-weight:400}.notifications-popover,.account-popover{transform-origin:100% 0}.forge-workspace .notification-row{transition:background-color .12s}.popover-enter-active{transition:opacity .14s var(--ease-out,ease), transform .18s var(--ease-out,ease)}.popover-leave-active{transition:opacity .1s,transform .1s}.popover-enter-from,.popover-leave-to{opacity:0;transform:translateY(-4px)scale(.97)}.forge-workspace .modal-backdrop{-webkit-backdrop-filter:blur(4px)saturate(120%);background:#0a0c0b99}.forge-workspace[data-theme=light] .modal-backdrop{background:#1018284d}.forge-workspace .modal{background:var(--surface-raised);box-shadow:var(--menu-shadow);border-radius:14px;padding:22px 24px}.forge-workspace .modal h2{font-size:17px}.forge-workspace .modal .panel-heading{margin-bottom:8px}.forge-workspace .modal label{margin:14px 0}.forge-workspace .modal-actions{background:var(--hover);border-top:1px solid var(--border);border-radius:0 0 14px 14px;margin-bottom:-22px;margin-left:-24px;margin-right:-24px;padding:14px 24px}.forge-workspace .search-modal{align-self:flex-start;margin-top:12vh;padding:6px}.forge-workspace .search-modal .panel-heading{padding:6px 8px 10px}.forge-workspace .search-modal input{box-shadow:none;font-size:15px}.forge-workspace .search-modal input:focus{box-shadow:none}.forge-workspace .search-result{color:var(--text);padding:10px 12px}.forge-workspace .search-result svg{color:var(--faint);opacity:0;transition:opacity .12s, transform .16s var(--ease-out);transform:translate(-4px)}.forge-workspace .search-result:is(:hover,:focus-visible) svg{opacity:1;color:var(--text);transform:none}.modal-enter-active,.modal-leave-active{transition:opacity .18s}.modal-enter-active .modal,.modal-leave-active .modal{transition:transform .22s var(--ease-out,ease), opacity .18s ease}.modal-enter-from,.modal-leave-to{opacity:0}.modal-enter-from .modal,.modal-leave-to .modal{opacity:0;transform:translateY(8px)scale(.97)}.forge-workspace .log-stage{border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);overflow:hidden}.forge-workspace .log-stage summary{align-items:center;gap:10px;padding:13px 16px;font-weight:500;list-style:none;transition:background-color .12s}.forge-workspace .log-stage summary::-webkit-details-marker{display:none}.forge-workspace .log-stage summary:before{content:"";border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);width:6px;height:6px;transition:transform .18s var(--ease-out);flex-shrink:0;margin-right:4px;transform:rotate(-45deg)}.forge-workspace .log-stage[open] summary:before{transform:rotate(45deg)}.forge-workspace .log-stage summary small{margin-left:auto}.forge-workspace .log-stage summary:hover{background:var(--hover)}.forge-workspace .log-stage .terminal{border:0;border-top:1px solid var(--border);background:var(--canvas);border-radius:0;margin:0;padding:14px 16px}.forge-workspace .terminal pre{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;line-height:1.75;animation:.2s both harbor-fade}.forge-workspace .terminal pre.error{color:var(--bad)}.deployment-toast{background:#161918;border-color:#ffffff1a;border-radius:12px;box-shadow:0 0 0 1px #0006,0 12px 32px -8px #000a}.deployment-toast-enter-active{transition:opacity .22s cubic-bezier(.16,1,.3,1),transform .32s cubic-bezier(.16,1,.3,1)}.deployment-toast-leave-active{transition:opacity .15s,transform .15s}.auth-shell{font-feature-settings:"cv11", "ss01";-webkit-font-smoothing:antialiased;background:#fcfdfc}.auth-story{background:var(--brand-ink);padding:44px 56px;position:relative;overflow:hidden}.auth-story:before{content:"";pointer-events:none;background:radial-gradient(60% 50% at 20% 0,#2a6b4b55,#0000 70%),radial-gradient(40% 40% at 100% 100%,#1d4a3540,#0000 70%);position:absolute;inset:0}.auth-story:after{content:"";pointer-events:none;opacity:.35;background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 60% at 30% 40%,#000,#0000);mask-image:radial-gradient(70% 60% at 30% 40%,#000,#0000)}.auth-story>*{z-index:1;position:relative}.auth-story .brand{letter-spacing:-.02em;font-size:17px;font-weight:700}.auth-story .harbor-logo__mark{width:42px}.auth-story h1{letter-spacing:-.035em;margin:18px 0 20px;font-size:46px;font-weight:700;line-height:1.08}.auth-story p{color:#9cb4a6;font-size:15px;line-height:1.6}.auth-story .terminal{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a130eb3;border-color:#ffffff14;border-radius:12px;max-width:520px;padding:18px 20px;box-shadow:0 20px 50px -20px #000c}.auth-story .terminal p{font-size:12.5px}.auth-story .terminal p:first-of-type{animation:.4s .2s both harbor-enter}.auth-story .terminal p:nth-of-type(2){animation:.4s .9s both harbor-enter}.auth-story .terminal p:nth-of-type(3){animation:.4s 1.6s both harbor-enter}.auth-story .terminal-dots{letter-spacing:5px;color:#ffffff26;margin-bottom:14px}.auth-form{background:#fcfdfc}.auth-card{max-width:360px;animation:.4s cubic-bezier(.16,1,.3,1) both harbor-enter}.auth-card .eyebrow{letter-spacing:.12em;color:#6c7a72;font-size:11px}.auth-card h2{letter-spacing:-.03em;color:#111613;margin:10px 0 8px;font-size:28px;font-weight:700}.auth-card>p{color:#6b736e;font-size:14px}.auth-card form{margin-top:28px}.auth-card label{color:#2f3833;margin:0 0 16px;font-size:13px;font-weight:500}.auth-card input{color:#111613;background:#fff;border:1px solid #d6dbd8;border-radius:8px;height:40px;margin-top:6px;padding:0 12px;font-size:14px;transition:border-color .15s,box-shadow .15s;box-shadow:0 1px 2px #1018280d}.auth-card input:hover:not(:focus){border-color:#bfc6c2}.auth-card input:focus{border-color:#1b7a52;box-shadow:0 0 0 3px #1b7a5222}.auth-card input[aria-invalid=true]{border-color:#d0533f}.auth-card input[readonly]{color:#6b736e;background:#f5f7f6}.auth-card .otp-input{letter-spacing:.4em;text-align:center;height:48px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:18px}.password-field{display:block;position:relative}.password-field input{padding-right:42px}.reveal-button{color:#8a938e;background:0 0;border:0;border-radius:6px;place-items:center;width:32px;height:32px;transition:background-color .15s,color .15s;display:grid;position:absolute;top:50%;right:4px;transform:translateY(calc(3px - 50%))}.reveal-button:hover{color:#111613;background:#f0f2f1}.auth-card .button.primary.full{background:var(--brand-forest);border-color:var(--brand-forest);color:#fff;border-radius:8px;gap:8px;height:42px;margin-top:8px;padding:0 16px;font-size:14px;font-weight:600;transition:background-color .15s,transform 80ms,box-shadow .15s;position:relative;box-shadow:0 1px 2px #1018281f,inset 0 1px #ffffff1f}.auth-card .button.primary.full:hover:not(:disabled){background:var(--brand-ink)}.auth-card .button.primary.full:active:not(:disabled){transform:translateY(.5px)scale(.99)}.auth-card .button.primary.full svg:last-child{transition:transform .2s cubic-bezier(.16,1,.3,1)}.auth-card .button.primary.full:hover svg:last-child{transform:translate(2px)}.auth-card .button.primary.full:disabled{opacity:.85;cursor:progress}.auth-error{color:#8f2f21;background:#fdf0ed;border:1px solid #f3cbc3;border-radius:8px;align-items:flex-start;gap:10px;margin:4px 0 16px;padding:10px 12px;font-size:13px;line-height:1.5;animation:.36s both harbor-shake;display:flex}.auth-error svg{color:#c2412f;flex-shrink:0;margin-top:2px}.auth-error>span{gap:2px;display:grid}.auth-card .subtle-link,.auth-card .text-button{color:#4f6a5a;border-radius:4px;margin-top:18px;font-size:13px}.auth-card .subtle-link:hover,.auth-card .text-button:hover{color:#111613;text-underline-offset:3px;text-decoration:underline}.auth-card .footnote{color:#8a938e;border-color:#e7ebe9;margin-top:36px;font-size:12px!important}.auth-shell :focus-visible{outline-offset:2px;outline:2px solid #1b7a5299}@keyframes harbor-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes harbor-fade{0%{opacity:0}to{opacity:1}}@keyframes harbor-shimmer{0%{background-position:100%}to{background-position:0}}@keyframes harbor-indeterminate{0%{transform:translate(-100%)}to{transform:translate(350%)}}@keyframes harbor-ping{0%{opacity:.55;transform:scale(.6)}80%,to{opacity:0;transform:scale(1.9)}}@keyframes harbor-pulse{50%{opacity:.35}}@keyframes harbor-shake{0%,to{transform:none}25%{transform:translate(-3px)}50%{transform:translate(3px)}75%{transform:translate(-1px)}}@media (width<=900px){.forge-workspace .content{padding:28px 20px 90px}.forge-workspace .search-trigger{min-width:32px}}@media (width<=1100px){.scope-bar .harbor-logo__wordmark{display:none}}@media (width<=760px){.auth-mobile-brand{width:max-content;margin-bottom:36px;display:flex}}@media (width<=620px){.forge-workspace .main{border-left:0;border-right:0;border-radius:10px 10px 0 0;margin:0}.forge-workspace .scope-tabs{padding:0 10px}.forge-workspace .content{padding:22px 16px 90px}.forge-workspace .table-head,.forge-workspace .deployment-row{margin:0 -14px;padding-left:14px;padding-right:14px}.forge-workspace .deployment-row{width:calc(100% + 28px)}.forge-workspace .applications-panel,.forge-workspace .recent-deployments{padding:14px 14px 4px}.forge-workspace .modal-actions{margin:20px -20px -20px;padding:12px 20px}.forge-workspace .sub-navigation{flex-wrap:nowrap;width:100%;overflow-x:auto}.forge-workspace .skeleton-button{display:none}.auth-form{align-items:start;padding:12vh 20px 32px}}@media (prefers-reduced-motion:reduce){.forge-workspace .content>*,.auth-card,.auth-story .terminal p,.auth-error,.forge-workspace .page-skeleton,.forge-workspace .skeleton,.route-progress:before,.connection-state.online:after,.forge-workspace .status-dot.progress:after,.forge-workspace .badge.progress:before,.forge-workspace .live-label>span:first-child:after,.forge-workspace .terminal pre{animation:none!important}.banner-enter-active,.banner-leave-active,.modal-enter-active,.modal-leave-active,.modal-enter-active .modal,.modal-leave-active .modal{transition:none!important}}.forge-workspace .info-banner>span{font-size:inherit;color:inherit}.forge-workspace .info-banner{background:var(--surface);color:var(--text-soft);border-color:var(--border)}.forge-workspace .log-stage summary{justify-content:flex-start}.forge-workspace .details-rail dl dd:first-of-type{text-transform:capitalize}
