/* /Components/Layout/AdminLayout.razor.rz.scp.css */
/* =========================================================
   ADMIN LAYOUT
   ========================================================= */

.admin-layout[b-mh8ttokmp6] {
    min-height: 100vh;
    min-height: 100dvh;
    background: radial-gradient( circle at 70% -10%, rgba(111, 78, 246, 0.08), transparent 35% ), #f7f7fa;
    color: #17171c;
}


/* =========================================================
   TOP BAR
   ========================================================= */

.admin-topbar[b-mh8ttokmp6] {
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 28px;
    background: #111827;
    border-bottom: 1px solid #263247;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.12);
    position: sticky;
    top: 0;
    z-index: 10;
}


/* =========================================================
   BRAND
   ========================================================= */

.admin-brand[b-mh8ttokmp6] {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    color: #ffffff;
    text-decoration: none;
    transition: opacity .15s, transform .15s;
}

    .admin-brand:hover[b-mh8ttokmp6] {
        color: #ffffff;
        opacity: .88;
    }

    .admin-brand:active[b-mh8ttokmp6] {
        transform: scale(.98);
    }


.admin-brand-icon[b-mh8ttokmp6] {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    background: #ffffff;
    color: #111827;
    box-shadow: 0 7px 18px rgba(0, 0, 0, 0.20);
}

    .admin-brand-icon i[b-mh8ttokmp6] {
        font-size: 19px;
    }


.admin-brand-name[b-mh8ttokmp6] {
    font-size: 18px;
    font-weight: 800;
    letter-spacing: -.5px;
    line-height: 1.1;
    color: #ffffff;
}

.admin-brand-subtitle[b-mh8ttokmp6] {
    margin-top: 3px;
    color: #9ca8ba;
    font-size: 10px;
    font-weight: 600;
}


/* =========================================================
   USER
   ========================================================= */

.admin-user[b-mh8ttokmp6] {
    display: flex;
    align-items: center;
    gap: 18px;
}


.admin-user-info[b-mh8ttokmp6] {
    display: flex;
    align-items: center;
    gap: 10px;
}


.admin-user-icon[b-mh8ttokmp6] {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(111, 78, 246, 0.18);
    color: #a995ff;
}

    .admin-user-icon i[b-mh8ttokmp6] {
        font-size: 16px;
    }


.admin-user-details[b-mh8ttokmp6] {
    min-width: 0;
}


.admin-user-label[b-mh8ttokmp6] {
    color: #8f9bad;
    font-size: 9px;
    font-weight: 650;
    line-height: 1.2;
}



.admin-user-email[b-mh8ttokmp6] {
    max-width: 240px;
    margin-top: 3px;
    color: #ffffff;
    font-size: 12px;
    font-weight: 650;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


/* =========================================================
   LOGOUT
   ========================================================= */

.admin-logout-form[b-mh8ttokmp6] {
    margin: 0;
}


.admin-logout-button[b-mh8ttokmp6] {
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 13px;
    border: 1px solid #344158;
    border-radius: 11px;
    background: #1a2435;
    color: #d7dce5;
    font-family: inherit;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
    transition: background .15s, border-color .15s, color .15s, transform .15s;
}

    .admin-logout-button i[b-mh8ttokmp6] {
        font-size: 14px;
    }

    .admin-logout-button:hover[b-mh8ttokmp6] {
        background: #243047;
        border-color: #45536b;
        color: #ffffff;
    }

    .admin-logout-button:active[b-mh8ttokmp6] {
        transform: scale(.97);
    }


/* =========================================================
   BODY
   ========================================================= */

.admin-body[b-mh8ttokmp6] {
    display: flex;
    min-height: calc(100vh - 72px);
    min-height: calc(100dvh - 72px);
}


/* =========================================================
   SIDEBAR
   ========================================================= */

.admin-sidebar[b-mh8ttokmp6] {
    position: sticky;
    top: 72px;
    align-self: flex-start;
    width: 260px;
    height: calc(100vh - 72px);
    height: calc(100dvh - 72px);
    flex-shrink: 0;
    overflow-y: auto;
    background: #182235;
    border-right: 1px solid #263247;
}


.admin-sidebar-inner[b-mh8ttokmp6] {
    min-height: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    padding: 26px 15px 110px;
}


.admin-sidebar-label[b-mh8ttokmp6] {
    padding: 0 12px;
    margin-bottom: 9px;
    color: #68758a;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1px;
}


/* =========================================================
   NAVIGATION
   ========================================================= */

.admin-navigation[b-mh8ttokmp6] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}


    .admin-navigation[b-mh8ttokmp6]  .admin-nav-link {
        min-height: 48px;
        display: flex;
        align-items: center;
        gap: 11px;
        padding: 0 12px;
        border-radius: 13px;
        color: #aeb8c8;
        text-decoration: none;
        font-size: 12px;
        font-weight: 650;
        transition: background .15s, color .15s, transform .15s;
    }

        .admin-navigation[b-mh8ttokmp6]  .admin-nav-link:hover {
            color: #ffffff;
            background: #202c40;
        }

        .admin-navigation[b-mh8ttokmp6]  .admin-nav-link.active {
            color: #ffffff;
            background: linear-gradient( 90deg, rgba(111, 78, 246, 0.22), rgba(111, 78, 246, 0.10) );
            font-weight: 750;
            box-shadow: inset 3px 0 0 #6f4ef6;
        }


    .admin-navigation[b-mh8ttokmp6]  .admin-nav-icon {
        width: 25px;
        height: 25px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        color: #8996aa;
    }

        .admin-navigation[b-mh8ttokmp6]  .admin-nav-icon i {
            font-size: 15px;
        }

    .admin-navigation[b-mh8ttokmp6]  .admin-nav-link.active .admin-nav-icon {
        color: #9b88ff;
    }


    .admin-navigation[b-mh8ttokmp6]  .admin-nav-text {
        flex: 1;
    }


    .admin-navigation[b-mh8ttokmp6]  .admin-nav-arrow {
        color: #58667a;
        font-size: 11px;
        transition: transform .15s, color .15s;
    }

    .admin-navigation[b-mh8ttokmp6]  .admin-nav-link.active .admin-nav-arrow {
        color: #9b88ff;
        transform: translateX(2px);
    }


    .admin-navigation[b-mh8ttokmp6]  .admin-nav-link.active .admin-nav-arrow {
        color: #9b88ff;
        transform: translateX(2px);
    }


/* =========================================================
   SIDEBAR FOOTER
   ========================================================= */

.admin-sidebar-footer[b-mh8ttokmp6] {
    display: flex;
    align-items: center;
    gap: 10px;
    position: fixed;
    left: 15px;
    bottom: 20px;
    z-index: 5;
    box-sizing: border-box;
    width: 230px;
    padding: 14px;
    border: 1px solid #28354a;
    border-radius: 15px;
    background: #141e2f;
}

.admin-sidebar-footer-icon[b-mh8ttokmp6] {
    width: 29px;
    height: 29px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 9px;
    background: rgba(111, 78, 246, 0.16);
    color: #9b88ff;
}

    .admin-sidebar-footer-icon i[b-mh8ttokmp6] {
        font-size: 13px;
    }

.admin-sidebar-footer-title[b-mh8ttokmp6] {
    color: #dbe1ea;
    font-size: 10px;
    font-weight: 750;
}

.admin-sidebar-footer-text[b-mh8ttokmp6] {
    margin-top: 3px;
    color: #758298;
    font-size: 9px;
    line-height: 1.35;
}

.admin-sidebar-footer-version[b-mh8ttokmp6] {
    margin-top: 5px;
    color: #9b88ff;
    font-size: 9px;
    font-weight: 650;
    line-height: 1.35;
}


/* =========================================================
   MAIN
   ========================================================= */

.admin-main[b-mh8ttokmp6] {
    min-width: 0;
    flex: 1;
    padding: 28px 32px;
}


.admin-main-content[b-mh8ttokmp6] {
    width: 100%;
    max-width: 1480px;
    margin: 0 auto;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 768px) {

    .admin-topbar[b-mh8ttokmp6] {
        height: 64px;
        padding: 0 16px;
    }


    .admin-brand-icon[b-mh8ttokmp6] {
        width: 38px;
        height: 38px;
        border-radius: 11px;
    }

        .admin-brand-icon i[b-mh8ttokmp6] {
            font-size: 17px;
        }


    .admin-brand-name[b-mh8ttokmp6] {
        font-size: 16px;
    }

    .admin-brand-subtitle[b-mh8ttokmp6] {
        display: none;
    }


    .admin-user[b-mh8ttokmp6] {
        gap: 8px;
    }


    .admin-user-info[b-mh8ttokmp6] {
        display: none;
    }


    .admin-logout-button[b-mh8ttokmp6] {
        width: 38px;
        height: 38px;
        padding: 0;
        border-radius: 11px;
    }

        .admin-logout-button span[b-mh8ttokmp6] {
            display: none;
        }

        .admin-logout-button i[b-mh8ttokmp6] {
            font-size: 15px;
        }


    .admin-body[b-mh8ttokmp6] {
        display: block;
        min-height: calc(100vh - 64px);
        min-height: calc(100dvh - 64px);
    }


    .admin-sidebar[b-mh8ttokmp6] {
        position: static;
        width: 100%;
        height: auto;
        overflow: visible;
        border-right: none;
        border-bottom: 1px solid #e9e9ee;
    }


    .admin-sidebar-inner[b-mh8ttokmp6] {
        min-height: 0;
        padding: 10px 12px;
    }


    .admin-sidebar-label[b-mh8ttokmp6],
    .admin-sidebar-footer[b-mh8ttokmp6] {
        display: none;
    }


    .admin-navigation[b-mh8ttokmp6] {
        flex-direction: row;
        gap: 6px;
    }


    .admin-nav-link[b-mh8ttokmp6] {
        min-height: 42px;
        flex: 1;
        justify-content: center;
        gap: 7px;
        padding: 0 10px;
        border-radius: 11px;
        font-size: 11px;
    }


    .admin-nav-icon[b-mh8ttokmp6] {
        width: auto;
        height: auto;
    }


        .admin-nav-icon i[b-mh8ttokmp6] {
            font-size: 14px;
        }


    .admin-nav-arrow[b-mh8ttokmp6] {
        display: none;
    }


    .admin-main[b-mh8ttokmp6] {
        min-width: 0;
        flex: 1;
        padding: 24px 20px 36px;
    }
}


@media (max-width: 380px) {

    .admin-brand-name[b-mh8ttokmp6] {
        font-size: 15px;
    }


    .admin-main[b-mh8ttokmp6] {
        padding-left: 12px;
        padding-right: 12px;
    }


    .admin-nav-link[b-mh8ttokmp6] {
        font-size: 10px;
    }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
#blazor-error-ui[b-g0eox45430] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-g0eox45430] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-q251c3sm7i],
.components-reconnect-repeated-attempt-visible[b-q251c3sm7i],
.components-reconnect-failed-visible[b-q251c3sm7i],
.components-pause-visible[b-q251c3sm7i],
.components-resume-failed-visible[b-q251c3sm7i],
.components-rejoining-animation[b-q251c3sm7i] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-q251c3sm7i],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-q251c3sm7i],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-q251c3sm7i],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-q251c3sm7i],
#components-reconnect-modal.components-reconnect-retrying[b-q251c3sm7i],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-q251c3sm7i],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-q251c3sm7i],
#components-reconnect-modal.components-reconnect-failed[b-q251c3sm7i],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-q251c3sm7i] {
    display: block;
}


#components-reconnect-modal[b-q251c3sm7i] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-q251c3sm7i 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-q251c3sm7i 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-q251c3sm7i 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-q251c3sm7i]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-q251c3sm7i 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-q251c3sm7i {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-q251c3sm7i {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-q251c3sm7i {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-q251c3sm7i] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-q251c3sm7i] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-q251c3sm7i] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-q251c3sm7i] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-q251c3sm7i] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-q251c3sm7i] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-q251c3sm7i] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-q251c3sm7i 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-q251c3sm7i] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-q251c3sm7i {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/Admin/Login.razor.rz.scp.css */
.login-page[b-qz6wgbt4pa] {
    min-height: calc(100vh - 1px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px 20px;
    background: radial-gradient( circle at top, rgba(13, 110, 253, 0.08), transparent 45% ), #f6f8fb;
}

.login-card[b-qz6wgbt4pa] {
    width: 100%;
    max-width: 440px;
    background: #ffffff;
    border-radius: 20px;
    padding: 40px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.08), 0 4px 12px rgba(0, 0, 0, 0.04);
}

.login-header[b-qz6wgbt4pa] {
    text-align: center;
    margin-bottom: 32px;
}

.login-logo[b-qz6wgbt4pa] {
    width: 64px;
    height: 64px;
    margin: 0 auto 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    background: linear-gradient( 135deg, #0d6efd, #4f8dfd );
    box-shadow: 0 10px 24px rgba(13, 110, 253, 0.25);
}

    .login-logo span[b-qz6wgbt4pa] {
        font-size: 30px;
    }

.login-header h1[b-qz6wgbt4pa] {
    margin: 0;
    font-size: 30px;
    font-weight: 700;
    letter-spacing: -0.5px;
    color: #172033;
}

.login-header p[b-qz6wgbt4pa] {
    margin: 7px 0 0;
    color: #7a8496;
    font-size: 15px;
}

/* =========================
   ALERTS
   ========================= */

.login-alert[b-qz6wgbt4pa] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 14px 16px;
    margin-bottom: 24px;
    border-radius: 12px;
    font-size: 14px;
}

    .login-alert strong[b-qz6wgbt4pa] {
        font-weight: 600;
    }

.login-alert-warning[b-qz6wgbt4pa] {
    background: #fff8e6;
    color: #8a6500;
    border: 1px solid #ffe6a3;
}

.login-alert-danger[b-qz6wgbt4pa] {
    background: #fff0f0;
    color: #a12828;
    border: 1px solid #ffcaca;
}

/* =========================
   FORM
   ========================= */

.login-form[b-qz6wgbt4pa] {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.login-field[b-qz6wgbt4pa] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

    .login-field label[b-qz6wgbt4pa] {
        font-size: 14px;
        font-weight: 600;
        color: #30394a;
    }

.login-input-wrapper[b-qz6wgbt4pa] {
    position: relative;
}

.login-input-icon[b-qz6wgbt4pa] {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 17px;
    pointer-events: none;
    opacity: 0.65;
}

.login-input[b-qz6wgbt4pa] {
    width: 100%;
    min-height: 52px;
    padding: 0 16px 0 46px;
    border: 1px solid #dce1e8;
    border-radius: 12px;
    background: #fbfcfe;
    color: #172033;
    font-size: 16px;
    outline: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
    box-sizing: border-box;
}

    .login-input[b-qz6wgbt4pa]::placeholder {
        color: #a0a8b5;
    }

    .login-input:hover[b-qz6wgbt4pa] {
        border-color: #c7ced9;
    }

    .login-input:focus[b-qz6wgbt4pa] {
        background: #ffffff;
        border-color: #0d6efd;
        box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.12);
    }

/* =========================
   BUTTON
   ========================= */

.login-button[b-qz6wgbt4pa] {
    width: 100%;
    min-height: 54px;
    margin-top: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    border: none;
    border-radius: 12px;
    background: linear-gradient( 135deg, #0d6efd, #287df5 );
    color: #ffffff;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(13, 110, 253, 0.22);
    transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
}

.login-button-arrow[b-qz6wgbt4pa] {
    position: absolute;
    right: 18px;
    font-size: 20px;
    transition: transform 0.15s ease;
}

.login-button:hover[b-qz6wgbt4pa] {
    filter: brightness(1.04);
    box-shadow: 0 10px 24px rgba(13, 110, 253, 0.28);
}

    .login-button:hover .login-button-arrow[b-qz6wgbt4pa] {
        transform: translateX(3px);
    }

.login-button:active[b-qz6wgbt4pa] {
    transform: translateY(1px);
}

/* =========================
   FOOTER
   ========================= */

.login-footer[b-qz6wgbt4pa] {
    margin-top: 28px;
    text-align: center;
    color: #9aa3b1;
    font-size: 12px;
    line-height: 1.5;
}

/* =========================
   TABLET
   ========================= */

@media (max-width: 600px) {

    .login-page[b-qz6wgbt4pa] {
        min-height: 100vh;
        padding: 20px 16px;
        align-items: center;
    }

    .login-card[b-qz6wgbt4pa] {
        max-width: 100%;
        padding: 32px 24px;
        border-radius: 18px;
    }

    .login-header[b-qz6wgbt4pa] {
        margin-bottom: 28px;
    }

    .login-logo[b-qz6wgbt4pa] {
        width: 58px;
        height: 58px;
        margin-bottom: 14px;
        border-radius: 16px;
    }

        .login-logo span[b-qz6wgbt4pa] {
            font-size: 27px;
        }

    .login-header h1[b-qz6wgbt4pa] {
        font-size: 27px;
    }

    .login-header p[b-qz6wgbt4pa] {
        font-size: 14px;
    }

    .login-input[b-qz6wgbt4pa] {
        min-height: 54px;
    }

    .login-button[b-qz6wgbt4pa] {
        min-height: 56px;
    }
}

/* =========================
   SMALL PHONES
   ========================= */

@media (max-width: 380px) {

    .login-page[b-qz6wgbt4pa] {
        padding: 16px 12px;
    }

    .login-card[b-qz6wgbt4pa] {
        padding: 28px 18px;
        border-radius: 16px;
    }

    .login-header h1[b-qz6wgbt4pa] {
        font-size: 25px;
    }

    .login-form[b-qz6wgbt4pa] {
        gap: 17px;
    }
}

/* =========================
   LARGE SCREENS
   ========================= */

@media (min-width: 1200px) {

    .login-card[b-qz6wgbt4pa] {
        max-width: 450px;
        padding: 44px;
    }
}
/* /Components/Pages/Admin/SetupPassword.razor.rz.scp.css */
.login-page[b-2cawoe2mpk] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px 20px;
    background: radial-gradient(circle at top, rgba(13, 110, 253, .08), transparent 45%), #f6f8fb;
}

.login-card[b-2cawoe2mpk] {
    width: 100%;
    max-width: 440px;
    padding: 40px;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 20px 50px rgba(0, 0, 0, .08), 0 4px 12px rgba(0, 0, 0, .04);
}

