/**
 * Mampreneures Forms - Styles Gestion Antenne
 */

/* ==========================================================================
   Utilities
   ========================================================================== */

.mpf-hidden {
    display: none !important;
}

/* ==========================================================================
   Container & Filters
   ========================================================================== */

.mpf-manage-antenne-container {
    width: 100% !important;
}

.mpf-admin-filters-card {
    margin-bottom: 20px !important;
}

.mpf-admin-filters {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 15px !important;
    align-items: center !important;
}

.mpf-current-antenne {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 16px !important;
    background-color: rgba(77, 182, 172, 0.15) !important;
    border: 1px solid rgba(77, 182, 172, 0.3) !important;
    border-radius: 10px !important;
}

.mpf-current-antenne svg {
    color: #4db6ac !important;
}

.mpf-antenne-name {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: white !important;
}

.mpf-filter-antenne-select .mpf-events-select {
    min-width: 220px !important;
}

.mpf-btn-create-event {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-left: auto !important;
    white-space: nowrap !important;
}

/* ==========================================================================
   Event Cards Admin
   ========================================================================== */

.mpf-admin-events-card {
    padding: 25px !important;
}

.mpf-admin-events-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 20px !important;
    padding-bottom: 15px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.mpf-admin-events-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

.mpf-admin-event-card {
    display: grid !important;
    grid-template-columns: 120px 1fr auto !important;
    gap: 20px !important;
    padding: 16px !important;
    background-color: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 12px !important;
    transition: all 0.3s ease !important;
    align-items: center !important;
}

.mpf-admin-event-card:hover {
    background-color: rgba(255, 255, 255, 0.08) !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
}

.mpf-admin-event-thumbnail {
    position: relative !important;
    width: 120px !important;
    height: 80px !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background: linear-gradient(135deg, rgba(28, 144, 147, 0.3), rgba(28, 93, 95, 0.3)) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.mpf-admin-event-thumbnail img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.mpf-admin-event-thumbnail.mpf-no-thumbnail {
    color: rgba(255, 255, 255, 0.4) !important;
}

.mpf-admin-event-content {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    min-width: 0 !important;
}

.mpf-admin-event-header {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

.mpf-admin-event-title {
    margin: 0 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: white !important;
    line-height: 1.3 !important;
}

.mpf-admin-event-category {
    padding: 3px 10px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    background-color: rgba(232, 112, 109, 0.2) !important;
    color: #E8706D !important;
    border-radius: 12px !important;
}

.mpf-admin-event-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
}

/* ==========================================================================
   Admin Event Actions - Style identique à events-styles.css
   ========================================================================== */

.mpf-admin-event-actions {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-shrink: 0 !important;
}

/* Bouton Voir - Style identique à l'onglet Événements */
.mpf-admin-event-actions .mpf-btn-view {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 10px 18px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: white !important;
    background-color: #1C9093 !important;
    border: none !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
    line-height: 1 !important;
}

.mpf-admin-event-actions .mpf-btn-view:hover {
    background-color: #167275 !important;
    color: white !important;
    text-decoration: none !important;
}

.mpf-admin-event-actions .mpf-btn-view svg {
    width: 14px !important;
    height: 14px !important;
    flex-shrink: 0 !important;
}

/* Bouton Modifier - Style secondaire */
.mpf-admin-event-actions .mpf-btn-edit {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 10px 18px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: rgba(255, 255, 255, 0.9) !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
    line-height: 1 !important;
}

.mpf-admin-event-actions .mpf-btn-edit:hover {
    background-color: rgba(255, 255, 255, 0.2) !important;
    border-color: rgba(255, 255, 255, 0.4) !important;
    color: white !important;
}

.mpf-admin-event-actions .mpf-btn-edit svg {
    width: 14px !important;
    height: 14px !important;
    flex-shrink: 0 !important;
}

/* ==========================================================================
   Event Modal - Non fermable au clic extérieur
   ========================================================================== */

.mpf-event-modal .mpf-modal-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background-color: rgba(0, 0, 0, 0.7) !important;
    backdrop-filter: blur(4px) !important;
    z-index: 99999 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.3s ease, visibility 0.3s ease !important;
    /* Désactiver les clics sur l'overlay */
    pointer-events: none !important;
}

