@import url('ems-design-system.css');#ems-plugin .ems-admin-dashboard-wrap,
#ems-plugin .ems-admin-settings-wrap,
#ems-plugin .ems-admin-reports-wrap,
#ems-plugin .ems-admin-invitations-wrap,
#ems-plugin .ems-admin-all-data-wrap{
    max-width: var(--ems-container-width);
    margin: 0 auto;
    padding: var(--ems-space-lg) 0;
    min-width: 0;
}#ems-plugin .ems-admin-all-data-wrap .ems-admin-tab-content{
    min-width: 0;
    max-width: 100%;
}#ems-plugin .ems-admin-layout{
    display: flex;
    gap: var(--ems-space-8);
    margin-top: var(--ems-space-8);
}#ems-plugin .ems-admin-sidebar{

    width: 250px;

    flex-shrink: 0;

    background: var(--ems-bg);

    border: 1px solid var(--ems-border);

    border-radius: var(--ems-radius-md);

    padding: var(--ems-space-5) 0;

    box-shadow: var(--ems-shadow-md);

    height: fit-content;

    position: sticky;

    top: var(--ems-space-5);

    animation: slideUp var(--ems-transition-slow) ease-out;

}#ems-plugin .ems-sidebar-nav{

    width: 100%;

}#ems-plugin .ems-sidebar-menu{

    list-style: none;

    margin: 0;

    padding: 0;

}#ems-plugin .ems-sidebar-menu li{

    margin-bottom: 10px;

    padding: 0;

}#ems-plugin .ems-sidebar-item{

    display: flex;

    align-items: center;

    gap: var(--ems-space-3);

    padding: var(--ems-space-3) var(--ems-space-5);

    color: var(--ems-text-secondary);

    text-decoration: none;

    transition: all var(--ems-transition-normal);

    border-left: 4px solid transparent;

    font-weight: var(--ems-font-weight-medium);

    text-decoration: none !important;

    position: relative;

}#ems-plugin .ems-sidebar-item:hover{

    background: var(--ems-primary-focus);
    color: var(--ems-primary);
    border-left-color: var(--ems-primary);

}#ems-plugin .ems-sidebar-item.active{

    background: var(--ems-primary-focus);
    color: var(--ems-primary);
    border-left-color: var(--ems-primary);
    font-weight: var(--ems-font-weight-semibold);
    box-shadow: inset 0 0 0 1px var(--ems-primary-focus);

}#ems-plugin .ems-sidebar-icon{

    font-size: var(--ems-h3-size);

    width: 24px;

    text-align: center;

}#ems-plugin .ems-sidebar-label{

    flex: 1;

}#ems-plugin .ems-admin-content{

    flex: 1;

    min-width: 0;

}#ems-plugin .ems-admin-section{

    display: none;

    opacity: 0;

    visibility: hidden;

    transition: opacity var(--ems-transition-normal), visibility var(--ems-transition-normal);

}#ems-plugin .ems-admin-section.active{

    display: block;

    opacity: 1;

    visibility: visible;

}#ems-plugin .ems-section-header{
    margin-bottom: var(--ems-space-lg);
    padding-bottom: var(--ems-space-4);
    border-bottom: 2px solid var(--ems-border-light);
}#ems-plugin .ems-section-header h2{
    margin: 0;
    font-size: var(--ems-h2-size);
    color: var(--ems-text-primary);
}#ems-plugin .ems-admin-header{
    margin-bottom: var(--ems-space-8);
    padding-bottom: var(--ems-space-5);
    border-bottom: 2px solid var(--ems-border-light);
}#ems-plugin .ems-admin-header h1{
    margin: 0 0 var(--ems-space-2) 0;
    font-size: var(--ems-h1-size);
    color: var(--ems-text-primary);
}#ems-plugin .ems-admin-subtitle{
    margin: 0;
    color: var(--ems-text-muted);
    font-size: var(--ems-body-large-size);
}#ems-plugin .ems-admin-error,
#ems-plugin .ems-admin-success{

    padding: 15px;
    margin-top: 10px;
    margin-bottom: var(--ems-space-5);
    border-radius: 4px;

}#ems-plugin .ems-admin-error{
    background: var(--ems-error-bg);
    color: var(--ems-error-text);
    border: 1px solid var(--ems-error-border);
}#ems-plugin .ems-admin-error p,
#ems-plugin .ems-admin-success p{
    margin: 0;
}#ems-plugin .ems-admin-success{
    background: var(--ems-success-bg);
    color: var(--ems-success-text);
    border: 1px solid var(--ems-success-border);
}#ems-plugin .ems-admin-nav-tabs{

    display: flex;

    gap: 10px;

    margin-bottom: 30px;

    flex-wrap: wrap;

}#ems-plugin .ems-nav-tab{
    padding: var(--ems-space-3) var(--ems-space-6);
    background: none;
    border: none;
    border-bottom: 3px solid transparent;
    cursor: pointer;
    font-size: var(--ems-body-large-size);
    font-weight: var(--ems-font-weight-medium);
    color: var(--ems-text-secondary);
    transition: all var(--ems-transition-normal);
    margin-bottom: -2px;
    text-decoration: none;
    display: inline-block;
}#ems-plugin .ems-nav-tab:hover{
    color: var(--ems-primary);
    background: var(--ems-primary-focus);
}#ems-plugin .ems-nav-tab.active{
    background-color: var(--ems-primary);
    color: var(--ems-white);
    border-radius: var(--ems-radius-md);
}#ems-plugin .ems-admin-tab-content{

    display: none;

}#ems-plugin .ems-admin-tab-content.active{

    display: block;

    animation: fadeIn var(--ems-transition-normal) ease;

}@keyframes fadeIn{

    from {

        opacity: 0;

        transform: translateY(20px);

    }



    to {

        opacity: 1;

        transform: translateY(0);

    }

}@keyframes modalSlideIn{

    from {

        opacity: 0;

        transform: translateY(-20px) scale(0.95);

    }



    to {

        opacity: 1;

        transform: translateY(0) scale(1);

    }

}@keyframes slideUp{

    from {

        opacity: 0;

        transform: translateY(20px);

    }



    to {

        opacity: 1;

        transform: translateY(0);

    }

}#ems-plugin .ems-dashboard-stats{

    display: grid;

    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));

    gap: var(--ems-space-5);

}#ems-plugin .ems-stat-card{

    background: var(--ems-bg);

    border: 1px solid var(--ems-border);

    border-radius: var(--ems-radius-md);

    padding: var(--ems-space-5);

    display: flex;

    align-items: center;

    gap: var(--ems-space-4);

    box-shadow: var(--ems-shadow-sm);

    transition: all var(--ems-transition-normal);

    min-height: 120px;

    position: relative;

    overflow: hidden;

}#ems-plugin .ems-stat-card::before{

    content: '';

    position: absolute;

    top: 0;

    left: 0;

    width: 4px;

    height: 100%;

    background: linear-gradient(135deg, var(--ems-primary) 0%, var(--ems-primary-hover) 100%);

    transform: scaleY(0);

    transition: transform var(--ems-transition-normal);

}#ems-plugin .ems-stat-card:hover{

    box-shadow: var(--ems-shadow-lg);

    transform: translateY(-4px) scale(1.02);

    border-color: var(--ems-primary);

}#ems-plugin .ems-stat-card:hover::before{

    transform: scaleY(1);

}#ems-plugin .ems-stat-card-clickable{
    cursor: pointer;
}#ems-plugin .ems-stat-card-clickable:hover{
    box-shadow: var(--ems-shadow-lg);
    transform: translateY(-3px);
    border-color: var(--ems-primary);
}#ems-plugin .ems-modal{

    position: fixed;

    top: 0;

    left: 0;

    width: 100%;

    height: 100%;

    z-index: var(--ems-z-modal-elevated);

    display: flex;

    align-items: center;

    justify-content: center;

}#ems-plugin .ems-modal-overlay{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--ems-overlay-dark);
    backdrop-filter: blur(8px);
    animation: fadeIn var(--ems-transition-fast) ease-out;
}#ems-plugin .ems-modal-content{

    position: relative;

    background: var(--ems-bg);

    border-radius: var(--ems-radius-lg);

    max-width: 700px;

    width: 90%;

    max-height: 90vh;

    display: flex;

    flex-direction: column;

    box-shadow: var(--ems-shadow-xl);

    z-index: var(--ems-z-modal);

    animation: modalSlideIn var(--ems-transition-slow) cubic-bezier(0.4, 0, 0.2, 1);

    border: 1px solid var(--ems-border);

}#ems-plugin .ems-modal-content #ems-edit-family-form{

    padding: var(--ems-space-5);
    overflow:auto;

}#ems-plugin .ems-modal-header{
    padding: var(--ems-space-5) var(--ems-space-6);
    border-bottom: 1px solid var(--ems-border-light);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-shrink: 0;
}#ems-plugin .ems-modal-header h2{
    margin: 0;
    font-size: var(--ems-h2-size);
    color: var(--ems-text-primary);
}#ems-plugin .ems-modal-close{
    background: none;
    border: none;
    font-size: var(--ems-h1-size);
    line-height: 1;
    color: var(--ems-text-muted);
    cursor: pointer;
    padding: 0;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color var(--ems-transition-fast);
}#ems-plugin .ems-modal-close:hover{
    color: var(--ems-text-primary);
}#ems-plugin .ems-modal-body{
    padding: var(--ems-space-6);
    overflow-y: auto;
    flex: 1;
    min-height: 0;
}#ems-plugin .ems-modal-footer{
    padding: var(--ems-space-5) var(--ems-space-6);
    border-top: 1px solid var(--ems-border-light);
    display: flex;
    justify-content: flex-end;
    gap: var(--ems-space-3);
    flex-shrink: 0;
}#ems-plugin .ems-modal-loading{
    text-align: center;
    padding: var(--ems-space-10) var(--ems-space-5);
    color: var(--ems-text-muted);
}#ems-plugin .ems-modal table td,
#ems-plugin .ems-modal table th{

    padding: 0 !important;

    border: none;
    background: none !important;

}#ems-plugin .ems-event-details{

    display: flex;

    flex-direction: column;

    gap: 30px;

}#ems-plugin .ems-event-info-cards{

    display: grid;

    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));

    gap: 15px;

    margin-bottom: 10px;

}#ems-plugin .ems-event-info-card{
    background: var(--ems-bg-secondary);
    border: 1px solid var(--ems-border-light);
    border-radius: var(--ems-radius-md);
    padding: var(--ems-space-4);
    display: flex;
    align-items: flex-start;
    gap: var(--ems-space-3);
    transition: all var(--ems-transition-fast);
}#ems-plugin .ems-event-info-card:hover{
    background: var(--ems-bg-tertiary);
    border-color: var(--ems-primary);
    transform: translateY(-2px);
    box-shadow: var(--ems-shadow-md);
}#ems-plugin .ems-event-info-icon{

    font-size: var(--ems-h2-size);

    flex-shrink: 0;

    width: 40px;

    height: 40px;

    display: flex;

    align-items: center;

    justify-content: center;

    background: var(--ems-bg-surface);

    border-radius: var(--ems-radius-md);

    box-shadow: var(--ems-shadow-sm);

}#ems-plugin .ems-event-info-content{

    flex: 1;

    min-width: 0;

}#ems-plugin .ems-event-info-label{
    font-size: var(--ems-caption-size);
    color: var(--ems-text-muted);
    text-transform: uppercase;
    font-weight: var(--ems-font-weight-semibold);
    letter-spacing: 0.5px;
    margin-bottom: var(--ems-space-1);
}#ems-plugin .ems-event-info-value{
    font-size: var(--ems-body-size);
    color: var(--ems-text-primary);
    font-weight: var(--ems-font-weight-semibold);
    line-height: 1.4;
}#ems-plugin .ems-event-info-sub{
    font-size: var(--ems-small-size);
    color: var(--ems-text-muted);
    font-weight: 400;
    margin-top: var(--ems-space-1);
}#ems-plugin .ems-event-section{
    background: var(--ems-bg-surface);
    border: 1px solid var(--ems-border-light);
    border-radius: var(--ems-radius-md);
    padding: var(--ems-space-5);
    transition: all var(--ems-transition-fast);
}#ems-plugin .ems-event-section:hover{
    border-color: var(--ems-border);
    box-shadow: var(--ems-shadow-sm);
}#ems-plugin .ems-event-section-header{
    display: flex;
    align-items: center;
    gap: var(--ems-space-3);
    margin-bottom: var(--ems-space-4);
    padding-bottom: var(--ems-space-3);
    border-bottom: 2px solid var(--ems-bg-secondary);
}#ems-plugin .ems-event-section-icon{

    font-size: var(--ems-h3-size);

    width: 32px;

    height: 32px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: var(--ems-radius-sm);

    flex-shrink: 0;

}#ems-plugin .ems-event-section-header h3{
    margin: 0;
    font-size: var(--ems-h3-size);
    color: var(--ems-text-primary);
    font-weight: var(--ems-font-weight-semibold);
}#ems-plugin .ems-event-section-content{

    margin-top: var(--ems-space-4);

}#ems-plugin .ems-event-description{
    color: var(--ems-text-secondary);
    line-height: var(--ems-body-line);
    font-size: var(--ems-body-large-size);
}#ems-plugin .ems-event-description p{

    margin: 0 0 15px 0;

}#ems-plugin .ems-event-description p:last-child{

    margin-bottom: 0;

}#ems-plugin .ems-event-contact-card{
    background: var(--ems-bg-secondary);
    border: 1px solid var(--ems-border-light);
    border-radius: var(--ems-radius-md);
    padding: var(--ems-space-4);
    transition: all var(--ems-transition-fast);
}#ems-plugin .ems-event-contact-card:hover{
    background: var(--ems-bg-tertiary);
    border-color: var(--ems-border);
}#ems-plugin .ems-event-contact-card-spaced{

    margin-top: var(--ems-space-3);

}#ems-plugin .ems-event-contact-name{
    font-size: var(--ems-body-large-size);
    font-weight: var(--ems-font-weight-semibold);
    color: var(--ems-text-primary);
    margin-bottom: var(--ems-space-3);
    padding-bottom: var(--ems-space-2);
    border-bottom: 1px solid var(--ems-border-light);
}#ems-plugin .ems-event-contact-details{

    display: flex;

    flex-direction: column;

    gap: var(--ems-space-sm);

}#ems-plugin .ems-event-contact-item{
    display: flex;
    align-items: center;
    gap: var(--ems-space-3);
    font-size: var(--ems-body-size);
    color: var(--ems-text-secondary);
    line-height: 1.5;
}#ems-plugin .ems-contact-icon{

    font-size: var(--ems-body-large-size);

    width: 24px;

    flex-shrink: 0;

    text-align: center;

}#ems-plugin .ems-event-contact-item a{

    color: var(--ems-primary);

    text-decoration: none;

    word-break: break-word;

}#ems-plugin .ems-event-contact-item a:hover{

    text-decoration: underline;

}#ems-plugin .ems-event-website-link{
    padding: var(--ems-space-3);
    background: var(--ems-bg-secondary);
    border-radius: var(--ems-radius-md);
    border: 1px solid var(--ems-border-light);
}#ems-plugin .ems-event-website-link a{
    color: var(--ems-primary);
    text-decoration: none;
    font-weight: var(--ems-font-weight-medium);
    word-break: break-all;
    display: inline-block;
}#ems-plugin .ems-event-website-link a:hover{

    text-decoration: underline;

}body.ems-modal-open{

    overflow: hidden;

}button.ems-toggle-reminder-btn{
    display:flex;
    align-items:center;
    gap: var(--ems-space-xs);
}#ems-plugin .ems-tab-content .my-event .ems-attendee-row img.emoji{

    max-width: 22px;
    width:100%;

}#ems-plugin .ems-modal .ems-modal-body img.emoji{

    max-width: 20px;

}@media (max-width: 768px){#ems-plugin .ems-modal-content{

        width: 95%;

        max-height: 95vh;

    }#ems-plugin .ems-modal-header,
