/*
 * 内网达统一字体系统
 * 基准：中后台正文 14/22，辅助文字 12/20，标题限制在 16–24px。
 * 统一使用 rem，使浏览器文字缩放与 200% 页面缩放能够正常生效。
 */
:root {
  --type-font-sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", Arial, sans-serif;
  --type-xs: .75rem;
  --type-sm: .8125rem;
  --type-base: .875rem;
  --type-md: 1rem;
  --type-lg: 1.125rem;
  --type-xl: 1.25rem;
  --type-2xl: 1.5rem;
  --leading-xs: 1.25rem;
  --leading-base: 1.375rem;
  --leading-heading: 1.35;
}

html { font-size: 16px; }
body {
  font-family: var(--type-font-sans);
  font-size: var(--type-base);
  line-height: var(--leading-base);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
button, input, select, textarea {
  font-family: inherit;
  font-size: var(--type-base);
  line-height: var(--leading-base);
}
input, select, textarea { min-width: 0; }
strong, b, .metric-card, .page-stats-strip, .usage-summary-list, .billing-summary-grid,
.admin-main table, .config-list { font-variant-numeric: tabular-nums; }

/* 登录、注册 */
.brand-lockup strong { font-size: var(--type-xl); line-height: 1.25; }
.brand-lockup small, .hero-kicker, .trust-list, .legal-note { font-size: var(--type-xs); line-height: var(--leading-xs); }
.auth-hero h1 { font-size: clamp(2rem, 3.2vw, 2.75rem); line-height: 1.18; }
.auth-body[data-auth-page="login"] .auth-hero h1,
.register-page .auth-hero h1 { font-size: clamp(1.875rem, 2.5vw, 2.25rem); line-height: 1.2; }
.auth-hero-copy > p, .register-steps p { font-size: var(--type-base); line-height: 1.75; }
.auth-form-wrap h2, .register-form-wrap h2 { font-size: var(--type-2xl); line-height: var(--leading-heading); }
.auth-lead, .auth-switch, .auth-agreement { font-size: var(--type-base); line-height: var(--leading-base); }
.auth-form .field, .register-form .field { font-size: var(--type-base); line-height: var(--leading-base); }
.auth-form .field input, .register-form .field input, .register-form .field select,
.auth-form .button, .register-form .button { font-size: var(--type-base); }
.message { font-size: var(--type-sm); line-height: var(--leading-xs); }

/* 用户控制台：框架、导航与标题 */
.console-header .brand-lockup strong { font-size: var(--type-lg); }
.console-header .brand-lockup small { font-size: var(--type-xs); line-height: 1.2; }
.platform-status, .user-pill-copy small, .sidebar-foot p, .mvp-tag { font-size: var(--type-xs); line-height: var(--leading-xs); }
.user-pill-copy strong { font-size: var(--type-base); line-height: 1.35; }
.nav-item { min-height: 46px; font-size: var(--type-base); line-height: var(--leading-base); }
.nav-item b { font-size: var(--type-xs); }
.nav-icon { font-size: var(--type-lg); }
.site-legal-footer { font-size: var(--type-xs); line-height: var(--leading-xs); }
.eyebrow { font-size: var(--type-xs); line-height: var(--leading-xs); }
.page-title-row h1 { font-size: var(--type-xl); line-height: var(--leading-heading); }
.page-title-row > div > p:last-child, .connector-copy p { font-size: var(--type-base); line-height: var(--leading-base); }
.section-heading h2, .connector-copy h2 { font-size: var(--type-lg); line-height: var(--leading-heading); }
.section-heading p, .list-summary { font-size: var(--type-base); line-height: var(--leading-base); }
.panel { line-height: var(--leading-base); }

/* 按钮、表单、标签与提示 */
.button, .button.small, .button.large, .text-button,
.action-button, .mini-icon-button, .service-toolbar select, .table-toolbar select,
.domain-toolbar select, .billing-cycle-switch button { font-size: var(--type-base); line-height: 1.35; }
.field, .field label, .check, .setting-row p, .support-contact-text { font-size: var(--type-base); line-height: var(--leading-base); }
.badge, .connector-badge, .overview-guide-status, .access-mode-tag, .domain-quota,
.billing-price-note, .billing-recommended, .billing-account-type, .billing-status { font-size: var(--type-xs); line-height: 1.35; }
.toast, .empty, .empty-state p, .pagination, .pagination button { font-size: var(--type-sm); line-height: var(--leading-xs); }

/* 总览 */
.platform-notice span { font-size: var(--type-xs); }
.platform-notice p { font-size: var(--type-base); line-height: var(--leading-base); }
.metric-card p, .metric-card small { font-size: var(--type-xs); line-height: 1.35; }
.metric-card strong { font-size: var(--type-xl); line-height: 1.25; }
.metric-card .metric-word { font-size: var(--type-lg); }
.overview-step > span { font-size: var(--type-xs); }
.overview-step strong { font-size: var(--type-md); line-height: 1.35; }
.overview-step p { font-size: var(--type-xs); line-height: 1.35; }
.chart-period, .trend-column > strong, .trend-column > span, .chart-legend,
.usage-success-ring span, .usage-summary-list dt { font-size: var(--type-xs); line-height: var(--leading-xs); }
.usage-success-ring strong { font-size: var(--type-xl); }
.usage-summary-list dd { font-size: var(--type-base); }
.ranking-head, .overview-activity-head { font-size: var(--type-xs); line-height: var(--leading-xs); }
.ranking-row, .overview-activity-row { font-size: var(--type-sm); line-height: var(--leading-xs); }
.ranking-row strong, .ranking-row b, .overview-activity-row strong { font-size: var(--type-base); }
.ranking-row small { font-size: var(--type-xs); }

/* 连接器、服务、域名、审计、账户 */
.install-steps article > span, .install-steps p, .install-steps a, .install-note { font-size: var(--type-xs); line-height: var(--leading-xs); }
.install-steps strong { font-size: var(--type-base); }
.service-name h3, .domain-card h3 { font-size: var(--type-md); line-height: var(--leading-heading); }
.service-name p, .domain-card-head span:first-child, .bound-domain p, .domain-target span,
.domain-target a, .domain-check-list > div, .domain-error { font-size: var(--type-xs); line-height: var(--leading-xs); }
.service-meta-grid span { font-size: var(--type-xs); line-height: 1.35; }
.service-meta-grid strong { font-size: var(--type-sm); line-height: var(--leading-xs); }
.audit-head { font-size: var(--type-xs); }
.audit-row, .profile-list dt, .profile-list dd { font-size: var(--type-sm); line-height: var(--leading-xs); }
.support-item strong { font-size: var(--type-base); }
.support-item small, .support-item b { font-size: var(--type-xs); line-height: var(--leading-xs); }
.setting-row strong { font-size: var(--type-base); }
.page-stats-strip p { font-size: var(--type-xs); line-height: var(--leading-xs); }
.page-stats-strip p strong { font-size: var(--type-xl); }

/* 套餐、账单与弹窗 */
.billing-current-card small, .billing-usage-heading span, .billing-resource-card span,
.billing-current-card p, .billing-usage-card p, .billing-plan-card > p,
.billing-plan-price span, .billing-plan-price small, .billing-plan-card li,
.billing-config-notice { font-size: var(--type-xs); line-height: var(--leading-xs); }
.billing-current-card strong { font-size: var(--type-xl); }
.billing-usage-heading b, .billing-resource-card strong { font-size: var(--type-base); }
.billing-plan-name { font-size: var(--type-lg); }
.billing-plan-name b { font-size: var(--type-xs); }
.billing-plan-price strong { font-size: 1.75rem; }
.billing-order-head, .billing-ledger-head { font-size: var(--type-xs); line-height: var(--leading-xs); }
.billing-order-row, .billing-ledger-row { font-size: var(--type-sm); line-height: var(--leading-xs); }
.billing-order-actions button { min-height: 30px; font-size: var(--type-xs); }
.el-dialog-card header h2, .payment-modal-card h2 { font-size: var(--type-lg); }
.el-dialog-card > p, .el-dialog-detail, .payment-modal-card > p,
.payment-modal-card > code, .payment-modal-card > small { font-size: var(--type-sm); line-height: var(--leading-xs); }

/* 管理后台 */
.admin-topbar, .admin-shell { font-size: var(--type-base); line-height: var(--leading-base); }
.admin-brand strong { font-size: var(--type-lg); }
.admin-nav { font-size: var(--type-base); line-height: var(--leading-base); }
.admin-company strong { font-size: var(--type-base); }
.admin-company span { font-size: var(--type-xs); line-height: var(--leading-xs); }
.admin-main .page-heading p, .admin-main .page-heading span { font-size: var(--type-xs); line-height: var(--leading-xs); }
.admin-main .page-heading h1 { font-size: var(--type-xl); line-height: var(--leading-heading); }
.admin-main .metric-card span, .admin-main .metric-card small { font-size: var(--type-xs); }
.admin-main .metric-card strong { font-size: var(--type-xl); }
.admin-main .panel-title h2, .settings-card h2, .plan-card h2 { font-size: var(--type-md); }
.admin-main .panel-title span, .plan-fields label, .settings-card label { font-size: var(--type-xs); line-height: var(--leading-xs); }
.admin-main table { font-size: var(--type-sm); line-height: var(--leading-xs); }
.admin-main .cell-sub, .admin-main .status-tag { font-size: var(--type-xs); }
.admin-main .primary-button, .admin-main .secondary-button, .admin-main .plain-button,
.admin-main .danger-button, .admin-main .tiny-button { font-size: var(--type-base); line-height: 1.35; }
.config-row { font-size: var(--type-base); line-height: var(--leading-base); }
.settings-tab { font-size: var(--type-base); }
.settings-card-heading h2, .payment-config-header h2 { font-size: var(--type-lg); }
.settings-card-heading p, .settings-form-card > label, .settings-form-card form label,
.payment-config-card label, .payment-config-header p, .payment-maintenance-note,
.server-managed-note { font-size: var(--type-base); line-height: var(--leading-base); }
.settings-check small, .security-card label small, .site-record-settings > small,
.payment-config-card label small, .payment-advanced-summary span, .plan-account-types small,
.secret-mask { font-size: var(--type-xs); line-height: var(--leading-xs); }
.site-record-settings legend, .payment-advanced-summary strong,
.plan-account-types legend, .payment-enable-switch { font-size: var(--type-base); }
.admin-dialog header p, .admin-dialog .dialog-grid label { font-size: var(--type-xs); }
.admin-dialog h2 { font-size: var(--type-lg); }
.admin-login-card h1 { font-size: var(--type-xl); }
.admin-login-note, .admin-login-form label, .form-message, .back-link { font-size: var(--type-base); line-height: var(--leading-base); }

@media (max-width: 820px) {
  .page-title-row h1, .admin-main .page-heading h1 { font-size: var(--type-lg); }
  .overview-step strong { font-size: var(--type-base); }
}

@media (max-width: 580px) {
  .page-title-row h1 { font-size: var(--type-lg); }
  .overview-step p { white-space: normal; }
}
