/*
 * 飞稻陪练设计系统：跨训练台、管理后台和未来多端的语义基础。
 * 业务页面只描述布局与局部信息层级，不重新定义品牌色、控件状态或尺寸。
 */

:root {
  --fd-font-sans: ui-sans-serif, -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Segoe UI", sans-serif;
  --fd-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  /* Typography is a fixed ladder, not a page-local collection of values. */
  --fd-font-size-display: 28px;
  --fd-font-size-metric: 24px;
  --fd-font-size-page-title: 24px;
  --fd-font-size-workspace-title: 18px;
  --fd-font-size-section-title: 18px;
  --fd-font-size-card-title: 16px;
  --fd-font-size-body: 14px;
  --fd-font-size-body-sm: 14px;
  --fd-font-size-meta: 12px;
  --fd-font-size-caption: 11px;
  --fd-line-height-display: 1.2;
  --fd-line-height-title: 1.3;
  --fd-line-height-body: 1.55;
  --fd-line-height-meta: 1.45;
  --fd-font-weight-regular: 400;
  --fd-font-weight-medium: 500;
  --fd-font-weight-semibold: 500;
  --fd-font-weight-bold: 600;

  --fd-color-ink: #23252b;
  --fd-color-ink-soft: #4f5966;
  --fd-color-muted: #68707c;
  --fd-color-disabled: #9aa1aa;
  --fd-color-page: #f8f8fa;
  --fd-color-surface: #ffffff;
  --fd-color-surface-soft: #fbfbfc;
  --fd-color-line: #e3e5e9;
  --fd-color-line-strong: #d5d8de;

  --fd-color-primary: #e74362;
  --fd-color-primary-hover: #c93552;
  --fd-color-primary-soft: #fff0f3;
  --fd-color-primary-line: #f1b7c5;
  --fd-color-info: #2563eb;
  --fd-color-info-soft: #eff6ff;
  --fd-color-warning: #9a6105;
  --fd-color-warning-soft: #fff8e6;
  --fd-color-danger: #b33a32;
  --fd-color-danger-soft: #fff4f2;
  --fd-color-success: #157a57;
  --fd-color-success-soft: #edf9f4;

  /* 飞稻 VI: a quiet ink-and-coral system for operational training products. */
  --fd-brand-ink: #5a2632;
  --fd-brand-coral: #e74362;
  --fd-brand-coral-hover: #c93552;
  --fd-brand-coral-soft: #fff0f3;
  --fd-brand-coral-line: #f1b7c5;
  --fd-page-tint: #f8f8fa;
  --fd-surface-raised: #ffffff;
  --fd-surface-subtle: #f8fbfb;
  --fd-border-subtle: #e3e5e9;

  /* Historical aliases retained while page styles migrate to semantic tokens. */
  --fd-brand-jade: var(--fd-brand-coral);
  --fd-brand-jade-hover: var(--fd-brand-coral-hover);
  --fd-brand-jade-soft: var(--fd-brand-coral-soft);
  --fd-brand-jade-line: var(--fd-brand-coral-line);

  --fd-space-1: 4px;
  --fd-space-2: 8px;
  --fd-space-3: 12px;
  --fd-space-4: 16px;
  --fd-space-5: 20px;
  --fd-space-6: 24px;
  --fd-space-8: 32px;
  --fd-space-10: 40px;
  --fd-space-12: 48px;

  --fd-radius-sm: 4px;
  --fd-radius-md: 6px;
  --fd-radius-lg: 8px;
  --fd-shadow-sm: 0 1px 2px rgb(29 44 56 / 4%);
  --fd-shadow-md: 0 12px 32px rgb(29 44 56 / 7%);
  --fd-control-height-sm: 32px;
  --fd-control-height-md: 36px;
  --fd-control-height-lg: 42px;
  --fd-focus-ring: 0 0 0 3px rgb(37 99 235 / 14%);

  /* Compatibility aliases. Existing layout CSS can migrate incrementally. */
  --ink: var(--fd-color-ink);
  --muted: var(--fd-color-muted);
  --line: var(--fd-color-line);
  --canvas: var(--fd-color-page);
  --surface: var(--fd-color-surface);
  --surface-muted: var(--fd-color-surface-soft);
  --blue: var(--fd-color-info);
  --blue-soft: var(--fd-color-info-soft);
  --teal: var(--fd-color-primary);
  --teal-soft: var(--fd-color-primary-soft);
  --amber: var(--fd-color-warning);
  --console-ink: var(--fd-color-ink);
  --console-muted: var(--fd-color-muted);
  --console-line: var(--fd-color-line);
  --console-page: var(--fd-color-page);
  --console-surface: var(--fd-color-surface);
  --console-soft: var(--fd-color-surface-soft);
  --console-teal: var(--fd-color-primary);
  --console-teal-soft: var(--fd-color-primary-soft);
  --console-blue: var(--fd-color-info);
  --console-danger: var(--fd-color-danger);
  --admin-ink: var(--fd-color-ink);
  --admin-muted: var(--fd-color-muted);
  --admin-border: var(--fd-color-line);
  --admin-page: var(--fd-color-page);
  --admin-surface: var(--fd-color-surface);
  --admin-accent: var(--fd-color-primary);
  --admin-accent-soft: var(--fd-color-primary-soft);
}

