
/* CHA v44 — Sign-in page final structure fix
   Keeps the public home header/footer markup intact and isolates only the login stage.
   Design tokens follow Cuba Health Assist Design System v2.0: Inter, 8pt grid,
   #0E7C7B primary, #084D4D footer surface, 16px cards, teal-tinted shadows. */
:root{
  --cha-teal:#0E7C7B;
  --cha-teal-700:#0B6463;
  --cha-teal-800:#084D4D;
  --cha-teal-50:#E8F4F4;
  --cha-teal-100:#CCEAEA;
  --cha-teal-200:#9FD7D6;
  --cha-teal-400:#2AA8A6;
  --cha-ink:#1E293B;
  --cha-muted:#64748B;
  --cha-border:#E2E8F0;
  --cha-surface:#FFFFFF;
  --cha-shadow-sm:0 1px 2px rgba(14,124,123,.05);
  --cha-shadow-lg:0 10px 30px -10px rgba(14,124,123,.18);
}
body.cha-signin-page{
  margin:0;
  background:#fff;
  color:var(--cha-ink);
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  overflow-x:hidden;
}
/* Keep home header visually stable on auth page. */
body.cha-signin-page header#top{
  background:rgba(255,255,255,.96)!important;
  border-bottom:1px solid rgba(226,232,240,.9)!important;
  backdrop-filter:saturate(170%) blur(14px);
  -webkit-backdrop-filter:saturate(170%) blur(14px);
}
body.cha-signin-page header#top a,
body.cha-signin-page header#top button{
  font-weight:500!important;
}
body.cha-signin-page header#top a[href="/apply/"],
body.cha-signin-page header#top .btn-primary-nav{
  font-weight:600!important;
}
/* Normal document flow: login first, footer after. No absolute/fixed footer behavior. */
.cha-signin-main{
  position:relative;
  overflow:hidden;
  padding:96px 20px 104px;
  background:
    radial-gradient(120% 80% at 15% 10%, rgba(232,244,244,.95) 0%, transparent 55%),
    radial-gradient(100% 70% at 90% 100%, rgba(42,168,166,.22) 0%, transparent 60%),
    linear-gradient(180deg,#fff 0%, #F8FAFB 100%);
  border-bottom:1px solid rgba(226,232,240,.8);
  min-height:calc(100vh - 128px);
}
.cha-signin-main .auth-bg{
  position:absolute;
  inset:0;
  pointer-events:none;
  overflow:hidden;
  background:none!important;
}
.cha-signin-main .auth-bg__grid{
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(to right, rgba(30,41,59,.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(30,41,59,.04) 1px, transparent 1px);
  background-size:32px 32px;
  opacity:.55;
}
.cha-signin-main .auth-bg__orb{position:absolute;border-radius:9999px;filter:blur(80px);opacity:.34;}
.cha-signin-main .auth-bg__orb--a{top:-160px;left:-120px;width:420px;height:420px;background:radial-gradient(circle,var(--cha-teal-400) 0%,transparent 70%);}
.cha-signin-main .auth-bg__orb--b{bottom:-190px;right:-120px;width:520px;height:520px;background:radial-gradient(circle,var(--cha-teal) 0%,transparent 70%);}
.cha-signin-main .auth-bg__pulse{position:absolute;right:12%;top:50%;color:var(--cha-teal);opacity:.15;}
.cha-signin-main .auth-stage{
  position:relative!important;
  z-index:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:auto!important;
  flex:initial!important;
  padding:0!important;
  width:100%;
}
.cha-signin-main .auth-card{
  width:100%!important;
  max-width:520px!important;
  margin:0 auto!important;
  background:#fff!important;
  border:1px solid rgba(226,232,240,.9)!important;
  border-radius:16px!important;
  box-shadow:var(--cha-shadow-lg)!important;
  padding:40px!important;
}
.cha-signin-main .brand-header{gap:16px;}
.cha-signin-main .brand-header__logo img{height:32px;width:auto;max-width:210px;object-fit:contain;}
.cha-signin-main .brand-pill{
  border-color:var(--cha-teal-200);
  background:var(--cha-teal-50);
  color:var(--cha-teal-700);
  font-size:12px;
  font-weight:500;
}
.cha-signin-main .auth-header__title{
  color:var(--cha-ink);
  font-size:30px!important;
  line-height:1.2!important;
  font-weight:700!important;
  letter-spacing:-.02em!important;
}
.cha-signin-main .auth-header__desc{
  color:var(--cha-muted)!important;
  font-size:14px!important;
  line-height:1.55!important;
  font-weight:400!important;
}
.cha-signin-main .field__label{font-weight:500!important;color:var(--cha-ink)!important;}
.cha-signin-main .field__input{
  height:44px!important;
  border-radius:8px!important;
  border:1px solid var(--cha-border)!important;
  background:#fff!important;
  font-size:14px!important;
}
.cha-signin-main .field__input:focus{
  border-color:var(--cha-teal)!important;
  box-shadow:0 0 0 4px rgba(14,124,123,.10)!important;
}
.cha-signin-main .btn-submit{
  height:44px!important;
  border-radius:8px!important;
  background:var(--cha-teal)!important;
  font-size:14px!important;
  line-height:20px!important;
  font-weight:600!important;
  box-shadow:var(--cha-shadow-sm)!important;
}
.cha-signin-main .btn-submit:hover{background:var(--cha-teal-700)!important;}
.cha-signin-main .footer-switch,
.cha-signin-main .divider span,
.cha-signin-main .row-between,
.cha-signin-main .link-primary{
  font-size:13px!important;
}
.cha-signin-main .link-primary,
.cha-signin-main .footer-switch a{color:var(--cha-teal)!important;font-weight:500!important;}
/* Restore footer to normal flow, using home footer styling. */
body.cha-signin-page footer{
  position:relative!important;
  z-index:2!important;
  margin:0!important;
  clear:both!important;
}
body.cha-signin-page footer h3{font-weight:600!important;letter-spacing:-.01em!important;}
body.cha-signin-page footer h4{font-weight:600!important;}
body.cha-signin-page footer a,
body.cha-signin-page footer p,
body.cha-signin-page footer span{font-weight:400;}
body.cha-signin-page footer button,
body.cha-signin-page footer .font-semibold{font-weight:600!important;}
@media (max-width:1023px){
  .cha-signin-main{padding:80px 20px 88px;min-height:auto;}
}
@media (max-width:720px){
  .cha-signin-main{padding:56px 20px 64px;}
  .cha-signin-main .auth-card{padding:24px 18px!important;border-radius:16px!important;}
  .cha-signin-main .brand-header{align-items:flex-start!important;gap:12px!important;}
  .cha-signin-main .brand-header__logo img{height:28px;max-width:170px;}
  .cha-signin-main .brand-pill{white-space:normal;line-height:1.3;min-height:28px;}
  .cha-signin-main .auth-header__title{font-size:28px!important;}
  .cha-signin-main .social-row,.cha-signin-main .divider{display:none!important;}
}
@media (prefers-reduced-motion:reduce){
  .cha-signin-page *, .cha-signin-page *::before, .cha-signin-page *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}
