/* Carte / conteneur */
.mh-card{
  max-width:860px;
  margin:24px auto;
  background:#0b0f1a;
  color:#eef2ff;
  padding:28px;
  border-radius:14px;
  border:1px solid #1e293b;
  box-shadow:0 10px 30px rgba(0,0,0,.35), inset 0 0 0 1px rgba(255,255,255,.03);
  font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial;
}

/* Titre */
.mh-title{
  text-align:center;
  font-size:26px;
  margin:0 0 18px;
  font-weight:700;
}

/* Grille */
.mh-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
@media (max-width:768px){
  .mh-grid{ grid-template-columns:1fr; }
}

/* Champs */
.mh-field{ display:flex; flex-direction:column; }
.mh-req{ color:#fca5a5; }

.mh-field input,
.mh-field select{
  background:#0f172a;
  color:#e2e8f0;
  border:1px solid #334155;
  border-radius:10px;
  padding:10px 12px;
  outline:none;
  transition:border-color .15s, box-shadow .15s;
}

.mh-field input:focus,
.mh-field select:focus{
  border-color:#60a5fa;
  box-shadow:0 0 0 3px rgba(96,165,250,.15);
}

/* Aide sous le champ */
.mh-hint{
  font-size:12px;
  color:#94a3b8;
  margin-top:6px;
}

/* États de validation (utilisés par la vérif dynamique) */
.mh-status{
  margin-top:6px;
  font-size:12px;
  color:#cbd5e1;
}
.mh-status.ok{ color:#34d399; }   /* vert */
.mh-status.err{ color:#fda4af; }  /* rose/rouge */

.mh-field input.is-valid,
.mh-field select.is-valid{
  border-color:#16a34a !important; /* vert */
}
.mh-field input.is-invalid,
.mh-field select.is-invalid{
  border-color:#f43f5e !important; /* rouge */
}

.mh-status{font-size:12px;margin-top:6px}
.mh-status.ok{color:#22c55e}
.mh-status.err{color:#f97316}
.is-valid{border-color:#22c55e!important}
.is-invalid{border-color:#f97316!important}

/* Actions */
.mh-actions{
  margin-top:18px;
  display:flex;
  gap:12px;
  align-items:center;
}

.mh-btn{
  background:linear-gradient(135deg,#3b82f6,#6366f1);
  color:#fff;
  border:none;
  padding:12px 18px;
  border-radius:10px;
  font-weight:700;
  cursor:pointer;
}
.mh-btn:hover{ opacity:.95; }
.mh-btn:disabled{ opacity:.6; cursor:not-allowed; }

/* Erreurs */
.mh-error{
  background:#3b0f15;
  border:1px solid #7f1d1d;
  color:#fecaca;
  padding:12px;
  border-radius:10px;
  margin-bottom:12px;
}

/* Datalists : largeur confortable (NB: support variable selon navigateur) */
#mh-departments, #mh-cities { min-width: 260px; }