.mpf-event-modal.active .mpf-modal-overlay {
    opacity: 1 !important;
    visibility: visible !important;
    /* L'overlay reste non-cliquable même quand visible */
    pointer-events: none !important;
}

.mpf-event-modal .mpf-modal-container {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) scale(0.95) !important;
    width: 95% !important;
    max-width: 800px !important;
    max-height: 90vh !important;
    background-color: #1d4141 !important;
    border-radius: 16px !important;
    z-index: 100000 !important;
    display: flex !important;
    flex-direction: column !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 25px 80px rgba(0, 0, 0, 0.5) !important;
}

.mpf-event-modal.active .mpf-modal-container {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translate(-50%, -50%) scale(1) !important;
}

.mpf-event-modal .mpf-modal-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 20px 25px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    flex-shrink: 0 !important;
}

.mpf-event-modal .mpf-modal-title {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: white !important;
    margin: 0 !important;
}

.mpf-event-modal .mpf-modal-close {
    background: none !important;
    border: none !important;
    color: rgba(255, 255, 255, 0.6) !important;
    cursor: pointer !important;
    padding: 8px !important;
    border-radius: 8px !important;
    transition: all 0.2s ease !important;
}

.mpf-event-modal .mpf-modal-close:hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
    color: white !important;
}

.mpf-event-modal .mpf-modal-body {
    flex: 1 !important;
    overflow-y: auto !important;
    padding: 25px !important;
}

.mpf-event-modal .mpf-modal-footer {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 20px 25px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    flex-shrink: 0 !important;
    background-color: rgba(0, 0, 0, 0.2) !important;
}

.mpf-modal-footer-left {
    flex: 1 !important;
}

.mpf-modal-footer-right {
    display: flex !important;
    gap: 12px !important;
}

/* ==========================================================================
   Event Form
   ========================================================================== */

.mpf-event-form {
    display: flex !important;
    flex-direction: column !important;
    gap: 25px !important;
}

.mpf-form-section {
    padding-bottom: 20px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.mpf-form-section:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
}

.mpf-form-section-title {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #4db6ac !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin: 0 0 18px 0 !important;
}

.mpf-form-row {
    display: flex !important;
    gap: 15px !important;
}

.mpf-form-row-thirds {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 15px !important;
}

.mpf-form-half {
    flex: 1 !important;
}

.mpf-event-form .mpf-form-group {
    margin-bottom: 15px !important;
}

.mpf-event-form .mpf-form-label {
    display: block !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: rgba(255, 255, 255, 0.9) !important;
    margin-bottom: 6px !important;
}

.mpf-event-form .mpf-form-input,
.mpf-event-form .mpf-form-select,
.mpf-event-form .mpf-form-textarea {
    width: 100% !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    color: white !important;
    background-color: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 8px !important;
    transition: border-color 0.2s ease, background-color 0.2s ease !important;
    box-sizing: border-box !important;
}

.mpf-event-form .mpf-form-input:focus,
.mpf-event-form .mpf-form-select:focus,
.mpf-event-form .mpf-form-textarea:focus {
    outline: none !important;
    border-color: #4db6ac !important;
    background-color: rgba(255, 255, 255, 0.12) !important;
}

.mpf-event-form .mpf-form-input::placeholder,
.mpf-event-form .mpf-form-textarea::placeholder {
    color: rgba(255, 255, 255, 0.4) !important;
}

.mpf-event-form .mpf-form-select {
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.6)' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    padding-right: 35px !important;
    cursor: pointer !important;
}

.mpf-event-form .mpf-form-select option {
    background-color: #1d4141 !important;
    color: white !important;
}

