/* Student Repair R3. Auth presentation only; normal document flow and scrolling.
   This replaces the R1/R2 override so mobile menu visibility has one owner. */
html.ud-auth-page.ud-ui-scale-app:has(.auth-fit-r3) {
  zoom:1!important; min-height:100%; scroll-padding-top:20px; color-scheme:light;
  background:#302854!important;
}
html.ud-auth-page.ud-ui-scale-app > body.public-body:has(.auth-fit-r3) {
  display:flex!important; flex-direction:column; width:100%!important;
  min-width:0!important; min-height:100vh!important; min-height:100svh!important;
  height:auto!important; margin:0!important; color:#20243b;
  background:
    radial-gradient(ellipse at 0% 8%,rgba(246,213,137,.22),transparent 48%),
    radial-gradient(ellipse at 100% 95%,rgba(113,211,166,.20),transparent 48%),
    linear-gradient(125deg,#33294e 0%,#39336c 50%,#263f50 100%)!important;
}
html.ud-auth-page body.public-body>.site-header {
  order:0; position:relative!important; top:auto!important; flex:0 0 auto;
  width:100%; background:#faf9fe!important; border-bottom:1px solid #e6e3ef!important;
  backdrop-filter:none!important; z-index:20;
}
html.ud-auth-page .site-header .navbar {
  display:flex!important; align-items:center; justify-content:space-between;
  flex-wrap:nowrap; width:calc(100% - 64px)!important; max-width:1280px;
  min-height:80px!important; margin-inline:auto; padding:12px 0!important; gap:24px;
}
html.ud-auth-page .site-header .brand {flex:0 0 auto; min-width:0}
html.ud-auth-page .site-header .ud-brand-horizontal {width:184px!important;max-width:100%;height:auto!important}
html.ud-auth-page .site-header .nav-links {
  gap:clamp(12px,1.5vw,24px)!important; margin-left:auto;
  font-size:14px; font-weight:600;
}
html.ud-auth-page .site-header .nav-links>a {display:inline-flex!important;align-items:center;min-height:44px;white-space:nowrap}
html.ud-auth-page .site-header .nav-links .button {padding:11px 18px!important;font-size:14px!important}
html.ud-auth-page .site-header .ud-public-menu-toggle[hidden],
html.ud-auth-page .site-header #ud-public-links[hidden] {display:none!important}
html.ud-auth-page body.public-body>.flash-container {
  position:static!important; inset:auto!important; transform:none!important;
  order:1; width:calc(100% - 48px); max-width:1000px; align-self:center;
  margin:20px auto 0; z-index:auto;
}
html.ud-auth-page body.public-body>main {
  order:2; display:flex!important; flex-direction:column; flex:1 0 auto;
  width:100%; min-width:0; min-height:0!important; margin:0!important;padding:0!important;
}
html.ud-auth-page body.public-body>.site-footer {display:none!important}
html.ud-auth-page .public-body .auth-section.auth-fit-r3 {
  display:flex!important; flex-direction:column!important; align-items:center!important;
  justify-content:center!important; flex:1 0 auto!important; gap:28px!important;
  width:100%!important; height:auto!important; min-height:0!important;
  padding:clamp(36px,5vw,72px) clamp(24px,4vw,64px) 28px!important;
  overflow:visible!important; background:transparent!important; transform:none!important;
}
html.ud-auth-page .auth-section::before,
html.ud-auth-page .auth-section::after,
html.ud-auth-page .auth-login-showcase::before {content:none!important;display:none!important}
html.ud-auth-page .public-body .auth-fit-r3 .auth-container {
  display:grid!important; grid-template-columns:minmax(0,1fr) minmax(0,540px)!important;
  align-items:center!important; gap:clamp(36px,5vw,80px)!important;
  width:100%!important; max-width:1280px!important; min-width:0;
  max-height:none!important; margin:0 auto!important;
}
html.ud-auth-page .public-body .auth-fit-r3 .auth-heading {
  display:block!important; margin:0!important; padding:8px 0!important;
  min-width:0; min-height:0!important; max-height:none!important;
  border:0!important; border-radius:0!important; background:transparent!important;
  box-shadow:none!important; overflow:visible!important; text-align:left!important; backdrop-filter:none!important;
}
html.ud-auth-page .public-body .auth-fit-r3 .auth-heading>.eyebrow {
  color:#f0dda9!important; font-size:11px!important; font-weight:750;letter-spacing:.13em!important;
}
html.ud-auth-page .public-body .auth-fit-r3 .auth-heading h1 {
  color:#fff!important; font-size:clamp(34px,3.2vw,48px)!important;
  line-height:1.12!important; letter-spacing:-.04em!important;
  max-width:550px!important; margin:20px 0 16px!important;
}
html.ud-auth-page .public-body .auth-fit-r3 .auth-heading>p {
  color:#e2dfef!important; font-size:16px!important; line-height:1.7!important;
  max-width:520px!important; margin:0!important;
}
html.ud-auth-page .public-body .auth-fit-r3 .auth-benefit-grid {
  display:grid!important; grid-template-columns:1fr 1fr!important; gap:14px!important; margin-top:28px!important;
}
html.ud-auth-page .public-body .auth-fit-r3 .auth-benefit-card {
  min-width:0; min-height:0!important; padding:18px!important; border:1px solid #ffffff26!important;
  border-radius:16px!important; background:#ffffff09!important; backdrop-filter:none!important;
}
html.ud-auth-page .public-body .auth-fit-r3 .auth-benefit-icon {
  display:flex!important; align-items:center; justify-content:center; width:32px!important; height:32px!important;
  border-radius:10px!important; background:#ffffff16!important; color:#ede8ff!important;
}
html.ud-auth-page .public-body .auth-fit-r3 .auth-benefit-icon svg {width:19px!important;height:19px!important}
html.ud-auth-page .public-body .auth-fit-r3 .auth-benefit-card strong {
  display:block!important; margin-top:12px!important; font-size:14px!important;line-height:1.4!important;color:#fff!important;
}
html.ud-auth-page .public-body .auth-fit-r3 .auth-benefit-card small {
  display:block!important; margin-top:7px!important; font-size:13px!important;line-height:1.6!important;color:#dedbea!important;
}
html.ud-auth-page .public-body .auth-fit-r3 .auth-showcase-note {
  margin-top:22px!important; font-size:13px!important;line-height:1.7!important;color:#e2dfed!important;
}
html.ud-auth-page .auth-showcase-orbit {display:none!important}
html.ud-auth-page .public-body .auth-fit-r3 .auth-card {
  width:100%!important; max-width:540px!important; min-width:0; min-height:0!important;
  max-height:none!important; justify-self:end!important; margin:0!important; padding:36px!important;
  border:1px solid #e9e5f2!important; border-radius:28px!important;
  background:#fff!important; box-shadow:0 24px 64px #13142d30!important;
  overflow:visible!important; transform:none!important; backdrop-filter:none!important;
}
html.ud-auth-page .auth-card-mobile-brand {display:none!important}
html.ud-auth-page .public-body .auth-fit-r3 .auth-card-head {margin-bottom:24px!important}
html.ud-auth-page .public-body .auth-fit-r3 .auth-card-head>span {
  color:#6750be!important; font-size:11px!important;letter-spacing:.12em!important;line-height:1.5;
}
html.ud-auth-page .public-body .auth-fit-r3 .auth-card-head h2 {
  color:#23243a!important; font-size:30px!important;line-height:1.2!important;letter-spacing:-.035em!important;margin:9px 0!important;
}
html.ud-auth-page .public-body .auth-fit-r3 .auth-card-head p {
  color:#616b80!important; font-size:14px!important;line-height:1.65!important;margin:8px 0 0!important;
}
html.ud-auth-page .public-body .auth-fit-r3 .auth-card form {display:block!important;margin:0!important}
html.ud-auth-page .public-body .auth-fit-r3 .auth-card .form-group {margin:0 0 18px!important;min-width:0!important}
html.ud-auth-page .public-body .auth-fit-r3 .auth-card .form-group label {
  display:block!important;font-size:14px!important;font-weight:650!important;line-height:1.5!important;margin:0 0 7px!important;color:#354056!important;
}
html.ud-auth-page .public-body .auth-fit-r3 .auth-card .form-input {
  width:100%!important;min-width:0;max-width:100%;height:auto!important;min-height:50px!important;
  padding:13px 14px!important;border:1px solid #dce0eb!important;border-radius:12px!important;
  font-size:16px!important;line-height:1.45!important;background:#f8f9fc!important;color:#25304a!important;
}
html.ud-auth-page .public-body .auth-fit-r3 .auth-card .form-input:focus {
  outline:none!important;border-color:#8064d5!important;box-shadow:0 0 0 4px #8064d51c!important;
}
html.ud-auth-page .public-body .auth-fit-r3 .auth-card .password-input-shell .form-input {padding-right:50px!important}
html.ud-auth-page .public-body .auth-fit-r3 .auth-submit {
  width:100%!important;min-height:50px!important;height:auto!important;margin-top:4px!important;
  padding:13px 18px!important;border-radius:12px!important;font-size:15px!important;font-weight:750!important;
  background:linear-gradient(110deg,#7152d8,#5f46c8)!important;color:#fff!important;
  box-shadow:0 7px 16px #6849cd24!important;
}
html.ud-auth-page .auth-card .auth-submit:hover {filter:brightness(.96)}
html.ud-auth-page .auth-card :is(a,button,input[type=submit]):focus-visible,
html.ud-auth-page .auth-fit-links a:focus-visible {outline:3px solid #a38ae7!important;outline-offset:3px}
html.ud-auth-page .public-body .auth-fit-r3 .google-auth-section {
  min-height:44px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;
}
html.ud-auth-page .google-auth-label {display:none!important}
html.ud-auth-page .google-signin-container {display:flex!important;justify-content:center!important;margin:0!important;max-width:100%}
html.ud-auth-page .google-signin-render-target {max-width:100%}
html.ud-auth-page .google-auth-message:empty {display:none!important}
html.ud-auth-page .public-body .auth-fit-r3 .google-auth-message:not(:empty) {
  min-height:0!important; margin:12px 0!important; font-size:14px!important;line-height:1.6!important;
}
html.ud-auth-page .public-body .auth-fit-r3 .auth-divider {margin:20px 0!important;font-size:13px!important;line-height:1.5!important}
html.ud-auth-page .public-body .auth-fit-r3 .auth-switch,
html.ud-auth-page .public-body .auth-fit-r3 .auth-institution {
  font-size:14px!important;line-height:1.65!important;text-align:center!important;color:#616b80!important;
}
html.ud-auth-page .public-body .auth-fit-r3 .auth-switch {margin:20px 0 0!important}
html.ud-auth-page .public-body .auth-fit-r3 .auth-institution {margin:14px 0 0!important;padding-top:14px!important;border-top:1px solid #eceef4}
html.ud-auth-page .auth-card :is(.auth-switch,.auth-institution) a {color:#6447bd!important;font-weight:700;text-underline-offset:3px}
html.ud-auth-page .auth-card :is(.auth-switch,.auth-institution) a:hover {text-decoration:underline}
html.ud-auth-page .public-body .auth-fit-r3 .auth-form-note,
html.ud-auth-page .public-body .auth-fit-r3 .form-hint {font-size:13px!important;line-height:1.6!important;color:#616b80!important;margin:9px 0 0!important}
html.ud-auth-page .public-body .auth-fit-r3 .auth-card .form-error {display:block;font-size:13px!important;line-height:1.6!important;margin-top:6px;overflow-wrap:anywhere;color:#b12742}
html.ud-auth-page .public-body .auth-fit-r3 .auth-fit-links {
  position:static!important;display:flex!important;justify-content:center;align-items:center;
  flex-wrap:wrap;gap:4px 22px;width:100%;margin:0!important;padding:0!important;
  font-size:13px!important;line-height:1.5;color:#e5e2ee;
}
html.ud-auth-page .auth-fit-links a {display:inline-flex;align-items:center;min-height:44px;color:inherit;text-decoration:none}
html.ud-auth-page .auth-fit-links a:hover {text-decoration:underline;text-underline-offset:4px}
html.ud-auth-page .auth-institution-showcase .auth-showcase-flow {display:grid!important;grid-template-columns:1fr!important;gap:18px!important;margin-top:28px!important}
html.ud-auth-page .auth-institution-showcase .auth-showcase-flow>div {display:grid!important;grid-template-columns:36px 1fr;gap:3px 14px;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important}
html.ud-auth-page .auth-institution-showcase .auth-showcase-flow>div>span {grid-row:1 / 3;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #ffffff30;border-radius:10px;color:#e9d9b0;font-size:12px}
html.ud-auth-page .auth-institution-showcase .auth-showcase-flow strong {font-size:15px!important;color:#fff!important}
html.ud-auth-page .auth-institution-showcase .auth-showcase-flow small {font-size:14px!important;line-height:1.6!important;color:#dedbea!important}
@media(min-width:901px) {
  html.ud-auth-page .site-header .ud-public-menu-toggle {display:none!important}
}
@media(max-width:1100px) and (min-width:981px) {
  html.ud-auth-page .public-body .auth-fit-r3 .auth-container {grid-template-columns:minmax(0,1fr) minmax(0,480px)!important;gap:32px!important}
  html.ud-auth-page .public-body .auth-fit-r3 .auth-benefit-card {padding:14px!important}
}
@media(max-width:980px) {
  html.ud-auth-page .public-body .auth-section.auth-fit-r3 {padding:40px 28px 24px!important;justify-content:flex-start!important;gap:24px!important}
  html.ud-auth-page .public-body .auth-fit-r3 .auth-container {display:block!important;max-width:560px!important}
  html.ud-auth-page .public-body .auth-fit-r3 .auth-heading {display:none!important}
  html.ud-auth-page .public-body .auth-fit-r3 .auth-card {max-width:none!important;padding:34px!important}
}
@media(max-width:900px) {
  html.ud-auth-page .site-header .navbar {flex-wrap:wrap!important;gap:0 16px;width:calc(100% - 48px)!important;min-height:72px!important}
  html.ud-auth-page .site-header .ud-brand-horizontal {width:168px!important}
  html.ud-auth-page .public-body.ud-public-menu-ready .site-header .ud-public-menu-toggle:not([hidden]) {display:flex!important}
  html.ud-auth-page .site-header .nav-links {flex-basis:100%;margin:12px 0 0!important;gap:8px!important}
  html.ud-auth-page .public-body.ud-public-menu-ready .site-header #ud-public-links:not([hidden]) {
    display:grid!important;grid-template-columns:1fr 1fr;box-shadow:none!important;background:#fff!important;
    padding:12px!important;border:1px solid #e6e1f1;border-radius:16px;
  }
  /* Without JS, links remain available in normal flow. No inaccessible menu. */
  html.ud-auth-page .public-body:not(.ud-public-menu-ready) .site-header #ud-public-links {display:flex!important;flex-wrap:wrap;justify-content:center}
  html.ud-auth-page .site-header #ud-public-links>a {justify-content:center;min-height:44px!important}
}
@media(max-width:600px) {
  html.ud-auth-page .public-body .auth-section.auth-fit-r3 {padding:32px 24px 24px!important;gap:20px!important}
  html.ud-auth-page .public-body .auth-fit-r3 .auth-card {padding:28px 24px!important;border-radius:24px!important}
  html.ud-auth-page .public-body .auth-fit-r3 .auth-card-head h2 {font-size:28px!important}
  html.ud-auth-page .public-body .auth-fit-r3 .auth-fields-fit {grid-template-columns:1fr!important}
  html.ud-auth-page .public-body .auth-fit-r3 .auth-fit-links {gap:2px 18px;font-size:13px!important}
}
@media(max-width:360px) {
  html.ud-auth-page .site-header .navbar {width:calc(100% - 32px)!important}
  html.ud-auth-page .site-header .ud-brand-horizontal {width:148px!important}
  html.ud-auth-page .public-body .auth-section.auth-fit-r3 {padding:24px 16px!important}
  html.ud-auth-page .public-body .auth-fit-r3 .auth-card {padding:25px 20px!important}
  html.ud-auth-page .public-body .auth-fit-r3 .auth-card-head h2 {font-size:25px!important}
}
@media(prefers-reduced-motion:reduce) {
  html.ud-auth-page *,html.ud-auth-page *::before,html.ud-auth-page *::after {animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
