.p28j-page{min-height:100%}.p28j-hero{position:relative;overflow:hidden;border-radius:10px;padding:22px 26px 20px;color:#fff;background:var(--ci-blue);box-shadow:var(--shadow-card)}.p28j-hero--complete{background:var(--ci-blue)}.p28j-hero-top{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-start;gap:28px}.p28j-hero-progress{display:flex;align-items:center;gap:22px;min-width:0}.p28j-hero-percent{font:500 52px/1 var(--ci-font-mono);letter-spacing:-.05em;font-variant-numeric:tabular-nums}.p28j-hero h2{margin:0 0 5px;font-size:20px;line-height:1.2;color:#fff}.p28j-hero p{margin:0;font-size:13px;line-height:1.45;color:#ffffffb8}.p28j-hero-time{display:flex;flex-direction:column;align-items:flex-end;flex:none}.p28j-hero-time span{font-size:10.5px;font-weight:var(--weight-bold);letter-spacing:.08em;text-transform:uppercase;color:#ffffff94}.p28j-hero-time strong{margin-top:4px;font:500 24px/1.15 var(--ci-font-mono);color:#fff}.p28j-hero-time small{margin-top:4px;font-size:11px;color:#ffffff94}.p28j-hero-bar{position:relative;z-index:1;height:7px;margin-top:20px;border-radius:var(--radius-pill);background:#ffffff29;overflow:hidden}.p28j-hero-bar>span{display:block;height:100%;border-radius:inherit;background:#fff;transition:width 1s linear}.p28j-hero-meta{position:relative;z-index:1;display:flex;justify-content:space-between;gap:18px;margin-top:9px;font-size:11.5px;color:#ffffffa8}.p28j-hero-meta b{color:#fff;font-weight:var(--weight-semibold)}.p28j-hero-note{position:relative;z-index:1;margin-top:12px;font-size:11.5px;color:#ffffffad}.p28j-notify{display:flex;align-items:center;gap:10px;height:40px;padding:0 14px;box-sizing:border-box;background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;font-size:13px;color:var(--ci-blue)}.p28j-notify-title{font-weight:var(--weight-semibold);color:var(--text-body)}.p28j-notify-error{font-size:12px;color:var(--status-behind)}.p28j-check{position:relative;display:inline-flex;align-items:center;gap:5px;color:var(--ci-text-muted);cursor:pointer}.p28j-check input{position:absolute;opacity:0;width:15px;height:15px;margin:0;cursor:pointer}.p28j-check-box{width:15px;height:15px;border-radius:4px;border:1.5px solid var(--ci-300);box-sizing:border-box;display:grid;place-items:center;color:#fff;background:var(--surface-card)}.p28j-check input:checked+.p28j-check-box{background:var(--ci-blue);border-color:var(--ci-blue)}.p28j-check input:focus-visible+.p28j-check-box{outline:2px solid var(--ci-blue);outline-offset:2px}.p28j-check input:disabled+.p28j-check-box{opacity:.55}.p28j-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.p28j-stat{background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;padding:14px 18px;display:flex;flex-direction:column;gap:4px;min-width:0}.p28j-stat--brand{background:var(--ci-blue);border-color:var(--ci-blue);color:#fff}.p28j-stat--watch{border-top:3px solid var(--status-watch);padding-top:12px}.p28j-stat--behind{border-top:3px solid var(--status-behind);padding-top:12px}.p28j-stat-label{font-size:11px;font-weight:var(--weight-bold);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.p28j-stat--brand .p28j-stat-label{color:#ffffffb3}.p28j-stat-value{font:500 28px/1.15 var(--ci-font-mono);font-variant-numeric:tabular-nums;color:var(--ci-800)}.p28j-stat--brand .p28j-stat-value{color:#fff}.p28j-run-summary{display:flex;flex-direction:column;gap:14px;min-width:0}.p28j-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px}.p28j-status-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.p28j-pill{display:inline-flex;align-items:center;font-size:11px;font-weight:var(--weight-bold);letter-spacing:.04em;padding:3px 10px;border-radius:var(--radius-pill);background:var(--ci-50);color:var(--ci-700)}.p28j-pill--running{background:var(--ci-50);color:var(--ci-blue)}.p28j-pill--paused,.p28j-pill--queued{background:var(--status-watch-soft);color:var(--status-watch-text)}.p28j-pill--succeeded{background:var(--status-go-soft);color:var(--status-go)}.p28j-pill--failed,.p28j-pill--cancelled{background:var(--status-behind-soft);color:var(--status-behind)}.p28j-link{border:0;background:transparent;padding:0;font:inherit;font-size:12.5px;font-weight:var(--weight-semibold);color:var(--ci-blue);cursor:pointer}.p28j-link:hover:not(:disabled){color:var(--brand-hover);text-decoration:underline}.p28j-link:disabled{color:var(--ci-text-muted);cursor:default}.p28j-link:focus-visible{outline:2px solid var(--ci-blue);outline-offset:2px;border-radius:4px}.p28j-stages{position:relative;z-index:1;list-style:none;margin:20px 0 0;padding:16px 0 0;border-top:1px solid rgba(255,255,255,.15);display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.p28j-stage{display:flex;align-items:flex-start;gap:9px;min-width:0}.p28j-stage-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.p28j-stage-head{display:flex;flex-direction:column;gap:2px;font-size:12px}.p28j-stage-label{font-weight:var(--weight-semibold);color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p28j-stage--run .p28j-stage-label{font-weight:var(--weight-semibold)}.p28j-stage--wait .p28j-stage-label{color:#ffffff94}.p28j-stage-state{font:500 10.5px var(--ci-font-mono);color:#ffffff8c;white-space:nowrap}.p28j-stage-error{font-size:11px;color:#ffd2cc}.p28j-dot{flex:none;width:22px;height:22px;border-radius:50%;box-sizing:border-box;display:grid;place-items:center}.p28j-dot--done{background:#fffffff2;color:var(--status-go)}.p28j-dot--failed{background:#fff;color:var(--status-behind)}.p28j-dot--run{border:2px solid rgba(255,255,255,.25);border-top-color:#fff;animation:p28j-spin .9s linear infinite}.p28j-dot--wait{border:1.5px dashed rgba(255,255,255,.38)}@keyframes p28j-spin{to{transform:rotate(360deg)}}.p28j-bar{height:6px;border-radius:var(--radius-pill);background:var(--ci-100);overflow:hidden}.p28j-bar--thin{height:5px}.p28j-bar>span{display:block;height:100%;background:var(--ci-blue);border-radius:var(--radius-pill);transition:width 1s linear}.p28j-time{padding:16px 20px;display:flex;flex-direction:column;gap:12px}.p28j-time-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.p28j-time-remaining{font:500 32px/1.1 var(--ci-font-mono);font-variant-numeric:tabular-nums;color:var(--ci-800);margin-top:6px}.p28j-time-elapsed{text-align:right}.p28j-time-elapsed-value{font:500 18px/1.1 var(--ci-font-mono);font-variant-numeric:tabular-nums;color:var(--ci-600);margin-top:8px}.p28j-time-foot{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--ci-text-muted)}.p28j-time-foot b{color:var(--ci-ink);font-weight:var(--weight-semibold)}.p28j-time-note{font-size:12px;color:var(--ci-text-muted)}.p28j-invariant{color:var(--ci-800)}.p28j-invariant-tag{font-size:11px;font-weight:var(--weight-bold);letter-spacing:.08em;color:var(--ci-blue)}.p28j-note{font-size:12.5px;line-height:1.5;color:var(--ci-text-muted)}.p28j-empty{padding:22px 24px;display:flex;flex-direction:column;gap:10px;max-width:720px}.p28j-empty h2{font-size:16px;font-weight:var(--weight-bold)}.p28j-empty p{font-size:13.5px;line-height:1.5;color:var(--ci-text-muted)}.p28j-skeleton{display:block;height:11px;border-radius:6px;background:var(--ci-50);animation:p28j-pulse 1.4s ease-in-out infinite}.p28j-skeleton--big{height:28px;width:40%;margin-top:6px}@keyframes p28j-pulse{50%{opacity:.5}}.p28j-dialog{border:0;border-radius:14px;padding:24px 26px;width:min(460px,calc(100vw - 32px));box-shadow:var(--shadow-dialog);display:flex;flex-direction:column;gap:12px;color:var(--text-body)}.p28j-dialog:not([open]){display:none}.p28j-dialog::backdrop{background:var(--scrim)}.p28j-dialog h2{font-size:18px;font-weight:var(--weight-bold)}.p28j-dialog p{font-size:13.5px;line-height:1.5;color:var(--ci-text-muted)}.p28j-field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:var(--weight-semibold)}.p28j-field textarea{font:inherit;font-weight:var(--weight-regular);border:1px solid var(--border-default);border-radius:var(--radius-field);padding:8px 10px;resize:vertical}.p28j-field textarea:focus-visible{outline:2px solid var(--ci-blue);outline-offset:1px}.p28j-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.p28j-bell{position:relative}.p28j-bell-count{position:absolute;top:-3px;right:-4px;min-width:16px;height:16px;padding:0 4px;box-sizing:border-box;border-radius:var(--radius-pill);background:var(--status-behind);color:#fff;font:700 10px/16px var(--ci-font-sans);text-align:center}.p28j-bell-menu{position:fixed;z-index:60;width:340px;max-width:calc(100vw - 24px);max-height:min(480px,calc(100vh - 24px));overflow-y:auto;right:auto;top:auto;border-radius:12px;box-shadow:0 1px 3px #2b4c6e14,0 16px 40px #111e2e2e}.p28j-bell-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-right:10px}.p28-menu-item.p28j-bell-item{display:flex;flex-direction:column;gap:3px;padding:10px 12px}.p28-menu-item.p28j-bell-item--unread{background:var(--ci-50)}.p28-menu-item.p28j-bell-item--unread:hover{background:var(--ci-100)}.p28j-bell-title{display:flex;align-items:center;gap:6px;font-weight:var(--weight-semibold)}.p28j-bell-dot{width:7px;height:7px;border-radius:50%;background:var(--ci-blue);flex:none}.p28j-bell-body{font-size:12px;line-height:1.4;color:var(--ci-text-muted)}.p28j-bell-time{font-size:11px;color:var(--ci-text-muted)}.p28j-bell-empty{padding:8px 10px 10px;font-size:13px;color:var(--ci-text-muted)}@media(max-width:1100px){.p28j-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.p28j-hero{padding:20px}.p28j-hero-top,.p28j-hero-progress{align-items:flex-start}.p28j-hero-top{flex-direction:column}.p28j-hero-time{align-items:flex-start}.p28j-hero-percent{font-size:42px}.p28j-hero-meta{flex-direction:column;gap:4px}.p28j-stages{grid-template-columns:repeat(2,minmax(0,1fr))}.p28j-stats{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.p28j-dot--run,.p28j-skeleton{animation:none}.p28j-bar>span,.p28j-hero-bar>span{transition:none}}.p28j-bar--indeterminate>span{width:30%;animation:p28j-sweep 1.5s ease-in-out infinite}@keyframes p28j-sweep{0%{transform:translate(-100%)}to{transform:translate(340%)}}@media(prefers-reduced-motion:reduce){.p28j-bar--indeterminate>span{animation:none}}.p28-signin{min-height:100vh;background:var(--ci-900);color:var(--ci-ink);display:grid;grid-template-columns:minmax(0,1fr) 460px minmax(0,1fr);align-items:center;gap:40px;padding:64px 72px}.p28-signin-brand{align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;gap:48px;color:#fff;min-width:0}.p28-signin-logo{display:flex;align-items:center;gap:18px;align-self:flex-start}.p28-signin-wordmark-image{width:min(360px,42vw);height:auto;display:block}.p28-signin-logo svg{flex:none;display:block}.p28-signin-wordmark{display:flex;flex-direction:column;gap:5px}.p28-signin-wordmark-name{display:flex;align-items:baseline;font-size:48px;font-weight:var(--weight-bold);letter-spacing:-.02em;line-height:1;color:#fff}.p28-signin-wordmark-name b{font-family:var(--ci-font-mono);font-weight:var(--weight-semibold);color:var(--ci-200)}.p28-signin-wordmark-tag{font-size:15px;font-weight:var(--weight-bold);letter-spacing:.08em;text-transform:uppercase;color:#fffc}.p28-signin-pitch{display:flex;flex-direction:column;gap:16px;max-width:560px}.p28-signin-accent{width:48px;height:3px;border-radius:2px;background:var(--series-nsw)}.p28-signin-eyebrow{font-size:16px;font-weight:var(--weight-semibold);letter-spacing:.1em;text-transform:uppercase;color:#ffffffe6}.p28-signin-headline{font-size:40px;font-weight:var(--weight-bold);line-height:1.15;letter-spacing:-.015em;text-wrap:pretty}.p28-signin-lede{font-size:16px;line-height:1.55;color:#ffffffeb;max-width:480px}.p28-signin-card{width:min(460px,100%);justify-self:center;background:#fff;border-radius:16px;box-shadow:var(--shadow-auth);padding:34px 36px 28px;display:flex;flex-direction:column;gap:18px;min-width:0}.p28-signin-card h1{font-size:22px;font-weight:var(--weight-bold)}.p28-signin-form{display:flex;flex-direction:column;gap:18px}.p28-signin-providers{display:flex;flex-direction:column;gap:10px}.p28-provider-btn{display:flex;align-items:center;justify-content:center;gap:10px;height:44px;border:1px solid var(--border-default);border-radius:var(--radius-field);background:#fff;font-size:14px;font-weight:var(--weight-semibold);color:var(--ci-ink);text-decoration:none;transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease}.p28-provider-btn:hover{background:var(--ci-50);color:var(--ci-ink);border-color:var(--ci-200)}.p28-provider-btn[aria-disabled=true]{opacity:.6;pointer-events:none}.p28-provider-google{width:17px;height:17px;border-radius:50%;border:2px solid var(--ci-secondary);display:grid;place-items:center;font:700 10px/1 var(--ci-font-sans);color:var(--ci-secondary);flex:none}.p28-signin-divider{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--ci-text-muted)}.p28-signin-divider:before,.p28-signin-divider:after{content:"";flex:1;height:1px;background:var(--border-soft)}.p28-signin-footer{display:flex;align-items:center;justify-content:center;gap:10px;padding-top:14px;border-top:1px solid var(--border-soft);font-size:13px;color:var(--ci-text-muted)}.p28-signin-note{font-size:12.5px;line-height:1.5;color:var(--ci-text-muted)}.p28-field{display:flex;flex-direction:column;gap:6px}.p28-field-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.p28-field label,.p28-field-label{font-size:12.5px;font-weight:var(--weight-semibold);color:var(--ci-ink)}.p28-field-link{font-size:12.5px;font-weight:var(--weight-semibold);color:var(--ci-blue)}.p28-input{height:44px;padding:0 14px;border:1px solid var(--border-default);border-radius:var(--radius-field);font:inherit;font-size:14px;color:var(--ci-ink);background:#fff;width:100%;transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.p28-input:focus,.p28-input:focus-visible{outline:none;border-color:var(--ci-blue);box-shadow:0 0 0 3px var(--ci-200)}.p28-input[aria-invalid=true]{border-color:var(--status-behind)}.p28-input:disabled{background:var(--surface-row-alt);color:var(--ci-text-muted)}.p28-field-hint{font-size:12px;color:var(--ci-text-muted);line-height:1.45}.p28-field-error{font-size:12px;color:var(--status-behind);line-height:1.45}.p28-check{display:inline-flex;align-items:center;gap:8px;font-size:13px;cursor:pointer;position:relative;-webkit-user-select:none;user-select:none}.p28-check input{position:absolute;opacity:0;width:16px;height:16px;margin:0;cursor:pointer}.p28-check-box{width:16px;height:16px;border-radius:4px;border:1.5px solid var(--border-default);background:#fff;display:grid;place-items:center;color:#fff;flex:none;transition:background-color var(--duration-fast) ease}.p28-check-box svg{opacity:0}.p28-check input:checked+.p28-check-box{background:var(--ci-blue);border-color:var(--ci-blue)}.p28-check input:checked+.p28-check-box svg{opacity:1}.p28-check input:focus-visible+.p28-check-box{outline:2px solid var(--ci-blue);outline-offset:2px}.p28-success{background:var(--status-go-soft);color:var(--status-go);border-radius:var(--radius-card-app);padding:12px 14px;font-size:13px;line-height:1.5}.p28-error ul,.p28-success ul{margin:6px 0 0;padding-left:18px}.p28-auth-links{display:flex;gap:10px;flex-wrap:wrap}.p28-auth-panels{display:grid;gap:16px;max-width:920px}.p28-auth-panel{display:flex;flex-direction:column;gap:14px}.p28-auth-panel>p{font-size:13px;line-height:1.5;color:var(--ci-text-muted)}.p28-definition{display:grid;grid-template-columns:160px minmax(0,1fr);gap:8px 16px;margin:0;font-size:13.5px}.p28-definition dt{color:var(--ci-text-muted);font-weight:var(--weight-semibold)}.p28-definition dd{margin:0;min-width:0;overflow-wrap:anywhere}.p28-auth-form{display:grid;gap:14px;max-width:420px}.p28-auth-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.p28-events-wrap{overflow-x:auto;border:1px solid var(--border-default);border-radius:var(--radius-card-app);background:var(--surface-card)}.p28-events-wrap .p28-table td{vertical-align:top}.p28-event-when{white-space:nowrap;font-family:var(--ci-font-mono);font-size:12px;font-variant-numeric:tabular-nums}.p28-event-meta{font-size:12px;color:var(--ci-text-muted)}.p28-muted{color:var(--ci-text-muted)}.p28-skeleton{height:14px;border-radius:4px;background:var(--surface-row-alt);animation:p28-auth-pulse 1.2s ease-in-out infinite}@keyframes p28-auth-pulse{50%{opacity:.5}}@media(max-width:1440px){.p28-signin-headline{font-size:32px}}@media(max-width:1180px){.p28-signin{grid-template-columns:minmax(0,1fr);align-items:start;align-content:start;gap:32px;padding:40px 40px 48px}.p28-signin-brand{display:contents}.p28-signin-pitch{order:1}}@media(max-width:860px){.p28-signin{padding:28px 16px 40px;gap:28px}.p28-signin-logo svg{width:48px;height:48px}.p28-signin-wordmark-name{font-size:32px}.p28-signin-wordmark-tag{font-size:12px}.p28-signin-accent,.p28-signin-eyebrow,.p28-signin-lede{display:none}.p28-signin-headline{font-size:22px}.p28-signin-card{padding:26px 22px 22px}.p28-definition{grid-template-columns:minmax(0,1fr)}}.p28b-eyebrow{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.p28b-muted{color:var(--ci-text-muted)}.p28b-mono{font-family:var(--ci-font-mono);font-variant-numeric:tabular-nums}.p28b-card{background:#fff;border:1px solid var(--border-default);border-radius:10px}.p28b-card-pad{padding:16px 18px;display:flex;flex-direction:column;gap:14px}.p28b-card-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.p28b-draft{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:2px 8px;border-radius:var(--radius-pill);background:var(--status-watch-soft);color:var(--status-watch-text);white-space:nowrap}.p28b-link{background:none;border:0;padding:0;font:inherit;font-size:12px;font-weight:600;color:var(--ci-blue);cursor:pointer}.p28b-link:hover{color:var(--brand-hover)}.p28b-skeleton{display:block;height:12px;border-radius:6px;background:color-mix(in srgb,var(--ci-grey) 30%,#fff)}.p28b-empty{padding:22px 18px;font-size:13px;color:var(--ci-text-muted);text-align:center}.p28b-notice{border-radius:10px;padding:12px 14px;font-size:12.5px;line-height:1.45}.p28b-notice--go{background:var(--status-go-soft);color:var(--status-go)}.p28b-notice--watch{background:var(--status-watch-soft);color:var(--status-watch-text)}.p28b-notice--info{background:var(--ci-50);color:var(--ci-800)}.p28b-field{display:flex;flex-direction:column;gap:5px;min-width:0}.p28b-label{font-size:12px;font-weight:600;display:flex;gap:3px;color:var(--ci-ink)}.p28b-label .req{color:var(--status-behind)}.p28b-input,.p28b-select{height:36px;padding:0 12px;border:1px solid var(--border-default);border-radius:var(--radius-field);font:inherit;font-size:13.5px;background:#fff;color:var(--ci-ink);width:100%;min-width:0}.p28b-input:focus-visible,.p28b-select:focus-visible{outline:2px solid var(--ci-blue);outline-offset:1px}.p28b-input[aria-invalid=true],.p28b-select[aria-invalid=true]{border-color:var(--status-behind)}.p28b-field-error{font-size:11.5px;color:var(--status-behind)}.p28b-field-hint{font-size:11px;color:var(--ci-text-muted)}.p28b-signup{min-height:100vh;display:flex;background:var(--surface-page)}.p28b-signup-brand{width:380px;flex:none;background:var(--ci-900);color:#fff;padding:44px 40px;display:flex;flex-direction:column;justify-content:space-between;gap:32px}.p28b-signup-logo{display:flex;align-items:center;gap:14px}.p28b-signup-wordmark-image{width:230px;max-width:100%;height:auto;display:block}.p28b-signup-logo-name{display:flex;align-items:baseline;font-size:32px;font-weight:700;letter-spacing:-.02em;line-height:1}.p28b-signup-logo-name .num{font-family:var(--ci-font-mono);font-weight:600;color:var(--ci-200)}.p28b-signup-logo-tag{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fffc;margin-top:5px}.p28b-signup-pitch{display:flex;flex-direction:column;gap:14px}.p28b-signup-rule{width:48px;height:3px;border-radius:2px;background:var(--series-nsw)}.p28b-signup-headline{font-size:30px;font-weight:700;line-height:1.2;letter-spacing:-.015em}.p28b-signup-points{display:flex;flex-direction:column;gap:8px;font-size:14px;color:#ffffffe6;margin:0;padding:0;list-style:none}.p28b-signup-body{flex:1;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 320px}.p28b-signup-main{padding:28px 32px;display:flex;flex-direction:column;gap:18px;min-width:0}.p28b-signup-top{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.p28b-signup-top h1{font-size:24px;font-weight:700;letter-spacing:-.01em}.p28b-signup-top p{font-size:13.5px;color:var(--ci-text-muted);margin-top:4px}.p28b-signup-top p a{font-weight:600}.p28b-steps{display:flex;align-items:center;gap:10px;list-style:none;margin:0;padding:0}.p28b-steps li{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--ci-text-muted)}.p28b-steps li+li:before{content:"";width:28px;height:1px;background:var(--border-default);margin-right:2px}.p28b-step-dot{width:22px;height:22px;border-radius:50%;border:1px solid var(--ci-grey);display:grid;place-items:center;font:500 11px var(--ci-font-mono);box-sizing:border-box}.p28b-steps li[data-state=done]{color:var(--ci-ink);font-weight:600}.p28b-steps li[data-state=done] .p28b-step-dot{background:var(--status-go-soft);color:var(--status-go);border:0}.p28b-steps li[data-state=current]{color:var(--ci-blue);font-weight:600}.p28b-steps li[data-state=current] .p28b-step-dot{background:var(--ci-blue);color:#fff;border:0;font-weight:600}.p28b-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}.p28b-details-summary{display:flex;flex-direction:column;gap:8px}.p28b-details-row{display:flex;align-items:center;height:36px;padding:0 12px;border:1px solid var(--border-default);border-radius:10px;font-size:13.5px;background:#fff;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.p28b-sim-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.p28b-sim-control{display:flex;flex-direction:column;gap:6px;min-width:0}.p28b-sim-control-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.p28b-sim-control-head label{font-size:12.5px;font-weight:600}.p28b-sim-value{font:600 14px var(--ci-font-mono);color:var(--ci-blue)}.p28b-sim-control input[type=range]{width:100%;accent-color:var(--ci-blue);margin:0}.p28b-sim-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.p28b-sim-tile{background:var(--ci-50);border-radius:8px;padding:10px 12px;min-width:0}.p28b-sim-tile--go{background:var(--status-go-soft)}.p28b-sim-tile .label{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.p28b-sim-tile--go .label,.p28b-sim-tile--go .value,.p28b-sim-tile--go .note{color:var(--status-go)}.p28b-sim-tile .value{font:500 22px/1.2 var(--ci-font-mono);color:var(--ci-800);margin-top:4px}.p28b-sim-tile--go .value{font-family:var(--ci-font-sans);font-weight:600;color:var(--status-go)}.p28b-sim-tile .note{font-size:11px;color:var(--ci-text-muted);overflow-wrap:anywhere}.p28b-plans{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.p28b-plan{cursor:pointer;position:relative;background:#fff;border:1px solid var(--border-default);border-radius:10px;padding:14px 14px 12px;display:flex;flex-direction:column;gap:6px;text-align:left;font:inherit;color:inherit}.p28b-plan[aria-checked=true]{border:2px solid var(--ci-blue);padding:13px 13px 11px;box-shadow:var(--shadow-soft)}.p28b-plan:focus-visible{outline:2px solid var(--ci-blue);outline-offset:2px}.p28b-plan-rec{position:absolute;top:-9px;left:12px;font-size:10px;font-weight:700;letter-spacing:.06em;padding:2px 8px;border-radius:999px;background:var(--ci-blue);color:#fff}.p28b-plan-head{display:flex;justify-content:space-between;align-items:center}.p28b-plan-name{font-size:14px;font-weight:700}.p28b-radio{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--ci-grey);box-sizing:border-box;flex:none}[aria-checked=true]>*>.p28b-radio,.p28b-radio[data-on=true]{border:5px solid var(--ci-blue)}.p28b-plan-price{display:flex;align-items:baseline;gap:4px}.p28b-plan-price .amount{font:600 20px var(--ci-font-mono);color:var(--ci-800)}.p28b-plan-price .per{font-size:11.5px;color:var(--ci-text-muted)}.p28b-plan-credits{font-size:12px;color:var(--ci-ink);font-weight:600}.p28b-plan-note{font-size:11.5px;color:var(--ci-text-muted);line-height:1.4}.p28b-summary{background:#fff;border-left:1px solid var(--border-default);padding:28px 24px;display:flex;flex-direction:column;gap:16px}.p28b-summary-plan{font-size:18px;font-weight:700}.p28b-summary-rows{display:flex;flex-direction:column;border-top:1px solid var(--border-soft);font-size:13px}.p28b-summary-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--border-soft)}.p28b-summary-row span:last-child{font-family:var(--ci-font-mono)}.p28b-summary-total{display:flex;justify-content:space-between;padding:11px 0 0;font-weight:700}.p28b-summary-total span:last-child{font:700 16px var(--ci-font-mono);color:var(--ci-blue)}.p28b-summary-foot{margin-top:auto;display:flex;flex-direction:column;gap:10px}.p28b-join{display:flex;flex-direction:column;gap:8px}.p28b-join .p28b-input[readonly]{background:var(--ci-50);color:var(--ci-700)}.p28b-consent{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.45;cursor:pointer}.p28b-consent input{width:16px;height:16px;margin:1px 0 0;accent-color:var(--ci-blue);flex:none}.p28b-summary-small{font-size:11.5px;color:var(--ci-text-muted);text-align:center}.p28b-done{display:flex;flex-direction:column;gap:12px;align-items:flex-start}@media(max-width:1180px){.p28b-signup-brand{display:none}}@media(max-width:900px){.p28b-signup-body{grid-template-columns:minmax(0,1fr)}.p28b-summary{border-left:0;border-top:1px solid var(--border-default)}.p28b-plans,.p28b-sim-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.p28b-sim-tiles,.p28b-details-grid{grid-template-columns:minmax(0,1fr)}.p28b-signup-main{padding:20px 16px}}.p28b-modal{width:min(560px,calc(100vw - 32px));border:0;border-radius:16px;box-shadow:var(--shadow-auth);padding:0;color:var(--ci-ink);background:#fff}.p28b-modal::backdrop{background:var(--scrim)}.p28b-modal-body{display:flex;flex-direction:column}.p28b-modal-head{padding:26px 28px 0;display:flex;gap:14px;align-items:flex-start}.p28b-modal-icon{flex:none;width:40px;height:40px;border-radius:12px;background:var(--status-watch-soft);color:var(--status-watch-text);display:grid;place-items:center}.p28b-modal-head h2{font-size:19px;font-weight:700}.p28b-modal-head p{font-size:13.5px;line-height:1.5;color:var(--ci-text-muted);margin-top:4px}.p28b-modal-head p b{color:var(--ci-ink)}.p28b-estimate{margin:18px 28px 0;border:1px solid var(--border-soft);border-radius:10px;overflow:hidden;font-size:12.5px}.p28b-estimate-row{display:grid;grid-template-columns:1fr auto 44px;gap:14px;padding:7px 14px;border-bottom:1px solid var(--border-soft)}.p28b-estimate-row .calc{font-family:var(--ci-font-mono);color:var(--ci-text-muted)}.p28b-estimate-row .credits{font-family:var(--ci-font-mono);text-align:right}.p28b-estimate-short{display:grid;grid-template-columns:1fr auto;gap:14px;padding:8px 14px;background:var(--status-watch-soft)}.p28b-estimate-short span{font-weight:600;color:var(--status-watch-text)}.p28b-estimate-short span:last-child{font:600 13px var(--ci-font-mono)}.p28b-options{padding:18px 28px 0;display:flex;flex-direction:column;gap:10px;margin:0;border:0}.p28b-option{display:flex;gap:12px;padding:14px 16px;border-radius:10px;border:1px solid var(--border-default);background:#fff;cursor:pointer;text-align:left;font:inherit;color:inherit;width:100%}.p28b-option[aria-checked=true]{border-color:var(--ci-blue);background:var(--ci-50)}.p28b-option[aria-disabled=true]{cursor:not-allowed;opacity:.62}.p28b-option:focus-visible{outline:2px solid var(--ci-blue);outline-offset:2px}.p28b-option .p28b-radio{margin-top:2px}.p28b-option-main{flex:1;min-width:0}.p28b-option-title{font-size:14px;font-weight:600}.p28b-option-detail{font-size:12.5px;line-height:1.45;color:var(--ci-text-muted);margin-top:3px}.p28b-option-side{text-align:right;white-space:nowrap}.p28b-option-side .v{font:600 14px var(--ci-font-mono)}.p28b-option-side .u{font-size:11px;color:var(--ci-text-muted)}.p28b-note-input{margin-top:10px;width:100%;min-height:60px;resize:vertical;border:1px solid var(--border-default);border-radius:10px;font:inherit;font-size:13px;padding:8px 10px}.p28b-modal-foot{padding:20px 28px 24px;display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap}.p28b-modal-foot .status{margin-right:auto;font-size:12.5px}.p28b-credits-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.p28b-stat{background:#fff;border:1px solid var(--border-default);border-radius:10px;padding:16px 18px;display:flex;flex-direction:column;gap:10px;min-width:0}.p28b-stat .value{font:500 30px/1 var(--ci-font-mono);color:var(--ci-800);font-variant-numeric:tabular-nums}.p28b-stat .hint{margin-top:auto;font-size:12px;color:var(--ci-text-muted)}.p28b-stat--brand{background:var(--ci-blue);border-color:var(--ci-blue);color:#fff}.p28b-stat--brand .p28b-eyebrow{color:#ffffffb3}.p28b-stat--brand .value{color:#fff}.p28b-stat--brand .of{font:500 15px var(--ci-font-mono);color:#fff9}.p28b-stat--brand .hint{color:#ffffffb8}.p28b-stat-bar{height:6px;border-radius:999px;background:#ffffff2e;overflow:hidden}.p28b-stat-bar>span{display:block;height:100%;background:#fff;border-radius:999px}.p28b-credits-grid{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:20px;align-items:start}.p28b-col{display:flex;flex-direction:column;gap:18px;min-width:0}.p28b-table-card{overflow:hidden}.p28b-table-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border-soft);flex-wrap:wrap}.p28b-table-head h2{font-size:16px;font-weight:700}.p28b-table{width:100%;border-collapse:collapse;font-size:13px}.p28b-table th{text-align:left;padding:9px 12px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);background:var(--surface-row-alt)}.p28b-table th:first-child,.p28b-table td:first-child{padding-left:18px}.p28b-table th:last-child,.p28b-table td:last-child{padding-right:18px}.p28b-table td{padding:8px 12px;border-top:1px solid var(--border-soft)}.p28b-table tbody tr:nth-child(2n){background:var(--surface-row-alt)}.p28b-table .num{text-align:right;font-family:var(--ci-font-mono);font-variant-numeric:tabular-nums}.p28b-chip{font:600 13px var(--ci-font-mono);padding:3px 9px;border-radius:999px;background:var(--ci-50);color:var(--ci-700)}.p28b-chip--free{background:var(--status-go-soft);color:var(--status-go)}.p28b-chip--high{background:var(--ci-100);color:var(--ci-800)}.p28b-usage-date{font-family:var(--ci-font-mono);font-size:12px;color:var(--ci-text-muted);white-space:nowrap}.p28b-usage-plus{color:var(--status-go)}.p28b-est-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:baseline;padding:6px 0;border-bottom:1px solid var(--border-soft);font-size:13px}.p28b-est-row .calc{font:12px var(--ci-font-mono);color:var(--ci-text-muted);white-space:nowrap}.p28b-est-row .v{font:600 13px var(--ci-font-mono);min-width:36px;text-align:right}.p28b-est-total{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:baseline;padding:12px 0 2px}.p28b-est-total span:first-child{font-size:14px;font-weight:700}.p28b-est-total span:last-child{font:600 20px var(--ci-font-mono);color:var(--ci-blue)}.p28b-packs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.p28b-pack{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:10px;border:1px solid var(--border-default);background:#fff;text-align:left;font:inherit;color:inherit;cursor:pointer}.p28b-pack[aria-checked=true]{border-color:var(--ci-blue);background:var(--ci-50)}.p28b-pack:disabled{cursor:default}.p28b-pack .n{font:600 16px var(--ci-font-mono)}.p28b-pack .d{font-size:11.5px;color:var(--ci-text-muted)}.p28b-pack .p{font:600 12.5px var(--ci-font-mono);margin-top:2px}.p28b-select-inline{height:30px;border:1px solid var(--border-default);border-radius:8px;font:inherit;font-size:12.5px;padding:0 8px;max-width:100%}.p28b-report{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}.p28b-report label{display:flex;flex-direction:column;gap:4px;font-size:11.5px;font-weight:600}.p28b-report input{height:32px;border:1px solid var(--border-default);border-radius:8px;font:inherit;font-size:12.5px;padding:0 8px}@media(max-width:1200px){.p28b-credits-grid{grid-template-columns:minmax(0,1fr)}.p28b-credits-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.p28b-members{display:flex;flex-direction:column;gap:18px;max-width:920px}.p28b-invite-form{display:grid;grid-template-columns:minmax(0,1fr) 160px auto;gap:10px;align-items:end}.p28b-row-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center}@media(max-width:720px){.p28b-invite-form{grid-template-columns:minmax(0,1fr)}}.p28ai{display:flex;flex-direction:column;gap:18px;min-width:0}.p28ai-muted{color:var(--ci-text-muted)}.p28ai-mono{font-family:var(--ci-font-mono);font-variant-numeric:tabular-nums}.p28ai-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-card-app);min-width:0}.p28ai-card-pad{padding:16px 18px;display:flex;flex-direction:column;gap:12px}.p28ai-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border-soft)}.p28ai-card-title{font-size:16px;font-weight:var(--weight-bold)}.p28ai-card-sub{font-size:12.5px;color:var(--ci-text-muted);margin-top:3px;line-height:1.45}.p28ai-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.p28ai-stat{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-card-app);padding:16px 18px;display:flex;flex-direction:column;gap:10px;min-width:0}.p28ai-stat--brand{background:var(--ci-blue);border-color:var(--ci-blue);color:#fff}.p28ai-stat--stopped{background:var(--status-behind);border-color:var(--status-behind);color:#fff}.p28ai-stat-label{font-size:11px;font-weight:var(--weight-bold);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-muted)}.p28ai-stat--brand .p28ai-stat-label,.p28ai-stat--stopped .p28ai-stat-label{color:#ffffffb8}.p28ai-stat-value{font:500 28px/1.1 var(--ci-font-mono);font-variant-numeric:tabular-nums;color:var(--ci-800)}.p28ai-stat-value small{font-size:15px;color:var(--ci-text-muted)}.p28ai-stat-value--text{font:var(--weight-bold) 24px/1.15 var(--ci-font-sans);letter-spacing:var(--tracking-tight)}.p28ai-stat--brand .p28ai-stat-value,.p28ai-stat--stopped .p28ai-stat-value{color:#fff}.p28ai-stat--brand .p28ai-stat-value small,.p28ai-stat--stopped .p28ai-stat-value small{color:#ffffffa6}.p28ai-stat-hint{margin-top:auto;font-size:12px;color:var(--ci-text-muted);line-height:1.4}.p28ai-stat--brand .p28ai-stat-hint,.p28ai-stat--stopped .p28ai-stat-hint{color:#ffffffc7}.p28ai-bar{height:6px;border-radius:var(--radius-pill);background:var(--ci-100);overflow:hidden}.p28ai-bar>span{display:block;height:100%;border-radius:var(--radius-pill);background:var(--ci-blue)}.p28ai-bar--watch>span{background:var(--status-watch)}.p28ai-bar--behind>span{background:var(--status-behind)}.p28ai-body{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:20px;align-items:start}.p28ai-side{display:flex;flex-direction:column;gap:18px;min-width:0}.p28ai-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.p28ai-form .p28ai-wide{grid-column:1 / -1}.p28ai-field{display:flex;flex-direction:column;gap:5px;min-width:0}.p28ai-label{font-size:12px;font-weight:var(--weight-semibold);color:var(--ci-ink)}.p28ai-input{height:36px;padding:0 12px;border:1px solid var(--border-default);border-radius:var(--radius-field);font:inherit;font-size:13.5px;background:var(--surface-card);color:var(--ci-ink);width:100%;min-width:0}.p28ai-input:focus-visible{outline:2px solid var(--ci-blue);outline-offset:1px}.p28ai-input[aria-invalid=true]{border-color:var(--status-behind)}.p28ai-input:disabled{background:var(--surface-row-alt);color:var(--ci-text-muted)}.p28ai-money{position:relative}.p28ai-money>span{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:13px;color:var(--ci-text-muted)}.p28ai-money>.p28ai-input{padding-left:24px;font-family:var(--ci-font-mono)}.p28ai-hint{font-size:11.5px;color:var(--ci-text-muted);line-height:1.4}.p28ai-field-error{font-size:11.5px;color:var(--status-behind)}.p28ai-check{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.45}.p28ai-check input{width:16px;height:16px;margin:2px 0 0;accent-color:var(--ci-blue);flex:none}.p28ai-check strong{display:block;font-size:13.5px}.p28ai-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.p28ai-rows{display:flex;flex-direction:column}.p28ai-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--border-soft);font-size:13px}.p28ai-row:last-child{border-bottom:0}.p28ai-row small{display:block;font-size:11.5px;color:var(--ci-text-muted);margin-top:2px}.p28ai-pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:var(--weight-bold);letter-spacing:.03em;padding:2px 8px;border-radius:var(--radius-pill);white-space:nowrap;background:var(--ci-50);color:var(--ci-700)}.p28ai-pill--go{background:var(--status-go-soft);color:var(--status-go)}.p28ai-pill--watch{background:var(--status-watch-soft);color:var(--status-watch-text)}.p28ai-pill--behind{background:var(--status-behind-soft);color:var(--status-behind)}.p28ai-pill--off{background:var(--surface-row-alt);color:var(--ci-text-muted)}.p28ai-kill{border-color:var(--status-behind-soft)}.p28ai-kill--engaged{border-color:var(--status-behind);box-shadow:inset 4px 0 0 var(--status-behind)}.p28ai-table-wrap{overflow-x:auto}.p28ai-table{width:100%;border-collapse:collapse;font-size:12.5px}.p28ai-table th{text-align:left;padding:9px 12px;font-size:11px;font-weight:var(--weight-bold);letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);background:var(--surface-row-alt);white-space:nowrap}.p28ai-table th:first-child,.p28ai-table td:first-child{padding-left:18px}.p28ai-table th:last-child,.p28ai-table td:last-child{padding-right:18px}.p28ai-table td{padding:9px 12px;border-top:1px solid var(--border-soft);vertical-align:top}.p28ai-table .num{text-align:right;font-family:var(--ci-font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.p28ai-table .when{font-family:var(--ci-font-mono);font-size:12px;color:var(--ci-text-muted);white-space:nowrap}.p28ai-model{font-family:var(--ci-font-mono);font-size:12px;white-space:nowrap}.p28ai-model small{display:block;color:var(--ci-text-muted);font-family:var(--ci-font-sans);font-size:11px;margin-top:2px}.p28ai-empty{padding:22px 18px;font-size:13px;color:var(--ci-text-muted);text-align:center}.p28ai-foot{padding:12px 18px;border-top:1px solid var(--border-soft);display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;color:var(--ci-text-muted)}.p28ai-notice{border-radius:var(--radius-card-app);padding:12px 14px;font-size:12.5px;line-height:1.45;background:var(--ci-50);color:var(--ci-800);border:1px solid var(--ci-100)}.p28ai-notice--watch{background:var(--status-watch-soft);color:var(--status-watch-text);border-color:transparent}.p28ai-notice--behind{background:var(--status-behind-soft);color:var(--status-behind);border-color:transparent}.p28ai-notice--go{background:var(--status-go-soft);color:var(--status-go);border-color:transparent}.p28ai-skeleton{display:block;height:12px;border-radius:6px;background:var(--ci-100)}.p28ai-skeleton--tall{height:96px;border-radius:var(--radius-card-app)}.p28ai-policy{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 20px;align-items:start}.p28ai-policy-status{display:flex;flex-direction:column;gap:6px;min-width:0}.p28ai-policy-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13.5px}.p28ai-policy-controls{display:flex;flex-direction:column;gap:10px;min-width:260px}.p28ai-policy-controls .p28ai-actions{justify-content:flex-end}@media(max-width:1180px){.p28ai-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.p28ai-body{grid-template-columns:minmax(0,1fr)}}@media(max-width:640px){.p28ai-stats,.p28ai-form,.p28ai-policy{grid-template-columns:minmax(0,1fr)}.p28ai-policy-controls{min-width:0}}.p28ai-collapsed>summary{cursor:pointer;font-size:12.5px;color:var(--ci-text-muted);padding:6px 0}.p28ai-collapsed[open]>summary{margin-bottom:8px}.p28s-mono{font-family:var(--ci-font-mono);font-variant-numeric:tabular-nums}.p28s-muted{color:var(--ci-text-muted)}.p28s-small{font-size:12px}.p28s-skeleton{background:color-mix(in srgb,var(--ci-grey) 25%,#fff);border-radius:6px;min-height:10px}.p28s-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.p28s-spacer{flex:1}.p28s-link{background:none;border:0;padding:0;color:var(--ci-blue);cursor:pointer;font:inherit;text-align:left}.p28s-link:hover{color:var(--brand-hover);text-decoration:underline}a.p28-btn{text-decoration:none}a.p28-btn[aria-disabled=true]{opacity:.6;pointer-events:none}.p28s-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.p28s-stat{background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;padding:14px 18px;min-width:0}.p28s-stat--brand{background:var(--ci-blue);border-color:var(--ci-blue);color:#fff}.p28s-stat--watch{border-top:3px solid var(--status-watch);padding-top:12px}.p28s-stat-label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.p28s-stat--brand .p28s-stat-label{color:#ffffffb3}.p28s-stat-value{font:500 28px/1.15 var(--ci-font-mono);font-variant-numeric:tabular-nums;margin-top:4px;color:var(--ci-800)}.p28s-stat--brand .p28s-stat-value{color:#fff}.p28s-stat-hint{font-size:12px;color:var(--ci-text-muted)}.p28s-stat--brand .p28s-stat-hint{color:#ffffffb3}.p28s-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.p28s-chip{font-size:12.5px;font-weight:600;padding:5px 12px;border-radius:999px;border:1px solid var(--border-default);background:#fff;color:var(--ci-ink);cursor:pointer;font-family:inherit}.p28s-chip span{font-family:var(--ci-font-mono);opacity:.75;margin-left:4px}.p28s-chip[aria-pressed=true]{border-color:var(--ci-blue);background:var(--ci-blue);color:#fff}.p28s-chip:disabled{opacity:.5;cursor:default}.p28s-legend{font-size:12px;color:var(--ci-text-muted)}.p28s-tablewrap{background:#fff;border:1px solid var(--border-default);border-radius:10px;overflow:auto}.p28s-table{width:100%;border-collapse:collapse;font-size:13px}.p28s-table th{text-align:left;padding:9px 8px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);background:var(--surface-row-alt);white-space:nowrap;position:sticky;top:0;z-index:1}.p28s-table th:first-child,.p28s-table td:first-child{padding-left:16px;width:70px}.p28s-table th:last-child,.p28s-table td:last-child{padding-right:16px}.p28s-table td{padding:11px 8px;border-top:1px solid var(--border-soft);vertical-align:top}.p28s-table .num{text-align:right;font-family:var(--ci-font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.p28s-table th.num{font-family:inherit}.p28s-table .ctr{text-align:center}.p28s-table tbody tr.p28s-line{cursor:pointer}.p28s-table tbody tr.p28s-line:nth-child(2n){background:var(--surface-row-alt)}.p28s-table tbody tr.p28s-line:hover{background:var(--ci-50)}.p28s-table tbody tr.p28s-line.is-selected{background:var(--ci-50);box-shadow:inset 3px 0 0 var(--ci-blue)}.p28s-code{font-family:var(--ci-font-mono);font-size:12px;color:var(--ci-700);white-space:nowrap}.p28s-desc{font-weight:500;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.p28s-tag{font-size:10.5px;font-weight:600;padding:1px 7px;border-radius:999px;background:var(--ci-50);color:var(--ci-600);border:1px dashed var(--ci-300)}.p28s-confirm{font-size:10.5px;font-weight:700;padding:1px 7px;border-radius:999px;background:var(--status-watch-soft);color:var(--status-watch-text)}.p28s-unpriced{font-size:11px;font-weight:600;color:var(--ci-text-muted);font-family:var(--ci-font-sans)}.p28s-source{display:flex;flex-direction:column;gap:2px;font-size:12px;min-width:200px}.p28s-source b{font-weight:600;color:var(--ci-blue)}.p28s-source-evidence{display:flex;flex-wrap:wrap;gap:8px;font-size:10.5px}.p28s-source-evidence>span{display:inline-flex;align-items:center;gap:3px;color:var(--text-muted)}.p28s-section-row td{background:var(--ci-50);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ci-700);padding-top:9px;padding-bottom:9px}.p28s-table .p28s-section-row td{background:var(--surface-row-alt);color:var(--ci-ink);font-size:13px;letter-spacing:normal;text-transform:none;padding-top:12px;padding-bottom:12px}.p28s-section-toggle{width:100%;display:flex;align-items:center;gap:9px;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.p28s-section-toggle>svg{flex:none;transition:transform .12s ease}.p28s-section-toggle>svg.is-collapsed{transform:rotate(-90deg)}.p28s-group-icon{display:grid;flex:none;place-items:center;width:32px;height:32px;border-radius:8px;background:var(--ci-100);color:var(--ci-blue)}.p28s-group-icon img{display:block;width:32px;height:32px;border-radius:8px;object-fit:cover}.p28s-group-chevron{display:inline-flex;color:var(--ci-text-muted);transition:transform .12s ease}.p28s-group-chevron.is-collapsed{transform:rotate(-90deg)}.p28s-group-total{font-weight:700}.p28s-section-count{font:500 11px var(--ci-font-mono);color:var(--ci-text-muted)}.p28s-section-total{margin-left:auto;font:600 12px var(--ci-font-mono);letter-spacing:normal;color:var(--ci-ink)}.p28s-subtotal td{background:color-mix(in srgb,var(--ci-paper) 60%,#fff);font-weight:600}.p28s-evidence-none{background:var(--status-behind-soft);color:var(--status-behind)}.p28s-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}.p28s-layout.has-panel{grid-template-columns:minmax(0,1fr) 380px}.p28s-panel{background:#fff;border:1px solid var(--border-default);border-radius:10px;padding:16px 18px;display:flex;flex-direction:column;gap:14px;position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto}.p28s-summary{grid-template-columns:minmax(240px,1.4fr) repeat(4,minmax(150px,1fr));gap:12px}.p28s-summary .p28s-stat{padding:14px 18px}.p28s-summary .p28s-stat-value{font-size:24px}.p28s-summary .p28s-stat--brand .p28s-stat-value{font-size:30px}.p28s-summary .p28s-stat--summary{border-top:3px solid var(--ci-blue);padding-top:12px}.p28s-summary .p28s-stat--watch{border-top-color:var(--status-watch)}.p28s-summary .p28s-stat--summary .p28s-stat-label{color:var(--text-muted)}.p28s-summary .p28s-stat--summary .p28s-stat-value{color:var(--ci-ink)}.p28s-summary .p28s-stat-hint{margin-top:2px}.p28s-summary .p28s-stat--measured{border-top:3px solid var(--ci-secondary);padding-top:12px}.p28s-summary .p28s-stat--allowances{border-top:3px solid var(--status-watch);padding-top:12px}.p28s-summary .p28s-stat--summary:not(.p28s-stat--watch){border-top:3px solid var(--status-target);padding-top:12px}.p28s-panel h2{font-size:16px;font-weight:700}.p28s-kv{display:grid;grid-template-columns:110px 1fr;gap:4px 10px;font-size:12.5px}.p28s-kv dt{color:var(--text-muted);font-weight:600}.p28s-kv dd{margin:0;min-width:0;overflow-wrap:anywhere}.p28s-cands{display:flex;flex-direction:column;gap:6px}.p28s-cand{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--border-default);border-radius:8px;padding:8px 10px;cursor:pointer;background:#fff;text-align:left;font:inherit;color:inherit}.p28s-cand[aria-pressed=true]{border-color:var(--ci-blue);background:var(--ci-50)}.p28s-cand .p28s-code{min-width:76px}.p28s-cand small{display:block;color:var(--ci-text-muted);font-size:11.5px;margin-top:2px}.p28s-ai{font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:999px;background:var(--ci-100);color:var(--ci-700);white-space:nowrap}.p28s-field{display:flex;flex-direction:column;gap:4px;font-size:12.5px;font-weight:600;color:var(--ci-ink)}.p28s-field input,.p28s-field select,.p28s-field textarea{font:inherit;font-weight:400;font-size:13px;padding:7px 9px;border:1px solid var(--border-default);border-radius:var(--radius-field-sm);background:#fff;color:var(--ci-ink);min-width:0}.p28s-field textarea{min-height:120px;resize:vertical;line-height:1.45}.p28s-field small{font-weight:400;color:var(--ci-text-muted)}.p28s-grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.p28s-grid2>*{min-width:0}.p28s-field input,.p28s-field select{width:100%}.p28s-divider{border:0;border-top:1px solid var(--border-soft);margin:0}.p28s-empty{background:#fff;border:1.5px dashed var(--ci-300);border-radius:10px;padding:22px 24px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}.p28s-empty h2{font-size:16px;font-weight:700}.p28s-empty p{font-size:13px;line-height:1.5;color:var(--ci-text-muted);max-width:680px}.p28s-details{background:#fff;border:1px solid var(--border-default);border-radius:10px;padding:0}.p28s-details>summary{cursor:pointer;padding:12px 16px;font-weight:700;font-size:13.5px;list-style:none;display:flex;gap:8px;align-items:center}.p28s-details>summary::-webkit-details-marker{display:none}.p28s-details[open]>summary{border-bottom:1px solid var(--border-soft)}.p28s-details-body{padding:14px 16px;display:flex;flex-direction:column;gap:14px}.p28s-lib{border:1px solid var(--border-soft);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.p28s-status{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.03em}.p28s-status--approved,.p28s-status--ok{background:var(--status-go-soft);color:var(--status-go)}.p28s-status--draft,.p28s-status--needs_input{background:var(--status-watch-soft);color:var(--status-watch-text)}.p28s-status--check,.p28s-status--retired{background:var(--ci-100);color:var(--ci-700)}.p28s-flash{border-radius:10px;padding:10px 14px;font-size:13px}.p28s-flash--ok{background:var(--status-go-soft);color:var(--status-go)}.p28s-flash--warn{background:var(--status-watch-soft);color:var(--status-watch-text)}.p28s-flash--error{background:var(--status-behind-soft);color:var(--status-behind)}.p28s-dialog{border:0;border-radius:14px;padding:0;box-shadow:var(--shadow-dialog);width:min(560px,calc(100vw - 32px))}.p28s-dialog::backdrop{background:var(--scrim)}.p28s-dialog-inner{padding:20px 22px;display:flex;flex-direction:column;gap:14px}.p28s-dialog h2{font-size:17px;font-weight:700}.p28b{display:grid;grid-template-columns:minmax(0,1fr) 420px;min-height:100%}.p28b-canvas{padding:28px 32px;display:flex;justify-content:center;background:color-mix(in srgb,var(--ci-grey) 24%,#fff);min-width:0}.p28b-page{width:600px;max-width:100%;background:#fff;box-shadow:var(--shadow-card);display:flex;flex-direction:column;align-self:flex-start}.p28b-banner{background:var(--ci-blue);color:#fff;padding:26px 32px}.p28b-banner-title{font-size:22px;font-weight:700}.p28b-banner-sub{font-size:13px;color:#ffffffbf;margin-top:4px}.p28b-watermark{background:var(--status-watch-soft);color:var(--status-watch-text);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:6px 32px}.p28b-body{padding:22px 32px 32px;display:flex;flex-direction:column;gap:18px;font-size:12px}.p28b-h{font-size:13px;font-weight:700;color:var(--ci-blue);margin-bottom:8px;display:flex;gap:8px;align-items:center}.p28b-kv{display:grid;grid-template-columns:130px 1fr;border:1px solid var(--border-default)}.p28b-kv>div{padding:6px 10px;border-bottom:1px solid var(--border-soft)}.p28b-kv>div:nth-child(odd){background:var(--ci-50);font-weight:600}.p28b-kv>div:nth-last-child(-n+2){border-bottom:0}.p28b-prose{white-space:pre-wrap;line-height:1.5;color:var(--ci-ink)}.p28b-bars{display:flex;flex-direction:column;gap:6px}.p28b-bars div{height:8px;border-radius:4px;background:var(--ci-100)}.p28b-missing{color:var(--status-watch-text);font-weight:600}.p28b-table{width:100%;border-collapse:collapse;border:1px solid var(--border-default)}.p28b-table th{background:var(--ci-50);font-weight:600;text-align:left;padding:6px 10px;border-right:1px solid var(--border-soft);text-transform:none;letter-spacing:normal;font-size:12px;color:var(--ci-ink);vertical-align:top}.p28b-table td{padding:6px 10px;border-top:1px solid var(--border-soft);border-right:1px solid var(--border-soft);vertical-align:top}.p28b-table .num{font-family:var(--ci-font-mono);text-align:right;white-space:nowrap}.p28b-aside{background:#fff;border-left:1px solid var(--border-default);padding:28px 24px;display:flex;flex-direction:column;gap:18px;min-width:0}.p28b-aside h1{font-size:22px;font-weight:700;letter-spacing:-.01em;margin-top:5px}.p28b-aside>div>p{font-size:13.5px;line-height:1.5;color:var(--ci-text-muted);margin-top:6px}.p28b-sections{display:flex;flex-direction:column;border:1px solid var(--border-default);border-radius:10px;overflow:hidden}.p28b-section{display:flex;align-items:center;gap:12px;padding:11px 14px;border:0;border-top:1px solid var(--border-soft);background:#fff;font:inherit;color:inherit;text-align:left;cursor:pointer;width:100%}.p28b-section:first-child{border-top:0}.p28b-section--needs_input{background:color-mix(in srgb,var(--status-watch) 7%,#fff)}.p28b-section:hover,.p28b-section[aria-current=true]{background:var(--ci-50)}.p28b-icon{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700}.p28b-icon--ok{background:var(--status-go-soft);color:var(--status-go)}.p28b-icon--needs_input{background:var(--status-watch-soft);color:var(--status-watch-text)}.p28b-icon--check{background:var(--ci-100);color:var(--ci-700)}.p28b-section-label{font-size:13.5px;font-weight:600}.p28b-section-src{font-size:12px;color:var(--ci-text-muted)}.p28b-note{background:var(--ci-50);border:1px solid var(--ci-100);border-radius:10px;padding:14px 16px;font-size:13px;line-height:1.5;color:var(--ci-800)}.p28b-diffs{display:flex;flex-direction:column;gap:6px;font-size:12px;max-height:220px;overflow:auto}.p28b-diff{border-left:3px solid var(--status-behind);padding:4px 8px;background:var(--status-behind-soft);border-radius:0 6px 6px 0}.p28b-actions{margin-top:auto;display:flex;flex-direction:column;gap:8px}.p28b-risk{border:1px solid var(--border-soft);border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:8px}.p28b-suggestion{border:1px dashed var(--ci-300);border-radius:8px;padding:10px 12px;background:var(--ci-50);display:flex;flex-direction:column;gap:8px;font-size:12.5px}@media(max-width:1200px){.p28s-layout.has-panel{grid-template-columns:minmax(0,1fr)}.p28s-panel{position:static;max-height:none}.p28b{grid-template-columns:minmax(0,1fr)}.p28b-aside{border-left:0;border-top:1px solid var(--border-default)}.p28s-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.p28s-stats,.p28s-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.p28s-back-icon{transform:rotate(90deg)}.p28s-workflow-tabs{display:flex;gap:4px;padding:3px;margin-top:0;background:#fff;border:1px solid var(--border-default);border-radius:8px;width:fit-content}.p28s-workflow-tabs .p28-tab{border:0;border-radius:6px;padding:5px 14px;font-size:13px;color:var(--ci-ink)}.p28s-workflow-tabs .p28-tab[aria-current=page]{color:#fff;background:var(--ci-blue)}.p28s-workflow-page{gap:18px}.p28s-tabbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.p28s-draft-status{font-size:11px;font-weight:700;letter-spacing:.06em;padding:4px 10px;border-radius:999px;background:var(--status-watch-soft);color:var(--status-watch-text);white-space:nowrap}.p28s-draft-status.is-approved{background:var(--status-go-soft);color:var(--status-go)}.p28s-titlebar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}.p28s-titlebar>div:first-child{min-width:0}.p28s-breadcrumb{display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.08em}.p28s-breadcrumb:hover{color:var(--ci-blue);text-decoration:none}.p28s-titlebar h1{margin:4px 0;font-size:26px;font-weight:700;line-height:1.2;letter-spacing:0}.p28s-titlebar p{margin:0;font-size:14px;line-height:1.45;color:var(--text-muted)}.p28s-title-actions{display:flex;flex-wrap:wrap;gap:10px}.p28s-title-actions>*{min-height:40px}.p28s-table th,.p28s-table td{padding:10px 14px}.p28s-table .p28s-source{min-width:180px}.p28s-source-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:var(--ci-50);color:var(--ci-blue);font-size:11px;font-weight:700;white-space:nowrap}.p28s-table tfoot td{padding:14px;text-align:right;font-weight:700;background:var(--surface-row-alt)}.p28s-table tfoot .num{font-size:15px}.p28s-layout.has-panel{grid-template-columns:minmax(0,1fr)}.p28s-layout.has-panel .p28s-panel{position:static;max-height:none}.p28s-field input[type=file],.p28s-file input[type=file]{font:inherit;font-size:12.5px;color:var(--text-muted);max-width:100%}.p28s-field input[type=file]::file-selector-button,.p28s-file input[type=file]::file-selector-button{font:inherit;font-weight:600;margin-right:10px;padding:5px 11px;border-radius:8px;cursor:pointer;background:transparent;color:var(--ci-blue);border:1px solid var(--ci-blue)}.p28s-field input[type=file]::file-selector-button:hover,.p28s-file input[type=file]::file-selector-button:hover{background:var(--ci-50)}.p28c{display:flex;flex-direction:column;gap:14px}.p28c-card{background:#fff;border:1px solid var(--border-default);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:12px}.p28c-sheet{border:1px solid var(--border-soft);border-radius:8px;padding:10px 12px;margin:0;display:flex;flex-direction:column;gap:10px;min-width:0}.p28c-sheet legend{padding:0 4px}.p28c-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.p28c-fields>*{min-width:0}.p28c-compact{font-size:12px}.p28c-compact td,.p28c-compact th{padding:6px 8px}.p28c-links{display:flex;flex-direction:column;gap:3px}.p28c-link{font-size:11.5px;padding:1px 7px;border-radius:6px;border:1px solid var(--border-soft);background:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:340px}.p28c-link--proposed{border-style:dashed;border-color:var(--ci-300);background:var(--ci-50)}.p28c-link--confirmed{border-color:color-mix(in srgb,var(--status-go) 40%,#fff)}.p28c-status{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.p28c-status--mapped{background:var(--status-go-soft);color:var(--status-go)}.p28c-status--to_confirm{background:var(--status-watch-soft);color:var(--status-watch-text)}.p28c-status--undisposed{background:var(--status-behind-soft);color:var(--status-behind)}.p28c-status--disposed{background:var(--ci-100);color:var(--ci-700)}.p28c-note-row td{font-size:12px;color:var(--ci-text-muted);font-style:italic}.p28c-select{font:inherit;font-size:12.5px;padding:5px 8px;border:1px solid var(--border-default);border-radius:var(--radius-field-sm);background:#fff}.p28op-stack{display:flex;flex-direction:column;gap:14px;min-width:0}.p28op-row{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.p28op-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 16px}.p28op-figures{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:13px}.p28op-muted{color:var(--ci-text-muted);font-size:12.5px}.p28op-error{color:var(--status-behind);font-size:12px}.p28op-ok{background:var(--status-go-soft);color:var(--status-go);border-radius:var(--radius-card-app);padding:10px 12px;font-size:13px}.p28op-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}.p28op-field{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--ci-ink)}.p28op-filter{max-width:220px}.p28op-input{font:inherit;font-weight:400;font-size:13px;padding:6px 8px;border:1px solid var(--border-default);border-radius:6px;background:var(--surface-card);min-width:0}.p28op-choices{display:grid;gap:8px}.p28op-choice{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--border-default);border-radius:8px;cursor:pointer}.p28op-choice[data-on=true]{border-color:var(--ci-blue);background:var(--ci-50)}.p28op-choice>span{display:flex;flex-direction:column;gap:2px;font-size:13px}.p28op-picker{min-width:min(560px,100%)}.p28op-picker-list{list-style:none;margin:4px 0;padding:0;border:1px solid var(--border-default);border-radius:6px;max-height:300px;overflow-y:auto;background:var(--surface-card)}.p28op-picker-item{display:flex;justify-content:space-between;gap:12px;width:100%;padding:7px 10px;border:0;border-bottom:1px solid var(--border-default);background:none;font:inherit;font-size:13px;text-align:left;cursor:pointer}.p28op-picker-list li:last-child .p28op-picker-item{border-bottom:0}.p28op-picker-item:hover:not(:disabled){background:var(--ci-50)}.p28op-picker-item[aria-pressed=true]{background:var(--ci-50);box-shadow:inset 3px 0 0 var(--ci-blue);font-weight:600}.p28op-picker-item:disabled{cursor:not-allowed;opacity:.55}.p28op-input:focus-visible{outline:2px solid var(--ci-200);outline-offset:1px}.p28op-action{display:flex;flex-direction:column;gap:8px;padding:12px 14px;margin-top:8px;background:var(--ci-50);border:1px solid var(--ci-100);border-radius:var(--radius-card-app);max-width:560px}.p28op-status{display:inline-block;font-size:11px;font-weight:700;padding:1px 8px;border-radius:var(--radius-pill);background:var(--ci-50);color:var(--ci-700)}.p28op-status--active,.p28op-status--succeeded{background:var(--status-go-soft);color:var(--status-go)}.p28op-status--disabled,.p28op-status--failed{background:var(--status-behind-soft);color:var(--status-behind)}.p28op-status--paused,.p28op-status--cancelled,.p28op-status--queued{background:var(--status-watch-soft);color:var(--status-watch-text)}.p28op-stages{margin:0;padding-left:16px;font-size:12px}.p28op-stage--failed{color:var(--status-behind);font-weight:600}.p28op-stage--waiting,.p28op-stage--skipped{color:var(--ci-text-muted)}.p28op-dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:4px 14px;margin:0;font-size:13px}.p28op-dl dt{color:var(--ci-text-muted)}.p28op-dl dd{margin:0;overflow-wrap:anywhere}.p28op-total td{font-weight:700}.p28op-toolbar{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-end}.p28op-search{flex:1 1 220px;max-width:320px}.p28op-rowactions{justify-content:flex-end;gap:2px;flex-wrap:nowrap}.p28op-rowactions .p28-btn--quiet{border-color:transparent;background:none;color:var(--ci-blue);font-weight:600}.p28op-rowactions .p28-btn--quiet:hover:not(:disabled){background:var(--ci-50);border-color:transparent}.p28op-toolbar-end .p28-btn{height:34px}.p28op-toolbar-end{margin-left:auto;display:flex;align-items:center;gap:14px}.p28op-form{display:flex;flex-direction:column;gap:12px}.p28op-form .p28op-input{width:100%;padding:8px 10px}.p28op-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.p28op-form-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.p28op-banner{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 14px;border-radius:8px;font-size:13px}.p28op-banner--ok{background:var(--status-go-soft);color:var(--status-go)}.p28op-banner--error{background:var(--status-behind-soft);color:var(--status-behind)}.p28op-banner-close{border:0;background:none;font-size:18px;line-height:1;cursor:pointer;color:inherit}.p28op-scroll{overflow-x:auto;min-width:0}.p28op-scroll td a{color:inherit;text-decoration:underline dotted var(--ci-text-muted);text-underline-offset:3px}.p28op-userkind .p28op-kind{font-size:10.5px;padding:1px 7px;vertical-align:1px}.p28op-kind{display:inline-flex;align-items:center;font-size:12px;font-weight:700;letter-spacing:.03em;padding:3px 10px;border-radius:var(--radius-pill);white-space:nowrap}.p28op-kind--root{background:var(--status-watch-soft);color:var(--status-watch-text);box-shadow:inset 0 0 0 1px var(--status-watch)}.p28op-kind--granted{background:var(--ci-50);color:var(--ci-700)}.p28op-you{margin:0 0 14px;padding:8px 12px;border-radius:10px;font-size:13px;border-left:4px solid var(--ci-500);background:var(--ci-50)}.p28op-you--root{border-left-color:var(--status-watch);background:var(--status-watch-soft)}.p28op-input{height:34px;border-radius:8px;padding:0 10px;transition:border-color .12s ease,box-shadow .12s ease}.p28op-input:hover:not(:disabled){border-color:var(--ci-200)}.p28op-input:focus-visible{outline:none;border-color:var(--ci-blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--ci-blue) 18%,transparent)}.p28op-select{position:relative;min-width:120px;font-weight:400}.p28op-select-button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;height:34px;padding:0 10px 0 12px;border:1px solid var(--border-default);border-radius:8px;background:var(--surface-card);font:inherit;font-size:13px;font-weight:500;color:var(--ci-ink);text-align:left;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease}.p28op-select-button:hover:not(:disabled){border-color:var(--ci-200)}.p28op-select-button:focus-visible,.p28op-select[data-open] .p28op-select-button{outline:none;border-color:var(--ci-blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--ci-blue) 18%,transparent)}.p28op-select-button:disabled{cursor:not-allowed;opacity:.6}.p28op-select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p28op-select-chevron{flex:none;color:var(--ci-blue);transition:transform .15s ease}.p28op-select[data-open] .p28op-select-chevron{transform:rotate(180deg)}.p28op-select-list{position:absolute;z-index:40;top:calc(100% + 6px);left:0;min-width:100%;width:max-content;max-width:360px;max-height:280px;overflow-y:auto;margin:0;padding:5px;list-style:none;background:var(--surface-card);border:1px solid var(--ci-100);border-radius:10px;box-shadow:var(--shadow-card),0 12px 32px #2b4c6e1f}.p28op-select-option{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 10px;border-radius:6px;font-size:13px;color:var(--ci-ink);cursor:pointer}.p28op-select-option[data-active]{background:var(--ci-50)}.p28op-select-option[aria-selected=true]{color:var(--ci-blue);font-weight:600}.p28op-select-hint{display:block;font-size:11.5px;font-weight:400;color:var(--ci-text-muted)}.p28op-settings{display:flex;flex-direction:column;gap:18px;max-width:880px;padding:22px 24px}.p28op-settings-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.p28op-settings-head p{margin:4px 0 0}.p28op-mode{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.p28op-mode-card{position:relative;display:flex;gap:12px;align-items:flex-start;padding:16px;border:1.5px solid var(--border-default);border-radius:12px;background:var(--surface-card);cursor:pointer;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease}.p28op-mode-card:hover:not([data-disabled]){border-color:var(--ci-200)}.p28op-mode-card[data-on=true]{border-color:var(--ci-blue);background:var(--ci-50);box-shadow:0 0 0 3px color-mix(in srgb,var(--ci-blue) 12%,transparent)}.p28op-mode-card[data-disabled]{cursor:default}.p28op-mode-card input{position:absolute;opacity:0;pointer-events:none}.p28op-mode-card:has(input:focus-visible){outline:2px solid var(--ci-blue);outline-offset:2px}.p28op-mode-dot{flex:none;width:18px;height:18px;margin-top:1px;border-radius:50%;border:2px solid var(--ci-200);background:#fff}.p28op-mode-card[data-on=true] .p28op-mode-dot{border-color:var(--ci-blue);box-shadow:inset 0 0 0 4px #fff;background:var(--ci-blue)}.p28op-mode-text{display:flex;flex-direction:column;gap:4px;font-size:13px;line-height:1.45;color:var(--text-muted)}.p28op-mode-text strong{font-size:14.5px;color:var(--ci-ink)}.p28op-mode-current{position:absolute;top:12px;right:12px;font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ci-blue);background:#fff;border:1px solid var(--ci-100);border-radius:var(--radius-pill);padding:1px 8px}.p28op-options{border:1px solid var(--ci-100);border-radius:12px;overflow:hidden}.p28op-options h3{margin:0;padding:12px 16px;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ci-700);background:var(--ci-50);border-bottom:1px solid var(--ci-100)}.p28op-option{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,300px);gap:16px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--ci-100)}.p28op-option>div{display:flex;flex-direction:column;gap:3px;font-size:13px}.p28op-option strong{font-size:13.5px;color:var(--ci-ink)}.p28op-number{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted)}.p28op-number .p28op-input{width:120px;text-align:right;font-variant-numeric:tabular-nums}.p28op-domains{width:100%}.p28op-options-meta{margin:0;padding:10px 16px;font-size:12px}.p28op-options-note{margin:0;padding:12px 16px;border-radius:10px;background:var(--ci-50);font-size:13px;color:var(--text-muted)}.p28op-settings-foot{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--border-default)}.p28op-grow{flex:1 1 280px}.p28op-grow .p28op-input{width:100%}@media(max-width:640px){.p28op-option{grid-template-columns:1fr}}.p28op-grid:has(.p28op-provider){align-items:stretch}.p28op-provider{display:flex;flex-direction:column;gap:16px;padding:20px 22px}.p28op-provider-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.p28op-provider-head>div{display:flex;flex-direction:column;gap:4px;min-width:0}.p28op-provider-endpoint{font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p28op-pill{flex:none;font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:var(--radius-pill);white-space:nowrap}.p28op-pill--go{background:var(--status-go-soft);color:var(--status-go)}.p28op-pill--watch{background:var(--status-watch-soft);color:var(--status-watch-text)}.p28op-pill--off{background:var(--ci-50);color:var(--ci-text-muted)}.p28op-provider-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ci-100);border:1px solid var(--ci-100);border-radius:10px;overflow:hidden}.p28op-provider-stats>div{display:flex;flex-direction:column;gap:2px;padding:10px 14px;background:var(--ci-50)}.p28op-provider-stats span{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ci-text-muted)}.p28op-provider-stats strong{font-size:17px;font-variant-numeric:tabular-nums;color:var(--ci-ink)}.p28op-provider-dl{display:grid;grid-template-columns:84px minmax(0,1fr);gap:10px 14px;margin:0;font-size:13px;align-items:start}.p28op-provider-dl dt{color:var(--ci-text-muted);padding-top:3px}.p28op-provider-dl dd{margin:0;min-width:0}.p28op-chips{display:flex;flex-wrap:wrap;gap:6px}.p28op-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:6px;background:var(--ci-50);border:1px solid var(--ci-100);font-family:var(--ci-font-mono, ui-monospace, monospace);font-size:12px;color:var(--ci-ink);overflow-wrap:anywhere}.p28op-chip-key{font-family:var(--ci-font-sans, inherit);font-size:11px;font-weight:600;color:var(--ci-text-muted)}.p28op-flag{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:6px;font-size:11.5px;font-weight:700}.p28op-flag .p28-mono{font-weight:500}.p28op-flag--on{background:var(--status-go-soft);color:var(--status-go)}.p28op-flag--off{background:var(--ci-50);color:var(--ci-text-muted)}.p28op-yes{color:var(--status-go);font-weight:600}.p28op-no{color:var(--status-behind);font-weight:600}.p28op-provider-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;border-top:1px solid var(--border-default)}.p28op-provider-foot .p28op-muted{font-size:12px;max-width:320px}.p28op-provider .p28op-banner{margin:0}.p28op-banner--warn{background:var(--status-watch-soft);color:var(--status-watch-text)}.p28op-section-head{display:flex;align-items:baseline;gap:12px;margin-top:8px}.p28op-section-head h2{margin:0;font-size:16px;font-weight:700;color:var(--ci-ink)}.p28p-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-card-app);overflow:hidden}.p28p-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:14px 20px;border-bottom:1px solid var(--border-soft)}.p28p-card-title{font-size:16px;font-weight:var(--weight-bold)}.p28p-muted{color:var(--ci-text-muted)}.p28p-note{font-size:12.5px;color:var(--ci-text-muted)}.p28p-mono{font-family:var(--ci-font-mono);font-variant-numeric:tabular-nums}.p28p-pill{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:3px 9px;border-radius:var(--radius-pill);white-space:nowrap;background:var(--ci-50);color:var(--ci-700)}.p28p-pill--go{background:var(--status-go-soft);color:var(--status-go)}.p28p-pill--watch{background:var(--status-watch-soft);color:var(--status-watch-text)}.p28p-pill--behind{background:var(--status-behind-soft);color:var(--status-behind)}.p28p-pill--quiet{background:var(--surface-row-alt);color:var(--ci-text-muted);border:1px solid var(--border-soft)}.p28p-pill--sm{font-size:10.5px;font-weight:700;padding:2px 8px}.p28p-skeleton{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,var(--ci-50),var(--ci-100),var(--ci-50));background-size:200% 100%;animation:p28p-shimmer 1.2s linear infinite}@keyframes p28p-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.p28p-empty{padding:36px 24px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.p28p-empty h2{font-size:16px;font-weight:var(--weight-bold)}.p28p-empty p{font-size:13px;color:var(--ci-text-muted);max-width:460px;line-height:1.5}.p28p-inline-error{display:flex;align-items:center;justify-content:space-between;gap:12px}.p28p-segmented{display:flex;gap:2px;padding:3px;background:var(--ci-50);border-radius:9px}.p28p-segmented button{border:0;background:transparent;padding:5px 12px;border-radius:7px;font-size:12.5px;font-weight:600;color:var(--ci-500);cursor:pointer;white-space:nowrap}.p28p-segmented button[aria-pressed=true]{background:#fff;box-shadow:var(--shadow-soft);color:var(--ci-700)}.p28p-segmented .p28p-count{font-family:var(--ci-font-mono);opacity:.8;margin-left:4px}.p28p-bar{height:4px;border-radius:999px;background:var(--ci-100);overflow:hidden}.p28p-bar>span{display:block;height:100%;border-radius:999px;background:var(--ci-blue)}.p28p-bar--go>span{background:var(--status-go)}.p28p-link-button{border:0;background:none;padding:0;font:inherit;font-size:12.5px;font-weight:600;color:var(--ci-blue);cursor:pointer}.p28p-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.p28p-link-button:hover{color:var(--brand-hover)}.p28p-link-button--quiet{color:var(--ci-text-muted)}.p28p-sample{font-size:9.5px;font-weight:700;letter-spacing:.06em;padding:2px 6px;border-radius:999px;background:var(--status-watch-soft);color:var(--status-watch-text);margin-left:6px;vertical-align:middle}.p28p-start-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.p28p-start{border:1px solid var(--border-default);border-radius:10px;background:#fff;padding:18px 20px;display:flex;align-items:center;gap:16px;text-align:left;font:inherit;color:inherit;cursor:pointer;width:100%;transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.p28p-start:hover{border-color:var(--ci-300);box-shadow:var(--shadow-soft)}.p28p-start--new{border:1.5px dashed var(--ci-300)}.p28p-start-icon{flex:none;width:44px;height:44px;border-radius:12px;background:var(--ci-50);color:var(--ci-blue);display:grid;place-items:center}.p28p-start-title{font-size:15px;font-weight:700}.p28p-start-text{font-size:12.5px;line-height:1.45;color:var(--ci-text-muted);margin-top:3px}.p28p-start>svg:last-child{color:var(--ci-400);flex:none}.p28p-picker{display:flex;gap:8px;align-items:center;margin-top:10px}.p28p-list-head{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--border-soft);flex-wrap:wrap}.p28p-list-head .p28p-card-title{margin-right:8px}.p28p-search{display:flex;align-items:center;gap:8px;width:260px;height:36px;padding:0 12px;border:1px solid var(--border-default);border-radius:10px;color:var(--ci-text-muted);margin-left:auto;background:#fff}.p28p-search:focus-within{border-color:var(--ci-blue);box-shadow:0 0 0 3px var(--ci-200)}.p28p-search input{border:0;outline:0;flex:1;min-width:0;font:inherit;font-size:13px;color:var(--ci-ink);background:transparent}.p28p-table{width:100%;border-collapse:collapse;font-size:13px}.p28p-table th{text-align:left;padding:9px 12px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);background:var(--surface-row-alt);white-space:nowrap}.p28p-table th:first-child,.p28p-table td:first-child{padding-left:18px}.p28p-table th:last-child,.p28p-table td:last-child{padding-right:18px}.p28p-table td{padding:11px 12px;border-top:1px solid var(--border-soft);vertical-align:middle}.p28p-table tbody tr:nth-child(2n){background:var(--surface-row-alt)}.p28p-table .num{text-align:right;font-family:var(--ci-font-mono);font-variant-numeric:tabular-nums}.p28p-table .nowrap{white-space:nowrap}.p28p-row-link{cursor:pointer}.p28p-row-link:hover{background:var(--ci-50)!important}.p28p-project-name{font-weight:600}.p28p-sub{font-size:11.5px;color:var(--ci-text-muted);margin-top:1px}.p28p-rev{font:600 12.5px var(--ci-font-mono);color:var(--ci-700)}.p28p-progress{display:flex;flex-direction:column;gap:5px;width:150px;min-width:150px}.p28p-progress-head{display:flex;justify-content:space-between;gap:8px;font-size:12px;white-space:nowrap}.p28p-progress-head span:first-child{font-weight:600}.p28p-progress--issued .p28p-progress-head span:first-child{color:var(--status-go)}.p28p-actions-cell{display:flex;flex-direction:column;align-items:flex-end;gap:3px;white-space:nowrap}.p28p-action{font-size:12.5px;font-weight:600;color:var(--ci-blue)}.p28p-action--rev{font-size:11.5px;color:var(--ci-600)}.p28p-list-foot{display:flex;justify-content:center;padding:12px;border-top:1px solid var(--border-soft)}.p28p-toast{position:fixed;right:28px;bottom:28px;width:380px;max-width:calc(100vw - 56px);background:#fff;border:1px solid var(--border-default);border-left:4px solid var(--status-go);border-radius:10px;box-shadow:var(--shadow-lift);padding:14px 16px;display:flex;gap:12px;z-index:30;animation:p28-fadeup var(--duration-enter) var(--ease-out)}.p28p-toast-icon{flex:none;width:32px;height:32px;border-radius:50%;background:var(--status-go-soft);color:var(--status-go);display:grid;place-items:center}.p28p-toast-title{display:flex;justify-content:space-between;gap:8px}.p28p-toast-title strong{font-size:13.5px}.p28p-toast-body{font-size:12.5px;line-height:1.45;color:var(--ci-text-muted);margin-top:3px}.p28p-toast-actions{display:flex;gap:14px;margin-top:8px}.p28p-projects-page{width:100%;max-width:1340px;margin-inline:auto;gap:20px}.p28p-projects-page .p28-page-header{margin-bottom:-7px}.p28p-projects-page .p28-page-header h1{margin-top:0;font-size:26px}.p28p-projects-page .p28-page-header p{margin-top:2px}.p28p-needs{display:flex;flex-direction:column;gap:10px}.p28p-needs-heading{display:flex;align-items:center;gap:10px}.p28p-needs-heading h2{font-size:14px;font-weight:700}.p28p-needs-heading>span{min-width:24px;height:20px;padding:0 7px;border-radius:999px;display:grid;place-items:center;background:var(--status-watch-soft);color:var(--status-watch-text);font:600 11px var(--ci-font-mono)}.p28p-needs-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.p28p-need-card{min-width:0;min-height:99px;padding:16px;display:flex;align-items:center;gap:14px;border:1px solid var(--border-default);border-left:3px solid var(--status-watch);border-radius:11px;background:#fff;color:inherit;text-align:left;font:inherit;cursor:pointer;transition:box-shadow .12s ease,transform .12s ease}.p28p-need-card:hover{box-shadow:var(--shadow-soft);transform:translateY(-1px)}.p28p-need-icon{width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:10px;background:var(--status-watch-soft);color:var(--status-watch-text)}.p28p-need-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:4px}.p28p-need-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700}.p28p-need-copy small{color:var(--status-watch-text);font-size:11.5px;line-height:1.3}.p28p-need-action{flex:none;display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border-radius:9px;background:var(--ci-blue);color:#fff;font-size:12px;font-weight:600}.p28p-project-list{overflow:visible}.p28p-project-list .p28p-list-head{min-height:76px;padding:15px 20px;gap:16px}.p28p-project-tabs{display:flex;align-items:center;gap:2px;padding:3px;border-radius:9px;background:var(--ci-50)}.p28p-project-tabs button{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 12px;border:0;border-radius:7px;background:transparent;color:var(--ci-text-muted);font:inherit;font-size:12.5px;cursor:pointer;white-space:nowrap}.p28p-project-tabs button[aria-pressed=true]{background:#fff;color:var(--ci-ink);box-shadow:var(--shadow-soft);font-weight:600}.p28p-project-tabs button span{font:500 11px var(--ci-font-mono);color:inherit}.p28p-project-list .p28p-search{width:280px;height:42px;border-radius:10px}.p28p-project-rows{display:flex;flex-direction:column}.p28p-project-entry{border-top:1px solid var(--border-soft)}.p28p-project-entry:first-child{border-top:0}.p28p-project-entry-main{min-height:84px;padding:12px 20px;display:grid;grid-template-columns:18px minmax(330px,2.25fr) minmax(155px,1fr) minmax(190px,1.1fr) auto;gap:12px;align-items:center}.p28p-expand{width:18px;height:24px;display:grid;place-items:center;border:0;background:transparent;color:var(--ci-secondary);cursor:pointer}.p28p-expand svg{transform:rotate(-90deg);transition:transform .12s ease}.p28p-expand svg.is-open{transform:rotate(0)}.p28p-project-identity{min-width:0}.p28p-project-title-line{min-width:0;display:flex;align-items:center;gap:8px}.p28p-project-title{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0;border:0;background:transparent;color:var(--ci-ink);font:inherit;font-size:14px;font-weight:700;text-align:left;cursor:pointer}.p28p-project-title:hover{color:var(--ci-blue)}.p28p-revision-chip{flex:none;padding:2px 7px;border-radius:6px;background:var(--surface-page);color:var(--ci-600);font:500 10.5px var(--ci-font-mono)}.p28p-project-note{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;color:var(--ci-text-muted);font-size:11.5px}.p28p-project-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;color:var(--ci-text-muted);font-size:11px}.p28p-project-client{min-width:0;display:flex;flex-direction:column;gap:3px;font-size:12.5px}.p28p-project-client span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p28p-project-client small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ci-text-muted);font-size:11.5px}.p28p-project-progress{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:0}.p28p-progress-steps{width:100%;max-width:126px;display:flex;gap:4px}.p28p-progress-steps span{flex:1;height:6px;border-radius:99px;background:transparent;box-shadow:inset 0 0 0 1px var(--border-strong)}.p28p-progress-steps .is-done{background:var(--status-target);box-shadow:none}.p28p-progress-steps .is-current{background:var(--ci-blue);box-shadow:none}.p28p-progress-steps .is-review{background:var(--status-watch);box-shadow:none}.p28p-project-progress>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ci-blue);font-size:11.5px;font-weight:600}.p28p-project-progress>span.is-review{color:var(--status-watch-text)}.p28p-project-progress>span.is-done{color:var(--status-target)}.p28p-project-actions{display:flex;align-items:center;gap:8px}.p28p-project-actions>.p28-btn{white-space:nowrap}.p28p-project-actions>.p28-btn--quiet{border:1px solid var(--border-default)}.p28p-project-menu-wrap{position:relative}.p28p-menu-button{width:36px;height:36px;border:1px solid var(--border-default);border-radius:9px;background:#fff;color:var(--ci-ink);font:700 20px/1 var(--ci-font-sans);cursor:pointer}.p28p-menu-button:hover,.p28p-menu-button[aria-expanded=true]{background:var(--ci-50);border-color:var(--ci-300)}.p28p-project-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:20;min-width:170px;padding:5px;display:flex;flex-direction:column;border:1px solid var(--border-default);border-radius:9px;background:#fff;box-shadow:var(--shadow-lift)}.p28p-project-menu button{padding:8px 10px;border:0;border-radius:6px;background:transparent;color:var(--ci-ink);font:inherit;font-size:12.5px;text-align:left;cursor:pointer}.p28p-project-menu button:hover{background:var(--ci-50)}.p28p-project-menu button.is-danger{color:var(--status-behind)}.p28p-project-menu button.is-danger:hover{background:var(--status-behind-soft)}.p28p-run-list{padding:0 20px 14px 50px;display:flex;flex-direction:column;gap:6px}.p28p-run-row{min-height:38px;padding:8px 12px;display:grid;grid-template-columns:120px minmax(0,1fr) 150px 90px;gap:12px;align-items:center;border-radius:8px;background:var(--surface-row-alt);font-size:11.5px}.p28p-run-row strong{font-size:11.5px}.p28p-run-row span{color:var(--ci-text-muted)}.p28p-run-row b{color:var(--ci-blue);font-size:11.5px}.p28p-run-row button{border:0;background:transparent;color:var(--ci-blue);font:inherit;font-weight:600;text-align:right;cursor:pointer}.p28p-row-error{display:block;padding:4px 50px;color:var(--status-behind);font-size:11.5px}.p28p-rename-form{min-width:240px;display:flex;gap:4px}.p28p-rename-form input{min-width:0;flex:1;height:30px;padding:0 8px;border:1px solid var(--ci-300);border-radius:6px;font:inherit;font-size:13px}.p28p-rename-form button{width:30px;border:0;border-radius:6px;background:var(--ci-50);color:var(--ci-blue);cursor:pointer}.p28p-project-skeleton{min-height:84px;padding:20px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:14px;align-items:center;border-top:1px solid var(--border-soft)}.p28p-project-skeleton .p28p-skeleton{height:14px}.p28p-upload-page{max-width:1264px;line-height:normal}.p28p-upload-header{max-width:1200px}.p28p-upload-eyebrow{font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--text-muted)}.p28p-upload-header h1{margin:4px 0;font-size:26px;font-weight:700;letter-spacing:-.01em;line-height:normal}.p28p-upload-header p{font-size:14px;color:var(--text-muted)}.p28p-upload-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.p28p-upload-step{min-width:0;display:flex;align-items:center;gap:14px;padding:14px 16px;text-align:left;color:var(--ci-ink);background:#fff;border:1px solid var(--border-default);border-radius:10px;font:inherit;cursor:pointer;transition:transform var(--duration-card) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.p28p-upload-step:hover{transform:var(--lift-hover);border-color:var(--ci-300);box-shadow:var(--shadow-soft)}.p28p-upload-step.is-done{border-color:var(--ci-300)}.p28p-upload-step.is-current{color:#fff;background:var(--ci-blue);border-color:var(--ci-blue)}.p28p-upload-step:disabled{cursor:not-allowed;opacity:.62}.p28p-upload-step.is-current:disabled{opacity:1}.p28p-upload-step-dot{width:34px;height:34px;flex:none;border:1.5px solid var(--ci-300);border-radius:50%;display:grid;place-items:center;color:var(--ci-blue);background:var(--ci-50);font:700 13px var(--ci-font-mono)}.p28p-upload-step.is-done .p28p-upload-step-dot{color:#fff;background:var(--ci-blue);border-color:var(--ci-blue)}.p28p-upload-step.is-current .p28p-upload-step-dot{color:var(--ci-blue);background:#fff;border-color:#fff}.p28p-upload-step.is-current .p28p-upload-step-kicker{color:#ffffffb8}.p28p-upload-step.is-current .p28p-upload-step-copy small{color:#ffffffd1}.p28p-upload-step-copy{min-width:0;display:flex;flex-direction:column}.p28p-upload-step-kicker{color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.p28p-upload-step-copy strong{margin-top:1px;font-size:15px}.p28p-upload-step-copy small{margin-top:2px;color:var(--ci-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.p28p-upload-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start;max-width:1200px}.p28p-upload-main{display:flex;flex-direction:column;gap:20px;min-width:0}.p28p-upload-main,.p28p-upload-anchor,.p28p-setup{scroll-margin-top:22px}.p28p-upload-stage{width:100%;max-width:1200px;margin:0;display:flex;flex-direction:column;gap:16px}.p28p-drop--workflow{width:100%;min-height:240px;padding:32px 20px;gap:12px;border-radius:12px;border-color:var(--border-strong);font:inherit;color:var(--ci-ink);cursor:pointer}.p28p-drop--workflow:disabled{cursor:not-allowed}.p28p-drop-copy{color:var(--ci-text-muted);font-size:13px}.p28p-drop-icon--workflow{width:64px;height:64px;border-radius:16px}.p28p-upload-files{padding:20px 24px}.p28p-upload-files-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;font-size:15px}.p28p-upload-files-head span{color:var(--ci-text-muted);font-size:12px;font-variant-numeric:tabular-nums}.p28p-upload-file-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--border-soft);min-width:0}.p28p-upload-file-icon{flex:none;width:40px;height:40px;border-radius:8px;background:var(--ci-50);color:var(--ci-blue);display:grid;place-items:center}.p28p-upload-file-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.p28p-upload-file-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600}.p28p-upload-file-copy small{color:var(--ci-text-muted);font-size:12px}.p28p-upload-empty{border-top:1px solid var(--border-soft);padding:18px 0 4px;text-align:center;color:var(--ci-text-muted);font-size:13px}.p28p-upload-actions{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}.p28p-revision-lock{flex:1;min-width:0;color:var(--ci-text-muted);font-size:12px}.p28p-revision-lock a{text-decoration:underline}.p28p-boq-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.p28p-boq-option{position:relative;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:22px;text-align:left;background:#fff;border:1.5px solid var(--border-default);border-radius:12px;color:var(--ci-ink);font:inherit;cursor:pointer;transition:border-color var(--duration-fast) ease,transform var(--duration-card) var(--ease-standard)}.p28p-boq-option:hover{transform:var(--lift-hover);border-color:var(--ci-blue)}.p28p-boq-option.is-selected{border-color:var(--ci-blue)}.p28p-boq-radio{position:absolute;top:18px;right:18px;width:22px;height:22px;border:1.5px solid var(--border-strong);border-radius:50%;display:grid;place-items:center}.p28p-boq-option.is-selected .p28p-boq-radio{border-color:var(--ci-blue)}.p28p-boq-option.is-selected .p28p-boq-radio:after{content:"";width:10px;height:10px;border-radius:50%;background:var(--ci-blue)}.p28p-boq-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:14px;background:var(--ci-50);color:var(--ci-blue)}.p28p-boq-option>span:last-child{display:flex;flex-direction:column;gap:4px}.p28p-boq-option strong{font-size:16px}.p28p-boq-option small{color:var(--ci-text-muted);font-size:13px;line-height:1.5}.p28p-boq-schedule{display:flex;flex-direction:column;gap:12px}.p28p-project-details{background:#fff;border:1px solid var(--border-default);border-radius:10px;padding:20px 24px;display:flex;flex-direction:column;gap:14px}.p28p-project-setup{display:flex;flex-direction:column;gap:16px}.p28p-project-details-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px;font-size:15px;font-weight:700}.p28p-project-stage .p28p-section-label:first-child{display:none}.p28p-project-primary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.p28p-project-primary-grid .p28p-field:first-child{grid-column:span 2}.p28p-more-toggle{display:flex;align-items:center;justify-content:space-between;border:0;border-top:1px solid var(--border-soft);background:transparent;padding:12px 0 0;font:inherit;font-size:13px;font-weight:600;color:var(--ci-blue);cursor:pointer}.p28p-more-toggle svg{transition:transform .12s ease}.p28p-more-toggle svg.is-open{transform:rotate(180deg)}.p28p-project-more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px}.p28p-project-more-wide,.p28p-synthetic-control{grid-column:1 / -1}.p28p-synthetic-control{display:flex;align-items:center;gap:8px;font-size:12.5px}.p28p-project-form-errors{display:flex;flex-direction:column;gap:4px;color:var(--status-behind);font-size:11.5px}.p28p-project-choice-card{background:#fff;border:1px solid var(--border-default);border-radius:10px;padding:20px 24px;display:flex;flex-direction:column;gap:12px}.p28p-project-choice-card>header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:10px}.p28p-project-choice-card>header>strong,.p28p-project-choice-card>header>div>strong{font-size:15px;font-weight:700}.p28p-project-choice-card>header>div{display:flex;flex-direction:column;gap:2px}.p28p-project-choice-card>header span{color:var(--ci-text-muted);font-size:12px}.p28p-project-choice-card>header>b{color:var(--ci-blue);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.p28p-stage-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.p28p-stage-choice{position:relative;min-height:94px;padding:14px 16px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;background:#fff;border:1.5px solid var(--border-default);border-radius:10px;color:var(--ci-ink);font:inherit;cursor:pointer;transition:border-color .12s ease,background .12s ease}.p28p-stage-choice:hover{border-color:var(--ci-blue)}.p28p-stage-choice.is-selected{background:var(--ci-50);border-color:var(--ci-blue);color:var(--ci-blue)}.p28p-stage-choice:disabled{cursor:default}.p28p-stage-choice.is-unavailable{opacity:.55}.p28p-stage-choice strong{font-size:14px;font-weight:700}.p28p-stage-choice>span{color:var(--ci-text-muted);font-size:12px}.p28p-stage-choice small{display:inline-flex;align-items:center;gap:4px;margin-top:2px;padding:2px 8px;border-radius:999px;color:var(--ci-blue);background:var(--ci-50);font-size:11px;font-weight:600}.p28p-job-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.p28p-job-choice{position:relative;min-height:126px;padding:16px 12px 14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;background:transparent;border:1px dashed var(--border-strong);border-radius:10px;color:var(--ci-text-muted);font:inherit;cursor:pointer;transition:border-color .12s ease,background .12s ease,transform .18s ease}.p28p-job-choice:hover{transform:translateY(-2px);border-color:var(--ci-blue)}.p28p-job-choice.is-selected{background:#fff;border-style:solid;border-color:var(--ci-blue);color:var(--ci-ink)}.p28p-job-check{position:absolute;top:8px;right:8px;width:18px;height:18px;display:grid;place-items:center;border:1.5px solid var(--border-strong);border-radius:50%;color:#fff;background:#fff}.p28p-job-choice.is-selected .p28p-job-check{border-color:var(--ci-blue);background:var(--ci-blue)}.p28p-job-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:12px;color:var(--ci-secondary);background:var(--surface-page)}.p28p-job-icon img{width:48px;height:48px;object-fit:contain;filter:grayscale(1);opacity:.55}.p28p-job-choice.is-selected .p28p-job-icon{color:var(--ci-blue);background:var(--ci-50)}.p28p-job-choice.is-selected .p28p-job-icon img{filter:none;opacity:1}.p28p-job-choice.is-detected{cursor:default;background:#fff;border-style:solid;border-color:var(--ci-200);color:var(--ci-ink)}.p28p-job-choice.is-detected:hover{transform:none;border-color:var(--ci-200)}.p28p-job-choice.is-detected .p28p-job-check{border-color:var(--status-ahead);background:var(--status-ahead)}.p28p-job-choice.is-detected .p28p-job-icon{color:var(--ci-blue);background:var(--ci-50)}.p28p-job-choice.is-detected .p28p-job-icon img{filter:none;opacity:1}.p28p-job-choice small{color:var(--ci-text-muted);font-size:11px}.p28p-detection-empty{padding:20px;border:1px dashed var(--border-default);border-radius:8px;color:var(--ci-text-muted);font-size:13px;text-align:center}.p28p-detection-note{display:flex;align-items:center;gap:7px;color:var(--ci-text-muted);font-size:12px}.p28p-job-name{font-size:13px;font-weight:600;line-height:1.3}.p28p-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.p28p-drop{background:#fff;border:1.5px dashed var(--ci-300);border-radius:16px;min-height:240px;padding:36px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;transition:border-color var(--duration-fast) ease,background-color var(--duration-fast) ease}.p28p-drop--over{border-color:var(--ci-blue);background:var(--ci-50)}.p28p-drop--disabled{opacity:.65}.p28p-drop-icon{width:52px;height:52px;border-radius:14px;background:var(--ci-50);color:var(--ci-blue);display:grid;place-items:center}.p28p-drop-title{font-size:17px;font-weight:700}.p28p-file-name{display:flex;align-items:center;gap:10px;min-width:0}.p28p-file-name>span:last-child{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p28p-pdf-chip{flex:none;width:28px;height:32px;border-radius:5px;background:var(--status-behind-soft);color:var(--status-behind);display:grid;place-items:center;font:700 8.5px var(--ci-font-sans)}.p28p-file-progress{display:flex;align-items:center;gap:10px}.p28p-file-progress .p28p-bar{flex:1;height:6px}.p28p-file-progress .p28p-mono{font-size:12px;color:var(--ci-700)}.p28p-bar--indeterminate>span{width:35%!important;animation:p28p-slide 1.1s ease-in-out infinite}@keyframes p28p-slide{0%{transform:translate(-100%)}to{transform:translate(300%)}}.p28p-icon-button{border:0;background:transparent;color:var(--ci-text-muted);width:28px;height:28px;border-radius:6px;display:grid;place-items:center;cursor:pointer}.p28p-icon-button:hover{background:var(--ci-50);color:var(--status-behind)}.p28p-strip{display:flex}.p28p-strip>div{flex:1;min-width:0;padding:12px 16px;display:flex;flex-direction:column;gap:6px}.p28p-strip>div+div{border-left:1px solid var(--border-soft)}.p28p-strip-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;font-weight:600}.p28p-strip-foot{display:flex;gap:8px;align-items:center;padding:9px 16px;border-top:1px solid var(--border-soft);background:var(--surface-row-alt);font-size:12px;color:var(--ci-text-muted)}.p28p-upload-anchor{display:flex;flex-direction:column;gap:12px}.p28p-upload-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.p28p-upload-section-head>div>span{color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.p28p-upload-section-head h2{margin-top:2px;font-size:18px}.p28p-upload-section-head p{max-width:520px;color:var(--ci-text-muted);font-size:12.5px;line-height:1.45;text-align:right}.p28p-setup{background:#fff;border:1px solid var(--border-default);border-radius:10px;padding:22px 24px;display:flex;flex-direction:column;gap:14px}.p28p-setup>.p28p-two{max-width:920px}.p28p-setup>.p28p-field{max-width:920px}.p28p-setup-actions{max-width:920px;flex-direction:row;justify-content:flex-end;align-items:center}.p28p-setup-actions .p28-btn--block{width:auto;min-width:150px}.p28p-project-actions{padding:16px 20px;border:1px solid var(--border-default);border-radius:10px;background:#fff;align-items:center}.p28p-project-actions-next{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}.p28p-project-actions-next .p28-btn{min-width:170px}.p28p-section-label{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.p28p-section-label:after{content:"";flex:1;height:1px;background:var(--border-soft)}.p28p-field{display:flex;flex-direction:column;gap:5px;min-width:0}.p28p-field label{font-size:12px;font-weight:600;display:flex;gap:3px}.p28p-field label .req{color:var(--status-behind)}.p28p-field input,.p28p-field select,.p28p-field textarea{height:38px;padding:0 12px;border:1px solid var(--border-default);border-radius:10px;font:inherit;font-size:13.5px;background:#fff;color:var(--ci-ink);width:100%;min-width:0}.p28p-field textarea{height:auto;min-height:76px;padding:8px 12px;resize:vertical}.p28p-field input:focus,.p28p-field select:focus,.p28p-field textarea:focus{outline:0;border-color:var(--ci-blue);box-shadow:0 0 0 3px var(--ci-200)}.p28p-field input::placeholder{color:var(--ci-text-muted)}.p28p-field--error input,.p28p-field--error select,.p28p-field--error textarea{border-color:var(--status-behind)}.p28p-field-error{font-size:11.5px;color:var(--status-behind)}.p28p-field-hint{font-size:11.5px;color:var(--ci-text-muted)}.p28p-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.p28p-toggle{display:flex;gap:2px;padding:3px;background:var(--ci-50);border-radius:10px}.p28p-toggle button{flex:1;text-align:center;padding:6px 10px;border-radius:8px;border:0;background:transparent;font:inherit;font-size:12.5px;font-weight:600;color:var(--ci-400);cursor:pointer;white-space:nowrap}.p28p-toggle button[aria-pressed=true]{background:#fff;box-shadow:var(--shadow-soft);color:var(--ci-700)}.p28p-toggle button:disabled{cursor:default}.p28p-setup-actions{display:flex;flex-direction:column;gap:8px;margin-top:4px}.p28p-pair{display:flex;align-items:center;gap:8px;height:40px;padding:0 8px 0 12px;background:#fff;border:1px solid var(--border-default);border-radius:10px;font-size:13px}.p28p-pair select{border:0;background:transparent;font:600 13px var(--ci-font-mono);color:var(--ci-text-muted);cursor:pointer;padding:4px 2px}.p28p-pair select:last-of-type{color:var(--ci-blue)}.p28p-pair-arrow{color:var(--ci-400)}.p28p-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.p28p-stat{background:#fff;border:1px solid var(--border-default);border-radius:10px;padding:16px 18px;display:flex;flex-direction:column;gap:10px;min-height:122px}.p28p-stat--brand{background:var(--ci-blue);border-color:var(--ci-blue);color:#fff}.p28p-stat-label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.p28p-stat--brand .p28p-stat-label{color:#ffffffb3}.p28p-stat-value{font:500 30px/1 var(--ci-font-mono);color:var(--ci-800);font-variant-numeric:tabular-nums}.p28p-stat--brand .p28p-stat-value{color:#fff}.p28p-stat-of{font:500 15px var(--ci-font-mono);color:var(--ci-text-muted)}.p28p-stat-foot{margin-top:auto;font-size:12px;color:var(--ci-text-muted)}.p28p-stat--brand .p28p-stat-foot{color:#ffffffb8}.p28p-rev-grid{display:grid;grid-template-columns:320px minmax(0,1fr);gap:20px;align-items:start}.p28p-sheet-row{display:flex;align-items:flex-start;gap:12px;padding:10px 18px;border-top:1px solid var(--border-soft)}.p28p-sheet-row:nth-child(2n){background:var(--surface-row-alt)}.p28p-sheet-id{font:600 12.5px var(--ci-font-mono);color:var(--ci-700);width:72px;flex:none;overflow:hidden;text-overflow:ellipsis;padding-top:1px}.p28p-sheet-body{flex:1;min-width:0}.p28p-sheet-title{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.p28p-suggestion{margin-top:6px;padding:6px 8px;border-radius:8px;background:var(--ci-50);font-size:11.5px;color:var(--ci-800);display:flex;flex-direction:column;gap:4px}.p28p-suggestion-actions{display:flex;gap:10px}.p28p-delta-up{color:var(--status-behind);font-weight:600}.p28p-delta-down{color:var(--status-go);font-weight:600}.p28p-net td{border-top:2px solid var(--border-default);background:var(--ci-50);font-weight:700}.p28p-callout{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px}.p28p-callout h2{font-size:15px;font-weight:700}.p28p-callout p{font-size:13px;color:var(--ci-text-muted);margin-top:3px;line-height:1.5}.p28p-steps{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--ci-text-muted);flex-wrap:wrap}.p28p-steps b{color:var(--ci-ink)}.p28p-dialog{border:0;border-radius:14px;padding:0;width:min(480px,calc(100vw - 32px));box-shadow:var(--shadow-dialog)}.p28p-dialog::backdrop{background:var(--scrim)}.p28p-dialog form{padding:22px 24px;display:flex;flex-direction:column;gap:14px}.p28p-dialog h2{font-size:18px;font-weight:700}.p28p-dialog-actions{display:flex;justify-content:flex-end;gap:10px}@media(max-width:1180px){.p28p-upload-grid,.p28p-rev-grid{grid-template-columns:minmax(0,1fr)}.p28p-stats,.p28p-needs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.p28p-project-entry-main{grid-template-columns:18px minmax(260px,1.8fr) minmax(140px,1fr) minmax(150px,1fr) auto;gap:9px;padding-inline:14px}.p28p-project-actions>.p28-btn{padding-inline:10px}}@media(max-width:760px){.p28p-start-grid,.p28p-two,.p28p-stats,.p28p-upload-rail,.p28p-project-primary-grid,.p28p-project-more-grid{grid-template-columns:minmax(0,1fr)}.p28p-project-primary-grid .p28p-field:first-child,.p28p-project-more-wide,.p28p-synthetic-control{grid-column:auto}.p28p-stage-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.p28p-boq-options{grid-template-columns:minmax(0,1fr)}.p28p-strip{flex-direction:column}.p28p-strip>div+div{border-left:0;border-top:1px solid var(--border-soft)}.p28p-search{width:100%;margin-left:0}.p28p-upload-section-head{align-items:flex-start;flex-direction:column;gap:4px}.p28p-upload-section-head p{text-align:left}.p28p-setup-actions{align-items:stretch;flex-direction:column}.p28p-setup-actions .p28-btn--block{width:100%}.p28p-needs-grid{grid-template-columns:1fr}.p28p-project-list .p28p-list-head{align-items:stretch}.p28p-project-tabs{max-width:100%;overflow-x:auto}.p28p-project-tabs button{padding-inline:9px}.p28p-project-list .p28p-search{width:100%;margin-left:0}.p28p-project-entry-main{grid-template-columns:18px minmax(0,1fr) auto;gap:8px}.p28p-project-client,.p28p-project-progress{grid-column:2 / -1}.p28p-project-actions{grid-column:2 / -1;justify-content:flex-end}.p28p-run-list{padding-left:18px;padding-right:14px}.p28p-run-row{grid-template-columns:minmax(90px,auto) minmax(0,1fr)}.p28p-run-row b,.p28p-run-row button{text-align:left}}.p28p-outputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:1100px}@media(max-width:900px){.p28p-outputs{grid-template-columns:1fr}}.p28p-output{display:flex;flex-direction:column;gap:8px;padding:16px 18px}.p28p-output--selected{border-color:var(--ci-blue)}.p28p-output-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.p28p-output-pick{display:flex;align-items:center;gap:10px;cursor:pointer}.p28p-output-actions{margin-top:auto;padding-top:4px}.p28-output-page{display:flex;flex-direction:column;gap:20px;max-width:1200px}.p28-output-page .p28-page-header h1{margin:4px 0;font-size:26px;line-height:1.2;letter-spacing:0}.p28-output-page .p28-page-header p{margin-top:0;max-width:none;font-size:14px;line-height:1.45}.p28-output-page .p28-eyebrow{font-size:11px;letter-spacing:.08em}.p28-output-progress{background:var(--ci-blue);color:#fff;border-radius:10px;padding:22px 26px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}.p28-output-progress-copy{display:flex;align-items:baseline;gap:14px}.p28-output-progress-count{font-size:44px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}.p28-output-progress-count>span{font-size:22px;color:#fff9}.p28-output-progress-title{font-size:16px;font-weight:600}.p28-output-progress-subtitle{font-size:13px;color:#ffffffbf;margin-top:3px}.p28-output-progress-segments{display:flex;gap:6px;flex:0 1 320px}.p28-output-progress-segment,.p28-output-progress-empty{flex:1;height:10px;border-radius:3px;background:transparent;box-shadow:inset 0 0 0 1.5px #ffffff8c}.p28-output-progress-segment--done{background:#fff;box-shadow:none}.p28-output-progress-segment--blocked{background:#ffffff7a}.p28-output-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:14px}.p28-output-card{min-width:0;background:#fff;border:1px solid var(--border-default);border-radius:12px;padding:22px;display:flex;flex-direction:column;gap:16px;transition:border-color .18s,background .18s}.p28-output-card.is-selected{border-color:var(--border-default)}.p28-output-card.is-excluded{background:transparent;border-style:dashed;border-color:var(--border-strong)}.p28-output-card.is-ready{border-color:var(--status-target)}.p28-output-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.p28-output-icon{width:60px;height:60px;border-radius:14px;display:grid;place-items:center;background:var(--ci-50);color:var(--ci-blue);flex:none}.p28-output-icon.is-ready{background:var(--status-go-soft);color:var(--status-target)}.p28-output-toggle{display:flex;align-items:center;gap:8px;color:var(--ci-text-muted);cursor:pointer;font-size:12px;font-weight:600;padding:4px}.p28-output-toggle input{position:absolute;opacity:0;width:1px;height:1px}.p28-output-toggle-track{width:34px;height:20px;border-radius:10px;background:var(--ci-grey);position:relative;transition:background .12s}.p28-output-toggle-track>span{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .12s}.p28-output-toggle input:checked+.p28-output-toggle-track{background:var(--ci-blue)}.p28-output-toggle input:checked+.p28-output-toggle-track>span{left:16px}.p28-output-toggle input:focus-visible+.p28-output-toggle-track{outline:3px solid var(--ci-200);outline-offset:2px}.p28-output-toggle input:disabled+.p28-output-toggle-track{opacity:.55;cursor:default}.p28-output-card-copy{min-height:0}.p28-output-card-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.p28-output-card-title-row h2{font-size:17px;font-weight:700}.p28-output-card-copy p{margin-top:6px;font-size:13px;line-height:1.5;color:var(--ci-text-muted)}.p28-output-card-meta{display:flex;flex-wrap:wrap;gap:6px}.p28-output-card-meta>span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;padding:3px 10px;border-radius:6px;background:var(--surface-page);color:var(--ci-ink)}.p28-output-card-meta>span+span{background:var(--status-watch-soft);color:var(--status-watch-text)}.p28-output-card-actions{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px}.p28-output-card-actions .p28-btn{display:inline-flex;align-items:center;gap:6px}.p28-output-status{display:inline-flex;align-items:center;min-height:21px;padding:3px 9px;border-radius:999px;background:var(--surface-page);color:var(--ci-text-muted);font-size:11px;font-weight:700;white-space:nowrap}.p28-output-status--done{background:var(--status-go-soft);color:var(--status-go)}.p28-output-status--blocked{background:var(--status-watch-soft);color:var(--status-watch-text)}.p28-output-status--excluded{background:transparent;color:var(--ci-text-muted)}.p28-output-blocked{padding:9px 12px;border-radius:8px;background:var(--status-watch-soft);color:var(--status-watch-text);font-size:12px}@media(max-width:600px){.p28-output-progress{padding:18px}.p28-output-progress-copy{align-items:flex-start;gap:10px}.p28-output-progress-count{font-size:36px}.p28-output-progress-segments{flex-basis:100%}.p28-output-card{padding:18px}}.rv-frame{height:100vh;min-height:640px;display:grid;min-width:0;background:var(--surface-page)}.rv-frame--review{grid-template-columns:minmax(0,1fr) 380px}.rv-frame--markup{grid-template-columns:300px minmax(0,1fr) 300px}.rv-frame--model{grid-template-columns:minmax(0,1fr) 320px}.rv-work{padding:20px 24px;display:flex;flex-direction:column;gap:14px;min-width:0;min-height:0}.rv-aside{background:#fff;border-left:1px solid var(--border-default);padding:22px;display:flex;flex-direction:column;gap:16px;min-height:0;overflow-y:auto}.rv-aside--left{border-left:0;border-right:1px solid var(--border-default);padding:22px 16px;gap:12px}.rv-aside--narrow{padding:22px 18px}.rv-aside h1{font-size:22px;font-weight:var(--weight-bold)}.rv-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.rv-section-label{font-size:11px;font-weight:var(--weight-bold);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.rv-muted{font-size:12px;line-height:1.5;color:var(--ci-text-muted)}.rv-footnote{margin-top:auto;font-size:12px;line-height:1.5;color:var(--ci-text-muted)}.rv-pill{font-size:12px;font-weight:var(--weight-semibold);padding:3px 10px;border-radius:var(--radius-pill);white-space:nowrap;background:var(--status-watch-soft);color:var(--status-watch-text)}.rv-pill--ok{background:var(--status-go-soft);color:var(--status-go)}.rv-pill--neutral{background:var(--ci-50);color:var(--ci-700)}.rv-sheet-chip{font-size:12.5px;font-weight:var(--weight-semibold);padding:5px 11px;border-radius:var(--radius-pill);background:#fff;border:1px solid var(--border-default);display:inline-flex;gap:6px;align-items:center;max-width:100%}.rv-sheet-chip select{flex:1;border:0;background:transparent;font:inherit;color:inherit;max-width:260px;min-width:0;cursor:pointer;text-overflow:ellipsis}.rv-chips{display:flex;flex-wrap:wrap;gap:6px}.rv-chip{font-size:11.5px;font-weight:var(--weight-semibold);padding:4px 10px;border-radius:var(--radius-pill);border:1px solid var(--border-default);background:#fff;color:var(--ci-ink);cursor:pointer}.rv-chip[aria-pressed=true]{background:var(--ci-blue);border-color:var(--ci-blue);color:#fff}.rv-reason{font-size:10.5px;font-weight:var(--weight-bold);padding:2px 8px;border-radius:var(--radius-pill);white-space:nowrap;letter-spacing:.02em}.rv-reason--no_scale,.rv-reason--stale{background:var(--status-behind-soft);color:var(--status-behind)}.rv-reason--conflict,.rv-reason--low_evidence{background:var(--status-watch-soft);color:var(--status-watch-text)}.rv-reason--assumed{background:var(--ci-100);color:var(--ci-700)}.rv-reason--pending{background:var(--ci-50);color:var(--ci-700)}.rv-toolbar{display:flex;align-items:center;gap:12px;min-width:0}.rv-toolbar{flex-wrap:wrap}.rv-toolbar>.rv-sheet-chip{min-width:min(200px,100%);flex:0 1 auto}.rv-tools{display:flex;gap:2px;padding:3px;background:#fff;border:1px solid var(--border-default);border-radius:10px}.rv-tools--soft{background:var(--ci-50);border-color:transparent}.rv-tool{display:flex;align-items:center;gap:6px;padding:6px 11px;border-radius:7px;font-size:13px;font-weight:var(--weight-semibold);background:transparent;color:var(--ci-600);border:0;cursor:pointer}.rv-tool:hover:not(:disabled){background:var(--ci-50)}.rv-tool[aria-pressed=true]{background:var(--ci-blue);color:#fff}.rv-tool:disabled{opacity:.45;cursor:default}.rv-spacer{flex:1}.rv-canvas{flex:1;min-height:0;background:#fff;border:1px solid var(--border-default);border-radius:10px;overflow:hidden;position:relative}.rv-scroll{position:absolute;inset:0;overflow:auto}.rv-stage{position:relative;margin:0 auto}.rv-stage img{display:block;width:100%;height:100%;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.rv-stage svg{position:absolute;inset:0;width:100%;height:100%}.rv-stage--tracing svg{cursor:crosshair}.rv-shape{cursor:pointer}.rv-shape--selected{filter:drop-shadow(0 0 2px rgba(43,76,110,.9))}.rv-shape--dimmed{opacity:.15}.rv-zoom{display:flex;align-items:center;gap:0;font:500 12px var(--ci-font-mono)}.rv-zoom button{border:0;background:transparent;width:28px;height:30px;border-radius:6px;font:600 16px var(--ci-font-sans);cursor:pointer;color:var(--ci-ink)}.rv-zoom button:hover:not(:disabled){background:var(--ci-50)}.rv-zoom span{min-width:46px;text-align:center;color:var(--ci-ink)}.rv-state{position:absolute;inset:0;display:grid;place-items:center;padding:24px;text-align:center;color:var(--ci-text-muted);font-size:13px;line-height:1.5}.rv-state strong{display:block;color:var(--ci-ink);font-size:14px;margin-bottom:4px}.rv-banner{position:absolute;left:14px;right:14px;top:12px;z-index:2;background:var(--status-watch-soft);color:var(--status-watch-text);border-radius:8px;padding:8px 12px;font-size:12.5px}.rv-hint{position:absolute;right:14px;top:12px;z-index:2;background:#fffffff0;border:1px solid var(--border-default);border-radius:8px;padding:6px 10px;font-size:12px;color:var(--ci-ink);max-width:360px}.rv-card{border:1px solid var(--ci-blue);border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow-soft)}.rv-card--quiet{border-color:var(--border-default);box-shadow:none}.rv-ref{font:600 12.5px var(--ci-font-mono);color:var(--ci-blue)}.rv-card-title{font-size:14px;font-weight:var(--weight-semibold)}.rv-value{font:500 30px/1 var(--ci-font-mono);color:var(--ci-800);font-variant-numeric:tabular-nums}.rv-value small{font-size:15px;color:var(--ci-text-muted)}.rv-value-note{font-size:12px;color:var(--ci-text-muted)}.rv-value-note s{font-family:var(--ci-font-mono)}.rv-rows{display:flex;flex-direction:column;border-top:1px solid var(--border-soft)}.rv-row{display:grid;grid-template-columns:78px 1fr;gap:10px;padding:7px 0;border-bottom:1px solid var(--border-soft);font-size:12.5px}.rv-row--wide{grid-template-columns:84px 1fr;padding:8px 0}.rv-row>span:first-child{color:var(--ci-text-muted)}.rv-row>span:last-child{font-weight:var(--weight-medium);overflow-wrap:anywhere}.rv-row .p28-mono{font-weight:var(--weight-medium)}.rv-actions{display:flex;flex-wrap:wrap;gap:8px}.rv-actions>.p28-btn{white-space:normal}.rv-issues{margin:6px 0 0;padding-left:18px}.rv-issues li+li{margin-top:4px}.rv-actions>.p28-btn:first-child{flex:1}.rv-form{display:flex;flex-direction:column;gap:8px;padding-top:4px}.rv-form label{font-size:12.5px;font-weight:var(--weight-semibold);display:flex;flex-direction:column;gap:4px}.rv-form input,.rv-form textarea,.rv-form select,.rv-select{font:inherit;font-size:13px;font-weight:var(--weight-regular);padding:8px 10px;border:1px solid var(--border-default);border-radius:var(--radius-field);background:#fff;color:var(--ci-ink);width:100%}.rv-form textarea{min-height:64px;resize:vertical}.rv-form-row{display:flex;gap:8px;justify-content:flex-end}.rv-message{font-size:12.5px;line-height:1.45;padding:8px 10px;border-radius:8px;background:var(--ci-50);color:var(--ci-800)}.rv-message--error{background:var(--status-behind-soft);color:var(--status-behind)}.rv-message--warn{background:var(--status-watch-soft);color:var(--status-watch-text)}.rv-message--ok{background:var(--status-go-soft);color:var(--status-go)}.rv-history{display:flex;flex-direction:column;gap:6px;font-size:12px}.rv-history li{list-style:none;border-left:2px solid var(--ci-200);padding-left:8px}.rv-history ul{margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.rv-details summary{cursor:pointer;font-size:12.5px;font-weight:var(--weight-semibold);color:var(--ci-700)}.rv-details[open] summary{margin-bottom:6px}.rv-queue{display:flex;flex-direction:column;gap:6px}.rv-queue-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;background:#fff;border:1px solid var(--border-soft);text-align:left;flex:1;min-width:0;cursor:pointer;font:inherit;color:inherit}.rv-queue-item[aria-current=true]{background:var(--ci-50)}.rv-queue-item .rv-ref{font-size:12px;color:var(--ci-700);flex:none}.rv-queue-body{flex:1;min-width:0}.rv-queue-name{font-size:13px;font-weight:var(--weight-semibold);overflow-wrap:anywhere}.rv-queue-note{font-size:11.5px;color:var(--ci-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rv-check{flex:none;width:15px;height:15px;accent-color:var(--ci-blue)}.rv-bulk{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border:1px dashed var(--ci-300);border-radius:8px}.rv-cat{border:1px solid var(--border-soft);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.rv-cat--off{opacity:.65}.rv-cat-head{display:flex;align-items:center;gap:8px;min-width:0;font-size:13px;font-weight:var(--weight-semibold)}.rv-cat-head input{flex:none;width:15px;height:15px;margin:0;accent-color:var(--ci-blue)}.rv-swatch{width:10px;height:10px;border-radius:3px;flex:none}.rv-cat-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rv-cat-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:baseline;padding-left:23px;font-size:11.5px}.rv-cat-line>span:first-child{color:var(--ci-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rv-cat-line>span:last-child{font-family:var(--ci-font-mono);color:var(--ci-ink);font-weight:var(--weight-medium);white-space:nowrap}.rv-cat-sub{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:baseline;margin-left:23px;padding-top:5px;border-top:1px solid var(--border-soft);font-size:11.5px}.rv-cat-sub>span:first-child{color:var(--ci-ink);line-height:1.35}.rv-cat-sub>span:last-child{font-family:var(--ci-font-mono);color:var(--ci-text-muted);white-space:nowrap}.rv-legend{position:absolute;left:14px;bottom:44px;z-index:2;background:#fff;border:1px solid var(--border-default);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;font-size:12px;box-shadow:var(--shadow-soft);max-width:300px}.rv-legend-row{display:flex;align-items:center;gap:8px}.rv-legend-note{font-size:11px;color:var(--ci-text-muted);padding-top:4px;border-top:1px solid var(--border-soft)}.rv-plate{position:absolute;left:14px;right:14px;bottom:12px;z-index:2;display:flex;justify-content:space-between;gap:8px;font:500 11px var(--ci-font-mono);color:var(--ci-ink);pointer-events:none}.rv-plate span{background:#ffffffe6;padding:3px 7px;border-radius:5px}.rv-field{display:flex;flex-direction:column;gap:6px;font-size:12.5px;font-weight:var(--weight-semibold)}.rv-bottom{margin-top:auto;display:flex;flex-direction:column;gap:8px}.rv-3d-main{display:flex;flex-direction:column;min-width:0;min-height:0;background:#f3f4f6}.rv-3d-bar{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fff;border-bottom:1px solid var(--border-default);min-width:0}.rv-3d-caveat{margin:0;padding:6px 16px;background:#fff;border-bottom:1px solid var(--border-soft);white-space:normal;font-size:12px}.rv-3d-bar>.p28-btn,.rv-3d-bar>.rv-tools{flex:none}.rv-3d-stage{flex:1;min-height:0;position:relative;overflow:hidden}.rv-3d-stage canvas{display:block;width:100%;height:100%;touch-action:none}.rv-float{position:absolute;background:#fff;border:1px solid var(--border-default);border-radius:10px;box-shadow:var(--shadow-soft)}.rv-layers{left:16px;top:16px;width:230px;padding:12px 10px;display:flex;flex-direction:column;gap:2px;max-height:calc(100% - 110px);overflow-y:auto}.rv-layer{display:flex;align-items:center;gap:9px;padding:6px;border-radius:7px;font-size:12.5px;font-weight:var(--weight-medium);cursor:pointer}.rv-layer input{flex:none;width:14px;height:14px;margin:0;accent-color:var(--ci-blue)}.rv-layer--selected{background:var(--ci-50)}.rv-layer--off{color:var(--ci-text-muted)}.rv-layer-note{font-size:11px;line-height:1.45;color:var(--ci-text-muted);padding:8px 6px 0;margin-top:4px;border-top:1px solid var(--border-soft)}.rv-3d-controls{left:16px;right:16px;bottom:16px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:9px 16px}.rv-3d-controls label{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:var(--weight-medium);white-space:nowrap}.rv-3d-controls input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:var(--ci-blue)}.rv-3d-controls input[type=range]{width:140px;accent-color:var(--ci-blue)}.rv-3d-controls .p28-mono{font-size:12.5px;color:var(--ci-600)}.rv-divider{width:1px;height:20px;background:var(--border-soft)}.rv-callout{position:absolute;transform:translate(-18px,-100%);pointer-events:none;display:flex;flex-direction:column;align-items:flex-start;z-index:2}.rv-callout-label{display:flex;align-items:center;gap:8px;background:var(--ci-blue);color:#fff;border-radius:8px;padding:7px 11px;box-shadow:var(--shadow-card);font-size:12.5px;font-weight:var(--weight-semibold);white-space:nowrap}.rv-callout-stem{width:2px;height:40px;background:var(--ci-blue);margin-left:18px}.rv-callout-dot{width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid var(--ci-blue);margin-left:12px}.rv-text-list{font-size:12px}.rv-text-list ul{margin:6px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:2px;max-height:180px;overflow-y:auto}.rv-text-list button{border:0;background:transparent;font:inherit;text-align:left;padding:3px 4px;cursor:pointer;color:var(--ci-ink);width:100%;border-radius:4px}.rv-text-list button:hover{background:var(--ci-50)}.rv-boq-frame{min-height:100vh;padding:20px 24px;background:var(--surface-page);display:flex;flex-direction:column;gap:12px}.rv-boq{display:flex;flex-direction:column;gap:12px;min-width:0}.rv-boq-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.rv-boq-field{display:flex;flex-direction:column;gap:4px;font-size:12.5px;font-weight:var(--weight-semibold)}.rv-boq-field select{min-width:220px;padding:6px 8px;border:1px solid var(--ci-200);border-radius:8px;background:#fff;font:inherit;font-weight:400}.rv-boq-download{font-size:13px;font-weight:var(--weight-semibold);color:var(--ci-700)}.rv-boq-summary{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.rv-pill--warn{background:var(--status-watch-soft);color:var(--status-watch-text)}.rv-boq-beyond{color:var(--status-watch-text);font-weight:600}.rv-check{border-left:3px solid var(--ci-200);padding-left:8px}.rv-check--high{border-left-color:var(--status-risk-text, #b42318)}.rv-check--medium{border-left-color:var(--status-watch-text, #b54708)}.rv-check-sides{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;font-size:12px}.rv-boq-table{width:100%;border-collapse:collapse;font-size:13px;background:#fff}.rv-boq-table th,.rv-boq-table td{padding:6px 8px;border-bottom:1px solid var(--ci-100);text-align:left;vertical-align:top}.rv-boq-table th{font-size:12px;color:var(--ci-700);background:var(--ci-50);position:sticky;top:0}.rv-boq-table .num{text-align:right;white-space:nowrap}.rv-boq-section td,.rv-boq-total td{font-weight:var(--weight-semibold);background:var(--ci-50)}.rv-boq-note td{color:var(--ci-700);font-style:italic}.rv-boq-matches{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.rv-boq-match{border:1px solid var(--ci-100);border-radius:8px;padding:8px 10px;background:#fff}.rv-boq-match-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:12.5px}.rv-boq-explanation{margin:6px 0;font-size:12.5px;line-height:1.45}.rv-boq-actions{display:flex;gap:8px}.rv-compass{right:16px;top:64px;display:flex;align-items:center;gap:8px;padding:6px 10px;font-size:12px;color:#0b2545}.rv-scalebar{display:inline-block;width:100px;height:6px;border:1.5px solid #0b2545;border-top:0}.rv-section-chart{right:16px;bottom:76px;width:320px;padding:8px}.rv-3d-controls select{font:inherit;font-size:13px;padding:2px 4px}.rv-internal{margin-top:10px;text-align:center;font-size:11px;letter-spacing:.04em;color:#0b2545;opacity:.7}.rv-canvas--interactive{min-height:280px;background:#e8edf1}.rv-zoom button:disabled{opacity:.4;cursor:default}.rv-scroll--pan,.rv-scroll--pan .rv-shape,.rv-scroll--pan .rv-stage svg{cursor:grab}.rv-scroll--pan:active,.rv-scroll--pan:active .rv-stage svg{cursor:grabbing}.rv-shape:focus-visible{outline:2px solid var(--ci-blue);outline-offset:3px}.rv-type-legend{position:absolute;top:12px;right:12px;display:flex;align-items:center;flex-wrap:wrap;gap:9px;max-width:calc(100% - 150px);padding:6px 8px;background:#fffffff5;border:1px solid var(--border-soft);border-radius:5px;font-size:10px;color:var(--ci-600);pointer-events:none}.rv-type-legend b{font-size:13px}.rv-type-legend span{white-space:nowrap}.rv-sheet-step{border:0;background:transparent;font-size:20px;line-height:1;color:var(--ci-blue);padding:0 3px;cursor:pointer}.rv-markup-register{flex:0 0 auto;min-width:0;border:1px solid var(--border-default);border-radius:8px;overflow:hidden;background:#fff}.rv-markup-register-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:5px 12px;padding:9px 12px;background:#f3f6f8;border-bottom:1px solid var(--border-default);color:var(--ci-ink);font-size:12px}.rv-markup-register-head strong span{margin-left:8px;color:var(--ci-600)}.rv-markup-register-head>span{font-size:10.5px;color:var(--ci-text-muted)}.rv-markup-table-scroll{max-height:188px;overflow:auto}.rv-markup-table-scroll>p{padding:12px}.rv-markup-table{width:100%;border-collapse:collapse;text-align:left;font-size:11.5px}.rv-markup-table th{position:sticky;top:0;background:#fff;z-index:1;padding:7px 10px;color:var(--ci-text-muted);font-size:10px;font-weight:600}.rv-markup-table td{padding:6px 10px;border-top:1px solid var(--border-soft)}.rv-markup-table td:nth-child(2),.rv-markup-table td:nth-child(4){white-space:nowrap}.rv-markup-table tr[data-selected=true]{background:#e8f0f6;box-shadow:inset 3px 0 var(--ci-blue)}.rv-markup-table button{text-align:left;border:0;background:transparent;cursor:pointer;color:var(--ci-ink);padding:1px 0;font:inherit}.rv-markup-table button>span{display:block}.rv-markup-type{margin-top:2px;font-size:10px;font-weight:600}.rv-markup-status{font-size:10px;text-transform:capitalize}.rv-markup-status--accepted{color:#176b55}.rv-markup-status--rejected{color:var(--ci-text-muted)}.rv-markup-status--pending{color:#9b4b12}.rv-frame--markup .rv-canvas--interactive .rv-legend{top:12px;bottom:auto}@media(max-width:900px){.rv-markup-register-head>span{display:none}}.rv-vertex-handle{cursor:move;touch-action:none}.rv-vertex-handle:focus-visible{outline:2px solid #9b4b12;outline-offset:3px}.rv-edit-banner{position:absolute;z-index:2;left:10px;right:10px;top:10px;padding:7px 10px;border-radius:5px;background:#fff4dc;color:#73410e;font-size:11px;border:1px solid #e9c586;pointer-events:none}.rv-geometry-editor{border-color:#bf8337}.rv-vertex-picker{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--ci-ink)}.rv-vertex-picker select,.rv-vertex-picker textarea,.rv-vertex-coordinates input{width:100%;min-width:0;padding:7px 8px;border:1px solid var(--border-default);border-radius:5px;font:inherit;background:#fff}.rv-vertex-picker textarea{min-height:70px;resize:vertical}.rv-vertex-coordinates{padding:10px;background:#f7f5ef;border-radius:6px}.rv-vertex-coordinates .rv-form-row{margin-top:7px;align-items:flex-end}.rv-vertex-coordinates label{flex:1;min-width:0;font-size:11px}.rv-markup-table button:disabled{opacity:.65;cursor:default}.rv-geometry-editor>.rv-form-row{flex-direction:column;align-items:stretch}.rv-geometry-editor>.rv-message .p28-btn{margin-top:8px;white-space:normal}.rv-boundary-panel{border-left:3px solid #8f2853}.rv-boundary-panel--editing{background:#fffafd}.rv-boundary-panel>.rv-form-row{flex-direction:column;align-items:stretch}.rv-boundary-list{display:grid;gap:8px}.rv-boundary-list>div{border:1px solid #dec9d2;border-radius:5px;padding:9px}.rv-boundary-list>div>span{display:block;font-size:11px;color:var(--ci-text-muted);margin-top:4px}.rv-boundary-ack{display:flex;align-items:flex-start;gap:8px;font-size:11px;line-height:1.5}.rv-boundary-ack input{flex:0 0 auto;margin-top:3px}.rv-boundary-legend{position:absolute;z-index:2;top:12px;left:12px;width:max-content;max-width:100%;padding:5px 8px;background:#fff5fa;color:#8f2853;border-bottom:1px solid #dec9d2;font-size:11px;pointer-events:none}.rv-boundary-list>div{min-width:0}.rv-boundary-panel .rv-actions{flex-wrap:wrap}.rv-boundary-panel .p28-btn{white-space:normal;max-width:100%}.rv-model-mode-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 16px;background:#173347;color:#fff}.rv-model-mode-bar label{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:12px}.rv-model-mode-bar select{min-width:215px;padding:7px 9px;border:1px solid #587184;border-radius:5px;background:#24465d;color:#fff;font:inherit}.rv-model-mode-bar>span{font-size:10px;letter-spacing:.11em;color:#b9cbd8}.rv-plan-presets{display:flex;gap:4px;flex-wrap:wrap}.rv-plan-notice{border-left:3px solid #276b82;background:#edf7fa;line-height:1.5}.rv-frame--model .rv-3d-bar{flex-wrap:wrap}@media(max-width:900px){.rv-model-mode-bar>span{display:none}}.rv-vertex-topology{padding:10px;border:1px solid #e3d0b4;border-radius:6px;background:#fffaf2}.rv-vertex-topology .rv-actions{flex-wrap:wrap}.rv-vertex-topology .p28-btn{max-width:100%;white-space:normal}.rv-tag{display:inline-block;margin-left:6px;padding:0 6px;border-radius:var(--radius-pill);background:#fff1d6;color:#9b4b12;font-size:10px;font-weight:600;line-height:16px;white-space:nowrap;vertical-align:middle}.rv-markup-search{flex:1 1 160px;min-width:120px;font:inherit;font-size:11.5px;padding:4px 8px;border:1px solid var(--border-default);border-radius:6px}.rv-markup-scope{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--ci-text-muted)}.rv-markup-table th .rv-sort{font:inherit;font-weight:600;color:inherit;padding:0}.rv-markup-table .rv-group-row th{position:static;padding:6px 10px;background:var(--ci-50);color:var(--ci-ink);font-size:11px;border-top:1px solid var(--border-soft)}.rv-markup-subject{font-weight:600}.rv-runs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;max-height:240px;overflow:auto}.rv-runs button{display:flex;justify-content:space-between;gap:10px;width:100%;padding:5px 8px;border:1px solid transparent;border-radius:6px;background:transparent;font:inherit;font-size:12px;text-align:left;cursor:pointer;color:inherit}.rv-runs button:hover{background:var(--ci-50)}.rv-runs button[aria-pressed=true]{background:#e8f0f6;border-color:var(--ci-blue)}.rv-queue--folded .rv-heading{align-items:center}.rv-sheet-index{width:3.2em;padding:2px 4px;text-align:center;font-size:12px;border:1px solid var(--border-default);border-radius:4px}.rv-desk{height:100vh;min-height:520px;display:flex;flex-direction:column;background:#e9edf1;min-width:0}.rv-topbar{flex:none;height:52px;display:flex;align-items:center;gap:12px;padding:0 14px 0 8px;background:#fff;border-bottom:1px solid var(--border-default);min-width:0}.rv-topbar-back{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:8px;color:var(--ci-blue)}.rv-topbar-back:hover{background:var(--ci-50)}.rv-topbar-title{display:flex;align-items:center;gap:10px;min-width:0;flex:0 1 auto}.rv-topbar-title strong{font-size:14px;font-weight:var(--weight-semibold);color:var(--ci-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.rv-topbar-sheet{display:flex;align-items:center;gap:8px;min-width:0;padding-left:10px;border-left:1px solid var(--border-soft)}.rv-topbar-sheet select{min-width:0;max-width:300px;font:inherit;font-size:13px;color:var(--ci-ink);padding:5px 26px 5px 8px;border:1px solid transparent;border-radius:6px;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%232b4c6e' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 8px center;appearance:none;cursor:pointer;text-overflow:ellipsis}.rv-topbar-sheet select:hover:not(:disabled),.rv-topbar-sheet select:focus-visible{border-color:var(--border-default);background-color:#fff}.rv-topbar-scale{flex:none;font-size:11.5px;padding:2px 8px;border-radius:var(--radius-pill);background:var(--status-watch-soft);color:var(--status-watch-text)}.rv-topbar-scale--ok{background:var(--status-go-soft);color:var(--status-go)}.rv-topbar-actions{display:flex;align-items:center;gap:10px;flex:none;margin-left:auto}.rv-desk-body{flex:1;min-height:0;display:grid;grid-template-columns:52px minmax(0,1fr) 380px 52px}.rv-desk-body--closed{grid-template-columns:52px minmax(0,1fr) 52px}.rv-rail{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 0;background:#fff;min-height:0}.rv-rail--tools{border-right:1px solid var(--border-default)}.rv-rail--panels{border-left:1px solid var(--border-default)}.rv-rail-button{position:relative;display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:8px;background:transparent;color:var(--ci-600);cursor:pointer}.rv-rail-button:hover:not(:disabled){background:var(--ci-50);color:var(--ci-ink)}.rv-rail-button[aria-pressed=true]{background:var(--ci-blue);color:#fff}.rv-rail--panels .rv-rail-button[aria-pressed=true]{background:var(--ci-50);color:var(--ci-blue);box-shadow:inset 3px 0 0 var(--ci-blue)}.rv-rail-button:disabled{opacity:.4;cursor:default}.rv-rail-button:focus-visible{outline:2px solid var(--ci-blue);outline-offset:1px}.rv-rail-badge{position:absolute;top:2px;right:1px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--ci-accent);color:#fff;font:700 9.5px/16px var(--ci-font-sans);text-align:center}.rv-desk-canvas{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0}.rv-desk-canvas>.rv-canvas{flex:1;border:0;border-radius:0;background:#e9edf1}.rv-desk-canvas>:not(.rv-canvas){margin:10px 12px 0}.rv-stage{box-shadow:0 1px 3px #0000001f,0 6px 20px #0000000f;background:#fff}.rv-desk-canvas .rv-stage{margin:18px auto 84px}.rv-stage img{transition:opacity .16s ease}.rv-stage--dimmed img{opacity:.22}.rv-viewbar{position:absolute;left:50%;bottom:16px;transform:translate(-50%);z-index:4;display:flex;align-items:center;gap:2px;max-width:calc(100% - 24px);overflow-x:auto;padding:5px 6px;background:#fff;border:1px solid var(--border-default);border-radius:12px;box-shadow:var(--shadow-pop);white-space:nowrap}.rv-viewbar-sep{flex:none;width:1px;height:22px;margin:0 5px;background:var(--border-default)}.rv-viewbar-button{flex:none;display:grid;place-items:center;width:32px;height:30px;border:0;border-radius:7px;background:transparent;color:var(--ci-600);cursor:pointer;font:600 16px/1 var(--ci-font-sans)}.rv-viewbar-button:hover:not(:disabled){background:var(--ci-50);color:var(--ci-ink)}.rv-viewbar-button[aria-pressed=true]{background:var(--ci-blue);color:#fff}.rv-viewbar-button:disabled{opacity:.35;cursor:default}.rv-pager{display:flex;align-items:center;gap:1px}.rv-pager-of{font-size:12px;color:var(--ci-text-muted);padding:0 6px 0 5px}.rv-sheet-index{width:3em;height:26px;padding:2px 4px;text-align:center;font-size:12px;border:1px solid var(--border-default);border-radius:6px}.rv-toast{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:5;display:flex;align-items:center;gap:10px;max-width:min(560px,calc(100% - 24px));padding:8px 8px 8px 14px;border-radius:10px;background:#fff;border:1px solid var(--border-default);box-shadow:var(--shadow-pop);font-size:13px;color:var(--ci-ink);border-left:4px solid var(--status-go)}.rv-toast--warn{border-left-color:var(--status-watch-text)}.rv-toast--error{border-left-color:var(--status-behind)}.rv-toast button{flex:none;display:grid;place-items:center;width:26px;height:26px;border:0;border-radius:6px;background:transparent;color:var(--ci-600);cursor:pointer}.rv-toast button:hover{background:var(--ci-50)}.rv-panel{display:flex;flex-direction:column;min-height:0;background:#fff;border-left:1px solid var(--border-default)}.rv-panel-head{flex:none;display:flex;align-items:center;gap:6px;height:50px;padding:0 10px 0 16px;border-bottom:1px solid var(--border-soft)}.rv-panel-head h1{flex:1;min-width:0;font-size:16px;font-weight:var(--weight-bold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rv-panel-icon{flex:none;display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:7px;background:transparent;color:var(--ci-600);cursor:pointer}.rv-panel-icon:first-child{margin-left:-8px}.rv-panel-icon:hover{background:var(--ci-50);color:var(--ci-ink)}.rv-panel-body{flex:1;min-height:0;overflow-y:auto;padding:14px 16px 18px;display:flex;flex-direction:column;gap:14px}.rv-panel-body>.rv-queue>.rv-heading:first-child>.rv-section-label{display:none}.rv-panel-empty{padding:4px 0}.rv-panel-body .rv-footnote{margin-top:4px}.rv-markups{display:flex;flex-direction:column;gap:10px;min-height:0;margin:-14px -16px -18px;padding:12px 0 0;flex:1}.rv-panel-tools,.rv-panel-filters,.rv-markups-count{padding:0 14px}.rv-panel-tools{display:flex;gap:8px}.rv-search{flex:1;min-width:0;display:flex;align-items:center;gap:7px;padding:0 10px;height:34px;border:1px solid var(--border-default);border-radius:8px;color:var(--ci-text-muted);background:#fff}.rv-search:focus-within{border-color:var(--ci-blue);box-shadow:0 0 0 3px #2b4c6e1f}.rv-search input{flex:1;min-width:0;border:0;outline:0;font:inherit;font-size:13px;color:var(--ci-ink);background:transparent}.rv-sort-select{flex:none;height:34px;font:inherit;font-size:12.5px;color:var(--ci-ink);padding:0 8px;border:1px solid var(--border-default);border-radius:8px;background:#fff}.rv-panel-filters{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.rv-markups-count{font-size:11.5px;color:var(--ci-text-muted)}.rv-markups-scroll{flex:1;min-height:0;overflow-y:auto;border-top:1px solid var(--border-soft);padding-bottom:12px}.rv-markups-scroll>.rv-message,.rv-markups-scroll>p{margin:12px 14px 0}.rv-markup-group+.rv-markup-group{border-top:1px solid var(--border-soft)}.rv-markup-group-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:6px;width:100%;padding:8px 14px;border:0;background:#f6f8fa;color:var(--ci-ink);font:inherit;font-size:12px;text-align:left;cursor:pointer}.rv-markup-group-head:hover{background:var(--ci-50)}.rv-markup-group-name{font-weight:var(--weight-semibold);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rv-markup-group-total{margin-left:auto;font-size:11.5px;color:var(--ci-700);white-space:nowrap}.rv-markup-row{display:flex;align-items:center;gap:4px;padding-right:10px;border-top:1px solid var(--border-soft)}.rv-markup-row:hover{background:#f8fafc}.rv-markup-row[data-selected=true]{background:#e8f0f6;box-shadow:inset 3px 0 0 var(--ci-blue)}.rv-markup-main{flex:1;min-width:0;display:flex;align-items:center;gap:9px;padding:8px 4px 8px 14px;border:0;background:transparent;text-align:left;font:inherit;color:var(--ci-ink);cursor:pointer}.rv-markup-main:disabled{opacity:.65;cursor:default}.rv-markup-symbol{flex:none;width:14px;text-align:center;font-size:13px}.rv-markup-text{flex:1;min-width:0;display:flex;flex-direction:column}.rv-markup-subject{font-size:12.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rv-markup-subject .p28-mono{font-weight:600;color:var(--ci-blue)}.rv-markup-type{margin-top:1px;font-size:11px;color:var(--ci-text-muted)}.rv-markup-qty{flex:none;font-size:12px;font-weight:500;white-space:nowrap}.rv-status{display:inline-block;font-size:10.5px;font-weight:var(--weight-semibold);padding:2px 8px;border-radius:var(--radius-pill);white-space:nowrap}.rv-status--pending{background:#fff1d6;color:#9b4b12}.rv-status--accepted{background:var(--status-go-soft);color:#176b55}.rv-status--rejected{background:#eef0f2;color:var(--ci-text-muted)}.rv-status--stale{background:var(--status-behind-soft);color:var(--status-behind)}.rv-status-button{flex:none;display:inline-flex;align-items:center;gap:2px;padding:2px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--ci-600);cursor:pointer}.rv-status-button:hover:not(:disabled),.rv-status-button[aria-expanded=true]{border-color:var(--border-default);background:#fff}.rv-status-button:disabled{cursor:default;opacity:.6}.rv-status-menu{position:fixed;z-index:1000;width:250px;padding:6px;background:#fff;border:1px solid var(--border-default);border-radius:10px;box-shadow:var(--shadow-pop);display:flex;flex-direction:column;gap:2px}.rv-status-menu .rv-form{padding:6px}.rv-status-item{display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;border:0;border-radius:7px;background:transparent;font:inherit;font-size:13px;color:var(--ci-ink);text-align:left;cursor:pointer}.rv-status-item:hover:not(:disabled),.rv-status-item:focus-visible{background:var(--ci-50);outline:0}.rv-status-item:disabled{opacity:.45;cursor:default}.rv-status-dot{width:8px;height:8px;border-radius:50%;flex:none}.rv-status-dot--accept{background:#2e7d4f}.rv-status-dot--reject{background:var(--status-behind)}.rv-status-dot--reopen{background:#c58a2a}.rv-status-note{padding:4px 10px 6px;font-size:11.5px;color:var(--ci-text-muted);line-height:1.4}.rv-status-menu .rv-message{margin:4px}.rv-queue-line{display:flex;gap:8px;align-items:center;min-width:0}.rv-desk--boq{background:var(--surface-page)}.rv-desk--boq .rv-boq-frame{flex:1;min-height:0;overflow:auto}@media(max-width:1100px){.rv-desk-body{grid-template-columns:48px minmax(0,1fr) 330px 48px}}@media(max-width:760px){.rv-desk{height:auto;min-height:100vh}.rv-topbar{height:auto;flex-wrap:wrap;padding:8px 12px}.rv-topbar-title{flex:1 1 100%;order:2;flex-wrap:wrap}.rv-topbar-sheet{border-left:0;padding-left:0}.rv-desk-body,.rv-desk-body--closed{display:flex;flex-direction:column}.rv-rail{flex-direction:row;justify-content:center;padding:6px;border:0;border-bottom:1px solid var(--border-default)}.rv-desk-canvas{height:70vh}.rv-panel{border-left:0;border-top:1px solid var(--border-default);max-height:none}.rv-viewbar{left:8px;right:8px;transform:none;max-width:none}}.rv-panel-body>.rv-card{border:0;box-shadow:none;padding:0}.rv-panel-body>.rv-card+.rv-card,.rv-panel-body>.rv-card+.rv-footnote{padding-top:14px;border-top:1px solid var(--border-soft)}.rv-desk{background:#edf1f4}.rv-topbar{height:50px;gap:10px;padding-right:12px}.rv-topbar-back{width:32px;height:32px}.rv-topbar-title strong{max-width:200px;font-size:13px}.rv-topbar-sheet{gap:5px;padding-left:8px}.rv-topbar-sheet select{max-width:240px;font-size:12px}.rv-topbar-actions{gap:8px}.rv-topbar-progress{display:grid;grid-template-columns:auto auto;align-items:center;column-gap:8px;min-width:132px}.rv-topbar-progress-label{color:var(--ci-text-muted);font-size:10.5px;line-height:1.1}.rv-topbar-progress-count{color:var(--ci-ink);font-size:11px;font-weight:var(--weight-semibold);text-align:right}.rv-topbar-progress-count span{color:var(--ci-text-muted);font-weight:var(--weight-regular)}.rv-topbar-progress progress{grid-column:1 / -1;display:block;width:100%;height:4px;margin-top:4px;border:0;border-radius:99px;appearance:none;background:var(--ci-100);accent-color:var(--status-go);overflow:hidden}.rv-topbar-progress progress::-webkit-progress-bar{background:var(--ci-100);border-radius:99px}.rv-topbar-progress progress::-webkit-progress-value{background:var(--status-go);border-radius:99px}.rv-topbar-progress progress::-moz-progress-bar{background:var(--status-go);border-radius:99px}.rv-desk-body,.rv-desk-body--closed{grid-template-columns:minmax(0,1fr) 344px 46px}.rv-desk-canvas{background:#edf1f4}.rv-desk-canvas>.rv-canvas{background:#edf1f4}.rv-desk-tools{z-index:3;flex:none;min-height:42px;display:flex;align-items:center;gap:4px;padding:4px 12px;background:#fff;border-bottom:1px solid var(--border-default)}.rv-desk-canvas>.rv-desk-tools{margin:0}.rv-desk-tool{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:0 10px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--ci-600);font:inherit;font-size:11.5px;font-weight:var(--weight-medium);cursor:pointer}.rv-desk-tool:hover:not(:disabled){background:var(--ci-50);color:var(--ci-ink)}.rv-desk-tool[aria-pressed=true]{color:var(--ci-blue);background:#edf3f8;border-color:#d8e4ed}.rv-desk-tool:disabled{opacity:.42;cursor:default}.rv-desk-tool:focus-visible{outline:2px solid var(--ci-blue);outline-offset:1px}.rv-rail--panels{width:46px;border-left:1px solid var(--border-default)}.rv-rail--panels .rv-rail-button{width:34px;height:34px}.rv-panel{border-left-color:var(--border-default)}.rv-panel-head{height:46px}.rv-panel-body{padding:12px 14px 16px;gap:12px}.rv-desk-canvas .rv-stage{margin-top:14px}@media(max-width:1100px){.rv-desk-body,.rv-desk-body--closed{grid-template-columns:minmax(0,1fr) 320px 44px}}@media(max-width:760px){.rv-desk-body,.rv-desk-body--closed{display:flex;flex-direction:column}.rv-desk-canvas{height:68vh;min-height:400px}.rv-desk-tools{overflow-x:auto}.rv-desk-tool{flex:none;padding:0 8px}.rv-rail--panels{width:auto;border-left:0;border-top:1px solid var(--border-default)}.rv-panel{max-height:60vh}.rv-topbar-progress{min-width:116px}}@media(max-width:520px){.rv-topbar-progress{display:none}.rv-topbar-title strong{max-width:130px}.rv-topbar-sheet select{max-width:150px}.rv-desk-tool span{display:none}.rv-desk-tool{width:34px;padding:0}}.rv-desk--review-page{width:100%;align-self:stretch;height:100dvh;min-height:650px;box-sizing:border-box;padding:26px 30px 34px;gap:18px;background:var(--surface-page);overflow:hidden}.rv-desk--review-page>.rv-review-heading{height:auto;min-height:0;padding:0;border:0;background:transparent;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex:none}.rv-review-heading-copy{min-width:0}.rv-review-eyebrow{display:flex;align-items:center;gap:14px;color:var(--text-muted);font-size:11px;font-weight:var(--weight-bold);letter-spacing:.08em}.rv-review-eyebrow>span{text-transform:uppercase}.rv-review-eyebrow a{display:inline-flex;align-items:center;gap:4px;color:var(--ci-blue);font-size:12px;font-weight:var(--weight-medium);letter-spacing:0;text-decoration:none}.rv-review-heading h1{margin:4px 0;color:var(--ci-ink);font-size:26px;font-weight:var(--weight-bold)}.rv-review-heading-copy p{margin:0;color:var(--text-muted);font-size:14px}.rv-review-project{display:block;margin-top:6px;color:var(--ci-text-muted);font-size:12px}.rv-review-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;min-width:290px}.rv-review-progress{flex:1 1 210px;min-width:190px}.rv-review-progress>div{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px;font-size:12px;font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.rv-review-progress strong{color:var(--ci-ink)}.rv-review-progress small{color:var(--ci-text-muted);font-size:inherit;font-weight:var(--weight-regular)}.rv-review-progress progress{display:block;width:100%;height:6px;appearance:none;border:0;border-radius:3px;background:var(--ci-100);overflow:hidden}.rv-review-progress progress::-webkit-progress-bar{background:var(--ci-100);border-radius:3px}.rv-review-progress progress::-webkit-progress-value{background:var(--ci-blue);border-radius:3px}.rv-review-progress progress::-moz-progress-bar{background:var(--ci-blue);border-radius:3px}.rv-desk--review-page .rv-desk-body,.rv-desk--review-page .rv-desk-body--closed{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,2.2fr) minmax(320px,1fr);align-items:stretch;gap:16px;overflow:hidden}.rv-review-drawing-card{position:relative;top:auto;min-width:0;min-height:0;height:100%;display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid var(--border-default);border-radius:10px;box-shadow:var(--shadow-soft)}.rv-review-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;padding:8px 16px;border-bottom:1px solid var(--border-soft)}.rv-review-sheet-name{display:flex;align-items:center;gap:10px;min-width:0;font-size:13px}.rv-review-sheet-name strong{flex:none;font-weight:var(--weight-bold)}.rv-review-sheet-name>span:not(.rv-topbar-scale){min-width:0;color:var(--ci-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rv-review-sheet-select{display:flex;align-items:center;gap:7px;flex:none;color:var(--ci-text-muted);font-size:11px;font-weight:var(--weight-semibold)}.rv-review-sheet-select select{max-width:280px;min-width:110px;padding:6px 28px 6px 9px;border:1px solid var(--border-default);border-radius:7px;background:#fff;color:var(--ci-ink);font:inherit;font-size:12px}.rv-review-drawing-card .rv-desk-canvas{flex:1;height:auto;min-height:320px;background:var(--surface-row-alt)}.rv-review-drawing-card .rv-desk-canvas>.rv-canvas{position:relative;display:flex;flex:1;flex-direction:column;min-height:0;border:0;border-radius:0;background:var(--surface-row-alt)}.rv-review-drawing-card .rv-scroll{position:relative;inset:auto;flex:1;min-height:0}.rv-review-drawing-card .rv-stage{margin:14px auto 20px}.rv-review-drawing-card .rv-viewbar{position:relative;inset:auto;transform:none;flex:none;align-self:center;max-width:calc(100% - 20px);margin:8px 10px 10px;box-shadow:none;border-radius:8px}.rv-review-drawing-card .rv-type-legend{bottom:66px}.rv-review-drawing-card .rv-desk-canvas>:not(.rv-canvas){margin:8px 12px 0}.rv-review-drawing-card .rv-desk-canvas>.rv-canvas+.rv-toast{margin:0}.rv-review-thumbnails{display:flex;gap:8px;padding:11px 14px 12px;overflow-x:auto;border-top:1px solid var(--border-soft);background:var(--surface-page)}.rv-review-thumb{flex:0 0 92px;min-width:0;padding:0;border:0;background:transparent;color:var(--ci-text-muted);cursor:pointer;font:inherit;font-size:11px;font-variant-numeric:tabular-nums}.rv-review-thumb>span:last-child{display:block;margin-top:5px;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.rv-review-thumb-page{position:relative;display:block;height:62px;border:2px solid var(--border-default);border-radius:6px;background:#fff;transition:border-color .12s,box-shadow .12s}.rv-review-thumb-page:before{position:absolute;inset:5px;border:1px solid var(--border-soft);content:""}.rv-review-thumb-page img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;border-radius:4px}.rv-review-thumb-page i{position:absolute;left:13px;right:13px;height:2px;background:var(--ci-200);transform:rotate(-14deg)}.rv-review-thumb-page i:nth-child(1){top:22px}.rv-review-thumb-page i:nth-child(2){top:32px;left:17px;right:19px}.rv-review-thumb-page i:nth-child(3){top:42px;left:20px;right:24px}.rv-review-thumb[aria-current=page]{color:var(--ci-blue);font-weight:var(--weight-bold)}.rv-review-thumb[aria-current=page] .rv-review-thumb-page{border-color:var(--ci-blue);box-shadow:0 0 0 2px #2b4c6e1f}.rv-review-thumb:disabled{opacity:.55;cursor:default}.rv-review-tool-footer{display:flex;flex-direction:column;gap:6px;padding:11px 14px 13px;border-top:1px solid var(--border-soft)}.rv-review-footer-label{color:var(--text-muted);font-size:10px;font-weight:var(--weight-bold);letter-spacing:.06em}.rv-review-tool-footer .rv-desk-tools{min-height:0;flex-wrap:wrap;margin:0;padding:3px;border:0;border-radius:8px;background:var(--surface-page)}.rv-review-tool-footer .rv-desk-tool{min-height:36px;padding:0 12px;border-radius:7px;font-size:12px}.rv-desk--review-page .rv-panel{min-width:0;min-height:0;height:100%;gap:12px;overflow:hidden;background:transparent;border:0}.rv-desk--review-page .rv-panel-head{display:none}.rv-desk--review-page .rv-panel-body{min-height:0;overflow-y:auto;padding:0;gap:12px}.rv-desk--review-page .rv-panel-body>.rv-card{padding:20px 22px;border:1px solid var(--ci-blue);border-radius:10px;box-shadow:none;background:#fff}.rv-desk--review-page .rv-panel-body>.rv-queue{padding:14px 16px;border:1px solid var(--border-default);border-radius:10px;background:#fff}.rv-desk--review-page .rv-panel-body>.rv-queue>.rv-queue-item{border-color:var(--border-default)}.rv-desk--review-page .rv-rail--panels,.rv-desk--review-page .rv-review-eyebrow a,.rv-desk--review-page .rv-review-project{display:none}.rv-desk--review-page .rv-panel-body .rv-footnote{padding-top:10px;border-top:1px solid var(--border-soft)}@media(max-width:1050px){.rv-desk--review-page{padding:22px 20px 28px}.rv-desk--review-page .rv-desk-body,.rv-desk--review-page .rv-desk-body--closed{grid-template-columns:minmax(0,1fr) minmax(300px,360px)}.rv-review-heading-actions{min-width:250px;gap:9px}}@media(max-width:760px){.rv-desk--review-page{height:auto;min-height:100vh;padding:18px 14px 24px;overflow:visible}.rv-desk--review-page .rv-desk-body,.rv-desk--review-page .rv-review-drawing-card,.rv-desk--review-page .rv-panel{width:100%;max-width:100%}.rv-desk--review-page .rv-desk-body{align-items:stretch}.rv-review-heading{align-items:flex-start;flex-direction:column}.rv-review-heading-actions{width:100%;justify-content:flex-start}.rv-desk--review-page .rv-desk-body,.rv-desk--review-page .rv-desk-body--closed{display:flex;flex:none;flex-direction:column;overflow:visible}.rv-review-drawing-card{position:relative;top:auto;width:100%}.rv-desk--review-page .rv-panel{width:100%;height:auto;overflow:visible}.rv-desk--review-page .rv-panel-body{overflow:visible}.rv-desk--review-page .rv-desk-canvas{height:52vh;min-height:320px}}@media(max-width:520px){.rv-review-heading-actions{min-width:0;flex-wrap:wrap}.rv-review-progress{flex-basis:100%}.rv-review-sheet-head{align-items:flex-start;flex-direction:column}.rv-review-sheet-select{width:100%}.rv-review-sheet-select select{flex:1;max-width:none}.rv-review-sheet-name{width:100%}}.rv-desk--review-page .rv-review-decision{gap:12px;padding:18px 20px;border-color:var(--border-default)}.rv-review-decision-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.rv-review-confidence{display:inline-flex;align-items:center;min-height:23px;padding:3px 9px;border-radius:999px;background:#e8f0fb;color:#31577f;font-size:11px;font-weight:var(--weight-semibold)}.rv-review-confidence--best{background:#fff2d8;color:#805a17}.rv-review-item-id{color:var(--text-muted);font-size:11px}.rv-review-item-name{color:var(--ci-ink);font-size:16px;font-weight:var(--weight-semibold);line-height:1.35}.rv-review-quantity{display:flex;align-items:baseline;gap:7px;color:var(--ci-ink);font-variant-numeric:tabular-nums}.rv-review-quantity strong{font-size:27px;line-height:1.15;font-weight:var(--weight-bold)}.rv-review-quantity>span{color:var(--text-muted);font-size:13px}.rv-review-reason{padding:10px 12px;border-left:3px solid #d5a13d;border-radius:0 6px 6px 0;background:#fff8e9;color:#5d513b;font-size:12px;line-height:1.45}.rv-review-decision-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.rv-review-decision-actions>:last-child{grid-column:1 / -1}.rv-review-decision-actions button{min-height:38px}.rv-review-parts{padding-top:10px;border-top:1px solid var(--border-soft);color:var(--ci-text-muted);font-size:12px}.rv-review-parts summary{cursor:pointer}.rv-review-validate-link{align-self:flex-start;padding:0;border:0;background:transparent;color:var(--ci-blue);cursor:pointer;font:inherit;font-size:12px}.rv-review-queue-card{display:flex;flex-direction:column;gap:12px;padding:13px 14px;border:1px solid var(--border-default);border-radius:9px;background:#fff}.rv-review-queue-group{display:flex;flex-direction:column;gap:3px}.rv-review-queue-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:1px 2px 6px;color:var(--text-muted);font-size:10px;font-weight:var(--weight-bold);letter-spacing:.07em}.rv-review-queue-heading button{padding:2px 0;border:0;background:transparent;color:var(--ci-blue);cursor:pointer;font:inherit;font-size:11px;font-weight:var(--weight-semibold);letter-spacing:0}.rv-review-queue-heading button:disabled{opacity:.55;cursor:default}.rv-queue-item.rv-reference-queue-item{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:7px 8px;border:1px solid transparent;border-radius:7px;background:#fff;color:var(--ci-ink);text-align:left;cursor:pointer}.rv-queue-item.rv-reference-queue-item:hover{background:var(--surface-page)}.rv-queue-item.rv-reference-queue-item[aria-current=true]{border-color:#c7d5e6;background:#edf3fa}.rv-review-queue-dot{display:inline-flex;flex:0 0 18px;align-items:center;justify-content:center;width:18px;height:18px;border:2px solid #d4a64b;border-radius:50%;color:#fff;font-size:10px}.rv-review-queue-dot--done{border-color:#3b8e66;background:#3b8e66}.rv-review-queue-copy{display:flex;min-width:0;flex-direction:column;gap:3px}.rv-review-queue-name{overflow:hidden;color:var(--ci-ink);font-size:12px;font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap}.rv-review-queue-meta{overflow:hidden;color:var(--text-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.rv-review-queue-empty{min-height:72px;border:1px dashed var(--border-default);border-radius:7px}.rv-review-queue-more{display:flex;justify-content:center;padding-top:6px}.rv-name-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 2px 0}.rv-name-toggle{display:flex;align-items:center;gap:6px;min-width:0;padding:2px 0;border:0;background:transparent;color:var(--ci-ink);cursor:pointer;font:inherit;font-size:12px;font-weight:var(--weight-semibold);text-align:left}.rv-name-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rv-name-head>button:not(.rv-name-toggle){flex:none;padding:2px 0;border:0;background:transparent;color:var(--ci-blue);cursor:pointer;font:inherit;font-size:11px;font-weight:var(--weight-semibold)}.rv-name-head>button:disabled{opacity:.55;cursor:default}.rv-name-sum{display:flex;justify-content:space-between;gap:10px;padding:0 2px 4px 21px;font-size:11px}.rv-name-item{margin-left:14px}.rv-review-note{margin-top:4px;font-size:11px}.p28v-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.p28v-stat{background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;padding:16px 18px;display:flex;flex-direction:column;gap:10px;min-width:0;min-height:112px}.p28v-stat--brand{background:var(--ci-blue);border-color:var(--ci-blue);color:#fff}.p28v-stat-label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.p28v-stat--brand .p28v-stat-label{color:#ffffffb3}.p28v-stat-value{font:500 30px/1 var(--ci-font-mono);font-variant-numeric:tabular-nums;color:var(--ci-800)}.p28v-stat--brand .p28v-stat-value{color:#fff}.p28v-stat-of{font:500 16px var(--ci-font-mono);color:var(--ci-text-muted)}.p28v-stat-foot{margin-top:auto;font-size:12px;color:var(--ci-text-muted)}.p28v-stat--brand .p28v-stat-foot{color:#ffffffb8}.p28v-types{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap}.p28v-type{display:flex;align-items:baseline;gap:6px}.p28v-type span:last-child{font-size:12px;color:var(--ci-text-muted)}.p28v-bar{display:flex;gap:2px;height:6px;border-radius:999px;overflow:hidden;background:var(--surface-row-alt)}.p28v-progress{height:6px;border-radius:999px;background:var(--status-behind-soft);overflow:hidden}.p28v-progress>div{height:100%;background:var(--status-go);border-radius:999px}.p28v-behind{color:var(--status-behind);font-weight:600}.p28v-go{color:var(--status-go)}.p28v-skeleton{background:color-mix(in srgb,var(--ci-grey) 25%,#fff);border-radius:6px;min-height:10px}.p28v-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}.p28v-side{display:flex;flex-direction:column;gap:14px;min-width:0}.p28v-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;padding:16px 18px;display:flex;flex-direction:column;gap:10px;min-width:0}.p28v-card>.p28-btn,.p28v-ink>.p28-btn{align-self:flex-start}.p28v-card-title{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.p28v-card-heading{font-size:15px;font-weight:700}.p28v-muted{font-size:12.5px;color:var(--ci-text-muted);line-height:1.45}.p28v-table-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;overflow:hidden;min-width:0}.p28v-table-scroll{overflow-x:auto}.p28v-table{width:100%;border-collapse:collapse;font-size:13px}.p28v-table th{text-align:left;padding:9px 10px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);background:var(--surface-row-alt);white-space:nowrap}.p28v-table th:first-child,.p28v-table td:first-child{padding-left:16px}.p28v-table th:last-child,.p28v-table td:last-child{padding-right:16px}.p28v-table td{padding:10px;border-top:1px solid var(--border-soft);vertical-align:middle}.p28v-table tr.is-attention td{background:color-mix(in srgb,var(--status-behind) 4%,#fff)}.p28v-table tr.is-excluded td{color:var(--ci-text-muted)}.p28v-table tr.is-selected td{background:var(--ci-50)}.p28v-table tr.is-clickable{cursor:pointer}.p28v-table .p28v-group-heading td{padding:11px 16px;background:var(--surface-row-alt);color:var(--ci-ink)}.p28v-group-heading strong{display:block;font-size:12px}.p28v-group-heading span{display:block;margin-top:2px;color:var(--ci-text-muted);font-size:11px;font-weight:400}.p28v-scope-band{display:flex;flex-direction:column;gap:12px;padding:14px 16px;border:1px solid var(--border-default);border-radius:10px;background:#fff}.p28v-scope-band-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.p28v-scope-band-head>div{display:flex;flex-direction:column;gap:2px}.p28v-scope-band-head span{color:var(--ci-text-muted);font-size:12px}.p28v-scope-band-items{display:flex;flex-wrap:wrap;gap:7px}.p28v-scope-band-items>span{display:inline-grid;grid-template-columns:7px auto;align-items:center;column-gap:7px;padding:6px 9px;border:1px solid var(--border-soft);border-radius:8px;font-size:12px}.p28v-scope-band-items i{width:7px;height:7px;border-radius:50%;background:var(--ci-text-muted)}.p28v-scope-band-items .is-included i{background:var(--status-ahead)}.p28v-scope-band-items small{grid-column:2;color:var(--ci-text-muted);font-size:10.5px}.p28v-code{font-family:var(--ci-font-mono);font-weight:600;color:var(--ci-700);white-space:nowrap}.p28v-code--cat{font-weight:400;font-size:12px;color:var(--ci-400)}.p28v-title{font-weight:500}.p28v-pill{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--ci-50);color:var(--ci-700);white-space:nowrap}.p28v-scale-ok{display:inline-flex;align-items:center;gap:5px;font-family:var(--ci-font-mono);font-size:12.5px;color:var(--ci-ink)}.p28v-scale-ok svg{color:var(--status-go)}.p28v-scale-bad{font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--status-behind-soft);color:var(--status-behind);font-family:var(--ci-font-mono);white-space:nowrap;border:0;cursor:pointer}.p28v-scale-bad:disabled{cursor:default}.p28v-scale-na{font-size:12px;color:var(--ci-text-muted)}.p28v-check{flex:none;width:18px;height:18px;border-radius:5px;display:grid;place-items:center;border:1.5px solid var(--ci-grey);background:#fff;color:#fff;padding:0;cursor:pointer}.p28v-check.is-on{background:var(--ci-blue);border-color:var(--ci-blue)}.p28v-check.is-undecided{background:var(--ci-50);border-color:var(--ci-300);color:var(--ci-700)}.p28v-check--sm{width:16px;height:16px;border-radius:4px}.p28v-check:disabled{cursor:default;opacity:.7}.p28v-scope-row{display:flex;align-items:flex-start;gap:10px;padding:5px 0;font-size:13px}.p28v-scope-row .p28v-check{margin-top:1px}.p28v-scope-label{flex:1;min-width:0;font-weight:500}.p28v-scope-src{font-size:12px;color:var(--ci-text-muted);font-family:var(--ci-font-mono);text-align:right;max-width:150px;overflow-wrap:anywhere}.p28v-question{display:flex;gap:6px;font-weight:400;font-size:12px;color:var(--status-watch-text);margin-top:1px;line-height:1.4;min-width:0}.p28v-question>span{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0}.p28v-scope-note{font-size:12px;line-height:1.45;color:var(--status-watch-text);background:var(--status-watch-soft);border-radius:6px;padding:6px 9px;margin-bottom:6px}.p28v-linkish{border:0;background:none;padding:0;font:inherit;color:var(--ci-blue);text-decoration:underline;cursor:pointer;flex:none}.p28v-chain{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;flex-wrap:wrap}.p28v-chip{padding:4px 9px;border-radius:6px;border:0;font:inherit;font-size:12.5px;font-weight:600}.p28v-chip--0{background:var(--ci-700);color:#fff}.p28v-chip--1{background:var(--ci-500);color:#fff}.p28v-chip--2{background:var(--ci-200);color:var(--ci-800)}.p28v-chip--3{background:var(--ci-50);color:var(--ci-700)}button.p28v-chip{cursor:pointer}.p28v-banner{background:var(--status-watch-soft);border:1px solid color-mix(in srgb,var(--status-watch) 45%,#fff);border-radius:10px;padding:14px 16px;display:flex;align-items:center;gap:12px}.p28v-banner>div{flex:1;font-size:13px;line-height:1.45;color:var(--status-watch-text)}.p28v-banner--ok{background:var(--status-go-soft);border-color:color-mix(in srgb,var(--status-go) 35%,#fff)}.p28v-banner--ok>div{color:var(--status-go)}.p28v-cost{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;background:#fff;border:1px solid var(--border-default);border-radius:10px}.p28v-cost-label{font-size:12.5px;color:var(--ci-text-muted)}.p28v-cost-value{font-size:12.5px}.p28v-cost-value b{font:600 14px var(--ci-font-mono);color:var(--ci-blue)}.p28v-buttons{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.p28v-buttons>.p28-btn{white-space:nowrap}.p28v-overview{background:#fff;border:1px solid var(--border-default);border-radius:10px;padding:18px 20px;display:flex;flex-direction:column;gap:12px}.p28v-overview-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}.p28v-overview-head>div:first-child{font-size:16px;font-weight:700}.p28v-mono{font-family:var(--ci-font-mono);font-variant-numeric:tabular-nums}.p28v-stack{display:flex;height:30px;border-radius:8px;overflow:hidden;gap:2px;font:600 12.5px var(--ci-font-mono);background:var(--surface-row-alt)}.p28v-stack>div{display:flex;align-items:center;padding-left:10px;min-width:0;overflow:hidden}.p28v-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 16px;font-size:12.5px}.p28v-legend>div{display:flex;gap:8px;align-items:baseline}.p28v-swatch{width:10px;height:10px;border-radius:3px;flex:none}.p28v-d-measured{background:var(--ci-700);color:#fff}.p28v-d-inferred{background:var(--ci-400);color:#fff}.p28v-d-assumed{background:var(--ci-200);color:var(--ci-800)}.p28v-d-allowance{background:color-mix(in srgb,var(--ci-grey) 45%,#fff);color:var(--ci-ink)}.p28v-d-question{background:var(--status-watch-soft);color:var(--status-watch-text)}.p28v-d-excluded{background:var(--surface-row-alt);color:var(--ci-text-muted);box-shadow:inset 0 0 0 1px var(--border-default)}.p28v-d-undisposed{background:#fff;color:var(--status-behind);box-shadow:inset 0 0 0 1.5px var(--status-behind)}.p28v-method{font-size:11.5px;font-weight:600;padding:2px 9px;border-radius:999px;white-space:nowrap}.p28v-editor td{background:var(--ci-50)}.p28v-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;padding:4px 0}.p28v-form--one{grid-template-columns:minmax(0,1fr)}.p28v-field{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--text-muted);min-width:0}.p28v-field--wide{grid-column:1 / -1}.p28v-field input,.p28v-field select,.p28v-field textarea,.p28v-input{font:inherit;font-size:13px;font-weight:400;color:var(--ci-ink);background:#fff;border:1px solid var(--border-default);border-radius:var(--radius-field-sm, 6px);padding:7px 9px;min-width:0}.p28v-field textarea{min-height:56px;resize:vertical}.p28v-radios{display:flex;flex-wrap:wrap;gap:6px}.p28v-radio{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;border:1px solid var(--border-default);background:#fff;font-size:12.5px;font-weight:600;cursor:pointer;color:var(--ci-ink)}.p28v-radio.is-on{border-color:var(--ci-blue);background:var(--ci-50);color:var(--ci-blue)}.p28v-suggestion{border:1px solid var(--border-soft);border-radius:8px;padding:9px 12px;display:flex;flex-direction:column;gap:5px}.p28v-suggestion-title{font-size:13px;font-weight:600}.p28v-suggestion-raise{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ci-text-muted);flex-wrap:wrap}.p28v-ink{background:var(--ci-ink);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:8px;color:#ffffffe0}.p28v-ink .p28v-card-title{color:#ffffff8c}.p28v-ink pre{margin:0;font:12px/1.7 var(--ci-font-mono);white-space:pre-wrap;overflow-wrap:anywhere}.p28v-ink .p28v-muted{color:#fff9}.p28v-ink button{align-self:flex-start}.p28v-list{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.p28v-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12.5px}.p28v-empty{padding:28px 24px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.p28v-empty h2{font-size:15px;font-weight:700}.p28v-picker{max-height:260px;overflow:auto;border:1px solid var(--border-soft);border-radius:8px}.p28v-picker label{display:flex;gap:8px;align-items:center;padding:6px 10px;font-size:12.5px;border-top:1px solid var(--border-soft);cursor:pointer}.p28v-picker label:first-child{border-top:0}.p28v-dialog{border:0;border-radius:16px;box-shadow:var(--shadow-auth);padding:0;width:min(1080px,calc(100vw - 48px));max-height:calc(100vh - 48px)}.p28v-dialog--sm{width:min(560px,calc(100vw - 48px))}.p28v-dialog::backdrop{background:var(--scrim)}.p28v-dialog-body{padding:22px 26px;display:flex;flex-direction:column;gap:14px}.p28v-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.p28v-dialog-head h2{font-size:18px;font-weight:700}.p28v-calibrate{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;min-height:0}.p28v-page{position:relative;border:1px solid var(--border-default);border-radius:8px;overflow:auto;max-height:64vh;background:var(--surface-row-alt);cursor:crosshair}.p28v-page img{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none}.p28v-page svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.p28v-check-row{display:grid;grid-template-columns:1fr auto;gap:6px;border:1px solid var(--border-soft);border-radius:8px;padding:8px 10px;font-size:12.5px}.p28v-check-row.is-pass{border-color:color-mix(in srgb,var(--status-go) 40%,#fff)}.p28v-check-row.is-fail{border-color:color-mix(in srgb,var(--status-behind) 40%,#fff)}.p28v-sheet-content>.p28-page-header h1{font-size:26px}.p28v-sheet-content>.p28-page-header .p28-actions{align-self:flex-end}.p28v-scope-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:16px;align-items:start}.p28v-scope-main{min-width:0;display:flex;flex-direction:column;gap:22px}.p28v-scope-section{min-width:0}.p28v-scope-section-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.p28v-scope-section-head h2{font-size:15px;font-weight:700}.p28v-scope-section-head p{margin-top:2px;color:var(--ci-text-muted);font-size:12px}.p28v-scope-section-head>span{color:var(--ci-blue);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.p28v-discipline-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(max(170px,calc((100% - 36px)/4)),1fr));gap:12px}.p28v-discipline-card{position:relative;min-height:168px;padding:20px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:16px;border:1px solid var(--border-default);border-radius:12px;background:#fff;color:var(--ci-ink);text-align:left;font:inherit;cursor:pointer;transition:border-color .12s,background .12s,transform .18s}.p28v-discipline-card:hover:not(:disabled){transform:translateY(-2px);border-color:var(--ci-blue)}.p28v-discipline-card.is-included{border-color:var(--ci-blue);background:#fff}.p28v-discipline-card.is-skipped{border-style:dashed;color:var(--ci-text-muted)}.p28v-discipline-card:disabled{cursor:default}.p28v-discipline-mark{position:absolute;top:16px;right:16px;width:22px;height:22px;display:grid;place-items:center;border:1.5px solid var(--border-strong);border-radius:50%;color:#fff}.p28v-discipline-card.is-included .p28v-discipline-mark{border-color:var(--ci-blue);background:var(--ci-blue)}.p28v-discipline-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:14px;background:var(--ci-50);color:var(--ci-blue)}.p28v-discipline-icon img{width:58px;height:58px;object-fit:contain}.p28v-discipline-card.is-skipped .p28v-discipline-icon{background:var(--surface-page);color:var(--ci-grey)}.p28v-discipline-card.is-skipped .p28v-discipline-icon img{filter:grayscale(1);opacity:.45}.p28v-discipline-copy{width:100%;display:flex;flex-direction:column;gap:3px}.p28v-discipline-copy strong{font-size:15px;font-weight:600}.p28v-discipline-copy>span{overflow:hidden;color:var(--ci-text-muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.p28v-discipline-copy .p28v-discipline-groups{color:var(--ci-secondary);font-family:var(--ci-font-mono)}.p28v-missing-card{min-width:0;padding:18px;display:flex;flex-direction:column;gap:14px;border:1px solid var(--border-default);border-top:3px solid var(--ci-grey);border-radius:12px;background:#fff}.p28v-missing-card.is-pending{border-top-color:var(--status-watch)}.p28v-missing-title{display:flex;align-items:center;gap:10px}.p28v-missing-icon{width:52px;height:52px;flex:0 0 auto;display:grid;place-items:center;border-radius:12px;background:var(--status-watch-soft);color:var(--status-watch-text)}.p28v-missing-icon img{width:48px;height:48px;object-fit:contain}.p28v-missing-title>span:last-child{min-width:0;display:flex;flex-direction:column;gap:3px}.p28v-missing-title strong{font-size:14px;font-weight:600}.p28v-missing-title small{color:var(--ci-text-muted);font-size:11px;font-weight:600}.p28v-missing-title small.is-pending,.p28v-missing-title small.is-rfi{color:var(--status-watch-text)}.p28v-missing-question{margin:0;color:var(--ci-text-muted);font-size:11px;line-height:1.4}.p28v-missing-actions{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:3px;border-radius:8px;background:var(--surface-page)}.p28v-missing-actions button{min-height:31px;padding:5px 6px;border:0;border-radius:6px;background:transparent;color:var(--ci-text-muted);font:600 11px var(--ci-font-sans);cursor:pointer}.p28v-missing-actions button.is-selected{background:#fff;color:var(--ci-blue);box-shadow:0 1px 3px #2b4c6e21}.p28v-missing-actions button:disabled{cursor:default}.p28v-scope-summary{position:sticky;top:1.75rem;max-width:360px;overflow:hidden;border:1px solid var(--border-default);border-radius:10px;background:#fff;display:flex;flex-direction:column}.p28v-scope-summary-head{padding:20px 24px;display:flex;flex-direction:column;gap:14px;background:var(--ci-blue);color:#fff}.p28v-eyebrow{color:#ffffffb8;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.p28v-scope-count{display:flex;align-items:baseline;gap:8px}.p28v-scope-count strong{font-size:40px;line-height:1;font-variant-numeric:tabular-nums}.p28v-scope-count span{color:#ffffffc7;font-size:13px}.p28v-scope-segments{display:flex;gap:3px}.p28v-scope-segments span{min-width:4px;height:10px;flex:1;border-radius:2px}.p28v-scope-segments .is-measuring{background:#fff}.p28v-scope-segments .is-rfi{background:var(--status-watch)}.p28v-scope-segments .is-skipped{background:#ffffff59}.p28v-scope-segments .is-open{box-shadow:inset 0 0 0 1.5px #ffffffb8}.p28v-scope-legend{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;color:#ffffffde;font-size:12px;font-variant-numeric:tabular-nums}.p28v-scope-legend>span{display:flex;align-items:center;gap:6px}.p28v-scope-legend i{width:8px;height:8px;border-radius:2px;flex:none}.p28v-scope-legend i.is-measuring{background:#fff}.p28v-scope-legend i.is-rfi{background:var(--status-watch)}.p28v-scope-legend i.is-skipped{background:#ffffff59}.p28v-scope-legend i.is-open{box-shadow:inset 0 0 0 1.5px #ffffffb8}.p28v-scope-summary-body{padding:18px 24px;display:flex;flex-direction:column;gap:16px}.p28v-scope-summary-body h3{margin:0 0 8px;color:var(--ci-text-muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.p28v-scope-icons{display:flex;flex-wrap:wrap;gap:6px}.p28v-scope-icons>span{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;background:var(--ci-50);color:var(--ci-blue)}.p28v-scope-icons img{width:32px;height:32px;object-fit:contain}.p28v-scope-summary li img{width:20px;height:20px;object-fit:contain}.p28v-scope-summary-body ul{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}.p28v-scope-summary-body li{display:flex;align-items:center;gap:8px;font-size:13px}.p28v-scope-summary-body li>svg{width:24px;height:24px;padding:3px;border-radius:6px;background:var(--status-watch-soft);color:var(--status-watch-text)}.p28v-scope-footer-note{margin-top:-8px;color:var(--ci-text-muted);font-size:12px;text-align:center}.p28v-scan-status{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--surface-page);border-radius:8px}.p28v-scan-status>div{flex:1;min-width:0}.p28v-scan-status>div>div{display:flex;justify-content:space-between;gap:12px;font-size:12px;font-variant-numeric:tabular-nums}.p28v-scan-status>div>div span{color:var(--ci-text-muted)}.p28v-scan-icon{width:28px;height:28px;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--ci-100);color:var(--ci-blue)}.p28v-scan-track,.p28v-reading-track{display:block;height:4px;margin-top:6px;overflow:hidden;border-radius:3px;background:var(--ci-100)}.p28v-scan-track i,.p28v-reading-track i{display:block;height:100%;border-radius:inherit;background:var(--ci-blue);transition:width .25s ease-out}.p28v-sheet-workspace{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);gap:16px;align-items:start}.p28v-reading-card{padding:16px 24px;display:flex;flex-direction:column;gap:10px;border-radius:10px;color:#fff;background:var(--ci-blue)}.p28v-reading-card>div{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px}.p28v-reading-card strong{display:inline-flex;align-items:center;gap:8px;font-size:14px}.p28v-reading-card>div span{color:#ffffffc7;font-size:13px;font-variant-numeric:tabular-nums}.p28v-reading-card small{color:#ffffffb8;font-size:12px}.p28v-reading-card small b{color:#fff}.p28v-reading-spinner{width:13px;height:13px;border:2px solid rgb(255 255 255 / 35%);border-top-color:#fff;border-radius:50%;animation:p28v-spin .8s linear infinite}@keyframes p28v-spin{to{transform:rotate(360deg)}}.p28v-reading-track{height:6px;margin:0;background:#ffffff2e}.p28v-reading-track i{background:#fff}.p28v-undecided-banner{align-items:flex-start}.p28v-undecided-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.p28v-undecided-list button{max-width:240px;padding:5px 8px;display:inline-flex;align-items:baseline;gap:6px;border:1px solid color-mix(in srgb,var(--status-watch) 38%,#fff);border-radius:6px;background:#ffffff9e;color:var(--status-watch-text);cursor:pointer}.p28v-undecided-list button:hover,.p28v-undecided-list button:focus-visible{border-color:var(--ci-blue);background:#fff;outline:none}.p28v-undecided-list strong{flex:none;font:700 11px var(--ci-font-mono)}.p28v-undecided-list span{overflow:hidden;text-overflow:ellipsis;font-size:11px;white-space:nowrap}.p28v-sheets-footer{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;color:var(--ci-text-muted);font-size:13px;font-variant-numeric:tabular-nums}@media(max-width:1180px){.p28v-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.p28v-layout,.p28v-calibrate,.p28v-scope-layout,.p28v-sheet-workspace{grid-template-columns:minmax(0,1fr)}.p28v-scope-summary{position:static}.p28v-legend{grid-template-columns:repeat(2,minmax(0,1fr))}}.p28v-scale-cell{display:inline-flex;flex-direction:column;gap:4px;min-width:150px}.p28v-scale-edit{display:inline-flex;align-items:center;gap:6px}.p28v-scale-input{width:112px;font-family:var(--ci-font-mono);font-size:12.5px;padding:4px 7px}.p28v-scale-meta{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px}.p28v-scale-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px;white-space:nowrap;background:var(--surface-row-alt);color:var(--ci-text-muted)}.p28v-scale-chip--automatic,.p28v-scale-chip--validated{background:var(--status-go-soft);color:var(--status-go)}.p28v-scale-chip--stated{background:var(--ci-50);color:var(--ci-700)}.p28v-scale-chip--needs_scale,.p28v-scale-chip--failed{background:var(--status-behind-soft);color:var(--status-behind)}.p28v-scale-chip--conflict{background:var(--status-watch-soft);color:var(--status-watch-text);box-shadow:inset 0 0 0 1px var(--status-watch)}.p28v-scale-chip--nts{background:var(--surface-row-alt);color:var(--ci-ink)}.p28v-advanced{font-size:11.5px;color:var(--ci-text-muted)}.p28v-select{width:16px;height:16px;accent-color:var(--ci-blue);cursor:pointer}.p28v-scalebar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 16px;border-bottom:1px solid var(--border-soft);background:var(--surface-row-alt)}.p28v-scalebar-label{font-size:12.5px;font-weight:700;color:var(--ci-ink)}.p28v-scalebar-hint{flex-basis:100%;font-size:11.5px}.p28v-banner--scale{flex-wrap:wrap}.p28v-sheet-content{display:flex;flex-direction:column;gap:16px}.p28v-tabs{align-self:flex-start;display:flex;gap:4px;padding:3px;border:1px solid var(--border-default);border-radius:9px;background:#fff}.p28v-tabs button{display:flex;align-items:center;gap:8px;padding:7px 14px;border:0;border-radius:6px;background:transparent;color:var(--ci-ink);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.p28v-tabs button.is-active{color:#fff;background:var(--ci-blue)}.p28v-tabs button span{width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:var(--ci-50);color:var(--ci-blue);font:700 10px var(--ci-font-mono)}.p28v-tabs button.is-active span{background:#fff}.p28v-piles{display:flex;flex-direction:column;gap:12px}.p28v-pile{padding:17px 20px;border:1px solid var(--border-default);border-top-width:3px;border-radius:10px;background:#fff}.p28v-pile--watch{border-top-color:var(--status-watch)}.p28v-pile--go{border-top-color:var(--status-go)}.p28v-pile--quiet{border-top-color:var(--ci-grey)}.p28v-pile-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.p28v-pile-head h2{font-size:15px}.p28v-pile-head h2 span{color:var(--ci-text-muted);font-weight:500;font-variant-numeric:tabular-nums}.p28v-pile-head p,.p28v-pile-empty{margin-top:2px;color:var(--ci-text-muted);font-size:12px}.p28v-pile-bulk{display:flex;align-items:center;gap:8px;font-size:12.5px}.p28v-pile-bulk input{width:92px;height:32px;padding:0 9px;border:1px solid var(--border-default);border-radius:6px;font:12.5px var(--ci-font-mono)}.p28v-sheet-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:7px}.p28v-sheet-tile{min-width:0;padding:8px 5px;display:flex;flex-direction:column;align-items:center;gap:3px;border:1px solid var(--border-default);border-radius:7px;background:var(--surface-row-alt);color:var(--ci-ink);font:inherit;cursor:pointer;transition:border-color var(--duration-fast) ease,background var(--duration-fast) ease}.p28v-sheet-tile:hover,.p28v-sheet-tile.is-selected{border-color:var(--ci-blue);background:var(--ci-50)}.p28v-sheet-tile.is-selected{outline:2px solid var(--ci-200);outline-offset:1px}.p28v-sheet-tile strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;font:600 11px var(--ci-font-mono);white-space:nowrap}.p28v-sheet-tile span{max-width:100%;overflow:hidden;text-overflow:ellipsis;color:var(--ci-text-muted);font:500 10px var(--ci-font-mono);white-space:nowrap}.p28v-pile-action{margin-top:10px}.p28v-sheet-preview{position:sticky;top:20px}.p28v-sheet-preview-head{display:flex;justify-content:space-between;gap:10px}.p28v-sheet-preview-canvas{aspect-ratio:1.414;display:grid;place-items:center;overflow:hidden;border:1px solid var(--border-default);border-radius:7px;background:var(--surface-row-alt);color:var(--ci-text-muted);font-size:12px;text-align:center}.p28v-sheet-preview-canvas>*{grid-area:1 / 1}.p28v-sheet-preview-canvas>img{width:100%;height:100%;object-fit:contain;background:#fff;opacity:0;transition:opacity .12s ease-out}.p28v-sheet-preview-canvas>img.is-loaded{opacity:1}.p28v-sheet-preview-loading{z-index:1;display:grid;place-items:center;gap:5px}.p28v-sheet-preview-canvas .p28v-sheet-preview-loading>span{width:24px;height:24px;border:3px solid var(--ci-100);border-top-color:var(--ci-blue);border-radius:50%;animation:p28v-spin .8s linear infinite}.p28v-sheet-preview-loading strong{color:var(--ci-ink);font-size:12px}.p28v-sheet-preview-loading small{color:var(--ci-text-muted);font-size:11px}.p28v-sheet-preview-fallback{display:grid;place-items:center;align-content:center;gap:8px;width:100%;height:100%}.p28v-sheet-preview-canvas span{width:85%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p28v-sheet-preview-actions{display:flex;flex-wrap:wrap;gap:8px}.p28v-sheet-choice{min-height:30px;display:inline-flex;align-items:center;gap:7px;color:var(--ci-text-muted);font-size:12px;font-weight:600}@media(max-width:760px){.p28v-tabs{align-self:stretch}.p28v-tabs button{flex:1;justify-content:center}.p28v-pile-head{align-items:flex-start;flex-direction:column}.p28v-sheet-preview{position:static}.p28v-sheets-footer{align-items:stretch;flex-direction:column}}:root{--ci-blue: #2b4c6e;--ci-ink: #3b3838;--ci-secondary: #607a96;--ci-grey: #b4b3ba;--ci-white: #ffffff;--ci-50: #eef3f8;--ci-100: #dbe6f0;--ci-200: #bcccdd;--ci-300: #8ba6bf;--ci-400: #5b7e9c;--ci-500: #3d6589;--ci-600: #274f70;--ci-700: #1a3c5b;--ci-800: #16334c;--ci-900: #11283c;--ci-text-muted: #6b7280;--ci-accent: #be7b2c;--ci-paper: #f3efe7;--surface-page: color-mix(in srgb, var(--ci-grey) 14%, #fff);--surface-card: #ffffff;--surface-card-alt: color-mix(in srgb, var(--ci-secondary) 12%, #fff);--surface-row-alt: color-mix(in srgb, var(--ci-grey) 9%, #fff);--surface-inverse: var(--ci-ink);--surface-brand: var(--ci-blue);--border-default: color-mix(in srgb, var(--ci-grey) 55%, #fff);--border-soft: color-mix(in srgb, var(--ci-grey) 30%, #fff);--border-strong: var(--ci-grey);--text-body: var(--ci-ink);--text-muted: color-mix(in srgb, var(--ci-secondary) 85%, var(--ci-ink));--text-on-brand: #ffffff;--text-link: var(--ci-blue);--brand-hover: color-mix(in srgb, var(--ci-blue) 82%, #fff);--overlay-hover-on-dark: rgba(255, 255, 255, .06);--scrim: color-mix(in srgb, var(--ci-ink) 55%, transparent);--status-on-track: var(--ci-blue);--status-watch: #e8a05b;--status-behind: #96261a;--status-target: #2e7a55;--status-excellent: #b08a1e;--status-on-track-soft: color-mix(in srgb, var(--status-on-track) 12%, #fff);--status-watch-soft: color-mix(in srgb, var(--status-watch) 22%, #fff);--status-watch-text: color-mix(in srgb, var(--status-watch) 40%, var(--ci-ink));--status-behind-soft: color-mix(in srgb, var(--status-behind) 12%, #fff);--status-go: #047857;--status-go-soft: #d1fae5;--status-nogo: #be123c;--status-nogo-soft: #ffe4e6;--series-consolidated: var(--ci-blue);--series-nsw: #78a3cc;--series-sa: #7a5c9e;--series-qld: #b08a1e}:root{--ci-font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ci-font-mono: "IBM Plex Mono", ui-monospace, monospace;--text-2xs: .7rem;--text-xs: .75rem;--text-sm: .85rem;--text-base: .95rem;--text-md: 1.05rem;--text-lg: 1.3rem;--text-xl: 1.9rem;--text-2xl: 2.25rem;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--leading-tight: 1.2;--leading-snug: 1.35;--leading-normal: 1.5;--leading-relaxed: 1.55;--tracking-eyebrow: .08em;--tracking-tight: -.01em;--eyebrow-size: var(--text-xs);--eyebrow-weight: var(--weight-bold)}:root{--space-1: .25rem;--space-2: .4rem;--space-3: .5rem;--space-4: .75rem;--space-5: 1rem;--space-6: 1.25rem;--space-7: 1.5rem;--space-8: 2rem;--space-9: 2.5rem;--space-10: 4rem;--card-padding: 1.25rem 1.5rem;--page-padding: 1.75rem 2rem;--sidebar-width: 220px;--sidebar-width-wide: 240px;--content-max: 960px;--content-max-narrow: 840px;--reading-max: 46ch}:root{--radius-field: 10px;--radius-field-sm: 6px;--radius-card: 20px;--radius-card-app: 10px;--radius-card-soft: 18px;--radius-card-med: 16px;--radius-pill: 999px;--radius-round: 50%}:root{--shadow-hairline: 0 1px 3px rgba(0, 0, 0, .04);--shadow-soft: 0 1px 2px rgba(43, 76, 110, .04), 0 4px 16px rgba(43, 76, 110, .06);--shadow-card: 0 1px 3px rgba(43, 76, 110, .06), 0 8px 24px rgba(43, 76, 110, .05);--shadow-lift: 0 16px 36px rgba(0, 0, 0, .1);--shadow-pop: 0 8px 30px rgba(43, 76, 110, .12);--shadow-dialog: 0 18px 48px rgba(0, 0, 0, .28);--shadow-auth: 0 20px 60px rgba(0, 0, 0, .35)}:root{--duration-fast: .12s;--duration-card: .18s;--duration-enter: .35s;--ease-standard: ease;--ease-out: ease-out;--lift-hover: translateY(-2px);--lift-hover-app: translateY(-3px)}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--surface-page);color:var(--ci-ink);font-family:var(--ci-font-sans);font-size:14px;line-height:var(--leading-normal);-webkit-font-smoothing:antialiased}#platform-root{min-height:100%}h1,h2,h3,p{margin:0}a{color:var(--ci-blue);text-decoration:none}a:hover{color:var(--brand-hover)}button{font:inherit}:focus-visible{outline:2px solid var(--ci-blue);outline-offset:2px}:is(h1,h2,h3,main,section)[tabindex="-1"]:focus{outline:none}.p28-mono{font-family:var(--ci-font-mono);font-variant-numeric:tabular-nums}.p28-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.p28-page{padding:28px 32px;display:flex;flex-direction:column;gap:20px;min-width:0;animation:p28-fadeup var(--duration-enter) var(--ease-out)}.p28-eyebrow{font-size:11px;font-weight:var(--weight-bold);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-muted)}.p28-page-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 24px}.p28-page-header>.p28-actions{flex:0 0 auto}.p28-page-header>.p28-actions>*{white-space:nowrap}.p28-page-header h1{font-size:24px;font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);margin-top:6px}.p28-page-header p{font-size:14px;line-height:1.5;color:var(--ci-text-muted);margin-top:6px;max-width:680px}.p28-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.p28-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-card-app);padding:16px 18px}.p28-card-title{font-size:16px;font-weight:var(--weight-bold)}.p28-card--brand{background:var(--ci-blue);border-color:var(--ci-blue);color:#fff}.p28-card--brand .p28-eyebrow{color:#ffffffb3}.p28-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.p28-stat-value{font:500 28px/1.15 var(--ci-font-mono);font-variant-numeric:tabular-nums;color:var(--ci-800);margin-top:4px}.p28-card--brand .p28-stat-value{color:#fff}.p28-stat-hint{font-size:12px;color:var(--ci-text-muted)}.p28-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:inherit;font-weight:var(--weight-semibold);white-space:nowrap;cursor:pointer;border-radius:var(--radius-field);border:1px solid var(--ci-blue);background:var(--ci-blue);color:#fff;padding:.55rem 1.2rem;font-size:var(--text-base);transition:background-color var(--duration-fast) ease,color var(--duration-fast) ease,border-color var(--duration-fast) ease}.p28-btn:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover);color:#fff}.p28-btn:disabled{opacity:.6;cursor:default}.p28-btn--sm{padding:.3rem .7rem;font-size:var(--text-sm)}.p28-btn--lg{padding:.75rem 1.2rem}.p28-btn--block{width:100%}.p28-btn--outline{background:transparent;color:var(--ci-blue)}.p28-btn--outline:hover:not(:disabled){background:var(--ci-50);color:var(--ci-blue);border-color:var(--ci-blue)}.p28-btn--quiet{background:var(--surface-card);color:var(--text-body);border-color:var(--border-default)}.p28-btn--quiet:hover:not(:disabled){background:var(--ci-50);color:var(--text-body);border-color:var(--border-default)}.p28-btn--danger{background:var(--status-behind);border-color:var(--status-behind)}.p28-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:var(--weight-bold);letter-spacing:.03em;padding:2px 8px;border-radius:var(--radius-pill);white-space:nowrap;background:var(--ci-50);color:var(--ci-700)}.p28-badge--high{background:var(--status-go-soft);color:var(--status-go)}.p28-badge--medium{background:var(--status-watch-soft);color:var(--status-watch-text)}.p28-badge--low,.p28-badge--none{background:var(--status-behind-soft);color:var(--status-behind)}.p28-badge--draft{background:var(--status-watch-soft);color:var(--status-watch-text)}.p28-table{width:100%;border-collapse:collapse;font-size:13px}.p28-table th{text-align:left;padding:9px 12px;font-size:11px;font-weight:var(--weight-bold);letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);background:var(--surface-row-alt)}.p28-table td{padding:11px 12px;border-top:1px solid var(--border-soft)}.p28-table tbody tr:nth-child(2n){background:var(--surface-row-alt)}.p28-table .num{text-align:right;font-family:var(--ci-font-mono);font-variant-numeric:tabular-nums}.p28-todo{border:1.5px dashed var(--ci-300);background:#fff;border-radius:var(--radius-card-app);padding:18px 20px;display:flex;flex-direction:column;gap:10px;max-width:920px}.p28-todo h2{font-size:15px;font-weight:var(--weight-bold)}.p28-todo p{font-size:13px;color:var(--ci-text-muted);line-height:1.5}.p28-todo ul{margin:0;padding-left:18px;font-size:12.5px;color:var(--ci-ink);display:flex;flex-direction:column;gap:3px}.p28-todo code{font-family:var(--ci-font-mono);font-size:12px;color:var(--ci-700)}.p28-notice{background:var(--ci-50);border:1px solid var(--ci-100);border-radius:var(--radius-card-app);padding:14px 16px;font-size:13px;line-height:1.5;color:var(--ci-800)}.p28-error{background:var(--status-behind-soft);color:var(--status-behind);border-radius:var(--radius-card-app);padding:12px 14px;font-size:13px}.p28-splash{min-height:100vh;display:grid;place-items:center;background:var(--ci-900);color:#ffffffb3;font-size:13px}@keyframes p28-fadeup{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.p28-app{display:flex;min-height:100vh;background:var(--surface-page)}.p28-main{flex:1;min-width:0;display:flex;flex-direction:column}.p28-sidebar{width:260px;flex:none;position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--ci-900);color:#fff;display:flex;flex-direction:column;font-family:var(--ci-font-sans)}.p28-sidebar .p28-brand,.p28-sidebar .p28-brand:hover{color:#fff}.p28-brand{min-height:90px;box-sizing:border-box;padding:28px 18px 24px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.08)}.p28-brand svg,.p28-brand img{flex:none;display:block}.p28-brand-wordmark{width:207px;max-width:100%;height:auto;object-fit:contain}.p28-brand-mark{object-fit:contain}.p28-brand-text{display:inline-flex;flex-direction:column;gap:5px}.p28-brand-name{display:flex;align-items:baseline;font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1}.p28-brand-name .p28-brand-number{font-family:var(--ci-font-mono);font-weight:600;color:var(--ci-300)}.p28-brand-tagline{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffffff80}.p28-nav{padding:12px 10px;display:flex;flex-direction:column;gap:2px}.p28-sidebar .p28-nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;font-size:13.5px;font-weight:500;color:#ffffff9e;background:transparent;transition:background-color var(--duration-fast) ease,color var(--duration-fast) ease}.p28-sidebar .p28-nav-item:hover{background:var(--overlay-hover-on-dark);color:#fff}.p28-sidebar .p28-nav-item[aria-current=page]{font-weight:600;color:#fff;background:var(--ci-blue)}.p28-project-card-wrap{padding:0 10px}.p28-sidebar .p28-project-card{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;width:100%;text-align:left;color:#fff;cursor:pointer}.p28-project-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.p28-project-card-name{font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p28-project-card-head svg{color:#ffffff80;flex:none}.p28-project-card-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.p28-project-card-stage{font-size:12px;color:#ffffff9e}.p28-sample-badge{font-size:9.5px;font-weight:700;letter-spacing:.06em;padding:2px 6px;border-radius:999px;background:#e8a05b2e;color:#f3c595}.p28-workflow-label{padding:18px 20px 8px;display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#ffffff8c}.p28-workflow-label:after{display:none}.p28-steps{padding:0 10px;display:flex;flex-direction:column;gap:2px;list-style:none;margin:0}.p28-sidebar .p28-step{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;font-size:13.5px;font-weight:500}.p28-sidebar .p28-step:hover{background:var(--overlay-hover-on-dark);color:#fff}.p28-step-dot{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;flex:none;box-sizing:border-box}.p28-sidebar .p28-step--current{background:var(--ci-blue);font-weight:600;color:#fff}.p28-sidebar .p28-step--current:hover{background:var(--ci-blue)}.p28-step--current .p28-step-dot{background:#fff;color:var(--ci-blue);font:600 10.5px var(--ci-font-mono)}.p28-sidebar .p28-step--done{color:#ffffffd1}.p28-step--done .p28-step-dot{background:#2e7a5559;color:#9fdcbc}.p28-sidebar .p28-step--todo{color:#ffffff80}.p28-step--todo .p28-step-dot{border:1px solid rgba(255,255,255,.22);font:500 10.5px var(--ci-font-mono)}.p28-substeps{list-style:none;margin:2px 0 4px;padding:0 0 0 26px}.p28-sidebar .p28-substep{display:flex;align-items:center;gap:8px;padding:5px 10px;border-radius:8px;font-size:12.5px;color:#fff9}.p28-sidebar .p28-substep:hover{background:var(--overlay-hover-on-dark);color:#fff}.p28-sidebar .p28-substep--done{color:#ffffffd1}.p28-sidebar .p28-substep--done svg{color:#9fdcbc}.p28-sidebar .p28-substep--current{color:#fff;font-weight:600;background:#ffffff14}.p28-substep-dot{width:11px;height:11px;border-radius:50%;border:1px solid rgba(255,255,255,.3);box-sizing:border-box;flex:none}.p28-credits-wrap{margin-top:auto;padding:12px}.p28-credits{border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1)}.p28-credits--active{background:var(--ci-blue);border-color:var(--ci-400)}.p28-credits-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.p28-credits-label{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffffffb8}.p28-sidebar .p28-credits-topup{font-size:11.5px;font-weight:600;color:var(--ci-200)}.p28-credits-figure{display:flex;align-items:baseline;gap:6px}.p28-credits-available{font:500 22px/1 var(--ci-font-mono);color:#fff;font-variant-numeric:tabular-nums}.p28-credits--low .p28-credits-available{color:#f3c595}.p28-credits-allowance{font:500 12px var(--ci-font-mono);color:#ffffff80}.p28-credits-bar{height:5px;border-radius:999px;background:#ffffff1f;overflow:hidden}.p28-credits-bar>span{display:block;height:100%;border-radius:999px;background:var(--ci-300)}.p28-credits--low .p28-credits-bar>span{background:var(--status-watch)}.p28-credits-note{font-size:11px;color:#ffffffb8}.p28-credits-note .p28-mono{color:#ffffffd9}.p28-credits-warning{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:#f3c595}.p28-user{padding:14px 16px;border-top:1px solid rgba(255,255,255,.1);display:flex;align-items:center;gap:10px}.p28-avatar{width:32px;height:32px;border-radius:50%;background:var(--ci-500);display:grid;place-items:center;font-size:11px;font-weight:700;flex:none}.p28-user-name{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p28-user-role{font-size:11px;color:#ffffffb3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p28-user-action{flex:none;width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:var(--radius-sm, 6px);background:transparent;color:#ffffffb3;cursor:pointer}.p28-user-action:hover{background:var(--overlay-hover-on-dark);color:#fff}.p28-user-action:focus-visible,.p28-menu-item:focus-visible,.p28-tab:focus-visible{outline:2px solid var(--ci-200);outline-offset:2px}.p28-user-menu{position:relative;flex:none}.p28-menu{position:absolute;bottom:36px;right:0;min-width:220px;background:#fff;color:var(--ci-text, #1b2733);border-radius:10px;box-shadow:var(--shadow-auth);padding:6px;display:flex;flex-direction:column;z-index:20}.p28-menu-item{display:block;width:100%;text-align:left;padding:8px 10px;border:0;border-radius:6px;background:transparent;font:inherit;font-size:13px;color:inherit;text-decoration:none;cursor:pointer}.p28-menu-item:hover{background:var(--border-soft)}.p28-menu-label{padding:8px 10px 4px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ci-text-muted)}.p28-menu-error{padding:6px 10px;font-size:12px;color:var(--ci-danger, #b42318)}.p28-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border-soft);margin-top:8px}.p28-tab{padding:8px 14px;font-size:14px;font-weight:600;color:var(--ci-text-muted);text-decoration:none;border-bottom:2px solid transparent}.p28-tab[aria-current=page]{color:var(--ci-blue);border-bottom-color:var(--ci-blue)}.p28-auth{min-height:100vh;background:var(--ci-900);display:grid;place-items:center;padding:48px 16px}.p28-auth-card{width:min(460px,100%);background:#fff;border-radius:16px;box-shadow:var(--shadow-auth);padding:32px 34px 26px;display:flex;flex-direction:column;gap:16px}.p28-auth-card h1{font-size:22px;font-weight:700}.p28-auth-brand{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700}.p28-auth-brand b{font-family:var(--ci-font-mono);font-weight:600;color:var(--ci-500)}.p28-list{list-style:none;display:flex;flex-direction:column;gap:8px;padding:0;margin:0}.p28-sidebar .p28-nav-badge{margin-left:auto;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:1px 7px;border-radius:var(--radius-pill);background:var(--status-watch);color:#1f1300}.p28-sidebar--workflow .p28-project-card{padding:10px 12px;border-radius:8px;gap:0;cursor:pointer}.p28-sidebar--workflow .p28-project-card-name{font-size:12px;line-height:18px}.p28-sidebar--workflow .p28-project-card-meta{margin-top:2px}.p28-sidebar--workflow .p28-project-card-stage{font-size:11px}.p28-sidebar--workflow .p28-workflow-label{padding:18px 20px 8px}.p28-sidebar--workflow .p28-step{border-radius:6px}.p28-sidebar--workflow .p28-step--todo{color:#ffffff9e}.p28-sidebar--workflow .p28-step--todo .p28-step-dot{border-color:#ffffff8c;color:inherit}.p28-sidebar--workflow .p28-step--done .p28-step-dot{background:var(--ci-blue);color:#fff;border:1px solid var(--ci-blue)}.p28-sidebar--workflow .p28-step--current{background:#2e5276;font-weight:700}.p28-sidebar--workflow .p28-step--current .p28-step-dot{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.6);font:700 10px var(--ci-font-sans)}.p28-sidebar--workflow .p28-user--workflow{min-height:60px;padding:14px 16px;border-top-color:#ffffff14}.p28-sidebar--workflow .p28-avatar{width:30px;height:30px;background:var(--ci-blue)}.p28-sidebar--workflow .p28-user-name{font-size:12px}
