<style>
    /* ===================== RESET / BASE ===================== */
    body {
        font-family: Arial, sans-serif;
        margin: 20px;
        padding: 0;
        background-color: #f8f8f8;
    }

    /* ===================== CONTAINER PRINCIPAL ===================== */
    .container {
        width: 90%; /* Mais espaço em telas menores */
        margin: auto;
        background: #fff;
        padding: 20px;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
        border-top: 10px solid #7758D9;
    }

    /* Título principal */
    h1 {
        text-align: center;
        color: #7758D9;
        font-size: 24px; /* Maior para mobile */
    }

    /* Título de seção (opcional) */
    .section-title {
        background-color: #bbb;
        text-align: center;
        padding: 10px;
        font-weight: bold;
        margin-bottom: 20px;
        border-radius: 15px;
        width: 100%; 
        margin-left: auto;
        margin-right: auto;
    }

    /* ===================== EXAM LIST / COLUMNS (OPCIONAL) ===================== */
    .exam-list {
        display: flex;
        flex-wrap: wrap; 
        gap: 20px;
    }
    .column {
        width: 100%; 
        padding-left: 10px;
    }
    .exam-item {
        display: flex;
        align-items: center;
        margin-bottom: 8px;
        gap: 10px;
    }

    /* ===================== INPUTS E TEXTAREAS ===================== */
    textarea,
    input[type="text"],
    input[type="email"],
    input[type="date"],
    input[type="number"],
    input[type="tel"] {
        width: 100%;
        border: 1px solid #ccc;
        border-radius: 5px;
        padding: 5px;
        box-sizing: border-box; /* Evita “estouro” do width por causa de padding */
    }

    /* ===================== BOTÕES ===================== */
    .submit-btn {
        display: block;
        width: 100%;
        background-color: #7758D9;
        color: white;
        padding: 15px;
        font-size: 18px;
        border: none;
        border-radius: 5px;
        cursor: pointer;
        text-align: center;
        margin-top: 20px;
    }
    .submit-btn:hover {
        background-color: #5d3fb5;
    }

    .btn-container {
        display: flex;
        justify-content: start;
        margin-bottom: 20px;
    }
    .btn {
        background-color: #7758D9;
        color: white;
        padding: 12px 20px;
        font-size: 16px;
        border: none;
        border-radius: 5px;
        cursor: pointer;
        text-decoration: none;
        text-align: center;
    }
    .btn:hover {
        background-color: #5d3fb5;
    }

  /* PDF button – centered */
    .pdf-button {
        background-color: #7758d9;
        color: #fff;
        padding: 12px 24px;
        border-radius: 6px;
        cursor: pointer;
        text-decoration: none;
        transition: 0.3s;
        font-size: 16px;
        font-weight: bold;
        display: block;
        width: fit-content;
        margin: 0 auto;
    }
    .pdf-button:hover {
        background-color: #6242bb;
        transform: translateY(-2px);
        box-shadow: 0 4px 8px rgba(0,0,0,0.2);
    }

    /* Hide file input */
    #anexo {
        display: none;
    }

    /* File name display */
    #fileName {
        margin-top: 10px;
        font-size: 14px;
        color: #555;
        font-weight: bold;
        word-wrap: break-word;
    }

    /* Bordered container */
    .bordered-container {
        border: 2px solid #7758d9;
        padding: 15px;
        border-radius: 10px;
    }

    /* ===================== CAIXA EXTERNA COM BORDA ===================== */
    .bordered-container {
        border: 2px solid #7758D9;
        padding: 15px;
        border-radius: 10px;
    }

    /* ===================== FORM GROUPS (LABELS E INPUTS) ===================== */
    .form-group {
        margin-bottom: 15px; /* Espaçamento vertical entre os grupos */
    }
    .form-group label {
        font-weight: bold;
        margin-right: 8px; /* Espaço pequeno no desktop */
    }

    /* ===================== LAYOUT PARA TELAS GRANDES (= 768px) ===================== */
    @media (min-width: 768px) {
        /* Container um pouco mais estreito no desktop */
        .container {
            width: 80%;
        }
        .section-title {
            width: 60%;
        }
        .column {
            width: 48%;
        }
        h1 {
            font-size: 28px;
        }

        /* Cada .form-group em linha (flex) no desktop */
        .form-group {
            display: flex;
            align-items: baseline; /* Alinha o texto dos labels pela base */
            gap: 10px;
        }

        /* Inputs ocupam espaço restante; label fica próximo */
        .form-group input {
            flex: 1;
        }
    }

    /* ===================== LAYOUT PARA TELAS PEQUENAS (= 767px) ===================== */
    @media (max-width: 767px) {
        /* Empilha os campos verticalmente em mobile */
        .form-group {
            display: block;
        }
        .form-group label {
            display: block; 
            margin-bottom: 5px;
        }
        .form-group input {
            width: 100%;
            margin-bottom: 8px;
        }
    }
</style>
