/* Contactos y Consultas */

.contact-info-container { padding: 1rem 0; }
.contact-info-container .info-item {
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #e9ecef;
}
.contact-info-container .info-item:last-child { border-bottom: none; }
.contact-info-container .info-item strong {
    display: block;
    color: #495057;
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
    font-weight: 600;
}
.contact-info-container .info-item div {
    color: #212529;
    font-size: 1rem;
    word-wrap: break-word;
}
.contact-info-container .info-item div:empty::before {
    content: "-";
    color: #6c757d;
    font-style: italic;
}

/* Búsqueda de clientes en expedientes */
#cliente-search-results {
    background: white;
    border: 1px solid #dee2e6;
    border-radius: 0.375rem;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}
#cliente-search-results .list-group-item {
    border: none;
    border-bottom: 1px solid #dee2e6;
    cursor: pointer;
    padding: 0.75rem 1rem;
}
#cliente-search-results .list-group-item:last-child { border-bottom: none; }
#cliente-search-results .list-group-item:hover { background-color: #f8f9fa; }
#cliente-search-results .list-group-item:active { background-color: #e9ecef; }

/* Tab Contactos — legible (~+50% respecto a la escala compacta anterior) */
#tab-contactos .table-card,
#tab-contactos .table-responsive,
#tab-contactos #contacts-table {
    font-size: 1.05rem !important;
}
#tab-contactos #contacts-table th,
#tab-contactos #contacts-table td {
    padding: 0.45rem 0.35rem;
    vertical-align: middle;
}
#tab-contactos #contacts-table thead th {
    font-size: 1.02rem !important;
    font-weight: 600 !important;
}
#tab-contactos #contacts-table tbody td { font-size: 1.05rem !important; }
#tab-contactos #contacts-table .btn {
    padding: 0.3rem 0.5rem;
    font-size: 1.02rem !important;
    line-height: 1.25;
}
#tab-contactos #contacts-table .btn i.bi { font-size: 1.28rem !important; }

#tab-contactos .content-header .btn {
    font-size: 1.41rem;
    padding: 0.65rem 1.1rem;
}

#tab-contactos #contacts-total,
#tab-contactos .table-card > .d-flex .form-label,
#tab-contactos .table-card > .d-flex .form-select {
    font-size: 1.05rem !important;
}
#tab-contactos .table-card > .d-flex .form-select.form-select-sm {
    min-height: 2.25rem;
    padding: 0.4rem 0.65rem;
}

/* Tab Historial — misma escala que layout-scale (pisa dashboard.css !important) */
#tab-consultas .table-card,
#tab-consultas .table-responsive,
#tab-consultas #consultations-table {
    font-size: 0.702rem !important;
}
#tab-consultas #consultations-table th,
#tab-consultas #consultations-table td {
    padding: 0.3rem 0.2rem;
    vertical-align: middle;
}
#tab-consultas #consultations-table thead th {
    font-size: 0.68rem !important;
    font-weight: 600 !important;
}
#tab-consultas #consultations-table tbody td { font-size: 0.702rem !important; }
#tab-consultas #consultations-table .btn {
    padding: 0.2rem 0.35rem;
    font-size: 0.68rem !important;
    line-height: 1.2;
}
#tab-consultas #consultations-table .btn i.bi { font-size: 0.85rem !important; }

/* Filtros y formulario nueva consulta — como controles de filtros de Expedientes */
#tab-consultas .filters-card .form-label {
    font-size: 0.95rem;
    font-weight: 600;
    margin-bottom: 0.25rem;
}
#tab-consultas .filters-card .form-control,
#tab-consultas .filters-card .form-select,
#tab-consultas .filters-card .btn {
    font-size: 0.9375rem;
    line-height: 1.45;
    padding: 0.5rem 0.85rem;
    min-height: 2.75rem;
    border-radius: 0.5rem;
}
#tab-consultas #create-card .card-title {
    font-size: 1rem;
    font-weight: 600;
}
#tab-consultas #create-card .form-label,
#tab-consultas #create-card .form-control,
#tab-consultas #create-card .form-select,
#tab-consultas #create-card .btn {
    font-size: 0.9375rem;
}
#tab-consultas #create-card .form-control,
#tab-consultas #create-card .form-select {
    padding: 0.5rem 0.85rem;
    min-height: 2.75rem;
    border-radius: 0.5rem;
}

