/* /Components/Common/Breadcrumb.razor.rz.scp.css */
.breadcrumb[b-6dgto6h4i1] {
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    margin-bottom: 0;
    list-style: none;
    align-items: center;
    font-family: 'Inter', sans-serif;
    font-size: 0.9rem;
}

.breadcrumb-item[b-6dgto6h4i1] {
    display: flex;
    align-items: center;
    padding-left: 0;
    /* Remove default padding */
}

.breadcrumb-item.seprator[b-6dgto6h4i1] {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    color: var(--bs-secondary);
    font-size: 0.7rem;
    opacity: 0.5;
}

/* Hide default separator */
.breadcrumb-item+.breadcrumb-item[b-6dgto6h4i1]::before {
    content: none !important;
}

.breadcrumb-link[b-6dgto6h4i1] {
    color: var(--bs-secondary);
    text-decoration: none;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    font-weight: 500;
    margin-left: 0 !important;
    /* Override top-row generic style */
}

.breadcrumb-link:hover[b-6dgto6h4i1] {
    color: var(--bs-primary);
    background-color: transparent;
    text-decoration: none;
}

.breadcrumb-item.active[b-6dgto6h4i1] {
    color: var(--bs-body-color);
    font-weight: 600;
}

/* Specific styling for Home icon if we keep it, but user said remove icons?
   The user likely meant text icons. I kept the home icon in the razor file as it is the root.
   Adjusting it to be subtle.
*/
.bi-house-door-fill[b-6dgto6h4i1] {
    font-size: 1rem;
    color: var(--bs-secondary);
    margin-top: -2px;
    /* Visual alignment */
}

