/* Responsive CSS - Media Queries */

/* Mobile First Approach */

/* Mobile devices (default) */
@media (max-width: 767px) {
    .container {
        padding: 0 var(--spacing-sm);
    }
    
    h1 { font-size: var(--font-size-2xl); }
    h2 { font-size: var(--font-size-xl); }
    h3 { font-size: var(--font-size-lg); }
    
    .card {
        padding: var(--spacing-md);
    }
    
    .table-container {
        font-size: var(--font-size-sm);
        overflow-x: auto;
    }
    
    .table th,
    .table td {
        padding: var(--spacing-sm);
        white-space: nowrap;
    }
    
    .modal {
        max-width: 100%;
        margin: var(--spacing-sm);
    }
    
    .search-bar {
        flex-direction: column;
    }
    
    .search-input {
        width: 100%;
    }
    
    .filter-group {
        flex-direction: column;
        width: 100%;
    }
    
    .tabs {
        overflow-x: auto;
        flex-wrap: nowrap;
    }
    
    .page-toolbar-actions .btn,
    .card-header-actions .btn,
    .modal-footer .btn,
    .datatable-pagination .btn,
    .table .btn,
    .dt-action-group .btn,
    .dashboard-quick-actions .btn,
    .tabs .tab {
        width: auto;
    }

    .btn {
        width: 100%;
        justify-content: center;
    }
    
    .modal-footer {
        flex-direction: column;
    }
    
    .modal-footer .btn {
        width: 100%;
    }
    
    .app-sidebar,
    .sidebar {
        margin-left: 0 !important;
        width: min(18rem, 88vw) !important;
        max-width: none !important;
    }

    .main-content {
        margin-left: 0 !important;
        padding: var(--spacing-md) !important;
    }
    
    /* Grid adjustments */
    [style*="grid-template-columns"] {
        grid-template-columns: 1fr !important;
    }
}

/* Tablet devices */
@media (min-width: 768px) and (max-width: 1023px) {
    .container {
        padding: 0 var(--spacing-md);
    }
    
    .table-container {
        font-size: var(--font-size-sm);
    }
    
    .search-bar {
        flex-wrap: wrap;
    }
}

/* Desktop devices */
@media (min-width: 1024px) {
    .container {
        padding: 0 var(--spacing-xl);
    }
}

/* Print styles */
@media print {
    .app-header-page-title {
        display: none !important;
    }

    .app-footer,
    .sidebar,
    .header,
    .btn,
    .modal-overlay,
    .no-print,
    .search-bar,
    .datatable-footer,
    .page-toolbar-actions,
    .card-header-actions,
    .alert {
        display: none !important;
    }

    .main-content {
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
    }

    .page-toolbar {
        margin-bottom: 0.5rem;
    }

    .page-title {
        font-size: 1.25rem;
    }

    .card {
        box-shadow: none;
        border: 1px solid var(--border-color);
        page-break-inside: avoid;
    }

    .datatable-totals-bar {
        background: transparent !important;
        border-top: 1px solid var(--border-color);
    }

    .table {
        page-break-inside: auto;
        font-size: 0.85rem;
    }

    .table tr {
        page-break-inside: avoid;
        page-break-after: auto;
    }
}
