/* Authentication content only. Existing authentication contracts remain intact. */
/* Two existing IDs outrank legacy per-button ID rules without touching shared CSS. */
.v21-auth-page #main #aiterich-auth-unified .aiterich-btn {background:#315fae!important;color:#fff!important;border-color:#315fae!important}
.v21-auth-page #main #aiterich-auth-unified .aiterich-btn:hover:not(:disabled) {background:#254d92!important}
.v21-auth-page #main #aiterich-auth-unified .aiterich-btn:disabled {background:#e5eaf0!important;color:#59677a!important;border-color:#d9e1ec!important}
.v21-auth-page #main #aiterich-auth-unified .aiterich-auth-pill {background:#fff!important;color:#315fae!important;border-color:#b8c8df!important}
.v21-auth-page #main #aiterich-auth-unified.aiterich-auth-unified--logged-out .aiterich-auth-pill:first-child {background:#315fae!important;color:#fff!important;border-color:#315fae!important}
.v21-auth-page #main #aiterich-auth-unified .aiterich-auth-shell-hero-copy {width:100%!important;max-width:none!important;text-align:left!important}
.v21-auth-page #main #aiterich-auth-unified .aiterich-auth-shell-actions {justify-content:flex-start!important}
.v21-auth-page #main #aiterich-auth-unified .aiterich-auth-progress li.active {color:#315fae!important;border-color:#315fae!important}
.v21-auth-page #main #aiterich-auth-unified .aiterich-auth-progress li.active::before {background:#315fae!important;color:#fff!important}
.v21-auth-page #main #aiterich-auth-unified.aiterich-auth-unified--reset .aiterich-auth-pill {width:auto!important;padding:0!important;border:0!important;background:transparent!important;justify-content:flex-start!important}
.v21-auth-page #main #aiterich-auth-unified .aiterich-error {color:#a4262c!important}
.v21-auth-page #main #aiterich-auth-unified.aiterich-auth-unified--logged-out .aiterich-auth-shell-title,
.v21-auth-page #main #aiterich-auth-unified.aiterich-auth-unified--logged-out .aiterich-auth-shell-desc {text-align:center!important;text-wrap:balance}
.v21-auth-page #main #aiterich-auth-unified.aiterich-auth-unified--logged-out .aiterich-auth-shell-actions {justify-content:center!important}
.v21-auth-page #main {
  --auth-ink:#172033; --auth-copy:#465268; --auth-muted:#59677a;
  --auth-line:#d9e1ec; --auth-blue:#315fae; --auth-wash:#eef3f9;
  min-height:calc(100vh - 146px)!important;
  min-height:calc(100svh - 146px)!important;
  display:flex!important; align-items:center!important;
}
.v21-auth-page #main .v21-auth-content {
  min-height:0!important; width:100%!important;
  padding:40px 24px!important; display:flex!important; justify-content:center!important;
}
.v21-auth-page #main .aiterich-auth-unified {
  width:min(980px,100%)!important; max-width:980px!important; margin:0 auto!important;
  color:var(--auth-copy)!important; padding:0!important;
}
.v21-auth-page #main .aiterich-auth-shell {
  width:100%!important;max-width:none!important;margin:0!important;
  display:grid!important; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)!important;
  border:1px solid var(--auth-line)!important; border-radius:16px!important;
  overflow:hidden!important; background:#fff!important; box-shadow:0 16px 48px #1720330d!important;
}
.v21-auth-page #main .aiterich-auth-shell-hero {
  display:flex!important; flex-direction:column!important; justify-content:center!important;
  padding:40px!important; background:linear-gradient(145deg,#f0f5fb,#e5edf7)!important;
  color:var(--auth-ink)!important; border:0!important;
}
.v21-auth-page #main .aiterich-auth-shell-title {
  color:var(--auth-ink)!important; font-size:36px!important; line-height:1.3!important;
  letter-spacing:-.02em!important; text-shadow:none!important; margin:12px 0 16px!important;
}
.v21-auth-page #main .aiterich-auth-shell-kicker {
  color:var(--auth-blue)!important; font-size:11px!important; font-weight:700!important;
  letter-spacing:.12em!important;
}
.v21-auth-page #main .aiterich-auth-shell-kicker:empty {display:none!important}
.v21-auth-page #main .aiterich-auth-shell-desc {
  color:var(--auth-copy)!important; text-shadow:none!important; font-size:15px!important;
  line-height:1.8!important; margin:0!important;
}
.v21-auth-page #main .aiterich-auth-shell-actions {
  display:flex!important; flex-wrap:wrap!important; gap:10px!important; margin:28px 0 0!important;
}
.v21-auth-page #main .aiterich-auth-pill {
  display:inline-flex!important; justify-content:center!important; align-items:center!important;
  min-height:44px!important; padding:10px 18px!important; border:1px solid #b8c8df!important;
  border-radius:7px!important; background:#fff!important; color:var(--auth-blue)!important;
  font-size:14px!important; font-weight:600!important; box-shadow:none!important;
}
.v21-auth-page #main .aiterich-auth-pill:hover {background:#e4ecf8!important}
.v21-auth-page #main .aiterich-auth-shell-grid {
  display:block!important; margin:0!important; padding:0!important; background:#fff!important;
  border:0!important; box-shadow:none!important; min-width:0!important;
}
.v21-auth-page #main .aiterich-auth-shell-panel--forms {
  padding:32px 36px!important; width:100%!important; max-width:none!important;
  background:#fff!important; border:0!important; border-radius:0!important; box-shadow:none!important;
}
.v21-auth-page #main .aiterich-auth-title {color:var(--auth-ink)!important;font-size:24px!important;line-height:1.4!important}
.v21-auth-page #main .aiterich-auth-panel-subtitle {color:var(--auth-muted)!important;line-height:1.7!important}
.v21-auth-page #main .aiterich-auth-primary-tabs {gap:24px!important;border-bottom:1px solid var(--auth-line)!important}
.v21-auth-page #main .aiterich-auth-primary-tab {
  min-width:48px!important; min-height:44px!important; color:var(--auth-muted)!important;
  background:transparent!important; font-size:16px!important;
}
.v21-auth-page #main .aiterich-auth-primary-tab.active {color:var(--auth-ink)!important}
.v21-auth-page #main .aiterich-auth-primary-tab.active::after {background:var(--auth-blue)!important}
.v21-auth-page #main .aiterich-tabs {
  display:grid!important; grid-template-columns:1fr 1fr!important; gap:4px!important;
  padding:4px!important; margin:20px 0!important; border:1px solid var(--auth-line)!important;
  border-radius:8px!important; background:var(--auth-wash)!important;
}
.v21-auth-page #main .aiterich-tab {
  width:100%!important; min-height:42px!important; padding:8px!important;
  border:1px solid transparent!important; border-radius:5px!important; background:transparent!important;
  color:var(--auth-muted)!important; font-size:14px!important;
}
.v21-auth-page #main .aiterich-tab.active {background:#fff!important;border-color:var(--auth-line)!important;color:var(--auth-blue)!important}
.v21-auth-page #main .aiterich-tab.active::after {display:none!important}
.v21-auth-page #main .aiterich-float-field {position:relative!important;padding-top:24px!important;margin:0 0 14px!important}
.v21-auth-page #main .aiterich-float-field label {
  position:absolute!important; top:0!important; left:0!important; transform:none!important;
  padding:0!important; background:transparent!important; color:var(--auth-copy)!important;
  font-size:13px!important; line-height:20px!important; font-weight:600!important;
}
.v21-auth-page #main .aiterich-float-field input {
  width:100%!important; height:48px!important; padding:0 44px 0 12px!important;
  border:1px solid #bcc8d8!important; border-radius:7px!important;
  background:#fff!important; color:var(--auth-ink)!important; font-size:16px!important;
}
.v21-auth-page #main .aiterich-float-field input[type=password] {padding-right:84px!important}
.v21-auth-page #main .aiterich-float-field input:-webkit-autofill {
  -webkit-text-fill-color:var(--auth-ink)!important; box-shadow:0 0 0 1000px #f5f8fc inset!important;
}
.v21-auth-page #main .aiterich-float-field input:focus {border-color:var(--auth-blue)!important;outline:3px solid #315fae33!important;outline-offset:1px!important}
.v21-auth-page #main .aiterich-eye {
  top:26px!important; bottom:auto!important; right:4px!important; transform:none!important;
  min-width:44px!important; height:44px!important; padding:0 8px!important;
  background:transparent!important; color:var(--auth-blue)!important; border:0!important;
}
.v21-auth-page #main .aiterich-btn {
  min-height:48px!important; border:1px solid var(--auth-blue)!important; border-radius:7px!important;
  background:var(--auth-blue)!important; color:#fff!important; font-size:15px!important; box-shadow:none!important;
}
.v21-auth-page #main .aiterich-btn:hover:not(:disabled) {background:#254d92!important}
.v21-auth-page #main .aiterich-btn-outline {
  min-height:48px!important; border:1px solid #b8c8df!important; border-radius:7px!important;
  color:var(--auth-blue)!important; background:#f0f5fc!important;
}
.v21-auth-page #main .aiterich-btn:disabled,
.v21-auth-page #main .aiterich-btn-outline:disabled {background:#e5eaf0!important;color:#59677a!important;border-color:#d9e1ec!important;opacity:1!important}
.v21-auth-page #main .aiterich-auth-inline-split {display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:end!important}
.v21-auth-page #main .aiterich-auth-inline-split .aiterich-btn-outline {margin:0 0 14px!important;white-space:nowrap!important}
.v21-auth-page #main .aiterich-auth-text-link,
.v21-auth-page #main .aiterich-auth-privacy a {color:var(--auth-blue)!important;text-decoration:underline!important;text-underline-offset:3px}
.v21-auth-page #main .aiterich-auth-context-switch {margin:18px 0 0!important;text-align:left!important;color:var(--auth-muted)!important}
.v21-auth-page #main .aiterich-auth-context-switch button {
  padding:0 8px!important;min-height:44px!important;border:0!important;background:transparent!important;
  color:var(--auth-blue)!important;box-shadow:none!important;text-decoration:underline!important;
}
.v21-auth-page #main .aiterich-auth-privacy {margin-top:18px!important;color:var(--auth-muted)!important;line-height:1.8!important;font-size:12px!important}
.v21-auth-page #main .aiterich-steps li.active {color:var(--auth-blue)!important;border-color:var(--auth-blue)!important}
.v21-auth-page #main .aiterich-steps li.active::before {background:var(--auth-blue)!important;color:#fff!important}
.v21-auth-page #main :is(button,a):focus-visible {outline:3px solid #315fae!important;outline-offset:3px!important}
.v21-auth-page #main .aiterich-field-error {color:#a4262c!important}
.v21-auth-page #main .aiterich-float-field input[aria-invalid=true] {border-color:#b83b3b!important}
.v21-auth-page #main .aiterich-auth-unified--reset {max-width:600px!important}
.v21-auth-page #main .aiterich-auth-unified--reset .aiterich-auth-shell {display:block!important}
.v21-auth-page #main .aiterich-auth-unified--reset .aiterich-auth-shell-hero {padding:26px 36px!important}
.v21-auth-page #main .aiterich-auth-unified--reset .aiterich-auth-shell-title {font-size:28px!important;margin:0 0 10px!important}
.v21-auth-page #main .aiterich-auth-unified--reset .aiterich-auth-shell-actions {display:flex!important;margin-top:12px!important}
.v21-auth-page #main .aiterich-auth-unified--reset .aiterich-auth-pill {min-height:44px!important;padding:0!important;border:0!important;background:transparent!important;text-decoration:underline!important}
.v21-auth-page #main .aiterich-auth-unified--logged-out {max-width:600px!important}
.v21-auth-page #main .aiterich-auth-unified--logged-out .aiterich-auth-shell {display:block!important}
.v21-auth-page #main .aiterich-auth-unified--logged-out .aiterich-auth-shell-hero {background:#fff!important;padding:44px!important;text-align:left!important}
.v21-auth-page #main .aiterich-auth-unified--logged-out .aiterich-auth-shell-title {font-size:30px!important;margin:0 0 16px!important;text-align:left!important}
.v21-auth-page #main .aiterich-auth-unified--logged-out .aiterich-auth-pill:first-child {background:var(--auth-blue)!important;color:#fff!important;border-color:var(--auth-blue)!important}
.v21-auth-page #main .aiterich-auth-resume-panel {padding:32px!important;border:1px solid var(--auth-line)!important;border-radius:12px!important;background:#fff!important;color:var(--auth-copy)!important}
@media(max-width:760px) {
  .v21-auth-page #main #aiterich-auth-unified:not(.aiterich-auth-unified--reset):not(.aiterich-auth-unified--logged-out) .aiterich-auth-shell-actions {display:none!important}
  .v21-auth-page #main .v21-auth-content {padding:24px 16px!important}
  .v21-auth-page #main .aiterich-auth-unified {width:100%!important}
  .v21-auth-page #main .aiterich-auth-shell {display:block!important}
  .v21-auth-page #main .aiterich-auth-shell-hero {padding:24px!important}
  .v21-auth-page #main .aiterich-auth-shell-title {font-size:28px!important;margin:0 0 8px!important}
  .v21-auth-page #main .aiterich-auth-shell-desc {font-size:14px!important}
  .v21-auth-page #main .aiterich-auth-shell-panel--forms {padding:24px!important}
  .v21-auth-page #main .aiterich-auth-unified--reset .aiterich-auth-shell-hero {padding:24px!important}
  .v21-auth-page #main .aiterich-auth-unified--logged-out .aiterich-auth-shell-hero {padding:28px 24px!important}
}
@media(max-width:680px) {
  .v21-auth-page #main .aiterich-auth-unified--reset .aiterich-auth-shell-hero {padding:20px 24px!important}
  .v21-auth-page #main .aiterich-auth-unified--reset .aiterich-auth-shell-panel--forms {padding:20px!important}
  .v21-auth-page #main #aiterich-auth-unified.aiterich-auth-unified--logged-out .aiterich-auth-shell-actions {display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;width:100%!important}
  .v21-auth-page #main #aiterich-auth-unified.aiterich-auth-unified--logged-out .aiterich-auth-pill {width:100%!important;padding:10px 8px!important}
  .v21-auth-page #main #aiterich-auth-unified.aiterich-auth-unified--logged-out .aiterich-auth-pill:first-child {grid-column:1 / -1}
  .v21-auth-page #main {min-height:calc(100svh - 176px)!important}
  .v21-auth-page #main .aiterich-auth-shell-panel--forms {padding:24px 20px!important}
  .v21-auth-page #main .aiterich-auth-inline-split {grid-template-columns:1fr!important;gap:0!important}
  .v21-auth-page #main .aiterich-auth-inline-split .aiterich-btn-outline {width:100%!important}
}
@media(forced-colors:active) {
  .v21-auth-page #main .aiterich-auth-pill,
  .v21-auth-page #main .aiterich-btn {border:1px solid ButtonText!important}
}
