/**
 * Cuba Health Assist — Production Launch v1.6
 * Global final-pass rules: CHA filled actions, containment and mobile safety.
 */
:root {
  --cha-launch-teal: #0E7C7B;
  --cha-launch-teal-dark: #0B6665;
  --cha-launch-white: #FFFFFF;
}

/* Filled CHA actions must always keep white text/icons. */
.cw-button:not(.cw-button--soft):not(.cw-button--outline):not(.cw-button--secondary):not(.cw-button--ghost),
.cha-button--primary,
.cha-btn--primary,
.btn-primary,
.button-primary,
button.bg-primary,
a.bg-primary,
input[type="submit"].bg-primary,
input[type="button"].bg-primary,
button[class~="bg-[#0E7C7B]"],
a[class~="bg-[#0E7C7B]"],
input[type="submit"][class~="bg-[#0E7C7B]"],
input[type="button"][class~="bg-[#0E7C7B]"],
button[class~="bg-[#16A34A]"],
a[class~="bg-[#16A34A]"],
input[type="submit"][class~="bg-[#16A34A]"],
input[type="button"][class~="bg-[#16A34A]"] {
  color: var(--cha-launch-white) !important;
}

.cw-button:not(.cw-button--soft):not(.cw-button--outline):not(.cw-button--secondary):not(.cw-button--ghost) svg,
.cha-button--primary svg,
.cha-btn--primary svg,
.btn-primary svg,
.button-primary svg,
button.bg-primary svg,
a.bg-primary svg,
button[class~="bg-[#0E7C7B]"] svg,
a[class~="bg-[#0E7C7B]"] svg,
button[class~="bg-[#16A34A]"] svg,
a[class~="bg-[#16A34A]"] svg {
  color: currentColor !important;
  stroke: currentColor;
}

/* Travel primary buttons had a later rule that could inherit dark text. */
.cha-travel-services-page .cw-button:not(.cw-button--soft):not(.cw-button--secondary):not(.cw-button--ghost):not(.cw-button--outline),
.cha-travel-detail-page .cw-button:not(.cw-button--soft):not(.cw-button--secondary):not(.cw-button--ghost):not(.cw-button--outline) {
  background: var(--cha-launch-teal) !important;
  border-color: var(--cha-launch-teal) !important;
  color: var(--cha-launch-white) !important;
}
.cha-travel-services-page .cw-button:not(.cw-button--soft):not(.cw-button--secondary):not(.cw-button--ghost):not(.cw-button--outline):hover,
.cha-travel-detail-page .cw-button:not(.cw-button--soft):not(.cw-button--secondary):not(.cw-button--ghost):not(.cw-button--outline):hover {
  background: var(--cha-launch-teal-dark) !important;
  border-color: var(--cha-launch-teal-dark) !important;
  color: var(--cha-launch-white) !important;
}

/* Global containment: prevent long references, dates and controls from breaking cards. */
html, body { max-width: 100%; }
body { overflow-x: hidden; }
main, section, article, aside, form, fieldset, .cw-main, .cw-card, .cw-card__inner {
  min-width: 0;
}
img, video, canvas, svg { max-width: 100%; }
img, video { height: auto; }
input, select, textarea, button { max-width: 100%; }
code, pre, .cw-table td, .cw-table th { overflow-wrap: anywhere; }