.bi-house-door-fill:hover[b-6dgto6h4i1] {
    color: var(--bs-primary);
}
/* /Components/Common/Dashboard/LatestMessagesCard.razor.rz.scp.css */
.dashboard-card[b-g96fjuqzw2] {
    background: #ffffff;
    border: 1px solid var(--wed-beige-dark, #e5bda7);
    border-radius: 0.75rem;
    padding: 1rem;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.dashboard-card:hover[b-g96fjuqzw2] {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    border-color: var(--wed-brown-medium, #74583e);
}

.widget-title[b-g96fjuqzw2] {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--wed-brown-medium, #74583e);
    letter-spacing: 0.05em;
}

.widget-icon[b-g96fjuqzw2] {
    color: var(--wed-brown-medium, #74583e);
}

.voir-tout[b-g96fjuqzw2] {
    font-size: 0.75rem;
    color: var(--wed-brown-medium, #74583e);
    text-decoration: none;
}

.voir-tout:hover[b-g96fjuqzw2] {
    text-decoration: underline;
}

.feed-list[b-g96fjuqzw2] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.feed-row[b-g96fjuqzw2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.5rem;
    border-radius: 0.375rem;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    transition: background-color 0.15s ease;
}

.feed-row:hover[b-g96fjuqzw2] {
    background-color: rgba(212, 165, 137, 0.15);
    color: inherit;
    text-decoration: none;
}

.feed-row-content[b-g96fjuqzw2] {
    flex: 1;
    min-width: 0;
}

.feed-name[b-g96fjuqzw2] {
    font-weight: 600;
    font-size: 0.875rem;
}

.feed-snippet[b-g96fjuqzw2] {
    font-size: 0.875rem;
    color: var(--bs-secondary-color);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

.feed-date[b-g96fjuqzw2] {
    font-size: 0.75rem;
    color: var(--bs-secondary-color);
    white-space: nowrap;
    margin-left: 0.75rem;
}

.empty-state[b-g96fjuqzw2] {
    text-align: center;
    padding: 1.5rem 0;
    color: var(--bs-secondary-color);
}

.empty-state h6[b-g96fjuqzw2] {
    color: var(--wed-brown-dark, #3d2b1f);
    margin-bottom: 0.5rem;
}

.empty-state p[b-g96fjuqzw2] {
    margin-bottom: 1rem;
    font-size: 0.875rem;
}
/* /Components/Common/Dashboard/OnboardingChecklist.razor.rz.scp.css */
.dashboard-card[b-a2rix0x01p] {
    background: #ffffff;
    border: 1px solid var(--wed-beige-dark, #e5bda7);
    border-radius: 0.75rem;
    padding: 1rem;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.dashboard-card:hover[b-a2rix0x01p] {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    border-color: var(--wed-brown-medium, #74583e);
}

.widget-title[b-a2rix0x01p] {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--wed-brown-medium, #74583e);
    letter-spacing: 0.05em;
}

.progress-label[b-a2rix0x01p] {
    font-size: 0.875rem;
    color: var(--wed-brown-dark, #3d2b1f);
    margin-bottom: 0.5rem;
}

.step-row[b-a2rix0x01p] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--wed-beige-off, #f8f0e8);
}

.step-row:last-child[b-a2rix0x01p] {
    border-bottom: none;
}

.step-complete[b-a2rix0x01p] {
    text-decoration: line-through;
    color: var(--bs-secondary-color);
}

.complete-state[b-a2rix0x01p] {
    text-align: center;
    padding: 1.5rem 0;
    color: var(--wed-green, #26b050);
}

@media (max-width: 576px) {
    .step-row[b-a2rix0x01p] {
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    .step-row .btn[b-a2rix0x01p] {
        min-height: 44px;
        min-width: 44px;
        padding: 0.5rem 1rem;
        font-size: 0.875rem;
        width: 100%;
        margin-top: 0.25rem;
    }
}
/* /Components/Common/Dashboard/RsvpActivityCard.razor.rz.scp.css */
.dashboard-card[b-9hq1ivemsy] {
    background: #ffffff;
    border: 1px solid var(--wed-beige-dark, #e5bda7);
    border-radius: 0.75rem;
    padding: 1rem;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.dashboard-card:hover[b-9hq1ivemsy] {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    border-color: var(--wed-brown-medium, #74583e);
}

.widget-title[b-9hq1ivemsy] {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--wed-brown-medium, #74583e);
    letter-spacing: 0.05em;
}

.widget-icon[b-9hq1ivemsy] {
    color: var(--wed-brown-medium, #74583e);
}

.voir-tout[b-9hq1ivemsy] {
    font-size: 0.75rem;
    color: var(--wed-brown-medium, #74583e);
    text-decoration: none;
}

.voir-tout:hover[b-9hq1ivemsy] {
    text-decoration: underline;
}

.feed-list[b-9hq1ivemsy] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.feed-row[b-9hq1ivemsy] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.5rem;
    border-radius: 0.375rem;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    transition: background-color 0.15s ease;
}

.feed-row:hover[b-9hq1ivemsy] {
    background-color: rgba(212, 165, 137, 0.15);
    color: inherit;
    text-decoration: none;
}

.feed-row-content[b-9hq1ivemsy] {
    flex: 1;
    min-width: 0;
}

.feed-name[b-9hq1ivemsy] {
    font-weight: 600;
    font-size: 0.875rem;
}

.feed-detail[b-9hq1ivemsy] {
    font-size: 0.875rem;
    color: var(--bs-secondary-color);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.feed-date[b-9hq1ivemsy] {
    font-size: 0.75rem;
    color: var(--bs-secondary-color);
    white-space: nowrap;
    margin-left: 0.75rem;
}

.empty-state[b-9hq1ivemsy] {
    text-align: center;
    padding: 1.5rem 0;
    color: var(--bs-secondary-color);
}

.empty-state h6[b-9hq1ivemsy] {
    color: var(--wed-brown-dark, #3d2b1f);
    margin-bottom: 0.5rem;
}

.empty-state p[b-9hq1ivemsy] {
    margin-bottom: 0;
    font-size: 0.875rem;
}
/* /Components/Common/Dashboard/RsvpOverviewCard.razor.rz.scp.css */
.dashboard-card[b-a51y4ebqic] {
    background: #ffffff;
    border: 1px solid var(--wed-beige-dark, #e5bda7);
    border-radius: 0.75rem;
    padding: 1rem;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.dashboard-card:hover[b-a51y4ebqic] {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    border-color: var(--wed-brown-medium, #74583e);
}

.widget-title[b-a51y4ebqic] {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--wed-brown-medium, #74583e);
    letter-spacing: 0.05em;
}

.widget-icon[b-a51y4ebqic] {
    color: var(--wed-brown-medium, #74583e);
}

.voir-tout[b-a51y4ebqic] {
    font-size: 0.75rem;
    color: var(--wed-brown-medium, #74583e);
    text-decoration: none;
}

.voir-tout:hover[b-a51y4ebqic] {
    text-decoration: underline;
}

.rsvp-layout[b-a51y4ebqic] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.rsvp-counts[b-a51y4ebqic] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.rsvp-chart[b-a51y4ebqic] {
    flex-shrink: 0;
    width: 140px;
    height: 140px;
}

.count-row[b-a51y4ebqic] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.count-dot[b-a51y4ebqic] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}

.count-label[b-a51y4ebqic] {
    flex: 1;
    font-size: 0.875rem;
}

.count-value[b-a51y4ebqic] {
    font-size: 1rem;
    font-weight: 600;
    min-width: 2rem;
    text-align: right;
}

.per-event-row[b-a51y4ebqic] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.25rem 0;
    font-size: 0.875rem;
}

.per-event-name[b-a51y4ebqic] {
    font-weight: 500;
}

.per-event-stats[b-a51y4ebqic] {
    white-space: nowrap;
}

.empty-state[b-a51y4ebqic] {
    text-align: center;
    padding: 1.5rem 0;
    color: var(--bs-secondary-color);
}

.empty-state h6[b-a51y4ebqic] {
    color: var(--wed-brown-dark, #3d2b1f);
    margin-bottom: 0.5rem;
}

.empty-state p[b-a51y4ebqic] {
    margin-bottom: 1rem;
    font-size: 0.875rem;
}

@media (max-width: 576px) {
    .rsvp-layout[b-a51y4ebqic] {
        flex-direction: column;
    }

    .rsvp-chart[b-a51y4ebqic] {
        width: 120px;
        height: 120px;
    }
}
/* /Components/Common/Dashboard/UpcomingEventsCard.razor.rz.scp.css */
.dashboard-card[b-rach5lvb78] {
    background: #ffffff;
    border: 1px solid var(--wed-beige-dark, #e5bda7);
    border-radius: 0.75rem;
    padding: 1rem;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.dashboard-card:hover[b-rach5lvb78] {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    border-color: var(--wed-brown-medium, #74583e);
}

.widget-title[b-rach5lvb78] {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--wed-brown-medium, #74583e);
    letter-spacing: 0.05em;
}

.voir-tout[b-rach5lvb78] {
    font-size: 0.75rem;
    color: var(--wed-brown-medium, #74583e);
    text-decoration: none;
}

.voir-tout:hover[b-rach5lvb78] {
    text-decoration: underline;
}

.event-item[b-rach5lvb78] {
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--wed-beige-off, #f8f0e8);
}

.event-item:last-child[b-rach5lvb78] {
    border-bottom: none;
}

.event-title[b-rach5lvb78] {
    font-weight: 600;
    margin-bottom: 0.25rem;
}

.event-date[b-rach5lvb78] {
    font-size: 0.875rem;
    color: var(--bs-secondary-color);
    margin-bottom: 0.25rem;
}

.event-attendance[b-rach5lvb78] {
    font-size: 0.875rem;
}

@media (max-width: 576px) {
    .event-attendance[b-rach5lvb78] {
        display: flex;
        flex-wrap: wrap;
        gap: 0.125rem 0.25rem;
        font-size: 0.8125rem;
    }
}

.empty-state[b-rach5lvb78] {
    text-align: center;
    padding: 1.5rem 0;
    color: var(--bs-secondary-color);
}

.empty-state h6[b-rach5lvb78] {
    color: var(--wed-brown-dark, #3d2b1f);
    margin-bottom: 0.5rem;
}

.empty-state p[b-rach5lvb78] {
    margin-bottom: 1rem;
    font-size: 0.875rem;
}
/* /Components/Common/PageLoader.razor.rz.scp.css */
.wedding-loader-overlay[b-k4vur6wxr9] {
    position: fixed;
    top: 3.5rem;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(255, 240, 245, 0.97) 0%, rgba(255, 250, 250, 0.97) 100%);
    backdrop-filter: blur(8px);
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    /* No fade-in - appear instantly to cover page */
}

.wedding-loader-overlay.fade-out[b-k4vur6wxr9] {
    animation: fadeOut-b-k4vur6wxr9 0.5s ease-in-out forwards;
}

@media (min-width: 992px) {
    .wedding-loader-overlay[b-k4vur6wxr9] {
        left: 280px;
    }
}

@media (max-width: 991.98px) {
    .wedding-loader-overlay[b-k4vur6wxr9] {
        top: 56px;
    }
}

.wedding-loader-content[b-k4vur6wxr9] {
    text-align: center;
    animation: fadeInScale-b-k4vur6wxr9 0.5s ease-out;
}

.wedding-loader-icon[b-k4vur6wxr9] {
    width: 100px;
    height: 100px;
    margin: 0 auto 2rem;
    position: relative;
}

.wedding-loader-icon svg[b-k4vur6wxr9] {
    width: 100%;
    height: 100%;
}

.wedding-loader-ring[b-k4vur6wxr9] {
    fill: none;
    stroke: #d4a574;
    stroke-width: 2;
    stroke-dasharray: 282.7;
    stroke-dashoffset: 0;
    transform-origin: center;
    animation: fillUnfillRing-b-k4vur6wxr9 2.5s ease-in-out infinite;
}

.wedding-loader-heart[b-k4vur6wxr9] {
    fill: #c8a882;
    transform-origin: center;
    animation: heartbeat-b-k4vur6wxr9 2s ease-in-out infinite;
}

.wedding-loader-message[b-k4vur6wxr9] {
    font-size: 1.125rem;
    color: #8b7355;
    font-weight: 500;
    margin: 0;
    letter-spacing: 0.5px;
}

@keyframes fillUnfillRing-b-k4vur6wxr9 {
    0% {
        stroke-dashoffset: 0;
    }

    50% {
        stroke-dashoffset: -282.7;
    }

    100% {
        stroke-dashoffset: -565.4;
    }
}

@keyframes heartbeat-b-k4vur6wxr9 {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.08);
    }
}

@keyframes fadeInScale-b-k4vur6wxr9 {
    from {
        opacity: 0;
        transform: scale(0.8);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes fadeIn-b-k4vur6wxr9 {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes fadeOut-b-k4vur6wxr9 {
    from {
        opacity: 1;
        transform: scale(1);
    }

    to {
        opacity: 0;
    }
}

@keyframes fadeText-b-k4vur6wxr9 {

    0%,
    10% {
        opacity: 1;
    }

    45%,
    55% {
        opacity: 0;
    }

    90%,
    100% {
        opacity: 1;
    }
}
/* /Components/Common/PasswordCriteriaHint.razor.rz.scp.css */
/* Password Criteria Hint — colocated with PasswordCriteriaHint.razor */
.password-criteria-hint[b-bch36l2di6] {
    background: var(--wed-beige-off, #f8f0e8);
    border: 1px solid var(--wed-beige-dark, #e5bda7);
    border-radius: 0.75rem;
    padding: 0.8rem 1rem;
    margin-bottom: 1rem;
    font-size: 0.82rem;
    transition: border-color 0.35s ease, box-shadow 0.35s ease;
}

.password-criteria-hint.all-met[b-bch36l2di6] {
    border-color: var(--wed-green, #26b050);
    box-shadow: 0 0 0 3px rgba(38, 176, 80, 0.12);
}

.password-criteria-hint .criteria-header[b-bch36l2di6] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-weight: 600;
    color: var(--wed-brown-medium, #74583e);
    margin-bottom: 0.5rem;
    font-size: 0.85rem;
}

.password-criteria-hint .criteria-header i[b-bch36l2di6] {
    font-size: 1rem;
}

.password-criteria-hint .criteria-list[b-bch36l2di6] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.25rem 1.2rem;
}

.password-criteria-hint .criteria-list li[b-bch36l2di6] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    color: var(--wed-brown-dark, #3d2b1f);
    line-height: 1.45;
    opacity: 0.55;
    transition: opacity 0.3s ease, color 0.3s ease;
}

/* Criterion icon — default: red X */
.password-criteria-hint .criteria-list li .criteria-icon[b-bch36l2di6] {
    font-size: 0.85rem;
    flex-shrink: 0;
    color: var(--wed-red, #c45a5a);
    transition: color 0.3s ease, transform 0.3s ease;
}

/* Criterion met — green check */
.password-criteria-hint .criteria-list li.met[b-bch36l2di6] {
    opacity: 1;
}

.password-criteria-hint .criteria-list li.met .criteria-icon[b-bch36l2di6] {
    color: var(--wed-green, #26b050);
    transform: scale(1.1);
}

/* Icon swap: X → Check via Bootstrap Icons content code */
.password-criteria-hint .criteria-list li.met .criteria-icon[b-bch36l2di6]::before {
    content: "\f26e";
    /* bi-check-circle-fill */
}

/* Responsive single-column on small screens */
@media (max-width: 480px) {
    .password-criteria-hint .criteria-list[b-bch36l2di6] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Common/ReconnectModal.razor.rz.scp.css */
/* Reconnect Modal Overlay */
.my-reconnect-modal[b-u37ijai0bl] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(255, 247, 238, 0.85);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    z-index: 99999999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Show/Hide States */
.components-reconnect-show[b-u37ijai0bl] {
    opacity: 1;
    pointer-events: auto;
}

.components-reconnect-hide[b-u37ijai0bl] {
    opacity: 0;
    pointer-events: none;
}

/* Content Container */
.reconnect-content[b-u37ijai0bl] {
    display: none;
    max-width: 500px;
    width: 90%;
    animation: slideUp-b-u37ijai0bl 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes slideUp-b-u37ijai0bl {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Card Styling - Enhanced with theme colors */
.reconnect-content .card[b-u37ijai0bl] {
    background: #ffffff;
    border-radius: 1.25rem;
    overflow: hidden;
}

.reconnect-content .card-body[b-u37ijai0bl] {
    background: linear-gradient(135deg, #ffffff 0%, #fff7ee 100%);
}

/* Icon Colors matching theme */
.reconnect-content .text-primary[b-u37ijai0bl] {
    color: #74583e !important;
}

/* Alert customization */
.reconnect-content .alert[b-u37ijai0bl] {
    border-radius: 0.75rem;
    border: none;
}

/* Button enhancements */
.reconnect-content .btn-primary[b-u37ijai0bl] {
    background: linear-gradient(135deg, #74583e 0%, #5c4530 100%);
    border: none;
    border-radius: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.3px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 12px rgba(116, 88, 62, 0.3);
}

.reconnect-content .btn-primary:hover[b-u37ijai0bl] {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(116, 88, 62, 0.4);
}

.reconnect-content .btn-primary:active[b-u37ijai0bl] {
    transform: translateY(0);
}

/* Spinner customization */
.reconnect-content .spinner-border[b-u37ijai0bl] {
    width: 3rem;
    height: 3rem;
    border-width: 0.3rem;
}

/* Content Display Logic */
.my-reconnect-modal.components-reconnect-show:not(.components-reconnect-failed):not(.components-reconnect-rejected) .attempt[b-u37ijai0bl] {
    display: block;
}

.my-reconnect-modal.components-reconnect-failed .failed[b-u37ijai0bl] {
    display: block;
}

.my-reconnect-modal.components-reconnect-rejected .rejected[b-u37ijai0bl] {
    display: block;
}
/* /Components/Common/ScheduleEventCard.razor.rz.scp.css */
/* Event Card */
.event-card[b-axf905kljy] {
    position: relative;
    background: white;
    border: 1px solid #e5bda7;
    border-radius: 8px;
    padding: 1.5rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    width: 100%;
}

.event-card.clickable[b-axf905kljy] {
    cursor: pointer;
}

.event-card:hover[b-axf905kljy] {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    border-color: var(--wed-brown-medium);
}

/* Current Event */
.event-card.current[b-axf905kljy] {
    border-color: #198754;
    border-width: 3px;
    background: linear-gradient(135deg, #f0fff4 0%, white 100%);
    box-shadow: 0 4px 16px rgba(25, 135, 84, 0.2);
}

@keyframes pulse-b-axf905kljy {

    0%,
    100% {
        box-shadow: 0 0 0 2px white, 0 0 0 4px rgba(25, 135, 84, 0.3);
    }

    50% {
        box-shadow: 0 0 0 2px white, 0 0 0 8px rgba(25, 135, 84, 0.15);
    }
}

/* Past Event */
.event-card.past[b-axf905kljy] {
    opacity: 0.65;
    border-color: #dee2e6;
    background: #f8f9fa;
}

/* Upcoming Event */
.event-card.upcoming[b-axf905kljy] {
    border-color: #ffc107;
    border-width: 3px;
    background: linear-gradient(135deg, #fffbf0 0%, white 100%);
    box-shadow: 0 4px 16px rgba(255, 193, 7, 0.2);
}

/* Seating Plan Event */
.event-card.seating-plan[b-axf905kljy] {
    border-left-color: var(--wed-brown-medium);
    border-left-width: 3px;
    border-left-style: solid;
}


@keyframes blink-b-axf905kljy {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.5;
    }
}

/* Event Content */
.event-content[b-axf905kljy] {
    position: relative;
}

.event-header[b-axf905kljy] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.75rem;
}

.event-time[b-axf905kljy] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--wed-brown-medium);
    display: flex;
    align-items: center;
}

/* Actions (3-dot menu) — pinned top-right of card */
.event-actions[b-axf905kljy] {
    position: absolute;
    top: 0.25rem;
    right: 0.25rem;
    z-index: 1;
}

.event-actions[b-axf905kljy]  .btn-icon-only .e-btn-content {
    padding: 0;
}

.event-actions[b-axf905kljy]  .btn-icon-only .e-btn-icon {
    margin-left: 0 !important;
}

.event-actions[b-axf905kljy]  .btn-icon-only .e-caret {
    display: none !important;
}

.event-actions[b-axf905kljy]  .e-dropdown-btn {
    border: none;
    background: transparent;
    padding: 0.25rem 0.5rem;
    min-width: auto;
    color: var(--bs-gray-800);
}

.event-actions[b-axf905kljy]  .e-dropdown-btn:hover {
    background: rgba(0, 0, 0, 0.05);
    border-radius: 4px;
}

.event-actions[b-axf905kljy]  .e-dropdown-btn:focus,
.event-actions[b-axf905kljy]  .e-dropdown-btn:active {
    background: rgba(0, 0, 0, 0.1);
    box-shadow: none;
}

.event-title[b-axf905kljy] {
    font-size: 1.25rem;
    font-weight: 600;
    color: #212529;
    margin: 0 0 1rem 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.4;
}

.event-details[b-axf905kljy] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.event-detail-item[b-axf905kljy] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    color: #6c757d;
}

.event-detail-item i[b-axf905kljy] {
    font-size: 1rem;
}

.event-invite-row[b-axf905kljy] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.5rem;
}

.event-invited-badge[b-axf905kljy] {
    font-size: 0.8rem;
    color: var(--bs-secondary);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
}

.event-invited-badge:hover[b-axf905kljy] {
    color: var(--bs-primary);
    text-decoration: underline;
}

.event-all-guests-badge[b-axf905kljy] {
    background-color: var(--wed-beige-off);
    color: var(--wed-brown-medium);
    border: 1px solid var(--wed-beige-dark);
}

.event-group-badge[b-axf905kljy] {
    margin-top: 0.5rem;
}

.event-all-guests-badge[b-axf905kljy] {
    background-color: var(--wed-beige-off);
    color: var(--wed-brown-medium);
    border: 1px solid var(--wed-beige-dark);
}

.event-message-action[b-axf905kljy] {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #e9ecef;
}

/* Responsive Design - Mobile Adjustments */
@media (max-width: 576px) {
    .event-header[b-axf905kljy] {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }

    .event-card[b-axf905kljy] {
        padding: 1rem;
    }

    .event-title[b-axf905kljy] {
        font-size: 1.1rem;
    }
}

/* Print Styles */
@media print {

    .event-actions[b-axf905kljy],
    .btn[b-axf905kljy] {
        display: none !important;
    }

    .event-card[b-axf905kljy] {
        page-break-inside: avoid;
        box-shadow: none;
        border: 1px solid #dee2e6;
    }
}
/* /Components/Common/WedButtonGroup.razor.rz.scp.css */
/* WedButtonGroup: Responsive button toolbar component */

.wed-button-group-container[b-apojreljcz] {
    margin-bottom: 1.25rem;
    width: 100%;
    /* Ensures the container has width for JS calculations */
}

/* btn-group handles layout for visible and overflow containers */

/* Prevent text wrapping inside buttons */
[b-apojreljcz] .btn {
    white-space: nowrap;
}

/* Ensure the button group itself doesn't wrap */
[b-apojreljcz] .btn-group {
    flex-wrap: nowrap;
}

/* Dropdown menu styling - global styles for JS elements */
.wed-button-group-overflow .dropdown-menu[b-apojreljcz] {
    min-width: 200px;
    display: none;
    padding: 0.5rem 0;
    background-color: #fff;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 0.375rem;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

.wed-button-group-overflow .dropdown-menu.show[b-apojreljcz] {
    display: block;
}

/* Use ::deep for elements dynamically created by JS */
.wed-button-group-overflow[b-apojreljcz]  .dropdown-menu .dropdown-item {
    cursor: pointer;
    display: block;
    width: 100%;
    clear: both;
    font-weight: 400;
    color: #212529;
    text-align: inherit;
    text-decoration: none;
    white-space: nowrap;
    background-color: transparent;
    border: 0;
}

.wed-button-group-overflow[b-apojreljcz]  .dropdown-menu .dropdown-item:hover,
.wed-button-group-overflow[b-apojreljcz]  .dropdown-menu .dropdown-item:focus {
    background-color: #e9ecef;
    color: #1e2125;
}

.wed-button-group-overflow[b-apojreljcz]  .dropdown-menu .dropdown-item i {
    margin-right: 0.5rem;
    width: 1rem;
    text-align: center;
}

/* Hamburger button icon adjustment */
:global(.wed-button-group-overflow .btn i)[b-apojreljcz] {
    margin-right: 0;
}
/* /Components/Common/WedEmojiPickerToolbarItem.razor.rz.scp.css */
.wed-emoji-picker-wrapper[b-a1b3bd8plc] {
    position: relative;
    display: inline-block;
}

[b-a1b3bd8plc] .wed-emoji-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 10000;
    display: none;
}

[b-a1b3bd8plc] .wed-emoji-backdrop.open {
    display: block;
}

.wed-emoji-popover[b-a1b3bd8plc] {
    position: fixed;
    z-index: 10001;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
    overflow: hidden;
    display: none;
}

.wed-emoji-popover.open[b-a1b3bd8plc] {
    display: block;
}
/* /Components/Common/WedInfoTip.razor.rz.scp.css */
.wed-infotip[b-i0czrdjnep] {
    display: inline-flex;
    align-items: center;
}

/* Force the SfTooltip internal wrapper to stay inline */
.wed-infotip[b-i0czrdjnep]  div {
    display: inline-flex !important;
    align-items: center;
}

/* Hide the tooltip content until Syncfusion JS initializes it */
.wed-infotip[b-i0czrdjnep]  .e-tooltip-wrap {
    display: none !important;
}

.wed-infotip-icon[b-i0czrdjnep] {
    cursor: help;
    font-size: 1.15em;
    color: #9e9e9e;
    opacity: 0.75;
    transition: opacity 0.2s ease;
    margin-left: 0.25rem;
    line-height: 1;
}

.wed-infotip-icon:hover[b-i0czrdjnep],
.wed-infotip-icon:focus-visible[b-i0czrdjnep] {
    opacity: 1;
}
/* /Components/Common/WedInheritedField.razor.rz.scp.css */
.inherited-hint[b-6yue48f1v4] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    margin-top: 0.25rem;
    font-size: 0.75rem;
    color: var(--bs-secondary);
}
/* /Components/Common/WedLightbox.razor.rz.scp.css */
/* Lightbox overlay */
.wed-lightbox[b-gn2kq4sf47] {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(0, 0, 0, 0.92);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    backdrop-filter: blur(8px);
    outline: none;
}

.wed-lightbox.active[b-gn2kq4sf47] {
    opacity: 1;
    visibility: visible;
    touch-action: none;
}

/* Content container */
.wed-lightbox-content[b-gn2kq4sf47] {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 75vw;
    max-height: 90vh;
    padding: 1rem;
    outline: none;
}

/* === Image === */
.wed-lightbox-image[b-gn2kq4sf47] {
    max-width: 100%;
    max-height: 80vh;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 8px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
    animation: wedLightboxZoomIn-b-gn2kq4sf47 0.3s ease;
}

/* === Video === */
.wed-lightbox-video[b-gn2kq4sf47] {
    max-width: 100%;
    max-height: 80vh;
    width: auto;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
    animation: wedLightboxZoomIn-b-gn2kq4sf47 0.3s ease;
}

/* === Audio === */
.wed-lightbox-audio-wrapper[b-gn2kq4sf47] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
    padding: 3rem 4rem;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-radius: 16px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
    min-width: 320px;
    animation: wedLightboxZoomIn-b-gn2kq4sf47 0.3s ease;
}

.wed-lightbox-audio-icon[b-gn2kq4sf47] {
    font-size: 4rem;
    color: rgba(255, 255, 255, 0.9);
    animation: wedAudioPulse-b-gn2kq4sf47 2s ease-in-out infinite;
}

.wed-lightbox-audio[b-gn2kq4sf47] {
    width: 100%;
    min-width: 280px;
}

@keyframes wedAudioPulse-b-gn2kq4sf47 {
    0%, 100% { transform: scale(1); opacity: 0.9; }
    50% { transform: scale(1.08); opacity: 1; }
}

/* === Animations === */
@keyframes wedLightboxZoomIn-b-gn2kq4sf47 {
    from {
        transform: scale(0.9);
        opacity: 0;
    }
    to {
        transform: scale(1);
        opacity: 1;
    }
}

@keyframes wedImagePop-b-gn2kq4sf47 {
    from {
        transform: scale(0.97);
        opacity: 0.6;
    }
    to {
        transform: scale(1);
        opacity: 1;
    }
}

.wed-lightbox-image.slide-left[b-gn2kq4sf47],
.wed-lightbox-image.slide-right[b-gn2kq4sf47],
.wed-lightbox-video.slide-left[b-gn2kq4sf47],
.wed-lightbox-video.slide-right[b-gn2kq4sf47],
.wed-lightbox-audio-wrapper.slide-left[b-gn2kq4sf47],
.wed-lightbox-audio-wrapper.slide-right[b-gn2kq4sf47] {
    animation: wedImagePop-b-gn2kq4sf47 0.2s ease-out;
}

/* Close button — fixed top-right of viewport */
.wed-lightbox-close[b-gn2kq4sf47] {
    position: fixed;
    top: 1.5rem;
    right: 1.5rem;
    z-index: 10001;
    background: rgba(255, 255, 255, 0.1);
    border: none;
    color: white;
    font-size: 1.5rem;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 0.8;
    transition: all 0.2s ease;
}

.wed-lightbox-close:hover[b-gn2kq4sf47] {
    opacity: 1;
    background: rgba(255, 255, 255, 0.2);
    transform: scale(1.1);
}

/* Navigation arrows — fixed to viewport edges */
.wed-lightbox-nav[b-gn2kq4sf47] {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10001;
    background: rgba(255, 255, 255, 0.08);
    border: none;
    color: white;
    font-size: 1.75rem;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 0.7;
    transition: all 0.2s ease;
}

.wed-lightbox-nav:hover[b-gn2kq4sf47] {
    opacity: 1;
    background: rgba(255, 255, 255, 0.18);
    transform: translateY(-50%) scale(1.1);
}

.wed-lightbox-nav.prev[b-gn2kq4sf47] {
    left: 1.5rem;
}

.wed-lightbox-nav.next[b-gn2kq4sf47] {
    right: 1.5rem;
}

/* Info bar below the media */
.wed-lightbox-info[b-gn2kq4sf47] {
    text-align: center;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.875rem;
    padding-top: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

/* Mobile adjustments */
@media (max-width: 576px) {
    .wed-lightbox-content[b-gn2kq4sf47] {
        max-width: 95vw;
        padding: 0.5rem;
    }

    .wed-lightbox-image[b-gn2kq4sf47] {
        max-width: 100%;
        max-height: 85vh;
        border-radius: 4px;
    }

    .wed-lightbox-video[b-gn2kq4sf47] {
        max-width: 100%;
        max-height: 85vh;
        border-radius: 4px;
    }

    .wed-lightbox-audio-wrapper[b-gn2kq4sf47] {
        min-width: auto;
        width: 90vw;
        padding: 2rem;
    }

    .wed-lightbox-close[b-gn2kq4sf47] {
        top: 0.75rem;
        right: 0.75rem;
        width: 36px;
        height: 36px;
        font-size: 1.25rem;
    }

    .wed-lightbox-nav[b-gn2kq4sf47] {
        width: 40px;
        height: 40px;
        font-size: 1.25rem;
    }

    .wed-lightbox-nav.prev[b-gn2kq4sf47] {
        left: 2rem;
    }

    .wed-lightbox-nav.next[b-gn2kq4sf47] {
        right: 2rem;
    }
}
/* /Components/Layout/AppLayout.razor.rz.scp.css */
.main-wrapper[b-2iewnpd7ua] {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.top-row[b-2iewnpd7ua] {
    background-color: #fff;
    border-bottom: 1px solid var(--bs-border-color);
    justify-content: space-between;
    height: 3.5rem;
    display: flex;
    align-items: center;
    position: sticky;
    top: 0;
    z-index: 1020;
}

/* Sidebar toggle button in top-row */
.sidebar-toggle-btn[b-2iewnpd7ua] {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: transparent;
    border: 1px solid transparent;
    color: #6c757d;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    flex-shrink: 0;
    margin-left: -15px;
}

.sidebar-toggle-btn:hover[b-2iewnpd7ua] {
    background: rgba(61, 43, 31, 0.08);
    border-color: rgba(61, 43, 31, 0.12);
    color: #3d2b1f;
}

.sidebar-toggle-btn:active[b-2iewnpd7ua] {
    background: rgba(61, 43, 31, 0.12);
    transform: scale(0.95);
}

.sidebar-toggle-btn .bi[b-2iewnpd7ua] {
    font-size: 1.25rem;
}

.top-row[b-2iewnpd7ua]  a:not(.breadcrumb-link),
.top-row[b-2iewnpd7ua]  .btn-link {
    white-space: nowrap;
    margin-left: 1.5rem;
    text-decoration: none;
    color: var(--bs-body-color);
}

.top-row[b-2iewnpd7ua]  a:hover,
.top-row[b-2iewnpd7ua]  .btn-link:hover {
    text-decoration: underline;
    color: var(--bs-link-color);
}

.top-row[b-2iewnpd7ua]  a:first-child {
    overflow: hidden;
    text-overflow: ellipsis;
}

.content[b-2iewnpd7ua] {
    flex: 1;
    padding: 1.5rem 1rem;
    min-height: calc(100vh - 3.5rem);
    /* Desktop: only top-row (56px) */
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
}

.content.content-full[b-2iewnpd7ua] {
    padding: 0 !important;
    display: flex;
    flex-direction: column;
}

/* Mobile styles */
@media (max-width: 991.98px) {
    .main-content[b-2iewnpd7ua] {
        /* Design token: mobile navbar height — single source of truth */
        --mobile-navbar-height: 64px;
        padding-top: var(--mobile-navbar-height);
        height: 100dvh;
        display: flex;
        flex-direction: column;
    }

    .content[b-2iewnpd7ua] {
        min-height: calc(100dvh - var(--mobile-navbar-height));
        /* Mobile: navbar (76px with page title), no top-row */
        padding: 1rem 1.25rem;
    }

    .content.content-full[b-2iewnpd7ua] {
        padding: 0 !important;
    }

    .content.content-fixed-height[b-2iewnpd7ua] {
        height: calc(100dvh - var(--mobile-navbar-height));
        max-height: calc(100dvh - var(--mobile-navbar-height));
        min-height: 0 !important;
        overflow: hidden;
        display: flex;
        flex-direction: column;
    }
}

/* Desktop styles */
@media (min-width: 992px) {
    .main-content[b-2iewnpd7ua] {
        margin-left: 280px;
        /* Width of the desktop sidebar */
        transition: margin-left 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .main-content.sidebar-collapsed[b-2iewnpd7ua] {
        margin-left: 72px !important;
    }

    .top-row[b-2iewnpd7ua] {
        margin-left: 0;
    }

    .top-row.auth[b-2iewnpd7ua]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .content[b-2iewnpd7ua] {
        padding: 2rem;
    }

    .content.content-full[b-2iewnpd7ua] {
        padding: 0 !important;
    }

    .content.content-fixed-height[b-2iewnpd7ua] {
        height: calc(100vh - 3.5rem);
        max-height: calc(100vh - 3.5rem);
        min-height: 0 !important;
        overflow: hidden;
        display: flex;
        flex-direction: column;
    }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* Styles moved to AppLayout.razor.css */
/* /Components/Layout/NavGroup.razor.rz.scp.css */
/* ===========================================
   NAV GROUP STYLES (structure only)
   Colors and padding are set by parent NavMenu.razor.css with ::deep
   =========================================== */
.nav-group[b-vjhairchfv] {
    margin-top: 0.25rem;
}

.nav-group-header[b-vjhairchfv] {
    font-size: 0.7rem;
    letter-spacing: 0.05em;
    white-space: nowrap;
    overflow: hidden;
    display: flex;
    align-items: center;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    background: none;
    border: none;
    cursor: pointer;
    transition: opacity 0.2s ease;
}

.nav-group-header:hover[b-vjhairchfv] {
    opacity: 0.85;
}

.nav-group-header .bi[b-vjhairchfv] {
    font-size: 1rem;
    width: 1.25rem;
    min-width: 1.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* Chevron indicator */
.nav-group-chevron[b-vjhairchfv] {
    font-size: 0.6rem !important;
    width: auto !important;
    min-width: auto !important;
    opacity: 0.5;
    transition: opacity 0.2s ease;
    margin-right: 0.25rem;
}

.nav-group-header:hover .nav-group-chevron[b-vjhairchfv] {
    opacity: 0.8;
}

/* Collapsible group items container */
.nav-group-items[b-vjhairchfv] {
    overflow: hidden;
    transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1),
        opacity 0.25s ease;
}

.nav-group-expanded[b-vjhairchfv] {
    max-height: 500px;
    /* large enough for any reasonable content */
    opacity: 1;
}

.nav-group-collapsed[b-vjhairchfv] {
    max-height: 0;
    opacity: 0;
    pointer-events: none;
}

/* When collapsed but contains the active page, reveal only the active item */
.nav-group-collapsed:has(.active)[b-vjhairchfv] {
    max-height: 500px;
    opacity: 1;
    pointer-events: auto;
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.nav[b-as41x5ugk0]  .nav-link {
    --bs-nav-link-color: var(--bs-light);
}

.nav[b-as41x5ugk0]  .nav-link:focus {
    --bs-nav-link-hover-color: var(--bs-light);
}

.nav[b-as41x5ugk0]  .nav-link:hover {
    --bs-nav-link-hover-color: var(--bs-secondary);
}

.nav[b-as41x5ugk0]  .nav-link.active:hover {
    --bs-nav-link-hover-color: var(--bs-primary);
}

.nav[b-as41x5ugk0]  .nav-link.active {
    background-color: var(--bs-secondary);
}

/* ===========================================
   SHARED NAV STYLES
   (Base styles in NavMenuItems.razor.css)
   =========================================== */

/* Icon sizing override - ensure consistency across both containers */
[b-as41x5ugk0] .nav .bi:not(.nav-group-chevron) {
    font-size: 1rem !important;
    width: 1.25rem !important;
    min-width: 1.25rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}

[b-as41x5ugk0] .nav-group-collapsed:has(.active)>.nav-item:not(:has(.active)) {
    display: none;
}

/* Hide nav sections where the group has no visible child items */
[b-as41x5ugk0] .nav-section:not(:has(.nav-item)) {
    display: none;
}

/* ===========================================
   PREMIUM SCROLLBAR STYLES
   =========================================== */
.scrollable-nav[b-as41x5ugk0] {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
    /* Smooth scrolling */
    scroll-behavior: smooth;
    /* ALWAYS visible scrollbar */
    scrollbar-width: thin;
    scrollbar-color: rgba(195, 161, 132, 0.6) rgba(0, 0, 0, 0.2);
}

.scrollable-nav:hover[b-as41x5ugk0] {
    scrollbar-color: var(--bs-secondary) rgba(0, 0, 0, 0.3);
}

/* Webkit scrollbar styling - ALWAYS visible */
.scrollable-nav[b-as41x5ugk0]::-webkit-scrollbar {
    width: 8px;
}

.scrollable-nav[b-as41x5ugk0]::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 4px;
}

.scrollable-nav[b-as41x5ugk0]::-webkit-scrollbar-thumb {
    background: rgba(195, 161, 132, 0.6);
    border-radius: 4px;
    border: 1px solid rgba(0, 0, 0, 0.2);
}

.scrollable-nav[b-as41x5ugk0]::-webkit-scrollbar-thumb:hover {
    background: var(--bs-secondary);
}

/* ===========================================
   SIDEBAR FOOTER
   =========================================== */
.sidebar-footer[b-as41x5ugk0] {
    padding: 1rem;
    text-align: center;
    font-size: 0.75rem;
    color: rgba(255, 247, 238, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    border-top: 1px solid rgba(116, 88, 62, 0.3);
    background: linear-gradient(to top, rgba(0, 0, 0, 0.1), transparent);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.sidebar-footer .footer-version[b-as41x5ugk0] {
    width: 100%;
    font-size: 0.7rem;
    opacity: 0.65;
    letter-spacing: 0.03em;
}

.sidebar-footer .bi[b-as41x5ugk0] {
    font-size: 0.75rem;
    opacity: 0.7;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.sidebar-footer:hover .bi[b-as41x5ugk0] {
    opacity: 1;
    transform: scale(1.2);
    color: #e74c3c;
}

.sidebar-footer .footer-text[b-as41x5ugk0] {
    transition: opacity 0.3s ease;
}

.sidebar-footer a[b-as41x5ugk0] {
    transition: color 0.2s ease;
}

.sidebar-footer a:hover[b-as41x5ugk0] {
    color: var(--bs-secondary) !important;
}

/* ===========================================
   MOBILE STYLES
   =========================================== */
.navbar[b-as41x5ugk0] {
    background: linear-gradient(135deg, var(--bs-dark) 0%, #2a1f17 100%) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(10px);
}

.navbar-brand[b-as41x5ugk0] {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--bs-light) !important;
}

.navbar-toggler[b-as41x5ugk0] {
    border: 1px solid rgba(255, 247, 238, 0.3);
    padding: 0.5rem;
    transition: all 0.2s ease;
}

.navbar-toggler:hover[b-as41x5ugk0] {
    border-color: var(--bs-secondary);
    background: rgba(195, 161, 132, 0.1);
}

.navbar-toggler:focus[b-as41x5ugk0] {
    box-shadow: 0 0 0 0.2rem rgba(195, 161, 132, 0.25);
}

.navbar-toggler-icon[b-as41x5ugk0] {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23fff7ee' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

/* Mobile page title subtitle */
.mobile-page-title[b-as41x5ugk0] {
    font-size: 0.7rem;
    font-weight: 400;
    color: rgba(255, 247, 238, 0.55);
    letter-spacing: 0.02em;
    line-height: 1.2;
    margin-top: 1px;
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ===========================================
   MOBILE USER SECTION (hamburger menu)
   =========================================== */
.mobile-user-section[b-as41x5ugk0] {
    border-top: 1px solid rgba(116, 88, 62, 0.3);
    padding: 0.75rem 1rem;
    margin-top: 0.5rem;
}

.mobile-user-email[b-as41x5ugk0] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: rgba(255, 247, 238, 0.7);
    font-size: 0.8rem;
    padding-bottom: 0.5rem;
    margin-bottom: 0.5rem;
}

.mobile-user-email .bi[b-as41x5ugk0] {
    font-size: 1.1rem;
    opacity: 0.8;
}

.mobile-user-actions[b-as41x5ugk0] {
    display: flex;
    gap: 0.5rem;
}

.mobile-user-actions form[b-as41x5ugk0] {
    flex: 1;
}

.mobile-user-btn[b-as41x5ugk0] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.4rem 0.75rem;
    border-radius: 8px;
    font-size: 0.78rem;
    font-weight: 500;
    text-decoration: none;
    color: rgba(255, 247, 238, 0.85);
    background: rgba(195, 161, 132, 0.1);
    border: 1px solid rgba(116, 88, 62, 0.25);
    cursor: pointer;
    transition: all 0.2s ease;
}

.mobile-user-btn:hover[b-as41x5ugk0] {
    background: rgba(195, 161, 132, 0.2);
    border-color: rgba(195, 161, 132, 0.4);
    color: #fff7ee;
}

.mobile-user-btn-logout[b-as41x5ugk0] {
    color: rgba(231, 76, 60, 0.85);
    background: rgba(231, 76, 60, 0.08);
    border-color: rgba(231, 76, 60, 0.2);
    width: 100%;
}

.mobile-user-btn-logout:hover[b-as41x5ugk0] {
    background: rgba(231, 76, 60, 0.15);
    border-color: rgba(231, 76, 60, 0.35);
    color: #e74c3c;
}

/* Mobile offcanvas sidebar */
.offcanvas[b-as41x5ugk0] {
    width: 280px;
    background: linear-gradient(180deg, var(--bs-dark) 0%, #2a1f17 100%) !important;
    border-right: 1px solid rgba(116, 88, 62, 0.3);
}

.offcanvas .nav-link[b-as41x5ugk0] {
    border-radius: 10px;
    margin-bottom: 4px;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    color: var(--bs-light) !important;
    position: relative;
    overflow: hidden;
}

.offcanvas .nav-link[b-as41x5ugk0]::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%) scaleY(0);
    width: 3px;
    height: 60%;
    background: var(--bs-secondary);
    border-radius: 0 3px 3px 0;
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.offcanvas .nav-link:hover[b-as41x5ugk0] {
    background: linear-gradient(90deg, rgba(195, 161, 132, 0.15) 0%, transparent 100%) !important;
    color: var(--bs-light) !important;
    padding-left: calc(1rem + 4px) !important;
}

.offcanvas .nav-link:hover[b-as41x5ugk0]::before {
    transform: translateY(-50%) scaleY(1);
}

.offcanvas .nav-link.active[b-as41x5ugk0] {
    background: linear-gradient(90deg, var(--bs-secondary) 0%, rgba(195, 161, 132, 0.6) 100%) !important;
    color: var(--bs-dark) !important;
    font-weight: 600;
    box-shadow: 0 2px 10px rgba(195, 161, 132, 0.3);
}

.offcanvas .nav-link.active[b-as41x5ugk0]::before {
    transform: translateY(-50%) scaleY(1);
    background: var(--bs-dark);
}

.offcanvas[b-as41x5ugk0]  .nav-group-header {
    color: var(--bs-info) !important;
    padding-left: 1rem;
    padding-right: 1rem;
}

.offcanvas[b-as41x5ugk0]  .nav-group-header .bi:not(.nav-group-chevron) {
    color: var(--bs-info) !important;
}

.offcanvas[b-as41x5ugk0]  .nav-group-header .nav-text {
    color: var(--bs-info) !important;
}

/* Mobile nav-link padding */
.offcanvas[b-as41x5ugk0]  .nav-link-padding {
    padding-left: 1rem;
    padding-right: 1rem;
}

/* Mobile sub-items indent: align with text after icon */
.offcanvas .nav-group .nav-item .nav-link[b-as41x5ugk0] {
    padding-left: calc(1rem + 1.25rem + 1rem) !important;
}

/* ===========================================
   DESKTOP STYLES
   =========================================== */
.sidebar-desktop[b-as41x5ugk0] {
    width: 280px;
    height: 100vh;
    max-height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    background: linear-gradient(180deg, var(--bs-dark) 0%, #2a1f17 50%, #1f1610 100%);
    border-right: 1px solid rgba(116, 88, 62, 0.3);
    box-shadow: 4px 0 20px rgba(0, 0, 0, 0.2);
    transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
}

/* Collapsed state */
.sidebar-desktop.collapsed[b-as41x5ugk0] {
    width: 72px;
}

/* Hide text properly without breaking layout */
.sidebar-desktop.collapsed .sidebar-title[b-as41x5ugk0] {
    display: none;
}

.sidebar-desktop.collapsed[b-as41x5ugk0]  .nav-text {
    display: none;
}

.sidebar-desktop.collapsed[b-as41x5ugk0]  .nav-group-header .nav-text {
    display: none;
}

.sidebar-desktop.collapsed .footer-text[b-as41x5ugk0] {
    display: none;
}

.sidebar-desktop.collapsed .sidebar-header a[b-as41x5ugk0] {
    justify-content: center;
}

.sidebar-desktop.collapsed .sidebar-logo[b-as41x5ugk0] {
    margin-right: 0 !important;
}

.sidebar-desktop.collapsed[b-as41x5ugk0]  .nav-link {
    justify-content: center;
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
    min-height: 40px !important;
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
    /* Match expanded height for consistent icon positioning */
}

.sidebar-desktop.collapsed[b-as41x5ugk0]  .nav-link .bi {
    margin-right: 0 !important;
}

.sidebar-desktop.collapsed[b-as41x5ugk0]  .nav-group-header {
    justify-content: center;
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
    height: auto;
    min-height: 32px;
}

.sidebar-desktop.collapsed[b-as41x5ugk0]  .nav-group-header .bi {
    margin-right: 0 !important;
}

/* Collapsed group buttons - styled like nav links */
.sidebar-desktop.collapsed[b-as41x5ugk0]  .nav-group-collapsed-btn {
    background: none;
    border: none;
    width: 100%;
    cursor: pointer;
    color: rgba(255, 247, 238, 0.85);
    padding: 0.5rem 1rem;
    display: flex;
    justify-content: center;
}

.sidebar-desktop.collapsed[b-as41x5ugk0]  .nav-group-collapsed-btn .bi {
    font-size: 1rem;
    margin-right: 0 !important;
}

.sidebar-desktop.collapsed[b-as41x5ugk0]  .nav-group-collapsed-btn:hover {
    background: rgba(195, 161, 132, 0.15);
    color: #fff7ee;
}

.sidebar-desktop.collapsed .sidebar-footer[b-as41x5ugk0] {
    display: none;
}

/* Sidebar header */
.sidebar-header[b-as41x5ugk0] {
    height: 3.5rem;
    display: flex;
    align-items: center;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid rgba(116, 88, 62, 0.3);
    background: rgba(0, 0, 0, 0.15);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.sidebar-desktop.collapsed .sidebar-header[b-as41x5ugk0] {
    justify-content: center;
    padding: 0.75rem 0;
}

.sidebar-logo[b-as41x5ugk0] {
    height: 40px;
    width: 40px;
    margin-right: 12px;
    flex-shrink: 0;
    transition: margin 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.sidebar-desktop.collapsed .sidebar-logo[b-as41x5ugk0] {
    margin-right: 0;
}

.sidebar-title[b-as41x5ugk0] {
    transition: opacity 0.2s ease;
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Desktop nav-link padding */
.sidebar-desktop .nav-link[b-as41x5ugk0] {
    border-radius: 10px;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    text-decoration: none;
    color: var(--bs-light) !important;
    white-space: nowrap;
    overflow: hidden;
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
    position: relative;
}

.sidebar-desktop .nav-link[b-as41x5ugk0]::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%) scaleY(0);
    width: 3px;
    height: 60%;
    background: var(--bs-secondary);
    border-radius: 0 3px 3px 0;
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Nav text base styles - prevent wrapping during sidebar transition */
.sidebar-desktop[b-as41x5ugk0]  .nav-text {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: opacity 0.15s ease;
}

/* Desktop group header - SAME padding as nav-link */
.sidebar-desktop[b-as41x5ugk0]  .nav-group-header {
    color: var(--bs-info) !important;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    transition: all 0.3s ease;
}

.sidebar-desktop[b-as41x5ugk0]  .nav-group-header .bi:not(.nav-group-chevron) {
    color: var(--bs-info) !important;
    transition: margin 0.3s ease;
}

.sidebar-desktop[b-as41x5ugk0]  .nav-group-header .nav-text {
    color: var(--bs-info) !important;
    transition: opacity 0.2s ease, width 0.3s ease;
}

/* Desktop nav-link-padding override */
.sidebar-desktop[b-as41x5ugk0]  .nav-link-padding {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}

/* Desktop sub-items indent: align with text after icon */
.sidebar-desktop .nav-group .nav-item .nav-link[b-as41x5ugk0] {
    padding-left: calc(0.75rem + 1.25rem + 1rem) !important;
}

.sidebar-desktop.collapsed .nav-group .nav-item .nav-link[b-as41x5ugk0] {
    padding-left: 0 !important;
}

.sidebar-desktop .nav-link:hover[b-as41x5ugk0] {
    background: linear-gradient(90deg, rgba(195, 161, 132, 0.15) 0%, transparent 100%) !important;
    color: var(--bs-light) !important;
}

.sidebar-desktop .nav-link:hover[b-as41x5ugk0]::before {
    transform: translateY(-50%) scaleY(1);
}

.sidebar-desktop .nav-link.active[b-as41x5ugk0] {
    background: linear-gradient(90deg, var(--bs-secondary) 0%, rgba(195, 161, 132, 0.6) 100%) !important;
    color: var(--bs-dark) !important;
    font-weight: 600;
    box-shadow: 0 2px 10px rgba(195, 161, 132, 0.3);
}

.sidebar-desktop .nav-link.active[b-as41x5ugk0]::before {
    transform: translateY(-50%) scaleY(1);
    background: var(--bs-dark);
}

/* ===========================================
   RESPONSIVE BEHAVIOR
   =========================================== */
@media (min-width: 992px) {

    /* Hide mobile navbar on desktop */
    .navbar.fixed-top[b-as41x5ugk0] {
        display: none !important;
    }

    /* Ensure offcanvas is hidden on desktop */
    .offcanvas[b-as41x5ugk0] {
        display: none !important;
    }

    /* Show desktop sidebar */
    .sidebar-desktop[b-as41x5ugk0] {
        display: flex !important;
    }
}

@media (max-width: 991.98px) {

    /* Hide desktop sidebar on mobile */
    .sidebar-desktop[b-as41x5ugk0] {
        display: none !important;
    }
}
/* /Components/Layout/UnauthorizedLayout.razor.rz.scp.css */
/* UnauthorizedLayout - Modern Authentication Layout */
.unauthorized-layout[b-kjubf9762f] {
    min-height: 100vh;
    background: linear-gradient(135deg, var(--bs-body-bg) 0%, #ffecd4 50%, #f5d6c6 100%);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2rem 1rem;
}

.auth-container[b-kjubf9762f] {
    width: 100%;
    max-width: 480px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
}

.auth-header[b-kjubf9762f] {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
}

.auth-logo[b-kjubf9762f] {
    width: 80px;
    height: 80px;
    filter: drop-shadow(0 4px 12px rgba(var(--bs-primary-rgb), 0.2));
    transition: transform 0.3s ease;
}

.auth-logo:hover[b-kjubf9762f] {
    transform: scale(1.05);
}

.auth-title[b-kjubf9762f] {
    font-size: 1.75rem;
    font-weight: 600;
    color: var(--bs-primary);
    margin: 0;
    letter-spacing: 0.5px;
}

.auth-card[b-kjubf9762f] {
    background: white;
    border-radius: 16px;
    box-shadow: 0 8px 32px rgba(var(--bs-primary-rgb), 0.12),
        0 2px 8px rgba(var(--bs-primary-rgb), 0.08);
    padding: 2rem;
    width: 100%;
    transition: box-shadow 0.3s ease;
}

.auth-card:hover[b-kjubf9762f] {
    box-shadow: 0 12px 40px rgba(var(--bs-primary-rgb), 0.15),
        0 4px 12px rgba(var(--bs-primary-rgb), 0.1);
}

/* Override default h1, h2 styling within the card */
.auth-card[b-kjubf9762f]  h1 {
    font-size: 1.5rem;
    color: var(--bs-primary);
    margin-bottom: 0.5rem;
    font-weight: 600;
}

.auth-card[b-kjubf9762f]  h2 {
    font-size: 1rem;
    color: #8b7355;
    margin-bottom: 1.5rem;
    font-weight: 400;
}

.auth-card[b-kjubf9762f]  hr {
    border: none;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--bs-secondary), transparent);
    margin: 1rem 0;
}

/* Form styling */
.auth-card[b-kjubf9762f]  .form-floating {
    margin-bottom: 1rem;
}

.auth-card[b-kjubf9762f]  .form-floating>.form-control {
    border: 1px solid #e0d5cc;
    border-radius: 10px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.auth-card[b-kjubf9762f]  .form-floating>.form-control:focus {
    border-color: var(--bs-secondary);
    box-shadow: 0 0 0 3px rgba(var(--bs-secondary-rgb), 0.2);
}

.auth-card[b-kjubf9762f]  .form-floating>label {
    color: #8b7355;
}

/* Button styling */
.auth-card[b-kjubf9762f]  .btn-primary {
    background: linear-gradient(135deg, var(--bs-primary) 0%, #8b6b4a 100%);
    border: none;
    border-radius: 10px;
    padding: 0.75rem 1.5rem;
    font-weight: 500;
    color: white;
    transition: all 0.2s ease;
}

.auth-card[b-kjubf9762f]  .btn-primary:hover {
    background: linear-gradient(135deg, #8b6b4a 0%, #a07d5a 100%);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(var(--bs-primary-rgb), 0.25);
    color: white;
}

.auth-card[b-kjubf9762f]  .btn-primary:active {
    transform: translateY(0);
}

/* Links (exclude buttons) */
.auth-card[b-kjubf9762f]  a:not(.btn) {
    color: var(--bs-primary);
    text-decoration: none;
    transition: color 0.2s ease;
}

.auth-card[b-kjubf9762f]  a:not(.btn):hover {
    color: var(--bs-secondary);
    text-decoration: underline;
}

/* Checkbox styling */
.auth-card[b-kjubf9762f]  .form-check-input:checked {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

/* Validation messages */
.auth-card[b-kjubf9762f]  .text-danger {
    color: var(--bs-danger) !important;
    font-size: 0.875rem;
}

.auth-card[b-kjubf9762f]  .validation-summary-errors {
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 8px;
    padding: 0.75rem 1rem;
    margin-bottom: 1rem;
}

/* Status messages */
.auth-card[b-kjubf9762f]  .alert {
    border-radius: 10px;
    border: none;
    padding: 1rem;
}

.auth-card[b-kjubf9762f]  .alert-info {
    background: #f0f7ff;
    color: #3b6ea8;
}

.auth-card[b-kjubf9762f]  .alert-danger {
    background: #fef2f2;
    color: var(--bs-danger);
}

.auth-card[b-kjubf9762f]  .alert-success {
    background: #f0fdf4;
    color: #3d8b55;
}

.auth-footer[b-kjubf9762f] {
    text-align: center;
    color: #8b7355;
    font-size: 0.875rem;
}

.auth-footer p[b-kjubf9762f] {
    margin: 0;
}

/* Responsive adjustments */
@media (max-width: 480px) {
    .unauthorized-layout[b-kjubf9762f] {
        padding: 1rem;
    }

    .auth-card[b-kjubf9762f] {
        padding: 1.5rem;
        border-radius: 12px;
    }

    .auth-logo[b-kjubf9762f] {
        width: 64px;
        height: 64px;
    }

    .auth-title[b-kjubf9762f] {
        font-size: 1.5rem;
    }
}
/* /Components/Messages/ConversationList.razor.rz.scp.css */
.conversation-avatar[b-x1mqh5ezls] {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9rem;
    font-weight: 600;
    flex-shrink: 0;
}

.min-width-0[b-x1mqh5ezls] {
    min-width: 0;
}

.conversation-item[b-x1mqh5ezls] {
    padding: 12px 16px;
    border-bottom: 1px solid var(--bs-border-color);
    cursor: pointer;
    transition: background-color 0.15s ease;
    border-left: 3px solid transparent;
}

.conversation-item:hover[b-x1mqh5ezls] {
    background-color: var(--bs-tertiary-bg);
}

.conversation-item.active[b-x1mqh5ezls] {
    background-color: var(--bs-secondary);
    border-left-color: var(--bs-primary);
    color: var(--bs-dark);
}

.conversation-item .fw-semibold[b-x1mqh5ezls] {
    font-weight: 600;
}

.conversation-footer[b-x1mqh5ezls] {
    flex-shrink: 0;
}
/* /Components/Messages/Message.razor.rz.scp.css */
/* Message wrapper positioning */
.message-wrapper.sent[b-k8rt25jyac] {
    display: flex;
    justify-content: flex-end;
}

.message-wrapper.received[b-k8rt25jyac] {
    display: flex;
    justify-content: flex-start;
}

/* Message bubble styling */
.message-bubble[b-k8rt25jyac] {
    max-width: 75%;
    padding: 12px 16px;
    border-radius: 12px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
    transition: box-shadow 0.2s ease;
}

.message-bubble:hover[b-k8rt25jyac] {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

/* Sent message bubble (system) */
.sent-bubble[b-k8rt25jyac] {
    background: linear-gradient(135deg, var(--bs-primary) 0%, var(--wed-brown-dark) 100%);
    color: var(--bs-light);
    border-bottom-right-radius: 4px;
}

.sent-bubble .text-muted[b-k8rt25jyac] {
    color: rgba(255, 255, 255, 0.8) !important;
}

.sent-bubble .badge[b-k8rt25jyac] {
    background-color: rgba(255, 255, 255, 0.2) !important;
    color: white !important;
}

.sent-bubble .border-top[b-k8rt25jyac] {
    border-color: rgba(255, 255, 255, 0.2) !important;
}

/* Received message bubble */
.received-bubble[b-k8rt25jyac] {
    background-color: #f8f9fa;
    color: #212529;
    border-bottom-left-radius: 4px;
    border: 1px solid #e9ecef;
}

/* Template icon (top-right corner of bubble) */
.template-icon-wrapper[b-k8rt25jyac] {
    position: absolute;
    top: 8px;
    right: 10px;
    line-height: 1;
}

.template-icon[b-k8rt25jyac] {
    opacity: 0.5;
    cursor: help;
    font-size: 0.75rem;
}

.template-icon:hover[b-k8rt25jyac] {
    opacity: 0.9;
}

/* Message body text */
.message-body[b-k8rt25jyac] {
    white-space: pre-wrap;
    word-wrap: break-word;
    line-height: 1.5;
    margin: 0;
}

/* Message media */
.message-media video[b-k8rt25jyac] {
    border-radius: 8px;
    max-height: 300px;
    width: auto;
}

.message-media audio[b-k8rt25jyac] {
    border-radius: 8px;
    max-width: 100%;
}

.message-image[b-k8rt25jyac] {
    width: 100%;
    max-height: 300px;
    object-fit: cover;
    border-radius: 8px;
    cursor: pointer;
    transition: opacity 0.2s ease;
}

.message-image:hover[b-k8rt25jyac] {
    opacity: 0.85;
}

/* Message footer */
.message-footer[b-k8rt25jyac] {
    font-size: 0.875rem;
}

.message-footer .border-top[b-k8rt25jyac] {
    border-color: rgba(0, 0, 0, 0.1) !important;
}

/* Button styling in messages */
.message-bubble .btn-sm[b-k8rt25jyac] {
    font-size: 0.75rem;
    padding: 0.25rem 0.5rem;
}

/* Badges in messages */
.message-bubble .badge[b-k8rt25jyac] {
    font-size: 0.7rem;
    padding: 0.25em 0.5em;
}

/* Spoiler content */
.spoiler-content[b-k8rt25jyac] {
    border: 2px dashed #ffc107;
}

/* Responsive */
@media (max-width: 768px) {
    .message-bubble[b-k8rt25jyac] {
        max-width: 85%;
    }
}
/* /Components/Messages/MessageComposer.razor.rz.scp.css */
.message-composer[b-l1q1av0t8q] {
    background-color: #fff;
    border-top: 1px solid #e2e8f0;
    box-shadow: 0 -4px 6px -1px rgba(0, 0, 0, 0.02);
}

/* Syncfusion overrides for cleaner look */
.message-composer[b-l1q1av0t8q]  .e-input-group {
    border-radius: 0.5rem;
    border-color: #e2e8f0;
}

.message-composer[b-l1q1av0t8q]  .e-input-group:not(.e-disabled):focus-within {
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

.message-composer[b-l1q1av0t8q]  .e-btn {
    border-radius: 0.5rem;
    text-transform: none;
    font-weight: 500;
}

.compact-dropdown[b-l1q1av0t8q] {
    margin-bottom: 0.5rem;
}

.restrictions-list[b-l1q1av0t8q] {
    display: block !important;
    max-height: 120px !important;
    overflow-y: auto !important;
    scrollbar-width: thin;
}

@media (min-width: 768px) {
    .restrictions-list[b-l1q1av0t8q] {
        max-height: 200px !important;
    }
}
/* /Components/Pages/Admin/MessageStatistics.razor.rz.scp.css */
/* ============================================
   Message Statistics — Scoped Styles
   Follows the wedding-themed design system
   ============================================ */

/* Card base */
.stat-card[b-20ls550qvj] {
    background: #ffffff;
    border: 1px solid var(--wed-beige-dark, #e5bda7);
    border-radius: 0.75rem;
    padding: 1.25rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    transition: box-shadow 0.2s ease;
}

.stat-card:hover[b-20ls550qvj] {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

/* ── KPI Cards ── */
.kpi-card[b-20ls550qvj] {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
}

.kpi-card.h-100[b-20ls550qvj] {
    height: 100%;
}

.kpi-icon-circle[b-20ls550qvj] {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    flex-shrink: 0;
    margin-top: 0.1rem;
}

.kpi-icon-circle.sent[b-20ls550qvj] { background: rgba(116, 88, 62, 0.1); color: var(--wed-brown-medium, #74583e); }
.kpi-icon-circle.delivery[b-20ls550qvj] { background: rgba(13, 110, 253, 0.1); color: #0d6efd; }
.kpi-icon-circle.read[b-20ls550qvj] { background: rgba(25, 135, 84, 0.1); color: #198754; }
.kpi-icon-circle.response[b-20ls550qvj] { background: rgba(111, 66, 193, 0.1); color: #6f42c1; }
.kpi-icon-circle.received[b-20ls550qvj] { background: rgba(13, 202, 240, 0.1); color: #0dcaf0; }
.kpi-icon-circle.media[b-20ls550qvj] { background: rgba(253, 126, 20, 0.1); color: #fd7e14; }
.kpi-icon-circle.timer[b-20ls550qvj] { background: rgba(32, 201, 151, 0.1); color: #20c997; }

.kpi-body[b-20ls550qvj] {
    flex: 1;
    min-width: 0;
}

.kpi-badge[b-20ls550qvj] {
    font-size: 0.6rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 0.1rem 0.35rem;
    border-radius: 3px;
    background: var(--wed-beige-dark, #e5bda7);
    color: var(--wed-brown-dark, #3d2b1f);
    vertical-align: middle;
    margin-left: 0.3rem;
}

.kpi-label[b-20ls550qvj] {
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--wed-brown-medium, #74583e);
    margin-bottom: 0.1rem;
    line-height: 1.3;
}

.kpi-metric[b-20ls550qvj] {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.1;
    color: var(--wed-brown-dark, #3d2b1f);
}

.kpi-metric.delivery[b-20ls550qvj] { color: #0d6efd; }
.kpi-metric.read[b-20ls550qvj] { color: #198754; }
.kpi-metric.response[b-20ls550qvj] { color: #6f42c1; }
.kpi-metric.received[b-20ls550qvj] { color: #0dcaf0; }
.kpi-metric.media[b-20ls550qvj] { color: #fd7e14; }
.kpi-metric.timer[b-20ls550qvj] { color: #20c997; }

.kpi-unit[b-20ls550qvj] {
    font-size: 0.9rem;
    font-weight: 600;
    margin-left: 1px;
}

.kpi-sub[b-20ls550qvj] {
    font-size: 0.73rem;
    color: #8c8c8c;
    margin-top: 0.1rem;
}

/* ── Section headers ── */
.section-header[b-20ls550qvj] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #f0ebe6;
}

.section-header i[b-20ls550qvj] {
    color: var(--wed-brown-medium, #74583e);
    font-size: 1rem;
}

.section-header h5[b-20ls550qvj] {
    margin: 0;
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--wed-brown-dark, #3d2b1f);
}

/* ── Status breakdown (chart + details side by side) ── */
.breakdown-layout[b-20ls550qvj] {
    display: flex;
    align-items: flex-start;
    gap: 1.5rem;
}

.breakdown-chart[b-20ls550qvj] {
    flex-shrink: 0;
    width: 160px;
    height: 160px;
}

.breakdown-details[b-20ls550qvj] {
    flex: 1;
    min-width: 0;
}

.status-row[b-20ls550qvj] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.35rem 0;
}

.status-dot[b-20ls550qvj] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.status-label[b-20ls550qvj] {
    flex: 0 0 auto;
    font-size: 0.82rem;
    font-weight: 500;
    min-width: 5rem;
    color: #495057;
}

.status-count[b-20ls550qvj] {
    font-size: 0.82rem;
    font-weight: 700;
    min-width: 2rem;
    text-align: right;
    color: var(--wed-brown-dark, #3d2b1f);
}

.status-pct[b-20ls550qvj] {
    font-size: 0.75rem;
    color: #8c8c8c;
    min-width: 2.8rem;
    text-align: right;
}

.status-bar-track[b-20ls550qvj] {
    flex: 1;
    height: 5px;
    background: #f5f0ec;
    border-radius: 3px;
    overflow: hidden;
}

.status-bar-fill[b-20ls550qvj] {
    height: 100%;
    border-radius: 3px;
    transition: width 0.6s ease;
}

/* ── Info banners ── */
.info-banner[b-20ls550qvj] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.6rem 0.85rem;
    border-radius: 0.5rem;
    font-size: 0.78rem;
    line-height: 1.4;
}

.info-banner.muted[b-20ls550qvj] {
    background: #faf8f6;
    color: #8c8c8c;
    border: 1px solid #f0ebe6;
}

.info-banner.danger[b-20ls550qvj] {
    background: #fef5f5;
    color: #dc3545;
    border: 1px solid #f5c6cb;
}

.info-banner i[b-20ls550qvj] {
    flex-shrink: 0;
    margin-top: 0.1rem;
}

/* ── Rate badges (template grid) ── */
.rate-badge[b-20ls550qvj] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.15rem 0.5rem;
    border-radius: 6px;
    font-size: 0.78rem;
    font-weight: 600;
    min-width: 3rem;
}

.rate-badge.high[b-20ls550qvj] { background: rgba(25, 135, 84, 0.08); color: #198754; }
.rate-badge.medium[b-20ls550qvj] { background: rgba(255, 193, 7, 0.12); color: #997404; }
.rate-badge.low[b-20ls550qvj] { background: rgba(220, 53, 69, 0.08); color: #dc3545; }

/* ── Syncfusion Grid overrides ── */
[b-20ls550qvj] .stat-grid .e-gridheader {
    background: #faf8f6;
    border-bottom: 2px solid #f0ebe6;
}

[b-20ls550qvj] .stat-grid .e-headercell {
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--wed-brown-medium, #74583e) !important;
}

[b-20ls550qvj] .stat-grid .e-rowcell {
    font-size: 0.85rem;
    padding: 0.5rem 0.75rem !important;
}

[b-20ls550qvj] .stat-grid .e-row:nth-child(even) {
    background: #fdfcfb;
}

[b-20ls550qvj] .stat-grid .e-row:hover .e-rowcell {
    background: #f9f5f1 !important;
}

/* ── Empty state ── */
.empty-state[b-20ls550qvj] {
    text-align: center;
    padding: 3rem 1.5rem;
}

.empty-state i[b-20ls550qvj] {
    font-size: 2.5rem;
    color: var(--wed-beige-dark, #e5bda7);
    margin-bottom: 0.75rem;
    display: block;
}

.empty-state h6[b-20ls550qvj] {
    color: var(--wed-brown-dark, #3d2b1f);
    margin-bottom: 0.5rem;
    font-weight: 600;
}

.empty-state p[b-20ls550qvj] {
    color: #8c8c8c;
    font-size: 0.875rem;
}

/* ── Refresh button spin ── */
[b-20ls550qvj] .spin {
    animation: wed-spin-b-20ls550qvj 0.8s linear infinite;
}

@keyframes wed-spin-b-20ls550qvj {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* ── Responsive ── */
@media (max-width: 767.98px) {
    .kpi-metric[b-20ls550qvj] {
        font-size: 1.4rem;
    }

    .breakdown-layout[b-20ls550qvj] {
        flex-direction: column;
        align-items: center;
    }

    .breakdown-chart[b-20ls550qvj] {
        width: 130px;
        height: 130px;
    }
}
/* /Components/Pages/Groups/Groups.razor.rz.scp.css */
/* Syncfusion Grid Row Height & Alignment Fixes */
[b-57swdn9ai2] .e-grid .e-rowcell {
    padding: 8px 12px;
    line-height: 20px;
    vertical-align: middle;
}

/* Frozen Action Column Alignment (Right) */
[b-57swdn9ai2] .e-grid .e-frozen-right-content .e-rowcell {
    padding: 0 12px !important;
    height: 48px !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
}

/* Frozen Content Wrapper Alignment */
[b-57swdn9ai2] .e-grid .e-frozen-right-content .e-rowcell>div,
[b-57swdn9ai2] .e-grid .e-frozen-right-content .e-rowcell>span {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 100%;
}

/* Kebab Button Fix */
[b-57swdn9ai2] .e-grid .e-frozen-right-content .btn-kebab {
    padding: 4px !important;
    margin: 0 !important;
    height: 30px;
    width: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Lock Icon Alignment (Matches Kebab Button) */
.system-lock-icon[b-57swdn9ai2] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 30px;
    width: 30px;
    padding: 4px;
    margin: 0 !important;
    margin-right: 6px !important;
    /* Visual alignment with button */
}
/* /Components/Pages/Guests/Guests.razor.rz.scp.css */
/* ── Metric strip ── */
.metric-strip[b-3zyarf2fvi] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 0.25rem 0;
}

.metric-chip[b-3zyarf2fvi] {
    --chip-color: var(--bs-secondary);
    display: flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.4rem 0.75rem;
    border-radius: 2rem;
    border: 1.5px solid var(--chip-color);
    color: var(--chip-color);
    background: var(--bs-body-bg, #fff);
    white-space: nowrap;
    flex-shrink: 0;
    font-size: 0.8rem;
    cursor: pointer;
    transition: transform 0.12s ease, background 0.12s ease;
}

.metric-chip:active[b-3zyarf2fvi] {
    transform: scale(0.96);
}

.metric-chip.active[b-3zyarf2fvi] {
    background: var(--chip-color);
    color: #fff;
}

.metric-chip i[b-3zyarf2fvi] {
    font-size: 0.85rem;
}

.metric-chip-value[b-3zyarf2fvi] {
    font-weight: 700;
}

.metric-chip-label[b-3zyarf2fvi] {
    font-weight: 500;
    opacity: 0.8;
}

/* Color variants — single custom-property override each */
.metric-chip-success[b-3zyarf2fvi] {
    --chip-color: var(--bs-success);
}

.metric-chip-info[b-3zyarf2fvi] {
    --chip-color: var(--bs-info);
}

.metric-chip-warning[b-3zyarf2fvi] {
    --chip-color: var(--bs-warning);
}

.metric-chip-danger[b-3zyarf2fvi] {
    --chip-color: var(--bs-danger);
}

.metric-chip-secondary[b-3zyarf2fvi] {
    --chip-color: var(--bs-secondary);
}

/* ── Family grouping toggle ── */
.family-toggle-btn[b-3zyarf2fvi] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.8rem;
    font-weight: 500;
    transition: all 0.15s ease;
    white-space: nowrap;
}

.family-toggle-btn i[b-3zyarf2fvi] {
    font-size: 0.9rem;
    transition: transform 0.2s ease;
}

.family-toggle-btn:hover i[b-3zyarf2fvi] {
    transform: scale(1.15);
}

/* ── Family group caption ── */
.family-group-caption[b-3zyarf2fvi] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.family-group-caption i[b-3zyarf2fvi] {
    color: var(--bs-primary);
    font-size: 1rem;
}

.family-group-caption .badge[b-3zyarf2fvi] {
    font-size: 0.7rem;
    font-weight: 600;
}

/* Hide the default group expand/collapse text, keep arrow */
[b-3zyarf2fvi] .e-groupcaption .e-templatecell {
    padding: 0.35rem 0.5rem;
}
/* /Components/Pages/Guests/ImportGuests.razor.rz.scp.css */
/* ===========================================
   ImportGuests Page – Scoped Styles
   =========================================== */

/* Stat icon boxes */
.import-stat-icon-box[b-enfby14hz9] {
    width: 2.25rem;
    height: 2.25rem;
    min-width: 2.25rem;
    font-size: 0.95rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.import-stat-label[b-enfby14hz9] {
    font-size: 0.65rem;
    letter-spacing: 0.04em;
}

/* Collapsible sections */
.import-collapsible[b-enfby14hz9] {
    flex-shrink: 0;
}

.import-collapse-chevron[b-enfby14hz9] {
    font-size: 0.7rem;
    transition: transform 0.2s ease;
    opacity: 0.6;
}

[aria-expanded="true"] .import-collapse-chevron[b-enfby14hz9] {
    transform: rotate(180deg);
}

/* Grid container */
.import-grid-container[b-enfby14hz9] {
    min-height: 200px;
}

.import-grid-inner[b-enfby14hz9] {
    min-height: 0;
}

/* ── SfGrid cell overrides ── */

/* Compact Syncfusion controls inside grid cells */
[b-enfby14hz9] .e-grid .import-cell-type .e-input-group,
[b-enfby14hz9] .e-grid .import-cell-phone .e-input-group,
[b-enfby14hz9] .e-grid .import-cell-cercles .e-control-wrapper {
    margin-bottom: 0 !important;
}

[b-enfby14hz9] .e-grid .import-cell-cercles .e-multi-select-wrapper {
    min-height: 30px !important;
}

/* Type warning highlight */
[b-enfby14hz9] .e-grid .e-warning .e-input-group {
    border-color: var(--bs-danger) !important;
    box-shadow: 0 0 0 0.15rem rgba(var(--bs-danger-rgb), 0.25);
}

/* Invalid row tint */
[b-enfby14hz9] .e-grid .e-row.import-row-invalid {
    background-color: rgba(var(--bs-danger-rgb), 0.06) !important;
}

[b-enfby14hz9] .e-grid .e-row.import-row-invalid td {
    border-left-color: var(--bs-danger) !important;
}

/* Deselected row opacity */
[b-enfby14hz9] .e-grid .e-row.import-row-deselected {
    opacity: 0.55;
}

/* Duplicate row styling */
[b-enfby14hz9] .e-grid .e-row.import-row-duplicate {
    background-color: rgba(var(--bs-warning-rgb), 0.08) !important;
    opacity: 0.65;
}

/* Ensure editable cells allow overflow for dropdowns */
[b-enfby14hz9] .e-grid .e-rowcell {
    overflow: visible !important;
}

/* Phone component in grid: tighter layout */
[b-enfby14hz9] .e-grid .import-cell-phone {
    min-width: 200px;
}

/* ── Family badge pill ── */
.import-family-badge[b-enfby14hz9] {
    display: inline-flex;
    align-items: center;
    padding: 0.15rem 0.55rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 600;
    white-space: nowrap;
    color: var(--badge-color);
    background: color-mix(in srgb, var(--badge-color) 12%, transparent);
    border: 1px solid color-mix(in srgb, var(--badge-color) 30%, transparent);
}

.import-family-member[b-enfby14hz9] {
    color: var(--badge-color);
    opacity: 0.7;
    padding-left: 0.5rem;
}

/* ── Update row styling ── */
[b-enfby14hz9] .e-grid .e-row.import-row-update {
    background-color: rgba(var(--bs-info-rgb), 0.06) !important;
}

[b-enfby14hz9] .e-grid .e-row.import-row-update td {
    border-left-color: var(--bs-info) !important;
}

/* ── Detail button in grid ── */
[b-enfby14hz9] .import-detail-btn {
    width: 32px;
    height: 32px;
    min-width: 32px;
    font-size: 0.9rem;
    padding: 0;
    cursor: pointer;
}

/* ── Detail panel (fixed sidebar) ── */
.import-sidebar-panel[b-enfby14hz9] {
    position: fixed;
    top: 3.5rem;
    right: 0;
    width: 380px;
    height: calc(100vh - 3.5rem);
    background: #fff;
    box-shadow: -4px 0 24px rgba(0, 0, 0, 0.12);
    z-index: 1050;
    overflow-y: auto;
    transform: translateX(100%);
    transition: transform 0.25s ease;
}

.import-sidebar-panel.open[b-enfby14hz9] {
    transform: translateX(0);
}

.import-sidebar-backdrop[b-enfby14hz9] {
    position: fixed;
    inset: 0;
    z-index: 1040;
}

@media (max-width: 991.98px) {
    .import-sidebar-panel[b-enfby14hz9] {
        top: 0;
        height: 100%;
        width: 100%;
    }
}
/* /Components/Pages/Home.razor.rz.scp.css */
.dashboard-header[b-nk37wfyglu] {
    padding: 1rem 0;
}

.dashboard-header h4[b-nk37wfyglu] {
    color: var(--wed-brown-dark, #3d2b1f);
    font-weight: 600;
}

.header-stats[b-nk37wfyglu] {
    font-size: 0.875rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 0;
}

.header-stats span[b-nk37wfyglu] {
    white-space: nowrap;
}

@media (max-width: 576px) {
    .header-stats[b-nk37wfyglu] {
        flex-direction: column;
    }

    .header-stats span[b-nk37wfyglu] {
        margin-left: 0 !important;
    }
}
/* /Components/Pages/Layout/Components/NodeRenderers/RulerNodeRenderer.razor.rz.scp.css */
.ruler-node-simple[b-r6va7zzhzp] {
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: auto;
}

.ruler-line[b-r6va7zzhzp] {
    width: 100%;
    height: 2px;
    background-color: #333;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
}

.ruler-endpoint[b-r6va7zzhzp] {
    width: 10px;
    height: 10px;
    border: 2px solid #333;
    border-radius: 50%;
    background-color: #fff;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
}

.ruler-endpoint.left[b-r6va7zzhzp] {
    left: 0;
}

.ruler-endpoint.right[b-r6va7zzhzp] {
    right: 0;
}

.ruler-label[b-r6va7zzhzp] {
    background-color: #fff;
    padding: 2px 6px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 12px;
    font-weight: bold;
    color: #333;
    z-index: 3;
    pointer-events: auto;
    /* allow text selection if needed */
}
/* /Components/Pages/Layout/Components/NodeRenderers/TableNodeRenderer.razor.rz.scp.css */
/* Seat Marker Styles */
.seat-marker[b-7c16rc62ft] {
    transition: transform 0.2s, background-color 0.2s, border-color 0.2s;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.seat-marker:hover[b-7c16rc62ft] {
    transform: translate(-50%, -50%) scale(1.2) !important;
    z-index: 10;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
}

.seat-marker.occupied:hover[b-7c16rc62ft] {
    cursor: alias;
    border-color: #ef4444 !important;
}

/* Selected Seat State */
.seat-marker.selected[b-7c16rc62ft] {
    border: 2px solid var(--wed-brown-medium, #74583e) !important;
    box-shadow: 0 0 0 3px rgba(116, 88, 62, 0.3), 0 2px 8px rgba(116, 88, 62, 0.4);
    transform: translate(-50%, -50%) scale(1.15) !important;
    z-index: 20;
}

.seat-marker.selected:hover[b-7c16rc62ft] {
    box-shadow: 0 0 0 4px rgba(116, 88, 62, 0.4), 0 4px 12px rgba(116, 88, 62, 0.5);
    transform: translate(-50%, -50%) scale(1.2) !important;
}

/* Married Seat - Heart Shape (SVG-based) */
.seat-marker.married[b-7c16rc62ft] {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    position: relative;
    transition: transform 0.2s, filter 0.2s;
}

.seat-heart-svg[b-7c16rc62ft] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.seat-heart-label[b-7c16rc62ft] {
    position: relative;
    z-index: 1;
    font-weight: 500;
    pointer-events: none;
    margin-top: -2px;
}

.seat-marker.married:hover[b-7c16rc62ft] {
    transform: translate(-50%, -50%) scale(1.2) !important;
    z-index: 10;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
}

.seat-marker.married.selected[b-7c16rc62ft] {
    filter: drop-shadow(0 0 3px rgba(116, 88, 62, 0.5)) drop-shadow(0 0 6px rgba(116, 88, 62, 0.4));
    transform: translate(-50%, -50%) scale(1.15) !important;
    z-index: 20;
}

.seat-marker.married.selected:hover[b-7c16rc62ft] {
    filter: drop-shadow(0 0 4px rgba(116, 88, 62, 0.6)) drop-shadow(0 0 8px rgba(116, 88, 62, 0.5));
    transform: translate(-50%, -50%) scale(1.2) !important;
}

/* Table Surface Styles */
.table-surface[b-7c16rc62ft] {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

/* Table Node Styles */
.table-node-container[b-7c16rc62ft] {
    position: relative;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.table-surface-inner[b-7c16rc62ft] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* WedBud theme colors - warm beige/cream */
    background: linear-gradient(145deg, #faf6f0 0%, #f5ebe0 100%);
    border: 2px solid var(--wed-brown-dark, #5c4332);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    pointer-events: auto;
}

/* When the node is selected */
.table-surface-inner.node-selected[b-7c16rc62ft] {
    border: 2px dashed var(--wed-brown-medium, #74583e) !important;
    box-shadow: 0 0 0 2px rgba(116, 88, 62, 0.2);
}

.table-name[b-7c16rc62ft] {
    font-size: 1.1em;
    font-weight: 600;
    text-align: center;
    pointer-events: none;
    padding: 4px 8px;
    color: var(--wed-brown-dark, #5c4332);
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
}

/* Table status indicator (free seats count) */
.table-status[b-7c16rc62ft] {
    margin-top: 2px;
}

.table-status-text[b-7c16rc62ft] {
    font-size: 0.85em;
    font-weight: 500;
    color: var(--wed-brown-medium, #74583e);
    opacity: 0.9;
}
/* /Components/Pages/Layout/Components/ParticipantSidebar.razor.rz.scp.css */
/* Prevent text selection during drag operations */
.list-group-item[draggable="true"][b-38cmi6jfdr] {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

/* Visual feedback during drag */
.list-group-item[draggable="true"]:active[b-38cmi6jfdr] {
    cursor: grabbing;
    opacity: 0.7;
}
/* /Components/Pages/Layout/DiagramNodeRenderer.razor.rz.scp.css */
/* Styles moved to RulerNodeRenderer and TableNodeRenderer CSS files */
/* /Components/Pages/Layout/ReceptionLayout.razor.rz.scp.css */
/* Main Layout Container */
.layout-container[b-74p23jlnp1] {
    height: calc(100vh - 60px);
    display: flex;
    overflow: hidden;
    outline: none;
    /* Remove focus outline */
}

/* Left sidebar - desktop base */
.sidebar-left[b-74p23jlnp1] {
    width: 300px;
}

/* Hide diagram scrollbars */
[b-74p23jlnp1] #diagram-container,
[b-74p23jlnp1] #diagram-container * {
    scrollbar-width: none;
    /* Firefox */
    -ms-overflow-style: none;
    /* IE/Edge */
}

[b-74p23jlnp1] #diagram-container::-webkit-scrollbar,
[b-74p23jlnp1] #diagram-container *::-webkit-scrollbar {
    display: none;
}

/* Hide Syncfusion default selection border */
[b-74p23jlnp1] .e-diagram-border {
    stroke: transparent !important;
}

/* Hide palette symbol tooltip — Syncfusion positions it at bottom-right of palette
   instead of near the symbol. Symbols are self-explanatory (circle, rect, ruler). */
[b-74p23jlnp1] .e-symbolpalette .e-blazordiagram-tooltip {
    display: none !important;
}

/* Hide palette accordion header — single group, title is redundant */
[b-74p23jlnp1] .e-symbolpalette .e-acrdn-header {
    display: none !important;
}

/* KISS FIX: Disable Syncfusion pointer events during seat drag
   This prevents Syncfusion from capturing the pointer and getting into a "stuck" state
   when HTML5 drag-and-drop takes over. The seat markers (HTML elements) still receive
   drag events because they have their own ondragover/ondrop handlers. */
[b-74p23jlnp1] #diagram-container.seat-dragging .e-diagram-layer,
[b-74p23jlnp1] #diagram-container.seat-dragging .e-background-layer,
[b-74p23jlnp1] #diagram-container.seat-dragging .e-grid-layer,
[b-74p23jlnp1] #diagram-container.seat-dragging .e-html-layer,
[b-74p23jlnp1] #diagram-container.seat-dragging svg {
    pointer-events: none !important;
}

/* But keep pointer events on seat markers so drops still work */
[b-74p23jlnp1] #diagram-container.seat-dragging .seat-marker {
    pointer-events: auto !important;
}

/* Mobile Responsive Styles */

/* Mobile toggle buttons - hidden by default on desktop */
.mobile-toggle-btn[b-74p23jlnp1] {
    display: none;
    position: fixed;
    z-index: 999;
    padding: 12px 6px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
    border: none;
    font-size: 0.85rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
}

.mobile-toggle-btn:hover[b-74p23jlnp1] {
    filter: brightness(1.1);
}

.mobile-toggle-side[b-74p23jlnp1] {
    writing-mode: vertical-lr;
    color: white;
    white-space: nowrap;
    border-radius: 0 8px 8px 0;
}

.mobile-toggle-left[b-74p23jlnp1] {
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    background: var(--bs-primary, #0d6efd);
}

.mobile-toggle-right[b-74p23jlnp1] {
    right: 0;
    top: 50%;
    transform: translateY(-50%) rotate(180deg);
    background: var(--bs-secondary, #6c757d);
}

/* Hide toggle buttons when a sidebar is open */
.sidebar-overlay.show~.mobile-toggle-btn[b-74p23jlnp1] {
    display: none !important;
}

/* Sidebar overlay backdrop */
.sidebar-overlay[b-74p23jlnp1] {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1050;
}

.sidebar-overlay.show[b-74p23jlnp1] {
    display: block;
}

/* Mobile breakpoint */
@media (max-width: 991.98px) {

    /* Height managed by layout (content-fixed-height uses flex column) */
    .layout-container[b-74p23jlnp1] {
        flex: 1;
        min-height: 0;
    }

    /* Show mobile toggle buttons */
    .mobile-toggle-btn[b-74p23jlnp1] {
        display: flex;
        align-items: center;
        gap: 8px;
    }

    /* Left sidebar - off-canvas style */
    .sidebar-left[b-74p23jlnp1] {
        position: fixed !important;
        left: -400px;
        top: 0;
        height: 100vh !important;
        width: 320px !important;
        max-width: 85vw;
        transition: left 0.3s ease;
        z-index: 1060 !important;
        box-shadow: 2px 0 15px rgba(0, 0, 0, 0.2);
    }

    .sidebar-left.mobile-open[b-74p23jlnp1] {
        left: 0;
    }

    /* Right sidebar - off-canvas style */
    .sidebar-right[b-74p23jlnp1] {
        position: fixed !important;
        right: -280px;
        top: 0;
        height: 100vh !important;
        width: 280px !important;
        max-width: 85vw;
        transition: right 0.3s ease;
        z-index: 1060 !important;
        box-shadow: -2px 0 15px rgba(0, 0, 0, 0.2);
    }

    .sidebar-right.mobile-open[b-74p23jlnp1] {
        right: 0;
    }

    /* Close button for sidebars on mobile */
    .sidebar-close-btn[b-74p23jlnp1] {
        display: flex !important;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: 8px;
        right: 8px;
        z-index: 10;
        background: #fff;
        border: 1px solid #ddd;
        border-radius: 6px;
        font-size: 1.2rem;
        cursor: pointer;
        width: 32px;
        height: 32px;
        padding: 0;
        color: #666;
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
    }

    .sidebar-close-btn:hover[b-74p23jlnp1] {
        color: #333;
        background: #f0f0f0;
    }

    /* Main canvas takes full width */
    .main-canvas[b-74p23jlnp1] {
        width: 100% !important;
    }

    /* Adjust top toolbar for mobile */
    .layout-container>.main-canvas>div>div:first-child[b-74p23jlnp1] {
        flex-direction: column !important;
        gap: 10px !important;
        left: 10px !important;
        right: 10px !important;
        top: 10px !important;
    }

    /* Stats bar scrollable on mobile */
    .stats-bar[b-74p23jlnp1] {
        overflow-x: auto;
        white-space: nowrap;
        max-width: 100%;
        padding: 8px 12px !important;
        gap: 12px !important;
    }

    .stats-bar[b-74p23jlnp1]::-webkit-scrollbar {
        height: 4px;
    }

    .stats-bar[b-74p23jlnp1]::-webkit-scrollbar-thumb {
        background: #ccc;
        border-radius: 2px;
    }

    /* Smaller export buttons on mobile */
    .export-toolbar[b-74p23jlnp1] {
        padding: 4px !important;
    }

    .export-toolbar .btn[b-74p23jlnp1] {
        padding: 4px 8px;
        font-size: 0.75rem;
    }

    /* Zoom toolbar repositioned */
    .zoom-toolbar[b-74p23jlnp1] {
        bottom: 10px !important;
        right: 50% !important;
        transform: translateX(50%);
    }
}

/* Very small screens */
@media (max-width: 575.98px) {

    .sidebar-left[b-74p23jlnp1],
    .sidebar-right[b-74p23jlnp1] {
        width: 100vw !important;
        max-width: 100vw;
    }

    .sidebar-left[b-74p23jlnp1] {
        left: -100vw;
    }

    .sidebar-right[b-74p23jlnp1] {
        right: -100vw;
    }

    /* Hide some stats on very small screens */
    .stats-item-children[b-74p23jlnp1] {
        display: none !important;
    }
}

/* Desktop - hide close buttons */
@media (min-width: 992px) {
    .sidebar-close-btn[b-74p23jlnp1] {
        display: none !important;
    }
}

/* Remove default margin from WedButtonGroup in this layout */
[b-74p23jlnp1] .wed-button-group-container {
    margin-bottom: 0;
}

/* Hide browser number input spinners (increment/decrement buttons) */
[b-74p23jlnp1] input[type="number"]::-webkit-outer-spin-button,
[b-74p23jlnp1] input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

[b-74p23jlnp1] input[type="number"] {
    -moz-appearance: textfield;
    appearance: textfield;
}
/* /Components/Pages/Memories.razor.rz.scp.css */
/* Gallery Page Styles — "Souvenirs" */

/* Header styling */
.gallery-header[b-g1jveb6zw1] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
    padding: 1.5rem 0;
    margin-bottom: 1.5rem;
    border-bottom: 1px solid var(--bs-border-color);
}

.gallery-header h1[b-g1jveb6zw1] {
    font-size: 1.75rem;
    font-weight: 600;
    margin: 0;
    color: var(--bs-heading-color);
}

.gallery-actions[b-g1jveb6zw1] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

/* Gallery Grid - Responsive masonry-style */
.gallery-grid[b-g1jveb6zw1] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 1rem;
    padding: 0.5rem 0;
}

@media (min-width: 768px) {
    .gallery-grid[b-g1jveb6zw1] {
        grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
        gap: 1.25rem;
    }
}

@media (min-width: 1200px) {
    .gallery-grid[b-g1jveb6zw1] {
        grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
        gap: 1.5rem;
    }
}

/* Gallery Item Card */
.gallery-item[b-g1jveb6zw1] {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    background: var(--bs-body-bg);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    aspect-ratio: 1;
}

.gallery-item:hover[b-g1jveb6zw1] {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
}

.gallery-item.selected[b-g1jveb6zw1] {
    box-shadow: 0 0 0 3px var(--bs-primary), 0 12px 24px rgba(var(--bs-primary-rgb), 0.25);
    transform: translateY(-2px);
}

/* Media container */
.gallery-media-container[b-g1jveb6zw1] {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.gallery-image[b-g1jveb6zw1] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.gallery-item:hover .gallery-image[b-g1jveb6zw1] {
    transform: scale(1.05);
}

/* Video background (poster frame) */
.gallery-video-bg[b-g1jveb6zw1] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.gallery-item:hover .gallery-video-bg[b-g1jveb6zw1] {
    transform: scale(1.05);
}

/* Media placeholder for video/audio */
.gallery-media-placeholder[b-g1jveb6zw1] {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 2;
    pointer-events: none;
}

.gallery-media-video[b-g1jveb6zw1] {
    background: transparent;
}

.gallery-media-video i[b-g1jveb6zw1] {
    font-size: 3rem;
    color: rgba(255, 255, 255, 0.9);
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.5);
    transition: transform 0.3s ease;
}

.gallery-item:hover .gallery-media-video i[b-g1jveb6zw1] {
    transform: scale(1.15);
}

.gallery-media-audio[b-g1jveb6zw1] {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.gallery-media-audio i[b-g1jveb6zw1] {
    font-size: 3rem;
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 0.5rem;
    animation: audioPulse-b-g1jveb6zw1 2s ease-in-out infinite;
}

.gallery-audio-label[b-g1jveb6zw1] {
    font-size: 0.75rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.8);
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

@keyframes audioPulse-b-g1jveb6zw1 {
    0%, 100% { transform: scale(1); opacity: 0.9; }
    50% { transform: scale(1.08); opacity: 1; }
}

/* Overlay for hover effect */
.gallery-overlay[b-g1jveb6zw1] {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.7) 0%,
        rgba(0, 0, 0, 0.2) 40%,
        transparent 100%
    );
    opacity: 0;
    transition: opacity 0.3s ease;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 1rem;
    z-index: 3;
}

.gallery-item:hover .gallery-overlay[b-g1jveb6zw1],
.gallery-item.selected .gallery-overlay[b-g1jveb6zw1] {
    opacity: 1;
}

/* Checkbox styling */
.gallery-checkbox[b-g1jveb6zw1] {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    z-index: 10;
}

.gallery-checkbox input[type="checkbox"][b-g1jveb6zw1] {
    width: 24px;
    height: 24px;
    border-radius: 6px;
    border: 2px solid rgba(255, 255, 255, 0.8);
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(4px);
    cursor: pointer;
    transition: all 0.2s ease;
    appearance: none;
    -webkit-appearance: none;
    display: flex;
    align-items: center;
    justify-content: center;
}

.gallery-checkbox input[type="checkbox"]:hover[b-g1jveb6zw1] {
    border-color: white;
    background: rgba(255, 255, 255, 0.3);
    transform: scale(1.1);
}

.gallery-checkbox input[type="checkbox"]:checked[b-g1jveb6zw1] {
    background: var(--bs-primary);
    border-color: var(--bs-primary);
}

.gallery-checkbox input[type="checkbox"]:checked[b-g1jveb6zw1]::after {
    content: '✓';
    color: white;
    font-size: 14px;
    font-weight: bold;
}

/* Guest info badge */
.gallery-guest-badge[b-g1jveb6zw1] {
    font-size: 0.75rem;
    color: white;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    gap: 0.375rem;
}

.gallery-guest-badge i[b-g1jveb6zw1] {
    font-size: 0.875rem;
}

/* View button on hover */
.gallery-view-btn[b-g1jveb6zw1] {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.8);
    opacity: 0;
    background: rgba(255, 255, 255, 0.95);
    color: var(--bs-dark);
    border: none;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    z-index: 5;
}

.gallery-item:hover .gallery-view-btn[b-g1jveb6zw1] {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

.gallery-view-btn:hover[b-g1jveb6zw1] {
    background: white;
    transform: translate(-50%, -50%) scale(1.1);
}

/* Empty state — premium wedding feel */
.gallery-empty[b-g1jveb6zw1] {
    text-align: center;
    padding: 5rem 2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.gallery-empty-visual[b-g1jveb6zw1] {
    margin-bottom: 2rem;
}

.gallery-empty-icons[b-g1jveb6zw1] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.gallery-empty-icon-item[b-g1jveb6zw1] {
    width: 64px;
    height: 64px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    background: var(--bs-tertiary-bg);
    color: var(--bs-secondary-color);
    animation: emptyFloatIn-b-g1jveb6zw1 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) both;
    animation-delay: var(--delay);
}

.gallery-empty-icon-item.featured[b-g1jveb6zw1] {
    width: 80px;
    height: 80px;
    font-size: 2rem;
    background: linear-gradient(135deg, #f8c4d4 0%, #e8a0b8 100%);
    color: #c2185b;
    box-shadow: 0 8px 24px rgba(194, 24, 91, 0.15);
    animation: emptyFloatIn-b-g1jveb6zw1 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) both,
               emptyHeartbeat-b-g1jveb6zw1 3s ease-in-out 1s infinite;
    animation-delay: var(--delay), 1s;
}

.gallery-empty-title[b-g1jveb6zw1] {
    font-size: 1.35rem;
    font-weight: 600;
    color: var(--bs-heading-color);
    margin-bottom: 0.5rem;
}

.gallery-empty-description[b-g1jveb6zw1] {
    color: var(--bs-secondary-color);
    max-width: 360px;
    line-height: 1.6;
    margin-bottom: 1.5rem;
    font-size: 0.925rem;
}


@keyframes emptyFloatIn-b-g1jveb6zw1 {
    from {
        opacity: 0;
        transform: translateY(16px) scale(0.85);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes emptyHeartbeat-b-g1jveb6zw1 {
    0%, 100% { transform: scale(1); }
    15% { transform: scale(1.06); }
    30% { transform: scale(1); }
}

/* Load more section */
.gallery-load-more[b-g1jveb6zw1] {
    display: flex;
    justify-content: center;
    padding: 2rem 0;
}

/* Selection counter badge */
.selection-badge[b-g1jveb6zw1] {
    background: var(--bs-primary);
    color: white;
    font-size: 0.75rem;
    padding: 0.125rem 0.5rem;
    border-radius: 999px;
    margin-left: 0.5rem;
    font-weight: 600;
}

/* Button improvements */
.gallery-btn[b-g1jveb6zw1] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border-radius: 8px;
    font-weight: 500;
    transition: all 0.2s ease;
}

.gallery-btn-primary[b-g1jveb6zw1] {
    background: var(--bs-primary);
    color: white;
    border: none;
}

.gallery-btn-primary:hover[b-g1jveb6zw1] {
    background: var(--bs-primary);
    filter: brightness(1.1);
    transform: translateY(-1px);
}

.gallery-btn-danger[b-g1jveb6zw1] {
    background: var(--bs-danger);
    color: white;
    border: none;
}

.gallery-btn-danger:hover[b-g1jveb6zw1] {
    background: var(--bs-danger);
    filter: brightness(1.1);
    transform: translateY(-1px);
}

.gallery-btn-outline[b-g1jveb6zw1] {
    background: transparent;
    color: var(--bs-body-color);
    border: 1px solid var(--bs-border-color);
}

.gallery-btn-outline:hover[b-g1jveb6zw1] {
    background: var(--bs-tertiary-bg);
    border-color: var(--bs-primary);
    color: var(--bs-primary);
}

/* Responsive adjustments */
@media (max-width: 576px) {
    .gallery-header[b-g1jveb6zw1] {
        flex-direction: column;
        align-items: flex-start;
    }

    .gallery-actions[b-g1jveb6zw1] {
        width: 100%;
        justify-content: flex-end;
    }
}

/* Infinite scroll sentinel */
.gallery-scroll-sentinel[b-g1jveb6zw1] {
    height: 1px;
    width: 100%;
}

.gallery-loading-indicator[b-g1jveb6zw1] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 2rem;
    color: var(--bs-secondary-color);
    font-size: 0.875rem;
}
/* /Components/Pages/Messages/Messages.razor.rz.scp.css */
.conversation-sidebar[b-zdjd2hv7ul] {
    overflow-y: auto;
    /* Desktop: fixed width */
    width: 350px;
    min-width: 300px;
}

/* Mobile: full width sidebar */
@media (max-width: 991.98px) {
    .conversation-sidebar[b-zdjd2hv7ul] {
        width: 100%;
        min-width: unset;
        transition: transform 0.3s ease;
    }

    /* Hide sidebar when conversation is selected on mobile */
    .conversation-sidebar.sidebar-hidden-mobile[b-zdjd2hv7ul] {
        display: none !important;
    }

    /* Hide main view when no conversation selected on mobile */
    .messages-main.main-hidden-mobile[b-zdjd2hv7ul] {
        display: none !important;
    }

    /* On mobile: hide messages-main by default, show only when conversation is active */
    .messages-main[b-zdjd2hv7ul] {
        display: none;
    }

    /* Show messages-main only when NOT hidden (i.e., conversation is selected) */
    .messages-main:not(.main-hidden-mobile)[b-zdjd2hv7ul] {
        display: flex;
    }
}

.messages-container[b-zdjd2hv7ul] {
    background-color: #f8f9fa;
    min-height: 0;
}

.messages-container-loading[b-zdjd2hv7ul] {
    visibility: hidden;
}

.messages-main[b-zdjd2hv7ul] {
    min-height: 0;
}

.messages-wrapper[b-zdjd2hv7ul] {
    min-height: 0;
}

.conversation-header[b-zdjd2hv7ul] {
    background-color: #f8f9fa;
    border-bottom: 1px solid #dee2e6;
}

.avatar-circle[b-zdjd2hv7ul] {
    font-size: 0.9rem;
    font-weight: 600;
}

.messages-loading-overlay[b-zdjd2hv7ul] {
    position: absolute;
    inset: 0;
    background: #f8f9fa;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 20;
    pointer-events: all;
    cursor: wait;
}

/* Main container height management */
.messages-container-root[b-zdjd2hv7ul] {
    /* Desktop: 56px top-row only (no mobile navbar) */
    height: calc(100vh - 56px);
    overflow: hidden;
}

/* Mobile: height managed by layout (content-fixed-height uses flex column) */
@media (max-width: 991.98px) {
    .messages-container-root[b-zdjd2hv7ul] {
        flex: 1;
        min-height: 0;
    }
}
/* /Components/Pages/Messages/TemplateMessagesDialog.razor.rz.scp.css */
:global(.template-messages-dialog.e-dialog)[b-49az4wdmxq]
{
    top: 4rem !important;
    transform: translate(-50%, 0) !important;
}

:global(.reschedule-dialog.e-dialog)[b-49az4wdmxq]
{
    top: 6rem !important;
    transform: translate(-50%, 0) !important;
}
/* /Components/Pages/Schedule/Schedule.razor.rz.scp.css */
/* Board Container */
.schedule-board[b-7kvy8y77fg] {
    display: flex;
    flex-direction: row;
    gap: 1rem;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0 1rem 1rem 1rem;
    scroll-behavior: smooth;
    scroll-snap-type: x proximity;
    scroll-padding-inline-start: 48px;
}

/* Column */
.board-column[b-7kvy8y77fg] {
    flex-shrink: 0;
    min-width: 300px;
    max-width: 360px;
    background: #ffffff;
    border: 1px solid #e5bda7;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    scroll-snap-align: start;
    overflow: hidden;
}

/* Column Header */
.column-header[b-7kvy8y77fg] {
    padding: 0;
}

.column-header .date-badge[b-7kvy8y77fg] {
    background: linear-gradient(135deg, #d4a589 0%, #af7d5f 100%);
    border: none;
    color: white;
    border-radius: 6px 6px 0 0;
    padding: 0.5rem;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 0.5rem;
}

.column-header .date-week-day[b-7kvy8y77fg] {
    font-size: 0.7rem;
    color: rgba(255, 255, 255, 0.9);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-align: right;
}

.column-header .date-day[b-7kvy8y77fg] {
    font-size: 1.75rem;
    font-weight: 600;
    color: white;
    line-height: 1;
    text-align: center;
}

.column-header .date-month[b-7kvy8y77fg] {
    font-size: 0.7rem;
    color: rgba(255, 255, 255, 0.9);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-align: left;
}

.column-header .date-info[b-7kvy8y77fg] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem;
    background: #f8f9fa;
}

.column-header .date-info .text-muted[b-7kvy8y77fg] {
    font-size: 0.7rem;
    line-height: 1;
    color: #6c757d;
}

/* Column Body */
.column-body[b-7kvy8y77fg] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.5rem;
    flex: 1;
    overflow-y: auto;
    min-height: 0;
}

/* Add Event Slot (within column, between cards) */
.add-event-slot[b-7kvy8y77fg] {
    position: relative;
    height: 8px;
    flex-shrink: 0;
}

.add-event-slot .add-event-btn[b-7kvy8y77fg] {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
}

/* Last add-event slot in each column — always visible, no hover required */
.add-event-slot-last[b-7kvy8y77fg] {
    height: 28px;
    padding: 0.15rem 0;
    flex-shrink: 0;
}

.add-event-slot-last .add-event-btn[b-7kvy8y77fg] {
    opacity: 0.4;
}

/* Add Event Slot (between columns) */
.add-between-columns[b-7kvy8y77fg] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 32px;
    align-self: center;
}

.add-event-btn[b-7kvy8y77fg] {
    border-radius: 50%;
    width: 24px;
    height: 24px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px dashed #ced4da;
    background: #f8f9fa;
    color: #6c757d;
    opacity: 0;
    transition: all 0.15s ease;
    font-size: 0.7rem;
}

.add-event-slot:hover .add-event-btn[b-7kvy8y77fg] {
    opacity: 0.6;
}

.add-event-btn:hover[b-7kvy8y77fg] {
    opacity: 1 !important;
    background: #495057;
    color: white;
    border-style: solid;
    border-color: #495057;
}

/* Between-column buttons stay always visible */
.add-between-columns .add-event-btn[b-7kvy8y77fg] {
    opacity: 0.4;
    width: 28px;
    height: 28px;
}

/* Empty State */
.empty-state[b-7kvy8y77fg] {
    background: white;
    border: 2px dashed #dee2e6;
    border-radius: 12px;
    padding: 3rem;
}

.empty-state i[b-7kvy8y77fg] {
    opacity: 0.3;
}

/* Dot Indicators */
.board-dots[b-7kvy8y77fg] {
    display: none; /* Hidden on desktop — mobile-only navigation */
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 0 16px 0;
}

.board-dot[b-7kvy8y77fg] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: none;
    padding: 0;
    cursor: pointer;
    background: #ced4da;
    transition: all 0.15s ease;
}

.board-dot:focus-visible[b-7kvy8y77fg] {
    outline: 2px solid #74583e;
    outline-offset: 2px;
}

.board-dot.dot-active[b-7kvy8y77fg] {
    width: 10px;
    height: 10px;
    background: #74583e;
}

/* Responsive — Mobile: horizontal scroll with snap */
@media (max-width: 767px) {
    .schedule-board[b-7kvy8y77fg] {
        scroll-snap-type: x mandatory;
        scroll-padding-inline-start: 0;
        padding: 0 0 1rem 0;
        height: auto; /* override desktop constraint */
    }

    .board-column[b-7kvy8y77fg] {
        min-width: 85vw;
        max-width: 85vw;
        scroll-snap-align: center;
        overflow: visible; /* override desktop overflow: hidden */
    }

    .column-body[b-7kvy8y77fg] {
        overflow-y: visible; /* natural scroll on mobile */
    }

    .add-between-columns[b-7kvy8y77fg] {
        display: none;
    }

    .board-dots[b-7kvy8y77fg] {
        display: flex; /* Show on mobile when rendered */
        padding-top: 8px;
    }

    /* On mobile, always show add-event slots (no hover) */
    .add-event-slot[b-7kvy8y77fg] {
        height: 28px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .add-event-slot .add-event-btn[b-7kvy8y77fg] {
        position: static;
        transform: none;
        opacity: 0.4;
    }
}

@media (min-width: 768px) {
    .schedule-board[b-7kvy8y77fg] {
        height: calc(100vh - 3.5rem - 70px);
    }
}

@media (min-width: 768px) and (max-width: 1199px) {
    .board-column[b-7kvy8y77fg] {
        min-width: 280px;
    }
}

@media (min-width: 1200px) {
    .board-column[b-7kvy8y77fg] {
        min-width: 320px;
    }
}

/* Print Styles */
@media print {
    .add-event-slot[b-7kvy8y77fg],
    .add-between-columns[b-7kvy8y77fg],
    .btn[b-7kvy8y77fg] {
        display: none !important;
    }

    .schedule-board[b-7kvy8y77fg] {
        flex-wrap: wrap;
        overflow: visible;
    }

    .board-column[b-7kvy8y77fg] {
        page-break-inside: avoid;
        min-width: 45%;
        max-width: 50%;
    }
}
