/* Phone workspaces keep the desktop data and interaction model. The app shell
   owns the navigation inset; calendar grids alone keep horizontal scrolling. */
.business-mobile-only { display: none; }
@media (max-width: 760px) {
  body.pro-mode .dashboard-shell .dashboard-content .business-workspace-page {
    gap: 12px; font-size: 14px; min-width: 0; scroll-margin-bottom: calc(var(--mobile-nav-height,72px) + 16px);
  }
  body.pro-mode .dashboard-shell .dashboard-content :is(.business-page-header,.business-page-title-row) { gap: 8px; min-width: 0; }
  body.pro-mode .dashboard-shell .dashboard-content .business-page-header { padding: 0; min-height: 44px; align-items: center; }
  body.pro-mode .dashboard-shell .dashboard-content .business-page-header h2 { font-size: 22px; line-height: 1.2; letter-spacing: -.035em; }
  body.pro-mode .dashboard-shell .dashboard-content .business-page-description { margin: 3px 0 0; font-size: 12px; line-height: 1.45; }
  body.pro-mode .dashboard-shell .dashboard-content .business-header-actions { display: flex; flex-wrap: wrap; gap: 8px; min-width: 0; width: 100%; }
  body.pro-mode .dashboard-shell .dashboard-content .business-header-actions > :is(button,a,.prelook-select) { flex: 1 1 auto; min-width: 0; }
  body.pro-mode .dashboard-shell .dashboard-content :is(.business-panel,.business-settings-card,.business-language-settings-card) { min-width: 0; padding: 12px; border-radius: 14px; box-shadow: none; }
  body.pro-mode :is(.business-workspace-page,.business-team-drawer,.business-modal,.business-service-inspector) :is(.solid-button,.outline-button,.ghost-button,.icon-button,.prelook-select-trigger,.business-manual-service-trigger) {
    min-height: 44px; font-size: 13px; line-height: 1.35; border-radius: 10px; touch-action: manipulation;
  }
  body.pro-mode :is(.business-workspace-page,.business-team-drawer,.business-modal) .icon-button { min-width: 44px; width: 44px; height: 44px; flex-shrink: 0; }
  body.pro-mode :is(.business-workspace-page,.business-team-drawer,.business-modal,.business-service-inspector) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=hidden]):not([type=file]),textarea,select,.prelook-select-trigger) {
    font-size: 16px !important; min-width: 0; scroll-margin-block: 72px;
  }
  body.pro-mode :is(.business-workspace-page,.business-team-drawer,.business-modal) :is(input,textarea,select):not(.prelook-native-select) { max-width: 100%; }
  body.pro-mode .dashboard-shell .dashboard-content :is(.business-filter-row,.business-page-tabs,.business-service-filter-chips,.business-bookings-stylist-chips) { flex-wrap: wrap; max-width: 100%; overflow: visible; gap: 6px; }
  body.pro-mode .dashboard-shell .dashboard-content :is(.business-filter-row,.business-page-tabs) > button { min-height: 44px; padding: 8px 11px; white-space: normal; font-size: 12px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-empty { min-height: 130px; padding: 24px 16px; gap: 8px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-empty > :is(span,i) { width: 42px; height: 42px; margin: 0; }
  body.pro-mode .dashboard-shell .dashboard-content .business-empty h3 { font-size: 16px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-empty p { font-size: 13px; line-height: 1.5; }

  /* A glanceable day: figures stay legible without displacing the work list. */
  body.pro-mode .dashboard-shell .dashboard-content .business-today-hero { gap: 10px; }
  body.pro-mode .dashboard-shell .dashboard-content .pro-today-heading h2 { font-size: 23px; line-height: 1.2; }
  body.pro-mode .dashboard-shell .dashboard-content .pro-today-heading > p:last-child { font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
  body.pro-mode .dashboard-shell .dashboard-content .pro-today-tools { gap: 8px; }
  body.pro-mode .dashboard-shell .dashboard-content .pro-today-search { min-height: 44px; font-size: 13px; }
  body.pro-mode .dashboard-shell .dashboard-content .pro-today-notifications { width: 44px; height: 44px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-open-hours { padding: 6px 10px; gap: 8px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-open-hours > .pro-section-icon { display: none; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-open-hours > div { flex: 1; padding: 0; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-metrics { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-metric { display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto; min-height: 76px; gap: 3px 6px; padding: 10px 12px; border-radius: 12px; box-shadow: none; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-metric .pro-metric-icon { display: none; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-metric > span { grid-column: 1 / -1; font-size: 11px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-metric > strong { grid-column: 1; font-size: 22px; line-height: 1.15; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-metric > small { grid-column: 1 / -1; font-size: 10px; line-height: 1.35; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-metric:last-child:nth-child(odd) { grid-column: 1 / -1; min-height: 48px; grid-template-columns: 1fr auto; grid-template-rows: auto auto; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-metric:last-child:nth-child(odd) > span { grid-column: 1; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-metric:last-child:nth-child(odd) > strong { grid-column: 2; grid-row: 1 / 3; align-self: center; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-metric:last-child:nth-child(odd) > small { grid-column: 1; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-page .business-panel { padding: 12px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-page .business-page-header h2 { font-size: 16px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-page .business-page-heading.has-section-icon { grid-template-columns: 28px minmax(0,1fr); gap: 6px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-page .pro-section-icon { width: 28px; height: 28px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-team-row { grid-template-columns: 32px minmax(0,1fr) 30px 44px; gap: 8px; min-height: 60px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-team-row > div strong { font-size: 13px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-team-row > div span { font-size: 11px; }
  body.pro-mode .dashboard-shell .dashboard-content .pro-today-empty { min-height: 100px; }
  body.pro-mode .dashboard-shell .dashboard-content .pro-today-update-counts { margin-left: 0; flex-wrap: wrap; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-booking { grid-template-columns: auto minmax(0,1fr); gap: 8px; padding: 12px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-booking > time { grid-row: span 2; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-booking :is(.business-status,.business-today-open-booking) { grid-column: 2; justify-self: start; }

  /* Consistent compact summaries across team, stock, payments and reporting. */
  body.pro-mode .dashboard-shell .dashboard-content :is(.business-operations-summary,.business-team-overview > .business-operations-summary) { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-operations-summary > article { min-height: 84px; padding: 12px; gap: 4px; border-radius: 12px; box-shadow: none; }
  body.pro-mode .dashboard-shell .dashboard-content .business-operations-summary > article > :is(.pro-section-icon,.pro-metric-icon) { display: none; }
  body.pro-mode .dashboard-shell .dashboard-content .business-operations-summary > article > strong { font-size: 22px; line-height: 1.2; }
  body.pro-mode .dashboard-shell .dashboard-content .business-operations-summary > article :is(span,small) { font-size: 11px; line-height: 1.4; }
  body.pro-mode .dashboard-shell .dashboard-content .business-team-grid { grid-template-columns: minmax(0,1fr); gap: 10px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-team-card { padding: 12px; gap: 12px; border-radius: 14px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-team-card > header { gap: 10px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-team-card h3 { font-size: 15px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-team-facts { gap: 6px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-team-facts > span { padding: 7px 0; font-size: 12px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-team-overview-filters { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; padding: 10px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-team-overview-filters > .business-filter-row { grid-column: 1 / -1; }
  body.pro-mode .dashboard-shell .dashboard-content :is(.business-role-workspace,.business-settings-grid,.business-settings-grid-continued,.business-inventory-product-grid,.business-review-grid) { grid-template-columns: minmax(0,1fr); gap: 12px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-role-selector { max-height: 220px; overflow-y: auto; }
  body.pro-mode .dashboard-shell .dashboard-content .business-selected-role-header { flex-wrap: wrap; gap: 8px; }

  /* Service cards use their actual content height; filter chips wrap. */
  body.pro-mode .dashboard-shell .dashboard-content .business-service-board-header.business-service-filter-toolbar { padding: 10px; gap: 8px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-service-filter-chips { display: flex; flex-wrap: wrap; }
  body.pro-mode .dashboard-shell .dashboard-content .business-service-category-group.is-detailed .business-service-visual-grid { grid-template-columns: minmax(0,1fr); grid-auto-rows: auto; gap: 6px; padding: 6px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-service-category-group.is-detailed .business-service-tile { min-height: 76px; padding: 10px; border-radius: 10px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-service-tile-title { font-size: 14px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-service-category-heading { min-height: 48px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-service-category-heading .business-category-menu { min-width: 44px; width: 44px; min-height: 44px; height: 44px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-review-filters { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding: 12px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-review-filters > label { min-width: 0; }
  body.pro-mode .dashboard-shell .dashboard-content .business-review-card { padding: 14px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-review-card :is(p,.business-review-comment) { font-size: 14px; line-height: 1.6; }
  body.pro-mode .dashboard-shell .dashboard-content .business-review-service-chips { flex-wrap: wrap; }

  /* Notifications read vertically, one event per row on the phone. */
  body.pro-mode .dashboard-shell .dashboard-content .business-notification-summary > button { min-height: 44px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-notification-category { padding: 12px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-notification-rail { display: grid; grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: minmax(0,1fr); gap: 8px; overflow: visible; }
  body.pro-mode .dashboard-shell .dashboard-content .business-notification-empty { min-height: 58px; padding: 16px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-notification-category .business-notification-row { min-height: 0; padding: 12px; gap: 8px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-notification-category .business-notification-row-copy { gap: 8px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-notification-category .business-notification-row-copy time { grid-column: 2; grid-row: 1; text-align: right; }
  body.pro-mode .dashboard-shell .dashboard-content .business-notification-category .business-notification-row-action { min-height: 36px; }

  /* Keep appointments on their measured calendar axes. */
  body.pro-mode .dashboard-shell .dashboard-content .business-bookings-page-header { text-align: left; align-items: stretch; }
  body.pro-mode .dashboard-shell .dashboard-content .business-bookings-title-row { justify-content: space-between; }
  body.pro-mode .dashboard-shell .dashboard-content .business-bookings-stylist-strip { max-width: 100%; }
  body.pro-mode .dashboard-shell .dashboard-content .business-bookings-stylist-chip { min-height: 44px; }
  body.pro-mode .dashboard-shell .dashboard-content :is(.business-calendar-toolbar,.business-calendar-controls) { gap: 8px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-calendar-period-button { min-width: 44px; min-height: 44px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-calendar-period-trigger { min-height: 44px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-calendar-view-switch > button { min-height: 44px; }

  /* Phone sheets retain the existing close guards, focus and autosave controllers. */
  body.pro-mode :is(.business-team-drawer-layer,.business-service-inspector-layer) { align-items: end; padding: 0; }
  body.pro-mode .business-team-drawer-layer .business-team-drawer,
  body.pro-mode .business-service-inspector-layer .business-service-inspector { width: 100%; max-width: 100%; height: calc(var(--mobile-viewport-height,100dvh) - max(8px,env(safe-area-inset-top,0px))); max-height: calc(var(--mobile-viewport-height,100dvh) - max(8px,env(safe-area-inset-top,0px))); margin: 0; border: 0; border-radius: 20px 20px 0 0; }
  body.pro-mode :is(.business-team-drawer-header,.business-service-inspector > form > .business-service-inspector-header) { padding: 12px 16px; gap: 8px; }
  body.pro-mode :is(.business-team-drawer-header h2,.business-service-inspector-header h3,.business-modal > header h2) { font-size: 20px; }
  body.pro-mode :is(.business-team-drawer-header p,.business-modal > header p) { margin-top: 3px; font-size: 12px; line-height: 1.4; }
  body.pro-mode .business-team-drawer-body { min-height: 0; overscroll-behavior-y: contain; }
  body.pro-mode .business-team-drawer-form { padding: 16px 16px 96px; }
  body.pro-mode :is(.business-service-inspector-body,.business-calendar-booking-drawer-content.is-refined) { gap: 12px; padding: 14px 16px 24px; }
  body.pro-mode :is(.business-modal,.business-team-drawer) .business-form-grid { grid-template-columns: minmax(0,1fr); gap: 14px; }
  body.pro-mode :is(.business-modal,.business-team-drawer) .business-field { gap: 6px; }
  body.pro-mode :is(.business-modal,.business-team-drawer) .business-field > :is(span,label) { font-size: 13px; }
  body.pro-mode .business-team-drawer .business-team-drawer-footer,
  body.pro-mode .business-service-inspector > form > .business-service-inspector-footer { gap: 8px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom,0px)); background: #fff; }
  body.pro-mode :is(.business-team-drawer-footer,.business-service-inspector-footer) > :is(button,a) { min-height: 46px; flex: 1; }
  body.pro-mode .business-modal-layer { align-items: end; padding: 8px; }
  body.pro-mode .business-modal { width: 100%; max-width: 100%; max-height: calc(var(--mobile-viewport-height,100dvh) - 16px); padding: 16px; border-radius: 18px; }
  body.pro-mode .business-modal > .business-modal-form > footer { margin-inline: -16px; margin-bottom: -16px; bottom: -16px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom,0px)); }
  body.pro-mode .business-manual-service-menu { max-height: min(300px,45dvh); overflow-y: auto; overscroll-behavior: contain; }
  body.pro-mode .business-manual-service-menu [role=option] { min-height: 48px; }
  body.pro-mode :is(.business-settings-card,.business-site-ops) :is(.business-form-grid,.business-settings-choice-list) { grid-template-columns: minmax(0,1fr); }
  body.pro-mode .dashboard-shell .dashboard-content .business-settings-card > header { gap: 10px; margin-bottom: 12px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-settings-choice { padding: 12px; min-width: 0; }
  body.pro-mode .dashboard-shell .dashboard-content .business-settings-policy-header { flex-wrap: wrap; gap: 8px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-site-ops :is(.builder-panel,.business-panel) { max-width: 100%; min-width: 0; }
}
@media (max-width: 360px) {
  body.pro-mode .dashboard-shell .dashboard-content .business-header-actions { gap: 6px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-header-actions > :is(button,a) { font-size: 12px; padding-inline: 10px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-page-title-row { flex-wrap: wrap; justify-content: flex-start; }
}
@media (max-width: 760px) and (prefers-reduced-motion: reduce) {
  body.pro-mode :is(.business-workspace-page,.business-team-drawer,.business-modal,.business-service-inspector) *,
  body.pro-mode :is(.business-workspace-page,.business-team-drawer,.business-modal,.business-service-inspector) *::before,
  body.pro-mode :is(.business-workspace-page,.business-team-drawer,.business-modal,.business-service-inspector) *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-delay: 0ms !important; transition-duration: .01ms !important; }
}
@media (max-width: 760px) {
  body.pro-mode .dashboard-shell .dashboard-content .business-workspace-page :is(.solid-button,.outline-button,.ghost-button,.icon-button,.business-team-list-switch > button,.business-bookings-view-tabs > button) { min-height: 44px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-workspace-page .icon-button { min-width: 44px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-metric { text-align: left; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-metric > :is(span,strong,small) { margin: 0; text-align: left; justify-self: start; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-page .business-page-header { display: flex; flex-wrap: wrap; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-page .business-header-actions { width: auto; margin-left: auto; }
  body.pro-mode .dashboard-shell .dashboard-content .business-metrics-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-metric-card { padding: 12px; min-height: 92px; gap: 4px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-metric-card .pro-metric-icon { display: none; }
  body.pro-mode .dashboard-shell .dashboard-content .business-metric-card > strong { font-size: 22px; line-height: 1.2; overflow-wrap: anywhere; }
  body.pro-mode .dashboard-shell .dashboard-content .business-metric-card :is(span,small) { font-size: 11px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-operations-summary > .pro-team-summary-card { display: grid; grid-template-columns: 1fr; min-height: 70px; padding: 10px 12px; gap: 4px; }
  body.pro-mode .dashboard-shell .dashboard-content .pro-team-summary-card .pro-metric-icon { display: none; }
  body.pro-mode .dashboard-shell .dashboard-content .pro-team-summary-card > strong { font-size: 22px; margin: 0; }
  body.pro-mode .dashboard-shell .dashboard-content .pro-team-summary-card > small { font-size: 11px; margin: 0; }
  body.pro-mode .dashboard-shell .dashboard-content .business-team-overview-filters { grid-template-columns: minmax(0,1fr); }
  body.pro-mode .dashboard-shell .dashboard-content .business-team-filter-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-team-list-switch { width: 100%; min-height: 48px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-service-catalog-filters > [role=group] { flex-wrap: wrap; overflow: visible; gap: 6px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-service-filter { flex: 1 1 140px; min-height: 44px; font-size: 12px; white-space: normal; }
  body.pro-mode .dashboard-shell .dashboard-content .business-service-category-group.is-detailed .business-service-tile { height: auto; min-height: 76px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-service-tile-copy > strong { font-size: 14px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-notification-category > header { display: flex; flex-wrap: wrap; align-items: center; }
  body.pro-mode .dashboard-shell .dashboard-content .business-notification-category-controls { width: auto; margin-left: auto; }
  body.pro-mode .dashboard-shell .dashboard-content .business-notification-scroll-controls { display: none; }

  /* Compact CRM keeps the measured 64px virtual rows and 48px sticky header.
     Full details stay in the existing drawer; every field filter has a sheet. */
  body.pro-mode .dashboard-shell .dashboard-content .business-crm-page-top { padding: 0; }
  body.pro-mode .dashboard-shell .dashboard-content .business-crm-toolbar { display: grid; grid-template-columns: minmax(0,1fr); gap: 8px; padding: 10px; }
  body.pro-mode .dashboard-shell .dashboard-content :is(.business-crm-toolbar-field,.business-crm-filter-control) { grid-template-rows: auto; gap: 6px; height: auto; min-height: 0; }
  body.pro-mode .dashboard-shell .dashboard-content .business-crm-search-control > span:first-child,
  body.pro-mode .dashboard-shell .dashboard-content .business-crm-stylist-filter > span:first-child,
  body.pro-mode .dashboard-shell .dashboard-content .business-crm-filter-control > span:first-child { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  body.pro-mode .dashboard-shell .dashboard-content .business-crm-toolbar .business-crm-customer-filters { display: flex; flex-wrap: wrap; height: auto; gap: 5px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-crm-customer-filters > button { flex: 1 1 auto; min-height: 44px; font-size: 11px; padding: 6px 8px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-crm-customer-filters > button > span { font-size: 10px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-crm-mobile-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 12px; padding: 0 0 8px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-crm-table-wrap { overflow-x: hidden; border-radius: 12px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-crm-table { min-width: 0; width: 100%; table-layout: fixed; }
  body.pro-mode .dashboard-shell .dashboard-content .business-crm-table :is(th,td):not(:first-child):not(:last-child) { display: none; }
  body.pro-mode .dashboard-shell .dashboard-content .business-crm-table :is(th,td):first-child { width: calc(100% - 24px); min-width: 0; max-width: none; }
  body.pro-mode .dashboard-shell .dashboard-content .business-crm-table :is(th,td):last-child { width: 24px; min-width: 24px; padding-inline: 0; text-align: center; }
  body.pro-mode .dashboard-shell .dashboard-content .business-crm-table thead tr { height: 48px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-crm-table tbody tr:not(.business-crm-virtual-spacer) { height: 52px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-crm-table tbody td { padding: 0 10px; height: 64px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-crm-row-leading { width: 100%; gap: 8px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-crm-customer-cell { width: 100%; min-width: 0; max-width: 100%; min-height: 56px; gap: 10px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-crm-customer-cell > span:last-child { min-width: 0; }
  body.pro-mode .dashboard-shell .dashboard-content .business-crm-customer-cell small:not(.business-crm-mobile-contact) { display: none; }
  body.pro-mode .dashboard-shell .dashboard-content .business-crm-customer-cell .business-crm-mobile-contact { display: block; font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  body.pro-mode .business-mobile-filter-modal { display: flex; flex-direction: column; overflow: hidden; max-height: calc(var(--mobile-viewport-height,100dvh) - 24px); }
  body.pro-mode .business-mobile-customer-filters { overflow-y: auto; min-height: 0; display: grid; gap: 14px; padding-block: 12px; overscroll-behavior: contain; }
  body.pro-mode .business-mobile-filter-field { display: grid; gap: 6px; font-size: 13px; }
  body.pro-mode .business-mobile-filter-field .business-crm-column-filter { width: 100%; }
  body.pro-mode .business-mobile-filter-footer { display: flex; flex-shrink: 0; gap: 8px; padding-top: 12px; padding-bottom: env(safe-area-inset-bottom,0px); border-top: 1px solid var(--pro-ui-line); }
  body.pro-mode .business-mobile-filter-footer > button { flex: 1; min-height: 46px; }

  /* Inbox and conversation form two phone screens while retaining each draft. */
  body.pro-mode .dashboard-shell .dashboard-content .communication-inbox .business-messages-layout { display: flex; flex-direction: column; min-height: 0; height: 100%; }
  body.pro-mode .dashboard-shell .dashboard-content .communication-inbox .communication-customers { min-height: 260px; flex: 1; border-bottom: 0; }
  body.pro-mode .dashboard-shell .dashboard-content .communication-inbox .communication-chat { display: none; min-height: 0; height: 100%; }
  body.pro-mode .dashboard-shell .dashboard-content .communication-inbox.is-mobile-conversation .communication-customers { display: none; }
  body.pro-mode .dashboard-shell .dashboard-content .communication-inbox.is-mobile-conversation .communication-chat { display: flex; flex-direction: column; }
  body.pro-mode .dashboard-shell .dashboard-content .communication-inbox .communication-mobile-back { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; min-width: 44px; min-height: 44px; }
  body.pro-mode .dashboard-shell .dashboard-content .communication-mobile-back > svg { transform: rotate(180deg); }
  body.pro-mode .dashboard-shell .dashboard-content .communication-inbox .communication-chat > header { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; min-height: 64px; padding: 8px 10px; }
  body.pro-mode .dashboard-shell .dashboard-content .communication-inbox .communication-person-avatar { display: none; }
  body.pro-mode .dashboard-shell .dashboard-content .communication-inbox .business-message-chat-identity { flex: 1; min-width: 0; }
  body.pro-mode .dashboard-shell .dashboard-content .communication-inbox .business-message-chat-actions { margin-left: auto; }
  body.pro-mode .dashboard-shell .dashboard-content .communication-inbox .business-message-customer-list > button { min-height: 76px; padding: 10px; }
  body.pro-mode .dashboard-shell .dashboard-content .communication-inbox .communication-panes { flex: 1; min-height: 0; }
  body.pro-mode .dashboard-shell .dashboard-content .communication-inbox .communication-composer { padding: 10px; }
  body.pro-mode .dashboard-shell .dashboard-content .communication-inbox .communication-compose-top > span:last-child { display: none; }
  body.pro-mode .dashboard-shell .dashboard-content .communication-inbox .communication-send-button { min-height: 44px; min-width: 44px; }
}
@media (max-width: 760px) {
  body.pro-mode .dashboard-shell .dashboard-content .business-metric { display: grid; grid-template-columns: minmax(0,1fr); grid-template-rows: auto auto auto; padding: 12px; min-height: 92px; gap: 4px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-metric .pro-metric-icon { display: none; }
  body.pro-mode .dashboard-shell .dashboard-content .business-metric > :is(span,strong,small) { grid-column: 1; margin: 0; }
  body.pro-mode .dashboard-shell .dashboard-content .business-metric > strong { font-size: 22px; line-height: 1.2; overflow-wrap: anywhere; }
  body.pro-mode .dashboard-shell .dashboard-content .business-metric > :is(span,small) { font-size: 11px; line-height: 1.4; }
  body.pro-mode .dashboard-shell .dashboard-content .business-service-category-group.is-detailed .business-service-tile { grid-template-rows: minmax(42px,auto) auto; padding: 10px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-service-category-group.is-detailed .business-service-tile-copy h3 { font-size: 14px; line-height: 1.35; }
  body.pro-mode .dashboard-shell .dashboard-content .business-service-tile-footer:empty { display: none; }
  body.pro-mode .dashboard-shell .dashboard-content .business-crm-page-header .business-header-actions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
  body.pro-mode .dashboard-shell .dashboard-content .business-crm-page-header .business-header-actions > * { grid-column: auto; width: 100%; margin: 0; }
  body.pro-mode .dashboard-shell .dashboard-content .business-crm-page-header .business-header-actions .prelook-select { width: 100%; }
  body.pro-mode .dashboard-shell .dashboard-content .business-crm-toolbar { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.pro-mode .dashboard-shell .dashboard-content .business-crm-search-control { grid-column: 1 / -1; }
  body.pro-mode .dashboard-shell .dashboard-content .business-crm-filter-control { grid-column: auto; }
  body.pro-mode .dashboard-shell .dashboard-content .business-crm-toolbar .business-crm-customer-filters { display: none; }
  body.pro-mode .dashboard-shell .dashboard-content .business-crm-mobile-type { display: block; width: 100%; min-height: 44px; border-radius: 10px; background: #fff; border-color: var(--pro-ui-line); }
  body.pro-mode .dashboard-shell .dashboard-content .communication-inbox .communication-customers { display: grid; grid-template-columns: minmax(0,1fr); grid-template-rows: auto auto minmax(0,1fr) auto; align-content: start; }
  body.pro-mode .dashboard-shell .dashboard-content .communication-inbox .communication-customers > header { grid-row: 1; grid-column: 1; min-height: 44px; padding: 12px; }
  body.pro-mode .dashboard-shell .dashboard-content .communication-inbox .communication-search { grid-row: 2; grid-column: 1; position: relative; width: auto; margin: 0 12px 10px; }
  body.pro-mode .dashboard-shell .dashboard-content .communication-inbox .business-message-customer-list { grid-row: 3; min-height: 0; overflow-y: auto; padding: 0 8px 12px; }
  body.pro-mode .dashboard-shell .dashboard-content .communication-inbox .communication-list-empty { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 10px; min-height: 200px; height: auto; padding: 28px 16px; }
  body.pro-mode .dashboard-shell .dashboard-content .communication-inbox .communication-list-empty p { margin: 0; }
}
@media (max-width: 760px) {
  /* Keep the actionable appointment summary above the fold. The month grid is
     redundant with the date text; its existing Open schedule button remains. */
  body.pro-mode .business-calendar-booking-drawer-content.is-refined .business-calendar-booking-when { grid-template-columns: minmax(0,1fr); gap: 10px; padding: 12px; }
  body.pro-mode .business-calendar-booking-drawer-content .business-booking-date-calendar { min-height: 44px; padding: 10px 12px; border-radius: 10px; }
  body.pro-mode .business-calendar-booking-drawer-content :is(.business-booking-date-calendar-weekdays,.business-booking-date-calendar-grid) { display: none; }
  body.pro-mode .business-calendar-booking-drawer-content .business-booking-date-calendar-header { margin: 0; }
  body.pro-mode .business-calendar-booking-when-copy > span { display: none; }
  body.pro-mode .business-calendar-booking-when-copy time { gap: 4px; }
  body.pro-mode .business-calendar-booking-drawer-content.is-refined :is(.business-booking-detail-person,.business-booking-detail-service) { padding: 12px; gap: 10px; }
  body.pro-mode .business-calendar-booking-drawer-content.is-refined .business-booking-detail-person { padding: 10px 12px; gap: 4px; }
  body.pro-mode .business-calendar-booking-drawer-content.is-refined .business-booking-detail-person > header { min-height: 18px; margin: 0; }
  body.pro-mode .business-calendar-booking-drawer-content.is-refined .business-booking-detail-person-body { min-height: 44px; padding-block: 2px; }
  body.pro-mode .business-calendar-booking-drawer-content.is-refined .business-booking-detail-person-body > :is(.business-calendar-booking-customer-avatar,.business-booking-stylist-avatar) { flex-basis: 36px; width: 36px; height: 36px; }
  body.pro-mode .business-calendar-booking-drawer-content.is-refined .business-booking-detail-person-copy { gap: 3px; }
  body.pro-mode .business-calendar-booking-drawer-content.is-refined .business-booking-detail-person-meta { min-height: 22px; margin-top: 0; padding-top: 4px; }
  body.pro-mode .business-calendar-booking-drawer-content.is-refined .business-booking-detail-message { min-height: 44px; }
  body.pro-mode .business-calendar-booking-drawer-content.is-refined .business-calendar-booking-modification summary { min-height: 52px; padding: 12px; }
  body.pro-mode .business-calendar-booking-drawer-content.is-refined .business-calendar-booking-modification-body { padding: 12px; }
  body.pro-mode .business-calendar-booking-drawer-content.is-refined .business-calendar-booking-actions { position: sticky; bottom: 0; z-index: 3; padding: 10px 12px calc(10px + env(safe-area-inset-bottom,0px)); margin: 0 -4px -24px; border-radius: 12px 12px 0 0; background: #fff; box-shadow: 0 -6px 16px #172b2a0a; }
  body.pro-mode .business-calendar-booking-actions > header { margin: 0 0 8px; }
  body.pro-mode .business-calendar-booking-actions :is(.solid-button,.outline-button,.ghost-button) { min-height: 44px; }
  body.pro-mode .business-booking-modification-time-row { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  body.pro-mode .business-booking-modification-time-row > strong { grid-column: 1 / -1; }
  body.pro-mode .business-booking-modification-schedule > footer { flex-wrap: wrap; gap: 8px; }
  body.pro-mode .business-booking-modification-schedule > footer > [role=group] { display: flex; flex-wrap: wrap; gap: 6px; }
  body.pro-mode .business-booking-modification-reasons { flex-wrap: wrap; }
  body.pro-mode .business-booking-modification-reasons > button { min-height: 44px; }
}
@media (max-width: 760px) {
  body.pro-mode .dashboard-shell .dashboard-content .business-today-mobile-agenda { display: grid; gap: 8px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-mobile-appointments { display: grid; gap: 8px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-mobile-agenda .business-today-booking { display: grid; grid-template-columns: 74px minmax(0,1fr); padding: 10px 0; gap: 5px 10px; border: 0; border-bottom: 1px solid var(--pro-ui-line); border-radius: 0; background: transparent; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-mobile-agenda .business-today-booking:last-child { border-bottom: 0; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-mobile-agenda .business-today-booking > time { grid-column: 1; grid-row: 1 / 4; align-self: start; gap: 4px; padding-top: 6px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-mobile-agenda .business-today-booking > time strong { font-size: 13px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-mobile-agenda .business-today-booking > time span { font-size: 10px; line-height: 1.4; white-space: normal; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-mobile-agenda .business-today-booking :is(.business-today-booking-customer,.business-today-booking-service) { grid-column: 2; min-width: 0; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-mobile-agenda .business-today-booking :is(.business-today-booking-customer,.business-today-booking-service) > small { display: none; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-mobile-agenda .business-today-booking .business-today-link { min-height: 44px; width: 100%; padding: 4px 0; text-align: left; font-size: 13px; white-space: normal; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-mobile-agenda .business-today-booking .business-status { padding: 3px 7px; font-size: 11px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-mobile-agenda .business-today-open-booking { min-height: 44px; margin-top: 4px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-page > .business-today-schedule-panel { display: none; }
  body.pro-mode .dashboard-shell .dashboard-content .business-crm-page .business-crm-page-top > .business-crm-page-header .business-header-actions { display: grid; grid-template-columns: minmax(90px,.7fr) minmax(0,1.3fr); width: 100%; gap: 8px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-crm-page .business-crm-page-top > .business-crm-page-header .business-header-actions > * { grid-column: auto; width: 100%; min-width: 0; }
  body.pro-mode .dashboard-shell .dashboard-content .business-crm-page .business-crm-page-top > .business-crm-page-header [data-business-action="request-client-delete"]:disabled { display: none; }
  body.pro-mode .dashboard-shell .dashboard-content .business-page-title-row .business-inventory-view-switch { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; max-width: 100%; overflow: visible; }
  body.pro-mode .dashboard-shell .dashboard-content .business-inventory-view-switch > button { min-height: 44px; white-space: normal; }
}
@media (max-width: 760px) {
  body.pro-mode .dashboard-shell .dashboard-content .business-today-mobile-agenda .business-today-booking > time { grid-row: 1 / 4; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-mobile-agenda .business-today-booking .business-today-open-booking { grid-column: 1 / -1; grid-row: 4; justify-self: stretch; width: 100%; min-width: 0; font-size: 12px; white-space: normal; padding: 8px 12px; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-mobile-agenda .business-today-booking .business-today-booking-customer { grid-row: 1; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-mobile-agenda .business-today-booking .business-today-booking-service { grid-row: 2; }
  body.pro-mode .dashboard-shell .dashboard-content .business-today-mobile-agenda .business-today-booking .business-status { grid-column: 2; grid-row: 3; justify-self: start; }
}
@media (max-width: 360px) {
  body.pro-mode .business-booking-modification-time-row { grid-template-columns: minmax(0,1fr); }
  body.pro-mode .business-booking-modification-time-row input { width: 100%; }
}

@media (max-width: 820px) {
  body.pro-mode .dashboard-shell .dashboard-content .communication-inbox .business-message-customer-list > button { min-height: 58px; height: 58px; padding: 8px 10px; }
  body.pro-mode .dashboard-shell .dashboard-content .communication-inbox .communication-chat > header { min-height: 60px; padding: 8px 10px; }
  body.pro-mode .dashboard-shell .dashboard-content .communication-inbox .communication-stream { padding: 12px; }
  body.pro-mode .communication-transcript { padding: 16px; gap: 16px; }
  body.pro-mode .communication-transcript .communication-transcript-lines { max-height: 330px; padding-inline: 11px; }
  body.pro-mode .communication-suggestion-form { gap: 10px; }
  body.pro-mode .communication-suggestion-form :is(input,select,button) { min-height: 44px; }
}
@media (max-width: 380px) {
  body.pro-mode .communication-suggestion-form { grid-template-columns: minmax(0,1fr); }
}

/* The legacy inbox used horizontal cards below 900px. Keep this inbox a list. */
@media (max-width: 900px) {
  body.pro-mode .dashboard-shell .dashboard-content .communication-inbox .communication-customers { grid-template-columns: minmax(0,1fr); grid-template-rows: auto auto minmax(0,1fr) auto; }
  body.pro-mode .dashboard-shell .dashboard-content .communication-inbox .communication-customers > header { grid-column: 1; grid-row: 1; }
  body.pro-mode .dashboard-shell .dashboard-content .communication-inbox .communication-search { grid-column: 1; grid-row: 2; }
  body.pro-mode .dashboard-shell .dashboard-content .communication-inbox .business-message-customer-list { display: block; grid-column: 1; grid-row: 3; overflow-x: hidden; overflow-y: auto; min-width: 0; min-height: 0; }
  body.pro-mode .dashboard-shell .dashboard-content .communication-inbox .business-message-customer-list > button { display: grid; grid-template-columns: 28px minmax(0,1fr) auto; align-items: center; width: 100%; min-width: 0; min-height: 58px; height: 58px; margin: 0 0 3px; flex: none; }
  body.pro-mode .dashboard-shell .dashboard-content .communication-inbox .communication-inbox-channels { grid-column: 1; grid-row: 4; }
}
@media (max-width: 600px) {
  body.pro-mode .communication-suggestion-form { grid-template-columns: minmax(0,1fr); }
}

@media (max-width: 820px) {
  body.pro-mode .dashboard-shell .dashboard-content .communication-inbox .communication-customers { border-right: 0; }
  body.pro-mode .dashboard-shell .dashboard-content .communication-inbox .communication-search { margin: 0; padding: 4px 10px 10px; }
  body.pro-mode .dashboard-shell .dashboard-content .communication-inbox .communication-search > svg { top: 13px; left: 20px; }
  body.pro-mode .dashboard-shell .dashboard-content .communication-inbox .communication-composer { padding: 10px; }
  body.pro-mode .dashboard-shell .dashboard-content .communication-inbox .communication-provider-pane > header { padding-inline: 12px; }
}

@media (max-width: 760px) {
  body.pro-mode .dashboard-shell .dashboard-content:has(> .business-bookings-page) { height: var(--mobile-viewport-height, 100dvh); padding-bottom: calc(var(--mobile-nav-height, 68px) + env(safe-area-inset-bottom, 0px) + 12px); }
}
