/* Base font sizing */
html { font-size: 14px; }

@media (min-width: 768px) {
  html { font-size: 16px; }
}

.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(--bs-primary); }

html { position: relative; min-height: 100%; }

body { margin-bottom: 60px; }

.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; }

/* Modern, simple color palette via Bootstrap CSS variables */
:root {
  /* Orange & Black theme */
  --bs-primary: #f97316;       /* orange-500 */
  --bs-secondary: #111827;     /* near-black (slate-900) */
  --bs-success: #ea580c;       /* deep orange for accents */
  --bs-info: #fb923c;          /* light orange */
  --bs-warning: #f59e0b;       /* amber (kept) */
  --bs-danger: #ef4444;        /* red (kept) */
  --bs-light: #f8fafc;         /* very light */
  --bs-dark: #000000;          /* black */

  --bs-body-bg: #f8fafc;       /* light background for readability */
  --bs-body-color: #0a0a0a;    /* near-black text */
  --bs-border-color: rgba(0, 0, 0, 0.12);
}

/* Hero strip */
.app-hero {
  background: #c2410c; /* darker orange banner */
  color: #fff;
}
.app-hero .brand-title { font-weight: 700; letter-spacing: 0.2px; }
.app-hero .brand-subtitle { opacity: 0.9; }

/* Card polish */
.card { border-color: var(--bs-border-color); border-radius: 0.8rem; }
.card-header { border-bottom: 1px solid var(--bs-border-color); }
.card-header.bg-primary, .card-header.bg-info, .card-header.bg-success { color: #fff; }

/* Table tweaks */
.table thead th { vertical-align: middle; }
.table-striped tbody tr:nth-of-type(odd) { --bs-table-accent-bg: rgba(2, 6, 23, 0.02); }
.table-bordered { border-color: var(--bs-border-color); }
.table-bordered > :not(caption) > * { border-color: var(--bs-border-color); }