/* v89.56 fix 63 - the sign-in pages: form on the left, the platform on the right.
   Loaded by includes/header.php only when a page sets $authLayout. */
body.auth-body{ background:#fff; }
body.auth-body .page-wrap.auth-page{ max-width:none; margin:0; padding:0; }
.auth-split{ display:grid; grid-template-columns:minmax(0, 47fr) minmax(0, 53fr); min-height:100vh; }
.auth-col{ display:flex; flex-direction:column; padding:30px 0 20px; min-width:0; background:#fff; min-height:100vh; align-self:start; }
.auth-brand{ display:flex; align-items:center; gap:10px; padding:0 44px; font-weight:700; color:#0B2A4A; font-size:15px; text-decoration:none; align-self:flex-start; }
.auth-brand:hover{ color:#0B2A4A; }
.auth-brand img{ width:30px; height:30px; border-radius:7px; }
.auth-brand small{ display:block; font-weight:500; color:#65676B; font-size:11.5px; letter-spacing:.2px; }
.auth-form-wrap{ flex:1; display:flex; align-items:center; justify-content:center; padding:28px 32px; }
.auth-form{ width:100%; max-width:420px; }
.auth-form.auth-form-wide{ max-width:470px; }
.auth-eyebrow{ font-size:11px; letter-spacing:1.6px; color:#0B6BAB; font-weight:800; text-transform:uppercase; margin-bottom:8px; }
.auth-form h1{ font-size:30px; margin:0 0 6px; color:#0B2A4A; letter-spacing:-.3px; font-weight:800; }
.auth-lead{ color:#65676B; font-size:14.5px; margin:0 0 22px; line-height:1.5; }
.auth-sso{ display:flex; align-items:center; justify-content:center; gap:9px; border:1px solid #D9E2EB; border-radius:10px; padding:11px; font-weight:600; font-size:14px; color:#14171A; text-decoration:none; background:#fff; }
.auth-sso:hover{ border-color:#0B6BAB; color:#0B2A4A; background:#F7FAFD; }
.auth-orcid-mark{ width:20px; height:20px; border-radius:50%; background:#A6CE39; color:#fff; font-weight:800; font-size:11px; display:inline-grid; place-items:center; font-family:Arial, sans-serif; }
.auth-or{ display:flex; align-items:center; gap:12px; color:#7B8794; font-size:12.5px; margin:18px 0; }
.auth-or:before, .auth-or:after{ content:""; flex:1; height:1px; background:#E5E9EF; }
.auth-form .form-label{ font-size:12.5px; font-weight:600; color:#334155; margin-bottom:6px; }
.auth-form .form-control, .auth-form .form-select{ border:1px solid #D9E2EB; border-radius:10px; padding:11px 14px; font-size:14.5px; }
.auth-form .form-control:focus, .auth-form .form-select:focus{ border-color:#0B6BAB; box-shadow:0 0 0 3px rgba(11,107,171,.15); }
.auth-form .form-text{ font-size:12px; }
.auth-field{ position:relative; }
.auth-field .form-control{ padding-right:64px; }
.auth-eye{ position:absolute; right:8px; top:50%; transform:translateY(-50%); border:0; background:transparent; color:#5B6B7B; font-size:12.5px; font-weight:700; padding:6px 8px; border-radius:6px; }
.auth-eye:hover, .auth-eye:focus-visible{ color:#0B6BAB; background:#EEF4FA; }
.auth-row{ display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:13px; margin:2px 0 18px; flex-wrap:wrap; }
.auth-row a{ color:#0B6BAB; font-weight:600; text-decoration:none; }
.auth-row a:hover{ text-decoration:underline; }
.auth-row .form-check{ margin:0; }
.auth-row .form-check-label{ color:#334155; }
.auth-submit{ display:block; width:100%; border:0; border-radius:10px; padding:13px; background:#0B6BAB; color:#fff; font-weight:700; font-size:15px; }
.auth-submit:hover, .auth-submit:focus-visible{ background:#095A90; color:#fff; }
.auth-safe{ display:block; color:#65676B; font-size:12px; margin-top:14px; text-align:center; }
.auth-safe svg{ width:14px; height:14px; vertical-align:-2px; margin-right:5px; }
.auth-foot{ text-align:center; margin-top:18px; font-size:13.5px; color:#65676B; }
.auth-foot a{ color:#0B6BAB; font-weight:700; text-decoration:none; }
.auth-foot a:hover{ text-decoration:underline; }
.auth-note{ font-size:12px; color:#65676B; text-align:center; margin-top:10px; line-height:1.45; }
.auth-terms{ font-size:12.5px; color:#475569; margin:2px 0 14px; }
.auth-terms a{ color:#0B6BAB; font-weight:600; }
.auth-links{ text-align:center; font-size:12px; color:#94A3B8; padding:0 32px; display:flex; flex-wrap:wrap; justify-content:center; gap:4px 8px; }
.auth-links a{ color:#65676B; text-decoration:none; }
.auth-links a:hover{ color:#0B2A4A; text-decoration:underline; }
.auth-two{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
/* intent tiles on Create account */
.auth-intents{ display:grid; grid-template-columns:repeat(4, 1fr); gap:8px; margin-bottom:18px; }
.auth-intent{ border:1px solid #D9E2EB; border-radius:10px; padding:10px 6px 9px; text-align:center; font-size:12.5px; font-weight:600; color:#334155; background:#fff; text-decoration:none; line-height:1.25; }
.auth-intent svg{ display:block; margin:0 auto 4px; color:#0B6BAB; }
.auth-intent:hover{ border-color:#0B6BAB; color:#0B2A4A; }
.auth-intent.is-on{ border-color:#0B6BAB; background:#EAF3FA; color:#0B2A4A; box-shadow:0 0 0 3px rgba(11,107,171,.12); }
.auth-locked{ border:1px solid #D9E2EB; border-radius:10px; padding:10px 14px; background:#F7FAFD; margin-bottom:16px; }
.auth-locked small{ display:block; color:#65676B; font-size:11.5px; font-weight:600; text-transform:uppercase; letter-spacing:.6px; }
.auth-locked strong{ color:#0B2A4A; }
/* password strength (guidance only) */
.auth-meter{ display:flex; gap:4px; margin-top:6px; }
.auth-meter i{ flex:1; height:4px; border-radius:4px; background:#E5E9EF; }
.auth-meter[data-score="1"] i:nth-child(-n+1){ background:#D64545; }
.auth-meter[data-score="2"] i:nth-child(-n+2){ background:#E0A83A; }
.auth-meter[data-score="3"] i:nth-child(-n+3){ background:#2D9CDB; }
.auth-meter[data-score="4"] i{ background:#2DB37A; }
.auth-meter-word{ font-size:11.5px; font-weight:600; margin-top:4px; min-height:1em; color:#65676B; }
.auth-meter-word[data-score="1"]{ color:#B42318; }
.auth-meter-word[data-score="4"]{ color:#1F8A5B; }
/* the phone band and the TF LIVE card (phone only) */
.auth-band, .auth-promo{ display:none; }
/* ---------------------------------------------------------------- the right half */
.auth-panel{ position:relative; overflow:hidden; color:#fff; padding:38px 52px 28px; display:flex; flex-direction:column; min-width:0;
  background:radial-gradient(900px 600px at 85% 10%, #1E8BD6 0%, rgba(30,139,214,0) 60%), radial-gradient(700px 500px at 0% 100%, rgba(224,168,58,.33) 0%, rgba(224,168,58,0) 60%), linear-gradient(160deg, #0B2A4A 0%, #0E1F3A 55%, #081426 100%); }
.auth-panel-logo{ height:60px; width:auto; align-self:flex-start; margin-left:-8px; }
.auth-panel-body, .auth-slides{ margin-top:30px; }
.auth-panel h2{ font-size:36px; line-height:1.12; margin:16px 0 10px; letter-spacing:-.6px; max-width:560px; font-weight:800; color:#fff; }
.auth-sub{ font-size:16px; color:#BFD3E8; line-height:1.55; max-width:540px; margin:0; }
.auth-pill{ display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18); border-radius:999px; padding:6px 12px; font-size:12px; font-weight:700; letter-spacing:.4px; color:#fff; }
.auth-pill-sm{ font-size:10px; padding:3px 8px; margin-left:4px; vertical-align:2px; }
.auth-live-dot{ width:8px; height:8px; border-radius:50%; background:#E5484D; box-shadow:0 0 0 4px rgba(229,72,77,.25); display:inline-block; flex:none; }
.auth-pill-sm .auth-live-dot{ width:6px; height:6px; }
.auth-shot{ margin:22px 0 0; border-radius:14px; overflow:hidden; box-shadow:0 30px 70px rgba(0,0,0,.45); border:1px solid rgba(255,255,255,.12); max-width:600px; }
.auth-shot img{ width:100%; height:auto; display:block; }
.auth-shot-wide{ max-width:620px; }
.auth-chips{ display:flex; gap:8px; flex-wrap:wrap; margin-top:20px; max-width:640px; }
.auth-chips span{ background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); border-radius:10px; padding:7px 12px; font-size:12.5px; color:#DCE9F7; }
.auth-chips b{ color:#fff; }
.auth-features{ margin-top:16px; max-width:620px; }
.auth-feature{ display:grid; grid-template-columns:44px 1fr; gap:14px; align-items:start; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.1); }
.auth-feature:last-child{ border-bottom:0; }
.auth-feature-ico{ width:44px; height:44px; border-radius:12px; display:grid; place-items:center; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.16); color:#E0A83A; }
.auth-feature h3{ margin:0 0 3px; font-size:16px; font-weight:700; color:#fff; }
.auth-feature p{ margin:0; font-size:13.5px; color:#BFD3E8; line-height:1.5; }
.auth-features-tight .auth-feature{ padding:11px 0; }
.auth-cta{ display:inline-block; margin-top:20px; background:#E0A83A; color:#1A1300; font-weight:800; border-radius:10px; padding:11px 18px; font-size:14px; text-decoration:none; }
.auth-cta:hover{ background:#EDB94F; color:#1A1300; }
.auth-dots{ margin-top:auto; padding-top:22px; display:flex; align-items:center; gap:10px; font-size:12px; color:#8FB4D6; flex-wrap:wrap; }
.auth-dot{ width:28px; height:6px; border-radius:4px; border:0; padding:0; background:rgba(255,255,255,.25); cursor:pointer; }
.auth-dot.is-on{ background:#E0A83A; }
.auth-dot:focus-visible{ outline:2px solid #fff; outline-offset:3px; }
.auth-dots-label{ margin-left:6px; }
.auth-panel-foot{ margin-top:auto; padding-top:22px; font-size:12px; color:#8FB4D6; }
.auth-slide[hidden]{ display:none; }
/* the venue card */
.auth-venue{ margin-top:16px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.16); border-radius:16px; padding:22px 24px; max-width:620px; }
.auth-venue h2{ font-size:28px; margin:0 0 12px; }
.auth-venue-acr{ color:#BFD3E8; font-weight:600; }
.auth-venue-logo{ max-height:56px; max-width:180px; background:#fff; border-radius:8px; padding:6px; margin-bottom:12px; }
.auth-venue-facts{ list-style:none; padding:0; margin:0; display:grid; gap:8px; }
.auth-venue-facts li{ display:flex; align-items:center; gap:10px; color:#DCE9F7; font-size:14.5px; }
.auth-venue-facts svg{ color:#E0A83A; flex:none; }
.auth-venue-live{ display:flex; align-items:center; gap:10px; margin-top:14px; padding-top:14px; border-top:1px solid rgba(255,255,255,.12); font-size:13.5px; color:#DCE9F7; }
/* ---------------------------------------------------------------- narrower screens */
@media (max-width: 1200px){
  .auth-panel{ padding:34px 38px 24px; }
  .auth-panel h2{ font-size:30px; }
  .auth-brand{ padding:0 32px; }
}
@media (max-width: 900px){
  .auth-split{ display:block; min-height:0; }
  .auth-panel{ display:none; }
  .auth-col{ padding:0 0 22px; min-height:100vh; }
  .auth-brand{ display:none; }
  .auth-band{ display:block; background:linear-gradient(160deg, #0B2A4A, #0E1F3A); color:#fff; padding:16px 20px 14px; }
  .auth-band-logo{ height:34px; width:auto; margin-left:-4px; }
  .auth-band-line{ font-size:13px; color:#BFD3E8; margin-top:8px; display:flex; gap:8px; align-items:center; }
  .auth-form-wrap{ padding:22px 20px 6px; align-items:flex-start; }
  .auth-form h1{ font-size:24px; }
  .auth-lead{ font-size:13.5px; margin-bottom:16px; }
  .auth-promo{ display:grid; grid-template-columns:1fr 96px; gap:10px; align-items:center; margin:14px 20px 18px; border-radius:14px; background:#0B2A4A; color:#fff; padding:12px 12px 12px 14px; }
  .auth-promo strong{ font-size:13px; }
  .auth-promo p{ margin:2px 0 0; font-size:11.5px; color:#BFD3E8; line-height:1.4; }
  .auth-promo img{ width:96px; height:auto; border-radius:8px; }
  .auth-links{ padding:0 20px; }
}
@media (max-width: 520px){
  .auth-intents{ grid-template-columns:repeat(2, 1fr); }
  .auth-two{ grid-template-columns:1fr; gap:0; }
}
@media (prefers-reduced-motion: reduce){
  .auth-slide{ transition:none; }
}
