/* =========================================================
   GLOBAL TYPOGRAPHY
   Loaded last on purpose: this is the app-wide readability layer.
========================================================= */

:root {
  --ui-font-base: 14px;
  --ui-font-small: 12px;
  --ui-font-control: 13px;
}

html {
  -webkit-text-size-adjust: 100%;
}

body {
  font-size: var(--ui-font-base);
  line-height: 1.5;
}

button,
input,
select,
textarea {
  font-size: var(--ui-font-control) !important;
}

small {
  line-height: 1.45;
}

/* ---------- Dashboard / global navigation ---------- */
.page-btn {
  font-size: 14px !important;
}

.hero-kicker,
.year-label,
.logo-sub,
.stat-label,
th,
.badge,
.footer,
.hero-user-pill,
.hero-account-link {
  font-size: 12px !important;
}

.stat-sub,
.prow-val,
td {
  font-size: 13px !important;
}

/* ---------- Match page ---------- */
.winbar-legend span,
.mc-num,
.mc-gio,
.mc-venue-sep,
.mc-date,
.mc-cost,
.mc-chevron,
.roster-label,
.player-chip,
.chip-goals,
.mc-meta-item,
.season-pie-legend-item,
.match-result-opponent,
.match-result-section__title,
.match-result-section__sub,
.match-result-score-grid label,
.match-result-member__info strong,
.match-result-member__info small,
.match-result-empty-members {
  font-size: 13px !important;
}

#page-lich-kq .match-manager-toolbar__eyebrow,
#page-lich-kq .match-manager-dialog__eyebrow,
#page-lich-kq .match-result-split-preview span,
#page-lich-kq .match-result-finance-summary span,
#page-lich-kq .match-result-member__goals > span,
#page-lich-kq .match-result-member__goals > small {
  font-size: 16px !important;
}

#page-lich-kq .match-manager-toolbar__sub,
#page-lich-kq .match-manager-field > span,
#page-lich-kq .match-manager-field > small,
#page-lich-kq .match-manager-number-input > small,
#page-lich-kq .match-manager-add-btn,
#page-lich-kq .match-manager-secondary-btn,
#page-lich-kq .match-manager-primary-btn,
#page-lich-kq .match-result-edit-btn,
#page-lich-kq .match-schedule-edit-btn--text,
#page-lich-kq .match-edit-caption,
#page-lich-kq .match-result-member__goals input,
.match-result-selection-actions button {
  font-size: 12px !important;
}

/* ---------- Finance / contribution ---------- */
.club-finance-card__eyebrow,
.club-finance-card__chip,
#page-dong-quy .club-contrib-card__eyebrow,
#page-dong-quy .club-contrib-card__chip {
  font-size: 11px !important;
}

.club-finance-card__note,
.club-finance-card__alert-label,
#page-dong-quy .club-contrib-card__note,
#page-dong-quy .club-contrib-card__alert-label {
  font-size: 13px !important;
}

/* ---------- Members ---------- */
.member-ho,
.member-info-row,
.badge-active,
.badge-nghi {
  font-size: 12px !important;
}

#page-thanh-vien .member-manager-toolbar__eyebrow,
#page-thanh-vien .member-manager-dialog__eyebrow,
#page-thanh-vien .member-fund-summary > span,
#page-thanh-vien .member-fund-summary small {
  font-size: 16px !important;
}

#page-thanh-vien .member-manager-toolbar__sub,
#page-thanh-vien .member-empty-state span,
#page-thanh-vien .member-manager-dialog__head p,
#page-thanh-vien .member-manager-field > span,
#page-thanh-vien .member-manager-field > small,
#page-thanh-vien .member-initial-fund__head span,
#page-thanh-vien .member-fund-add-btn,
#page-thanh-vien .member-status-btn,
#page-thanh-vien .member-photo-btn,
#page-thanh-vien .member-file-picker__button,
#page-thanh-vien .member-file-picker__name,
#page-thanh-vien .member-player-edit-btn {
  font-size: 12px !important;
}

