/* UI-01–UI-09: readable working text; original brand assets and palette remain. */
.page .field-help, .page .small, .page .card-head p,
.page .cell-copy span, .page .template-table code,
.page .alert-copy span, .page .choice-card span,
.page .upload-zone span, .page .compact-upload small,
.page .template-examples-head p, .page .field-label-row > span:last-child,
.page .review-summary span, .page .review-summary small,
.page .mapping-source small, .page .mapping-help span,
.page .deployment-config-grid span, .page .deployment-config-grid strong,
.page .deployment-config-head span, .page .setup-checklist small,
.page .health-card span, .page .advanced-card p, .page .advanced-note p,
.page .advanced-help p, .page .progress-copy, .page .step-item,
.page .phone-label, .page .selection-help,
.page .template-example-value span, .page .template-empty-note,
.page .confirmation-check small, .page .approval-box span,
.page .message-format-toolbar > span, .page .mapping-labels,
.page .deployment-step-head p, .page .deployment-link-row a {
  font-size: 13px;
  line-height: 1.55;
}
.page .field label, .page .field-label, .page .check-row,
.page .cell-copy strong, .page .alert-copy strong,
.page .choice-card strong, .page .upload-zone strong,
.page .setup-checklist strong, .page .health-card strong,
.page .template-definition-text, .page .template-example-value strong,
.page .confirmation-check strong { font-size: 14px; line-height: 1.55; }
.page .status { font-size: 12px; line-height: 1.5; white-space: normal; }
.page .data-table th { font-size: 12px; line-height: 1.5; }
.page .data-table td { font-size: 14px; line-height: 1.55; }
.page .control { font-size: 14px; }
.page .field-label-row, .page .phone-label { flex-wrap: wrap; gap: 6px 12px; }
.page .step-item { white-space: normal; }
.page .step-item b { flex-shrink: 0; font-size: 12px; }
.page .alert-copy, .page .field, .page .phone-wrap { min-width: 0; }
.page .control:focus-visible { outline: 3px solid var(--brand-coral); outline-offset: 3px; }
.page .template-review-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
.page .template-review-summary > div { min-width: 0; overflow-wrap: anywhere; }
.page .deployment-link-row { flex-wrap: wrap; }