.mpf-event-form .mpf-form-textarea {
    resize: vertical !important;
    min-height: 80px !important;
}

/* Radio Groups */
.mpf-radio-group-horizontal {
    display: flex !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

.mpf-radio-item-inline {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    cursor: pointer !important;
    padding: 10px 16px !important;
    background-color: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 8px !important;
    transition: all 0.2s ease !important;
}

.mpf-radio-item-inline:hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
    border-color: rgba(255, 255, 255, 0.25) !important;
}

.mpf-radio-item-inline input[type="radio"] {
    accent-color: #4db6ac !important;
    width: 16px !important;
    height: 16px !important;
    cursor: pointer !important;
    margin: 0 !important;
}

.mpf-radio-item-inline span {
    font-size: 13px !important;
    color: rgba(255, 255, 255, 0.9) !important;
}

.mpf-radio-item-inline:has(input:checked) {
    background-color: rgba(77, 182, 172, 0.2) !important;
    border-color: #4db6ac !important;
}

.mpf-radio-item-inline:has(input:checked) span {
    color: white !important;
    font-weight: 500 !important;
}

/* Radio Grid for thématiques */
.mpf-radio-group-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
}

.mpf-radio-item-compact {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    cursor: pointer !important;
    padding: 8px 12px !important;
    background-color: rgba(255, 255, 255, 0.03) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 6px !important;
    transition: all 0.2s ease !important;
}

.mpf-radio-item-compact:hover {
    background-color: rgba(255, 255, 255, 0.08) !important;
}

.mpf-radio-item-compact input[type="radio"] {
    accent-color: #4db6ac !important;
    width: 14px !important;
    height: 14px !important;
    cursor: pointer !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
}

.mpf-radio-item-compact span {
    font-size: 12px !important;
    color: rgba(255, 255, 255, 0.8) !important;
    line-height: 1.3 !important;
}

.mpf-radio-item-compact:has(input:checked) {
    background-color: rgba(77, 182, 172, 0.15) !important;
    border-color: rgba(77, 182, 172, 0.5) !important;
}

.mpf-radio-item-compact:has(input:checked) span {
    color: white !important;
}

/* Switch inline */
.mpf-switch-label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    cursor: pointer !important;
    padding: 10px 16px !important;
    background-color: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 8px !important;
    transition: all 0.2s ease !important;
}

.mpf-switch-label input[type="checkbox"] {
    display: none !important;
}

.mpf-switch-slider-inline {
    position: relative !important;
    width: 44px !important;
    height: 24px !important;
    background-color: rgba(255, 255, 255, 0.2) !important;
    border-radius: 12px !important;
    transition: background-color 0.2s ease !important;
    flex-shrink: 0 !important;
}

.mpf-switch-slider-inline::before {
    content: '' !important;
    position: absolute !important;
    top: 2px !important;
    left: 2px !important;
    width: 20px !important;
    height: 20px !important;
    background-color: white !important;
    border-radius: 50% !important;
    transition: transform 0.2s ease !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2) !important;
}

.mpf-switch-label input:checked + .mpf-switch-slider-inline {
    background-color: #4CAF50 !important;
}

.mpf-switch-label input:checked + .mpf-switch-slider-inline::before {
    transform: translateX(20px) !important;
}

.mpf-switch-label span:last-child {
    font-size: 14px !important;
    color: rgba(255, 255, 255, 0.9) !important;
}

.mpf-switch-label:has(input:checked) {
    background-color: rgba(76, 175, 80, 0.1) !important;
    border-color: rgba(76, 175, 80, 0.3) !important;
}

/* Conditional Fields */
.mpf-lieu-physique-fields,
.mpf-lieu-enligne-fields,
.mpf-inscriptions-fields {
    margin-top: 15px !important;
}

/* ==========================================================================
   Confirm Modal
   ========================================================================== */

.mpf-confirm-modal .mpf-modal-container {
    max-width: 420px !important;
}

