/* Shared screen typography. Official documents retain their own print styles. */
:root {
  --ko-type-meta: 10px;
  --ko-type-control: 11px;
  --ko-type-body: 12px;
  --ko-type-subheading: 14px;
  --ko-type-heading: 16px;
}

body:not(.login-active) { font-size: var(--ko-type-body); }

/* Navigation, controls, and page content use a small, predictable scale. */
.shell .nav-item, .shell .nav-group-toggle { font-size: var(--ko-type-body); }
.shell .nav-sub-item, .shell .side-profile-button, .shell .side-signout-button,
.shell .btn, .shell .dashboard-tabs button, .shell .staff-role-tab {
  font-size: var(--ko-type-control);
}
.shell .card p, .shell .section-title p, .shell .report-header p,
.shell .dashboard-section-title p, .shell .command-hero p,
.shell .financial-pack-head p, .shell .cogs-hero p,
.shell .table, .shell .staff-list-table, .shell .note,
.shell .official-note, .shell .payroll-warning,
.shell .ops-access-note, .shell .financial-disclaimer {
  font-size: var(--ko-type-body);
}
.shell .field, .shell .report-select-field > span,
.shell .table th, .shell .staff-list-table th,
.shell .kpi-card small, .shell .command-mini small,
.shell .command-mini span, .shell .command-readiness-row small,
.shell .badge, .shell .delta, .shell .staff-role-tab-count,
.shell .staff-list-table td small, .shell .table td small,
.shell .staff-list-table td::before, .shell .staff-actions-menu .btn,
.shell .brand small, .shell .side-profile-copy small,
.shell .global-branch-scope > span, .shell #topRole {
  font-size: var(--ko-type-meta);
}
.shell .card h3, .shell .dashboard-section-title h3 {
  font-size: var(--ko-type-subheading);
}
.shell .card h2, .shell .section-title h2, .shell .report-header h2,
.shell .modal-head h2 { font-size: var(--ko-type-heading); }

/* Inputs display values clearly. On phones, 16px avoids focus zoom in Safari. */
.shell .field input, .shell .field select, .shell .field textarea,
.shell .compact, .shell .smart-search input,
.shell .report-select-field input, .shell .report-select-field select {
  font-size: var(--ko-type-body);
}
@media (max-width: 600px) {
  .shell .field input, .shell .field select, .shell .field textarea,
  .shell .compact, .shell .smart-search input,
  .shell .report-select-field input, .shell .report-select-field select {
    font-size: 16px !important;
  }
}

/* Global loading status uses the same type hierarchy as the workspace. */
.cloud-loading-copy #cloudLoadingText { font-size: var(--ko-type-body); }
.cloud-loading-copy .cloud-loading-quote,
.cloud-loading-copy .cloud-loading-meta { font-size: var(--ko-type-meta); }
