/* css/responsive.css */

@media (max-width: 768px) {
    /* --- Global Stats Panel --- */
    .global-stats-panel {
        flex-direction: column;
        align-items: center;
        gap: 1rem;
    }

    .global-stat-card {
        width: 100%;
        max-width: 300px;
    }

    /* --- Calendar Actions --- */
    .calendar-actions {
        flex-direction: column;
        gap: 0.8rem;
    }

    .btn-month-detail, .btn-share-month {
        width: 100%;
    }

    /* --- Header --- */
    .header-content {
        flex-direction: column;
        gap: 1rem;
    }

    /* --- Stats Panel --- */
    .stats-panel {
        grid-template-columns: repeat(2, 1fr);
    }

    /* --- Round Selector --- */
    .round-selector {
        flex-direction: column;
    }

    .round-btn {
        min-width: 100%;
    }

    /* --- Categories --- */
    .categories-container {
        grid-template-columns: 1fr;
    }

    /* --- Problems --- */
    .problems-grid {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    }

    /* --- Notice Banner --- */
    .notice-content {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.8rem;
    }

    .notice-btn {
        width: 100%;
    }

    /* --- Modals --- */
    .modal-content {
        width: 95%;
        margin: 1rem;
    }

    .modal-header, .modal-body {
        padding: 1.5rem;
    }

    /* --- Calendar --- */
    .calendar-modal {
        max-width: 95%;
    }

    .calendar-grid {
        gap: 0.4rem;
        padding: 0.8rem;
    }

    .calendar-day {
        font-size: 0.8rem;
        padding: 0.25rem;
    }

    .calendar-day-number {
        font-size: 0.85rem;
    }

    .calendar-day-count {
        font-size: 0.6rem;
        padding: 1px 3px;
    }

    .calendar-legend {
        gap: 0.8rem;
    }

    .legend-item {
        font-size: 0.8rem;
    }

    /* --- Detail Modals --- */
    .date-detail-modal, .month-detail-modal {
        max-width: 95%;
    }

    .problem-detail-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }

    /* --- Detail Actions --- */
    .detail-search-container {
        flex-direction: column;
        align-items: stretch;
    }

    .detail-actions {
        justify-content: center;
    }

    .detail-action-btn {
        padding: 6px 10px;
        font-size: 0.8rem;
    }
}
