 * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        }


       body {
    background-image: url('6641d7e6-0238-4eb7-8fda-f3d9ae568d42.png');
    background-size: cover;      /* cobre toda a tela */
    background-repeat: no-repeat; /* evita repetição */
    background-attachment: fixed; /* fica fixo no fundo */
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    padding: 20px 0 50px 0;
} 
        
body {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;

    background-image: url('6641d7e6-0238-4eb7-8fda-f3d9ae568d42.png');
    background-size: cover;       /* faz a imagem cobrir toda a tela */
    background-repeat: no-repeat; /* evita que repita */
    background-position: center;  /* centraliza a imagem */
    background-attachment: fixed; /* deixa fixo mesmo ao rolar a página */

    padding: 20px;
}


video#bg-video {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
  }

#bgVideo {
    position: fixed;
    right: 0;
    bottom: 0;
    min-width: 100%;
    min-height: 100%;
    z-index: -1;
    object-fit: cover; /* ajusta para cobrir toda a tela */
}
        
.container {
    background: white;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 1);
    width: 100%;
    max-width: 450px;
    padding: 40px;
    padding-top: 10px;
    text-align: center;
    opacity: 0.9; /* 50% transparente */
}
        
        h1 {
            color: #333;
            margin-bottom: 10px;
            font-weight: 600;
        }
        
        p {
            color: #666;
            margin-bottom: 30px;
            line-height: 1.5;
        }
        
        .input-group {
            margin-bottom: 25px;
            text-align: left;
        }
        
        label {
            display: block;
            margin-bottom: 8px;
            color: #444;
            font-weight: 500;
        }
        
        input[type="email"],
        input[type="text"] {
            width: 100%;
            padding: 15px;
            border: 1px solid #ddd;
            border-radius: 8px;
            font-size: 16px;
            transition: border-color 0.3s;
        }
        
        input[type="email"]:focus,
        input[type="text"]:focus {
            border-color: #2575fc;
            outline: none;
            box-shadow: 0 0 0 2px rgba(37, 117, 252, 0.2);
        }
        
        button {
            background: #2575fc;
            color: white;
            border: none;
            border-radius: 8px;
            padding: 15px;
            width: 100%;
            font-size: 16px;
            font-weight: 600;
            cursor: pointer;
            transition: background 0.3s;
        }
        
        button:hover {
            background: #1c64e0;
        }
        
        button:disabled {
            background: #ccc;
            cursor: not-allowed;
        }
        
        .footer {
            margin-top: 25px;
            color: #888;
            font-size: 14px;
        }
        
        .code-section {
            display: none;
        }
        
        .timer {
            margin-top: 15px;
            color: #e74c3c;
            font-weight: 500;
        }
        
        .resend {
            margin-top: 15px;
            display: none;
        }
        
        .resend a {
            color: #2575fc;
            text-decoration: none;
            cursor: pointer;
        }
        
        .resend a:hover {
            text-decoration: underline;
        }
        
        .toast {
            position: fixed;
            top: 20px;
            right: 20px;
            padding: 15px 20px;
            border-radius: 8px;
            color: white;
            font-weight: 500;
            z-index: 1000;
            opacity: 0;
            transition: opacity 0.3s;
        }
        
        .toast.success {
            background: #2ecc71;
            opacity: 1;
        }
        
        .toast.error {
            background: #e74c3c;
            opacity: 1;
        }
        
        .step-indicator {
            display: flex;
            justify-content: center;
            margin-bottom: 25px;
        }
        
        .step {
            width: 30px;
            height: 30px;
            border-radius: 50%;
            background: #ddd;
            color: white;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 10px;
            font-weight: bold;
        }
        
        .step.active {
            background: #2575fc;
        }
        
        .step-line {
            width: 40px;
            height: 2px;
            background: #ddd;
            margin: 0 5px;
            align-self: center;
        }
        
        .loader {
            display: inline-block;
            width: 20px;
            height: 20px;
            border: 3px solid rgba(255,255,255,.3);
            border-radius: 50%;
            border-top-color: #fff;
            animation: spin 1s ease-in-out infinite;
        }
        
        @keyframes spin {
            to { transform: rotate(360deg); }
        }