        /* ============================================
           DEMO REDESIGN - Knowledge Center / Protocols
           ============================================ */

        /* Page-specific :root extensions */
        :root {
            --blue: #3b82f6;
            --purple: #a855f7;
            --pink: #ec4899;
            --orange: #f97316;
            --yellow: #eab308;
            --green: #22c55e;
            --cyan: #06b6d4;
            --indigo: #6366f1;
            --rose: #f43f5e;
            --teal: #10b981;
            --violet: #7c3aed;
            --slate: #64748b;
        }

        html, body {
            overflow-x: hidden;
            width: 100%;
        }

        /* ========== PAGE HERO ========== */
        .page-hero {
            background: linear-gradient(180deg, var(--bg-card) 0%, var(--bg-dark) 100%);
            padding: 48px 24px 32px;
            text-align: center;
            position: relative;
            overflow: hidden;
        }

        .page-hero::before {
            content: '';
            position: absolute;
            top: -80px;
            left: 50%;
            transform: translateX(-50%);
            width: 700px;
            height: 350px;
            background: radial-gradient(ellipse, rgba(192, 57, 43, 0.12) 0%, transparent 70%);
            pointer-events: none;
        }

        .page-hero-content {
            max-width: 640px;
            margin: 0 auto;
            position: relative;
            z-index: 1;
        }

        .page-hero h1 {
            font-size: 36px;
            font-weight: 800;
            letter-spacing: -0.8px;
            margin-bottom: 12px;
        }

        .page-hero p {
            font-size: 16px;
            color: var(--text-secondary);
            margin-bottom: 28px;
        }

        .page-hero .stats {
            display: flex;
            gap: 32px;
            justify-content: center;
            flex-wrap: wrap;
        }

        .page-hero .stat {
            text-align: center;
        }

        .page-hero .stat-number {
            font-size: 28px;
            font-weight: 800;
            color: var(--primary-light);
            display: block;
            line-height: 1.2;
        }

        .page-hero .stat-label {
            font-size: 12px;
            color: var(--text-muted);
            text-transform: uppercase;
            letter-spacing: 0.8px;
            font-weight: 600;
        }

        /* ========== SEARCH & FILTERS BAR ========== */
        .search-filter-bar {
            background: var(--bg-card);
            border-bottom: 1px solid var(--border);
            padding: 12px 16px;
        }

        .search-filter-inner {
            max-width: 1280px;
            margin: 0 auto;
            display: flex;
            flex-direction: column;
            gap: 12px;
        }

        .search-row {
            display: flex;
            gap: 12px;
            align-items: center;
        }

        .search-input-wrap {
            flex: 1;
            position: relative;
        }

        .search-icon {
            position: absolute;
            left: 14px;
            top: 50%;
            transform: translateY(-50%);
            color: var(--text-muted);
            font-size: 16px;
            pointer-events: none;
        }

        .search-input {
            width: 100%;
            padding: 10px 16px 10px 40px;
            background: var(--bg-surface);
            border: 1px solid var(--border);
            border-radius: var(--radius-md);
            color: var(--text-primary);
            font-size: 14px;
            font-family: inherit;
            transition: border-color 0.2s;
        }

        .search-input:focus {
            outline: none;
            border-color: var(--primary);
        }

        .search-input::placeholder {
            color: var(--text-muted);
        }

        .view-toggle {
            display: flex;
            border: 1px solid var(--border);
            border-radius: var(--radius-md);
            overflow: hidden;
        }

        .view-btn {
            padding: 8px 12px;
            background: var(--bg-surface);
            border: none;
            color: var(--text-muted);
            cursor: pointer;
            font-size: 16px;
            transition: all 0.2s;
        }

        .view-btn.active {
            background: var(--bg-elevated);
            color: var(--text-primary);
        }

        .view-btn:hover:not(.active) {
            color: var(--text-secondary);
        }

        .result-count {
            font-size: 13px;
            color: var(--text-muted);
            font-weight: 500;
        }

        /* Category filter pills */
        .filter-pills {
            display: flex;
            gap: 5px;
            flex-wrap: wrap;
            align-items: center;
        }

        .fpill {
            padding: 4px 10px;
            border-radius: 20px;
            font-size: 11px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.2s ease;
            border: 1px solid var(--border);
            background: var(--bg-surface);
            color: var(--text-secondary);
            white-space: nowrap;
        }

        .fpill:hover {
            border-color: var(--border-hover);
            color: var(--text-primary);
        }

        .fpill.active {
            border-color: var(--primary);
            color: var(--primary-light);
            background: rgba(192, 57, 43, 0.1);
        }

        .fpill.cat-weight-loss.active { border-color: var(--yellow); color: var(--yellow); background: rgba(234,179,8,0.1); }
        .fpill.cat-healing.active { border-color: var(--blue); color: var(--blue); background: rgba(59,130,246,0.1); }
        .fpill.cat-performance.active { border-color: var(--purple); color: var(--purple); background: rgba(168,85,247,0.1); }
        .fpill.cat-anti-aging.active { border-color: var(--pink); color: var(--pink); background: rgba(236,72,153,0.1); }
        .fpill.cat-recovery.active { border-color: var(--orange); color: var(--orange); background: rgba(249,115,22,0.1); }
        .fpill.cat-hormone.active { border-color: var(--violet); color: var(--violet); background: rgba(124,58,237,0.1); }
        .fpill.cat-longevity.active { border-color: var(--cyan); color: var(--cyan); background: rgba(6,182,212,0.1); }
        .fpill.cat-metabolic.active { border-color: var(--green); color: var(--green); background: rgba(34,197,94,0.1); }
        .fpill.cat-immune.active { border-color: var(--teal); color: var(--teal); background: rgba(16,185,129,0.1); }
        .fpill.cat-sleep.active { border-color: var(--indigo); color: var(--indigo); background: rgba(99,102,241,0.1); }
        .fpill.cat-sexual.active { border-color: var(--rose); color: var(--rose); background: rgba(244,63,94,0.1); }
        .fpill.cat-bioregulator.active { border-color: var(--violet); color: var(--violet); background: rgba(124,58,237,0.1); }

        /* ========== MAIN CONTENT ========== */
        .main-content {
            max-width: 1280px;
            margin: 0 auto;
            padding: 32px 24px;
        }

        /* ========== PROTOCOL GRID (Card View) ========== */
        .protocol-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
            gap: 16px;
        }

        .protocol-card {
            background: var(--bg-card);
            border: 1px solid var(--border);
            border-radius: var(--radius-lg);
            padding: 20px;
            transition: all 0.25s ease;
            cursor: pointer;
            text-decoration: none;
            color: inherit;
            display: flex;
            flex-direction: column;
            gap: 12px;
        }

        .protocol-card:hover {
            border-color: var(--border-hover);
            transform: translateY(-3px);
            box-shadow: 0 8px 32px rgba(0,0,0,0.25);
        }

        .protocol-card-header {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            gap: 12px;
        }

        .protocol-card-title {
            font-size: 17px;
            font-weight: 700;
            line-height: 1.3;
        }

        .protocol-card-icon {
            width: 36px;
            height: 36px;
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 16px;
            flex-shrink: 0;
        }

        .protocol-card-desc {
            font-size: 13px;
            color: var(--text-secondary);
            line-height: 1.6;
            display: -webkit-box;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        .protocol-card-tags {
            display: flex;
            flex-wrap: wrap;
            gap: 6px;
        }

        .ptag {
            padding: 2px 8px;
            border-radius: 4px;
            font-size: 10px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .ptag-weight-loss { background: rgba(234,179,8,0.12); color: var(--yellow); }
        .ptag-metabolic { background: rgba(34,197,94,0.12); color: var(--green); }
        .ptag-healing { background: rgba(59,130,246,0.12); color: var(--blue); }
        .ptag-recovery { background: rgba(249,115,22,0.12); color: var(--orange); }
        .ptag-performance { background: rgba(168,85,247,0.12); color: var(--purple); }
        .ptag-anti-aging { background: rgba(236,72,153,0.12); color: var(--pink); }
        .ptag-longevity { background: rgba(6,182,212,0.12); color: var(--cyan); }
        .ptag-hormone { background: rgba(124,58,237,0.12); color: var(--violet); }
        .ptag-immune { background: rgba(16,185,129,0.12); color: var(--teal); }
        .ptag-sleep { background: rgba(99,102,241,0.12); color: var(--indigo); }
        .ptag-sexual { background: rgba(244,63,94,0.12); color: var(--rose); }
        .ptag-bioregulator { background: rgba(124,58,237,0.12); color: var(--violet); }
        .ptag-other { background: rgba(100,116,139,0.12); color: var(--slate); }

        .protocol-card-footer {
            display: flex;
            align-items: center;
            justify-content: space-between;
            margin-top: auto;
            padding-top: 12px;
            border-top: 1px solid var(--border);
        }

        .protocol-card-meta {
            display: flex;
            align-items: center;
            gap: 12px;
            font-size: 12px;
            color: var(--text-muted);
        }

        .protocol-card-meta span {
            display: flex;
            align-items: center;
            gap: 4px;
        }

        .protocol-card-action {
            font-size: 12px;
            font-weight: 600;
            color: var(--primary-light);
            display: flex;
            align-items: center;
            gap: 4px;
        }

        /* ========== LIST VIEW ========== */
        .protocol-list {
            display: none;
            flex-direction: column;
            gap: 2px;
        }

        .protocol-list.active {
            display: flex;
        }

        .protocol-grid.hidden {
            display: none;
        }

        .protocol-list-item {
            display: flex;
            align-items: center;
            gap: 16px;
            padding: 14px 16px;
            background: var(--bg-card);
            border: 1px solid var(--border);
            border-radius: var(--radius-md);
            cursor: pointer;
            transition: all 0.15s ease;
            text-decoration: none;
            color: inherit;
        }

        .protocol-list-item:hover {
            border-color: var(--border-hover);
            background: var(--bg-surface);
        }

        .list-item-name {
            font-size: 15px;
            font-weight: 600;
            min-width: 180px;
        }

        .list-item-desc {
            flex: 1;
            font-size: 13px;
            color: var(--text-secondary);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .list-item-tags {
            display: flex;
            gap: 4px;
            flex-shrink: 0;
        }

        .list-item-arrow {
            color: var(--text-muted);
            font-size: 14px;
            flex-shrink: 0;
        }

        /* ========== PROTOCOL DETAIL MODAL ========== */
        .modal-overlay {
            display: none;
            position: fixed;
            inset: 0;
            background: rgba(0,0,0,0.8);
            z-index: 1000;
            justify-content: center;
            align-items: flex-start;
            padding: 40px 20px;
            overflow-y: auto;
        }

        .modal-overlay.show {
            display: flex;
        }

        .modal-panel {
            background: var(--bg-card);
            border: 1px solid var(--border);
            border-radius: var(--radius-lg);
            max-width: 760px;
            width: 100%;
            position: relative;
            animation: slideUp 0.3s ease;
        }

        @keyframes slideUp {
            from { transform: translateY(20px); opacity: 0; }
            to { transform: translateY(0); opacity: 1; }
        }

        .modal-close {
            position: absolute;
            top: 16px;
            right: 16px;
            width: 32px;
            height: 32px;
            border-radius: 50%;
            background: var(--bg-surface);
            border: 1px solid var(--border);
            color: var(--text-secondary);
            font-size: 18px;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.2s;
            z-index: 10;
        }

        .modal-close:hover {
            background: var(--bg-elevated);
            color: var(--text-primary);
        }

        .modal-header {
            padding: 28px 28px 0;
        }

        .modal-header h2 {
            font-size: 26px;
            font-weight: 800;
            letter-spacing: -0.5px;
            margin-bottom: 8px;
        }

        .modal-header-tags {
            display: flex;
            flex-wrap: wrap;
            gap: 6px;
            margin-bottom: 20px;
        }

        .modal-tabs {
            display: flex;
            gap: 0;
            border-bottom: 1px solid var(--border);
            padding: 0 28px;
            overflow-x: auto;
        }

        .modal-tab {
            padding: 12px 18px;
            font-size: 13px;
            font-weight: 600;
            color: var(--text-muted);
            cursor: pointer;
            border-bottom: 2px solid transparent;
            transition: all 0.2s;
            white-space: nowrap;
            background: none;
            border-top: none;
            border-left: none;
            border-right: none;
        }

        .modal-tab:hover {
            color: var(--text-secondary);
        }

        .modal-tab.active {
            color: var(--primary-light);
            border-bottom-color: var(--primary);
        }

        .modal-body {
            padding: 24px 28px 28px;
        }

        .tab-content {
            display: none;
        }

        .tab-content.active {
            display: block;
        }

        /* Protocol content sections */
        .proto-section {
            margin-bottom: 24px;
        }

        .proto-section:last-child {
            margin-bottom: 0;
        }

        .proto-section-title {
            font-size: 14px;
            font-weight: 700;
            color: var(--text-primary);
            margin-bottom: 10px;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .proto-section p,
        .proto-section li {
            font-size: 14px;
            color: var(--text-secondary);
            line-height: 1.8;
        }

        .proto-section ul {
            list-style: none;
            padding: 0;
        }

        .proto-section ul li {
            padding: 4px 0 4px 20px;
            position: relative;
        }

        .proto-section ul li::before {
            content: '';
            position: absolute;
            left: 0;
            top: 12px;
            width: 6px;
            height: 6px;
            border-radius: 50%;
            background: var(--primary);
        }

        .proto-section ul.pros li::before { background: var(--success); }
        .proto-section ul.cons li::before { background: var(--primary-light); }

        /* Dosing chart table */
        .dosing-table {
            width: 100%;
            border-collapse: collapse;
            margin-top: 8px;
        }

        .dosing-table th,
        .dosing-table td {
            text-align: left;
            padding: 10px 14px;
            font-size: 13px;
            border-bottom: 1px solid var(--border);
        }

        .dosing-table th {
            color: var(--text-muted);
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            font-size: 11px;
        }

        .dosing-table td {
            color: var(--text-secondary);
        }

        .dosing-table tr:last-child td {
            border-bottom: none;
        }

        /* Info callout */
        .info-callout {
            background: var(--bg-surface);
            border: 1px solid var(--border);
            border-radius: var(--radius-md);
            padding: 16px;
            margin-top: 16px;
        }

        .info-callout p {
            font-size: 13px;
            color: var(--text-secondary);
            line-height: 1.6;
        }

        .info-callout strong {
            color: var(--text-primary);
        }

        /* Modal footer actions */
        .modal-footer {
            padding: 16px 28px 24px;
            display: flex;
            gap: 12px;
            flex-wrap: wrap;
            position: relative;
        }
        .share-menu-item:hover { background: var(--bg-elevated) !important; }
        #shareToast {
            position: fixed;
            bottom: 28px;
            left: 50%;
            transform: translateX(-50%);
            background: var(--bg-elevated);
            border: 1px solid var(--gold);
            color: var(--gold);
            padding: 10px 18px;
            border-radius: 24px;
            font-size: 13px;
            font-weight: 600;
            z-index: 9999;
            opacity: 0;
            transition: opacity 0.2s;
            pointer-events: none;
        }
        #shareToast.show { opacity: 1; }

        /* ========== QUICK LINKS SIDEBAR SECTION ========== */
        .quick-links-section {
            max-width: 1280px;
            margin: 0 auto;
            padding: 0 24px 48px;
        }

        .quick-links-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 20px;
        }

        .quick-links-header h2 {
            font-size: 20px;
            font-weight: 700;
        }

        .quick-links-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 16px;
        }

        .quick-link-card {
            background: var(--bg-card);
            border: 1px solid var(--border);
            border-radius: var(--radius-lg);
            padding: 24px;
            text-decoration: none;
            color: inherit;
            transition: all 0.2s;
        }

        .quick-link-card:hover {
            border-color: var(--border-hover);
        }

        .quick-link-card .ql-icon {
            font-size: 24px;
            margin-bottom: 12px;
        }

        .quick-link-card h3 {
            font-size: 15px;
            font-weight: 700;
            margin-bottom: 6px;
        }

        .quick-link-card p {
            font-size: 13px;
            color: var(--text-secondary);
            line-height: 1.5;
        }

        /* ========== RESPONSIVE ========== */
        @media (max-width: 768px) {
            .header-main { padding: 10px 12px; gap: 8px; }
            .header-logo img { width: 32px; height: 32px; }
            .cart-btn { padding: 6px 10px; font-size: 13px; gap: 4px; }
            .cart-btn svg { width: 15px; height: 15px; }

            .page-hero { padding: 32px 16px 24px; }
            .page-hero h1 { font-size: 26px; }
            .page-hero .stats { gap: 20px; }
            .page-hero .stat-number { font-size: 22px; }

            .search-filter-bar { padding: 10px 12px; }
            .main-content { padding: 20px 12px; }

            .protocol-grid {
                grid-template-columns: 1fr;
                gap: 10px;
            }

            .list-item-desc,
            .list-item-tags { display: none; }
            .list-item-name { min-width: auto; }

            .modal-panel { margin-top: 0; }
            .modal-header { padding: 20px 20px 0; }
            .modal-tabs { padding: 0 20px; }
            .modal-body { padding: 20px; }
            .modal-footer { padding: 12px 20px 20px; }
            .modal-header h2 { font-size: 22px; }

            .quick-links-grid { grid-template-columns: 1fr; }

            .search-row { flex-direction: column; }
            .view-toggle { align-self: flex-end; }
        }

        @media (max-width: 480px) {
            .page-hero h1 { font-size: 22px; }
            .protocol-card { padding: 16px; }
            .protocol-card-title { font-size: 15px; }
        }

        /* Fat loss tag */
        .ptag-fat-loss { background: rgba(239,68,68,0.12); color: #ef4444; }
        .fpill.cat-fat-loss.active { border-color: #ef4444; color: #ef4444; background: rgba(239,68,68,0.1); }
        .fpill.cat-immune-support.active { border-color: var(--teal); color: var(--teal); background: rgba(16,185,129,0.1); }
        .fpill.cat-sexual-health.active { border-color: var(--rose); color: var(--rose); background: rgba(244,63,94,0.1); }
        .fpill.cat-other.active { border-color: var(--slate); color: var(--slate); background: rgba(100,116,139,0.1); }

        /* GLP-1 tag */
        .ptag-glp-1 { background: rgba(245,158,11,0.12); color: #f59e0b; }
        .fpill.cat-glp-1.active { border-color: #f59e0b; color: #f59e0b; background: rgba(245,158,11,0.1); }

        /* Additional categories */
        .ptag-anti-inflammatory { background: rgba(0,255,0,0.12); color: #00ff00; }
        .fpill.cat-anti-inflammatory.active { border-color: #00ff00; color: #00ff00; background: rgba(0,255,0,0.1); }
        .ptag-appetite { background: rgba(234,179,8,0.12); color: #eab308; }
        .fpill.cat-appetite.active { border-color: #eab308; color: #eab308; background: rgba(234,179,8,0.1); }
        .ptag-cardio { background: rgba(239,68,68,0.12); color: #ef4444; }
        .fpill.cat-cardio.active { border-color: #ef4444; color: #ef4444; background: rgba(239,68,68,0.1); }
        .ptag-cognitive { background: rgba(139,92,246,0.12); color: #8b5cf6; }
        .fpill.cat-cognitive.active { border-color: #8b5cf6; color: #8b5cf6; background: rgba(139,92,246,0.1); }
        .ptag-cosmetic { background: rgba(244,63,94,0.12); color: #f43f5e; }
        .fpill.cat-cosmetic.active { border-color: #f43f5e; color: #f43f5e; background: rgba(244,63,94,0.1); }
        .ptag-gut-health { background: rgba(245,158,11,0.12); color: #f59e0b; }
        .fpill.cat-gut-health.active { border-color: #f59e0b; color: #f59e0b; background: rgba(245,158,11,0.1); }
        .ptag-hair-growth { background: rgba(22,101,52,0.12); color: #166534; }
        .fpill.cat-hair-growth.active { border-color: #166534; color: #166534; background: rgba(22,101,52,0.1); }
        .ptag-joint-support { background: rgba(209,213,219,0.12); color: #d1d5db; }
        .fpill.cat-joint-support.active { border-color: #d1d5db; color: #d1d5db; background: rgba(209,213,219,0.1); }
        .ptag-mitochondrial { background: rgba(16,185,129,0.12); color: #10b981; }
        .fpill.cat-mitochondrial.active { border-color: #10b981; color: #10b981; background: rgba(16,185,129,0.1); }
        .ptag-muscle-growth { background: rgba(220,38,38,0.12); color: #dc2626; }
        .fpill.cat-muscle-growth.active { border-color: #dc2626; color: #dc2626; background: rgba(220,38,38,0.1); }
        .ptag-neuroprotection { background: rgba(99,102,241,0.12); color: #6366f1; }
        .fpill.cat-neuroprotection.active { border-color: #6366f1; color: #6366f1; background: rgba(99,102,241,0.1); }
        .ptag-reconstitution-solution { background: rgba(230,230,250,0.12); color: #e6e6fa; }
        .fpill.cat-reconstitution-solution.active { border-color: #e6e6fa; color: #e6e6fa; background: rgba(230,230,250,0.1); }
        .ptag-senolytic { background: rgba(6,182,212,0.12); color: #06b6d4; }
        .fpill.cat-senolytic.active { border-color: #06b6d4; color: #06b6d4; background: rgba(6,182,212,0.1); }
        .ptag-skin { background: rgba(255,219,88,0.12); color: #ffdb58; }
        .fpill.cat-skin.active { border-color: #ffdb58; color: #ffdb58; background: rgba(255,219,88,0.1); }
        .ptag-tanning { background: rgba(160,82,45,0.12); color: #a0522d; }
        .fpill.cat-tanning.active { border-color: #a0522d; color: #a0522d; background: rgba(160,82,45,0.1); }
        .ptag-telomere { background: rgba(236,72,153,0.12); color: #ec4899; }
        .fpill.cat-telomere.active { border-color: #ec4899; color: #ec4899; background: rgba(236,72,153,0.1); }
        .ptag-energy { background: rgba(255,0,255,0.12); color: #ff00ff; }
        .fpill.cat-energy.active { border-color: #ff00ff; color: #ff00ff; background: rgba(255,0,255,0.1); }

        /* No results message */
        .no-results {
            display: none;
            text-align: center;
            padding: 60px 20px;
            color: var(--text-muted);
            font-size: 16px;
        }

        /* Immune tag alias */
        .ptag-immune { background: rgba(16,185,129,0.12); color: var(--teal); }
        .ptag-immune-support { background: rgba(16,185,129,0.12); color: var(--teal); }
        .ptag-sexual-health { background: rgba(244,63,94,0.12); color: var(--rose); }
