/* Minimal local fallback so login page looks correct without Bootstrap */

/* Hide modals by default (Bootstrap usually handles this) */
.modal { display: none; }
.modal.show { display: block; }

/* Lightweight floating label behavior */
.form-floating { position: relative; }
.form-floating > .form-control {
  padding-top: 1.75rem; padding-bottom: .5rem; position: relative; z-index: 1;
  background: #fff; /* opaque to prevent label bleed-through */
}
.form-floating > label {
  position: absolute; top: .5rem; left: .75rem; font-size: .9rem; z-index: 2;
  color: #6c757d; pointer-events: none; transition: all .15s ease;
  background: transparent; padding: 0 .25rem;
}
.form-floating > .form-control:focus + label,
.form-floating > .form-control:not(:placeholder-shown) + label,
.form-floating > .form-control[value]:not([value=""]) + label {
  top: -1.2rem; left: .65rem; font-size: .75rem; color: #8B0000;
  background: #fff; border-radius: 4px; padding: 0 .25rem; /* chip to clear border */
}

/* Support JS-applied .is-filled class (for autofill/older browsers) */
.form-floating > .form-control.is-filled + label {
  top: -1.2rem; left: .65rem; font-size: .75rem; color: #8B0000;
  background: #fff; border-radius: 4px; padding: 0 .25rem;
}

/* Basic container fallback */
.container { max-width: 1140px; margin: 0 auto; padding: 0 1rem; }

/* Simple button reset in case Bootstrap is missing */
.btn, .unified-btn { cursor: pointer; border: 0; border-radius: .5rem; padding: .75rem 1rem; }

/* Basic form resets */
.form-check-input { width: 1rem; height: 1rem; margin-right: .5rem; }

/* Visually improve the header bar links if Bootstrap is missing */
.header-bar .nav-link { display: inline-block; padding: .25rem .5rem; }
