/* Beyond Care v108 — approved login composition rebuilt against the real auth overlay.
   Visual changes only: existing IDs, Supabase auth handlers and form behaviour remain intact. */

body #authOverlay{
  --bc105-paper:#f7f1e8;
  --bc105-paper2:#faf6ee;
  --bc105-ink:#15120f;
  --bc105-muted:#585049;
  --bc105-red:#df241c;
  position:fixed!important;
  inset:0!important;
  z-index:1000!important;
  display:grid;
  grid-template-columns:minmax(0,55%) minmax(520px,45%)!important;
  align-items:stretch!important;
  justify-content:stretch!important;
  padding:0!important;
  overflow:hidden!important;
  color:var(--bc105-ink)!important;
  background-color:var(--bc105-paper)!important;
  background-image:var(--bc63-paper-texture)!important;
  background-size:1536px auto!important;
  background-repeat:repeat-y!important;
  background-position:center top!important;
}
body #authOverlay::after{
  content:""!important;
  position:absolute!important;
  top:0!important;
  bottom:0!important;
  left:55%!important;
  width:1px!important;
  background:linear-gradient(180deg,transparent,rgba(36,29,24,.10) 10%,rgba(36,29,24,.10) 90%,transparent)!important;
  pointer-events:none!important;
  z-index:2!important;
}

/* LEFT / EDITORIAL STORY */
body #authOverlay .bc104-auth-story{
  position:relative!important;
  width:auto!important;
  min-width:0!important;
  min-height:100vh!important;
  padding:24px 28px 0 88px!important;
  display:block!important;
  overflow:hidden!important;
  border:0!important;
  background:transparent!important;
  z-index:1!important;
}
body #authOverlay .bc104-auth-story::after{display:none!important;content:none!important}
body #authOverlay .bc104-auth-brand{
  position:relative!important;
  z-index:8!important;
  display:inline-flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  text-decoration:none!important;
  color:var(--bc105-ink)!important;
  font-family:'Vidaloka',serif!important;
  font-size:31px!important;
  font-weight:400!important;
  line-height:1!important;
  letter-spacing:-.028em!important;
  text-transform:none!important;
}
body #authOverlay .bc104-auth-brand>span{
  font-family:'Vidaloka',serif!important;
  font-size:inherit!important;
  font-weight:400!important;
  line-height:inherit!important;
  letter-spacing:inherit!important;
  text-transform:none!important;
}
body #authOverlay .bc104-auth-brand i{
  display:block!important;
  width:58px!important;
  height:2px!important;
  margin:8px 0 0 115px!important;
  background:var(--bc105-red)!important;
  border-radius:999px!important;
  transform:rotate(-2deg)!important;
}
body #authOverlay .bc104-auth-story-copy{
  position:relative!important;
  z-index:7!important;
  margin-top:55px!important;
  max-width:820px!important;
}
body #authOverlay .bc104-auth-kicker{
  display:inline-block!important;
  position:relative!important;
  margin:0 0 28px!important;
  color:#211c18!important;
  font-family:'Inter',sans-serif!important;
  font-size:15.5px!important;
  font-weight:600!important;
  line-height:1.1!important;
  letter-spacing:.155em!important;
  text-transform:uppercase!important;
}
body #authOverlay .bc104-auth-kicker::after{
  content:""!important;
  display:block!important;
  width:100%!important;
  height:2px!important;
  margin-top:10px!important;
  background:var(--bc105-red)!important;
  transform:rotate(-.45deg)!important;
}
body #authOverlay .bc104-auth-story-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 286px!important;
  gap:34px!important;
  align-items:start!important;
}
body #authOverlay .bc104-auth-story h2{
  position:relative!important;
  z-index:7!important;
  max-width:600px!important;
  margin:0!important;
  color:var(--bc105-ink)!important;
  font-family:'Vidaloka',serif!important;
  font-size:clamp(78px,5.45vw,96px)!important;
  font-weight:400!important;
  line-height:.93!important;
  letter-spacing:-.048em!important;
}
body #authOverlay .bc104-auth-story h2 em{
  color:var(--bc105-red)!important;
  font-family:'Vidaloka',serif!important;
  font-style:italic!important;
  font-weight:400!important;
}
body #authOverlay .bc104-auth-story p{
  position:relative!important;
  z-index:7!important;
  max-width:580px!important;
  margin:27px 0 0!important;
  color:#4f4841!important;
  font-family:'Inter',sans-serif!important;
  font-size:19px!important;
  font-weight:400!important;
  line-height:1.5!important;
  letter-spacing:-.018em!important;
}
body #authOverlay .bc104-auth-handnote{
  position:relative!important;
  z-index:8!important;
  margin-top:80px!important;
  color:#292520!important;
  transform:rotate(-3.3deg)!important;
}
body #authOverlay .bc104-auth-handnote span{
  display:block!important;
  font-family:'Caveat',cursive!important;
  font-size:32px!important;
  font-weight:500!important;
  line-height:1.01!important;
  letter-spacing:0!important;
}
body #authOverlay .bc104-auth-handnote i{
  display:block!important;
  width:118px!important;
  height:2px!important;
  margin:12px 0 0 18px!important;
  background:var(--bc105-red)!important;
  transform:rotate(-2deg)!important;
}