body {
  background: var(--fd-color-page);
  color: var(--fd-color-ink);
  font-family: var(--fd-font-sans);
  font-size: var(--fd-font-size-body);
  font-weight: var(--fd-font-weight-regular);
  line-height: var(--fd-line-height-body);
  letter-spacing: 0;
}

button,
input,
select,
textarea {
  font-family: inherit;
  letter-spacing: 0;
}

.fd-type-display,
.admin-home-heading h1 {
  font-size: var(--fd-font-size-display);
  font-weight: var(--fd-font-weight-bold);
  line-height: var(--fd-line-height-display);
  letter-spacing: 0;
}

.fd-type-page-title,
.admin-page-heading h2,
.training-page-heading h2,
.org-page-heading h2,
.management-head h2,
.login-panel h1 {
  font-size: var(--fd-font-size-page-title);
  font-weight: var(--fd-font-weight-semibold);
  line-height: var(--fd-line-height-title);
  letter-spacing: 0;
}

.fd-type-workspace-title,
.product-heading h1,
.customer h2,
.org-topbar h1 {
  font-size: var(--fd-font-size-workspace-title);
  font-weight: var(--fd-font-weight-medium);
  line-height: var(--fd-line-height-title);
  letter-spacing: 0;
}

.fd-type-section-title,
.section-head h2,
.section-heading h2,
.feedback-form-head h2,
.dashboard-section h3,
.history-detail-head h3,
.history-session-audit h4,
.attempt-detail-head h2,
.dialog-head h2,
.quality-failures h3,
.admin-no-access h2,
.admin-module h2 {
  font-size: var(--fd-font-size-section-title);
  font-weight: var(--fd-font-weight-semibold);
  line-height: var(--fd-line-height-title);
  letter-spacing: 0;
}

.fd-type-card-title,
.subsection-heading h3,
.task-item-head h3,
.my-task-head h3,
.personal-profile-card h3,
.phone-auth-panel h2,
.attempt-detail-body h3,
.feedback-item-head strong {
  font-size: var(--fd-font-size-card-title);
  font-weight: var(--fd-font-weight-semibold);
  line-height: var(--fd-line-height-title);
  letter-spacing: 0;
}

.fd-type-body,
.management-head p,
.training-page-heading p,
.admin-page-heading p,
.org-topbar p,
.section-head > p,
.task-item-head p,
.field-guidance,
.field-inline-help,
.history-detail,
.personal-center-body {
  font-size: var(--fd-font-size-body);
  line-height: var(--fd-line-height-body);
}

.fd-type-body-sm,
button,
.ui-button,
input,
select,
textarea,
.workspace-nav button,
.workspace-tools summary,
.workspace-tools button,
.sales-guide summary strong,
.organization-item strong,
.section-head > strong,
.organization-actions strong,
.checkbox-control span {
  font-size: var(--fd-font-size-body-sm);
  line-height: var(--fd-line-height-meta);
}

/* Prefer hierarchy from size, spacing and color. Weight is reserved for titles. */
strong,
b {
  font-weight: var(--fd-font-weight-regular);
}

button,
.ui-button,
.workspace-nav button,
.workspace-tools summary,
.workspace-tools button,
.admin-page-nav a,
.sales-guide summary strong,
.organization-item strong,
.section-head > strong,
.organization-actions strong,
.checkbox-control span,
label > span,
.field-label,
.task-form label > span,
.assignee-fieldset legend {
  font-weight: var(--fd-font-weight-regular);
}

