/* Shared account screens. Form contracts are preserved in the individual views. */
body.corporate-auth {
    margin: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--corp-paper, #f7f8f4);
    color: var(--corp-ink, #231d45);
}
.corporate-auth a, .corporate-auth button, .corporate-auth input, .corporate-auth select { -webkit-tap-highlight-color: transparent; }
.corporate-auth a:focus-visible, .corporate-auth button:focus-visible, .corporate-auth input[type="checkbox"]:focus-visible { outline: 3px solid var(--corp-brand, #5eb130); outline-offset: 4px; }
.corp-auth-skip { position: absolute; top: 8px; left: 8px; transform: translateY(-150%); z-index: 100; border-radius: 8px; background: var(--corp-ink, #231d45); color: #fff; padding: 12px 18px; }
.corp-auth-skip:focus { transform: translateY(0); }
.corp-auth-header { background: #fff; border-bottom: 1px solid #e5e8e0; }
.corp-auth-header-inner { width: min(1200px, calc(100% - 80px)); min-height: 88px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.corp-auth-logo { display: flex; width: 190px; flex-shrink: 0; align-items: center; }
.corp-auth-logo img { width: 100%; height: 60px; object-fit: contain; object-position: left center; }
.corp-auth-wordmark { font-size: 24px; font-weight: 800; letter-spacing: -.8px; }
.corp-auth-wordmark > span { color: var(--corp-brand, #5eb130); }
.corp-auth-wordmark small { display: block; margin-top: 4px; font-size: 8px; letter-spacing: 2.1px; text-align: center; }
.corp-auth-header-link { display: inline-flex; align-items: center; gap: 10px; color: var(--corp-ink, #231d45); font-size: 12px; font-weight: 600; }
.corp-auth-header-link i { font-size: 10px; color: var(--corp-green, #3c7924); }
.corp-auth-header-link:hover { color: var(--corp-green, #3c7924); }
.corp-auth-main { flex: 1; padding: 54px 24px 38px; outline: 0; }
.corp-auth-card { width: min(100%, 490px); margin: 0 auto; background: #fff; padding: 36px; border: 1px solid #e3e7dc; border-radius: 18px; box-shadow: 0 8px 30px #231d4505; }
.corp-auth-card--register { max-width: 540px; }
.corp-auth-card-heading { margin-bottom: 27px; }
.corporate-auth .corp-auth-eyebrow { display: flex; align-items: center; gap: 7px; margin: 0 0 12px; font-size: 9px; font-weight: 750; letter-spacing: 1.3px; color: var(--corp-green, #3c7924); }
.corp-auth-eyebrow > span { width: 5px; height: 5px; border-radius: 50%; background: var(--corp-brand, #5eb130); }
.corporate-auth .corp-auth-card h1 { margin: 0 0 10px; font-size: 28px; line-height: 1.25; letter-spacing: -.7px; font-weight: 750; color: var(--corp-ink, #231d45); }
.corporate-auth .corp-auth-description { margin: 0; color: #71737a; font-size: 13px; line-height: 1.7; }
.corp-auth-progress { display: flex; gap: 22px; list-style: none; padding: 0 0 23px; margin: 0 0 26px; border-bottom: 1px solid #edf0e8; }
.corp-auth-progress li { display: flex; align-items: center; gap: 7px; color: #71737a; font-size: 10px; font-weight: 600; }
.corp-auth-progress li > span { display: inline-flex; flex-shrink: 0; width: 22px; height: 22px; border-radius: 50%; justify-content: center; align-items: center; border: 1px solid #e2e6dc; background: #fff; font-size: 10px; }
.corp-auth-progress li[aria-current] { color: var(--corp-green, #3c7924); }
.corp-auth-progress li[aria-current] > span { background: var(--corp-green, #3c7924); color: #fff; border-color: var(--corp-green, #3c7924); }
.corp-auth-progress li.is-complete > span { color: var(--corp-green, #3c7924); border-color: #dce9d1; background: #f1f7ec; }
.corp-auth-form { display: flex; flex-direction: column; gap: 21px; }
.corp-auth-label { display: block; margin: 0 0 8px; color: var(--corp-ink, #231d45); font-size: 12px; line-height: 1.5; font-weight: 650; }
.corp-auth-input-wrap { position: relative; }
.corp-auth-input-icon { pointer-events: none; position: absolute; left: 15px; top: 0; bottom: 0; display: flex; align-items: center; font-size: 13px; color: #92978c; }
.corporate-auth .corp-auth-input { display: block; width: 100%; min-height: 46px; margin: 0; padding: 11px 15px 11px 41px; color: var(--corp-ink, #231d45); background: #fff; border: 1px solid #dce2d5; border-radius: 8px; font: inherit; font-size: 13px; line-height: 1.6; transition: border-color .15s, box-shadow .15s; }
.corporate-auth .corp-auth-input::placeholder { color: #91978b; opacity: 1; }
.corporate-auth .corp-auth-input:focus { outline: 0; border-color: var(--corp-green, #3c7924); box-shadow: 0 0 0 3px #5eb1301a; }
.corporate-auth select.corp-auth-input { cursor: pointer; padding-right: 25px; }
.corporate-auth input#code { font-size: 24px; letter-spacing: 8px; text-align: center; padding-top: 12px; padding-bottom: 12px; }
.corporate-auth .corp-auth-help { margin: 7px 0 0; font-size: 10px; line-height: 1.7; color: #71776d; }
.corporate-auth .corp-auth-error { margin: 7px 0 0; font-size: 11px; line-height: 1.6; color: #ae3639; }
.corp-auth-message { padding: 13px 14px; border: 1px solid; border-radius: 8px; }
.corp-auth-message-line { display: flex; gap: 8px; align-items: flex-start; }
.corp-auth-message-line > i { flex-shrink: 0; margin-top: 3px; font-size: 13px; }
.corporate-auth .corp-auth-message-line p { margin: 0; font-size: 11px; font-weight: 550; line-height: 1.65; }
.corp-auth-message-error { background: #fdf3f2; border-color: #f0d8d5; color: #9c3434; }
.corp-auth-message-success { background: #f3f8ed; border-color: #dce9ce; color: var(--corp-green, #3c7924); }
.corporate-auth .corp-auth-submit { display: flex; align-items: center; justify-content: center; gap: 9px; width: 100%; min-height: 46px; padding: 12px 20px; border: 1px solid var(--corp-green, #3c7924); border-radius: 8px; color: #fff; background: var(--corp-green, #3c7924); font-size: 13px; font-weight: 650; line-height: 1.5; cursor: pointer; transition: background-color .15s; }
.corporate-auth .corp-auth-submit:hover { background: #30661c; border-color: #30661c; }
.corp-auth-submit i { margin: 0; font-size: 12px; }
.corp-auth-resend { display: inline-flex; align-items: center; gap: 6px; border: 0; background: none; padding: 5px 0; font-size: 11px; font-weight: 600; color: var(--corp-green, #3c7924); }
.corp-auth-resend:hover { text-decoration: underline; text-underline-offset: 4px; }
.corp-auth-alternatives { margin-top: 27px; border-top: 1px solid #edf0e8; padding-top: 22px; text-align: center; }
.corporate-auth .corp-auth-alternative { margin: 0; color: #71737a; font-size: 11px; line-height: 1.8; }
.corp-auth-alternative a { display: inline-block; margin-left: 3px; color: var(--corp-green, #3c7924); font-weight: 700; }
.corp-auth-alternative a:hover { text-decoration: underline; text-underline-offset: 3px; }
.corp-auth-staff-link { display: inline-flex; gap: 7px; align-items: center; margin-top: 19px; color: #767a71; font-size: 10px; }
.corp-auth-staff-link:hover { color: var(--corp-ink, #231d45); }
.corp-auth-staff-link i { font-size: 10px; }
.corp-auth-consent { padding: 15px; border: 1px solid #e5e9df; background: #f8faf5; border-radius: 8px; }
.corp-auth-consent-label { display: flex; gap: 10px; align-items: flex-start; cursor: pointer; }
.corp-auth-checkbox, .corp-auth-remember input { flex-shrink: 0; width: 16px; height: 16px; margin-top: 2px; accent-color: var(--corp-green, #3c7924); }
.corp-auth-consent-copy { min-width: 0; flex: 1; }
.corp-auth-consent-title { display: block; font-size: 10px; font-weight: 650; line-height: 1.6; }
.corporate-auth .corp-auth-consent-description { margin: 6px 0 0; font-size: 10px; color: #6f7668; line-height: 1.8; }
.corp-auth-inline-link { color: var(--corp-green, #3c7924); text-decoration: underline; text-underline-offset: 2px; }
.corp-auth-remember-label { display: flex; align-items: center; gap: 9px; cursor: pointer; }
.corp-auth-remember-label > span { font-size: 11px; color: #666d5f; }
.corp-auth-remember-control { display: flex; }
.corp-auth-remember input { margin-top: 0; }
.corporate-auth .corp-auth-signoff { margin: 24px 0 0; text-align: center; font-size: 10px; color: #8a9082; }
.corp-auth-footer { display: flex; align-items: center; justify-content: space-between; width: min(1200px, calc(100% - 80px)); gap: 20px; border-top: 1px solid #e2e6dc; padding: 24px 0; margin: 0 auto; color: #767e6d; font-size: 10px; }
.corporate-auth .corp-auth-footer p { margin: 0; }
.corp-auth-footer nav { display: flex; gap: 22px; }
.corp-auth-footer a:hover { color: var(--corp-green, #3c7924); }
@media (max-width: 600px) {
    .corp-auth-header-inner { width: calc(100% - 36px); min-height: 74px; gap: 18px; }
    .corp-auth-logo { width: 157px; }
    .corp-auth-logo img { height: 51px; }
    .corp-auth-header-link { font-size: 10px; gap: 6px; }
    .corp-auth-header-link i { font-size: 8px; }
    .corp-auth-main { padding: 28px 16px 30px; }
    .corp-auth-card { padding: 25px 22px; border-radius: 12px; }
    .corporate-auth .corp-auth-card h1 { font-size: 25px; }
    .corporate-auth .corp-auth-description { font-size: 12px; }
    .corp-auth-card-heading { margin-bottom: 23px; }
    .corp-auth-progress { gap: 18px; padding-bottom: 19px; margin-bottom: 22px; }
    .corp-auth-progress li { font-size: 9px; gap: 6px; }
    .corp-auth-form { gap: 20px; }
    .corporate-auth .corp-auth-input { font-size: 16px; }
    .corp-auth-footer { width: calc(100% - 36px); flex-direction: column; gap: 13px; padding: 20px 0; font-size: 9px; }
}
@media (max-width: 360px) {
    .corp-auth-header-link { font-size: 9px; }
    .corp-auth-header-link i { display: none; }
    .corp-auth-logo { width: 145px; }
    .corp-auth-card { padding: 23px 18px; }
    .corp-auth-progress { gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
    .corporate-auth .corp-auth-input, .corporate-auth .corp-auth-submit { transition: none; }
}
