{% extends 'baseLogin.html.twig' %}
{% block title %}Mot de passe oublié — Macssolution{% endblock %}
{% block styles %}
<style>
.lf-card {
width: 100%;
max-width: 420px;
background: #fff;
border: 1px solid #e2e8f0;
border-radius: 20px;
box-shadow: 0 8px 40px rgba(0,0,0,0.08);
padding: 2.5rem 2.25rem;
}
.lf-header { text-align: center; margin-bottom: 2rem; }
.lf-header__icon {
width: 64px; height: 64px;
border-radius: 16px;
background: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%);
display: flex; align-items: center; justify-content: center;
color: #fff; font-size: 1.5rem;
margin: 0 auto 1.25rem;
box-shadow: 0 4px 14px rgba(59,130,246,0.35);
}
.lf-header__title {
font-size: 1.5rem; font-weight: 700;
color: #1f2937; letter-spacing: -0.02em; margin-bottom: 0.375rem;
}
.lf-header__sub { font-size: 0.875rem; color: #64748b; line-height: 1.6; }
.lf-error {
display: flex; align-items: flex-start; gap: 0.625rem;
background: #fef2f2; border: 1px solid #fecaca; color: #dc2626;
border-radius: 10px; padding: 0.75rem 1rem;
font-size: 0.875rem; font-weight: 500; margin-bottom: 1.5rem;
}
.lf-info {
display: flex; align-items: flex-start; gap: 0.625rem;
background: #eff6ff; border: 1px solid #bfdbfe; color: #1e40af;
border-radius: 10px; padding: 0.75rem 1rem;
font-size: 0.8125rem; margin-bottom: 1.25rem; line-height: 1.5;
}
.lf-group { margin-bottom: 1.25rem; }
.lf-label {
display: block; font-size: 0.8125rem;
font-weight: 600; color: #374151; margin-bottom: 0.375rem;
}
.lf-input-wrap { position: relative; }
.lf-input-wrap i {
position: absolute; left: 0.875rem; top: 50%;
transform: translateY(-50%); color: #94a3b8;
font-size: 0.9rem; pointer-events: none;
}
.lf-input {
width: 100%; height: 46px;
padding: 0 0.875rem 0 2.5rem;
border: 1px solid #e2e8f0; border-radius: 10px;
font-size: 0.9375rem; color: #1f2937;
background: #f8fafc; font-family: inherit;
transition: all 0.2s ease; outline: none;
}
.lf-input:focus {
border-color: #3b82f6; background: #fff;
box-shadow: 0 0 0 3px rgba(59,130,246,0.12);
}
.lf-actions { display: flex; flex-direction: column; gap: 0.625rem; margin-top: 1.5rem; }
.lf-submit {
width: 100%; height: 48px;
background: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%);
color: #fff; border: none; border-radius: 10px;
font-size: 0.9375rem; font-weight: 700; font-family: inherit;
cursor: pointer; display: flex; align-items: center;
justify-content: center; gap: 0.5rem;
transition: all 0.2s ease;
}
.lf-submit:hover {
transform: translateY(-1px);
box-shadow: 0 6px 20px rgba(59,130,246,0.4);
}
.lf-back {
width: 100%; height: 44px;
background: #f1f5f9; color: #64748b;
border: none; border-radius: 10px;
font-size: 0.875rem; font-weight: 600; font-family: inherit;
cursor: pointer; display: flex; align-items: center;
justify-content: center; gap: 0.5rem;
text-decoration: none; transition: all 0.2s ease;
}
.lf-back:hover { background: #e2e8f0; color: #1f2937; }
</style>
{% endblock %}
{% block body %}
<div class="lf-card">
<div class="lf-header">
<div class="lf-header__icon">
<i class="fas fa-key"></i>
</div>
<h1 class="lf-header__title">Mot de passe oublié ?</h1>
<p class="lf-header__sub">Saisissez votre email et nous vous enverrons un lien pour réinitialiser votre mot de passe.</p>
</div>
{% for flash_error in app.flashes('reset_password_error') %}
<div class="lf-error">
<i class="fas fa-exclamation-circle"></i>
<span>{{ flash_error }}</span>
</div>
{% endfor %}
<div class="lf-info">
<i class="fas fa-info-circle" style="flex-shrink:0;margin-top:2px;"></i>
<span>Un lien de réinitialisation sera envoyé à cette adresse si elle est associée à un compte.</span>
</div>
{{ form_start(requestForm) }}
<div class="lf-group">
<label class="lf-label" for="{{ requestForm.email.vars.id }}">Adresse e-mail</label>
<div class="lf-input-wrap">
{{ form_widget(requestForm.email, {
'attr': {'class': 'lf-input', 'placeholder': 'votre@email.com', 'autofocus': true}
}) }}
<i class="fas fa-envelope"></i>
</div>
{{ form_errors(requestForm.email) }}
</div>
<div class="lf-actions">
<button type="submit" class="lf-submit">
<i class="fas fa-paper-plane"></i>
Envoyer le lien
</button>
<a href="{{ path('app_login') }}" class="lf-back">
<i class="fas fa-arrow-left"></i>
Retour à la connexion
</a>
</div>
{{ form_end(requestForm) }}
</div>
{% endblock %}