:root {
            --cor-primaria: #0c157e;
            --cor-secundaria: #00bcd4;
            --cor-terciaria: #3d5afe;
            --cor-texto: #e8eaf6;
            --cor-texto-secundario: #6373da;
            --cor-fundo: #f5f7ff;
            --cor-destaque: #0b00aa;
            --cinza-900: #212121;
            --cinza-800: #424242;
            --cinza-700: #616161;
            --cinza-600: #757575;
            --cinza-500: #9e9e9e;
            --cinza-400: #bdbdbd;
            --cinza-300: #e0e0e0;
            --cinza-200: #eeeeee;
            --cinza-100: #f5f5f5;
            --cinza-50: #fafafa;
            --gradiente-primario: linear-gradient(135deg, var(--cor-terciaria) 0%, var(--cor-secundaria) 100%);
            --sombra-padrao: 0 10px 30px rgba(0, 0, 0, 0.2);
            --sombra-texto: 0 2px 4px rgba(0, 0, 0, 0.3);
            --borda-arredondada: 12px;
            --borda-arredondada-pequena: 6px;
            --transicao-rapida: all 0.3s ease;
            --transicao-media: all 0.5s ease;
            --padding-section: 40px;
            --padding-sectionMedium: 30px;
            --padding-sectionMobile: 20px;
            --spacing-small: 8px;
            --spacing-medium: 16px;
            --spacing-large: 32px;
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        }

        body {
            background: var(--cor-fundo);
            min-height: 100vh;
            display: flex;
            justify-content: center;
            align-items: center;
            padding: var(--padding-sectionMobile);
        }

        .container {
            background: white;
            border-radius: var(--borda-arredondada);
            box-shadow: var(--sombra-padrao);
            width: 100%;
            max-width: 450px;
            overflow: hidden;
        }

        .cabecalho {
            background: var(--gradiente-primario);
            color: white;
            padding: var(--spacing-large);
            text-align: center;
        }

        .cabecalho h1 {
            font-size: 1.8rem;
            margin-bottom: var(--spacing-small);
        }

        .formulario {
            padding: var(--spacing-large);
        }

        .grupo-form {
            margin-bottom: var(--spacing-medium);
        }

        .grupo-form label {
            display: block;
            margin-bottom: var(--spacing-small);
            color: var(--cinza-800);
            font-weight: 500;
        }

        .grupo-form input {
            width: 100%;
            padding: 12px;
            border: 1px solid var(--cinza-300);
            border-radius: var(--borda-arredondada-pequena);
            font-size: 1rem;
            transition: var(--transicao-rapida);
        }

        .grupo-form input:focus {
            outline: none;
            border-color: var(--cor-terciaria);
            box-shadow: 0 0 0 2px rgba(61, 90, 254, 0.2);
        }

        .botao {
            background: var(--gradiente-primario);
            color: white;
            border: none;
            padding: 12px;
            border-radius: var(--borda-arredondada-pequena);
            font-size: 1rem;
            font-weight: 600;
            cursor: pointer;
            width: 100%;
            transition: var(--transicao-rapida);
        }

        .botao:hover {
            opacity: 0.9;
            transform: translateY(-2px);
        }

        .links {
            text-align: center;
            margin-top: var(--spacing-medium);
        }

        .links a {
            color: var(--cor-terciaria);
            text-decoration: none;
            transition: var(--transicao-rapida);
        }

        .links a:hover {
            text-decoration: underline;
        }

        .mensagem {
            padding: 10px;
            border-radius: var(--borda-arredondada-pequena);
            margin-bottom: var(--spacing-medium);
            text-align: center;
        }

        .erro {
            background-color: #ffebee;
            color: #c62828;
            border: 1px solid #ffcdd2;
        }