/* Frontend styles - mobile-first */
body { font-family: 'Segoe UI', system-ui, sans-serif; background:#f8f9fa; }
.navbar-brand { font-size: 1.4rem; }
.card { border-radius: .6rem; }
footer a { text-decoration: none; }

@media (max-width: 576px) {
  .display-6 { font-size: 1.6rem; }
  .card-img-top { height: 140px !important; }
}

/* Fix invisible/low-contrast placeholder text on mobile (iOS Safari & some Android
   webviews mute the default placeholder opacity, especially inside colored cards) */
input::placeholder,
textarea::placeholder,
select:invalid {
  color: #6c757d !important;
  opacity: 1 !important;
}
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #6c757d !important;
  opacity: 1 !important;
}
input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #6c757d !important;
  opacity: 1 !important;
}
/* Ensure text inputs never render with the browser's own transparent/white text
   on a white background (a common cause of "invisible" typed/placeholder text) */
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="search"],
input[type="date"],
input[type="time"],
input[type="password"],
input[type="number"],
textarea {
  color: #212529 !important;
  background-color: #fff !important;
}