#tab-consultas .pagination {
    font-size: 0.875rem;
}
#tab-contactos .pagination {
    font-size: 1.31rem;
}
#tab-consultas .pagination .page-link {
    padding: 0.3rem 0.55rem;
}
#tab-contactos .pagination .page-link {
    padding: 0.45rem 0.82rem;
}

#tab-consultas #empty-message {
    font-size: 0.875rem;
}
#tab-contactos #contacts-table td.text-muted {
    font-size: 1.31rem !important;
}

#tab-consultas .filters-card .btn-success {
    min-height: 2.75rem;
    font-size: 0.9375rem;
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
}

/* ========== Historial de Consultas: sin scroll horizontal, tabla adaptable ========== */
#tab-consultas {
    min-width: 0;
    max-width: 100%;
    overflow-x: hidden;
    box-sizing: border-box;
}

#tab-consultas .consultas-filters,
#tab-consultas .consultas-table-wrap,
#tab-consultas #create-card {
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
}

#tab-consultas .consultas-table-responsive {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
}

/* Pisa reglas globales de layout-scale.css (.table tbody tr { white-space: nowrap }) */
#tab-consultas #consultations-table {
    table-layout: fixed;
    width: 100%;
    margin-bottom: 0;
}

#tab-consultas #consultations-table thead th,
#tab-consultas #consultations-table tbody td {
    white-space: normal !important;
    word-break: break-word;
    overflow-wrap: anywhere;
    vertical-align: middle;
    min-width: 0 !important;
    max-width: none;
}

#tab-consultas #consultations-table tbody tr {
    white-space: normal !important;
}

/* Anchos por columna (evita suma de min-widths enormes del .table global) */
#tab-consultas #consultations-table th:nth-child(1),
#tab-consultas #consultations-table td:nth-child(1) { width: 3%; text-align: center; }
#tab-consultas #consultations-table th:nth-child(2),
#tab-consultas #consultations-table td:nth-child(2) { width: 11%; }
#tab-consultas #consultations-table th:nth-child(3),
#tab-consultas #consultations-table td:nth-child(3) { width: 10%; }
#tab-consultas #consultations-table th:nth-child(4),
#tab-consultas #consultations-table td:nth-child(4) { width: 11%; }
#tab-consultas #consultations-table th:nth-child(5),
#tab-consultas #consultations-table td:nth-child(5) { width: 11%; }
#tab-consultas #consultations-table th:nth-child(6),
#tab-consultas #consultations-table td:nth-child(6) { width: 12%; }
#tab-consultas #consultations-table th:nth-child(7),
#tab-consultas #consultations-table td:nth-child(7) { width: 22%; }
#tab-consultas #consultations-table th:nth-child(8),
#tab-consultas #consultations-table td:nth-child(8) { width: 12%; }
#tab-consultas #consultations-table th:nth-child(9),
#tab-consultas #consultations-table td:nth-child(9) { width: 8%; text-align: right; }

#tab-consultas #consultations-table .observation-text {
    display: inline;
}

#tab-consultas #consultations-table .form-check.form-switch {
    flex-wrap: wrap;
    min-width: 0;
}

#tab-consultas .consultas-pagination-nav {
    max-width: 100%;
    overflow-x: hidden;
}

#tab-consultas .consultas-pagination-nav .pagination {
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 0.35rem;
}

@media (min-width: 992px) {
    #tab-consultas .consultas-filters .btn-success.w-lg-auto {
        width: auto !important;
    }
}
