/* GMAP V602 — sitewide WCAG 2.2 AA contrast hardening.
   Targets 4.5:1 for normal text and 3:1 for large text/non-text UI.
   Loaded last so it can safely correct legacy color combinations without changing functionality. */
:root{
  --gmap-v602-ink:#17362f;
  --gmap-v602-muted:#596971;
  --gmap-v602-muted-dark:#53636d;
  --gmap-v602-gold-text:#765600;
  --gmap-v602-green-dark:#0b6a4f;
  --gmap-v602-green-darker:#07523d;
  --gmap-v602-purple-dark:#7251a3;
  --gmap-v602-purple-darker:#5c3c88;
}

/* Gold/yellow filled controls: dark foreground gives strong AA contrast while preserving the gold surface. */
:where(.btn.gold,.smallgold,.event-spotlight-cta,.amount.selected,.donatebtn,.email button,
.hero-buttons .gold,.choice.sel,.contrib,.v499-preview-cta,.v499-btn.gold,.v254-rank){
  color:var(--gmap-v602-ink)!important;
  -webkit-text-fill-color:var(--gmap-v602-ink)!important;
}
:where(.service-round-gold,.resource-quick-bylaws,.all-resource-arrow){color:var(--gmap-v602-gold-text)!important}

/* White text controls on medium green surfaces: slightly darker surfaces for AA. */
:where(.mobile-nav-toggle,.member-directory-view-toggle button.active,.member-directory-summary-icon,
.status-check,.executive-report-view,.executive-report-download,.member-report-download-top){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:linear-gradient(180deg,var(--gmap-v602-green-dark),var(--gmap-v602-green-darker))!important;
}
#dashboardContent .grid-top.v401-zone .v401-title-icon,
#v455MobileProfileSlot.grid-top.v401-zone .v401-title-icon{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:linear-gradient(180deg,var(--gmap-v602-green-dark),var(--gmap-v602-green-darker))!important;
}
#dashboardContent>.v401-zone .v401-payment-card .primary-btn,
.gmap-otp-primary,.gmap-otp-shield{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:linear-gradient(135deg,var(--gmap-v602-green-dark),var(--gmap-v602-green-darker))!important;
}

/* Sign-out red is darkened enough for white text. */
#signOut.sidebar-signout,
#memberDashboardNav > #signOut.sidebar-signout,
.sidebar.mobile-menu-open #signOut.sidebar-signout,
.sidebar > .nav[aria-label="Member dashboard navigation"] > #signOut.sidebar-signout{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:linear-gradient(110deg,#b90f3e 0%,#9f0b35 55%,#85072d 100%)!important;
}

/* Special Committee prominent purple navigation: retain purple identity with white-text AA contrast. */
.cd-nav .special-setup-prominent{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:linear-gradient(135deg,var(--gmap-v602-purple-dark),var(--gmap-v602-purple-darker))!important;
}

/* Executive return control: retain gold identity but use dark foreground for contrast. */
body[data-committee-workspace="executive"] .cd-superadmin-return{
  color:var(--gmap-v602-ink)!important;
  -webkit-text-fill-color:var(--gmap-v602-ink)!important;
}

/* Pending/count gold badges — dark foreground is the least disruptive contrast correction. */
:where(.v281-approval-action.pending .v281-request-count,.v276-step.active .v276-step-num){
  color:var(--gmap-v602-ink)!important;
  -webkit-text-fill-color:var(--gmap-v602-ink)!important;
}

/* Light-surface secondary copy: darker neutral foregrounds. */
:where(.empty,.loading,.v372-empty,.v373-empty-compact,.v493-empty,.picnic-empty-mini,
.v270-empty,.v281-empty,.v254-preview-empty,.picnic-inline-loading,.v499-empty,.picnic-empty,
.member-directory-no-results,.active-members-preview-empty){
  color:var(--gmap-v602-muted)!important;
}
:where(.payment-note,.gmap-otp-method-note,.gmap-otp-security-note,.member-channel-badge.email-only,
.form-grid input[readonly]){color:var(--gmap-v602-muted-dark)!important}

/* Gold/amber labels and icons on pale surfaces. */
:where(.member-constitution-icon,.stat:nth-child(4) .stat-icon,.sa-stats .stat:nth-child(4) .stat-arrow,
#dashboardContent .v402-two-up-row>.v402-doc-card .member-constitution-icon,
#composeModal .channel-option[data-channel="both"] .channel-icon,.v373-ann-ico){
  color:#6a4d00!important;
}
#dashboardContent .v402-two-up-row>.v402-doc-card .constitution-member-btn.bangla span{
  color:#fff!important;
  background:#7d5610!important;
}

