/* Shared visual language for account entry and supplier activation. */
.entry-page { min-height:100svh; display:flex; flex-direction:column; color:#172a40; background:#fbfcfe; font:14px/1.5 "Geist Variable",sans-serif; }
.entry-page * { box-sizing:border-box; }
.entry-page a { color:inherit; text-decoration:none; }
.entry-page a:focus-visible,.claim-welcome a:focus-visible { outline:3px solid #b74b27; outline-offset:5px; }
.entry-skip { position:absolute; top:-100px; left:24px; z-index:20; padding:12px 20px; background:#fff; }
.entry-skip:focus { top:12px; }
.entry-header { width:100%; max-width:1600px; margin:auto; min-height:100px; padding:24px 4.5%; display:flex; justify-content:space-between; align-items:center; gap:24px; }
.entry-brand { display:inline-flex; align-items:center; font-size:20px; font-weight:680; letter-spacing:-.7px; white-space:nowrap; }
.entry-brand>img { width:35px; height:35px; margin-right:10px; }
.entry-brand-wordmark { font-weight:750; }
.entry-brand-wordmark>span { font-weight:450; }
.entry-brand-wordmark>i { color:#b74b27; font-style:normal; }
.entry-header p { margin:0; color:#52647a; font-size:13px; }
.entry-header p a { margin-left:10px; color:#172a40; font-weight:650; }
.entry-header a:not(.entry-brand),.entry-footer a { display:inline-flex; align-items:center; gap:8px; }
.entry-header a:not(.entry-brand):hover,.entry-footer a:hover { color:#2454e6; }
.entry-header svg,.entry-footer svg { width:16px; height:16px; }
.entry-layout { flex:1; width:91%; max-width:1456px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; }
.entry-story { min-width:0; padding:48px 48px 25px; position:relative; overflow:hidden; display:flex; flex-direction:column; color:#fff; background:#14283f; border-radius:12px; }
.entry-eyebrow { margin:0 0 26px; display:flex; align-items:center; gap:9px; font-size:10px; font-weight:650; letter-spacing:1.8px; text-transform:uppercase; }
.entry-story .entry-eyebrow { color:#c1cdda; }
.entry-eyebrow>span { width:6px; height:6px; background:#d38b68; border-radius:50%; }
.entry-story h2 { position:relative; z-index:1; margin:0; font:530 clamp(34px,3.6vw,55px)/1.06 "Archivo Variable",sans-serif; letter-spacing:-2px; }
.entry-story h2 em { color:#dca17e; font-style:normal; }
.entry-story-description { max-width:375px; margin:22px 0 0; color:#c3cfdd; font-size:14px; line-height:1.8; }
.entry-illustration { position:relative; margin:30px -12px 24px; overflow:hidden; border:1px solid #496078; border-radius:8px; background:#e9eef3; }
.entry-illustration img { display:block; width:100%; height:auto; aspect-ratio:1.8; object-fit:cover; }
.entry-image-label { position:absolute; bottom:14px; left:14px; right:14px; display:flex; align-items:center; gap:8px; width:fit-content; max-width:calc(100% - 28px); padding:8px 11px; background:#14283f; border:1px solid #445971; border-radius:4px; color:#e6edf5; font-size:10px; }
.entry-pulse { width:6px; height:6px; flex-shrink:0; background:#8cc3b0; border-radius:50%; }
.entry-story-foot { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-top:auto; padding-top:17px; border-top:1px solid #3a4e65; color:#b6c5d7; font-size:10px; }
.entry-story-foot>span:last-child { display:flex; align-items:center; gap:10px; }
.entry-story-foot svg { width:15px; height:15px; }
.entry-content { padding:35px clamp(30px,5.5vw,88px); display:flex; align-items:center; justify-content:center; }
.entry-form-wrap { width:100%; max-width:420px; }
.entry-eyebrow-dark { margin-bottom:15px; color:#92502d; }
.entry-content h1,.entry-recovery h1 { margin:0; font:570 clamp(32px,3vw,44px)/1.1 "Archivo Variable",sans-serif; letter-spacing:-1.7px; }
.entry-description { margin:16px 0 25px; max-width:370px; color:#52647a; line-height:1.75; }
.entry-choices { display:grid; gap:10px; }
.entry-choice { min-height:77px; padding:16px; display:flex; gap:14px; align-items:center; border:1px solid #d6dfe9; border-radius:8px; background:#fff; transition:border-color .15s,background .15s; }
.entry-choice:hover { border-color:#7c94ba; }
.entry-choice.is-selected { border-color:#2454e6; background:#f0f4ff; box-shadow:0 0 0 1px #2454e6; }
.entry-choice>svg { flex-shrink:0; width:21px; height:21px; color:#52647a; }
.entry-choice.is-selected>svg { color:#2454e6; }
.entry-choice strong { display:block; font-size:13px; font-weight:650; }
.entry-choice small { display:block; margin-top:3px; font-size:11px; color:#52647a; }
.entry-radio { margin-left:auto; flex:0 0 18px; width:18px; height:18px; display:grid; place-items:center; border:1px solid #bdc9da; border-radius:50%; }
.is-selected .entry-radio { border-color:#2454e6; background:#2454e6; color:white; }
.entry-radio svg { width:12px; height:12px; }
.entry-included { margin:24px 0; }
.entry-included p { margin:0 0 10px; font-size:11px; font-weight:650; color:#52647a; }
.entry-included ul { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
.entry-included li { display:flex; align-items:flex-start; gap:9px; font-size:12px; }
.entry-included svg { flex-shrink:0; width:16px; height:16px; color:#267664; }
.entry-page .entry-primary,.claim-welcome .entry-primary { min-height:50px; width:100%; display:flex; justify-content:center; align-items:center; gap:16px; padding:14px 18px; color:#fff; background:#2454e6; border:1px solid #2454e6; border-radius:6px; font-size:13px; font-weight:650; text-decoration:none; box-shadow:0 3px 5px #172a4010; transition:background .15s; }
.entry-page .entry-primary:hover,.claim-welcome .entry-primary:hover { background:#1941c0; }
.entry-security { display:flex; justify-content:center; align-items:flex-start; gap:7px; margin:14px 0 0; color:#52647a; font-size:10px; line-height:1.7; }
.entry-security svg { flex-shrink:0; width:15px; height:15px; margin-top:1px; }
.entry-fineprint { margin:24px 0 0; padding-top:18px; border-top:1px solid #e3e9f0; color:#52647a; font-size:10px; line-height:1.8; }
.entry-fineprint a { text-decoration:underline; text-underline-offset:3px; }
.entry-return-note { margin:24px 0; color:#52647a; font-size:13px; line-height:1.8; }
.entry-context { display:flex; align-items:center; gap:10px; margin-top:18px; padding:12px 14px; background:#edf3f0; border-left:2px solid #267664; border-radius:3px; overflow-wrap:anywhere; }
.entry-context svg { flex-shrink:0; color:#267664; }
.entry-context small { display:block; color:#52647a; font-size:10px; }
.entry-context strong { display:block; font-size:13px; font-weight:600; }
.entry-footer { width:91%; max-width:1456px; margin:0 auto; padding:24px 0; display:flex; justify-content:space-between; gap:16px; color:#52647a; font-size:11px; }
.entry-recovery { width:min(500px,calc(100% - 40px)); margin:auto; padding:60px 0 90px; text-align:center; }
.entry-recovery .entry-eyebrow { justify-content:center; }
.entry-recovery>p:not(.entry-eyebrow) { margin:24px 0; color:#52647a; line-height:1.8; }
.entry-recovery-icon { width:60px; height:60px; margin:0 auto 24px; display:grid; place-items:center; background:#edf2fa; border:1px solid #dde4ee; border-radius:16px; color:#2454e6; }
.entry-recovery-icon svg { width:28px; height:28px; }
.entry-recovery-link { display:inline-block; margin-top:20px; text-decoration:underline!important; }
@media(min-width:1600px) { .entry-layout { flex:0 1 auto; margin-block:auto; } }
@media(max-width:1050px) { .entry-story { padding:36px 30px 24px; }.entry-content { padding:30px; }.entry-story-foot { flex-direction:column; align-items:flex-start; }.entry-story h2 { font-size:38px; } }
@media(max-width:760px) {
  .entry-header { min-height:80px; padding:20px 24px; gap:12px; }.entry-brand { font-size:17px; }.entry-brand>img { width:30px; height:30px; }
  .entry-header p { font-size:0; }.entry-header p a { font-size:12px; margin:0; }.entry-header p svg { display:none; }
  .entry-layout { width:100%; grid-template-columns:1fr; }.entry-content { grid-row:1; padding:30px 24px 40px; }.entry-content h1 { font-size:38px; }.entry-form-wrap { max-width:440px; }
  .entry-story { margin:0 16px; padding:28px; border-radius:8px; }.entry-story h2 { font-size:30px; letter-spacing:-1px; }.entry-story h2 br { display:none; }.entry-story h2 br:after { content:" "; }.entry-story h2 em:before { content:" "; }
  .entry-story-description { max-width:none; margin-top:16px; font-size:13px; }.entry-story .entry-eyebrow { margin-bottom:18px; font-size:9px; letter-spacing:1.3px; }
  .entry-illustration { display:none; }.entry-story-foot { margin-top:24px; flex-direction:row; font-size:9px; }.entry-story-foot>span:last-child { display:none; }
  .entry-footer { width:100%; padding:24px; justify-content:center; text-align:center; }.entry-footer>span { display:none; }
}
@media(prefers-reduced-motion:reduce) { .entry-choice,.entry-primary { transition:none!important; } }

/* Public supplier entry uses the same account language within the site shell. */
.claim-welcome { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.9fr); gap:48px 80px; padding-block:48px 64px; align-items:start; }
.claim-back { display:inline-block; margin-bottom:36px; font-size:12px; color:#52647a; text-decoration:none; }
.claim-intro h1 { margin:0; font:560 clamp(40px,4.5vw,64px)/1.04 "Archivo Variable",sans-serif; letter-spacing:-2.4px; }
.claim-deck { max-width:500px; margin:24px 0; font-size:15px; color:#52647a; line-height:1.85; }
.claim-visual { position:relative; margin-top:30px; border:1px solid #d6dfe9; border-radius:8px; overflow:hidden; background:#e9eef3; }
.claim-visual img { width:100%; height:auto; aspect-ratio:1.65; object-fit:cover; }
.claim-visual>span { display:flex; align-items:center; gap:8px; position:absolute; bottom:16px; left:16px; right:16px; padding:10px 12px; background:#14283f; color:#e3ebf5; font-size:10px; border-radius:4px; }
.claim-visual>span>span { width:6px; height:6px; flex-shrink:0; border-radius:50%; background:#dca17e; }
.claim-principles { display:flex; flex-wrap:wrap; gap:16px; margin-top:22px; color:#52647a; font-size:11px; }
.claim-principles span { display:flex; align-items:center; gap:6px; }
.claim-principles svg { width:14px; height:14px; color:#267664; }
.claim-start { margin-top:22px; padding:36px; background:#fff; border:1px solid #d6dfe9; border-radius:12px; box-shadow:0 12px 35px #172a4007; }
.claim-start-icon { display:grid; place-items:center; width:46px; height:46px; margin-bottom:25px; border-radius:10px; background:#eef3ff; color:#2454e6; }
.claim-start h2 { margin:0; font:570 30px/1.13 "Archivo Variable",sans-serif; letter-spacing:-1px; }
.claim-start-description { margin:16px 0 0; color:#52647a; font-size:13px; line-height:1.8; }
.claim-journey { padding:0; margin:28px 0; list-style:none; }
.claim-journey li { position:relative; display:flex; gap:16px; padding:0 0 24px; }
.claim-journey li:last-child { padding-bottom:0; }
.claim-journey li:not(:last-child):before { content:""; position:absolute; top:35px; bottom:3px; left:16px; width:1px; background:#dde4ee; }
.claim-journey li>span { flex:0 0 34px; height:34px; display:grid; place-items:center; border:1px solid #dde4ee; border-radius:50%; color:#52647a; font-size:10px; font-weight:600; }
.claim-journey li:first-child>span { background:#edf2ff; border-color:#bcccf8; color:#2454e6; }
.claim-journey h3 { margin:1px 0 4px; font-size:13px; font-weight:650; }
.claim-journey p { margin:0; color:#52647a; font-size:12px; line-height:1.7; }
.claim-signin { display:flex; align-items:center; justify-content:center; gap:6px; margin:18px 0 0; font-size:12px; color:#52647a; }
.claim-signin a { display:inline-flex; align-items:center; gap:5px; color:#172a40; font-weight:650; }
.claim-signin svg { width:14px; height:14px; }
.claim-trust { display:flex; gap:10px; margin-top:26px; padding-top:22px; border-top:1px solid #e3e9f0; }
.claim-trust svg { flex:0 0 18px; width:18px; height:18px; color:#267664; }
.claim-trust p { margin:0; color:#52647a; font-size:10px; line-height:1.8; }
.claim-trust strong { display:block; margin-bottom:4px; color:#172a40; font-weight:600; }
.claim-start .entry-context[hidden] { display:none; }
.claim-start .entry-context a { display:inline-block; margin-top:4px; color:#267664; font-size:10px; text-decoration:underline; text-underline-offset:3px; }
.claim-buyer-switch { grid-column:1/-1; display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:12px; padding-top:24px; border-top:1px solid #dde4ee; color:#52647a; font-size:12px; }
.claim-buyer-switch a { display:flex; align-items:center; gap:8px; color:#2454e6; font-weight:600; }
.claim-buyer-switch svg { width:16px; height:16px; }
@media(max-width:1050px) { .claim-welcome { gap:35px; }.claim-start { padding:28px; } }
@media(max-width:760px) { .claim-welcome { grid-template-columns:1fr; padding-top:24px; gap:24px; }.claim-back { margin-bottom:24px; }.claim-intro h1 { font-size:42px; }.claim-deck { font-size:14px; margin-bottom:0; }.claim-visual { display:none; }.claim-principles { gap:12px; font-size:10px; }.claim-start { margin-top:0; padding:26px 22px; }.claim-buyer-switch { text-align:center; }.claim-welcome .entry-eyebrow { font-size:9px; letter-spacing:1.3px; } }
