/* Loaded after feature styles: mobile reflow and touch ergonomics. */
.user-menu .user-chip .user-menu-chevron { display: block; flex-shrink: 0; }
@media (max-width: 760px) {
  .topbar {
    padding-top: max(8px, env(safe-area-inset-top));
    padding-right: max(12px, env(safe-area-inset-right));
    padding-left: max(12px, env(safe-area-inset-left));
    padding-bottom: 0;
    gap: 5px 8px;
  }

  .topbar .brand { min-width: 0; flex: 0 1 auto; }
  .topbar .topbar-actions {
    width: auto;
    min-width: 0;
    flex: 0 0 auto;
    flex-wrap: nowrap;
    justify-content: flex-end;
    margin-left: auto;
  }
  .topbar .global-nav {
    flex-basis: 100%;
    width: 100%;
    margin-inline: 0;
    padding-inline: 0;
    flex-wrap: wrap;
    overflow: visible;
  }
  .global-nav-link { min-height: 44px; white-space: normal; }
  .user-menu .user-chip { min-width: 58px; min-height: 44px; }
  .user-menu .user-chip .user-menu-chevron { display: block; flex: 0 0 9px; width: 9px; height: 9px; border-width: 2px; border-color: #fff; }
  .project-nav { flex-wrap: wrap; }
  .project-nav-link { min-width: 0; flex: 1 1 auto; min-height: 44px; }
  .user-menu-panel {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    width: min(270px, calc(100vw - 24px));
    max-height: calc(100dvh - 100px - env(safe-area-inset-top));
    overflow-y: auto;
  }
  .user-menu-identity strong, .user-menu-identity span {
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .user-menu-link, .user-menu-logout-button { min-height: 44px; }

  .quick-intake-heading {
    width: 100%;
    padding-inline: max(16px, env(safe-area-inset-left));
    background: linear-gradient(120deg, var(--navy-deep), var(--navy));
    min-height: 0;
    padding-block: 24px;
    gap: 14px;
  }
  .quick-intake-section { background: var(--bg); }
  .quick-intake-form { margin-top: 16px; }
  .quick-intake-heading h1 { font-size: clamp(1.75rem, 7.6vw, 2.3rem); line-height: 1.12; }
  .quick-intake-heading > p { margin: 0; font-size: .875rem; line-height: 1.5; }
  .quick-intake-heading .eyebrow { letter-spacing: .08em; line-height: 1.5; overflow-wrap: anywhere; }
  .quick-step-heading > div { min-width: 0; }
  .quick-step-heading h2 { font-size: 1.25rem; line-height: 1.25; }
  .dropzone.quick-dropzone, .dropzone.unified-dropzone {
    height: auto;
    min-height: 0;
    padding: 20px 14px;
    gap: 12px;
  }
  .unified-dropzone > strong { font-size: 1rem; line-height: 1.4; margin: 0; }
  .unified-dropzone > p { margin: 0; font-size: .875rem; line-height: 1.45; }
  .unified-dropzone > .upload-desktop-hint { display: none; }
  .unified-dropzone > small {
    max-width: 100%;
    margin: 0;
    font-size: .75rem;
    line-height: 1.5;
    letter-spacing: 0;
    overflow-wrap: anywhere;
  }
  .file-picker-button { min-width: 0; min-height: 44px; max-width: 100%; margin: 0; white-space: normal; }
  .file-item { grid-template-columns: 28px minmax(0, 1fr) auto 44px; gap: 6px; }
  .file-item > div, .file-item strong, .file-item small { min-width: 0; overflow-wrap: anywhere; }

  .settings-card, .settings-form, .settings-grid,
  .settings-choice-group, .email-confirmation, .digest-settings,
  .notification-timing, .settings-form .field { min-width: 0; max-width: 100%; }
  .settings-form fieldset { min-inline-size: 0; }
  .settings-form legend { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
  .settings-card-heading > div { min-width: 0; }
  .settings-card-number { flex-shrink: 0; }
  .settings-grid.two, .settings-grid.three { grid-template-columns: minmax(0, 1fr); }
  .settings-grid.three .field:last-child { grid-column: auto; }
  .settings-section-nav a { display: flex; align-items: center; justify-content: center; min-height: 44px; }
  .setting-toggle { min-height: 44px; }

  /* Native date/time controls otherwise retain a wide intrinsic size on Safari. */
  input[type="time"], input[type="date"], input[type="datetime-local"] {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    min-inline-size: 0;
    -webkit-appearance: none;
    appearance: none;
  }
  input::-webkit-date-and-time-value { min-width: 0; text-align: left; }

  /* Keep editable text at Safari's no-zoom size, without resizing hidden controls. */
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),
  textarea, select, .field input, .field select, .speaker-card select,
  .task-filters input, .task-filters select {
    min-width: 0;
    max-width: 100%;
    font-size: 16px;
  }
  textarea { resize: vertical; }
  .field input, .field select, .speaker-card select,
  .task-filters input, .task-filters select { height: auto; min-height: 46px; padding-block: 10px; }

  dialog { min-width: 0; max-width: calc(100% - 16px); max-height: calc(100dvh - 24px); }
  .task-create-shell, .task-share-shell, .meeting-details-dialog > form { min-width: 0; }
  .task-create-heading > div, .task-share-heading > div,
  .task-create-form, .task-share-form, .task-project-create,
  .meeting-details-fields, .meeting-processing-context,
  .meeting-participant-card, .participant-review-card, .participant-picker,
  .task-inline-editor, .task-row > *, .task-share-recipient > * { min-width: 0; }
  .task-create-form, .task-project-create, .meeting-processing-context,
  .meeting-participant-links { grid-template-columns: minmax(0, 1fr); }
  .task-create-form > *, .task-project-create > * { grid-column: 1; }
  .task-create-heading h2, .task-share-heading h2, .meeting-details-dialog header h2 {
    overflow-wrap: anywhere;
  }
  .primary-button, .secondary-button, .secondary-button.compact,
  .danger-button, .download-link, .text-button, .inline-link,
  .audio-delete-button, .task-pagination a, .icon-button,
  .participant-review-card button, .task-share-dialog button {
    min-height: 44px;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .icon-button, .task-pagination a { min-width: 44px; }
  .primary-button, .secondary-button, .danger-button, .download-link { padding-block: 10px; }
  .button-row, .task-row-actions, .task-share-actions { flex-wrap: wrap; }
  .task-filters, .task-inline-editor { grid-template-columns: minmax(0, 1fr); }
  .task-filters > *, .task-inline-editor > * { grid-column: 1; }
  .task-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .task-summary, .task-inline-editor, .task-row-message, .task-conflict, .task-history { grid-column: 1 / -1; }
  .task-dates { flex-wrap: wrap; }
  .decision-row { grid-template-columns: 28px minmax(0, 1fr) 44px; }
  .topic-top { grid-template-columns: minmax(0, 1fr) 44px; }
  .topic-top input { min-width: 0; grid-column: 1; }
  .topic-top .icon-button { grid-column: 2; grid-row: 1; }
  .task-share-search > div { grid-template-columns: minmax(0, 1fr) auto; }
  .task-share-results strong, .task-share-active strong { overflow-wrap: anywhere; }
  .review-tabs button { height: auto; min-height: 44px; white-space: normal; }
  .toast { right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); max-width: calc(100% - 24px); }
}

@media (pointer: coarse) {
  .unified-dropzone > .upload-desktop-hint { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

@media (max-width: 420px) {
  .task-row { grid-template-columns: minmax(0, 1fr); }
  .task-row > * { grid-column: 1; }
  .file-item { grid-template-columns: 28px minmax(0, 1fr) 44px; }
  .file-item > small { grid-column: 2; }
  .file-item > button { grid-column: 3; grid-row: 1 / span 2; }
  .time-pair { grid-template-columns: minmax(0, 1fr); }
  .task-share-search > div { grid-template-columns: minmax(0, 1fr); }
}
