/* Staging public experience -------------------------------------------------
   A shared finishing layer for registration, learner access, and recovery.
   Page-specific CSS keeps each workflow's identity; this layer standardizes
   type scale, controls, surfaces, focus treatment, and responsive behavior. */
:root{
  --v2-ink:#12243a;
  --v2-muted:#5f7187;
  --v2-blue:#0f7fd8;
  --v2-blue-dark:#0867b4;
  --v2-line:#dbe5ef;
  --v2-canvas:#f2f6fa;
  --v2-surface:#fff;
  --v2-radius:16px;
  --v2-shadow:0 18px 48px rgba(22,42,72,.10);
}
html{font-size:16px;scroll-behavior:smooth}
body{color:var(--v2-ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body,button,input,select,textarea{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
h1,h2,h3,.form-title,.page-title{letter-spacing:-.025em}
p,.form-sub,.sub,.secondary{line-height:1.55}
a{color:var(--v2-blue-dark);text-underline-offset:3px}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button,.btn,.btn-submit,.btn-checkin,.btn-primary,input[type=submit]{min-height:44px}
input:not([type=checkbox]):not([type=radio]),select,textarea,.form-input,.input,.select{
  min-height:48px;
  border-radius:11px;
  font-size:16px;
}
textarea{min-height:112px}
input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{
  outline:3px solid rgba(15,127,216,.24)!important;
  outline-offset:2px;
}
.card,.panel,.search-card,.reg-card,.login-shell-card,.req-box,.course,.next-card{
  border-radius:var(--v2-radius);
}
.form-wrap,.login-shell-card,.search-card,.reg-card,.card{
  box-shadow:var(--v2-shadow);
}
.form-title{font-size:clamp(2rem,4vw,2.75rem)!important;line-height:1.08!important}
.form-sub{font-size:1rem!important;color:var(--v2-muted)!important}
.field label,.form-label,.search-label{font-size:.88rem!important;font-weight:750!important}
.btn,.btn-submit,.btn-checkin,.btn-primary{
  border-radius:11px!important;
  font-weight:750!important;
  letter-spacing:0!important;
}
.wrap{width:min(100% - 36px,1240px)!important}
table{font-size:.9rem}
th{font-size:.75rem;letter-spacing:.055em}

@media(max-width:760px){
  html{font-size:16px}
  .brand-side{min-height:auto!important}
  .form-side{padding:28px 20px max(32px,env(safe-area-inset-bottom))!important}
  .form-wrap{width:100%!important;max-width:none!important;padding:26px 22px!important}
  .form-title{font-size:2rem!important}
  .hero-inner,.top-inner,.portal-nav-inner{padding-left:18px!important;padding-right:18px!important}
  .wrap{width:min(100% - 28px,1240px)!important}
  .actions,.search-row,.return-actions{gap:10px}
  .actions>*{min-width:0}
  .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