#ems-plugin .ems-modal-body,
#ems-plugin .ems-modal-footer{

        padding: 15px 20px;

    }#ems-plugin .ems-modal-header h2{

        font-size: var(--ems-h3-size);

    }#ems-plugin .ems-event-info-cards{

        grid-template-columns: 1fr;

    }#ems-plugin .ems-event-section{

        padding: 15px;

    }#ems-plugin .ems-event-section-header h3{

        font-size: var(--ems-body-large-size);

    }

}#ems-plugin .ems-stat-icon{

    font-size: 36px;

    width: 60px;

    height: 60px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: var(--ems-radius-md);

    flex-shrink: 0;

    position: relative;

    z-index: 1;

}#ems-plugin .ems-stat-content{

    flex: 1;

}#ems-plugin .ems-stat-number{

    font-size: var(--ems-h1-size);

    font-weight: var(--ems-font-weight-bold);

    color: var(--ems-text-primary);

    line-height: 1;

    margin-bottom: var(--ems-space-1);

    font-family: var(--ems-font-family);

}#ems-plugin .ems-stat-label{

    font-size: var(--ems-small-size);

    line-height: var(--ems-small-line);

    color: var(--ems-text-secondary);

    text-transform: uppercase;

    letter-spacing: 0.5px;

    font-weight: var(--ems-font-weight-medium);

}#ems-plugin .ems-dashboard-actions{

    background: var(--ems-bg-surface);
    border: 1px solid var(--ems-border);
    border-radius: var(--ems-radius-md);
    padding: var(--ems-space-5);
    margin: var(--ems-space-5) 0;

}#ems-plugin .ems-dashboard-actions h2{

    margin-top: 0;

    margin-bottom: 15px;

}#ems-plugin .ems-action-buttons{

    display: flex;

    gap: 10px;

    flex-wrap: wrap;

}#ems-plugin .ems-settings-form{

    background: var(--ems-bg-surface);
    border: 1px solid var(--ems-border-light);
    border-radius: var(--ems-radius-md);
    padding: var(--ems-space-8);
    margin-top: var(--ems-space-5);

}#ems-plugin .ems-form-table{

    width: 100%;

    border-collapse: collapse;

}#ems-plugin .ems-form-table th{
    padding: var(--ems-space-4) var(--ems-space-5);
    text-align: left;
    font-weight: var(--ems-font-weight-semibold);
    color: var(--ems-text-primary);
    width: 200px;
    vertical-align: top;
}#ems-plugin .ems-form-table td{

    padding: 15px 20px;

}#ems-plugin .ems-form-table input[type="text"],
#ems-plugin .ems-form-table select{
    width: 100%;
    max-width: 400px;
    padding: var(--ems-space-2) var(--ems-space-3);
    border: 1px solid var(--ems-border);
    border-radius: var(--ems-radius-md);
    font-size: var(--ems-body-size);
}#ems-plugin .ems-form-table .description{
    margin-top: var(--ems-space-1);
    font-size: var(--ems-small-size);
    color: var(--ems-text-muted);
    font-style: italic;
}
#ems-plugin .ems-settings-subsection-title{
    margin: 28px 0 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--ems-border-light);
    font-size: 15px;
    font-weight: 600;
    color: var(--ems-text-primary);
}
#ems-plugin .ems-settings-repeater{
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 720px;
}
#ems-plugin .ems-settings-repeater-row{
    display: flex;
    align-items: flex-start;
    gap: 8px;
}
#ems-plugin .ems-settings-repeater-row .regular-text{
    flex: 1;
    max-width: none !important;
    width: auto !important;
}
#ems-plugin .ems-settings-repeater-row .ems-btn{
    flex-shrink: 0;
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    line-height: 1;
}
#ems-plugin .ems-ltc-order-controls{
    display: flex;
    flex-direction: column;
    gap: 4px;
}
#ems-plugin .ems-ltc-order-controls .ems-btn{
    height: 16px;
    min-width: 28px;
    padding: 0 6px;
    font-size: 10px;
    line-height: 1;
}
@media screen and (max-width: 782px){
    #ems-plugin .ems-settings-repeater-row{
        flex-wrap: wrap;
    }
    #ems-plugin .ems-settings-repeater-row .regular-text{
        min-width: 140px;
    }
}
#ems-plugin .ems-settings-section{

    margin-bottom: 30px;

    padding-bottom: 30px;

    border-bottom: 1px solid var(--ems-border-light);

}#ems-plugin .ems-settings-section:last-child{

    border-bottom: none;

}#ems-plugin .ems-settings-section h2{
    margin-top: 0;
    padding-bottom: var(--ems-space-2);
    border-bottom: 2px solid var(--ems-primary);
}#ems-plugin .ems-settings-accordions{
    display: flex;
    flex-direction: column;
    gap: var(--ems-space-4);
}#ems-plugin .ems-settings-section.ems-settings-accordion{
    margin-bottom: 0;
    padding-bottom: 0;
    border: 1px solid var(--ems-border-light);
    border-radius: var(--ems-radius-md);
    background: var(--ems-bg-secondary);
    overflow: hidden;
}#ems-plugin .ems-settings-accordion__heading{
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: none !important;
}#ems-plugin .ems-settings-accordion__trigger{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--ems-space-3);
    padding: var(--ems-space-4) var(--ems-space-5);
    margin: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--ems-primary);
    cursor: pointer;
    text-align: left;
    font-family: inherit;
    font-size: var(--ems-h3-size, 1.125rem);
    font-weight: var(--ems-font-weight-semibold);
    line-height: 1.4;
    transition: background-color 0.15s ease;
}#ems-plugin .ems-settings-accordion__trigger:hover{
    background: rgba(var(--ems-primary-rgb), 0.06);
    color: var(--ems-primary);
}#ems-plugin .ems-settings-accordion__trigger:focus{
    outline: none;
}#ems-plugin .ems-settings-accordion__trigger:focus-visible{
    outline: 2px solid var(--ems-primary);
    outline-offset: -2px;
}#ems-plugin .ems-settings-accordion__title{
    flex: 1 1 auto;
    min-width: 0;
}#ems-plugin .ems-settings-accordion__icon{
    flex: 0 0 auto;
    width: 0.55em;
    height: 0.55em;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform 0.2s ease;
    margin-right: 2px;
}#ems-plugin .ems-settings-accordion.is-open .ems-settings-accordion__icon{
    transform: rotate(-135deg);
    margin-top: 0.25em;
}#ems-plugin .ems-settings-accordion__panel{
    padding: var(--ems-space-5);
    background: var(--ems-bg-surface);
    border-top: 1px solid var(--ems-border-light);
}#ems-plugin .ems-settings-accordion__panel[hidden]{
    display: none !important;
}#ems-plugin .ems-settings-accordion__panel > .description:first-child{
    margin-top: 0;
}@media (max-width: 768px){#ems-plugin .ems-settings-accordion__trigger{
        padding: var(--ems-space-3) var(--ems-space-4);
        font-size: var(--ems-body-size);
    }#ems-plugin .ems-settings-accordion__panel{
        padding: var(--ems-space-4);
    }
}#ems-plugin .ems-invitations-container{

    display: grid;

    gap: var(--ems-space-5);

}#ems-plugin .ems-invitation-form-section,
#ems-plugin .ems-invitations-history-section{

    background: var(--ems-bg-surface);
    border: 1px solid var(--ems-border-light);
    border-radius: var(--ems-radius-md);
    padding: var(--ems-space-5);

}#ems-plugin .ems-invitation-form-section h3,
#ems-plugin .ems-invitations-history-section h3{

    margin-top: 0;

    margin-bottom: 0;

}#ems-plugin .ems-history-header{

    display: flex;

    justify-content: space-between;

    align-items: center;

}#ems-plugin .ems-history-header h3{
    margin: 0;
    font-size: var(--ems-h3-size);
    color: var(--ems-text-primary);
}#ems-plugin .ems-toggle-history{

    margin-left: auto;

}#ems-plugin .ems-invitations-history-content{

    margin-top: var(--ems-space-5);

    display: none;

}#ems-plugin .ems-invitations-history-content.ems-history-visible{

    display: block;

}#ems-plugin .ems-action-buttons-row{

    display: flex;

    gap: var(--ems-space-sm);

    align-items: center;

}#ems-plugin .ems-btn-danger{
    background: var(--ems-error);
    color: var(--ems-white);
    border: none;
}#ems-plugin .ems-btn-danger:hover{
    background: var(--ems-error-text);
    transform: translateY(-1px);
    box-shadow: var(--ems-shadow-md);
}#ems-plugin .ems-btn-danger:disabled{

    opacity: 0.6;

    cursor: not-allowed;

    transform: none;

}#ems-plugin .ems-status-badge{
    display: inline-block;
    padding: var(--ems-space-xs) var(--ems-space-3);
    border-radius: 20px;
    font-size: var(--ems-xs-size);
    font-weight: var(--ems-font-weight-medium);
}#ems-plugin .ems-badge{
    display: inline-block;
    padding: var(--ems-space-xs) var(--ems-space-sm);
    border-radius: 4px;
    font-size: var(--ems-caption-size);
    font-weight: var(--ems-font-weight-semibold);
    text-transform: uppercase;
}#ems-plugin .ems-badge-info{
    background: var(--ems-info-bg);
    color: var(--ems-info-text);
}#ems-plugin .ems-badge-primary{
    background: var(--ems-primary-focus);
    color: var(--ems-primary);
}#ems-plugin .ems-linked-parent{
    display: inline-flex;
    align-items: center;
    gap: var(--ems-space-1);
    font-size: var(--ems-xs-size);
    color: var(--ems-text-muted);
    background: var(--ems-bg-secondary);
    padding: 2px var(--ems-space-2);
    border-radius: var(--ems-radius-full);
}#ems-plugin .ems-tab-header{
    margin-bottom: var(--ems-space-5);
    padding-bottom: var(--ems-space-4);
    border-bottom: 1px solid var(--ems-border-light);
}#ems-plugin .ems-tab-header h3{
    margin: 0 0 var(--ems-space-1) 0;
    color: var(--ems-text-primary);
}.status-success{
    background: var(--ems-success-bg);
    color: var(--ems-success-text);
    border: 1px solid var(--ems-success-border);
}.status-error{
    background: var(--ems-error-bg);
    color: var(--ems-error-text);
    border: 1px solid var(--ems-error-border);
}.status-warning{
    background: var(--ems-warning-bg);
    color: var(--ems-warning-text);
    border: 1px solid var(--ems-warning-border);
}.status-pending{
    background: var(--ems-info-bg);
    color: var(--ems-info-text);
    border: 1px solid var(--ems-info-border);
}#ems-plugin .ems-data-filters{
    display: flex;
    gap: var(--ems-space-3);
    margin-bottom: 25px;
    flex-wrap: wrap;
    align-items: center;
}#ems-plugin .ems-filter-pill{
    display: flex;
    align-items: center;
    gap: var(--ems-space-2);
    padding: var(--ems-space-2) var(--ems-space-4);
    background: var(--ems-bg-surface);
    border: 1px solid var(--ems-border-light);
    border-radius: var(--ems-radius-full);
    cursor: pointer;
    transition: all var(--ems-transition-fast);
    box-shadow: var(--ems-shadow-sm);
}#ems-plugin .ems-filter-pill:hover{
    border-color: var(--ems-primary);
    background: var(--ems-surface-hover);
    transform: translateY(-1px);
}#ems-plugin .ems-filter-pill.active{
    background: var(--ems-primary);
    border-color: var(--ems-primary);
    color: var(--ems-white);
    box-shadow: var(--ems-shadow-lg);
}#ems-plugin .ems-filter-pill.active .ems-filter-count{
    background: rgba(var(--ems-white-rgb, 255, 255, 255), 0.2);
    color: var(--ems-white);
}#ems-plugin .ems-filter-label{
    font-size: var(--ems-body-size);
    font-weight: var(--ems-font-weight-semibold);
}#ems-plugin .ems-filter-count{
    font-size: var(--ems-caption-size);
    background: var(--ems-bg-secondary);
    color: var(--ems-text-muted);
    padding: var(--ems-space-xs) var(--ems-space-sm);
    border-radius: var(--ems-radius-lg);
    font-weight: var(--ems-font-weight-bold);
    transition: all var(--ems-transition-fast);
}#ems-plugin .ems-admin-people-container .ems-people-results-meta{
    font-family: var(--ems-font-montserrat);
    font-size: var(--ems-small-size);
    color: var(--ems-text-muted);
    font-weight: var(--ems-font-weight-medium);
    margin-bottom: var(--ems-space-sm);
}#ems-plugin .ems-admin-people-container .ems-people-results-meta #ems-people-results-count{
    color: var(--ems-primary);
    font-weight: var(--ems-font-weight-bold);
}#ems-plugin .ems-admin-people-container{
    max-width: 100%;
    min-width: 0;
}#ems-plugin .ems-admin-people-container .ems-admin-events-list{
    min-width: 0;
    max-width: 100%;
}#ems-plugin .ems-people-table-wrapper{
    overflow-x: auto;
    overflow-y: visible;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
}#ems-plugin .ems-people-table-wrapper.ems-modern-table-wrapper{
    overflow-x: auto;
}#ems-plugin .ems-dropdown-menu.ems-dropdown-menu--fixed{
    position: fixed !important;
    right: auto !important;
    z-index: var(--ems-z-dropdown-menu-elevated, 100001) !important;
}#ems-plugin .ems-people-table{
    table-layout: fixed;
    width: 100%;
    min-width: 960px;
}#ems-plugin .ems-people-table col.ems-people-col-name{
    width: 18%;
}#ems-plugin .ems-people-table col.ems-people-col-email{
    width: 22%;
}#ems-plugin .ems-people-table col.ems-people-col-role{
    width: 16%;
}#ems-plugin .ems-people-table col.ems-people-col-relationship{
    width: 16%;
}#ems-plugin .ems-people-table col.ems-people-col-linked{
    width: 16%;
}#ems-plugin .ems-people-table col.ems-people-col-actions{
    width: 115px;
}#ems-plugin .ems-people-table th,
#ems-plugin .ems-people-table td{
    padding: 12px 10px;
    vertical-align: middle;
}#ems-plugin .ems-people-table th{
    white-space: nowrap;
    overflow: hidden;
}#ems-plugin .ems-people-table .ems-people-col-name{
    white-space: nowrap;
    line-height: 1.45;
    overflow: hidden;
    text-overflow: ellipsis;
}#ems-plugin .ems-people-table th.ems-people-col-name{
    max-width: none;
}#ems-plugin .ems-people-table .ems-people-col-name .ems-event-name-container{
    gap: 4px;
    max-width: 100%;
    min-width: 0;
}#ems-plugin .ems-people-table .ems-people-col-name .ems-event-title{
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 1.4;
}#ems-plugin .ems-people-table .ems-people-col-email{
    white-space: nowrap;
    line-height: 1.45;
    color: var(--ems-text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
}#ems-plugin .ems-people-table th.ems-people-col-email{
    max-width: none;
}#ems-plugin .ems-people-table .ems-people-col-relationship{
    overflow: hidden;
    text-align: left;
}#ems-plugin .ems-people-table th.ems-people-col-relationship{
    text-align: left;
    max-width: none;
}#ems-plugin .ems-people-table .ems-relationship-cell{
    display: flex;
    align-items: center;
    min-height: 32px;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}#ems-plugin .ems-people-table .ems-relationship-cell .ems-status-badge{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    white-space: nowrap;
    word-break: normal;
    overflow-wrap: normal;
    text-align: center;
    line-height: 1.25;
    vertical-align: middle;
    box-sizing: border-box;
    flex-shrink: 0;
}#ems-plugin .ems-people-table .ems-people-col-role{
    overflow: visible;
}#ems-plugin .ems-people-table .ems-people-col-actions{
    text-align: right;
    white-space: nowrap;
    overflow: visible;
    position: relative;
    width: 115px;
    max-width: 115px;
}#ems-plugin .ems-people-table th.ems-people-col-actions{
    text-align: left;
}#ems-plugin .ems-people-table .ems-people-actions-cell{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 100%;
    max-width: 100%;
    overflow: visible;
}#ems-plugin .ems-people-table .ems-people-actions-cell .ems-action-dropdown-wrapper{
    position: relative;
    display: block;
    width: 100%;
    max-width: 100%;
}#ems-plugin .ems-people-table .ems-people-actions-btn{
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 5px 8px;
    font-size: 11px;
    line-height: 1.2;
    white-space: nowrap;
    justify-content: flex-start;
}#ems-plugin .ems-people-table .ems-people-actions-btn::after{
    content: ' \25BC';
    font-size: 8px;
    margin-left: 4px;
}#ems-plugin .ems-people-table .ems-people-actions-cell .ems-dropdown-menu{
    right: 0;
    left: auto;
    top: calc(100% + 4px);
    min-width: 128px;
    white-space: nowrap;
}#ems-plugin .ems-people-dropdown-divider{
    height: 1px;
    background: var(--ems-border, #e2e8f0);
    margin: 4px 0;
}#ems-plugin .ems-people-table .ems-role-controls{
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    width: 100%;
}#ems-plugin .ems-people-table .ems-role-select{
    width: 100%;
    min-width: 0;
    max-width: 100%;
    padding: 8px 10px;
    border: 1px solid var(--ems-border);
    border-radius: var(--ems-radius-sm);
    font-size: var(--ems-small-size);
    line-height: 1.35;
    background: var(--ems-bg-surface);
    color: var(--ems-text-primary);
    box-sizing: border-box;
    height: auto;
}#ems-plugin .ems-people-table .ems-role-select.ems-role-select-changed{
    border-color: var(--ems-primary);
    box-shadow: 0 0 0 2px var(--ems-primary-focus);
}#ems-plugin .ems-people-table .ems-people-col-role .ems-status-badge{
    white-space: nowrap;
}#ems-plugin .ems-people-table .ems-role-save-btn{
    flex-shrink: 0;
    padding: 6px 10px;
    font-size: var(--ems-xs-size);
}#ems-plugin .ems-people-table .ems-people-col-linked{
    white-space: nowrap;
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
}#ems-plugin .ems-people-table .ems-linked-parent{
    display: block;
    color: var(--ems-text-secondary);
    font-weight: var(--ems-font-weight-medium);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}#ems-plugin .ems-people-table .ems-action-dropdown-wrapper{
    position: relative;
    z-index: 2;
}#ems-plugin .ems-people-table .ems-action-dropdown-wrapper.ems-active{
    z-index: var(--ems-z-dropdown, 50);
}#ems-plugin .ems-people-table .ems-action-dropdown-wrapper.ems-active .ems-dropdown-menu{
    z-index: calc(var(--ems-z-dropdown, 50) + 1);
}#ems-plugin .ems-people-table tr:has(.ems-action-dropdown-wrapper.ems-active){
    position: relative;
    z-index: 5;
}#ems-plugin .ems-admin-volunteers-container{
    max-width: 100%;
    min-width: 0;
}#ems-plugin .ems-volunteers-table{
    table-layout: fixed;
    width: 100%;
    min-width: 860px;
}#ems-plugin .ems-volunteers-table col.ems-volunteers-col-name{
    width: 28%;
}#ems-plugin .ems-volunteers-table col.ems-volunteers-col-email{
    width: 26%;
}#ems-plugin .ems-volunteers-table col.ems-volunteers-col-status{
    width: 14%;
}#ems-plugin .ems-volunteers-table col.ems-volunteers-col-events{
    width: 16%;
}#ems-plugin .ems-volunteers-table col.ems-volunteers-col-actions{
    width: 16%;
}#ems-plugin .ems-volunteers-table th,
#ems-plugin .ems-volunteers-table td{
    padding: 14px 16px;
    vertical-align: middle;
}#ems-plugin .ems-volunteers-table th{
    overflow: hidden;
    white-space: nowrap;
}#ems-plugin .ems-volunteers-table tbody tr.ems-volunteers-data-row:nth-child(even){
    background-color: #fafbfc;
}#ems-plugin .ems-volunteers-table .ems-volunteers-col-name{
    white-space: normal;
    line-height: 1.45;
    overflow: hidden;
}#ems-plugin .ems-volunteers-table th.ems-volunteers-col-name{
    max-width: none;
}#ems-plugin .ems-volunteers-table .ems-volunteer-name-cell{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    min-width: 0;
}#ems-plugin .ems-volunteers-table .ems-volunteers-col-name .ems-event-title,
#ems-plugin .ems-volunteers-table .ems-volunteer-display-name{
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
    line-height: 1.4;
    color: var(--ems-text-primary);
    font-weight: var(--ems-font-weight-semibold);
}#ems-plugin .ems-volunteer-meta-badges{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}#ems-plugin .ems-volunteer-meta-badge{
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: var(--ems-font-weight-semibold);
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    white-space: nowrap;
}#ems-plugin .ems-volunteer-role-volunteer,
#ems-plugin .ems-volunteer-role-pending{
    background: #fff4df;
    color: #9a6a1d;
}#ems-plugin .ems-volunteer-chapter-badge{
    background: #e8f2ff;
    color: #2f5f9c;
}#ems-plugin .ems-volunteers-table .ems-volunteers-col-email{
    white-space: nowrap;
    line-height: 1.45;
    color: var(--ems-text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
}#ems-plugin .ems-volunteers-table th.ems-volunteers-col-email{
    max-width: none;
}#ems-plugin .ems-volunteers-table .ems-volunteers-col-status{
    overflow: hidden;
    text-align: left;
}#ems-plugin .ems-volunteers-table th.ems-volunteers-col-status{
    text-align: left;
}#ems-plugin .ems-volunteers-table .ems-volunteers-col-events{
    text-align: left;
    color: var(--ems-text-primary);
    font-weight: var(--ems-font-weight-medium);
}#ems-plugin .ems-volunteers-table th.ems-volunteers-col-events{
    text-align: left;
}#ems-plugin .ems-volunteers-table .ems-volunteers-col-actions{
    overflow: visible;
    text-align: left;
}#ems-plugin .ems-volunteers-table th.ems-volunteers-col-actions{
    text-align: left;
}#ems-plugin .ems-volunteers-table .ems-status-badge.ems-volunteer-status-active{
    background-color: var(--ems-sky-100);
    color: var(--ems-sky-600);
    border-color: var(--ems-sky-200);
}#ems-plugin .ems-volunteers-table .ems-status-badge.ems-volunteer-status-inactive{
    background-color: var(--ems-slate-100);
    color: var(--ems-slate-600);
    border-color: var(--ems-slate-300);
}#ems-plugin .ems-volunteers-table .ems-status-badge.ems-volunteer-status-invited{
    background-color: var(--ems-success-bg);
    color: var(--ems-green-700);
    border-color: var(--ems-green-200);
}#ems-plugin .ems-volunteers-table .ems-volunteers-actions-cell{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    max-width: 100%;
    overflow: visible;
}#ems-plugin .ems-volunteers-table .ems-volunteers-actions-cell .ems-action-dropdown-wrapper{
    position: relative;
    display: block;
    width: auto;
    min-width: 110px;
}#ems-plugin .ems-volunteers-table .ems-volunteers-actions-btn{
    width: auto;
    min-width: 110px;
    box-sizing: border-box;
    padding: 6px 12px;
    font-size: 12px;
    line-height: 1.2;
    white-space: nowrap;
    justify-content: center;
}#ems-plugin .ems-volunteers-table .ems-volunteers-actions-btn::after{
    content: ' \25BC';
    font-size: 8px;
    margin-left: 4px;
}#ems-plugin .ems-volunteers-table .ems-volunteers-actions-cell .ems-dropdown-menu{
    right: auto;
    left: 0;
    top: calc(100% + 4px);
    min-width: 160px;
    white-space: nowrap;
}#ems-plugin .ems-volunteers-table .ems-dropdown-item{
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 0.04em;
    font-weight: var(--ems-font-weight-semibold);
}#ems-plugin .ems-volunteers-table .ems-action-dropdown-wrapper{
    position: relative;
    z-index: 2;
}#ems-plugin .ems-volunteers-table .ems-action-dropdown-wrapper.ems-active{
    z-index: var(--ems-z-dropdown, 50);
}#ems-plugin .ems-volunteers-table .ems-action-dropdown-wrapper.ems-active .ems-dropdown-menu{
    z-index: calc(var(--ems-z-dropdown, 50) + 1);
}#ems-plugin .ems-volunteers-table tr:has(.ems-action-dropdown-wrapper.ems-active){
    position: relative;
    z-index: 5;
}#ems-plugin .ems-volunteers-filter-grid{
    align-items: end;
    grid-template-columns: minmax(220px, 2fr) minmax(160px, 1fr) auto;
}#ems-plugin .ems-volunteers-filter-grid .ems-filter-actions-container{
    grid-column: auto;
    margin-top: 0;
    justify-content: flex-start;
    align-self: end;
}@media screen and (max-width: 1100px){
    #ems-plugin .ems-volunteers-filter-grid{
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    }
    #ems-plugin .ems-volunteers-filter-grid .ems-filter-actions-container{
        grid-column: 1 / -1;
        margin-top: var(--ems-space-sm);
    }
}#ems-plugin .ems-modern-table .ems-role-controls{
    display: flex;
    align-items: center;
    gap: var(--ems-space-2);
    flex-wrap: wrap;
    min-width: 180px;
}#ems-plugin .ems-modern-table .ems-role-select{
    min-width: 150px;
    max-width: 220px;
    padding: 8px 10px;
    border: 1px solid var(--ems-border);
    border-radius: var(--ems-radius-sm);
    font-size: var(--ems-small-size);
    background: var(--ems-bg-surface);
    color: var(--ems-text-primary);
}#ems-plugin .ems-modern-table .ems-role-select.ems-role-select-changed{
    border-color: var(--ems-primary);
    box-shadow: 0 0 0 2px var(--ems-primary-focus);
}#ems-plugin .ems-modern-table .ems-linked-parent{
    color: var(--ems-text-secondary);
    font-weight: var(--ems-font-weight-medium);
    text-align: center;
}#ems-plugin .ems-people-table.ems-modern-table .ems-role-controls{
    min-width: 0;
    flex-wrap: wrap;
}#ems-plugin .ems-people-table.ems-modern-table .ems-role-select{
    min-width: 0;
    max-width: 100%;
    width: 100%;
}#ems-plugin .ems-role-cell{
    min-width: 220px;
    vertical-align: middle;
}#ems-plugin .ems-role-controls{
    display: flex;
    align-items: center;
    gap: var(--ems-space-2);
    flex-wrap: wrap;
}#ems-plugin .ems-role-select{
    padding: var(--ems-space-2) var(--ems-space-3);
    border-radius: var(--ems-radius-md);
    border: 1px solid var(--ems-border);
    font-size: var(--ems-small-size);
    color: var(--ems-text-primary);
    background: var(--ems-bg-surface);
    cursor: pointer;
    transition: all var(--ems-transition-fast);
    outline: none;
    min-width: 160px;
    width: auto;
    max-width: none;
    flex: 1 1 160px;
}#ems-plugin .ems-role-select.ems-role-select-changed{
    border-color: var(--ems-primary);
    box-shadow: 0 0 0 2px var(--ems-primary-focus);
}#ems-plugin .ems-role-select:focus{
    border-color: var(--ems-primary);
    box-shadow: 0 0 0 2px var(--ems-primary-focus);
}#ems-plugin .ems-role-save-btn{
    flex-shrink: 0;
    white-space: nowrap;
}#ems-plugin .ems-data-table .ems-role-cell{
    width: 1%;
    white-space: nowrap;
}#ems-plugin .ems-loading-opacity{
    opacity: 0.5;
}#ems-plugin .ems-data-table{

    width: 100%;

    border-collapse: collapse;

    background: var(--ems-bg);

    border: 1px solid var(--ems-border);

    border-radius: var(--ems-radius-md);

    overflow: hidden;

    box-shadow: var(--ems-shadow-sm);

}#ems-plugin .ems-data-table thead{

    background: var(--ems-bg-secondary);

}#ems-plugin .ems-data-table thead th{

    padding: var(--ems-space-3) var(--ems-space-4);

    text-align: left;

    font-weight: var(--ems-font-weight-semibold);

    color: var(--ems-text-primary);

    border-bottom: 2px solid var(--ems-border);

    font-size: var(--ems-body-size);

    text-transform: uppercase;

    letter-spacing: 0.5px;

    font-size: var(--ems-small-size);

}#ems-plugin .ems-data-table tbody td{

    padding: var(--ems-space-3) var(--ems-space-4);

    border-bottom: 1px solid var(--ems-border);

    font-size: var(--ems-body-size);

    color: var(--ems-text-primary);

}#ems-plugin .ems-data-table tbody tr{

    transition: all var(--ems-transition-fast);

}#ems-plugin .ems-data-table tbody tr:hover{

    background: var(--ems-primary-focus);

    transform: scale(1.01);

}#ems-plugin .ems-data-table tbody tr:last-child td{

    border-bottom: none;

}#ems-plugin .ems-admin-all-data-wrap .ems-people-table th.ems-people-col-actions,
#ems-plugin .ems-admin-all-data-wrap .ems-people-table td.ems-people-col-actions{
    width: 115px;
    min-width: 115px;
    max-width: 115px;
}#ems-plugin .ems-all-data-actions{
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: var(--ems-space-sm);
    width: 100%;
}#ems-plugin .ems-all-data-actions .ems-btn{
    width: 100%;
    min-width: 104px;
    height: 34px;
    padding: 7px 12px;
    border-radius: 7px;
    font-size: var(--ems-xs-size);
    font-weight: var(--ems-font-weight-bold);
    line-height: 1;
    letter-spacing: 0;
    text-transform: none;
    box-shadow: none;
    transform: none;
    white-space: nowrap;
}#ems-plugin .ems-all-data-actions .ems-btn:hover{
    transform: translateY(-1px);
}#ems-plugin .ems-all-data-switch-btn,
#ems-plugin .ems-admin-all-data-wrap .ems-all-data-switch-btn{
    background: var(--ems-info-bg) !important;
    color: var(--ems-info-text) !important;
    border: 1px solid var(--ems-info-border) !important;
}#ems-plugin .ems-all-data-switch-btn:hover,
#ems-plugin .ems-admin-all-data-wrap .ems-all-data-switch-btn:hover{
    background: var(--ems-blue-200) !important;
    color: var(--ems-slate-900) !important;
    border-color: var(--ems-blue-300) !important;
}#ems-plugin .ems-all-data-delete-btn,
#ems-plugin .ems-admin-all-data-wrap .ems-all-data-delete-btn{
    background: var(--ems-red-50) !important;
    color: var(--ems-red-700) !important;
    border: 1px solid var(--ems-red-200) !important;
}#ems-plugin .ems-all-data-delete-btn:hover,
#ems-plugin .ems-admin-all-data-wrap .ems-all-data-delete-btn:hover{
    background: var(--ems-error-bg) !important;
    color: var(--ems-error-text) !important;
    border-color: var(--ems-error-border) !important;
}#ems-plugin .ems-data-table .ems-all-data-actions + *{
    margin-top: 0;
}#ems-plugin .ems-reports-container{

    display: grid;

    gap: var(--ems-space-5);

}#ems-plugin .ems-report-section{

    background: var(--ems-bg-surface);
    border: 1px solid var(--ems-border);
    border-radius: var(--ems-radius-md);
    padding: var(--ems-space-5);

}#ems-plugin .ems-report-section h2{

    margin-top: 0;

}#ems-plugin .ems-summary-stats{

    display: grid;

    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));

    gap: 15px;

    margin-top: 15px;

}#ems-plugin .ems-summary-item{

    padding: 15px;

    background: var(--ems-bg-secondary);
    border-radius: var(--ems-radius-sm);

    display: flex;

    justify-content: space-between;

    align-items: center;

}#ems-plugin .ems-summary-label{
    font-weight: var(--ems-font-weight-semibold);
    color: var(--ems-text-muted);
}#ems-plugin .ems-summary-value{
    font-size: var(--ems-h2-size);
    font-weight: var(--ems-font-weight-bold);
    color: var(--ems-text-primary);
}#ems-plugin .ems-report-event-card{

    background: var(--ems-bg-surface);

    border: 1px solid var(--ems-border);

    border-radius: var(--ems-radius-md);

    padding: var(--ems-space-5);

    margin-bottom: var(--ems-space-5);

    box-shadow: var(--ems-shadow-sm);

    transition: all var(--ems-transition-fast);

}#ems-plugin .ems-report-event-card:hover{

    box-shadow: var(--ems-shadow-md);
    border-color: var(--ems-border-hover);

}#ems-plugin .ems-report-event-header{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--ems-space-4);
    padding-bottom: var(--ems-space-4);
    border-bottom: 1px solid var(--ems-border-light);
}#ems-plugin .ems-report-event-header h3{
    margin: 0;
    font-size: 1.5em;
    color: var(--ems-text-primary);
    flex: 1;
}#ems-plugin .ems-report-event-meta{

    display: flex;

    gap: 10px;

    align-items: center;

    flex-wrap: wrap;

}#ems-plugin .ems-event-date{
    color: var(--ems-text-muted);
    font-size: 0.9em;
}#ems-plugin .ems-tag{

    display: inline-block;

    padding: var(--ems-space-xs) var(--ems-space-sm);

    border-radius: 3px;

    font-size: 0.85em;

    font-weight: var(--ems-font-weight-semibold);

    text-transform: uppercase;

}#ems-plugin .ems-tag.finalized{
    background: var(--ems-success);
    color: var(--ems-white);
}#ems-plugin .ems-tag.active{
    background: var(--ems-primary);
    color: var(--ems-white);
}#ems-plugin .ems-tag.status-published{
    background: var(--ems-success);
    color: var(--ems-white);
}#ems-plugin .ems-tag.status-draft{
    background: var(--ems-text-muted);
    color: var(--ems-white);
}#ems-plugin .ems-tag.status-pending{
    background: var(--ems-warning);
    color: var(--ems-white);
}#ems-plugin .ems-tag.status-private{
    background: var(--ems-error);
    color: var(--ems-white);
}#ems-plugin .ems-tag.status-future{
    background: var(--ems-info);
    color: var(--ems-white);
}#ems-plugin .ems-tag.status-trash{
    background: var(--ems-bg-tertiary);
    color: var(--ems-white);
}#ems-plugin .ems-tag[class*="status-"]{
    background: var(--ems-success);
    color: var(--ems-white);
}#ems-plugin .ems-report-event-stats{
    display: flex;
    gap: 30px;
    margin-bottom: var(--ems-space-5);
    padding: 15px;
    background: var(--ems-bg-secondary);
    border-radius: var(--ems-radius-sm);
    flex-wrap: wrap;
}#ems-plugin .ems-stat-item{

    display: flex;

    flex-direction: column;

    gap: 5px;

    min-width: 150px;

}#ems-plugin .ems-stat-label{
    font-size: var(--ems-small-size);
    color: var(--ems-text-muted);
}#ems-plugin .ems-stat-value{
    font-size: var(--ems-h3-size);
    font-weight: var(--ems-font-weight-semibold);
    color: var(--ems-text-primary);
}#ems-plugin .ems-report-volunteer-hours{
    margin-top: var(--ems-space-4);
    padding-top: var(--ems-space-4);
    border-top: 1px solid var(--ems-border-light);
}#ems-plugin .ems-report-volunteer-hours h4{
    margin: 0 0 10px 0;
    font-size: 1.1em;
    color: var(--ems-text-primary);
}#ems-plugin .ems-volunteer-hours-list{

    list-style: none;

    margin: 0;

    padding: 0;

}#ems-plugin .ems-volunteer-hours-list li{
    display: flex;
    justify-content: space-between;
    padding: 8px 0;
    border-bottom: 1px solid var(--ems-bg-secondary);
}#ems-plugin .ems-volunteer-hours-list li:last-child{

    border-bottom: none;

}.volunteer-name{
    color: var(--ems-text-primary);
}.volunteer-hours{
    color: var(--ems-primary);
    font-weight: var(--ems-font-weight-semibold);
}#ems-plugin .ems-total-volunteer-hours{
    margin-top: var(--ems-space-4);
    padding-top: var(--ems-space-4);
    border-top: 2px solid var(--ems-primary);
    color: var(--ems-text-primary);
    font-size: 1.1em;
}#ems-plugin .ems-no-data{
    color: var(--ems-text-muted);
    font-style: italic;
    margin: 0;
}#ems-plugin .ems-report-event-details{
    margin-bottom: var(--ems-space-5);
    padding: 15px;
    background: var(--ems-bg-secondary);
    border-radius: var(--ems-radius-md);
    border: 1px solid var(--ems-border-light);
}#ems-plugin .ems-detail-row{

    display: flex;

    gap: 30px;

    margin-bottom: var(--ems-space-3);

    flex-wrap: wrap;

}#ems-plugin .ems-detail-row:last-child{

    margin-bottom: 0;

}#ems-plugin .ems-detail-item{

    display: flex;

    flex-direction: column;

    gap: var(--ems-space-xs);

    min-width: 200px;

    flex: 1;

}#ems-plugin .ems-detail-label{
    font-size: var(--ems-caption-size);
    color: var(--ems-text-muted);
    font-weight: var(--ems-font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}#ems-plugin .ems-detail-value{
    font-size: 0.95em;
    color: var(--ems-text-primary);
    word-break: break-word;
}#ems-plugin .ems-detail-value a{
    color: var(--ems-primary);
    text-decoration: none;
}#ems-plugin .ems-detail-value a:hover{

    text-decoration: underline;

}#ems-plugin .ems-detail-value em{
    color: var(--ems-text-muted);
    font-style: normal;
}#ems-plugin .ems-tag.time-status-past{
    background: var(--ems-text-muted);
    color: var(--ems-white);
}#ems-plugin .ems-tag.time-status-current{
    background: var(--ems-warning);
    color: var(--ems-white);
}#ems-plugin .ems-tag.time-status-upcoming{
    background: var(--ems-info);
    color: var(--ems-white);
}#ems-plugin .ems-all-data-content{
    background: var(--ems-bg-surface);
    border: 1px solid var(--ems-border);
    border-radius: var(--ems-radius-md);
    padding: var(--ems-space-5);
    margin-top: var(--ems-space-5);
}#ems-plugin .ems-data-section h2{

    margin-top: 0;

}#ems-plugin .ems-family-list-compact{

    display: flex;

    flex-direction: column;

    gap: 5px;

}#ems-plugin .ems-family-item-compact{

    display: flex;

    align-items: center;

    gap: var(--ems-space-sm);

    font-size: var(--ems-small-size);

}#ems-plugin .ems-relationship-tag{

    display: inline-block;

    padding: var(--ems-space-xs) var(--ems-space-sm);

    background: var(--ems-primary-focus);
    color: var(--ems-primary);

    border-radius: 10px;

    font-size: var(--ems-caption-size);

    font-weight: var(--ems-font-weight-semibold);

    text-transform: uppercase;

}#ems-plugin .ems-family-count-badge{

    display: inline-block;

    padding: var(--ems-space-xs) var(--ems-space-3);

    background: var(--ems-success-bg);
    color: var(--ems-success-text);

    border-radius: var(--ems-radius-lg);

    font-weight: var(--ems-font-weight-semibold);

    font-size: var(--ems-body-size);

}#ems-plugin .ems-no-data{

    color: var(--ems-text-muted);

    font-style: italic;

}#ems-plugin .ems-copy-link{

    position: relative;

}#ems-plugin .ems-copy-link.copied::after{

    content: 'Copied!';

    position: absolute;

    top: -30px;

    left: 50%;

    transform: translateX(-50%);

    background: var(--ems-text-primary);
    color: var(--ems-white);
    padding: var(--ems-space-1) var(--ems-space-2);
    border-radius: var(--ems-radius-sm);

    font-size: var(--ems-caption-size);

    white-space: nowrap;

}#ems-plugin .ems-btn,
#ems-plugin button{
    display: inline-block;
    padding: 10px 20px;
    border-radius: 4px;
    border: none;
    cursor: pointer;
    font-weight: var(--ems-font-weight-semibold);
    text-decoration: none;
    transition: all var(--ems-transition-normal);
    font-size: var(--ems-body-size);
    text-align: center;
    font-family: var(--ems-font-montserrat) !important;
}#ems-plugin button[type="submit"]{
    background-color: var(--ems-primary) !important;
}#ems-plugin button[type="submit"]:hover{
    background-color: var(--ems-primary-hover) !important;
}#ems-plugin .ems-btn-primary{

    background: var(--ems-primary) !important;
    color: var(--ems-white) !important;
    box-shadow: var(--ems-shadow-md);
    font-family: var(--ems-font-montserrat);
    border: 1px solid var(--ems-primary) !important;
}#ems-plugin .ems-btn-primary:hover{
    background: var(--ems-primary-hover) !important;
    transform: translateY(-2px);
    box-shadow: var(--ems-shadow-lg);
    border-color: var(--ems-primary) !important;
}#ems-plugin .ems-btn-secondary{
    font-family: var(--ems-font-montserrat);
    background: var(--ems-secondary) !important;
    color: var(--ems-white) !important;
    box-shadow: var(--ems-shadow-md);
    border: 1px solid var(--ems-secondary) !important;
}#ems-plugin .ems-btn-secondary:hover{

    background: var(--ems-secondary-hover) !important;
    transform: translateY(-2px);
    box-shadow: var(--ems-shadow-lg);
    border-color: var(--ems-secondary) !important;
}#ems-plugin .ems-btn-small{

    padding: 6px 12px;

    font-size: var(--ems-xs-size);

}#ems-plugin .ems-sidebar-icon img.emoji{

    max-width: 16px;

}#ems-plugin .ems-sidebar-toggle{
    display: none;
    align-items: center;
    gap: 10px;
    width: 100%;
    margin: 0;
    padding: 12px 16px;
    border: none;
    background: transparent;
    color: var(--ems-text-primary);
    font-family: var(--ems-font-montserrat);
    font-size: var(--ems-body-size);
    font-weight: var(--ems-font-weight-semibold);
    cursor: pointer;
    text-align: left;
    box-sizing: border-box;
}#ems-plugin .ems-sidebar-toggle:hover,
#ems-plugin .ems-sidebar-toggle:focus-visible{
    background: var(--ems-primary-focus);
    color: var(--ems-primary);
    outline: none;
}#ems-plugin .ems-hamburger{
    position: relative;
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 22px;
    height: 18px;
    flex-shrink: 0;
}#ems-plugin .ems-hamburger-bar{
    display: block;
    width: 100%;
    height: 2px;
    border-radius: 2px;
    background: currentColor;
    transform-origin: center;
    transition: transform var(--ems-transition-normal), opacity var(--ems-transition-normal), width var(--ems-transition-normal);
}#ems-plugin .ems-admin-sidebar.ems-sidebar-open .ems-hamburger-bar:nth-child(1){
    transform: translateY(7px) rotate(45deg);
}#ems-plugin .ems-admin-sidebar.ems-sidebar-open .ems-hamburger-bar:nth-child(2){
    opacity: 0;
    width: 0;
}#ems-plugin .ems-admin-sidebar.ems-sidebar-open .ems-hamburger-bar:nth-child(3){
    transform: translateY(-7px) rotate(-45deg);
}@media screen and (max-width: 1120px){
    #ems-plugin .ems-admin-layout{
        flex-direction: column;
        gap: var(--ems-space-4);
    }
    #ems-plugin .ems-admin-sidebar{
        width: 100%;
        position: relative;
        top: 0;
        padding: 0;
        overflow: hidden;
    }
    #ems-plugin .ems-sidebar-toggle{
        display: inline-flex;
    }
    #ems-plugin .ems-sidebar-nav{
        display: grid;
        grid-template-rows: 0fr;
        transition: grid-template-rows var(--ems-transition-slow);
    }
    #ems-plugin .ems-admin-sidebar.ems-sidebar-open .ems-sidebar-nav{
        grid-template-rows: 1fr;
    }
    #ems-plugin .ems-sidebar-menu{
        display: block;
        overflow: hidden;
        min-height: 0;
        margin: 0;
        padding: 0 0 8px;
        opacity: 0;
        transform: translateY(-6px);
        transition: opacity var(--ems-transition-normal), transform var(--ems-transition-slow);
    }
    #ems-plugin .ems-admin-sidebar.ems-sidebar-open .ems-sidebar-menu{
        opacity: 1;
        transform: translateY(0);
    }
    #ems-plugin .ems-sidebar-menu li{
        margin-bottom: 0;
        border-top: 1px solid var(--ems-border-light);
    }
    #ems-plugin .ems-sidebar-item{
        white-space: nowrap;
        border-left: 4px solid transparent;
        border-bottom: none;
        padding: 12px 16px;
    }
    #ems-plugin .ems-sidebar-item.active{
        border-left-color: var(--ems-primary);
        border-bottom-color: transparent;
    }
}
@media screen and (max-width: 782px){#ems-plugin .ems-dashboard-stats{

        grid-template-columns: 1fr;

    }#ems-plugin .ems-action-buttons{

        flex-direction: column;

    }#ems-plugin .ems-action-buttons .button{

        width: 100%;

    }#ems-plugin .ems-summary-stats{

        grid-template-columns: 1fr;

    }

}#ems-plugin .ems-tag-volunteer{
    font-size: 10px;
    padding: 1px 4px;
    margin-left: 5px;
}.status-cancelled{
    background: var(--ems-error);
    color: var(--ems-white);
}#ems-plugin .ems-modal-small{
    max-width: 450px;
}#ems-plugin .ems-modal-medium{
    max-width: 500px;
}#ems-plugin .ems-modal-body-centered{
    padding: var(--ems-space-8) !important;
    text-align: center;
}#ems-plugin .ems-modal-icon-large{
    font-size: 48px;
    margin-bottom: var(--ems-space-5);
}#ems-plugin .ems-modal-msg-highlight{
    font-size: var(--ems-body-large-size);
    line-height: 1.6;
    color: var(--ems-text-primary);
    margin: 0;
}#ems-plugin .ems-modal-alert-info{
    margin-top: var(--ems-space-4);
    padding: var(--ems-space-3);
    background: var(--ems-warning-bg);
    border: 1px solid var(--ems-warning-border);
    border-radius: var(--ems-radius-md);
    font-size: var(--ems-small-size);
    color: var(--ems-warning-text);
}#ems-plugin .ems-modal-alert-warning{
    margin-top: var(--ems-space-4);
    padding: var(--ems-space-3);
    background: var(--ems-warning-bg);
    border: 1px solid var(--ems-warning-border);
    border-radius: var(--ems-radius-md);
    font-size: var(--ems-small-size);
    color: var(--ems-warning-text);
}#ems-plugin .ems-modal-actions{
    padding: var(--ems-space-5);
    border-top: 1px solid var(--ems-border-light);
    display: flex;
    justify-content: flex-end;
    gap: var(--ems-space-3);
    background: var(--ems-bg-secondary);
    border-bottom-left-radius: var(--ems-radius-lg);
    border-bottom-right-radius: var(--ems-radius-lg);
}#ems-plugin .ems-form-group{
    margin-top: var(--ems-space-5);
}#ems-plugin .ems-form-label{
    display: block;
    margin-bottom: var(--ems-space-2);
    font-weight: var(--ems-font-weight-semibold);
}#ems-plugin .ems-form-textarea{
    width: 100%;
    border-radius: var(--ems-radius-md);
    border: 1px solid var(--ems-border);
    padding: var(--ems-space-3);
    font-family: inherit;
}#ems-plugin .ems-form-action-type-selector{
    margin-top: var(--ems-space-4);
    padding: var(--ems-space-3);
    background: var(--ems-bg-secondary);
    border-radius: var(--ems-radius-md);
}#ems-plugin .ems-form-radio-group{
    display: flex;
    flex-direction: column;
    gap: var(--ems-space-2);
}#ems-plugin .ems-form-radio-label{
    font-weight: normal;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: var(--ems-space-2);
}#ems-plugin .ems-invitation-message{
    display: none;
    margin-top: var(--ems-space-4);
}#ems-plugin .ems-settings-group-title{
    margin-top: var(--ems-space-6);
    border-bottom: 2px solid var(--ems-border-light);
    padding-bottom: var(--ems-space-2);
}#ems-plugin .ems-form-table tr.ems-settings-group-header > th[colspan="2"]{
    width: 100%;
    max-width: none;
    padding: 24px 0 12px;
    font-weight: inherit;
    text-align: left;
    vertical-align: top;
}#ems-plugin .ems-form-table tr.ems-settings-group-header:first-child > th[colspan="2"]{
    padding-top: 0;
}#ems-plugin .ems-form-table tr.ems-settings-group-header > th[colspan="2"] .ems-settings-group-title{
    margin-top: var(--ems-space-6);
    width: 100%;
}#ems-plugin .ems-form-table tr.ems-settings-group-header:first-child > th[colspan="2"] .ems-settings-group-title{
    margin-top: 0;
}#ems-plugin .ems-settings-subgroup-title{
    margin-top: var(--ems-space-5);
    border-bottom: 1px dotted var(--ems-border-light);
    padding-bottom: var(--ems-space-1);
}#ems-plugin .ems-admin-events-container{
    background: var(--ems-bg-surface);
    border: 1px solid var(--ems-border-light);
    border-radius: var(--ems-radius-lg);
    padding: var(--ems-space-lg);
    box-shadow: var(--ems-shadow-sm);
    margin-top: var(--ems-space-md);
}#ems-plugin .ems-admin-events-container .ems-section-header,
#ems-plugin .ems-admin-section > .ems-section-header{
    background: var(--ems-bg-surface);
    border: 1px solid var(--ems-border-light);
    border-radius: var(--ems-radius-lg);
    padding: var(--ems-space-lg);
    box-shadow: var(--ems-shadow-sm);
    margin-bottom: var(--ems-space-md);
}#ems-plugin .ems-admin-events-container .ems-section-header h2,
#ems-plugin .ems-admin-section > .ems-section-header h2{
    font-family: var(--ems-font-family);
    color: var(--ems-primary);
    font-size: var(--ems-h2-size);
    margin: 0 0 6px 0 !important;
}#ems-plugin .ems-admin-events-container .ems-section-header .description,
#ems-plugin .ems-admin-section > .ems-section-header .description{
    font-family: var(--ems-font-montserrat);
    color: var(--ems-text-muted);
    font-size: var(--ems-body-size);
    margin: 0 !important;
}#ems-plugin .ems-admin-events-filters{
    background: var(--ems-bg-secondary);
    border-radius: var(--ems-radius-md);
    padding: var(--ems-space-md);
    margin-bottom: var(--ems-space-lg);
    border: 1px solid var(--ems-border-light);
}#ems-plugin .ems-filter-grid{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: var(--ems-space-md);
    align-items: end;
}
#ems-plugin .ems-filter-grid.ems-volunteers-filter-grid{
 display:flex;   
 flex-wrap: wrap;
}#ems-plugin .ems-filter-group{
    display: flex;
    flex-direction: column;
    gap: 6px;
}
#ems-plugin .ems-volunteers-filter-grid .ems-filter-group{
    max-width:33%;
    width:100%;
}#ems-plugin .ems-filter-group label{
    font-family: var(--ems-font-montserrat);
    font-size: var(--ems-small-size);
    font-weight: var(--ems-font-weight-semibold);
    color: var(--ems-text-secondary);
    margin: 0;
}#ems-plugin .ems-filter-group input[type="text"],
#ems-plugin .ems-filter-group input[type="date"],
#ems-plugin .ems-filter-group select{
    font-family: var(--ems-font-montserrat);
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--ems-border);
    border-radius: var(--ems-radius-sm);
    font-size: var(--ems-body-size);
    background-color: var(--ems-bg-surface);
    color: var(--ems-text-primary);
    transition: border-color var(--ems-transition-fast), box-shadow var(--ems-transition-fast);
    height: 42px;
    box-sizing: border-box;
}#ems-plugin .ems-filter-group input[type="text"]:focus,
#ems-plugin .ems-filter-group input[type="date"]:focus,
#ems-plugin .ems-filter-group select:focus{
    border-color: var(--ems-primary);
    box-shadow: 0 0 0 3px var(--ems-primary-focus);
    outline: none;
}#ems-plugin .ems-filter-actions-container{
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
    gap: var(--ems-space-sm);
}#ems-plugin .ems-btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--ems-space-sm);
    font-family: var(--ems-font-montserrat);
    padding: 10px 20px;
    border-radius: var(--ems-radius-sm);
    font-size: var(--ems-body-size);
    font-weight: var(--ems-font-weight-semibold);
    cursor: pointer;
    transition: all var(--ems-transition-fast);
    border: 1px solid transparent;
    box-sizing: border-box;
    text-decoration: none !important;
}#ems-plugin .ems-btn-primary{
    background-color: var(--ems-primary);
    color: var(--ems-white) !important;
    border-color: var(--ems-primary);
}#ems-plugin .ems-btn-primary:hover{
    background-color: var(--ems-primary-dark);
    border-color: var(--ems-primary-dark);
    transform: translateY(-1px);
    box-shadow: var(--ems-shadow-sm);
}#ems-plugin .ems-btn-secondary{
    background-color: var(--ems-bg-surface);
    /* color: var(--ems-primary) !important; */
    border-color: var(--ems-primary);
}#ems-plugin .ems-btn-secondary:hover{
    background-color: var(--ems-primary-focus);
    transform: translateY(-1px);
    box-shadow: var(--ems-shadow-sm);
}#ems-plugin .ems-btn-outline{
    background-color: transparent;
    color: var(--ems-text-secondary) !important;
    border-color: var(--ems-border);
}#ems-plugin .ems-btn-outline:hover{
    background-color: var(--ems-bg-secondary);
    color: var(--ems-text-primary) !important;
    border-color: var(--ems-border-hover);
}#ems-plugin .ems-btn-danger{
    background-color: var(--ems-error-bg);
    /* color: var(--ems-error-text) !important; */
    border-color: var(--ems-error-border);
}#ems-plugin .ems-btn-danger:hover{
    background-color: var(--ems-error-text);
    color: var(--ems-white) !important;
    border-color: var(--ems-error-text);
}#ems-plugin .ems-btn-svg{
    flex-shrink: 0;
}#ems-plugin .ems-modern-table-wrapper{
    overflow-x: auto;
    margin-top: var(--ems-space-md);
    border: 1px solid var(--ems-border-light);
    border-radius: var(--ems-radius-md);
    box-shadow: var(--ems-shadow-sm);
}#ems-plugin .ems-modern-table{
    width: 100%;
    border-collapse: collapse;
    font-family: var(--ems-font-montserrat);
    background-color: var(--ems-bg-surface);
    margin: 0;
}#ems-plugin .ems-modern-table th{
    background-color: var(--ems-bg-secondary);
    color: var(--ems-text-primary);
    font-weight: var(--ems-font-weight-semibold);
    font-size: var(--ems-small-size);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 14px 16px;
    border-bottom: 1px solid var(--ems-border-light);
    text-align: left;
}#ems-plugin .ems-modern-table td{
    padding: 14px 16px;
    font-size: var(--ems-body-size);
    color: var(--ems-text-secondary);
    border-bottom: 1px solid var(--ems-border-light);
    vertical-align: middle;
}#ems-plugin .ems-modern-table tr:last-child td{
    border-bottom: none;
}#ems-plugin .ems-modern-table tr:hover{
    background-color: var(--ems-surface-hover);
}#ems-plugin .ems-table-actions{
    display: flex;
    gap: var(--ems-space-sm);
    align-items: center;
    flex-wrap: wrap;
}#ems-plugin .ems-action-link{
    font-family: var(--ems-font-montserrat);
    font-size: var(--ems-small-size);
    font-weight: var(--ems-font-weight-semibold);
    text-decoration: none;
    color: var(--ems-primary);
    transition: color var(--ems-transition-fast);
}#ems-plugin .ems-action-link:hover{
    color: var(--ems-primary-dark);
    text-decoration: underline;
}#ems-plugin .ems-action-link.ems-action-cancel{
    color: var(--ems-error);
}#ems-plugin .ems-action-link.ems-action-cancel:hover{
    color: var(--ems-red-700);
}#ems-plugin .ems-status-badge{
    display: inline-block;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: var(--ems-caption-size);
    font-weight: var(--ems-font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-align: center;
    border: 1px solid transparent;
}#ems-plugin .ems-status-badge.status-upcoming{
    background-color: var(--ems-sky-100);
    color: var(--ems-sky-600);
    border-color: var(--ems-sky-200);
}#ems-plugin .ems-status-badge.status-active{
    background-color: var(--ems-success-bg);
    color: var(--ems-green-700);
    border-color: var(--ems-green-200);
}#ems-plugin .ems-status-badge.status-past{
    background-color: var(--ems-slate-100);
    color: var(--ems-slate-600);
    border-color: var(--ems-slate-300);
}#ems-plugin .ems-status-badge.status-cancelled{
    background-color: var(--ems-error-bg);
    color: var(--ems-red-700);
    border-color: var(--ems-red-200);
}#ems-plugin .ems-status-badge.status-draft{
    background-color: var(--ems-warning-bg);
    color: var(--ems-pending-text);
    border-color: var(--ems-amber-200);
}#ems-plugin .ems-status-badge.status-finalized{
    background-color: var(--ems-violet-50);
    color: var(--ems-violet-700);
    border-color: var(--ems-violet-200);
}#ems-plugin .ems-modal{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: var(--ems-z-modal-elevated);
    display: none;
    align-items: center;
    justify-content: center;
}#ems-plugin .ems-modal[style*="display: block"]{
    display: flex !important;
}#ems-plugin .ems-modal-content-confirm{
    max-width: 480px;
}#ems-plugin .ems-confirm-modal-layout{
    display: flex;
    align-items: flex-start;
    gap: var(--ems-space-4);
}#ems-plugin .ems-confirm-icon{
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border-radius: var(--ems-radius-full);
    display: flex;
    align-items: center;
    justify-content: center;
}#ems-plugin .ems-confirm-icon-warning{
    background: var(--ems-warning-icon-bg);
    color: var(--ems-pending-text);
}#ems-plugin .ems-confirm-icon-danger{
    background: var(--ems-error-icon-bg);
    color: var(--ems-unverified-text);
}#ems-plugin .ems-confirm-icon-info{
    background: var(--ems-info-icon-bg);
    color: var(--ems-blue-600);
}#ems-plugin .ems-confirm-heading{
    margin: 0 0 6px;
    font-weight: var(--ems-font-weight-bold);
    font-size: 15px;
    color: var(--ems-slate-900);
}#ems-plugin .ems-confirm-message{
    margin: 0;
    color: var(--ems-text-muted);
    font-size: var(--ems-body-size);
    line-height: 1.5;
}#ems-plugin .ems-modal-footer-single{
    justify-content: flex-end;
}#ems-plugin .ems-modal-overlay{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--ems-overlay-secondary);
    backdrop-filter: blur(4px);
    z-index: var(--ems-z-modal-overlay-elevated);
}#ems-plugin .ems-modal-content{
    position: relative;
    background-color: var(--ems-bg-surface);
    border-radius: var(--ems-radius-lg);
    box-shadow: var(--ems-shadow-xl);
    border: 1px solid var(--ems-border-light);
    z-index: var(--ems-z-modal-elevated);
    width: 90%;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: modalSlideIn var(--ems-transition-normal) cubic-bezier(0.4, 0, 0.2, 1);
}#ems-plugin .ems-modal-header{
    padding: var(--ems-space-5) var(--ems-space-6);
    border-bottom: 1px solid var(--ems-border-light);
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: var(--ems-bg-surface);
}#ems-plugin .ems-modal-header h2{
    font-family: var(--ems-font-family);
    font-size: var(--ems-h3-size);
    color: var(--ems-primary);
    margin: 0 !important;
}#ems-plugin .ems-modal-close{
    background: none;
    border: none;
    font-size: 28px;
    color: var(--ems-text-muted);
    cursor: pointer;
    padding: 0;
    line-height: 1;
    transition: color var(--ems-transition-fast);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
}#ems-plugin .ems-modal-close:hover{
    color: var(--ems-text-primary);
}#ems-plugin .ems-modal-body{
    padding: var(--ems-space-6);
    overflow-y: auto;
    flex: 1;
    font-family: var(--ems-font-montserrat);
}#ems-plugin .ems-modal-footer{
    padding: var(--ems-space-4) var(--ems-space-6);
    border-top: 1px solid var(--ems-border-light);
    background-color: var(--ems-bg-secondary);
    display: flex;
    justify-content: flex-end;
    gap: var(--ems-space-3);
}#ems-admin-add-attendee-modal{
    z-index: var(--ems-z-modal-stacked);
}#ems-admin-add-attendee-modal .ems-modal-overlay{
    z-index: var(--ems-z-modal-overlay-stacked);
}#ems-admin-add-attendee-modal .ems-modal-content{
    z-index: var(--ems-z-modal-stacked);
}#ems-plugin #events-tab .ems-admin-events-embedded{
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
    margin-top: 0;
}#ems-plugin #events-tab .ems-admin-events-embedded .ems-admin-events-filters{
    margin-bottom: var(--ems-space-md);
}#ems-plugin #events-tab .ems-admin-events-embedded .ems-modern-table-wrapper{
    margin-top: 0;
}#ems-plugin .ems-filter-grid-events{
    grid-template-columns: repeat(3, minmax(0, 1fr));
}@media (max-width: 1100px){
    #ems-plugin .ems-filter-grid-events{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}@media (max-width: 640px){
    #ems-plugin .ems-filter-grid-events{
        grid-template-columns: 1fr;
    }
}#ems-plugin .ems-events-results-meta{
    font-family: var(--ems-font-montserrat);
    font-size: var(--ems-small-size);
    color: var(--ems-text-muted);
    font-weight: var(--ems-font-weight-medium);
    margin-bottom: var(--ems-space-sm);
}#ems-plugin .ems-events-results-meta #ems-events-results-count,
#ems-plugin .ems-events-results-meta #ems-events-results-total{
    color: var(--ems-primary);
    font-weight: var(--ems-font-weight-bold);
}#ems-plugin .ems-events-table-wrapper{
    overflow: visible;
    max-width: 100%;
}#ems-plugin .ems-events-table{
    table-layout: fixed;
    width: 100%;
}#ems-plugin .ems-events-table col.ems-events-col-name{
    width: 22%;
}#ems-plugin .ems-events-table col.ems-events-col-datetime{
    width: 14%;
}#ems-plugin .ems-events-table col.ems-events-col-status{
    width: 11%;
}#ems-plugin .ems-events-table col.ems-events-col-creator{
    width: 14%;
}#ems-plugin .ems-events-table col.ems-events-col-location{
    width: 24%;
}#ems-plugin .ems-events-table col.ems-events-col-actions{
    width: 115px;
}#ems-plugin .ems-events-table th,
#ems-plugin .ems-events-table td{
    padding: 12px 10px;
    vertical-align: middle;
}#ems-plugin .ems-events-table th.ems-events-col-actions,
#ems-plugin .ems-events-table td.ems-events-col-actions{
    text-align: left;
    overflow: visible;
}#ems-plugin .ems-events-table .ems-events-col-name{
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
    overflow: hidden;
    max-width: 0;
}#ems-plugin .ems-events-table th.ems-events-col-name{
    max-width: none;
}#ems-plugin .ems-events-table .ems-events-col-name .ems-event-title{
    display: block;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
    line-height: 1.4;
}#ems-plugin .ems-events-table .ems-events-col-datetime{
    white-space: normal;
    overflow: hidden;
    max-width: 0;
}#ems-plugin .ems-events-table th.ems-events-col-datetime{
    max-width: none;
}#ems-plugin .ems-events-table .ems-events-date,
#ems-plugin .ems-events-table .ems-events-time{
    display: block;
    line-height: 1.4;
}#ems-plugin .ems-events-table .ems-events-date{
    color: var(--ems-text-primary);
    font-weight: var(--ems-font-weight-medium);
}#ems-plugin .ems-events-table .ems-events-time{
    color: var(--ems-text-secondary);
    font-size: var(--ems-small-size);
    margin-top: 2px;
}#ems-plugin .ems-events-table .ems-events-col-status{
    text-align: left;
    overflow: hidden;
    min-width:120px;
}#ems-plugin .ems-events-table .ems-events-col-status .ems-status-badge{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    max-width: 100%;
}#ems-plugin .ems-events-table .ems-events-col-creator{
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
    color: var(--ems-text-primary);
    font-weight: var(--ems-font-weight-medium);
    overflow: hidden;
    max-width: 0;
}#ems-plugin .ems-events-table th.ems-events-col-creator{
    max-width: none;
}#ems-plugin .ems-events-table .ems-events-col-location{
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
    line-height: 1.45;
    overflow: hidden;
    max-width: 0;
}#ems-plugin .ems-events-table th.ems-events-col-location{
    max-width: none;
}#ems-plugin .ems-events-table .ems-events-location{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}#ems-plugin .ems-events-table .ems-events-actions-cell{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-width: 0;
}#ems-plugin .ems-events-table .ems-events-actions-btn{
    width: 100%;
    max-width: 100%;
    justify-content: center;
    white-space: nowrap;
}#ems-plugin .ems-events-table .ems-action-dropdown-wrapper{
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 100%;
}#ems-plugin .ems-events-table .ems-action-dropdown-wrapper.ems-active{
    z-index: var(--ems-z-dropdown, 50);
}#ems-plugin .ems-events-table tr:has(.ems-action-dropdown-wrapper.ems-active){
    position: relative;
    z-index: 5;
}#ems-plugin .ems-events-table .ems-dropdown-caret{
    font-size: 8px;
    margin-left: 4px;
}#ems-plugin .ems-events-empty-cell{
    text-align: center;
    padding: 30px;
    color: var(--ems-text-secondary);
    font-weight: var(--ems-font-weight-medium);
}#ems-plugin .ems-events-empty-cell-error{
    color: var(--ems-error);
}#ems-plugin .ems-pagination-wrapper{
    display: flex;
    justify-content: center;
    gap: var(--ems-space-sm);
    margin-top: var(--ems-space-6);
}#ems-plugin .ems-admin-header-compact{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--ems-space-md);
    padding-bottom: var(--ems-space-sm);
    border-bottom: 1px solid var(--ems-border-light);
}#ems-plugin .ems-admin-title{
    font-family: var(--ems-font-family);
    color: var(--ems-primary);
    font-size: var(--ems-h2-size);
    font-weight: var(--ems-font-weight-bold);
    margin: 0 0 var(--ems-space-xs) 0 !important;
}#ems-plugin .ems-admin-subtitle{
    font-family: var(--ems-font-montserrat);
    color: var(--ems-text-muted);
    font-size: var(--ems-small-size);
    margin: 0 !important;
}#ems-plugin .ems-btn-sm{
    padding: 6px 14px;
    font-size: var(--ems-small-size);
    height: 34px;
}#ems-plugin .ems-btn-xs{
    padding: 4px 10px;
    font-size: var(--ems-xs-size);
    height: 28px;
}#ems-plugin .ems-btn-link-reset{
    background: none;
    border: none;
    color: var(--ems-text-muted);
    font-family: var(--ems-font-montserrat);
    font-size: var(--ems-body-size);
    font-weight: var(--ems-font-weight-semibold);
    cursor: pointer;
    padding: 0 12px;
    text-decoration: none;
    transition: color var(--ems-transition-fast);
    height: 42px;
    display: inline-flex;
    align-items: center;
}#ems-plugin .ems-btn-link-reset:hover{
    color: var(--ems-primary);
    text-decoration: underline;
}#ems-plugin .ems-event-name-container{
    display: flex;
    flex-direction: column;
    gap: 6px;
}#ems-plugin .ems-event-title{
    font-size: var(--ems-body-size);
    color: var(--ems-text-primary);
    font-weight: var(--ems-font-weight-bold);
}#ems-plugin .ems-event-subtext{
    display: flex;
    gap: var(--ems-space-sm);
    align-items: center;
}#ems-plugin .ems-type-badge,
#ems-plugin .ems-visibility-badge{
    display: inline-block;
    font-size: 10px;
    font-weight: var(--ems-font-weight-bold);
    padding: 2px 6px;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}#ems-plugin .ems-type-badge-virtual{
    background-color: var(--ems-info-bg);
    color: var(--ems-indigo-700);
}#ems-plugin .ems-type-badge-inperson{
    background-color: var(--ems-warning-bg);
    color: var(--ems-amber-700);
}#ems-plugin .ems-visibility-badge{
    background-color: var(--ems-slate-100);
    color: var(--ems-slate-600);
}#ems-plugin .ems-visibility-badge.ems-visibility-public{
    background-color: var(--ems-sky-100);
    color: var(--ems-sky-700);
}#ems-plugin .ems-visibility-badge.ems-visibility-private{
    background-color: var(--ems-slate-100);
    color: var(--ems-slate-600);
}#ems-plugin .ems-events-table .ems-event-subtext{
    flex-wrap: wrap;
}#ems-plugin .ems-action-dropdown-wrapper{
    position: relative;
    display: inline-block;
    text-align: left;
}#ems-plugin .ems-dropdown-menu{
    display: none;
    position: absolute;
    right: 0;
    top: calc(100% + 4px);
    background-color: var(--ems-bg-surface);
    min-width: 140px;
    box-shadow: var(--ems-shadow-dropdown);
    border: 1px solid var(--ems-border-light);
    border-radius: var(--ems-radius-md);
    z-index: var(--ems-z-dropdown);
    padding: 6px 0;
}#ems-plugin .ems-action-dropdown-wrapper.ems-active .ems-dropdown-menu{
    display: block;
}#ems-plugin .ems-dropdown-item{
    display: block;
    padding: var(--ems-space-sm) var(--ems-space-4);
    color: var(--ems-text-secondary);
    font-family: var(--ems-font-montserrat);
    font-size: var(--ems-small-size);
    font-weight: var(--ems-font-weight-medium);
    text-decoration: none !important;
    text-align: left;
    transition: background-color var(--ems-transition-fast), color var(--ems-transition-fast);
    cursor: pointer;
}#ems-plugin .ems-dropdown-item:hover{
    background-color: var(--ems-primary-surface);
    color: var(--ems-primary);
}#ems-plugin .ems-dropdown-item-danger{
    color: var(--ems-error);
}#ems-plugin .ems-dropdown-item-danger:hover{
    background-color: var(--ems-error-bg);
    color: var(--ems-error-text);
}#ems-plugin .ems-dropdown-toggle:hover{
    background-color: var(--ems-primary-surface) !important;
    border-color: var(--ems-primary) !important;
    color: var(--ems-primary) !important;
}#ems-plugin .ems-btn-primary:hover{
    background-color: var(--ems-primary-deep) !important;
    border-color: var(--ems-primary-deep) !important;
}#ems-plugin .ems-modal{
    z-index: var(--ems-z-modal-elevated) !important;
}#ems-plugin .ems-modal .ems-modal-overlay{
    z-index: var(--ems-z-dropdown-menu-elevated) !important;
}#ems-plugin .ems-modal .ems-modal-content,
#ems-plugin .ems-modal .ems-modal-container{
    z-index: var(--ems-z-topmost) !important;
}#ems-admin-edit-event-modal .ems-form-actions{
    position: sticky;
    bottom: -20px;
    background: var(--ems-bg-surface);
    padding: 15px 20px;
    margin: 30px -20px -20px -20px;
    border-top: 1px solid var(--ems-border-light);
    z-index: 100;
    display: flex;
    justify-content: flex-end;
    gap: var(--ems-space-3);
    box-shadow: var(--ems-shadow-footer-up);
    flex:100% !important;
}#ems-admin-edit-event-modal .ems-create-event-header{
    display: none !important;
}#ems-admin-edit-event-modal .ems-app{
    padding: 0 !important;
    background: transparent !important;
}#ems-admin-edit-event-modal .ems-container{
    padding: 0 !important;
    max-width: 100% !important;
    background: transparent !important;
    box-shadow: none !important;
    margin: 0 !important;
}#ems-admin-edit-event-modal .ems-add-event-wrapper{
    margin: 0 !important;
    padding: 0 !important;
    max-width: 100% !important;
    background: transparent !important;
    box-shadow: none !important;
}.wrap.ems-wp-admin-settings,
#ems-plugin .ems-wp-admin-settings.ems-admin-settings-wrap{
    max-width: none;
    width: 100%;
    margin: 0;
    padding: 0;
}#ems-plugin .ems-wp-admin-settings .ems-admin-header h1{
    font-size: 23px;
    font-weight: 400;
    line-height: 1.3;
    margin: 0;
    padding: 9px 0 4px;
}#ems-plugin .ems-wp-admin-settings .ems-settings-form{
    max-width: none;
    width: 100%;
    margin-top: 0;
    box-sizing: border-box;
}#ems-plugin .ems-wp-admin-settings .ems-form-table{
    width: 100%;
    table-layout: auto;
}#ems-plugin .ems-wp-admin-settings .ems-form-table th{
    width: 220px;
    padding: 20px 10px 20px 0;
    vertical-align: top;
}#ems-plugin .ems-wp-admin-settings .ems-form-table td{
    padding: 15px 10px;
    vertical-align: top;
}#ems-plugin .ems-wp-admin-settings .ems-form-table input[type="text"],
#ems-plugin .ems-wp-admin-settings .ems-form-table input[type="email"],
#ems-plugin .ems-wp-admin-settings .ems-form-table input[type="password"],
#ems-plugin .ems-wp-admin-settings .ems-form-table select{
    max-width: none;
    width: 100%;
    box-sizing: border-box;
}#ems-plugin .ems-email-templates-form .wp-editor-wrap,
#ems-plugin .ems-email-templates-form .wp-editor-container,
#ems-plugin .ems-email-templates-form .mce-tinymce,
#ems-plugin .ems-email-templates-form iframe{
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}#ems-plugin .ems-email-templates-form .wp-editor-wrap .wp-editor-container,
#ems-plugin .ems-email-templates-form .wp-editor-wrap textarea.wp-editor-area{
    min-height: 500px !important;
}#ems-plugin .ems-email-templates-form .mce-edit-area iframe{
    min-height: 500px !important;
}@media screen and (max-width: 782px){#ems-plugin .ems-wp-admin-settings .ems-form-table,
#ems-plugin .ems-wp-admin-settings .ems-form-table tbody,
#ems-plugin .ems-wp-admin-settings .ems-form-table tr,
#ems-plugin .ems-wp-admin-settings .ems-form-table th,
#ems-plugin .ems-wp-admin-settings .ems-form-table td{
        display: block;
        width: 100%;
        box-sizing: border-box;
    }#ems-plugin .ems-wp-admin-settings .ems-form-table th{
        padding-bottom: 0;
    }#ems-plugin .ems-wp-admin-settings .ems-form-table td{
        padding-top: 5px;
        padding-bottom: 20px;
    }
}