/* LANDSCAPE: pulled upward so it visually belongs to the hero instead of sitting at the bottom. */
body #authOverlay .bc104-auth-landscape{
  position:absolute!important;
  z-index:1!important;
  left:-36px!important;
  right:-8px!important;
  bottom:42px!important;
  height:47vh!important;
  min-height:410px!important;
  max-height:505px!important;
  pointer-events:none!important;
  overflow:hidden!important;
}
body #authOverlay .bc104-auth-landscape>img{
  position:absolute!important;
  left:-10%!important;
  bottom:0!important;
  width:128%!important;
  height:auto!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:left bottom!important;
  transform:none!important;
  opacity:1!important;
  filter:none!important;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.75) 8%,#000 18%,#000 100%)!important;
  mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.75) 8%,#000 18%,#000 100%)!important;
}
body #authOverlay .bc104-auth-landscape::after{display:none!important;content:none!important}
/* The approved v107 landscape already contains the red journey line. */
body #authOverlay .bc104-auth-redline{display:none!important}
body #authOverlay .bc104-auth-redline path{display:none!important}
body #authOverlay .bc104-auth-quote{
  position:absolute!important;
  z-index:9!important;
  left:26px!important;
  bottom:8px!important;
  width:390px!important;
  padding:8px 10px 8px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#27221d!important;
  font-family:'Caveat',cursive!important;
  font-size:26px!important;
  font-weight:500!important;
  line-height:1.08!important;
  transform:rotate(-1deg)!important;
}
body #authOverlay .bc104-auth-quote::before,
body #authOverlay .bc104-auth-quote::after{display:none!important;content:none!important}
body #authOverlay .bc104-auth-quote i{
  display:block!important;
  width:122px!important;
  height:2px!important;
  margin:9px 0 0 116px!important;
  background:var(--bc105-red)!important;
  transform:rotate(-2deg)!important;
}

/* RIGHT / AUTH PAPER */
body #authOverlay .bc104-auth-side{
  position:relative!important;
  z-index:4!important;
  min-width:0!important;
  min-height:100vh!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  padding:92px 34px 54px 76px!important;
  overflow:hidden!important;
}
body #authOverlay .bc104-auth-card{
  position:relative!important;
  top:auto!important;
  right:auto!important;
  transform:none!important;
  width:min(590px,100%)!important;
  max-width:590px!important;
  min-height:724px!important;
  margin:0!important;
  padding:30px 42px 34px!important;
  overflow:visible!important;
  border:1px solid rgba(42,33,26,.065)!important;
  border-radius:3px!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,.06)),
    var(--bc63-paper-texture),
    rgba(250,246,238,.94)!important;
  background-size:auto,760px auto,auto!important;
  box-shadow:0 16px 42px rgba(50,38,27,.055)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body #authOverlay .bc104-auth-card::before,
