/*
Typography Option 1 — Operations / Professional UI
Best fit if the dashboard should feel like an airline operations tool:
neutral, compact, structured, and low-drama.
Suggested font stack: IBM Plex Sans if available, then system UI.
*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

:root {
  --font-sans: "Poppins", "IBM Plex Sans", "Inter", "Segoe UI", Roboto, Arial, sans-serif;
  --font-display: "Poppins", "IBM Plex Sans", "Inter", "Segoe UI", Roboto, Arial, sans-serif;

  --type-weight-regular: 400;
  --type-weight-medium: 500;
  --type-weight-semibold: 600;
  --type-weight-bold: 700;
  --type-weight-extrabold: 800;
  --type-weight-black: 900;

  --letter-tight: -0.015em;
  --letter-normal: 0;
  --letter-wide: 0.015em;
}

body {
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: var(--type-weight-regular);
  line-height: 1.54;
  letter-spacing: var(--letter-normal);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
.profile-heading h1,
.card-title-row h2,
.quick-actions h2 {
  font-family: var(--font-display);
  font-weight: var(--type-weight-semibold);
  letter-spacing: var(--letter-tight);
}

.profile-heading h1 {
  font-size: 1.28rem;
}

.card-title-row h2,
.quick-actions h2 {
  font-size: .98rem;
}

.crew-welcome .muted {
  font-size: 1.08rem;
  font-weight: var(--type-weight-semibold);
}

.crew-welcome .fw-semibold {
  font-size: 1.32rem;
  font-weight: var(--type-weight-semibold) !important;
}

.crew-id {
  font-size: 1.02rem;
  font-weight: var(--type-weight-semibold);
}

.sidebar-link {
  font-size: .92rem;
  font-weight: var(--type-weight-medium);
  letter-spacing: var(--letter-normal);
}

.sidebar-submenu a,
.nav-section-label {
  font-weight: var(--type-weight-medium);
}

.nav-section-label {
  font-size: .74rem;
  letter-spacing: .055em;
}

.profile-heading p,
.profile-stats span,
.flight-metrics span,
.next-flight-footer span,
.time-stack span,
.stat-item span,
.training-item span {
  font-weight: var(--type-weight-medium);
}

.profile-stats strong,
.flight-metrics strong,
.next-flight-footer strong,
.flight-number strong,
.route-row strong,
.stat-item strong,
.time-stack strong,
.training-item p {
  font-weight: var(--type-weight-semibold);
  letter-spacing: var(--letter-tight);
}

.stat-item strong {
  font-size: 1.46rem;
}

.btn,
.language-switch button,
.status-chip,
.badge {
  /* Bold to match the branded buttons (--bs-btn-font-weight:700) and the
     standardised badge weight; was semibold, which silently overrode both. */
  font-weight: var(--type-weight-bold);
  letter-spacing: var(--letter-normal);
}

.feed-item strong,
.training-item strong,
.user-menu .dropdown-item,
.quick-grid button {
  font-weight: var(--type-weight-semibold);
}

.feed-item p,
.company-row p,
.flash-content span {
  font-weight: var(--type-weight-regular);
  line-height: 1.45;
}


/* Keep image badges consistent in the Operations typography variant. */
.rank-badge {
  height: 26px;
}


.u-fw-medium { font-weight: var(--type-weight-medium); }
.u-fw-semibold { font-weight: var(--type-weight-semibold); }
.u-fw-bold { font-weight: var(--type-weight-bold); }