/* All Data — refreshed people UI */
#ems-plugin .ems-people-filters-panel{
    background: #f8fafc;
    border: 1px solid var(--ems-border);
    border-radius: var(--ems-radius-md);
    padding: var(--ems-space-5);
    margin-bottom: var(--ems-space-5);
}

#ems-plugin .ems-people-filter-grid{
    align-items: end;
}

#ems-plugin .ems-search-input-wrap{
    position: relative;
}

#ems-plugin .ems-search-input-icon{
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--ems-text-muted);
    pointer-events: none;
    font-size: 14px;
}

#ems-plugin #ems-people-filter-search{
    padding-left: 36px;
}

#ems-plugin .ems-multiselect{
    position: relative;
}

#ems-plugin .ems-multiselect-trigger{
    width: 100%;
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 12px;
    border: 1px solid var(--ems-border);
    border-radius: var(--ems-radius-sm);
    background: #fff;
    color: var(--ems-text-primary);
    cursor: pointer;
    text-align: left;
}

#ems-plugin .ems-multiselect-trigger-caret{
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid var(--ems-text-secondary);
}

#ems-plugin .ems-multiselect-panel{
    display: none;
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    z-index: var(--ems-z-dropdown, 50);
    background: #fff;
    border: 1px solid var(--ems-border);
    border-radius: var(--ems-radius-sm);
    box-shadow: var(--ems-shadow-dropdown);
    max-height: 320px;
    overflow-y: auto;
    padding: 8px 0;
}

