/* Unified square stats cards for all legacy dashboards/admin tabs. */

.dashboard-body .admin-metrics-grid,
.dashboard-body .teacher-stat-grid,
.dashboard-body .supervisor-stat-grid,
.dashboard-body .hero-stats,
.dashboard-body .summary-grid,
.dashboard-body .entity-stats-grid,
.dashboard-body .admin-bunny-page .bunny-stats-grid,
.dashboard-body .coupon-hero-stats,
.dashboard-body .users-stats-grid,
.dashboard-body .icon-hero-stats,
.dashboard-body .library-hero-stats,
.dashboard-body .publications-hero-stats {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 180px));
    gap: clamp(8px, 1.2vw, 12px);
    align-items: stretch;
    justify-content: start;
}

.dashboard-body .admin-metric-card,
.dashboard-body .teacher-stat-card,
.dashboard-body .supervisor-stat-card,
.dashboard-body .student-dashboard .hero-stats .stat-card {
    aspect-ratio: 1 / 1;
    min-height: 0 !important;
}

.dashboard-body .summary-card,
.dashboard-body .entity-stat-card,
.dashboard-body .admin-bunny-page .bunny-stat-card,
.dashboard-body .coupon-stat-chip,
.dashboard-body .users-stat,
.dashboard-body .icon-hero-stats > span,
.dashboard-body .library-hero-stats > span,
.dashboard-body .publications-hero-stats > span {
    aspect-ratio: 1 / 1;
    min-height: 0 !important;
    width: 100%;
    max-width: 180px;
    display: grid;
    align-content: center;
    justify-items: center;
    text-align: center;
    gap: 6px;
    padding: clamp(10px, 1.1vw, 14px);
    border-radius: 14px;
}

.dashboard-body .summary-card strong,
.dashboard-body .entity-stat-card strong,
.dashboard-body .admin-bunny-page .bunny-stat-card .bunny-stat-value,
.dashboard-body .coupon-stat-chip strong,
.dashboard-body .users-stat strong,
.dashboard-body .icon-hero-stats > span strong,
.dashboard-body .library-hero-stats > span strong,
.dashboard-body .publications-hero-stats > span strong {
    font-size: clamp(1rem, 1.8vw, 1.3rem);
    line-height: 1.2;
}

.dashboard-body .summary-card span,
.dashboard-body .entity-stat-card span,
.dashboard-body .admin-bunny-page .bunny-stat-card .bunny-stat-label,
.dashboard-body .coupon-stat-chip span,
.dashboard-body .users-stat span {
    font-size: clamp(0.72rem, 1.2vw, 0.84rem);
    line-height: 1.5;
}

.dashboard-body .coupon-stat-chip--wide {
    grid-column: auto;
}

@media (max-width: 900px) {
    .dashboard-body .admin-metrics-grid,
    .dashboard-body .teacher-stat-grid,
    .dashboard-body .supervisor-stat-grid,
    .dashboard-body .hero-stats,
    .dashboard-body .summary-grid,
    .dashboard-body .entity-stats-grid,
    .dashboard-body .admin-bunny-page .bunny-stats-grid,
    .dashboard-body .coupon-hero-stats,
    .dashboard-body .users-stats-grid,
    .dashboard-body .icon-hero-stats,
    .dashboard-body .library-hero-stats,
    .dashboard-body .publications-hero-stats {
        grid-template-columns: repeat(auto-fill, minmax(120px, 150px));
        gap: 8px;
    }

    .dashboard-body .summary-card,
    .dashboard-body .entity-stat-card,
    .dashboard-body .admin-bunny-page .bunny-stat-card,
    .dashboard-body .coupon-stat-chip,
    .dashboard-body .users-stat,
    .dashboard-body .icon-hero-stats > span,
    .dashboard-body .library-hero-stats > span,
    .dashboard-body .publications-hero-stats > span {
        max-width: 150px;
    }
}

@media (max-width: 600px) {
    .dashboard-body .admin-metrics-grid,
    .dashboard-body .teacher-stat-grid,
    .dashboard-body .supervisor-stat-grid,
    .dashboard-body .hero-stats,
    .dashboard-body .summary-grid,
    .dashboard-body .entity-stats-grid,
    .dashboard-body .admin-bunny-page .bunny-stats-grid,
    .dashboard-body .coupon-hero-stats,
    .dashboard-body .users-stats-grid,
    .dashboard-body .icon-hero-stats,
    .dashboard-body .library-hero-stats,
    .dashboard-body .publications-hero-stats {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        padding-bottom: 6px;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x proximity;
    }

    .dashboard-body .admin-metric-card,
    .dashboard-body .teacher-stat-card,
    .dashboard-body .supervisor-stat-card,
    .dashboard-body .student-dashboard .hero-stats .stat-card,
    .dashboard-body .summary-card,
    .dashboard-body .entity-stat-card,
    .dashboard-body .admin-bunny-page .bunny-stat-card,
    .dashboard-body .coupon-stat-chip,
    .dashboard-body .users-stat,
    .dashboard-body .icon-hero-stats > span,
    .dashboard-body .library-hero-stats > span,
    .dashboard-body .publications-hero-stats > span {
        flex: 0 0 100px;
        width: 100px !important;
        min-width: 100px;
        max-width: 100px;
        height: 100px;
        max-height: 100px;
        aspect-ratio: 1 / 1;
        scroll-snap-align: start;
        padding: 8px;
        gap: 4px;
    }
}

@media (max-width: 520px) {
    .dashboard-body .summary-card,
    .dashboard-body .entity-stat-card,
    .dashboard-body .admin-bunny-page .bunny-stat-card,
    .dashboard-body .coupon-stat-chip,
    .dashboard-body .users-stat,
    .dashboard-body .icon-hero-stats > span,
    .dashboard-body .library-hero-stats > span,
    .dashboard-body .publications-hero-stats > span {
        padding: 8px;
        gap: 4px;
    }

    .dashboard-body .teacher-stat-card,
    .dashboard-body .supervisor-stat-card,
    .dashboard-body .student-dashboard .hero-stats .stat-card,
    .dashboard-body .admin-metric-card {
        padding: 8px;
    }
}