body #authOverlay .bc104-auth-card::after{display:none!important;content:none!important}
body #authOverlay .auth-logo{display:none!important}
body #authOverlay .auth-language{
  position:absolute!important;
  z-index:10!important;
  top:17px!important;
  right:20px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  min-height:35px!important;
  padding:5px 11px!important;
  border:1px solid rgba(48,38,30,.10)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.25)!important;
  color:#4b433b!important;
  font-family:'Inter',sans-serif!important;
  font-size:12px!important;
  font-weight:500!important;
  line-height:1!important;
}
body #authOverlay .auth-language select{
  border:0!important;
  outline:0!important;
  background:transparent!important;
  color:#4b433b!important;
  font-family:'Inter',sans-serif!important;
  font-size:12px!important;
  font-weight:500!important;
}
body #authOverlay #loginPanel,
body #authOverlay #passwordSetupPanel{position:relative!important;z-index:3!important}
body #authOverlay .auth-card h1{
  max-width:430px!important;
  margin:46px 0 0!important;
  color:var(--bc105-ink)!important;
  font-family:'Vidaloka',serif!important;
  font-size:clamp(54px,3.25vw,63px)!important;
  font-weight:400!important;
  line-height:.94!important;
  letter-spacing:-.038em!important;
}
body #authOverlay .auth-card h1 em{color:inherit!important;font-style:normal!important;font-weight:400!important}
body #authOverlay .bc104-title-stroke{
  width:103px!important;
  height:2px!important;
  margin:12px 0 19px!important;
  background:var(--bc105-red)!important;
  transform:rotate(-1.5deg)!important;
}
body #authOverlay .auth-subtitle{
  max-width:390px!important;
  margin:0 0 29px!important;
  color:#5a5149!important;
  font-family:'Vidaloka',serif!important;
  font-size:17px!important;
  font-weight:400!important;
  line-height:1.5!important;
}
body #authOverlay .auth-error{
  position:relative!important;
  z-index:6!important;
  margin:36px 0 -24px!important;
  border:1px solid rgba(183,25,25,.15)!important;
  border-radius:5px!important;
  background:#f8e7e4!important;
  color:#8f1a16!important;
  font-family:'Inter',sans-serif!important;
  font-size:12px!important;
  font-weight:600!important;
  line-height:1.45!important;
}
body #authOverlay #loginPanel .form-field,
body #authOverlay #passwordSetupPanel .form-field{margin-bottom:19px!important}
body #authOverlay .form-field label{
  display:block!important;
  margin:0 0 8px!important;
  color:#1d1915!important;
  font-family:'Vidaloka',serif!important;
  font-size:17px!important;
  font-weight:400!important;
  line-height:1.15!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