#ems-plugin .ems-multiselect.ems-open .ems-multiselect-panel{
    display: block;
}

#ems-plugin .ems-multiselect-option{
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 14px;
    margin: 0;
    cursor: pointer;
    color: var(--ems-text-primary);
}

#ems-plugin .ems-multiselect-option:hover{
    background: var(--ems-primary-focus);
}

#ems-plugin .ems-multiselect-option-hidden{
    opacity: 0.55;
    cursor: not-allowed;
}

#ems-plugin .ems-multiselect-divider{
    margin: 8px 0 6px;
    padding: 6px 14px 4px;
    border-top: 1px solid var(--ems-border-light);
    font-size: 12px;
    font-weight: var(--ems-font-weight-semibold);
    color: var(--ems-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

#ems-plugin .ems-hidden-role-tag{
    margin-left: auto;
    font-size: 11px;
    color: var(--ems-text-muted);
    text-transform: lowercase;
}

#ems-plugin .ems-person-name-cell{
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

#ems-plugin .ems-person-avatar{
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #e8dfd6;
    color: #7a5a43;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: var(--ems-font-weight-semibold);
    flex-shrink: 0;
}

#ems-plugin .ems-role-badge{
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: var(--ems-font-weight-semibold);
    line-height: 1.2;
    white-space: nowrap;
}