.workspace-mode,
.section-eyebrow,
.training-side-heading span,
.admin-console-brand > div > span,
.training-page-heading > div > span,
.section-head > div > span,
.field-guidance details summary,
table th {
  font-weight: var(--fd-font-weight-medium);
}

.fd-type-meta,
.product-heading p,
#status,
.admin-page-nav a,
.training-page-heading > div > span,
.section-head > div > span,
.section-head span,
.rail-head span,
.field-guidance,
.field-inline-help,
.summary-band span,
.summary-band small,
.organization-token-quota,
.sales-guide summary span,
.training-side-heading strong,
.my-task-empty,
.feedback-empty,
.history-empty,
.ui-status,
.status-label,
.status-badge,
.feedback-status,
.lifecycle-badge,
.quality-badge {
  font-size: var(--fd-font-size-meta);
  line-height: var(--fd-line-height-meta);
}

.fd-type-caption,
.workspace-mode,
.section-eyebrow,
.training-side-heading span,
.admin-console-brand > div > span,
.organization-item span,
.product-version {
  font-size: var(--fd-font-size-caption);
  line-height: var(--fd-line-height-meta);
}

.fd-type-metric,
.summary-band strong,
.dashboard-card strong {
  font-size: var(--fd-font-size-metric);
  font-weight: var(--fd-font-weight-medium);
  line-height: 1.1;
  letter-spacing: 0;
}

.fd-numeric,
.ui-score,
.session-score-breakdown dd,
.score-dimension-heading > strong,
.summary-band strong,
.product-version {
  font-variant-numeric: tabular-nums;
}

/* Training is a focused work surface. Do not turn every live label, current
 * value and active control into a heading just because it changes in real time. */
.call .product-heading h1,
.training-workspace .customer h2,
.training-workspace .harness strong,
.training-workspace .harness-detail strong,
.training-workspace .active-task-banner strong,
.training-workspace .sales-guide summary strong,
.training-workspace .sales-guide-list strong,
.training-workspace .training-side-heading strong,
.training-workspace .line strong,
.training-workspace strong,
.training-workspace b {
  font-weight: var(--fd-font-weight-regular);
}

.call .brand-mark,
.call .workspace-mode,
.call .workspace-nav button.is-active,
.call .workspace-tools button.is-active,
.training-workspace .section-eyebrow,
.training-workspace .training-side-heading span,
.training-workspace .difficulty-control,
.training-workspace #startBtn,
.training-workspace #stopBtn {
  font-weight: var(--fd-font-weight-regular);
}

button,
.ui-button {
  min-height: var(--fd-control-height-md);
  padding: 0 12px;
  border: 1px solid var(--fd-color-line-strong);
  border-radius: var(--fd-radius-md);
  background: var(--fd-color-surface);
  color: var(--fd-color-ink-soft);
  font-size: var(--fd-font-size-body-sm);
  font-weight: var(--fd-font-weight-regular);
  line-height: 1;
  cursor: pointer;
  transition: border-color 140ms ease, background-color 140ms ease, color 140ms ease, box-shadow 140ms ease;
}

button:hover:not(:disabled),
.ui-button:hover:not(:disabled) {
  border-color: #9db1b8;
  background: #f6fafa;
}

button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.ui-button:focus-visible {
  outline: 0;
  box-shadow: var(--fd-focus-ring);
}

button:disabled,
input:disabled,
select:disabled,
textarea:disabled {
  color: var(--fd-color-disabled);
  cursor: not-allowed;
  opacity: 0.65;
}

.primary,
.topbar-primary-action,
.ui-button--primary {
  border-color: var(--fd-color-primary) !important;
  background: var(--fd-color-primary) !important;
  color: #ffffff !important;
}

.primary:hover:not(:disabled),
.topbar-primary-action:hover:not(:disabled),
.ui-button--primary:hover:not(:disabled) {
  border-color: var(--fd-color-primary-hover) !important;
  background: var(--fd-color-primary-hover) !important;
}

.secondary,
.ui-button--secondary {
  background: var(--fd-color-surface);
  color: var(--fd-color-ink-soft);
}

