.maint-wrapper {
    min-height:100dvh;
    display:grid;
    place-items:center;
    padding:32px;
}
.maint-card {
    background:#fff;
    border-radius:var(--rayon);
    box-shadow:var(--ombre);
    max-width:820px;
    width:100%;
    padding:28px;
}
.maint-header {
    display:flex;
    align-items:center;
    gap:16px;
    margin-bottom:12px;
}
.maint-logo {
    font-weight:800;
    font-size:1.25rem;
    letter-spacing:.3px;
}
.badge {
    display:inline-block;
    background:var(--couleur-primaire);
    color:#fff;
    padding:4px 10px;
    border-radius:999px;
    font-size:.8rem;
}
h1 {
    font-size:clamp(1.4rem, 2.2vw,  1.9rem);
    margin:.2rem 0 .6rem;
}
p {
    line-height:1.6;
    color:var(--couleur-texte-second);
}
.maint-grid {
    display:grid;
    grid-template-columns:1fr;
    gap:18px;
    margin-top:18px;
}
@media (min-width:820px) {
    .maint-grid {
        grid-template-columns:1.15fr .85fr;
    }
}
.block {
    border:1px solid #E2E8F0;
    border-radius:12px;
    padding:16px;
}
.block h2 {
    font-size:1.05rem;
    margin:.2rem 0 .8rem;
}
.form-row {
    display:grid;
    gap:10px;
    margin-bottom:12px;
}
label {
    font-size:.95rem;
}
input[type=email],input[type=text],input[type=password]{
    width:100%;
    border:1px solid #cbd5e1;
    border-radius:10px;
    padding:12px 14px;
    font-size:1rem;
    background:#fff
}
input:focus{
    outline:3px solid rgba(79,70,229,.2);
    border-color:var(--couleur-primaire)
}
.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;border:none;
    border-radius:10px;
    padding:12px 16px;
    background:var(--couleur-primaire);
    color:#fff;font-weight:600
}
.btn.secondary{
    background:#0f172a
}
.note{
    font-size:.9rem;
    color:#475569;
    margin-top:8px
}
.alert{
    padding:12px 14px;
    border-radius:10px;
    background:#f1f5f9;
    color:#0f172a;
    border:1px solid #e2e8f0;
    margin:10px 0
}
.alert.success{
    background:#ecfeff;
    border-color:#a5f3fc
}
.alert.error{
    background:#fef2f2;
    border-color:#fecaca;
    color:#7f1d1d
}
.small{
    font-size:.85rem;
    color:#64748b
}