/*
--------------------------------------------------
EVIO
Application Interface
--------------------------------------------------
*/


:root
{
    --evio-sidebar:
        #101828;

    --evio-sidebar-hover:
        #1d2939;

    --evio-primary:
        #4f46e5;

    --evio-primary-hover:
        #4338ca;

    --evio-background:
        #f8fafc;

    --evio-surface:
        #ffffff;

    --evio-border:
        #e4e7ec;

    --evio-text:
        #101828;

    --evio-text-muted:
        #667085;

    --evio-success:
        #12b76a;

    --evio-danger:
        #d92d20;

    --evio-warning:
        #f79009;

    --evio-radius:
        12px;

    --evio-sidebar-width:
        250px;
}


*
{
    box-sizing: border-box;
}


html,
body
{
    margin: 0;

    min-height: 100%;

    font-family:
        Inter,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Arial,
        sans-serif;

    background:
        var(--evio-background);

    color:
        var(--evio-text);
}


body
{
    min-width: 320px;
}


/*
--------------------------------------------------
Application
--------------------------------------------------
*/

.evio-app
{
    display: flex;

    min-height: 100vh;
}


/*
--------------------------------------------------
Sidebar
--------------------------------------------------
*/

.evio-sidebar
{
    position: fixed;

    top: 0;
    left: 0;
    bottom: 0;

    width:
        var(--evio-sidebar-width);

    display: flex;

    flex-direction: column;

    background:
        var(--evio-sidebar);

    color: white;

    z-index: 100;
}


.evio-brand
{
    height: 76px;

    display: flex;

    align-items: center;

    gap: 12px;

    padding: 0 24px;
}


.evio-brand-mark
{
    width: 38px;
    height: 38px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 11px;

    background:
        var(--evio-primary);

    color: white;

    font-size: 25px;

    font-weight: 700;

    line-height: 1;
}


.evio-brand-name
{
    font-size: 26px;

    font-weight: 700;

    letter-spacing: -1px;
}


/*
--------------------------------------------------
Navigation
--------------------------------------------------
*/

.evio-navigation
{
    flex: 1;

    overflow-y: auto;

    padding: 12px;
}


.evio-nav-section
{
    margin-bottom: 26px;
}


.evio-nav-label
{
    padding: 0 12px;

    margin-bottom: 7px;

    color: #98a2b3;

    font-size: 11px;

    font-weight: 600;

    letter-spacing: 0.08em;

    text-transform: uppercase;
}


.evio-nav-item
{
    display: flex;

    align-items: center;

    gap: 12px;

    min-height: 42px;

    padding: 0 12px;

    margin-bottom: 3px;

    border-radius: 8px;

    color: #d0d5dd;

    text-decoration: none;

    font-size: 14px;

    font-weight: 500;

    transition:
        background 0.15s ease,
        color 0.15s ease;
}


.evio-nav-item:hover
{
    background:
        var(--evio-sidebar-hover);

    color: white;
}


.evio-nav-item.active
{
    background:
        var(--evio-primary);

    color: white;
}


.evio-nav-icon
{
    width: 20px;

    text-align: center;

    font-size: 17px;
}


/*
--------------------------------------------------
Sidebar Footer
--------------------------------------------------
*/

.evio-sidebar-footer
{
    padding: 16px;

    border-top:
        1px solid rgba(255,255,255,0.08);
}


.evio-sidebar-user
{
    display: flex;

    align-items: center;

    gap: 10px;
}


.evio-sidebar-user strong,
.evio-sidebar-user span
{
    display: block;
}


.evio-sidebar-user strong
{
    font-size: 13px;
}


.evio-sidebar-user span
{
    margin-top: 2px;

    color: #98a2b3;

    font-size: 12px;
}


/*
--------------------------------------------------
Main Area
--------------------------------------------------
*/

.evio-main
{
    width: calc(
        100% - var(--evio-sidebar-width)
    );

    min-height: 100vh;

    margin-left:
        var(--evio-sidebar-width);
}


/*
--------------------------------------------------
Topbar
--------------------------------------------------
*/

.evio-topbar
{
    height: 76px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    padding: 0 32px;

    background:
        rgba(255,255,255,0.95);

    border-bottom:
        1px solid var(--evio-border);
}


.evio-topbar-left,
.evio-topbar-right
{
    display: flex;

    align-items: center;

    gap: 18px;
}


.evio-search
{
    position: relative;

    width: 320px;
}


.evio-search-icon
{
    position: absolute;

    left: 12px;
    top: 50%;

    transform:
        translateY(-50%);

    color:
        var(--evio-text-muted);
}


.evio-search input
{
    width: 100%;

    height: 40px;

    padding:
        0 14px 0 38px;

    border:
        1px solid var(--evio-border);

    border-radius: 8px;

    background:
        var(--evio-background);

    font: inherit;

    outline: none;
}


.evio-search input:focus
{
    border-color:
        var(--evio-primary);

    background: white;
}


.evio-icon-button,
.evio-menu-button
{
    border: 0;

    background: transparent;

    cursor: pointer;

    color:
        var(--evio-text-muted);
}


.evio-icon-button
{
    width: 38px;
    height: 38px;

    font-size: 20px;
}


.evio-menu-button
{
    display: none;

    font-size: 24px;
}


/*
--------------------------------------------------
User
--------------------------------------------------
*/

.evio-user
{
    display: flex;

    align-items: center;

    gap: 10px;
}


.evio-user-avatar
{
    width: 38px;
    height: 38px;

    flex-shrink: 0;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #eef2ff;

    color:
        var(--evio-primary);

    font-size: 12px;

    font-weight: 700;
}


.evio-user-info strong,
.evio-user-info span
{
    display: block;
}


.evio-user-info strong
{
    font-size: 13px;
}


.evio-user-info span
{
    margin-top: 2px;

    color:
        var(--evio-text-muted);

    font-size: 12px;
}


/*
--------------------------------------------------
Page Content
--------------------------------------------------
*/

.evio-content
{
    width: 100%;

    max-width: 1500px;

    margin: 0 auto;

    padding: 34px;
}


.evio-page-header
{
    display: flex;

    align-items: flex-start;

    justify-content: space-between;

    gap: 20px;

    margin-bottom: 28px;
}


.evio-page-header h1
{
    margin: 0;

    padding: 0;

    border: 0;

    color:
        var(--evio-text);

    font-size: 28px;

    font-weight: 650;

    letter-spacing: -0.03em;
}


.evio-page-header p
{
    margin:
        7px 0 0 0;

    color:
        var(--evio-text-muted);

    font-size: 14px;
}


/*
--------------------------------------------------
Cards
--------------------------------------------------
*/

.evio-card
{
    background:
        var(--evio-surface);

    border:
        1px solid var(--evio-border);

    border-radius:
        var(--evio-radius);

    box-shadow:
        0 1px 2px rgba(16,24,40,0.04);
		
    background: #fafbfc;

    border-bottom: 1px solid #d0d5dd;
	
}


.evio-card-header
{
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

    padding: 20px 22px;

    border-bottom:
        1px solid var(--evio-border);
}


.evio-card-header h2
{
    margin: 0;

    color:
        var(--evio-text);

    font-size: 16px;

    font-weight: 600;
	
    font-size: 17px;
    font-weight: 700;
    color: #101828;
	
}


.evio-card-body
{
    padding: 22px;
}


/*
--------------------------------------------------
Buttons
--------------------------------------------------
*/

.evio-button
{
    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 7px;

    min-height: 38px;

    padding: 0 15px;

    border: 0;

    border-radius: 8px;

    background:
        var(--evio-primary);

    color: white;

    text-decoration: none;

    font-size: 13px;

    font-weight: 600;

    cursor: pointer;
}


.evio-button:hover
{
    background:
        var(--evio-primary-hover);
}


.evio-button-secondary
{
    background: white;

    color:
        var(--evio-text);

    border:
        1px solid var(--evio-border);
}


.evio-button-secondary:hover
{
    background:
        var(--evio-background);
}


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

@media
(max-width: 900px)
{
    .evio-sidebar
    {
        transform:
            translateX(-100%);

        transition:
            transform 0.2s ease;
    }


    .evio-sidebar.open
    {
        transform:
            translateX(0);
    }


    .evio-main
    {
        width: 100%;

        margin-left: 0;
    }


    .evio-menu-button
    {
        display: block;
    }


    .evio-content
    {
        padding: 24px 18px;
    }


    .evio-topbar
    {
        padding: 0 18px;
    }


    .evio-search
    {
        width: 220px;
    }


    .evio-user-info
    {
        display: none;
    }
}


@media
(max-width: 600px)
{
    .evio-search
    {
        display: none;
    }
}




/*
--------------------------------------------------
EVIO EVENT WORKSPACE
--------------------------------------------------
*/


.evio-event-header
{
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 30px;

    margin-bottom: 24px;
}


.evio-event-title-area
{
    display: flex;
    align-items: center;

    gap: 18px;
}


.evio-event-logo
{
    width: 70px;
    height: 70px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 8px;

    background: white;

    border:
        1px solid var(--evio-border);

    border-radius: 12px;
}


.evio-event-logo img
{
    max-width: 100%;
    max-height: 100%;
}


.evio-event-status-line
{
    display: flex;
    flex-wrap: wrap;

    gap: 7px;

    margin-bottom: 10px;
}


.evio-status
{
    display: inline-flex;

    align-items: center;

    min-height: 24px;

    padding: 0 9px;

    border-radius: 999px;

    font-size: 11px;

    font-weight: 600;
}


.evio-status-success
{
    background: #ecfdf3;
    color: #027a48;
}


.evio-status-info
{
    background: #eef4ff;
    color: #3538cd;
}


.evio-status-muted
{
    background: #f2f4f7;
    color: #667085;
}


.evio-event-meta
{
    display: flex;
    flex-wrap: wrap;

    gap: 16px;

    color:
        var(--evio-text-muted);

    font-size: 14px;
}


.evio-event-actions
{
    display: flex;

    gap: 10px;
}


/*
--------------------------------------------------
Event Tabs
--------------------------------------------------
*/

.evio-event-tabs
{
    display: flex;

    gap: 4px;

    margin-bottom: 28px;

    padding-bottom: 1px;

    border-bottom:
        1px solid var(--evio-border);

    overflow-x: auto;
}


.evio-event-tabs a
{
    position: relative;

    display: inline-flex;

    align-items: center;

    min-height: 44px;

    padding: 0 14px;

    color:
        var(--evio-text-muted);

    text-decoration: none;

    font-size: 13px;

    font-weight: 500;

    white-space: nowrap;
}


.evio-event-tabs a:hover
{
    color:
        var(--evio-text);
}


.evio-event-tabs a.active
{
    color:
        var(--evio-primary);

    font-weight: 600;
}


.evio-event-tabs a.active::after
{
    content: "";

    position: absolute;

    left: 12px;
    right: 12px;
    bottom: -1px;

    height: 2px;

    background:
        var(--evio-primary);
}


/*
--------------------------------------------------
Statistics
--------------------------------------------------
*/

.evio-stat-grid
{
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 16px;

    margin-bottom: 24px;
}


.evio-stat-card
{
    padding: 20px;

    background: white;

    border:
        1px solid var(--evio-border);

    border-radius:
        var(--evio-radius);
}


.evio-stat-card span
{
    display: block;

    margin-bottom: 10px;

    color:
        var(--evio-text-muted);

    font-size: 12px;

    font-weight: 500;
}


.evio-stat-card strong
{
    display: block;

    font-size: 27px;

    font-weight: 650;

    letter-spacing: -0.03em;
}


/*
--------------------------------------------------
Workspace Grid
--------------------------------------------------
*/

.evio-workspace-grid
{
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 20px;

    margin-bottom: 20px;
}


.evio-card-header p
{
    margin: 5px 0 0 0;

    color:
        var(--evio-text-muted);

    font-size: 12px;
    color: #475467;
}


/*
--------------------------------------------------
Action Lists
--------------------------------------------------
*/

.evio-action-list a
{
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

    min-height: 68px;

    padding: 13px 20px;

    border-bottom:
        1px solid var(--evio-border);

    color:
        var(--evio-text);

    text-decoration: none;
}


.evio-action-list a:last-child
{
    border-bottom: 0;
}


.evio-action-list a:hover
{
    background:
        #f9fafb;
}


.evio-action-list strong,
.evio-action-list span
{
    display: block;
}


.evio-action-list strong
{
    margin-bottom: 4px;

    font-size: 13px;

    font-weight: 600;
}


.evio-action-list div > span
{
    color:
        var(--evio-text-muted);

    font-size: 12px;
}


.evio-action-arrow
{
    color: #98a2b3;

    font-size: 22px;
}


.evio-danger-action strong
{
    color:
        var(--evio-danger);
}


/*
--------------------------------------------------
Event Information
--------------------------------------------------
*/

.evio-event-information
{
    margin-bottom: 30px;
}


.evio-info-grid
{
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));
}


.evio-info-grid > div
{
    padding: 20px 22px;

    border-right:
        1px solid var(--evio-border);
}


.evio-info-grid > div:last-child
{
    border-right: 0;
}


.evio-info-grid span,
.evio-info-grid strong
{
    display: block;
}


.evio-info-grid span
{
    margin-bottom: 6px;

    color:
        var(--evio-text-muted);

    font-size: 11px;

    text-transform: uppercase;

    letter-spacing: 0.04em;
}


.evio-info-grid strong
{
    font-size: 13px;

    font-weight: 600;

    overflow-wrap: anywhere;
}


/*
--------------------------------------------------
Responsive Event Workspace
--------------------------------------------------
*/