.mpf-confirm-modal .mpf-modal-body {
    text-align: center !important;
    padding: 30px 25px !important;
}

.mpf-confirm-icon {
    width: 70px !important;
    height: 70px !important;
    margin: 0 auto 20px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.mpf-confirm-icon-danger {
    background-color: rgba(232, 112, 109, 0.15) !important;
    color: #E8706D !important;
}

.mpf-confirm-message {
    font-size: 16px !important;
    color: white !important;
    margin: 0 0 8px 0 !important;
}

.mpf-confirm-hint {
    font-size: 13px !important;
    color: rgba(255, 255, 255, 0.6) !important;
    margin: 0 !important;
}

.mpf-confirm-modal .mpf-modal-footer {
    justify-content: center !important;
    gap: 12px !important;
}

/* ==========================================================================
   Buttons
   ========================================================================== */

.mpf-btn-danger {
    background-color: #E8706D !important;
    color: white !important;
    border: none !important;
}

.mpf-btn-danger:hover {
    background-color: #d45f5c !important;
}

.mpf-btn-delete-event {
    opacity: 0.8 !important;
}

.mpf-btn-delete-event:hover {
    opacity: 1 !important;
}

/* Modal Message */
.mpf-event-modal .mpf-modal-message {
    padding: 12px 25px !important;
    text-align: center !important;
    font-size: 14px !important;
    display: none !important;
}

.mpf-event-modal .mpf-modal-message.mpf-success {
    display: block !important;
    background-color: rgba(76, 175, 80, 0.15) !important;
    color: #81C784 !important;
}

.mpf-event-modal .mpf-modal-message.mpf-error {
    display: block !important;
    background-color: rgba(232, 112, 109, 0.15) !important;
    color: #E8706D !important;
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 900px) {
    .mpf-admin-event-card {
        grid-template-columns: 100px 1fr !important;
    }

    .mpf-admin-event-thumbnail {
        width: 100px !important;
        height: 70px !important;
    }

    .mpf-admin-event-actions {
        grid-column: 1 / -1 !important;
        justify-content: flex-start !important;
        padding-top: 10px !important;
        border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
        margin-top: 8px !important;
    }
}

@media (max-width: 768px) {
    .mpf-admin-filters {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .mpf-btn-create-event {
        margin-left: 0 !important;
        justify-content: center !important;
    }

    .mpf-form-row,
    .mpf-form-row-thirds {
        flex-direction: column !important;
        display: flex !important;
    }

    .mpf-radio-group-grid {
        grid-template-columns: 1fr !important;
    }

    .mpf-event-modal .mpf-modal-container {
        width: 98% !important;
        max-height: 95vh !important;
    }

    .mpf-admin-event-card {
        grid-template-columns: 1fr !important;
    }

    .mpf-admin-event-thumbnail {
        width: 100% !important;
        height: 120px !important;
    }

    .mpf-modal-footer-left,
    .mpf-modal-footer-right {
        flex-direction: column !important;
        width: 100% !important;
    }

    .mpf-event-modal .mpf-modal-footer {
        flex-direction: column !important;
        gap: 12px !important;
    }

    .mpf-modal-footer-right {
        order: -1 !important;
    }

    .mpf-modal-footer-right .mpf-btn {
        width: 100% !important;
    }

    .mpf-btn-delete-event {
        width: 100% !important;
    }

    .mpf-admin-event-actions .mpf-btn-view,
    .mpf-admin-event-actions .mpf-btn-edit {
        flex: 1 !important;
        justify-content: center !important;
    }
}

@media (max-width: 480px) {
    .mpf-radio-group-horizontal {
        flex-direction: column !important;
    }

    .mpf-radio-item-inline {
        width: 100% !important;
    }

    .mpf-admin-event-actions {
        flex-direction: column !important;
    }

    .mpf-admin-event-actions .mpf-btn-view,
    .mpf-admin-event-actions .mpf-btn-edit {
        width: 100% !important;
        justify-content: center !important;
    }
}

/* ==========================================================================
   Participants Panel
   ========================================================================== */

.mpf-btn-participants-toggle {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 6px 14px !important;
    background: rgba(255,255,255,.15) !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.25) !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all .15s !important;
}
.mpf-btn-participants-toggle:hover {
    background: rgba(255,255,255,.25) !important;
}
.mpf-btn-participants-toggle .mpf-participants-count {
    background: #f97316 !important;
    color: #fff !important;
    padding: 1px 8px !important;
    border-radius: 10px !important;
    font-size: 12px !important;
    min-width: 20px !important;
    text-align: center !important;
}
.mpf-btn-participants-toggle .mpf-chevron {
    transition: transform .2s !important;
}

/* Le panneau prend toute la largeur du grid */
.mpf-participants-panel {
    grid-column: 1 / -1 !important;
    background: rgba(0,0,0,.15) !important;
    border-top: 1px solid rgba(255,255,255,.1) !important;
    padding: 16px !important;
    border-radius: 0 0 12px 12px !important;
    margin: 0 -16px -16px -16px !important;
}

.mpf-participants-toolbar {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 12px !important;
    flex-wrap: wrap !important;
}

.mpf-participants-search-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: rgba(255,255,255,.1) !important;
    border: 1px solid rgba(255,255,255,.2) !important;
    border-radius: 8px !important;
    padding: 6px 12px !important;
    flex: 1 !important;
    min-width: 180px !important;
    max-width: 300px !important;
}
.mpf-participants-search-wrap svg {
    color: rgba(255,255,255,.5) !important;
    flex-shrink: 0 !important;
}
.mpf-participants-search {
    border: none !important;
    outline: none !important;
    background: transparent !important;
    font-size: 13px !important;
    width: 100% !important;
    padding: 2px 0 !important;
    color: #fff !important;
}
.mpf-participants-search::placeholder {
    color: rgba(255,255,255,.4) !important;
}

