.ccsd-members-wrap {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto 40px;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 14px;
}

/* Search */
.ccsd-members-search {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 15px;
}

.ccsd-search-label {
    font-weight: 600;
}

.ccsd-members-search-input {
    flex: 1 1 220px;
    max-width: 260px;
    padding: 6px 10px;
    border-radius: 4px;
    border: 1px solid #ddd;
}

/* Common status pill */
.ccsd-status-pill {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
}

.ccsd-status-active {
    background: #e3f8ec;
    color: #1f8a52;
}

.ccsd-status-inactive {
    background: #fdeaea;
    color: #c0392b;
}

/* ---------- Accordion View ---------- */

.ccsd-members-header,
.ccsd-member-toggle {
    display: grid;
    grid-template-columns: 2fr 2fr 2fr 2fr 2fr;
    gap: 10px;
    align-items: center;
}

.ccsd-members-header {
    padding: 10px 15px;
    border-bottom: 2px solid #eee;
    font-weight: 600;
    color: #555;
    background: #fafafa;
}

.ccsd-members-body {
    border: 1px solid #eee;
    border-top: none;
}

.ccsd-member-row {
    border-top: 1px solid #eee;
}

.ccsd-member-toggle {
    width: 100%;
    text-align: left;
    padding: 12px 15px;
    background: #fff;
    border: 0;
    cursor: pointer;
}

.ccsd-member-toggle:hover {
    background: #f7f7f7;
}

.ccsd-member-toggle:focus {
    outline: 2px solid #007cba;
    outline-offset: -2px;
}

.ccsd-member-panel {
    display: none;
    padding: 10px 25px 15px;
    background: #fcfcfc;
    border-top: 1px solid #f0f0f0;
}

.ccsd-member-panel h4 {
    margin: 0 0 8px;
    font-size: 14px;
    font-weight: 600;
}

.ccsd-member-panel ul {
    margin: 0;
    padding-left: 18px;
}

.ccsd-member-row.is-open .ccsd-member-panel {
    display: block;
}

/* ---------- Table View ---------- */

.ccsd-members-table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #eee;
}

.ccsd-members-table thead {
    background: #fafafa;
}

.ccsd-members-table th,
.ccsd-members-table td {
    padding: 10px 12px;
    border-bottom: 1px solid #eee;
    text-align: left;
    vertical-align: middle;
    font-size: 14px;
}

.ccsd-members-table th {
    font-weight: 600;
    color: #555;
}

.ccsd-members-table tr:nth-child(even) td {
    background: #fcfcfc;
}

/* ---------- Responsive ---------- */

@media (max-width: 768px) {
    /* Accordion view: stack columns */
    .ccsd-members-wrap[data-view-mode="accordion"] .ccsd-members-header {
        display: none;
    }

    .ccsd-members-wrap[data-view-mode="accordion"] .ccsd-member-toggle,
    .ccsd-members-wrap[data-view-mode="accordion"] .ccsd-member-panel {
        display: block;
    }

    .ccsd-members-wrap[data-view-mode="accordion"] .ccsd-member-toggle span {
        display: block;
        margin-bottom: 4px;
    }

    .ccsd-members-wrap[data-view-mode="accordion"] .ccsd-col::before {
        font-weight: 600;
        color: #777;
        margin-right: 6px;
    }

    .ccsd-members-wrap[data-view-mode="accordion"] .ccsd-col-id::before { content: "Membership ID: "; }
    .ccsd-members-wrap[data-view-mode="accordion"] .ccsd-col-type::before { content: "Type: "; }
    .ccsd-members-wrap[data-view-mode="accordion"] .ccsd-col-country::before { content: "Country: "; }
    .ccsd-members-wrap[data-view-mode="accordion"] .ccsd-col-status::before { content: "Status: "; }
    .ccsd-members-wrap[data-view-mode="accordion"] .ccsd-col-count::before { content: "Courses: "; }

    /* Table view: make it scrollable horizontally */
    .ccsd-members-wrap[data-view-mode="table"] .ccsd-members-table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }
}

.ccsd-course-toggle {
    text-decoration: underline;
    font-weight: 600;
    cursor: pointer;
}

.ccsd-courses-row td {
    background: #fcfcfc;
    border-bottom: 1px solid #eee;
}

.ccsd-courses-panel {
    padding: 10px 12px;
}

.ccsd-courses-panel h4 {
    margin: 0 0 8px;
    font-size: 14px;
    font-weight: 600;
}

.ccsd-courses-panel { display: none; }

