/* Shared authentication forms: sign in, invitations, recovery and verification. */
.auth-page{min-height:100dvh;display:flex;flex-direction:column}
.auth-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 5%}
.auth-topbar .auth-brand{padding:0}.auth-topbar>.text-link{font-size:13px}
.auth-layout{width:100%;max-width:1180px;flex:1;padding-block:35px 60px;grid-template-columns:1.1fr 1fr;gap:9%}
.auth-card{min-width:0;padding:36px}.auth-card h2{font-size:32px;line-height:1.15;letter-spacing:-1px;margin-top:20px}
.auth-card>p{font-size:14px;line-height:1.65;margin:12px 0 24px}
.auth-progress{list-style:none;padding:0;margin:0 0 26px;display:flex;gap:8px;align-items:center;font-size:12px;line-height:1.4}
.auth-progress li{padding:8px 9px;white-space:nowrap}.auth-progress li+li{margin-inline-start:auto}
.auth-card .auth-field{margin-top:20px}.auth-card label{margin:0 0 8px;font-size:14px;line-height:1.4}
.auth-card input,.auth-card select{font-size:16px;min-height:48px;margin:0;border:1px solid var(--line);border-radius:10px;padding:12px 14px;width:100%;color:var(--ink);background:var(--paper)}
.auth-card input:focus-visible,.auth-card select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.auth-card :is(a,button):focus-visible,.auth-footer :is(a,button):focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.auth-card .auth-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.auth-label-row a{font-size:12px;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.password-control{position:relative}.password-control:has(button:not([hidden])) input{padding-inline-end:76px}
.auth-card .password-toggle{position:absolute;inset-block:2px;inset-inline-end:3px;width:66px;min-height:44px;margin:0;padding:0 8px;border:0;border-radius:8px;background:transparent;color:var(--ink);font-size:12px;font-weight:650}
.auth-card .password-toggle:hover{background:color-mix(in srgb,var(--ink) 7%,transparent)}
.auth-card small{font-size:12px;line-height:1.6;margin-top:8px}
.auth-card .primary-link,.auth-card .outline-link{min-height:50px;width:100%;margin-top:26px;justify-content:center;font-size:14px;font-weight:600}
.auth-card .primary-link>span{margin-inline-start:auto}.auth-card .primary-link:disabled{opacity:.65}
.auth-card .verification-note{font-size:12px;margin-top:14px;text-align:center}
.auth-card .auth-alternative{padding-top:24px;border-top:1px solid var(--line);text-align:center;margin:24px 0 0}
.auth-alternative a,.auth-footer a{text-decoration:underline;text-underline-offset:3px}
.auth-card .auth-client-note{font-size:12px;text-align:center;margin:16px 0 0}
.auth-card .form-error,.auth-notice{border-radius:10px;padding:14px 16px;font-size:14px;line-height:1.55;margin:18px 0}
.auth-card .form-error{color:#8c211b;background:#fff1ee;border:1px solid #ebbbb6}
.auth-notice{color:#175b42;background:#ecf8ef;border:1px solid #b4d8c2}
.auth-card .field-error,.auth-card .caps-warning{color:#9e3024}.auth-card [aria-invalid=true]{border-color:#ba382d}
.auth-page[data-palette-dark=true] .field-error,.auth-page[data-palette-dark=true] .caps-warning{color:#ffb2a8}
.auth-card .delivery-help{margin-top:22px;padding:14px 16px;font-size:13px}.auth-card .delivery-help p{font-size:12px}
.auth-card .code-input{letter-spacing:.35em;font-size:26px;text-align:center;direction:ltr;font-variant-numeric:tabular-nums}
.auth-card .code-expiry{font-size:12px;text-align:center;margin:12px 0}
.auth-card #resend-code{margin-top:18px}.auth-card #resend-status{text-align:center;min-height:20px}
.auth-footer{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:24px;padding:20px 5% 28px;color:var(--muted);font-size:12px}
.auth-footer button{background:transparent;border:0;color:inherit;font:inherit;padding:10px}
.auth-skip{position:fixed;top:8px;left:8px;z-index:100;background:var(--surface);padding:12px;transform:translateY(-180%)}.auth-skip:focus{transform:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.auth-page [hidden]{display:none!important}
@media(max-width:800px){.auth-layout{grid-template-columns:1fr;max-width:530px;padding:16px 20px 40px}.auth-intro{display:none}.auth-card{padding:28px}.auth-topbar{padding:20px}.auth-topbar>.text-link{font-size:12px}.auth-footer{gap:16px}}
@media(max-width:380px){.auth-layout{padding-inline:12px}.auth-card{padding:22px}.auth-progress{font-size:11px;gap:2px}.auth-progress li{padding-inline:5px}.auth-topbar .brand-lockup{font-size:23px}.auth-topbar .brand-lockup img{width:35px;height:35px}.auth-label-row{flex-wrap:wrap;row-gap:0!important}}
@media(prefers-reduced-motion:reduce){.auth-page{scroll-behavior:auto}.auth-page *{animation:none!important;transition:none!important}}
