            /* 收藏页面网格 */
            .favorites-grid {
                display: grid;
                grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
                gap: 16px;
                width: 100%;
            }

            .favorites-item {
                background: white;
                border-radius: 12px;
                overflow: hidden;
                cursor: pointer;
                transition: all 0.3s;
            }

            .favorites-item:hover {
                transform: translateY(-4px);
                box-shadow: 0 8px 20px rgba(0,0,0,0.1);
            }

            .favorites-img {
                width: 100%;
                height: 200px;
                object-fit: cover;
                background: #e5e7eb;
            }

            .favorites-info {
                padding: 12px;
            }

            .favorites-title {
                font-size: 14px;
                font-weight: 700;
                color: #111827;
                margin-bottom: 4px;
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
            }

            .favorites-desc {
                font-size: 12px;
                color: #618983;
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
            }

            /* 🔥 checkbox选中状态样式 */
            #protocol_check {
                appearance: none;
                -webkit-appearance: none;
                -moz-appearance: none;
                width: 16px;
                height: 16px;
                border: 2px solid #cbd5e1;
                border-radius: 4px;
                background-color: white;
                cursor: pointer;
                position: relative;
                transition: all 0.2s;
            }

            #protocol_check:checked {
                background-color: #10b981;
                border-color: #10b981;
            }

            #protocol_check:checked::after {
                content: '✓';
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
                color: white;
                font-size: 12px;
                font-weight: bold;
            }

            .dark #protocol_check {
                border-color: #475569;
                background-color: transparent;
            }

            .dark #protocol_check:checked {
                background-color: #10b981;
                border-color: #10b981;
            }
        
