/* ============================================================
   Web Smart Health — global styles
   Responsive, mobile-first. Bootstrap 5.3 handles the grid.
   ============================================================ */

:root {
  --brand-green: #04AA6D;
  --brand-orange: #D35400;
  --brand-blue: #034658;
  --brand-soft: #e8f5e9;
}

html, body { height: 100%; }
body {
  font-family: 'Sarabun', 'Tahoma', 'Segoe UI', system-ui, -apple-system, sans-serif;
  background: #f6f8fa;
  color: #222;
}

/* Pre-login & login backgrounds */
.page-prelogin, .page-login {
  background: linear-gradient(135deg, #e3f2fd 0%, #fff8e1 100%);
}

/* Card consistency */
.card { border-radius: .75rem; }
.card-header { border-top-left-radius: .75rem !important; border-top-right-radius: .75rem !important; }

/* Result tables */
.result-card .result-header {
  background: var(--brand-green);
  color: #fff;
}
.result-card table thead th {
  background: var(--brand-soft);
  color: var(--brand-blue);
  white-space: nowrap;
}
.result-card table tfoot td {
  background: #fffbe6;
}

/* Group filter pills active state */
.group-filter.active {
  background-color: #6c757d !important;
  color: #fff !important;
  border-color: #6c757d !important;
}

/* Badges */
.badge { font-weight: 600; }

/* Mobile tweaks */
@media (max-width: 575.98px) {
  h4 { font-size: 1.1rem; }
  .card-header h5 { font-size: 1rem; }
  .table-sm { font-size: .82rem; }
  .navbar-brand { font-size: 1rem; }
}

/* Print stylesheet (for the on-screen HTML report — `window.print()`) */
@media print {
  .no-print, nav.navbar, footer.site-footer { display: none !important; }
  body { background: #fff; }
  .card { box-shadow: none !important; border: none !important; }
  .table { font-size: 11pt; }
  .result-card { page-break-inside: avoid; }
  a { color: #000; text-decoration: none; }
  /* Avoid printing icon glyphs that lack outline */
  .bi { display: none; }
}
