/* Approved source-to-destination palette; readable, quiet shared surfaces. */
.px-welcome{width:min(820px,calc(100vw - 32px));max-height:calc(100dvh - 32px);border:1px solid #d5deec;border-radius:16px;padding:32px;background:#f5f7fb;color:#142b50;font:16px/1.65 'Segoe UI',Arial,sans-serif;box-shadow:0 24px 90px #142b5033}
.px-welcome::backdrop{background:#142b5080}.px-welcome-head{display:flex;justify-content:space-between;align-items:center;color:#536986;font-size:14px;margin-bottom:22px}.px-welcome-head button{border:0;background:transparent;font-size:30px;color:#142b50;cursor:pointer;width:44px;height:44px}.px-welcome h1{font-size:34px;line-height:1.18;letter-spacing:-1px;max-width:22ch;margin:0 0 16px}.px-welcome h1:focus{outline:none}.px-welcome>p{max-width:70ch;color:#304868}.px-welcome fieldset{border:0;padding:0;margin:24px 0}.px-welcome legend{font-size:16px;font-weight:600;margin-bottom:12px}.px-role-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.px-role-options label{display:flex;gap:10px;padding:18px 14px;border:1px solid #d5deec;border-radius:8px;background:white;cursor:pointer;align-items:start}.px-role-options label:has(:checked){border-color:#345de3;background:#edf2ff}.px-role-options input{margin-top:6px;accent-color:#345de3}.px-role-options strong,.px-role-options small{display:block}.px-role-options small{font-size:13px;line-height:1.55;color:#536986;margin-top:7px}.px-welcome-foot{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.px-welcome-preference{display:block;font-size:12px;color:#536986;margin-top:20px}.px-welcome-evidence{background:#162b4d;color:#fff;padding:24px;border-radius:10px}.px-welcome-evidence h2{font-size:22px;color:#fff}.px-welcome-evidence ol{display:grid;grid-template-columns:1fr 1fr;gap:18px 36px;margin:20px 0 0;padding-left:22px}.px-welcome-evidence li{padding-left:3px}.px-welcome-evidence span{display:block;font-size:13px;color:#d4dfef}.px-welcome-state{margin-top:20px}.px-welcome :is(button,a,input):focus-visible{outline:3px solid #6e93ef;outline-offset:3px}
.ws-guide-grid>.ws-panel:nth-child(1){background:#fff}.ws-guide-grid>.ws-panel:nth-child(2){background:#f3f6ff}.ws-guide-grid>.ws-panel:nth-child(3){background:#fff}.px-milestones{margin-top:26px;padding:30px;background:#162b4d;color:white;border-radius:10px}.px-milestones h2{font-size:24px;color:white}.px-milestones>p,.px-milestones li p{color:#d4dfef;line-height:1.7}.px-milestones ol{display:grid;grid-template-columns:repeat(3,1fr);gap:22px 38px;padding-left:22px;margin:24px 0 0}.px-milestones li p{font-size:14px;margin:6px 0 0}.px-review-contract{margin:18px 0;border-left:3px solid #345de3;padding:18px 22px;background:#edf2ff;color:#304868}.px-review-contract summary{font-weight:600;cursor:pointer}.px-review-contract p{max-width:80ch;margin:12px 0 0;line-height:1.7}.px-job-context{margin:0 0 24px}.px-job-context summary{font-size:16px;font-weight:600;cursor:pointer}.px-job-context dl{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:24px 0}.px-job-context dt{font-size:13px;color:#536986}.px-job-context dd{margin:5px 0 0;overflow-wrap:anywhere}.px-job-context pre{white-space:pre-wrap}
.px-brand{display:inline-flex;align-items:center;gap:11px;width:183px;height:40px;flex-shrink:0}.px-brand-mark{width:32px;height:32px}.px-brand-words{position:relative;width:140px;height:36px;font:600 25px/36px 'Segoe UI',Arial,sans-serif;letter-spacing:-.8px}.px-brand-origin,.px-brand-final{position:absolute;inset:0;white-space:nowrap}.px-brand-origin{opacity:0}.px-brand-final b{color:#345de3}.px-brand-wipe{position:absolute;left:0;top:4px;height:28px;width:5px;background:#345de3;opacity:0}.px-brand-origin{animation:px-origin 1.65s both}.px-brand-final{animation:px-final 1.65s both}.px-brand-wipe{animation:px-wipe 1.65s both}@keyframes px-origin{0%,24%{opacity:1;clip-path:inset(0 0 0 0)}80%,100%{opacity:1;clip-path:inset(0 0 0 100%)}}@keyframes px-final{0%,24%{clip-path:inset(0 100% 0 0)}80%,100%{clip-path:inset(0 0 0 0)}}@keyframes px-wipe{0%,24%{opacity:0;transform:translateX(0)}28%{opacity:1}80%{opacity:1;transform:translateX(140px)}100%{opacity:0;transform:translateX(140px)}}
.app-sidebar__link:focus-visible{outline:3px solid #6e93ef;outline-offset:-3px}.app-header__brand{min-width:0}.px-skip{position:fixed;left:12px;top:-70px;z-index:2000;background:#345de3;color:#fff;padding:12px 18px;border-radius:6px}.px-skip:focus{top:10px}.ws-page,.gd-main,.app-content{min-width:0}.ws-heading h1{overflow-wrap:anywhere}
@media(max-width:760px){.px-welcome{padding:20px}.px-welcome h1{font-size:28px}.px-role-options,.px-welcome-evidence ol,.px-milestones ol,.px-job-context dl{grid-template-columns:1fr}.px-role-options label{padding:12px}.px-welcome-evidence{padding:18px}.px-milestones{padding:22px}.px-brand{width:164px}.px-brand-words{font-size:22px;width:122px}.app-header__product,.app-header__divider{display:none!important}}
@media(prefers-reduced-motion:reduce){.px-brand-origin{display:none}.px-brand-final,.px-brand-origin,.px-brand-wipe{animation:none!important}.px-brand-wipe{display:none}}

.px-io-mark{display:flex;gap:3px;align-items:center;transform:skewY(-20deg);width:32px;flex-shrink:0}.px-io-mark i{display:block;width:7px;height:23px;background:#345de3;border-radius:2px}.px-io-mark i:nth-child(2){height:34px}.px-io-mark i:nth-child(3){height:17px;background:#89a4ff}
#wdt-stage-choice{margin:8px 0 14px}.px-diagram-modal .modal-footer{flex-wrap:wrap}.px-diagram-modal .modal-body{min-height:0}.gx-home input:focus-visible{outline:3px solid #6e93ef;outline-offset:3px}

body:has(.modal.show) #assist-fab{display:none!important}

.px-diagram-context{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.px-diagram-context p{margin:0}.px-diagram-context label{display:flex;align-items:center;gap:10px;font-size:14px;color:#304868}.px-diagram-find{font:14px 'Segoe UI',Arial,sans-serif;max-width:320px;width:240px;padding:9px;border:1px solid #d5deec;border-radius:5px;color:#142b50;background:#fff}.px-diagram-find:focus-visible{outline:3px solid #6e93ef}.px-diagram-context+div{min-height:240px!important}
@media(max-width:760px){.px-diagram-context{display:block}.px-diagram-context label{margin-top:10px}.px-diagram-find{width:100%;min-width:0}}
