/* Final reading and touch layer for the four full demos, in both languages.
   Calendar appointment geometry and receipt/document print layouts stay intact. */

/* Shared navigation and local-session controls. */
.ds-header { font-size: 13px; }
.ds-home { font-size: 12px; }
.ds-nav a, .ds-contact, .ds-menu { min-height: 44px; font-size: 13px; }
.ds-nav a, .ds-contact { display: inline-flex; align-items: center; justify-content: center; }
.ds-menu { min-width: 44px; }
.ds-motion { width: 44px; height: 44px; }
.ds-return, .ds-return > span, .ds-notice { font-size: 12px; line-height: 1.65; }
.ds-return a { min-height: 44px; display: inline-flex; align-items: center; }
body .sc-strip { font-size: 12px; }
body .sc-strip .sc-strip-actions { gap: 8px 14px !important; }
body .sc-strip .sc-strip-actions .sc-button {
  min-height: 44px;
  font-size: 13px !important;
  line-height: 1.4 !important;
  padding: 9px 7px !important;
}
body .ds-search-field .ds-search-clear { width: 44px; height: 44px; min-height: 44px; }
body .ds-search-meta { font-size: 12px; line-height: 1.6; }
body .ds-search-empty button { min-height: 44px; }
body .scw-inbox-bar.ds-search-surface .scw-pills button { min-height: 44px; font-size: 12px; }

/* Website: the task and the explanation around the simulated screens. */
body.ws-studio .sc-kicker, .ws-stage-label,
body.ws-studio .scw-role, body.ws-studio .scw-role > em { font-size: 12px; line-height: 1.5; }
body.ws-studio .scw-intro .scw-lead { font-size: 16px; line-height: 1.7; }
body.ws-studio .scw-guide, .wt-header p { font-size: 14px; line-height: 1.7; }
.ws-intro-actions > p { font-size: 12px; line-height: 1.7; max-width: none; }
.ws-intro-actions .ws-start, .ws-intro-actions .ws-secondary {
  min-height: 48px; font-size: 14px; line-height: 1.5;
}
.wt-header > div, .wt-header > div > span, .wt-planner-head > span,
.wt-label, .wt-label small, .wt-hint, .wt-result-label,
.wt-result dt, .wt-result > p, .wt-saved-plan small { font-size: 12px; line-height: 1.65; }
.wt-planner-head > p, .wt-reviewed, .wt-status, .wt-error,
.wt-result dl, .wt-saved-plan p { font-size: 14px; line-height: 1.65; }
.wt-planner select, .wt-planner textarea { font-size: 16px; min-height: 48px; }
.wt-planner textarea { min-height: 104px; }
.wt-header button, .wt-result > button, .wt-result > a,
body.ws-studio .scw-record-actions .sc-button { min-height: 44px; font-size: 13px; line-height: 1.5; }
/* The intro's mobile 205px horizontal flex-basis must not become form height. */
.wt-planner .ws-start {
  flex: 0 0 auto;
  width: 100%; height: auto; min-height: 48px;
  font-size: 14px; line-height: 1.5;
}
.wt-reviewed { min-height: 44px; padding-block: 8px; box-sizing: border-box; }
body.ws-studio .scw-record-ref, body.ws-studio .scw-record-cols dt,
body.ws-studio .scw-status, body.ws-studio .scw-zone,
body.ws-studio .scw-desk-user, body.ws-studio .scw-desk-user small,
body.ws-studio .scw-kpi span, body.ws-studio .scw-kpi small { font-size: 12px; line-height: 1.5; }
body.ws-studio .scw-record-cols dd, body.ws-studio .scw-record p,
body.ws-studio .scw-message { font-size: 14px; line-height: 1.65; }
body.ws-studio .scw-table { font-size: 13px; }
body.ws-studio .scw-table th, body.ws-studio .scw-cell-name small { font-size: 12px; }
body.ws-studio .scw-cell-name strong, body.ws-studio .scw-ref-btn { font-size: 13px; }

