/* ========================================================================== 
   Cuba Health Assist — Design System v2.0 Core
   Release: 1.8.0 · 2026-07-13
   Purpose: one visual contract for public, workspace, patient, partner,
   customer and Travel Services interfaces.
   ========================================================================== */

:root {
  color-scheme: light;
  --cha-brand-50: #eef8f7;
  --cha-brand-100: #d8efee;
  --cha-brand-200: #b4dfdd;
  --cha-brand-300: #82c8c5;
  --cha-brand-400: #45aaa7;
  --cha-brand-500: #1b8e8b;
  --cha-brand-600: #0e7c7b;
  --cha-brand-700: #0b6463;
  --cha-brand-800: #0a5050;
  --cha-brand-900: #073f3f;
  --cha-brand-glow: rgba(14, 124, 123, .12);

  --cha-ink-950: #0f172a;
  --cha-ink-900: #1e293b;
  --cha-ink-700: #334155;
  --cha-ink-600: #475569;
  --cha-ink-500: #64748b;
  --cha-ink-400: #94a3b8;
  --cha-line: #dce7ed;
  --cha-line-strong: #c8d8e1;
  --cha-surface: #ffffff;
  --cha-surface-soft: #f7fafb;
  --cha-surface-muted: #edf4f7;
  --cha-page: #f2f7f9;

  --cha-success: #15803d;
  --cha-success-soft: #f0fdf4;
  --cha-warning: #a16207;
  --cha-warning-soft: #fffbeb;
  --cha-danger: #b91c1c;
  --cha-danger-soft: #fef2f2;
  --cha-info: #1d4ed8;
  --cha-info-soft: #eff6ff;

  --cha-font: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --cha-text-xs: .75rem;
  --cha-text-sm: .8125rem;
  --cha-text-md: .875rem;
  --cha-text-base: 1rem;
  --cha-text-lg: 1.125rem;
  --cha-text-xl: 1.25rem;
  --cha-text-2xl: 1.5rem;
  --cha-text-3xl: 1.875rem;
  --cha-text-4xl: 2.25rem;

  --cha-space-1: 4px;
  --cha-space-2: 8px;
  --cha-space-3: 12px;
  --cha-space-4: 16px;
  --cha-space-5: 20px;
  --cha-space-6: 24px;
  --cha-space-8: 32px;
  --cha-space-10: 40px;
  --cha-space-12: 48px;
  --cha-space-16: 64px;

  --cha-radius-xs: 8px;
  --cha-radius-sm: 12px;
  --cha-radius-md: 16px;
  --cha-radius-lg: 20px;
  --cha-radius-xl: 24px;
  --cha-radius-pill: 999px;

  --cha-control-sm: 36px;
  --cha-control-md: 44px;
  --cha-control-lg: 48px;
  --cha-sidebar: 280px;
  --cha-content-max: 1600px;

  --cha-shadow-xs: 0 1px 2px rgba(15, 23, 42, .035);
  --cha-shadow-sm: 0 8px 24px -18px rgba(15, 23, 42, .24);
  --cha-shadow-md: 0 18px 44px -30px rgba(14, 124, 123, .34);
  --cha-shadow-lg: 0 30px 70px -42px rgba(14, 124, 123, .42);
  --cha-focus: 0 0 0 4px rgba(14, 124, 123, .14);
  --cha-ease: cubic-bezier(.16, 1, .3, 1);
  --cha-duration: 250ms;

  /* Backward-compatible aliases */
  --cw-bg: var(--cha-page);
  --cw-bg-soft: var(--cha-surface-soft);
  --cw-surface: var(--cha-surface);
  --cw-text: var(--cha-ink-900);
  --cw-muted: var(--cha-ink-500);
  --cw-border: var(--cha-line);
  --cw-border-strong: var(--cha-line-strong);
  --cw-primary: var(--cha-brand-600);
  --cw-primary-700: var(--cha-brand-700);
  --cw-primary-soft: var(--cha-brand-50);
  --cw-primary-soft-2: #f6fbfb;
  --cw-success: var(--cha-success);
  --cw-warning: var(--cha-warning);
  --cw-danger: var(--cha-danger);
  --cw-info: var(--cha-info);
  --cw-radius: var(--cha-radius-xl);
  --cw-radius-card: var(--cha-radius-lg);
  --cw-radius-control: var(--cha-radius-sm);
  --cw-shadow: var(--cha-shadow-lg);
  --cw-shadow-soft: var(--cha-shadow-md);
  --cw-shadow-card: var(--cha-shadow-xs);
  --cw-ease: var(--cha-ease);
  --cw-sidebar: var(--cha-sidebar);
}

html[data-cha-design-system="2.0"] { scroll-behavior: smooth; }
html[data-cha-design-system="2.0"] *,
html[data-cha-design-system="2.0"] *::before,
html[data-cha-design-system="2.0"] *::after { box-sizing: border-box; }

