/* Estilos Básicos */
body {
    font-family: Arial, sans-serif;
    background-color: #f4f4f9;
    margin: 0;
    padding: 0;
}

.container {
    max-width: 800px;
    margin: 50px auto;
    padding: 20px;
    background-color: #fff;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
}

.info-box {
    width: 90%;
    background-color: #e0f0ff;
    border: 2px solid lightblue;
    border-radius: 8px;
    display: flex;
    padding: 0.5rem 1rem;
    margin: 0 auto;
    margin-bottom: 2rem;
}

.info-box p {
    font-size: small;
    color: darkblue;
}

.info-box i {
    color: darkblue;
    margin-left: -0.5rem;
    margin-right: 0.5rem;
    font-size: larger;
}

hr {
    margin: 1rem 0;
    color: lightgray;
}

.footnote {
    color: lightslategray;
    text-align: center;
}

.footnote a {
    color: lightslategray;
}

.footnote a:hover {
    color: slategray;
}

h1 {
    text-align: center;
    color: #333;
}
h2 {
    text-align: left;
    color: #333;
    font-size: medium;
}

erro {
    text-align: left;
    color: darkred;
}

form {
    display: flex;
    flex-direction: column;
}

label {
    margin: 10px 0 5px;
    font-weight: bold;
}

input {
    padding: 10px;
    margin: 10px 0;
    border: 1px solid #ddd;
    border-radius: 4px;
}

button {
    margin: 12px;
    padding: 10px;
    background-color: #5cb85c;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

button:hover {
    background-color: #4cae4c;
}

a.button {
    display: inline-block;
    padding: 10px 20px;
    background-color: #007bff;
    color: white;
    text-decoration: none;
    border-radius: 4px;
    text-align: center;
    margin: 4px;
}

a.button:hover {
    background-color: #0056b3;
}

.texto-escondido {
    font: arial;
    display: all;
}

.expandir-btn {
    display: block;
    margin: auto;
    color: gray;
    cursor: pointer;
    padding: 4px;
    border: none;
    border-radius: 4px;
    text-align: center;
    background-color:whitesmoke;
}

.texto {
    text-align: left;
    padding-left: 10px;
    background-color: whitesmoke;
    transition: max-height 0.3s ease;
    overflow: hidden;
    max-height: 50px; /* Altura inicial */
}

.texto.expanso {
    text-align: left;
    padding-left: 10px;
    background-color: whitesmoke;
    font: arial;
    font-size: medium;
    max-height: max-content; /* Altura expandida */
}

input::placeholder {
    color: #888;  /* Cor cinza claro */
    font-style: italic;  /* Opcional: deixa o texto do placeholder em itálico */
}

table {
    width: 100%;
    border-collapse: collapse;
}

table.gauss {
    max-width: fit-content;
    background-color: rgb(204, 255, 204);
    margin: 12px;
}

th.gauss {
    background-color: rgb(177, 253, 177);
}

input.gauss {
    width: fit-content;
    max-width: 30px;
}

label.ordem {
    display: inline-block;
    margin: 0;
    padding: 0;
}

select.ordem {
    display: inline-block;
    max-width: 40px;
}

th, td {
    padding: 8px;
    border: 1px solid #ddd;
    text-align: center;
}

th {
    background-color: #f2f2f2;
}

.fraction {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    font-size: 0.9em;
}
.fraction .numerator {
    border-bottom: 1px solid;
    padding: 0 2px;
}

.tabela-pontos {
    max-height: 400px; /* Altura máxima do container */
    max-width: 100%; /* Largura máxima ajustável */
    overflow-y: auto; /* Rolagem vertical */
    overflow-x: auto; /* Rolagem horizontal */
    border: 1px; /* Borda ao redor do container */
    padding: 10px; /* Espaço interno para afastar o conteúdo da borda */
    margin-bottom: 20px; /* Espaço entre a tabela e o próximo elemento */
}

.tabelaExtr-pontos {
    max-height: 400px; /* Altura máxima do container */
    max-width: 100%; /* Largura máxima ajustável */
    overflow-y: auto; /* Rolagem vertical */
    overflow-x: auto; /* Rolagem horizontal */
    border: 1px; /* Borda ao redor do container */
    padding: 10px; /* Espaço interno para afastar o conteúdo da borda */
    margin-bottom: 20px; /* Espaço entre a tabela e o próximo elemento */
}

.tabelaExtrR-pontos {
    max-height: 400px; /* Altura máxima do container */
    max-width: 100%; /* Largura máxima ajustável */
    overflow-y: auto; /* Rolagem vertical */
    overflow-x: auto; /* Rolagem horizontal */
    border: 1px; /* Borda ao redor do container */
    padding: 10px; /* Espaço interno para afastar o conteúdo da borda */
    margin-bottom: 20px; /* Espaço entre a tabela e o próximo elemento */
}

table.pontos {
    max-height: 100px; /* Defina a altura máxima desejada */
    max-width: 90%; /* Largura máxima ajustável */
    overflow-y: auto; /* Rolagem vertical */
    overflow-x: auto; /* Rolagem horizontal (se necessário) */
    border: 12px; /* Borda para delimitar a área */
    table-layout: fixed;
}

td.pontos {
    width: 50px;
}

input.pontos {
    width: 30px;
}

th.pontos {
    width: 50px;
}

.tabela-container table {
    width: 100%; /* Ou ajuste para um valor específico */
    table-layout: fixed; /* Define largura fixa para as colunas */
}

.tabela-container th, .tabela-container td {
    width: 100px; /* Ajuste o valor para a largura desejada */
    padding: 8px;
    text-align: center;
    box-sizing: border-box;
}