/* Bookkeeping: task instructions and review decisions have reading priority. */
body.bh-task-mode .bh-lead { font-size: 16px !important; line-height: 1.7 !important; }
.bh-studio-page .bh-purpose { font-size: 14px; line-height: 1.7; }
.bh-studio-page .bh-studio-context, .bh-task-mode .bh-studio-context,
.bht-bar, .bht-progress li, .bht-caption, .bht-paper-head span,
.bht-paper dt, .bht-paper > small, .bht-result dt, .bht-result .bht-small {
  font-size: 12px !important; line-height: 1.6;
}
.bht-source-note, .bht-prompt p, .bht-result p, .bht-result dd,
.bht-challenges button span, .bht-status, .bht-open-note,
.bht-allocation-note, .bht-contact p { font-size: 14px; line-height: 1.7; }
.bht-paper dd { font-size: 13px; line-height: 1.6; }
.bh-task-mode .bht-workspace .bh-booking,
.bh-task-mode .bht-workspace .bh-hints { font-size: 14px !important; line-height: 1.7; }
.bht-explore, .bht-text-button, .bht-contact > a, .bht-booking-details summary {
  min-height: 44px; font-size: 13px; line-height: 1.5;
}
body.bh-studio-page .sc-button, body.bh-studio-page button.sc-button,
body.bh-studio-page button.sc-button.is-small,
.bh-task-mode .bht-workspace .bh-actions .sc-button,
body.bh-studio-page .bh-path .sc-button { min-height: 44px; font-size: 13px; }
.bh-studio-page .bh-nav a, body.bh-studio-page .bh-nav-cmd { min-height: 44px; font-size: 13px; }
.bh-studio-page .bh-field label, .bh-studio-page .bh-field > span,
.bh-studio-page .bh-receipt-meta, .bh-studio-page .bh-receipt-meta small,
.bh-studio-page .bh-inbox-facts, .bh-studio-page .bh-kpis .sc-kpi > span,
.bh-studio-page .bh-kpis .sc-kpi > small, .bh-studio-page .bh-table th,
.bh-studio-page .bh-table td small { font-size: 12px; line-height: 1.6; }
.bh-studio-page .bh-table, .bh-studio-page .bh-booked,
.bh-studio-page .bh-booked li { font-size: 13px; line-height: 1.6; }

/* Agenda: enlarge navigation and explanations, not time-based grid cells. */
.agenda-studio .agenda-intro,
.agenda-studio[data-agenda-task=true] .agenda-masthead .agenda-intro {
  font-size: 16px; line-height: 1.7; max-width: 680px;
}
.agenda-studio .agenda-eyebrow,
.agenda-studio[data-agenda-task=true] .agenda-eyebrow,
.agenda-context, .agenda-studio[data-agenda-task=true] .agenda-context > p,
.agenda-calendar-top p, .agenda-call small, .agenda-calendar-foot,
.agenda-section-heading p, .agenda-disclosure, .agenda-disclosure > a {
  font-size: 12px; line-height: 1.65;
}
.agenda-context button, .agenda-studio .ag-task-full,
.agenda-entry-actions a, .ag-task-transfer a, .agenda-client-tabs button {
  min-height: 44px; font-size: 13px; line-height: 1.5;
}
.agenda-context > div { flex-wrap: wrap; }
.agenda-navigation button { font-size: 13px; min-height: 44px; }
.agenda-studio[data-showcase=agenda] .ag-iconbtn {
  width: 44px; height: 44px; min-width: 44px; min-height: 44px;
}
.agenda-studio[data-showcase=agenda] .ag-iconbtn.is-text,
.agenda-studio[data-showcase=agenda] .ag-seg button { min-height: 44px; font-size: 13px; }
.agenda-studio[data-showcase=agenda] .ag-toolbar-actions { flex-wrap: wrap; }
.agenda-studio[data-showcase=agenda] .sc-button,
.agenda-studio[data-showcase=agenda] .sc-button.is-small,
.agenda-studio[data-showcase=agenda] .ag-toolbar-actions > .sc-button {
  min-height: 44px; font-size: 13px; line-height: 1.5;
}
.agenda-studio .sc-close { width: 44px; height: 44px; }
.agenda-studio .sc-field > span, .ag-patient-search-label,
.ag-person-contact, .ag-person-wait, .ag-person-next > span,
.ag-person-next > strong, .ag-person-next > small, .ag-patient-note,
.agenda-studio .ag-person-open, .agenda-studio .sc-guide-roles dt,
.agenda-studio .sc-guide-count, .agenda-studio .sc-table th { font-size: 12px; line-height: 1.6; }
.agenda-studio .ag-dl, .agenda-studio .ag-log li,
.agenda-studio .sc-guide-roles dd, .agenda-channel-label p { font-size: 14px; line-height: 1.65; }
.agenda-studio .sc-field input, .agenda-studio .sc-field select,
.agenda-studio .sc-field textarea { font-size: 16px; min-height: 44px; }
.ag-task-head ol, .ag-task-day-top, .ag-task-time, .ag-task-slot small,
.ag-task-day-foot, .ag-task-candidates legend, .ag-task-candidate strong small,
.ag-task-candidate > span > span, .ag-task-story > .ag-task-small,
.ag-task-note { font-size: 12px; line-height: 1.65; }
.ag-task-story > p, .ag-task-slot > span, .ag-task-slot p,
.ag-task-candidate, .ag-task-candidate strong, .ag-task-facts,
.ag-task-status { font-size: 14px; line-height: 1.65; }
.agenda-studio .ag-task-primary { font-size: 14px; min-height: 48px; }
.agenda-studio .ag-task-full { max-width: none; }