#ems-plugin .ems-role-badge-site-admin{
    background: #efe7ff;
    color: #6b4fa3;
}

#ems-plugin .ems-role-badge-coordinator{
    background: #efe7ff;
    color: #6b4fa3;
}

#ems-plugin .ems-role-badge-volunteer{
    background: #e8f7ee;
    color: #2f7a4f;
}

#ems-plugin .ems-role-badge-attendee{
    background: #e8f2ff;
    color: #2f5f9c;
}

#ems-plugin .ems-role-badge-virtual{
    background: #fff4df;
    color: #9a6a1d;
}

#ems-plugin .ems-role-badge-default{
    background: #f1f5f9;
    color: #475569;
}

#ems-plugin .ems-people-table .ems-dropdown-item{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
}

#ems-plugin .ems-dropdown-item-icon{
    width: 18px;
    text-align: center;
    flex-shrink: 0;
}

#ems-plugin .ems-people-table-footer{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-top: 12px;
}

#ems-plugin .ems-people-hidden-roles-note{
    margin: 0;
    color: var(--ems-text-muted);
    font-size: 13px;
    display: flex;
    align-items: center;
    gap: 8px;
}

#ems-plugin .ems-people-total-count{
    margin: 0;
    color: var(--ems-text-secondary);
    font-size: 14px;
    font-weight: var(--ems-font-weight-semibold);
}

