/* ===================================================================
   Pages d'authentification et d'erreur
   Design validé : carte blanche centrée sur fond vert foncé dégradé
   =================================================================== */

.gp-auth-page {
    min-height: 100vh;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px;
    overflow: hidden;
    background: radial-gradient(120% 120% at 10% 0%, var(--rz-auth-gradient-start) 0%, var(--rz-dark) 60%, var(--rz-auth-gradient-end) 100%);
}

/* Petite marque en haut à gauche du fond */
.gp-auth-topbrand {
    position: absolute;
    top: 32px;
    left: 32px;
    z-index: 2;
}

.gp-auth-card {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 400px;
    background: var(--rz-white);
    border-radius: var(--rz-radius-lg);
    overflow: hidden;
    box-shadow: var(--rz-shadow-auth);
}
.gp-auth-accent {
    height: 4px;
    background: var(--rz-green);
}
.gp-auth-inner {
    padding: 40px 40px 36px;
    display: flex;
    flex-direction: column;
    gap: 0;
}
.gp-auth-inner > .gp-alert {
    margin-bottom: 18px;
}

.gp-auth-logo {
    display: flex;
    justify-content: center;
    margin-bottom: 24px;
}

/* .gp-auth-page devant : plus fort que le style général des titres (.gp-root h1) */
.gp-auth-page .gp-auth-title {
    width: 100px;
    margin: 0 auto 30px;
}
.gp-auth-page .gp-auth-title img {
    display: block;
    width: 100%;
    height: auto;
}

.gp-auth-subtitle {
    font-size: var(--rz-fs-base);
    color: var(--rz-text-muted);
    text-align: center;
    margin: 0 0 26px;
    line-height: 1.5;
}
.gp-auth-submit {
    width: 100%;
    padding: 13px 18px;
}

.gp-auth-links {
    margin: -8px 0 22px;
    display: flex;
    justify-content: flex-end;
    font-size: var(--rz-fs-sm);
}
.gp-auth-links a {
    color: var(--rz-text-muted);
    font-weight: 600;
}
.gp-auth-links a:hover {
    color: var(--rz-green-deep);
}

.gp-auth-footer {
    margin-top: 26px;
    text-align: center;
    font-size: var(--rz-fs-xs);
    color: var(--rz-text-muted);
}
.gp-auth-footer a {
    font-weight: 700;
}
.gp-auth-footer a:hover {
    color: var(--rz-green-deep);
}

@media (max-width: 600px) {
    .gp-auth-topbrand {
        display: none;
    }
}
@media (max-width: 480px) {
    .gp-auth-page {
        padding: 16px;
    }
    .gp-auth-inner {
        padding: 32px 24px 28px;
    }
    .gp-auth-page .gp-auth-title {
        width: 80px;
    }
}
