.dac-point-ranking {
    width: 100%;
    margin: 1.5rem 0;
    color: #1f2937;
}

.dac-point-ranking__title {
    margin: 0 0 0.35rem;
    text-align: center;
    font-size: 1.5rem;
}

.dac-point-ranking__period {
    margin: 0 0 1rem;
    color: #6b7280;
    text-align: center;
}

.dac-point-ranking__table-wrap {
    overflow-x: auto;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06);
}

.dac-point-ranking__table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
}

.dac-point-ranking__table th,
.dac-point-ranking__table td {
    padding: 0.8rem 1rem;
    border: 0;
    border-bottom: 1px solid #e5e7eb;
    text-align: left;
    vertical-align: middle;
}

.dac-point-ranking__table th {
    border-right: 1px solid rgba(255, 255, 255, 0.28);
    border-bottom: 0;
    background: #18794E;
    color: #fff;
    font-weight: 700;
    text-align: center;
    white-space: nowrap;
}

.dac-point-ranking__table th:last-child {
    border-right: 0;
}

.dac-point-ranking__table tbody tr:last-child td {
    border-bottom: 0;
}

.dac-point-ranking__table tbody tr:nth-child(-n+3) .dac-point-ranking__rank {
    color: #b45309;
    font-weight: 700;
}

.dac-point-ranking__rank,
.dac-point-ranking__count {
    width: 1%;
    white-space: nowrap;
}

.dac-point-ranking__count {
    text-align: right !important;
    font-weight: 700;
}

.dac-point-ranking__empty,
.dac-point-ranking__error {
    padding: 1rem;
    text-align: center !important;
}

.dac-point-ranking__error {
    color: #b91c1c;
}

@media (max-width: 480px) {
    .dac-point-ranking__table th,
    .dac-point-ranking__table td {
        padding: 0.65rem 0.7rem;
    }
}
