body {
    background-color: #f8f9fa;
}

.card {
    border: none;
    border-radius: 15px;
}

.card-header {
    border-radius: 15px 15px 0 0 !important;
    background: linear-gradient(135deg, #0d6efd 0%, #0a58ca 100%) !important;
}

.form-control:focus {
    border-color: #0d6efd;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.btn-primary {
    background: linear-gradient(135deg, #0d6efd 0%, #0a58ca 100%);
    border: none;
    padding: 10px 20px;
    transition: transform 0.2s;
}

.btn-primary:hover {
    transform: translateY(-2px);
    background: linear-gradient(135deg, #0a58ca 0%, #084298 100%);
}

.btn-info {
    background: linear-gradient(135deg, #0dcaf0 0%, #0ba8c9 100%);
    border: none;
    color: white;
    font-weight: 500;
    padding: 12px 20px;
    transition: all 0.3s ease;
}

.btn-info:hover {
    transform: translateY(-2px);
    background: linear-gradient(135deg, #0ba8c9 0%, #098da8 100%);
    color: white;
    box-shadow: 0 5px 15px rgba(11, 168, 201, 0.2);
}

.btn-success {
    background: linear-gradient(135deg, #198754 0%, #146c43 100%);
    border: none;
    padding: 10px 20px;
    transition: transform 0.2s;
}

.btn-success:hover {
    transform: translateY(-2px);
    background: linear-gradient(135deg, #146c43 0%, #0f5132 100%);
}

#directUsgBtn {
    font-size: 1.1rem;
    border-radius: 10px;
    padding: 12px 15px;
}

/* Estilos específicos para o formulário de USG */
#usgPatientName {
    border: 2px solid #17a2b8;
    background-color: #f8f9fa;
    font-weight: 500;
}

#usgPatientName:focus {
    border-color: #17a2b8;
    box-shadow: 0 0 0 0.25rem rgba(23, 162, 184, 0.25);
    background-color: white;
}

#usgCranioCard .alert-info {
    border-left: 4px solid #17a2b8;
    background-color: #e7f3ff;
}

.table {
    margin-bottom: 0;
}

.table th {
    background-color: #f8f9fa;
    font-weight: 600;
}

.check-container {
    display: flex;
    align-items: center;
    margin-left: 10px;
}

.check-container label {
    margin-left: 5px;
    margin-right: 15px;
    font-size: 0.85rem;
}

.print-button {
    margin-top: 20px;
    margin-bottom: 10px;
}

.print-only {
    display: none;
}

/* Classes para compactação de impressão */
.compact-print {
    padding: 0 !important;
    margin: 0 !important;
}

.print-compact-heading {
    margin: 0.3em 0 !important;
    font-size: 1em !important;
}

.print-compact-checks {
    font-size: 0.8em !important;
    margin-left: 5px !important;
}

@media (max-width: 768px) {
    .container {
        padding: 10px;
    }
    
    .card {
        margin: 0;
        border-radius: 10px;
    }
}

/* CSS para impressão - Triagens Neonatais */
@media print {
    body {
        background-color: white;
        font-size: 11pt;
        color: black;
        margin: 0;
        padding: 0;
    }
    
    .container {
        width: 100%;
        max-width: 100%;
        padding: 0;
        margin: 0;
    }
    
    /* Esconder todos os elementos exceto os resultados */
    body > div.container > div.row > div.col-md-8 > *:not(#results) {
        display: none !important;
    }
    
    /* Esconder a interface de calculadora e o botão de impressão */
    #screeningForm, #mainCard, .btn, .print-button {
        display: none !important;
    }
    
    /* Classes específicas para controlar o que é ocultado na impressão */
    .no-print {
        display: none !important;
    }
    
    /* Mostrar apenas a parte de resultados */
    #results {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* Remover cabeçalho desnecessário no cartão de resultados */
    #results .card-header, 
    #results h1, 
    #results h2.h4 {
        display: none !important;
    }
    
    /* Mostrar dados do paciente (formulário completo) */
    #patientDataSection {
        display: block !important;
    }
    
    #patientDataSection h3,
    #patientSummaryList,
    #patientDataSection ul,
    #patientDataSection li {
        display: block !important;
        visibility: visible !important;
    }
    
    /* Garantir que todos os exames sejam exibidos */
    #examsResults {
        display: block !important;
    }
    
    #examsResults h5, 
    #examsResults ul, 
    #examsResults li {
        display: block !important;
        visibility: visible !important;
        page-break-inside: avoid;
    }
    
    /* Corrigir problema das datas na impressão */
    .list-group-item {
        display: flex !important;
        justify-content: space-between !important;
        align-items: flex-start !important;
        padding: 5px 10px !important;
        margin-bottom: 3px !important;
        width: 100% !important;
        page-break-inside: avoid !important;
    }
    
    .list-group-item > div {
        flex: 1 !important;
        margin-right: 10px !important;
    }
    
    /* Garantir que as datas dos exames (badges) sejam mostradas corretamente na impressão */
    .badge, 
    .list-group-item .badge,
    span.badge {
        display: inline-block !important;
        visibility: visible !important;
        background-color: #0d6efd !important;
        color: white !important;
        padding: 2px 6px !important;
        border-radius: 4px !important;
        font-size: 10pt !important;
        border: 1px solid #0d6efd !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }
    
    /* Mostrar checkboxes como quadrados na impressão para preenchimento manual */
    .check-container {
        display: flex !important;
        align-items: center !important;
        margin-left: 10px !important;
        font-size: 9pt !important;
    }
    
    .check-container label {
        margin-left: 3px !important;
        margin-right: 10px !important;
        font-size: 9pt !important;
        display: inline-block !important;
        visibility: visible !important;
        color: black !important;
    }
    
    /* Garantir que as palavras "Solicitado" e "Verificado" apareçam na impressão */
    .check-container label:before {
        content: none !important;
    }
    
    .check-container label:after {
        content: none !important;
    }
    
    /* Forçar visibilidade das labels dos checkboxes */
    label[for*="solicitado"],
    label[for*="verificado"] {
        display: inline-block !important;
        visibility: visible !important;
        color: black !important;
        font-size: 9pt !important;
        margin-left: 3px !important;
        margin-right: 10px !important;
    }
    
    .check-container input[type="checkbox"] {
        display: inline-block !important;
        width: 12px !important;
        height: 12px !important;
        border: 1px solid #333 !important;
        background-color: white !important;
        margin-right: 3px !important;
        -webkit-appearance: none !important;
        appearance: none !important;
        print-color-adjust: exact !important;
    }
    
    /* Estilizar títulos na impressão */
    h3, h4, h5 {
        color: #333 !important;
        font-weight: bold !important;
        margin-top: 15px !important;
        margin-bottom: 8px !important;
        page-break-after: avoid !important;
    }
    
    /* Garantir que listas sejam visíveis */
    ul.list-group {
        border: none !important;
        margin-bottom: 15px !important;
    }
    
    .card {
        border: none !important;
        box-shadow: none !important;
    }
    
    .card-body {
        padding: 0 !important;
    }
    
    .print-only {
        display: block !important;
    }
    
    .print-footer {
        margin-top: 30px !important;
        padding-top: 20px !important;
        border-top: 1px solid #333 !important;
        text-align: center !important;
    }
    
    h5 {
        color: #333 !important;
        font-weight: bold !important;
        font-size: 12pt !important;
        margin-bottom: 5px !important;
        margin-top: 12px !important;
    }
    
    h3, h4, p {
        page-break-after: avoid !important;
        margin-bottom: 8px !important;
    }
    
    ul.list-group {
        page-break-inside: avoid !important;
        margin-bottom: 10px !important;
    }
    
    html, body {
        height: auto !important;
        overflow: visible !important;
    }
    
    #results > div, #examsResults {
        page-break-inside: avoid !important;
        margin-bottom: 10px !important;
    }
    
    #printDate {
        font-weight: normal !important;
    }
    
    /* Melhorar quebras de página */
    .list-group-item:first-child {
        page-break-before: avoid !important;
    }
    
    .list-group-item:last-child {
        page-break-after: avoid !important;
    }
    
    /* Garantir que os títulos não fiquem órfãos */
    h5:last-child {
        page-break-after: avoid !important;
    }
} 