/**
 * GREENPLAY - MOBILE RESPONSIVE STYLES
 * Estilos mobile e tablets
 */

@media (max-width: 768px) {
    
    /* SIDEBAR MOBILE */
    .sidebar {
        position: fixed;
        left: -260px;
        top: 0;
        height: 100vh;
        z-index: 999;
        transition: left 0.3s ease;
    }
    
    .sidebar.mobile-open {
        left: 0 !important;
    }
    
    .sidebar.collapsed {
        left: -260px;
    }
    
    .main-content {
        margin-left: 0 !important;
    }
    
    /* MOBILE MENU BUTTON */
    .mobile-menu-btn {
        display: flex !important;
    }
    
    /* TABLES */
    .table-container {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    
    .data-table {
        font-size: 14px;
    }
    
    .data-table th,
    .data-table td {
        padding: 8px;
    }
    
    /* FORMS */
    .form-group label {
        font-size: 14px;
    }
    
    .form-control {
        font-size: 16px; /* Evita zoom automático no iOS */
    }
    
    /* CARDS */
    .content-card {
        padding: 15px;
        border-radius: 8px;
    }
    
    /* BUTTONS */
    .btn {
        padding: 10px 16px;
        font-size: 14px;
    }
    
    .btn-icon {
        width: 36px;
        height: 36px;
        font-size: 14px;
    }
    
    /* PAGE CONTAINER */
    .page-container {
        padding: 15px;
    }
    
    .page-header h1 {
        font-size: 24px;
    }
    
    /* MODAL */
    md-dialog {
        min-width: auto !important;
        max-width: 95vw !important;
    }
    
    /* DASHBOARD */
    .stats-grid {
        grid-template-columns: 1fr !important;
    }
    
    .charts-section {
        grid-template-columns: 1fr !important;
    }
    
    /* PROJETO TABS */
    .tabs-container {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    
    .tab-btn {
        white-space: nowrap;
        flex-shrink: 0;
    }
    
    /* TOPBAR */
    .topbar-simple {
        padding: 10px 15px;
        gap: 10px;
        flex-wrap: wrap;
    }
    
    .page-context {
        display: none;
    }
    
    .barra-pesquisa {
        max-width: 100%;
    }
    
    .search-container {
        max-width: 100%;
        min-width: auto;
        flex: 1 1 100%;
    }
    
    .search-results {
        max-height: 400px;
    }
    
    .page-actions {
        gap: 5px;
        width: 100%;
        justify-content: flex-end;
    }
    
    .page-actions button span {
        display: none;
    }
    
    .page-actions button i {
        margin: 0;
    }
    
    /* ANEXOS */
    .anexos-grid {
        grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)) !important;
    }
    
    .anexo-card {
        padding: 10px;
    }
    
    /* CALENDARIO */
    .calendario-grid {
        font-size: 12px;
    }
    
    .dia-cell {
        min-height: 80px;
        padding: 5px;
    }
    
    .evento-item {
        font-size: 10px;
        padding: 2px 4px;
    }
    
    .filtros-tipo {
        flex-wrap: wrap;
    }
    
    .filtro-btn {
        font-size: 12px;
        padding: 6px 12px;
    }
    
    /* EVENTOS LISTA */
    .evento-card {
        padding: 12px;
    }
    
    .evento-card-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
}

/* TABLET (768px - 1024px) */
@media (min-width: 769px) and (max-width: 1024px) {
    
    .sidebar {
        width: 200px;
    }
    
    .main-content {
        margin-left: 200px;
    }
    
    .stats-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    
    .charts-section {
        grid-template-columns: 1fr !important;
    }
}

/* LANDSCAPE MOBILE */
@media (max-width: 768px) and (orientation: landscape) {
    
    .sidebar {
        width: 200px;
    }
    
    .calendario-grid .dia-cell {
        min-height: 60px;
    }
}

/* SMALL SCREENS (< 480px) */
@media (max-width: 480px) {
    
    .page-header h1 {
        font-size: 20px;
    }
    
    .btn {
        padding: 8px 12px;
        font-size: 13px;
    }
    
    .data-table {
        font-size: 12px;
    }
    
    .data-table th,
    .data-table td {
        padding: 6px;
    }
    
    /* Esconder colunas menos importantes */
    .data-table .hide-mobile {
        display: none;
    }
    
    .form-group {
        margin-bottom: 15px;
    }
    
    .row > [class*="col-"] {
        padding-left: 10px;
        padding-right: 10px;
    }
}