/* Portal: documents are reading surfaces; metadata remains subordinate. */
.portal-explain > p:first-child { font-size: 16px; line-height: 1.7; }
.portal-eyebrow, .portal-note, .portal-toolbar > label, .portal-history-controls,
.portal-project-line p, .portal-tabs span, .portal-filterbar label,
.portal-filterbar > p, .portal-document-link small,
.portal-document-link .portal-badge, .portal-badge, .portal-document-meta,
.portal-paper-note, .portal-field-note, .portal-document-comments article header,
.portal-document-comments time, .portal-message time, .portal-activity-list time {
  font-size: 12px; line-height: 1.65;
}
.portal-document-summary, .portal-paper, .portal-review ul,
.portal-reviewed, .portal-feedback label, .portal-error, .portal-decision p,
.portal-document-comments p, .portal-message > p, .portal-view-intro p,
.portal-empty-state span, #portal-empty, .portal-status {
  font-size: 14px; line-height: 1.7;
}
.portal-paper-section h4, .portal-paper-section h5 { font-size: 13px; line-height: 1.5; }
.portal-tabs button { font-size: 13px; min-height: 48px; }
.portal-toolbar select, .portal-filterbar select { min-height: 44px; font-size: 14px; }
.portal-history-controls button, .portal-actions button,
.portal-actions .portal-primary, .portal-message button,
.portal-activity-list button, .portal-dialog-actions button {
  min-height: 44px; font-size: 13px; line-height: 1.5;
}
.portal-reviewed { min-height: 44px; padding-block: 8px; }
.portal-feedback textarea { font-size: 16px; min-height: 112px; }

@media (max-width: 650px) {
  .ws-intro-actions .ws-start, .ws-intro-actions .ws-secondary { flex-basis: auto; }
  .wt-header > div { flex-wrap: wrap; gap: 6px 20px; }
  .bht-bar { align-items: flex-start; flex-wrap: wrap; gap: 6px 18px; }
  .bht-progress { gap: 12px; }
  .ag-task-head { flex-wrap: wrap; gap: 10px 20px; }
  .ag-task-head ol { flex-wrap: wrap; gap: 14px 30px; }
  .agenda-context > div { gap: 6px 16px; }
  .agenda-studio[data-showcase=agenda] .ag-toolbar-nav { flex-wrap: wrap; }
  .agenda-studio[data-showcase=agenda] .ag-toolbar-controls { min-width: 0; flex-wrap: wrap; }
  .portal-tabs { gap: 20px; }
  .portal-document-link strong { font-size: 16px; }
}

@media print {
  .ds-motion { display: none !important; }
}
