/* "Middle of the road" theme — 1.5's exact layouts in the 2.0 Hybrid's warmth.
   Opt-in per session (?theme=warm); ?theme=classic flips back. No layout changes. */
body { background: #FAF8F1; color: #333B34; }
.navbar, .navbar.bg-white, nav.navbar { background: #FDFCF7 !important; border-bottom: 1px solid #E8E2D4; }
.card { border-color: #E8E2D4; border-radius: 10px; box-shadow: 0 1px 2px rgba(28,30,25,.05); }
.card .card-header { background: #FBFAF5; border-bottom-color: #EFEADC; }
.table thead th, .table > :not(caption) > * > th { background: #F7F4EA; border-color: #E8E2D4; }
.table-bordered td, .table-bordered th, .table > :not(caption) > * > * { border-color: #EDE8DB; }
.table-striped > tbody > tr:nth-of-type(odd) > * { background-color: #FBFAF5; }
.btn { border-radius: 7px; }
.btn-outline-secondary { border-color: #D8D2C2; color: #585E58; }
.btn-outline-secondary:hover { background: #F2EFE6; color: #1D211F; border-color: #C9C2B0; }
.form-control, .form-select { border-color: #DDD6C6; border-radius: 7px; }
.form-control:focus, .form-select:focus { border-color: #1F6B47; box-shadow: 0 0 0 .2rem rgba(31,107,71,.12); }
.modal-content { border-radius: 12px; border-color: #E8E2D4; }
.alert { border-radius: 10px; }
.badge { border-radius: 6px; }
.dropdown-menu { border-color: #E8E2D4; border-radius: 10px; box-shadow: 0 8px 22px -14px rgba(28,30,25,.25); }
.list-group-item { border-color: #EDE8DB; }
h1, h2, h3, h4, h5 { color: #333B34; }
.text-muted { color: #6C7268 !important; }
a { color: #1F6B47; }
a:hover { color: #1A5C3C; }
.btn-primary, .bg-primary { background-color: #1F6B47 !important; border-color: #1F6B47 !important; }
.btn-primary:hover { background-color: #1A5C3C !important; }
.text-primary { color: #1F6B47 !important; }
.page-link { color: #1F6B47; }

/* ---- round 2: closer to the Hybrid ---- */
/* The pine top bar — 2.0's signature, same layout */
header .navbar, header nav.navbar, .topnav-menu { background: #14301F !important; border-bottom: 1px solid #28472F; }
header .navbar-brand img { filter: brightness(0) invert(1); opacity: .95; }
header .navbar .nav-link, header .navbar .nav-link.text-primary { color: #EAF1EA !important; font-weight: 500; }
header .navbar .nav-link:hover { color: #FFFFFF !important; }
header .navbar .nav-link i { color: #8FB49C; }
header .navbar form input.form-control {
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14);
  color: #EAF1EA; border-radius: 7px;
}
header .navbar form input.form-control::placeholder { color: #8FB49C; }
header .navbar form .btn-light {
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); color: #CFE0D4;
}
header .navbar .dropdown-toggle, header .navbar .navbar-text { color: #EAF1EA !important; }
header .navbar .badge.bg-danger { background: #1F6B47 !important; box-shadow: 0 0 0 2px #14301F; }

/* Serif display titles — Fraunces for the page-title moments only */
body > .container > h1, body > .container > h2, body > .container > h3,
.container h2.mb-0, .container h3.mb-0, h3.mb-0 {
  font-family: 'Fraunces', Georgia, serif; font-weight: 600; letter-spacing: -.015em;
}

/* Flat status chips (Hybrid tints; semantics unchanged) */
.badge.bg-success { background: #4E9670 !important; }
.badge.bg-warning { background: #F6E4B4 !important; color: #6E4E12 !important; }
.badge.bg-danger:not(.rounded-pill) { background: #C5665C !important; }
.alert-danger { background: #FBE7E3; border-color: #EFC4BC; color: #A2453B; }
.alert-warning { background: #FAF0D9; border-color: #E9D8A9; color: #8A6316; }
.alert-success { background: #E8F1EA; border-color: #CBE0D3; color: #2C6B47; }
.table-hover > tbody > tr:hover > * , .table tbody tr:hover > * { background-color: #FBFAF7; }

/* ---- login page (pre-session, warm by default 2026-07-28) ---- */
.bg-gradient2 { background: #FAF7EF !important; }
.bg-gradient2 .btn-primary, form[action="/login"] .btn-primary {
  background: #1F6B47 !important; border-color: #1F6B47 !important;
}
.bg-gradient2 .btn-primary:hover, form[action="/login"] .btn-primary:hover {
  background: #1A5C3C !important; border-color: #1A5C3C !important;
}

.login-dots [data-bs-target].active { background-color: #1F6B47 !important; }

/* ---- style-sweep round 1 (2026-07-28): kill remaining teal/info + tune emerald to pine ---- */
.badge.bg-info, .badge.bg-info-subtle {
  background: #E8F1EA !important; color: #2C6B47 !important;
}
.text-info-emphasis { color: #2C6B47 !important; }
.btn-success, .btn-primary { background: #1F6B47 !important; border-color: #1F6B47 !important; }
.btn-success:hover, .btn-primary:hover { background: #1A5C3C !important; border-color: #1A5C3C !important; }

/* ---- style-sweep round 2 (styleC): FullCalendar chrome + schedule day bands ---- */
.fc .fc-button-primary {
  background: #1F6B47 !important; border-color: #1F6B47 !important; color: #fff !important;
}
.fc .fc-button-primary:hover, .fc .fc-button-primary:not(:disabled):active,
.fc .fc-button-primary:not(:disabled).fc-button-active {
  background: #14301F !important; border-color: #14301F !important;
}
.fc .fc-button-primary:disabled { background: #8FA096 !important; border-color: #8FA096 !important; }
.card-header.bg-light { background: #F1EBDB !important; }

/* ---- style-sweep round 3 (styleA): teal pills, tab underline, outline-primary ---- */
.btn-info {
  background: #E8F1EA !important; border-color: #CBE0D3 !important; color: #1A5C3C !important;
}
.btn-info:hover { background: #D8E9DD !important; border-color: #1F6B47 !important; color: #14301F !important; }
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link {
  border-color: #E8E2D4 #E8E2D4 #fff !important; color: #1A5C3C !important;
  border-bottom: 3px solid #1F6B47 !important;
}
.nav-tabs .nav-link { color: #37423B !important; }
.btn-outline-primary {
  color: #1F6B47 !important; border-color: #1F6B47 !important; background: transparent !important;
}
.btn-outline-primary:hover { background: #1F6B47 !important; color: #fff !important; }

/* ---- counsel-final (2026-07-30): nav-pills were the lone Bootstrap blue ---- */
.nav-pills .nav-link { color: #37423B; }
.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
  background-color: #1F6B47 !important; color: #fff !important;
}

/* ---- sticky first column on wide logistics tables (offered 07-22, shipped 07-28) ---- */
.sticky-first-col th:first-child, .sticky-first-col td:first-child {
  position: sticky; left: 0; z-index: 2;
  background: #fff; box-shadow: 1px 0 0 #E8E2D4;
}
.sticky-first-col thead th:first-child { background: #F7F4EC; z-index: 3; }
.sticky-first-col tr.table-danger td:first-child { background: #F8D7DA; }

/* ---- fix: legacy theme forces selects to 80px tall (collides with tables on cream) ---- */
select.form-select { height: auto !important; min-height: 0 !important; }
select.form-select-sm { padding-top: .3rem !important; padding-bottom: .3rem !important; }
