@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap");

/* public/theme.css */
:root{
  /* Great Haven Assembly logo palette */
  --gha-lime: #CDD12F;
  --gha-olive: #70725C;
  --gha-stone: #B8B89B;
  --gha-light: #F4F4F1;
  --gha-bg: #0A1020;
  --gha-navy: #14214A;
  --gha-white: #FFFFFF;
  --gha-text-soft: #EAF0FF;
  --gha-muted: rgba(234,240,255,.82);
  --gha-line: rgba(244,244,241,.20);
  --gha-surface: rgba(255,255,255,.075);
  --gha-surface-strong: rgba(255,255,255,.115);

  /* App aliases used across existing pages */
  --accent: var(--gha-lime);
  --accent2: var(--gha-lime);
  --accentDeep: var(--gha-olive);
  --accentSoft: var(--gha-light);
  --accentText: #080A10;
  --brandBlue: var(--gha-navy);
  --brandBlue2: var(--gha-bg);
  --bg1: var(--gha-bg);
  --bg2: var(--gha-navy);
  --card: var(--gha-navy);
  --card2: var(--gha-bg);
  --text: var(--gha-text-soft);
  --muted: var(--gha-muted);
  --line: var(--gha-line);
  --cardBg: var(--gha-surface);
  --cardBg2: rgba(205,209,47,.10);
  --shadow: 0 22px 56px rgba(0,0,0,.30);
  --shadowSoft: 0 14px 30px rgba(205,209,47,.14);

  --gold: var(--gha-lime);
  --gold2: var(--gha-lime);
  --lemon: var(--gha-lime);
  --lemon2: var(--gha-lime);

  --ok: var(--gha-lime);
  --danger: #FF7D7D;
  --warn: var(--gha-lime);

  --radius: 22px;
  --radiusSm: 16px;
  --radiusBtn: 16px;

  --font: Inter, sans-serif;
}

*{ box-sizing: border-box; }
html, body { min-height: 100%; }
body{
  margin: 32px;;
  font-family: var(--font) !important;
  color: var(--text);
  line-height: 1.55;
  background:
    radial-gradient(760px 440px at 14% 7%, rgba(205,209,47,.08), transparent 58%),
    radial-gradient(780px 520px at 86% 0%, rgba(93,94,80,.14), transparent 58%),
    linear-gradient(160deg, var(--gha-bg), var(--gha-navy));
  min-height:100vh;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

.wrap{
  max-width: 1160px;
  margin: 0 auto;
  padding: 40px 24px 68px !important;
}

.panel{
  border-radius: var(--radius) !important;
  padding: 32px !important;
  background: rgba(11,20,48,.74) !important;
  border: 1px solid var(--line) !important;
  box-shadow: var(--shadow) !important;
  overflow:hidden;
}

.card,
.cardBox{
  border-radius: var(--radius) !important;
  border: 1px solid var(--line) !important;
  background: var(--gha-surface) !important;
  padding: 28px !important;
  box-shadow: none !important;
}

hr.divider,
.divider{
  height: 1px;
  background: rgba(244,244,241,.12) !important;
  margin: 22px 0 !important;
  border: 0;
}

header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px !important;
  margin-bottom: 24px !important;
  flex-wrap:wrap;
}

.brand,
.brandMini,
.brandRow{
  display:flex;
  align-items:center;
  gap:14px !important;
  text-decoration:none;
  color:var(--text);
}

.mark,
.brandMini .mark{
  width:46px !important;
  height:46px !important;
  border-radius: 16px !important;
  background: var(--gha-lime) !important;
  display:grid;
  place-items:center;
  box-shadow: var(--shadowSoft) !important;
  border: 1px solid rgba(244,244,241,.18) !important;
  flex: 0 0 auto;
}
.mark svg{ width:22px; height:22px; opacity:.95; }
.brand h1,
.brandMini h1,
.brandText h1{
  font-size: 17px !important;
  margin:0;
  letter-spacing: 0;
  font-weight: 800 !important;
  line-height: 1.15;
  color: var(--gha-white);
}
.brand p,
.brandMini p,
.brandText p{
  margin:3px 0 0;
  font-size: 12px !important;
  color: var(--muted) !important;
  opacity:1;
}

.toplinks,
.actions,
.pillRow{
  display:flex;
  gap:12px !important;
  flex-wrap:wrap;
  align-items:center;
}
.toplinks{ justify-content:flex-end; margin-left:auto; }
.actions{ margin-top: 20px !important; }

