/* PlayCrew V6.4.3 — readable, consistent typography across the product. */
:root {
  --pc-text-xs: 11px;
  --pc-text-sm: 12px;
  --pc-text-md: 14px;
  --pc-text-lg: 16px;
}

html { font-size: 16px; }
body { font-size: 15px; line-height: 1.5; }

/* Semantic elements: no helper copy should require zooming the browser. */
small { font-size: var(--pc-text-xs) !important; line-height: 1.4; }
label { font-size: 13px !important; line-height: 1.35; }
input, select, textarea { font-size: var(--pc-text-md) !important; line-height: 1.35; }
button { font-size: 13px !important; line-height: 1.25; }
table th { font-size: var(--pc-text-sm) !important; line-height: 1.35; }
table td { font-size: 13px !important; line-height: 1.45; }

/* Navigation and global actions. */
.topbar nav a,
.topbar .auth-link,
.topbar .user-actions,
.topbar .signed-user,
.admin-sidebar nav > a,
.admin-exit { font-size: 14px !important; }

.primary-button,
.soft-button,
.danger-button,
.format-action,
.field-map-link,
.location-helper,
.wizard-actions .primary-button,
.wizard-footer .primary-button { font-size: 13px !important; }

/* Supporting copy, status and validation feedback. */
.field-validation-error,
.validation-summary-errors,
.success-message,
.error-message,
.field-submit-issues p,
.capacity-help,
.format-capacity-feedback,
.google-picker-status,
.removal-blocked-note,
.protected-profile-note,
.location-note { font-size: var(--pc-text-sm) !important; line-height: 1.45; }

/* Player profile and location. */
.profile-identity > small,
.profile-form > div > small,
.profile-location-card small,
.profile-location-facts small,
.profile-position,
.profile-kpis span { font-size: var(--pc-text-xs) !important; }
.profile-identity > p,
.profile-form > div > p,
.profile-location-card p,
.profile-form-section > header small { font-size: 13px !important; line-height: 1.5; }
.profile-position b,
.profile-location-facts b { font-size: 13px !important; }

/* Discovery, games, reservations and travel details. */
.field-business,
.field-card-tags i,
.field-card-bottom small,
.schedule-context-grid small,
.schedule-workspace > header small,
.schedule-day-toggle small,
.schedule-time label,
.schedule-reservations small { font-size: var(--pc-text-xs) !important; }
.field-address,
.field-card-bottom b,
.field-card-bottom em,
.selected-field-message,
.schedule-context-grid p,
.schedule-workspace > header p,
.schedule-reservations b,
.schedule-workspace > footer span { font-size: var(--pc-text-sm) !important; line-height: 1.45; }
.booking-builder-v62 .builder-form section p,
.checkout-lead,
.gateway-banner span,
.checkout-feature span { font-size: 13px !important; }

/* Business onboarding, fields and weekly schedules. */
.wizard-kicker,
.wizard-brand small,
.wizard-rail li span,
.wizard-section-title small,
.setup-progress,
.wizard-badge,
.wizard-rail li small,
.wizard-card > header small { font-size: var(--pc-text-xs) !important; }
.wizard-help p,
.wizard-fields label > small,
.wizard-footer span,
.wizard-card > header p,
.wizard-rail > p,
.wizard-rail-note small,
.wizard-actions span,
.maps-ready-box p,
.maps-config-card p { font-size: var(--pc-text-sm) !important; line-height: 1.45; }
.wizard-brand b,
.wizard-rail li b,
.wizard-help b,
.wizard-fields label,
.wizard-footer b,
.wizard-rail > a,
.wizard-rail-note b,
.wizard-actions b,
.maps-ready-box b,
.maps-config-card b,
.location-result b { font-size: 13px !important; }

/* Game-format catalog and CRUD. */
.format-hero small,
.format-create-card small,
.format-business-picker small,
.management-card-title > em,
.format-owner,
.format-card-head strong,
.format-rules small,
.format-usage small,
.format-edit-title small,
.format-config-grid label > span em,
.format-config-grid label.format-unavailable > span::after,
.format-legend span { font-size: var(--pc-text-xs) !important; }
.format-hero p,
.format-business-picker p,
.format-create-card label,
.format-metrics span,
.format-readonly-note,
.format-card-head p,
.format-rules p,
.format-usage b,
.format-editor-form label { font-size: var(--pc-text-sm) !important; line-height: 1.45; }
.format-metrics b { font-size: 13px !important; }

/* Administration, access profiles and account security. */
.admin-nav-label,
.admin-header > div > small,
.panel-title small,
.admin-form-card > div > small,
.team-create-card header small,
.team-associate-card > small,
.member-context-chips i,
.account-editor-card > header small,
.account-editor-card > header > em,
.profile-security-card > div > small,
.permission-profile-card header > em,
.permission-groups > section > small,
.system-profile-chip,
.access-role-chip { font-size: var(--pc-text-xs) !important; }
.panel-title p,
.admin-form-card p,
.team-create-card p,
.team-associate-card p,
.account-editor-card header p,
.account-editor-grid label,
.password-security-note p,
.account-editor-actions small,
.profile-security-card p,
.permission-profile-card header p,
.profile-unrestricted p,
.permission-groups em,
.access-profile-summary span { font-size: var(--pc-text-sm) !important; line-height: 1.45; }
.password-security-note b,
.account-editor-actions b,
.profile-security-card label,
.permission-groups b { font-size: 13px !important; }

@media (max-width: 800px) {
  body { font-size: 15px; }
  .topbar nav a,
  .admin-sidebar nav > a { font-size: 13px !important; }
  input, select, textarea { font-size: 16px !important; } /* Prevents mobile browser zoom on focus. */
  table th, table td { font-size: 12px !important; }
}
