/* Public forms share the homepage palette. Keyboard focus remains visible. */
html:not(:where(.ae-accessibility-enhanced-focus, [data-readable-profile-keyboard-navigation="true"])) .landing-body.readable-home :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible:not(:where(.ae-accessibility-root *, [data-readable-widget] *)) {
  outline: 2px solid #785b99 !important;
  outline-offset: 3px !important;
  box-shadow: none !important;
}
.landing-body.readable-home :is(a, button, input, select, textarea, summary, [tabindex]):focus:not(:focus-visible):not(:where(.ae-accessibility-root *, [data-readable-widget] *)),
.landing-body.readable-home[data-input-mode="pointer"] :is(a, button, input, select, textarea, summary, [tabindex]):focus:not(:where(.ae-accessibility-root *, [data-readable-widget] *)) {
  outline: none !important;
  box-shadow: none !important;
}
html:has(.readable-home dialog[open]) { overflow: hidden; }

.readable-home .landing-auth-modal {
  max-height: calc(100dvh - 40px);
  border-radius: 26px;
  color: #0c103f;
}
.readable-home .landing-auth-modal::backdrop {
  background: rgb(18 20 40 / 46%);
  backdrop-filter: blur(7px);
}
.readable-home .landing-auth-modal-panel {
  max-height: calc(100dvh - 40px);
  border: 1px solid #eeedf4;
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 28px 100px #15152c30;
}
.readable-home .public-auth { width: min(980px, calc(100vw - 40px)); }
.readable-home .public-auth .landing-auth-modal-panel {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  padding: 0;
}
.public-auth-story {
  display: flex;
  flex-direction: column;
  gap: 32px;
  padding: 36px 30px;
  background: linear-gradient(145deg, #f4e6fc, #fcece7);
}
.public-auth-brand { display: block; width: 168px; max-width: 100%; height: auto; }
.public-auth-badge { display: inline-block; padding: 7px 12px; border-radius: 999px; background: #ffffffc9; color: #584569; font-size: 11px; }
.public-auth-story h3 { margin: 20px 0 16px; color: #0c103f; font-size: 36px; line-height: 1.15; font-weight: 600; letter-spacing: -.045em; }
.public-auth-story-copy > p { margin: 0; color: #55536b; font-size: 14px; line-height: 1.7; }
.public-auth-preview { margin-block: auto; padding: 18px; border: 1px solid #fff; border-radius: 18px; background: #ffffffed; box-shadow: 0 10px 30px #5c34790a; }
.public-auth-preview-heading { display: flex; justify-content: space-between; gap: 8px; margin-bottom: 18px; font-size: 12px; font-weight: 600; }
.public-auth-preview-heading > span:last-child { color: #6c6579; font-size: 10px; font-weight: 400; }
.public-auth-preview-row { display: flex; align-items: center; gap: 10px; padding-block: 10px; }
.public-auth-preview-row strong { display: block; font-size: 12px; font-weight: 500; }
.public-auth-preview-row small { display: block; margin-top: 4px; color: #68667b; font-size: 11px; }
.public-auth-check, .public-auth-progress { display: grid; place-items: center; flex: 0 0 32px; height: 32px; border-radius: 50%; background: #def6ed; color: #137756; }
.public-auth-progress { background: #efebfc; color: #7353a0; }
.public-auth-preview-track { height: 5px; margin-top: 16px; overflow: hidden; border-radius: 8px; background: #f3edf8; }
.public-auth-preview-track span { display: block; width: 74%; height: 100%; background: linear-gradient(90deg, #eab1dc, #adabf4); }
.public-auth-preview > p { margin: 10px 0 0; color: #68667b; font-size: 10px; }
.public-auth-story-note { margin: 0; color: #686074; font-size: 11px; letter-spacing: .02em; }
.public-auth-content { min-width: 0; padding: 44px 36px 30px; }
.readable-home .landing-auth-modal-header { margin-bottom: 24px; padding-right: 20px; }
.readable-home .landing-auth-modal-eyebrow { margin-bottom: 10px; color: #765987; font-size: 11px; font-weight: 600; letter-spacing: .09em; }
.readable-home .landing-auth-modal-header h2 { color: #0c103f; font-size: 30px; line-height: 1.15; font-weight: 600; letter-spacing: -.04em; }
.readable-home .landing-auth-modal-subtitle { color: #616078; font-size: 14px; line-height: 1.6; }
.readable-home .landing-auth-modal-close { z-index: 1; top: 12px; right: 12px; width: 34px; height: 34px; min-width: 34px; min-height: 34px; border: 1px solid #eceaf2; border-radius: 50%; background: #fff; color: #58566a; font-size: 23px; font-weight: 400; }
.readable-home .landing-auth-modal-close:hover { background: #f4eff8; }
.readable-home .landing-auth-tabs { gap: 4px; padding: 4px; margin-bottom: 24px; border: 1px solid #eeebf3; border-radius: 999px; background: #f7f5fa; }
.readable-home .landing-auth-tab { min-height: 40px; border-radius: 999px; color: #646078; font-size: 13px; font-weight: 500; }
.readable-home .landing-auth-tab.is-active { border-color: #e9e4ef; color: #151339; background: #fff; box-shadow: 0 2px 5px #16132b08; }
.readable-home .landing-auth-form { gap: 17px; }
.readable-home .landing-auth-grid { gap: 16px 14px; }
.readable-home .landing-auth-field { min-width: 0; gap: 8px; color: #3d3b56; font-size: 12px; font-weight: 500; }
.readable-home .landing-auth-field input { width: 100%; min-width: 0; min-height: 46px; padding: 12px 14px; border: 1px solid #ddd9e6; border-radius: 11px; background: #fff; color: #171437; font-size: 14px; font-weight: 400; transition: border-color .15s; }
.readable-home .landing-auth-field input::placeholder { color: #777187; }
.readable-home .landing-auth-field input:hover { border-color: #bab1c9; }
.readable-home .landing-auth-field input:focus { border-color: #9a80b3; }
.readable-home .landing-auth-submit { min-height: 48px; margin-top: 4px; border: 1px solid #3b3b48; border-radius: 999px; background: linear-gradient(180deg, #484a5b, #11121c); color: #fff; font-size: 14px; font-weight: 500; box-shadow: 0 2px 4px #11132212; }
.readable-home .landing-auth-submit:hover { background: linear-gradient(180deg, #56556a, #242332); }
.readable-home .landing-auth-submit:disabled { opacity: .6; cursor: wait; }
.readable-home .landing-auth-link, .readable-home .landing-auth-legal a { color: #65477f; font-size: inherit; font-weight: 500; text-underline-offset: 3px; }
.readable-home .landing-auth-link:hover { color: #3e245a; }
.readable-home .landing-auth-footer-text { margin-top: 3px; color: #656177; font-size: 12px; text-align: center; }
.readable-home .landing-auth-legal { margin: 0; color: #656177; font-size: 11px; line-height: 1.6; }
.readable-home .landing-auth-secondary-action { margin: -3px 0 0; font-size: 12px; text-align: right; }
.public-auth-hint { margin: 0; color: #656177; font-size: 11px; }
.readable-home .landing-auth-status { font-size: 13px; font-weight: 400; }
.public-auth[data-auth-panel="forgot"] .landing-auth-tabs,
.public-auth[data-auth-panel="reset"] .landing-auth-tabs { display: none; }
.collectivites-modern .collectivites-register-modal .landing-auth-modal-panel { background: #fff; }
.collectivites-modern .collectivites-register-modal .landing-auth-modal-eyebrow { color: #765987; }

@media (max-width: 760px) {
  .readable-home .public-auth { width: min(500px, calc(100vw - 24px)); }
  .readable-home .public-auth .landing-auth-modal-panel { display: block; }
  .public-auth-story { display: block; padding: 24px; }
  .public-auth-brand { width: 144px; }
  .public-auth-story-copy, .public-auth-preview, .public-auth-story-note { display: none; }
  .public-auth-content { padding: 26px 24px; }
  .readable-home .landing-auth-modal-header h2 { font-size: 28px; }
  .readable-home .landing-auth-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 420px) {
  .public-auth-content { padding: 24px 20px; }
  .readable-home .landing-auth-grid { grid-template-columns: 1fr; }
  .readable-home .landing-auth-modal, .readable-home .landing-auth-modal-panel { max-height: calc(100dvh - 24px); border-radius: 20px; }
}