#ems-plugin .ems-profile-view-grid{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

#ems-plugin .ems-profile-view-field{
    display: flex;
    flex-direction: column;
    gap: 6px;
}

#ems-plugin .ems-profile-view-label{
    font-size: 12px;
    font-weight: var(--ems-font-weight-semibold);
    color: var(--ems-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

#ems-plugin .ems-profile-view-value{
    font-size: 15px;
    color: var(--ems-text-primary);
    word-break: break-word;
}

#ems-plugin #ems-user-edit-modal .ems-field-hint{
    margin: 6px 0 0;
    font-size: 12px;
    color: var(--ems-text-muted);
}

#ems-plugin #ems-edit-email{
    background: #f8fafc;
    color: var(--ems-text-secondary);
}

@media screen and (max-width: 782px){
    #ems-plugin .ems-profile-view-grid{
        grid-template-columns: 1fr;
    }

    #ems-plugin .ems-people-table-footer{
        flex-direction: column;
        align-items: flex-start;
    }
}

/* Event report modal */
#ems-plugin .ems-event-report-modal-content{
    max-width: 920px;
    width: calc(100% - 32px);
}

#ems-plugin .ems-event-report-header{
    align-items: flex-start;
    gap: 16px;
}

#ems-plugin .ems-event-report-header-main{
    flex: 1;
    min-width: 0;
}

