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 #1565c0;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

/* Wide fluid container — at least 90% on any screen, capped at 1800px */
.main-container {
  width: 95%;
  max-width: 2100px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}

.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;
}

/* ── Brand palette ─────────────────────────────────────────────── */
:root {
  --adm-blue:        #1565c0;
  --adm-blue-dark:   #0d47a1;
  --adm-orange:      #f57c00;
  --adm-orange-dark: #e65100;
}

/* Navbar */
.navbar-adm { background-color: var(--adm-blue) !important; }

/* Shared blue header for cards, modals, table headers */
.bg-adm           { background-color: var(--adm-blue) !important; }
.table-adm th     { background-color: var(--adm-blue) !important; color: #fff !important; }
.table-adm input,
.table-adm select { background-color: rgba(255,255,255,.12); color: #fff; border-color: rgba(255,255,255,.3); }
.table-adm input::placeholder { color: rgba(255,255,255,.6); }

/* Colour utilities */
.text-orange   { color:            var(--adm-orange) !important; }
.bg-orange     { background-color: var(--adm-orange) !important; }
.border-orange { border-color:     var(--adm-orange) !important; }

/* Orange button */
.btn-orange {
  background-color: var(--adm-orange);
  border-color:     var(--adm-orange);
  color: #fff;
}
.btn-orange:hover, .btn-orange:active, .btn-orange:focus {
  background-color: var(--adm-orange-dark);
  border-color:     var(--adm-orange-dark);
  color: #fff;
}
.btn-outline-orange {
  color:            var(--adm-orange);
  border-color:     var(--adm-orange);
  background-color: transparent;
}
.btn-outline-orange:hover, .btn-outline-orange:active, .btn-outline-orange:focus {
  background-color: var(--adm-orange);
  border-color:     var(--adm-orange);
  color: #fff;
}

/* Override Bootstrap primary → brand blue */
.btn-primary {
  background-color: var(--adm-blue);
  border-color:     var(--adm-blue);
  color: #fff;
}
.btn-primary:hover, .btn-primary:active, .btn-primary:focus {
  background-color: var(--adm-blue-dark) !important;
  border-color:     var(--adm-blue-dark) !important;
  color: #fff;
}
.btn-outline-primary {
  color:        var(--adm-blue);
  border-color: var(--adm-blue);
}
.btn-outline-primary:hover {
  background-color: var(--adm-blue);
  border-color:     var(--adm-blue);
  color: #fff;
}
.text-primary { color: var(--adm-blue) !important; }

/* Login / reset card headers */
.card-header-brand {
  background: linear-gradient(135deg, var(--adm-blue) 0%, #1e88e5 60%, #f08c1f 160%);
}