.pill,
.btn,
button,
a.btn{
  border-radius: var(--radiusBtn) !important;
  transition: transform .16s ease, background-color .16s ease, border-color .16s ease, box-shadow .16s ease, color .16s ease !important;
}

.pill{
  padding:11px 14px !important;
  border: 1px solid var(--line) !important;
  background: rgba(244,244,241,.045) !important;
  color: var(--text) !important;
  text-decoration:none;
  font-size: 13px;
  font-weight: 650;
  backdrop-filter: blur(10px);
  cursor:pointer;
}

.btn,
a.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height: 46px;
  padding: 13px 18px !important;
  text-decoration:none;
  font-weight: 800 !important;
  letter-spacing: 0;
  border: 1px solid rgba(244,244,241,.16) !important;
  background: rgba(244,244,241,.055) !important;
  color: var(--text) !important;
  cursor:pointer;
  min-width: 170px;
}

button:not(.pill):not(.btn):not(.tab),
.btnPrimary,
.pillPrimary,
.btnGold,
a.btnPrimary{
  border: 1px solid rgba(205,209,47,.86) !important;
  background: var(--gha-lime) !important;
  color: var(--accentText) !important;
  box-shadow: 0 10px 24px rgba(205,209,47,.10) !important;
}

.btnDanger{
  border: 1px solid rgba(255,125,125,.32) !important;
  background: rgba(255,125,125,.10) !important;
  color: #FFD1D1 !important;
}

.btnGhost{
  border: 1px solid rgba(205,209,47,.26) !important;
  background: rgba(205,209,47,.06) !important;
  color: var(--gha-light) !important;
}

.btn:hover:not(:disabled),
.pill:hover:not(:disabled),
button:hover:not(:disabled){
  transform: translateY(-1px);
  border-color: rgba(244,244,241,.24) !important;
}
.btnPrimary:hover:not(:disabled),
.pillPrimary:hover:not(:disabled),
.btnGold:hover:not(:disabled),
button:not(.pill):not(.btn):not(.tab):hover:not(:disabled){
  background: #DDE24A !important;
  box-shadow: 0 12px 28px rgba(205,209,47,.14) !important;
}
.btn:disabled, .pill:disabled, button:disabled{
  opacity: .62 !important;
  cursor:not-allowed !important;
  transform:none !important;
}