body #authOverlay .form-field input{
  width:100%!important;
  min-height:58px!important;
  padding:0 16px!important;
  border:1px solid rgba(43,34,26,.20)!important;
  border-radius:8px!important;
  outline:none!important;
  background:rgba(255,255,255,.17)!important;
  color:#251f1a!important;
  font-family:'Vidaloka',serif!important;
  font-size:16px!important;
  font-weight:400!important;
  line-height:1!important;
  box-shadow:none!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
}
body #authOverlay .form-field input::placeholder{color:#786e65!important;opacity:.7!important}
body #authOverlay .form-field input:hover{border-color:rgba(43,34,26,.32)!important}
body #authOverlay .form-field input:focus{
  border-color:rgba(223,36,28,.50)!important;
  background:rgba(255,255,255,.32)!important;
  box-shadow:0 0 0 3px rgba(223,36,28,.055)!important;
}
body #authOverlay .form-field input:-webkit-autofill,
body #authOverlay .form-field input:-webkit-autofill:hover,
body #authOverlay .form-field input:-webkit-autofill:focus{
  -webkit-text-fill-color:#251f1a!important;
  -webkit-box-shadow:0 0 0 1000px #f9f4eb inset!important;
  transition:background-color 9999s ease-in-out 0s!important;
}
body #authOverlay .auth-actions{
  display:flex!important;
  justify-content:flex-end!important;
  margin:-4px 0 21px!important;
}
body #authOverlay .auth-link{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#302923!important;
  font-family:'Vidaloka',serif!important;
  font-size:15px!important;
  font-weight:400!important;
  line-height:1.2!important;
  text-decoration:underline!important;
  text-decoration-color:var(--bc105-red)!important;
  text-decoration-thickness:1.5px!important;
  text-underline-offset:6px!important;
}
body #authOverlay .btn-auth{
  width:100%!important;
  min-height:59px!important;
  padding:0 18px!important;
  border:0!important;
  border-radius:7px!important;
  background:var(--bc105-red)!important;
  color:#fff!important;
  box-shadow:none!important;
  font-family:'Vidaloka',serif!important;
  font-size:18px!important;
  font-weight:400!important;
  line-height:1!important;
  letter-spacing:0!important;
}
body #authOverlay .btn-auth:hover{background:#c91e17!important;transform:translateY(-1px)!important}
body #authOverlay .bc104-auth-divider{
  height:1px!important;
  margin:27px 0 21px!important;
  background:rgba(43,34,26,.11)!important;
}
body #authOverlay .auth-note{
  margin:0!important;
  color:#655c53!important;
  font-family:'Inter',sans-serif!important;
  font-size:12.5px!important;
  font-weight:400!important;
  line-height:1.58!important;
  text-align:left!important;
}
body #authOverlay .auth-note a{
  color:#c51d16!important;
  font-weight:700!important;
  text-decoration:none!important;
}
body #authOverlay .backend-note{display:none!important}

/* Decorative sprig removed in v108: it competed with the login panel. */
body #authOverlay .bc104-auth-sprig{display:none!important}

body #authOverlay #passwordSetupPanel .btn-auth{margin-top:5px!important}

@media(max-width:1380px){
  body #authOverlay{grid-template-columns:minmax(0,54%) minmax(480px,46%)!important}
  body #authOverlay::after{left:54%!important}
  body #authOverlay .bc104-auth-story{padding-left:62px!important;padding-right:22px!important}
  body #authOverlay .bc104-auth-story-grid{grid-template-columns:minmax(0,1fr) 225px!important;gap:20px!important}
  body #authOverlay .bc104-auth-story h2{font-size:clamp(68px,5.6vw,88px)!important}
  body #authOverlay .bc104-auth-handnote{margin-top:73px!important}
  body #authOverlay .bc104-auth-landscape{left:-62px!important;height:57vh!important;min-height:470px!important}
  body #authOverlay .bc104-auth-side{padding-left:50px!important;padding-right:24px!important}
  body #authOverlay .bc104-auth-card{width:min(560px,100%)!important;max-width:560px!important}
}

@media(max-width:1000px){
  body #authOverlay{
    grid-template-columns:1fr!important;
    overflow:auto!important;
  }
  body #authOverlay::after{display:none!important}
  body #authOverlay .bc104-auth-story{display:none!important}
  body #authOverlay .bc104-auth-side{
    min-height:100vh!important;
    padding:38px 20px!important;
    align-items:flex-start!important;
    justify-content:center!important;
  }
  body #authOverlay .bc104-auth-card{
    width:min(580px,100%)!important;
    max-width:580px!important;
    min-height:0!important;
    margin:5vh auto!important;
    padding:30px 28px 34px!important;
  }
  body #authOverlay .auth-card h1{margin-top:40px!important}
  body #authOverlay .bc104-auth-sprig{display:none!important}
}

@media(max-width:560px){
  body #authOverlay .bc104-auth-side{padding:18px 12px!important}
  body #authOverlay .bc104-auth-card{padding:24px 20px 27px!important}
  body #authOverlay .auth-card h1{font-size:43px!important}
  body #authOverlay .auth-subtitle{font-size:15px!important}
  body #authOverlay .auth-language{right:14px!important;top:14px!important}
  body #authOverlay .form-field input{min-height:54px!important;font-size:15px!important}
  body #authOverlay .btn-auth{min-height:54px!important}
}
