/* Product-wide readability floor: no functional copy below 12px. */
body { font-size: 14px; }

.platform-mark,
.platform-mark.inverse,
.platform-mark.inverse b,
.platform-mark.inverse small,
.nav-label,
.nav-item,
.nav-item i,
.workspace-identity strong,
.workspace-identity small,
.environment-line span,
.environment-line small,
.page-context,
.environment-badge,
.workspace-head-main > p,
.context-chip,
.source-pill,
.account,
.overline,
.metric-grid span,
.metric-grid small,
.panel-head span,
.assurance > span,
.panel-head button,
.empty-product button,
.trade-row,
.trade-row.header,
.assurance p,
.assurance li,
.view-intro,
.source-disclosure strong,
.source-disclosure p,
.drop-zone span,
.drop-zone small,
.file-list,
.upload-card > label,
.upload-card input,
.upload-card select,
.confirm,
.upload-card > button,
.upload-result strong,
.upload-result p,
.empty-product > p:not(.overline),
.report-source span,
.report-source strong,
.analysis-source,
.analysis-trade span,
.analysis-trade small,
.analysis-trade strong,
.autopsy-grid span,
.report-download,
.trade-empty span,
.login-brand footer,
.login-card label,
.login-row,
.login-row a,
.login-note,
.login-card button,
.demo-access,
.security-note {
  font-size: 12px !important;
}

.nav-item { font-size: 13px !important; }
.workspace-head-main > p,
.view-intro,
.empty-product > p:not(.overline),
.assurance p,
.source-disclosure p,
.confirm,
.login-card > p,
.login-brand > div > p:last-child { font-size: 14px !important; }
.trade-row,
.analysis-trade strong,
.report-download,
.upload-card input,
.upload-card select { font-size: 13px !important; }
.workspace-head h1 { font-size: 28px; }
.metric-grid strong { font-size: 32px; }
.panel h2 { font-size: 22px; }

@media (max-width: 620px) {
  .workspace-head h1 { font-size: 25px; }
}