#page-thanh-vien .member-manager-add-btn,
#page-thanh-vien .member-manager-secondary-btn,
#page-thanh-vien .member-manager-primary-btn,
#page-thanh-vien .member-initial-fund__head strong {
  font-size: 13px !important;
}

#page-thanh-vien .member-football-meta > span {
  font-size: 10px !important;
}

/* ---------- Auth / My Teams ---------- */
.auth-brand-kicker,
.teams-brand-kicker,
.teams-eyebrow {
  font-size: 16px !important;
}

.auth-field label,
.auth-field span,
.auth-validation,
.auth-profile-note,
.auth-file-picker__button,
.auth-file-picker__name,
.team-card-meta,
.team-media-alert,
.team-media-reset-btn {
  font-size: 12px !important;
}

.auth-check,
.auth-secondary-btn,
.auth-primary-btn,
.auth-footer-text,
.teams-link-btn,
.teams-user-name,
.teams-create-btn,
.teams-alert,
.team-card-fullname,
.team-open-btn,
.team-media-btn,
.team-join-admin-btn {
  font-size: 13px !important;
}

.team-role-badge,
.team-join-admin-btn > span {
  font-size: 11px !important;
}

/* ---------- Join Team page ---------- */
.join-team-cover__copy small,
.join-team-expire {
  font-size: 11px !important;
}

.join-team-cover__copy span,
.join-team-description,
.join-team-alert,
.join-team-state > span,
.join-team-primary-btn,
.join-team-secondary-btn,
.join-team-footer a,
.join-team-invalid p {
  font-size: 13px !important;
}

.join-team-state > strong {
  font-size: 15px !important;
}

/* ---------- Owner: JoinRequests / permissions ---------- */
.join-admin-section-kicker {
  font-size: 11px !important;
  letter-spacing: 1.2px;
}

.join-admin-link-card h2,
.join-admin-section h2 {
  font-size: 18px !important;
}

.join-admin-link-card p,
.join-admin-alert,
.join-admin-empty,
.join-admin-generated strong,
.join-admin-note {
  font-size: 13px !important;
  line-height: 1.55;
}

.join-admin-revoke-btn,
.join-admin-copy-row input,
.join-admin-copy-row button {
  font-size: 12px !important;
}

.join-request-copy > strong {
  font-size: 15px !important;
}

.join-request-copy > span,
.join-request-meta {
  font-size: 12px !important;
}

.join-request-reject,
.join-request-approve {
  font-size: 12px !important;
}

.join-team-user-row strong,
.join-team-user-identity strong {
  font-size: 14px !important;
}

.join-team-user-row span:not(.team-role-badge),
.join-team-user-identity > span {
  font-size: 12px !important;
}

.join-team-user-identity small {
  font-size: 11px !important;
  line-height: 1.45;
}

.join-info strong {
  font-size: 13px !important;
}

.join-info span {
  font-size: 12px !important;
  line-height: 1.6;
}

.join-role-select,
.join-legacy-select,
.join-role-save-btn,
.join-legacy-link-btn {
  font-size: 12px !important;
}

.teams-pending-joins__head > span,
.teams-pending-join-row strong,
.teams-pending-join-row span,
.teams-pending-join-state b,
.teams-pending-join-state small {
  font-size: 12px !important;
}

/* ---------- Dashboard hero control panel ---------- */
.fm-hero__eyebrow,
.fm-hero__user small,
.fm-hero__season-head small,
.fm-hero__teams-copy small,
.fm-background-dialog__head small,
.fm-background-current span,
.fm-background-field small {
  font-size: 11px !important;
}

.fm-hero__meta,
.fm-hero__logout,
.fm-hero__teams-copy strong,
.fm-hero__season-head strong,
.fm-hero__season-head > span,
.fm-hero__media-toast,
.fm-background-dialog__head p,
.fm-background-field > span,
.fm-background-secondary-btn,
.fm-background-primary-btn,
.fm-file-picker__button,
.fm-file-picker__name {
  font-size: 12px !important;
}

@media (max-width: 760px) {
  body {
    font-size: 14px;
  }

  .page-btn {
    font-size: 13px !important;
  }

  .join-admin-link-card h2,
  .join-admin-section h2 {
    font-size: 17px !important;
  }
}
