.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.auth-layout[data-auth-mode="inscription"] .auth-form-region { overflow: visible; }
.signup-progress { display: flex; gap: 25px; padding: 0 0 23px; margin: 0; list-style: none; border-bottom: 1px solid #edf0f5; }
.signup-progress li { display: flex; align-items: center; gap: 8px; font-size: 12px; color: #7d8799; }
.signup-progress li > span { display: grid; place-items: center; width: 23px; height: 23px; border: 1px solid #d9dfeb; border-radius: 50%; font-size: 11px; }
.signup-progress [aria-current] { color: var(--accent); font-weight: 600; }
.signup-progress [aria-current] > span, .signup-progress .is-complete > span { border-color: var(--accent); background: var(--accent); color: white; }
.signup-company-step, .signup-account-step { display: grid; gap: 21px; min-width: 0; border: 0; margin: 0; padding: 0; }
.company-combobox { position: relative; z-index: 5; }
.auth-form #company-query { padding-right: 43px; }
.company-hint, .company-status, .company-source { font-size: 12px; line-height: 1.6; color: #69778d; }
.company-hint { margin-top: 10px; }
.company-status { min-height: 20px; margin-top: 8px; }
.company-source { text-align: center; font-size: 11px; }
.company-source a { color: #54627a; text-decoration: underline; text-underline-offset: 3px; }
.company-retry, .company-change { background: transparent; color: var(--accent); border: 0; padding: 6px 0; font-size: 12px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.company-results { position: absolute; top: calc(100% + 8px); left: 0; right: 0; z-index: 20; max-height: 340px; overflow-y: auto; overscroll-behavior: contain; background: white; border: 1px solid #dce2ed; border-radius: 12px; box-shadow: 0 12px 35px -9px #14274738, 0 3px 8px #1427470d; }
.company-results.is-above { top: auto; bottom: calc(100% + 8px); }
.company-results-caption { position: sticky; top: 0; z-index: 1; padding: 10px 14px; color: #6e7d94; font-size: 10px; font-weight: 600; letter-spacing: .04em; background: #f7f9fc; border-bottom: 1px solid #e7ebf2; }
.company-results ul { list-style: none; margin: 0; padding: 4px; }
.company-results [role="option"] { display: flex; align-items: center; gap: 12px; padding: 13px 12px; border-radius: 8px; cursor: pointer; transition: background-color .15s; }
.company-results [role="option"] + [role="option"] { border-top: 1px solid #edf0f5; }
.company-results [role="option"]:hover, .company-results [aria-selected="true"] { background: color-mix(in srgb, var(--accent) 7%, white); }
.company-details { flex: 1; min-width: 0; display: grid; gap: 5px; overflow-wrap: anywhere; }
.company-name { font-size: 13px; font-weight: 650; line-height: 1.45; color: #25354f; }
.company-siren { color: var(--accent); font-size: 11px; font-variant-numeric: tabular-nums; letter-spacing: .03em; font-weight: 600; }
.company-legal, .company-address { color: #63718a; font-size: 11px; line-height: 1.45; }
.company-option-arrow { color: var(--accent); font-size: 16px; }
.company-inactive { font-size: 10px; color: #98573b; }
.company-selection { padding: 16px; border: 1px solid color-mix(in srgb, var(--accent) 23%, white); border-radius: 10px; background: color-mix(in srgb, var(--accent) 3%, white); }
.company-selected-label { display: block; color: var(--accent); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 12px; font-weight: 600; }
.company-confirmed { display: flex; align-items: flex-start; gap: 15px; padding: 15px; border: 1px solid #dfe5ef; background: #f8f9fc; border-radius: 9px; }
.company-confirmed-info { flex: 1; min-width: 0; }
.company-confirmed .company-change { flex-shrink: 0; padding: 0; }
.company-confirmed .company-legal, .company-confirmed .company-address { font-size: 10px; }
:root .auth-submit:disabled { transform: none; background: #e9edf4; border-color: #e4e9f0; color: #8b96a9; box-shadow: none; cursor: not-allowed; }
.auth-submit:disabled::before { display: none; }
.company-spinner { position: absolute; right: 15px; top: 18px; width: 18px; height: 18px; border: 2px solid #e3e7ef; border-top-color: var(--accent); border-radius: 50%; animation: company-spin .75s linear infinite; pointer-events: none; }
@keyframes company-spin { to { transform: rotate(360deg); } }
.signup-progress { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.signup-progress li { flex-direction: column; gap: 7px; font-size: 11px; }
.signup-progress li > span { width: 29px; height: 29px; }
.signup-panel { display: grid; gap: 19px; min-width: 0; padding: 0; margin: 0; border: 0; }
.signup-name-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.signup-name-row input, #signup-phone, #signup-confirm { padding-left: 16px; }
.auth-form .signup-name-row .auth-input input { padding-left: 14px; }
.signup-helper { font-size: 12px; line-height: 1.65; color: #758198; margin: 0; }
.company-ape,.company-vat { color: #63718a; font-size: 11px; line-height: 1.5; }
.company-confirmed .company-address,.company-confirmed .company-legal,.company-confirmed .company-ape,.company-confirmed .company-vat { display: none; }
.otp-mail-icon { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 18px; background: color-mix(in srgb,var(--accent) 8%,white); color: var(--accent); }
.otp-mail-icon svg { width: 27px; height: 27px; }
.otp-destination { font-size: 14px; line-height: 1.7; color: #617087; }
.otp-destination strong { display: block; color: #25354f; overflow-wrap: anywhere; }
.auth-form .otp-input { width: 100%; padding: 17px 12px 17px 24px; text-align: center; font-size: clamp(24px,4vw,32px); letter-spacing: .4em; font-variant-numeric: tabular-nums; border: 1px solid #dce2ee; border-radius: 12px; background: #fafbfe; color: #25354f; }
.otp-input::placeholder { color: #cbd2de; }
.signup-secondary { display: flex; justify-content: space-between; gap: 14px; }
.signup-secondary button { padding: 0; border: 0; background: none; color: var(--accent); font-size: 12px; }
.signup-secondary button:disabled { color: #8d97a8; cursor: default; }
.email-verified { display: flex; gap: 9px; border-radius: 9px; padding: 13px; background: #eff8f3; color: #347457; font-size: 12px; overflow-wrap: anywhere; }
.signup-feedback:empty { display: none; }
.signup-feedback.has-error { padding: 13px 15px; border-radius: 9px; background: #fff2ef; color: #9a4234; font-size: 13px; line-height: 1.6; }
.signup-success { text-align: center; padding: 28px 0; }
.signup-success h2 { font-size: 28px; }
.success-mark { margin: 0 auto; display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: #edf7f0; color: #367152; font-size: 28px; }
.auth-spaces button:disabled { cursor: default; }
[data-motion=off] .company-spinner { animation: none; }
.auth-form[data-kind=inscription] .auth-input input:user-invalid { border-color: #dce2ec; }
.auth-form[data-kind=inscription] [data-validated=true] .auth-input input:user-invalid { border-color: #bc4560; }
.auth-layout[data-auth-mode=inscription] .auth-portal { margin-top: 0; margin-bottom: auto; }
.auth-layout[data-auth-mode=inscription] .auth-form-region { margin: 0; padding-top: 25px; }
@media (max-width: 780px) {
  .signup-progress { gap: 19px; }
  .company-results [role="option"] { padding: 13px 10px; }
  .company-name { font-size: 13px; }
  .company-siren, .company-legal, .company-address { font-size: 12px; }
  .company-confirmed { gap: 10px; padding: 12px; }
}
