body {
    font-variant-numeric: tabular-nums;
}

.table th {
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6c757d;
}

.rank-cell {
    width: 80px;
    font-weight: bold;
    font-size: 1.1rem;
}

.rank-1 { color: #ffca28; }
.rank-2 { color: #9e9e9e; }
.rank-3 { color: #cd7f32; }

.driver-name {
    font-weight: 600;
    color: #212529;
}

.car-info {
    font-size: 0.9rem;
    color: #495057;
}

.plate-number {
    font-family: monospace;
    background: #f8f9fa;
    padding: 2px 6px;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    font-weight: bold;
}

.amount-cell {
    font-family: 'Courier New', Courier, monospace;
    font-weight: 500;
}

.favorite-row {
    background-color: #fff9c4 !important;
    border-left: 4px solid #fbc02d;
}

.favorite-btn {
    cursor: pointer;
    transition: transform 0.2s;
    filter: grayscale(1);
}

.favorite-btn.active {
    filter: grayscale(0);
    transform: scale(1.2);
}

.table-responsive {
    border-radius: 8px;
}

@media (max-width: 768px) {
    .rank-cell { width: 60px; font-size: 0.9rem; }
    .amount-cell { font-size: 0.85rem; }
    .table-responsive { font-size: 0.85rem; }
}

#loader {
    z-index: 1050;
    background: rgba(255, 255, 255, 0.8);
    padding: 20px;
    border-radius: 10px;
}

.pagination {
    user-select: none;
}

.btn-primary {
    background-color: #fc3;
    border-color: #fc3;
    color: #000;
}

.btn-primary:hover {
    background-color: #f5c200;
    border-color: #f5c200;
    color: #000;
}

.btn-outline-primary {
    color: #000;
    border-color: #dee2e6;
}

.btn-outline-primary:hover, .btn-outline-primary.active {
    background-color: #fc3;
    border-color: #fc3;
    color: #000;
}