.table-scroll {
    width: 100%;
    overflow-x: auto;
}

.modal {
    max-width: calc(100vw - 24px);
    max-height: calc(100dvh - 24px);
    overflow-y: auto;
}

@media (max-width: 1200px) {
    .header {
        height: auto;
        flex-wrap: wrap;
        gap: 8px;
        padding: 10px 16px 4px;
    }
    .header .logo, .header-actions { white-space: nowrap; }
    .header .nav {
        order: 3;
        flex: 0 0 100%;
        gap: 12px;
        padding-bottom: 6px;
        overflow-x: auto;
    }
    .header .nav a { flex: none; }
}

@media (max-width: 640px) {
    .header { padding-inline: 12px; }
    .header .logo { font-size: 16px; }
    .header .logo-icon { width: 28px; height: 28px; }
    .header-actions { gap: 8px; }
    .header-btn { padding: 0 8px; }
    .user-dropdown-trigger { font-size: 12px; }
    .content { padding: 12px; }
    .filter-card, .modal-body { padding: 12px; }
    .filter-row { gap: 10px; }
    .filter-item { flex: 1 1 200px; min-width: 0; }
    .filter-item .input, .filter-item .select { flex: 1; min-width: 0; }
    .table-header, .table-footer { padding: 12px; flex-wrap: wrap; gap: 8px; }
    .pagination { flex-wrap: wrap; }
    .table-scroll table { min-width: 600px; }
    .table-scroll th, .table-scroll td { padding: 10px 12px; }
}

@media (max-width: 460px) {
    .header-download-label { display: none; }
}