#ems-plugin .ems-event-report-header h2{
    margin: 0 0 6px;
}

#ems-plugin .ems-event-report-subtitle{
    margin: 0 0 10px;
    font-size: 15px;
    font-weight: var(--ems-font-weight-medium);
    color: var(--ems-text-secondary);
    line-height: 1.4;
}

#ems-plugin .ems-event-report-status-badge{
    display: inline-flex;
    align-items: center;
    padding: 5px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: var(--ems-font-weight-semibold);
    line-height: 1.2;
}

#ems-plugin .ems-event-report-status-finalized{
    background: #e8f7ee;
    color: #2f7a4f;
}

#ems-plugin .ems-event-report-status-not-finalized{
    background: #fff1eb;
    color: #c2410c;
}

#ems-plugin .ems-event-report-modal-body{
    max-height: min(70vh, 720px);
    overflow-y: auto;
    padding-top: 8px;
}

#ems-plugin .ems-event-report-loading{
    text-align: center;
    color: var(--ems-text-muted);
    padding: 40px 20px;
}

#ems-plugin .ems-event-report-content{
    display: flex;
    flex-direction: column;
    gap: 20px;
}

#ems-plugin .ems-event-report-summary-grid{
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

#ems-plugin .ems-event-report-stat{
    background: #fff;
    border: 1px solid var(--ems-border-light);
    border-radius: var(--ems-radius-md);
    padding: 16px 14px;
    text-align: center;
    min-height: 88px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