.mpf-participants-actions {
    display: flex !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}
.mpf-participants-actions .mpf-btn-sm {
    padding: 8px 18px !important;
    min-height: 38px !important;
    box-sizing: border-box !important;
}

.mpf-btn-xs {
    padding: 4px 10px !important;
    font-size: 11px !important;
    border-radius: 5px !important;
    cursor: pointer !important;
    font-weight: 600 !important;
}
.mpf-btn-sm {
    padding: 6px 14px !important;
    font-size: 12px !important;
    border-radius: 6px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    cursor: pointer !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: .3px !important;
}
.mpf-btn-danger {
    background: #ef4444 !important;
    color: #fff !important;
    border: none !important;
    cursor: pointer !important;
}
.mpf-btn-danger:hover { background: #dc2626 !important; }

/* Table participants - thème sombre */
.mpf-participants-table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: 13px !important;
    background: rgba(255,255,255,.05) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    color: #fff !important;
}
.mpf-participants-table thead {
    background: rgba(255,255,255,.1) !important;
}
.mpf-participants-table th {
    padding: 8px 10px !important;
    text-align: left !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,.7) !important;
    font-weight: 600 !important;
    letter-spacing: .3px !important;
}
.mpf-participants-table td {
    padding: 8px 10px !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    vertical-align: middle !important;
    color: #fff !important;
}
.mpf-participants-table td a {
    color: #fbbf24 !important;
    text-decoration: none !important;
}
.mpf-participants-table td a:hover {
    text-decoration: underline !important;
}
.mpf-participants-table tbody tr:hover {
    background: rgba(255,255,255,.08) !important;
}
.mpf-participants-table tbody tr:last-child td {
    border-bottom: none !important;
}

.mpf-pt-avatar-img {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    border: 2px solid rgba(255,255,255,.2) !important;
}
.mpf-pt-avatar { width: 40px !important; }

