:root{--jf-white:#ffffff;--jf-charcoal:#212121;--jf-teal:#47ffce;--jf-stone:#f3f3f3;--jf-slate:#4b4b4b;--jf-lime:#d4ff8b;--jf-sage:#6ba09d;--jf-purple:#675fec;--jf-grey-mid:#9ca3af;--jf-border:#e5e7eb;--jf-radius-sm:4px;--jf-radius-md:8px;--jf-radius-lg:12px;--jf-danger:#c4402f;--jf-danger-hover:#a83526;--jf-danger-bg:#fdf2f2;--jf-danger-text:#9e2424;--jf-warning:#b8860b;--jf-warning-bg:#fdf8ec;--jf-warning-text:#7a5b06}@layer base{body{font-size:16px;line-height:1.5;background:var(--jf-stone)}h1,h2,h3{font-weight:700;margin:0}h1{font-size:32px;line-height:1.2}h1,h2{letter-spacing:-.02em}h2{font-size:20px;line-height:1.25}p{margin:0}a{text-decoration:none}a,a:hover{color:inherit}a:hover{background-color:transparent}.site-header .brand:hover{opacity:.88}.shell{max-width:1080px;margin:0 auto;padding:0 24px}.shell-wide{max-width:1520px;padding:0 32px}.narrow{max-width:860px}.page{padding-top:48px;padding-bottom:96px}.admin-bleed{--admin-bleed-x:32px;--admin-bleed-top:48px;margin-top:calc(var(--admin-bleed-top) * -1);margin-left:calc(var(--admin-bleed-x) * -1);margin-right:calc(var(--admin-bleed-x) * -1)}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px;flex-wrap:wrap}.page-head p{color:var(--jf-slate);margin-top:8px;max-width:560px}.identity{display:flex;align-items:center;gap:20px}.profile-avatar{width:72px;height:72px;border-radius:50%;object-fit:cover;background:var(--jf-stone);border:1px solid var(--jf-border);flex-shrink:0}.site-header{background:var(--jf-charcoal);color:var(--jf-white);position:sticky;top:0;z-index:50}.site-header .shell{display:flex;align-items:center;justify-content:space-between;gap:24px;height:64px}.site-header .brand{display:flex;align-items:center;gap:16px;min-width:0;color:var(--jf-white)}.site-header .brand svg{display:block;flex-shrink:0}.site-header .brand-product{font-family:var(--font-display,"Söhne Breit",Manrope,sans-serif);font-weight:800;font-size:15px;line-height:1;white-space:nowrap;padding-left:16px;border-left:1px solid rgba(255,255,255,.4)}.site-header nav{display:flex;align-items:center;gap:20px;font-size:14px}.site-header nav a{color:rgba(255,255,255,.82)}.site-header nav a:hover{color:var(--jf-white)}.site-header .who{display:inline-flex;align-items:center;gap:9px;min-width:0;padding-left:4px}.site-header .who:hover .user{color:var(--jf-white)}.site-header .who-avatar{width:27px;height:27px;border-radius:50%;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.4);color:var(--jf-white);font-size:10.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.site-header .user{color:rgba(255,255,255,.82);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.site-header form{display:inline}.rds{background:var(--jf-white);border:1px solid var(--jf-border);border-radius:var(--jf-radius-lg);padding:28px 32px 30px;margin-bottom:28px}.rds-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}.rds-head h2{font-size:20px}.rds-head .rds-note{color:var(--jf-slate);font-size:13.5px;margin-top:6px;max-width:620px}.rds-score{display:flex;align-items:baseline;gap:14px;margin:22px 0 10px;flex-wrap:wrap}.rds-score .value{font-size:56px;font-weight:700;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.rds-score .of{font-size:14px;color:var(--jf-grey-mid)}.rds-score .deltas,.rds-score .of{font-family:var(--font-mono,ui-monospace,monospace)}.rds-score .deltas{display:flex;gap:18px;margin-left:auto;font-size:12.5px;color:var(--jf-slate);font-variant-numeric:tabular-nums;flex-wrap:wrap}.rds-score .deltas strong{color:var(--jf-charcoal)}.meter{position:relative;height:8px;background:var(--jf-stone);border-radius:999px;overflow:hidden}.meter .fill{display:block;height:100%;background:var(--jf-charcoal);border-radius:999px}.meter-wrap{position:relative}.meter-tick{position:absolute;top:-3px;width:1px;height:14px;background:var(--jf-grey-mid)}.meter-scale{display:flex;justify-content:space-between;font-family:var(--font-mono,ui-monospace,monospace);font-size:11px;color:var(--jf-grey-mid);margin-top:8px}.rds-more{margin-top:26px;border-top:1px solid var(--jf-stone);padding-top:18px}.panel-more{margin-top:20px}.panel-more>summary,.rds-more>summary{display:inline-flex;align-items:center;gap:10px;font-size:13.5px;font-weight:700;color:var(--jf-slate);cursor:pointer;list-style:none;padding:2px 0}.panel-more>summary::-webkit-details-marker,.rds-more>summary::-webkit-details-marker{display:none}.panel-more>summary:hover,.rds-more>summary:hover{color:var(--jf-charcoal)}.panel-more>summary:focus-visible,.rds-more>summary:focus-visible{outline:2px solid var(--jf-charcoal);outline-offset:3px;border-radius:var(--jf-radius-sm)}.panel-more .disclosure,.rds-more .disclosure{width:7px;height:7px;border-right:1.5px solid;border-bottom:1.5px solid;transform:rotate(45deg);transition:transform .14s ease;flex-shrink:0;margin-bottom:2px}.panel-more[open] .disclosure,.rds-more[open] .disclosure{transform:rotate(-135deg);margin-bottom:-2px}.rds-pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:24px}.pillar h3{font-size:15px;display:flex;align-items:center;justify-content:space-between;gap:10px}.pillar h3 .p-score{font-variant-numeric:tabular-nums}.pillar .p-desc{color:var(--jf-slate);font-size:13px;margin:8px 0 12px;min-height:36px}.pillar .p-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;font-family:var(--font-mono,ui-monospace,monospace);font-size:11.5px;color:var(--jf-grey-mid)}.rds-weak{margin-top:28px;padding-top:24px;border-top:1px solid var(--jf-stone)}.rds-weak h3{font-size:15px;margin-bottom:4px}.rds-weak .hint{margin:0 0 16px}.weak-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.weak-list li{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:16px;padding:11px 0;border-bottom:1px solid var(--jf-stone)}.weak-list li:last-child{border-bottom:none}.weak-list .metric{font-size:14px;font-weight:700}.weak-list .metric span{font-weight:400;color:var(--jf-grey-mid);font-size:12.5px;margin-left:10px}.weak-list .now,.weak-list .uplift{font-family:var(--font-mono,ui-monospace,monospace);font-size:12.5px;font-variant-numeric:tabular-nums;white-space:nowrap}.weak-list .now{color:var(--jf-slate)}.weak-list .uplift{color:var(--jf-charcoal);font-weight:700}.rds-recs{margin-top:24px;padding-top:24px;border-top:1px solid var(--jf-stone)}.rds-recs h3{font-size:15px;margin-bottom:4px}.rds-recs .hint{margin:0 0 16px}.rec-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.rec-list li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:baseline;gap:16px;padding:11px 0;border-bottom:1px solid var(--jf-stone)}.rec-list li:last-child{border-bottom:none}.rec-list .reason{color:var(--jf-slate);font-family:var(--font-mono,ui-monospace,monospace);font-size:12.5px}.portal-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}.portal-toolbar .tabs{margin-bottom:0}.portal-toolbar .tabs button{padding:7px 14px}.portal-toolbar .tabs .active{border-radius:6px}.portal-toolbar-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tab-count{display:inline-block;margin-left:8px;font-size:12px;font-variant-numeric:tabular-nums;opacity:.6}.card-sections{display:flex;flex-direction:column;gap:44px}.card-section-head{display:flex;align-items:baseline;gap:12px;margin-bottom:18px}.card-section-head h2{font-family:var(--font-display,Manrope,sans-serif);font-size:15px;letter-spacing:-.01em;color:var(--jf-charcoal)}.card-section-count{font-family:var(--font-mono,ui-monospace,monospace);font-size:11px;font-variant-numeric:tabular-nums;color:var(--jf-slate)}.card-section-rule{flex:1;height:1px;background:var(--jf-border)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.app-card{display:flex;flex-direction:column;min-width:0;background:var(--jf-white);border:1px solid var(--jf-border);border-radius:var(--jf-radius-lg);padding:20px;transition:border-color .18s cubic-bezier(.4,0,.2,1)}.app-card:focus-within,.app-card:hover{border-color:var(--jf-charcoal)}.card-status{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;min-height:32px}.card-live{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono,ui-monospace,monospace);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--jf-slate);flex-shrink:0}.card-live:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--jf-teal)}.app-card .card-lifecycle{font-size:11.5px;font-weight:600;color:var(--jf-slate);gap:6px}.app-card .card-lifecycle:before{width:6px;height:6px}.card-star{margin-left:auto;margin-right:-6px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;background:none;border:none;padding:0;cursor:pointer;color:var(--jf-slate);border-radius:var(--jf-radius-md);transition:color .16s ease,background-color .16s ease;flex-shrink:0}.card-star:hover{background:var(--jf-stone)}.card-star:hover,.card-star[aria-pressed=true]{color:var(--jf-charcoal)}.card-body{margin:12px 0 20px;min-width:0}.card-name{font-family:var(--font-display,Manrope,sans-serif);font-size:16px;font-weight:700;line-height:1.25;letter-spacing:-.01em;color:var(--jf-charcoal)}.card-desc,.card-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-desc{margin-top:5px;font-size:13.5px}.card-desc,.card-desc.is-empty{color:var(--jf-slate)}.card-lifecycle-detail{margin-top:10px;font-size:13px;color:var(--jf-slate)}.card-rejection{margin-top:6px;font-size:13px;color:var(--jf-danger-text);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-rule{margin-top:auto;height:1px;background:var(--jf-border)}.card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.card-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.card-category{font-size:13px}.card-category,.card-owner{color:var(--jf-slate);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-owner{font-family:var(--font-mono,ui-monospace,monospace);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase}.card-actions{gap:4px;flex-shrink:0}.card-actions,.card-manage{display:inline-flex;align-items:center}.card-manage{width:32px;height:32px;justify-content:center;border-radius:999px;color:var(--jf-slate);transition:color .16s ease,background-color .16s ease}.card-manage:focus-visible,.card-manage:hover{color:var(--jf-charcoal);background:var(--jf-stone)}.card-open{height:32px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;border-radius:999px;color:var(--jf-slate);transition:color .16s ease,background-color .16s ease}.card-open:focus-visible,.card-open:hover{background:var(--jf-charcoal);color:var(--jf-white)}.card-open-label{max-width:0;opacity:0;overflow:hidden;white-space:nowrap;font-size:13px;font-weight:500;transition:max-width .2s ease,opacity .2s ease}.card-open:focus-visible .card-open-label,.card-open:hover .card-open-label{max-width:4rem;opacity:1}@media (prefers-reduced-motion:reduce){.app-card,.app-row,.card-manage,.card-open,.card-open-label,.card-star{transition:none}}.card-list{display:flex;flex-direction:column;gap:8px}.app-row{display:flex;align-items:center;gap:16px;min-width:0;background:var(--jf-white);border:1px solid var(--jf-border);border-radius:var(--jf-radius-lg);padding:10px 16px 10px 10px;transition:border-color .18s cubic-bezier(.4,0,.2,1)}.app-row:focus-within,.app-row:hover{border-color:var(--jf-charcoal)}.app-row .card-star{margin:0}.row-body{flex:1;min-width:0}.app-row .card-desc{margin-top:2px}.row-meta{flex-direction:column;gap:2px;width:160px;min-width:0}.row-meta,.row-status{display:flex;flex:none}.row-status{align-items:center;gap:10px}@media (max-width:900px){.row-meta,.row-status{display:none}}.view-toggle{display:inline-flex;gap:2px;background:var(--jf-white);border:1px solid var(--jf-border);border-radius:var(--jf-radius-md);padding:3px;flex:none}.view-toggle button{width:32px;height:30px;display:inline-flex;align-items:center;justify-content:center;background:none;border:none;border-radius:6px;padding:0;cursor:pointer;color:var(--jf-slate);transition:color .16s ease,background-color .16s ease}.view-toggle button:hover{color:var(--jf-charcoal);background:var(--jf-stone)}.view-toggle button:focus-visible{outline:2px solid var(--jf-charcoal);outline-offset:2px}.view-toggle .active,.view-toggle .active:hover{background:var(--jf-charcoal);color:var(--jf-white)}@media (prefers-reduced-motion:reduce){.view-toggle button{transition:none}}.panel{background:var(--jf-white);border:1px solid var(--jf-border);border-radius:var(--jf-radius-lg);padding:32px;margin-bottom:24px}.panel>h2{margin-bottom:16px}.panel .hint{color:var(--jf-slate);font-size:14px;margin:-8px 0 16px}.status{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700}.status:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--jf-grey-mid)}.status-ready:before{background:var(--jf-teal)}.status-building:before{background:var(--jf-sage);animation:dos-pulse 1.2s ease-in-out infinite}.status-error:before{background:var(--jf-danger)}@keyframes dos-pulse{50%{opacity:.35}}.field-block,label.field{display:block;margin-bottom:20px}.field-block>span,label.field>span{display:block;font-size:14px;font-weight:700;margin-bottom:8px}.field-block .sub,label.field .sub{font-weight:400;color:var(--jf-slate)}.field-group{border:0;padding:0;margin:0 0 4px}.field-group>legend{font-size:14px;font-weight:700;margin-bottom:8px;padding:0}.radio-row{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.radio-option{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--jf-border);border-radius:var(--jf-radius-md);padding:14px 16px;cursor:pointer}.radio-option:has(input:checked){border-color:var(--jf-charcoal);outline:1px solid var(--jf-charcoal)}.radio-option input{margin-top:3px;accent-color:var(--jf-charcoal)}.radio-option .title{font-weight:700;font-size:15px}.radio-option .sub{font-size:13px;color:var(--jf-slate)}.tabs{display:flex;gap:4px;background:var(--jf-white);border:1px solid var(--jf-border);border-radius:var(--jf-radius-md);padding:4px;width:fit-content;margin-bottom:24px}.tabs a,.tabs button{font-family:inherit;font-size:14px;font-weight:700;color:var(--jf-slate);background:none;border:none;border-radius:var(--jf-radius-sm);padding:8px 16px;cursor:pointer}.tabs .active{background:var(--jf-charcoal);color:var(--jf-white)}.dropzone{border:1.5px dashed var(--jf-grey-mid);border-radius:var(--jf-radius-lg);padding:40px 24px;text-align:center;color:var(--jf-slate);font-size:15px;cursor:pointer;transition:border-color .12s ease,background .12s ease}.dropzone.over,.dropzone:hover{border-color:var(--jf-charcoal);background:var(--jf-stone)}.dropzone strong{color:var(--jf-charcoal)}.file-list{margin:16px 0 0;padding:0;list-style:none;max-height:180px;overflow:auto}.file-list,.picker-note{font-size:13px;color:var(--jf-slate);text-align:left}.picker-note{margin:12px 0 0}.picker-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}.picker-actions-hint{font-size:13px;color:var(--jf-slate)}.file-list li{padding:4px 0;border-bottom:1px solid var(--jf-stone);font-variant-numeric:tabular-nums;display:flex;justify-content:space-between;gap:16px}.root-picker{margin:16px 0 0;padding:14px 16px 16px;border:1px solid var(--jf-border);border-radius:var(--jf-radius-md);background:var(--jf-white);text-align:left}.root-picker legend{padding:0 6px;margin-left:-6px;font-size:14px;font-weight:700;color:var(--jf-charcoal)}.root-picker-hint{margin:4px 0 10px;font-size:13px;color:var(--jf-slate)}.root-picker-list{max-height:220px;overflow:auto;border-top:1px solid var(--jf-stone);padding-top:6px}.root-picker.compact .root-picker-list{max-height:150px}.root-option{display:flex;align-items:center;gap:10px;padding:5px 8px;border-radius:var(--jf-radius-sm);font-size:13.5px;color:var(--jf-charcoal);cursor:pointer}.root-option:hover{background:var(--jf-stone)}.root-option:has(input:checked){background:var(--jf-stone);font-weight:700}.root-option input{accent-color:var(--jf-charcoal);flex:none}.root-option-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.root-option-tag{flex:none;border:1px solid var(--jf-border);border-radius:var(--jf-radius-sm);padding:0 6px;font-size:11px;font-weight:400;color:var(--jf-slate)}.root-picker-more{display:block;width:100%;padding:5px 8px;border:none;border-radius:var(--jf-radius-sm);background:none;font-family:inherit;font-size:12px;font-weight:700;color:var(--jf-slate);text-align:left;text-decoration:underline;cursor:pointer}.root-picker-more:hover{background:var(--jf-stone);color:var(--jf-charcoal)}.root-picker-more:focus-visible{outline:2px solid var(--jf-charcoal);outline-offset:-2px}.root-picker-status{margin-top:12px;font-size:13px;color:var(--jf-slate)}.root-picker-status.warn{background:var(--jf-danger-bg);border-left:3px solid var(--jf-danger);border-radius:var(--jf-radius-sm);padding:10px 12px;color:var(--jf-charcoal)}.root-picker-status strong{display:block;color:var(--jf-danger-text)}.notice{border-radius:var(--jf-radius-md);padding:14px 18px;font-size:14px;margin-bottom:24px}.notice-ok{background:var(--jf-white);border:1px solid var(--jf-border);border-left:4px solid var(--jf-teal)}.notice-error{background:var(--jf-danger-bg);border-left:4px solid var(--jf-danger)}.notice-warning{background:var(--jf-warning-bg);border-left:4px solid var(--jf-warning);color:var(--jf-warning-text)}.mono,.notice code{font-family:var(--font-mono,"SF Mono",ui-monospace,monospace);font-size:.92em}input.mono,textarea.mono{font-feature-settings:"liga" 0,"calt" 0;font-variant-ligatures:none}.url-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.url-chip{background:var(--jf-white);border:1px solid var(--jf-border);padding:10px 16px;font-family:var(--font-mono,"SF Mono",ui-monospace,monospace);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.url-chip,pre.logs{border-radius:var(--jf-radius-md)}pre.logs{background:var(--jf-charcoal);color:#c9c9c9;padding:20px;font-size:12.5px;line-height:1.6;overflow:auto;max-height:420px;white-space:pre-wrap;word-break:break-word}.text-link{font-weight:700;color:var(--jf-charcoal)}.text-link:hover{text-decoration:underline}.text-link:after{content:" →"}.inline-link{font-weight:700;color:var(--jf-charcoal);text-decoration:underline;text-underline-offset:3px}.inline-link:hover{text-decoration:none}.auth-page{min-height:100vh;background:var(--jf-charcoal);color:var(--jf-white);display:flex;flex-direction:column}.auth-body{flex:1;display:grid;place-items:center;padding:48px 24px}.auth-card{width:100%;max-width:400px}.auth-card>img{height:18px;margin-bottom:40px;display:block}.auth-card h1{color:var(--jf-white);font-size:36px;margin-bottom:12px}.auth-card h1 svg{display:block}.auth-card .lede{color:#c9c9c9;margin-bottom:36px}.auth-card .divider{display:flex;align-items:center;gap:14px;color:var(--jf-slate);font-size:13px;margin:28px 0}.auth-card .divider:after,.auth-card .divider:before{content:"";flex:1;height:1px;background:var(--jf-slate)}.auth-card .fine{color:var(--jf-grey-mid);font-size:13px;margin-top:28px}.auth-card .fine a{color:#c9c9c9;text-decoration:underline}.horizon{display:block;width:100%}.teal-base{height:6px;background:var(--jf-teal)}.w-full{width:100%}@media (max-width:768px){.site-header .shell{height:auto;padding-top:14px;padding-bottom:14px;flex-wrap:wrap}.page{padding-top:32px}.page-head{align-items:flex-start;flex-direction:column}h1{font-size:26px}.panel{padding:22px}.shell-wide{padding:0 20px}.admin-bleed{--admin-bleed-x:20px;--admin-bleed-top:32px}.portal-toolbar,.portal-toolbar-right{align-items:stretch;flex-direction:column}.portal-search,.portal-sort{width:100%}}.deploy-status-content{background:var(--jf-white);border:1px solid var(--jf-border);border-radius:var(--jf-radius-lg);padding:32px}.deploy-status-dismiss{display:flex;justify-content:flex-end;margin-bottom:12px}.deploy-status-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:20px}.deploy-status-percentage{font-size:56px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1;letter-spacing:-.02em}.deploy-status-counter{font-family:var(--font-mono,"SF Mono",ui-monospace,monospace);font-size:12px;color:var(--jf-slate);white-space:nowrap}.deploy-status-bar{display:flex;gap:4px;margin-bottom:20px}.deploy-status-segment{flex:1;height:4px;border-radius:2px;background:var(--jf-border);transition:background-color .32s cubic-bezier(.4,0,.2,1)}.deploy-status-segment--active,.deploy-status-segment--done{background:var(--jf-teal)}.deploy-status-segment--active+.deploy-status-segment{background:rgba(71,255,206,.45)}.deploy-status-segment--failed{background:var(--jf-charcoal)}.deploy-status-segment--paused{background:var(--jf-warning)}.deploy-status-steps{display:flex;flex-direction:column;gap:2px;margin-bottom:20px}.deploy-status-step{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:var(--jf-radius-sm);opacity:.4;transition:background-color .32s cubic-bezier(.4,0,.2,1)}.deploy-status-step--active,.deploy-status-step--done,.deploy-status-step--failed,.deploy-status-step--paused{opacity:1}.deploy-status-step--active{background:rgba(71,255,206,.15)}.deploy-status-step--failed{background:var(--jf-stone)}.deploy-status-step--paused{background:var(--jf-warning-bg)}.deploy-status-step-icon{flex:none;width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:13px}.deploy-status-step-icon--queued:before{content:"";width:8px;height:8px;border-radius:50%;border:1.5px solid var(--jf-grey-mid)}.deploy-status-step-icon--active{width:14px;height:14px;border-radius:50%;border:2px solid var(--jf-charcoal);border-top:2px solid transparent;animation:deploy-status-spin .8s linear infinite}.deploy-status-step-icon--done,.deploy-status-step-icon--failed{font-weight:800;color:var(--jf-charcoal)}.deploy-status-step-icon--paused{font-weight:800;color:var(--jf-warning-text)}@keyframes deploy-status-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.deploy-status-step-icon--active{animation:dos-pulse .8s ease-in-out infinite}}.deploy-status-step-label{font-family:var(--font-mono,"SF Mono",ui-monospace,monospace);font-size:13px;flex:1}.deploy-status-step-tag{flex:none;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--jf-slate)}.deploy-status-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:16px;border-top:1px solid var(--jf-border)}.deploy-status-status{font-size:13px;font-weight:700;background:none;border:0;padding:0;text-align:left}button.deploy-status-status{cursor:pointer}.deploy-status-status-trigger{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:left}.deploy-status-footer-links{display:flex;align-items:center;gap:16px;flex:none}.deploy-status-link{font-size:13px;font-weight:700;background:none;border:0;padding:0;cursor:pointer;color:var(--jf-charcoal);text-decoration:underline;text-underline-offset:2px;white-space:nowrap}.deploy-status-link:disabled{cursor:not-allowed;opacity:.5}.deploy-status-log-header{margin-bottom:20px}.deploy-status-log-box{border:1px solid var(--jf-border);border-radius:var(--jf-radius-md);padding:12px 14px;max-height:220px;overflow-y:auto;margin-bottom:20px}.deploy-status-log-line{font-family:var(--font-mono,"SF Mono",ui-monospace,monospace);font-size:12px;line-height:1.7;opacity:.55;margin:0;white-space:pre-wrap;word-break:break-word}.deploy-status-log-line--current{font-weight:700;opacity:1}.deploy-status-eyebrow{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--jf-slate);margin:0 0 8px}.deploy-status-error-cards{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.deploy-status-error-card{background:var(--jf-stone);border-radius:var(--jf-radius-md);padding:12px 14px}.deploy-status-error-title{font-weight:700;font-size:13px;margin:0 0 4px}.deploy-status-error-hint{font-size:13px;color:var(--jf-slate);margin:0}.deploy-status-log-footer{justify-content:space-between;flex-wrap:wrap;padding-top:16px;border-top:1px solid var(--jf-border)}.deploy-status-log-footer,.deploy-status-log-footer-links{display:flex;align-items:center;gap:16px}.wizard{display:grid;grid-template-columns:240px minmax(0,1fr);background:var(--jf-white);border:1px solid var(--jf-border);border-radius:var(--jf-radius-lg)}.wizard-rail{border-right:1px solid var(--jf-border);padding:40px 24px 40px 40px}.wizard-body{display:flex;flex-direction:column;gap:24px;min-width:0;min-height:480px;padding:40px 40px 40px 32px}@media (max-width:760px){.wizard{grid-template-columns:minmax(0,1fr)}.wizard-rail{border-right:none;border-bottom:1px solid var(--jf-border);padding:24px 24px 8px}.wizard-body{min-height:0;padding:24px}}.wizard-single{grid-template-columns:minmax(0,1fr)}.wizard-single .wizard-body{min-height:0;padding:40px}@media (max-width:760px){.wizard-single .wizard-body{padding:24px}}.wizard-step .panel{background:none;border:none;border-radius:0;padding:0;margin:0}.wizard-step .panel+.panel{margin-top:28px;padding-top:24px;border-top:1px solid var(--jf-border)}.wizard-step .deploy-status-content{background:none;border:none;border-radius:0;padding:0}.wizard-rail ol{list-style:none;margin:0;padding:0}.wizard-rail-step{display:flex;align-items:stretch;gap:12px;width:100%;text-align:left;font-family:inherit;background:none;border:none;padding:0}button.wizard-rail-step{cursor:pointer}button.wizard-rail-step:hover .wizard-rail-label{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:2px}button.wizard-rail-step:focus-visible{outline:2px solid var(--jf-charcoal);outline-offset:3px;border-radius:var(--jf-radius-sm)}.wizard-rail-marker{display:flex;flex:none;flex-direction:column;align-items:center}.wizard-rail-item:not(:last-child) .wizard-rail-marker:after{content:"";width:1.5px;flex:1;min-height:26px;background:var(--jf-border)}.wizard-rail-item.is-completed .wizard-rail-marker:after{background:var(--jf-charcoal)}.wizard-rail-mark{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;flex:none;width:28px;height:28px;border-radius:999px;border:1.5px solid var(--jf-border);background:var(--jf-white);color:var(--jf-grey-mid);font-size:12px;font-weight:800;font-variant-numeric:tabular-nums;transition:background .32s cubic-bezier(.4,0,.2,1),border-color .32s cubic-bezier(.4,0,.2,1),color .32s cubic-bezier(.4,0,.2,1)}.wizard-rail-text{display:flex;flex-direction:column;gap:2px;padding-top:2px;padding-bottom:22px}.wizard-rail-item:last-child .wizard-rail-text{padding-bottom:0}.wizard-rail-eyebrow{font-family:var(--font-mono,"SF Mono",ui-monospace,monospace);font-size:10px;letter-spacing:.15em;line-height:1.4;text-transform:uppercase}.wizard-rail-eyebrow,.wizard-rail-label{font-weight:400;color:var(--jf-grey-mid)}.wizard-rail-label{font-size:13px;line-height:1.35}.wizard-rail-item.is-current .wizard-rail-mark{border-color:var(--jf-charcoal);color:var(--jf-charcoal)}.wizard-rail-item.is-current .wizard-rail-label{font-weight:800;color:var(--jf-charcoal)}.wizard-rail-item.is-completed .wizard-rail-mark{background:var(--jf-charcoal);border-color:var(--jf-charcoal);color:var(--jf-white)}.wizard-rail-item.is-completed .wizard-rail-label{color:var(--jf-charcoal)}.wizard-step:focus{outline:none}.wizard-step:focus-visible{outline:2px solid var(--jf-charcoal);outline-offset:4px;border-radius:var(--jf-radius-lg)}.wizard-actions{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-wrap:wrap;margin-top:auto;padding-top:20px;border-top:1px solid var(--jf-border)}.wizard-back{display:inline-flex;align-items:center;gap:6px;margin-right:auto;background:none;border:none;padding:0;font-family:inherit;font-size:13px;font-weight:700;color:var(--jf-charcoal);cursor:pointer}.wizard-back:hover:not(:disabled){text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}.wizard-back:disabled{opacity:.4;cursor:not-allowed}.wizard-forward{display:inline-flex;align-items:center;gap:8px;background:var(--jf-charcoal);color:var(--jf-white);border:2px solid var(--jf-charcoal);border-radius:var(--jf-radius-md);padding:9px 20px;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:background .18s cubic-bezier(.4,0,.2,1),opacity .18s cubic-bezier(.4,0,.2,1)}.wizard-forward:hover:not(:disabled){background:#000;border-color:#000}.wizard-forward:disabled{opacity:.4;cursor:not-allowed}.wizard-back:focus-visible,.wizard-forward:focus-visible{outline:2px solid var(--jf-charcoal);outline-offset:3px}@media (prefers-reduced-motion:reduce){.wizard-forward,.wizard-rail-mark{transition:none}}.greeting{background:var(--jf-charcoal);color:var(--jf-white);border-top:1px solid var(--jf-slate)}.greeting-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:56px 48px 48px}.greeting-title{font-weight:700;font-size:36px;line-height:1.1;letter-spacing:-.01em;color:var(--jf-white)}.greeting-sub{margin-top:8px;font-size:15px;color:var(--jf-white);opacity:.75}.greeting-cta{display:inline-flex;align-items:center;gap:8px;flex:none;padding:11px 18px;border-radius:var(--jf-radius-md);font-size:14px;font-weight:700;white-space:nowrap;transition:opacity .18s cubic-bezier(.4,0,.2,1)}.greeting-cta,.greeting-cta:hover{background:var(--jf-teal);color:var(--jf-charcoal)}.greeting-cta:hover{opacity:.88}.greeting-cta:focus-visible{outline:2px solid var(--jf-white);outline-offset:3px}.greeting-horizon{display:block;width:100%}@media (prefers-reduced-motion:reduce){.greeting-cta{transition:none}}@media (max-width:768px){.greeting-inner{padding:32px 20px}.greeting-title{font-size:28px}}.dash-section{min-width:0}.dash-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:12px}.dash-section-label{font-size:11px;font-weight:700;line-height:1.2;letter-spacing:.08em;text-transform:uppercase;color:var(--jf-slate)}.dash-section-actions{display:flex;align-items:baseline;gap:18px;flex:none}.dash-section-link{display:inline-flex;align-items:center;gap:6px;flex:none;font-size:13px;font-weight:700;color:var(--jf-charcoal)}.dash-section-link:hover{color:var(--jf-charcoal);text-decoration:underline}.dash-section-link:focus-visible{outline:2px solid var(--jf-charcoal);outline-offset:3px;border-radius:var(--jf-radius-sm)}.dash-list{display:flex;flex-direction:column;gap:8px}.dash-row{display:flex;align-items:center;gap:14px;min-width:0;padding:12px 16px;background:var(--jf-white);border:1px solid var(--jf-border);border-radius:var(--jf-radius-lg);transition:border-color .18s cubic-bezier(.4,0,.2,1)}.dash-row:focus-within,.dash-row:hover{background:var(--jf-white);border-color:var(--jf-charcoal)}.dash-row:focus-visible{outline:2px solid var(--jf-charcoal);outline-offset:3px}.dash-row-heading{flex:1;min-width:0}.dash-row-name{font-family:var(--font-display,Manrope,sans-serif);font-size:14px;font-weight:700;line-height:1.2;color:var(--jf-charcoal)}.dash-row-category,.dash-row-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-row-category{margin-top:2px;font-size:12px;color:var(--jf-slate)}.dash-row-arrow{flex:none;color:var(--jf-charcoal)}.dash-row-nudge{display:grid;place-items:center;padding:12px 16px;border:1.5px dashed var(--jf-grey-mid);border-radius:var(--jf-radius-lg);font-size:13px;font-weight:700;color:var(--jf-slate);text-align:center}.dash-row-updated{flex:none;font-size:11px;color:var(--jf-slate);white-space:nowrap}.dash-row-actions{gap:7px;margin-right:-4px;flex:none}.dash-row-action,.dash-row-actions{display:inline-flex;align-items:center}.dash-row-action{width:24px;height:24px;justify-content:center;border-radius:var(--jf-radius-sm);color:var(--jf-charcoal);transition:background-color .18s cubic-bezier(.4,0,.2,1)}.dash-row-action:hover{color:var(--jf-charcoal);background:var(--jf-stone)}.dash-row-action:focus-visible{outline:2px solid var(--jf-charcoal);outline-offset:2px}@media (max-width:480px){.dash-row-updated{display:none}}@media (prefers-reduced-motion:reduce){.dash-row,.dash-row-action{transition:none}}.news-panel{background:var(--jf-white);border:1px solid var(--jf-border);border-radius:var(--jf-radius-lg);overflow:hidden}.news-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid var(--jf-border)}.news-panel-title{font-size:14px}.news-panel-all,.news-panel-title{font-weight:700;color:var(--jf-charcoal)}.news-panel-all{display:inline-flex;align-items:center;gap:4px;flex:none;font-size:12px}.news-panel-all:hover{color:var(--jf-charcoal);text-decoration:underline}.news-panel-all:focus-visible{outline:2px solid var(--jf-charcoal);outline-offset:3px;border-radius:var(--jf-radius-sm)}.news-item{display:block;padding:18px 22px;border-bottom:1px solid var(--jf-border);transition:background-color .18s cubic-bezier(.4,0,.2,1)}.news-item:focus-visible,.news-item:hover{background:var(--jf-stone)}.news-item:focus-visible{outline:2px solid var(--jf-charcoal);outline-offset:-2px}.news-item-meta{display:flex;gap:6px;font-size:11px;color:var(--jf-slate)}.news-item-tag{font-weight:700}.news-item-title{margin-top:6px;font-size:14px;font-weight:700;line-height:1.35;color:var(--jf-charcoal);unicode-bidi:isolate;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.news-item-blurb{margin-top:5px;line-height:1.5;unicode-bidi:isolate;overflow-wrap:anywhere}.news-empty,.news-item-blurb{font-size:12px;color:var(--jf-slate)}.news-empty{padding:18px 22px}@media (prefers-reduced-motion:reduce){.news-item{transition:none}}main.page:has(>.dashboard){padding:0;max-width:none}.dashboard{--dashboard-canvas:1520px}.dashboard .greeting-inner,.dashboard-grid,.dashboard-rds{max-width:var(--dashboard-canvas);margin-inline:auto}.dashboard-rds{padding:40px 48px 0}.dashboard-rds .rds{margin-bottom:0}.dashboard-stats__heading{font-size:14px;color:var(--jf-slate);margin-block-end:12px}.dashboard-stats__grid{display:grid;grid-template-columns:1fr;gap:16px}.dashboard-stat-panel{background:var(--jf-white);border:1px solid var(--jf-border);border-radius:var(--jf-radius-lg);padding:20px;min-width:0}.dashboard-stat-panel__heading{font-size:13px;color:var(--jf-slate);margin:0 0 12px}.dashboard-stat-panel__rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.dashboard-stat-panel__row{display:grid;grid-template-columns:1fr auto minmax(48px,72px);align-items:center;gap:12px}.dashboard-stat-panel__row-name{font-size:14px;color:var(--jf-charcoal);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-stat-panel__row-change,.dashboard-stat-panel__row-value{font-size:14px;font-weight:600;color:var(--jf-charcoal);white-space:nowrap}.dashboard-stat-panel__row-spark{display:block}.dashboard-stat-panel__empty{font-size:14px;color:var(--jf-slate);margin:0}.dashboard-stat-panel__number-body{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.dashboard-stat-panel__value{font-size:32px;font-weight:600;line-height:1.2;color:var(--jf-charcoal)}.dashboard-stat-panel__hint{font-size:12.5px;color:var(--jf-slate);margin-top:4px}.dashboard-stat-panel__number-spark{flex:1 1 auto;min-width:0}.app-card__spark{display:none}@media (min-width:1024px){.app-card__spark{display:block}}.dashboard-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(280px,1fr);gap:40px;padding:40px 48px 56px}.dashboard-main:has(.dash-row-nudge:only-child)>.dashboard-catalog{border-top:1px solid var(--jf-border);padding-top:40px}.dashboard-main{gap:40px}.dashboard-main,.dashboard-side{display:flex;flex-direction:column;min-width:0}.dashboard-side{--dashboard-side-top:88px;position:sticky;top:var(--dashboard-side-top);align-self:start;max-height:calc(100vh - var(--dashboard-side-top) - 24px);overflow-y:auto;gap:24px}.dashboard-side>*{flex-shrink:0}@media (max-width:900px){.dashboard-grid{grid-template-columns:minmax(0,1fr)}.dashboard-side{position:static;max-height:none;overflow-y:visible}}@media (max-width:768px){.dashboard-rds{padding:32px 20px 0}.dashboard-grid{gap:32px;padding:32px 20px 40px}.dashboard-main{gap:32px}}.analytics-grid,.analytics-stack{--analytics-panel-gap:20px}.analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--analytics-panel-gap)}@media (max-width:900px){.analytics-grid{grid-template-columns:minmax(0,1fr)}}}