/* Public companion pages follow Admin's About page theme. Their existing dark styles remain the fallback. */
:root{ color-scheme:dark; }
html[data-about-theme="white"]{
  color-scheme:light;
  --bg:#f5f1ea; --ink:#182e32; --muted:#486066; --soft:#536568;
  --line:#c5ceca; --accent:#176b5e; --accent-hover:#11564b;
  --card:linear-gradient(160deg,rgba(248,244,237,.78),rgba(244,238,229,.72) 52%,rgba(232,222,210,.78));
  --field:rgba(255,255,255,.82);
}
html[data-about-theme="white"] body{
  background:var(--bg) url("HuddleBackgroundLight.webp?v=1") center/cover fixed no-repeat;
  color:var(--ink);
}
html[data-about-theme="white"] h1,
html[data-about-theme="white"] .public-sources h2{ color:var(--ink); }
html[data-about-theme="white"] .public-policy :is(p,li){ color:var(--ink); }
html[data-about-theme="white"] .public-policy :is(p.note,p.muted){ color:var(--muted); }
html[data-about-theme="white"] code{ background:var(--field); }
html[data-about-theme="white"] :is(.public-support form,.public-sources section,.public-policy .note){
  backdrop-filter:blur(18px) saturate(1.15); -webkit-backdrop-filter:blur(18px) saturate(1.15);
}
html[data-about-theme="white"] :is(input,textarea){
  background:var(--field); border-color:var(--line); color:var(--ink);
}
html[data-about-theme="white"] :is(input,textarea)::placeholder{ color:var(--soft); opacity:1; }
html[data-about-theme="white"] :is(input,textarea):focus{ border-color:var(--accent); }
html[data-about-theme="white"] :is(a,button,summary):focus-visible{
  outline:2px solid var(--accent); outline-offset:4px;
}
html[data-about-theme="white"] :is(.public-support button,.public-login form button,a.back){
  background:var(--accent); color:#fff;
}
html[data-about-theme="white"] :is(.public-support button,.public-login form button,a.back):hover{
  background:var(--accent-hover);
}
/* Keep the intro video's caption/play button intact; only surrounding sign-in controls change. */
html[data-about-theme="white"] .public-login .intro{
  border-color:var(--line); box-shadow:0 10px 32px rgba(24,46,50,.16);
}
html[data-about-theme="white"] :is(.gbtn,.legacy summary){
  background:var(--card); color:var(--ink); border-color:var(--line);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 8px 24px rgba(24,46,50,.08);
  backdrop-filter:blur(18px) saturate(1.15); -webkit-backdrop-filter:blur(18px) saturate(1.15);
}
html[data-about-theme="white"] :is(.gbtn,.legacy summary):hover{
  background:rgba(255,255,255,.88); color:var(--ink);
}
html[data-about-theme="white"] .signin-label{ border-left-color:var(--line); }
html[data-about-theme="white"] :is(.signin-divider,.tagline,.privacy,.privacy a){ color:var(--muted); }
html[data-about-theme="white"] .privacy a:hover{ color:var(--accent); }
html[data-about-theme="white"] .signin-divider::before,
html[data-about-theme="white"] .signin-divider::after{ background:var(--line); }
html[data-about-theme="white"] .err{ color:#a33329; }
html[data-about-theme="white"] #bgfx{ display:none; }

/* Shared portal branding for privacy, contact, and confirmation pages. */
  .portal-brand{ display:flex; flex-direction:column; align-items:center; gap:12px; margin-bottom:24px; text-decoration:none; color:var(--ink); }
  .portal-logo{ max-width:220px; width:auto; height:64px; object-fit:contain; }
  .portal-brand-name{ font-size:22px; font-weight:600; letter-spacing:.04em; overflow-wrap:anywhere; }
  .portal-tagline{ color:var(--muted); font-size:13px; }
  .portal-brand--light{ gap:4px; }
  .portal-brand--light .portal-brand-row{ display:flex; align-items:center; justify-content:center; gap:12px; }
  .portal-brand--light .portal-logo{ width:48px; height:36px; max-width:none; object-fit:cover; object-position:left center; }
  .portal-brand--light .portal-brand-name{ font-size:20px; font-weight:300; letter-spacing:.24em; padding-left:.24em; text-transform:uppercase; }
  .portal-brand--light .portal-tagline{ font-size:8px; font-weight:500; letter-spacing:.17em; text-transform:uppercase; }
  .provider{ font-size:14px; color:var(--muted); margin:12px 0; }
.provider a{ color:var(--accent); text-underline-offset:3px; }
