/* The connection flow uses the selected white, system-type product identity. */
.library-page{background:#fff;color:#202124;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.library-page :is(h1,h2,h3,button,input,select){font-family:inherit}
.library-page [hidden]{display:none!important}
.connection-main{width:calc(100% - 48px);max-width:1120px;margin:0 auto;padding:46px 0 64px}
.connection-heading{max-width:760px;margin-bottom:34px}
.connection-eyebrow{font-size:11px;font-weight:650;letter-spacing:.1em;color:#667085}
.connection-heading h1{font-size:56px;font-weight:600;line-height:1.08;letter-spacing:-2px;margin:15px 0}
.connection-heading>p{font-size:18px;line-height:1.6;color:#667085;max-width:680px}
.connection-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:38px;align-items:start}
.connection-workspace{min-width:0;border:1px solid #e5e7eb;border-radius:22px;background:#fff;overflow:hidden}
.connection-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;list-style:none;margin:0;padding:23px 28px;border-bottom:1px solid #eef0f3}
.connection-steps li{font-size:12px;line-height:1.4;color:#737b88;display:flex;gap:8px;align-items:center}
.connection-steps li>span{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid #dfe3e8;width:24px;height:24px;border-radius:50%;font-size:11px}
.connection-steps li[aria-current=step]{color:#155eef;font-weight:600}
.connection-steps li[aria-current=step]>span{background:#155eef;border-color:#155eef;color:#fff}
.connection-steps li[data-done=true]>span{color:#155eef;border-color:#bed0f8;background:#f3f6fe}
.connection-panel{padding:30px}
.connection-step{animation:connection-enter 200ms ease-out both}
.connection-step h2{font-size:25px;font-weight:600;letter-spacing:-.7px;line-height:1.2;margin:0 0 11px}
.connection-step>p{font-size:16px;line-height:1.65;color:#667085;margin:0 0 25px}
.connection-choices{display:grid;gap:12px;margin:24px 0}
.connection-choice{border:1px solid #dfe3e8;background:#fff;border-radius:15px;text-align:left;padding:19px;display:flex;align-items:center;gap:15px;min-height:82px;width:100%;color:#202124;cursor:pointer;transition:background-color 140ms,border-color 140ms}
.connection-choice>span:nth-child(2){display:flex;flex-direction:column;gap:5px;flex:1}
.connection-choice strong{font-size:16px;font-weight:600}
.connection-choice small{font-size:14px;color:#667085;line-height:1.45}
.connection-choice[aria-pressed=true]{border-color:#8dafef;background:#f6f9ff}
.connection-choice[aria-pressed=true] .choice-indicator{border-color:#155eef;background:#155eef;box-shadow:inset 0 0 0 4px #fff}
.choice-indicator{width:19px;height:19px;border:1px solid #c9d0da;border-radius:50%;flex:0 0 auto}
.connection-icon{width:38px;height:38px;background:#f5f6f8;color:#475467;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.connection-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.connection-choice[aria-pressed=true] .connection-icon{color:#155eef;background:#eaf0fe}
.connection-label{display:flex;flex-direction:column;gap:10px;font-size:15px;font-weight:550;margin:22px 0 10px}
.connection-label input,.definition-tools input,.definition-tools select{font:inherit;font-size:16px;border:1px solid #d0d5dd;border-radius:12px;min-height:48px;padding:11px 14px;background:#fff;color:#202124;width:100%}
.connection-label small{font-size:13px;color:#667085;font-weight:400}
.connection-provider-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.connection-provider-grid .connection-choice{padding:15px;gap:11px;min-height:75px}
.connection-provider-grid .connection-choice strong{font-size:15px}
.connection-provider-grid .connection-choice small{font-size:12px}
.connection-provider-grid .connection-icon{display:none}
.connection-hint{background:#f7f8fa;border-radius:12px;padding:16px;font-size:14px;color:#667085;line-height:1.6;margin:21px 0}
.connection-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid #eef0f3;margin-top:28px;padding-top:21px}
.connection-primary,.connection-secondary,.connection-text-button{min-height:46px;padding:11px 18px;border-radius:12px;font-size:15px;font-weight:550;cursor:pointer;border:1px solid transparent;display:inline-flex;gap:8px;align-items:center;justify-content:center;text-decoration:none}
.connection-primary{background:#155eef;color:#fff}
.connection-primary:disabled{background:#eef0f3;color:#77808d;cursor:not-allowed}
.connection-primary svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.7}
.connection-secondary{background:#fff;border-color:#d0d5dd;color:#344054}
.connection-text-button{background:transparent;color:#667085;padding-inline:4px}
.connection-actions>.connection-primary:last-child{margin-left:auto}
.connection-aside{position:sticky;top:110px;padding-top:7px}
.connection-state{display:flex;gap:8px;align-items:center;font-size:13px;color:#667085;margin-bottom:24px}
.connection-status-dot{height:7px;width:7px;border-radius:50%;background:#8993a2}
.connection-aside h2{font-size:26px;font-weight:600;line-height:1.25;letter-spacing:-.8px;margin-bottom:14px}
.connection-aside>p{font-size:15px;color:#667085;line-height:1.65}
.connection-aside dl{margin:26px 0 0}
.connection-aside dl>div{padding:13px 0;border-top:1px solid #eef0f3}
.connection-aside dt{font-size:12px;color:#737b88;margin-bottom:5px}
.connection-aside dd{font-size:14px;color:#344054;margin:0;overflow-wrap:anywhere}
.connection-boundary{display:flex;gap:10px;border-top:1px solid #eef0f3;margin-top:20px;padding-top:19px}
.connection-boundary .connection-icon{width:22px;height:22px;background:transparent}
.connection-boundary .connection-icon svg{width:18px;height:18px}
.connection-boundary p{font-size:13px;color:#737b88;line-height:1.6;margin:0}
.connection-documents{display:grid;gap:10px}
.document-choice{display:flex;align-items:center;gap:13px;border:1px solid #e4e7ec;border-radius:13px;padding:15px;min-height:66px;cursor:pointer}
.document-choice input,.scope-choice input{accent-color:#155eef;width:18px;height:18px;flex:0 0 18px}
.document-choice:has(input:checked){border-color:#8dafef;background:#f6f9ff}
.document-choice>span{display:flex;flex-direction:column;gap:5px;flex:1}
.document-choice strong{font-size:15px;font-weight:550}
.document-choice small{font-size:13px;color:#737b88}
.scope-group{border:0;margin:23px 0;padding:0}
.scope-group legend{font-size:16px;font-weight:600;margin-bottom:12px}
.scope-choice{display:flex;align-items:flex-start;gap:11px;margin:0;padding:12px 0;cursor:pointer;font-size:15px;line-height:1.5}
.scope-choice input{margin-top:2px}
.review-list{margin:20px 0;border:1px solid #e5e7eb;border-radius:14px;padding:3px 18px}
.review-list>div{display:flex;justify-content:space-between;gap:22px;padding:14px 0;border-top:1px solid #eef0f3;font-size:14px;line-height:1.5}
.review-list>div:first-child{border:0}
.review-list dt{color:#667085;flex:1}
.review-list dd{margin:0;text-align:right;max-width:65%;overflow-wrap:anywhere}
.connection-gaps{padding:0;margin:20px 0 0;list-style:none}
.connection-gaps li{display:flex;gap:11px;align-items:flex-start;padding:11px 0;font-size:14px;line-height:1.6;color:#667085}
.connection-gaps .connection-icon{width:23px;height:23px;border-radius:50%}
.connection-gaps .connection-icon svg{width:14px;height:14px}
.connection-step h3{font-size:17px;font-weight:600;margin-top:27px}
.connection-no-script{padding:20px;background:#f7f8fa;border-radius:12px}
.definition-section{margin-top:58px;padding-top:30px;border-top:1px solid #e5e7eb}
.definition-heading{display:flex;justify-content:space-between;gap:25px;align-items:center}
.definition-heading h2{font-size:21px;letter-spacing:-.5px;margin-bottom:10px;font-weight:600}
.definition-heading p{font-size:15px;color:#667085;line-height:1.6;max-width:670px}
.definition-heading>button{flex-shrink:0}
.definition-tools{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap;margin:30px 0 20px}
.definition-tools label{display:flex;flex-direction:column;gap:8px;font-size:13px;color:#667085;flex:1;min-width:180px}
.definition-tools>a{font-size:14px;color:#155eef;min-height:44px;display:flex;align-items:center;text-decoration:underline}
#definition-description{font-size:15px;color:#667085;line-height:1.6;margin:18px 0}
.field-doc{border-top:1px solid #e5e7eb;padding:17px 0}
.field-doc summary{display:flex;justify-content:space-between;gap:18px;align-items:center;font-size:15px;cursor:pointer;min-height:36px}
.field-doc summary small{display:block;font-size:12px;color:#737b88;margin-top:4px}
.field-doc summary>span{color:#737b88;font-size:12px}
.field-doc dl{display:grid;grid-template-columns:150px 1fr;gap:11px 24px;padding:22px 0 7px;font-size:14px;line-height:1.6}
.field-doc dt{color:#737b88}.field-doc dd{margin:0;overflow-wrap:anywhere}
.library-page :is(button,a,input,select,summary):focus-visible{outline:2px solid #155eef;outline-offset:4px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes connection-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.connection-step{animation:none}.connection-choice{transition:none}}
html[data-motion=paused] .connection-step,body.motion-paused .connection-step{animation:none}
html[data-motion=paused] .connection-choice,body.motion-paused .connection-choice{transition:none}
@media(max-width:960px){.connection-layout{grid-template-columns:minmax(0,1fr) 230px;gap:25px}.connection-panel{padding:25px}.connection-steps{padding:20px}.connection-steps li{display:block;font-size:11px}.connection-steps li>span{display:flex;margin-bottom:7px}.connection-aside h2{font-size:23px}}
@media(max-width:730px){.connection-main{width:calc(100% - 32px);padding-top:28px}.connection-heading{margin-bottom:27px}.connection-heading>p{font-size:16px}.connection-layout{grid-template-columns:1fr;gap:25px}.connection-aside{position:static;background:#f8f9fb;border:1px solid #eef0f3;border-radius:16px;padding:22px}.connection-aside h2{font-size:20px}.connection-aside h2 br{display:none}.connection-aside dl{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;margin-top:17px}.connection-state{margin-bottom:13px}.connection-aside>p{font-size:14px}.connection-boundary{margin-top:14px}.connection-panel{padding:23px}.connection-steps{padding:18px 22px}.definition-heading{align-items:flex-start;flex-direction:column}.definition-heading>button{align-self:flex-start}.connection-heading h1{letter-spacing:-1px}.definition-section{margin-top:35px}}
@media(max-width:420px){.connection-main{width:calc(100% - 24px)}.connection-panel{padding:20px 16px}.connection-step h2{font-size:23px}.connection-choices{margin-top:20px}.connection-choice{padding:15px;gap:11px}.connection-choice strong{font-size:15px}.connection-choice small{font-size:13px}.connection-provider-grid{grid-template-columns:1fr}.connection-provider-grid .connection-choice{min-height:64px}.connection-actions{gap:9px}.connection-primary,.connection-secondary{font-size:14px;padding:11px 14px}.connection-steps{gap:5px;padding:17px 16px}.field-doc dl{grid-template-columns:1fr;gap:5px}.field-doc dd{margin-bottom:10px}.review-list{padding-inline:13px}.review-list>div{display:block}.review-list dd{text-align:left;max-width:none;margin-top:4px}}
/* Existing access/setup page consumes these styles; preserve its layout. */
.access-main{max-width:950px;padding-block:60px 100px}.access-main h1{font-size:clamp(38px,5vw,64px);line-height:1.08;margin:28px 0 24px;letter-spacing:-2px}.access-intro{font-size:19px;color:var(--muted);max-width:600px}.access-current{border:1px solid var(--line);background:#f7f8fa;border-radius:15px;padding:30px;margin:38px 0}.access-main h2{font-size:24px}.access-main p:not(.access-intro){font-size:14px;line-height:1.8;margin-top:17px;color:var(--muted)}.access-status{font-size:12px!important;padding-top:10px}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:40px}.access-main>.text-link:last-child{margin-left:25px}@media(max-width:750px){.access-grid{grid-template-columns:1fr;gap:30px}.access-main{padding-top:35px}.access-main>.text-link:last-child{display:block;margin:25px 0 0}}@media(max-width:480px){.access-current{padding:23px}}

@media(max-width:800px){.connection-heading h1{font-size:42px;letter-spacing:-1.5px}}@media(max-width:620px){.connection-heading h1{font-size:38px;letter-spacing:-1.5px}}