.danger,
.ui-button--danger {
  border-color: #e2b4af !important;
  background: var(--fd-color-surface) !important;
  color: var(--fd-color-danger) !important;
}

.danger:hover:not(:disabled),
.ui-button--danger:hover:not(:disabled) {
  border-color: var(--fd-color-danger) !important;
  background: var(--fd-color-danger-soft) !important;
}

input,
select,
textarea,
.ui-input {
  border: 1px solid var(--fd-color-line-strong);
  border-radius: var(--fd-radius-md);
  background: var(--fd-color-surface);
  color: var(--fd-color-ink);
}

input:focus,
select:focus,
textarea:focus,
.ui-input:focus {
  border-color: var(--fd-color-info) !important;
  outline: 0;
  box-shadow: var(--fd-focus-ring);
}

.ui-status,
.status-label,
.status-badge,
.feedback-status,
.lifecycle-badge,
.quality-badge {
  min-height: 24px;
  padding: 3px 8px;
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--fd-color-line-strong);
  border-radius: var(--fd-radius-sm);
  background: var(--fd-color-surface-soft);
  color: var(--fd-color-ink-soft);
  font-size: 12px;
  font-weight: var(--fd-font-weight-regular);
  line-height: 1.2;
}

.ui-status--success,
.status-label.is-active,
.status-badge.is-active,
.status-badge.is-completed,
.quality-badge.is-passed,
.feedback-status.status-fixed {
  border-color: var(--fd-color-primary-line);
  background: var(--fd-color-success-soft);
  color: var(--fd-color-success);
}

.ui-status--warning,
.status-label.is-pending,
.status-badge.is-pending {
  border-color: #ead29b;
  background: var(--fd-color-warning-soft);
  color: var(--fd-color-warning);
}

.ui-status--danger,
.status-label.is-inactive,
.status-badge.is-closed,
.status-badge.is-overdue,
.feedback-status.status-ignored {
  border-color: #e5bbb6;
  background: var(--fd-color-danger-soft);
  color: var(--fd-color-danger);
}

.ui-score,
.session-score-breakdown dd,
.score-dimension-heading > strong {
  font-variant-numeric: tabular-nums;
}

.ui-score--good { color: var(--fd-color-success); }
.ui-score--attention { color: var(--fd-color-warning); }
.ui-score--risk { color: var(--fd-color-danger); }

dialog {
  border-color: var(--fd-color-line);
  border-radius: var(--fd-radius-lg);
  box-shadow: 0 20px 60px rgb(20 35 48 / 18%);
}

dialog::backdrop {
  background: rgb(20 35 48 / 42%);
}

table th {
  background: var(--fd-color-surface-soft);
  color: var(--fd-color-muted);
  font-size: 12px;
  font-weight: var(--fd-font-weight-medium);
}

table td {
  color: var(--fd-color-ink-soft);
}

/* VI foundation: all pages inherit the same brand, surfaces and state language. */
body {
  background: var(--fd-page-tint);
  color: var(--fd-color-ink);
}

.brand-mark,
.admin-console-mark,
.admin-brand-mark,
.admin-home-mark {
  background: var(--fd-brand-ink) !important;
  color: #ffffff !important;
  border-radius: var(--fd-radius-md);
  font-weight: var(--fd-font-weight-medium);
}

.brand-mark.brand-logo-frame,
.admin-console-mark.brand-logo-frame,
.admin-brand-mark.brand-logo-frame,
.admin-home-mark.brand-logo-frame {
  overflow: hidden;
  padding: 0;
  border: 0;
  background: #ffffff !important;
  color: transparent !important;
  font-size: 0;
}

.official-brand-logo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.primary,
.topbar-primary-action,
.ui-button--primary,
#startBtn,
.my-task-actions button,
.login-panel #loginBtn,
.phone-auth-actions .primary,
.feedback-form-actions .primary {
  border-color: var(--fd-brand-jade) !important;
  background: var(--fd-brand-jade) !important;
  color: #ffffff !important;
}

.primary:hover:not(:disabled),
.topbar-primary-action:hover:not(:disabled),
.ui-button--primary:hover:not(:disabled),
#startBtn:hover:not(:disabled),
.my-task-actions button:hover:not(:disabled),
.login-panel #loginBtn:hover:not(:disabled),
.phone-auth-actions .primary:hover:not(:disabled),
.feedback-form-actions .primary:hover:not(:disabled) {
  border-color: var(--fd-brand-jade-hover) !important;
  background: var(--fd-brand-jade-hover) !important;
}

