/* ── Typography — Inter ─────────────────────────────────────────────── */
:root {
  --font-base: 'Inter', system-ui, -apple-system, sans-serif;
}

html {
  font-size: 11px; /* base; rem values below are relative to this */
}

@media (min-width: 768px) {
  html {
    font-size: 12px;
  }
}

body {
  font-family: var(--font-base);
  font-size: 1rem;          /* 11–12 px — body text */
  font-weight: 400;
  line-height: 1.6;
  color: #212529;
  margin-bottom: 60px;
  background-color: #e9ecef;
}

/* Headers: 20–24 px */
h1, .h1 { font-size: 1.5rem;  font-weight: 800; line-height: 1.2; } /* 24 px */
h2, .h2 { font-size: 1.375rem; font-weight: 700; line-height: 1.25; } /* 22 px */
h3, .h3 { font-size: 1.25rem;  font-weight: 700; line-height: 1.3;  } /* 20 px */

/* Subheaders / Titles: 16–20 px */
h4, .h4 { font-size: 1.125rem; font-weight: 600; line-height: 1.35; } /* 18 px */
h5, .h5 { font-size: 1rem;     font-weight: 600; line-height: 1.4;  } /* 16 px */
h6, .h6 { font-size: 0.9375rem; font-weight: 600; line-height: 1.4; } /* 15 px */

/* Body text: 14–16 px — covered by body above; .text-sm for 14 px */
.text-sm  { font-size: 0.875rem; }  /* 14 px */

/* Metadata / Labels: 12–14 px */
small, .small { font-size: 0.8125rem; } /* 13 px */
.text-xs      { font-size: 0.75rem;   } /* 12 px */

/* Card headers, nav labels, table headers use Inter 600 */
.card-header,
.nav-link,
thead th,
label,
.form-label {
  font-family: var(--font-base);
  font-weight: 600;
}

/* Badge / pill text tightened */
.badge {
  font-family: var(--font-base);
  font-weight: 600;
  letter-spacing: .01em;
}

/* Button label weight */
.btn {
  font-family: var(--font-base);
  font-weight: 500;
  letter-spacing: .01em;
}

html {
  position: relative;
  min-height: 100%;
}
/* ─────────────────────────────────────────────────────────────────────── */

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

/* Custom Orange Theme - BAM gradient #f26522 → #e52d0e */
:root {
  --custom-orange: #f26522;
  --custom-orange-dark: #e52d0e;
  --custom-orange-light: #f5813d;
  --custom-orange-gradient: linear-gradient(135deg, #f26522 0%, #e52d0e 100%);
  --bam-breadcrumb-bg: #919191;
}

/* Primary color overrides */
.bg-primary {
  background: var(--custom-orange-gradient) !important;
}

.btn-primary {
  background-color: var(--custom-orange);
  border-color: var(--custom-orange);
}

.btn-primary:hover {
  background-color: var(--custom-orange-dark);
  border-color: var(--custom-orange-dark);
}

.btn-primary:focus, .btn-primary.focus {
  box-shadow: 0 0 0 0.2rem rgba(255, 141, 0, 0.5);
}

.text-primary {
  color: var(--custom-orange) !important;
}

/* Success color overrides for consistency */
.bg-success {
  background-color: var(--custom-orange) !important;
}

.btn-success {
  background-color: var(--custom-orange);
  border-color: var(--custom-orange);
}

.btn-success:hover {
  background-color: var(--custom-orange-dark);
  border-color: var(--custom-orange-dark);
}

.btn-success:focus, .btn-success.focus {
  box-shadow: 0 0 0 0.2rem rgba(255, 141, 0, 0.5);
}

/* Card header overrides */
.card-header.bg-primary {
  background-color: var(--custom-orange) !important;
}

.card-header.bg-success {
  background-color: var(--custom-orange) !important;
}

/* Badge overrides for primary and success */
.badge.bg-primary {
  background-color: var(--custom-orange) !important;
}

.badge.bg-success {
  background-color: var(--custom-orange) !important;
}

/* Toast notifications */
.toast.bg-success {
  background-color: var(--custom-orange) !important;
}

/* Focus states */
.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem var(--custom-orange);
}

/* Additional orange theme elements */
.navbar-brand {
  color: #ffffff !important;
}

.nav-link:hover {
  color: var(--custom-orange) !important;
}

.navbar-dark .nav-link:hover {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* Statistics cards in upload results */
.card.bg-info {
  background-color: var(--custom-orange-light) !important;
}

/* Custom styling for better orange theme integration */
.border-primary {
  border-color: var(--custom-orange) !important;
}

.text-success {
  color: var(--custom-orange) !important;
}

/* Statistics cards - create orange gradient theme */
.card.bg-info {
  background: linear-gradient(135deg, #ff8d00, #ff9a1a) !important;
}

.card.bg-warning {
  background: linear-gradient(135deg, #ffb84d, #ff8d00) !important;
}

/* Badge variations with orange theme */
.badge.bg-info {
  background-color: var(--custom-orange-light) !important;
}

.badge.bg-warning {
  background-color: #ffb84d !important;
}

.badge.bg-secondary {
  background-color: #666 !important;
}

/* Header backgrounds */
.card-header.bg-warning {
  background: linear-gradient(135deg, #ffb84d, #ff8d00) !important;
}

/* Cards stand out on light gray page background */
.card {
  background-color: #ffffff;
  border-radius: 8px;
  box-shadow: 0 2px 12px rgba(0,0,0,.08);
}

/* ── Breadcrumb Bar ────────────────────────────────────────────────── */
.bam-breadcrumb-bar {
  background-color: var(--bam-breadcrumb-bg);
  padding: 10px 0;
  box-shadow: 0 3px 10px rgba(0,0,0,.15);
}

.bam-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  font-size: .95rem;
  color: #fff;
  margin: 0;
}

.bam-breadcrumb a {
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  transition: opacity .15s;
}

.bam-breadcrumb a:hover {
  text-decoration: underline;
  opacity: .85;
}

.bam-bc-sep {
  opacity: .65;
  font-size: 1rem;
  line-height: 1;
  user-select: none;
}

.bam-bc-current {
  font-weight: 400;
  opacity: .9;
}

/* Navbar stands out on light gray */
.navbar {
  box-shadow: 0 2px 6px rgba(0,0,0,.08);
  padding-top: .75rem;
  padding-bottom: .75rem;
}

/* Navbar — compact so all items fit on one row */
.navbar .nav-link {
  font-size: .8rem;
  padding-left: .45rem;
  padding-right: .45rem;
  color: rgba(255,255,255,.9) !important;
}
.navbar .nav-link:hover,
.navbar .nav-link:focus {
  color: #fff !important;
  opacity: 1;
}
.navbar .navbar-brand {
  font-size: .9rem;
}
.navbar .dropdown-toggle::after {
  margin-left: .2em;
}