
/**
 * Certigate Auth 1.0.45 — Stitch 23 Fidelity
 * Stable backend/JS = 1.0.36.
 * HTML5/PHP semantic markup + static CSS only.
 */
body.certigate-auth-screen{
  --cg23-primary:#001722;
  --cg23-primary-container:#082c3c;
  --cg23-paper:#fcf9f1;
  --cg23-paper-low:#f6f3eb;
  --cg23-surface:#ffffff;
  --cg23-surface-dark:#0d2937;
  --cg23-paper-dark:#071c27;
  --cg23-ink:#102a38;
  --cg23-muted:#667985;
  --cg23-border:#dce4e7;
  --cg23-border-dark:#2a4b5a;
  --cg23-gold:#c5a946;
  --cg23-gold-bright:#ecc246;
  --cg23-error:#b34242;
  --cg23-shadow:0 18px 50px rgba(0,23,34,.08);
  --cg23-serif:"Source Serif 4",Georgia,"Times New Roman",serif;
  --cg23-sans:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  margin:0!important;
  background:var(--cg23-paper)!important;
  color:var(--cg23-ink)!important;
  font-family:var(--cg23-sans)!important;
}
html[data-theme="dark"] body.certigate-auth-screen{
  --cg23-paper:var(--cg23-paper-dark);
  --cg23-paper-low:#0a2532;
  --cg23-surface:#0d2937;
  --cg23-ink:#f4f7f8;
  --cg23-muted:#a9bac2;
  --cg23-border:var(--cg23-border-dark);
  --cg23-shadow:0 18px 54px rgba(0,0,0,.26);
}

/* Core shell */
body.certigate-auth-screen .coab-auth-page,
body.certigate-auth-screen .coab-auth-shell-inner{
  min-height:100svh!important;
  width:100%!important;
  background:var(--cg23-paper)!important;
}
body.certigate-auth-screen .coab-auth-page{
  padding:0!important;
}

/* Compact utility controls: two small icon/pill groups, never a giant floating bar. */
body.certigate-auth-screen .coab-auth-topbar{
  position:fixed!important;
  top:20px!important;
  right:24px!important;
  left:auto!important;
  bottom:auto!important;
  inset:20px 24px auto auto!important;
  transform:none!important;
  width:auto!important;
  max-width:calc(100vw - 48px)!important;
  height:auto!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  z-index:80!important;
}
body.certigate-auth-screen .coab-auth-theme-switcher,
body.certigate-auth-screen .coab-auth-language-switcher,
body.certigate-auth-screen .coab-auth-lang-switcher{
  display:flex!important;
  align-items:center!important;
  gap:2px!important;
  padding:3px!important;
  width:auto!important;
  border:1px solid var(--cg23-border)!important;
  border-radius:999px!important;
  background:color-mix(in srgb,var(--cg23-surface) 92%,transparent)!important;
  backdrop-filter:blur(10px)!important;
}
body.certigate-auth-screen .coab-auth-theme-option,
body.certigate-auth-screen [data-cg-lang-link]{
  min-width:34px!important;
  min-height:34px!important;
  height:34px!important;
  padding:0 9px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  color:var(--cg23-muted)!important;
  font-size:12px!important;
  font-weight:700!important;
  white-space:nowrap!important;
}
body.certigate-auth-screen .coab-auth-theme-option[aria-pressed="true"],
body.certigate-auth-screen [data-cg-lang-link][aria-current="true"]{
  background:var(--cg23-gold)!important;
  color:#161700!important;
}

/* ============== REGISTRATION — direct Stitch 23 composition ============== */
body.certigate-auth-screen .coab-auth-layout--stitch23-register{
  min-height:100svh!important;
  width:100%!important;
  display:block!important;
  padding:92px 24px 82px!important;
  background:
    radial-gradient(circle at 75% 22%,rgba(197,169,70,.055),transparent 30%),
    var(--cg23-paper)!important;
}
body.certigate-auth-screen .coab-auth-layout--stitch23-register .coab-auth-layout__card{
  width:min(820px,100%)!important;
  max-width:820px!important;
  min-height:0!important;
  margin:0 auto!important;
  padding:0!important;
  display:block!important;
  background:transparent!important;
}
body.certigate-auth-screen .coab-auth-layout--stitch23-register .coab-auth-card{
  position:relative!important;
  width:100%!important;
  padding:56px 54px 42px!important;
  border:1px solid var(--cg23-border)!important;
  border-radius:14px!important;
  background:var(--cg23-surface)!important;
  color:var(--cg23-ink)!important;
  box-shadow:var(--cg23-shadow)!important;
  overflow:visible!important;
}
body.certigate-auth-screen .coab-auth-layout--stitch23-register .coab-auth-card::before{
  content:""!important;
  position:absolute!important;
  top:-1px!important;
  left:-1px!important;
  right:-1px!important;
  height:4px!important;
  border-radius:14px 14px 0 0!important;
  background:linear-gradient(90deg,var(--cg23-primary),var(--cg23-gold),var(--cg23-gold-bright))!important;
}

/* Small Certigate lockup above title; this uses existing plugin logo mark. */
body.certigate-auth-screen .coab-auth-layout--stitch23-register .certigate-auth-logo{
  width:auto!important;
  height:auto!important;
  margin:0 0 18px!important;
  display:flex!important;
  justify-content:center!important;
}
body.certigate-auth-screen .coab-auth-layout--stitch23-register .certigate-auth-logo span{
  width:42px!important;
  height:42px!important;
  background-size:contain!important;
  border-radius:10px!important;
  box-shadow:none!important;
}
body.certigate-auth-screen .coab-auth-layout--stitch23-register .coab-auth-card>h2{
  margin:0!important;
  color:var(--cg23-ink)!important;
  text-align:center!important;
  font-family:var(--cg23-serif)!important;
  font-size:52px!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
  font-weight:700!important;
}
body.certigate-auth-screen .coab-auth-layout--stitch23-register .coab-auth-subtitle{
  max-width:580px!important;
  margin:14px auto 30px!important;
  color:var(--cg23-muted)!important;
  text-align:center!important;
  font-size:16px!important;
  line-height:1.65!important;
}
body.certigate-auth-screen .coab-auth-layout--stitch23-register .coab-auth-process-note{
  display:none!important;
}