/* Proofreading stays at normal zoom, including saved footer and button labels. */
.page .phone { width: 100%; max-width: 380px; }
.page .phone-wrap { position: static; }
.page .phone-top { height: auto; min-height: 62px; }
.page .phone-top strong { font-size: 14px; }
.page .phone-top span { font-size: 12px; }
.page .phone .message-bubble { width: 100%; }
.page .message-copy { font-size: 14px; line-height: 1.6; padding: 12px; }
.page .message-copy small { font-size: 13px; line-height: 1.55; color: #475b4e; overflow-wrap: anywhere; }
.page .message-copy time { font-size: 12px; color: #475b4e; }
.page .message-button { font-size: 14px; line-height: 1.5; color: var(--brand-navy); padding: 12px; overflow-wrap: anywhere; }

/* Reports: one high-contrast secondary color, including table metadata. */
.jr-page .jr-heading p, .jr-page .jr-filters label,
.jr-page .jr-definition span, .jr-page .jr-definition small,
.jr-page .jr-metric > small, .jr-page .jr-card-head p,
.jr-page .jr-card-head > span, .jr-page .jr-table th,
.jr-page .jr-table small, .jr-page .jr-footnote,
.jr-page .jr-empty, .jr-page .jr-handover > span, .jr-page .jr-handover p {
  color: #536174;
  font-size: 13px;
  line-height: 1.6;
}
.jr-page .jr-metric > span, .jr-page .jr-pill,
.jr-page .jr-context, .jr-page .jr-bars > div,
.jr-page .jr-bars small { font-size: 12px; line-height: 1.5; }
.jr-page .jr-performance p { font-size: 13px; }
.jr-page .jr-bars > div { grid-template-columns: 76px minmax(0,1fr) 44px 46px; }
.jr-page .jr-table .jr-issue { color: #a52b40; }
.jr-page .jr-context > span { overflow-wrap: anywhere; }
.jr-page .jr-filters { flex: 1; min-width: 0; }
.report-sender-filter { flex: 1 1 250px; min-width: 0; }
.jr-filters .report-sender-filter .control { width: 100%; max-width: none; }
.filter-context { margin: 0 0 20px; color: var(--muted); font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.template-report-filters label { display: grid; gap: 6px; color: var(--muted); font-size: 13px; min-width: 0; }
.template-report-filters label .control { width: 100%; }
.template-report-filters .btn { align-self: end; }

/* Inbox metadata remains readable without changing conversation contents. */
.page .thread-top time, .page .thread-tag, .page .inbox-count,
.page .inbox-retention, .page .conversation-meta,
.page .message-meta, .page .contact-detail-section h3 { font-size: 12px; line-height: 1.5; }
.page .conversation-journey small, .page .journey-state-note,
.page .conversation-journey p:not(.conversation-journey-reason) { font-size: 12px; line-height: 1.5; }
.page .thread-top strong { font-size: 14px; }
.page .thread-snippet { font-size: 13px; line-height: 1.5; }
.page .inbox-filters .control { font-size: 14px; min-height: 40px; }
.reply-details { margin-top: 10px; font-size: 12px; line-height: 1.5; }
.reply-details summary { cursor: pointer; width: fit-content; padding: 6px 0; }
.reply-details code { display: block; margin-top: 6px; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 12px; }

/* Retain saved canvas geometry. The settings dialog exposes full step details. */
#journey-builder { --jb-muted: #536174; }
#journey-builder .jb-primary,
#journey-builder .jb-primary:hover,
#journey-builder .jb-primary:focus-visible,
#journey-builder .jb-canvas-bar .jb-primary { color: #fff; background: var(--jb-navy); border-color: var(--jb-navy); }
#journey-builder .jb-primary:hover { box-shadow: inset 0 -3px var(--jb-coral); }
#journey-builder .jb-tools button,
#journey-builder .jb-canvas-bar button { font-size: 13px; min-height: 38px; }
#journey-builder .jb-node-head strong { font-size: 13px; line-height: 1.3; }
#journey-builder .jb-node-head small { font-size: 12px; line-height: 1.15; letter-spacing: 0; text-transform: none; }
#journey-builder .jb-node-foot > span,
#journey-builder .jb-node-edit { font-size: 12px; line-height: 1.3; }
#journey-builder .jb-node-edit { min-height: 26px; }
#journey-builder .jb-node-more { min-height: 26px; min-width: 24px; }
#journey-builder .jb-title span, #journey-builder .jb-overline,
#journey-builder .jb-footer, #journey-builder .jb-field small { font-size: 13px; line-height: 1.55; }
#journey-builder .jb-field > span, #journey-builder .jb-field > label,
#journey-builder .jb-template-preview { font-size: 14px; line-height: 1.6; }
#journey-builder .jb-field input, #journey-builder .jb-field select,
#journey-builder .jb-field textarea { font-size: 14px; }
#journey-builder .jb-selection-detail { display: block; overflow-wrap: anywhere; white-space: normal; }

@media (max-width: 900px) {
  #journey-builder .jb-tools { justify-content: flex-start; gap: 8px; }
  #journey-builder .jb-tools button, #journey-builder .jb-canvas-bar button,
  #journey-builder .jb-footer button, #journey-builder .jb-settings-actions button,
  #journey-builder .jb-node-ports button, #journey-builder .jb-node-edit,
  #journey-builder .jb-dialog-head button, #journey-builder #jb-close-settings,
  #journey-builder .jb-node-more { min-height: 44px; min-width: 44px; font-size: 14px; }
  #journey-builder .jb-node-more { font-size: 20px; }
  #journey-builder .jb-tools #jb-review { flex: 1 1 180px; }
  #journey-builder .jb-canvas-bar > .jb-canvas-actions { flex-wrap: wrap; gap: 8px; }
  #journey-builder .jb-node-head { min-height: 76px; height: auto; padding-right: 52px; }
  #journey-builder .jb-node-head strong { display: block; font-size: 15px; }
  #journey-builder .jb-node-head small { white-space: normal; line-height: 1.4; }
  #journey-builder .jb-node-foot { height: auto; min-height: 56px; }
  #journey-builder .jb-node-foot > span { white-space: normal; overflow-wrap: anywhere; }
  #journey-builder .jb-field input, #journey-builder .jb-field select,
  #journey-builder .jb-field textarea, #journey-builder .jb-title input,
  #journey-builder .jb-preview-controls input { font-size: 16px; }
}

@media (max-width: 700px) {
  .mobile-app-ready .page .template-review-summary { grid-template-columns: minmax(0,1fr); }
  html.mobile-app-ready { scroll-padding-bottom: calc(96px + env(safe-area-inset-bottom)); }
  .mobile-app-ready .campaign-journey-actions .btn { scroll-margin-block: 12px; }
  .mobile-app-ready .campaign-journey-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; align-items: stretch; }
  .mobile-app-ready .campaign-journey-actions > :first-child { grid-column: 1 / -1; }
  .mobile-app-ready .campaign-journey-actions > .btn,
  .mobile-app-ready .campaign-journey-actions > form { min-width: 0; width: 100%; }
  .mobile-app-ready .campaign-journey-actions .btn { width: 100%; padding-inline: 10px; white-space: nowrap; overflow-wrap: normal; word-break: normal; }
  .mobile-app-ready .mobile-records td::before { font-size: 12px; line-height: 1.5; }
  .mobile-app-ready .mobile-list-card .status,
  .mobile-app-ready .mobile-filter-scope, .mobile-app-ready .mobile-field-label,
  .mobile-app-ready .mobile-contact-status { font-size: 12px; }
  .mobile-app-ready .mobile-bottom-nav > a[aria-current] { color: var(--brand-navy); }
  .mobile-app-ready .mobile-bottom-nav > a[aria-current] > span:first-child { color: var(--brand-coral); }
  .mobile-app-ready .page .control,
  .mobile-app-ready .page .inbox-filters .control { font-size: 16px; }
  .mobile-app-ready .jr-filters { display: grid; grid-template-columns: minmax(0,1fr); width: 100%; }
  .mobile-app-ready .jr-filters > *,
  .mobile-app-ready .template-report-filters .report-sender-filter { grid-column: 1 / -1; }
  .mobile-app-ready .template-report-filters { align-items: end; }
  .mobile-app-ready .template-report-filters label .control { min-width: 0; }
  .mobile-app-ready .template-report-filters .btn { grid-column: 1 / -1; }
  .mobile-app-ready .template-report-filters .report-template-filter { grid-column: 1 / -1; }
  .mobile-app-ready .jr-page .jr-bars > div { grid-template-columns: 65px minmax(0,1fr) 30px 43px; gap: 6px; }
  .mobile-app-ready .page .message-format-toolbar button,
  .mobile-app-ready .page .message-emoji-picker summary { min-height: 44px; min-width: 44px; }
  .mobile-app-ready .page .phone { padding: 5px; border-width: 5px; }
  .mobile-app-ready .page .phone-chat { padding: 14px 9px; }
  .mobile-app-ready .reply-details summary { min-height: 44px; display: flex; align-items: center; }
}