html[data-cha-design-system="2.0"] body {
  font-family: var(--cha-font);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

html[data-cha-design-system="2.0"] :where(button, input, select, textarea) { font: inherit; }
html[data-cha-design-system="2.0"] :where(button, [role="button"], a) { -webkit-tap-highlight-color: transparent; }
html[data-cha-design-system="2.0"] :where(img, svg) { max-width: 100%; }
html[data-cha-design-system="2.0"] :where(:focus-visible) {
  outline: 2px solid var(--cha-brand-600);
  outline-offset: 3px;
}
html[data-cha-design-system="2.0"] :where(input, select, textarea):focus-visible {
  outline: 0;
  border-color: rgba(14, 124, 123, .58);
  box-shadow: var(--cha-focus);
}
/* Composite control focus ownership: the bordered wrapper owns focus.
   Child controls remain visually transparent so search/icon controls never render
   a second frame inside the canonical control surface. */
html[data-cha-design-system="2.0"] :where(
  .cw-search,
  .cha-partner-inputwrap,
  .cha-partner-textwrap,
  .cha-location-search__control
) > :where(input, select, textarea):focus-visible {
  outline: 0;
  border-color: transparent;
  box-shadow: none;
}
html[data-cha-design-system="2.0"] :where([hidden]) { display: none !important; }

/* Typography — calm, clinical, never artificially all-uppercase. */
.cha-workspace-page :where(.cw-nav__section-label, .cw-eyebrow, .cw-field > span, .cw-form-field > span, .cw-detail-grid span, .cw-table th, .cw-stat__label, .travel-eyebrow, .travel-v17-eyebrow, .cha-travel-eyebrow, .cha-travel-v17-eyebrow),
.cha-signin-page :where(.uppercase, .eyebrow),
.cha-track-page :where(.uppercase, .eyebrow) {
  text-transform: none !important;
  letter-spacing: 0;
}
.cha-workspace-page :where(.cw-nav__section-label, .cw-eyebrow) {
  font-size: var(--cha-text-xs);
  font-weight: 600;
}
.cha-workspace-page :where(h1, h2, h3, h4, strong) { color: var(--cha-ink-950); }
.cha-workspace-page :where(h1, h2, h3, h4) { text-wrap: balance; }
.cha-workspace-page :where(p, small, .cw-muted, .cw-help-text) { color: var(--cha-ink-500); }

/* The panel UI uses authored casing. Legacy CSS may not force labels to uppercase. */
.cha-workspace-page :where([class]) { text-transform: none !important; }

/* Unified portal shell */
body.cha-workspace-page {
  margin: 0;
  min-height: 100vh;
  color: var(--cha-ink-900);
  background:
    radial-gradient(circle at 82% 0, rgba(69, 170, 167, .08), transparent 28rem),
    linear-gradient(180deg, #f7fbfc 0, var(--cha-page) 36%, #f8fafb 100%);
  font-size: var(--cha-text-md);
  line-height: 1.55;
}

.cha-workspace-page .cw-layout {
  width: min(100%, calc(var(--cha-content-max) + 64px));
  margin-inline: auto;
  grid-template-columns: var(--cha-sidebar) minmax(0, 1fr);
  gap: var(--cha-space-6);
  padding: var(--cha-space-6);
}

.cha-workspace-page .cw-sidebar {
  top: var(--cha-space-6);
  height: calc(100vh - 48px);
  padding: 16px 14px;
  border: 1px solid rgba(220, 231, 237, .96);
  border-radius: var(--cha-radius-xl);
  background: rgba(255, 255, 255, .96);
  box-shadow: var(--cha-shadow-md);
  backdrop-filter: blur(18px);
}
.cha-workspace-page .cw-brand {
  min-height: 68px;
  gap: 12px;
  padding: 8px 8px 16px;
}
.cha-workspace-page :where(.cw-brand__mark, .cw-mobile-brand__mark, .cw-profile__avatar) {
  border-radius: var(--cha-radius-sm);
  border-color: rgba(14, 124, 123, .16);
  box-shadow: var(--cha-shadow-xs);
}
.cha-workspace-page .cw-brand__text strong {
  font-size: 14.5px;
  font-weight: 650;
  letter-spacing: -.015em;
}
.cha-workspace-page .cw-brand__text span { font-size: 11.5px; }

.cha-workspace-page .cw-nav {
  gap: 5px;
  padding-block: 14px 10px;
}
.cha-workspace-page .cw-nav__section-label {
  margin: 12px 10px 4px;
  color: var(--cha-ink-400);
}
.cha-workspace-page .cw-nav a,
.cha-workspace-page .cw-nav-group > summary {
  min-height: var(--cha-control-md);
  gap: 10px;
  padding: 6px 9px;
  border-radius: var(--cha-radius-sm);
  color: var(--cha-ink-700);
  font-size: 13px;
  font-weight: 500;
  transition: background-color var(--cha-duration) var(--cha-ease), color var(--cha-duration) var(--cha-ease), border-color var(--cha-duration) var(--cha-ease), transform var(--cha-duration) var(--cha-ease);
}
.cha-workspace-page .cw-nav a:hover,
.cha-workspace-page .cw-nav a:focus-visible,
.cha-workspace-page .cw-nav-group > summary:hover,
.cha-workspace-page .cw-nav-group > summary:focus-visible {
  color: var(--cha-brand-700);
  background: var(--cha-brand-50);
}
.cha-workspace-page .cw-nav a.is-active,
.cha-workspace-page .cw-nav-group.is-active > summary,
.cha-workspace-page .cw-nav-subitem.is-active {
  color: var(--cha-brand-700);
  background: var(--cha-brand-50);
  box-shadow: inset 0 0 0 1px rgba(14, 124, 123, .09);
}
.cha-workspace-page .cw-nav__icon {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  color: var(--cha-brand-600);
  background: #edf7f6;
}
.cha-workspace-page .cw-nav a.is-active .cw-nav__icon,
.cha-workspace-page .cw-nav-group.is-active > summary .cw-nav__icon {
  color: #fff;
  background: var(--cha-brand-600);
}
.cha-workspace-page .cw-icon {
  width: 18px;
  height: 18px;
  stroke-width: 1.75;
  flex: 0 0 auto;
}
.cha-workspace-page .cw-nav-subitem { min-height: 36px; font-size: 12.5px; }
.cha-workspace-page .cw-signout {
  min-height: var(--cha-control-md);
  border-radius: var(--cha-radius-sm);
  font-weight: 550;
}

.cha-workspace-page .cw-main { gap: 16px; min-width: 0; }
.cha-workspace-page .cw-hero {
  min-height: 160px;
  grid-template-columns: minmax(260px, .9fr) minmax(360px, 1.25fr);
  gap: 24px;
  padding: 22px 24px;
  border-radius: var(--cha-radius-xl);
  border-color: rgba(220, 231, 237, .96);
  box-shadow: var(--cha-shadow-sm);
}
.cha-workspace-page .cw-title-block h1 {
  font-size: clamp(25px, 2.35vw, 32px);
  line-height: 1.14;
  font-weight: 620;
  letter-spacing: -.035em;
}
.cha-workspace-page .cw-title-block p {
  max-width: 640px;
  margin-top: 8px;
  font-size: 13px;
}
.cha-workspace-page .cw-eyebrow {
  gap: 7px;
  margin-bottom: 9px;
  color: var(--cha-brand-700);
}
.cha-workspace-page .cw-eyebrow::before {
  width: 6px;
  height: 6px;
  box-shadow: 0 0 0 4px var(--cha-brand-glow);
}
.cha-workspace-page .cw-top-actions {
  grid-template-columns: minmax(220px, 1fr) auto auto auto;
  gap: 10px;
}
/* Workspace search geometry/focus is owned by cha-panel-shell-v194.css. */
.cha-workspace-page .cw-quick-links { gap: 8px; }
.cha-workspace-page .cw-quick-links a,
.cha-workspace-page .cw-context-action {
  min-height: 36px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 550;
}

/* Buttons and icon controls */
.cha-workspace-page :where(.cw-button, .travel-v17-save, .travel-transfer-action, .travel-order-action, .travel-tour-action, .travel-accommodation-action, .cha-travel-primary-action, .ts-btn--primary) {
  min-height: var(--cha-control-md);
  border: 1px solid transparent;
  border-radius: var(--cha-radius-sm);
  padding: 9px 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #fff !important;
  background: var(--cha-brand-600);
  box-shadow: 0 8px 20px -14px rgba(14, 124, 123, .78);
  font-size: 13px;
  line-height: 1.2;
  font-weight: 620;
  text-decoration: none;
  cursor: pointer;
  transition: background-color var(--cha-duration) var(--cha-ease), border-color var(--cha-duration) var(--cha-ease), transform var(--cha-duration) var(--cha-ease), box-shadow var(--cha-duration) var(--cha-ease);
}
.cha-workspace-page :where(.cw-button, .travel-v17-save, .travel-transfer-action, .travel-order-action, .travel-tour-action, .travel-accommodation-action, .cha-travel-primary-action, .ts-btn--primary):hover {
  color: #fff !important;
  background: var(--cha-brand-700);
  transform: translateY(-1px);
  box-shadow: 0 12px 24px -15px rgba(14, 124, 123, .9);
}
.cha-workspace-page :where(.cw-button--soft, .cw-button--secondary, .ts-btn--secondary) {
  color: var(--cha-brand-700) !important;
  border-color: var(--cha-line);
  background: var(--cha-surface);
  box-shadow: var(--cha-shadow-xs);
}
.cha-workspace-page :where(.cw-button--soft, .cw-button--secondary, .ts-btn--secondary):hover {
  color: var(--cha-brand-700) !important;
  border-color: var(--cha-brand-200);
  background: var(--cha-brand-50);
}
.cha-workspace-page .cw-button--danger { color: #fff !important; background: var(--cha-danger); }
.cha-workspace-page :where(.cw-button, button, input[type="submit"]):disabled {
  opacity: .55;
  cursor: not-allowed;
  pointer-events: none;
  transform: none;
  box-shadow: none;
}
.cha-workspace-page .cw-icon-button {
  width: var(--cha-control-lg);
  height: var(--cha-control-lg);
  min-width: var(--cha-control-lg);
  border-radius: var(--cha-radius-sm);
  border: 1px solid var(--cha-line);
  color: var(--cha-ink-600);
  background: var(--cha-surface);
  box-shadow: var(--cha-shadow-xs);
}
.cha-workspace-page .cw-icon-button:hover,
.cha-workspace-page .cw-icon-button:focus-visible {
  color: var(--cha-brand-700);
  border-color: var(--cha-brand-200);
  background: var(--cha-brand-50);
}

/* Cards, metrics and content rhythm */
.cha-workspace-page .cw-stats-grid { gap: 14px; }
.cha-workspace-page .cw-stat,
.cha-workspace-page .cw-card,
.cha-workspace-page :where(.travel-v17-form-card, .travel-v17-table-card, .travel-v17-side-card, .cha-travel-v17-form-card, .cha-travel-v17-table-card, .cha-travel-v17-side-card, .cha-travel-builder-card, .cha-travel-operation-card, .cha-travel-tour-card, .cha-travel-date-card) {
  border: 1px solid var(--cha-line);
  border-radius: var(--cha-radius-lg);
  background: var(--cha-surface);
  box-shadow: var(--cha-shadow-xs);
}
.cha-workspace-page .cw-stat {
  min-height: 132px;
  padding: 18px;
  overflow: hidden;
}
.cha-workspace-page .cw-stat--primary {
  color: #fff;
  border-color: transparent;
  background: linear-gradient(145deg, var(--cha-brand-700), var(--cha-brand-500));
  box-shadow: 0 18px 34px -24px rgba(14, 124, 123, .9);
}
.cha-workspace-page .cw-stat__label { font-size: 11.5px; font-weight: 600; }
.cha-workspace-page .cw-stat__value {
  margin-top: 10px;
  font-size: clamp(24px, 2.3vw, 30px);
  line-height: 1.1;
  font-weight: 650;
  letter-spacing: -.03em;
}
.cha-workspace-page .cw-stat__meta { margin-top: 9px; font-size: 12px; }
.cha-workspace-page .cw-content-grid { gap: 16px; }
.cha-workspace-page .cw-card { overflow: clip; }
.cha-workspace-page .cw-card__inner { padding: 20px; }
.cha-workspace-page .cw-card__header {
  gap: 16px;
  margin-bottom: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(220, 231, 237, .72);
}
.cha-workspace-page .cw-card :where(h2, h3) {
  font-size: 15px;
  line-height: 1.35;
  font-weight: 620;
  letter-spacing: -.012em;
}
.cha-workspace-page .cw-card p { font-size: 12.75px; line-height: 1.6; }
.cha-workspace-page :where(.cw-task, .cw-notification-item, .cw-message-bubble, .cw-flow-step, .cw-note, .cw-empty-state) {
  border-color: var(--cha-line);
  border-radius: var(--cha-radius-md);
}

/* Forms */
.cha-workspace-page :where(.cw-form-grid, .travel-v17-form-grid, .cha-travel-v17-form-grid, .travel-storefront__form-grid, .cha-travel-storefront__form-grid) { gap: 14px; }
.cha-workspace-page :where(.cw-field, .cw-form-field, .travel-v17-field, .cha-travel-v17-field, .cha-travel-search-field) {
  min-width: 0;
  gap: 7px;
  color: var(--cha-ink-700);
  font-size: 12.5px;
  font-weight: 550;
}
.cha-workspace-page :where(.cw-field > span, .cw-form-field > span, .travel-v17-field > span, .cha-travel-v17-field > span) {
  color: var(--cha-ink-600);
  font-size: 12px;
  font-weight: 600;
}
.cha-workspace-page :where(.cw-input, .cw-select, .cw-field input, .cw-field select, .cw-field textarea, .cw-form-field input, .cw-form-field select, .cw-form-field textarea, .travel-v17-field input, .travel-v17-field select, .travel-v17-field textarea, .cha-travel-v17-field input, .cha-travel-v17-field select, .cha-travel-v17-field textarea) {
  width: 100%;
  max-width: 100%;
  min-height: var(--cha-control-lg);
  border: 1px solid var(--cha-line);
  border-radius: var(--cha-radius-sm);
  padding: 10px 12px;
  color: var(--cha-ink-900);
  background: var(--cha-surface);
  box-shadow: var(--cha-shadow-xs);
  transition: border-color var(--cha-duration) var(--cha-ease), box-shadow var(--cha-duration) var(--cha-ease), background-color var(--cha-duration) var(--cha-ease);
}
.cha-workspace-page :where(textarea.cw-input, .cw-field textarea, .cw-form-field textarea, .travel-v17-field textarea, .cha-travel-v17-field textarea) {
  min-height: 112px;
  resize: vertical;
  line-height: 1.55;
}
.cha-workspace-page :where(input[type="date"], input[type="time"], input[type="datetime-local"], input[type="month"]) {
  min-width: 0;
  max-width: 100%;
  appearance: auto;
}
.cha-workspace-page input[type="checkbox"],
.cha-workspace-page input[type="radio"] { accent-color: var(--cha-brand-600); }
.cha-workspace-page :where(.cw-input, .cw-select, input, select, textarea)::placeholder { color: var(--cha-ink-400); opacity: 1; }

/* Tables */
.cha-workspace-page .cw-table-wrap {
  max-width: 100%;
  border-radius: var(--cha-radius-md);
  scrollbar-width: thin;
  scrollbar-color: var(--cha-line-strong) transparent;
}
.cha-workspace-page .cw-table { border-spacing: 0 8px; }
.cha-workspace-page .cw-table th {
  padding: 7px 12px;
  color: var(--cha-ink-500);
  font-size: 11px;
  font-weight: 650;
}
.cha-workspace-page .cw-table td {
  padding: 12px;
  border-top-color: var(--cha-line);
  border-bottom-color: var(--cha-line);
  background: var(--cha-surface);
  font-size: 12.75px;
}
.cha-workspace-page .cw-table tr:hover td { background: #fbfdfd; }
.cha-workspace-page .cw-table td:first-child { border-radius: var(--cha-radius-sm) 0 0 var(--cha-radius-sm); }
.cha-workspace-page .cw-table td:last-child { border-radius: 0 var(--cha-radius-sm) var(--cha-radius-sm) 0; }
.cha-workspace-page .cw-table strong { font-size: 13px; font-weight: 620; }
.cha-workspace-page .cw-table small { font-size: 11.5px; }

/* Status, badges, notices */
.cha-workspace-page :where(.cw-status, .cw-count-pill, .cha-travel-badge, .travel-v17-status) {
  min-height: 28px;
  padding: 5px 9px;
  border: 1px solid transparent;
  border-radius: var(--cha-radius-pill);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  font-size: 11.5px;
  line-height: 1.2;
  font-weight: 620;
  white-space: nowrap;
  text-decoration: none;
}
.cha-workspace-page .cw-status--success { color: #166534; border-color: #bbf7d0; background: var(--cha-success-soft); }
.cha-workspace-page .cw-status--warning { color: #92400e; border-color: #fde68a; background: var(--cha-warning-soft); }
.cha-workspace-page .cw-status--danger { color: #991b1b; border-color: #fecaca; background: var(--cha-danger-soft); }
.cha-workspace-page .cw-status--info { color: #1e40af; border-color: #bfdbfe; background: var(--cha-info-soft); }
.cha-workspace-page .cw-status--neutral { color: var(--cha-ink-600); border-color: var(--cha-line); background: #f8fafc; }
.cha-workspace-page .cw-alert {
  margin: 0 0 16px;
  padding: 13px 15px;
  border: 1px solid var(--cha-line);
  border-radius: var(--cha-radius-md);
  background: var(--cha-surface);
  box-shadow: var(--cha-shadow-xs);
  font-weight: 550;
}
.cha-workspace-page .cw-empty,
.cha-workspace-page .cw-empty-state,
.cha-workspace-page :where(.travel-empty, .travel-v17-empty, .cha-travel-empty, .cha-travel-v17-empty) {
  min-height: 150px;
  border: 1px dashed var(--cha-line-strong);
  border-radius: var(--cha-radius-lg);
  background: linear-gradient(180deg, #fbfdfd, var(--cha-surface-soft));
}

/* Menus, dropdowns, drawers and modal surfaces */
.cha-workspace-page .cw-dropdown {
  z-index: 160;
  min-width: 280px;
  padding: 8px;
  border: 1px solid var(--cha-line);
  border-radius: var(--cha-radius-md);
  background: rgba(255, 255, 255, .985);
  box-shadow: 0 26px 60px -28px rgba(15, 23, 42, .4);
  backdrop-filter: blur(18px);
}
.cha-workspace-page .cw-dropdown__title {
  padding: 8px 10px 10px;
  color: var(--cha-ink-500);
  font-size: 11.5px;
  font-weight: 650;
  text-transform: none;
  letter-spacing: 0;
}
.cha-workspace-page .cw-dropdown > a,
.cha-workspace-page .cw-dropdown > button {
  border-radius: 10px;
  font-size: 12.5px;
}
.cha-workspace-page :where(.cw-drawer, [role="dialog"], .cw-modal, .cha-modal, .travel-modal) {
  border-color: var(--cha-line);
  background: var(--cha-surface);
  box-shadow: 0 34px 90px -35px rgba(15, 23, 42, .48);
}
.cha-workspace-page .cw-drawer { width: min(88vw, 340px); }
.cha-workspace-page .cw-mobile-overlay,
.cha-workspace-page .cw-drawer-backdrop { background: rgba(15, 23, 42, .34); backdrop-filter: blur(3px); }

/* Travel Services is visually governed by the same component contract. */
.cha-workspace-page :where(.travel-v17-pagehead, .cha-travel-v17-pagehead, .cha-travel-hero, .cha-travel-definition-topbar--clean) {
  border-color: var(--cha-line);
  border-radius: var(--cha-radius-lg);
  background: var(--cha-surface);
  box-shadow: var(--cha-shadow-xs);
}
.cha-workspace-page :where(.travel-v17-pagehead h1, .cha-travel-v17-pagehead h1, .cha-travel-hero h1) {
  color: var(--cha-ink-950);
  font-weight: 620;
  letter-spacing: -.03em;
}
.cha-workspace-page :where(.travel-v17-table, .cha-travel-v17-table) { width: 100%; }
.cha-workspace-page :where(.travel-v17-remove, .cha-travel-v17-remove, .travel-remove) {
  min-height: 36px;
  border: 1px solid #fecaca;
  border-radius: 10px;
  color: var(--cha-danger);
  background: var(--cha-danger-soft);
}
.cha-workspace-page :where(.travel-v17-repeat-item, .cha-travel-v17-repeat-item, .cha-travel-traveler-card, .cha-travel-booking-step) {
  border-color: var(--cha-line);
  border-radius: var(--cha-radius-md);
  background: var(--cha-surface-soft);
}

/* Public/auth surfaces: preserve page compositions while locking brand controls. */
body:not(.cha-workspace-page) :where(.bg-primary, button.bg-primary, a.bg-primary) { color: #fff; }
body:not(.cha-workspace-page) :where(.uppercase) { text-transform: none; }
body:not(.cha-workspace-page) :where(input, select, textarea) { max-width: 100%; }
body:not(.cha-workspace-page) :where(input[type="date"], input[type="time"], input[type="datetime-local"]) { min-width: 0; }
.cha-signin-page :where(.auth-card, .signin-card, form),
.cha-track-page :where(.track-card, .search-card),
.cha-support-public-page :where(.support-card, form) {
  border-color: var(--cha-line);
}

/* Motion and accessibility */
@media (prefers-reduced-motion: reduce) {
  html[data-cha-design-system="2.0"] { scroll-behavior: auto; }
  html[data-cha-design-system="2.0"] *,
  html[data-cha-design-system="2.0"] *::before,
  html[data-cha-design-system="2.0"] *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
@media (forced-colors: active) {
  .cha-workspace-page :where(.cw-card, .cw-stat, .cw-sidebar, .cw-hero, .cw-button, .cw-input, .cw-select) { border: 1px solid CanvasText; }
}

/* Responsive panel contract */
@media (max-width: 1180px) {
  .cha-workspace-page .cw-layout { grid-template-columns: 252px minmax(0, 1fr); padding: 18px; gap: 18px; }
  .cha-workspace-page .cw-sidebar { top: 18px; height: calc(100vh - 36px); }
  .cha-workspace-page .cw-hero { grid-template-columns: 1fr; }
}

@media (max-width: 960px) {
  .cha-workspace-page .cw-layout { display: block; width: 100%; padding: 12px; }
  .cha-workspace-page .cw-sidebar { display: none; }
  .cha-workspace-page .cw-main { gap: 12px; }
  .cha-workspace-page .cw-mobile-header {
    display: flex;
    position: sticky;
    top: 8px;
    z-index: 120;
    min-height: 64px;
    padding: 8px 10px;
    border: 1px solid rgba(220, 231, 237, .96);
    border-radius: var(--cha-radius-md);
    background: rgba(255, 255, 255, .95);
    box-shadow: var(--cha-shadow-sm);
    backdrop-filter: blur(18px);
  }
  .cha-workspace-page .cw-mobile-brand { min-width: 0; }
  .cha-workspace-page .cw-mobile-brand__mark { width: 42px; height: 42px; }
  .cha-workspace-page .cw-mobile-brand__text { min-width: 0; }
  .cha-workspace-page .cw-mobile-brand__text strong,
  .cha-workspace-page .cw-mobile-brand__text span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .cha-workspace-page .cw-mobile-actions { gap: 6px; }
  .cha-workspace-page .cw-mobile-actions .cw-icon-button { width: 42px; height: 42px; min-width: 42px; }
  .cha-workspace-page .cw-hero { min-height: auto; padding: 18px; border-radius: var(--cha-radius-lg); }
  .cha-workspace-page .cw-top-actions { grid-template-columns: minmax(0, 1fr) auto auto auto; }
  .cha-workspace-page .cw-content-grid--split { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  .cha-workspace-page .cw-layout { padding: 8px; }
  .cha-workspace-page .cw-mobile-header { top: 6px; min-height: 60px; }
  .cha-workspace-page .cw-mobile-brand__text span { display: none; }
  .cha-workspace-page .cw-hero { padding: 16px; }
  .cha-workspace-page .cw-title-block h1 { font-size: 24px; }
  .cha-workspace-page .cw-hero__tools { display: none; }
  .cha-workspace-page .cw-mobile-search-panel {
    margin-top: 8px;
    padding: 10px;
    border: 1px solid var(--cha-line);
    border-radius: var(--cha-radius-md);
    background: var(--cha-surface);
    box-shadow: var(--cha-shadow-sm);
  }
  .cha-workspace-page .cw-stats-grid,
  .cha-workspace-page .cw-stats-grid.cw-stats-grid--compact,
  .cha-workspace-page :where(.cw-form-grid, .cw-grid-2, .travel-v17-form-grid, .cha-travel-v17-form-grid, .travel-v17-form-grid--3, .cha-travel-v17-form-grid--3) {
    grid-template-columns: 1fr;
  }
  .cha-workspace-page .cw-stat { min-height: 112px; padding: 16px; }
  .cha-workspace-page .cw-card__inner { padding: 16px; }
  .cha-workspace-page .cw-card__header { align-items: flex-start; }
  .cha-workspace-page .cw-card__actions { width: 100%; }
  .cha-workspace-page .cw-card__actions :where(.cw-button, a, button) { width: 100%; }
  .cha-workspace-page .cw-table { min-width: 0; border-spacing: 0; }
  .cha-workspace-page .cw-table thead { display: none; }
  .cha-workspace-page .cw-table tbody,
  .cha-workspace-page .cw-table tr,
  .cha-workspace-page .cw-table td { display: block; width: 100%; }
  .cha-workspace-page .cw-table tr {
    margin-bottom: 12px;
    border: 1px solid var(--cha-line);
    border-radius: var(--cha-radius-md);
    overflow: hidden;
    background: var(--cha-surface);
  }
  .cha-workspace-page .cw-table td {
    min-height: 46px;
    padding: 10px 12px 10px min(44%, 160px);
    border: 0;
    border-bottom: 1px solid #edf2f5;
    border-radius: 0 !important;
    position: relative;
  }
  .cha-workspace-page .cw-table td:last-child { border-bottom: 0; }
  .cha-workspace-page .cw-table td::before {
    content: attr(data-label);
    position: absolute;
    left: 12px;
    top: 11px;
    width: calc(min(44%, 160px) - 20px);
    color: var(--cha-ink-500);
    font-size: 10.5px;
    line-height: 1.3;
    font-weight: 650;
  }
  .cha-workspace-page :where(.cw-button, .travel-v17-save, .travel-transfer-action, .travel-order-action, .travel-tour-action, .travel-accommodation-action) { min-height: 46px; }
  .cha-workspace-page :where(input, select, textarea) { font-size: 16px; }
}

@media (max-width: 480px) {
  .cha-workspace-page .cw-mobile-header { padding-inline: 8px; }
  .cha-workspace-page .cw-mobile-actions { gap: 4px; }
  .cha-workspace-page .cw-mobile-actions .cw-icon-button { width: 40px; height: 40px; min-width: 40px; }
  .cha-workspace-page .cw-title-block p { font-size: 12.5px; }
  .cha-workspace-page .cw-stat__value { font-size: 24px; }
  .cha-workspace-page .cw-dropdown { min-width: min(300px, calc(100vw - 24px)); }
  .cha-workspace-page .cw-table td { padding-left: 42%; }
  .cha-workspace-page .cw-table td::before { width: calc(42% - 18px); }
}

@media print {
  .cha-workspace-page .cw-sidebar,
  .cha-workspace-page .cw-mobile-header,
  .cha-workspace-page .cw-hero__tools,
  .cha-workspace-page .cw-context-actions,
  .cha-workspace-page .cw-mobile-overlay { display: none !important; }
  .cha-workspace-page .cw-layout { display: block; padding: 0; }
  .cha-workspace-page .cw-card,
  .cha-workspace-page .cw-stat,
  .cha-workspace-page .cw-hero { break-inside: avoid; box-shadow: none; }
}

/* v2.0.4 — canonical Workspace button contrast contract.
   Modifier buttons must never inherit the white primary text fill. */
body.cha-workspace-page :is(.cw-button--soft,.cw-button--secondary,.cw-button--ghost,.cw-button--outline) {
  color: var(--cha-brand-700) !important;
  -webkit-text-fill-color: var(--cha-brand-700) !important;
  border-color: var(--cha-line) !important;
  box-shadow: var(--cha-shadow-xs);
}
body.cha-workspace-page :is(.cw-button--soft,.cw-button--secondary,.cw-button--outline) {
  background: var(--cha-surface) !important;
}
body.cha-workspace-page .cw-button--ghost {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}
body.cha-workspace-page :is(.cw-button--soft,.cw-button--secondary,.cw-button--ghost,.cw-button--outline) :is(span,strong,small,svg,path) {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}
body.cha-workspace-page :is(.cw-button--soft,.cw-button--secondary,.cw-button--ghost,.cw-button--outline):hover {
  color: var(--cha-brand-700) !important;
  -webkit-text-fill-color: var(--cha-brand-700) !important;
  border-color: var(--cha-brand-200) !important;
  background: var(--cha-brand-50) !important;
}
body.cha-workspace-page :is(.cw-button--soft,.cw-button--secondary,.cw-button--ghost,.cw-button--outline):focus-visible {
  color: var(--cha-brand-700) !important;
  -webkit-text-fill-color: var(--cha-brand-700) !important;
  outline: 3px solid rgba(14,124,123,.18);
  outline-offset: 2px;
}
body.cha-workspace-page .cw-button:not(.cw-button--soft):not(.cw-button--secondary):not(.cw-button--ghost):not(.cw-button--outline):not(.cw-button--danger) {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
body.cha-workspace-page .cw-button--danger {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: #dc2626 !important;
  border-color: #dc2626 !important;
}
body.cha-workspace-page .cw-button--danger:hover {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: #b91c1c !important;
  border-color: #b91c1c !important;
}



/* v2.0.5 — translation-safe component sizing.
   Base guard for long localized labels; icon-only controls keep their dedicated fixed dimensions. */
body.cha-workspace-page :where(.cw-button, button.cw-button, a.cw-button) {
  width: auto;
  min-width: 0;
  max-width: 100%;
  height: auto;
  padding-inline: 15px;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  line-height: 1.3;
}
body.cha-workspace-page :where(.cw-status, .cw-count-pill, .cw-badge, .cha-profile-status-pill, .cha-pay8-badge) {
  width: auto;
  min-width: 0;
  max-width: 100%;
  height: auto;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  line-height: 1.25;
}
body.cha-workspace-page :where(.cw-context-actions, .cw-top-actions, .cw-form-actions, .cha-profile-actions) {
  flex-wrap: wrap;
  min-width: 0;
}
body.cha-workspace-page :where(.cw-sidebar a, .cw-sidebar button, .cw-nav a, .cw-nav button) {
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}

/* ========================================================================== 
   v2.0.6 — multilingual layout resilience, Tur 1/3
   Structural only: long TR/DE copy may wrap without changing color, type,
   branding or the existing responsive breakpoints.
   ========================================================================== */

/* Every direct child of a public flex/grid utility may shrink below its
   min-content width. Fixed icon geometry remains protected by shrink-0/flex. */
html[data-cha-design-system="2.0"] body:not(.cha-workspace-page) :where(main, section, form, footer) :where(.flex, .inline-flex, .grid) > * {
  min-width: 0;
}

/* Public text controls: preserve the established control height as a minimum,
   but allow translated labels to grow to two or more lines. Icon-only controls
   are excluded through their accessible aria-label. */
html[data-cha-design-system="2.0"] body:not(.cha-workspace-page) :where(main, section, form, footer) :where(
  a[class*="inline-flex"]:not([aria-label]),
  button[class*="inline-flex"]:not([aria-label]),
  .cha-btn,
  .hp-btn,
  .lc-btn,
  .cha-auth-modal__submit,
  .cha-auth-modal__secondary,
  .cha-case-result-card__actions a,
  .cha-case-result-card__actions button,
  .cha-support-public-refresh,
  .cha-treatment-v21__note a
) {
  width: auto;
  min-width: 0;
  max-width: 100%;
  height: auto !important;
  min-height: 44px;
  padding-block: 9px;
  white-space: normal !important;
  overflow-wrap: break-word;
  word-break: normal;
  line-height: 1.3;
  text-align: center;
}

/* Public pills, chips and status labels may wrap instead of forcing horizontal
   overflow. Their pill radius, colors and typography are intentionally kept. */
html[data-cha-design-system="2.0"] body:not(.cha-workspace-page) :where(main, section, form) :is(
  span,
  a,
  button,
  li,
  label
):where(
  [class*="badge"],
  [class*="pill"],
  [class*="chip"],
  [class*="status"],
  [class*="tag"]
) {
  width: auto;
  min-width: 0;
  max-width: 100%;
  height: auto;
  white-space: normal !important;
  overflow-wrap: break-word;
  word-break: normal;
  line-height: 1.3;
  text-align: center;
}

/* Tailwind-authored public chips often carry h-* and whitespace-nowrap utility
   classes directly in HTML. Text-bearing links, buttons and list items may grow
   vertically, while decorative spans and SVG controls remain untouched. */
html[data-cha-design-system="2.0"] body:not(.cha-workspace-page) :where(main, section, form) :is(a, button, li)[class*="h-"] {
  height: auto !important;
  min-height: 44px;
}
html[data-cha-design-system="2.0"] body:not(.cha-workspace-page) :where(main, section, form) :is(li, span, a, button, label).whitespace-nowrap:where(
  [class*="rounded"],
  [class*="badge"],
  [class*="pill"],
  [class*="chip"],
  [class*="status"],
  [class*="tag"]
) {
  white-space: normal !important;
  overflow-wrap: break-word;
}
html[data-cha-design-system="2.0"] body:not(.cha-workspace-page) :where(main, section) :where(.truncate) {
  overflow: visible !important;
  white-space: normal !important;
  text-overflow: clip !important;
  overflow-wrap: break-word;
}

/* Public form copy and data tables must remain readable with labels that are
   roughly 35% longer than English. */
html[data-cha-design-system="2.0"] body:not(.cha-workspace-page) :where(label, legend, th, td, summary) {
  min-width: 0;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
}
html[data-cha-design-system="2.0"] body:not(.cha-workspace-page) :where(.cha-form-actions, .cha-actions, .cha-case-result-card__actions, .lc-cta-row) {
  min-width: 0;
  max-width: 100%;
  flex-wrap: wrap;
}

/* Public desktop header: keep the existing breakpoint behavior, but let the
   header become taller when a translated navigation or CTA needs a second line. */
@media (min-width: 1024px) {
  html[data-cha-design-system="2.0"] body:not(.cha-workspace-page) header#top > .container-page > .relative {
    height: auto !important;
    min-height: 72px !important;
    max-height: none !important;
    padding-block: 8px;
  }
  html[data-cha-design-system="2.0"] body:not(.cha-workspace-page) header#top nav[aria-label="Primary"] {
    min-width: 0 !important;
    max-width: 100%;
    flex-wrap: wrap !important;
    row-gap: 4px !important;
    white-space: normal !important;
  }
  html[data-cha-design-system="2.0"] body:not(.cha-workspace-page) header#top nav[aria-label="Primary"] :where(a, button) {
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    line-height: 1.25 !important;
    text-align: center;
  }
  html[data-cha-design-system="2.0"] body:not(.cha-workspace-page) header#top :where(.cha-header-signin, a[data-cha-nav-compact-label="1"]) {
    width: auto !important;
    min-width: 0 !important;
    max-width: min(280px, 24vw) !important;
    height: auto !important;
    min-height: 40px;
    padding-block: 8px;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    overflow-wrap: break-word;
    line-height: 1.25 !important;
    text-align: center;
  }
}

/* --------------------------------------------------------------------------
   v2.0.6 — footer marka logosu olcusu
   Footer logosu iki satirli bir yazi markasi oldugu icin header ile ayni
   yukseklikte gorsel olarak daha agir duruyordu. Footer'a ozel kucultuldu.
   -------------------------------------------------------------------------- */
footer img[alt="Cuba Health Assist"] {
  height: 30px !important;
  max-height: 30px !important;
  width: auto !important;
  max-width: 210px !important;
  object-fit: contain;
  object-position: left center;
}
@media (max-width: 767px) {
  footer img[alt="Cuba Health Assist"] {
    height: 26px !important;
    max-height: 26px !important;
    max-width: 180px !important;
  }
}

/* --------------------------------------------------------------------------
   v2.0.7 — mobil düzen kayması (CLS) önlemleri
   Görsellere width/height eklendi. Bu blok kalan istisnalar icin emniyet agi.
   -------------------------------------------------------------------------- */

/* 1 — Boyutu bilinmeyen icerik gorselleri icin en-boy orani rezervasyonu.
   Tarayici goruntu inmeden once yer ayirir, sayfa ziplamaz. */
img:not([width]):not([height]):not([alt="Cuba Health Assist"]):not([src$=".svg"]):not([aria-hidden="true"]):not(.no-cls-reserve) {
  aspect-ratio: 3 / 2;
  height: auto;
  background: var(--surface-muted, #f2f6f7);
}

/* 2 — width/height verilmis gorseller oranini korusun, tasmasin. */
img[width][height] {
  max-width: 100%;
  height: auto;
}

/* 3 — Mobilde yatay tasmayi kesin engelle. Tek bir genis oge tum sayfayi
   kaydirip "kayma" hissi yaratabiliyor. */
@media (max-width: 1023px) {
  html, body { max-width: 100%; overflow-x: hidden; }
  body :where(section, footer, header, main, article, .container-page) {
    max-width: 100%;
    min-width: 0;
  }
  body :where(img, video, iframe, table, pre, svg) { max-width: 100%; }
}

/* 4 — Yazi tipi yuklenirken metin yeniden akmasin. */
@media (max-width: 1023px) {
  body { text-rendering: optimizeSpeed; }
}

/* --------------------------------------------------------------------------
   v2.0.8 — giris karti basligi ve footer bulten bolumu
   1) Signin kartinda logo cok buyuktu, "Secure Healthcare Access" rozetini
      sikistirip uc satira bolduruyordu.
   2) Almanca gibi uzun dillerde rozet kart disina tasiyordu.
   3) Footer bulten basligi ile aciklamasi mobilde ust uste biniyordu.
   -------------------------------------------------------------------------- */

/* 1 — Giris karti marka satiri */
.brand-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  width: 100%;
  min-width: 0;
}
.brand-header__logo {
  flex: 0 1 auto !important;
  min-width: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
}
.brand-header__logo img {
  height: 30px !important;
  max-height: 30px !important;
  width: auto !important;
  max-width: min(190px, 55%) !important;
  object-fit: contain !important;
  object-position: left center !important;
}

/* 2 — Rozet: kart disina tasmaz, gereksiz yere bolunmez */
.brand-pill {
  flex: 0 1 auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 30px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  text-align: left !important;
  line-height: 1.25 !important;
  box-sizing: border-box !important;
}
.brand-pill svg { flex: 0 0 auto !important; }

/* Dar ekranda rozet alt satira gecsin, sikismasin */
@media (max-width: 520px) {
  .brand-header { gap: 10px !important; }
  .brand-header__logo img {
    height: 26px !important;
    max-height: 26px !important;
    max-width: 165px !important;
  }
  .brand-pill {
    flex-basis: 100% !important;
    max-width: 100% !important;
    font-size: 12px !important;
    padding-block: 6px !important;
  }
}

/* 3 — Footer bulten bolumu: baslik ve aciklama ust uste binmesin */
footer :where(h3, h2) + p,
footer .flex.flex-col > :where(h3, h2, p) {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: break-word;
}
/* Keep the newsletter copy shrink-safe without overriding the max-w-7xl
   layout containers, which also retain Tailwind's flex-col class at desktop. */
footer .flex.flex-col.gap-2 {
  min-width: 0;
  max-width: 100%;
}
footer :where(h3, h2) {
  line-height: 1.3 !important;
  margin: 0 !important;
  text-wrap: balance;
}
footer p { margin: 0 !important; }

@media (max-width: 767px) {
  /* Bulten satiri mobilde tam dikey yigin, cakisma yok */
  footer .max-w-7xl.mx-auto {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 16px !important;
  }
  footer form {
    width: 100% !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
  }
  footer form > * { min-width: 0 !important; }
  footer form input[type="email"],
  footer form input[aria-label="Email address"] {
    flex: 1 1 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  /* Safari alt cubugu icin nefes payi */
  footer { padding-bottom: max(16px, env(safe-area-inset-bottom)) !important; }
}

/* v2.0.9 — marka satiri duzeltmesi
   Onceki surumde logo "kucule bilir" (flex:0 1) ve yuzde genislik siniri
   almisti; rozet yer kapladiginda logo ezilip okunmaz hale geliyordu.
   Dogru hiyerarsi: LOGO SABIT kalir, ROZET uyum saglar. */
.brand-header{
  display:flex!important; align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important; flex-wrap:wrap!important; min-width:0!important;
}
.brand-header__logo{
  flex:0 0 auto!important;      /* asla kuculmez */
  min-width:0!important;
  display:inline-flex!important; align-items:center!important;
}
.brand-header__logo img{
  height:34px!important; max-height:34px!important;
  width:auto!important; max-width:none!important;   /* yuzde sinir yok */
  min-width:150px!important;                        /* okunabilirlik tabani */
  object-fit:contain!important; object-position:left center!important;
}
.brand-pill{
  flex:1 1 auto!important;      /* daralan taraf rozet */
  min-width:0!important; max-width:100%!important;
  justify-content:center!important;
  height:auto!important; min-height:30px!important;
  white-space:normal!important; overflow-wrap:break-word!important;
  line-height:1.25!important; box-sizing:border-box!important;
}
@media (max-width:560px){
  .brand-header{gap:10px!important;}
  .brand-header__logo img{height:30px!important;max-height:30px!important;min-width:140px!important;}
  .brand-pill{flex-basis:100%!important;justify-content:flex-start!important;font-size:12px!important;}
}

/* ==========================================================================
   v2.1.0 — MOBİL KESİN DÜZELTMELER (header taşması, rozet, footer çakışması)
   Önceki sürümler yeterli gelmedi; bu blok daha yüksek özgüllükle yazıldı.
   ========================================================================== */
@media (max-width: 1023px) {

  /* --- 1) HEADER: sağdaki ikonlar kesilmesin --- */
  header#top,
  header#top .container-page,
  header#top .container-page > div {
    max-width: 100vw !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }
  header#top .container-page {
    padding-inline: 12px !important;
  }
  header#top .container-page > div,
  header#top .relative.flex.items-center.justify-between {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  /* Logo daralabilsin ki sağdaki butonlar sığsın */
  header#top .cha-header-logo-link,
  header#top a[href="/"]:has(img[alt="Cuba Health Assist"]),
  header#top a[href="/tr/"]:has(img[alt="Cuba Health Assist"]),
  header#top a[href="/es/"]:has(img[alt="Cuba Health Assist"]),
  header#top a[href="/de/"]:has(img[alt="Cuba Health Assist"]) {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100vw - 170px) !important;
    overflow: hidden !important;
  }
  header#top img[alt="Cuba Health Assist"] {
    height: 30px !important;
    max-height: 30px !important;
    width: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
    object-position: left center !important;
  }
  /* Sağ kontrol grubu asla kırpılmaz */
  header#top .flex.items-center.gap-2.shrink-0,
  header#top .right-controls {
    flex: 0 0 auto !important;
    margin-left: auto !important;
    gap: 6px !important;
    padding-right: 2px !important;
  }
  header#top .cha-language-wrap > button,
  header#top .cha-header-signin,
  header#top a[href$="/signin/"],
  header#top .cha-menu-toggle,
  header#top button[aria-label="Open menu"],
  header#top button[aria-label="Close menu"] {
    width: 40px !important; height: 40px !important;
    min-width: 40px !important; max-width: 40px !important;
    flex: 0 0 40px !important;
  }

  /* --- 2) GİRİŞ KARTI ROZETİ: kesinlikle taşmaz --- */
  .auth-card, .cha-signin-main .auth-card {
    overflow: hidden !important;
    box-sizing: border-box !important;
  }
  .brand-header {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  .brand-header__logo { flex: 0 0 auto !important; min-width: 0 !important; }
  .brand-header__logo img {
    height: 28px !important; max-height: 28px !important;
    width: auto !important; min-width: 130px !important; max-width: 100% !important;
  }
  .brand-pill {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    justify-content: flex-start !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    padding: 7px 12px !important;
  }

  /* --- 3) FOOTER BÜLTEN: metinler üst üste binmez --- */
  footer, footer * { box-sizing: border-box !important; }
  footer .max-w-7xl {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-inline: 16px !important;
  }
  footer .max-w-7xl > * {
    position: static !important;   /* mutlak konum kaynakli cakismayi kes */
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }
  footer :where(h2, h3) {
    position: static !important;
    display: block !important;
    margin: 0 0 6px 0 !important;
    line-height: 1.3 !important;
    font-size: 18px !important;
    overflow-wrap: break-word !important;
  }
  footer :where(h2, h3) + p,
  footer p {
    position: static !important;
    display: block !important;
    margin: 0 !important;
    line-height: 1.5 !important;
    overflow-wrap: break-word !important;
  }
  footer form {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    width: 100% !important;
  }
  footer form > * { min-width: 0 !important; }
  footer form input {
    flex: 1 1 100% !important;
    width: 100% !important;
    height: 46px !important;
    font-size: 16px !important;   /* iOS zoom engeli */
    box-sizing: border-box !important;
  }
  footer form button { flex: 1 1 100% !important; height: 46px !important; }
  /* Keep the language selector as one readable unit. If space is tight, the
     whole selector moves below the copyright instead of breaking letters. */
  footer .max-w-7xl.py-8 > .flex:first-child {
    flex-wrap: wrap !important;
    row-gap: 8px !important;
  }
  footer .max-w-7xl.py-8 [aria-label="Language"],
  footer .max-w-7xl.py-8 [aria-label="Language"] > * {
    flex: 0 0 auto !important;
    min-width: max-content !important;
    white-space: nowrap !important;
  }
  footer { padding-bottom: calc(24px + env(safe-area-inset-bottom)) !important; }
}

/* v2.1.1 — Tablet footer coordination.
   Keep the newsletter copy and controls on separate rows, then keep the
   controls themselves on one balanced line. Mobile remains fully stacked. */
@media (min-width: 768px) and (max-width: 1180px) {
  footer .max-w-7xl.py-10 {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 24px !important;
  }
  footer .max-w-7xl.py-10 form {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    width: 100% !important;
  }
  footer .max-w-7xl.py-10 form input[type="email"],
  footer .max-w-7xl.py-10 form input[aria-label="Email address"] {
    flex: 1 1 260px !important;
    width: auto !important;
    min-width: 220px !important;
  }
  footer .max-w-7xl.py-10 form button,
  footer .max-w-7xl.py-10 form a {
    flex: 0 0 auto !important;
    width: auto !important;
  }
  footer .max-w-7xl.py-10 form .cha-newsletter-status {
    flex: 1 0 100% !important;
    width: 100% !important;
  }
}