body :is(.call, .management-panel, .admin-module, .training-section, .summary-band, .org-section, .organization-rail, .scenario-builder, .admin-section-card) {
  border-color: var(--fd-border-subtle);
  background: var(--fd-surface-raised);
}

body :is(.topbar, .admin-shellbar, .admin-homebar, .admin-topbar, .org-topbar) {
  border-color: var(--fd-border-subtle);
  background: rgb(255 255 255 / 97%);
}

body :is(.history-summary, .history-runtime-config, .history-customer-context, .history-feedback, .history-session-audit, .active-task-banner, .personal-permission-list > div, .assignee-fieldset, .known-facts-field) {
  border-color: var(--fd-brand-jade-line);
  background: var(--fd-brand-jade-soft);
}

body :is(.workspace-nav button.is-active, .workspace-tools button.is-active, .admin-subnav a.is-current, .admin-page-nav a.is-current, .sidebar-tab.is-active, .step-link.is-active, .organization-item.is-active) {
  color: var(--fd-brand-jade);
  background: var(--fd-brand-jade-soft);
}

body :is(.history-item.is-active, .assignee-option:has(input:checked)) {
  border-color: var(--fd-brand-jade-line);
  background: var(--fd-brand-jade-soft);
}

body :is(.section-eyebrow, .admin-brand-eyebrow, .admin-console-brand > div > span, .admin-page-heading > div > span, .training-page-heading > div > span, .section-head > div > span, .section-heading > div > span) {
  color: var(--fd-brand-jade);
}

body :is(input, select, textarea) {
  border-color: var(--fd-color-line-strong);
  background: var(--fd-surface-raised);
  color: var(--fd-color-ink);
}

body :is(input, select, textarea):focus {
  border-color: var(--fd-color-info) !important;
  box-shadow: var(--fd-focus-ring);
}

body :is(.ui-status--success, .status-label.is-active, .status-badge.is-active, .quality-badge.is-passed, .feedback-status.status-fixed) {
  border-color: var(--fd-brand-jade-line);
  background: var(--fd-color-success-soft);
  color: var(--fd-color-success);
}

/* Text weight is deliberately quiet outside of actual headings and metrics. */
body :is(
  button,
  input,
  select,
  textarea,
  label,
  th,
  .ui-status,
  .status-label,
  .status-badge,
  .feedback-status,
  .lifecycle-badge,
  .quality-badge,
  .workspace-nav button,
  .workspace-tools summary,
  .workspace-tools button,
  .admin-subnav a,
  .admin-page-nav a,
  .admin-home-actions a,
  .return-training-link,
  .admin-module strong,
  .sidebar-tab,
  .step-link,
  .organization-item strong,
  .organization-actions strong,
  .installed-action-button,
  .task-item-actions button,
  .form-actions button,
  .history-item strong,
  .feedback-item-head strong,
  .regression-item-head strong
) {
  font-weight: var(--fd-font-weight-regular);
}

body :is(
  .admin-home-brand strong,
  .admin-home-heading > div > span,
  .admin-module-kicker,
  .admin-shellbar :is(.admin-console-brand, .admin-brand) > div > span,
  .admin-shellbar .admin-brand-eyebrow,
  .admin-console-brand > div > span,
  .admin-brand-eyebrow,
  .section-eyebrow
) {
  font-weight: var(--fd-font-weight-medium);
}

/*
 * Full-page typography map.
 * Legacy layouts stay responsible for geometry, while this final layer assigns
 * every reusable text role to the same small scale: 28 / 24 / 18 / 16 / 14 / 12 / 11.
 */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: var(--fd-font-weight-medium);
  letter-spacing: 0;
}

h1 { font-size: var(--fd-font-size-page-title); line-height: var(--fd-line-height-title); }
h2 { font-size: var(--fd-font-size-workspace-title); line-height: var(--fd-line-height-title); }
h3,
h4 { font-size: var(--fd-font-size-card-title); line-height: var(--fd-line-height-title); }

body :is(p, li, td, dd, dt, .line, .history-item, .feedback-item, .regression-item, .task-item, .my-task-item) {
  font-size: var(--fd-font-size-body);
  line-height: var(--fd-line-height-body);
}

