/* Shared readable type scale for the public site, trading dashboard and admin portal. */
html { font-size: 16px; }

body {
  font-size: 16px !important;
  line-height: 1.55;
}

body :is(button, input, select, textarea) {
  font-size: 14px !important;
  line-height: 1.4;
}

body label,
body p,
body td {
  font-size: 14px !important;
  line-height: 1.55;
}

body small,
body dt,
body th {
  font-size: 12px !important;
  line-height: 1.45;
}

/* Public website and subscription checkout. */
.logo small,
.eyebrow,
.scan-state,
.terminal-foot,
.feature-index,
.popular,
.plan-label,
.account-state,
.dialog-heading > span,
.checkout-success > small,
.checkout-plan small,
.checkout-user small,
.payment-details > small,
.terminal-head .mini-logo,
.rank,
.signal-side,
.benefits-list article > span {
  font-size: 12px !important;
}

.site-header nav,
.primary-action,
.secondary-action,
.closing-section > a,
.trust-row,
.assurance-bar span,
.plan-card li,
.plan-card > button,
.account-panel button,
.auth-tabs button,
.form-submit,
.method-tabs span {
  font-size: 14px !important;
}

.account-menu > button b,
.account-menu-user span {
  font-size: 14px !important;
}

.market-bar b,
.trade-plan b,
.signal-name b,
.feature-grid p,
.benefits-list p,
.plan-card > p,
.account-panel p,
footer,
.auth-intro b,
.dialog-heading p,
.checkout-plan b,
.checkout-user b,
.checkout-user p,
.payment-details p,
.payment-details dd,
.proof-upload b,
.payment-confirm,
.checkout-success > p {
  font-size: 14px !important;
}

.market-bar small,
.trade-plan small,
.signal-name small,
.signal-score small,
.field-note,
.password-note,
.proof-upload small,
.proof-upload em,
.checkout-success > div small {
  font-size: 12px !important;
}

.payment-details b { font-size: 16px !important; }
.payment-details button,
.checkout-success div button { font-size: 13px !important; }
.payment-details dt { font-size: 14px !important; }
.form-message,
.auth-switch,
.pricing-note { font-size: 13px !important; }
.hero-copy > p { font-size: 17px !important; }
#checkout-dialog { width: min(760px, calc(100% - 28px)); }

/* Trading dashboard. */
.brand small,
.system small,
.live,
.data-mode-tag,
.panel-title span,
.score small,
.metric small,
.universe-option i,
.fib-rule-top em,
.comment-preview small,
.trade-record-head small,
.paper-record em {
  font-size: 12px !important;
}

.source-title span,
.universe-badge span,
.universe-icon,
.watchlist-title > span,
.algo-toggle {
  font-size: 13px !important;
}

nav button,
.subscription-link,
.toolbar,
.toolbar p,
.strategy-head p:last-child,
.universe-head p:last-child,
.identity p,
.reason,
.entry-comment,
.exit-comment,
.comment-preview p,
.safety-note p,
.setting-grid label,
.exit-setting > label,
.fib-inputs label,
.watchlist-name,
.catalog-editor label,
#credential-fields label,
.execution-mode > label,
.instrument-mode > label,
.schedule-fields label {
  font-size: 14px !important;
}

.data-mode-banner b,
.metric b,
.session-state b,
.paper-record b,
.flow-card b,
.safety-note b {
  font-size: 15px !important;
}

.data-mode-banner p,
.setting-block > p,
.fib-rule > p,
.strategy-footer small,
.strategy-explainer,
.universe-option p,
.catalog-editor p,
.watchlist-title p,
.universe-footer small,
.session-state span,
.paper-record p,
.paper-records > p,
#strategy-status,
#universe-status,
#algo-status,
.scan-control small,
.setting-help,
.confirmation-row span,
.trade-action,
.plan-row span,
.option-contract span,
.chips span,
.watchlist-chips button,
.logic-pills span,
.exit-setting span,
.mode-card span,
.flow-card span,
.status,
.broker-actions button,
.dialog-actions button,
.paper-record button,
.execution-note,
.schedule-note,
.trade-record-head b {
  font-size: 13px !important;
}

.broker-policy p,
.switch-warning p,
.switch-position span,
.switch-position p,
.switch-choice small,
.broker-switch-result,
.switch-empty {
  font-size: 13px !important;
}

.broker-policy b,
.switch-warning b,
.switch-position b,
.switch-choice b {
  font-size: 14px !important;
}

.broker-policy > strong,
.switch-position button {
  font-size: 12px !important;
}

/* Admin operations dashboard. */
.gate-card > small,
.admin-app header p,
.admin-app header span,
.metric-grid article > span,
.metric-grid article > small,
.panel-head span,
.section-toolbar > div:first-child > span,
.badge {
  font-size: 12px !important;
}

.admin-app nav i,
.admin-security b,
.qr-panel > span {
  font-size: 12px !important;
}

.gate-card > p,
.admin-app nav button,
.panel-head button,
.renewal-item b,
.mini-payment b,
.renewal-item strong,
.table-actions button,
.payment-actions button,
.payment-card > div b,
.settings-form > p,
#admin-message,
.dialog-heading p {
  font-size: 13px !important;
}

.renewal-actions a,
.renewal-actions button {
  font-size: 13px !important;
}

.renewal-item span,
.renewal-item small,
.mini-payment span,
.user-cell span,
.contact-cell span,
.contact-cell a,
.plan-cell span,
.expiry-cell span,
.payment-card > div span,
.qr-upload small,
.qr-upload em,
.qr-panel > p {
  font-size: 12px !important;
}

.user-cell b,
.plan-cell b,
.expiry-cell b,
.qr-upload b {
  font-size: 14px !important;
}

.payment-card strong { font-size: 18px !important; }

@media (max-width: 680px) {
  body { font-size: 15px !important; }
  #checkout-dialog { width: calc(100% - 18px); }
}
