.p28j-page{min-height:100%}.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-main{flex:1;min-height:0;display:grid;grid-template-columns:420px minmax(0,1fr);gap:20px;align-items:start}.p28j-side{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{list-style:none;margin:0;padding:8px 0}.p28j-stage{display:flex;align-items:center;gap:14px;padding:12px 20px}.p28j-stage-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.p28j-stage-head{display:flex;justify-content:space-between;gap:8px;font-size:13.5px}.p28j-stage-label{font-weight:var(--weight-medium);color:var(--ci-ink)}.p28j-stage--run .p28j-stage-label{font-weight:var(--weight-semibold)}.p28j-stage--wait .p28j-stage-label{color:var(--ci-text-muted)}.p28j-stage-state{font:500 12px var(--ci-font-mono);color:var(--ci-text-muted);white-space:nowrap}.p28j-stage-error{font-size:12px;color:var(--status-behind)}.p28j-dot{flex:none;width:26px;height:26px;border-radius:50%;box-sizing:border-box;display:grid;place-items:center}.p28j-dot--done{background:var(--status-go-soft);color:var(--status-go)}.p28j-dot--failed{background:var(--status-behind-soft);color:var(--status-behind)}.p28j-dot--run{border:2px solid var(--ci-100);border-top-color:var(--ci-blue);animation:p28j-spin .9s linear infinite}.p28j-dot--wait{border:1.5px dashed var(--ci-grey)}@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-log{background:var(--ci-ink);border-radius:10px;display:flex;flex-direction:column;overflow:hidden;min-height:420px;max-height:calc(100vh - 260px)}.p28j-log-head{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;border-bottom:1px solid rgba(255,255,255,.1)}.p28j-log-title{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:var(--weight-bold);letter-spacing:.08em;color:#fffc}.p28j-log-live{width:7px;height:7px;border-radius:50%;background:#6fcf97}.p28j-log-live--off{background:#ffffff4d}.p28j-log-sub{font-size:12px;color:#ffffff80}.p28j-log-body{padding:12px 0;display:flex;flex-direction:column;overflow-y:auto;min-height:0;flex:1}.p28j-log-body:focus-visible{outline:2px solid var(--ci-200);outline-offset:-2px}.p28j-log-row{display:flex;gap:16px;padding:6px 18px;font:12.5px/1.5 var(--ci-font-mono);color:#ffffffd9}.p28j-log-time{color:#ffffff9e;flex:none}.p28j-log-msg{white-space:pre-wrap;overflow-wrap:anywhere}.p28j-log--bound .p28j-log-msg{color:#9fdcbc}.p28j-log--warn .p28j-log-msg{color:#f3c595}.p28j-log--reject{background:#96261a40}.p28j-log--reject .p28j-log-msg{color:#f2a097}.p28j-log-empty{padding:6px 18px;font:12.5px/1.5 var(--ci-font-mono);color:#ffffff80}.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{width:300px;max-height:420px;overflow-y:auto;left:-8px;right:auto}.p28j-bell-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-right:10px}.p28j-bell-item{display:flex;flex-direction:column;gap:2px}.p28j-bell-item--unread{background:var(--ci-50)}.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-main{grid-template-columns:minmax(0,1fr)}.p28j-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.p28j-dot--run,.p28j-skeleton{animation:none}.p28j-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;align-items:center;gap:64px;padding:56px 88px 72px 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-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{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:1080px){.p28-signin{grid-template-columns:minmax(0,1fr) 420px;gap:40px;padding:40px 40px 48px}.p28-signin-headline{font-size:32px}}@media(max-width:860px){.p28-signin{grid-template-columns:minmax(0,1fr);padding:28px 16px 40px;gap:28px;align-items:start}.p28-signin-brand{align-self:auto;gap:20px}.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-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-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}.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-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-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-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)}}@media(max-width:900px){.p28s-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.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-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}.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-upload-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}.p28p-upload-main{display:flex;flex-direction:column;gap:20px;min-width:0}.p28p-drop{background:#fff;border:1.5px dashed var(--ci-300);border-radius:16px;padding:36px 24px;display:flex;flex-direction:column;align-items: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-setup{background:#fff;border:1px solid var(--border-default);border-radius:10px;padding:20px;display:flex;flex-direction:column;gap:12px}.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{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.p28p-start-grid,.p28p-two,.p28p-stats{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-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}.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-zoom{position:absolute;left:14px;bottom:14px;display:flex;gap:2px;background:#fff;border:1px solid var(--border-default);border-radius:8px;padding:2px;font:500 12px var(--ci-font-mono);z-index:2}.rv-zoom button{border:0;background:transparent;padding:4px 9px;font:inherit;cursor:pointer;color:var(--ci-ink)}.rv-zoom span{padding:4px 9px;border-left:1px solid var(--border-soft);border-right:1px solid var(--border-soft)}.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;bottom:14px;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);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.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-modes{display:flex;flex-direction:column;gap:10px;border:0;padding:0;margin:0}.rv-mode{display:flex;gap:10px;padding:12px;border-radius:10px;border:1px solid var(--border-default);background:#fff;cursor:pointer}.rv-mode:has(input:checked){border-color:var(--ci-blue);background:var(--ci-50)}.rv-mode input{flex:none;width:16px;height:16px;margin:1px 0 0;accent-color:var(--ci-blue)}.rv-mode-title{font-size:13px;font-weight:var(--weight-semibold)}.rv-mode-desc{font-size:12px;color:var(--ci-text-muted);line-height:1.45;margin-top:3px}.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-frame--markup .rv-zoom{left:auto;right:14px;bottom:44px}.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-canvas--interactive .rv-scroll{top:43px}.rv-sheet-controls{position:absolute;inset:0 0 auto;z-index:3;min-height:43px;display:flex;align-items:center;gap:3px;padding:5px 8px;background:#fff;border-bottom:1px solid var(--border-default);overflow-x:auto;white-space:nowrap}.rv-sheet-controls button{border:1px solid transparent;border-radius:5px;background:transparent;color:var(--ci-ink);padding:5px 7px;font:600 11px var(--ci-font-sans);cursor:pointer}.rv-sheet-controls button:hover:not(:disabled){background:var(--ci-50)}.rv-sheet-controls button[aria-pressed=true]{color:#fff;background:var(--ci-blue)}.rv-sheet-controls button:disabled,.rv-sheet-step:disabled,.rv-zoom button:disabled{opacity:.4;cursor:default}.rv-sheet-controls label{display:inline-flex;gap:4px;align-items:center;padding:0 5px;font-size:11px;cursor:pointer}.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;bottom:15px;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-canvas--interactive .rv-banner{top:52px}.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(3){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;white-space:nowrap}.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:55px}@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:49px;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;bottom:44px;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}.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-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)}@media(max-width:1180px){.p28v-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.p28v-layout,.p28v-calibrate{grid-template-columns:minmax(0,1fr)}.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}: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:240px;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{padding:18px 20px 16px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.1)}.p28-brand svg{flex:none;display:block}.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:14px 12px 0;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:12px 12px 8px}.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:12px 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{content:"";flex:1;height:1px;background:#ffffff24}.p28-steps{padding:0 12px;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:10px;font-size:13.5px;font-weight:500}.p28-sidebar .p28-step:hover{background:var(--overlay-hover-on-dark);color:#fff}.p28-step-dot{width:22px;height:22px;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}
