	body {
        font-family: "Prompt", sans-serif;
        margin: 0;
        padding: 0;
        background-color: #f9f9f9; /* Fundo claro para contraste */
    	color: #003A4A; /* Cor do texto */
    }

    .text-center{
    	text-align: center !important;
    }
    .container {
        width: 100%;
        max-width: 800px;
        margin: 0 auto;
        padding: 15px;
        box-sizing: border-box;
    }
    .section {
        margin-bottom: 20px;
    }

    .section h3 {
        font-size: 16px;
        background-color: #003A4A; /* Fundo do título */
    	color: #ffffff; /* Texto branco */
        padding: 10px;
        border: 1px solid #000;
    }
    .dados-doente {
	    margin-bottom: 20px;
	}

	.dados-doente-title {
	    background-color: #003A4A;
	    color: #fff;
	    padding: 10px;
	    font-size: 18px;
	    margin-bottom: 15px;
	}

	.dados-doente label {
	    font-size: 14px;
	    font-weight: bold;
	    color: #003A4A;
	    display: block;
	    margin-bottom: 5px;
	}

	.dados-doente input {
	    width: 100%;
	    padding: 10px;
	    border: 1px solid #ccc;
	    border-radius: 4px;
	    box-sizing: border-box;
	    font-size: 14px;
	    color: #003A4A;
	}

    .compact {
    margin-bottom: 10px;
    padding: 10px;
    }
    .form-group-row {
        display: flex;
        justify-content: space-between;
        gap: 10px;
        margin-bottom: 10px;
    }
    .form-group-row .form-group {
        flex: 1;
    }
    .form-group-row .form-group label {
        display: block;
        margin-bottom: 5px;
    }

    .form-group {
        display: flex;
        flex-direction: column;
        margin-bottom: 15px;
    }
    .form-group label {
    	color: #003A4A;
        font-size: 14px;
        margin-bottom: 5px;
    }
    .form-group input {
        padding: 8px;
        font-size: 14px;
        width: 100%;
        box-sizing: border-box;
    }
    .table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }
    .table th, .table td {
        border: 1px solid #000;
        padding: 8px;
        font-size: 13px;
        text-align: left;
        color: #003A4A; /* Texto */
    }
    .table th {
        background-color: #003A4A; /* Fundo das cabeçalhos */
    	color: #ffffff;
    }

    .table th:first-child, .table td:first-child {
	    min-width: 40px; /* Ajuste o valor para a largura mínima desejada */
	    word-wrap: break-word; /* Garante que o texto será quebrado em palavras */
	}

    .observations textarea {
        width: 100%;
        height: 100px;
        font-size: 14px;
        padding: 10px;
        box-sizing: border-box;
    }
    .sublivac-section {
	    background-color: #e6f3f5;
	    border: 1px solid #003A4A;
	    padding: 15px;
	    margin-bottom: 20px;
	    border-radius: 8px;
	}
	.sublivac-section h3 {
	    margin-top: 0;
	    text-align: center;
	    padding: 10px;
	    border-radius: 8px;
	    background-color: #003A4A;
	    color: #ffffff;
	    border: 1px solid #003A4A;
	}
	.protec-items {
	    display: flex;
	    flex-direction: column;
	    gap: 10px;
	}

	.protec-item {
	    display: flex;
	    align-items: center;
	    background-color: #e6f3f5; /* Fundo leve para destaque */
	    border: 1px solid #003A4A;
	    padding: 10px;
	    border-radius: 8px;
	    font-size: 14px;
	    color: #003A4A;
	}

	.protec-item input {
	    margin-right: 10px; /* Espaço entre o checkbox e o texto */
	}


	button[type="submit"] {
	    background-color: #003A4A;
	    color: #ffffff;
	    font-size: 16px;
	    font-weight: bold;
	    padding: 12px 24px;
	    border: none;
	    border-radius: 8px;
	    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	    cursor: pointer;
	    transition: all 0.3s ease;
	}

	button[type="submit"]:hover {
	    background-color: #005A6A;
	    box-shadow: 0 6px 10px rgba(0, 0, 0, 0.15);
	    transform: translateY(-2px);
	}

	button[type="submit"]:active {
	    background-color: #003A4A;
	    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
	    transform: translateY(0);
	}



    .footer {
        display: flex;
        flex-direction: column;
        margin-top: 20px;
    }
    .footer .signature {
        color: #003A4A;
    	border-top: 1px solid #003A4A;
        text-align: center;
        font-size: 14px;
        margin-top: 15px;
        padding-top: 5px;
    }
    /* Media query para telas menores */
    @media (max-width: 600px) {
        .form-group {
            flex-direction: column;
        }
        .table th, .table td {
            font-size: 12px;
            padding: 5px;
        }
        .section h3 {
            font-size: 14px;
        }
    }
    .header {
	    display: flex;
	    justify-content: space-between;
	    align-items: flex-start;
	    margin-bottom: 20px;
	    padding: 10px;
	    border-bottom: 2px solid #003A4A;
	}

	.header .logo img {
	    max-width: 150px;
	    height: auto;
	}

	.header .contact-info {
	    flex: 1;
	    text-align: right;
	    font-size: 14px;
	    line-height: 1.6;
	    color: #003A4A;
	}

	.header .contact-info p {
	    margin: 5px 0;
	}
	.header .contact-info a {
	    color: #003A4A; 
    	text-decoration: none; 
    	font-weight: bold; 
	}

	.header .contact-item {
	    display: flex;
	    align-items: center;
	    justify-content: flex-end;
	    gap: 8px;
	    margin-bottom: 5px;
	}

	.header .contact-item img {
	    width: 20px;
	    height: 20px;
	}

	@media (max-width: 768px) {
	    .header {
	        flex-direction: column;
	        align-items: center;
	        text-align: center;
	    }
	    .header .logo img {
	        max-width: 120px;
	        margin-bottom: 10px;
	    }
	    .header .contact-info {
	        text-align: center;
	    }
	    .header .contact-item {
	        justify-content: center;
	    }
	}
	.signature-container {
	    display: flex;
	    flex-direction: column;
	    align-items: center;
	    justify-content: center;
	    margin: 20px 0;
	    padding: 20px;
	    border: 2px solid #003A4A;
	    border-radius: 10px;
	    background-color: #f9f9f9;
	    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	}

	.signature-container h3 {
	    color: #003A4A;
	    font-size: 18px;
	    margin-bottom: 10px;
	    text-align: center;
	}

	#signature-pad {
	    border: 1px solid #003A4A;
	    border-radius: 5px;
	    background-color: #ffffff;
	    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
	    margin-bottom: 10px;
	}

	.signature-controls {
	    display: flex;
	    gap: 10px;
	}

	.signature-controls button {
	    background-color: #003A4A;
	    color: #ffffff;
	    border: none;
	    padding: 8px 16px;
	    border-radius: 5px;
	    cursor: pointer;
	    font-weight: bold;
	    transition: background-color 0.3s ease;
	}

	.signature-controls button:hover {
	    background-color: #005A6A;
	}

	.tratamento-anterior {
	    display: flex;
	    flex-direction: column;
	    margin-bottom: 1.5rem;
	}

	.tratamento-label {
	    font-weight: bold;
	    background-color: #003A4A;
	    color: #fff;
	    padding: 0.75rem;
	    border-radius: 5px 5px 0 0;
	    text-align: left;
	    margin-bottom: 0;
	}

	.tratamento-input {
	    display: flex;
	    align-items: center;
	    border: 1px solid #003A4A;
	    border-top: none;
	    padding: 0.5rem;
	    border-radius: 0 0 5px 5px;
	    background-color: #fff;
	}

	.tratamento-text {
	    margin-right: 0.5rem;
	    font-weight: bold;
	    color: #003A4A;
	}

	.tratamento-input input {
	    flex: 1;
	    border: none;
	    outline: none;
	    padding: 0.5rem;
	    font-size: 1rem;
	    color: #003A4A;
	}

	.tratamento-info {
	    font-size: 0.9rem;
	    color: #666;
	    margin-top: 0.5rem;
	}


	/* Ajuste adicional para dispositivos móveis */
	@media (max-width: 768px) {
	    .signature-container canvas {
	        width: 95%; /* Deixa uma margem em dispositivos menores */
	    }

	    .signature-container button {
	        margin-top: 10px;
	    }
	}

	/* Ajuste das larguras das colunas */
	.table.codigos th:nth-child(1),
	.table.codigos td:nth-child(1) {
	    width: 10%; /* Largura para a coluna "Cód." */
	}

	.table.codigos th:nth-child(2),
	.table.codigos td:nth-child(2) {
	    width: 85%; /* Largura para a coluna "Descrição" */
	}

	.table.codigos th:nth-child(3),
	.table.codigos td:nth-child(3) {
	    width: 5%; /* Largura para a coluna "%" */
	}

	#data_nascimento {
	    border-radius: 4px;
	    padding: 8px 10px;
	    font-size: 16px;
	    width: 100%;
	    box-sizing: border-box;
	}

	/* Estilo do popup */
	#loading {
	  position: fixed;
	  top: 50%;
	  left: 50%;
	  transform: translate(-50%, -50%);
	  font-size: 18px;
	  color: #fff;
	  background: rgba(0, 0, 0, 0.8);
	  padding: 10px 20px;
	  border-radius: 5px;
	  z-index: 1000;
	}

	#popup {
	  font-size: 26px;
	  position: fixed;
	  top: 50%;
	  left: 50%;
	  transform: translate(-50%, -50%);
	  background: white;
	  border: 1px solid #ccc;
	  padding: 20px;
	  text-align: center;
	  z-index: 1001;
	}

	#close-popup {
	  font-family: "Prompt", sans-serif;
	  margin-top: 10px;
	  padding: 10px 20px;
	  background: #003A4A;
	  color: white;
	  border: none;
	  cursor: pointer;
	  border-radius: 5px;
	}
	/* Estilizar checkboxes para um visual moderno */
	input[type="checkbox"] {
	    -webkit-appearance: none; /* Remove o estilo padrão no Safari */
	    -moz-appearance: none; /* Remove o estilo padrão no Firefox */
	    appearance: none; /* Remove o estilo padrão no Chrome */
	    width: 18px; /* Aumenta o tamanho do checkbox */
	    height: 18px; /* Aumenta o tamanho do checkbox */
	    border: 2px solid #003A4A; /* Define a borda do checkbox */
	    border-radius: 2px; /* Torna os cantos levemente arredondados */
	    background-color: #ffffff; /* Cor de fundo padrão */
	    cursor: pointer; /* Cursor de pointer ao passar sobre o checkbox */
	    position: relative; /* Para colocar o check */
	    transition: all 0.2s ease-in-out; /* Animação suave ao interagir */
	    margin: 0;
	}

	/* Estilo ao passar o cursor */
	input[type="checkbox"]:hover {
	    background-color: #e0e0e0; /* Muda a cor ao passar o mouse */
	    border-color: #007bff; /* Muda a cor da borda ao passar o mouse */
	}

	/* Estilo quando o checkbox está marcado */
	input[type="checkbox"]:checked {
	    background-color: #013a4a; /* Cor de fundo quando está marcado */
	    border-color: #28a745; /* Cor da borda quando está marcado */
	}

	/* Adiciona o símbolo de check */
	input[type="checkbox"]:checked:after {
	    content: "\2714"; /* Símbolo de check (podes trocar por outro) */
	    color: white; /* Cor do símbolo de check */
	    font-size: 18px; /* Tamanho do símbolo */
	    position: absolute; /* Posiciona o símbolo */
	    top: 50%; /* Centraliza verticalmente */
	    left: 50%; /* Centraliza horizontalmente */
	    transform: translate(-50%, -50%); /* Ajusta para centralizar */
	}

	/* Posiciona o "OK" dentro da caixinha */
	td {
	  position: relative;
	}

	td input[type="checkbox"] {
	  position: relative;
	  width: 22px;
	  height: 22px;
	  margin: 0;
	  vertical-align: middle;
	}

	td .ok-text {
	  position: absolute;
	  left: 19px; /* centra horizontalmente dentro da caixa */
	  top: 50%;
	  transform: translate(-50%, -50%);
	  font-size: 10px;
	  color: #003A4A;
	  pointer-events: none; /* permite clicar no checkbox */
	}


	/* Mensagem de erro personalizada */
	.error-message {
	    color: red;
	    font-size: 0.9em;
	    margin-top: 5px;
	    display: none; /* Escondido por padrão */
	}