/**
 * APC Calendar - Responsive Styles
 */

/* Tablet */
@media (max-width: 1024px) {
    .apc-dashboard-header {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--apc-spacing-md);
    }

    .apc-dashboard-stats {
        grid-template-columns: repeat(2, 1fr);
    }

    .apc-dashboard-actions {
        flex-wrap: wrap;
    }
}

/* Mobile */
@media (max-width: 768px) {
    .apc-date-selector {
        flex-wrap: wrap;
    }

    .apc-date-selector select {
        flex: 1 1 100%;
        max-width: none;
    }

    .apc-calendar-day-name {
        font-size: 0.75rem;
        padding: var(--apc-spacing-sm);
    }

    .apc-calendar-day {
        min-height: 80px;
        padding: var(--apc-spacing-xs);
    }

    .apc-calendar-day-number {
        width: 24px;
        height: 24px;
        line-height: 24px;
        font-size: 0.75rem;
    }

    .apc-event-bar {
        height: 20px;
        line-height: 20px;
        font-size: 0.7rem;
    }

    .apc-dashboard-stats {
        grid-template-columns: 1fr;
    }

    .apc-dashboard-tabs {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .apc-tab-btn {
        white-space: nowrap;
    }

    .apc-modal-content {
        width: 95%;
        padding: var(--apc-spacing-md);
    }

    .apc-notification {
        left: 10px;
        right: 10px;
        min-width: auto;
    }

    .apc-filter-row {
        grid-template-columns: 1fr;
    }
}

/* Small Mobile */
@media (max-width: 480px) {
    .apc-calendar-week {
        min-height: 60px;
    }

    .apc-calendar-day {
        min-height: 60px;
    }

    .apc-event-bar {
        font-size: 0;
    }

    .apc-event-bar::before {
        content: "•";
        font-size: 1rem;
    }
}