:root {
    --cor-primaria: #00796B; 
    --cor-secundaria: #E0F2F1; 
    --cor-texto: #333333;
    --cor-borda: #B2DFDB;
    --cor-fundo: #F4F9F9;
    --cor-destaque: #004D40;
}

* { 
    box-sizing: border-box; 
    margin: 0; 
    padding: 0; 
    font-family: 'Segoe UI', Roboto, sans-serif; 
}

body { 
    background-color: var(--cor-fundo); 
    color: var(--cor-texto); 
    padding: 20px; 
}

.container { 
    max-width: 900px; 
    margin: 0 auto; 
}

.cabecalho-sistema {
    background-color: var(--cor-primaria); 
    color: white; 
    padding: 20px;
    border-radius: 8px; 
    margin-bottom: 20px; 
    text-align: center;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

.cabecalho-sistema h1 { 
    font-size: 24px; 
    margin-bottom: 5px; 
}

.card {
    background-color: white; 
    padding: 20px; 
    border-radius: 8px;
    border: 1px solid var(--cor-borda); 
    margin-bottom: 20px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

h3 { 
    color: var(--cor-destaque); 
    margin-bottom: 15px; 
    font-size: 16px; 
    text-transform: uppercase; 
    letter-spacing: 0.5px; 
}

.grid { 
    display: grid; 
    grid-template-columns: repeat(4, 1fr); 
    gap: 15px; 
}

.input-group { 
    display: flex; 
    flex-direction: column; 
}

.span-2 { 
    grid-column: span 2; 
}

label { 
    font-size: 12px; 
    font-weight: bold; 
    color: #555; 
    margin-bottom: 5px; 
}

input, textarea, select {
    padding: 10px; 
    border: 1px solid var(--cor-borda); 
    border-radius: 4px;
    font-size: 14px; 
    background-color: #FAFAFA; 
    color: #333; 
    transition: border-color 0.2s;
}

input:focus, textarea:focus { 
    outline: none; 
    border-color: var(--cor-primaria); 
    background-color: white; 
}

.abas-documento { 
    display: flex; 
    gap: 10px; 
    flex-wrap: wrap; 
}

.btn-aba {
    flex: 1; 
    padding: 10px; 
    background-color: var(--cor-secundaria);
    border: 1px solid var(--cor-borda); 
    color: var(--cor-destaque);
    font-weight: bold; 
    cursor: pointer; 
    border-radius: 4px; 
    transition: all 0.2s;
}

.btn-aba:hover { 
    background-color: #B2DFDB; 
}

.btn-aba.ativo { 
    background-color: var(--cor-primaria); 
    color: white; 
    border-color: var(--cor-primaria); 
}

textarea { 
    resize: vertical; 
    min-height: 140px; 
}

.acoes { 
    display: flex; 
    justify-content: space-between; 
    margin-top: 10px; 
}

.btn { 
    padding: 12px 24px; 
    border: none; 
    border-radius: 4px; 
    font-weight: bold; 
    cursor: pointer; 
    font-size: 14px; 
    transition: background 0.2s; 
}

.btn-limpar { 
    background-color: #EF5350; 
    color: white; 
}

.btn-limpar:hover { 
    background-color: #D32F2F; 
}

.btn-imprimir { 
    background-color: var(--cor-primaria); 
    color: white; 
}

.btn-imprimir:hover { 
    background-color: var(--cor-destaque); 
}

.only-print { 
    display: none; 
}

.info-adicional-cabecalho {
    font-size: 13px;
    color: #444;
    margin-top: 3px;
    font-weight: normal;
}

@media print {
    body { 
        background-color: white; 
        color: black; 
        padding: 0; 
    }
    
    .container { 
        max-width: 100%; 
    }
    
    .no-print { 
        display: none !important; 
    }
    
    .only-print { 
        display: block !important; 
    }
    
    .card { 
        border: none; 
        box-shadow: none; 
        padding: 0; 
        margin-bottom: 0; 
    }
    
    .cabecalho-impresso {
        border-bottom: 2px solid #000;
        padding-bottom: 15px;
        margin-bottom: 30px;
        text-align: center;
    }
    
    .wrapper-cabecalho-logo { 
        display: flex; 
        flex-direction: column;
        align-items: center; 
        justify-content: center;
        gap: 10px; 
    }
    
    #logo-impresso { 
        max-height: 80px; 
        max-width: 140px; 
        object-fit: contain; 
        margin-bottom: 5px;
    }
    
    .textos-cabecalho { 
        flex: none;
        width: 100%;
    }
    
    .textos-cabecalho h2 { 
        font-size: 22px; 
        color: #000; 
        font-weight: bold; 
        margin-bottom: 4px; 
    }
    
    .info-adicional-cabecalho { 
        display: block !important; 
        font-size: 12px !important;
        color: #333 !important;
        margin-top: 2px;
    }
    
    #titulo-impresso { 
        font-size: 22px; 
        font-weight: bold; 
        text-transform: uppercase; 
        letter-spacing: 1px; 
        margin-top: 15px; 
    }

    #area-campos-especificos {
        display: none !important;
    }

    .grid { 
        display: grid !important; 
        grid-template-columns: 2fr 1fr 1fr !important;
        gap: 20px;
        border-bottom: 1px dashed #ccc;
        padding-bottom: 15px;
        margin-bottom: 30px;
    }
    
    .grid .input-group { 
        display: flex !important; 
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 2px;
    }
    
    .grid .span-2 { 
        grid-column: span 1; 
    }
    
    .grid .input-group label {
        margin-bottom: 0;
        white-space: nowrap;
    }

    .grid .input-group input {
        border: none;
        border-bottom: 1px solid #333;
        background: transparent;
        width: 100%;
        padding: 2px 0;
        font-size: 14px;
    }

    .area-texto { 
        min-height: 350px; 
        margin-bottom: 40px; 
    }
    
    .area-texto textarea { 
        font-size: 16px; 
        line-height: 1.8; 
        width: 100%; 
        border: none; 
        background: transparent; 
    }

    .area-medico { 
        border-top: 1px solid #000; 
        padding-top: 15px; 
        margin-top: 40px; 
    }
    
    .area-medico .grid {
        display: grid !important;
        grid-template-columns: 2fr 1fr 1fr !important;
        gap: 20px;
        border-bottom: none;
        padding-bottom: 0;
        margin-bottom: 0;
    }

    .area-medico .grid .input-group {
        display: flex !important; 
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    .area-medico .grid input { 
        font-weight: bold; 
        width: 100%; 
        border: none; 
        border-bottom: 1px solid #333; 
        background: transparent; 
        padding: 2px 0;
    }

    .area-assinatura { 
        margin-top: 100px; 
        text-align: center; 
        page-break-inside: avoid; 
    }
    
    .linha-assinatura { 
        border-top: 1px solid black; 
        width: 250px; 
        margin: 0 auto 5px auto; 
    }
    
    input[type="date"]::-webkit-calendar-picker-indicator { 
        display: none; 
    }
}

.nav-sistema {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: white;
    padding: 12px 20px;
    border-radius: 8px;
    border: 1px solid var(--cor-borda);
    margin-bottom: 20px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.nav-logo {
    font-weight: bold; 
    color: var(--cor-primaria); 
    display: flex; 
    align-items: center; 
    gap: 8px;
}

.nav-links { 
    display: flex; 
    gap: 15px; 
}

.btn-link {
    text-decoration: none;
    color: var(--cor-primaria);
    font-weight: bold;
    font-size: 14px;
    padding: 8px 16px;
    border-radius: 4px;
    transition: background 0.2s;
}

.btn-link:hover { 
    background-color: var(--cor-secundaria); 
}

.btn-link.ativo { 
    background-color: var(--cor-primaria); 
    color: white; 
}