.login-header[b-2cawoe2mpk] { margin-bottom: 32px; text-align: center; }
.login-logo[b-2cawoe2mpk] {
    width: 64px; height: 64px; margin: 0 auto 18px; display: flex;
    align-items: center; justify-content: center; border-radius: 18px;
    background: linear-gradient(135deg, #0d6efd, #4f8dfd);
    box-shadow: 0 10px 24px rgba(13, 110, 253, .25);
}
.login-logo span[b-2cawoe2mpk] { color: #fff; font-size: 30px; }
.login-header h1[b-2cawoe2mpk] { margin: 0; color: #172033; font-size: 30px; font-weight: 700; letter-spacing: -.5px; }
.login-header p[b-2cawoe2mpk] { margin: 7px 0 0; color: #7a8496; font-size: 15px; }

.login-alert[b-2cawoe2mpk] {
    display: flex; flex-direction: column; gap: 3px; margin-bottom: 24px;
    padding: 14px 16px; border: 1px solid #ffcaca; border-radius: 12px;
    background: #fff0f0; color: #a12828; font-size: 14px;
}
.login-alert strong[b-2cawoe2mpk] { font-weight: 600; }

.login-form[b-2cawoe2mpk] { display: flex; flex-direction: column; gap: 20px; }
.login-field[b-2cawoe2mpk] { display: flex; flex-direction: column; gap: 8px; }
.login-field label[b-2cawoe2mpk] { color: #30394a; font-size: 14px; font-weight: 600; }
.login-input[b-2cawoe2mpk] {
    box-sizing: border-box; width: 100%; min-height: 52px; padding: 0 16px;
    border: 1px solid #dce1e8; border-radius: 12px; outline: none;
    background: #fbfcfe; color: #172033; font-size: 16px;
    transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.login-input:hover[b-2cawoe2mpk] { border-color: #c7ced9; }
.login-input:focus[b-2cawoe2mpk] { border-color: #0d6efd; background: #fff; box-shadow: 0 0 0 3px rgba(13, 110, 253, .12); }
.login-readonly-input[b-2cawoe2mpk], .login-readonly-input:hover[b-2cawoe2mpk], .login-readonly-input:focus[b-2cawoe2mpk] {
    border-color: #e5e8ee; background: #f2f4f7; color: #747d8c;
    box-shadow: none; cursor: default;
}

.password-requirements[b-2cawoe2mpk] {
    display: grid; grid-template-columns: 1fr 1fr; gap: 7px 12px;
    margin: 2px 0 0; padding: 0; list-style: none;
}
.password-requirements li[b-2cawoe2mpk], .password-match[b-2cawoe2mpk] {
    display: flex; align-items: center; gap: 7px; font-size: 12px; line-height: 1.4;
}
.requirement-met[b-2cawoe2mpk] { color: #23834d; }
.requirement-missing[b-2cawoe2mpk] { color: #c53d49; }
.password-requirements i[b-2cawoe2mpk], .password-match i[b-2cawoe2mpk] { font-size: 13px; }
.password-match[b-2cawoe2mpk] { min-height: 18px; }

.login-button[b-2cawoe2mpk] {
    position: relative; display: flex; align-items: center; justify-content: center;
    width: 100%; min-height: 54px; margin-top: 4px; border: 0; border-radius: 12px;
    background: linear-gradient(135deg, #0d6efd, #287df5); color: #fff;
    font-size: 16px; font-weight: 600; cursor: pointer;
    box-shadow: 0 8px 20px rgba(13, 110, 253, .22);
    transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.login-button:hover[b-2cawoe2mpk] { filter: brightness(1.04); box-shadow: 0 10px 24px rgba(13, 110, 253, .28); }
.login-button:active[b-2cawoe2mpk] { transform: translateY(1px); }
.login-button-arrow[b-2cawoe2mpk] { position: absolute; right: 18px; font-size: 20px; }
.login-footer[b-2cawoe2mpk] { margin-top: 28px; color: #9aa3b1; font-size: 12px; line-height: 1.5; text-align: center; }

@media (max-width: 600px) {
    .login-page[b-2cawoe2mpk] { padding: 20px 16px; }
    .login-card[b-2cawoe2mpk] { max-width: 100%; padding: 32px 24px; border-radius: 18px; }
    .login-header[b-2cawoe2mpk] { margin-bottom: 28px; }
    .login-header h1[b-2cawoe2mpk] { font-size: 27px; }
    .password-requirements[b-2cawoe2mpk] { grid-template-columns: 1fr; }
}
/* /Components/Pages/Admin/Users.razor.rz.scp.css */
/* =========================================================
   PAGE
   ========================================================= */


/* =========================================================
   HEADER
   ========================================================= */

.users-header-content[b-94ep59c3qj] {
    min-width: 0;
}

/* =========================================================
   CREATE CARD
   ========================================================= */

.create-user-card[b-94ep59c3qj] {
    margin-bottom: 18px;
    padding: 20px;
    border: 1px solid #e5e5eb;
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(30, 30, 45, 0.05);
}

.generated-link-box[b-94ep59c3qj] {
    margin-top: 16px;
    padding: 14px 16px;
    border: 1px solid #dcd5ff;
    border-radius: 13px;
    background: #faf9ff;
}

.generated-link-box strong[b-94ep59c3qj] { color: #39334f; font-size: 12px; }
.generated-link-box p[b-94ep59c3qj] { margin: 5px 0 10px; color: #777782; font-size: 11px; }
.generated-link-row[b-94ep59c3qj] { display: flex; align-items: center; gap: 10px; min-width: 0; }
.generated-link-row a[b-94ep59c3qj] { color: #6f4ef6; font-size: 11px; font-weight: 750; white-space: nowrap; }
.generated-link-row code[b-94ep59c3qj] { flex: 1; min-width: 0; overflow: hidden; color: #777782; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }


.create-user-header[b-94ep59c3qj] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 19px;
}


.create-user-icon[b-94ep59c3qj] {
    width: 42px;
    height: 42px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    background: #f0edff;
    color: #6f4ef6;
}


    .create-user-icon i[b-94ep59c3qj] {
        font-size: 17px;
    }


.create-user-header h2[b-94ep59c3qj] {
    margin: 0;
    color: #24242b;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: -.3px;
}


.create-user-header p[b-94ep59c3qj] {
    margin: 3px 0 0;
    color: #92929b;
    font-size: 11px;
}


/* =========================================================
   FORM
   ========================================================= */

.create-user-form[b-94ep59c3qj] {
    display: grid;
    grid-template-columns: 1.2fr 1fr .8fr auto;
    align-items: end;
    gap: 12px;
}


.form-field[b-94ep59c3qj] {
    min-width: 0;
}


    .form-field label[b-94ep59c3qj] {
        display: block;
        margin-bottom: 7px;
        color: #565660;
        font-size: 11px;
        font-weight: 700;
    }


    .form-field[b-94ep59c3qj]  .user-input {
        width: 100%;
        height: 44px;
        padding: 0 13px;
        border: 1px solid #dedee5;
        border-radius: 12px;
        outline: none;
        background: #fafafd;
        color: #1b1b21;
        font-family: inherit;
        font-size: 12px;
        transition: border-color .15s, box-shadow .15s, background .15s;
    }


        .form-field[b-94ep59c3qj]  .user-input:focus {
            background: #ffffff;
            border-color: #6f4ef6;
            box-shadow: 0 0 0 3px rgba(111, 78, 246, 0.09);
        }


        .form-field[b-94ep59c3qj]  .user-input::placeholder {
            color: #aaaab3;
        }


    .form-field[b-94ep59c3qj]  .validation-message {
        display: block;
        margin-top: 5px;
        color: #d94c4c;
        font-size: 10px;
        font-weight: 600;
    }


.create-user-actions[b-94ep59c3qj] {
    display: flex;
    gap: 8px;
}


.cancel-user-button[b-94ep59c3qj],
.submit-user-button[b-94ep59c3qj] {
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 14px;
    border-radius: 12px;
    font-family: inherit;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    transition: background .15s, border-color .15s, transform .15s;
}


.cancel-user-button[b-94ep59c3qj] {
    border: 1px solid #e0e0e6;
    background: #ffffff;
    color: #686872;
}


    .cancel-user-button:hover[b-94ep59c3qj] {
        background: #f7f7f9;
    }


.submit-user-button[b-94ep59c3qj] {
    border: none;
    background: #6f4ef6;
    color: #ffffff;
}


    .submit-user-button:hover[b-94ep59c3qj] {
        background: #6242e8;
    }


    .cancel-user-button:active[b-94ep59c3qj],
    .submit-user-button:active[b-94ep59c3qj] {
        transform: scale(.98);
    }


/* =========================================================
   ERROR
   ========================================================= */

.users-error[b-94ep59c3qj] {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    margin-bottom: 18px;
    padding: 13px 15px;
    border: 1px solid #f0d6d6;
    border-radius: 15px;
    background: #fff8f8;
}


.users-error-icon[b-94ep59c3qj] {
    width: 28px;
    height: 28px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: #ffecec;
    color: #c55252;
}


    .users-error-icon i[b-94ep59c3qj] {
        font-size: 13px;
    }


.users-error-content[b-94ep59c3qj] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}


    .users-error-content strong[b-94ep59c3qj] {
        color: #a84242;
        font-size: 10px;
        font-weight: 800;
    }


    .users-error-content span[b-94ep59c3qj] {
        color: #b56666;
        font-size: 11px;
        line-height: 1.4;
    }


/* =========================================================
   USERS CARD
   ========================================================= */

.users-card[b-94ep59c3qj] {
    overflow: hidden;
    border: 1px solid var(--admin-border, #e4e4ea);
    border-radius: var(--admin-card-radius, 16px);
    background: var(--admin-surface, #ffffff);
    box-shadow: 0 10px 28px rgba(30, 30, 45, 0.045);
}


.users-card-header[b-94ep59c3qj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 20px;
    border-bottom: 1px solid #eeeeF2;
}


    .users-card-header h2[b-94ep59c3qj] {
        margin: 0;
        color: #25252c;
        font-size: 18px;
        font-weight: 800;
        letter-spacing: -.3px;
    }


    .users-card-header p[b-94ep59c3qj] {
        margin: 3px 0 0;
        color: #9797a0;
        font-size: 12px;
    }


.users-card-icon[b-94ep59c3qj] {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: #f0edff;
    color: #6f4ef6;
}


    .users-card-icon i[b-94ep59c3qj] {
        font-size: 15px;
    }


/* =========================================================
   TABLE
   ========================================================= */

.users-table-wrapper[b-94ep59c3qj] {
    width: 100%;
    overflow-x: auto;
}


.users-table[b-94ep59c3qj] {
    width: 100%;
    border-collapse: collapse;
    table-layout: auto;
}


    .users-table thead[b-94ep59c3qj] {
        background: #fafafd;
    }


    .users-table th[b-94ep59c3qj] {
        padding: 14px 18px;
        border-bottom: 1px solid #e9e9ee;
        color: #9999a3;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: .65px;
        text-align: left;
        white-space: nowrap;
    }


    .users-table td[b-94ep59c3qj] {
        padding: 16px 18px;
        border-bottom: 1px solid #f0f0f3;
        color: #4b4b54;
        font-size: 12px;
        vertical-align: middle;
    }


    .users-table tbody tr:last-child td[b-94ep59c3qj] {
        border-bottom: none;
    }


    .users-table tbody tr[b-94ep59c3qj] {
        transition: background .15s;
    }


        .users-table tbody tr:hover[b-94ep59c3qj] {
            background: #fcfcfe;
        }


.users-action-column[b-94ep59c3qj] {
    text-align: right !important;
}


/* =========================================================
   USER CELL
   ========================================================= */

.user-cell[b-94ep59c3qj] {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 190px;
}


.user-avatar[b-94ep59c3qj] {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: #f0edff;
    color: #6f4ef6;
}


    .user-avatar i[b-94ep59c3qj] {
        font-size: 14px;
    }


.user-cell-content[b-94ep59c3qj] {
    min-width: 0;
}


.user-email[b-94ep59c3qj] {
    color: #27272e;
    font-size: 13px;
    font-weight: 750;
    white-space: nowrap;
}


.user-id[b-94ep59c3qj] {
    max-width: 230px;
    margin-top: 3px;
    color: #a0a0a8;
    font-size: 9px;
    overflow: hidden;
    text-overflow: ellipsis;
}


/* =========================================================
   ROLES
   ========================================================= */

.roles-cell[b-94ep59c3qj] {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}


.role-badge[b-94ep59c3qj] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 29px;
    padding: 0 9px;
    border-radius: 8px;
    font-size: 11px;
    font-weight: 750;
    white-space: nowrap;
}


    .role-badge i[b-94ep59c3qj] {
        font-size: 10px;
    }


.role-admin[b-94ep59c3qj] {
    background: #f0edff;
    color: #6f4ef6;
}


.role-user[b-94ep59c3qj] {
    background: #f1f3f6;
    color: #667080;
}


/* =========================================================
   SUBSCRIPTION
   ========================================================= */

.subscription-cell[b-94ep59c3qj] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 180px;
}


.subscription-status-group[b-94ep59c3qj] {
    display: flex;
    flex-direction: column;
    gap: 3px;
}


.subscription-badge[b-94ep59c3qj] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    width: fit-content;
    min-height: 29px;
    padding: 0 8px;
    border-radius: 8px;
    font-size: 11px;
    font-weight: 750;
    white-space: nowrap;
}


    .subscription-badge i[b-94ep59c3qj] {
        font-size: 10px;
    }


.subscription-active[b-94ep59c3qj] {
    background: #eaf8ef;
    color: #2f8e55;
}


.subscription-expired[b-94ep59c3qj] {
    background: #fff0f0;
    color: #c55252;
}


.subscription-none[b-94ep59c3qj] {
    background: #f1f1f4;
    color: #898991;
}


.subscription-unlimited[b-94ep59c3qj] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #6f4ef6;
    font-size: 11px;
    font-weight: 750;
}


    .subscription-unlimited i[b-94ep59c3qj] {
        font-size: 13px;
    }


.subscription-date[b-94ep59c3qj] {
    color: #9999a3;
    font-size: 10px;
}


.edit-subscription-button[b-94ep59c3qj] {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 1px solid #e2e2e8;
    border-radius: 8px;
    background: #ffffff;
    color: #777782;
    cursor: pointer;
    transition: background .15s, color .15s, border-color .15s;
}


    .edit-subscription-button:hover[b-94ep59c3qj] {
        background: #f5f3ff;
        border-color: #dcd5ff;
        color: #6f4ef6;
    }


    .edit-subscription-button i[b-94ep59c3qj] {
        font-size: 10px;
    }


/* =========================================================
   SUBSCRIPTION EDIT
   ========================================================= */

.subscription-edit[b-94ep59c3qj] {
    display: flex;
    align-items: center;
    gap: 5px;
}


    .subscription-edit[b-94ep59c3qj]  .subscription-input {
        width: 135px;
        height: 32px;
        padding: 0 8px;
        border: 1px solid #dedee5;
        border-radius: 8px;
        outline: none;
        background: #fafafd;
        font-family: inherit;
        font-size: 10px;
    }


        .subscription-edit[b-94ep59c3qj]  .subscription-input:focus {
            border-color: #6f4ef6;
            box-shadow: 0 0 0 3px rgba(111, 78, 246, 0.08);
        }


.small-save-button[b-94ep59c3qj],
.small-cancel-button[b-94ep59c3qj] {
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    cursor: pointer;
}


.small-save-button[b-94ep59c3qj] {
    border: none;
    background: #eaf8ef;
    color: #2f8e55;
}


.small-cancel-button[b-94ep59c3qj] {
    border: 1px solid #e3e3e8;
    background: #ffffff;
    color: #777782;
}


    .small-save-button i[b-94ep59c3qj],
    .small-cancel-button i[b-94ep59c3qj] {
        font-size: 11px;
    }

/* =========================================================
   EVENT LIMIT
   ========================================================= */

.user-quota-cell[b-94ep59c3qj] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
}

.user-current-count[b-94ep59c3qj] {
    color: #858590;
    font-size: 10px;
    line-height: 1.3;
    white-space: nowrap;
}

.event-limit-cell[b-94ep59c3qj] {
    display: flex;
    align-items: center;
    gap: 7px;
}

.event-limit-badge[b-94ep59c3qj] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 29px;
    padding: 0 9px;
    border-radius: 8px;
    background: #f0edff;
    color: #6f4ef6;
    font-size: 11px;
    font-weight: 750;
    white-space: nowrap;
}

.wedding-credit-badge[b-94ep59c3qj] {
    min-height: 29px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 0 9px;
    border-radius: 8px;
    background: #f0edff;
    color: #6f4ef6;
    font-size: 11px;
    font-weight: 750;
    white-space: nowrap;
}

.wedding-credit-badge small[b-94ep59c3qj] {
    color: #777782;
    font-size: 9px;
    font-weight: 600;
}

    .event-limit-badge i[b-94ep59c3qj] {
        font-size: 10px;
    }

.events-unlimited[b-94ep59c3qj] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #6f4ef6;
    font-size: 11px;
    font-weight: 750;
    white-space: nowrap;
}

    .events-unlimited i[b-94ep59c3qj] {
        font-size: 13px;
    }

.edit-event-limit-button[b-94ep59c3qj] {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 1px solid #e2e2e8;
    border-radius: 8px;
    background: #ffffff;
    color: #777782;
    cursor: pointer;
    transition: background .15s, color .15s, border-color .15s;
}

    .edit-event-limit-button:hover[b-94ep59c3qj] {
        background: #f5f3ff;
        border-color: #dcd5ff;
        color: #6f4ef6;
    }

    .edit-event-limit-button i[b-94ep59c3qj] {
        font-size: 10px;
    }

.event-limit-edit[b-94ep59c3qj] {
    display: flex;
    align-items: center;
    gap: 5px;
}

    .event-limit-edit[b-94ep59c3qj]  .event-limit-input {
        width: 70px;
        height: 32px;
        padding: 0 8px;
        border: 1px solid #dedee5;
        border-radius: 8px;
        outline: none;
        background: #fafafd;
        color: #24242b;
        font-family: inherit;
        font-size: 11px;
        font-weight: 600;
    }

        .event-limit-edit[b-94ep59c3qj]  .event-limit-input:focus {
            border-color: #6f4ef6;
            box-shadow: 0 0 0 3px rgba(111, 78, 246, 0.08);
        }


/* =========================================================
   STATUS
   ========================================================= */

.status-badge[b-94ep59c3qj] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 29px;
    padding: 0 9px;
    border-radius: 8px;
    font-size: 11px;
    font-weight: 750;
    white-space: nowrap;
}


.status-active[b-94ep59c3qj] {
    background: #eaf8ef;
    color: #2f8e55;
}


.status-inactive[b-94ep59c3qj] {
    background: #f1f1f4;
    color: #85858e;
}


.status-dot[b-94ep59c3qj] {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
}


/* =========================================================
   ACTION
   ========================================================= */

.user-action-button[b-94ep59c3qj] {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0 10px;
    border-radius: 9px;
    font-family: inherit;
    font-size: 11px;
    font-weight: 750;
    cursor: pointer;
    white-space: nowrap;
    transition: background .15s, border-color .15s, color .15s, transform .15s;
}


    .user-action-button:active[b-94ep59c3qj] {
        transform: scale(.97);
    }


    .user-action-button i[b-94ep59c3qj] {
        font-size: 11px;
    }


    .user-action-button.deactivate[b-94ep59c3qj] {
        border: 1px solid #f0d9d9;
        background: #fff8f8;
        color: #c55252;
    }


        .user-action-button.deactivate:hover[b-94ep59c3qj] {
            background: #fff0f0;
        }


    .user-action-button.activate[b-94ep59c3qj] {
        border: 1px solid #d5ebdc;
        background: #f1fbf4;
        color: #2f8e55;
    }

    .user-action-button.delete[b-94ep59c3qj] {
        border: 1px solid #f0d9d9;
        background: #fff8f8;
        color: #c55252;
    }

    .user-action-button.delete:hover:not(:disabled)[b-94ep59c3qj] {
        background: #fff0f0;
    }

    .user-action-button:disabled[b-94ep59c3qj] {
        opacity: .48;
        cursor: not-allowed;
    }


        .user-action-button.activate:hover[b-94ep59c3qj] {
            background: #e5f7eb;
        }


/* =========================================================
   EMPTY
   ========================================================= */

.users-empty[b-94ep59c3qj] {
    min-height: 260px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 25px;
    text-align: center;
}


.users-empty-icon[b-94ep59c3qj] {
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
    border-radius: 16px;
    background: #f0edff;
    color: #6f4ef6;
}


    .users-empty-icon i[b-94ep59c3qj] {
        font-size: 21px;
    }


.users-empty strong[b-94ep59c3qj] {
    color: #44444d;
    font-size: 12px;
    font-weight: 750;
}


.users-empty span[b-94ep59c3qj] {
    margin-top: 4px;
    color: #9999a3;
    font-size: 10px;
}


/* =========================================================
   LOADING
   ========================================================= */

.users-loading[b-94ep59c3qj] {
    min-height: 260px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #8b8b95;
    font-size: 11px;
}


.users-spinner[b-94ep59c3qj] {
    width: 17px;
    height: 17px;
    border: 2px solid #dedee6;
    border-top-color: #6f4ef6;
    border-radius: 50%;
    animation: users-spin-b-94ep59c3qj .7s linear infinite;
}


@keyframes users-spin-b-94ep59c3qj {

    to {
        transform: rotate(360deg);
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 900px) {

    .create-user-form[b-94ep59c3qj] {
        grid-template-columns: 1fr 1fr;
    }


    .create-user-actions[b-94ep59c3qj] {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }
}


@media (max-width: 768px) {
    .create-user-button[b-94ep59c3qj] {
        width: 100%;
    }


    .create-user-form[b-94ep59c3qj] {
        grid-template-columns: 1fr;
    }


    .create-user-actions[b-94ep59c3qj] {
        grid-column: auto;
        width: 100%;
    }


    .cancel-user-button[b-94ep59c3qj],
    .submit-user-button[b-94ep59c3qj] {
        flex: 1;
    }


    .users-card-header[b-94ep59c3qj] {
        padding: 16px;
    }


    .users-table th[b-94ep59c3qj],
    .users-table td[b-94ep59c3qj] {
        padding-left: 12px;
        padding-right: 12px;
    }
}


@media (max-width: 480px) {

    .create-user-card[b-94ep59c3qj] {
        padding: 16px;
        border-radius: 17px;
    }


    .create-user-actions[b-94ep59c3qj] {
        flex-direction: column-reverse;
    }


    .cancel-user-button[b-94ep59c3qj],
    .submit-user-button[b-94ep59c3qj] {
        width: 100%;
    }


    .users-card[b-94ep59c3qj] {
        border-radius: var(--admin-card-radius, 16px);
    }


    .users-table[b-94ep59c3qj] {
        min-width: 950px;
    }
}

/* =========================================================
   USER ACTIONS
   ========================================================= */

.user-actions[b-94ep59c3qj] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

.user-action-button.login-details[b-94ep59c3qj] {
    border: 1px solid #ddd8fb;
    background: #f8f6ff;
    color: #6f4ef6;
}

    .user-action-button.login-details:hover[b-94ep59c3qj] {
        background: #f0edff;
        border-color: #cec5ff;
    }


/* =========================================================
   LOGIN DETAILS MODAL
   ========================================================= */

.login-details-backdrop[b-94ep59c3qj] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px;
    background: rgba(15, 16, 28, .62);
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
}

.login-details-modal[b-94ep59c3qj] {
    width: 100%;
    max-width: 980px;
    max-height: calc(100vh - 64px);
    overflow-y: auto;
    border: 1px solid #e3e3ea;
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 35px 100px rgba(20, 20, 35, .28);
}

/* ==========================================================
   HEADER
   ========================================================== */

.login-details-header[b-94ep59c3qj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 30px 34px;
    border-bottom: 1px solid #eeeeF2;
}

.login-details-title[b-94ep59c3qj] {
    display: flex;
    align-items: center;
    gap: 18px;
}

.login-details-icon[b-94ep59c3qj] {
    width: 58px;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 16px;
    background: #f0edff;
    color: #6f4ef6;
}

    .login-details-icon i[b-94ep59c3qj] {
        font-size: 24px;
    }

.login-details-title h2[b-94ep59c3qj] {
    margin: 0;
    color: #24242b;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: -.5px;
}

.login-details-title p[b-94ep59c3qj] {
    margin: 5px 0 0;
    max-width: 600px;
    overflow: hidden;
    color: #92929c;
    font-size: 14px;
    font-weight: 500;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.login-details-close[b-94ep59c3qj] {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e1e1e8;
    border-radius: 12px;
    background: #fff;
    color: #777781;
    cursor: pointer;
    transition: .2s ease;
}

    .login-details-close:hover[b-94ep59c3qj] {
        background: #f7f7fa;
        border-color: #d5d5de;
        color: #33333c;
    }

    .login-details-close i[b-94ep59c3qj] {
        font-size: 16px;
    }

/* ==========================================================
   SUMMARY
   ========================================================== */

.login-details-summary[b-94ep59c3qj] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    padding: 28px 34px;
    background: #fafafd;
    border-bottom: 1px solid #eeeeF2;
}

.login-summary-card[b-94ep59c3qj] {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    min-width: 0;
    padding: 20px;
    border: 1px solid #e7e7ee;
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 2px 5px rgba(20, 20, 35, .025);
}

.login-summary-icon[b-94ep59c3qj] {
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 12px;
}

.login-summary-card.success .login-summary-icon[b-94ep59c3qj] {
    background: #eaf8ef;
    color: #2f8e55;
}

.login-summary-card.failed .login-summary-icon[b-94ep59c3qj] {
    background: #fff0f0;
    color: #c55252;
}

.login-summary-card.password .login-summary-icon[b-94ep59c3qj] {
    background: #f0edff;
    color: #6f4ef6;
}

.login-summary-icon i[b-94ep59c3qj] {
    font-size: 17px;
}

.login-summary-card > div:last-child[b-94ep59c3qj] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.login-summary-card span[b-94ep59c3qj] {
    color: #8d8d97;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
}

.login-summary-card strong[b-94ep59c3qj] {
    color: #303039;
    font-size: 15px;
    font-weight: 750;
    line-height: 1.4;
}

/* ==========================================================
   HISTORY
   ========================================================== */

.login-history-section[b-94ep59c3qj] {
    padding: 30px 34px 14px;
}

.account-management-section[b-94ep59c3qj] {
    margin: 22px 34px 0;
    padding: 22px;
    border: 1px solid #e7e7ee;
    border-radius: 17px;
    background: #fff;
}

.account-management-section .login-history-title[b-94ep59c3qj] { margin-bottom: 16px; }
.account-management-actions[b-94ep59c3qj] { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }
.account-protected-note[b-94ep59c3qj] { color: #858590; font-size: 12px; }
.account-action-error[b-94ep59c3qj] { margin-bottom: 12px; padding: 10px 12px; border-radius: 10px; background: #fff0f0; color: #b44848; font-size: 12px; }
.modal-generated-link[b-94ep59c3qj] { margin: 0 0 16px; }

.login-history-title[b-94ep59c3qj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

    .login-history-title h3[b-94ep59c3qj] {
        margin: 0;
        color: #292931;
        font-size: 18px;
        font-weight: 800;
    }

    .login-history-title p[b-94ep59c3qj] {
        margin: 5px 0 0;
        color: #9999a3;
        font-size: 12px;
        font-weight: 500;
    }

    .login-history-title > i[b-94ep59c3qj] {
        color: #aaaab4;
        font-size: 22px;
    }

.login-history-list[b-94ep59c3qj] {
    overflow: hidden;
    border: 1px solid #e6e6ed;
    border-radius: 17px;
    background: #fff;
}

.login-history-row[b-94ep59c3qj] {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 16px 18px;
    border-bottom: 1px solid #eeeeF2;
    transition: background .15s ease;
}

    .login-history-row:last-child[b-94ep59c3qj] {
        border-bottom: none;
    }

    .login-history-row:hover[b-94ep59c3qj] {
        background: #fafafd;
    }

.login-history-status[b-94ep59c3qj] {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 12px;
}

    .login-history-status.history-success[b-94ep59c3qj] {
        background: #eaf8ef;
        color: #2f8e55;
    }

    .login-history-status.history-failed[b-94ep59c3qj] {
        background: #fff0f0;
        color: #c55252;
    }

    .login-history-status i[b-94ep59c3qj] {
        font-size: 16px;
    }

.login-history-info[b-94ep59c3qj] {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

    .login-history-info strong[b-94ep59c3qj] {
        color: #41414a;
        font-size: 14px;
        font-weight: 750;
    }

    .login-history-info span[b-94ep59c3qj] {
        color: #92929d;
        font-size: 12px;
        font-weight: 500;
    }

.login-history-empty[b-94ep59c3qj] {
    min-height: 180px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 1px dashed #dedee6;
    border-radius: 17px;
    color: #a0a0aa;
    font-size: 13px;
}

    .login-history-empty i[b-94ep59c3qj] {
        font-size: 28px;
    }

/* ==========================================================
   FOOTER
   ========================================================== */

.login-details-footer[b-94ep59c3qj] {
    display: flex;
    justify-content: flex-end;
    padding: 20px 34px 30px;
}

.login-details-close-button[b-94ep59c3qj] {
    height: 44px;
    padding: 0 22px;
    border: 1px solid #dedee6;
    border-radius: 12px;
    background: #fff;
    color: #686872;
    font-family: inherit;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: .2s ease;
}

    .login-details-close-button:hover[b-94ep59c3qj] {
        background: #f7f7f9;
        border-color: #d3d3dc;
        color: #44444e;
    }

/* ==========================================================
   BUTTON LOGOWANIA W TABELI
   ========================================================== */

.user-actions[b-94ep59c3qj] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.user-action-button.login-details[b-94ep59c3qj] {
    border: 1px solid #ddd8fb;
    background: #f8f6ff;
    color: #6f4ef6;
}

    .user-action-button.login-details:hover[b-94ep59c3qj] {
        background: #f0edff;
        border-color: #cec5ff;
    }

/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 768px) {

    .login-details-backdrop[b-94ep59c3qj] {
        align-items: flex-end;
        padding: 0;
    }

    .login-details-modal[b-94ep59c3qj] {
        max-width: none;
        max-height: 94vh;
        border-radius: 24px 24px 0 0;
    }

    .login-details-header[b-94ep59c3qj] {
        padding: 22px;
    }

    .login-details-title[b-94ep59c3qj] {
        gap: 13px;
    }

    .login-details-icon[b-94ep59c3qj] {
        width: 48px;
        height: 48px;
        border-radius: 13px;
    }

        .login-details-icon i[b-94ep59c3qj] {
            font-size: 19px;
        }

    .login-details-title h2[b-94ep59c3qj] {
        font-size: 19px;
    }

    .login-details-title p[b-94ep59c3qj] {
        font-size: 12px;
    }

    .login-details-summary[b-94ep59c3qj] {
        grid-template-columns: 1fr;
        padding: 20px 22px;
    }

    .login-summary-card[b-94ep59c3qj] {
        padding: 17px;
    }

        .login-summary-card span[b-94ep59c3qj] {
            font-size: 11px;
        }

        .login-summary-card strong[b-94ep59c3qj] {
            font-size: 14px;
        }

    .login-history-section[b-94ep59c3qj] {
        padding: 22px 22px 10px;
    }

    .account-management-section[b-94ep59c3qj] { margin: 18px 22px 0; padding: 17px; }

    .login-history-title h3[b-94ep59c3qj] {
        font-size: 16px;
    }

    .login-history-row[b-94ep59c3qj] {
        padding: 14px;
    }

    .login-details-footer[b-94ep59c3qj] {
        padding: 16px 22px 22px;
    }

    .login-details-close-button[b-94ep59c3qj] {
        width: 100%;
    }

    .generated-link-row[b-94ep59c3qj] { align-items: flex-start; flex-direction: column; }
    .generated-link-row code[b-94ep59c3qj] { width: 100%; }

    .user-actions[b-94ep59c3qj] {
        justify-content: flex-start;
        flex-wrap: wrap;
    }
}
/* /Components/Pages/Home.razor.rz.scp.css */
*[b-oxdxf27zbv] {
    box-sizing: border-box;
}

.home-page[b-oxdxf27zbv] {
    width: 100%;
    min-height: 100dvh;
    background: radial-gradient( circle at 50% -10%, rgba(111, 78, 246, 0.12), transparent 42% ), #f7f7fa;
    color: #17171c;
    display: flex;
    justify-content: center;
    padding: 20px 18px;
    overflow-x: hidden;
}


.home-container[b-oxdxf27zbv] {
    width: 100%;
    max-width: 480px;
}


/* =========================
   BRAND
   ========================= */

.brand[b-oxdxf27zbv] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 34px;
}

.brand-icon[b-oxdxf27zbv] {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #17171c;
    color: #ffffff;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
    flex-shrink: 0;
}

    .brand-icon i[b-oxdxf27zbv] {
        font-size: 21px;
    }

.brand-name[b-oxdxf27zbv] {
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.6px;
}

.brand-subtitle[b-oxdxf27zbv] {
    margin-top: 1px;
    font-size: 12px;
    color: #8a8a94;
}


/* =========================
   HERO
   ========================= */

.hero[b-oxdxf27zbv] {
    margin-bottom: 22px;
    text-align: center;
}

.hero-badge[b-oxdxf27zbv] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 10px;
    border-radius: 999px;
    background: #ffffff;
    border: 1px solid #e8e8ed;
    color: #6f6f79;
    font-size: 14px;
    font-weight: 600;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
    margin-bottom: 14px;
}

.pulse-dot[b-oxdxf27zbv] {
    width: 17px;
    height: 17px;
    border-radius: 50%;
    background: #6f4ef6;
    box-shadow: 0 0 0 4px rgba(111, 78, 246, 0.10);
}

.hero h1[b-oxdxf27zbv] {
    margin: 0;
    font-size: clamp(32px, 9vw, 48px);
    line-height: 1.04;
    letter-spacing: -1.8px;
    font-weight: 850;
}

    .hero h1 span[b-oxdxf27zbv] {
        color: #8a8a94;
    }

.hero p[b-oxdxf27zbv] {
    margin: 14px auto 0;
    max-width: 400px;
    font-size: 14px;
    line-height: 1.5;
    color: #74747e;
}


/* =========================
   ACCESS CARD
   ========================= */

.access-card[b-oxdxf27zbv] {
    background: #ffffff;
    border: 1px solid #e8e8ed;
    border-radius: 24px;
    padding: 20px;
    box-shadow: 0 16px 40px rgba(30, 30, 45, 0.07);
    margin-bottom: 10px;
}

.access-icon[b-oxdxf27zbv] {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    background: #f0edff;
    color: #6f4ef6;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    margin: 0 auto 14px;
}

.access-content[b-oxdxf27zbv] {
    text-align: center;
}

    .access-content h2[b-oxdxf27zbv] {
        margin: 0;
        font-size: 19px;
        font-weight: 750;
        letter-spacing: -0.4px;
    }

    .access-content p[b-oxdxf27zbv] {
        margin: 5px 0 14px;
        color: #85858e;
        font-size: 13px;
    }


/* =========================
   CODE INPUT
   ========================= */

.code-input-wrapper[b-oxdxf27zbv] {
    display: flex;
    flex-direction: column;
    gap: 9px;
    width: 100%;
}

.code-input[b-oxdxf27zbv] {
    width: 100%;
    height: 54px;
    border: 1px solid #dedee5;
    border-radius: 15px;
    padding: 0 16px;
    outline: none;
    background: #fafafd;
    color: #1b1b21;
    font-size: 16px;
    transition: border-color .2s, box-shadow .2s, background .2s;
}

    .code-input[b-oxdxf27zbv]::placeholder {
        color: #aaaab3;
    }

    .code-input:focus[b-oxdxf27zbv] {
        background: #ffffff;
        border-color: #6f4ef6;
        box-shadow: 0 0 0 4px rgba(111, 78, 246, 0.10);
    }


/* =========================
   ENTER BUTTON
   ========================= */

.enter-button[b-oxdxf27zbv] {
    width: 100%;
    height: 54px;
    border: none;
    border-radius: 15px;
    background: #17171c;
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    transition: transform .15s, background .15s, box-shadow .15s;
    box-shadow: 0 8px 18px rgba(23, 23, 28, 0.16);
}

    .enter-button:hover[b-oxdxf27zbv] {
        background: #2b2b32;
    }

    .enter-button:active[b-oxdxf27zbv] {
        transform: scale(0.98);
    }

    .enter-button:disabled[b-oxdxf27zbv] {
        opacity: 0.7;
        cursor: default;
    }

.arrow[b-oxdxf27zbv] {
    font-size: 18px;
}

.button-spinner[b-oxdxf27zbv] {
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255,255,255,.35);
    border-top-color: #ffffff;
    border-radius: 50%;
    animation: spin-b-oxdxf27zbv .7s linear infinite;
}

@keyframes spin-b-oxdxf27zbv {
    to {
        transform: rotate(360deg);
    }
}


/* =========================
   ERROR
   ========================= */

.error-message[b-oxdxf27zbv] {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    width: 100%;
    margin-top: 10px;
    padding: 11px 12px;
    border-radius: 12px;
    background: #fff1f1;
    border: 1px solid #ffd6d6;
    color: #c62828;
    font-size: 12px;
    line-height: 1.4;
    text-align: left;
}

    .error-message i[b-oxdxf27zbv] {
        flex-shrink: 0;
        margin-top: 1px;
        font-size: 14px;
    }


/* =========================
   QR BUTTON
   ========================= */

.qr-button[b-oxdxf27zbv] {
    width: 100%;
    min-height: 68px;
    border: 1px solid #e8e8ed;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.82);
    padding: 12px 15px;
    display: flex;
    align-items: center;
    text-align: left;
    cursor: pointer;
    color: #1a1a20;
    transition: background .15s, transform .15s;
}

    .qr-button:hover[b-oxdxf27zbv] {
        background: #ffffff;
    }

    .qr-button:active[b-oxdxf27zbv] {
        transform: scale(0.985);
    }

.qr-icon[b-oxdxf27zbv] {
    width: 42px;
    height: 42px;
    border-radius: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f0f0f4;
    color: #17171c;
    font-size: 21px;
    margin-right: 12px;
    flex-shrink: 0;
}

.qr-content[b-oxdxf27zbv] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

    .qr-content strong[b-oxdxf27zbv] {
        font-size: 14px;
        font-weight: 700;
    }

    .qr-content small[b-oxdxf27zbv] {
        color: #8a8a93;
        font-size: 11px;
    }

.qr-arrow[b-oxdxf27zbv] {
    font-size: 18px;
    color: #a0a0a8;
    flex-shrink: 0;
}


/* =========================
   FOOTER
   ========================= */

.help-section[b-oxdxf27zbv] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 18px;
}

.help-line[b-oxdxf27zbv] {
    flex: 1;
    height: 1px;
    background: #dedee4;
}

.help-text[b-oxdxf27zbv] {
    color: #9999a2;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
}

.footer-text[b-oxdxf27zbv] {
    margin: 8px 0 0;
    text-align: center;
    color: #a2a2aa;
    font-size: 11px;
    line-height: 1.5;
}

.privacy-text[b-oxdxf27zbv] {
    margin: 12px 0 0;
    text-align: center;
    color: #a2a2aa;
    font-size: 10px;
    line-height: 1.45;
}

    .privacy-text a[b-oxdxf27zbv] {
        color: #777782;
        text-decoration: underline;
    }


/* =========================
   QR SCANNER
   ========================= */

.qr-overlay[b-oxdxf27zbv] {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(10, 10, 15, 0.82);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
    backdrop-filter: blur(8px);
}

.qr-modal[b-oxdxf27zbv] {
    width: 100%;
    max-width: 480px;
    background: #ffffff;
    border-radius: 26px;
    padding: 18px;
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.30);
}

.qr-modal-header[b-oxdxf27zbv] {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 15px;
}

    .qr-modal-header > div[b-oxdxf27zbv] {
        flex: 1;
    }

    .qr-modal-header h2[b-oxdxf27zbv] {
        margin: 0;
        font-size: 19px;
        font-weight: 750;
    }

    .qr-modal-header p[b-oxdxf27zbv] {
        margin: 4px 0 0;
        color: #85858e;
        font-size: 12px;
    }

.qr-close[b-oxdxf27zbv] {
    width: 38px;
    height: 38px;
    border: none;
    border-radius: 12px;
    background: #f1f1f4;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex-shrink: 0;
}

.scanner-container[b-oxdxf27zbv] {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 20px;
    background: #101014;
}

.qr-video[b-oxdxf27zbv] {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.scanner-frame[b-oxdxf27zbv] {
    position: absolute;
    inset: 20%;
    pointer-events: none;
}

    .scanner-frame span[b-oxdxf27zbv] {
        position: absolute;
        width: 32px;
        height: 32px;
        border-color: #ffffff;
        border-style: solid;
    }

        .scanner-frame span:nth-child(1)[b-oxdxf27zbv] {
            top: 0;
            left: 0;
            border-width: 3px 0 0 3px;
        }

        .scanner-frame span:nth-child(2)[b-oxdxf27zbv] {
            top: 0;
            right: 0;
            border-width: 3px 3px 0 0;
        }

        .scanner-frame span:nth-child(3)[b-oxdxf27zbv] {
            bottom: 0;
            left: 0;
            border-width: 0 0 3px 3px;
        }

        .scanner-frame span:nth-child(4)[b-oxdxf27zbv] {
            bottom: 0;
            right: 0;
            border-width: 0 3px 3px 0;
        }

.scanner-status[b-oxdxf27zbv] {
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 14px;
    min-height: 40px;
    padding: 9px 12px;
    border-radius: 12px;
    background: rgba(0, 0, 0, 0.65);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 12px;
    text-align: center;
}

.scanner-cancel[b-oxdxf27zbv] {
    width: 100%;
    height: 48px;
    margin-top: 14px;
    border: 1px solid #e2e2e7;
    border-radius: 14px;
    background: #ffffff;
    color: #222228;
    font-weight: 650;
    cursor: pointer;
}


/* =========================
   SMALL / SHORT PHONES
   ========================= */

@media (max-height: 760px) {

    .home-page[b-oxdxf27zbv] {
        padding-top: 12px;
        padding-bottom: 12px;
    }

    .brand[b-oxdxf27zbv] {
        margin-bottom: 20px;
    }

    .hero[b-oxdxf27zbv] {
        margin-bottom: 15px;
    }

    .hero-badge[b-oxdxf27zbv] {
        margin-bottom: 9px;
    }

    .hero p[b-oxdxf27zbv] {
        margin-top: 9px;
    }

    .access-card[b-oxdxf27zbv] {
        padding: 16px;
    }

    .access-icon[b-oxdxf27zbv] {
        margin-bottom: 9px;
    }

    .access-content p[b-oxdxf27zbv] {
        margin-bottom: 10px;
    }

    .help-section[b-oxdxf27zbv] {
        margin-top: 12px;
    }

    .privacy-text[b-oxdxf27zbv] {
        margin-top: 8px;
    }
}


@media (max-width: 380px) {

    .home-page[b-oxdxf27zbv] {
        padding-left: 14px;
        padding-right: 14px;
    }

    .hero h1[b-oxdxf27zbv] {
        font-size: 31px;
    }

    .access-card[b-oxdxf27zbv] {
        padding: 16px;
    }
}

.home-footer[b-oxdxf27zbv] {
    margin-top: 6px;
    padding: 20px 0 10px;
    text-align: center;
}

.home-footer-brand[b-oxdxf27zbv] {
    font-size: 0.85rem;
    font-weight: 600;
    color: #8b8fa3;
    margin-bottom: 4px;
}

.home-footer-author[b-oxdxf27zbv] {
    font-size: 0.75rem;
    color: #a6a9b8;
    text-decoration: none;
    transition: color 0.2s ease;
}

    .home-footer-author:hover[b-oxdxf27zbv] {
        color: #7c5cff;
    }
/* /Components/Pages/PrivacyPolicy.razor.rz.scp.css */
.privacy-page[b-94lh0mmywx] {
    min-height: 100vh;
    background: radial-gradient(circle at 50% -10%, rgba(124, 92, 255, .10), transparent 38%), #f6f7fb;
    color: #202235;
}

/* =========================================================
   HEADER
   ========================================================= */

.privacy-header[b-94lh0mmywx] {
    height: 72px;
    padding: 0 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: rgba(15, 17, 35, .98);
    border-bottom: 1px solid rgba(255, 255, 255, .06);
}

.privacy-brand[b-94lh0mmywx] {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    color: #fff;
    text-decoration: none;
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: -.02em;
}

.privacy-brand-icon[b-94lh0mmywx] {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: linear-gradient(135deg, #7c5cff, #6242df);
    color: #fff;
    box-shadow: 0 5px 18px rgba(124, 92, 255, .28);
}

.privacy-back[b-94lh0mmywx] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #b9bdce;
    text-decoration: none;
    font-size: .88rem;
    font-weight: 600;
    transition: color .2s ease;
}

    .privacy-back:hover[b-94lh0mmywx] {
        color: #fff;
    }

/* =========================================================
   CONTENT
   ========================================================= */

.privacy-container[b-94lh0mmywx] {
    width: min(100% - 40px, 1050px);
    margin: 0 auto;
    padding: 52px 0 45px;
}

/* =========================================================
   HERO
   ========================================================= */

.privacy-hero[b-94lh0mmywx] {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-bottom: 28px;
}

.privacy-hero-icon[b-94lh0mmywx] {
    flex: 0 0 auto;
    width: 68px;
    height: 68px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 19px;
    background: linear-gradient(135deg, #7c5cff, #6040dd);
    color: #fff;
    font-size: 1.65rem;
    box-shadow: 0 12px 30px rgba(99, 70, 220, .22);
}

.privacy-eyebrow[b-94lh0mmywx] {
    margin-bottom: 5px;
    color: #7c5cff;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .14em;
}

.privacy-hero h1[b-94lh0mmywx] {
    margin: 0;
    color: #181a2c;
    font-size: clamp(1.8rem, 4vw, 2.45rem);
    line-height: 1.15;
    letter-spacing: -.04em;
}

.privacy-hero p[b-94lh0mmywx] {
    max-width: 680px;
    margin: 9px 0 0;
    color: #777b8f;
    font-size: .95rem;
    line-height: 1.6;
}

/* =========================================================
   CARD
   ========================================================= */

.privacy-card[b-94lh0mmywx] {
    overflow: hidden;
    background: #fff;
    border: 1px solid #e8e9f0;
    border-radius: 20px;
    box-shadow: 0 12px 40px rgba(25, 27, 48, .055);
}

/* =========================================================
   SECTION
   ========================================================= */

.privacy-section[b-94lh0mmywx] {
    position: relative;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 20px;
    padding: 34px 40px;
    border-bottom: 1px solid #ececf2;
}

.privacy-section-last[b-94lh0mmywx] {
    border-bottom: 0;
}

.privacy-number[b-94lh0mmywx] {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: #f1efff;
    color: #7657ef;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .03em;
}

.privacy-section h2[b-94lh0mmywx] {
    margin: 1px 0 13px;
    color: #202236;
    font-size: 1.12rem;
    font-weight: 750;
    letter-spacing: -.02em;
}

.privacy-section p[b-94lh0mmywx] {
    margin: 0 0 12px;
    color: #65697c;
    font-size: .91rem;
    line-height: 1.72;
}

    .privacy-section p:last-child[b-94lh0mmywx] {
        margin-bottom: 0;
    }

.privacy-section strong[b-94lh0mmywx] {
    color: #303246;
    font-weight: 700;
}

.privacy-section ul[b-94lh0mmywx] {
    margin: 8px 0 0;
    padding-left: 21px;
    color: #65697c;
    font-size: .91rem;
    line-height: 1.72;
}

.privacy-section li[b-94lh0mmywx] {
    padding-left: 4px;
    margin-bottom: 5px;
}

    .privacy-section li:last-child[b-94lh0mmywx] {
        margin-bottom: 0;
    }

/* =========================================================
   CONTACT BOX
   ========================================================= */

.privacy-contact-box[b-94lh0mmywx] {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 18px;
    padding: 17px 19px;
    background: #f8f8fc;
    border: 1px solid #ebebf2;
    border-radius: 14px;
}

.privacy-contact-icon[b-94lh0mmywx] {
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: #ece8ff;
    color: #7657ef;
}

.privacy-contact-box > div:last-child[b-94lh0mmywx] {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.privacy-contact-box strong[b-94lh0mmywx] {
    font-size: .91rem;
}

.privacy-contact-box span[b-94lh0mmywx] {
    color: #85899a;
    font-size: .77rem;
}

.privacy-contact-box a[b-94lh0mmywx] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 2px;
    color: #7657ef;
    text-decoration: none;
    font-size: .78rem;
    font-weight: 650;
}

    .privacy-contact-box a:hover[b-94lh0mmywx] {
        text-decoration: underline;
    }

/* =========================================================
   NOTICE
   ========================================================= */

.privacy-notice[b-94lh0mmywx] {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    margin-top: 18px;
    padding: 15px 16px;
    background: #faf9ff;
    border: 1px solid #e7e2ff;
    border-radius: 13px;
}

    .privacy-notice > i[b-94lh0mmywx] {
        flex: 0 0 auto;
        margin-top: 2px;
        color: #7657ef;
        font-size: .95rem;
    }

    .privacy-notice p[b-94lh0mmywx] {
        margin: 0;
        color: #67617f;
        font-size: .82rem;
        line-height: 1.6;
    }

/* =========================================================
   EMAIL
   ========================================================= */

.privacy-email[b-94lh0mmywx] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 2px 0 13px;
    color: #7657ef;
    text-decoration: none;
    font-size: .9rem;
    font-weight: 700;
}

    .privacy-email:hover[b-94lh0mmywx] {
        text-decoration: underline;
    }

.privacy-small[b-94lh0mmywx] {
    color: #8a8d9d !important;
    font-size: .79rem !important;
}

/* =========================================================
   LARGE CONTACT
   ========================================================= */

.privacy-contact-large[b-94lh0mmywx] {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-top: 7px;
    padding: 13px 17px;
    color: #fff;
    background: linear-gradient(135deg, #7c5cff, #6343df);
    border-radius: 14px;
    text-decoration: none;
    box-shadow: 0 9px 25px rgba(102, 72, 222, .18);
    transition: transform .2s ease, box-shadow .2s ease;
}

    .privacy-contact-large:hover[b-94lh0mmywx] {
        color: #fff;
        transform: translateY(-1px);
        box-shadow: 0 12px 28px rgba(102, 72, 222, .25);
    }

.privacy-contact-large-icon[b-94lh0mmywx] {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgba(255, 255, 255, .16);
}

.privacy-contact-large > span:last-child[b-94lh0mmywx] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: .87rem;
    font-weight: 700;
}

.privacy-contact-large small[b-94lh0mmywx] {
    font-size: .59rem;
    font-weight: 800;
    letter-spacing: .1em;
    opacity: .72;
}

/* =========================================================
   FOOTER
   ========================================================= */

.privacy-footer[b-94lh0mmywx] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    padding: 28px 10px 5px;
    color: #9295a5;
    font-size: .75rem;
}

.privacy-footer-brand[b-94lh0mmywx] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #73778a;
    font-weight: 700;
}

    .privacy-footer-brand i[b-94lh0mmywx] {
        color: #7657ef;
    }

.privacy-footer a[b-94lh0mmywx] {
    color: #7657ef;
    text-decoration: none;
    font-weight: 650;
}

    .privacy-footer a:hover[b-94lh0mmywx] {
        text-decoration: underline;
    }

/* =========================================================
   TABLET / MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .privacy-header[b-94lh0mmywx] {
        height: 64px;
        padding: 0 18px;
    }

    .privacy-brand[b-94lh0mmywx] {
        font-size: .96rem;
    }

    .privacy-brand-icon[b-94lh0mmywx] {
        width: 33px;
        height: 33px;
        border-radius: 9px;
    }

    .privacy-back span[b-94lh0mmywx] {
        display: none;
    }

    .privacy-back[b-94lh0mmywx] {
        width: 36px;
        height: 36px;
        justify-content: center;
        border-radius: 10px;
        background: rgba(255, 255, 255, .07);
    }

    .privacy-container[b-94lh0mmywx] {
        width: min(100% - 24px, 1050px);
        padding: 30px 0 28px;
    }

    .privacy-hero[b-94lh0mmywx] {
        align-items: flex-start;
        gap: 15px;
        margin-bottom: 20px;
    }

    .privacy-hero-icon[b-94lh0mmywx] {
        width: 50px;
        height: 50px;
        border-radius: 14px;
        font-size: 1.25rem;
    }

    .privacy-eyebrow[b-94lh0mmywx] {
        font-size: .63rem;
    }

    .privacy-hero h1[b-94lh0mmywx] {
        font-size: 1.55rem;
    }

    .privacy-hero p[b-94lh0mmywx] {
        margin-top: 6px;
        font-size: .82rem;
        line-height: 1.5;
    }

    .privacy-card[b-94lh0mmywx] {
        border-radius: 16px;
    }

    .privacy-section[b-94lh0mmywx] {
        grid-template-columns: 1fr;
        gap: 13px;
        padding: 25px 20px;
    }

    .privacy-number[b-94lh0mmywx] {
        width: 36px;
        height: 36px;
        border-radius: 10px;
        font-size: .66rem;
    }

    .privacy-section h2[b-94lh0mmywx] {
        margin-top: 0;
        margin-bottom: 10px;
        font-size: 1rem;
    }

    .privacy-section p[b-94lh0mmywx],
    .privacy-section ul[b-94lh0mmywx] {
        font-size: .85rem;
        line-height: 1.65;
    }

    .privacy-section ul[b-94lh0mmywx] {
        padding-left: 19px;
    }

    .privacy-contact-box[b-94lh0mmywx] {
        padding: 14px;
    }

    .privacy-contact-large[b-94lh0mmywx] {
        max-width: 100%;
    }

    .privacy-footer[b-94lh0mmywx] {
        flex-direction: column;
        gap: 7px;
        padding-top: 23px;
    }
}
/* /Components/Pages/Upload.razor.rz.scp.css */
*[b-2ow7r83q0f] {
    box-sizing: border-box;
}


/* =========================
       PAGE
       ========================= */

.upload-page[b-2ow7r83q0f] {
    min-height: 100vh;
    min-height: 100dvh;
    background: radial-gradient( circle at 50% -10%, rgba(111, 78, 246, 0.12), transparent 42% ), #f7f7fa;
    color: #17171c;
    display: flex;
    justify-content: center;
    padding: 24px 18px 32px;
}


.upload-container[b-2ow7r83q0f] {
    width: 100%;
    max-width: 480px;
}


/* =========================
       BRAND
       ========================= */

.upload-header[b-2ow7r83q0f] {
    margin-bottom: 23px;
}


.brand-small[b-2ow7r83q0f] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
}


.brand-icon[b-2ow7r83q0f] {
    width: 42px;
    height: 42px;
    border-radius: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #17171c;
    color: #ffffff;
    box-shadow: 0 7px 18px rgba(0, 0, 0, 0.11);
}

    .brand-icon i[b-2ow7r83q0f] {
        font-size: 19px;
    }


    .brand-icon span[b-2ow7r83q0f] {
        font-size: 20px;
        filter: grayscale(1) brightness(0) invert(1);
    }


.brand-name[b-2ow7r83q0f] {
    font-size: 19px;
    font-weight: 800;
    letter-spacing: -0.5px;
}


.brand-subtitle[b-2ow7r83q0f] {
    margin-top: 1px;
    font-size: 11px;
    color: #92929b;
}


/* =========================
       EVENT HEADER
       ========================= */

.event-header[b-2ow7r83q0f] {
    text-align: center;
    margin-bottom: 28px;
}


.event-badge[b-2ow7r83q0f] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 11px;
    border-radius: 999px;
    background: #ffffff;
    border: 1px solid #e8e8ed;
    color: #707079;
    font-size: 28px;
    font-weight: 600;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
    margin-bottom: 10px;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}


.event-dot[b-2ow7r83q0f] {
    width: 17px;
    height: 17px;
    flex-shrink: 0;
    border-radius: 50%;
    background: #6f4ef6;
    box-shadow: 0 0 0 4px rgba(111, 78, 246, 0.10);
}


.event-header h1[b-2ow7r83q0f] {
    margin: 0;
    font-size: clamp(34px, 9vw, 46px);
    line-height: 1.04;
    letter-spacing: -1.8px;
    font-weight: 850;
}


    .event-header h1 span[b-2ow7r83q0f] {
        color: #8a8a94;
    }


.event-header p[b-2ow7r83q0f] {
    margin: 17px auto 0;
    max-width: 380px;
    font-size: 14px;
    line-height: 1.55;
    color: #74747e;
}


/* =========================
       UPLOAD CARD
       ========================= */

.upload-card[b-2ow7r83q0f] {
    background: #ffffff;
    border: 1px solid #e8e8ed;
    border-radius: 24px;
    padding: 18px;
    box-shadow: 0 16px 40px rgba(30, 30, 45, 0.07);
}


/* =========================
       FILE INPUT
       ========================= */

.upload-card[b-2ow7r83q0f]  .hidden-file-input {
    display: none;
}

/* =========================
       PHOTO PICKER
       ========================= */

.photo-picker[b-2ow7r83q0f] {
    min-height: 245px;
    border: 2px dashed #dedee7;
    border-radius: 18px;
    background: linear-gradient( 180deg, #fafafd 0%, #f7f7fa 100% );
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    text-align: center;
    padding: 30px 20px;
    cursor: pointer;
    transition: border-color .2s, background .2s, transform .15s;
}


    .photo-picker:hover[b-2ow7r83q0f] {
        border-color: #b9adf8;
        background: #faf9ff;
    }


    .photo-picker:active[b-2ow7r83q0f] {
        transform: scale(0.99);
    }


.photo-picker-icon[b-2ow7r83q0f] {
    width: 62px;
    height: 62px;
    border-radius: 19px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f0edff;
    color: #6f4ef6;
    font-size: 28px;
    margin-bottom: 17px;
    box-shadow: 0 8px 20px rgba(111, 78, 246, 0.08);
}


.photo-picker-title[b-2ow7r83q0f] {
    font-size: 17px;
    font-weight: 750;
    letter-spacing: -0.3px;
}


.photo-picker-description[b-2ow7r83q0f] {
    margin-top: 6px;
    max-width: 260px;
    font-size: 12px;
    line-height: 1.5;
    color: #85858e;
}


.photo-picker-hint[b-2ow7r83q0f] {
    margin-top: 13px;
    padding: 5px 9px;
    border-radius: 999px;
    background: #eeeeF3;
    color: #9999a3;
    font-size: 10px;
    font-weight: 600;
}


/* =========================
       PREVIEW
       ========================= */

.preview-header[b-2ow7r83q0f] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 13px;
}


.preview-title[b-2ow7r83q0f] {
    font-size: 15px;
    font-weight: 750;
    letter-spacing: -0.2px;
}


.preview-file[b-2ow7r83q0f] {
    margin-top: 3px;
    max-width: 240px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #92929b;
    font-size: 11px;
}


.change-photo-button[b-2ow7r83q0f] {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid #e1e1e7;
    background: #f8f8fa;
    color: #55555f;
    border-radius: 11px;
    padding: 8px 11px;
    font-size: 11px;
    font-weight: 650;
    cursor: pointer;
    transition: background .15s, transform .15s;
}

    .change-photo-button i[b-2ow7r83q0f] {
        font-size: 12px;
    }


    .change-photo-button:hover[b-2ow7r83q0f] {
        background: #f0f0f3;
    }


    .change-photo-button:active[b-2ow7r83q0f] {
        transform: scale(0.97);
    }


.upload-preview-container[b-2ow7r83q0f] {
    width: 100%;
    border-radius: 17px;
    overflow: hidden;
    background: #f0f0f3;
    border: 1px solid #e5e5ea;
}


.upload-preview[b-2ow7r83q0f] {
    display: block;
    width: 100%;
    max-height: 430px;
    object-fit: contain;
    background: #eeeeF2;
}


/* =========================
       CAPTION
       ========================= */

.caption-section[b-2ow7r83q0f] {
    margin-top: 17px;
}


.caption-label[b-2ow7r83q0f] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 8px;
    font-size: 13px;
    font-weight: 700;
}

    .caption-label i[b-2ow7r83q0f] {
        color: #6f4ef6;
        font-size: 13px;
    }


.upload-card[b-2ow7r83q0f]  .caption-input {
    width: 100%;
    min-height: 92px;
    resize: vertical;
    border: 1px solid #dedee5;
    border-radius: 15px;
    padding: 12px 14px;
    outline: none;
    background: #fafafd;
    color: #1b1b21;
    font-family: inherit;
    font-size: 13px;
    line-height: 1.5;
    transition: border-color .2s, box-shadow .2s, background .2s;
}

    .upload-card[b-2ow7r83q0f]  .caption-input::placeholder {
        color: #aaaab3;
    }

    .upload-card[b-2ow7r83q0f]  .caption-input:focus {
        background: #ffffff;
        border-color: #6f4ef6;
        box-shadow: 0 0 0 4px rgba(111, 78, 246, 0.10);
    }


.caption-hint[b-2ow7r83q0f] {
    margin-top: 6px;
    color: #9a9aa3;
    font-size: 10px;
}


/* =========================
       UPLOAD BUTTON
       ========================= */

.upload-button[b-2ow7r83q0f] {
    width: 100%;
    height: 56px;
    margin-top: 14px;
    border: none;
    border-radius: 15px;
    background: #17171c;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(23, 23, 28, 0.16);
    transition: transform .15s, background .15s, opacity .15s;
}


    .upload-button:hover[b-2ow7r83q0f] {
        background: #2b2b32;
    }


    .upload-button:active[b-2ow7r83q0f] {
        transform: scale(0.98);
    }


    .upload-button:disabled[b-2ow7r83q0f] {
        opacity: 0.65;
        cursor: not-allowed;
    }


.upload-arrow[b-2ow7r83q0f] {
    font-size: 18px;
    line-height: 1;
}


/* =========================
       LOADING
       ========================= */

.spinner[b-2ow7r83q0f] {
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255,255,255,0.35);
    border-top-color: #ffffff;
    border-radius: 50%;
    animation: spin-b-2ow7r83q0f .7s linear infinite;
}


@keyframes spin-b-2ow7r83q0f {

    to {
        transform: rotate(360deg);
    }
}


/* =========================
       MESSAGE
       ========================= */

.message-card[b-2ow7r83q0f] {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    margin-top: 12px;
    padding: 14px 15px;
    border-radius: 16px;
    background: #ffffff;
    border: 1px solid #e8e8ed;
    box-shadow: 0 8px 24px rgba(30, 30, 45, 0.05);
    color: #565660;
    font-size: 12px;
    line-height: 1.5;
}


.message-icon[b-2ow7r83q0f] {
    width: 26px;
    height: 26px;
    flex-shrink: 0;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f0edff;
    color: #6f4ef6;
    font-size: 13px;
    font-weight: 800;
}


.message-content[b-2ow7r83q0f] {
    padding-top: 4px;
}


.message-card-success[b-2ow7r83q0f] {
    align-items: center;
    gap: 9px;
    margin-top: 10px;
    padding: 11px 12px;
    border: 1px solid #bde8ca;
    border-radius: 12px;
    background: #e5f8ed;
    color: #14532d;
    font-size: 12px;
    line-height: 1.4;
}


.message-card-success .message-icon[b-2ow7r83q0f] {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #16834a;
    color: #ffffff;
    font-size: 13px;
}


.message-card-success .message-content[b-2ow7r83q0f] {
    display: block;
    padding-top: 0;
}


.message-card-success .message-content strong[b-2ow7r83q0f] {
    color: #116237;
    font-weight: 800;
    margin-right: 4px;
}


.message-card-error[b-2ow7r83q0f] {
    align-items: center;
    gap: 9px;
    margin-top: 10px;
    padding: 11px 12px;
    border: 1px solid #ffd6d6;
    border-radius: 12px;
    background: #fff0f0;
    color: #c62828;
    font-size: 12px;
    line-height: 1.4;
}


.message-card-error .message-icon[b-2ow7r83q0f] {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #c93636;
    color: #ffffff;
    font-size: 14px;
}


.message-card-error .message-content[b-2ow7r83q0f] {
    padding-top: 0;
}


/* =========================
       NOT FOUND
       ========================= */

.not-found-card[b-2ow7r83q0f] {
    margin-top: 25vh;
    background: #ffffff;
    border: 1px solid #e8e8ed;
    border-radius: 24px;
    padding: 30px 22px;
    text-align: center;
    box-shadow: 0 16px 40px rgba(30, 30, 45, 0.07);
}


.not-found-icon[b-2ow7r83q0f] {
    width: 56px;
    height: 56px;
    margin: 0 auto 17px;
    border-radius: 17px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f0edff;
    font-size: 25px;
}


.not-found-card h1[b-2ow7r83q0f] {
    margin: 0;
    font-size: 22px;
    letter-spacing: -0.6px;
}


.not-found-card p[b-2ow7r83q0f] {
    margin: 9px 0 0;
    color: #85858e;
    font-size: 13px;
    line-height: 1.5;
}

.brand-link[b-2ow7r83q0f] {
    border: none;
    padding: 0;
    margin: 0 auto;
    background: transparent;
    color: inherit;
    font: inherit;
    cursor: pointer;
    text-align: left;
    transition: opacity .15s, transform .15s;
}

    .brand-link:hover[b-2ow7r83q0f] {
        opacity: .82;
    }

    .brand-link:active[b-2ow7r83q0f] {
        transform: scale(.98);
    }


/* =========================
       FOOTER
       ========================= */

.upload-footer[b-2ow7r83q0f] {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-top: 30px;
}


.footer-line[b-2ow7r83q0f] {
    flex: 1;
    height: 1px;
    background: #dedee4;
}


.footer-text[b-2ow7r83q0f] {
    color: #aaaab2;
    font-size: 10px;
    font-weight: 600;
}


/* =========================
       SMALL PHONES
       ========================= */

@media (max-width: 380px) {

    .upload-page[b-2ow7r83q0f] {
        padding: 20px 15px 28px;
    }


    .upload-header[b-2ow7r83q0f] {
        margin-bottom: 32px;
    }


    .event-header h1[b-2ow7r83q0f] {
        font-size: 32px;
    }


    .upload-card[b-2ow7r83q0f] {
        padding: 15px;
        border-radius: 21px;
    }


    .photo-picker[b-2ow7r83q0f] {
        min-height: 220px;
    }
}

.home-footer[b-2ow7r83q0f] {
    margin-top: 6px;
    padding: 20px 0 10px;
    text-align: center;
}

.home-footer-brand[b-2ow7r83q0f] {
    font-size: 0.85rem;
    font-weight: 600;
    color: #8b8fa3;
    margin-bottom: 4px;
}

.home-footer-author[b-2ow7r83q0f] {
    font-size: 0.75rem;
    color: #a6a9b8;
    text-decoration: none;
    transition: color 0.2s ease;
}

    .home-footer-author:hover[b-2ow7r83q0f] {
        color: #7c5cff;
    }
/* /Components/Pages/User/Display.razor.rz.scp.css */
/* =========================================================
   TV SCREEN
   ========================================================= */

.tv-screen[b-yu6gserms5] {
    position: relative;
    width: 100vw;
    height: 100vh;
    height: 100dvh;
    overflow: hidden;
    background: #08090d;
    color: #ffffff;
}


/* =========================================================
   ERROR
   ========================================================= */

.tv-screen-error[b-yu6gserms5] {
    display: flex;
    align-items: center;
    justify-content: center;
}


.tv-error-content[b-yu6gserms5] {
    width: min(500px, 80vw);
    text-align: center;
}


.tv-error-icon[b-yu6gserms5] {
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 24px;
    border-radius: 24px;
    background: rgba(255, 255, 255, .08);
    color: #b9a7ff;
    font-size: 30px;
}


.tv-error-content h1[b-yu6gserms5] {
    margin: 0;
    font-size: clamp(28px, 3vw, 42px);
    font-weight: 800;
    letter-spacing: -1px;
}


.tv-error-content p[b-yu6gserms5] {
    margin: 12px 0 0;
    color: rgba(255, 255, 255, .55);
    font-size: 15px;
}


/* =========================================================
   EMPTY SCREEN
   ========================================================= */

.tv-screen-empty[b-yu6gserms5] {
    display: flex;
    align-items: center;
    justify-content: center;
    background: radial-gradient( circle at center, #20202c 0%, #0d0e14 48%, #07080b 100% );
}


/* =========================================================
   BRAND
   ========================================================= */

.tv-event-brand[b-yu6gserms5] {
    position: absolute;
    top: 42px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 11px;
}


.tv-brand-icon[b-yu6gserms5] {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    background: rgba(255, 255, 255, .95);
    color: #17171c;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .3);
}


    .tv-brand-icon i[b-yu6gserms5] {
        font-size: 22px;
    }


.tv-brand-name[b-yu6gserms5] {
    color: #ffffff;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -.2px;
}


/* =========================================================
   EMPTY CONTENT
   ========================================================= */

.tv-empty-content[b-yu6gserms5] {
    position: relative;
    z-index: 2;
    bottom: 5%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-top: -25px;
}


.tv-event-label[b-yu6gserms5] {
    margin-bottom: 13px;
    color: #9b86ff;
    font-size: 28px;
    font-weight: 800;
    letter-spacing: 2px;
}


.tv-empty-content h1[b-yu6gserms5] {
    max-width: 850px;
    margin: 0;
    color: #ffffff;
    font-size: clamp(42px, 6vw, 86px);
    font-weight: 850;
    line-height: 1.05;
    letter-spacing: -2.5px;
    text-wrap: balance;
}


.tv-empty-divider[b-yu6gserms5] {
    width: 88px;
    height: 2px;
    margin: 22px 0 18px;
    border-radius: 2px;
    background: #765cff;
}


.tv-empty-content p[b-yu6gserms5] {
    margin: 0;
    color: rgba(255, 255, 255, .55);
    font-size: 28px;
}


.tv-empty-icon[b-yu6gserms5] {
    width: 66px;
    height: 66px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 20px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 18px;
    background: rgba(255, 255, 255, .045);
    color: rgba(255, 255, 255, .65);
    font-size: 28px;
}


/* =========================================================
   QR PANELS - EMPTY
   ========================================================= */

.tv-qr-panel[b-yu6gserms5] {
    position: absolute;
    bottom: 45px;
    z-index: 5;
}


.tv-qr-panel-left[b-yu6gserms5] {
    left: 45px;
}


.tv-qr-panel-right[b-yu6gserms5] {
    right: 45px;
}


.tv-qr-card[b-yu6gserms5] {
    width: 190px;
    padding: 12px 12px 15px;
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: 19px;
    background: rgba(255, 255, 255, .065);
    box-shadow: 0 20px 50px rgba(0, 0, 0, .25);
    backdrop-filter: blur(14px);
}


.tv-qr-image-wrapper[b-yu6gserms5] {
    width: 166px;
    height: 166px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 13px;
    background: #ffffff;
}


.event-qr[b-yu6gserms5] {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}


.tv-qr-label[b-yu6gserms5] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 12px;
    color: #ffffff;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .8px;
}


    .tv-qr-label i[b-yu6gserms5] {
        color: #9b86ff;
        font-size: 14px;
    }


.tv-qr-description[b-yu6gserms5] {
    margin-top: 4px;
    color: rgba(255, 255, 255, .45);
    font-size: 12px;
}


/* =========================================================
   EMPTY FOOTER
   ========================================================= */

.tv-footer[b-yu6gserms5] {
    position: absolute;
    bottom: 15%;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgba(255, 255, 255, .88);
    font-size: 64px;
    font-weight: 650;
    letter-spacing: .3px;
    white-space: nowrap;
}


.tv-footer-separator[b-yu6gserms5] {
    color: rgba(255, 255, 255, .2);
}


/* =========================================================
   PHOTO SCREEN
   ========================================================= */

.tv-screen-photo[b-yu6gserms5] {
    background: #000000;
}


.photo-stage[b-yu6gserms5] {
    position: relative;
    width: 100vw;
    height: 100vh;
    height: 100dvh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #000000;
}


.display-photo[b-yu6gserms5] {
    position: absolute;
    bottom: 0;
    width: auto;
    height: 100%;
    max-width: none;
    max-height: none;
    object-fit: fill;
    background: transparent;
}


/* =========================================================
   PHOTO OVERLAY
   ========================================================= */


.photo-overlay[b-yu6gserms5] {
/*    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient( to bottom, rgba(0, 0, 0, .55) 0%, rgba(0, 0, 0, 0) 22%, rgba(0, 0, 0, 0) 66%, rgba(0, 0, 0, .72) 100% );
    z-index: 2;*/
}


/* =========================================================
   CAPTION
   ========================================================= */

.photo-caption[b-yu6gserms5] {
    position: absolute;
    z-index: 4;
    left: 50%;
    bottom: 40px;
    transform: translateX(-50%);
    width: min(760px, 65vw);
    padding: 10px 20px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 15px;
    background: rgba(0, 0, 0, .38);
    color: #ffffff;
    font-size: 28px;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
    backdrop-filter: blur(12px);
}


.photo-caption span[b-yu6gserms5] {
    display: block;
    overflow-wrap: break-word;
    text-wrap: balance;
}


.photo-caption-long[b-yu6gserms5] {
    font-size: clamp(26px, 1.15vw, 22px);
    line-height: 1.35;
}

/* =========================================================
   QR ON PHOTO
   ========================================================= */

.photo-qr-panel[b-yu6gserms5] {
    position: absolute;
    z-index: 5;
    bottom: 20px;
}


.photo-qr-panel-left[b-yu6gserms5] {
    left: 20px;
}


.photo-qr-panel-right[b-yu6gserms5] {
    right: 20px;
}


.photo-qr-card[b-yu6gserms5] {
    width: 150px;
    padding: 9px 9px 11px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 16px;
    background: rgba(0, 0, 0, .46);
    box-shadow: 0 15px 35px rgba(0, 0, 0, .28);
    backdrop-filter: blur(14px);
}


.photo-qr-image-wrapper[b-yu6gserms5] {
    width: 132px;
    height: 132px;
    overflow: hidden;
    border-radius: 10px;
    background: #ffffff;
}


.photo-qr-text[b-yu6gserms5] {
    padding-top: 8px;
}


.photo-qr-title[b-yu6gserms5] {
    display: flex;
    align-items: center;
    gap: 5px;
    color: #ffffff;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .7px;
}


    .photo-qr-title i[b-yu6gserms5] {
        color: #a18cff;
        font-size: 14px;
    }


.photo-qr-subtitle[b-yu6gserms5] {
    margin-top: 3px;
    color: rgba(255, 255, 255, .42);
    font-size: 12px;
}


/* =========================================================
   PHOTO FOOTER - MAIN ACCESS
   ========================================================= */

.photo-footer[b-yu6gserms5] {
    position: absolute;
    z-index: 6;
    top: 8px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 24px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 15px;
    background: rgba(8, 9, 13, .40);
    box-shadow: 0 12px 35px rgba(0, 0, 0, .28);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    white-space: nowrap;
}


.photo-footer-line[b-yu6gserms5] {
    display: none;
}


.photo-footer-center[b-yu6gserms5] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
    color: #ffffff;
    font-size: clamp(28px, 1.45vw, 36px);
    font-weight: 850;
    letter-spacing: -.3px;
    white-space: nowrap;
}


.photo-footer-dot[b-yu6gserms5] {
    color: #a18cff;
    font-size: 28px;
}


/* =========================================================
   MOBILE / SMALL SCREENS
   ========================================================= */

/*
   Niektóre telewizory zgłaszają przeglądarce mniejszą szerokość CSS
   niż ich fizyczna rozdzielczość. Zachowujemy wtedy proporcje widoku
   z laptopa zamiast powiększać stałe wartości w pikselach.
*/
@media (min-width: 901px) and (max-width: 1600px) {

    .tv-qr-panel[b-yu6gserms5] {
        bottom: 32px;
    }


    .tv-qr-panel-left[b-yu6gserms5] {
        left: 28px;
    }


    .tv-qr-panel-right[b-yu6gserms5] {
        right: 28px;
    }


    .tv-qr-card[b-yu6gserms5] {
        width: 170px;
        padding: 10px 10px 12px;
    }


    .tv-qr-image-wrapper[b-yu6gserms5] {
        width: 150px;
        height: 150px;
    }


    .tv-qr-label[b-yu6gserms5] {
        white-space: nowrap;
    }


    .tv-footer[b-yu6gserms5] {
        bottom: 13%;
        font-size: clamp(36px, 3.5vw, 56px);
    }
}

@media (max-width: 900px) {

    .tv-qr-card[b-yu6gserms5] {
        width: 145px;
    }


    .tv-qr-image-wrapper[b-yu6gserms5] {
        width: 121px;
        height: 121px;
    }


    .tv-qr-panel-left[b-yu6gserms5] {
        left: 20px;
    }


    .tv-qr-panel-right[b-yu6gserms5] {
        right: 20px;
    }


    .tv-empty-content h1[b-yu6gserms5] {
        max-width: 70vw;
        font-size: clamp(34px, 7vw, 55px);
    }


    .photo-qr-panel[b-yu6gserms5] {
        right: 20px;
        bottom: 55px;
    }


    .photo-qr-card[b-yu6gserms5] {
        width: 120px;
    }


    .photo-qr-image-wrapper[b-yu6gserms5] {
        width: 102px;
        height: 102px;
    }
}


@media (max-width: 600px) {

    .tv-event-brand[b-yu6gserms5] {
        top: 20px;
    }


    .tv-qr-panel[b-yu6gserms5] {
        bottom: 18px;
    }


    .tv-qr-panel-left[b-yu6gserms5] {
        left: 12px;
    }


    .tv-qr-panel-right[b-yu6gserms5] {
        right: 12px;
    }


    .tv-qr-card[b-yu6gserms5] {
        width: 105px;
        padding: 7px 7px 9px;
        border-radius: 12px;
    }


    .tv-qr-image-wrapper[b-yu6gserms5] {
        width: 91px;
        height: 91px;
        border-radius: 8px;
    }


    .tv-qr-label[b-yu6gserms5] {
        margin-top: 7px;
        font-size: 7px;
    }


    .tv-qr-description[b-yu6gserms5] {
        font-size: 7px;
    }


    .tv-footer[b-yu6gserms5] {
        display: none;
    }


    .tv-empty-content[b-yu6gserms5] {
        margin-top: -10px;
    }


        .tv-empty-content h1[b-yu6gserms5] {
            max-width: 75vw;
            font-size: 32px;
            letter-spacing: -1px;
        }


        .tv-empty-content p[b-yu6gserms5] {
            font-size: 12px;
        }


    .photo-qr-panel[b-yu6gserms5] {
        right: 12px;
        bottom: 45px;
    }


    .photo-qr-card[b-yu6gserms5] {
        width: 90px;
        padding: 6px;
    }


    .photo-qr-image-wrapper[b-yu6gserms5] {
        width: 78px;
        height: 78px;
    }


    .photo-qr-title[b-yu6gserms5] {
        font-size: 6px;
    }


    .photo-qr-subtitle[b-yu6gserms5] {
        display: none;
    }


    .photo-caption[b-yu6gserms5] {
        bottom: 52px;
        width: 65vw;
        padding: 8px 10px;
        font-size: 10px;
    }


    .photo-footer[b-yu6gserms5] {
        display: none;
    }
}
/* /Components/Pages/User/EventAdminLayout.razor.rz.scp.css */
.event-admin-shell[b-c1fryig1pa] { width: 100%; }
.event-admin-header[b-c1fryig1pa] { margin-bottom: 24px; }
.event-admin-header > .admin-back-button[b-c1fryig1pa] { margin-bottom: 18px; }
.event-admin-heading-row[b-c1fryig1pa] { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.event-admin-title[b-c1fryig1pa] { display: flex; align-items: center; gap: 16px; min-width: 0; }
.event-admin-icon[b-c1fryig1pa] {
    width: 56px; height: 56px; display: grid; place-items: center; flex: 0 0 auto;
    border-radius: 15px; background: var(--admin-accent-soft, #f2efff);
    color: var(--admin-accent, #6f4ef6); font-size: 22px;
}
.event-admin-title-copy[b-c1fryig1pa] { min-width: 0; }
.event-admin-eyebrow[b-c1fryig1pa] { margin-bottom: 5px; color: var(--admin-accent, #6f4ef6); font-size: 12px; font-weight: 800; letter-spacing: .8px; }
.event-admin-title-copy h1[b-c1fryig1pa] { overflow-wrap: anywhere; }
.event-admin-actions[b-c1fryig1pa] { display: flex; gap: 8px; flex: 0 0 auto; }
.event-action-button[b-c1fryig1pa] {
    height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 7px;
    padding: 0 14px; border-radius: 12px; text-decoration: none; font-size: 11px; font-weight: 700;
    transition: background .15s, transform .15s, border-color .15s;
}
.event-action-button:active[b-c1fryig1pa] { transform: scale(.98); }
.event-action-button i[b-c1fryig1pa] { font-size: 14px; }
.event-action-primary[b-c1fryig1pa] { background: #6f4ef6; color: #fff; box-shadow: 0 7px 16px rgba(111, 78, 246, .16); }
.event-action-primary:hover[b-c1fryig1pa] { background: #6242e8; color: #fff; }
.event-action-secondary[b-c1fryig1pa] { border: 1px solid #dedee6; background: #fff; color: #4f4f59; }
.event-action-secondary:hover[b-c1fryig1pa] { background: #f7f7f9; color: #28282f; }

.event-info-grid[b-c1fryig1pa] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 14px;
}
.event-info-card[b-c1fryig1pa] {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 0;
    padding: 18px;
    border: 1px solid #e5e5eb;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(30, 30, 45, .035);
}
.event-info-icon[b-c1fryig1pa] {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: 13px;
    background: #f0edff;
    color: #6f4ef6;
}
.event-info-icon i[b-c1fryig1pa] { font-size: 15px; }
.event-info-content[b-c1fryig1pa] { min-width: 0; }
.event-info-label[b-c1fryig1pa] { color: #9a9aa3; font-size: 8px; font-weight: 800; letter-spacing: .7px; }
.event-info-value[b-c1fryig1pa] {
    margin-top: 4px;
    overflow: hidden;
    color: #202027;
    font-size: 13px;
    font-weight: 750;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.event-code-value[b-c1fryig1pa] { font-size: 12px; font-weight: 850; letter-spacing: 1.2px; }
.event-info-secondary[b-c1fryig1pa] { margin-top: 2px; color: #9a9aa3; font-size: 9px; }
.event-owner-value[b-c1fryig1pa] { max-width: 230px; }
.event-management-actions[b-c1fryig1pa] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 25px;
    padding: 12px;
    border: 1px solid #e5e5eb;
    border-radius: 16px;
    background: #fff;
}
.download-photos-button[b-c1fryig1pa],
.delete-event-button[b-c1fryig1pa] {
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 13px;
    border-radius: 11px;
    font-family: inherit;
    font-size: 10px;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    transition: background .15s, border-color .15s, color .15s, transform .15s;
}
.download-photos-button[b-c1fryig1pa] { border: 1px solid #dedee6; background: #f8f8fa; color: #55555f; }
.download-photos-button:hover[b-c1fryig1pa] { background: #f0f0f3; color: #28282f; }
.download-photos-disabled[b-c1fryig1pa] { cursor: not-allowed; opacity: .55; }
.download-photos-disabled:hover[b-c1fryig1pa] { background: #f8f8fa; color: #55555f; }
.delete-event-button[b-c1fryig1pa] { border: 1px solid #f0d9d9; background: #fff8f8; color: #c14c4c; }
.delete-event-button:hover[b-c1fryig1pa] { background: #fff0f0; }
.download-photos-button:active[b-c1fryig1pa], .delete-event-button:active[b-c1fryig1pa] { transform: scale(.98); }
.download-photos-disabled:active[b-c1fryig1pa] { transform: none; }
.event-admin-tabs[b-c1fryig1pa] {
    display: flex; gap: 4px; margin-bottom: 0; padding: 5px; overflow-x: auto;
    border: 1px solid var(--admin-border, #e4e4ea); border-radius: 13px 13px 0 0;
    background: #f7f7f9; scrollbar-width: thin;
}
.event-admin-tab[b-c1fryig1pa] {
    min-height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: 7px;
    padding: 0 14px; border-radius: 9px; color: #666671; text-decoration: none;
    font-size: 13px; font-weight: 600; white-space: nowrap;
    transition: background .2s ease, color .2s ease, box-shadow .2s ease;
}
.event-admin-tab:hover[b-c1fryig1pa] { color: #22222a; }
.event-admin-tab.active[b-c1fryig1pa] { background: #fff; color: #22222a; box-shadow: 0 1px 5px rgba(0, 0, 0, .08); }
.event-admin-content[b-c1fryig1pa] { min-width: 0; }
.event-admin-content[b-c1fryig1pa]  .event-tab-panel {
    box-sizing: border-box; width: 100%; min-width: 0; padding: 24px;
    border: 1px solid var(--admin-border, #e4e4ea); border-top: 0;
    border-radius: 0 0 var(--admin-card-radius, 16px) var(--admin-card-radius, 16px);
    background: var(--admin-surface, #fff); box-shadow: 0 10px 28px rgba(30, 30, 45, .045);
}
.event-admin-content[b-c1fryig1pa]  .event-configuration-page { min-height: 160px; }
.event-admin-loading[b-c1fryig1pa], .event-admin-error[b-c1fryig1pa] { margin-bottom: 16px; color: var(--admin-muted, #858590); font-size: 13px; }
.event-admin-error[b-c1fryig1pa] { color: #c62828; }

@media (max-width: 768px) {
    .event-admin-heading-row[b-c1fryig1pa] { align-items: flex-start; flex-direction: column; gap: 16px; }
    .event-admin-title[b-c1fryig1pa] { gap: 12px; }
    .event-admin-icon[b-c1fryig1pa] { width: 48px; height: 48px; border-radius: 13px; font-size: 19px; }
    .event-admin-actions[b-c1fryig1pa] { width: 100%; }
    .event-admin-actions .event-action-button[b-c1fryig1pa] { flex: 1; }
    .event-info-grid[b-c1fryig1pa] { grid-template-columns: 1fr; }
    .event-management-actions[b-c1fryig1pa] { align-items: stretch; flex-direction: column; }
    .download-photos-button[b-c1fryig1pa], .delete-event-button[b-c1fryig1pa] { width: 100%; }
    .event-admin-tabs[b-c1fryig1pa] {
        margin-right: -20px; margin-left: -20px; padding-right: 20px; padding-left: 20px;
        border-right: 0; border-left: 0; border-radius: 0;
    }
    .event-admin-tab[b-c1fryig1pa] { min-height: 38px; padding: 0 12px; font-size: 12px; }
    .event-admin-content[b-c1fryig1pa]  .event-tab-panel { padding: 20px; }
}

@media (max-width: 380px) {
    .event-admin-tabs[b-c1fryig1pa] { margin-right: -12px; margin-left: -12px; padding-right: 12px; padding-left: 12px; }
    .event-admin-content[b-c1fryig1pa]  .event-tab-panel { padding: 16px; }
}
/* /Components/Pages/User/EventConfiguration.razor.rz.scp.css */
.event-config-header[b-a4szuu41ti] { margin-bottom: 20px; }
.event-config-eyebrow[b-a4szuu41ti] { margin-bottom: 6px; color: #6f4ef6; font-size: 11px; font-weight: 800; letter-spacing: .8px; }
.event-config-header h2[b-a4szuu41ti] { margin: 0; color: #202027; font-size: 22px; font-weight: 800; }
.event-config-header p[b-a4szuu41ti] { margin: 6px 0 0; color: #858590; font-size: 13px; }
.event-config-card[b-a4szuu41ti] {
    margin-bottom: 16px;
    padding: 20px;
    border: 1px solid #e4e4ea;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(30, 30, 45, .04);
}
.event-config-card-heading[b-a4szuu41ti] { display: flex; align-items: center; gap: 13px; min-width: 0; }
.event-config-icon[b-a4szuu41ti] {
    width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 auto;
    border-radius: 12px; background: #f0edff; color: #6f4ef6; font-size: 17px;
}
.event-config-card-heading h3[b-a4szuu41ti] { margin: 0; color: #282832; font-size: 15px; font-weight: 800; }
.event-config-card-heading p[b-a4szuu41ti] { margin: 5px 0 0; color: #858590; font-size: 12px; line-height: 1.5; }
.event-config-current-code[b-a4szuu41ti] {
    display: inline-block; margin: 16px 0 0 55px; padding: 8px 12px;
    border-radius: 9px; background: #f5f5f7; color: #303039;
    font-family: monospace; font-size: 20px; font-weight: 800; letter-spacing: 2px;
}
.event-config-warning[b-a4szuu41ti] {
    display: flex; align-items: flex-start; gap: 8px; margin-top: 14px; padding: 10px 12px;
    border: 1px solid #f3d9a4; border-radius: 10px; background: #fff9ed; color: #98630b;
    font-size: 12px; line-height: 1.5;
}
.event-config-warning i[b-a4szuu41ti] { margin-top: 2px; }
.event-config-approval-row[b-a4szuu41ti] { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.event-config-actions[b-a4szuu41ti] { display: flex; justify-content: flex-end; margin-top: 16px; }
.event-config-primary-button[b-a4szuu41ti] {
    min-height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    padding: 0 14px; border: 0; border-radius: 10px; background: #6f4ef6; color: #fff;
    font-family: inherit; font-size: 12px; font-weight: 750; cursor: pointer;
}
.event-config-primary-button:hover:not(:disabled)[b-a4szuu41ti] { background: #6242e8; }
.event-config-primary-button:disabled[b-a4szuu41ti] { opacity: .6; cursor: not-allowed; }
.event-config-toggle[b-a4szuu41ti] { position: relative; width: 48px; height: 28px; flex: 0 0 auto; cursor: pointer; }
.event-config-toggle input[b-a4szuu41ti] { position: absolute; width: 1px; height: 1px; opacity: 0; }
.event-config-toggle span[b-a4szuu41ti] {
    position: absolute; inset: 0; border-radius: 999px; background: #d7d7df;
    transition: background .18s ease;
}
.event-config-toggle span[b-a4szuu41ti]::before {
    position: absolute; top: 4px; left: 4px; width: 20px; height: 20px; border-radius: 50%;
    background: #fff; box-shadow: 0 1px 4px rgba(0, 0, 0, .18); content: "";
    transition: transform .18s ease;
}
.event-config-toggle input:checked + span[b-a4szuu41ti] { background: #6f4ef6; }
.event-config-toggle input:checked + span[b-a4szuu41ti]::before { transform: translateX(20px); }
.event-config-toggle input:focus-visible + span[b-a4szuu41ti] { outline: 3px solid rgba(111, 78, 246, .25); outline-offset: 2px; }
.event-config-error[b-a4szuu41ti], .event-config-success[b-a4szuu41ti] { margin-top: 14px; padding: 10px 12px; border-radius: 10px; font-size: 12px; }
.event-config-error[b-a4szuu41ti] { border: 1px solid #ffd0d0; background: #fff1f1; color: #b42318; }
.event-config-success[b-a4szuu41ti] { border: 1px solid #ccebd5; background: #effaf2; color: #257044; }
.event-config-loading[b-a4szuu41ti] { min-height: 160px; display: grid; place-items: center; color: #858590; }

@media (max-width: 600px) {
    .event-config-card[b-a4szuu41ti] { padding: 16px; }
    .event-config-approval-row[b-a4szuu41ti] { align-items: flex-start; }
    .event-config-current-code[b-a4szuu41ti] { margin-left: 0; }
    .event-config-actions[b-a4szuu41ti], .event-config-primary-button[b-a4szuu41ti] { width: 100%; }
}
/* /Components/Pages/User/EventDetails.razor.rz.scp.css */

/* =========================================================
   BACK
   ========================================================= */

.back-link[b-4pwh9xljap] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 18px;
    color: #777782;
    text-decoration: none;
    font-size: 11px;
    font-weight: 700;
    transition: color .15s, transform .15s;
}

    .back-link:hover[b-4pwh9xljap] {
        color: #6f4ef6;
    }

    .back-link i[b-4pwh9xljap] {
        font-size: 13px;
    }


/* =========================================================
   HEADER
   ========================================================= */

.event-details-header[b-4pwh9xljap] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 25px;
    margin-bottom: 24px;
}


.event-details-title[b-4pwh9xljap] {
    min-width: 0;
}


.event-details-eyebrow[b-4pwh9xljap] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 7px;
    color: #6f4ef6;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .8px;
}


    .event-details-eyebrow i[b-4pwh9xljap] {
        font-size: 11px;
    }



.event-details-title p[b-4pwh9xljap] {
    margin: 10px 0 0;
    color: var(--admin-muted, #858590);
    font-size: 14px;
    line-height: 1.5;
}


/* =========================================================
   HEADER ACTIONS
   ========================================================= */

.event-header-actions[b-4pwh9xljap] {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}


.event-action-button[b-4pwh9xljap] {
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 14px;
    border-radius: 12px;
    text-decoration: none;
    font-size: 11px;
    font-weight: 700;
    transition: background .15s, transform .15s, border-color .15s;
}


    .event-action-button:active[b-4pwh9xljap] {
        transform: scale(.98);
    }


    .event-action-button i[b-4pwh9xljap] {
        font-size: 14px;
    }


.event-action-primary[b-4pwh9xljap] {
    background: #6f4ef6;
    color: #ffffff;
    box-shadow: 0 7px 16px rgba(111, 78, 246, 0.16);
}


    .event-action-primary:hover[b-4pwh9xljap] {
        background: #6242e8;
        color: #ffffff;
    }


.event-action-secondary[b-4pwh9xljap] {
    border: 1px solid #dedee6;
    background: #ffffff;
    color: #4f4f59;
}


    .event-action-secondary:hover[b-4pwh9xljap] {
        background: #f7f7f9;
        color: #28282f;
    }


/* =========================================================
   EVENT INFO
   ========================================================= */

.event-info-grid[b-4pwh9xljap] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 14px;
}


.event-info-card[b-4pwh9xljap] {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 0;
    padding: 18px;
    border: 1px solid #e5e5eb;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(30, 30, 45, 0.035);
}


.event-info-icon[b-4pwh9xljap] {
    width: 42px;
    height: 42px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    background: #f0edff;
    color: #6f4ef6;
}


    .event-info-icon i[b-4pwh9xljap] {
        font-size: 15px;
    }


.event-info-content[b-4pwh9xljap] {
    min-width: 0;
}


.event-info-label[b-4pwh9xljap] {
    color: #9a9aa3;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .7px;
}


.event-info-value[b-4pwh9xljap] {
    margin-top: 4px;
    color: #202027;
    font-size: 13px;
    font-weight: 750;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


.event-code-value[b-4pwh9xljap] {
    font-size: 12px;
    font-weight: 850;
    letter-spacing: 1.2px;
}


.event-info-secondary[b-4pwh9xljap] {
    margin-top: 2px;
    color: #9a9aa3;
    font-size: 9px;
}


.event-owner-value[b-4pwh9xljap] {
    max-width: 230px;
}


/* =========================================================
   MANAGEMENT ACTIONS
   ========================================================= */

.event-management-actions[b-4pwh9xljap] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 25px;
    padding: 12px;
    border: 1px solid #e5e5eb;
    border-radius: 16px;
    background: #ffffff;
}


.download-photos-button[b-4pwh9xljap],
.delete-event-button[b-4pwh9xljap] {
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border-radius: 11px;
    padding: 0 13px;
    font-family: inherit;
    font-size: 10px;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    transition: background .15s, border-color .15s, color .15s, transform .15s;
}


.download-photos-button[b-4pwh9xljap] {
    border: 1px solid #dedee6;
    background: #f8f8fa;
    color: #55555f;
}


    .download-photos-button:hover[b-4pwh9xljap] {
        background: #f0f0f3;
        color: #28282f;
    }

.download-photos-disabled[b-4pwh9xljap] {
    cursor: not-allowed;
    opacity: .55;
}

    .download-photos-disabled:hover[b-4pwh9xljap] {
        background: #f8f8fa;
        color: #55555f;
    }

    .download-photos-disabled:active[b-4pwh9xljap] {
        transform: none;
    }


.delete-event-button[b-4pwh9xljap] {
    border: 1px solid #f0d9d9;
    background: #fff8f8;
    color: #c14c4c;
}


    .delete-event-button:hover[b-4pwh9xljap] {
        background: #fff0f0;
    }


    .download-photos-button:active[b-4pwh9xljap],
    .delete-event-button:active[b-4pwh9xljap] {
        transform: scale(.98);
    }


    .download-photos-button i[b-4pwh9xljap],
    .delete-event-button i[b-4pwh9xljap] {
        font-size: 13px;
    }


/* =========================================================
   PHOTO SECTIONS
   ========================================================= */

.photo-section[b-4pwh9xljap] {
    margin-bottom: 14px;
    overflow: hidden;
    border: 1px solid #e4e4ea;
    border-radius: 19px;
    background: #ffffff;
    box-shadow: 0 10px 28px rgba(30, 30, 45, 0.04);
}


.photo-section-header[b-4pwh9xljap] {
    width: 100%;
    min-height: 84px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 16px 20px;
    border: none;
    background: #ffffff;
    color: inherit;
    font-family: inherit;
    text-align: left;
    cursor: pointer;
    transition: background .15s;
}


    .photo-section-header:hover[b-4pwh9xljap] {
        background: #fafafd;
    }


.photo-section-heading[b-4pwh9xljap] {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 11px;
}


.photo-section-icon[b-4pwh9xljap] {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
}


    .photo-section-icon i[b-4pwh9xljap] {
        font-size: 16px;
    }


.pending-icon[b-4pwh9xljap] {
    background: #fff4df;
    color: #d38a1d;
}


.approved-icon[b-4pwh9xljap] {
    background: #eaf8ef;
    color: #31955a;
}


.rejected-icon[b-4pwh9xljap] {
    background: #fff0f0;
    color: #c55252;
}


.photo-section-heading h2[b-4pwh9xljap] {
    margin: 0;
    color: #27272e;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: -.2px;
}


.photo-section-heading p[b-4pwh9xljap] {
    margin: 3px 0 0;
    color: #92929b;
    font-size: 11px;
}


.photo-section-controls[b-4pwh9xljap] {
    display: flex;
    align-items: center;
    gap: 9px;
    flex-shrink: 0;
}


.photo-count[b-4pwh9xljap] {
    min-width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    border-radius: 9px;
    font-size: 10px;
    font-weight: 800;
}


.pending-count[b-4pwh9xljap] {
    background: #fff4df;
    color: #c27a11;
}


.approved-count[b-4pwh9xljap] {
    background: #eaf8ef;
    color: #2e8d55;
}


.rejected-count[b-4pwh9xljap] {
    background: #fff0f0;
    color: #b84b4b;
}


.section-chevron[b-4pwh9xljap] {
    color: #a1a1aa;
    font-size: 11px;
}


/* =========================================================
   PHOTO CONTENT
   ========================================================= */

.photo-section-content[b-4pwh9xljap] {
    padding: 0 17px 17px;
    border-top: 1px solid #eeeeF2;
}


.photos-grid[b-4pwh9xljap] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 18px;
    padding-top: 20px;
}


/* =========================================================
   PHOTO CARD
   ========================================================= */

.admin-photo-card[b-4pwh9xljap] {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #e5e5ea;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 7px 20px rgba(30, 30, 45, 0.04);
}


.admin-photo-preview[b-4pwh9xljap] {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #f0f0f3;
}


    .admin-photo-preview img[b-4pwh9xljap] {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }


/* =========================================================
   ROTATE
   ========================================================= */

.photo-rotate-actions[b-4pwh9xljap] {
    display: flex;
    justify-content: center;
    gap: 6px;
    padding: 10px 10px 2px;
}


.photo-icon-button[b-4pwh9xljap] {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e2e2e8;
    border-radius: 9px;
    background: #f8f8fa;
    color: #666670;
    cursor: pointer;
    transition: background .15s, color .15s, transform .15s;
}


    .photo-icon-button:hover[b-4pwh9xljap] {
        background: #f0f0f3;
        color: #27272e;
    }


    .photo-icon-button:active[b-4pwh9xljap] {
        transform: scale(.94);
    }


    .photo-icon-button i[b-4pwh9xljap] {
        font-size: 13px;
    }


/* =========================================================
   PHOTO CONTENT
   ========================================================= */

.admin-photo-content[b-4pwh9xljap] {
    padding: 10px 12px 12px;
}


    .admin-photo-content[b-4pwh9xljap]  .photo-caption-input {
        width: 100%;
        min-height: 58px;
        resize: vertical;
        padding: 9px 10px;
        border: 1px solid #dedee5;
        border-radius: 11px;
        outline: none;
        background: #fafafd;
        color: #202027;
        font-family: inherit;
        font-size: 11px;
        line-height: 1.4;
        box-sizing: border-box;
        transition: border-color .15s, box-shadow .15s, background .15s;
    }


        .admin-photo-content[b-4pwh9xljap]  .photo-caption-input::placeholder {
            color: #aaaab3;
        }


        .admin-photo-content[b-4pwh9xljap]  .photo-caption-input:focus {
            background: #ffffff;
            border-color: #6f4ef6;
            box-shadow: 0 0 0 3px rgba(111, 78, 246, 0.08);
        }


/* =========================================================
   PHOTO BUTTONS
   ========================================================= */

.save-caption-button[b-4pwh9xljap],
.approve-photo-button[b-4pwh9xljap],
.reject-photo-button[b-4pwh9xljap],
.remove-tv-button[b-4pwh9xljap] {
    width: 100%;
    min-height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-top: 7px;
    border-radius: 10px;
    font-family: inherit;
    font-size: 10px;
    font-weight: 750;
    cursor: pointer;
    transition: background .15s, border-color .15s, transform .15s;
}


.save-caption-button[b-4pwh9xljap] {
    border: none;
    background: #f0edff;
    color: #6f4ef6;
}


    .save-caption-button:hover[b-4pwh9xljap] {
        background: #e8e3ff;
    }


.approve-photo-button[b-4pwh9xljap] {
    border: none;
    background: #31955a;
    color: #ffffff;
}


    .approve-photo-button:hover[b-4pwh9xljap] {
        background: #287f4b;
    }


.reject-photo-button[b-4pwh9xljap] {
    border: 1px solid #f0d9d9;
    background: #fff8f8;
    color: #c14c4c;
}


    .reject-photo-button:hover[b-4pwh9xljap] {
        background: #fff0f0;
    }


.remove-tv-button[b-4pwh9xljap] {
    border: 1px solid #f0d9d9;
    background: #fff8f8;
    color: #c14c4c;
}


    .remove-tv-button:hover[b-4pwh9xljap] {
        background: #fff0f0;
    }


    .save-caption-button:active[b-4pwh9xljap],
    .approve-photo-button:active[b-4pwh9xljap],
    .reject-photo-button:active[b-4pwh9xljap],
    .remove-tv-button:active[b-4pwh9xljap] {
        transform: scale(.98);
    }


    .save-caption-button i[b-4pwh9xljap],
    .approve-photo-button i[b-4pwh9xljap],
    .reject-photo-button i[b-4pwh9xljap],
    .remove-tv-button i[b-4pwh9xljap] {
        font-size: 12px;
    }


/* =========================================================
   EMPTY
   ========================================================= */

.photos-empty[b-4pwh9xljap] {
    min-height: 190px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 25px;
    text-align: center;
}


.photos-empty-icon[b-4pwh9xljap] {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 11px;
    border-radius: 15px;
    background: #f4f4f7;
    color: #96969f;
}


    .photos-empty-icon i[b-4pwh9xljap] {
        font-size: 19px;
    }


.photos-empty strong[b-4pwh9xljap] {
    color: #46464f;
    font-size: 12px;
    font-weight: 750;
}


.photos-empty span[b-4pwh9xljap] {
    margin-top: 4px;
    color: #9a9aa3;
    font-size: 10px;
}


/* =========================================================
   NOT FOUND
   ========================================================= */

.event-not-found[b-4pwh9xljap] {
    max-width: 500px;
    margin: 80px auto 0;
    padding: 35px 25px;
    border: 1px solid #e5e5eb;
    border-radius: 22px;
    background: #ffffff;
    text-align: center;
    box-shadow: 0 15px 35px rgba(30, 30, 45, 0.06);
}


.event-not-found-icon[b-4pwh9xljap] {
    width: 58px;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px;
    border-radius: 18px;
    background: #fff0f0;
    color: #c55252;
}


    .event-not-found-icon i[b-4pwh9xljap] {
        font-size: 23px;
    }


.event-not-found h1[b-4pwh9xljap] {
    margin: 0;
    color: #27272e;
    font-size: 22px;
    font-weight: 800;
}


.event-not-found p[b-4pwh9xljap] {
    margin: 8px 0 20px;
    color: #888891;
    font-size: 12px;
}


.back-to-events-button[b-4pwh9xljap] {
    height: 40px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0 14px;
    border-radius: 11px;
    background: #17171c;
    color: #ffffff;
    text-decoration: none;
    font-size: 11px;
    font-weight: 700;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 768px) {

    .event-details-header[b-4pwh9xljap] {
        align-items: stretch;
        flex-direction: column;
        gap: 17px;
    }


    .event-header-actions[b-4pwh9xljap] {
        width: 100%;
    }


    .event-action-button[b-4pwh9xljap] {
        flex: 1;
    }


    .event-info-grid[b-4pwh9xljap] {
        grid-template-columns: 1fr;
    }


    .event-management-actions[b-4pwh9xljap] {
        flex-direction: column;
        align-items: stretch;
    }


    .download-photos-button[b-4pwh9xljap],
    .delete-event-button[b-4pwh9xljap] {
        width: 100%;
    }


    .photos-grid[b-4pwh9xljap] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }


    .photo-section-header[b-4pwh9xljap] {
        padding: 13px 14px;
    }


    .photo-section-content[b-4pwh9xljap] {
        padding-left: 12px;
        padding-right: 12px;
    }


    .photo-section-heading p[b-4pwh9xljap] {
        display: none;
    }
}


@media (max-width: 480px) {

    .event-details-title h1[b-4pwh9xljap] {
        font-size: 28px;
    }


    .event-header-actions[b-4pwh9xljap] {
        flex-direction: column;
    }


    .event-action-button[b-4pwh9xljap] {
        width: 100%;
    }


    .photos-grid[b-4pwh9xljap] {
        grid-template-columns: 1fr;
    }


    .admin-photo-preview[b-4pwh9xljap] {
        aspect-ratio: 4 / 3;
    }


    .photo-section-heading h2[b-4pwh9xljap] {
        font-size: 13px;
    }


    .photo-section-icon[b-4pwh9xljap] {
        width: 36px;
        height: 36px;
    }
}
/* /Components/Pages/User/Events.razor.rz.scp.css */
/* =========================================================
   PAGE
   ========================================================= */

/* =========================================================
   HEADER
   ========================================================= */

.events-header-content[b-hngfyoyy3l] {
    min-width: 0;
}


.events-header-actions[b-hngfyoyy3l] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}

.event-limit-info[b-hngfyoyy3l] {
    min-width: 105px;
    height: 54px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 8px 12px;
    border: 1px solid #e5e5eb;
    border-radius: 12px;
    background: #ffffff;
}

.event-limit-info-label[b-hngfyoyy3l] {
    color: #9999a3;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .7px;
}

.event-limit-info-value[b-hngfyoyy3l] {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-top: 3px;
    color: #292931;
    font-size: 13px;
    font-weight: 800;
}

    .event-limit-info-value i[b-hngfyoyy3l] {
        color: #6f4ef6;
        font-size: 15px;
    }


/* =========================================================
   CREATE BUTTON
   ========================================================= */

/* =========================================================
   CREATE FORM CARD
   ========================================================= */

.create-event-card[b-hngfyoyy3l] {
    margin-bottom: 26px;
    padding: 20px;
    border: 1px solid var(--admin-border, #e6e6eb);
    border-radius: var(--admin-card-radius, 16px);
    background: var(--admin-surface, #ffffff);
    box-shadow: 0 12px 30px rgba(30, 30, 45, 0.05);
}

.create-event-error[b-hngfyoyy3l] {
    flex-basis: 100%;
    color: #c62828;
    font-size: 12px;
}


.create-event-header[b-hngfyoyy3l] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
}


.create-event-icon[b-hngfyoyy3l] {
    width: 42px;
    height: 42px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    background: #f0edff;
    color: #6f4ef6;
}


    .create-event-icon i[b-hngfyoyy3l] {
        font-size: 17px;
    }


.create-event-header h2[b-hngfyoyy3l] {
    margin: 0;
    color: #24242b;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: -.3px;
}


.create-event-header p[b-hngfyoyy3l] {
    margin: 3px 0 0;
    color: #92929b;
    font-size: 11px;
}


/* =========================================================
   FORM
   ========================================================= */

.create-event-form[b-hngfyoyy3l] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 12px;
}


.form-field[b-hngfyoyy3l] {
    flex: 1;
    min-width: 0;
}


    .form-field label[b-hngfyoyy3l] {
        display: block;
        margin-bottom: 7px;
        color: #565660;
        font-size: 11px;
        font-weight: 700;
    }


    /*
   InputText jest komponentem Blazora,
   dlatego przy CSS isolation używamy ::deep
*/

    .form-field[b-hngfyoyy3l]  .event-input {
        width: 100%;
        height: 44px;
        padding: 0 13px;
        border: 1px solid #dedee5;
        border-radius: 12px;
        outline: none;
        background: #fafafd;
        color: #1b1b21;
        font-family: inherit;
        font-size: 12px;
        transition: border-color .15s, box-shadow .15s, background .15s;
    }


        .form-field[b-hngfyoyy3l]  .event-input::placeholder {
            color: #aaaab3;
        }


        .form-field[b-hngfyoyy3l]  .event-input:focus {
            background: #ffffff;
            border-color: #6f4ef6;
            box-shadow: 0 0 0 3px rgba(111, 78, 246, 0.09);
        }


    /* ValidationMessage */

    .form-field[b-hngfyoyy3l]  .validation-message {
        display: block;
        margin-top: 5px;
        color: #d94c4c;
        font-size: 10px;
        font-weight: 600;
    }


.create-event-actions[b-hngfyoyy3l] {
    display: flex;
    gap: 8px;
    margin-left: auto;
}


.cancel-button[b-hngfyoyy3l],
.submit-event-button[b-hngfyoyy3l] {
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border-radius: 12px;
    padding: 0 14px;
    font-family: inherit;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
    transition: background .15s, border-color .15s, transform .15s;
}


.cancel-button[b-hngfyoyy3l] {
    border: 1px solid #e0e0e6;
    background: #ffffff;
    color: #686872;
}


    .cancel-button:hover[b-hngfyoyy3l] {
        background: #f7f7f9;
    }


.submit-event-button[b-hngfyoyy3l] {
    border: none;
    background: #6f4ef6;
    color: #ffffff;
}


    .submit-event-button:hover[b-hngfyoyy3l] {
        background: #6242e8;
    }


    .cancel-button:active[b-hngfyoyy3l],
    .submit-event-button:active[b-hngfyoyy3l] {
        transform: scale(.98);
    }


.event-limit-warning[b-hngfyoyy3l] {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 20px;
    padding: 13px 15px;
    border: 1px solid #f0d6d6;
    border-radius: 15px;
    background: #fff8f8;
}

.event-limit-warning-icon[b-hngfyoyy3l] {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #ffecec;
    color: #c55252;
}

    .event-limit-warning-icon i[b-hngfyoyy3l] {
        font-size: 15px;
    }

.event-limit-warning strong[b-hngfyoyy3l] {
    display: block;
    color: #a84242;
    font-size: 11px;
    font-weight: 800;
}

.event-limit-warning span[b-hngfyoyy3l] {
    display: block;
    margin-top: 2px;
    color: #b56666;
    font-size: 10px;
    line-height: 1.4;
}

/* =========================================================
   EVENTS CONTENT
   ========================================================= */

.events-content[b-hngfyoyy3l] {
    width: 100%;
}


/* =========================================================
   GRID
   ========================================================= */

.events-grid[b-hngfyoyy3l] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
    gap: 18px;
}

.events-grid--single[b-hngfyoyy3l] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.events-grid--pair[b-hngfyoyy3l] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}


/* =========================================================
   EVENT CARD
   ========================================================= */

.event-card[b-hngfyoyy3l] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    min-height: 240px;
    padding: 20px;
    border: 1px solid var(--admin-border, #e4e4ea);
    border-radius: var(--admin-card-radius, 16px);
    background: var(--admin-surface, #ffffff);
    box-shadow: 0 10px 28px rgba(30, 30, 45, 0.045);
    transition: transform .18s, border-color .18s, box-shadow .18s;
}


    .event-card:hover[b-hngfyoyy3l] {
        transform: translateY(-2px);
        border-color: #d7d2f5;
        box-shadow: 0 15px 32px rgba(30, 30, 45, 0.07);
    }


/* =========================================================
   CARD TOP
   ========================================================= */

.event-card-top[b-hngfyoyy3l] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 17px;
}


.event-card-icon[b-hngfyoyy3l] {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 12px;
    background: #f0edff;
    color: #6f4ef6;
}


    .event-card-icon i[b-hngfyoyy3l] {
        font-size: 15px;
    }


.event-card-date[b-hngfyoyy3l] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #92929c;
    font-size: 10px;
    font-weight: 650;
    white-space: nowrap;
}

    .event-card-date i[b-hngfyoyy3l] {
        color: #aaaab3;
        font-size: 10px;
    }


/* =========================================================
   CARD CONTENT
   ========================================================= */

.event-card-content[b-hngfyoyy3l] {
    flex: 1;
}

.event-card-owner[b-hngfyoyy3l] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    color: #8b8b95;
    font-size: 11px;
    overflow-wrap: anywhere;
}

.event-card-owner i[b-hngfyoyy3l] {
    color: #6f4ef6;
}


    .event-card-content h2[b-hngfyoyy3l] {
        margin: 0;
        min-height: 50px;
        color: #202027;
        font-size: 21px;
        font-weight: 800;
        line-height: 1.25;
        letter-spacing: -.5px;
        overflow-wrap: anywhere;
    }


/* =========================================================
   EVENT CODE
   ========================================================= */

.event-code-section[b-hngfyoyy3l] {
    margin-top: 16px;
    padding: 12px 13px;
    border-radius: 13px;
    background: #f8f8fb;
}


.event-code-label[b-hngfyoyy3l] {
    color: #9999a3;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .7px;
}


.event-code[b-hngfyoyy3l] {
    margin-top: 5px;
    color: #17171c;
    font-size: 22px;
    font-weight: 850;
    letter-spacing: 1.5px;
}


/* =========================================================
   CARD FOOTER
   ========================================================= */

.event-card-footer[b-hngfyoyy3l] {
    margin-top: 17px;
}


.open-event-button[b-hngfyoyy3l] {
    width: 100%;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 15px;
    border-radius: 12px;
    background: #f5f3ff;
    color: #6f4ef6;
    text-decoration: none;
    font-size: 12px;
    font-weight: 750;
    transition: background .15s, color .15s, transform .15s;
}


    .open-event-button:hover[b-hngfyoyy3l] {
        background: #ece8ff;
        color: #6242e8;
    }


    .open-event-button:active[b-hngfyoyy3l] {
        transform: scale(.99);
    }


    .open-event-button i[b-hngfyoyy3l] {
        font-size: 13px;
        transition: transform .15s;
    }


    .open-event-button:hover i[b-hngfyoyy3l] {
        transform: translateX(2px);
    }


/* =========================================================
   EMPTY STATE
   ========================================================= */

.events-empty[b-hngfyoyy3l] {
    min-height: 340px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 30px;
    border: 1px dashed #dcdce4;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.65);
    text-align: center;
}


.events-empty-icon[b-hngfyoyy3l] {
    width: 58px;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    border-radius: 18px;
    background: #f0edff;
    color: #6f4ef6;
}


    .events-empty-icon i[b-hngfyoyy3l] {
        font-size: 23px;
    }


.events-empty h2[b-hngfyoyy3l] {
    margin: 0;
    color: #27272e;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: -.4px;
}


.events-empty p[b-hngfyoyy3l] {
    max-width: 360px;
    margin: 8px 0 18px;
    color: #8b8b95;
    font-size: 12px;
    line-height: 1.5;
}


.empty-create-button[b-hngfyoyy3l] {
    height: 42px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0 14px;
    border: none;
    border-radius: 12px;
    background: #17171c;
    color: #ffffff;
    font-family: inherit;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
}


/* =========================================================
   LOADING
   ========================================================= */

.events-loading[b-hngfyoyy3l] {
    min-height: 280px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #8b8b95;
    font-size: 12px;
}


.events-spinner[b-hngfyoyy3l] {
    width: 17px;
    height: 17px;
    border: 2px solid #dedee6;
    border-top-color: #6f4ef6;
    border-radius: 50%;
    animation: events-spin-b-hngfyoyy3l .7s linear infinite;
}


@keyframes events-spin-b-hngfyoyy3l {
    to {
        transform: rotate(360deg);
    }
}


/* =========================================================
   TABLET / MOBILE
   ========================================================= */

@media (max-width: 768px) {

    .events-page[b-hngfyoyy3l] {
        width: 100%;
        max-width: none;
        min-width: 0;
        box-sizing: border-box;
    }

    .events-header-actions[b-hngfyoyy3l] {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
    }

    .event-limit-info[b-hngfyoyy3l] {
        width: 100%;
        box-sizing: border-box;
    }

    .create-event-button[b-hngfyoyy3l] {
        width: 100%;
    }

    .create-event-form[b-hngfyoyy3l] {
        flex-direction: column;
        align-items: stretch;
    }

    .create-event-actions[b-hngfyoyy3l] {
        width: 100%;
    }

    .cancel-button[b-hngfyoyy3l],
    .submit-event-button[b-hngfyoyy3l] {
        flex: 1;
    }

    .events-grid[b-hngfyoyy3l] {
        width: 100%;
        min-width: 0;
        grid-template-columns: minmax(0, 1fr);
    }

    .event-card[b-hngfyoyy3l] {
        width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .event-card-content h2[b-hngfyoyy3l] {
        min-height: auto;
    }
}

@media (max-width: 1000px) {
    .events-grid--pair[b-hngfyoyy3l] {
        grid-template-columns: minmax(0, 1fr);
    }
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 420px) {

    .create-event-card[b-hngfyoyy3l] {
        padding: 16px;
        border-radius: 17px;
        box-sizing: border-box;
    }

    .create-event-header[b-hngfyoyy3l] {
        align-items: flex-start;
    }

    .create-event-actions[b-hngfyoyy3l] {
        flex-direction: column-reverse;
    }

    .cancel-button[b-hngfyoyy3l],
    .submit-event-button[b-hngfyoyy3l] {
        width: 100%;
    }

    .event-card[b-hngfyoyy3l] {
        padding: 16px;
        border-radius: 17px;
    }
}

/* /Components/Pages/Wedding/Admin/ScheduleItemForm.razor.rz.scp.css */
.schedule-form-card[b-g9ac2n9evq] {
    padding: 18px;
    border: 1px solid #e4defd;
    border-radius: 16px;
    background: #fcfbff;
    box-shadow: 0 4px 14px rgba(45, 35, 90, .045);
}

.schedule-form-grid[b-g9ac2n9evq] {
    display: grid;
    grid-template-columns: 180px 180px minmax(300px, 1fr);
    gap: 18px;
}

.schedule-form-grid .schedule-field:nth-child(3)[b-g9ac2n9evq] {
    grid-column: 3;
}

.schedule-form-grid .schedule-field:nth-child(4)[b-g9ac2n9evq] {
    grid-column: 2 / 4;
    grid-row: 2;
}

.schedule-form-grid .schedule-field:nth-child(5)[b-g9ac2n9evq] {
    grid-column: 1;
    grid-row: 2;
}

.schedule-field[b-g9ac2n9evq] {
    display: flex;
    flex-direction: column;
}

.schedule-field-wide[b-g9ac2n9evq] {
    min-width: 0;
}

.schedule-field input[b-g9ac2n9evq],
.schedule-field select[b-g9ac2n9evq] {
    width: 100%;
    min-height: 46px;
    box-sizing: border-box;
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 11px 12px;
    outline: none;
}

.schedule-field input:focus[b-g9ac2n9evq],
.schedule-field select:focus[b-g9ac2n9evq] {
    border-color: #6f4ef6;
}

.schedule-icon-field select[b-g9ac2n9evq] {
    background: #fff;
}

.selected-wedding-icon[b-g9ac2n9evq] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 10px;
    padding: 10px 12px;
    border: 1px solid #eee;
    border-radius: 10px;
    background: #fafafd;
}

.selected-wedding-icon img[b-g9ac2n9evq],
.selected-icon-preview[b-g9ac2n9evq] {
    width: 42px;
    height: 42px;
    flex: 0 0 auto;
    object-fit: contain;
}

.selected-icon-preview[b-g9ac2n9evq] {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6f4ef6;
}

.selected-wedding-icon span[b-g9ac2n9evq] {
    color: #444;
    font-size: 13px;
    font-weight: 600;
}

.schedule-icon-field small[b-g9ac2n9evq] {
    margin-top: 6px;
    color: #888;
    font-size: 12px;
}

.schedule-icon-field small code[b-g9ac2n9evq] {
    color: #666;
}

.schedule-form-error[b-g9ac2n9evq] {
    margin-top: 16px;
    padding: 12px 14px;
    border-radius: 10px;
    background: #fff1f1;
    color: #b42318;
    font-size: 14px;
}

.schedule-form-actions[b-g9ac2n9evq] {
    display: flex;
    gap: 10px;
    margin-top: 20px;
}

.schedule-save-button[b-g9ac2n9evq],
.schedule-cancel-button[b-g9ac2n9evq] {
    border: 0;
    border-radius: 10px;
    padding: 11px 18px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}

.schedule-save-button[b-g9ac2n9evq] {
    background: #6f4ef6;
    color: #fff;
}

.schedule-save-button:disabled[b-g9ac2n9evq],
.schedule-cancel-button:disabled[b-g9ac2n9evq] {
    opacity: .6;
    cursor: default;
}

.schedule-cancel-button[b-g9ac2n9evq] {
    background: #f1f1f1;
    color: #444;
}

@media (max-width: 900px) {
    .schedule-form-grid[b-g9ac2n9evq] {
        grid-template-columns: 1fr 1fr;
    }

    .schedule-form-grid .schedule-field:nth-child(3)[b-g9ac2n9evq],
    .schedule-form-grid .schedule-field:nth-child(4)[b-g9ac2n9evq],
    .schedule-form-grid .schedule-field:nth-child(5)[b-g9ac2n9evq] {
        grid-column: auto;
        grid-row: auto;
    }

    .schedule-form-grid .schedule-field:nth-child(3)[b-g9ac2n9evq],
    .schedule-form-grid .schedule-field:nth-child(4)[b-g9ac2n9evq] {
        grid-column: 1 / -1;
    }
}

@media (max-width: 768px) {
    .schedule-form-grid[b-g9ac2n9evq] {
        grid-template-columns: 1fr;
    }

    .schedule-form-grid .schedule-field:nth-child(3)[b-g9ac2n9evq],
    .schedule-form-grid .schedule-field:nth-child(4)[b-g9ac2n9evq],
    .schedule-form-grid .schedule-field:nth-child(5)[b-g9ac2n9evq] {
        grid-column: auto;
        grid-row: auto;
    }

    .schedule-form-actions[b-g9ac2n9evq] {
        flex-direction: column;
    }

    .schedule-form-actions button[b-g9ac2n9evq] {
        width: 100%;
    }
}
/* /Components/Pages/Wedding/Admin/WeddingAdminLayout.razor.rz.scp.css */
.wedding-admin-shell[b-236zni992e] {
    width: 100%;
}

.wedding-admin-header[b-236zni992e] {
    margin-bottom: 24px;
}

.wedding-admin-heading-row[b-236zni992e] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.wedding-admin-title[b-236zni992e] {
    display: flex;
    align-items: center;
    gap: 16px;
}

.wedding-admin-icon[b-236zni992e] {
    width: 56px;
    height: 56px;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    border-radius: 15px;
    background: var(--admin-accent-soft, #f2efff);
    color: var(--admin-accent, #6f4ef6);
    font-size: 22px;
}

.wedding-admin-title-copy[b-236zni992e] {
    min-width: 0;
}

.wedding-open-button[b-236zni992e] {
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    flex-shrink: 0;
    padding: 0 14px;
    border-radius: 12px;
    background: #6f4ef6;
    color: #fff;
    box-shadow: 0 7px 16px rgba(111, 78, 246, 0.16);
    font-size: 11px;
    font-weight: 700;
    text-decoration: none;
    transition: background .15s, transform .15s;
}

.wedding-open-button:hover[b-236zni992e] {
    background: #6242e8;
    color: #fff;
}

.wedding-open-button:active[b-236zni992e] {
    transform: scale(.98);
}

.wedding-admin-title-copy .wedding-details-eyebrow[b-236zni992e] {
    margin-bottom: 5px;
    color: var(--admin-accent, #6f4ef6);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .8px;
}

.wedding-details-code[b-236zni992e] {
    display: inline-block;
    margin-top: 7px;
    padding: 5px 9px;
    border-radius: 7px;
    background: #f5f5f7;
    color: #777782;
    font-family: monospace;
    font-size: 13px;
}

.wedding-tabs[b-236zni992e] {
    display: flex;
    gap: 4px;
    margin-bottom: 0;
    padding: 5px;
    overflow-x: auto;
    border: 1px solid var(--admin-border, #e4e4ea);
    border-radius: 13px;
    background: #f7f7f9;
    scrollbar-width: thin;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

.wedding-tab[b-236zni992e] {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 14px;
    border-radius: 9px;
    color: #666671;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    transition: background .2s ease, color .2s ease, box-shadow .2s ease;
}

.wedding-tab:hover[b-236zni992e] {
    color: #22222a;
}

.wedding-tab.active[b-236zni992e] {
    background: #ffffff;
    color: #22222a;
    box-shadow: 0 1px 5px rgba(0, 0, 0, .08);
}

.wedding-admin-content[b-236zni992e] {
    min-width: 0;
}

.wedding-admin-content[b-236zni992e]  .wedding-tab-panel {
    width: 100%;
    min-width: 0;
    border: 1px solid var(--admin-border, #e4e4ea);
    border-top: 0;
    border-radius: 0 0 var(--admin-card-radius, 16px) var(--admin-card-radius, 16px);
    background: var(--admin-surface, #ffffff);
    box-shadow: 0 10px 28px rgba(30, 30, 45, .045);
}

.wedding-admin-content[b-236zni992e]  .wedding-tab-panel :is(
    .wedding-details-loading,
    .wedding-details-error,
    .schedule-loading,
    .schedule-error,
    .menu-loading,
    .menu-error,
    .gallery-loading,
    .gallery-error,
    .challenges-loading,
    .challenges-error,
    .music-loading,
    .music-error,
    .settings-loading,
    .settings-error
) {
    padding: 32px 12px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    text-align: center;
}

.wedding-admin-loading[b-236zni992e],
.wedding-admin-error[b-236zni992e] {
    margin-bottom: 16px;
    color: var(--admin-muted, #858590);
    font-size: 13px;
}

.wedding-admin-error[b-236zni992e] {
    color: #c62828;
}

@media (max-width: 768px) {
    .wedding-admin-heading-row[b-236zni992e] {
        align-items: flex-start;
        flex-direction: column;
        gap: 16px;
    }

    .wedding-admin-title[b-236zni992e] {
        gap: 12px;
    }

    .wedding-admin-icon[b-236zni992e] {
        width: 48px;
        height: 48px;
        border-radius: 13px;
        font-size: 19px;
    }

    .wedding-tabs[b-236zni992e] {
        margin-right: -20px;
        margin-left: -20px;
        padding-right: 20px;
        padding-left: 20px;
        border-right: 0;
        border-left: 0;
        border-radius: 0;
    }

    .wedding-tab[b-236zni992e] {
        min-height: 38px;
        padding: 0 12px;
        font-size: 12px;
    }
}

@media (max-width: 380px) {
    .wedding-tabs[b-236zni992e] {
        margin-right: -12px;
        margin-left: -12px;
        padding-right: 12px;
        padding-left: 12px;
    }

}
/* /Components/Pages/Wedding/Admin/WeddingChallenges.razor.rz.scp.css */
.challenge-form-eyebrow[b-5fm8w3izpv] {
    margin-bottom: 6px;
    color: #6f4ef6;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
}

.add-challenge-button[b-5fm8w3izpv] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 18px;
    border: 0;
    border-radius: 10px;
    background: #222;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}

.challenge-header-actions[b-5fm8w3izpv] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.sample-challenges-button-wrap[b-5fm8w3izpv] {
    display: inline-flex;
}

.sample-challenges-button:disabled[b-5fm8w3izpv] {
    opacity: .48;
    cursor: not-allowed;
}

.challenge-sample-error[b-5fm8w3izpv] {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 18px;
    padding: 12px 14px;
    border: 1px solid #ffd0d0;
    border-radius: 10px;
    background: #fff5f5;
    color: #a33;
    font-size: 13px;
}

    .add-challenge-button:hover[b-5fm8w3izpv] {
        opacity: 0.88;
    }

.challenge-form-card[b-5fm8w3izpv] {
    margin-bottom: 24px;
    border-color: #e4defd;
    background: #fcfbff;
    box-shadow: 0 4px 14px rgba(45, 35, 90, .045);
}

.challenge-form-header[b-5fm8w3izpv] {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px;
}

.close-form-button[b-5fm8w3izpv] {
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 9px;
    background: #f0edff;
    color: #6f4ef6;
    cursor: pointer;
}

.challenge-form[b-5fm8w3izpv] {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.form-field[b-5fm8w3izpv] {
    display: flex;
    flex-direction: column;
}

    .form-field textarea[b-5fm8w3izpv] {
        width: 100%;
        box-sizing: border-box;
        padding: 12px 14px;
        resize: vertical;
        border: 1px solid #d8d3ed;
        border-radius: 10px;
        background: #fff;
        color: #222;
        outline: none;
    }

        .form-field textarea:focus[b-5fm8w3izpv] {
            border-color: #6f4ef6;
            box-shadow: 0 0 0 3px rgba(111, 78, 246, 0.1);
        }

    .form-field small[b-5fm8w3izpv] {
        color: #888;
        font-size: 12px;
    }

.form-error[b-5fm8w3izpv] {
    padding: 11px 13px;
    border-radius: 9px;
    background: #fff1f1;
    color: #c62828;
    font-size: 14px;
}

.form-actions[b-5fm8w3izpv] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.cancel-button[b-5fm8w3izpv],
.save-button[b-5fm8w3izpv] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 11px 16px;
    border-radius: 9px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}

.cancel-button[b-5fm8w3izpv] {
    border: 1px solid #ddd;
    background: #fff;
    color: #555;
}

.save-button[b-5fm8w3izpv] {
    border: 0;
    background: #6f4ef6;
    color: #fff;
}

    .save-button:disabled[b-5fm8w3izpv],
    .cancel-button:disabled[b-5fm8w3izpv] {
        opacity: 0.5;
        cursor: not-allowed;
    }

.challenges-summary[b-5fm8w3izpv] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.challenges-list[b-5fm8w3izpv] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.challenge-card[b-5fm8w3izpv] {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 20px;
    border: 1px solid #ededed;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
}

.challenge-card-icon[b-5fm8w3izpv] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    flex-shrink: 0;
    border-radius: 12px;
    background: #f2efff;
    color: #6f4ef6;
    font-size: 18px;
}

.challenge-card-content[b-5fm8w3izpv] {
    flex: 1;
    min-width: 0;
}

.challenge-card-top[b-5fm8w3izpv] {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 8px;
}

.challenge-id[b-5fm8w3izpv] {
    color: #aaa;
    font-family: monospace;
    font-size: 11px;
}

.challenge-status[b-5fm8w3izpv] {
    padding: 5px 8px;
    border-radius: 7px;
    font-size: 10px;
    font-weight: 700;
}

    .challenge-status.active[b-5fm8w3izpv] {
        background: #edf8f0;
        color: #2e7d32;
    }

    .challenge-status.inactive[b-5fm8w3izpv] {
        background: #f1f1f1;
        color: #777;
    }

.challenge-text[b-5fm8w3izpv] {
    margin: 0;
    color: #333;
    font-size: 15px;
    line-height: 1.45;
}

.challenge-meta[b-5fm8w3izpv] {
    display: flex;
    gap: 14px;
    margin-top: 12px;
    color: #999;
    font-size: 12px;
}

    .challenge-meta i[b-5fm8w3izpv] {
        margin-right: 4px;
    }

.challenge-actions[b-5fm8w3izpv] {
    display: flex;
    gap: 6px;
    flex-shrink: 0;
}

.challenge-action[b-5fm8w3izpv] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 8px 10px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fff;
    color: #555;
    font-size: 11px;
    font-weight: 600;
    cursor: pointer;
}

    .challenge-action:hover[b-5fm8w3izpv] {
        background: #f6f6f6;
    }

    .challenge-action.delete[b-5fm8w3izpv] {
        color: #c62828;
    }

.challenges-empty[b-5fm8w3izpv],
.challenges-loading[b-5fm8w3izpv],
.challenges-error[b-5fm8w3izpv] {
    padding: 50px 30px;
    border-radius: 16px;
    background: #fff;
    text-align: center;
}

.challenges-empty[b-5fm8w3izpv] {
    border: 1px dashed #ddd;
}

.challenges-empty-icon[b-5fm8w3izpv] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin: 0 auto 16px;
    border-radius: 16px;
    background: #f2efff;
    color: #6f4ef6;
    font-size: 22px;
}

.challenges-empty h2[b-5fm8w3izpv] {
    margin: 0 0 8px;
    font-size: 20px;
}

.challenges-empty p[b-5fm8w3izpv] {
    margin: 0 0 20px;
    color: #777;
}

.challenges-loading[b-5fm8w3izpv] {
    color: #777;
}

.challenges-error[b-5fm8w3izpv] {
    color: #c62828;
}

@media (max-width: 900px) {

    .challenge-card[b-5fm8w3izpv] {
        flex-wrap: wrap;
    }

    .challenge-card-content[b-5fm8w3izpv] {
        width: calc(100% - 60px);
    }

    .challenge-actions[b-5fm8w3izpv] {
        width: 100%;
        margin-left: 60px;
    }

    .challenge-action[b-5fm8w3izpv] {
        flex: 1;
        justify-content: center;
    }
}

@media (max-width: 768px) {
    .add-challenge-button[b-5fm8w3izpv] {
        width: 100%;
    }

    .challenge-header-actions[b-5fm8w3izpv],
    .sample-challenges-button-wrap[b-5fm8w3izpv] {
        width: 100%;
    }

    .challenge-header-actions[b-5fm8w3izpv] {
        flex-direction: column;
        align-items: stretch;
    }

    .challenges-summary[b-5fm8w3izpv] {
        grid-template-columns: 1fr;
    }

    .challenge-card[b-5fm8w3izpv] {
        padding: 16px;
    }

    .challenge-actions[b-5fm8w3izpv] {
        margin-left: 0;
    }

    .challenge-action span[b-5fm8w3izpv] {
        display: none;
    }
}
/* /Components/Pages/Wedding/Admin/WeddingDetails.razor.rz.scp.css */
.wedding-details-content[b-hhjq15c7we] {
    min-height: 200px;
}

.wedding-info-grid[b-hhjq15c7we] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    border: 1px solid #ededed;
    border-radius: 12px;
    background: #ededed;
}

.wedding-info-item[b-hhjq15c7we] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 16px;
    background: #fff;
}

    .wedding-info-item span[b-hhjq15c7we] {
        color: #888;
        font-size: 12px;
    }

    .wedding-info-item strong[b-hhjq15c7we] {
        color: #222;
        font-size: 14px;
    }

.wedding-details-loading[b-hhjq15c7we],
.wedding-details-error[b-hhjq15c7we] {
    padding: 50px 30px;
    border-radius: 16px;
    background: #fff;
    text-align: center;
}

.wedding-details-loading[b-hhjq15c7we] {
    color: #777;
}

.wedding-details-error[b-hhjq15c7we] {
    color: #c62828;
}

@media (max-width: 768px) {

    .wedding-info-grid[b-hhjq15c7we] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Wedding/Admin/WeddingGallery.razor.rz.scp.css */
.gallery-stats[b-e0jsraqcyj] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.gallery-filters[b-e0jsraqcyj] {
    display: flex;
    gap: 5px;
    margin-bottom: 20px;
    padding: 5px;
    overflow-x: auto;
    border: 1px solid #e8e8e8;
    border-radius: 12px;
    background: #f7f7f7;
}

.gallery-filter[b-e0jsraqcyj] {
    padding: 9px 13px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #666;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
}

    .gallery-filter:hover[b-e0jsraqcyj] {
        color: #222;
    }

    .gallery-filter.active[b-e0jsraqcyj] {
        background: #fff;
        color: #222;
        box-shadow: 0 1px 5px rgba(0, 0, 0, 0.08);
    }

.gallery-grid[b-e0jsraqcyj] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.gallery-item[b-e0jsraqcyj] {
    overflow: hidden;
    border: 1px solid #ededed;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.gallery-media[b-e0jsraqcyj] {
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #f1f1f1;
}

    .gallery-media img[b-e0jsraqcyj],
    .gallery-media video[b-e0jsraqcyj] {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.challenge-badge[b-e0jsraqcyj] {
    position: absolute;
    bottom: 10px;
    top: auto;
    left: 10px;
    padding: 6px 9px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: #222;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.3px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.unsupported-media[b-e0jsraqcyj] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 8px;
    height: 100%;
    color: #888;
    font-size: 13px;
}

    .unsupported-media i[b-e0jsraqcyj] {
        font-size: 28px;
    }

.gallery-item-content[b-e0jsraqcyj] {
    padding: 14px;
}

.gallery-item-top[b-e0jsraqcyj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.gallery-status[b-e0jsraqcyj] {
    display: inline-flex;
    padding: 5px 8px;
    border-radius: 7px;
    font-size: 11px;
    font-weight: 700;
}

    .gallery-status.approved[b-e0jsraqcyj] {
        background: #edf8f0;
        color: #2e7d32;
    }

    .gallery-status.pending[b-e0jsraqcyj] {
        background: #fff7e6;
        color: #a56600;
    }

    .gallery-status.rejected[b-e0jsraqcyj] {
        background: #fff0f0;
        color: #c62828;
    }

.gallery-date[b-e0jsraqcyj] {
    color: #999;
    font-size: 11px;
}

.gallery-caption[b-e0jsraqcyj] {
    margin: 12px 0 0;
    color: #444;
    font-size: 14px;
    line-height: 1.4;
}

.gallery-file-name[b-e0jsraqcyj] {
    margin-top: 10px;
    overflow: hidden;
    color: #999;
    font-family: monospace;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gallery-actions[b-e0jsraqcyj] {
    display: flex;
    gap: 6px;
    margin-top: 14px;
}

.gallery-action[b-e0jsraqcyj] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    flex: 1;
    padding: 8px 6px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fff;
    color: #555;
    font-size: 11px;
    font-weight: 600;
    cursor: pointer;
}

    .gallery-action:hover[b-e0jsraqcyj] {
        background: #f6f6f6;
    }

    .gallery-action.approve[b-e0jsraqcyj] {
        border-color: #cfe8d2;
        color: #2e7d32;
    }

    .gallery-action.reject[b-e0jsraqcyj] {
        border-color: #f1d0d0;
        color: #c62828;
    }

    .gallery-action.delete[b-e0jsraqcyj] {
        color: #777;
    }

    .gallery-action:disabled[b-e0jsraqcyj] {
        opacity: 0.45;
        cursor: not-allowed;
    }

.gallery-empty[b-e0jsraqcyj],
.gallery-loading[b-e0jsraqcyj],
.gallery-error[b-e0jsraqcyj] {
    padding: 50px 30px;
    border-radius: 16px;
    background: #fff;
    text-align: center;
}

.gallery-empty[b-e0jsraqcyj] {
    border: 1px dashed #ddd;
}

.gallery-empty-icon[b-e0jsraqcyj] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin: 0 auto 16px;
    border-radius: 16px;
    background: #f2efff;
    color: #6f4ef6;
    font-size: 22px;
}

.gallery-empty h2[b-e0jsraqcyj] {
    margin: 0 0 8px;
    color: #222;
    font-size: 20px;
}

.gallery-empty p[b-e0jsraqcyj] {
    margin: 0;
    color: #777;
}

.gallery-loading[b-e0jsraqcyj] {
    color: #777;
}

.gallery-error[b-e0jsraqcyj] {
    color: #c62828;
}

@media (max-width: 1000px) {

    .gallery-grid[b-e0jsraqcyj] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .gallery-stats[b-e0jsraqcyj] {
        grid-template-columns: repeat(2, 1fr);
    }

    .gallery-grid[b-e0jsraqcyj] {
        grid-template-columns: 1fr;
    }

}
/* /Components/Pages/Wedding/Admin/WeddingMenu.razor.rz.scp.css */
.menu-loading[b-owb3tbwdp1] {
    padding: 40px;
    text-align: center;
    color: #777;
}

.menu-error[b-owb3tbwdp1] {
    background: #fff0f0;
    border: 1px solid #ffd0d0;
    color: #a33;
    border-radius: 12px;
    padding: 16px;
}

/* SUMMARY */

.menu-summary[b-owb3tbwdp1] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.sample-menu-button-wrap[b-owb3tbwdp1] {
    display: inline-flex;
}

.sample-menu-button[b-owb3tbwdp1] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 18px;
    border: 0;
    border-radius: 10px;
    background: #222;
    color: #fff;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}

.sample-menu-button:hover:not(:disabled)[b-owb3tbwdp1] {
    opacity: .88;
}

.sample-menu-button:disabled[b-owb3tbwdp1] {
    opacity: .48;
    cursor: not-allowed;
}

/* FORM */

.menu-item-form-card[b-owb3tbwdp1] {
    background: #fcfbff;
    border: 1px solid #e4defd;
    border-radius: 14px;
    padding: 18px;
    box-shadow: 0 4px 14px rgba(45, 35, 90, .045);
}

.menu-form-card[b-owb3tbwdp1] {
    margin-bottom: 20px;
    border: 1px solid #e4defd;
    border-radius: 14px;
    background: #fcfbff;
    box-shadow: 0 4px 14px rgba(45, 35, 90, .045);
}

.menu-create-form[b-owb3tbwdp1] {
    margin-top: 24px;
    margin-bottom: 0;
}

.menu-category-edit-inline[b-owb3tbwdp1] {
    margin: 16px;
}

.menu-category-form[b-owb3tbwdp1] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 180px;
    gap: 18px;
}

.menu-item-form[b-owb3tbwdp1] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 180px;
    gap: 18px;
}

.menu-item-description-field[b-owb3tbwdp1] {
    grid-column: 1 / -1;
}

.menu-field[b-owb3tbwdp1] {
    display: flex;
    flex-direction: column;
}

    .menu-field input[b-owb3tbwdp1] {
        width: 100%;
        box-sizing: border-box;
        border: 1px solid #d8d8df;
        border-radius: 9px;
        padding: 10px 12px;
        background: #fff;
        outline: none;
    }

        .menu-field input:focus[b-owb3tbwdp1] {
            border-color: #6f4ef6;
            box-shadow: 0 0 0 3px rgba(111, 78, 246, 0.1);
        }

.menu-form-error[b-owb3tbwdp1] {
    background: #fff0f0;
    border: 1px solid #ffd0d0;
    color: #a33;
    border-radius: 9px;
    padding: 10px 12px;
    margin-top: 16px;
    font-size: 14px;
}

.menu-form-actions[b-owb3tbwdp1] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 18px;
}

.menu-save-button[b-owb3tbwdp1],
.menu-cancel-button[b-owb3tbwdp1],
.menu-edit-button[b-owb3tbwdp1],
.menu-toggle-button[b-owb3tbwdp1],
.menu-delete-button[b-owb3tbwdp1],
.menu-add-item-button[b-owb3tbwdp1] {
    border-radius: 8px;
    padding: 8px 13px;
    font-size: 14px;
    font-family: inherit;
    cursor: pointer;
    transition: 0.15s ease;
}

.menu-save-button[b-owb3tbwdp1] {
    border: 1px solid #6f4ef6;
    background: #6f4ef6;
    color: #fff;
}

    .menu-save-button:hover[b-owb3tbwdp1] {
        background: #5d3de0;
    }

    .menu-save-button:disabled[b-owb3tbwdp1],
    .menu-cancel-button:disabled[b-owb3tbwdp1] {
        opacity: 0.6;
        cursor: default;
    }

.menu-cancel-button[b-owb3tbwdp1] {
    border: 1px solid #d8d8df;
    background: #fff;
    color: #444;
}

    .menu-cancel-button:hover[b-owb3tbwdp1] {
        background: #f5f5f7;
    }

/* CATEGORY */

.menu-category[b-owb3tbwdp1] {
    background: #fff;
    border: 1px solid #e5e5e9;
    border-radius: 14px;
    overflow: hidden;
    margin-bottom: 16px;
}

.menu-category-inactive[b-owb3tbwdp1] {
    opacity: 0.72;
}

.menu-category-header[b-owb3tbwdp1] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    padding: 16px 18px;
    background: #fafafa;
    border-bottom: 1px solid #eeeeef;
}

.menu-category-title[b-owb3tbwdp1] {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.menu-category-delete-error[b-owb3tbwdp1] {
    margin: 0 0 8px;
    padding: 10px 12px;
    border: 1px solid #ffd0d0;
    border-radius: 10px;
    background: #fff0f0;
    color: #b42318;
    font-size: 13px;
    line-height: 1.4;
}

.menu-category-order[b-owb3tbwdp1] {
    width: 36px;
    height: 36px;
    border-radius: 9px;
    background: #f0edff;
    color: #6f4ef6;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    flex-shrink: 0;
}

.menu-category-title h2[b-owb3tbwdp1] {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
}

.menu-category-title span[b-owb3tbwdp1] {
    display: block;
    margin-top: 3px;
    color: #888;
    font-size: 13px;
}

.menu-inactive-badge[b-owb3tbwdp1] {
    display: inline-flex !important;
    align-items: center;
    border-radius: 999px;
    padding: 4px 9px;
    background: #f0f0f2;
    color: #777 !important;
    font-size: 12px !important;
    font-weight: 600;
    white-space: nowrap;
}

/* BUTTONS */

.menu-category-actions[b-owb3tbwdp1],
.menu-item-actions[b-owb3tbwdp1] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.menu-edit-button[b-owb3tbwdp1] {
    border: 1px solid #d8d8df;
    background: #fff;
    color: #444;
}

    .menu-edit-button:hover[b-owb3tbwdp1] {
        background: #f5f5f7;
    }

.menu-toggle-button[b-owb3tbwdp1] {
    border: 1px solid #d8d8df;
    background: #fff;
    color: #555;
}

    .menu-toggle-button:hover[b-owb3tbwdp1] {
        background: #f5f5f7;
    }

.menu-delete-button[b-owb3tbwdp1] {
    border: 1px solid #e3bcbc;
    background: #fff;
    color: #b33;
}

    .menu-delete-button:hover[b-owb3tbwdp1] {
        background: #fff3f3;
    }

/* ITEMS */

.menu-items[b-owb3tbwdp1] {
    padding: 0 18px;
}

.menu-item[b-owb3tbwdp1] {
    display: grid;
    grid-template-columns: 45px minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    padding: 15px 0;
    border-bottom: 1px solid #eeeeef;
}

.menu-item-editing[b-owb3tbwdp1] {
    border-bottom: 0;
}

    .menu-item:last-child[b-owb3tbwdp1] {
        border-bottom: none;
    }

.menu-item-inactive[b-owb3tbwdp1] {
    opacity: 0.65;
}

.menu-item-order[b-owb3tbwdp1] {
    color: #888;
    font-size: 13px;
    text-align: center;
}

.menu-item-content[b-owb3tbwdp1] {
    min-width: 0;
}

.menu-item-title[b-owb3tbwdp1] {
    display: flex;
    align-items: center;
    gap: 9px;
    flex-wrap: wrap;
}

    .menu-item-title strong[b-owb3tbwdp1] {
        font-size: 15px;
    }

.menu-item-description[b-owb3tbwdp1] {
    margin-top: 4px;
    color: #777;
    font-size: 14px;
    line-height: 1.4;
}

.menu-no-items[b-owb3tbwdp1] {
    padding: 18px 0;
    text-align: center;
    color: #999;
    font-size: 14px;
}

/* ADD ITEM */

.menu-add-item[b-owb3tbwdp1] {
    padding: 12px 18px 16px;
    border-top: 1px solid #eeeeef;
    background: #fafafa;
}

.menu-add-item-button[b-owb3tbwdp1] {
    border: 1px dashed #c9c4e8;
    background: #fff;
    color: #6f4ef6;
    width: 100%;
    text-align: left;
}

    .menu-add-item-button:hover[b-owb3tbwdp1] {
        background: #f8f6ff;
    }

.menu-item-form-inline[b-owb3tbwdp1] {
    margin: 0 18px 16px;
}

.menu-item-add-inline[b-owb3tbwdp1] {
    margin: 8px 16px 16px;
}

.menu-item-edit-inline[b-owb3tbwdp1] {
    /* .menu-items already adds 18px of horizontal padding; -2px makes the
       visible inset match the 16px used by category editing. */
    margin: 8px -2px;
    padding: 18px;
    border-color: #e4defd;
    background: #fcfbff;
    box-shadow: 0 4px 14px rgba(45, 35, 90, .045);
}

.menu-item-edit-separator[b-owb3tbwdp1] {
    border-bottom: 1px solid #eeeeef;
}

/* EMPTY */

.menu-empty[b-owb3tbwdp1] {
    background: #fff;
    border: 1px dashed #d8d8df;
    border-radius: 14px;
    padding: 35px 20px;
    text-align: center;
    color: #888;
}


/* RESPONSIVE */

@media (max-width: 900px) {
    .menu-summary[b-owb3tbwdp1] {
        grid-template-columns: 1fr;
    }

    .menu-category-header[b-owb3tbwdp1] {
        align-items: flex-start;
        flex-direction: column;
    }

    .menu-category-actions[b-owb3tbwdp1] {
        width: 100%;
    }

    .menu-item[b-owb3tbwdp1] {
        grid-template-columns: 40px minmax(0, 1fr);
    }

    .menu-item-actions[b-owb3tbwdp1] {
        grid-column: 2;
    }
}

.menu-collapse-button[b-owb3tbwdp1] {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #d8d8df;
    border-radius: 8px;
    background: #fff;
    color: #626274;
    font-size: 15px;
    cursor: pointer;
    transition: 0.15s ease;
}

.menu-collapse-button:hover[b-owb3tbwdp1] {
    background: #f5f5f7;
    color: #252535;
}

@media (max-width: 768px) {
    .sample-menu-button-wrap[b-owb3tbwdp1],
    .sample-menu-button[b-owb3tbwdp1] {
        width: 100%;
    }

    .menu-category-form[b-owb3tbwdp1],
    .menu-item-form[b-owb3tbwdp1] {
        grid-template-columns: 1fr;
    }

    .menu-item-description-field[b-owb3tbwdp1] {
        grid-column: auto;
    }

    .menu-form-actions[b-owb3tbwdp1] {
        flex-direction: column;
    }

        .menu-form-actions button[b-owb3tbwdp1] {
            width: 100%;
        }

    .menu-category-actions[b-owb3tbwdp1],
    .menu-item-actions[b-owb3tbwdp1] {
        width: 100%;
    }

        .menu-category-actions button[b-owb3tbwdp1],
        .menu-item-actions button[b-owb3tbwdp1] {
            flex: 1;
        }

    .menu-item[b-owb3tbwdp1] {
        grid-template-columns: 1fr;
        gap: 8px;
    }


    .menu-item-order[b-owb3tbwdp1] {
        text-align: left;
    }

    .menu-item-actions[b-owb3tbwdp1] {
        grid-column: auto;
    }

    .menu-category-title[b-owb3tbwdp1] {
        align-items: flex-start;
        flex-wrap: wrap;
    }
}
/* /Components/Pages/Wedding/Admin/WeddingMusic.razor.rz.scp.css */
.music-summary[b-pvs9p62kan] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.music-list[b-pvs9p62kan] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.music-card[b-pvs9p62kan] {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 18px;
    border: 1px solid #ededed;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
}

.music-rank[b-pvs9p62kan] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    flex-shrink: 0;
    border-radius: 11px;
    background: #f2efff;
    color: #6f4ef6;
    font-size: 13px;
    font-weight: 700;
}

.music-card-content[b-pvs9p62kan] {
    flex: 1;
    min-width: 0;
}

.music-song h2[b-pvs9p62kan] {
    margin: 0;
    color: #222;
    font-size: 16px;
    font-weight: 650;
}

.music-song p[b-pvs9p62kan] {
    margin: 4px 0 0;
    color: #555;
    font-size: 15px;
}

.music-meta[b-pvs9p62kan] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 10px;
    color: #888;
    font-size: 12px;
}

    .music-meta span[b-pvs9p62kan] {
        white-space: nowrap;
    }

    .music-meta i[b-pvs9p62kan] {
        margin-right: 3px;
    }

    .music-meta .positive[b-pvs9p62kan] {
        color: #2e7d32;
        font-weight: 600;
    }

    .music-meta .negative[b-pvs9p62kan] {
        color: #c62828;
        font-weight: 600;
    }

    .music-meta .neutral[b-pvs9p62kan] {
        color: #888;
    }

.music-date[b-pvs9p62kan] {
    color: #aaa;
}

.music-delete-button[b-pvs9p62kan] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 9px 12px;
    flex-shrink: 0;
    border: 1px solid #ead2d2;
    border-radius: 8px;
    background: #fff;
    color: #c62828;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
}

    .music-delete-button:hover[b-pvs9p62kan] {
        background: #fff5f5;
    }

    .music-delete-button:disabled[b-pvs9p62kan] {
        opacity: 0.5;
        cursor: not-allowed;
    }

.music-empty[b-pvs9p62kan],
.music-loading[b-pvs9p62kan],
.music-error[b-pvs9p62kan] {
    padding: 50px 30px;
    border-radius: 16px;
    background: #fff;
    text-align: center;
}

.music-empty[b-pvs9p62kan] {
    border: 1px dashed #ddd;
}

.music-empty-icon[b-pvs9p62kan] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin: 0 auto 16px;
    border-radius: 16px;
    background: #f2efff;
    color: #6f4ef6;
    font-size: 22px;
}

.music-empty h2[b-pvs9p62kan] {
    margin: 0 0 8px;
    color: #222;
    font-size: 20px;
}

.music-empty p[b-pvs9p62kan] {
    margin: 0;
    color: #777;
}

.music-loading[b-pvs9p62kan] {
    color: #777;
}

.music-error[b-pvs9p62kan] {
    color: #c62828;
}

@media (max-width: 900px) {

    .music-summary[b-pvs9p62kan] {
        grid-template-columns: repeat(2, 1fr);
    }

    .music-card[b-pvs9p62kan] {
        align-items: flex-start;
    }
}

@media (max-width: 768px) {
    .music-summary[b-pvs9p62kan] {
        grid-template-columns: 1fr 1fr;
    }

    .music-card[b-pvs9p62kan] {
        flex-wrap: wrap;
        gap: 12px;
    }

    .music-card-content[b-pvs9p62kan] {
        width: calc(100% - 54px);
    }

    .music-delete-button[b-pvs9p62kan] {
        width: 100%;
    }

        .music-delete-button span[b-pvs9p62kan] {
            display: inline;
        }
}
/* /Components/Pages/Wedding/Admin/Weddings.razor.rz.scp.css */
.weddings-grid[b-sr1vc2h7pk] {
    display: grid;
    gap: 18px;
}

.weddings-header-actions[b-sr1vc2h7pk] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}

.demo-wedding-link[b-sr1vc2h7pk] {
    height: 54px;
    min-width: 84px;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 16px;
    border: 1px solid #ded9f8;
    border-radius: 13px;
    background: #f7f5ff;
    color: #5f49c6;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.demo-wedding-link:hover[b-sr1vc2h7pk] {
    border-color: #c9c0f5;
    background: #efecff;
    color: #4f39b5;
    text-decoration: none;
}

.admin-quick-start-demo-link[b-sr1vc2h7pk] {
    display: block;
    color: inherit;
    text-decoration: none;
}

.admin-quick-start-demo-link:hover[b-sr1vc2h7pk] {
    color: #5f49c6;
    text-decoration: none;
}

.wedding-limit-info[b-sr1vc2h7pk] {
    min-width: 105px;
    height: 54px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 8px 12px;
    border: 1px solid #e5e5eb;
    border-radius: 12px;
    background: #fff;
}

.wedding-limit-info-label[b-sr1vc2h7pk] {
    color: #9999a3;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .7px;
}

.wedding-limit-info-value[b-sr1vc2h7pk] {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-top: 3px;
    color: #292931;
    font-size: 13px;
    font-weight: 800;
}

.wedding-limit-info-value i[b-sr1vc2h7pk] {
    color: #6f4ef6;
    font-size: 15px;
}

.wedding-credit-notice[b-sr1vc2h7pk] {
    margin: -8px 0 20px;
    padding: 12px 14px;
    border: 1px solid #f0dfb6;
    border-radius: 10px;
    background: #fff9eb;
    color: #74520b;
    font-size: 13px;
}

.wedding-credit-note[b-sr1vc2h7pk] {
    margin: -8px 0 20px;
    color: var(--admin-muted, #858590);
    font-size: 12px;
}

.create-wedding-button:disabled[b-sr1vc2h7pk] {
    opacity: .55;
    cursor: not-allowed;
}

.weddings-grid--single[b-sr1vc2h7pk],
.weddings-grid--pair[b-sr1vc2h7pk] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.weddings-grid--many[b-sr1vc2h7pk] {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
}

.wedding-card[b-sr1vc2h7pk] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    min-height: 240px;
    padding: 20px;
    overflow: hidden;
    background: var(--admin-surface, #fff);
    border: 1px solid var(--admin-border, #e4e4ea);
    border-radius: var(--admin-card-radius, 16px);
    box-shadow: 0 10px 28px rgba(30, 30, 45, 0.045);
    transition: transform .18s, border-color .18s, box-shadow .18s;
}

@media (max-width: 768px) {
    .weddings-header-actions[b-sr1vc2h7pk] {
        width: 100%;
        align-items: stretch;
        flex-direction: column;
    }

    .wedding-limit-info[b-sr1vc2h7pk],
    .create-wedding-button[b-sr1vc2h7pk],
    .demo-wedding-link[b-sr1vc2h7pk] {
        width: 100%;
        box-sizing: border-box;
    }
}

.wedding-card:hover[b-sr1vc2h7pk] {
    transform: translateY(-2px);
    border-color: #d7d2f5;
    box-shadow: 0 15px 32px rgba(30, 30, 45, 0.07);
}

.wedding-card-header[b-sr1vc2h7pk] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0;
}

.wedding-icon[b-sr1vc2h7pk] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    background: #f0edff;
    color: var(--admin-accent, #6f4ef6);
    font-size: 15px;
}

.wedding-card-date[b-sr1vc2h7pk] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #92929c;
    font-size: 10px;
    font-weight: 650;
}

.wedding-card-date i[b-sr1vc2h7pk] {
    color: #aaaab3;
    font-size: 10px;
}

.wedding-card-content[b-sr1vc2h7pk] {
    flex: 1;
    padding: 17px 0 0;
}

    .wedding-card-content h2[b-sr1vc2h7pk] {
        margin: 0;
        min-height: 50px;
        color: var(--admin-text, #202027);
        font-size: 21px;
        font-weight: 800;
        line-height: 1.25;
        letter-spacing: -.5px;
        overflow-wrap: anywhere;
    }

.wedding-code-section[b-sr1vc2h7pk] {
    margin-top: 16px;
    padding: 12px 13px;
    border-radius: 13px;
    background: #f8f8fb;
}

.wedding-owner[b-sr1vc2h7pk] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    color: var(--admin-muted, #858590);
    font-size: 11px;
    overflow-wrap: anywhere;
}

.wedding-owner i[b-sr1vc2h7pk] {
    color: var(--admin-accent, #6f4ef6);
}

.wedding-code-label[b-sr1vc2h7pk] {
    color: #9999a3;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .7px;
}

.wedding-code[b-sr1vc2h7pk] {
    margin-top: 5px;
    color: #17171c;
    font-family: monospace;
    font-size: 22px;
    font-weight: 850;
    letter-spacing: 1.5px;
}

.wedding-card-footer[b-sr1vc2h7pk] {
    margin-top: 17px;
}

.open-wedding-button[b-sr1vc2h7pk] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 46px;
    padding: 0 15px;
    border-radius: 12px;
    background: #f5f3ff;
    color: var(--admin-accent, #6f4ef6);
    text-decoration: none;
    font-size: 12px;
    font-weight: 750;
    transition: background .15s, color .15s, transform .15s;
}

    .open-wedding-button:hover[b-sr1vc2h7pk] {
        background: #ece8ff;
        color: #6242e8;
        transform: translateY(-1px);
    }

.open-wedding-button i[b-sr1vc2h7pk] {
    font-size: 13px;
}

.weddings-loading[b-sr1vc2h7pk],
.weddings-error[b-sr1vc2h7pk],
.weddings-empty[b-sr1vc2h7pk] {
    padding: 50px 30px;
    border-radius: 16px;
    background: #fff;
    text-align: center;
}

.weddings-loading[b-sr1vc2h7pk] {
    color: #777;
}

.weddings-error[b-sr1vc2h7pk] {
    color: #c62828;
}

.weddings-empty[b-sr1vc2h7pk] {
    min-height: 340px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 30px;
    border: 1px dashed #dcdce4;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.65);
    text-align: center;
}

.weddings-empty-icon[b-sr1vc2h7pk] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    margin: 0 auto 16px;
    border-radius: 18px;
    background: #f0edff;
    color: #6f4ef6;
    font-size: 23px;
}

.weddings-empty h2[b-sr1vc2h7pk] {
    margin: 0;
    color: #27272e;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: -.4px;
}

.weddings-empty p[b-sr1vc2h7pk] {
    max-width: 360px;
    margin: 8px 0 18px;
    color: #8b8b95;
    font-size: 12px;
    line-height: 1.5;
}

.admin-layout .admin-main-content .admin-page .weddings-empty .create-wedding-button[b-sr1vc2h7pk] {
    height: 42px;
    min-width: 0;
    border-radius: 12px;
    font-size: 11px;
}

@media (max-width: 1000px) {
    .weddings-grid--single[b-sr1vc2h7pk],
    .weddings-grid--pair[b-sr1vc2h7pk] {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 768px) {

    .create-wedding-button[b-sr1vc2h7pk] {
        width: 100%;
    }

    .weddings-grid[b-sr1vc2h7pk] {
        grid-template-columns: 1fr;
    }
}
.create-wedding-card[b-sr1vc2h7pk] {
    margin-bottom: 24px;
    padding: 24px;
    background: #fff;
    border: 1px solid #ededed;
    border-radius: 16px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.create-wedding-card-header[b-sr1vc2h7pk] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px;
}

    .create-wedding-card-header h2[b-sr1vc2h7pk] {
        margin: 0;
        color: #222;
        font-size: 20px;
        font-weight: 650;
    }

    .create-wedding-card-header p[b-sr1vc2h7pk] {
        margin: 6px 0 0;
        color: #777;
        font-size: 14px;
    }

.close-form-button[b-sr1vc2h7pk] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 0;
    border-radius: 9px;
    background: #f5f5f5;
    color: #555;
    cursor: pointer;
}

    .close-form-button:hover[b-sr1vc2h7pk] {
        background: #ededed;
    }

.create-wedding-form[b-sr1vc2h7pk] {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.form-field[b-sr1vc2h7pk] {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

    .form-field label[b-sr1vc2h7pk] {
        color: #333;
        font-size: 14px;
        font-weight: 600;
    }

    .form-field input[b-sr1vc2h7pk],
    .form-field select[b-sr1vc2h7pk] {
        width: 100%;
        box-sizing: border-box;
        padding: 12px 14px;
        border: 1px solid #ddd;
        border-radius: 9px;
        background: #fff;
        color: #222;
        font-size: 15px;
        outline: none;
    }

        .form-field input:focus[b-sr1vc2h7pk],
        .form-field select:focus[b-sr1vc2h7pk] {
            border-color: #6f4ef6;
            box-shadow: 0 0 0 3px rgba(111, 78, 246, 0.1);
        }

    .form-field small[b-sr1vc2h7pk] {
        color: #888;
        font-size: 12px;
    }

.create-wedding-error[b-sr1vc2h7pk] {
    padding: 11px 13px;
    border-radius: 9px;
    background: #fff1f1;
    color: #c62828;
    font-size: 14px;
}

.create-wedding-actions[b-sr1vc2h7pk] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.cancel-button[b-sr1vc2h7pk],
.save-wedding-button[b-sr1vc2h7pk] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 11px 16px;
    border-radius: 9px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}

.cancel-button[b-sr1vc2h7pk] {
    border: 1px solid #ddd;
    background: #fff;
    color: #555;
}

    .cancel-button:hover[b-sr1vc2h7pk] {
        background: #f7f7f7;
    }

.save-wedding-button[b-sr1vc2h7pk] {
    border: 0;
    background: #222;
    color: #fff;
}

    .save-wedding-button:hover[b-sr1vc2h7pk] {
        opacity: 0.88;
    }

    .save-wedding-button:disabled[b-sr1vc2h7pk] {
        opacity: 0.55;
        cursor: not-allowed;
    }

@media (max-width: 768px) {

    .create-wedding-card[b-sr1vc2h7pk] {
        padding: 20px;
    }

    .create-wedding-actions[b-sr1vc2h7pk] {
        flex-direction: column-reverse;
    }

    .cancel-button[b-sr1vc2h7pk],
    .save-wedding-button[b-sr1vc2h7pk] {
        width: 100%;
    }
}
/* /Components/Pages/Wedding/Admin/WeddingSchedule.razor.rz.scp.css */
.schedule-summary[b-bj81vojkrc] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.sample-schedule-button-wrap[b-bj81vojkrc] {
    display: inline-flex;
}

.sample-schedule-button[b-bj81vojkrc] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 18px;
    border: 0;
    border-radius: 10px;
    background: #222;
    color: #fff;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}

.sample-schedule-button:hover:not(:disabled)[b-bj81vojkrc] {
    opacity: .88;
}

.sample-schedule-button:disabled[b-bj81vojkrc] {
    opacity: .48;
    cursor: not-allowed;
}

.schedule-form-card[b-bj81vojkrc] {
    margin-bottom: 24px;
}

.schedule-form-grid[b-bj81vojkrc] {
    display: grid;
    grid-template-columns: 180px 180px minmax(300px, 1fr);
    gap: 18px;
}

    .schedule-form-grid .schedule-field:nth-child(3)[b-bj81vojkrc] {
        grid-column: 3;
    }

    .schedule-form-grid .schedule-field:nth-child(4)[b-bj81vojkrc] {
        grid-column: 2 / 4;
        grid-row: 2;
    }

    .schedule-form-grid .schedule-field:nth-child(5)[b-bj81vojkrc] {
        grid-column: 1;
        grid-row: 2;
    }

.schedule-field[b-bj81vojkrc] {
    display: flex;
    flex-direction: column;
}

.schedule-field-wide[b-bj81vojkrc] {
    min-width: 0;
}

.schedule-field input[b-bj81vojkrc] {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 11px 12px;
    outline: none;
}

    .schedule-field input:focus[b-bj81vojkrc] {
        border-color: #6f4ef6;
    }

.schedule-field input[b-bj81vojkrc],
.schedule-field select[b-bj81vojkrc] {
    min-height: 46px;
}

.schedule-icon-field select[b-bj81vojkrc] {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 11px 12px;
    background: #fff;
    outline: none;
    min-height: 46px;
}

    .schedule-icon-field select:focus[b-bj81vojkrc] {
        border-color: #6f4ef6;
    }

.schedule-form-error[b-bj81vojkrc] {
    margin-top: 16px;
    padding: 12px 14px;
    border-radius: 10px;
    background: #fff1f1;
    color: #b42318;
    font-size: 14px;
}

.schedule-form-actions[b-bj81vojkrc] {
    display: flex;
    gap: 10px;
    margin-top: 20px;
}

.schedule-save-button[b-bj81vojkrc],
.schedule-cancel-button[b-bj81vojkrc] {
    border: 0;
    border-radius: 10px;
    padding: 11px 18px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}

.schedule-save-button[b-bj81vojkrc] {
    background: #6f4ef6;
    color: #fff;
}

    .schedule-save-button:disabled[b-bj81vojkrc] {
        opacity: .6;
        cursor: default;
    }

.schedule-cancel-button[b-bj81vojkrc] {
    background: #f1f1f1;
    color: #444;
}

.schedule-list[b-bj81vojkrc] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.schedule-inline-editor[b-bj81vojkrc] {
    margin: 0 16px 4px;
}

.schedule-add-form[b-bj81vojkrc] {
    margin-top: 20px;
}

.schedule-item[b-bj81vojkrc] {
    display: grid;
    grid-template-columns: 50px 90px 1fr auto;
    align-items: center;
    gap: 18px;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 16px;
    padding: 18px;
}

.schedule-item-inactive[b-bj81vojkrc] {
    opacity: .6;
}

.schedule-item-order[b-bj81vojkrc] {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: #f3f0ff;
    color: #6f4ef6;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
}

.schedule-item-time[b-bj81vojkrc] {
    font-size: 20px;
    font-weight: 700;
    color: #222;
}

.schedule-item-title[b-bj81vojkrc] {
    display: flex;
    align-items: center;
    gap: 9px;
}

    .schedule-item-title i[b-bj81vojkrc] {
        color: #6f4ef6;
    }

.schedule-item-description[b-bj81vojkrc] {
    margin-top: 5px;
    color: #666;
    font-size: 14px;
}

.schedule-item-icon[b-bj81vojkrc] {
    margin-top: 8px;
    color: #999;
    font-size: 12px;
}

    .schedule-item-icon code[b-bj81vojkrc] {
        color: #666;
    }

.schedule-inactive-badge[b-bj81vojkrc] {
    display: inline-block;
    margin-left: 5px;
    padding: 4px 8px;
    border-radius: 999px;
    background: #f1f1f1;
    color: #777;
    font-size: 11px;
}

.schedule-item-actions[b-bj81vojkrc] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 7px;
}

    .schedule-item-actions button[b-bj81vojkrc] {
        border: 0;
        border-radius: 9px;
        padding: 9px 12px;
        font-size: 12px;
        font-weight: 600;
        cursor: pointer;
    }

.schedule-edit-button[b-bj81vojkrc] {
    background: #f3f0ff;
    color: #6f4ef6;
}

.schedule-toggle-button[b-bj81vojkrc] {
    background: #f1f1f1;
    color: #444;
}

.schedule-delete-button[b-bj81vojkrc] {
    background: #fff0f0;
    color: #c62828;
}

.schedule-empty[b-bj81vojkrc],
.schedule-loading[b-bj81vojkrc],
.schedule-error[b-bj81vojkrc] {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 16px;
    padding: 30px;
    text-align: center;
    color: #777;
}

@media (max-width: 900px) {
    .schedule-form-grid[b-bj81vojkrc] {
        grid-template-columns: 1fr 1fr;
    }

        .schedule-form-grid .schedule-field:nth-child(3)[b-bj81vojkrc],
        .schedule-form-grid .schedule-field:nth-child(4)[b-bj81vojkrc],
        .schedule-form-grid .schedule-field:nth-child(5)[b-bj81vojkrc] {
            grid-column: auto;
        }

        .schedule-form-grid .schedule-field:nth-child(3)[b-bj81vojkrc],
        .schedule-form-grid .schedule-field:nth-child(4)[b-bj81vojkrc] {
            grid-column: 1 / -1;
        }

    .schedule-item[b-bj81vojkrc] {
        grid-template-columns: 45px 80px 1fr;
    }

    .schedule-item-actions[b-bj81vojkrc] {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }
}

.schedule-icon-field select[b-bj81vojkrc] {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 11px 12px;
    font-size: 14px;
    background: #fff;
    outline: none;
}

    .schedule-icon-field select:focus[b-bj81vojkrc] {
        border-color: #6f4ef6;
    }

.selected-wedding-icon[b-bj81vojkrc] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 10px;
    padding: 10px 12px;
    border: 1px solid #eee;
    border-radius: 10px;
    background: #fafafd;
}

.selected-icon-preview[b-bj81vojkrc] {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    color: #6f4ef6;
}

    .selected-wedding-icon img[b-bj81vojkrc] {
        width: 42px;
        height: 42px;
        object-fit: contain;
    }

    .selected-wedding-icon span[b-bj81vojkrc] {
        color: #444;
        font-size: 13px;
        font-weight: 600;
    }

.schedule-icon-field small[b-bj81vojkrc] {
    margin-top: 6px;
    color: #888;
    font-size: 12px;
}

    .schedule-icon-field small code[b-bj81vojkrc] {
        color: #666;
    }

.schedule-admin-icon[b-bj81vojkrc] {
    width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

    .schedule-admin-icon img[b-bj81vojkrc] {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .schedule-admin-icon i[b-bj81vojkrc] {
        font-size: 20px;
        color: #6f4ef6;
    }

@media (max-width: 768px) {
    .sample-schedule-button-wrap[b-bj81vojkrc],
    .sample-schedule-button[b-bj81vojkrc] {
        width: 100%;
    }

    .schedule-summary[b-bj81vojkrc] {
        grid-template-columns: 1fr;
    }

    .schedule-form-grid[b-bj81vojkrc] {
        grid-template-columns: 1fr;
    }

    .schedule-item[b-bj81vojkrc] {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .schedule-item-order[b-bj81vojkrc] {
        width: 32px;
        height: 32px;
    }

    .schedule-item-time[b-bj81vojkrc] {
        font-size: 18px;
    }
}
/* /Components/Pages/Wedding/Admin/WeddingSettings.razor.rz.scp.css */
/* =========================
   CONTENT
   ========================= */

.settings-content[b-h0400gmo6m] {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.settings-card[b-h0400gmo6m] {
    min-width: 0;
}

.danger-zone[b-h0400gmo6m] {
    border-color: #f0cccc;
}

.danger-zone-icon[b-h0400gmo6m] {
    background: #fff0f0;
    color: #c62828;
}

.delete-warning[b-h0400gmo6m] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 20px;
    padding: 13px 15px;
    border: 1px solid #f3d4a2;
    border-radius: 10px;
    background: #fff9ed;
    color: #765313;
    font-size: 13px;
    line-height: 1.5;
}

.delete-warning i[b-h0400gmo6m] {
    flex: 0 0 auto;
    margin-top: 2px;
    color: #c78313;
}

.delete-actions[b-h0400gmo6m] {
    display: flex;
    justify-content: flex-end;
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid #ededf0;
}

.delete-wedding-button[b-h0400gmo6m] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    padding: 0 16px;
    border: 1px solid #c62828;
    border-radius: 10px;
    background: #fff;
    color: #b42323;
    font: inherit;
    font-size: 13px;
    font-weight: 650;
    cursor: pointer;
    transition: background .15s, color .15s, opacity .15s;
}

.delete-wedding-button:hover:not(:disabled)[b-h0400gmo6m] {
    background: #c62828;
    color: #fff;
}

.delete-wedding-button:disabled[b-h0400gmo6m] {
    opacity: .6;
    cursor: wait;
}

.settings-card-header[b-h0400gmo6m] {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.settings-card-icon[b-h0400gmo6m] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: #f0edff;
    color: #6f4ef6;
    font-size: 18px;
}

/* =========================
   FORM
   ========================= */

.settings-form[b-h0400gmo6m] {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.form-group[b-h0400gmo6m] {
    display: flex;
    flex-direction: column;
}

.form-input[b-h0400gmo6m] {
    width: 100%;
    box-sizing: border-box;
    padding: 12px 14px;
    border: 1px solid #dcdce2;
    border-radius: 10px;
    outline: none;
    background: #fff;
    color: #222;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

    .form-input:focus[b-h0400gmo6m] {
        border-color: #6f4ef6;
        box-shadow: 0 0 0 3px rgba(111, 78, 246, 0.1);
    }

    .form-input[b-h0400gmo6m]::placeholder {
        color: #aaa;
    }

.form-group[b-h0400gmo6m]  .validation-message {
    margin-top: 6px;
    color: #d93025;
    font-size: 13px;
}

.form-hint[b-h0400gmo6m] {
    margin-top: 7px;
    color: #8a8a8a;
    font-size: 12px;
    line-height: 1.4;
}

/* =========================
   MESSAGES
   ========================= */

.save-error[b-h0400gmo6m],
.save-success[b-h0400gmo6m] {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-top: 20px;
    padding: 11px 14px;
    border-radius: 10px;
    font-size: 13px;
}

.save-error[b-h0400gmo6m] {
    background: #fff1f0;
    color: #c62828;
    border: 1px solid #ffd8d5;
}

.save-success[b-h0400gmo6m] {
    background: #effaf2;
    color: #287a3e;
    border: 1px solid #ccebd4;
}

    .save-error i[b-h0400gmo6m],
    .save-success i[b-h0400gmo6m] {
        font-size: 16px;
    }

/* =========================
   ACTIONS
   ========================= */

.settings-actions[b-h0400gmo6m] {
    display: flex;
    justify-content: flex-end;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #ededf0;
}

.save-button[b-h0400gmo6m] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 150px;
    padding: 11px 18px;
    border: none;
    border-radius: 10px;
    background: #6f4ef6;
    color: #fff;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.1s ease, opacity 0.2s ease;
}

    .save-button:hover:not(:disabled)[b-h0400gmo6m] {
        background: #5d3ee0;
    }

    .save-button:active:not(:disabled)[b-h0400gmo6m] {
        transform: translateY(1px);
    }

    .save-button:disabled[b-h0400gmo6m] {
        opacity: 0.65;
        cursor: default;
    }

/* =========================
   TECHNICAL INFO
   ========================= */

.technical-info[b-h0400gmo6m] {
    display: flex;
    flex-direction: column;
}

.technical-row[b-h0400gmo6m] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 14px 0;
    border-bottom: 1px solid #eeeef1;
}

    .technical-row:first-child[b-h0400gmo6m] {
        padding-top: 0;
    }

    .technical-row:last-child[b-h0400gmo6m] {
        padding-bottom: 0;
        border-bottom: none;
    }

    .technical-row span[b-h0400gmo6m] {
        color: #777;
        font-size: 14px;
    }

    .technical-row strong[b-h0400gmo6m] {
        color: #333;
        font-size: 14px;
        font-weight: 600;
    }

/* =========================
   LOADING / ERROR
   ========================= */

.settings-loading[b-h0400gmo6m],
.settings-error[b-h0400gmo6m] {
    padding: 50px 24px;
    text-align: center;
    border-radius: 16px;
}

.settings-loading[b-h0400gmo6m] {
    color: #777;
    background: #fff;
    border: 1px solid #e9e9ed;
}

.settings-error[b-h0400gmo6m] {
    color: #c62828;
    background: #fff5f4;
    border: 1px solid #ffd8d5;
}

.settings-photo-approval[b-h0400gmo6m] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 24px;
    padding: 18px;
    border: 1px solid #e9e9ed;
    border-radius: 12px;
    background: #fafafa;
}

.settings-photo-approval-info[b-h0400gmo6m] {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    min-width: 0;
}

.settings-photo-approval-icon[b-h0400gmo6m] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: #f0edff;
    color: #6f4ef6;
    font-size: 17px;
}

.settings-photo-approval-info h3[b-h0400gmo6m] {
    margin: 0 0 5px;
    color: #333;
    font-size: 15px;
    font-weight: 700;
}

.settings-photo-approval-info p[b-h0400gmo6m] {
    margin: 0;
    color: #777;
    font-size: 13px;
    line-height: 1.45;
}

/* =========================
   TOGGLE
   ========================= */

.settings-toggle[b-h0400gmo6m] {
    position: relative;
    display: inline-flex;
    flex: 0 0 auto;
    width: 50px;
    height: 28px;
    cursor: pointer;
}

    .settings-toggle input[b-h0400gmo6m] {
        position: absolute;
        width: 1px;
        height: 1px;
        opacity: 0;
    }

.settings-toggle-slider[b-h0400gmo6m] {
    position: absolute;
    inset: 0;
    border-radius: 999px;
    background: #d5d5db;
    transition: background 0.2s ease;
}

    .settings-toggle-slider[b-h0400gmo6m]::before {
        content: "";
        position: absolute;
        left: 3px;
        top: 3px;
        width: 22px;
        height: 22px;
        border-radius: 50%;
        background: #fff;
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.18);
        transition: transform 0.2s ease;
    }

.settings-toggle input:checked + .settings-toggle-slider[b-h0400gmo6m] {
    background: #6f4ef6;
}

    .settings-toggle input:checked + .settings-toggle-slider[b-h0400gmo6m]::before {
        transform: translateX(22px);
    }

.settings-toggle input:focus-visible + .settings-toggle-slider[b-h0400gmo6m] {
    box-shadow: 0 0 0 3px rgba(111, 78, 246, 0.15);
}

/* =========================
   MOBILE
   ========================= */

@media (max-width: 600px) {

    .settings-photo-approval[b-h0400gmo6m] {
        align-items: flex-start;
        gap: 16px;
        padding: 16px;
    }

    .settings-photo-approval-info[b-h0400gmo6m] {
        gap: 11px;
    }

    .settings-photo-approval-icon[b-h0400gmo6m] {
        flex-basis: 36px;
        width: 36px;
        height: 36px;
        font-size: 15px;
    }

    .settings-photo-approval-info h3[b-h0400gmo6m] {
        font-size: 14px;
    }

    .settings-photo-approval-info p[b-h0400gmo6m] {
        font-size: 12px;
    }
}

/* =========================
   RESPONSIVE
   ========================= */

@media (max-width: 768px) {
    .settings-card-header[b-h0400gmo6m] {
        margin-bottom: 22px;
    }

    .settings-actions[b-h0400gmo6m] {
        justify-content: stretch;
    }

    .save-button[b-h0400gmo6m] {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .settings-card-header[b-h0400gmo6m] {
        gap: 11px;
    }

    .settings-card-icon[b-h0400gmo6m] {
        flex-basis: 38px;
        width: 38px;
        height: 38px;
        border-radius: 10px;
        font-size: 16px;
    }

    .technical-row[b-h0400gmo6m] {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }
}
/* /Components/Pages/Wedding/Wedding.razor.rz.scp.css */
.missing-wedding-page[b-6654izsl5a] {
    width: 100%;
    min-height: calc(100vh - 78px);
    min-height: calc(100dvh - 78px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 16px;
    box-sizing: border-box;
    background: #ffffff;
}


.missing-wedding-card[b-6654izsl5a] {
    width: 100%;
    max-width: 430px;
    padding: 36px 28px 30px;
    box-sizing: border-box;
    text-align: center;
    border: 1px solid #eeeeF2;
    border-radius: 22px;
    background: #fafafd;
    box-shadow: 0 8px 30px rgba(20, 20, 30, 0.05);
}


.missing-wedding-icon[b-6654izsl5a] {
    width: 58px;
    height: 58px;
    margin: 0 auto 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 17px;
    background: #f0f0f5;
    color: #34343b;
}


    .missing-wedding-icon i[b-6654izsl5a] {
        font-size: 24px;
    }


.missing-wedding-eyebrow[b-6654izsl5a] {
    display: block;
    margin-bottom: 8px;
    color: #777781;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 2px;
}


.missing-wedding-card h1[b-6654izsl5a] {
    margin: 0;
    color: #17171c;
    font-size: 30px;
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: -0.6px;
}


.missing-wedding-description[b-6654izsl5a] {
    max-width: 340px;
    margin: 13px auto 0;
    color: #777781;
    font-size: 14px;
    line-height: 1.5;
}


.missing-wedding-divider[b-6654izsl5a] {
    width: 42px;
    height: 1px;
    margin: 24px auto;
    background: #dedee4;
}


.missing-wedding-url[b-6654izsl5a] {
    margin-bottom: 20px;
    padding: 11px 13px;
    border: 1px solid #e7e7ec;
    border-radius: 11px;
    background: #ffffff;
    color: #55555d;
    font-size: 13px;
    font-weight: 600;
    word-break: break-word;
}


.missing-wedding-code[b-6654izsl5a] {
    text-align: left;
}


    .missing-wedding-code label[b-6654izsl5a] {
        display: block;
        margin-bottom: 7px;
        color: #55555d;
        font-size: 13px;
        font-weight: 600;
    }


    .missing-wedding-code input[b-6654izsl5a] {
        width: 100%;
        box-sizing: border-box;
        padding: 13px 14px;
        border: 1px solid #dcdce2;
        border-radius: 11px;
        background: #ffffff;
        color: #29292f;
        font: inherit;
        font-size: 14px;
        outline: none;
        transition: border-color .15s ease, box-shadow .15s ease;
    }


        .missing-wedding-code input:focus[b-6654izsl5a] {
            border-color: #b9b3d8;
            box-shadow: 0 0 0 3px rgba(111, 78, 246, 0.08);
        }


.missing-wedding-button[b-6654izsl5a] {
    width: 100%;
    margin-top: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 13px 16px;
    border: 1px solid #6f4ef6;
    border-radius: 11px;
    background: #6f4ef6;
    color: #ffffff;
    font: inherit;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background .15s ease, transform .15s ease;
}

.wedding-demo-button[b-6654izsl5a] {
    margin-top: 10px;
    box-sizing: border-box;
    text-decoration: none;
}

.wedding-demo-button:hover[b-6654izsl5a] {
    color: #fff;
    text-decoration: none;
}

.wedding-demo-note[b-6654izsl5a] {
    margin: 10px 0 0;
    color: #777781;
    font-size: 12px;
    line-height: 1.5;
    text-align: center;
}


    .missing-wedding-button:hover[b-6654izsl5a] {
        background: #5d3de0;
    }


    .missing-wedding-button:active[b-6654izsl5a] {
        transform: scale(.98);
    }


    .missing-wedding-button i[b-6654izsl5a] {
        font-size: 15px;
    }


.missing-wedding-error[b-6654izsl5a] {
    margin-top: 12px;
    padding: 9px 11px;
    border: 1px solid #ffd0d0;
    border-radius: 9px;
    background: #fff0f0;
    color: #a33;
    font-size: 13px;
}


@media (max-width: 480px) {

    .missing-wedding-page[b-6654izsl5a] {
        align-items: flex-start;
        padding-top: 36px;
    }

    .missing-wedding-card[b-6654izsl5a] {
        padding: 32px 22px 26px;
        border-radius: 19px;
    }

        .missing-wedding-card h1[b-6654izsl5a] {
            font-size: 28px;
        }
}
/* /Components/Pages/Wedding/WeddingActivityInfo.razor.rz.scp.css */
.wedding-activity-info[b-fpgpspw1rr] {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 10px auto 0;
}

.wedding-activity-info-button[b-fpgpspw1rr] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 3px;
    border: 0;
    background: transparent;
    color: #595960;
    cursor: pointer;
}

.wedding-activity-info-button i[b-fpgpspw1rr] {
    font-size: 28px;
}

.wedding-activity-info-button:hover[b-fpgpspw1rr] {
    color: #17171c;
}

.wedding-activity-info-popover[b-fpgpspw1rr] {
    width: min(390px, calc(100vw - 40px));
    box-sizing: border-box;
    margin-top: 8px;
    padding: 12px 15px;
    border: 1px solid #e8e3fb;
    border-radius: 12px;
    background: #f7f5ff;
    color: #5c4c9b;
    font-size: 13px;
    line-height: 1.5;
    text-align: center;
}
/* /Components/Pages/Wedding/WeddingChallenge.razor.rz.scp.css */
.wedding-challenge[b-kb70n7a0lq] {
    width: 100%;
    max-width: 480px;
    min-height: calc(100vh - 78px);
    min-height: calc(100dvh - 78px);
    margin: 0 auto;
    padding: 32px 16px 30px;
    box-sizing: border-box;
}


/* =========================================================
   HEADER
   ========================================================= */

.challenge-header[b-kb70n7a0lq] {
    text-align: center;
    padding: 4px 8px 28px;
}

.challenge-eyebrow[b-kb70n7a0lq] {
    display: block;
    margin-bottom: 8px;
    color: #777781;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
}

.challenge-header h1[b-kb70n7a0lq] {
    margin: 0;
    color: #17171c;
    font-size: 32px;
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: -0.7px;
}

.challenge-header p[b-kb70n7a0lq] {
    margin: 12px 0 0;
    color: #777781;
    font-size: 16px;
    line-height: 1.45;
}


/* =========================================================
   CONTENT
   ========================================================= */

.challenge-content[b-kb70n7a0lq] {
    display: flex;
    flex-direction: column;
    gap: 20px;
}



/* =========================================================
   START CARD
   ========================================================= */

.challenge-start-card[b-kb70n7a0lq],
.challenge-task-card[b-kb70n7a0lq] {
    padding: 28px 20px;
    border: 1px solid #eeeeF2;
    border-radius: 18px;
    background: #fafafd;
    text-align: center;
    box-shadow: 0 3px 12px rgba(20, 20, 30, 0.025);
}


/* =========================================================
   MAIN ICON
   ========================================================= */

.challenge-main-icon[b-kb70n7a0lq],
.challenge-task-icon[b-kb70n7a0lq] {
    width: 68px;
    height: 68px;
    margin: 0 auto 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 19px;
    background: #f0f0f5;
    color: #34343b;
}

    .challenge-main-icon i[b-kb70n7a0lq],
    .challenge-task-icon i[b-kb70n7a0lq] {
        font-size: 34px;
    }


/* =========================================================
   START
   ========================================================= */

.challenge-start-card h2[b-kb70n7a0lq] {
    margin: 0;
    color: #29292f;
    font-size: 25px;
    font-weight: 600;
}

.challenge-start-card > p[b-kb70n7a0lq] {
    margin: 9px auto 24px;
    max-width: 300px;
    color: #777781;
    font-size: 15px;
    line-height: 1.45;
}


/* =========================================================
   DRAW BUTTON
   ========================================================= */

.challenge-draw-button[b-kb70n7a0lq] {
    width: 100%;
    min-height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    border: 0;
    border-radius: 13px;
    background: #19191e;
    color: #ffffff;
    font-family: inherit;
    font-size: 17px;
    font-weight: 600;
    cursor: pointer;
    transition: background .15s ease, transform .15s ease;
}

    .challenge-draw-button i[b-kb70n7a0lq] {
        font-size: 22px;
    }

    .challenge-draw-button:hover[b-kb70n7a0lq] {
        background: #29292f;
    }

    .challenge-draw-button:active[b-kb70n7a0lq] {
        transform: scale(.985);
    }


/* =========================================================
   TASK
   ========================================================= */

.challenge-task-label[b-kb70n7a0lq] {
    display: block;
    margin-bottom: 18px;
    color: #777781;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
}

.challenge-task-card h2[b-kb70n7a0lq] {
    margin: 0 auto;
    max-width: 390px;
    color: #29292f;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.3;
}

.challenge-task-description[b-kb70n7a0lq] {
    margin: 16px auto 24px;
    max-width: 330px;
    color: #777781;
    font-size: 15px;
    line-height: 1.45;
}


/* =========================================================
   PHOTO BUTTON
   ========================================================= */

.challenge-photo-button[b-kb70n7a0lq] {
    width: 100%;
    min-height: 56px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border-radius: 13px;
    background: #19191e;
    color: #ffffff;
    text-decoration: none;
    font-size: 16px;
    font-weight: 600;
    border: 0;
    font-family: inherit;
    cursor: pointer;
    transition: background .15s ease, transform .15s ease;
}

    .challenge-photo-button i[b-kb70n7a0lq] {
        font-size: 21px;
    }

    .challenge-photo-button:hover[b-kb70n7a0lq] {
        background: #29292f;
        color: #ffffff;
        text-decoration: none;
    }

    .challenge-photo-button:active[b-kb70n7a0lq] {
        transform: scale(.985);
    }

    .challenge-photo-button:disabled[b-kb70n7a0lq] {
        opacity: .55;
        cursor: not-allowed;
        transform: none;
    }


/* =========================================================
   AGAIN BUTTON
   ========================================================= */

.challenge-again-button[b-kb70n7a0lq] {
    width: 100%;
    min-height: 48px;
    margin-top: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: #66666f;
    font-family: inherit;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
}

    .challenge-again-button:hover[b-kb70n7a0lq] {
        background: #f0f0f4;
        color: #29292f;
    }


/* =========================================================
   INFO
   ========================================================= */

.challenge-info[b-kb70n7a0lq] {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    padding: 17px;
    border: 1px solid #eeeeF2;
    border-radius: 16px;
    background: #ffffff;
}

.challenge-info-icon[b-kb70n7a0lq] {
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: #f0f0f5;
    color: #55555f;
}

    .challenge-info-icon i[b-kb70n7a0lq] {
        font-size: 19px;
    }

.challenge-info div:last-child[b-kb70n7a0lq] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.challenge-info strong[b-kb70n7a0lq] {
    color: #29292f;
    font-size: 14px;
    font-weight: 600;
}

.challenge-info span[b-kb70n7a0lq] {
    color: #777781;
    font-size: 12px;
    line-height: 1.45;
}

.challenge-gallery[b-kb70n7a0lq] {
    margin-top: 24px;
}

    .challenge-gallery h2[b-kb70n7a0lq] {
        margin: 0 0 16px;
        font-size: 20px;
        font-weight: 600;
    }

.challenge-gallery-item[b-kb70n7a0lq] {
    margin-bottom: 20px;
    overflow: hidden;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}

    .challenge-gallery-item img[b-kb70n7a0lq],
    .challenge-gallery-item video[b-kb70n7a0lq] {
        display: block;
        width: 100%;
        height: auto;
        max-height: 500px;
        object-fit: cover;
    }

.challenge-gallery-caption[b-kb70n7a0lq] {
    padding: 12px 14px 14px;
}

    .challenge-gallery-caption span[b-kb70n7a0lq] {
        display: block;
        margin-bottom: 6px;
        font-size: 13px;
        color: #777;
    }

    .challenge-gallery-caption p[b-kb70n7a0lq] {
        margin: 0;
        font-size: 15px;
        line-height: 1.4;
    }


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .wedding-challenge[b-kb70n7a0lq] {
        padding-top: 26px;
    }

    .challenge-header[b-kb70n7a0lq] {
        padding-bottom: 28px;
    }

        .challenge-header h1[b-kb70n7a0lq] {
            font-size: 30px;
        }

        .challenge-header p[b-kb70n7a0lq] {
            font-size: 15px;
        }

    .challenge-start-card[b-kb70n7a0lq],
    .challenge-task-card[b-kb70n7a0lq] {
        padding: 24px 18px;
    }

        .challenge-task-card h2[b-kb70n7a0lq] {
            font-size: 22px;
        }
}
/* /Components/Pages/Wedding/WeddingHome.razor.rz.scp.css */
.wedding-home[b-x82o6v7688] {
    width: 100%;
    max-width: 480px;
    min-height: calc(100vh - 78px);
    min-height: calc(100dvh - 78px);
    margin: 0 auto;
    padding: 34px 20px 30px;
    box-sizing: border-box;
}


/* =========================================================
   HEADER
   ========================================================= */

.wedding-home-header[b-x82o6v7688] {
    position: relative;
    text-align: center;
    padding: 8px 4px 28px;
}

    .wedding-home-header h1[b-x82o6v7688] {
        margin: 0;
        color: #17171c;
        font-family: 'Great Vibes', cursive;
        font-size: 52px;
        font-weight: 500;
        line-height: 1.15;
        letter-spacing: -0.0px;
    }

    .wedding-home-header p[b-x82o6v7688] {
        margin: 24px auto 0;
        max-width: 430px;
        color: #66666f;
        font-size: 18px;
        line-height: 1.45;
    }

.heart[b-x82o6v7688] {
    display: inline-block;
    margin-left: 4px;
    font-size: 20px;
}


/* =========================================================
   CONTENT
   ========================================================= */

.wedding-home-content[b-x82o6v7688] {
    display: flex;
    flex-direction: column;
    gap: 28px;
}


/* =========================================================
   UPLOAD BUTTON
   ========================================================= */

.wedding-upload-button[b-x82o6v7688] {
    width: 100%;
    min-height: 112px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    padding: 20px 24px;
    border: 2px solid #dedee3;
    border-radius: 16px;
    background: #ffffff;
    color: #202026;
    text-decoration: none;
    font-size: 23px;
    font-weight: 500;
    box-shadow: 0 4px 18px rgba(20, 20, 30, 0.04);
    transition: background .15s ease, border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}

.demo-disabled-button:disabled[b-x82o6v7688] {
    opacity: .55;
    cursor: not-allowed;
    transform: none;
}

    .wedding-upload-button i[b-x82o6v7688] {
        font-size: 32px;
    }

    .wedding-upload-button:hover[b-x82o6v7688] {
        color: #202026;
        background: #fafafd;
        border-color: #cfcfd5;
        text-decoration: none;
        box-shadow: 0 7px 24px rgba(20, 20, 30, 0.07);
    }

    .wedding-upload-button:active[b-x82o6v7688] {
        transform: scale(.985);
    }


/* =========================================================
   GALLERY PLACEHOLDER
   ========================================================= */

.wedding-gallery-placeholder[b-x82o6v7688] {
    min-height: 220px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 30px 20px;
    box-sizing: border-box;
    text-align: center;
    border-radius: 18px;
    background: #fafafd;
    border: 1px solid #eeeeF2;
    color: #777781;
}

.wedding-gallery-icon[b-x82o6v7688] {
    width: 62px;
    height: 62px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    border-radius: 18px;
    background: #f0f0f5;
    color: #55555f;
}

    .wedding-gallery-icon i[b-x82o6v7688] {
        font-size: 30px;
    }

.wedding-gallery-placeholder strong[b-x82o6v7688] {
    color: #29292f;
    font-size: 18px;
    font-weight: 600;
}

.wedding-gallery-placeholder span[b-x82o6v7688] {
    max-width: 320px;
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.45;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .wedding-home[b-x82o6v7688] {
        padding: 28px 16px 24px;
    }

    .wedding-home-header[b-x82o6v7688] {
        padding-top: 4px;
    }

        .wedding-home-header h1[b-x82o6v7688] {
            font-size: 44px;
        }

        .wedding-home-header p[b-x82o6v7688] {
            margin-top: 20px;
            font-size: 17px;
        }

    .wedding-upload-button[b-x82o6v7688] {
        min-height: 96px;
        font-size: 20px;
        gap: 14px;
    }

        .wedding-upload-button i[b-x82o6v7688] {
            font-size: 29px;
        }
}

/* =========================================================
   GALLERY
   ========================================================= */

.wedding-gallery[b-x82o6v7688] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.wedding-gallery-item[b-x82o6v7688] {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    padding: 0;
    border: 0;
    border-radius: 12px;
    overflow: hidden;
    background: #f1f1f4;
    cursor: pointer;
}

    .wedding-gallery-item img[b-x82o6v7688],
    .wedding-gallery-item video[b-x82o6v7688] {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
    }


/* =========================================================
   VIDEO PREVIEW
   ========================================================= */

.wedding-video-preview[b-x82o6v7688] {
    position: absolute;
    inset: 0;
    overflow: hidden;
    background: #111;
}

.wedding-video-preview img[b-x82o6v7688] {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.wedding-video-indicator[b-x82o6v7688] {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(0, 0, 0, .62);
    color: #fff;
    pointer-events: none;
}

    .wedding-video-indicator i[b-x82o6v7688] {
        font-size: 27px;
        margin-left: 2px;
    }

    .wedding-gallery-item:hover[b-x82o6v7688] {
        opacity: .96;
    }

.wedding-video-indicator[b-x82o6v7688] {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(0, 0, 0, .62);
    color: #fff;
    pointer-events: none;
}

    .wedding-video-indicator i[b-x82o6v7688] {
        font-size: 27px;
        margin-left: 2px;
    }

@media (min-width: 700px) {

    .wedding-gallery[b-x82o6v7688] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
    }

    .wedding-gallery-item[b-x82o6v7688] {
        border-radius: 14px;
    }
}


/* =========================================================
   VIEWER
   ========================================================= */

.wedding-viewer[b-x82o6v7688] {
    position: fixed;
    inset: 0;
    z-index: 5000;
    display: none;
    background: #000;
    color: #fff;
}

    .wedding-viewer.open[b-x82o6v7688] {
        display: flex;
        flex-direction: column;
    }

.wedding-viewer-backdrop[b-x82o6v7688] {
    position: absolute;
    inset: 0;
    background: #000;
}

.wedding-viewer-topbar[b-x82o6v7688] {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    z-index: 10;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: env(safe-area-inset-top) 14px 0;
    box-sizing: border-box;
    background: linear-gradient( to bottom, rgba(0, 0, 0, .65), rgba(0, 0, 0, 0) );
}

.wedding-viewer-button[b-x82o6v7688] {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .12);
    color: #fff;
    cursor: pointer;
    backdrop-filter: blur(8px);
}

    .wedding-viewer-button:hover[b-x82o6v7688] {
        background: rgba(255, 255, 255, .22);
    }

    .wedding-viewer-button i[b-x82o6v7688] {
        font-size: 19px;
    }

.wedding-viewer-counter[b-x82o6v7688] {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    font-size: 14px;
    font-weight: 500;
    color: rgba(255, 255, 255, .9);
}


/* =========================================================
   STAGE
   ========================================================= */

.wedding-viewer-stage[b-x82o6v7688] {
    position: relative;
    z-index: 2;
    flex: 1;
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    touch-action: none;
}

.wedding-viewer-media[b-x82o6v7688] {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.wedding-viewer-image[b-x82o6v7688],
.wedding-viewer-video[b-x82o6v7688] {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    user-select: none;
    -webkit-user-select: none;
    transition: transform .18s ease;
    will-change: transform;
}

.wedding-viewer-image[b-x82o6v7688] {
    cursor: grab;
}

    .wedding-viewer-image:active[b-x82o6v7688] {
        cursor: grabbing;
    }

.wedding-viewer-video[b-x82o6v7688] {
    display: none;
    width: 100%;
    max-height: 100%;
}


/* =========================================================
   ARROWS
   ========================================================= */

.wedding-viewer-arrow[b-x82o6v7688] {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 20;
    width: 48px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: rgba(0, 0, 0, .25);
    color: #fff;
    cursor: pointer;
    backdrop-filter: blur(4px);
}

    .wedding-viewer-arrow:hover[b-x82o6v7688] {
        background: rgba(0, 0, 0, .45);
    }

.wedding-viewer-prev[b-x82o6v7688] {
    left: 0;
    border-radius: 0 12px 12px 0;
}

.wedding-viewer-next[b-x82o6v7688] {
    right: 0;
    border-radius: 12px 0 0 12px;
}

.wedding-viewer-arrow i[b-x82o6v7688] {
    font-size: 28px;
}


/* =========================================================
   BOTTOM CONTROLS
   ========================================================= */

.wedding-viewer-bottom[b-x82o6v7688] {
    position: absolute;
    left: 50%;
    bottom: 20px;
    transform: translateX(-50%);
    z-index: 20;
    display: flex;
    gap: 8px;
    padding: 7px;
    border-radius: 14px;
    background: rgba(255, 255, 255, .10);
    backdrop-filter: blur(12px);
}

.wedding-viewer-small-button[b-x82o6v7688] {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 10px;
    background: rgba(255, 255, 255, .12);
    color: #fff;
    cursor: pointer;
}

    .wedding-viewer-small-button:hover[b-x82o6v7688] {
        background: rgba(255, 255, 255, .22);
    }

    .wedding-viewer-small-button i[b-x82o6v7688] {
        font-size: 17px;
    }


/* =========================================================
   BODY LOCK
   ========================================================= */

body.wedding-viewer-open[b-x82o6v7688] {
    overflow: hidden;
}

/* =========================================================
   CHALLENGE
   ========================================================= */

.wedding-challenge-badge[b-x82o6v7688] {
    position: absolute;
    bottom: 10px;
    top: auto;
    left: 10px;
    z-index: 2;
    padding: 6px 9px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: #222;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.3px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .wedding-gallery[b-x82o6v7688] {
        gap: 7px;
    }

    .wedding-gallery-item[b-x82o6v7688] {
        border-radius: 10px;
    }

    .wedding-viewer-arrow[b-x82o6v7688] {
        width: 42px;
        height: 58px;
    }

        .wedding-viewer-arrow i[b-x82o6v7688] {
            font-size: 24px;
        }

    .wedding-viewer-topbar[b-x82o6v7688] {
        padding-left: 10px;
        padding-right: 10px;
    }

    .wedding-viewer-button[b-x82o6v7688] {
        width: 42px;
        height: 42px;
    }

    .wedding-viewer-bottom[b-x82o6v7688] {
        bottom: calc( 16px + env(safe-area-inset-bottom) );
    }
}
/* /Components/Pages/Wedding/WeddingIcon.razor.rz.scp.css */
.wedding-icon-image[b-8tv2x0x77r] {
    width: 34px;
    height: 34px;
    object-fit: contain;
    display: block;
}

.wedding-icon-bootstrap[b-8tv2x0x77r] {
    font-size: 28px;
}

.wedding-icon-empty[b-8tv2x0x77r] {
    display: block;
}
/* /Components/Pages/Wedding/WeddingLayout.razor.rz.scp.css */
.wedding-app[b-bm7lvcy0ic] {
    min-height: 100vh;
    min-height: 100dvh;
    background: #ffffff;
    color: #17171c;
    overflow-x: hidden;
}

.wedding-content[b-bm7lvcy0ic] {
    width: 100%;
    min-height: 100vh;
    min-height: 100dvh;
    padding-bottom: 78px;
}


/* =========================================================
   BOTTOM NAVIGATION
   ========================================================= */

.wedding-bottom-nav[b-bm7lvcy0ic] {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1000;
    height: 72px;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    background: rgba(255, 255, 255, 0.97);
    border-top: 1px solid #e7e7eb;
    box-shadow: 0 -6px 24px rgba(20, 20, 30, 0.16);
    padding-bottom: env(safe-area-inset-bottom);
    backdrop-filter: blur(12px);
}


/* =========================================================
   NAV ITEM
   ========================================================= */

.wedding-nav-item[b-bm7lvcy0ic] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    color: #24242b;
    text-decoration: none;
    box-shadow: 0 -6px 24px rgba(20, 20, 30, 0.09);
    transition: background .15s ease, color .15s ease;
}

    .wedding-nav-item i[b-bm7lvcy0ic] {
        font-size: 23px;
        line-height: 1;
    }

    .wedding-nav-item span[b-bm7lvcy0ic] {
        font-size: 12px;
        line-height: 1.1;
        white-space: nowrap;
    }


    /* =========================================================
   ACTIVE
   ========================================================= */

    .wedding-nav-item.active[b-bm7lvcy0ic] {
        background: #19191e;
        color: #ffffff;
    }


    /* =========================================================
   HOVER
   ========================================================= */

    .wedding-nav-item:hover[b-bm7lvcy0ic] {
        text-decoration: none;
    }

    .wedding-nav-item:not(.active):hover[b-bm7lvcy0ic] {
        background: #f5f5f7;
    }


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .wedding-bottom-nav[b-bm7lvcy0ic] {
        height: 60px;
    }

    .wedding-nav-item[b-bm7lvcy0ic] {
        gap: 4px;
    }

        .wedding-nav-item i[b-bm7lvcy0ic] {
            font-size: 22px;
        }

        .wedding-nav-item span[b-bm7lvcy0ic] {
            font-size: 11px;
        }
}
/* /Components/Pages/Wedding/WeddingMenu.razor.rz.scp.css */
.wedding-menu[b-9uy2rp12w5] {
    width: 100%;
    max-width: 480px;
    min-height: calc(100vh - 78px);
    min-height: calc(100dvh - 78px);
    margin: 0 auto;
    padding: 32px 16px 30px;
    box-sizing: border-box;
}


/* =========================================================
   HEADER
   ========================================================= */

.menu-header[b-9uy2rp12w5] {
    text-align: center;
    padding: 4px 8px 32px;
}

.menu-eyebrow[b-9uy2rp12w5] {
    display: block;
    margin-bottom: 8px;
    color: #777781;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
}

.menu-header h1[b-9uy2rp12w5] {
    margin: 0;
    color: #17171c;
    font-size: 32px;
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: -0.7px;
}

.menu-header p[b-9uy2rp12w5] {
    margin: 12px 0 0;
    color: #777781;
    font-size: 16px;
    line-height: 1.4;
}


/* =========================================================
   SECTIONS
   ========================================================= */

.menu-content[b-9uy2rp12w5] {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.menu-section[b-9uy2rp12w5] {
    width: 100%;
    overflow: hidden;
    border: 1px solid #e5e5e9;
    border-radius: 14px;
    background: #fff;
}


/* =========================================================
   SECTION HEADER
   ========================================================= */

.menu-section-header[b-9uy2rp12w5] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 13px;
    margin: 0;
    padding: 16px 18px;
    border: 0;
    border-bottom: 1px solid #eeeeef;
    background: #fafafa;
    text-align: left;
    cursor: pointer;
}

.menu-section-title[b-9uy2rp12w5] {
    flex: 1;
    min-width: 0;
}

.menu-section-title-name[b-9uy2rp12w5] {
    display: block;
    color: #29292f;
    font-size: 19px;
    font-weight: 600;
    line-height: 1.2;
}

.menu-section-subtitle[b-9uy2rp12w5] {
    display: block;
    margin-top: 3px;
    color: #898992;
    font-size: 12px;
}

.menu-section-header > i[b-9uy2rp12w5] {
    color: #777781;
}

.menu-section-icon[b-9uy2rp12w5] {
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    background: #f0f0f5;
    color: #34343b;
}

    .menu-section-icon i[b-9uy2rp12w5] {
        font-size: 21px;
    }


/* =========================================================
   MENU CARD
   ========================================================= */

.menu-card[b-9uy2rp12w5] {
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
}


/* =========================================================
   MENU ITEM
   ========================================================= */

.menu-item[b-9uy2rp12w5] {
    position: relative;
    padding: 17px 18px;
}

    .menu-item + .menu-item[b-9uy2rp12w5] {
        border-top: 1px solid #e9e9ee;
    }

    .menu-item strong[b-9uy2rp12w5] {
        display: block;
        color: #29292f;
        font-size: 16px;
        font-weight: 600;
        line-height: 1.3;
    }

    .menu-item span[b-9uy2rp12w5] {
        display: block;
        margin-top: 4px;
        color: #777781;
        font-size: 13px;
        line-height: 1.35;
    }


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .wedding-menu[b-9uy2rp12w5] {
        padding-top: 26px;
    }

    .menu-header[b-9uy2rp12w5] {
        padding-bottom: 28px;
    }

        .menu-header h1[b-9uy2rp12w5] {
            font-size: 30px;
        }

        .menu-header p[b-9uy2rp12w5] {
            font-size: 15px;
        }

    .menu-section-header[b-9uy2rp12w5] {
        gap: 11px;
        padding: 14px 16px;
    }

    .menu-section-icon[b-9uy2rp12w5] {
        width: 42px;
        height: 42px;
    }

    .menu-section-title-name[b-9uy2rp12w5] {
        font-size: 18px;
    }

    .menu-item[b-9uy2rp12w5] {
        padding: 16px;
    }

        .menu-item strong[b-9uy2rp12w5] {
            font-size: 15px;
        }

        .menu-item span[b-9uy2rp12w5] {
            font-size: 12px;
        }
}
/* /Components/Pages/Wedding/WeddingSchedule.razor.rz.scp.css */
.wedding-schedule[b-m0wfhtm5qo] {
    width: 100%;
    max-width: 480px;
    min-height: calc(100vh - 78px);
    min-height: calc(100dvh - 78px);
    margin: 0 auto;
    padding: 32px 16px 30px;
    box-sizing: border-box;
}


/* =========================================================
   HEADER
   ========================================================= */

.schedule-header[b-m0wfhtm5qo] {
    text-align: center;
    padding: 4px 8px 32px;
}

.schedule-eyebrow[b-m0wfhtm5qo] {
    display: block;
    margin-bottom: 8px;
    color: #777781;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
}

.schedule-header h1[b-m0wfhtm5qo] {
    margin: 0;
    color: #17171c;
    font-size: 32px;
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: -0.7px;
}

.schedule-header p[b-m0wfhtm5qo] {
    margin: 12px 0 0;
    color: #777781;
    font-size: 16px;
    line-height: 1.4;
}


/* =========================================================
   TIMELINE
   ========================================================= */

.schedule-timeline[b-m0wfhtm5qo] {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.schedule-item[b-m0wfhtm5qo] {
    display: grid;
    grid-template-columns: 48px 22px 1fr;
    column-gap: 8px;
    min-height: 82px;
}


/* =========================================================
   TIME
   ========================================================= */

.schedule-time[b-m0wfhtm5qo] {
    padding-top: 24px;
    color: #29292f;
    font-size: 15px;
    font-weight: 600;
    text-align: right;
    white-space: nowrap;
}


/* =========================================================
   LINE
   ========================================================= */

.schedule-line[b-m0wfhtm5qo] {
    position: relative;
    display: flex;
    justify-content: center;
}

    .schedule-line[b-m0wfhtm5qo]::after {
        content: "";
        position: absolute;
        top: 34px;
        bottom: -18px;
        width: 1px;
        background: #dedee3;
    }

.schedule-item:last-child .schedule-line[b-m0wfhtm5qo]::after {
    display: none;
}

.schedule-dot[b-m0wfhtm5qo] {
    position: relative;
    z-index: 2;
    width: 11px;
    height: 11px;
    margin-top: 28px;
    border-radius: 50%;
    background: #17171c;
    box-shadow: 0 0 0 5px #ffffff, 0 0 0 6px #dedee3;
}


/* =========================================================
   CARD
   ========================================================= */

.schedule-card[b-m0wfhtm5qo] {
    min-height: 82px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    border: 1px solid #eeeeF2;
    border-radius: 16px;
    background: #fafafd;
    box-shadow: 0 3px 12px rgba(20, 20, 30, 0.025);
}

.schedule-icon[b-m0wfhtm5qo] {
    flex: 0 0 auto;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: #f0f0f5;
    color: #34343b;
}

.schedule-card h2[b-m0wfhtm5qo] {
    margin: 0;
    color: #29292f;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.25;
}

.schedule-card p[b-m0wfhtm5qo] {
    margin: 5px 0 0;
    color: #777781;
    font-size: 13px;
    line-height: 1.3;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .wedding-schedule[b-m0wfhtm5qo] {
        padding-top: 26px;
    }

    .schedule-header[b-m0wfhtm5qo] {
        padding-bottom: 28px;
    }

        .schedule-header h1[b-m0wfhtm5qo] {
            font-size: 30px;
        }

        .schedule-header p[b-m0wfhtm5qo] {
            font-size: 15px;
        }

    .schedule-item[b-m0wfhtm5qo] {
        grid-template-columns: 44px 20px 1fr;
        column-gap: 7px;
    }

    .schedule-time[b-m0wfhtm5qo] {
        font-size: 14px;
    }

    .schedule-card[b-m0wfhtm5qo] {
        gap: 11px;
        padding: 12px;
    }

    .schedule-icon[b-m0wfhtm5qo] {
        width: 43px;
        height: 43px;
        border-radius: 12px;
    }

    .schedule-card h2[b-m0wfhtm5qo] {
        font-size: 16px;
    }

    .schedule-card p[b-m0wfhtm5qo] {
        font-size: 12px;
    }
}
/* /Components/Pages/Wedding/WeddingSuggestions.razor.rz.scp.css */
.wedding-suggestions[b-ykfuuevuf6] {
    width: 100%;
    max-width: 480px;
    min-height: calc(100vh - 78px);
    min-height: calc(100dvh - 78px);
    margin: 0 auto;
    padding: 32px 16px 30px;
    box-sizing: border-box;
}


/* =========================================================
   HEADER
   ========================================================= */

.suggestions-header[b-ykfuuevuf6] {
    text-align: center;
    padding: 4px 8px 28px;
}

.suggestions-eyebrow[b-ykfuuevuf6] {
    display: block;
    margin-bottom: 8px;
    color: #777781;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
}

.suggestions-header h1[b-ykfuuevuf6] {
    margin: 0;
    color: #17171c;
    font-size: 32px;
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: -0.7px;
}

.suggestions-header p[b-ykfuuevuf6] {
    margin: 12px 0 0;
    color: #777781;
    font-size: 16px;
    line-height: 1.45;
}


/* =========================================================
   CONTENT
   ========================================================= */

.suggestions-content[b-ykfuuevuf6] {
    display: flex;
    flex-direction: column;
    gap: 28px;
}



/* =========================================================
   FORM CARD
   ========================================================= */

.suggestion-form-card[b-ykfuuevuf6] {
    padding: 24px 20px;
    border: 1px solid #eeeeF2;
    border-radius: 18px;
    background: #fafafd;
    text-align: center;
    box-shadow: 0 3px 12px rgba(20, 20, 30, 0.025);
}

.suggestion-form-icon[b-ykfuuevuf6] {
    width: 56px;
    height: 56px;
    margin: 0 auto 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    background: #f0f0f5;
    color: #34343b;
}

    .suggestion-form-icon i[b-ykfuuevuf6] {
        font-size: 27px;
    }

.suggestion-form-card h2[b-ykfuuevuf6] {
    margin: 0;
    color: #29292f;
    font-size: 20px;
    font-weight: 600;
}

.suggestion-form-card > p[b-ykfuuevuf6] {
    margin: 7px 0 20px;
    color: #777781;
    font-size: 13px;
}


/* =========================================================
   INPUT
   ========================================================= */

.suggestion-input-wrapper[b-ykfuuevuf6] {
    text-align: left;
}

    .suggestion-input-wrapper label[b-ykfuuevuf6] {
        display: block;
        margin-bottom: 7px;
        color: #45454d;
        font-size: 13px;
        font-weight: 600;
    }

    .suggestion-input-wrapper input[b-ykfuuevuf6] {
        width: 100%;
        box-sizing: border-box;
        min-height: 50px;
        padding: 0 15px;
        border: 1px solid #dcdce2;
        border-radius: 12px;
        outline: none;
        background: #ffffff;
        color: #29292f;
        font-family: inherit;
        font-size: 15px;
        transition: border-color .15s ease, box-shadow .15s ease;
    }

        .suggestion-input-wrapper input[b-ykfuuevuf6]::placeholder {
            color: #a0a0a8;
        }

        .suggestion-input-wrapper input:focus[b-ykfuuevuf6] {
            border-color: #9c9ca5;
            box-shadow: 0 0 0 3px rgba(40, 40, 50, 0.06);
        }


/* =========================================================
   SUBMIT BUTTON
   ========================================================= */

.suggestion-submit[b-ykfuuevuf6] {
    width: 100%;
    min-height: 52px;
    margin-top: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 0;
    border-radius: 13px;
    background: #19191e;
    color: #ffffff;
    font-family: inherit;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background .15s ease, transform .15s ease;
}

    .suggestion-submit i[b-ykfuuevuf6] {
        font-size: 17px;
    }

    .suggestion-submit:hover[b-ykfuuevuf6] {
        background: #29292f;
    }

    .suggestion-submit:active[b-ykfuuevuf6] {
        transform: scale(.985);
    }


/* =========================================================
   LIST HEADER
   ========================================================= */

.suggestions-list-section[b-ykfuuevuf6] {
    width: 100%;
}

.suggestions-list-header[b-ykfuuevuf6] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0 4px;
    margin-bottom: 12px;
}

    .suggestions-list-header h2[b-ykfuuevuf6] {
        margin: 0;
        color: #29292f;
        font-size: 19px;
        font-weight: 600;
    }

    .suggestions-list-header div > span[b-ykfuuevuf6] {
        display: block;
        margin-top: 4px;
        color: #898992;
        font-size: 12px;
    }

.suggestions-count[b-ykfuuevuf6] {
    flex: 0 0 auto;
    min-width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #f0f0f5;
    color: #55555f;
    font-size: 13px;
    font-weight: 600;
}


/* =========================================================
   SONG CARD
   ========================================================= */

.song-card[b-ykfuuevuf6] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 16px;
    border: 1px solid #eeeeF2;
    border-radius: 17px;
    background: #fafafd;
    box-shadow: 0 3px 12px rgba(20, 20, 30, 0.025);
}


/* =========================================================
   SONG INFO
   ========================================================= */

.song-main[b-ykfuuevuf6] {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 13px;
}

.song-icon[b-ykfuuevuf6] {
    flex: 0 0 auto;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: #f0f0f5;
    color: #34343b;
}

    .song-icon i[b-ykfuuevuf6] {
        font-size: 23px;
    }

.song-details[b-ykfuuevuf6] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

    .song-details strong[b-ykfuuevuf6] {
        color: #29292f;
        font-size: 16px;
        font-weight: 600;
        line-height: 1.2;
    }

    .song-details span[b-ykfuuevuf6] {
        overflow: hidden;
        color: #777781;
        font-size: 13px;
        line-height: 1.3;
        text-overflow: ellipsis;
        white-space: nowrap;
    }


/* =========================================================
   VOTING
   ========================================================= */

.song-voting[b-ykfuuevuf6] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 7px;
}

.vote-button[b-ykfuuevuf6] {
    min-width: 52px;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0 9px;
    border: 1px solid #dedee3;
    border-radius: 11px;
    background: #ffffff;
    color: #55555f;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background .15s ease, border-color .15s ease, color .15s ease, transform .15s ease;
}

    .vote-button i[b-ykfuuevuf6] {
        font-size: 17px;
    }

    .vote-button:hover[b-ykfuuevuf6] {
        background: #f3f3f6;
        border-color: #ceced5;
        color: #29292f;
    }

    .vote-button:active[b-ykfuuevuf6] {
        transform: scale(.95);
    }

.wedding-error[b-ykfuuevuf6],
.wedding-success[b-ykfuuevuf6] {
    margin-top: 12px;
    font-size: 13px;
    line-height: 1.4;
    text-align: left;
}

.song-actions[b-ykfuuevuf6] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 7px;
}

.song-delete-button[b-ykfuuevuf6] {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #dedee3;
    border-radius: 11px;
    background: #ffffff;
    color: #777781;
    cursor: pointer;
    transition: background .15s ease, border-color .15s ease, color .15s ease, transform .15s ease;
}

    .song-delete-button:hover[b-ykfuuevuf6] {
        background: #f3f3f6;
        border-color: #ceced5;
        color: #29292f;
    }

    .song-delete-button:active[b-ykfuuevuf6] {
        transform: scale(.95);
    }

    .song-delete-button i[b-ykfuuevuf6] {
        font-size: 16px;
    }


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .wedding-suggestions[b-ykfuuevuf6] {
        padding-top: 26px;
    }

    .suggestions-header[b-ykfuuevuf6] {
        padding-bottom: 28px;
    }

        .suggestions-header h1[b-ykfuuevuf6] {
            font-size: 30px;
        }

        .suggestions-header p[b-ykfuuevuf6] {
            font-size: 15px;
        }

    .suggestion-form-card[b-ykfuuevuf6] {
        padding: 22px 18px;
    }

    .song-card[b-ykfuuevuf6] {
        padding: 14px;
    }

    .song-main[b-ykfuuevuf6] {
        gap: 10px;
    }

    .song-icon[b-ykfuuevuf6] {
        width: 44px;
        height: 44px;
        border-radius: 12px;
    }

        .song-icon i[b-ykfuuevuf6] {
            font-size: 21px;
        }

    .song-details strong[b-ykfuuevuf6] {
        font-size: 15px;
    }

    .song-details span[b-ykfuuevuf6] {
        font-size: 12px;
    }

    .song-voting[b-ykfuuevuf6] {
        gap: 5px;
    }

    .vote-button[b-ykfuuevuf6] {
        min-width: 45px;
        min-height: 42px;
        padding: 0 7px;
    }

        .vote-button i[b-ykfuuevuf6] {
            font-size: 16px;
        }

    @media (max-width: 480px) {

        .song-actions[b-ykfuuevuf6] {
            gap: 5px;
        }

        .song-delete-button[b-ykfuuevuf6] {
            width: 36px;
            height: 36px;
        }
    }
}
/* /Components/Pages/Wedding/WeddingUpload.razor.rz.scp.css */
.wedding-upload[b-eeui4ctsi5] {
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
    padding: 28px 18px 32px;
}


.wedding-upload-header[b-eeui4ctsi5] {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 28px;
}

    .wedding-upload-header h1[b-eeui4ctsi5] {
        margin: 0;
        font-size: 26px;
        font-weight: 700;
        letter-spacing: -0.5px;
    }

    .wedding-upload-header p[b-eeui4ctsi5] {
        margin: 4px 0 0;
        color: #77777f;
        font-size: 14px;
    }

.wedding-back-button[b-eeui4ctsi5] {
    width: 42px;
    height: 42px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: #f3f3f5;
    color: #17171c;
    text-decoration: none;
    transition: background .15s ease;
}

    .wedding-back-button:hover[b-eeui4ctsi5] {
        background: #e9e9ec;
    }

    .wedding-back-button i[b-eeui4ctsi5] {
        font-size: 19px;
    }

.wedding-select-button[b-eeui4ctsi5] {
    min-height: 150px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border: 1.5px dashed #d5d5da;
    border-radius: 22px;
    background: #fafafa;
    color: #222228;
    cursor: pointer;
    transition: background .15s ease, border-color .15s ease, transform .15s ease;
}

    .wedding-select-button:hover[b-eeui4ctsi5] {
        background: #f5f5f7;
        border-color: #bdbdc4;
    }

    .wedding-select-button:active[b-eeui4ctsi5] {
        transform: scale(.99);
    }

    .wedding-select-button i[b-eeui4ctsi5] {
        font-size: 34px;
    }

    .wedding-select-button span[b-eeui4ctsi5] {
        font-size: 15px;
        font-weight: 600;
    }

.wedding-upload-summary[b-eeui4ctsi5] {
    margin-top: 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.wedding-upload-summary-info[b-eeui4ctsi5] {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

    .wedding-upload-summary-info strong[b-eeui4ctsi5] {
        font-size: 15px;
    }

    .wedding-upload-summary-info span[b-eeui4ctsi5] {
        color: #818188;
        font-size: 13px;
    }

.wedding-start-upload[b-eeui4ctsi5] {
    border: 0;
    border-radius: 14px;
    padding: 11px 16px;
    display: flex;
    align-items: center;
    gap: 7px;
    background: #19191e;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}

    .wedding-start-upload:hover[b-eeui4ctsi5] {
        background: #303036;
    }

.wedding-files[b-eeui4ctsi5] {
    margin-top: 18px;
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.wedding-file[b-eeui4ctsi5] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    border: 1px solid #e9e9ed;
    border-radius: 16px;
    background: #fff;
}

.wedding-file-icon[b-eeui4ctsi5] {
    width: 42px;
    height: 42px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: #f3f3f5;
}

    .wedding-file-icon i[b-eeui4ctsi5] {
        font-size: 20px;
    }

.wedding-file-info[b-eeui4ctsi5] {
    min-width: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.wedding-file-name[b-eeui4ctsi5] {
    overflow: hidden;
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.wedding-file-size[b-eeui4ctsi5] {
    color: #888890;
    font-size: 12px;
}

.wedding-file-info small[b-eeui4ctsi5] {
    color: #8a8a91;
    font-size: 12px;
}

.wedding-file-preview[b-eeui4ctsi5] {
    width: 56px;
    height: 65px;
    flex-shrink: 0;
    object-fit: contain;
    border-radius: 12px;
    background: #f3f3f5;
}

.wedding-file-remove[b-eeui4ctsi5] {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 10px;
    background: #f3f3f5;
    color: #77777f;
    cursor: pointer;
    transition: background .15s ease, color .15s ease;
}

    .wedding-file-remove:hover[b-eeui4ctsi5] {
        background: #e9e9ec;
        color: #bd3d3d;
    }

    .wedding-file-remove i[b-eeui4ctsi5] {
        font-size: 14px;
    }

.wedding-progress[b-eeui4ctsi5] {
    width: 100%;
    height: 6px;
    overflow: hidden;
    border-radius: 999px;
    background: #ededf0;
}

.wedding-progress-bar[b-eeui4ctsi5] {
    height: 100%;
    border-radius: inherit;
    background: #19191e;
    transition: width .12s linear;
}

.wedding-success[b-eeui4ctsi5] {
    color: #2d7a4f !important;
}

    .wedding-success i[b-eeui4ctsi5] {
        margin-right: 4px;
    }

.wedding-error[b-eeui4ctsi5] {
    color: #bd3d3d !important;
}

    .wedding-error i[b-eeui4ctsi5] {
        margin-right: 4px;
    }

.wedding-total-progress[b-eeui4ctsi5] {
    margin-top: 24px;
    padding: 16px;
    border-radius: 18px;
    background: #f5f5f7;
}

.wedding-total-progress-header[b-eeui4ctsi5] {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
    font-size: 13px;
}

    .wedding-total-progress-header span[b-eeui4ctsi5] {
        font-weight: 700;
    }

.wedding-upload-finished[b-eeui4ctsi5] {
    margin-top: 18px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px;
    border-radius: 18px;
    background: #f3f8f5;
}

    .wedding-upload-finished > i[b-eeui4ctsi5] {
        font-size: 26px;
        color: #2d7a4f;
    }

    .wedding-upload-finished div[b-eeui4ctsi5] {
        display: flex;
        flex-direction: column;
        gap: 2px;
    }

    .wedding-upload-finished strong[b-eeui4ctsi5] {
        font-size: 14px;
    }

    .wedding-upload-finished span[b-eeui4ctsi5] {
        color: #707078;
        font-size: 12px;
    }

.wedding-gallery-button[b-eeui4ctsi5] {
    margin-top: 12px;
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 14px;
    background: #19191e;
    color: #fff;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
}

    .wedding-gallery-button:hover[b-eeui4ctsi5] {
        color: #fff;
        background: #303036;
    }

@media (max-width: 480px) {

    .wedding-upload[b-eeui4ctsi5] {
        padding: 22px 16px 28px;
    }

    .wedding-select-button[b-eeui4ctsi5] {
        min-height: 140px;
    }
}