.mpf-pt-role-badge {
    display: inline-block !important;
    font-size: 10px !important;
    background: rgba(99,102,241,.3) !important;
    color: #c7d2fe !important;
    padding: 1px 6px !important;
    border-radius: 4px !important;
    margin-top: 2px !important;
}

.mpf-pt-sub-badge {
    display: inline-block !important;
    font-size: 11px !important;
    padding: 2px 8px !important;
    border-radius: 4px !important;
}
.mpf-pt-sub-active { background: rgba(34,197,94,.2) !important; color: #86efac !important; }
.mpf-pt-sub-none { background: rgba(249,115,22,.2) !important; color: #fdba74 !important; }

.mpf-pt-img-yes { color: #86efac !important; font-weight: 600 !important; }
.mpf-pt-img-no { color: #fca5a5 !important; }

.mpf-pt-actions {
    white-space: nowrap !important;
    display: flex !important;
    gap: 4px !important;
}
.mpf-pt-actions .mpf-btn-outline {
    background: transparent !important;
    border: 1px solid rgba(255,255,255,.3) !important;
    color: #fff !important;
}
.mpf-pt-actions .mpf-btn-outline:hover {
    background: rgba(255,255,255,.1) !important;
}
.mpf-pt-actions .mpf-btn-danger {
    background: #dc2626 !important;
    border: none !important;
}

/* Pagination */
.mpf-pt-pagination-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-top: 12px !important;
    flex-wrap: wrap !important;
}
.mpf-pt-pagination-info {
    font-size: 12px !important;
    color: rgba(255,255,255,.5) !important;
    margin-right: 8px !important;
}
.mpf-pt-pagination-wrap .mpf-btn-outline {
    background: transparent !important;
    border: 1px solid rgba(255,255,255,.2) !important;
    color: #fff !important;
}
.mpf-pt-pagination-wrap .mpf-btn-primary {
    background: #f97316 !important;
    border: none !important;
    color: #fff !important;
}
.mpf-participants-pagination {
    margin-top: 8px !important;
}

/* Toolbar buttons */
.mpf-participants-actions .mpf-btn-outline {
    background: transparent !important;
    border: 1px solid rgba(255,255,255,.3) !important;
    color: #fff !important;
}
.mpf-participants-actions .mpf-btn-outline:hover {
    background: rgba(255,255,255,.1) !important;
}
.mpf-participants-actions .mpf-btn-primary {
    background: #f97316 !important;
    border: 1px solid #f97316 !important;
    color: #fff !important;
}
.mpf-participants-actions .mpf-btn-primary:hover {
    background: #ea580c !important;
    border-color: #ea580c !important;
}

/* Empty / Loading */
.mpf-participants-empty {
    text-align: center !important;
    padding: 20px !important;
    color: rgba(255,255,255,.4) !important;
    font-size: 13px !important;
}
.mpf-participants-loading {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 20px !important;
    color: rgba(255,255,255,.4) !important;
    font-size: 13px !important;
}
.mpf-spinner {
    animation: mpf-spin 1s linear infinite !important;
}
@keyframes mpf-spin {
    to { transform: rotate(360deg); }
}

/* Responsive */
@media (max-width: 768px) {
    .mpf-participants-toolbar {
        flex-direction: column !important;
        align-items: stretch !important;
    }
    .mpf-participants-search-wrap {
        max-width: none !important;
    }
    .mpf-participants-actions {
        justify-content: stretch !important;
    }
    .mpf-participants-actions .mpf-btn-sm {
        flex: 1 !important;
        justify-content: center !important;
    }
    .mpf-pt-hide-mobile {
        display: none !important;
    }
    .mpf-participants-table {
        font-size: 12px !important;
    }
    .mpf-pt-actions {
        flex-direction: column !important;
    }
    .mpf-pt-actions .mpf-btn-xs {
        width: 100% !important;
        text-align: center !important;
    }
    .mpf-participants-panel {
        margin: 0 -12px -12px -12px !important;
        padding: 12px !important;
    }
}