@media
(max-width: 1100px)
{
    .evio-stat-grid
    {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }


    .evio-workspace-grid
    {
        grid-template-columns: 1fr;
    }


    .evio-info-grid
    {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}


@media
(max-width: 700px)
{
    .evio-event-header
    {
        align-items: flex-start;
        flex-direction: column;
    }


    .evio-event-actions
    {
        width: 100%;
    }


    .evio-event-actions .evio-button
    {
        flex: 1;
    }


    .evio-stat-grid
    {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }


    .evio-info-grid
    {
        grid-template-columns: 1fr;
    }


    .evio-info-grid > div
    {
        border-right: 0;

        border-bottom:
            1px solid var(--evio-border);
    }


    .evio-info-grid > div:last-child
    {
        border-bottom: 0;
    }
}


/*
--------------------------------------------------
EVIO SETTINGS
--------------------------------------------------
*/

.evio-context-bar
{
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: 20px;
}


.evio-back-link
{
    display: inline-block;

    margin-bottom: 8px;

    color:
        var(--evio-text-muted);

    text-decoration: none;

    font-size: 12px;
}


.evio-back-link:hover
{
    color:
        var(--evio-primary);
}


.evio-context-title
{
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 10px;
}


.evio-context-title strong
{
    font-size: 16px;
}


/*
--------------------------------------------------
Settings Form
--------------------------------------------------
*/

.evio-settings-form
{
    max-width: 1050px;
}


.evio-settings-card
{
    margin-bottom: 20px;
}


.evio-form-grid
{
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 20px;
}


.evio-field
{
    min-width: 0;
}


.evio-field-full
{
    grid-column: 1 / -1;
}


.evio-field label
{
    display: block;

    margin-bottom: 7px;

    color:
        var(--evio-text);

    font-size: 12px;

    font-weight: 600;
}


.evio-field input[type="text"],
.evio-field input[type="email"],
.evio-field input[type="number"],
.evio-field input[type="date"],
.evio-field input[type="password"],
.evio-field select,
.evio-field textarea
{
    width: 100%;

    margin: 0;

    padding: 10px 12px;

    border:
        1px solid var(--evio-border);

    border-radius: 8px;

    background: white;

    color:
        var(--evio-text);

    font-family: inherit;

    font-size: 13px;

    outline: none;

    transition:
        border-color 0.15s ease,
        box-shadow 0.15s ease;
}


.evio-field input[type="text"],
.evio-field input[type="email"],
.evio-field input[type="number"],
.evio-field input[type="date"],
.evio-field input[type="password"],
.evio-field select
{
    height: 42px;
}


.evio-field input:focus,
.evio-field select:focus,
.evio-field textarea:focus
{
    border-color:
        var(--evio-primary);

    box-shadow:
        0 0 0 3px rgba(79,70,229,0.10);
}


.evio-field small
{
    display: block;

    margin-top: 7px;

    color:
        var(--evio-text-muted);

    font-size: 11px;

    line-height: 1.5;
}


.evio-textarea-small
{
    min-height: 90px !important;
    height: 90px !important;

    resize: vertical;
}


/*
--------------------------------------------------
Settings Rows
--------------------------------------------------
*/

.evio-settings-list
{
    border-bottom:
        1px solid var(--evio-border);
}


.evio-setting-row
{
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 30px;

    min-height: 74px;

    padding: 15px 22px;

    border-bottom:
        1px solid var(--evio-border);

    cursor: pointer;
}


.evio-setting-row:last-child
{
    border-bottom: 0;
}


.evio-setting-row:hover
{
    background: #f9fafb;
}


.evio-setting-row strong,
.evio-setting-row span
{
    display: block;
}


.evio-setting-row strong
{
    margin-bottom: 4px;

    font-size: 13px;

    font-weight: 600;
}


.evio-setting-row span
{
    color:
        var(--evio-text-muted);

    font-size: 12px;

    font-weight: 400;
}


.evio-settings-fields
{
    background: #fcfcfd;
}


/*
--------------------------------------------------
Switches
--------------------------------------------------
*/

.evio-switch-input
{
    position: relative;

    width: 42px !important;
    height: 24px !important;

    min-width: 42px;

    margin: 0 !important;

    appearance: none;

    border: 0;

    border-radius: 999px;

    background: #d0d5dd;

    cursor: pointer;

    transition:
        background 0.2s ease;
}


.evio-switch-input::after
{
    content: "";

    position: absolute;

    top: 3px;
    left: 3px;

    width: 18px;
    height: 18px;

    border-radius: 50%;

    background: white;

    box-shadow:
        0 1px 3px rgba(16,24,40,0.25);

    transition:
        transform 0.2s ease;
}


.evio-switch-input:checked
{
    background:
        var(--evio-primary);
}


.evio-switch-input:checked::after
{
    transform:
        translateX(18px);
}


/*
--------------------------------------------------
Save Bar
--------------------------------------------------
*/

.evio-save-bar
{
    position: sticky;

    bottom: 18px;

    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 30px;

    margin-top: 24px;

    padding: 15px 18px;

    background:
        rgba(255,255,255,0.96);

    border:
        1px solid var(--evio-border);

    border-radius: 12px;

    box-shadow:
        0 8px 24px rgba(16,24,40,0.10);

    backdrop-filter:
        blur(10px);

    z-index: 20;
}


.evio-save-bar strong,
.evio-save-bar span
{
    display: block;
}


.evio-save-bar strong
{
    margin-bottom: 3px;

    font-size: 13px;
}


.evio-save-bar span
{
    color:
        var(--evio-text-muted);

    font-size: 11px;
}


.evio-save-actions
{
    display: flex;

    gap: 10px;
}


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

@media
(max-width: 700px)
{
    .evio-context-bar
    {
        align-items: flex-start;

        flex-direction: column;
    }


    .evio-form-grid
    {
        grid-template-columns: 1fr;
    }


    .evio-field-full
    {
        grid-column: auto;
    }


    .evio-setting-row
    {
        gap: 18px;
    }


    .evio-save-bar
    {
        align-items: stretch;

        flex-direction: column;
    }


    .evio-save-actions
    {
        width: 100%;
    }


    .evio-save-actions .evio-button
    {
        flex: 1;
    }
}

/*
--------------------------------------------------
EVIO FORM FIX
gegen alte globale event.css Regeln
--------------------------------------------------
*/

.evio-settings-form .evio-form-grid
{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
}

.evio-settings-form .evio-field-full
{
    grid-column: 1 / -1 !important;
}

.evio-settings-form .evio-field label
{
    display: block !important;
    margin-bottom: 7px !important;
}

.evio-settings-form .evio-field input,
.evio-settings-form .evio-field select,
.evio-settings-form .evio-field textarea
{
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

.evio-settings-form .evio-field input[type="text"],
.evio-settings-form .evio-field input[type="number"],
.evio-settings-form .evio-field select
{
    height: 42px !important;
}


/*
--------------------------------------------------
EVIO PARTICIPANTS
--------------------------------------------------
*/

.evio-participants-card
{
    overflow: hidden;
}


.evio-participants-toolbar
{
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 30px;

    padding: 20px 22px;

    border-bottom:
        1px solid var(--evio-border);
}


.evio-participants-toolbar h2
{
    margin: 0;

    font-size: 16px;

    font-weight: 600;
}


.evio-participants-toolbar p
{
    margin: 5px 0 0;

    color:
        var(--evio-text-muted);

    font-size: 12px;
}


/*
--------------------------------------------------
Search
--------------------------------------------------
*/

.evio-table-search
{
    position: relative;

    width: 320px;
}


.evio-table-search span
{
    position: absolute;

    left: 12px;
    top: 50%;

    transform:
        translateY(-50%);

    color:
        var(--evio-text-muted);

    pointer-events: none;
}


.evio-table-search input
{
    width: 100%;

    height: 40px;

    margin: 0 !important;

    padding:
        0 14px 0 38px !important;

    border:
        1px solid var(--evio-border) !important;

    border-radius: 8px !important;

    background:
        var(--evio-background) !important;

    font-family: inherit;

    font-size: 13px;

    outline: none;
}


.evio-table-search input:focus
{
    border-color:
        var(--evio-primary) !important;

    background: white !important;

    box-shadow:
        0 0 0 3px rgba(79,70,229,0.10);
}


.evio-search-result
{
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    padding: 10px 22px;

    background: #eef4ff;

    border-bottom:
        1px solid #c7d7fe;

    color: #3538cd;

    font-size: 12px;
}


.evio-search-result a
{
    color: #3538cd;

    font-weight: 600;

    text-decoration: none;
}


/*
--------------------------------------------------
Data Table
--------------------------------------------------
*/

.evio-table-wrapper
{
    width: 100%;

    overflow-x: auto;
}


.evio-data-table
{
    width: 100%;

    margin: 0;

    border-collapse: collapse;

    background: white;

    font-size: 12px;
}


.evio-data-table th
{
    padding: 11px 14px;

    background: #f9fafb;

    border-bottom:
        1px solid var(--evio-border);

    color:
        var(--evio-text-muted);

    text-align: left;

    font-size: 10px;

    font-weight: 600;

    letter-spacing: 0.04em;

    text-transform: uppercase;

    white-space: nowrap;
}


.evio-data-table td
{
    padding: 13px 14px;

    border-bottom:
        1px solid var(--evio-border);

    color:
        var(--evio-text);

    vertical-align: middle;

    white-space: nowrap;
}


.evio-data-table tbody tr:last-child td
{
    border-bottom: 0;
}


.evio-data-table tbody tr:hover
{
    background: #f9fafb;
}


.evio-actions-column
{
    width: 1%;

    text-align: right !important;
}


.evio-row-actions
{
    text-align: right;

    white-space: nowrap;
}


.evio-table-action
{
    display: inline-flex;

    align-items: center;

    min-height: 30px;

    padding: 0 9px;

    border:
        1px solid var(--evio-border);

    border-radius: 6px;

    background: white;

    color:
        var(--evio-text);

    text-decoration: none;

    font-size: 11px;

    font-weight: 600;
}


.evio-table-action:hover
{
    border-color:
        var(--evio-primary);

    color:
        var(--evio-primary);
}


.evio-table-action-danger
{
    margin-left: 5px;

    color:
        var(--evio-danger);
}


.evio-empty-table
{
    padding: 50px 20px !important;

    color:
        var(--evio-text-muted) !important;

    text-align: center;
}


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

@media
(max-width: 700px)
{
    .evio-participants-toolbar
    {
        align-items: stretch;

        flex-direction: column;
    }


    .evio-table-search
    {
        width: 100%;
    }
}


/*
--------------------------------------------------
EVIO MEMBER PICKER
--------------------------------------------------
*/

.evio-member-picker
{
    position: relative;
}


.evio-member-picker > input[type="text"]
{
    width: 100% !important;
}


.evio-member-results
{
    display: none;

    position: absolute;

    top: calc(100% + 6px);
    left: 0;
    right: 0;

    max-height: 340px;

    overflow-y: auto;

    background: white;

    border:
        1px solid var(--evio-border);

    border-radius: 10px;

    box-shadow:
        0 12px 30px rgba(16,24,40,0.14);

    z-index: 100;
}


.evio-member-results.open
{
    display: block;
}


.evio-member-result
{
    display: block;

    width: 100%;

    padding: 12px 14px;

    border: 0;
    border-bottom:
        1px solid var(--evio-border);

    background: white;

    color:
        var(--evio-text);

    text-align: left;

    cursor: pointer;
}


.evio-member-result:last-child
{
    border-bottom: 0;
}


.evio-member-result:hover
{
    background: #f9fafb;
}


.evio-member-result strong,
.evio-member-result span
{
    display: block;
}


.evio-member-result strong
{
    margin-bottom: 3px;

    font-size: 13px;
}


.evio-member-result span
{
    color:
        var(--evio-text-muted);

    font-size: 11px;
}


.evio-member-empty
{
    padding: 16px;

    color:
        var(--evio-text-muted);

    font-size: 12px;
}


.evio-selected-member
{
    align-items: center;

    gap: 12px;

    padding: 12px 14px;

    border:
        1px solid var(--evio-primary);

    border-radius: 9px;

    background: #f5f3ff;
}


.evio-selected-member:not([hidden])
{
    display: flex;
}


.evio-selected-member-avatar
{
    display: flex;

    align-items: center;
    justify-content: center;

    width: 36px;
    height: 36px;

    flex-shrink: 0;

    border-radius: 50%;

    background:
        var(--evio-primary);

    color: white;

    font-size: 11px;

    font-weight: 700;
}


.evio-selected-member > div:nth-child(2)
{
    flex: 1;
}


.evio-selected-member strong,
.evio-selected-member span
{
    display: block;
}


.evio-selected-member strong
{
    margin-bottom: 3px;

    font-size: 13px;
}


.evio-selected-member span
{
    color:
        var(--evio-text-muted);

    font-size: 11px;
}


.evio-member-remove
{
    width: 30px;
    height: 30px;

    padding: 0;

    border: 0;

    border-radius: 6px;

    background: transparent;

    color:
        var(--evio-text-muted);

    font-size: 20px;

    cursor: pointer;
}


.evio-member-remove:hover
{
    background: white;

    color:
        var(--evio-danger);
}



/*
--------------------------------------------------
EVIO EVENT LIST
--------------------------------------------------
*/

.evio-page-actions
{
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: 20px;
}


.evio-event-filter
{
    display: flex;

    gap: 4px;

    padding: 4px;

    background: #eaecf0;

    border-radius: 9px;
}


.evio-event-filter a
{
    display: flex;
    align-items: center;

    gap: 7px;

    height: 34px;

    padding: 0 12px;

    border: 0;

    border-radius: 6px;

    background: transparent;

    color:
        var(--evio-text-muted);

    font-family: inherit;

    font-size: 12px;

    font-weight: 600;
	
	text-decoration: none;	

    cursor: pointer;
}


.evio-event-filter a.active
{
    background: white;

    color:
        var(--evio-text);

    box-shadow:
        0 1px 3px rgba(16,24,40,0.10);
}


.evio-event-filter a span
{
    display: flex;
    align-items: center;
    justify-content: center;

    min-width: 20px;
    height: 20px;

    padding: 0 6px;

    border-radius: 999px;

    background: #f2f4f7;

    font-size: 10px;
}


.evio-event-list
{
    display: flex;
    flex-direction: column;

    gap: 10px;
}


.evio-event-list-item
{
    display: grid;

    grid-template-columns:
        54px
        minmax(0, 1fr)
        auto
        24px;

    align-items: center;

    gap: 18px;

    min-height: 78px;

    padding: 12px 18px;

    background: white;

    border:
        1px solid var(--evio-border);

    border-radius: 11px;

    color:
        var(--evio-text);

    text-decoration: none;

    transition:
        border-color 0.15s ease,
        box-shadow 0.15s ease,
        transform 0.15s ease;
}


.evio-event-list-item:hover
{
    border-color: #c7d7fe;

    box-shadow:
        0 4px 12px rgba(16,24,40,0.06);

    transform:
        translateY(-1px);
}


.evio-event-date
{
    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    width: 54px;
    height: 54px;

    border-radius: 9px;

    background: #f5f3ff;

    color:
        var(--evio-primary);
}


.evio-event-date strong
{
    font-size: 20px;
    line-height: 1;
}


.evio-event-date span
{
    margin-top: 4px;

    font-size: 9px;

    font-weight: 700;

    letter-spacing: 0.06em;
}


.evio-event-list-main
{
    min-width: 0;
}


.evio-event-list-title
{
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 8px;
}


.evio-event-list-title > strong
{
    font-size: 14px;

    overflow: hidden;

    text-overflow: ellipsis;

    white-space: nowrap;
}


.evio-favorite
{
    color: #f79009;

    font-size: 12px;
}


.evio-event-list-meta
{
    display: flex;
    flex-wrap: wrap;

    gap: 14px;

    margin-top: 7px;

    color:
        var(--evio-text-muted);

    font-size: 11px;
}


.evio-event-list-meta span + span::before
{
    content: "·";

    margin-right: 14px;
}


.evio-event-list-type
{
    padding: 5px 9px;

    border-radius: 6px;

    background: #f2f4f7;

    color:
        var(--evio-text-muted);

    font-size: 10px;

    font-weight: 600;

    text-transform: uppercase;
}


.evio-event-list-arrow
{
    color:
        var(--evio-text-muted);

    font-size: 22px;
}


.evio-event-list-item-muted
{
    opacity: 0.72;
}


.evio-inactive-events
{
    margin-top: 32px;
}


.evio-section-heading
{
    display: flex;
    align-items: center;

    gap: 8px;

    margin-bottom: 12px;
}


.evio-section-heading h2
{
    margin: 0;

    font-size: 14px;
}


.evio-section-heading span
{
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-width: 22px;
    height: 22px;

    border-radius: 999px;

    background: #eaecf0;

    color:
        var(--evio-text-muted);

    font-size: 10px;

    font-weight: 600;
}


.evio-empty-state
{
    padding: 50px 20px;

    text-align: center;
}


.evio-empty-state strong,
.evio-empty-state span
{
    display: block;
}


.evio-empty-state span
{
    margin-top: 6px;

    color:
        var(--evio-text-muted);

    font-size: 12px;
}


@media
(max-width: 700px)
{
    .evio-page-actions
    {
        align-items: stretch;

        flex-direction: column;
    }


    .evio-event-list-item
    {
        grid-template-columns:
            48px
            minmax(0, 1fr)
            20px;

        gap: 12px;

        padding: 12px;
    }


    .evio-event-date
    {
        width: 48px;
        height: 48px;
    }


    .evio-event-list-type
    {
        display: none;
    }
}


.evio-stat-grid a.evio-stat-card
{
    color:
        var(--evio-text);

    text-decoration:
        none;
}


.evio-stat-grid a.evio-stat-card:hover
{
    border-color:
        #c7c9ff;

    box-shadow:
        0 2px 8px rgba(16,24,40,0.06);
}



.evio-event-logo-preview
{
    display: flex;

    align-items: center;
    justify-content: center;

    width: 180px;
    height: 180px;

    margin: 24px 20px;

    padding: 12px;

    background: #f8f9fc;

    border:
        1px solid var(--evio-border);

    border-radius: 12px;
}


.evio-event-logo-preview img
{
    display: block;

    max-width: 100%;
    max-height: 100%;

    width: auto;
    height: auto;

    object-fit: contain;
}


/* ==================================================
   DOCUMENT CENTER
================================================== */

.evio-document-grid
{
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap: 18px;
}


.evio-document-preview
{
    display: flex;
    align-items: center;
    justify-content: center;

    min-height: 180px;

    padding: 20px;

    background: #f8f9fc;

    border-bottom:
        1px solid var(--evio-border);
}


.evio-document-preview img
{
    display: block;

    width: auto;
    max-width: 160px;

    height: auto;
    max-height: 160px;

    object-fit: contain;

    border-radius: 8px;
}


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



/* ==================================================
   DOWNLOAD MANAGEMENT
================================================== */

.evio-card form
{
    padding: 20px;
}


.evio-form-group
{
    margin-bottom: 20px;
}


.evio-form-group > label
{
    display: block;

    margin-bottom: 8px;

    font-size: 13px;
    font-weight: 600;
}


.evio-form-group input[type="file"]
{
    display: block;

    width: 100%;
    max-width: 500px;

    padding: 10px 12px;

    border:
        1px solid
        var(--evio-border);

    border-radius: 8px;

    background: #fff;
}


/* --------------------------------------------------
   TABLE
-------------------------------------------------- */

.evio-table-wrapper
{
    width: 100%;

    overflow-x: auto;

    border-top:
        1px solid
        var(--evio-border);
}


.evio-table
{
    width: 100%;

    border-collapse: collapse;

    font-size: 13px;
}


.evio-table th
{
    padding: 12px 16px;

    text-align: left;

    font-size: 11px;
    font-weight: 600;

    text-transform: uppercase;
    letter-spacing: 0.04em;

    color: var(--evio-text-muted);

    background: #f8f9fc;

    border-bottom:
        1px solid
        var(--evio-border);
}


.evio-table td
{
    padding: 12px 16px;

    vertical-align: middle;

    border-bottom:
        1px solid
        var(--evio-border);
}


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


.evio-table input[type="text"]
{
    width: 100%;
    max-width: 420px;

    padding: 8px 10px;

    border:
        1px solid
        var(--evio-border);

    border-radius: 6px;

    font: inherit;

    background: #fff;
}


.evio-table th:nth-child(3),
.evio-table th:nth-child(4),
.evio-table td:nth-child(3),
.evio-table td:nth-child(4)
{
    width: 90px;

    text-align: center;
}


/* --------------------------------------------------
   ACTIONS
-------------------------------------------------- */

.evio-form-actions
{
    display: flex;

    gap: 10px;

    padding-top: 20px;
}


/* ==================================================
   INVOICE TEMPLATE
================================================== */

.evio-invoice-template-preview
{
    display: flex;
    justify-content: center;

    padding: 24px;

    background: #f8f9fc;

    border-bottom:
        1px solid var(--evio-border);
}


.evio-invoice-template-preview a
{
    display: block;

    max-width: 100%;
}


.evio-invoice-template-preview img
{
    display: block;

    width: auto;
    max-width: 100%;

    height: auto;
    max-height: 520px;

    border:
        1px solid var(--evio-border);

    border-radius: 8px;

    background: white;

    box-shadow:
        0 2px 8px rgba(16,24,40,0.08);
}


.evio-large-textarea
{
    display: block;

    width: 100%;
    min-height: 420px;

    padding: 14px 16px;

    border:
        1px solid
        var(--evio-border);

    border-radius: 8px;

    background: #fff;

    font-family: inherit;
    font-size: 14px;
    line-height: 1.6;

    resize: vertical;
}


/* ==================================================
   SETTING LIST
================================================== */

.evio-setting-list
{
    display: flex;
    flex-direction: column;
}


.evio-setting-row
{
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 24px;

    padding: 16px 20px;

    cursor: pointer;

    border-bottom:
        1px solid
        var(--evio-border);
}


.evio-setting-row:last-child
{
    border-bottom: none;
}


.evio-setting-row:hover
{
    background: #f8f9fc;
}


.evio-setting-row > div
{
    display: flex;
    flex-direction: column;

    gap: 3px;
}


.evio-setting-row strong
{
    font-size: 14px;
}


.evio-setting-row span
{
    font-size: 12px;

    color: var(--evio-text-muted);
}


.evio-setting-row input[type="checkbox"]
{
    width: 18px;
    height: 18px;

    flex: 0 0 auto;
}



/* ==================================================
   FORM GRID
================================================== */

.evio-form-grid
{
    display: grid;
    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap: 24px 32px;

    padding: 24px;
}


.evio-form-group
{
    display: flex;
    flex-direction: column;

    gap: 8px;
}


.evio-form-group-wide
{
    grid-column:
        1 / -1;
}


.evio-form-group label
{
    font-size: 13px;
    font-weight: 600;
}


.evio-form-group input,
.evio-form-group select,
.evio-form-group textarea
{
    width: 100%;

    padding: 10px 12px;

    border:
        1px solid
        var(--evio-border);

    border-radius: 7px;

    background: #fff;

    font: inherit;
    font-size: 14px;

    box-sizing: border-box;
}


.evio-form-group input:focus,
.evio-form-group select:focus,
.evio-form-group textarea:focus
{
    outline: none;

    border-color: #5548ee;

    box-shadow:
        0 0 0 3px
        rgba(85, 72, 238, 0.10);
}


/* ==================================================
   FORM HELP
================================================== */

.evio-form-help
{
    display: block;

    margin-top: 2px;

    max-width: 720px;

    color:
        var(--evio-text-muted);

    font-size: 12px;
    line-height: 1.55;
}


/* ==================================================
   CARD SUBHEADING
================================================== */

.evio-card-subheading
{
    display: flex;
    flex-direction: column;

    gap: 3px;

    padding:
        20px 24px 0;
}


.evio-card-subheading strong
{
    font-size: 14px;
}


.evio-card-subheading span
{
    color:
        var(--evio-text-muted);

    font-size: 12px;
}


/* ==================================================
   INLINE FORM
================================================== */

.evio-inline-form
{
    display: flex;
    align-items: flex-end;

    gap: 12px;

    padding: 24px;
}


.evio-inline-form .evio-form-group
{
    width: 220px;
}


/* ==================================================
   RESPONSIVE
================================================== */

@media
(
    max-width: 800px
)
{
    .evio-form-grid
    {
        grid-template-columns:
            1fr;
    }


    .evio-form-group-wide
    {
        grid-column:
            auto;
    }


    .evio-inline-form
    {
        align-items: stretch;
        flex-direction: column;
    }


    .evio-inline-form .evio-form-group
    {
        width: 100%;
    }
}



/* ==================================================
   EVENT VALIDATION
================================================== */

.evio-validation-summary
{
    display: flex;
    align-items: center;

    gap: 16px;

    margin-bottom: 20px;

    padding: 18px 20px;

    border:
        1px solid var(--evio-border);

    border-radius:
        var(--evio-radius);

    background: white;
}


.evio-validation-summary-icon
{
    display: flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    flex: 0 0 42px;

    border-radius: 50%;

    font-size: 20px;
    font-weight: 700;
}


.evio-validation-summary strong,
.evio-validation-summary span
{
    display: block;
}


.evio-validation-summary strong
{
    margin-bottom: 4px;

    font-size: 15px;
}


.evio-validation-summary span
{
    color:
        var(--evio-text-muted);

    font-size: 12px;
}


.evio-validation-summary-ok
{
    border-color: #abefc6;

    background: #ecfdf3;
}


.evio-validation-summary-ok
.evio-validation-summary-icon
{
    background: #d1fadf;

    color: #027a48;
}


.evio-validation-summary-warning
{
    border-color: #fedf89;

    background: #fffaeb;
}


.evio-validation-summary-warning
.evio-validation-summary-icon
{
    background: #fef0c7;

    color: #b54708;
}


.evio-validation-summary-error
{
    border-color: #fecdca;

    background: #fef3f2;
}


.evio-validation-summary-error
.evio-validation-summary-icon
{
    background: #fee4e2;

    color: #b42318;
}


/*
--------------------------------------------------
Validation Information
--------------------------------------------------
*/

.evio-validation-information
{
    margin-bottom: 20px;
}


/*
--------------------------------------------------
Validation List
--------------------------------------------------
*/

.evio-validation-list
{
    display: flex;
    flex-direction: column;
}


.evio-validation-row
{
    display: grid;

    grid-template-columns:
        30px
        minmax(0, 1fr)
        auto;

    align-items: center;

    gap: 12px;

    min-height: 54px;

    padding: 10px 20px;

    border-bottom:
        1px solid var(--evio-border);
}


.evio-validation-row:last-child
{
    border-bottom: 0;
}


.evio-validation-row:hover
{
    background: #f9fafb;
}


.evio-validation-icon
{
    display: flex;
    align-items: center;
    justify-content: center;

    width: 26px;
    height: 26px;

    border-radius: 50%;

    font-size: 13px;
    font-weight: 700;
}


.evio-validation-row-ok
.evio-validation-icon
{
    background: #ecfdf3;

    color: #027a48;
}


.evio-validation-row-warning
.evio-validation-icon
{
    background: #fffaeb;

    color: #b54708;
}


.evio-validation-row-error
.evio-validation-icon
{
    background: #fef3f2;

    color: #b42318;
}


.evio-validation-text
{
    min-width: 0;

    font-size: 13px;

    overflow-wrap: anywhere;
}


/*
--------------------------------------------------
Validation Badges
--------------------------------------------------
*/

.evio-validation-badge
{
    display: inline-flex;
    align-items: center;

    min-height: 24px;

    padding: 0 9px;

    border-radius: 999px;

    font-size: 10px;
    font-weight: 600;
}


.evio-validation-badge-ok
{
    background: #ecfdf3;

    color: #027a48;
}


.evio-validation-badge-warning
{
    background: #fffaeb;

    color: #b54708;
}


.evio-validation-badge-error
{
    background: #fef3f2;

    color: #b42318;
}


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

@media
(max-width: 700px)
{
    .evio-validation-row
    {
        grid-template-columns:
            30px
            minmax(0, 1fr);
    }


    .evio-validation-badge
    {
        display: none;
    }
}

/* ==================================================
   EVENT CLONE
================================================== */

.evio-clone-grid
{
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap: 18px;

    padding: 20px;
}


.evio-clone-panel
{
    overflow: hidden;

    border:
        1px solid var(--evio-border);

    border-radius:
        var(--evio-radius);

    background: #ffffff;
}


.evio-clone-panel-header
{
    display: flex;
    align-items: center;

    gap: 12px;

    padding: 16px 18px;

    border-bottom:
        1px solid var(--evio-border);
}


.evio-clone-panel-header strong,
.evio-clone-panel-header span
{
    display: block;
}


.evio-clone-panel-header strong
{
    margin-bottom: 3px;

    font-size: 13px;
}


.evio-clone-panel-header div > span
{
    color:
        var(--evio-text-muted);

    font-size: 11px;
}


.evio-clone-panel-icon
{
    display: flex;
    align-items: center;
    justify-content: center;

    width: 30px;
    height: 30px;

    flex: 0 0 30px;

    border-radius: 50%;

    font-size: 14px;
    font-weight: 700;
}


.evio-clone-panel-copy
.evio-clone-panel-icon
{
    background: #ecfdf3;

    color: #027a48;
}


.evio-clone-panel-reset
.evio-clone-panel-icon
{
    background: #f2f4f7;

    color: #475467;
}


.evio-clone-panel ul
{
    margin: 0;

    padding:
        14px
        18px
        16px
        42px;
}


.evio-clone-panel li
{
    padding: 5px 0;

    font-size: 12px;
}


@media
(max-width: 800px)
{
    .evio-clone-grid
    {
        grid-template-columns:
            1fr;
    }
}

/* ==================================================
   EVENT ARCHIVE
================================================== */

.evio-archive-warning
{
    display: flex;
    align-items: center;

    gap: 16px;

    margin-bottom: 20px;

    padding: 18px 20px;

    border: 1px solid #fedf89;

    border-radius:
        var(--evio-radius);

    background: #fffaeb;
}


.evio-archive-warning-icon
{
    display: flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    flex: 0 0 42px;

    border-radius: 50%;

    background: #fef0c7;

    color: #b54708;

    font-size: 20px;
    font-weight: 700;
}


.evio-archive-warning strong,
.evio-archive-warning span
{
    display: block;
}


.evio-archive-warning strong
{
    margin-bottom: 4px;

    font-size: 14px;
}


.evio-archive-warning span
{
    color:
        var(--evio-text-muted);

    font-size: 12px;
}


.evio-archive-data-grid
{
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap: 0;

    padding: 10px 20px 20px;
}


.evio-archive-data-grid > div
{
    display: flex;
    align-items: center;

    gap: 10px;

    min-height: 42px;

    font-size: 12px;
}


.evio-archive-data-icon
{
    display: flex;
    align-items: center;
    justify-content: center;

    width: 24px;
    height: 24px;

    flex: 0 0 24px;

    border-radius: 50%;

    background: #ecfdf3;

    color: #027a48;

    font-size: 12px;
    font-weight: 700;
}


.evio-button-danger
{
    background: #d92d20;

    color: #ffffff;

    border-color: #d92d20;
}


.evio-button-danger:hover
{
    background: #b42318;

    border-color: #b42318;
}


@media
(max-width: 700px)
{
    .evio-archive-data-grid
    {
        grid-template-columns:
            1fr;
    }
}


/* ==================================================
   JSON EDITOR
================================================== */

.evio-json-meta
{
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap: 16px;

    padding: 18px 20px;

    border-bottom:
        1px solid var(--evio-border);
}


.evio-json-meta span,
.evio-json-meta strong
{
    display: block;
}


.evio-json-meta span
{
    margin-bottom: 4px;

    color:
        var(--evio-text-muted);

    font-size: 11px;
}


.evio-json-meta strong
{
    font-size: 12px;
}


.evio-json-editor-wrap
{
    padding: 20px;
}


.evio-json-editor
{
    display: block;

    width: 100%;
    min-height: 720px;

    box-sizing: border-box;

    padding: 18px;

    resize: vertical;

    border:
        1px solid var(--evio-border);

    border-radius:
        var(--evio-radius);

    background: #f8fafc;

    font-family:
        Consolas,
        Monaco,
        "Courier New",
        monospace;

    font-size: 13px;
    line-height: 1.55;

    tab-size: 4;
}


.evio-json-editor:focus
{
    outline: none;

    border-color:
        var(--evio-primary);
}


@media
(max-width: 700px)
{
    .evio-json-meta
    {
        grid-template-columns:
            1fr;
    }
}

/* ==================================================
   GLOBAL EVENT VALIDATION
================================================== */

.evio-validation-list
{
    display: flex;
    flex-direction: column;
}


.evio-validation-row
{
    display: grid;

    grid-template-columns:
        32px
        minmax(0, 1fr)
        auto;

    gap: 16px;

    align-items: center;

    padding: 16px 20px;

    border-bottom:
        1px solid var(--evio-border);

    color:
        var(--evio-text);

    text-decoration: none;

    transition:
        background 0.15s ease;
}


.evio-validation-row:last-child
{
    border-bottom: none;
}


.evio-validation-row:hover
{
    background:
        #f8fafc;
}


.evio-validation-row:visited
{
    color:
        var(--evio-text);
}


.evio-validation-icon
{
    display: flex;

    align-items: center;
    justify-content: center;

    width: 30px;
    height: 30px;

    border-radius: 50%;

    font-size: 15px;
    font-weight: 700;
}


.evio-validation-text
{
    min-width: 0;
}


.evio-validation-text strong
{
    display: block;

    margin-bottom: 4px;

    color:
        var(--evio-text);

    font-size: 14px;
    font-weight: 600;

    text-decoration: none;
}


.evio-validation-text span
{
    display: block;

    margin-top: 3px;

    color:
        var(--evio-text-muted);

    font-size: 12px;
    line-height: 1.45;

    text-decoration: none;
}


.evio-validation-badge
{
    padding: 5px 10px;

    border-radius: 999px;

    font-size: 11px;
    font-weight: 600;

    white-space: nowrap;
}


/* OK */

.evio-validation-row-ok
.evio-validation-icon
{
    background: #ecfdf3;
    color: #00994d;
}


.evio-validation-badge-ok
{
    background: #ecfdf3;
    color: #008844;
}


/* WARNING */

.evio-validation-row-warning
.evio-validation-icon
{
    background: #fff8e6;
    color: #c77700;
}


.evio-validation-badge-warning
{
    background: #fff8e6;
    color: #b56800;
}


/* ERROR */

.evio-validation-row-error
.evio-validation-icon
{
    background: #fff1f2;
    color: #dc2626;
}


.evio-validation-badge-error
{
    background: #fff1f2;
    color: #c81e1e;
}


/* Responsive */

@media
(max-width: 700px)
{
    .evio-validation-row
    {
        grid-template-columns:
            32px
            minmax(0, 1fr);
    }


    .evio-validation-badge
    {
        grid-column: 2;

        justify-self: start;
    }
}


/* ==================================================
   CARD HEADER HERVORHEBUNG
================================================== */

.evio-card-header
{
    position: relative;

    padding-left: 28px;

    background:
        #f8fafc;
}


.evio-card-header::before
{
    content: "";

    position: absolute;

    left: 0;
    top: 0;
    bottom: 0;

    width: 4px;

    background:
        var(--evio-primary);
}

/* ==================================================
   JSON EDITOR
================================================== */

.evio-json-editor
{
    width: 100%;
    min-height: 700px;

    box-sizing: border-box;

    padding: 16px;

    resize: vertical;

    font-family:
        Consolas,
        Monaco,
        "Courier New",
        monospace;

    font-size: 13px;
    line-height: 1.5;

    tab-size: 4;
}



/* ==================================================
   EVIO PUBLIC EVENT
================================================== */

.evio-public-page
{
    min-height: 100vh;
    padding: 48px 24px 80px;
    background:
        radial-gradient(
            circle at top right,
            rgba(79,70,229,0.08),
            transparent 420px
        ),
        var(--evio-background);
}

.evio-public-container
{
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
}

.evio-public-header
{
    display: flex;
    align-items: center;
    gap: 24px;
    margin-bottom: 28px;
}

.evio-public-logo
{
    display: flex;
    align-items: center;
    justify-content: center;

    width: 88px;
    height: 88px;

    flex: 0 0 88px;

    padding: 10px;

    background: white;

    border:
        1px solid var(--evio-border);

    border-radius: 18px;

    box-shadow:
        0 8px 24px rgba(16,24,40,0.08);
}

.evio-public-logo img
{
    display: block;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.evio-public-heading
{
    min-width: 0;
}

.evio-public-brand
{
    margin-bottom: 7px;

    color:
        var(--evio-primary);

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 0.10em;
}

.evio-public-heading h1
{
    margin: 0;
    padding: 0;
    border: 0;

    color:
        var(--evio-text);

    font-size: clamp(24px, 3vw, 34px);
    font-weight: 700;

    line-height: 1.08;
    letter-spacing: -0.04em;
}


/* Alte öffentliche Inhalte modernisieren */

.evio-public-container .eventbox,
.evio-public-container .memberbox
{
    margin-bottom: 20px;

    padding: 24px;

    background: white;

    border:
        1px solid var(--evio-border);

    border-radius:
        var(--evio-radius);

    box-shadow:
        0 1px 3px rgba(16,24,40,0.05);
}

.evio-public-container input[type="text"],
.evio-public-container input[type="email"],
.evio-public-container input[type="tel"],
.evio-public-container input[type="number"],
.evio-public-container input[type="date"],
.evio-public-container select,
.evio-public-container textarea
{
    width: 100%;

    padding: 11px 13px;

    border:
        1px solid var(--evio-border);

    border-radius: 8px;

    background: white;

    color:
        var(--evio-text);

    font: inherit;

    outline: none;
}

.evio-public-container input[type="text"],
.evio-public-container input[type="email"],
.evio-public-container input[type="tel"],
.evio-public-container input[type="number"],
.evio-public-container input[type="date"],
.evio-public-container select
{
    min-height: 44px;
}

.evio-public-container input:focus,
.evio-public-container select:focus,
.evio-public-container textarea:focus
{
    border-color:
        var(--evio-primary);

    box-shadow:
        0 0 0 3px rgba(79,70,229,0.10);
}

.evio-public-container button,
.evio-public-container input[type="submit"]
{
    min-height: 44px;

    padding: 0 18px;

    border: 0;

    border-radius: 8px;

    background:
        var(--evio-primary);

    color: white;

    font: inherit;
    font-size: 14px;
    font-weight: 600;

    cursor: pointer;
}

.evio-public-container button:hover,
.evio-public-container input[type="submit"]:hover
{
    background:
        var(--evio-primary-hover);
}

.evio-public-container .success,
.evio-public-container .error,
.evio-public-container .info
{
    margin-bottom: 20px;

    padding: 14px 16px;

    border-radius: 9px;

    font-size: 14px;
    line-height: 1.5;
}

.evio-public-container .success
{
    background: #ecfdf3;
    border: 1px solid #abefc6;
    color: #027a48;
}

.evio-public-container .error
{
    background: #fef3f2;
    border: 1px solid #fecdca;
    color: #b42318;
}

.evio-public-container .info
{
    background: #eef4ff;
    border: 1px solid #c7d7fe;
    color: #3538cd;
}

@media
(max-width: 700px)
{
    .evio-public-page
    {
        padding: 28px 14px 60px;
    }

    .evio-public-header
    {
        align-items: flex-start;
        gap: 16px;
    }

    .evio-public-logo
    {
        width: 68px;
        height: 68px;

        flex-basis: 68px;

        border-radius: 14px;
    }

    .evio-public-heading h1
    {
        font-size: 27px;
    }
}

/* MID-Feld: vierstellige Mitgliedernummer */

.evio-public-container input[name="mid"]
{
    width: 140px !important;
    max-width: 100%;
}

.evio-public-container input[name="mid"] + p
{
    max-width: 700px;
}

/* Kleine Zahlenfelder */

.evio-public-container input[name="adults"],
.evio-public-container input[name="children"]
{
    width: 110px !important;
    max-width: 100%;
}

.evio-public-container select[name="teilnahme"]
{
    width: 280px !important;
    max-width: 100%;
}

/* ==================================================
   PUBLIC EVENT – TEILNAHME
================================================== */

.evio-public-container .participant-grid
{
    display: grid;

    grid-template-columns:
        minmax(240px, 1.8fr)
        minmax(150px, 1fr)
        minmax(150px, 1fr);

    gap: 20px;

    align-items: end;

    margin: 24px 0;
}


.evio-public-container .participant-grid > div
{
    min-width: 0;
}


.evio-public-container .participant-grid label
{
    display: block;

    min-height: 40px;

    margin-bottom: 7px;

    font-size: 13px;

    font-weight: 600;

    line-height: 1.35;
}


.evio-public-container .participant-grid select
{
    width: 100% !important;
}


.evio-public-container .participant-grid input[type="number"]
{
    width: 110px !important;
}


/* Mobile */

@media
(max-width: 700px)
{
    .evio-public-container .participant-grid
    {
        grid-template-columns: 1fr;
    }


    .evio-public-container .participant-grid label
    {
        min-height: 0;
    }
}


/*
--------------------------------------------------
EVIO MESSAGE / REMINDER
--------------------------------------------------
*/

.evio-message-form .message-target-area
{
    padding: 0 24px 6px;
}

.evio-message-form .message-target-label
{
    margin-bottom: 10px;

    color:
        var(--evio-text);

    font-size: 13px;
    font-weight: 600;
}

.evio-message-form .message-target-grid
{
    display: grid;

    grid-template-columns:
        auto
        minmax(280px, 1fr)
        auto;

    align-items: end;

    gap: 14px 24px;
}

.evio-message-form .message-target-option
{
    display: inline-flex !important;

    align-items: center;

    gap: 8px;

    min-height: 42px;

    margin: 0 !important;

    font-size: 13px;
    font-weight: 600;

    white-space: nowrap;

    cursor: pointer;
}

.evio-message-form .message-target-option input[type="radio"]
{
    flex: 0 0 auto;

    width: 16px;
    height: 16px;

    margin: 0 !important;
}

.evio-message-form .message-test-address
{
    display: grid;

    grid-template-columns:
        auto
        minmax(220px, 1fr);

    align-items: center;

    gap: 12px;
}

.evio-message-form .message-test-address label
{
    margin: 0 !important;

    font-size: 13px;
    font-weight: 600;

    white-space: nowrap;
}

.evio-message-form .message-test-address input[type="email"]
{
    width: 100% !important;
    height: 42px;

    margin: 0 !important;
    padding: 0 12px;

    border:
        1px solid var(--evio-border);

    border-radius: 8px;

    background: white;

    color:
        var(--evio-text);

    font-family: inherit;
    font-size: 13px;

    outline: none;
}

.evio-message-form .message-test-address input[type="email"]:focus
{
    border-color:
        var(--evio-primary);

    box-shadow:
        0 0 0 3px rgba(79,70,229,0.10);
}

.evio-message-form .message-test-address input[type="email"]:disabled
{
    background: #f2f4f7;

    color:
        var(--evio-text-muted);

    cursor: not-allowed;
}

.evio-message-form .message-scope-grid
{
    display: grid;

    grid-template-columns:
        repeat(6, minmax(0, 1fr));

    gap: 12px;
}

.evio-message-form .message-scope-option
{
    display: grid !important;

    grid-template-columns:
        18px
        minmax(0, 1fr)
        auto;

    align-items: center;

    gap: 10px;

    min-height: 74px;

    margin: 0 !important;
    padding: 12px 14px;

    border:
        1px solid var(--evio-border);

    border-radius: 9px;

    background: white;

    cursor: pointer;
}

.evio-message-form .message-scope-option:hover
{
    border-color: #c7d7fe;

    background: #f9fafb;
}

.evio-message-form .message-scope-option:has(input:checked)
{
    border-color:
        var(--evio-primary);

    background: #f5f3ff;

    box-shadow:
        0 0 0 1px var(--evio-primary);
}

.evio-message-form .message-scope-option input[type="radio"]
{
    width: 16px;
    height: 16px;

    margin: 0 !important;
}

.evio-message-form .message-scope-option span
{
    min-width: 0;

    font-size: 12px;
    font-weight: 600;
    line-height: 1.35;
}

.evio-message-form .message-scope-option strong
{
    margin-left: auto;

    font-size: 13px;
    font-weight: 700;

    font-variant-numeric:
        tabular-nums;
}

.evio-message-form .message-attachment-input
{
    width: 100% !important;
    max-width: 500px;
}

.evio-message-form .message-status-participates
{
    font-weight: 600;
}

.evio-message-form .message-status-declines
{
    color:
        var(--evio-text-muted);
}

.evio-message-form .message-send-summary
{
    margin-top: 0;

    color:
        var(--evio-text-muted);

    font-size: 12px;
}

@media
(max-width: 1250px)
{
    .evio-message-form .message-scope-grid
    {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }
}

@media
(max-width: 850px)
{
    .evio-message-form .message-target-grid
    {
        grid-template-columns: 1fr;
    }

    .evio-message-form .message-test-address
    {
        grid-template-columns: 1fr;
    }

    .evio-message-form .message-scope-grid
    {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}

@media
(max-width: 560px)
{
    .evio-message-form .message-target-area
    {
        padding:
            0 18px 6px;
    }

    .evio-message-form .message-scope-grid
    {
        grid-template-columns: 1fr;
    }
}

/* Empfängerliste beim Nachrichtenversand vollständig anzeigen */
.evio-message-form .evio-table-wrapper {
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
}

.evio-message-form .evio-table tbody {
    display: table-row-group !important;
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
}



/* ==================================================
   EVIO – MEHR FARBE UND KONTRAST
   ================================================== */

:root
{
    --evio-primary:       #4f46e5;
    --evio-primary-hover: #4338ca;

    --evio-background:    #f1f4f9;
    --evio-surface:       #ffffff;
    --evio-border:        #cfd6e4;

    --evio-primary-soft:  #eef2ff;
    --evio-primary-light: #e0e7ff;
}


/* Seitenhintergrund */

html,
body
{
    background:
        linear-gradient(
            180deg,
            #f7f8ff 0,
            #f1f4f9 260px,
            #f1f4f9 100%
        );
}


/* Karten klar vom Hintergrund abheben */

.evio-card,
.evio-settings-card
{
    background: #ffffff;
    border: 1px solid #cfd6e4;

    box-shadow:
        0 2px 5px rgba(16,24,40,0.06),
        0 10px 25px rgba(79,70,229,0.035);
}


/* Kartenüberschriften leicht einfärben */

.evio-card-header
{
    position: relative;

    padding: 21px 26px;

    background:
        linear-gradient(
            90deg,
            #eef2ff 0%,
            #f8f9ff 60%,
            #ffffff 100%
        );

    border-bottom: 1px solid #cfd6e4;
}


/* Farbiger Balken links */

.evio-card-header::before
{
    content: "";

    position: absolute;

    top: 0;
    bottom: 0;
    left: 0;

    width: 5px;

    background:
        linear-gradient(
            180deg,
            #4f46e5,
            #6366f1
        );
}


/* Überschrift kräftiger */

.evio-card-header h2
{
    color: #312e81;

    font-size: 17px;
    font-weight: 700;
}


/* Beschreibung besser lesbar */

.evio-card-header p
{
    color: #596579;
}


/* Karteninhalt */

.evio-card-body
{
    background: #ffffff;
}


/* Eingabefelder klarer sichtbar */

.evio-field input[type="text"],
.evio-field input[type="email"],
.evio-field input[type="number"],
.evio-field input[type="date"],
.evio-field input[type="password"],
.evio-field select,
.evio-field textarea
{
    border-color: #c7cfdd;
    background: #ffffff;

    box-shadow:
        inset 0 1px 2px rgba(16,24,40,0.025);
}


/* Fokus stärker hervorheben */

.evio-field input:focus,
.evio-field select:focus,
.evio-field textarea:focus
{
    border-color: #4f46e5;

    box-shadow:
        0 0 0 3px rgba(79,70,229,0.14);
}


/* Tabs deutlicher */

.evio-event-tabs
{
    border-bottom: 1px solid #cfd6e4;
}

.evio-event-tabs a
{
    border-radius: 7px 7px 0 0;
}

.evio-event-tabs a:hover
{
    background: #f1f3ff;
    color: #3730a3;
}

.evio-event-tabs a.active
{
    background: #eef2ff;
    color: #3730a3;
    font-weight: 700;
}

.evio-event-tabs a.active::after
{
    height: 3px;
    background: #4f46e5;
}


/* Einstellungszeilen */

.evio-setting-row
{
    background: #ffffff;
}

.evio-setting-row:hover
{
    background: #f5f7ff;
}


/* Unterbereiche innerhalb einer Karte */

.evio-settings-fields
{
    background: #f8f9ff;
}


/* Speicherleiste etwas kräftiger */

.evio-save-bar
{
    border: 1px solid #c7cfdd;

    box-shadow:
        0 10px 28px rgba(16,24,40,0.14),
        0 2px 6px rgba(79,70,229,0.08);
}


/* Sekundärbutton */

.evio-button-secondary
{
    background: #ffffff;
    border-color: #c7cfdd;
}

.evio-button-secondary:hover
{
    background: #eef2ff;
    border-color: #a5b4fc;
    color: #3730a3;
}




/* ==================================================
   EVIO REPORTS
================================================== */

.evio-reports-page
{
    max-width: 1180px;
}


.evio-report-grid
{
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 18px;
}


.evio-report-card
{
    display: grid;

    grid-template-columns:
        52px
        minmax(0, 1fr)
        auto;

    align-items: center;

    gap: 18px;

    min-height: 118px;

    padding: 20px;

    background:
        var(--evio-surface);
}


.evio-report-card-custom
{
    grid-column: 1 / -1;

    border-style: dashed;
}


.evio-report-icon
{
    display: flex;

    align-items: center;
    justify-content: center;

    width: 52px;
    height: 52px;

    border-radius: 11px;

    background: #eef4ff;

    color:
        var(--evio-primary);

    font-size: 18px;

    font-weight: 700;
}


.evio-report-content
{
    min-width: 0;
}


.evio-report-content h2
{
    margin: 0 0 5px;

    color:
        var(--evio-text);

    font-size: 15px;

    font-weight: 650;
}


.evio-report-content p
{
    margin: 0;

    color:
        var(--evio-text-muted);

    font-size: 12px;

    line-height: 1.5;
}


.evio-report-actions
{
    display: flex;

    align-items: center;

    gap: 8px;

    margin: 0;

    padding: 0 !important;
}


.evio-report-actions select
{
    height: 38px;

    margin: 0;

    padding: 0 32px 0 11px;

    border:
        1px solid var(--evio-border);

    border-radius: 8px;

    background:
        var(--evio-surface);

    color:
        var(--evio-text);

    font-family: inherit;

    font-size: 12px;

    cursor: pointer;
}


.evio-report-actions select:focus
{
    border-color:
        var(--evio-primary);

    outline: none;

    box-shadow:
        0 0 0 3px rgba(79,70,229,0.10);
}


.evio-report-hint
{
    margin: 18px 0 0;

    color:
        var(--evio-text-muted);

    font-size: 12px;
}


.evio-visually-hidden
{
    position: absolute !important;

    width: 1px !important;
    height: 1px !important;

    padding: 0 !important;
    margin: -1px !important;

    overflow: hidden !important;

    clip: rect(0, 0, 0, 0) !important;

    white-space: nowrap !important;

    border: 0 !important;
}


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


    .evio-report-card-custom
    {
        grid-column: auto;
    }
}


@media
(max-width: 650px)
{
    .evio-report-card
    {
        grid-template-columns:
            46px
            minmax(0, 1fr);

        align-items: start;
    }


    .evio-report-icon
    {
        width: 46px;
        height: 46px;
    }


    .evio-report-actions
    {
        grid-column: 1 / -1;

        width: 100%;
    }


    .evio-report-actions select,
    .evio-report-actions .evio-button
    {
        flex: 1;
    }
}


/* ==================================================
   EVIO REPORTS – REPORTING MODULE
================================================== */

.evio-reports-page
{
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    padding: 32px 0 48px;
}


.evio-eyebrow
{
    margin: 0 0 6px !important;
    color: var(--evio-primary) !important;
    font-size: 11px !important;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}


.evio-back-link
{
    display: inline-flex;
    align-items: center;
    margin-bottom: 12px;
    color: var(--evio-primary);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
}


.evio-back-link:hover
{
    color: var(--evio-primary-hover);
    text-decoration: underline;
}


.evio-report-list
{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}


.evio-report-card-content
{
    min-width: 0;
}


.evio-report-card-content h2
{
    margin: 0 0 5px;
    color: var(--evio-text);
    font-size: 15px;
    font-weight: 650;
}


.evio-report-card-content p
{
    margin: 0;
    color: var(--evio-text-muted);
    font-size: 12px;
    line-height: 1.5;
}


.evio-report-card-content .evio-report-meta
{
    margin-top: 8px;
    color: var(--evio-text-muted);
    font-size: 11px;
    font-weight: 600;
}


.evio-report-card-actions
{
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0 !important;
}


.evio-report-card-actions select
{
    width: auto;
    min-width: 92px;
    height: 38px;
    margin: 0;
    padding: 0 32px 0 11px;
    border: 1px solid var(--evio-border);
    border-radius: 8px;
    background: var(--evio-surface);
    color: var(--evio-text);
    font-family: inherit;
    font-size: 12px;
    cursor: pointer;
}


.evio-report-card-actions select:focus
{
    border-color: var(--evio-primary);
    outline: none;
    box-shadow: 0 0 0 3px rgba(79,70,229,0.10);
}


.evio-report-builder
{
    display: block;
}


.evio-report-builder-grid
{
    display: grid;
    grid-template-columns: minmax(280px, 0.82fr) minmax(0, 1.18fr);
    gap: 20px;
}


.evio-report-builder-card
{
    overflow: hidden;
}


.evio-report-options
{
    display: grid;
    gap: 24px;
}


.evio-report-fieldset
{
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}


.evio-report-fieldset legend
{
    width: 100%;
    margin: 0 0 10px;
    padding: 0;
    color: var(--evio-text);
    font-size: 12px;
    font-weight: 700;
}


.evio-choice-row
{
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0 0 8px;
    padding: 10px 12px;
    border: 1px solid var(--evio-border);
    border-radius: 9px;
    background: var(--evio-surface);
    cursor: pointer;
}


.evio-choice-row:last-child
{
    margin-bottom: 0;
}


.evio-choice-row:hover
{
    border-color: #c7d7fe;
    background: #f9fbff;
}


.evio-choice-row:has(input:checked)
{
    border-color: #a5b4fc;
    background: #eef2ff;
}


.evio-choice-row input
{
    flex: 0 0 auto;
    margin: 2px 0 0;
    accent-color: var(--evio-primary);
}


.evio-choice-row span,
.evio-choice-row strong,
.evio-choice-row small
{
    display: block;
}


.evio-choice-row strong
{
    color: var(--evio-text);
    font-size: 12px;
    line-height: 1.35;
}


.evio-choice-row small
{
    margin-top: 2px;
    color: var(--evio-text-muted);
    font-size: 11px;
    line-height: 1.4;
}


.evio-report-column-grid
{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}


.evio-checkbox-card
{
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 42px;
    padding: 9px 11px;
    border: 1px solid var(--evio-border);
    border-radius: 8px;
    background: var(--evio-surface);
    color: var(--evio-text);
    font-size: 12px;
    font-weight: 550;
    cursor: pointer;
}


.evio-checkbox-card:hover
{
    border-color: #c7d7fe;
    background: #f9fbff;
}


.evio-checkbox-card:has(input:checked)
{
    border-color: #a5b4fc;
    background: #eef2ff;
    color: #3730a3;
}


.evio-checkbox-card input
{
    flex: 0 0 auto;
    margin: 0;
    accent-color: var(--evio-primary);
}


.evio-report-output-card
{
    margin-top: 20px;
    overflow: hidden;
}


.evio-report-output-grid
{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}


.evio-report-output-grid .evio-field
{
    min-width: 0;
}


.evio-report-output-grid .evio-field label
{
    display: block;
    margin-bottom: 7px;
    color: var(--evio-text);
    font-size: 12px;
    font-weight: 600;
}


.evio-report-output-grid .evio-field select
{
    display: block;
    width: 100%;
    max-width: none;
    height: 42px;
    margin: 0;
    padding: 0 36px 0 12px;
    border: 1px solid var(--evio-border);
    border-radius: 8px;
    background: var(--evio-surface);
    color: var(--evio-text);
    font-family: inherit;
    font-size: 13px;
}


.evio-report-output-grid .evio-field select:focus
{
    border-color: var(--evio-primary);
    outline: none;
    box-shadow: 0 0 0 3px rgba(79,70,229,0.10);
}


.evio-report-submit-bar
{
    position: sticky;
    bottom: 18px;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 20px;
    padding: 15px 18px;
    border: 1px solid var(--evio-border);
    border-radius: 12px;
    background: rgba(255,255,255,0.96);
    box-shadow: 0 8px 24px rgba(16,24,40,0.10);
    backdrop-filter: blur(10px);
}


.evio-report-submit-bar strong,
.evio-report-submit-bar span
{
    display: block;
}


.evio-report-submit-bar strong
{
    margin-bottom: 3px;
    font-size: 13px;
}


.evio-report-submit-bar span
{
    color: var(--evio-text-muted);
    font-size: 11px;
}


.evio-report-submit-actions
{
    display: flex;
    flex: 0 0 auto;
    gap: 10px;
}


@media
(max-width: 900px)
{
    .evio-report-list,
    .evio-report-builder-grid
    {
        grid-template-columns: 1fr;
    }


    .evio-report-card-custom
    {
        grid-column: auto;
    }
}


@media
(max-width: 700px)
{
    .evio-reports-page
    {
        width: min(calc(100% - 24px), 1180px);
        padding-top: 20px;
    }


    .evio-report-output-grid
    {
        grid-template-columns: 1fr;
    }


    .evio-report-submit-bar
    {
        align-items: stretch;
        flex-direction: column;
    }


    .evio-report-submit-actions
    {
        width: 100%;
    }


    .evio-report-submit-actions .evio-button
    {
        flex: 1;
    }
}


@media
(max-width: 650px)
{
    .evio-report-card-actions
    {
        grid-column: 1 / -1;
        width: 100%;
    }


    .evio-report-card-actions select,
    .evio-report-card-actions .evio-button
    {
        flex: 1;
    }


    .evio-report-column-grid
    {
        grid-template-columns: 1fr;
    }
}


/* ==================================================
   EVIO REPORTS – KOMPAKTES KARTENLAYOUT 1.1
================================================== */
.evio-report-list
{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.evio-report-card
{
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    grid-template-areas:
        "icon content"
        "actions actions";
    align-items: start;
    gap: 14px 16px;
    min-height: 0;
    padding: 18px;
}

.evio-report-icon
{
    grid-area: icon;
    width: 48px;
    height: 48px;
}

.evio-report-card-content
{
    grid-area: content;
    min-width: 0;
}

.evio-report-card-content h2
{
    margin: 0 0 4px;
    font-size: 15px;
    line-height: 1.25;
}

.evio-report-card-content p
{
    max-width: 42ch;
    font-size: 12px;
    line-height: 1.4;
}

.evio-report-card-content .evio-report-meta
{
    margin-top: 6px;
}

.evio-report-card-actions
{
    grid-area: actions;
    display: grid;
    grid-template-columns: minmax(145px, 1.35fr) minmax(125px, 1fr) minmax(90px, .72fr) auto;
    align-items: end;
    gap: 10px;
    width: 100%;
    margin: 0;
    padding: 14px 0 0 !important;
    border-top: 1px solid var(--evio-border);
}

.evio-report-control
{
    min-width: 0;
}

.evio-report-control label
{
    display: block;
    margin: 0 0 5px;
    color: var(--evio-text-muted);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .02em;
}

.evio-report-card-actions select
{
    display: block;
    width: 100%;
    min-width: 0;
    height: 38px;
    padding: 0 32px 0 10px;
}

.evio-report-export-button
{
    min-width: 104px;
    height: 38px;
    white-space: nowrap;
}

.evio-report-card-custom
{
    grid-template-columns: 48px minmax(0, 1fr) auto;
    grid-template-areas: "icon content actions";
    align-items: center;
}

.evio-report-card-custom .evio-report-card-actions
{
    display: flex;
    width: auto;
    padding: 0 !important;
    border-top: 0;
}

@media (max-width: 1050px)
{
    .evio-report-list
    {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px)
{
    .evio-report-card-actions
    {
        grid-template-columns: 1fr 1fr;
    }

    .evio-report-export-button
    {
        width: 100%;
    }

    .evio-report-card-custom
    {
        grid-template-columns: 48px minmax(0, 1fr);
        grid-template-areas:
            "icon content"
            "actions actions";
    }

    .evio-report-card-custom .evio-report-card-actions
    {
        width: 100%;
        padding-top: 12px !important;
    }

    .evio-report-card-custom .evio-button
    {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 460px)
{
    .evio-report-card-actions
    {
        grid-template-columns: 1fr;
    }
}


/* Evio Reporting v1.2: critical report layout is scoped in admin/reports/index.php. */


/*
--------------------------------------------------
PUBLIC EVENT PAGE – SPACING
--------------------------------------------------
*/

.evio-public-header
{
    margin-bottom: 20px;
}

.evio-public-heading h1
{
    margin-bottom: 0;
}

.eventbox
{
    margin-top: 8px;
    margin-bottom: 30px;

    padding: 26px 26px 24px;
}

.eventbox table
{
    border-collapse: separate;
    border-spacing: 0 5px;
}

.eventbox td
{
    vertical-align: top;
    line-height: 1.45;
}

.eventbox td:first-child
{
    width: 145px;
    padding-right: 24px;
}

.eventbox-deadline td
{
    padding-bottom: 14px;
}

.eventbox ul
{
    margin-top: 12px;
    margin-bottom: 4px;
}

.eventbox + .memberbox,
.eventbox + form,
.eventbox ~ form
{
    margin-top: 28px;
}


/* --------------------------------------------------
   PUBLIC EVENT – FEINTUNING
   -------------------------------------------------- */

.eventbox
{
    padding: 24px 24px 20px;
}

.eventbox table
{
    border-spacing: 0 4px;
}

.eventbox td:first-child
{
    width: 136px;
    padding-right: 20px;
}

.eventbox-deadline td
{
    padding-bottom: 12px;
}

.eventbox ul
{
    margin-top: 10px;
    margin-bottom: 0;
}

.eventbox > br
{
    line-height: 14px;
}


/* Abstand Eventbox → nächste Meldung/Formular */

.eventbox
{
    margin-bottom: 18px;
	padding: 24px 24px 16px;
}


/* MID-Bereich */

.memberbox
{
    margin-top: 18px;
}

.memberbox p
{
    line-height: 1.45;
}

.memberbox input[type="text"]
{
    margin-bottom: 4px;
}

.eventbox-documents
{
    margin-top: 18px;
}

.eventbox-documents ul
{
    margin-top: 10px;
    margin-bottom: 0;
}

.memberbox p,
.evio-public-container form p
{
    max-width: 900px;
    line-height: 1.45;
}


/* ==================================================
   EVIO PROTOCOL
================================================== */

.evio-protocol-page
{
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    padding: 32px 0 48px;
}


.evio-protocol-list
{
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
}


.evio-protocol-card
{
    display: grid;
    grid-template-columns:
        52px
        minmax(0, 1fr)
        auto;

    align-items: center;

    gap: 18px;

    min-height: 104px;

    padding: 20px 22px;

    background:
        var(--evio-surface);

    border:
        1px solid var(--evio-border);

    border-radius:
        var(--evio-radius);

    box-shadow:
        0 1px 2px rgba(16,24,40,0.04);
}


.evio-protocol-icon
{
    display: flex;

    align-items: center;
    justify-content: center;

    width: 52px;
    height: 52px;

    border-radius: 11px;

    background: #eef4ff;

    color:
        var(--evio-primary);

    font-size: 14px;
    font-weight: 700;
}


.evio-protocol-content
{
    min-width: 0;
}


.evio-protocol-content h2
{
    margin: 0 0 5px;

    color:
        var(--evio-text);

    font-size: 16px;
    font-weight: 650;
}


.evio-protocol-content p
{
    margin: 0;

    color:
        var(--evio-text-muted);

    font-size: 12px;
    line-height: 1.5;
}


.evio-protocol-actions
{
    display: flex;

    align-items: center;

    gap: 8px;
}


.evio-protocol-disabled
{
    opacity: 0.45;

    pointer-events: none;
}


@media
(max-width: 700px)
{
    .evio-protocol-page
    {
        width:
            min(
                calc(100% - 24px),
                1180px
            );

        padding-top: 20px;
    }


    .evio-protocol-card
    {
        grid-template-columns:
            46px
            minmax(0, 1fr);
    }


    .evio-protocol-icon
    {
        width: 46px;
        height: 46px;
    }


    .evio-protocol-actions
    {
        grid-column: 1 / -1;
    }


    .evio-protocol-actions .evio-button
    {
        width: 100%;

        justify-content: center;
    }
}


/* ==========================================================
   PROTOKOLL – TEILNEHMENDE
   ========================================================== */


/* ----------------------------------------------------------
   Teilnehmerkarten
   ---------------------------------------------------------- */

.evio-protocol-participants-card,
.evio-protocol-guests-card
{
    margin-bottom: 20px;
    overflow: hidden;
}


/* ----------------------------------------------------------
   Teilnehmer-Tabelle
   ---------------------------------------------------------- */

.evio-protocol-attendance-table
{
    width: 100%;
    border-collapse: collapse;
}


.evio-protocol-attendance-table th
{
    white-space: nowrap;
}


.evio-protocol-attendance-table td
{
    vertical-align: middle;
}


.evio-protocol-attendance-table td:first-child
{
    min-width: 230px;
}


/* ----------------------------------------------------------
   Person / MID
   ---------------------------------------------------------- */

.evio-protocol-participant-meta
{
    display: block;

    margin-top: 3px;

    color: var(--evio-text-muted);

    font-size: 11px;
    font-weight: 400;
}


/* ----------------------------------------------------------
   Anwesenheitsstatus
   ---------------------------------------------------------- */

.evio-protocol-status-choice
{
    display: inline-flex;

    align-items: center;

    gap: 7px;

    white-space: nowrap;

    cursor: pointer;
}


.evio-protocol-status-choice input[type="radio"]
{
    width: 15px;
    height: 15px;

    margin: 0;

    accent-color: var(--evio-primary);
}


/* ----------------------------------------------------------
   Begleitpersonen
   ---------------------------------------------------------- */

.evio-protocol-companion-input
{
    width: 58px;

    padding: 7px 8px;

    border: 1px solid var(--evio-border);
    border-radius: 7px;

    background: #fff;

    font: inherit;

    text-align: center;
}


.evio-protocol-companion-input:focus
{
    outline: none;

    border-color: var(--evio-primary);
}


.evio-protocol-companion-max
{
    margin-left: 6px;

    color: var(--evio-text-muted);

    font-size: 11px;

    white-space: nowrap;
}


/* ----------------------------------------------------------
   Gäste
   ---------------------------------------------------------- */

.evio-protocol-guest-row
{
    display: grid;

    grid-template-columns:
        minmax(220px, 1fr)
        minmax(220px, 1fr)
        auto;

    gap: 16px;

    align-items: end;

    margin-bottom: 16px;
}


.evio-protocol-guest-row .evio-form-group
{
    margin-bottom: 0;
}


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

@media (max-width: 850px)
{
    .evio-table-wrapper
    {
        overflow-x: auto;
    }


    .evio-protocol-attendance-table
    {
        min-width: 900px;
    }


    .evio-protocol-guest-row
    {
        grid-template-columns: 1fr;
    }
}




/*
--------------------------------------------------
EVIO ALERTS
--------------------------------------------------
*/

.evio-alert
{
    display: flex;
    align-items: center;

    gap: 12px;

    margin-bottom: 20px;

    padding: 13px 16px;

    border: 1px solid var(--evio-border);
    border-radius: 10px;

    background: white;

    font-size: 13px;
}


.evio-alert-icon
{
    display: flex;

    align-items: center;
    justify-content: center;

    width: 30px;
    height: 30px;

    flex: 0 0 30px;

    border-radius: 50%;

    font-size: 15px;
    font-weight: 700;
}


.evio-alert strong,
.evio-alert span
{
    display: block;
}


.evio-alert strong
{
    margin-bottom: 2px;

    font-size: 13px;
    font-weight: 600;
}


.evio-alert span
{
    color: var(--evio-text-muted);

    font-size: 12px;
}


/*
--------------------------------------------------
Success
--------------------------------------------------
*/

.evio-alert-success
{
    background: #ecfdf3;

    border-color: #abefc6;
}


.evio-alert-success .evio-alert-icon
{
    background: #d1fadf;

    color: #027a48;
}


.evio-alert-success strong
{
    color: #027a48;
}


/* =========================================================
   PROTOKOLL – TRAKTANDEN
   ========================================================= */


/*
------------------------------------------------------------
TOP-Karte
------------------------------------------------------------
*/

.evio-protocol-item-card {
    margin-bottom: 18px;
    overflow: hidden;
}


/*
------------------------------------------------------------
TOP-Kopf
------------------------------------------------------------
*/

.evio-protocol-item-header {
    padding: 18px 20px;
}

.evio-protocol-item-header h2 {
    margin: 2px 0 0;
    font-size: 16px;
    line-height: 1.3;
}

.evio-protocol-item-number {
    margin: 0;
    font-size: 11px;
    line-height: 1.2;
    color: #52627a;
}


/*
------------------------------------------------------------
Inhalt
------------------------------------------------------------
*/

.evio-protocol-item-body {
    padding: 20px;
}


/*
------------------------------------------------------------
Metadaten

Schlagwort | Verantwortlich | Fällig
------------------------------------------------------------
*/

.evio-protocol-meta-grid {
    display: grid;
    grid-template-columns:
        minmax(240px, 1.5fr)
        minmax(220px, 1fr)
        minmax(170px, 0.65fr);
    gap: 20px;
    align-items: end;
    margin-bottom: 20px;
}


/*
------------------------------------------------------------
Formularfelder innerhalb Protokoll
------------------------------------------------------------
*/

.evio-protocol-item-body .evio-form-group {
    margin: 0;
}

.evio-protocol-item-body .evio-form-group label {
    display: block;
    margin-bottom: 7px;
}


/*
------------------------------------------------------------
Protokolltext
------------------------------------------------------------
*/

.evio-protocol-minutes {
    margin-top: 0;
}

.evio-protocol-minutes textarea {
    min-height: 125px;
    resize: vertical;
}


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

@media (max-width: 900px) {

    .evio-protocol-meta-grid {
        grid-template-columns: 1fr 1fr;
    }

    .evio-protocol-meta-grid
    .evio-form-group:first-child {
        grid-column: 1 / -1;
    }

}


@media (max-width: 600px) {

    .evio-protocol-item-header {
        padding: 16px;
    }

    .evio-protocol-item-body {
        padding: 16px;
    }

    .evio-protocol-meta-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .evio-protocol-meta-grid
    .evio-form-group:first-child {
        grid-column: auto;
    }

    .evio-protocol-minutes textarea {
        min-height: 140px;
    }

}

.evio-protocol-item-card {
    margin-bottom: 14px;
}

.evio-protocol-item-header {
    padding: 14px 20px;
}

.evio-protocol-item-body {
    padding: 18px 20px;
}

.evio-protocol-minutes textarea {
    min-height: 105px;
}

/* =========================================================
   PROTOKOLL – BESCHLUSS UND PENDENZ
   ========================================================= */


/*
------------------------------------------------------------
Schlagwort
------------------------------------------------------------
*/

.evio-protocol-keywords {
    margin-bottom: 18px !important;
}


/*
------------------------------------------------------------
Protokolltext
------------------------------------------------------------
*/

.evio-protocol-minutes {
    margin-bottom: 20px !important;
}

.evio-protocol-minutes textarea {
    min-height: 105px;
}


/*
------------------------------------------------------------
Unterbereiche
------------------------------------------------------------
*/

.evio-protocol-subsection {
    margin-top: 18px;
    padding: 16px 18px;
    border: 1px solid #d7deeb;
    border-radius: 10px;
    background: #f8faff;
}


/*
------------------------------------------------------------
Kopf Beschluss / Pendenz
------------------------------------------------------------
*/

.evio-protocol-subsection-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 14px;
}

.evio-protocol-subsection-header > div {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.evio-protocol-subsection-header strong {
    font-size: 14px;
    line-height: 1.3;
    color: #18234a;
}

.evio-protocol-subsection-header span {
    font-size: 11px;
    line-height: 1.4;
    color: #61708a;
}


/*
------------------------------------------------------------
Checkbox Beschluss
------------------------------------------------------------
*/

.evio-protocol-checkbox {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    cursor: pointer;
    font-size: 12px;
    font-weight: 600;
}

.evio-protocol-checkbox input {
    width: 16px;
    height: 16px;
    margin: 0;
}


/*
------------------------------------------------------------
Textfelder in Unterbereichen
------------------------------------------------------------
*/

.evio-protocol-subsection textarea {
    min-height: 72px;
    resize: vertical;
}

.evio-protocol-task textarea {
    min-height: 58px;
}


/*
------------------------------------------------------------
Pendenz: Verantwortlich / Fällig
------------------------------------------------------------
*/

.evio-protocol-task-grid {
    display: grid;
    grid-template-columns: minmax(260px, 2fr) minmax(180px, 1fr);
    gap: 18px;
    margin-top: 14px;
}


/*
------------------------------------------------------------
Abstände der Formularfelder
------------------------------------------------------------
*/

.evio-protocol-subsection .evio-form-group {
    margin: 0;
}

.evio-protocol-subsection .evio-form-group label {
    display: block;
    margin-bottom: 7px;
}


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

@media (max-width: 700px) {

    .evio-protocol-subsection-header {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }

    .evio-protocol-task-grid {
        grid-template-columns: 1fr;
    }

}

/* Protokoll kompakter */

.evio-protocol-decision textarea {
    min-height: 58px;
}

.evio-protocol-task textarea {
    min-height: 52px;
}


/* Platz für fixe Speicherleiste */

.evio-protocol-page {
    padding-bottom: 110px;
}


/* =========================================================
   PROTOKOLL – VORSCHAU
   ========================================================= */


/* ---------------------------------------------------------
   Seite
   --------------------------------------------------------- */

.evio-protocol-preview {
    max-width: 1180px;
    margin: 0 auto;
    padding-bottom: 80px;
}


/* ---------------------------------------------------------
   Navigation
   --------------------------------------------------------- */

.evio-preview-navigation {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px;
}


/* ---------------------------------------------------------
   Dokument
   --------------------------------------------------------- */

.evio-preview-document {
    max-width: 920px;
    margin: 0 auto;
    padding: 54px 64px 64px;

    background: #ffffff;

    border: 1px solid #d7deeb;
    border-radius: 12px;

    box-shadow:
        0 8px 28px
        rgba(31, 42, 68, 0.08);
}


/* ---------------------------------------------------------
   Dokumentkopf
   --------------------------------------------------------- */

.evio-preview-header {
    padding-bottom: 28px;
    margin-bottom: 30px;

    border-bottom: 2px solid #4f46f5;
}


.evio-preview-organization {
    margin: 0 0 14px;

    font-size: 12px;
    font-weight: 600;

    color: #52627a;
}


.evio-preview-header h1 {
    margin: 0;

    font-size: 32px;
    line-height: 1.15;
}


.evio-preview-header h2 {
    margin: 7px 0 24px;

    font-size: 20px;
    line-height: 1.3;

    color: #172554;
}


/* ---------------------------------------------------------
   Event-Metadaten
   --------------------------------------------------------- */

.evio-preview-event-meta {
    display: grid;

    grid-template-columns:
        0.8fr
        1.2fr
        2fr;

    gap: 22px;
}


.evio-preview-event-meta div {
    display: flex;
    flex-direction: column;
    gap: 3px;
}


.evio-preview-event-meta strong {
    font-size: 11px;

    text-transform: uppercase;
    letter-spacing: 0.04em;

    color: #52627a;
}


.evio-preview-event-meta span {
    font-size: 13px;
}


/* ---------------------------------------------------------
   Abschnitte
   --------------------------------------------------------- */

.evio-preview-section {
    margin-top: 32px;
}


.evio-preview-section > h2 {
    margin: 0 0 18px;

    padding-bottom: 8px;

    font-size: 19px;
    line-height: 1.3;

    color: #172554;

    border-bottom: 1px solid #d7deeb;
}


/* ---------------------------------------------------------
   Sitzungsangaben
   --------------------------------------------------------- */

.evio-preview-definition-list {
    display: grid;

    grid-template-columns: 170px 1fr;

    column-gap: 24px;
    row-gap: 7px;

    margin: 0;
}


.evio-preview-definition-list dt {
    margin: 0;

    font-size: 12px;
    font-weight: 600;

    color: #52627a;
}


.evio-preview-definition-list dd {
    margin: 0;

    font-size: 13px;
}


/* ---------------------------------------------------------
   Teilnehmende
   --------------------------------------------------------- */

.evio-preview-participant-group {
    margin-bottom: 18px;
}


.evio-preview-participant-group h3 {
    margin: 0 0 7px;

    font-size: 13px;
    color: #172554;
}


.evio-preview-participant-group ul {
    margin: 0;
    padding-left: 20px;
}


.evio-preview-participant-group li {
    margin: 3px 0;
    font-size: 13px;
}


.evio-preview-muted {
    color: #66758d;
}


.evio-preview-summary {
    margin-top: 16px;

    padding: 9px 12px;

    font-size: 12px;

    background: #f6f8fc;
    border-radius: 6px;
}


/* ---------------------------------------------------------
   Traktanden
   --------------------------------------------------------- */

.evio-preview-agenda {
    margin-top: 38px;
}


.evio-preview-agenda-item {
    margin: 0;
    padding: 22px 0 26px;

    border-bottom: 1px solid #d7deeb;
}


.evio-preview-agenda-item:last-child {
    border-bottom: 0;
}


.evio-preview-agenda-header {
    margin-bottom: 13px;
}


.evio-preview-agenda-header span {
    display: block;

    margin-bottom: 3px;

    font-size: 10px;
    font-weight: 600;

    text-transform: uppercase;
    letter-spacing: 0.05em;

    color: #4f46f5;
}


.evio-preview-agenda-header h3 {
    margin: 0;

    font-size: 16px;
    line-height: 1.35;

    color: #172554;
}


/* ---------------------------------------------------------
   Schlagwort
   --------------------------------------------------------- */

.evio-preview-keywords {
    display: inline-block;

    margin: 0 0 13px;
    padding: 4px 8px;

    font-size: 10px;
    font-weight: 600;

    color: #4f46f5;

    background: #f0f1ff;
    border-radius: 5px;
}


/* ---------------------------------------------------------
   Protokolltext
   --------------------------------------------------------- */

.evio-preview-minutes {
    margin: 10px 0 16px;

    font-size: 13px;
    line-height: 1.65;
}


/* ---------------------------------------------------------
   Beschluss
   --------------------------------------------------------- */

.evio-preview-decision {
    margin-top: 16px;
    padding: 12px 15px;

    background: #f2f4ff;

    border-left: 4px solid #4f46f5;
    border-radius: 5px;
}


.evio-preview-decision > strong {
    display: block;

    margin-bottom: 5px;

    font-size: 12px;

    color: #172554;
}


.evio-preview-decision p {
    margin: 0;

    font-size: 13px;
    line-height: 1.55;
}


/* ---------------------------------------------------------
   Pendenz
   --------------------------------------------------------- */

.evio-preview-task {
    margin-top: 12px;
    padding: 12px 15px;

    background: #f7f8fb;

    border: 1px solid #d7deeb;
    border-radius: 5px;
}


.evio-preview-task > strong {
    display: block;

    margin-bottom: 5px;

    font-size: 12px;

    color: #172554;
}


.evio-preview-task p {
    margin: 0 0 10px;

    font-size: 13px;
    line-height: 1.55;
}


.evio-preview-task dl {
    display: grid;

    grid-template-columns:
        110px 1fr;

    gap: 4px 14px;

    margin: 10px 0 0;
}


.evio-preview-task dt {
    font-size: 11px;
    font-weight: 600;

    color: #66758d;
}


.evio-preview-task dd {
    margin: 0;

    font-size: 12px;
}


/* ---------------------------------------------------------
   Footer / Unterschriften
   --------------------------------------------------------- */

.evio-preview-footer {
    margin-top: 48px;
    padding-top: 22px;

    border-top: 2px solid #172554;
}


.evio-preview-footer > p {
    margin: 0 0 32px;

    font-size: 12px;
    font-weight: 600;
}


.evio-preview-signatures {
    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 70px;
}


.evio-preview-signatures > div {
    padding-top: 34px;

    border-top: 1px solid #aeb8c9;
}


.evio-preview-signatures span {
    display: block;

    margin-bottom: 3px;

    font-size: 10px;

    color: #66758d;
}


.evio-preview-signatures strong {
    font-size: 12px;
}


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

@media (max-width: 800px) {

    .evio-preview-document {
        padding: 32px 26px 42px;
    }


    .evio-preview-event-meta {
        grid-template-columns: 1fr;
        gap: 10px;
    }


    .evio-preview-definition-list {
        grid-template-columns: 1fr;
        row-gap: 2px;
    }


    .evio-preview-definition-list dd {
        margin-bottom: 10px;
    }


    .evio-preview-signatures {
        grid-template-columns: 1fr;
        gap: 35px;
    }

}


/* ---------------------------------------------------------
   Drucken
   --------------------------------------------------------- */

@media print {

    body {
        background: #ffffff;
    }


    .evio-preview-navigation {
        display: none;
    }


    .evio-protocol-preview {
        max-width: none;
        padding: 0;
    }


    .evio-preview-document {
        max-width: none;

        margin: 0;
        padding: 0;

        border: 0;
        border-radius: 0;
        box-shadow: none;
    }


    .evio-preview-agenda-item {
        break-inside: avoid;
    }


    .evio-preview-decision,
    .evio-preview-task {
        break-inside: avoid;
    }

}

/* =========================================================
   PROTOKOLL – MARKDOWN-TOOLBAR UND TRAKTANDEN-NAVIGATION
   ========================================================= */

.evio-markdown-toolbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0 0 8px 0;
    padding: 6px;
    border: 1px solid #d7ddeb;
    border-radius: 8px;
    background: #f7f8fc;
}

.evio-markdown-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 32px;
    padding: 0 9px;
    border: 1px solid #cbd3e4;
    border-radius: 6px;
    background: #ffffff;
    color: #18214a;
    font: inherit;
    font-size: 13px;
    cursor: pointer;
}

.evio-markdown-button:hover {
    border-color: var(--evio-primary);
    background: #f0f1ff;
}

.evio-markdown-button:focus-visible {
    outline: 2px solid var(--evio-primary);
    outline-offset: 2px;
}

.evio-markdown-button-text { min-width: auto; }

.evio-markdown-separator {
    width: 1px;
    height: 22px;
    margin: 0 2px;
    background: #d7ddeb;
}

.evio-markdown-textarea {
    font-family: inherit;
    line-height: 1.55;
    tab-size: 4;
}

.evio-protocol-edit-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 250px;
    gap: 24px;
    align-items: start;
}

.evio-protocol-edit-main { min-width: 0; }

.evio-protocol-item-card {
    scroll-margin-top: 22px;
}

.evio-protocol-jumpnav {
    position: sticky;
    top: 20px;
    min-width: 0;
}

.evio-protocol-jumpnav-inner {
    overflow: hidden;
    max-height: calc(100vh - 40px);
    background: var(--evio-surface);
    border: 1px solid var(--evio-border);
    border-radius: var(--evio-radius);
    box-shadow: 0 1px 2px rgba(16,24,40,0.04);
}

.evio-protocol-jumpnav-title {
    padding: 14px 15px 11px;
    border-bottom: 1px solid var(--evio-border);
    color: var(--evio-text-muted);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.evio-protocol-jumpnav nav {
    max-height: calc(100vh - 92px);
    overflow-y: auto;
    padding: 7px;
}

.evio-protocol-jumpnav-link {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 8px;
    align-items: center;
    min-height: 40px;
    padding: 7px 8px;
    border-radius: 8px;
    color: var(--evio-text-muted);
    text-decoration: none;
    font-size: 12px;
    line-height: 1.3;
    transition: background 0.15s ease, color 0.15s ease;
}

.evio-protocol-jumpnav-link:hover {
    background: #f2f4f7;
    color: var(--evio-text);
}

.evio-protocol-jumpnav-link.is-active {
    background: #eef2ff;
    color: var(--evio-primary);
    font-weight: 600;
}

.evio-protocol-jumpnav-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 25px;
    padding: 0 6px;
    border-radius: 6px;
    background: #f2f4f7;
    color: #475467;
    font-size: 11px;
    font-weight: 700;
}

.evio-protocol-jumpnav-link.is-active .evio-protocol-jumpnav-number {
    background: var(--evio-primary);
    color: #ffffff;
}

.evio-protocol-jumpnav-text {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 1150px) {
    .evio-protocol-edit-layout {
        grid-template-columns: minmax(0, 1fr) 210px;
        gap: 18px;
    }

    .evio-protocol-jumpnav-link {
        grid-template-columns: 38px minmax(0, 1fr);
    }
}

@media (max-width: 900px) {
    .evio-protocol-edit-layout {
        display: block;
    }

    .evio-protocol-jumpnav {
        display: none;
    }
}


.evio-protocol-item-meta-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    align-items: end;
    margin-bottom: 20px;
}

.evio-protocol-item-meta-grid .evio-form-group {
    min-width: 0;
}

.evio-protocol-item-meta-grid select {
    width: 100%;
}

@media (max-width: 700px) {
    .evio-protocol-item-meta-grid {
        grid-template-columns: 1fr;
    }
}

.evio-sidebar-user a {
    display: inline-block;
    margin-top: 3px;
    color: #ffffff;
    text-decoration: none;
    font-size: 0.82rem;
    opacity: 0.8;
}

.evio-sidebar-user a:hover {
    opacity: 1;
    text-decoration: underline;
}

/* ==================================================
   STWE – Eigentümer-Vorschau in den Eventdetails
   ================================================== */

.evio-stowe-owner-preview
{
    max-height: 340px;
    overflow-y: auto;
    overflow-x: auto;
}

.evio-stowe-owner-preview .evio-table
{
    margin: 0;
}

.evio-stowe-owner-preview .evio-table thead th
{
    position: sticky;
    top: 0;
    z-index: 3;

    background: #f8f9fc;

    box-shadow:
        0 1px 0 var(--evio-border);
}



/* ==================================================
   Nemio Public Event – Architektur-UI
================================================== */

.evio-public-event-id {
    font-size: 12px;
    margin-bottom: 10px;
    opacity: 0.6;
}

.evio-saving-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 9999;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    background: rgba(255, 255, 255, 0.8);
    font-size: 18px;
}

.evio-saving-spinner {
    width: 50px;
    height: 50px;
    margin-bottom: 15px;
    border: 6px solid #ddd;
    border-top-color: currentColor;
    border-radius: 50%;
    animation: nemio-spin 0.8s linear infinite;
}

@keyframes nemio-spin {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}


/* ==================================================
   NEMIO PUBLIC – E-MAIL-VERIFIKATION
================================================== */

.evio-auth-card
{
    overflow: hidden;

    max-width: 720px;

    margin: 0 auto;

    background:
        var(--evio-surface);

    border:
        1px solid var(--evio-border);

    border-radius:
        var(--evio-radius);

    box-shadow:
        0 8px 28px rgba(16,24,40,0.08);
}


.evio-auth-card-header
{
    display: flex;

    align-items: flex-start;
    justify-content: space-between;

    gap: 24px;

    padding: 22px 26px;

    background:
        linear-gradient(
            90deg,
            #eef2ff 0%,
            #f8f9ff 65%,
            #ffffff 100%
        );

    border-bottom:
        1px solid var(--evio-border);
}


.evio-auth-card-header h2
{
    margin: 0;

    color: #312e81;

    font-size: 18px;
    font-weight: 700;
}


.evio-auth-card-header p
{
    margin: 6px 0 0;

    color:
        var(--evio-text-muted);

    font-size: 13px;
    line-height: 1.5;
}


.evio-auth-step
{
    display: inline-flex;

    align-items: center;

    min-height: 26px;

    padding: 0 10px;

    flex: 0 0 auto;

    border-radius: 999px;

    background: #ffffff;

    color:
        var(--evio-primary);

    font-size: 11px;
    font-weight: 700;

    white-space: nowrap;
}


.evio-auth-card-body
{
    padding: 26px;
}


.evio-auth-field
{
    max-width: 420px;
}


.evio-auth-card
.evio-field input[type="text"]
{
    display: block;

    width: 100%;

    height: 44px;

    margin: 0;

    padding: 10px 12px;

    border:
        1px solid var(--evio-border);

    border-radius: 8px;

    background: white;

    color:
        var(--evio-text);

    font-family: inherit;
    font-size: 14px;

    outline: none;
}


.evio-auth-card
.evio-field input[type="text"]:focus
{
    border-color:
        var(--evio-primary);

    box-shadow:
        0 0 0 3px rgba(79,70,229,0.10);
}


.evio-auth-card
input[name="mid"]
{
    width: 160px !important;
}


.evio-auth-code
{
    width: 170px !important;

    font-size: 20px !important;

    font-weight: 700;

    letter-spacing: 0.18em;
}


.evio-auth-actions
{
    display: flex;

    gap: 10px;

    margin-top: 22px;
}


.evio-auth-secondary-actions
{
    display: flex;

    flex-wrap: wrap;

    gap: 10px;

    margin-top: 24px;
    padding-top: 20px;

    border-top:
        1px solid var(--evio-border);
}


.evio-auth-secondary-actions form
{
    margin: 0;
    padding: 0;
}


.evio-auth-intro
{
    max-width: 620px;

    margin: 0 0 22px;

    color:
        var(--evio-text-muted);

    font-size: 14px;
    line-height: 1.55;
}


@media
(max-width: 700px)
{
    .evio-auth-card-header
    {
        flex-direction: column;

        gap: 12px;

        padding: 20px;
    }


    .evio-auth-card-body
    {
        padding: 20px;
    }


    .evio-auth-secondary-actions
    {
        flex-direction: column;
    }


    .evio-auth-secondary-actions
    .evio-button
    {
        width: 100%;

        justify-content: center;
    }
}


/* ==================================================
   NEMIO PUBLIC FORMS
================================================== */

.evio-public-form-grid
{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 20px;
}

.evio-public-form-grid label
{
    display: block;
    margin-bottom: 6px;
    font-weight: 700;
}

.evio-public-form-grid input
{
    width: 100%;
    box-sizing: border-box;
}

.evio-public-person-count
{
    width: 120px !important;
}

.evio-public-notes
{
    min-height: 60px;
    width: 50%;
}

.evio-public-form-actions
{
    display: flex;
    gap: 10px;
    align-items: center;
    margin-top: 20px;
}

@media (max-width: 700px)
{
    .evio-public-form-grid
    {
        grid-template-columns: 1fr;
    }

    .evio-public-notes
    {
        width: 100%;
    }

    .evio-public-form-actions
    {
        flex-direction: column;
        align-items: stretch;
    }
}


/* ==================================================
   NEMIO – REGISTRATION RESULT
================================================== */

.evio-registration-result
{
    overflow: hidden;
    margin-top: 20px;
    background: var(--evio-surface);
    border: 1px solid var(--evio-border);
    border-radius: var(--evio-radius);
}

.evio-registration-result-header
{
    padding: 20px 24px;
    background: #f0fdf4;
    border-bottom: 1px solid var(--evio-border);
}

.evio-registration-result-header h2
{
    margin: 0;
    font-size: 18px;
}

.evio-registration-result-header p
{
    margin: 5px 0 0;
    color: var(--evio-text-muted);
}

.evio-registration-result-body
{
    padding: 22px 24px;
}

.evio-registration-summary
{
    margin: 0 0 20px;
}

.evio-registration-summary > div
{
    display: grid;
    grid-template-columns: minmax(140px, 220px) 1fr;
    gap: 18px;
    padding: 10px 0;
    border-bottom: 1px solid var(--evio-border);
}

.evio-registration-summary dt
{
    font-weight: 700;
}

.evio-registration-summary dd
{
    margin: 0;
}

.evio-registration-result-actions
{
    margin-top: 20px;
}

@media (max-width: 700px)
{
    .evio-registration-summary > div
    {
        grid-template-columns: 1fr;
        gap: 3px;
    }
}

/* =========================================================
   NEMIO – PROTOKOLL-EDITOR: HOHER KONTRAST
   ========================================================= */

.evio-protocol-item-card {
    background:#fff;
    border:1px solid #b9c4d6;
    box-shadow:0 2px 6px rgba(16,24,40,.08),0 10px 28px rgba(49,46,129,.05);
}

.evio-protocol-item-header {
    background:linear-gradient(135deg,#3730a3 0%,#4338ca 48%,#4f46e5 100%);
    border-bottom:1px solid #312e81;
}

.evio-protocol-item-header h2,
.evio-protocol-item-header .evio-protocol-item-number {
    color:#fff;
}

.evio-protocol-item-header .evio-protocol-item-number {
    opacity:.85;
}

.evio-protocol-item-body {
    background:#fff;
}

.evio-protocol-item-body label,
.evio-protocol-subsection label {
    color:#101828;
    font-weight:700;
}

.evio-protocol-item-body input,
.evio-protocol-item-body select,
.evio-protocol-item-body textarea,
.evio-protocol-subsection input,
.evio-protocol-subsection select,
.evio-protocol-subsection textarea {
    border-color:#b8c3d6;
    background:#fff;
    color:#101828;
    box-shadow:inset 0 1px 2px rgba(16,24,40,.035);
}

.evio-protocol-item-body input:focus,
.evio-protocol-item-body select:focus,
.evio-protocol-item-body textarea:focus,
.evio-protocol-subsection input:focus,
.evio-protocol-subsection select:focus,
.evio-protocol-subsection textarea:focus {
    border-color:#4f46e5;
    box-shadow:0 0 0 3px rgba(79,70,229,.16);
}

.evio-markdown-toolbar {
    background:#eef1f7;
    border-color:#bcc6d8;
}

.evio-markdown-button {
    background:#fff;
    border-color:#b5bfd1;
    color:#101828;
    font-weight:600;
}

.evio-markdown-button:hover {
    background:#e7eaff;
    border-color:#6366f1;
    color:#312e81;
}

.evio-markdown-separator {
    background:#aeb8ca;
}

.evio-protocol-subsection.evio-protocol-decision,
.evio-protocol-decision {
    position:relative;
    background:linear-gradient(90deg,#eef2ff 0%,#f6f7ff 70%,#fff 100%);
    border:1px solid #aab5ff;
    border-left:5px solid #4f46e5;
    box-shadow:0 1px 3px rgba(79,70,229,.06);
}

.evio-protocol-decision .evio-protocol-subsection-header strong {
    color:#1e1b4b;
}

.evio-protocol-decision .evio-protocol-subsection-header span {
    color:#4b556f;
}

.evio-protocol-decision textarea {
    border-color:#aeb8df;
}

.evio-protocol-decision .evio-protocol-checkbox {
    color:#312e81;
}

.evio-protocol-decision .evio-protocol-checkbox input {
    accent-color:#4f46e5;
}

.evio-protocol-subsection.evio-protocol-task,
.evio-protocol-task {
    position:relative;
    background:linear-gradient(90deg,#fff8e6 0%,#fffbf2 72%,#fff 100%);
    border:1px solid #f3cc78;
    border-left:5px solid #f59e0b;
    box-shadow:0 1px 3px rgba(245,158,11,.07);
}

.evio-protocol-task .evio-protocol-subsection-header strong {
    color:#78350f;
}

.evio-protocol-task .evio-protocol-subsection-header span {
    color:#745626;
}

.evio-protocol-task input,
.evio-protocol-task select,
.evio-protocol-task textarea {
    border-color:#d8c28e;
}

.evio-protocol-jumpnav-inner {
    border-color:#b8c3d6;
    box-shadow:0 3px 10px rgba(16,24,40,.08);
}

.evio-protocol-jumpnav-title {
    background:#f1f3f8;
    color:#475467;
    border-bottom-color:#b8c3d6;
}

.evio-protocol-jumpnav-link {
    color:#475467;
}

.evio-protocol-jumpnav-link:hover {
    background:#e9ecf4;
    color:#101828;
}

.evio-protocol-jumpnav-number {
    background:#e9edf4;
    color:#344054;
}

.evio-protocol-jumpnav-link.is-active {
    background:linear-gradient(90deg,#4338ca 0%,#4f46e5 100%);
    color:#fff;
    font-weight:700;
    box-shadow:0 2px 6px rgba(79,70,229,.20);
}

.evio-protocol-jumpnav-link.is-active .evio-protocol-jumpnav-number {
    background:#312e81;
    color:#fff;
}

.evio-protocol-jumpnav-link.is-active .evio-protocol-jumpnav-text {
    color:#fff;
}

.evio-protocol-page .evio-save-bar {
    background:rgba(255,255,255,.98);
    border-color:#b8c3d6;
    box-shadow:0 -2px 6px rgba(16,24,40,.05),0 10px 30px rgba(16,24,40,.16);
}

.evio-protocol-page .evio-save-bar strong {
    color:#101828;
    font-weight:700;
}

.evio-protocol-page .evio-button:not(.evio-button-secondary) {
    background:#4f46e5;
}

.evio-protocol-page .evio-button:not(.evio-button-secondary):hover {
    background:#3730a3;
}

.evio-protocol-page .evio-button-secondary {
    border-color:#b4bfd0;
    color:#101828;
}

.evio-protocol-page .evio-button-secondary:hover {
    background:#eef2ff;
    border-color:#818cf8;
    color:#312e81;
}

.evio-protocol-page textarea::placeholder,
.evio-protocol-page input::placeholder {
    color:#667085;
    opacity:1;
}

@media (max-width:700px) {
    .evio-protocol-item-card {
        box-shadow:0 2px 6px rgba(16,24,40,.08);
    }

    .evio-protocol-subsection.evio-protocol-decision,
    .evio-protocol-subsection.evio-protocol-task {
        border-left-width:4px;
    }
}

/* ==================================================
   NEMIO – TEILNEHMERTABELLE KOMPAKT
   Nur Teilnehmerverwaltung; andere Tabellen bleiben unverändert.
   ================================================== */

/* Inline-Formulare in den Aktionszellen dürfen nicht das globale
   .evio-card form { padding: 20px; } übernehmen. */
.evio-participants-card .evio-row-actions form
{
    display: inline;
    margin: 0;
    padding: 0 !important;
}

/* Kopfbereich kompakter */
.evio-participants-card .evio-participants-toolbar
{
    padding: 12px 16px;
    gap: 18px;
}

.evio-participants-card .evio-participants-toolbar h2
{
    font-size: 15px;
}

.evio-participants-card .evio-participants-toolbar p
{
    margin-top: 3px;
}

/* Suche kleiner */
.evio-participants-card .evio-table-search
{
    width: 300px;
}

.evio-participants-card .evio-table-search input
{
    height: 34px;
    font-size: 12px;
}

/* Filterzeile kompakter */
.evio-participants-card .evio-participant-controls
{
    margin-bottom: 6px;
}

.evio-participants-card .evio-filter-chip
{
    min-height: 30px;
    padding: 4px 9px;
    font-size: 12px;
}

.evio-participants-card .evio-filter-count
{
    min-width: 19px;
    height: 19px;
    padding: 0 5px;
    font-size: 10px;
}

/* Tabellenkopf und Zeilen deutlich kompakter */
.evio-participants-card .evio-data-table th
{
    padding: 7px 12px;
    font-size: 9px;
}

.evio-participants-card .evio-data-table td
{
    padding: 7px 12px;
    font-size: 12px;
    line-height: 1.2;
}

.evio-participants-card .evio-data-table tbody tr
{
    height: 42px;
}

/* Checkboxspalte schmal */
.evio-participants-card .evio-selection-column
{
    width: 38px;
}

/* Status-Badges kleiner */
.evio-participants-card .evio-status-badge
{
    min-height: 24px;
    padding: 3px 8px;
    font-size: 11px;
}

/* Aktionen kleiner und ohne zusätzliche Höhe */
.evio-participants-card .evio-row-actions
{
    width: 1%;
    white-space: nowrap;
}

.evio-participants-card .evio-action-group
{
    gap: 6px;
}

.evio-participants-card .evio-table-action
{
    min-height: 28px;
    padding: 0 8px;
    font-size: 10px;
}

.evio-participants-card .evio-table-action-danger
{
    margin-left: 0;
}

@media (max-width: 700px)
{
    .evio-participants-card .evio-participants-toolbar
    {
        padding: 12px;
    }

    .evio-participants-card .evio-table-search
    {
        width: 100%;
    }
}