/* Status pills and badges on pale status backgrounds. */
#dashboardContent>.v401-zone .v401-status-pill,
#dashboardContent>.v401-zone .active-pill,
#dashboardContent .grid-top.v401-zone .member-profile-status .v401-status-pill span,
#dashboardContent .grid-top.v401-zone .member-profile-status #statusBig,
.v401-status-pill span{color:#0a6c4c!important}
.v372-status-pending,.v372-next-badge{color:#755200!important}
.v372-status-approved{color:#176535!important}
.v372-status-inactive{color:#52616b!important}
.v372-chip-gold{color:#70531a!important}
body[data-committee-workspace="executive"] .v281-request-count{color:#4f675e!important}

/* Icons and indicators on light tints. */
:where(.showcase-icon,.service-round,.member-directory-fact-icon,.member-directory-detail-icon,
.member-directory-intro-icon,.status-mark){color:#0a6c4c!important}
.v372-empty .v372-empty-icon,.v373-empty-compact .v372-empty-icon{color:#5e6b75!important}
.cd-meeting-illustration{color:#12634f!important}

/* Member dashboard profile row accent colors on pastel backgrounds. */
#dashboardContent .grid-top.v401-zone > .profile-card .details .row:nth-child(2) > span:first-child,
#v455MobileProfileSlot.grid-top.v401-zone > .profile-card .details .row:nth-child(2) > span:first-child{color:#14579f!important}
#dashboardContent .grid-top.v401-zone > .profile-card .details .row:nth-child(3) > span:first-child,
#v455MobileProfileSlot.grid-top.v401-zone > .profile-card .details .row:nth-child(3) > span:first-child{color:#755200!important}
#dashboardContent .grid-top.v401-zone > .profile-card .details .row:nth-child(6) > span:first-child,
#v455MobileProfileSlot.grid-top.v401-zone > .profile-card .details .row:nth-child(6) > span:first-child{color:#0a6673!important}

/* Active member directory copy — ensure readable foregrounds on V600 alternating light cards. */
.member-directory-result-meta,
.member-directory-intro-copy p,
.member-directory-tagline,
.member-directory-summary-copy small,
.member-directory-detail-copy span,
.member-directory-detail-copy small,
.member-directory-footer>div,
.member-directory-quickfacts small{color:#425650!important}
.member-directory-quickfacts strong,
.member-directory-detail-copy strong,
.member-directory-private-name,
.member-directory-summary-copy strong{color:#163831!important}
.member-directory-active-badge{color:#0b5f45!important}
.member-directory-private-detail.privacy-hidden .member-directory-detail-copy strong{color:#4f625a!important}

/* Super Admin stat icons and neutral loading copy. */
.super-admin-dashboard .empty,.super-admin-dashboard .loading,
#superAdminDashboard .empty,#superAdminDashboard .loading{color:var(--gmap-v602-muted)!important}
.stat:nth-child(2) .stat-icon{color:#116b44!important}
.stat:nth-child(3) .stat-icon{color:#155e9d!important}

/* General form/help text on pale backgrounds. */
:where(.membership-form-shell .membership-registration-footnote,
.membership-form-shell .membership-terms-lock-note,
.membership-form-shell .membership-consent-note,
.membership-form-shell .member-photo-help){color:#4f625a!important}

/* Focus and forced-color behavior remain visible after contrast overrides. */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline-color:#0a5bd3!important;
}
@media(forced-colors:active){
  *{forced-color-adjust:auto}
}

/* Additional explicit-pair corrections found by the full V601 hex audit. */
.workspace-choice.picnic{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  background:linear-gradient(180deg,#2f7f76 0%,#145e58 100%)!important;
}
.workspace-choice.special{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  background:linear-gradient(180deg,var(--gmap-v602-purple-dark) 0%,var(--gmap-v602-purple-darker) 100%)!important;
}
#committee .person-initials,.exec-admin-initials{color:#064332!important}
.sidebar > .nav .active .ico{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}
.sidebar > .nav[aria-label="Member dashboard navigation"] > .active{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  background:linear-gradient(100deg,#14579f 0%,#0d4a89 100%)!important;
}
.v270-committee-note{color:#53665e!important}
