/* VAK_PHASE5C_MUTUAL_CONSENT_CONTACT_EXCHANGE */
.vak-contact-exchange h3{margin:28px 0 12px;font-size:1.12rem}
.vak-consent-panel{margin-top:16px;padding:16px;border:1px solid #d9e2f0;border-radius:12px;background:#f8fbff}
.vak-contact-consent-form{display:grid;gap:12px}
.vak-contact-consent-form fieldset{margin:0;padding:12px;border:1px solid #cbd7e8;border-radius:10px;background:#fff}
.vak-contact-consent-form legend{padding:0 6px;font-weight:800}
.vak-channel-choice{display:flex!important;align-items:center;gap:8px;margin:8px 0!important;font-weight:700}
.vak-channel-choice input{width:auto!important;margin:0!important}
.vak-consent-note{margin:0;color:#334155;font-size:.93rem}
.vak-consent-waiting{padding:12px;border-radius:10px;background:#fff7df;border:1px solid #ead18b;color:#5b4610}
.vak-mutual-ready{padding:12px;border-radius:10px;background:#e9f9ef;border:1px solid #9fd8af;color:#174d27}
.vak-private-contact-details{margin-top:12px;border:1px solid #b9c8da;border-radius:10px;background:#fff;overflow:hidden}
.vak-private-contact-details summary{cursor:pointer;padding:12px 14px;font-weight:800;background:#edf4fb}
.vak-private-contact-details dl{margin:0;padding:12px 14px;display:grid;gap:10px}
.vak-private-contact-details dl div{display:grid;grid-template-columns:minmax(120px,180px) minmax(0,1fr);gap:12px}
.vak-private-contact-details dt{font-weight:800;color:#334155}
.vak-private-contact-details dd{margin:0;overflow-wrap:anywhere;word-break:break-word}
@media(max-width:680px){.vak-private-contact-details dl div{grid-template-columns:1fr;gap:2px}}

/* VAK_PHASE5C_FIX2_PRIVATE_CONTACT_CONTRAST */
.vak-private-contact-details{color:#102033}
.vak-private-contact-details summary{color:#102033}
.vak-private-contact-details summary::marker{color:#102033}
.vak-private-contact-details[open] summary{border-bottom:1px solid #cbd7e8}
.vak-private-contact-details dd{color:#102033;font-weight:700}

/* VAK_PHASE5C_FIX3_INTEREST_MESSAGE_CONTRAST */
.vak-interest-card .vak-interest-message{color:#102033!important;-webkit-text-fill-color:#102033!important;opacity:1!important;font-weight:600}

/* VAK_PHASE5C_FIX4_COMPLETE_LIGHT_CARD_CONTRAST */
/* Complete contrast lock for every light surface inside authenticated request cards. */
.vak-interest-card{
  background:#eef3f8!important;
  color:#102033!important;
}
.vak-interest-card .vak-interest-card-top,
.vak-interest-card .vak-interest-card-top>div,
.vak-interest-card .vak-code{
  color:#0f172a!important;
  -webkit-text-fill-color:#0f172a!important;
  opacity:1!important;
}
.vak-interest-card .vak-code{font-weight:900!important}
.vak-interest-card .vak-interest-card-top span:first-child,
.vak-interest-card .vak-interest-meta{
  color:#475569!important;
  -webkit-text-fill-color:#475569!important;
  opacity:1!important;
}
.vak-interest-card .vak-interest-message{
  background:#dde7f1!important;
  color:#102033!important;
  -webkit-text-fill-color:#102033!important;
  opacity:1!important;
  font-weight:650!important;
}
.vak-interest-card .vak-consent-panel{
  background:#e3ecf5!important;
  color:#102033!important;
  -webkit-text-fill-color:#102033!important;
}
.vak-interest-card .vak-contact-consent-form,
.vak-interest-card .vak-contact-consent-form fieldset,
.vak-interest-card .vak-contact-consent-form legend,
.vak-interest-card .vak-channel-choice,
.vak-interest-card .vak-consent-note{
  color:#102033!important;
  -webkit-text-fill-color:#102033!important;
  opacity:1!important;
}
.vak-interest-card .vak-contact-consent-form fieldset{background:#f8fafc!important}
.vak-interest-card .vak-interest-safety-panel,
.vak-interest-card .vak-interest-safety-panel label,
.vak-interest-card .vak-interest-safety-panel p{
  color:#102033!important;
  -webkit-text-fill-color:#102033!important;
  opacity:1!important;
}
.vak-interest-card .vak-private-contact-details{background:#f8fafc!important;color:#102033!important}
.vak-interest-card .vak-private-contact-details summary{background:#dbe7f3!important;color:#102033!important;-webkit-text-fill-color:#102033!important}
.vak-interest-card .vak-private-contact-details dt,
.vak-interest-card .vak-private-contact-details dd{color:#102033!important;-webkit-text-fill-color:#102033!important;opacity:1!important}
/* Reassert semantic badge colours after the card-level contrast lock. */
.vak-interest-card .vak-interest-status{color:#334155!important;-webkit-text-fill-color:#334155!important}
.vak-interest-status-pending .vak-interest-status{color:#92400e!important;-webkit-text-fill-color:#92400e!important}
.vak-interest-status-accepted .vak-interest-status{color:#166534!important;-webkit-text-fill-color:#166534!important}
.vak-interest-status-declined .vak-interest-status,
.vak-interest-status-blocked .vak-interest-status{color:#991b1b!important;-webkit-text-fill-color:#991b1b!important}
.vak-interest-card .vak-interest-safety summary{color:#991b1b!important;-webkit-text-fill-color:#991b1b!important;opacity:1!important}


/* VAK_PHASE6B_FIX3_COMPLETE_AUTHENTICATED_REQUEST_DARK_THEME */
/*
 * Final contrast lock for authenticated interest-request cards and all nested
 * Block/Report and consent controls. This deliberately overrides the earlier
 * light-card rules so no dark text can inherit into dark form controls.
 */
.vak-empty-interest{
  background:#0b1421!important;
  border-color:#40516a!important;
  color:#c6d4e7!important;
  -webkit-text-fill-color:#c6d4e7!important;
}
.vak-privacy-pill{
  background:#123c29!important;
  border-color:#2c8a54!important;
  color:#b7ffd7!important;
  -webkit-text-fill-color:#b7ffd7!important;
}
.vak-interest-card{
  background:#0e1724!important;
  border-color:#3b506b!important;
  color:#eef4ff!important;
  -webkit-text-fill-color:#eef4ff!important;
}
.vak-interest-card .vak-interest-card-top,
.vak-interest-card .vak-interest-card-top>div,
.vak-interest-card .vak-code{
  color:#f6f9ff!important;
  -webkit-text-fill-color:#f6f9ff!important;
  opacity:1!important;
}
.vak-interest-card .vak-interest-card-top span:first-child,
.vak-interest-card .vak-interest-meta{
  color:#b8c7da!important;
  -webkit-text-fill-color:#b8c7da!important;
  opacity:1!important;
}
.vak-interest-card .vak-interest-message{
  background:#17243a!important;
  border:1px solid #31445d!important;
  color:#eef4ff!important;
  -webkit-text-fill-color:#eef4ff!important;
  opacity:1!important;
}
.vak-interest-card .vak-interest-safety summary{
  color:#ffb7be!important;
  -webkit-text-fill-color:#ffb7be!important;
  opacity:1!important;
}
.vak-interest-card .vak-interest-safety-panel{
  background:#18131b!important;
  border-color:#81404a!important;
  color:#eef4ff!important;
  -webkit-text-fill-color:#eef4ff!important;
}
.vak-interest-card .vak-interest-safety-panel label,
.vak-interest-card .vak-interest-safety-panel p,
.vak-interest-card .vak-interest-report-form{
  color:#eef4ff!important;
  -webkit-text-fill-color:#eef4ff!important;
  opacity:1!important;
}
.vak-interest-card .vak-interest-safety-panel input,
.vak-interest-card .vak-interest-safety-panel select,
.vak-interest-card .vak-interest-safety-panel textarea{
  background:#09121f!important;
  border-color:#526985!important;
  color:#f6f9ff!important;
  -webkit-text-fill-color:#f6f9ff!important;
  caret-color:#f6f9ff!important;
  opacity:1!important;
}
.vak-interest-card .vak-interest-safety-panel input:focus,
.vak-interest-card .vak-interest-safety-panel select:focus,
.vak-interest-card .vak-interest-safety-panel textarea:focus{
  outline:2px solid #7db5ff!important;
  outline-offset:1px!important;
  border-color:#7db5ff!important;
}
.vak-interest-card .vak-interest-safety-panel input::placeholder,
.vak-interest-card .vak-interest-safety-panel textarea::placeholder{
  color:#aebdd0!important;
  -webkit-text-fill-color:#aebdd0!important;
  opacity:1!important;
}
.vak-interest-card .vak-interest-safety-panel select option{
  background:#09121f!important;
  color:#f6f9ff!important;
  -webkit-text-fill-color:#f6f9ff!important;
}
.vak-interest-card .vak-consent-panel{
  background:#101d2f!important;
  border-color:#405572!important;
  color:#eef4ff!important;
  -webkit-text-fill-color:#eef4ff!important;
}
.vak-interest-card .vak-contact-consent-form,
.vak-interest-card .vak-contact-consent-form legend,
.vak-interest-card .vak-channel-choice,
.vak-interest-card .vak-consent-note{
  color:#eef4ff!important;
  -webkit-text-fill-color:#eef4ff!important;
  opacity:1!important;
}
.vak-interest-card .vak-contact-consent-form fieldset{
  background:#0b1421!important;
  border-color:#405572!important;
  color:#eef4ff!important;
  -webkit-text-fill-color:#eef4ff!important;
}
.vak-interest-card .vak-consent-waiting{
  background:#392d10!important;
  border-color:#8e7126!important;
  color:#ffe7a3!important;
  -webkit-text-fill-color:#ffe7a3!important;
}
.vak-interest-card .vak-mutual-ready{
  background:#123622!important;
  border-color:#2c8a54!important;
  color:#b7ffd7!important;
  -webkit-text-fill-color:#b7ffd7!important;
}
.vak-interest-card .vak-private-contact-details{
  background:#0b1421!important;
  border-color:#405572!important;
  color:#eef4ff!important;
  -webkit-text-fill-color:#eef4ff!important;
}
.vak-interest-card .vak-private-contact-details summary{
  background:#17243a!important;
  color:#eef4ff!important;
  -webkit-text-fill-color:#eef4ff!important;
}
.vak-interest-card .vak-private-contact-details dt,
.vak-interest-card .vak-private-contact-details dd{
  color:#eef4ff!important;
  -webkit-text-fill-color:#eef4ff!important;
  opacity:1!important;
}
.vak-interest-boundary{
  background:#102b2b!important;
  border-left-color:#38b2ac!important;
  color:#c7fff9!important;
  -webkit-text-fill-color:#c7fff9!important;
}
/* Semantic status badges remain high-contrast on the dark request card. */
.vak-interest-card .vak-interest-status{
  background:#24344a!important;
  color:#eaf2ff!important;
  -webkit-text-fill-color:#eaf2ff!important;
}
.vak-interest-status-pending .vak-interest-status{
  background:#463510!important;
  color:#ffe7a3!important;
  -webkit-text-fill-color:#ffe7a3!important;
}
.vak-interest-status-accepted .vak-interest-status{
  background:#123c29!important;
  color:#b7ffd7!important;
  -webkit-text-fill-color:#b7ffd7!important;
}
.vak-interest-status-declined .vak-interest-status,
.vak-interest-status-blocked .vak-interest-status{
  background:#3b1720!important;
  color:#ffb7be!important;
  -webkit-text-fill-color:#ffb7be!important;
}

/* VAK_PHASE6B_FIX4_COMPLETE_ACTION_BUTTON_CONTRAST */
/*
 * Explicitly lock every authenticated request-card action to a readable,
 * semantic colour. This prevents the card-level -webkit-text-fill-color
 * declaration from making enabled controls look disabled or blank.
 */
.vak-interest-card .vak-interest-actions a,
.vak-interest-card .vak-interest-actions button,
.vak-interest-card .vak-interest-safety-panel button,
.vak-interest-card .vak-contact-consent-form button{
  border:1px solid transparent!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  opacity:1!important;
  text-shadow:none!important;
  box-shadow:none!important;
  font-weight:850!important;
}
/* View public profile: neutral slate action. */
.vak-interest-card .vak-interest-link{
  background:#263b56!important;
  border-color:#526985!important;
  color:#f6f9ff!important;
  -webkit-text-fill-color:#f6f9ff!important;
}
/* Accept: positive green action. */
.vak-interest-card .vak-interest-actions input[name="decision"][value="accepted"] + button{
  background:#176b3a!important;
  border-color:#55d889!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}
/* Decline: clearly readable amber action, distinct from destructive blocking. */
.vak-interest-card .vak-interest-actions input[name="decision"][value="declined"] + button{
  background:#8a4b08!important;
  border-color:#f1b85b!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}
/* Block and report: destructive red actions. */
.vak-interest-card .vak-interest-safety-panel input[name="decision"][value="blocked"] + button,
.vak-interest-card .vak-interest-report-form > button.vak-danger{
  background:#a61f35!important;
  border-color:#ff8fa0!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}
/* Mutual-consent confirmation: clear blue action. */
.vak-interest-card .vak-contact-consent-form > button.vak-primary{
  background:#1d5fbf!important;
  border-color:#79b4ff!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}
.vak-interest-card .vak-interest-actions a:hover,
.vak-interest-card .vak-interest-actions button:hover,
.vak-interest-card .vak-interest-safety-panel button:hover,
.vak-interest-card .vak-contact-consent-form button:hover{
  filter:brightness(1.12)!important;
}
.vak-interest-card .vak-interest-actions a:focus-visible,
.vak-interest-card .vak-interest-actions button:focus-visible,
.vak-interest-card .vak-interest-safety-panel button:focus-visible,
.vak-interest-card .vak-contact-consent-form button:focus-visible{
  outline:3px solid #9bc7ff!important;
  outline-offset:3px!important;
}
/* Real disabled controls remain visibly disabled, but their labels stay readable. */
.vak-interest-card button:disabled,
.vak-interest-card button[aria-disabled="true"]{
  background:#344154!important;
  border-color:#59677a!important;
  color:#c8d2df!important;
  -webkit-text-fill-color:#c8d2df!important;
  opacity:.72!important;
  cursor:not-allowed!important;
  filter:none!important;
}
