/* Ajustes leves para padronizar visual nas páginas de /areas/adm */

/* Ativa a barra de rolagem própria do menu caso ele seja maior que a tela */
.app-sidebar .sidebar-wrapper {
    flex: 1 1 auto;
    overflow-y: auto !important;
    overflow-x: hidden;
}



/* Card title e header */
.card .card-title {
    font-size: 1rem;
    font-weight: 600;
}
.card.card-outline .card-header {
    background: transparent;
}

/* Tabelas: padding, fonte e responsividade */
.table th, .table td {
    padding: 0.65rem 0.75rem;
    vertical-align: middle;
}
.table tbody td {
    font-size: 0.95rem;
}
.table img.img-thumbnail, .table img.rounded-circle {
    object-fit: cover;
}

.table-responsive { 
    -webkit-overflow-scrolling: touch; 
}

/* Form controls: tamanhos coerentes */
.form-control-sm, .form-select-sm { 
    padding: 0.35rem 0.5rem;
    font-size: 0.9rem;
}

/* Badges e botões: espaçamento consistente */
.btn-group .btn { min-width: 38px; }
.card-footer { background-color: transparent; }

/* Pequenas melhorias de contraste para alertas dentro das cards */
.card .alert { margin: 0.5rem 0; }

/* Breadcrumbs alinhamento consistente */
.breadcrumb { margin-bottom: 0; }

/* pequenas correções mobile */
@media (max-width: 767.98px) {
    .card-header .btn { margin-top: .5rem; }
    .table thead { display: none; }
    .table tbody td { display: block; width: 100%; }
    .table tbody tr { display: block; margin-bottom: 0.75rem; }
}


@media (max-width: 767.98px) {
    .table tbody td { position: relative; padding-left: 46%; }
    .table tbody td::before {
        content: attr(data-label);
        position: absolute;
        left: 0.75rem;
        top: 0.6rem;
        width: 38%;
        font-weight: 600;
        color: #6c757d;
        font-size: 0.9rem;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

/* Melhorias responsivas adicionais */
@media (max-width: 991.98px) {
    .card .card-title { font-size: 0.98rem; }
    .breadcrumb { font-size: 0.85rem; }
}

@media (max-width: 575.98px) {
    /* Tornar botões mais fáceis de tocar em mobile */
    .btn { padding: 0.5rem 0.6rem; font-size: 0.95rem; }
    .btn-group { display: flex; gap: 0.4rem; }
    .btn-group .btn { flex: 1; }

    /* Formulários: inputs em largura total */
    .form-control, .form-select { width: 100%; }

    /* Breadcrumbs e títulos menores */
    .app-content-header h3 { font-size: 1rem; }

    /* Sidebar brand compacto */
    .sidebar-brand .brand-text { font-size: 0.75rem; }

    /* Footer alinhamento central e padding menor */
    .app-footer { padding: 0.6rem 0.75rem; text-align: center; }
}

/* Neutralizar larguras inline em cabeçalhos/tabelas para dispositivos pequenos */
@media (max-width: 767.98px) {
    .table th[style], .table td[style] { width: auto !important; min-width: 0 !important; }
    .table img { width: 48px !important; height: 48px !important; object-fit: cover !important; }
    .img-thumbnail.rounded-circle { width: 96px !important; height: 96px !important; }
}

/* Tables: manter rolamento horizontal quando necessário e melhorar legibilidade */
.table-responsive { overflow-x: auto; }
.table tbody td { word-break: break-word; }

/* Cards: empilhar melhor em telas pequenas */
@media (max-width: 767.98px) {
    .card .card-header .card-title { display: block; }
    .card .card-header .btn { width: 100%; }
}

/* Ajustes finos para imagens e avatares */
.img-thumbnail, img.rounded-circle, .user-image { max-width: 100%; height: auto; }

/* Pequenas transições para suavizar mudanças */
.card, .table, .btn { transition: all 120ms ease-in-out; }

/* Ajustes específicos para dashboard administrativo (areas/geral/dashboardadm.php) */
@media (max-width: 991.98px) {
    /* Reduz icon e permite quebra do conteúdo dos info-boxes */
    .info-box { display: flex; gap: 0.75rem; align-items: center; }
    .info-box .info-box-icon { width: 48px !important; height: 48px; display:flex; align-items:center; justify-content:center; font-size:1.15rem; }
    .info-box .info-box-content { flex: 1 1 auto; min-width: 0; }
    .info-box .info-box-text { font-size: 0.85rem; }
    .info-box .info-box-number { font-size: 1.15rem; }

    /* List-group items: permitam quebra e empilhamento quando necessário */
    .list-group-item { flex-wrap: wrap; gap: 0.5rem; }
    .list-group-item .d-flex.align-items-center { gap: 0.6rem; }

    /* Tabela: garantia de scroll e evitar overflow de células */
    .table-responsive { overflow-x: auto; }
    .table td, .table th { white-space: normal; }
}

@media (max-width: 575.98px) {
    /* Tornar badges e textos mais compactos em telas pequenas */
    .info-box .info-box-icon { width: 44px !important; height: 44px; font-size:1rem; }
    .info-box .info-box-number { font-size: 1rem; }
    .list-group-item { padding: 0.65rem !important; }
    .card .card-header .card-title { font-size: 0.95rem; }
}

.card-img-top {
    aspect-ratio: 16 / 9;
    height: auto;
    object-fit: cover;
}

.card-title {
    word-wrap: break-word;
    overflow-wrap: break-word;
}