body :is(small, .product-version, .workspace-mode, .section-eyebrow, .admin-brand-eyebrow, .admin-console-brand > div > span, .organization-item span) {
  font-size: var(--fd-font-size-caption);
  line-height: var(--fd-line-height-meta);
}

body :is(label > span, legend, th, .ui-status, .status-label, .status-badge, .feedback-status, .lifecycle-badge, .quality-badge, .admin-page-identity, .organization-token-quota, .field-guidance, .field-inline-help, .history-meta, .feedback-meta, .task-meta) {
  font-size: var(--fd-font-size-meta);
  line-height: var(--fd-line-height-meta);
}

/* Platform and page headings. */
.admin-home-heading h1 { font-size: var(--fd-font-size-display); }
.admin-page-heading h2,
.training-page-heading h2,
.org-page-heading h2,
.scenario-page-heading h2,
.management-head h2,
.login-panel h1 { font-size: var(--fd-font-size-page-title); }

/* Brand and live workspace headings. */
.product-heading h1,
.customer h2 { font-size: var(--fd-font-size-workspace-title); }
.admin-shellbar h1,
.admin-topbar h1,
.org-topbar h1,
.training-topbar h1,
.admin-home-brand strong { font-size: var(--fd-font-size-section-title); }

.call .product-heading h1 { font-size: var(--fd-font-size-card-title); }
.login-panel .product-heading h1 { font-size: var(--fd-font-size-page-title); }

/* Section, card and dialog headings. */
.section-head h2,
.section-heading h2,
.feedback-form-head h2,
.dashboard-section h3,
.history-detail-head h3,
.history-session-audit h4,
.attempt-detail-head h2,
.dialog-head h2,
.quality-dialog-head h2,
.quality-failures h3,
.admin-no-access h2,
.admin-module h2,
.sales-guide-layout h3 { font-size: var(--fd-font-size-card-title); }

.subsection-heading h3,
.task-item-head h3,
.my-task-head h3,
.personal-profile-card h3,
.phone-auth-panel h2,
.attempt-detail-body h3,
.feedback-item-head strong,
.history-item strong,
.regression-item-head strong { font-size: var(--fd-font-size-card-title); }

/* Reusable text groups with deliberately smaller supporting type. */
.customer p,
.management-head p,
.training-page-heading p,
.admin-page-heading p,
.org-topbar p,
.section-head > p,
.task-item-head p,
.admin-home-heading p,
.admin-module p,
.history-detail,
.personal-center-body,
.sales-guide-notice,
.sales-guide-list,
.sales-guide-prohibited,
.harness-detail p,
.edit-member-summary,
.dialog-status,
.org-status { font-size: var(--fd-font-size-body); }

.harness span,
.training-side-heading,
.sales-guide summary span,
.summary-band span,
.summary-band small,
.workspace-nav button,
.workspace-tools summary,
.workspace-tools button,
.admin-subnav a,
.admin-page-nav a,
.organization-item strong,
.section-head > strong,
.organization-actions strong,
.difficulty-control,
.difficulty-control select,
.learn-chip,
.active-task-banner,
.active-task-banner button,
.account-button,
#status { font-size: var(--fd-font-size-meta); line-height: var(--fd-line-height-meta); }

.training-workspace .harness strong,
.training-workspace .active-task-banner strong,
.training-workspace .sales-guide summary strong { font-size: var(--fd-font-size-body); line-height: var(--fd-line-height-meta); }

.training-workspace .training-side-heading span,
.training-workspace .training-side-heading strong { font-size: var(--fd-font-size-caption); line-height: var(--fd-line-height-meta); }

.organization-item strong { font-size: var(--fd-font-size-body); line-height: var(--fd-line-height-meta); }

/* Match the legacy admin-shell selector's specificity while keeping the shared scale authoritative. */
.admin-page-frame :is(.section-head h2, .section-heading h2) { font-size: var(--fd-font-size-section-title); }

.summary-band strong,
.dashboard-card strong { font-size: var(--fd-font-size-metric); }

.ui-empty-state,
.admin-empty-state,
.my-task-empty,
.feedback-empty,
.history-empty {
  border-color: #c8d7dc;
  background: #fbfdfd;
  color: var(--fd-color-muted);
}

@media (max-width: 640px) {
  button,
  .ui-button {
    min-height: 34px;
  }
}
