:root {
            --primary-color: #3498db;
            --hover-color: #2980b9;
        }

        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            background-color: #f8f9fa;
            padding-top: 20px;
        }

        .card {
            border-radius: 10px;
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
            margin-bottom: 20px;
            border: none;
        }

        .card-header {
            background-color: var(--primary-color);
            color: white;
            border-radius: 10px 10px 0 0 !important;
            padding: 15px 20px;
        }

        .table-responsive {
            overflow-x: auto;
        }

        .table {
            margin-bottom: 0;
        }

        .table th {
            white-space: nowrap;
            position: relative;
            background-color: #f1f5f9;
        }

        .table th.sortable:hover {
            background-color: #e2e8f0;
            cursor: pointer;
        }

        .table th.sort-asc::after {
            content: " ↑";
            font-size: 12px;
        }

        .table th.sort-desc::after {
            content: " ↓";
            font-size: 12px;
        }

        .table td {
            vertical-align: middle;
        }

        .positive {
            color: #e74c3c;
            font-weight: bold;
        }

        .negative {
            color: #2ecc71;
            font-weight: bold;
        }

        .filter-container {
            background-color: white;
            padding: 15px;
            border-radius: 8px;
            margin-bottom: 20px;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
        }

        .filter-group {
            margin-bottom: 10px;
        }

        .badge-filter {
            cursor: pointer;
            margin-right: 5px;
            margin-bottom: 5px;
        }

        @media (max-width: 768px) {
            .table td, .table th {
                padding: 8px 5px;
                font-size: 14px;
            }

            .card-header h5 {
                font-size: 18px;
            }
        }

        /* 移动端优化 */
        .mobile-hidden {
            display: table-cell;
        }

        @media (max-width: 576px) {
            .mobile-hidden {
                display: none;
            }
        }