/* ============================================================
   Epiteli — Estilos Responsivos Globais
   Breakpoints: 768px (tablet/mobile) e 480px (mobile pequeno)
   ============================================================ */

/* --- Hambúrguer (oculto no desktop) --- */
.nav-hamburger {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    cursor: pointer;
    padding: 4px;
    background: none;
    border: none;
}
.nav-hamburger span {
    display: block;
    width: 22px;
    height: 2px;
    background: var(--mid, #6B6860);
    border-radius: 2px;
    transition: all 0.25s;
}

/* --- Modal box responsivo --- */
.modal-box {
    box-sizing: border-box;
}

/* ============================================================
   TABLET E MOBILE (≤ 768px)
   ============================================================ */
@media (max-width: 768px) {

    /* Previne scroll horizontal em qualquer tela */
    html, body { overflow-x: hidden; max-width: 100%; }

    /* Fix: altInput do flatpickr não vazar em flex/grid no Safari iOS */
    .filter-group,
    .atend-filter-field { overflow: hidden; }

    /* Navbar */
    .navbar {
        padding: 14px 20px;
        position: relative;
    }
    .nav-hamburger {
        display: flex;
    }
    .navbar-menu {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: var(--warm-white, #FDFCFA);
        border-top: 1px solid rgba(0,0,0,0.07);
        border-bottom: 1px solid rgba(0,0,0,0.07);
        flex-direction: column;
        padding: 12px 20px;
        gap: 0 !important;
        z-index: 200;
        box-shadow: 0 4px 16px rgba(0,0,0,0.08);
    }
    /* abertura controlada via JS com inline style */
    .navbar-menu a {
        padding: 12px 0;
        border-bottom: 1px solid rgba(0,0,0,0.05);
        font-size: 15px !important;
    }
    .navbar-menu a:last-child {
        border-bottom: none;
    }
    .navbar-right {
        gap: 12px;
    }
    .nav-desktop-logout {
        display: none !important;
    }
    .nav-mobile-logout {
        display: block !important;
    }
    /* Ocultar saudação no mobile */
    .nav-greeting {
        display: none;
    }

    /* Container */
    .container {
        margin: 16px auto !important;
        padding: 0 16px !important;
    }

    /* Page headers */
    .page-header h1 {
        font-size: 26px !important;
    }
    .page-header {
        margin-bottom: 24px !important;
    }

    /* Section boxes */
    .section-box {
        padding: 20px 16px !important;
        border-radius: 12px !important;
    }
    .section-title {
        font-size: 20px !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px !important;
    }

    /* Métricas / cards */
    .metrics-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
    .metric-card {
        padding: 20px !important;
    }
    .metric-value {
        font-size: 32px !important;
    }

    /* Tabelas — scroll horizontal (fallback genérico) */
    .table-responsive {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* Tabela de agendamentos — vira cards */
    .agenda-table {
        min-width: unset;
    }
    .agenda-table thead {
        display: none;
    }
    .agenda-table tbody tr {
        display: block;
        border: 1px solid rgba(0,0,0,0.08);
        border-radius: 10px;
        padding: 12px 14px;
        margin-bottom: 10px;
        background: var(--warm-white, #FDFCFA);
    }
    .agenda-table td {
        display: flex;
        flex-direction: column;
        padding: 5px 0;
        border: none !important;
        font-size: 14px;
    }
    .agenda-table td::before {
        content: attr(data-label);
        font-size: 11px;
        font-weight: 600;
        color: var(--mid, #6B6860);
        text-transform: uppercase;
        letter-spacing: 0.04em;
        margin-bottom: 2px;
    }

    /* Novo prontuário / editar prontuário */
    .container[style*="max-width: 800px"],
    .container[style*="max-width:800px"] {
        padding: 20px !important;
    }

    /* Modais */
    .modal-box {
        width: calc(100vw - 32px) !important;
        max-width: 480px !important;
        margin: 16px auto !important;
        padding: 24px 20px !important;
    }

    /* Formulários de filtro */
    .filter-form {
        flex-wrap: wrap !important;
    }
    .filter-form > div,
    .filter-form > label {
        min-width: calc(50% - 8px) !important;
        flex: 1 1 calc(50% - 8px) !important;
    }

    /* Kanban colunas */
    .kanban-board {
        flex-direction: column !important;
        overflow-x: unset !important;
    }
    .kanban-col {
        min-width: unset !important;
        width: 100% !important;
    }

    /* Prontuário — tabs */
    .tabs-nav {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        flex-wrap: nowrap !important;
        gap: 0 !important;
    }
    .tab-btn {
        white-space: nowrap;
        flex-shrink: 0;
        padding: 10px 14px !important;
        font-size: 13px !important;
    }

    /* Anamnese grid 2 colunas → 1 coluna */
    .anamnese-grid {
        grid-template-columns: 1fr !important;
    }

    /* Foto antes/depois */
    .fotos-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ============================================================
   MOBILE PEQUENO (≤ 480px)
   ============================================================ */
@media (max-width: 480px) {

    .page-header h1 {
        font-size: 22px !important;
    }

    .metric-value {
        font-size: 28px !important;
    }

    .navbar {
        padding: 12px 16px;
    }

    .modal-box {
        width: calc(100vw - 24px) !important;
        padding: 20px 16px !important;
    }

    .section-box {
        padding: 16px 12px !important;
    }

    /* Filtros empilham em coluna única */
    .filter-form > div,
    .filter-form > label {
        min-width: 100% !important;
        flex: 1 1 100% !important;
    }

    /* Novo prontuário container */
    .container {
        padding: 0 12px !important;
    }

    td, th {
        padding: 12px 8px !important;
        font-size: 13px !important;
    }
}