/* Stepper becomes the maquette's thin institutional progress row. */
body.coab-auth-screen--register .coab-wizard-progress{
  position:relative!important;
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:0!important;
  margin:0 0 44px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
body.coab-auth-screen--register .coab-wizard-progress::before{
  content:""!important;
  position:absolute!important;
  left:12%!important;
  right:12%!important;
  top:12px!important;
  height:1px!important;
  background:var(--cg23-border)!important;
}
body.coab-auth-screen--register .coab-wizard-progress>span{
  position:relative!important;
  z-index:2!important;
  min-height:48px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:7px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--cg23-muted)!important;
}
body.coab-auth-screen--register .coab-wizard-progress>span b{
  width:24px!important;
  height:24px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  border:4px solid var(--cg23-paper)!important;
  background:#dfe8ec!important;
  color:transparent!important;
  font-size:0!important;
}
body.coab-auth-screen--register .coab-wizard-progress>span em{
  color:inherit!important;
  font-style:normal!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
body.coab-auth-screen--register .coab-wizard-progress>span.is-active,
body.coab-auth-screen--register .coab-wizard-progress>span.is-complete{
  color:#725900!important;
}
body.coab-auth-screen--register .coab-wizard-progress>span.is-active b,
body.coab-auth-screen--register .coab-wizard-progress>span.is-complete b{
  background:var(--cg23-gold-bright)!important;
}

/* Panel heading exactly prioritized like Stitch. */
body.coab-auth-screen--register .coab-wizard-panel-head{
  margin:0 0 28px!important;
  padding:0 0 24px!important;
  border-bottom:1px solid var(--cg23-border)!important;
  text-align:center!important;
}
body.coab-auth-screen--register .coab-wizard-panel-head>span{
  display:block!important;
  margin-bottom:9px!important;
  color:#806400!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}
body.coab-auth-screen--register .coab-wizard-panel-head h3{
  margin:0!important;
  color:var(--cg23-ink)!important;
  font-family:var(--cg23-serif)!important;
  font-size:38px!important;
  line-height:1.12!important;
  letter-spacing:-.02em!important;
  font-weight:700!important;
}
body.coab-auth-screen--register .coab-wizard-panel-head p{
  max-width:580px!important;
  margin:10px auto 0!important;
  color:var(--cg23-muted)!important;
  font-size:14px!important;
  line-height:1.55!important;
}

/* Form fields: no custom JS, native stable form remains authoritative. */
body.certigate-auth-screen .coab-auth-form,
body.certigate-auth-screen .coab-auth-form *{
  pointer-events:auto!important;
}
body.certigate-auth-screen .coab-auth-field{
  min-width:0!important;
  margin-bottom:20px!important;
}
body.certigate-auth-screen .coab-auth-field label,
body.certigate-auth-screen .coab-auth-choice-field legend{
  display:block!important;
  margin-bottom:7px!important;
  color:var(--cg23-ink)!important;
  font-size:13px!important;
  font-weight:700!important;
}
body.certigate-auth-screen .coab-auth-field input,
body.certigate-auth-screen .coab-auth-field select,
body.certigate-auth-screen .coab-auth-field textarea{
  width:100%!important;
  min-height:52px!important;
  padding:0 14px!important;
  border:1px solid #778891!important;
  border-radius:7px!important;
  background:var(--cg23-surface)!important;
  color:var(--cg23-ink)!important;
  font-family:var(--cg23-sans)!important;
  font-size:15px!important;
  box-shadow:none!important;
  outline:none!important;
}
body.certigate-auth-screen .coab-auth-field textarea{
  min-height:100px!important;
  padding-top:12px!important;
  resize:vertical!important;
}
body.certigate-auth-screen .coab-auth-field input:focus,
body.certigate-auth-screen .coab-auth-field select:focus,
body.certigate-auth-screen .coab-auth-field textarea:focus{
  border-color:var(--cg23-gold-bright)!important;
  box-shadow:0 0 0 4px rgba(236,194,70,.16)!important;
}
body.certigate-auth-screen .coab-auth-help,
body.certigate-auth-screen .coab-route-helper{
  margin-top:6px!important;
  color:var(--cg23-muted)!important;
  font-size:12px!important;
  line-height:1.45!important;
}
body.coab-auth-screen--register .coab-auth-phone-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:20px!important;
}

/* Step 2 cards: real Certigate choices, Stitch card layout. */
body.coab-auth-screen--register .coab-choice-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:12px!important;
}
body.coab-auth-screen--register .coab-auth-choice{
  min-height:120px!important;
  padding:16px!important;
  display:flex!important;
  align-items:flex-start!important;
  gap:10px!important;
  border:1px solid var(--cg23-border)!important;
  border-radius:9px!important;
  background:var(--cg23-paper-low)!important;
  color:var(--cg23-ink)!important;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
body.coab-auth-screen--register .coab-auth-choice:hover{
  transform:translateY(-1px)!important;
  border-color:color-mix(in srgb,var(--cg23-gold) 65%,var(--cg23-border))!important;
}
body.coab-auth-screen--register .coab-auth-choice.is-selected,
body.coab-auth-screen--register .coab-auth-choice:has(input:checked){
  border-color:var(--cg23-gold)!important;
  box-shadow:inset 0 0 0 1px var(--cg23-gold)!important;
  background:color-mix(in srgb,var(--cg23-gold) 7%,var(--cg23-surface))!important;
}
body.coab-auth-screen--register .coab-auth-choice strong{
  display:block!important;
  color:var(--cg23-ink)!important;
  font-size:14px!important;
}
body.coab-auth-screen--register .coab-auth-choice small{
  display:block!important;
  margin-top:5px!important;
  color:var(--cg23-muted)!important;
  font-size:12px!important;
  line-height:1.45!important;
}

/* Security panel / password rules. */
body.coab-auth-screen--register .coab-password-rules{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:7px 14px!important;
  margin-top:12px!important;
}
body.coab-auth-screen--register .coab-password-rules__item{
  color:var(--cg23-muted)!important;
  font-size:12px!important;
}

/* Actions */
body.coab-auth-screen--register .coab-auth-actions{
  margin-top:28px!important;
  padding-top:24px!important;
  border-top:1px solid var(--cg23-border)!important;
}
body.certigate-auth-screen .coab-auth-submit,
body.certigate-auth-screen .coab-auth-ghost{
  min-height:52px!important;
  padding:0 22px!important;
  border-radius:7px!important;
  font-size:14px!important;
  font-weight:800!important;
}
body.certigate-auth-screen .coab-auth-submit{
  border:1px solid var(--cg23-gold)!important;
  background:var(--cg23-gold)!important;
  color:#111400!important;
  box-shadow:0 7px 18px rgba(117,91,0,.10)!important;
}
body.certigate-auth-screen .coab-auth-submit:hover{
  background:#d3b64f!important;
}
body.certigate-auth-screen .coab-auth-ghost{
  border:1px solid var(--cg23-border)!important;
  background:transparent!important;
  color:var(--cg23-ink)!important;
}
body.certigate-auth-screen .coab-auth-links{
  margin-top:22px!important;
  text-align:center!important;
}
body.certigate-auth-screen .coab-auth-links a,
body.certigate-auth-screen .coab-auth-row a{
  color:#806400!important;
  font-weight:700!important;
}

/* ============== LOGIN — Stitch split-screen ============== */
body.certigate-auth-screen .coab-auth-layout--stitch23-login{
  min-height:100svh!important;
  display:grid!important;
  grid-template-columns:minmax(420px,1fr) minmax(500px,1fr)!important;
  background:var(--cg23-paper)!important;
}
body.certigate-auth-screen .cg-auth-login-brand{
  position:relative!important;
  min-height:100svh!important;
  overflow:hidden!important;
  background:var(--cg23-primary-container)!important;
}
body.certigate-auth-screen .cg-auth-login-photo,
body.certigate-auth-screen .cg-auth-login-photo img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
}
body.certigate-auth-screen .cg-auth-login-photo img{
  object-fit:cover!important;
  object-position:center!important;
}
body.certigate-auth-screen .cg-auth-login-shade{
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(180deg,rgba(0,23,34,.34),rgba(0,44,60,.88))!important;
}
body.certigate-auth-screen .cg-auth-login-copy{
  position:absolute!important;
  z-index:2!important;
  left:clamp(28px,6vw,72px)!important;
  right:clamp(28px,6vw,72px)!important;
  bottom:clamp(44px,10vh,110px)!important;
  color:#fff!important;
  text-align:center!important;
}
body.certigate-auth-screen .cg-auth-login-logo{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  margin-bottom:28px!important;
  padding:16px 20px!important;
  border-radius:12px!important;
  background:rgba(252,249,241,.94)!important;
  color:var(--cg23-primary)!important;
  text-decoration:none!important;
}
body.certigate-auth-screen .cg-auth-login-logo img{
  width:38px!important;
  height:38px!important;
  object-fit:contain!important;
}
body.certigate-auth-screen .cg-auth-login-logo strong{
  font-family:var(--cg23-serif)!important;
  font-size:21px!important;
}
body.certigate-auth-screen .cg-auth-login-kicker{
  display:none!important;
}
body.certigate-auth-screen .cg-auth-login-copy h1{
  margin:0!important;
  color:#fff!important;
  font-family:var(--cg23-serif)!important;
  font-size:58px!important;
  line-height:1.05!important;
  font-weight:700!important;
}
body.certigate-auth-screen .cg-auth-login-copy>p{
  max-width:520px!important;
  margin:18px auto 0!important;
  color:#d8e4e8!important;
  font-size:17px!important;
  line-height:1.65!important;
}
body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-layout__card{
  min-height:100svh!important;
  padding:84px 36px 48px!important;
  display:grid!important;
  place-items:center!important;
  background:var(--cg23-paper)!important;
}
body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-card{
  width:min(540px,100%)!important;
  padding:46px!important;
  border:1px solid var(--cg23-border)!important;
  border-radius:14px!important;
  background:var(--cg23-surface)!important;
  box-shadow:var(--cg23-shadow)!important;
  color:var(--cg23-ink)!important;
}
body.certigate-auth-screen .coab-auth-layout--stitch23-login .certigate-auth-logo{
  display:none!important;
}
body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-card>h2{
  margin:0!important;
  color:var(--cg23-ink)!important;
  text-align:center!important;
  font-family:var(--cg23-serif)!important;
  font-size:40px!important;
  font-weight:700!important;
}
body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-subtitle{
  margin:10px 0 28px!important;
  color:var(--cg23-muted)!important;
  text-align:center!important;
}
body.certigate-auth-screen .coab-google-btn{
  border-radius:7px!important;
  border-color:var(--cg23-border)!important;
  background:var(--cg23-paper-low)!important;
  color:var(--cg23-ink)!important;
}
body.certigate-auth-screen .coab-auth-sep{
  color:var(--cg23-muted)!important;
}
body.certigate-auth-screen .coab-auth-row{
  margin:4px 0 18px!important;
}

/* ============== FORGOT / 2FA ============== */
body.certigate-auth-screen .coab-auth-layout--stitch23-forgot,
body.certigate-auth-screen .coab-auth-layout--single{
  min-height:100svh!important;
  padding:90px 18px 40px!important;
  display:grid!important;
  place-items:center!important;
  background:var(--cg23-paper)!important;
}
body.certigate-auth-screen .coab-auth-layout--stitch23-forgot .coab-auth-card,
body.certigate-auth-screen .coab-auth-layout--single .coab-auth-card{
  width:min(520px,100%)!important;
  padding:40px!important;
  border:1px solid var(--cg23-border)!important;
  border-radius:14px!important;
  background:var(--cg23-surface)!important;
  box-shadow:var(--cg23-shadow)!important;
}