#ems-plugin .ems-event-report-stat-value{
    display: block;
    font-size: 24px;
    font-weight: var(--ems-font-weight-semibold);
    color: var(--ems-primary);
    line-height: 1.15;
}

#ems-plugin .ems-event-report-stat-label{
    display: block;
    margin-top: 6px;
    font-size: 11px;
    line-height: 1.35;
    color: var(--ems-text-muted);
    letter-spacing: 0.02em;
}

#ems-plugin .ems-event-report-section{
    margin-bottom: 0;
}

#ems-plugin .ems-event-report-section-panel{
    background: #fff;
    border: 1px solid var(--ems-border-light);
    border-radius: var(--ems-radius-md);
    padding: 18px 20px;
}

#ems-plugin .ems-event-report-section-details{
    background: #fafbfc;
}

#ems-plugin .ems-event-report-section h3{
    margin: 0 0 14px;
    font-size: 15px;
    font-weight: var(--ems-font-weight-semibold);
    color: var(--ems-text-primary);
    border-bottom: 1px solid var(--ems-border-light);
    padding-bottom: 10px;
}

#ems-plugin .ems-event-report-section-panel > h3 + .ems-event-report-documents-wrap h3{
    margin-top: 20px;
    padding-top: 4px;
}

#ems-plugin .ems-event-report-section h4{
    margin: 0 0 10px;
    font-size: 13px;
    font-weight: var(--ems-font-weight-semibold);
    color: var(--ems-text-secondary);
}

#ems-plugin .ems-event-report-details-grid{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 24px;
}

#ems-plugin .ems-event-report-field{
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
}

#ems-plugin .ems-event-report-label{
    font-size: 11px;
    font-weight: var(--ems-font-weight-semibold);
    color: var(--ems-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

#ems-plugin .ems-event-report-value{
    color: var(--ems-text-primary);
    word-break: break-word;
    font-size: 14px;
    line-height: 1.45;
}

#ems-plugin .ems-event-report-text-link{
    color: var(--ems-text-primary);
    text-decoration: underline;
    text-decoration-color: rgba(99, 102, 241, 0.35);
    text-underline-offset: 2px;
    font-size: 14px;
    font-weight: var(--ems-font-weight-normal);
    word-break: break-word;
}

#ems-plugin .ems-event-report-text-link:hover{
    color: var(--ems-primary);
    text-decoration-color: var(--ems-primary);
}

#ems-plugin .ems-event-report-image-grid{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 14px;
}

#ems-plugin .ems-event-report-image-item{
    display: flex;
    flex-direction: column;
    gap: 8px;
    text-decoration: none;
    color: inherit;
    border: 1px solid var(--ems-border-light);
    border-radius: var(--ems-radius-sm);
    overflow: hidden;
    background: #f8fafc;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

#ems-plugin .ems-event-report-image-item:hover{
    border-color: rgba(99, 102, 241, 0.35);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
}

#ems-plugin .ems-event-report-image-item img{
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    background: #eef2f7;
}

#ems-plugin .ems-event-report-image-caption{
    display: block;
    padding: 0 10px 10px;
    font-size: 12px;
    line-height: 1.35;
    color: var(--ems-text-secondary);
    word-break: break-word;
}

#ems-plugin .ems-event-report-documents-wrap{
    margin-top: 4px;
}

#ems-plugin .ems-event-report-documents-list{
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

#ems-plugin .ems-event-report-document-item{
    padding: 10px 12px;
    background: #f8fafc;
    border: 1px solid var(--ems-border-light);
    border-radius: var(--ems-radius-sm);
}

#ems-plugin .ems-event-report-survey-content{
    display: flex;
    flex-direction: column;
    gap: 16px;
}

#ems-plugin .ems-event-report-survey-row{
    display: flex;
    flex-direction: column;
    gap: 6px;
}

#ems-plugin .ems-event-report-subsection{
    margin-top: 4px;
}

#ems-plugin .ems-event-report-table-wrap{
    overflow-x: auto;
}

#ems-plugin .ems-event-report-table{
    width: 100%;
}

#ems-plugin .ems-event-report-comments{
    background: #f8fafc;
    border: 1px solid var(--ems-border-light);
    border-radius: var(--ems-radius-sm);
    padding: 14px 16px;
    color: var(--ems-text-primary);
    white-space: pre-wrap;
    font-size: 14px;
    line-height: 1.55;
}

#ems-plugin .ems-event-report-list{
    margin: 0;
    padding-left: 18px;
}

#ems-plugin .ems-event-report-muted{
    color: var(--ems-text-muted);
    margin: 0;
}

#ems-plugin .ems-event-report-empty{
    text-align: center;
    padding: 28px 16px;
    border: 1px dashed var(--ems-border);
    border-radius: var(--ems-radius-sm);
    background: #fafafa;
}

#ems-plugin .ems-event-report-empty-icon{
    font-size: 28px;
    margin-bottom: 8px;
}

#ems-plugin .ems-event-report-empty h4{
    margin: 0 0 8px;
    color: var(--ems-text-primary);
}

#ems-plugin .ems-event-report-empty p{
    margin: 0;
    color: var(--ems-text-muted);
}

/* All Data export dropdown */
#ems-plugin .ems-export-dropdown-wrapper{
    position: relative;
    display: inline-flex;
}

#ems-plugin .ems-export-toggle{
    gap: 8px;
}

#ems-plugin .ems-export-caret{
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid currentColor;
    opacity: 0.75;
}

#ems-plugin .ems-export-menu{
    display: none;
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    min-width: 140px;
    z-index: var(--ems-z-dropdown, 50);
    background: #fff;
    border: 1px solid var(--ems-border);
    border-radius: var(--ems-radius-sm);
    box-shadow: var(--ems-shadow-dropdown);
    padding: 6px 0;
}

#ems-plugin .ems-export-dropdown-wrapper.ems-open .ems-export-menu{
    display: block;
}

#ems-plugin .ems-export-menu-item{
    display: block;
    width: 100%;
    border: 0;
    background: transparent;
    text-align: left;
    padding: 10px 14px;
    font-family: var(--ems-font-montserrat);
    font-size: var(--ems-body-size);
    color: var(--ems-text-primary);
    cursor: pointer;
}

#ems-plugin .ems-export-menu-item:hover{
    background: var(--ems-primary-focus);
}

#ems-plugin .ems-export-toggle:disabled{
    opacity: 0.7;
    cursor: wait;
}

@media screen and (max-width: 782px){
    #ems-plugin .ems-event-report-summary-grid,
    #ems-plugin .ems-event-report-details-grid,
    #ems-plugin .ems-event-report-image-grid{
        grid-template-columns: 1fr;
    }

    #ems-plugin .ems-event-report-stat{
        min-height: auto;
    }

    #ems-plugin .ems-event-report-section-panel{
        padding: 16px;
    }
}

/* ==========================================================
 * Event Images Manager
 * ========================================================== */
#ems-plugin .ems-event-images-manager{
    display: flex;
    flex-direction: column;
    gap: var(--ems-space-6, 24px);
}

#ems-plugin .ems-event-images-upload{
    background: var(--ems-bg-secondary);
    border: 2px dashed var(--ems-border);
    border-radius: var(--ems-radius-lg, 12px);
    padding: 36px 24px;
    text-align: center;
    transition: border-color var(--ems-transition-normal, 0.2s ease), background var(--ems-transition-normal, 0.2s ease);
}

#ems-plugin .ems-event-images-upload:hover{
    border-color: var(--ems-primary);
    background: var(--ems-primary-focus);
}

#ems-plugin .ems-event-images-upload-icon{
    color: var(--ems-text-muted, #94a3b8);
    margin-bottom: 12px;
}

#ems-plugin .ems-event-images-upload h3{
    margin: 0 0 8px;
    font-size: 18px;
    color: var(--ems-text-primary);
}

#ems-plugin .ems-event-images-upload p{
    margin: 0 0 18px;
    color: var(--ems-text-secondary, #64748b);
}

#ems-plugin .ems-event-images-progress{
    margin: 18px auto 0;
    max-width: 420px;
}

#ems-plugin .ems-event-images-progress-track{
    background: var(--ems-border-light, #e2e8f0);
    height: 8px;
    border-radius: 4px;
    overflow: hidden;
}

#ems-plugin .ems-event-images-progress-bar{
    background: var(--ems-primary);
    width: 0%;
    height: 100%;
    transition: width 0.3s ease;
}

#ems-plugin .ems-event-images-progress-status{
    display: block;
    margin-top: 8px;
    font-size: 13px;
    color: var(--ems-text-secondary, #64748b);
}

#ems-plugin .ems-event-images-grid{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 20px;
}

#ems-plugin .ems-event-images-empty{
    grid-column: 1 / -1;
    text-align: center;
    color: var(--ems-text-muted, #94a3b8);
    padding: 40px 16px;
    margin: 0;
}

#ems-plugin .ems-event-images-item{
    position: relative;
    aspect-ratio: 4 / 3;
    border-radius: var(--ems-radius-md, 10px);
    overflow: hidden;
    border: 1px solid var(--ems-border-light, #e2e8f0);
    background: var(--ems-bg-secondary);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

#ems-plugin .ems-event-images-item:hover{
    transform: translateY(-3px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.08);
    border-color: var(--ems-primary);
}

#ems-plugin .ems-event-images-item img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

#ems-plugin .ems-event-images-meta{
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 8px 12px;
    background: rgba(0, 0, 0, 0.6);
    color: #fff;
    font-size: 11px;
    opacity: 0;
    transition: opacity 0.2s ease;
    display: flex;
    flex-direction: column;
    gap: 2px;
    white-space: nowrap;
    overflow: hidden;
}

#ems-plugin .ems-event-images-meta-title,
#ems-plugin .ems-event-images-meta-size{
    overflow: hidden;
    text-overflow: ellipsis;
}

#ems-plugin .ems-event-images-meta-size{
    opacity: 0.85;
    font-size: 10px;
}

#ems-plugin .ems-event-images-item:hover .ems-event-images-meta{
    opacity: 1;
}

#ems-plugin .ems-event-images-edit,
#ems-plugin .ems-event-images-delete{
    position: absolute;
    top: 10px;
    width: 32px;
    height: 32px;
    border: none;
    border-radius: 50%;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 0;
    transform: scale(0.85);
    transition: opacity 0.2s ease, transform 0.2s ease, background 0.2s ease;
    z-index: 2;
    padding: 0;
}

#ems-plugin .ems-event-images-edit{
    left: 10px;
    background: var(--ems-primary, #8b6b4a);
}

#ems-plugin .ems-event-images-delete{
    right: 10px;
    background: #ef4444;
}

#ems-plugin .ems-event-images-item:hover .ems-event-images-edit,
#ems-plugin .ems-event-images-item:hover .ems-event-images-delete{
    opacity: 1;
    transform: scale(1);
}

#ems-plugin .ems-event-images-edit:hover{
    filter: brightness(0.92);
}

#ems-plugin .ems-event-images-delete:hover{
    background: #dc2626;
}

#ems-plugin .ems-event-image-edit-preview{
    margin-bottom: 16px;
    border-radius: var(--ems-radius-md, 10px);
    overflow: hidden;
    border: 1px solid var(--ems-border-light, #e2e8f0);
    background: var(--ems-bg-secondary);
    aspect-ratio: 16 / 9;
}

#ems-plugin .ems-event-image-edit-preview img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

#ems-plugin #ems-event-image-edit-modal .ems-form-control{
    width: 100%;
    box-sizing: border-box;
    border: 1px solid var(--ems-border, #d1d5db);
    border-radius: var(--ems-radius-md, 8px);
    padding: 10px 12px;
    font-size: var(--ems-body-size, 14px);
    color: var(--ems-text-primary);
    background: var(--ems-bg-surface, #fff);
}

#ems-plugin #ems-event-image-edit-modal .ems-form-control:focus{
    outline: none;
    border-color: var(--ems-primary);
    box-shadow: 0 0 0 3px var(--ems-primary-focus);
}

#ems-plugin #ems-event-image-edit-modal .description{
    margin: 8px 0 0;
    font-size: 13px;
    color: var(--ems-text-secondary, #64748b);
}

#ems-plugin .ems-event-image-duplicate-preview{
    margin-top: 14px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px;
    background: var(--ems-bg-secondary);
    border: 1px solid var(--ems-border-light);
    border-radius: var(--ems-radius-md, 8px);
}

#ems-plugin .ems-event-image-duplicate-preview[hidden]{
    display: none !important;
}

#ems-plugin .ems-event-image-duplicate-preview img{
    width: 64px;
    height: 48px;
    object-fit: cover;
    border-radius: 6px;
    flex-shrink: 0;
}

#ems-plugin .ems-event-image-duplicate-preview span{
    font-size: 13px;
    color: var(--ems-text-primary);
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
}

#ems-plugin .ems-event-image-duplicate-rename{
    margin-top: 16px;
}

#ems-plugin #ems-event-image-duplicate-modal .ems-form-control{
    width: 100%;
    box-sizing: border-box;
    border: 1px solid var(--ems-border, #d1d5db);
    border-radius: var(--ems-radius-md, 8px);
    padding: 10px 12px;
    font-size: var(--ems-body-size, 14px);
    color: var(--ems-text-primary);
    background: var(--ems-bg-surface, #fff);
}

#ems-plugin #ems-event-image-duplicate-modal .ems-form-control:focus{
    outline: none;
    border-color: var(--ems-primary);
    box-shadow: 0 0 0 3px var(--ems-primary-focus);
}

@media screen and (max-width: 782px){
    #ems-plugin .ems-event-images-grid{
        grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
        gap: 14px;
    }

    #ems-plugin .ems-event-images-upload{
        padding: 28px 16px;
    }
}