/* App and account type scale. Load after typography.css and page styles. */
body {
  font-family: var(--fr-font, 'DM Sans', sans-serif);
  font-size: 16px;
  line-height: 1.6;
}

h1, h2, h3, h4,
.sidebar-tip strong,
.metric-value,
.estimate-preview strong {
  font-family: var(--fr-font, 'DM Sans', sans-serif);
  font-weight: 600;
}

h1,
.page-heading h1,
.tracking-top h1,
.login-main h1,
.inquiry-main > h1,
.loading-state h1 {
  font-size: clamp(28px, 2.6vw, 36px);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -.025em;
}

h2,
.empty h2,
.launch-panel h2,
.detail-banner h2,
.modal-header h2 {
  font-size: clamp(22px, 2vw, 26px);
  line-height: 1.3;
  letter-spacing: -.02em;
}

.section-head h2,
.panel-heading h2 {
  font-size: 22px;
  line-height: 1.3;
  letter-spacing: -.02em;
}

h3,
.quick-card h3,
.campaign-card h3,
.building-card h3,
.empty h3,
.detail-block h3,
.launch-right h3,
.saved-booking h3 {
  font-size: 18px;
  line-height: 1.4;
  letter-spacing: -.01em;
}

.sidebar-tip strong {
  font-size: 20px;
  line-height: 1.35;
  letter-spacing: -.015em;
}

p,
.page-heading p,
.quick-card p,
.campaign-card p,
.building-card p,
.detail-banner p,
.empty p,
.loading-state p,
.modal-description,
.help-topic p,
.inquiry-intro,
.login-main p {
  font-size: 16px;
  line-height: 1.6;
}

.launch-panel p,
.launch-right p,
.saved-booking p {
  font-size: 15px;
  line-height: 1.6;
}

.page-heading p,
.section-head p,
.quick-card p,
.campaign-card p,
.building-card p,
.detail-banner p,
.empty p,
.loading-state p,
.modal-description,
.help-topic p,
.inquiry-intro,
.login-main > p {
  color: var(--fr-text, #52637a);
}

.eyebrow,
.saved-booking .eyebrow,
.nav-label,
.tip-label,
.sidebar-tip .tip-label,
.quick-card .tagline,
.workspace-label small,
.inquiry-header > span {
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .06em;
}

.workspace-label small {
  letter-spacing: .02em;
}

.workspace-label strong,
.nav-link,
.sidebar-bottom .nav-link,
.owner strong,
.account,
.field,
.signup-form label,
.login-field,
.metric-label,
.service-choice strong,
.building-select label {
  font-size: 14px;
  line-height: 1.5;
}

.field,
.signup-form label,
.login-field,
.service-choice strong,
.todo strong,
.mini-campaign strong {
  font-weight: 600;
}

.todo strong,
.mini-campaign strong {
  font-size: 15px;
  line-height: 1.5;
}

small,
.owner small,
.breadcrumbs,
.date-label,
.sidebar-tip p,
.metric-note,
.todo p,
.mini-campaign small,
.message small,
.card-numbers small,
.progress-label,
.card-bottom,
.route-source,
.detail-meta,
.field small,
.check-item small,
.service-choice small,
.summary-row small,
.modal-footer .save-note,
.estimate-preview p,
.section-head p,
.chart-row,
.chart-row b,
.chart-axis,
.response-timeline .heading p,
.inquiry-contact,
.inquiry-powered,
.signup-hint,
.app-footer,
.app-footer > span:first-child,
footer {
  font-size: 13px;
  line-height: 1.5;
  color: var(--fr-caption, #586b84);
}

.status,
.badge,
.save-indicator,
.nav-link .count {
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
}

.search-box kbd,
.owner-avatar,
.todo > span,
.launch-path,
.launch-path i,
.wizard-steps span {
  font-size: 13px;
  line-height: 1.4;
}

.summary-row,
.review-grid .summary-row,
.building-card .summary-row,
.booking-price-row,
.check,
.check-item,
.note,
.empty-inline,
.example-bar,
.form-error,
.tracking-card .small,
.measurement-notes p,
.daily-values p,
.response-timeline > .small,
.comparison-notes p,
.report-filter .small,
.login-main .login-note,
.login-main .signup-note {
  font-size: 15px;
  line-height: 1.6;
}

.login-main .signup-privacy {
  font-size: 13px !important;
  line-height: 1.6 !important;
}

.metric-value,
.report-stats .metric-value,
.metrics strong,
.tracking-metrics strong {
  font-family: var(--fr-font, 'DM Sans', sans-serif);
  font-size: clamp(26px, 2.5vw, 32px);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -.02em;
  font-variant-numeric: tabular-nums;
}

.card-numbers strong,
.summary-row.total,
.row.total,
.estimate-preview strong {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -.01em;
  font-variant-numeric: tabular-nums;
}

.summary-row.total strong {
  font-weight: 600;
}

table,
.report-table,
.report-table td {
  font-size: 14px;
  line-height: 1.5;
  font-variant-numeric: tabular-nums;
}

th,
.report-table th {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
  text-transform: none;
  color: var(--fr-caption, #586b84);
}

button,
.button,
.button.small,
.btn,
.signup-form .btn,
.demo-buttons .btn,
.page-heading .heading-actions .button,
.filters button,
.template-row button,
.launch-panel .launch-actions .text-button,
.section-head a,
.section-head button.link,
.panel-heading a,
.back,
.back-link,
.saved-booking summary {
  font-family: var(--fr-font, 'DM Sans', sans-serif);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0;
}

button,
.button,
.button.small,
.btn,
.filters button,
.template-row button {
  min-height: 44px;
}

.icon-button {
  min-width: 44px;
  min-height: 44px;
}

input,
select,
textarea,
.field input,
.field select,
.field textarea,
.login-field input,
.signup-form input,
.search-box input,
.toolbar select,
.status-select {
  font-family: var(--fr-font, 'DM Sans', sans-serif);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0;
}

.login-body .site-header > a:last-child,
header nav a,
.tabs a {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
}

.login-main h1 {
  margin: 16px 0;
}

.login-main .login-note,
.login-main .signup-hint,
.login-main .signup-note,
.inquiry-main .empty-inline {
  font-size: 14px;
  line-height: 1.6;
}

/* Keep the existing mobile columns, truncation, and scrollable tables. */
@media (max-width: 700px) {
  .metric-label {
    font-size: 14px;
  }

  .workspace-label small,
  .sidebar-tip .tip-label {
    font-size: 12px;
  }

  .wizard-steps span {
    font-size: 13px;
    white-space: normal;
  }

  .wizard-steps b {
    flex-shrink: 0;
  }

  .login-body .login-main {
    width: calc(100% - 32px);
    padding: 24px 20px;
    margin: 28px auto;
  }
}

@media (max-width: 420px) {
  .wizard-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 4px;
    padding-left: 8px;
    padding-right: 8px;
  }

  .wizard-steps span {
    min-width: 0;
    flex-direction: column;
    gap: 6px;
    text-align: center;
    white-space: nowrap;
  }

  .modal-footer {
    flex-wrap: wrap;
    align-items: stretch;
  }

  .modal-footer .detail-actions {
    flex: 1 1 100%;
    min-width: 0;
  }

  .modal-footer .detail-actions .button {
    flex: 1 1 auto;
    min-width: 0;
  }
}
.business-call{margin:0 0 24px}
.business-call .button{white-space:normal;overflow-wrap:anywhere;text-align:center}
.business-call>p{margin:10px 0 0;font-size:14px;color:#61728c}
