/* DABN typography v1: shared by every HTML entry point, including public pages.
 * Important declarations in this layer intentionally outrank legacy unlayered
 * module rules. Keep geometry, colors, visibility and business logic elsewhere.
 * Minimum visible text: 10px. Font-size:0 used to hide sidebar labels is retained.
 */
@layer dabnTypography;
@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/dabn/nunito-400.ttf') format('truetype')}
@font-face{font-family:Nunito;font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/dabn/nunito-500.ttf') format('truetype')}
@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/dabn/nunito-600.ttf') format('truetype')}
@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/dabn/nunito-700.ttf') format('truetype')}
@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/dabn/poppins-400.ttf') format('truetype')}
@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/dabn/poppins-500.ttf') format('truetype')}
@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/dabn/poppins-600.ttf') format('truetype')}
@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/dabn/poppins-700.ttf') format('truetype')}
@layer dabnTypography {
  :root {
    --dabn-font-body: 'Nunito', Arial, sans-serif;
    --dabn-font-heading: 'Poppins', Arial, sans-serif;
    --dabn-text-micro: 10px;
    --dabn-text-caption: 11px;
    --dabn-text-label: 12px;
    --dabn-text-body: 13px;
    --dabn-text-subheading: 14px;
    --dabn-text-section: 18px;
    --dabn-text-title: 26px;
    --dabn-text-kpi: 28px;
  }
  body, body :where(*) { font-family: var(--dabn-font-body) !important; }
  body { font-size:var(--dabn-text-body) !important; font-weight:400 !important; line-height:1.5 !important; }
  p, li, td, input, select, textarea, option, [role="textbox"] {
    font-size:var(--dabn-text-body) !important;
  }
  input, select, textarea, option, [role="textbox"] { font-weight:400 !important; line-height:1.5 !important; }
  input::placeholder, textarea::placeholder { font-family:var(--dabn-font-body) !important; font-size:inherit !important; font-weight:400 !important; }
  th, label, legend, [class$="-label"], .label {
    font-size:var(--dabn-text-label) !important; font-weight:600 !important; line-height:1.5 !important;
  }
  th { font-size:var(--dabn-text-caption) !important; }
  b, strong { font-weight:700 !important; }
  sub, sup { font-size:10px !important; }
  small, .muted, [class$="-muted"], .subtitle, [class$="-subtitle"], .help, [class$="-help"],
  .hint, [class$="-hint"], .meta, [class$="-meta"], .stat-detail, [class$="-stat-detail"],
  [class$="-stats-note"], .company-detail {
    font-size:var(--dabn-text-caption) !important; font-weight:400 !important; line-height:1.5 !important;
  }
  .badge, [class*="-badge"], .pill, .status, [class$="-status"], .status-active,
  .pcm-role, .pd-status, .cr-status, .fc-status-badge {
    font-size:var(--dabn-text-caption) !important; font-weight:600 !important; line-height:1.5 !important;
  }
  .section-title, [class$="-section-title"], .card-title, [class$="-card-title"],
  .title, .box-title, .scope-title, .profile-card-title, .pcm-edit-title, .pcm-check-title,
  .fc-ms-title, .fc-uper-title, .item-title, .payment-info-title,
  .card-head > strong, [class$="-card-head"] > strong, .cd-directory-title > strong,
  .cd-list-head > strong, .bank-title, .cr-title {
    font-family:var(--dabn-font-heading) !important; font-size:var(--dabn-text-subheading) !important;
    font-weight:600 !important; line-height:1.4 !important;
  }
  h1, h2, h3, h4, h5, h6, h1 *, h2 *, h3 *, h4 *, h5 *, h6 * {
    font-family:var(--dabn-font-heading) !important; font-weight:600 !important; line-height:1.35 !important;
  }
  h1 { font-size:var(--dabn-text-title) !important; }
  .wh-title { font-family:var(--dabn-font-heading) !important; font-size:var(--dabn-text-title) !important; font-weight:600 !important; line-height:1.35 !important; }
  .brand > strong, .mobile-nav-title { font-family:var(--dabn-font-heading) !important; font-size:14px !important; font-weight:700 !important; }
  h2 { font-size:var(--dabn-text-section) !important; }
  h3 { font-size:16px !important; }
  h4 { font-size:var(--dabn-text-subheading) !important; }
  h5 { font-size:var(--dabn-text-body) !important; }
  h6 { font-size:var(--dabn-text-label) !important; }
  /* Heading labels inherit the heading scale, not a legacy span rule. */
  :is(h1,h2,h3,h4,h5,h6) > :is(span,a,strong,b) { font-size:inherit !important; }
  button, .btn, .button, a[class*="-btn"], [role="button"], [type="button"], [type="submit"], [type="reset"],
  button :is(span,strong,b), .btn :is(span,strong,b), .button :is(span,strong,b) {
    font-family:var(--dabn-font-heading) !important; font-size:var(--dabn-text-label) !important;
    font-weight:600 !important; line-height:1.5 !important;
  }
  [role="tab"], .tabs > a, [class$="-tabs"] > a {
    font-family:var(--dabn-font-heading) !important; font-size:var(--dabn-text-label) !important; font-weight:600 !important;
  }
  .stat > strong, [class$="-stat"] > strong, .kpi > strong, [class$="-kpi"] > strong, .summary > strong,
  .stat-value, [class$="-stat-value"], .kpi-value, [class$="-kpi-value"] {
    font-family:var(--dabn-font-heading) !important; font-size:var(--dabn-text-kpi) !important;
    font-weight:700 !important; line-height:1.2 !important; font-variant-numeric:tabular-nums;
  }
  .stat > span, [class$="-stat"] > span, .kpi > span, [class$="-kpi"] > span {
    font-size:var(--dabn-text-caption) !important; font-weight:600 !important;
  }
  /* Labels only: never unhide the raw-text links used by the collapsed sidebar. */
  #spMainNav .sp-nav-label { font-family:var(--dabn-font-body) !important; font-size:13px !important; font-weight:600 !important; }
  .sp-workspace-text small, .sp-user-role, .sp-brand-subtitle { font-size:10px !important; font-weight:600 !important; }
  @media(max-width:700px) {
    :root { --dabn-text-title:22px; --dabn-text-kpi:24px; }
    /* Prevent mobile browsers from zooming into small text fields. */
    input:not([type="button"]):not([type="submit"]):not([type="reset"]), select, textarea { font-size:16px !important; }
  }
}
