
        /* ===== PROJECT CARDS ===== */
        .project-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
            gap: var(--space-4);
            margin-bottom: var(--space-6);
        }

        .project-card {
            background: var(--card);
            border-radius: var(--radius);
            box-shadow: var(--shadow);
            overflow: hidden;
            cursor: pointer;
            transition: transform 0.2s, box-shadow 0.2s;
        }

        .project-card:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 20px rgba(245,10,99,0.2), 0 0 30px rgba(245,10,99,0.08);
        }

        .project-card-header {
            padding: var(--space-5);
            border-bottom: 1px solid rgba(255,255,255,0.07);
        }

        .project-card-header .project-name {
            font-weight: 700;
            font-size: 16px;
            margin-bottom: var(--space-1);
        }

        .project-card-header .project-id {
            font-size: 12px;
            color: var(--text-light);
        }

        .project-card-body {
            padding: var(--space-4) var(--space-5);
        }

        .project-progress {
            margin-bottom: var(--space-4);
        }

        .project-progress .label {
            font-size: 13px;
            font-weight: 600;
            margin-bottom: 8px;
            display: flex;
            justify-content: space-between;
        }

        .wp-mini-list {
            list-style: none;
        }

        .wp-mini-list li {
            padding: var(--space-2) 0;
            border-bottom: 1px solid rgba(255,255,255,0.06);
            font-size: 13px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: var(--space-2);
        }

        .wp-mini-list li:last-child { border-bottom: none; }

        .wp-subject {
            flex: 1;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        /* ===== FILTERS ===== */
        .filters-bar {
            display: flex;
            flex-wrap: wrap;
            gap: var(--space-3);
            margin-bottom: var(--space-5);
            align-items: center;
        }

        .filter-select {
            padding: 8px var(--space-3);
            border: 1.5px solid var(--border);
            border-radius: 6px;
            font-size: 13px;
            outline: none;
            background: white;
            min-width: 150px;
            transition: border-color 0.2s, box-shadow 0.2s;
        }

        .filter-select:focus {
            border-color: var(--accent);
            box-shadow: 0 0 0 3px rgba(245,10,99,0.08);
        }

        /* ===== RESPONSIVE : panneau de filtres mobile (M9) ===== */
        @media (min-width: 641px) {
            .filters-toggle-btn, .filters-close-btn {
                display: none;
            }
        }

        @media (max-width: 640px) {
            .filters-toggle-btn {
                display: flex;
                align-items: center;
                gap: 6px;
                padding: 8px 14px;
                border: 1.5px solid var(--border);
                border-radius: 6px;
                background: #fff;
                font-size: 13px;
                font-weight: 600;
                color: var(--text);
                cursor: pointer;
                margin-bottom: var(--space-4);
            }

            .filters-bar {
                display: none;
            }

            .filters-bar.filters-bar--open {
                display: flex;
                flex-direction: column;
                align-items: stretch;
                position: fixed;
                inset: 0;
                z-index: 3000;
                background: #fff;
                padding: var(--space-5);
                overflow-y: auto;
                gap: var(--space-3);
            }

            .filters-bar--open > * {
                width: 100%;
            }

            .filters-close-btn {
                align-self: flex-end;
                width: 36px;
                height: 36px;
                border: none;
                background: var(--bg);
                border-radius: 50%;
                font-size: 20px;
                line-height: 1;
                cursor: pointer;
                margin-bottom: var(--space-3);
            }
        }