.meta,
.chipRow,
.chips{
  display:flex;
  gap:10px !important;
  flex-wrap:wrap;
  margin: 14px 0 16px !important;
}
.chip,
.badge,
.kv{
  font-size: 12px !important;
  padding: 7px 11px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(244,244,241,.14) !important;
  background: rgba(244,244,241,.045) !important;
  color: rgba(234,240,255,.86) !important;
}
.chipAccent, .chipGold, .chipLemon, .badge{
  border-color: rgba(205,209,47,.34) !important;
  background: rgba(205,209,47,.095) !important;
  color: var(--gha-lime) !important;
  font-weight: 800 !important;
}
.chipOk{ color: var(--gha-light) !important; font-weight: 800 !important; }
.chipDanger{ color: #ffb3b3 !important; font-weight: 800 !important; }
.chipWarn{ color: var(--gha-light) !important; font-weight: 800 !important; }

.headline,
h1,
h2{
  color: var(--gha-white);
  letter-spacing: 0 !important;
  line-height: 1.12 !important;
}
.headline{
  margin: 10px 0 12px !important;
  font-size: clamp(30px, 4.4vw, 54px) !important;
  font-weight: 850 !important;
}
h1{ font-weight: 850 !important; }
h2{ font-weight: 850 !important; }
h3,
.cardTitle,
.refTitle{
  color: var(--gha-white);
  font-weight: 800 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
}
.sub,
p,
.cardText,
.refHint,
.small{
  color: var(--muted) !important;
  line-height: 1.72 !important;
}
.sub{ font-size: 15px !important; max-width: 86ch; margin-bottom: 18px !important; }
.small{ font-size: 12px !important; }

.cards,
.grid,
.split,
.sessionList,
.teams{
  gap: 18px !important;
}

input,
textarea,
select{
  width: 100%;
  padding: 13px 15px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(244,244,241,.16) !important;
  background: rgba(0,0,0,.24) !important;
  color: var(--text);
  font-family: var(--font) !important;
  font-size: 16px !important;
  outline: none;
  transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
}
input:focus,
textarea:focus,
select:focus{
  border-color: rgba(205,209,47,.55) !important;
  box-shadow: 0 0 0 3px rgba(205,209,47,.10) !important;
}
label{
  font-size: 13px;
  display:block;
  margin: 14px 0 7px !important;
  color: rgba(234,240,255,.84);
  font-weight: 700;
}
a.link{
  color: rgba(234,240,255,.92);
  text-decoration:none;
  border-bottom: 1px dotted rgba(244,244,241,.28);
  padding-bottom: 2px;
  font-weight: 800;
  font-size: 13px;
}
.msg{
  margin-top: 14px !important;
  font-size: 13px;
  min-height: 18px;
  color: rgba(234,240,255,.88);
  white-space: pre-wrap;
}
.msg.error{ color: #ffb3b3 !important; }
.msg.success{ color: var(--gha-lime) !important; }

footer{
  margin-top: 24px !important;
  color: rgba(234,240,255,.68) !important;
  font-size: 12px;
  padding: 0 6px;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:space-between;
  align-items:center;
}

@media (max-width: 720px){
  .wrap{ padding: 24px 14px 42px !important; }
  .panel{ padding: 20px !important; border-radius: 20px !important; }
  .card,
  .cardBox{ padding: 20px !important; border-radius: 18px !important; }
  .headline{ font-size: clamp(28px, 10vw, 40px) !important; }
  .btn,
  a.btn,
  button:not(.pill):not(.tab){ width: 100%; min-width: 0; }
  .toplinks{ width: 100%; justify-content: flex-start; }
  .pill{ padding: 10px 12px !important; }
  body{ line-height: 1.58; }
}

/* Brighter 2026 visual refresh: warm, polished LMS surfaces without changing app behavior. */
:root{
  --gha-bg-warm: #0D1428;
  --gha-navy-warm: #172653;
  --gha-ink: #09101F;
  --gha-warm: #E7E1B7;
  --gha-lime-glow: rgba(205,209,47,.24);
  --gha-lime-soft: rgba(205,209,47,.13);
  --gha-card-glass: rgba(255,255,255,.088);
  --gha-card-glass-strong: rgba(255,255,255,.125);
}

html{ background: var(--gha-bg-warm); }
body{
  background:
    radial-gradient(980px 560px at 10% -4%, rgba(205,209,47,.18), transparent 58%),
    radial-gradient(980px 560px at 92% 2%, rgba(231,225,183,.15), transparent 56%),
    radial-gradient(820px 520px at 50% 112%, rgba(87,113,219,.16), transparent 62%),
    linear-gradient(155deg, var(--gha-bg-warm) 0%, #101A38 48%, var(--gha-navy-warm) 100%) !important;
  color: var(--text) !important;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background:
    linear-gradient(120deg, rgba(255,255,255,.035), transparent 28%, rgba(205,209,47,.035) 68%, transparent),
    radial-gradient(900px 420px at 50% 0%, rgba(255,255,255,.055), transparent 62%);
}

.panel{
  background:
    radial-gradient(850px 360px at 12% 0%, rgba(205,209,47,.13), transparent 68%),
    radial-gradient(760px 360px at 88% 0%, rgba(231,225,183,.10), transparent 70%),
    linear-gradient(145deg, rgba(27,42,88,.90), rgba(13,20,40,.84)) !important;
  border-color: rgba(244,244,241,.24) !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.30), 0 0 0 1px rgba(205,209,47,.04) inset !important;
}

.card,
.cardBox,
.schoolTrackCard,
.sessionGroup,
.sessionItem,
.teamItem,
.refQ,
.pathNode,
.empty,
.media,
.resetPanel,
.settingsCard{
  background:
    linear-gradient(180deg, rgba(255,255,255,.115), rgba(255,255,255,.06)),
    rgba(18,31,66,.72) !important;
  border-color: rgba(244,244,241,.22) !important;
  box-shadow: 0 16px 40px rgba(0,0,0,.20), 0 1px 0 rgba(255,255,255,.05) inset !important;
}

.card:hover,
.cardBox:hover,
.trackCard:hover,
.schoolTrackCard:not(.disabled):hover,
.teamItem:hover{
  border-color: rgba(205,209,47,.42) !important;
  box-shadow: 0 20px 52px rgba(0,0,0,.24), 0 0 34px rgba(205,209,47,.055) inset !important;
}

.headerBar,
.status,
.pill,
.userMenu summary,
.userMenuPanel,
.toplinks .pill,
.miniBtn,
.chip,
.kv{
  background: rgba(255,255,255,.075) !important;
  border-color: rgba(244,244,241,.22) !important;
  color: rgba(247,249,255,.94) !important;
}

.headerBar{
  background: rgba(14,23,49,.72) !important;
  backdrop-filter: blur(18px);
  box-shadow: 0 14px 40px rgba(0,0,0,.16) !important;
}

.userMenuPanel{
  background: rgba(16,26,55,.96) !important;
}

.mark,
.brandMini .mark,
.trackIcon{
  background: linear-gradient(145deg, #E3E84A, var(--gha-lime)) !important;
  color: var(--accentText) !important;
  border-color: rgba(255,255,255,.30) !important;
  box-shadow: 0 14px 34px rgba(205,209,47,.24) !important;
}

.badge,
.eyebrow,
.trackLabel,
.schoolBadge,
.chipAccent,
.chipGold,
.chipLemon,
.chipOk,
.chipWarn,
.activeBadge,
.comingBadge{
  background: rgba(205,209,47,.15) !important;
  border-color: rgba(205,209,47,.38) !important;
  color: #EEF26A !important;
}

.activeBadge,
.btnPrimary,
.pillPrimary,
.btnGold,
a.btnPrimary,
button:not(.pill):not(.btn):not(.tab){
  background: #CDD12F !important;
  border-color: rgba(255,255,255,.30) !important;
  color: #080A10 !important;
  box-shadow: 0 14px 32px rgba(205,209,47,.22), 0 1px 0 rgba(255,255,255,.32) inset !important;
}

.btnPrimary:hover:not(:disabled),
.pillPrimary:hover:not(:disabled),
.btnGold:hover:not(:disabled),
button:not(.pill):not(.btn):not(.tab):hover:not(:disabled){
  background: #E1E64B !important;
  box-shadow: 0 18px 42px rgba(205,209,47,.28), 0 1px 0 rgba(255,255,255,.36) inset !important;
}

.btn,
a.btn{
  background: rgba(255,255,255,.085) !important;
  border-color: rgba(244,244,241,.22) !important;
  color: rgba(250,251,255,.96) !important;
}

.btn:hover:not(:disabled),
.pill:hover:not(:disabled),
.miniBtn:hover:not(:disabled){
  background: rgba(255,255,255,.12) !important;
  border-color: rgba(205,209,47,.40) !important;
}

input,
textarea,
select{
  background: rgba(255,255,255,.095) !important;
  border-color: rgba(244,244,241,.24) !important;
  color: #FFFFFF !important;
}
input:focus,
textarea:focus,
select:focus{
  border-color: rgba(205,209,47,.70) !important;
  box-shadow: 0 0 0 4px rgba(205,209,47,.13) !important;
}

.headline,
h1,
h2,
h3,
.cardTitle,
.refTitle,
.welcome h2,
.trackCard h3,
.schoolSection h4,
.schoolTrackCard h5{
  color: #FFFFFF !important;
}

.sub,
p,
.cardText,
.refHint,
.small,
.mutedNote,
.trackCard p,
.schoolTrackCard p,
.profileLabel{
  color: rgba(234,240,255,.84) !important;
}

.trackCard,
.schoolSection{
  position:relative;
  overflow:hidden;
}
.trackCard::before,
.schoolSection::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(520px 220px at 8% 0%, rgba(205,209,47,.16), transparent 64%),
    linear-gradient(145deg, rgba(255,255,255,.035), transparent 42%) !important;
  opacity:1 !important;
}
.trackCard > *,
.schoolSection > *{ position:relative; }
.trackCard{
  min-height: 304px;
  gap: 18px !important;
}
.trackMeta .miniChip,
.miniChip{
  background: rgba(255,255,255,.075) !important;
  border-color: rgba(244,244,241,.20) !important;
}

.progressFill,
.progressBar > span,
.meterFill{
  background: linear-gradient(90deg, #CDD12F, #EEF26A) !important;
  box-shadow: 0 0 26px rgba(205,209,47,.28) !important;
}

.divider,
hr.divider{
  background: rgba(244,244,241,.18) !important;
}

.msg.success,
.statusLine,
a.link,
.lessonBody a{
  color: #EEF26A !important;
}

.lessonBody blockquote,
.lessonBody .scripture,
.lessonBody .scripture-callout,
.lessonBody .key-truth,
.lessonBody .highlight,
.lessonBody .application,
.lessonBody .takeaway-card{
  background:
    radial-gradient(360px 160px at 0% 0%, rgba(205,209,47,.12), transparent 70%),
    rgba(255,255,255,.075) !important;
  border-color: rgba(205,209,47,.32) !important;
}

body.backToBasicsTheme{
  background:
    radial-gradient(900px 520px at 12% 8%, rgba(205,209,47,.20), transparent 58%),
    radial-gradient(900px 520px at 88% 6%, rgba(231,225,183,.18), transparent 58%),
    linear-gradient(160deg, #111B34, #18244A) !important;
}

@media (max-width: 720px){
  body::before{ opacity:.8; }
  .panel{ box-shadow: 0 18px 44px rgba(0,0,0,.24) !important; }
  .trackCard{ min-height:auto; }
}

/* Light warm consistency pass: shared Academy presentation layer. */
:root{
  --gha-cream: #FBFAF1;
  --gha-cream-2: #F5F3E8;
  --gha-cream-3: #EEF2DF;
  --gha-ink: #101A2F;
  --gha-ink-soft: #445066;
  --gha-muted-light: #596276;
  --gha-border-light: rgba(21,32,51,.12);
  --gha-card-light: #FFFFFF;
  --gha-card-warm: #F8F7EC;

  --bg1: var(--gha-cream);
  --bg2: var(--gha-cream-3);
  --card: var(--gha-card-light);
  --card2: var(--gha-card-warm);
  --text: var(--gha-ink);
  --muted: var(--gha-muted-light);
  --line: var(--gha-border-light);
  --cardBg: var(--gha-card-light);
  --accentText: #09101F;
  --shadow: 0 18px 48px rgba(21,32,51,.09);
}

html{ background: var(--gha-cream) !important; }
body,
body.backToBasicsTheme{
  color: var(--gha-ink) !important;
  background:
    radial-gradient(920px 480px at 8% 0%, rgba(205,209,47,.22), transparent 58%),
    radial-gradient(920px 520px at 92% 0%, rgba(232,221,183,.42), transparent 60%),
    linear-gradient(180deg, var(--gha-cream) 0%, var(--gha-cream-2) 52%, var(--gha-cream-3) 100%) !important;
}
body::before,
body.backToBasicsTheme::before{
  background:
    radial-gradient(680px 300px at 50% 0%, rgba(255,255,255,.72), transparent 68%),
    radial-gradient(760px 360px at 14% 8%, rgba(205,209,47,.10), transparent 70%) !important;
  opacity: 1 !important;
}

.panel,
.card,
.cardBox,
.schoolTrackCard,
.schoolSection,
.trackCard,
.sessionGroup,
.sessionItem,
.teamItem,
.refQ,
.pathNode,
.empty,
.media,
.resetPanel,
.settingsCard,
.nextCard,
.courseHero,
.lessonShell,
.lessonCard,
.adminCard,
.profileCard{
  background: var(--gha-card-light) !important;
  border-color: var(--gha-border-light) !important;
  box-shadow: 0 16px 42px rgba(21,32,51,.08) !important;
  color: var(--gha-ink) !important;
}
.panel,
.courseHero,
.schoolSection{
  background:
    radial-gradient(540px 260px at 8% 12%, rgba(205,209,47,.14), transparent 70%),
    radial-gradient(560px 280px at 100% 0%, rgba(232,221,183,.38), transparent 70%),
    linear-gradient(135deg, #FFFFFF 0%, #F8F7EC 66%, #EEF2D8 100%) !important;
}
.card:hover,
.cardBox:hover,
.trackCard:hover,
.schoolTrackCard:not(.disabled):hover,
.teamItem:hover{
  border-color: rgba(205,209,47,.46) !important;
  box-shadow: 0 18px 46px rgba(21,32,51,.11) !important;
}

.headerBar,
.status,
.pill,
.userMenu summary,
.userMenuPanel,
.toplinks .pill,
.miniBtn,
.chip,
.kv,
.badge,
.eyebrow,
.trackLabel,
.schoolBadge,
.chipAccent,
.chipGold,
.chipLemon,
.chipOk,
.chipWarn,
.activeBadge,
.comingBadge{
  background: rgba(255,255,255,.78) !important;
  border-color: var(--gha-border-light) !important;
  color: var(--gha-ink) !important;
  box-shadow: 0 8px 24px rgba(21,32,51,.06) !important;
}
.badge,
.eyebrow,
.trackLabel,
.schoolBadge,
.chipAccent,
.chipGold,
.chipLemon,
.chipOk,
.chipWarn,
.activeBadge,
.comingBadge{
  background: rgba(205,209,47,.18) !important;
  border-color: rgba(205,209,47,.32) !important;
  color: #536000 !important;
}
.chipDanger,
.btnDanger{
  border-color: rgba(180,45,45,.26) !important;
  background: rgba(255,107,107,.10) !important;
  color: #9F1D1D !important;
}

.mark,
.brandMini .mark,
.trackIcon{
  background: #CDD12F !important;
  color: var(--accentText) !important;
  border-color: rgba(21,32,51,.10) !important;
  box-shadow: 0 14px 28px rgba(205,209,47,.24) !important;
}
.brand h1,
.brandMini h1,
.brandText h1,
.headline,
h1,
h2,
h3,
.cardTitle,
.refTitle,
.welcome h2,
.trackCard h3,
.schoolSection h4,
.schoolTrackCard h5,
.sessionTitle,
.teamName{
  color: var(--gha-ink) !important;
}
.brand p,
.brandMini p,
.brandText p,
.sub,
p,
.cardText,
.refHint,
.small,
.mutedNote,
.trackCard p,
.schoolTrackCard p,
.profileLabel,
.teamDesc,
.refQText,
.lessonBody,
.lessonBody p,
.lessonBody li{
  color: var(--gha-muted-light) !important;
}

.btn,
a.btn,
.pill{
  background: #FFFFFF !important;
  border-color: var(--gha-border-light) !important;
  color: var(--gha-ink) !important;
  box-shadow: 0 8px 22px rgba(21,32,51,.07) !important;
}
.btnPrimary,
.pillPrimary,
.btnGold,
a.btnPrimary,
button:not(.pill):not(.btn):not(.tab){
  background: #CDD12F !important;
  border-color: #CDD12F !important;
  color: #09101F !important;
  box-shadow: 0 14px 28px rgba(205,209,47,.24) !important;
}
.btnPrimary:hover:not(:disabled),
.pillPrimary:hover:not(:disabled),
.btnGold:hover:not(:disabled),
button:not(.pill):not(.btn):not(.tab):hover:not(:disabled){
  background: #DDE24A !important;
  box-shadow: 0 16px 34px rgba(205,209,47,.30) !important;
}
.btn:hover:not(:disabled),
.pill:hover:not(:disabled),
.miniBtn:hover:not(:disabled){
  background: #FBFAF1 !important;
  border-color: rgba(205,209,47,.42) !important;
}

input,
textarea,
select{
  background: #FFFFFF !important;
  border-color: var(--gha-border-light) !important;
  color: var(--gha-ink) !important;
}
input::placeholder,
textarea::placeholder{ color: #7A8495 !important; }
input:focus,
textarea:focus,
select:focus{
  border-color: rgba(205,209,47,.78) !important;
  box-shadow: 0 0 0 4px rgba(205,209,47,.16) !important;
}

.trackMeta .miniChip,
.miniChip{
  background: #F2F0DD !important;
  border-color: rgba(21,32,51,.08) !important;
  color: #4B5569 !important;
}
.progressFill,
.progressBar > span,
.meterFill{
  background: #CDD12F !important;
  box-shadow: 0 0 22px rgba(205,209,47,.24) !important;
}
.divider,
hr.divider{ background: rgba(21,32,51,.10) !important; }
footer{ color: #667085 !important; }
.msg.success,
.statusLine,
a.link,
.lessonBody a{ color: #596400 !important; }
.msg.error{ color: #A11D1D !important; }

.lessonBody blockquote,
.lessonBody .scripture,
.lessonBody .scripture-callout,
.lessonBody .key-truth,
.lessonBody .highlight,
.lessonBody .application,
.lessonBody .takeaway-card{
  background:
    radial-gradient(360px 160px at 0% 0%, rgba(205,209,47,.16), transparent 70%),
    #FFFFFF !important;
  border-color: rgba(205,209,47,.34) !important;
  color: var(--gha-ink-soft) !important;
}

.trackCard::before,
.schoolSection::before{
  background:
    radial-gradient(520px 220px at 8% 0%, rgba(205,209,47,.12), transparent 64%),
    linear-gradient(145deg, rgba(255,255,255,.42), transparent 42%) !important;
}

/* Contrast, warmth, and icon polish pass. */
:root{
  --gha-ink: #0F1B2F;
  --gha-ink-soft: #28364D;
  --gha-muted-light: #3F4C60;
  --gha-muted-readable: #334155;
  --gha-border-light: rgba(15,27,47,.16);
}
body{ color: var(--gha-ink) !important; }
body,
button,
input,
textarea,
select{ font-weight: 500; }
p,
li,
.sub,
.cardText,
.refHint,
.small,
.mutedNote,
.trackCard p,
.schoolTrackCard p,
.profileLabel,
.teamDesc,
.refQText,
.lessonBody,
.lessonBody p,
.lessonBody li,
.pathwayCard p,
.courseCard p,
.soonCard p,
.whyCard p{
  color: var(--gha-muted-readable) !important;
}
label,
.label,
.cardTitle,
.sessionTitle,
.teamName,
.profileLabel,
.kv,
.chip,
.badge{
  color: var(--gha-ink-soft) !important;
}
.status:has(#userEmail){
  display:inline-flex !important;
  align-items:center !important;
  gap:9px !important;
  min-height:46px;
  padding:9px 12px 9px 10px !important;
  border-radius:999px !important;
  background:#FFFFFF !important;
  border:1px solid rgba(15,27,47,.14) !important;
  color:#243044 !important;
  box-shadow:0 12px 28px rgba(15,27,47,.10) !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:1.2;
}
.status:has(#userEmail)::before{
  content:"";
  width:30px;
  height:30px;
  flex:0 0 auto;
  border-radius:999px;
  background-color:rgba(205,209,47,.24);
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='8' r='3.2' stroke='%23101A2F' stroke-width='1.8'/%3E%3Cpath d='M5.5 19c1-3.6 3.2-5.4 6.5-5.4s5.5 1.8 6.5 5.4' stroke='%23101A2F' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
  background-size:19px 19px;
  background-position:center;
  background-repeat:no-repeat;
}
.status:has(#userEmail) b{
  color:#0F1B2F !important;
  font-weight:950 !important;
}
.status:has(#userEmail) .ok,
.status:has(#userEmail) .no{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:5px 9px;
  border-radius:999px;
  margin-left:2px;
  font-size:12px;
  font-weight:950 !important;
}
.status:has(#userEmail) .ok{
  color:#4D5900 !important;
  background:rgba(205,209,47,.22);
  border:1px solid rgba(205,209,47,.36);
}
.status:has(#userEmail) .no{
  color:#A11D1D !important;
  background:rgba(255,107,107,.12);
  border:1px solid rgba(255,107,107,.22);
}
.toplinks a[href="/dashboard.html"]::before,
.topActions a[href="/dashboard.html"]::before{
  content:"";
  width:17px;
  height:17px;
  display:inline-block;
  border:2px solid currentColor;
  border-radius:5px;
  box-shadow:inset 6px 0 0 rgba(205,209,47,.40), inset 0 -6px 0 rgba(205,209,47,.28);
}
.toplinks a[href="/courses.html"]::before,
.topActions a[href="/courses.html"]::before,
.navPill[href="/courses.html"]::before{
  content:"";
  width:17px;
  height:17px;
  display:inline-block;
  border:2px solid currentColor;
  border-radius:4px;
  box-shadow:inset 7px 0 0 rgba(205,209,47,.34);
}
.courseListIcon{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:rgba(205,209,47,.20);
  color:#445000;
  box-shadow:0 10px 24px rgba(205,209,47,.14);
  margin-bottom:12px;
}
.courseListIcon svg{
  width:24px;
  height:24px;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.card,
.cardBox,
.pathwayCard,
.courseCard,
.whyCard,
.soonCard,
.panel{
  border-color:rgba(15,27,47,.14) !important;
}
.card:hover,
.cardBox:hover,
.pathwayCard:hover,
.courseCard:hover,
.whyCard:hover,
.soonCard:hover{
  transform:translateY(-1px);
  box-shadow:0 20px 50px rgba(15,27,47,.12) !important;
}