/* Dark-mode clean contrast */
html[data-theme="dark"] body.certigate-auth-screen .coab-auth-field input,
html[data-theme="dark"] body.certigate-auth-screen .coab-auth-field select,
html[data-theme="dark"] body.certigate-auth-screen .coab-auth-field textarea{
  background:#0a2532!important;
  border-color:#55717e!important;
  color:#fff!important;
}
html[data-theme="dark"] body.certigate-auth-screen .coab-auth-choice{
  background:#0a2532!important;
}
html[data-theme="dark"] body.coab-auth-screen--register .coab-wizard-progress>span b{
  border-color:var(--cg23-paper-dark,#071c27)!important;
}

/* Responsive: registration maquette is recomposed, never squeezed. */
@media(max-width:900px){
  body.certigate-auth-screen .coab-auth-topbar{
    top:10px!important;
    right:10px!important;
    inset:10px 10px auto auto!important;
    max-width:calc(100vw - 20px)!important;
    gap:5px!important;
  }
  body.certigate-auth-screen .coab-auth-theme-option{
    width:36px!important;
    min-width:36px!important;
    padding:0!important;
  }
  body.certigate-auth-screen .coab-auth-theme-option span:last-child{
    display:none!important;
  }

  body.certigate-auth-screen .coab-auth-layout--stitch23-register{
    padding:76px 12px 28px!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-register .coab-auth-card{
    padding:30px 18px 24px!important;
    border-radius:12px!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-register .certigate-auth-logo{
    justify-content:flex-start!important;
    margin-bottom:12px!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-register .coab-auth-card>h2{
    text-align:left!important;
    font-size:34px!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-register .coab-auth-subtitle{
    margin:8px 0 22px!important;
    text-align:left!important;
    font-size:13px!important;
  }
  body.coab-auth-screen--register .coab-wizard-progress{
    margin-bottom:26px!important;
  }
  body.coab-auth-screen--register .coab-wizard-progress::before{
    left:10%!important;
    right:10%!important;
  }
  body.coab-auth-screen--register .coab-wizard-progress>span em{
    font-size:9px!important;
    letter-spacing:.07em!important;
  }
  body.coab-auth-screen--register .coab-wizard-panel-head{
    text-align:left!important;
  }
  body.coab-auth-screen--register .coab-wizard-panel-head h3{
    font-size:30px!important;
  }
  body.coab-auth-screen--register .coab-wizard-panel-head p{
    margin-left:0!important;
    margin-right:0!important;
  }
  body.coab-auth-screen--register .coab-auth-phone-grid,
  body.coab-auth-screen--register .coab-choice-grid,
  body.coab-auth-screen--register .coab-password-rules{
    grid-template-columns:1fr!important;
  }

  body.certigate-auth-screen .coab-auth-layout--stitch23-login{
    grid-template-columns:1fr!important;
  }
  body.certigate-auth-screen .cg-auth-login-brand{
    display:none!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-layout__card{
    min-height:100svh!important;
    padding:76px 12px 28px!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-card{
    width:min(520px,100%)!important;
    padding:30px 20px!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-card::before{
    content:"Certigate"!important;
    display:block!important;
    margin-bottom:24px!important;
    color:var(--cg23-ink)!important;
    font-family:var(--cg23-serif)!important;
    font-size:22px!important;
    font-weight:700!important;
  }
}
@media(max-width:480px){
  body.certigate-auth-screen .coab-auth-layout--stitch23-register .coab-auth-card{
    padding-left:15px!important;
    padding-right:15px!important;
  }
  body.coab-auth-screen--register .coab-wizard-progress>span em{
    font-size:8px!important;
  }
  body.certigate-auth-screen .coab-auth-field input,
  body.certigate-auth-screen .coab-auth-field select,
  body.certigate-auth-screen .coab-auth-field textarea{
    min-height:48px!important;
    font-size:14px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  body.certigate-auth-screen *,
  body.certigate-auth-screen *::before,
  body.certigate-auth-screen *::after{
    transition:none!important;
    animation:none!important;
    scroll-behavior:auto!important;
  }
}


/* ==========================================================
   1.0.45 — Form Field Polish
   Screenshot-driven quality pass for inputs/selects/help states.
   ========================================================== */

body.certigate-auth-screen{
  --cg23-field-bg:#fffefa;
  --cg23-field-border:#b8c5ca;
  --cg23-field-border-hover:#81939c;
  --cg23-field-focus:#d4b037;
  --cg23-field-focus-ring:rgba(212,176,55,.16);
  --cg23-placeholder:#8fa0a8;
  --cg23-help:#7b8e98;
  --cg23-valid:#277257;
  --cg23-error:#b54b4b;
}
html[data-theme="dark"] body.certigate-auth-screen{
  --cg23-field-bg:#0b2835;
  --cg23-field-border:#456270;
  --cg23-field-border-hover:#6f8994;
  --cg23-placeholder:#7f96a1;
  --cg23-help:#a7b8c0;
}

/* Labels breathe more and align consistently. */
body.certigate-auth-screen .coab-auth-field{
  margin-bottom:22px!important;
}
body.certigate-auth-screen .coab-auth-field label,
body.certigate-auth-screen .coab-auth-choice-field legend{
  margin-bottom:9px!important;
  font-size:13px!important;
  line-height:1.3!important;
  letter-spacing:.005em!important;
}

/* Premium cross-browser field base. */
body.certigate-auth-screen .coab-auth-field input,
body.certigate-auth-screen .coab-auth-field select,
body.certigate-auth-screen .coab-auth-field textarea{
  -webkit-appearance:none!important;
  appearance:none!important;
  min-height:54px!important;
  padding:0 15px!important;
  border:1px solid var(--cg23-field-border)!important;
  border-radius:10px!important;
  background:var(--cg23-field-bg)!important;
  color:var(--cg23-ink)!important;
  font-size:15px!important;
  line-height:1.4!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45)!important;
  transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease!important;
}
html[data-theme="dark"] body.certigate-auth-screen .coab-auth-field input,
html[data-theme="dark"] body.certigate-auth-screen .coab-auth-field select,
html[data-theme="dark"] body.certigate-auth-screen .coab-auth-field textarea{
  color:#f8fbfc!important;
  box-shadow:none!important;
}

/* Better placeholder hierarchy. */
body.certigate-auth-screen .coab-auth-field input::placeholder,
body.certigate-auth-screen .coab-auth-field textarea::placeholder{
  color:var(--cg23-placeholder)!important;
  opacity:1!important;
}

/* Hover / focus states: gold is subtle, not browser-default loud. */
body.certigate-auth-screen .coab-auth-field input:hover,
body.certigate-auth-screen .coab-auth-field select:hover,
body.certigate-auth-screen .coab-auth-field textarea:hover{
  border-color:var(--cg23-field-border-hover)!important;
}
body.certigate-auth-screen .coab-auth-field input:focus,
body.certigate-auth-screen .coab-auth-field select:focus,
body.certigate-auth-screen .coab-auth-field textarea:focus{
  border-color:var(--cg23-field-focus)!important;
  box-shadow:0 0 0 3px var(--cg23-field-focus-ring)!important;
  background:var(--cg23-surface)!important;
}
html[data-theme="dark"] body.certigate-auth-screen .coab-auth-field input:focus,
html[data-theme="dark"] body.certigate-auth-screen .coab-auth-field select:focus,
html[data-theme="dark"] body.certigate-auth-screen .coab-auth-field textarea:focus{
  background:#0c2c3a!important;
}

/* Custom select chevron without touching JS/behavior. */
body.certigate-auth-screen .coab-auth-field select{
  padding-right:44px!important;
  background-image:
    linear-gradient(45deg,transparent 50%,var(--cg23-muted) 50%),
    linear-gradient(135deg,var(--cg23-muted) 50%,transparent 50%)!important;
  background-position:
    calc(100% - 20px) 23px,
    calc(100% - 15px) 23px!important;
  background-size:5px 5px,5px 5px!important;
  background-repeat:no-repeat!important;
}
body.certigate-auth-screen .coab-auth-field select::-ms-expand{
  display:none!important;
}

/* Safari autofill should not turn fields neon/yellow. */
body.certigate-auth-screen input:-webkit-autofill,
body.certigate-auth-screen input:-webkit-autofill:hover,
body.certigate-auth-screen input:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--cg23-ink)!important;
  -webkit-box-shadow:0 0 0 1000px var(--cg23-field-bg) inset!important;
  transition:background-color 9999s ease-out 0s!important;
}
html[data-theme="dark"] body.certigate-auth-screen input:-webkit-autofill,
html[data-theme="dark"] body.certigate-auth-screen input:-webkit-autofill:hover,
html[data-theme="dark"] body.certigate-auth-screen input:-webkit-autofill:focus{
  -webkit-text-fill-color:#f8fbfc!important;
}

/* Help/error text quality. */
body.certigate-auth-screen .coab-auth-help,
body.certigate-auth-screen .coab-route-helper{
  margin-top:8px!important;
  color:var(--cg23-help)!important;
  font-size:12px!important;
  line-height:1.45!important;
}
body.certigate-auth-screen .coab-auth-help.is-error,
body.certigate-auth-screen .coab-auth-field.is-error .coab-auth-help{
  color:var(--cg23-error)!important;
}
body.certigate-auth-screen .coab-auth-field.is-error input,
body.certigate-auth-screen .coab-auth-field.is-error select,
body.certigate-auth-screen .coab-auth-field.is-error textarea,
body.certigate-auth-screen input[aria-invalid="true"],
body.certigate-auth-screen select[aria-invalid="true"],
body.certigate-auth-screen textarea[aria-invalid="true"]{
  border-color:var(--cg23-error)!important;
  box-shadow:0 0 0 3px rgba(181,75,75,.12)!important;
}

/* Optional valid state if existing backend/JS exposes classes. */
body.certigate-auth-screen .coab-auth-field.is-valid input,
body.certigate-auth-screen .coab-auth-field.is-valid select,
body.certigate-auth-screen .coab-auth-field.is-valid textarea{
  border-color:color-mix(in srgb,var(--cg23-valid) 72%,var(--cg23-field-border))!important;
}

/* Phone/country must look like one design system. */
body.coab-auth-screen--register .coab-auth-phone-grid{
  align-items:start!important;
  gap:18px!important;
}
body.coab-auth-screen--register .coab-auth-phone-grid .coab-auth-field{
  margin-bottom:0!important;
}

/* Make textarea more refined. */
body.certigate-auth-screen .coab-auth-field textarea{
  min-height:112px!important;
  padding-top:13px!important;
  padding-bottom:13px!important;
}

/* Password fields/toggles inherit the same premium shell. */
body.certigate-auth-screen .coab-auth-password-wrap,
body.certigate-auth-screen .coab-auth-input-wrap{
  position:relative!important;
}
body.certigate-auth-screen .coab-auth-password-wrap input,
body.certigate-auth-screen .coab-auth-input-wrap input{
  padding-right:46px!important;
}
body.certigate-auth-screen [data-coab-toggle],
body.certigate-auth-screen .coab-auth-password-toggle{
  position:absolute!important;
  right:10px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:34px!important;
  height:34px!important;
  border:0!important;
  border-radius:8px!important;
  background:transparent!important;
  color:var(--cg23-muted)!important;
}
body.certigate-auth-screen [data-coab-toggle]:hover,
body.certigate-auth-screen .coab-auth-password-toggle:hover{
  background:color-mix(in srgb,var(--cg23-gold) 8%,transparent)!important;
  color:var(--cg23-ink)!important;
}

/* Mobile input ergonomics: avoid zoom on iOS and keep tap targets consistent. */
@media(max-width:900px){
  body.certigate-auth-screen .coab-auth-field input,
  body.certigate-auth-screen .coab-auth-field select,
  body.certigate-auth-screen .coab-auth-field textarea{
    min-height:50px!important;
    font-size:16px!important;
    border-radius:9px!important;
  }
  body.certigate-auth-screen .coab-auth-field{
    margin-bottom:18px!important;
  }
}


/* ==========================================================
   1.0.45 — Release Finish
   Final visual cleanup from production screenshots.
   No functional JavaScript or backend changes.
   ========================================================== */

/* Less visual noise from utility controls. */
body.certigate-auth-screen .coab-auth-topbar{
  top:16px!important;
  right:18px!important;
  opacity:.94!important;
}
body.certigate-auth-screen .coab-auth-theme-switcher,
body.certigate-auth-screen .coab-auth-language-switcher,
body.certigate-auth-screen .coab-auth-lang-switcher{
  border-color:color-mix(in srgb,var(--cg23-border) 78%,transparent)!important;
  box-shadow:0 5px 16px rgba(0,23,34,.045)!important;
}
body.certigate-auth-screen .coab-auth-theme-option,
body.certigate-auth-screen [data-cg-lang-link]{
  font-size:11px!important;
  font-weight:750!important;
}

/* Registration card: tighter, calmer, more institutional. */
body.certigate-auth-screen .coab-auth-layout--stitch23-register{
  padding-top:82px!important;
}
body.certigate-auth-screen .coab-auth-layout--stitch23-register .coab-auth-layout__card{
  width:min(780px,100%)!important;
  max-width:780px!important;
}
body.certigate-auth-screen .coab-auth-layout--stitch23-register .coab-auth-card{
  padding:48px 48px 38px!important;
  border-radius:16px!important;
}
body.certigate-auth-screen .coab-auth-layout--stitch23-register .coab-auth-card>h2{
  font-size:48px!important;
}
body.certigate-auth-screen .coab-auth-layout--stitch23-register .coab-auth-subtitle{
  margin-bottom:26px!important;
}

/* Stepper: polished circles and line continuity. */
body.coab-auth-screen--register .coab-wizard-progress{
  margin-bottom:36px!important;
}
body.coab-auth-screen--register .coab-wizard-progress::before{
  top:11px!important;
  height:2px!important;
  background:linear-gradient(90deg,
    var(--cg23-gold) 0%,
    var(--cg23-gold) 50%,
    var(--cg23-border) 50%,
    var(--cg23-border) 100%)!important;
}
body.coab-auth-screen--register .coab-wizard-progress>span b{
  width:22px!important;
  height:22px!important;
  border-width:3px!important;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--cg23-border) 70%,transparent)!important;
}
body.coab-auth-screen--register .coab-wizard-progress>span.is-active b,
body.coab-auth-screen--register .coab-wizard-progress>span.is-complete b{
  box-shadow:0 0 0 4px rgba(236,194,70,.10)!important;
}

/* Orientation cards: compact and less radio-heavy. */
body.coab-auth-screen--register .coab-choice-grid{
  gap:14px!important;
}
body.coab-auth-screen--register .coab-auth-choice{
  min-height:104px!important;
  padding:16px 17px!important;
  border-radius:12px!important;
  background:var(--cg23-surface)!important;
}
body.coab-auth-screen--register .coab-auth-choice input[type="radio"]{
  -webkit-appearance:none!important;
  appearance:none!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  margin:2px 0 0!important;
  border:1.5px solid #93a3ab!important;
  border-radius:50%!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.coab-auth-screen--register .coab-auth-choice input[type="radio"]:checked{
  border-color:var(--cg23-gold)!important;
  background:
    radial-gradient(circle at center,var(--cg23-gold-bright) 0 4px,transparent 5px)!important;
}
body.coab-auth-screen--register .coab-auth-choice.is-selected,
body.coab-auth-screen--register .coab-auth-choice:has(input:checked){
  border-color:var(--cg23-gold)!important;
  box-shadow:0 0 0 2px rgba(197,169,70,.13)!important;
  background:color-mix(in srgb,var(--cg23-gold) 4%,var(--cg23-surface))!important;
}
body.coab-auth-screen--register .coab-auth-choice strong{
  font-size:14px!important;
  line-height:1.35!important;
}
body.coab-auth-screen--register .coab-auth-choice small{
  font-size:12px!important;
  line-height:1.4!important;
}

/* Consent checkbox matching the design system. */
body.coab-auth-screen--register .coab-auth-consent input[type="checkbox"]{
  -webkit-appearance:none!important;
  appearance:none!important;
  width:19px!important;
  height:19px!important;
  min-width:19px!important;
  border:1.5px solid #96a6ad!important;
  border-radius:5px!important;
  background:var(--cg23-surface)!important;
  position:relative!important;
}
body.coab-auth-screen--register .coab-auth-consent input[type="checkbox"]:checked{
  border-color:var(--cg23-gold)!important;
  background:var(--cg23-gold)!important;
}
body.coab-auth-screen--register .coab-auth-consent input[type="checkbox"]:checked::after{
  content:"✓"!important;
  position:absolute!important;
  inset:0!important;
  display:grid!important;
  place-items:center!important;
  color:#182000!important;
  font-size:12px!important;
  font-weight:900!important;
}
body.coab-auth-screen--register .coab-auth-consent{
  gap:11px!important;
  align-items:flex-start!important;
  color:var(--cg23-muted)!important;
  font-size:13px!important;
  line-height:1.45!important;
}

/* Security rules: calmer success green, tighter spacing. */
body.coab-auth-screen--register .coab-password-rules{
  margin-top:10px!important;
  gap:8px 20px!important;
}
body.coab-auth-screen--register .coab-password-rules__item{
  color:#477565!important;
  font-size:12px!important;
}
body.coab-auth-screen--register .coab-password-rules__item.is-valid,
body.coab-auth-screen--register .coab-password-rules__item.valid{
  color:#287053!important;
}
html[data-theme="dark"] body.coab-auth-screen--register .coab-password-rules__item{
  color:#8fc4af!important;
}

/* Login: rebalance image/text/form. */
body.certigate-auth-screen .coab-auth-layout--stitch23-login{
  grid-template-columns:minmax(440px,.96fr) minmax(520px,1.04fr)!important;
}
body.certigate-auth-screen .cg-auth-login-shade{
  background:linear-gradient(180deg,rgba(0,23,34,.22),rgba(0,36,49,.80))!important;
}
body.certigate-auth-screen .cg-auth-login-logo{
  padding:12px 16px!important;
  margin-bottom:22px!important;
}
body.certigate-auth-screen .cg-auth-login-logo img{
  width:34px!important;
  height:34px!important;
}
body.certigate-auth-screen .cg-auth-login-copy h1{
  max-width:620px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  font-size:clamp(44px,4.8vw,62px)!important;
  line-height:1.04!important;
}
body.certigate-auth-screen .cg-auth-login-copy>p{
  font-size:15px!important;
}
body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-card{
  width:min(560px,100%)!important;
  padding:42px!important;
}
body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-card>h2{
  font-size:38px!important;
}
body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-layout__card{
  padding-bottom:72px!important;
}

/* Keep "create account" safely inside card. */
body.certigate-auth-screen .coab-auth-links{
  padding-bottom:4px!important;
  margin-bottom:0!important;
}

/* Button hierarchy */
body.certigate-auth-screen .coab-auth-submit{
  box-shadow:0 8px 22px rgba(125,96,0,.10)!important;
}
body.certigate-auth-screen .coab-auth-ghost:hover{
  border-color:var(--cg23-field-border-hover)!important;
  background:color-mix(in srgb,var(--cg23-primary) 3%,transparent)!important;
}

/* Small desktop/laptop stability */
@media(min-width:901px) and (max-width:1180px){
  body.certigate-auth-screen .coab-auth-layout--stitch23-login{
    grid-template-columns:minmax(360px,.84fr) minmax(500px,1.16fr)!important;
  }
  body.certigate-auth-screen .cg-auth-login-copy h1{
    font-size:44px!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-card{
    padding:34px!important;
  }
}

/* Mobile = focus on task, not decoration. */
@media(max-width:900px){
  body.certigate-auth-screen .coab-auth-topbar{
    top:8px!important;
    right:8px!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-register{
    padding-top:68px!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-register .coab-auth-card{
    padding-top:26px!important;
  }
  body.coab-auth-screen--register .coab-wizard-progress>span em{
    font-size:8px!important;
  }
  body.coab-auth-screen--register .coab-auth-choice{
    min-height:88px!important;
  }
}


/* ==========================================================
   1.0.45 — Safari Orientation / Native Control Fix
   Production screenshot fix:
   - Safari was stretching route cards because legacy CSS used height:100%.
   - Generic field rules were also imposing tall min-height on radio controls.
   ========================================================== */

/* CRITICAL: never allow route cards to inherit height:100% from legacy Auth CSS. */
html body.coab-auth-screen--register .coab-auth-route-field{
  min-height:0!important;
  height:auto!important;
}
html body.coab-auth-screen--register .coab-auth-route-field .coab-choice-grid{
  align-items:start!important;
  align-content:start!important;
  grid-auto-rows:max-content!important;
  min-height:0!important;
  height:auto!important;
}
html body.coab-auth-screen--register .coab-auth-route-field .coab-route-option,
html body.coab-auth-screen--register .coab-auth-route-field .coab-auth-choice{
  height:auto!important;
  min-height:112px!important;
  max-height:none!important;
  align-self:start!important;
  box-sizing:border-box!important;
}

/* CRITICAL: generic text-field min-height must not leak onto radios/checkboxes. */
html body.coab-auth-screen--register .coab-auth-route-field input[type="radio"]{
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  min-height:18px!important;
  max-width:18px!important;
  max-height:18px!important;
  padding:0!important;
  margin:2px 0 0!important;
  flex:0 0 18px!important;
  box-sizing:border-box!important;
  border-radius:50%!important;
  line-height:1!important;
}

/* The consent control must stay square in Safari/Firefox/Chrome. */
html body.coab-auth-screen--register .coab-auth-consent input[type="checkbox"]{
  width:19px!important;
  height:19px!important;
  min-width:19px!important;
  min-height:19px!important;
  max-width:19px!important;
  max-height:19px!important;
  padding:0!important;
  margin:1px 0 0!important;
  flex:0 0 19px!important;
  box-sizing:border-box!important;
  line-height:1!important;
}

/* Keep orientation content compact and vertically balanced. */
html body.coab-auth-screen--register .coab-route-option>span{
  min-width:0!important;
}
html body.coab-auth-screen--register .coab-route-option strong{
  margin:0!important;
}
html body.coab-auth-screen--register .coab-route-option small{
  max-width:30ch!important;
  margin-top:5px!important;
}

/* Prevent fieldset default Safari geometry from creating extra vertical space. */
html body.coab-auth-screen--register fieldset.coab-auth-choice-field{
  display:block!important;
  width:100%!important;
  min-inline-size:0!important;
  padding:0!important;
  margin-left:0!important;
  margin-right:0!important;
  border:0!important;
}
html body.coab-auth-screen--register fieldset.coab-auth-choice-field legend{
  width:auto!important;
  float:none!important;
  padding:0!important;
}

/* Dark/light selected card stays subtle, one border only. */
html[data-theme="light"] body.coab-auth-screen--register .coab-route-option.is-selected,
html[data-theme="light"] body.coab-auth-screen--register .coab-route-option:has(input:checked){
  background:#fffdf7!important;
  border-color:var(--cg23-gold)!important;
  box-shadow:0 0 0 2px rgba(197,169,70,.10)!important;
}
html[data-theme="dark"] body.coab-auth-screen--register .coab-route-option.is-selected,
html[data-theme="dark"] body.coab-auth-screen--register .coab-route-option:has(input:checked){
  background:color-mix(in srgb,var(--cg23-gold) 5%,#0a2532)!important;
  border-color:var(--cg23-gold)!important;
  box-shadow:0 0 0 2px rgba(197,169,70,.10)!important;
}

/* Keep the bottom of step 2 compact after fixing card height. */
html body.coab-auth-screen--register [data-step-panel="2"] .coab-auth-field{
  margin-bottom:18px!important;
}
html body.coab-auth-screen--register [data-step-panel="2"] .coab-auth-actions{
  margin-top:22px!important;
}

/* Mobile: cards stack naturally and remain content-height. */
@media(max-width:900px){
  html body.coab-auth-screen--register .coab-auth-route-field .coab-route-option,
  html body.coab-auth-screen--register .coab-auth-route-field .coab-auth-choice{
    min-height:92px!important;
    height:auto!important;
  }
}


/* ==========================================================
   1.0.45 — Mobile Full-Width + Login Experience Polish
   Goal: stronger desktop login balance and truly premium mobile ergonomics.
   No backend/auth flow/validation logic changes.
   ========================================================== */

body.certigate-auth-screen{
  --cg23-mobile-page-pad:16px;
  --cg23-mobile-card-pad:16px;
  --cg23-mobile-radius:18px;
}

/* ---------- Desktop login refinement ---------- */
body.certigate-auth-screen .coab-auth-layout--stitch23-login{
  grid-template-columns:minmax(500px,1.08fr) minmax(540px,.92fr)!important;
}
body.certigate-auth-screen .cg-auth-login-copy{
  left:clamp(34px,6.6vw,88px)!important;
  right:clamp(34px,6.6vw,88px)!important;
  bottom:clamp(44px,9vh,88px)!important;
  max-width:620px!important;
  text-align:left!important;
}
body.certigate-auth-screen .cg-auth-login-logo{
  margin-bottom:24px!important;
  padding:14px 18px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:0 16px 34px rgba(0,0,0,.16)!important;
}
body.certigate-auth-screen .cg-auth-login-copy h1{
  font-size:clamp(48px,4.9vw,64px)!important;
  line-height:1.03!important;
  max-width:600px!important;
}
body.certigate-auth-screen .cg-auth-login-copy>p{
  max-width:520px!important;
  margin:16px 0 0!important;
  font-size:17px!important;
}
body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-layout__card{
  padding:76px 44px 44px!important;
}
body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-card{
  position:relative!important;
  width:min(568px,100%)!important;
  padding:48px 46px 38px!important;
  border-radius:18px!important;
}
body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-card::before,
body.certigate-auth-screen .coab-auth-layout--stitch23-forgot .coab-auth-card::before,
body.certigate-auth-screen .coab-auth-layout--single .coab-auth-card::before{
  content:""!important;
  position:absolute!important;
  left:-1px!important;
  right:-1px!important;
  top:-1px!important;
  height:4px!important;
  border-radius:18px 18px 0 0!important;
  background:linear-gradient(90deg,var(--cg23-primary),var(--cg23-gold),var(--cg23-gold-bright))!important;
}
body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-card>h2{
  font-size:46px!important;
  letter-spacing:-.022em!important;
}
body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-subtitle{
  margin:12px 0 26px!important;
  font-size:16px!important;
  line-height:1.5!important;
}
body.certigate-auth-screen .coab-google-btn{
  min-height:56px!important;
  border-radius:12px!important;
  font-size:16px!important;
  font-weight:700!important;
}
body.certigate-auth-screen .coab-auth-sep{
  margin:20px 0 18px!important;
}
body.certigate-auth-screen .coab-auth-sep span{
  padding:0 14px!important;
  font-size:13px!important;
  font-weight:700!important;
}
body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-row{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin:8px 0 20px!important;
}
body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-submit{
  margin-top:2px!important;
}
body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-links{
  margin-top:20px!important;
}

/* ---------- Registration / form structure polish ---------- */
body.coab-auth-screen--register .coab-auth-step-panel{
  width:100%!important;
}
body.coab-auth-screen--register .coab-auth-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:14px!important;
  margin-top:22px!important;
}
body.coab-auth-screen--register .coab-auth-actions--split{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1.34fr)!important;
  gap:14px!important;
}
body.coab-auth-screen--register .coab-auth-consent{
  display:flex!important;
  align-items:flex-start!important;
  gap:12px!important;
  margin-top:8px!important;
  padding:12px 0 0!important;
}
body.coab-auth-screen--register .coab-auth-consent input{
  margin-top:2px!important;
  width:20px!important;
  height:20px!important;
  flex:0 0 20px!important;
}
body.coab-auth-screen--register .coab-auth-consent span{
  color:var(--cg23-muted)!important;
  font-size:14px!important;
  line-height:1.55!important;
}
body.coab-auth-screen--register .coab-auth-choice{
  min-height:132px!important;
  padding:18px!important;
  border-radius:12px!important;
}
body.coab-auth-screen--register .coab-auth-choice strong{
  display:block!important;
  margin-bottom:6px!important;
  font-size:15px!important;
  line-height:1.35!important;
}
body.coab-auth-screen--register .coab-auth-choice small{
  display:block!important;
  color:var(--cg23-muted)!important;
  font-size:13px!important;
  line-height:1.5!important;
}
body.coab-auth-screen--register .coab-auth-field select{
  background-position:right 15px center!important;
}

/* ---------- Mobile-first overhaul ---------- */
@media(max-width:900px){
  body.certigate-auth-screen .coab-auth-topbar{
    position:fixed!important;
    top:max(10px, env(safe-area-inset-top))!important;
    left:10px!important;
    right:10px!important;
    inset:auto!important;
    display:flex!important;
    justify-content:space-between!important;
    align-items:center!important;
    gap:8px!important;
    z-index:90!important;
    pointer-events:none!important;
  }
  body.certigate-auth-screen .coab-auth-topbar > *{
    pointer-events:auto!important;
  }
  body.certigate-auth-screen .coab-auth-theme-switcher,
  body.certigate-auth-screen .coab-auth-language-switcher,
  body.certigate-auth-screen .coab-auth-lang-switcher{
    background:color-mix(in srgb,var(--cg23-surface) 96%,transparent)!important;
    box-shadow:0 10px 24px rgba(0,0,0,.10)!important;
  }
  body.certigate-auth-screen .coab-auth-theme-option,
  body.certigate-auth-screen [data-cg-lang-link]{
    min-width:38px!important;
    height:38px!important;
  }

  /* Mobile login becomes a real hero + full-width form experience. */
  body.certigate-auth-screen .coab-auth-layout--stitch23-login{
    grid-template-columns:1fr!important;
    grid-template-rows:auto 1fr!important;
    min-height:100svh!important;
  }
  body.certigate-auth-screen .cg-auth-login-brand{
    display:block!important;
    min-height:260px!important;
    height:auto!important;
  }
  body.certigate-auth-screen .cg-auth-login-photo,
  body.certigate-auth-screen .cg-auth-login-photo img,
  body.certigate-auth-screen .cg-auth-login-shade{
    position:absolute!important;
  }
  body.certigate-auth-screen .cg-auth-login-copy{
    left:var(--cg23-mobile-page-pad)!important;
    right:var(--cg23-mobile-page-pad)!important;
    bottom:22px!important;
    max-width:none!important;
    text-align:left!important;
  }
  body.certigate-auth-screen .cg-auth-login-logo{
    margin-bottom:14px!important;
    padding:10px 14px!important;
    border-radius:14px!important;
  }
  body.certigate-auth-screen .cg-auth-login-logo img{
    width:28px!important;
    height:28px!important;
  }
  body.certigate-auth-screen .cg-auth-login-logo strong{
    font-size:19px!important;
  }
  body.certigate-auth-screen .cg-auth-login-copy h1{
    max-width:unset!important;
    font-size:clamp(34px,9vw,46px)!important;
    line-height:1.04!important;
  }
  body.certigate-auth-screen .cg-auth-login-copy>p{
    max-width:unset!important;
    margin-top:12px!important;
    font-size:15px!important;
    line-height:1.55!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-layout__card{
    min-height:auto!important;
    padding:0!important;
    display:block!important;
    margin-top:-18px!important;
    position:relative!important;
    z-index:2!important;
    background:transparent!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-card{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:28px var(--cg23-mobile-card-pad) calc(24px + env(safe-area-inset-bottom))!important;
    border-left:0!important;
    border-right:0!important;
    border-bottom:0!important;
    border-radius:24px 24px 0 0!important;
    box-shadow:none!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-card>h2{
    text-align:left!important;
    font-size:34px!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-subtitle{
    margin:8px 0 22px!important;
    text-align:left!important;
    font-size:14px!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-card::before{
    border-radius:24px 24px 0 0!important;
  }

  /* Mobile register / forgot / 2FA are full-width, not boxed in the center. */
  body.certigate-auth-screen .coab-auth-layout--stitch23-register,
  body.certigate-auth-screen .coab-auth-layout--stitch23-forgot,
  body.certigate-auth-screen .coab-auth-layout--single{
    padding:calc(64px + env(safe-area-inset-top)) 0 env(safe-area-inset-bottom)!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-register .coab-auth-layout__card,
  body.certigate-auth-screen .coab-auth-layout--stitch23-forgot .coab-auth-layout__card,
  body.certigate-auth-screen .coab-auth-layout--single .coab-auth-layout__card{
    width:100%!important;
    max-width:none!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-register .coab-auth-card,
  body.certigate-auth-screen .coab-auth-layout--stitch23-forgot .coab-auth-card,
  body.certigate-auth-screen .coab-auth-layout--single .coab-auth-card{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:28px var(--cg23-mobile-card-pad) calc(24px + env(safe-area-inset-bottom))!important;
    border-left:0!important;
    border-right:0!important;
    border-radius:24px 24px 0 0!important;
    box-shadow:none!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-register .coab-auth-card::before,
  body.certigate-auth-screen .coab-auth-layout--stitch23-forgot .coab-auth-card::before,
  body.certigate-auth-screen .coab-auth-layout--single .coab-auth-card::before{
    border-radius:24px 24px 0 0!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-register .certigate-auth-logo{
    justify-content:flex-start!important;
    margin-bottom:10px!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-register .coab-auth-card>h2,
  body.certigate-auth-screen .coab-auth-layout--stitch23-forgot .coab-auth-card>h2,
  body.certigate-auth-screen .coab-auth-layout--single .coab-auth-card>h2{
    text-align:left!important;
    font-size:34px!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-register .coab-auth-subtitle,
  body.certigate-auth-screen .coab-auth-layout--stitch23-forgot .coab-auth-subtitle,
  body.certigate-auth-screen .coab-auth-layout--single .coab-auth-subtitle{
    margin:8px 0 20px!important;
    text-align:left!important;
    font-size:14px!important;
  }

  body.certigate-auth-screen .coab-auth-form,
  body.certigate-auth-screen .coab-auth-step-panel,
  body.certigate-auth-screen .coab-auth-actions,
  body.certigate-auth-screen .coab-auth-actions--split,
  body.certigate-auth-screen .coab-choice-grid,
  body.certigate-auth-screen .coab-auth-phone-grid{
    width:100%!important;
  }
  body.certigate-auth-screen .coab-auth-field input,
  body.certigate-auth-screen .coab-auth-field select,
  body.certigate-auth-screen .coab-auth-field textarea,
  body.certigate-auth-screen .coab-google-btn,
  body.certigate-auth-screen .coab-auth-submit,
  body.certigate-auth-screen .coab-auth-ghost{
    width:100%!important;
    min-height:54px!important;
    font-size:16px!important;
    border-radius:12px!important;
  }
  body.certigate-auth-screen .coab-auth-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    align-items:start!important;
  }
  body.certigate-auth-screen .coab-auth-row a{
    justify-self:flex-start!important;
  }
  body.certigate-auth-screen .coab-auth-links{
    margin-top:18px!important;
    text-align:left!important;
  }

  body.coab-auth-screen--register .coab-wizard-progress{
    margin:0 0 24px!important;
  }
  body.coab-auth-screen--register .coab-wizard-progress::before{
    left:16px!important;
    right:16px!important;
  }
  body.coab-auth-screen--register .coab-wizard-progress>span{
    min-height:44px!important;
    gap:6px!important;
  }
  body.coab-auth-screen--register .coab-wizard-progress>span b{
    width:22px!important;
    height:22px!important;
  }
  body.coab-auth-screen--register .coab-wizard-progress>span em{
    font-size:9px!important;
    letter-spacing:.08em!important;
  }
  body.coab-auth-screen--register .coab-wizard-panel-head{
    margin-bottom:22px!important;
    padding-bottom:18px!important;
    text-align:left!important;
  }
  body.coab-auth-screen--register .coab-wizard-panel-head h3{
    font-size:30px!important;
  }
  body.coab-auth-screen--register .coab-auth-choice{
    min-height:auto!important;
    padding:16px!important;
  }
  body.coab-auth-screen--register .coab-auth-actions,
  body.coab-auth-screen--register .coab-auth-actions--split{
    grid-template-columns:1fr!important;
    justify-content:stretch!important;
  }
  body.coab-auth-screen--register .coab-auth-consent{
    margin-top:6px!important;
    padding-top:4px!important;
  }
  body.coab-auth-screen--register .coab-password-rules{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:560px){
  body.certigate-auth-screen{
    --cg23-mobile-page-pad:14px;
    --cg23-mobile-card-pad:14px;
  }
  body.certigate-auth-screen .coab-auth-theme-option span:last-child{
    display:none!important;
  }
  body.certigate-auth-screen .coab-auth-theme-option{
    width:38px!important;
    min-width:38px!important;
    padding:0!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-card>h2,
  body.certigate-auth-screen .coab-auth-layout--stitch23-register .coab-auth-card>h2,
  body.certigate-auth-screen .coab-auth-layout--stitch23-forgot .coab-auth-card>h2,
  body.certigate-auth-screen .coab-auth-layout--single .coab-auth-card>h2{
    font-size:32px!important;
  }
  body.certigate-auth-screen .cg-auth-login-brand{
    min-height:236px!important;
  }
  body.certigate-auth-screen .cg-auth-login-copy h1{
    font-size:36px!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-submit,
  body.coab-auth-screen--register .coab-auth-submit,
  body.coab-auth-screen--register .coab-auth-ghost{
    min-height:52px!important;
  }
}

/* Dark mode polish for the mobile full-width shell. */
html[data-theme="dark"] body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-card,
html[data-theme="dark"] body.certigate-auth-screen .coab-auth-layout--stitch23-register .coab-auth-card,
html[data-theme="dark"] body.certigate-auth-screen .coab-auth-layout--stitch23-forgot .coab-auth-card,
html[data-theme="dark"] body.certigate-auth-screen .coab-auth-layout--single .coab-auth-card{
  background:#071d29!important;
}
html[data-theme="dark"] body.certigate-auth-screen .coab-auth-theme-switcher,
html[data-theme="dark"] body.certigate-auth-screen .coab-auth-language-switcher,
html[data-theme="dark"] body.certigate-auth-screen .coab-auth-lang-switcher{
  background:rgba(8,28,39,.92)!important;
}

/* ==========================================================
   1.0.48 — Elegant Entry Preferences + Login Cleanup
   Goals:
   - preferences menu only on login entry page
   - cleaner split-screen desktop login
   - readable Certigate logo
   - mobile login without hero image
   - no backend / auth flow changes
   ========================================================== */

/* Login-only preference menu */
body.certigate-auth-screen .coab-auth-topbar{
  position:fixed!important;
  top:22px!important;
  right:22px!important;
  left:auto!important;
  inset:22px 22px auto auto!important;
  z-index:90!important;
  width:auto!important;
  max-width:calc(100vw - 44px)!important;
}
body.certigate-auth-screen .coab-auth-pref-menu{
  position:relative!important;
}
body.certigate-auth-screen .coab-auth-pref-menu > summary{
  list-style:none!important;
}
body.certigate-auth-screen .coab-auth-pref-menu > summary::-webkit-details-marker{
  display:none!important;
}
body.certigate-auth-screen .coab-auth-pref-trigger{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  min-width:48px!important;
  min-height:48px!important;
  padding:0 16px!important;
  border:1px solid var(--cg23-border)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.92)!important;
  color:var(--cg23-primary)!important;
  box-shadow:0 14px 32px rgba(15,33,44,.12)!important;
  cursor:pointer!important;
  user-select:none!important;
}
body.certigate-auth-screen .coab-auth-pref-trigger__icon{
  display:inline-flex!important;
  width:18px!important;
  height:18px!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:16px!important;
  line-height:1!important;
}
body.certigate-auth-screen .coab-auth-pref-trigger__label{
  font-size:14px!important;
  font-weight:700!important;
}
body.certigate-auth-screen .coab-auth-pref-popover{
  position:absolute!important;
  top:calc(100% + 12px)!important;
  right:0!important;
  width:min(320px,calc(100vw - 32px))!important;
  padding:16px!important;
  display:grid!important;
  gap:14px!important;
  border:1px solid var(--cg23-border)!important;
  border-radius:18px!important;
  background:var(--cg23-surface)!important;
  box-shadow:0 22px 54px rgba(9,27,39,.16)!important;
}
body.certigate-auth-screen .coab-auth-pref-group{
  display:grid!important;
  gap:10px!important;
}
body.certigate-auth-screen .coab-auth-pref-title{
  color:var(--cg23-muted)!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}
body.certigate-auth-screen .coab-auth-pref-popover .coab-auth-theme-switcher,
body.certigate-auth-screen .coab-auth-pref-popover .coab-auth-lang-switcher,
body.certigate-auth-screen .coab-auth-pref-popover .coab-auth-language-switcher{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  backdrop-filter:none!important;
  box-shadow:none!important;
}
body.certigate-auth-screen .coab-auth-pref-popover .coab-auth-theme-option,
body.certigate-auth-screen .coab-auth-pref-popover [data-cg-lang-link]{
  min-width:unset!important;
  min-height:40px!important;
  height:40px!important;
  padding:0 14px!important;
  border:1px solid var(--cg23-border)!important;
  border-radius:999px!important;
  background:var(--cg23-paper-low)!important;
  color:var(--cg23-ink)!important;
  text-decoration:none!important;
}
body.certigate-auth-screen .coab-auth-pref-popover .coab-auth-theme-option[aria-pressed="true"],
body.certigate-auth-screen .coab-auth-pref-popover [data-cg-lang-link].is-active,
body.certigate-auth-screen .coab-auth-pref-popover [data-cg-lang-link][aria-current="true"]{
  border-color:transparent!important;
  background:var(--cg23-gold)!important;
  color:#161700!important;
}

/* Desktop login cleanup */
body.certigate-auth-screen .coab-auth-layout--stitch23-login{
  grid-template-columns:minmax(520px,1.02fr) minmax(560px,.98fr)!important;
}
body.certigate-auth-screen .cg-auth-login-brand{
  border-radius:0 28px 28px 0!important;
}
body.certigate-auth-screen .cg-auth-login-shade{
  background:linear-gradient(180deg,rgba(0,18,28,.34),rgba(0,23,34,.82))!important;
}
body.certigate-auth-screen .cg-auth-login-copy{
  left:clamp(36px,6vw,82px)!important;
  right:clamp(36px,6vw,82px)!important;
  bottom:clamp(40px,8vh,74px)!important;
  text-align:left!important;
}
body.certigate-auth-screen .cg-auth-login-logo{
  display:inline-flex!important;
  margin-bottom:22px!important;
  padding:12px 16px!important;
  border:1px solid rgba(255,255,255,.20)!important;
  border-radius:16px!important;
  background:rgba(252,249,241,.96)!important;
  box-shadow:0 16px 36px rgba(0,0,0,.18)!important;
}
body.certigate-auth-screen .cg-auth-login-logo img{
  width:42px!important;
  height:42px!important;
}
body.certigate-auth-screen .cg-auth-login-logo strong{
  font-size:20px!important;
  letter-spacing:-.02em!important;
}
body.certigate-auth-screen .cg-auth-login-copy h1{
  max-width:580px!important;
  font-size:clamp(42px,4.5vw,58px)!important;
  line-height:1.06!important;
}
body.certigate-auth-screen .cg-auth-login-copy > p{
  max-width:520px!important;
  margin:14px 0 0!important;
  font-size:17px!important;
  line-height:1.6!important;
}
body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-layout__card{
  padding:70px 48px 42px!important;
}
body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-card{
  position:relative!important;
  width:min(560px,100%)!important;
  padding:36px 42px 34px!important;
  border-radius:24px!important;
}
body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-card::before{
  border-radius:24px 24px 0 0!important;
}
body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-card > h2{
  text-align:left!important;
  font-size:42px!important;
}
body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-subtitle{
  margin:10px 0 24px!important;
  text-align:left!important;
  font-size:16px!important;
}
body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-field label{
  color:var(--cg23-ink)!important;
  font-size:14px!important;
}
body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-field input{
  min-height:58px!important;
  border-radius:14px!important;
}
body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-row{
  margin:10px 0 22px!important;
}
body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-submit{
  min-height:58px!important;
  border-radius:14px!important;
  font-size:16px!important;
}
body.certigate-auth-screen .coab-auth-links--login-cta{
  margin-top:18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  color:var(--cg23-muted)!important;
}
body.certigate-auth-screen .coab-auth-links--login-cta span{
  color:var(--cg23-muted)!important;
}

/* Mobile login: remove hero image, keep only form */
@media(max-width:900px){
  body.certigate-auth-screen .coab-auth-topbar{
    top:max(12px, env(safe-area-inset-top))!important;
    right:12px!important;
    left:auto!important;
    inset:max(12px, env(safe-area-inset-top)) 12px auto auto!important;
    max-width:calc(100vw - 24px)!important;
  }
  body.certigate-auth-screen .coab-auth-pref-trigger{
    min-width:44px!important;
    min-height:44px!important;
    width:44px!important;
    padding:0!important;
    border-radius:14px!important;
  }
  body.certigate-auth-screen .coab-auth-pref-trigger__label{
    display:none!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-login{
    display:block!important;
    min-height:100svh!important;
    padding:0!important;
    background:var(--cg23-paper)!important;
  }
  body.certigate-auth-screen .cg-auth-login-brand{
    display:none!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-layout__card{
    min-height:100svh!important;
    padding:calc(70px + env(safe-area-inset-top)) 0 env(safe-area-inset-bottom)!important;
    display:block!important;
    background:var(--cg23-paper)!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-card{
    width:100%!important;
    max-width:none!important;
    min-height:calc(100svh - 70px)!important;
    margin:0!important;
    padding:18px 16px calc(24px + env(safe-area-inset-bottom))!important;
    border:0!important;
    border-radius:28px 28px 0 0!important;
    box-shadow:none!important;
    background:var(--cg23-surface)!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-card::before{
    display:none!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .certigate-auth-logo{
    display:flex!important;
    justify-content:flex-start!important;
    margin:0 0 10px!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .certigate-auth-logo span{
    width:42px!important;
    height:42px!important;
    border-radius:12px!important;
    background-size:contain!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-card > h2{
    font-size:34px!important;
    line-height:1.08!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-subtitle{
    margin:8px 0 18px!important;
    font-size:15px!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    align-items:start!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-links--login-cta{
    flex-wrap:wrap!important;
    justify-content:flex-start!important;
    gap:6px!important;
    text-align:left!important;
  }
}

@media(max-width:560px){
  body.certigate-auth-screen .coab-auth-pref-popover{
    width:min(300px,calc(100vw - 24px))!important;
    padding:14px!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-card{
    padding:16px 14px calc(24px + env(safe-area-inset-bottom))!important;
  }
}

html[data-theme="dark"] body.certigate-auth-screen .coab-auth-pref-trigger{
  background:rgba(7,29,41,.94)!important;
  color:#f3f6f7!important;
  border-color:#2d4f5d!important;
}
html[data-theme="dark"] body.certigate-auth-screen .coab-auth-pref-popover{
  background:#071d29!important;
  border-color:#27424f!important;
  box-shadow:0 24px 54px rgba(0,0,0,.34)!important;
}
html[data-theme="dark"] body.certigate-auth-screen .coab-auth-pref-popover .coab-auth-theme-option,
html[data-theme="dark"] body.certigate-auth-screen .coab-auth-pref-popover [data-cg-lang-link]{
  background:#0d2a37!important;
  border-color:#355261!important;
  color:#f3f6f7!important;
}

/* ==========================================================
   1.0.49 — Mobile Preferences Popover Polish
   Fixes oversized/empty-looking preference controls on mobile.
   ========================================================== */
@media(max-width:900px){
  body.certigate-auth-screen .coab-auth-pref-popover{
    position:fixed!important;
    top:calc(max(12px, env(safe-area-inset-top)) + 52px)!important;
    right:12px!important;
    left:auto!important;
    width:252px!important;
    max-width:calc(100vw - 24px)!important;
    padding:13px!important;
    gap:12px!important;
    border-radius:16px!important;
    box-shadow:0 18px 42px rgba(9,27,39,.18)!important;
  }
  body.certigate-auth-screen .coab-auth-pref-group{
    gap:8px!important;
  }
  body.certigate-auth-screen .coab-auth-pref-title{
    font-size:10px!important;
    letter-spacing:.12em!important;
  }
  body.certigate-auth-screen .coab-auth-pref-popover .coab-auth-theme-switcher{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    width:100%!important;
  }
  body.certigate-auth-screen .coab-auth-pref-popover .coab-auth-theme-option{
    width:100%!important;
    min-width:0!important;
    height:40px!important;
    min-height:40px!important;
    padding:0 10px!important;
    gap:6px!important;
    font-size:12px!important;
  }
  /* Re-enable labels hidden by the legacy mobile rule. */
  body.certigate-auth-screen .coab-auth-pref-popover .coab-auth-theme-option span:last-child{
    display:inline!important;
  }
  body.certigate-auth-screen .coab-auth-pref-popover .coab-auth-lang-switcher,
  body.certigate-auth-screen .coab-auth-pref-popover .coab-auth-language-switcher{
    display:flex!important;
    gap:8px!important;
  }
  body.certigate-auth-screen .coab-auth-pref-popover [data-cg-lang-link]{
    min-width:48px!important;
    width:auto!important;
    height:38px!important;
    min-height:38px!important;
    padding:0 13px!important;
    font-size:12px!important;
  }
}

@media(max-width:560px){
  body.certigate-auth-screen .coab-auth-pref-trigger{
    width:42px!important;
    min-width:42px!important;
    min-height:42px!important;
    height:42px!important;
    border-radius:13px!important;
  }
  body.certigate-auth-screen .coab-auth-pref-trigger__icon{
    font-size:15px!important;
  }
  body.certigate-auth-screen .coab-auth-pref-popover{
    top:calc(max(10px, env(safe-area-inset-top)) + 50px)!important;
    right:10px!important;
    width:238px!important;
    max-width:calc(100vw - 20px)!important;
    padding:12px!important;
  }
}

/* ==========================================================
   1.0.50 — Desktop login visual refresh
   Goal: cleaner desktop login inspired by the tidy DoingBuzz auth layout,
   while keeping Certigate branding, current logic and mobile behavior.
   ========================================================== */
@media(min-width:901px){
  body.certigate-auth-screen{
    --cg50-ink:#12263a;
    --cg50-muted:#6b7c8f;
    --cg50-border:rgba(15,34,50,.11);
    --cg50-panel:#ffffff;
    --cg50-soft:#f7f8fa;
  }

  /* Prefer the clean desktop composition only on login */
  body.certigate-auth-screen .coab-auth-layout--stitch23-login{
    grid-template-columns:minmax(520px,1.05fr) minmax(560px,.95fr)!important;
    gap:0!important;
    min-height:100vh!important;
    background:#f5f4ef!important;
  }

  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-layout__card{
    padding:52px 54px 40px!important;
    background:#f7f6f2!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }

  body.certigate-auth-screen .cg-auth-login-brand{
    position:relative!important;
    overflow:hidden!important;
    border-radius:0 30px 30px 0!important;
    min-height:100vh!important;
    isolation:isolate!important;
  }
  body.certigate-auth-screen .cg-auth-login-brand::after{
    content:""!important;
    position:absolute!important;
    inset:auto -90px -110px auto!important;
    width:320px!important;
    height:320px!important;
    border-radius:50%!important;
    background:radial-gradient(circle,rgba(255,255,255,.16),rgba(255,255,255,0) 70%)!important;
    z-index:1!important;
    pointer-events:none!important;
  }
  body.certigate-auth-screen .cg-auth-login-photo,
  body.certigate-auth-screen .cg-auth-login-photo img{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    display:block!important;
  }
  body.certigate-auth-screen .cg-auth-login-photo img{
    object-fit:cover!important;
    object-position:60% center!important;
    filter:saturate(.86) brightness(.72) contrast(1.02)!important;
    transform:scale(1.03)!important;
  }
  body.certigate-auth-screen .cg-auth-login-shade{
    background:
      linear-gradient(90deg,rgba(4,19,31,.92) 0%,rgba(4,19,31,.82) 36%,rgba(4,19,31,.54) 66%,rgba(4,19,31,.42) 100%),
      linear-gradient(180deg,rgba(4,19,31,.08) 0%,rgba(4,19,31,.42) 100%)!important;
  }
  body.certigate-auth-screen .cg-auth-login-copy{
    position:absolute!important;
    inset:42px 42px 44px 54px!important;
    z-index:2!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:18px!important;
    max-width:560px!important;
    text-align:left!important;
  }
  body.certigate-auth-screen .cg-auth-login-logo{
    display:inline-flex!important;
    align-items:center!important;
    gap:12px!important;
    margin:0!important;
    padding:12px 16px!important;
    border:1px solid rgba(255,255,255,.22)!important;
    border-radius:18px!important;
    background:rgba(255,251,243,.95)!important;
    color:#102534!important;
    box-shadow:0 18px 40px rgba(0,0,0,.20)!important;
    text-decoration:none!important;
  }
  body.certigate-auth-screen .cg-auth-login-logo img{width:42px!important;height:42px!important;object-fit:contain!important}
  body.certigate-auth-screen .cg-auth-login-logo strong{
    font:800 18px/1.1 'IBM Plex Sans',system-ui,sans-serif!important;
    letter-spacing:-.02em!important;
  }
  body.certigate-auth-screen .cg-auth-login-kicker{
    display:inline-flex!important;
    align-items:center!important;
    min-height:34px!important;
    padding:0 12px!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.08)!important;
    border:1px solid rgba(255,255,255,.10)!important;
    color:#e7c85f!important;
    font:800 11px/1 'IBM Plex Sans',system-ui,sans-serif!important;
    letter-spacing:.12em!important;
    text-transform:uppercase!important;
  }
  body.certigate-auth-screen .cg-auth-login-copy h1{
    margin:0!important;
    max-width:11ch!important;
    color:#fff!important;
    font:800 clamp(52px,4.65vw,72px)/.95 'IBM Plex Sans',system-ui,sans-serif!important;
    letter-spacing:-.055em!important;
    text-wrap:balance!important;
  }
  body.certigate-auth-screen .cg-auth-login-copy > p{
    margin:0!important;
    max-width:510px!important;
    color:rgba(240,245,249,.86)!important;
    font:500 18px/1.58 'IBM Plex Sans',system-ui,sans-serif!important;
  }
  body.certigate-auth-screen .cg-auth-login-points{
    list-style:none!important;
    margin:8px 0 0!important;
    padding:0!important;
    display:grid!important;
    gap:12px!important;
  }
  body.certigate-auth-screen .cg-auth-login-points li{
    position:relative!important;
    padding-left:28px!important;
    color:#f4f6f8!important;
    font:700 16px/1.45 'IBM Plex Sans',system-ui,sans-serif!important;
  }
  body.certigate-auth-screen .cg-auth-login-points li::before{
    content:""!important;
    position:absolute!important;
    left:0!important;
    top:.45em!important;
    width:10px!important;
    height:10px!important;
    border-radius:50%!important;
    background:#d5b54f!important;
    box-shadow:0 0 0 5px rgba(213,181,79,.14)!important;
  }

  /* Right card: cleaner DBZ-inspired treatment */
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-card{
    width:min(560px,100%)!important;
    max-width:560px!important;
    padding:42px 46px 38px!important;
    border-radius:34px!important;
    background:var(--cg50-panel)!important;
    border:1px solid var(--cg50-border)!important;
    box-shadow:0 22px 54px rgba(16,37,52,.10)!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-card::before{display:none!important}
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .certigate-auth-logo{display:none!important}
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-card > h2{
    margin:0 0 8px!important;
    color:var(--cg50-ink)!important;
    text-align:left!important;
    font:800 clamp(42px,4vw,54px)/.98 'IBM Plex Sans',system-ui,sans-serif!important;
    letter-spacing:-.045em!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-subtitle{
    margin:0 0 24px!important;
    color:var(--cg50-muted)!important;
    text-align:left!important;
    font:500 16px/1.55 'IBM Plex Sans',system-ui,sans-serif!important;
  }
  body.certigate-auth-screen .coab-google-btn{
    min-height:58px!important;
    border-radius:18px!important;
    border:1px solid var(--cg50-border)!important;
    background:#fff!important;
    box-shadow:none!important;
    font:700 15px/1.2 'IBM Plex Sans',system-ui,sans-serif!important;
    color:var(--cg50-ink)!important;
  }
  body.certigate-auth-screen .coab-auth-sep{margin:22px 0!important}
  body.certigate-auth-screen .coab-auth-sep span{
    font:700 14px/1 'IBM Plex Sans',system-ui,sans-serif!important;
    color:var(--cg50-muted)!important;
  }
  body.certigate-auth-screen .coab-auth-form{display:grid!important;gap:18px!important}
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-field label{
    margin:0 0 10px!important;
    color:var(--cg50-ink)!important;
    font:800 14px/1.2 'IBM Plex Sans',system-ui,sans-serif!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-field input{
    min-height:58px!important;
    height:58px!important;
    border-radius:18px!important;
    border:1px solid rgba(15,34,50,.14)!important;
    background:#fff!important;
    color:var(--cg50-ink)!important;
    box-shadow:none!important;
    font:500 16px/1.2 'IBM Plex Sans',system-ui,sans-serif!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-field input:focus{
    border-color:rgba(201,162,39,.56)!important;
    box-shadow:0 0 0 4px rgba(201,162,39,.14)!important;
  }
  body.certigate-auth-screen .coab-auth-toggle{
    width:42px!important;
    height:42px!important;
    border-radius:14px!important;
    color:#8090a1!important;
    background:transparent!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-row{
    margin:4px 0 4px!important;
    align-items:center!important;
    font-family:'IBM Plex Sans',system-ui,sans-serif!important;
  }
  body.certigate-auth-screen .coab-auth-check,
  body.certigate-auth-screen .coab-auth-row a{
    font:600 14px/1.3 'IBM Plex Sans',system-ui,sans-serif!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-submit{
    min-height:56px!important;
    border-radius:18px!important;
    font:800 16px/1.2 'IBM Plex Sans',system-ui,sans-serif!important;
    box-shadow:none!important;
  }
  body.certigate-auth-screen .coab-auth-links--login-cta{
    margin-top:22px!important;
    justify-content:center!important;
    gap:8px!important;
    text-align:center!important;
    color:var(--cg50-muted)!important;
    font:600 14px/1.45 'IBM Plex Sans',system-ui,sans-serif!important;
  }
  body.certigate-auth-screen .coab-auth-links--login-cta a{
    font-weight:800!important;
  }

  /* Dark theme: keep clean contrast */
  html[data-theme="dark"] body.certigate-auth-screen .coab-auth-layout--stitch23-login,
  html[data-theme="dark"] body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-layout__card{
    background:#071822!important;
  }
  html[data-theme="dark"] body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-card{
    background:#0b2230!important;
    border-color:rgba(148,163,184,.18)!important;
    box-shadow:0 22px 54px rgba(0,0,0,.32)!important;
  }
  html[data-theme="dark"] body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-card > h2,
  html[data-theme="dark"] body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-field label,
  html[data-theme="dark"] body.certigate-auth-screen .coab-google-btn{color:#eef2f6!important}
  html[data-theme="dark"] body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-subtitle,
  html[data-theme="dark"] body.certigate-auth-screen .coab-auth-links--login-cta,
  html[data-theme="dark"] body.certigate-auth-screen .coab-auth-check,
  html[data-theme="dark"] body.certigate-auth-screen .coab-auth-row a,
  html[data-theme="dark"] body.certigate-auth-screen .coab-auth-sep span{color:#9cb0be!important}
  html[data-theme="dark"] body.certigate-auth-screen .coab-google-btn,
  html[data-theme="dark"] body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-field input{
    background:#0f2b39!important;
    border-color:rgba(148,163,184,.22)!important;
    color:#eef2f6!important;
  }
  html[data-theme="dark"] body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-field input:focus{
    border-color:rgba(226,200,95,.62)!important;
    box-shadow:0 0 0 4px rgba(226,200,95,.12)!important;
  }
}

/* ==========================================================
   1.0.51 — Desktop login widening + brand simplification
   Goal: make desktop login feel less cramped, remove unnecessary
   left-panel badges/list, and improve preferences placement.
   Mobile remains unchanged.
   ========================================================== */
@media(min-width:901px){
  body.certigate-auth-screen .coab-auth-topbar{
    top:28px!important;
    right:28px!important;
    left:auto!important;
    inset:28px 28px auto auto!important;
    z-index:120!important;
  }
  body.certigate-auth-screen .coab-auth-pref-trigger{
    min-height:46px!important;
    padding:0 18px!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.98)!important;
    border:1px solid rgba(15,34,50,.08)!important;
    box-shadow:0 14px 32px rgba(15,33,44,.08)!important;
  }
  body.certigate-auth-screen .coab-auth-pref-popover{
    top:calc(100% + 10px)!important;
    border-radius:20px!important;
  }

  /* wider and airier right panel */
  body.certigate-auth-screen .coab-auth-layout--stitch23-login{
    grid-template-columns:minmax(560px,1.02fr) minmax(700px,.98fr)!important;
    background:#f4f2ed!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-layout__card{
    padding:36px 38px 36px!important;
    background:#f7f5ef!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-card{
    width:min(640px,100%)!important;
    max-width:640px!important;
    padding:46px 50px 42px!important;
    border-radius:34px!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-card > h2{
    font-size:clamp(46px,4vw,62px)!important;
    margin:0 0 10px!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-subtitle{
    max-width:540px!important;
    font-size:17px!important;
    margin:0 0 28px!important;
  }
  body.certigate-auth-screen .coab-google-btn,
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-field input,
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-submit{
    min-height:60px!important;
    height:60px!important;
    border-radius:20px!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-form{
    gap:20px!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-row{
    margin:8px 0 6px!important;
  }
  body.certigate-auth-screen .coab-auth-links--login-cta{
    margin-top:24px!important;
  }

  /* simpler left visual content */
  body.certigate-auth-screen .cg-auth-login-brand{
    border-radius:0 30px 30px 0!important;
  }
  body.certigate-auth-screen .cg-auth-login-copy{
    inset:54px 54px 54px 56px!important;
    justify-content:flex-end!important;
    gap:18px!important;
    max-width:540px!important;
  }
  body.certigate-auth-screen .cg-auth-login-kicker,
  body.certigate-auth-screen .cg-auth-login-points{
    display:none!important;
  }
  body.certigate-auth-screen .cg-auth-login-logo{
    margin:0 0 auto!important;
  }
  body.certigate-auth-screen .cg-auth-login-copy h1{
    max-width:9.5ch!important;
    font-size:clamp(58px,5vw,78px)!important;
    line-height:.96!important;
    letter-spacing:-.06em!important;
  }
  body.certigate-auth-screen .cg-auth-login-copy > p{
    max-width:500px!important;
    font-size:18px!important;
    line-height:1.62!important;
    margin:0!important;
  }
}

/* ==========================================================
   1.0.52 — Desktop login full-space refinement
   Goal: let the right login section breathe and occupy more space.
   Mobile unchanged.
   ========================================================== */
@media(min-width:901px){
  body.certigate-auth-screen .coab-auth-layout--stitch23-login{
    grid-template-columns:minmax(540px,1fr) minmax(760px,1.08fr)!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-layout__card{
    padding:18px 18px 18px 26px!important;
    align-items:stretch!important;
    justify-content:stretch!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-card{
    width:100%!important;
    max-width:none!important;
    min-height:calc(100vh - 36px)!important;
    padding:54px 58px 44px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    border-radius:30px!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-card > h2{
    font-size:clamp(50px,4.25vw,68px)!important;
    max-width:100%!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-subtitle{
    max-width:620px!important;
    margin:0 0 30px!important;
  }
  body.certigate-auth-screen .coab-google-btn,
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-field input,
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-submit{
    width:100%!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-form{
    width:100%!important;
    max-width:none!important;
  }
  body.certigate-auth-screen .coab-auth-layout--stitch23-login .coab-auth-links--login-cta{
    width:100%!important;
    margin-top:26px!important;
  }
}
