/* Styles spécifiques pour les pages de login, mot de passe oublié et réinitialisation */
body {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  background-color: #f0f2f5;
}
.login-container {
  background: #fff;
  padding: 40px;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  width: 100%;
  max-width: 450px;
  text-align: center;
}
.login-container img {
  width: 200px;
  margin-bottom: 20px;
}
.login-container h2 {
    margin-bottom: 20px;
    color: #333;
}
.login-container p {
    margin-bottom: 20px;
    color: #666;
    text-align: left;
}
.form-group {
  margin-bottom: 20px;
  text-align: left;
}
.form-group label {
  display: block;
  margin-bottom: 5px;
  font-weight: bold;
  color: #333;
}
.form-group input {
  width: 100%;
  padding: 12px;
  border: 1px solid #ccc;
  border-radius: 4px;
}
.password-container {
  position: relative;
}
#toggle-password {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  font-size: 1.2em;
  color: #666;
}

.cgu-group {
  display: flex;
  align-items: center;
  font-size: 0.9em;
  width: 100%;
}

.cgu-group input[type="checkbox"] {
  flex: 0 0 20%;
  width: auto;
  padding: 0;
  margin-right: 10px;
}

.cgu-group label {
  flex: 1 1 80%;
  margin-bottom: 0;
  font-weight: normal;
  text-align: left;
}

.submit-btn {
  width: 100%;
  padding: 15px;
  border: none;
  border-radius: 4px;
  background-color: #213467;
  color: white;
  font-size: 1.1em;
  cursor: pointer;
  transition: background-color 0.3s;
}
.submit-btn:hover {
  background-color: #3a528a;
}
.flash-message {
  padding: 15px;
  margin-bottom: 20px;
  border-radius: 4px;
}
.flash-message.danger { background-color: #f8d7da; color: #721c24; }
.flash-message.warning { background-color: #fff3cd; color: #856404; }
.flash-message.success { background-color: #d4edda; color: #155724; }
.flash-message.info { background-color: #d1ecf1; color: #0c5460; }

.links {
    margin-top: 20px;
}
.links a {
    color: #007bff;
    text-decoration: none;
}
.links a:hover {
    text-decoration: underline;
}

/* Modal pour l'avertissement CGU */
.modal-cgu-overlay {
  display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%;
  background: rgba(0,0,0,0.5); justify-content: center; align-items: center; z-index: 2000;
}
.modal-cgu-content {
  background: white; padding: 20px; border-radius: 5px; text-align: center;
  max-width: 400px;
}
.modal-cgu-content p { margin-bottom: 20px; }
.modal-cgu-content button { padding: 10px 20px; margin: 0 10px; cursor: pointer; }