        .cbsfaq-root {
            --gl-ink: #0f172a;
            --gl-muted: #64748b;
            --gl-bg: #FAFAFA;
            --gl-card: #fff;
            --gl-brd: rgba(2, 6, 23, .10);
            --gl-primary: #25377B;
            --gl-radius: 14px;
            --gl-field-h: 46px;
            color: var(--gl-ink);
        }

        .cbsfaq-toolbar {
            background: var(--gl-bg);
            border: 1px solid rgba(2, 6, 23, .06);
            border-radius: 16px;
            padding: 1rem;
            margin: 0 0 1rem;
        }

        .cbsfaq-titles {
            display: flex;
            flex-direction: column;
            gap: .25rem;
            margin-bottom: .6rem;
        }

        .cbsfaq-ttl {
            margin: 0;
            font-weight: 800;
            letter-spacing: .2px;
        }

        .cbsfaq-sub {
            margin: 0;
            color: var(--gl-muted);
        }

        .cbsfaq-controls {
            display: grid;
            gap: .8rem;
            grid-template-columns: 1.5fr 1fr auto;
            align-items: end;
        }

        @media (max-width: 900px) {
            .cbsfaq-controls {
                grid-template-columns: 1fr 1fr;
            }
        }

        @media (max-width: 560px) {
            .cbsfaq-controls {
                grid-template-columns: 1fr;
            }
        }

        .cbsfaq-field {
            display: grid;
            gap: .35rem;
        }

        .cbsfaq-cat-lbl {
            font-size: .85rem;
            color: var(--gl-muted);
            font-weight: 600;
        }

        .cbsfaq-input-wrap {
            position: relative;
        }

        .cbsfaq-input-wrap svg {
            position: absolute;
            left: .7rem;
            top: 50%;
            transform: translateY(-50%);
            width: 18px;
            height: 18px;
            opacity: .6;
        }

        .cbsfaq-q,
        .cbsfaq-cat {
            height: var(--gl-field-h);
            width: 100%;
            border: 1px solid var(--gl-brd) !important;
            border-radius: 12px !important;
            padding: .65rem 1rem .65rem 2.1rem !important;
            background: #fff;
            font-size: 1rem;
            transition: border-color .2s, box-shadow .2s;
        }

        .cbsfaq-cat {
            padding-left: 1rem !important;
        }

        .cbsfaq-q:focus,
        .cbsfaq-cat:focus {
            outline: none;
            border-color: #93c5fd;
            box-shadow: 0 0 0 4px rgba(59, 130, 246, .12);
        }

        .cbsfaq-count {
            justify-self: end;
            color: var(--gl-muted);
        }

        .cbsfaq-az {
            display: flex;
            flex-wrap: wrap;
            gap: .35rem;
            margin-top: .8rem;
        }

        .cbsfaq-az button {
            border: 1px solid var(--gl-brd);
            color: #25377B !important;
            background: #fff !important;
            padding: .35rem .55rem;
            border-radius: 999px;
            cursor: pointer;
            font-weight: 700;
            font-size: .9rem;
        }

        .cbsfaq-az button:hover,
        .cbsfaq-az button[aria-pressed="true"] {
            background:  #25377B !important;
            color: #fff !important;
            border-color: var(--gl-primary);
        }

        .cbsfaq-list {
            display: grid;
            gap: .9rem;
            grid-template-columns: 1fr;
        }

        .cbsfaq-item {
            background: var(--gl-card);
            border: 1px solid var(--gl-brd);
            border-radius: var(--gl-radius);
            padding: .95rem;
        }

        .cbsfaq-head {
            display: flex;
            justify-content: space-between;
            gap: .75rem;
            align-items: flex-start;
        }

        .cbsfaq-term {
            margin: .1rem 0 0;
            font-size: 1.1rem;
            font-weight: 800;
            letter-spacing: .2px;
        }

        .cbsfaq-cats {
            display: flex;
            flex-wrap: wrap;
            gap: .35rem;
        }

        .cbsfaq-badge {
            background: #F1F5FF;
            color: #25377B;
            border: 1px solid rgba(37, 55, 123, .18);
            padding: .15rem .5rem;
            border-radius: 999px;
            font-size: .78rem;
            font-weight: 700;
        }

        .cbsfaq-body {
            margin: .5rem 0 0;
            color: #334155;
        }

        .cbsfaq-help {
            margin-top: .5rem;
            color: #475569;
            font-size: .95rem;
            display: flex;
            gap: 1rem;
            flex-wrap: wrap;
        }

        .cbsfaq-hl {
            background: linear-gradient(transparent 60%, rgba(228, 52, 45, .25) 0);
        }

        .cbsfaq-empty {
            margin: 1rem 0;
            padding: 1rem;
            border: 1px dashed var(--gl-brd);
            border-radius: 12px;
            background: #fff;
            color: #64748b;
        }

        .cbsfaq-skel {
            height: 92px;
            background: linear-gradient(90deg, #f3f4f6, #f8fafc, #f3f4f6);
            border-radius: 12px;
            animation: cbsfaq-skl 1.2s infinite linear;
            background-size: 200px 100%;
        }

        @keyframes cbsfaq-skl {
            0% {
                background-position: -200px 0;
            }
            100% {
                background-position: 200px 0;
            }
        }

        /* Dark mode */
        @media (prefers-color-scheme: dark) {
            .cbsfaq-toolbar {
                background: #0b1220;
                border-color: #1f2a44;
            }
            .cbsfaq-root {
                --gl-card: #0f172a;
                --gl-ink: #e5e7eb;
                --gl-muted: #94a3b8;
                --gl-brd: #1f2a44;
            }
            .cbsfaq-q,
            .cbsfaq-cat {
                background: #0f172a;
                color: #e5e7eb;
            }
            .cbsfaq-body {
                color: #cbd5e1;
            }
            .cbsfaq-help {
                color: #a3b2c7;
            }
            .cbsfaq-badge {
                background: #1b2240;
                color: #e5e7eb;
                border-color: #2a3562;
            }
            .cbsfaq-empty {
                background: #0f172a;
            }
        }