/* Mobile: touch-safe controls without changing the desktop design system. */
@media (max-width: 760px) {
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  select,
  textarea {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  input[type="date"],
  input[type="time"],
  input[type="datetime-local"] {
    min-height: 44px;
  }

  .cw-action-row,
  .cha-form-actions,
  .cha-payment-actions,
  .cha-travel-actions {
    max-width: 100%;
  }

  .cw-table-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 440px) {
  .cw-button,
  button.btn-primary,
  a.btn-primary,
  .cha-button--primary,
  .cha-btn--primary {
    max-width: 100%;
    white-space: normal;
    text-align: center;
  }
}

/* v1.7.10 — canonical Company Workspace navigation */
.cw-nav--canonical {
  gap: 4px;
  padding-top: 14px;
}
.cw-nav--canonical .cw-nav__section-label {
  margin: 12px 10px 4px;
  color: #7B8A9A;
  font: 600 11.5px/1.35 Inter, system-ui, sans-serif;
  letter-spacing: .01em;
  text-transform: none;
  user-select: none;
}
.cw-nav--canonical .cw-nav__section-label:first-child {
  margin-top: 4px;
}
.cw-nav--canonical > a {
  min-height: 42px;
}
.cw-nav-group {
  min-width: 0;
  border-radius: 15px;
}
.cw-nav-group > summary {
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 8px 10px;
  border-radius: 15px;
  color: #334155;
  cursor: pointer;
  list-style: none;
  font: 500 13.5px/1.4 Inter, system-ui, sans-serif;
  letter-spacing: -.005em;
  transition: background-color 250ms var(--cw-ease), color 250ms var(--cw-ease), box-shadow 250ms var(--cw-ease);
}
.cw-nav-group > summary::-webkit-details-marker { display: none; }
.cw-nav-group > summary::marker { content: ''; }
.cw-nav-group > summary:hover,
.cw-nav-group > summary:focus-visible {
  outline: none;
  color: var(--cw-primary);
  background: rgba(232,244,244,.72);
}
.cw-nav-group.is-active > summary {
  color: var(--cw-primary);
  background: rgba(232,244,244,.92);
  box-shadow: inset 0 0 0 1px rgba(14,124,123,.10);
}
.cw-nav-group.is-active > summary .cw-nav__icon {
  color: #FFFFFF;
  background: var(--cw-primary);
}
.cw-nav-group__label {
  min-width: 0;
  flex: 1 1 auto;
}
.cw-nav-group__chevron {
  width: 16px;
  height: 16px;
  margin-left: auto;
  color: #94A3B8;
  transition: transform 250ms var(--cw-ease), color 250ms var(--cw-ease);
}
.cw-nav-group[open] > summary .cw-nav-group__chevron {
  transform: rotate(90deg);
  color: var(--cw-primary);
}
.cw-nav-group__children {
  display: grid;
  gap: 2px;
  margin: 3px 0 5px 27px;
  padding: 3px 0 3px 16px;
  border-left: 1px solid rgba(14,124,123,.16);
}
.cw-nav a.cw-nav-subitem {
  min-height: 34px;
  gap: 9px;
  padding: 6px 9px;
  border-radius: 10px;
  color: #64748B;
  font-size: 12.5px;
  line-height: 1.35;
  box-shadow: none;
}
.cw-nav a.cw-nav-subitem:hover,
.cw-nav a.cw-nav-subitem:focus-visible {
  color: var(--cw-primary);
  background: rgba(232,244,244,.58);
}
.cw-nav a.cw-nav-subitem.is-active {
  color: #0B7473;
  background: rgba(232,244,244,.86);
  box-shadow: none;
  font-weight: 650;
}
.cw-nav-subitem__dot {
  width: 5px;
  height: 5px;
  border-radius: 999px;
  background: #C6D3DC;
  flex: 0 0 auto;
}
.cw-nav-subitem.is-active .cw-nav-subitem__dot {
  width: 6px;
  height: 6px;
  background: var(--cw-primary);
  box-shadow: 0 0 0 4px rgba(14,124,123,.10);
}
.cw-nav--canonical .cw-nav__section-label + a,
.cw-nav--canonical .cw-nav__section-label + .cw-nav-group {
  margin-top: 0;
}
@media (max-width: 960px) {
  .cw-nav--canonical .cw-nav__section-label {
    margin-top: 14px;
  }
  .cw-nav-group > summary,
  .cw-nav--canonical > a {
    min-height: 46px;
  }
  .cw-nav a.cw-nav-subitem {
    min-height: 40px;
    font-size: 13px;
  }
}
