.portal-auth{padding-top:clamp(2.5rem,1.5rem + 4vw,5rem)}
.portal-auth__grid{display:grid;gap:var(--s-7);align-items:start}
@media (min-width:900px){.portal-auth__grid{grid-template-columns:minmax(0,1fr) minmax(0,28rem);gap:var(--s-9);align-items:center}}
.portal-auth__intro h1{font-size:var(--step-4)}
.portal-auth__intro .lede{margin-top:var(--s-5)}
.portal-perks{margin-top:var(--s-6)}
.portal-small{color:var(--ink-2-strong);font-size:.95rem;line-height:1.55}
.portal-auth__intro .portal-small{margin-top:var(--s-5);max-width:40ch}
.portal-card{display:grid;gap:var(--s-4)}
.portal-card form{display:grid;gap:var(--s-4)}
.portal-card .af-field{margin:0}
.portal-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:var(--bg);border:1px solid var(--line);border-radius:999px}
.portal-tabs button{min-height:44px;border:0;border-radius:999px;background:transparent;font:inherit;font-weight:500;cursor:pointer;color:var(--ink-2-strong)}
.portal-tabs button[aria-selected="true"]{background:var(--ink);color:var(--white)}
.portal-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3)}
.portal-row[hidden]{display:none}
.portal-submit{width:100%;margin-top:var(--s-2)}
.portal-msg{font-size:.92rem;font-weight:500;padding:.7rem .9rem;border-radius:10px;background:#E3F6EC}
.portal-msg--error{background:#FDECEA;color:var(--danger)}
.portal-h2{font-size:var(--step-2);font-weight:800;letter-spacing:-.03em}
.portal-wrap{max-width:var(--max)}
#portal-app,.portal-loading{max-width:52rem}
.portal-loading{color:var(--ink-2-strong);padding:var(--s-8) 0}
#portal-app{display:grid;gap:var(--s-5)}
#portal-app[hidden]{display:none}
.portal-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:var(--s-4)}
.portal-head h1{font-size:var(--step-4)}
.portal-eyebrow{color:var(--mint-deep)}
.portal-kicker{font-size:.8rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--mint-deep)}
.portal-status{font-size:var(--step-3);font-weight:800;letter-spacing:-.035em;line-height:1.05}
.tracker{list-style:none;margin:var(--s-4) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-2);position:relative}
.tracker[hidden]{display:none}
.tracker__step{display:grid;justify-items:center;gap:.5rem;text-align:center;position:relative}
.tracker__step::before{content:"";position:absolute;top:19px;left:-50%;right:50%;height:3px;background:var(--line);z-index:0}
.tracker__step:first-child::before{display:none}
.tracker__step.is-done::before,.tracker__step.is-current::before{background:var(--yellow-bright)}
.tracker__dot{position:relative;z-index:1;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:var(--bg);border:2px solid var(--line);color:var(--ink-2-strong)}
.tracker__step.is-done .tracker__dot{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}
.tracker__step.is-current .tracker__dot{background:var(--ink);border-color:var(--ink);color:var(--yellow);box-shadow:0 0 0 6px rgba(111,211,168,.35)}
.tracker__label{font-size:.88rem;font-weight:500}
.portal-message{background:var(--dark);border-color:var(--dark);color:var(--white)}
.portal-message .portal-kicker{color:var(--yellow)}
.portal-message__text{font-size:var(--step-1);line-height:1.5;white-space:pre-line}
.portal-help{margin-top:var(--s-2)}
.portal-pw{position:relative}
.portal-pw .af-control{padding-right:4.75rem}
.portal-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);min-height:38px;padding:0 .9rem;border:0;border-radius:999px;background:var(--white);border:1px solid var(--line);font:inherit;font-size:.88rem;font-weight:500;cursor:pointer;color:var(--ink)}
.portal-eye:hover{border-color:var(--ink)}
.portal-captcha{min-height:78px}
.portal-captcha[hidden]{display:none}
