/* /Components/ConfigurazioneCliente/GruppiPersoneTab.razor.rz.scp.css */
.gruppi-persone-tab[b-uo8ikdmdnh] {
    width: 100%;
}

.gruppi-empty-state[b-uo8ikdmdnh] {
    max-width: 34rem;
    margin: 0.5rem auto 0;
    text-align: center;
    padding-top: 2.25rem;
    padding-bottom: 2.25rem;
}

.gruppi-empty-state-icon[b-uo8ikdmdnh] {
    width: 3.5rem;
    height: 3.5rem;
    margin: 0 auto 0.75rem;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 82%, white);
    background: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 10%, transparent);
    border: 1px solid color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 18%, transparent);
}

.gruppi-empty-state-icon i[b-uo8ikdmdnh] {
    font-size: 1.65rem;
    line-height: 1;
}

.gruppi-empty-state-title[b-uo8ikdmdnh] {
    font-weight: 700;
    font-size: 1.05rem;
    color: var(--bs-body-color);
}

.gruppi-empty-state-text[b-uo8ikdmdnh] {
    margin-top: 0.25rem;
    font-size: 0.9375rem;
}

.gruppi-persone-table-wrap[b-uo8ikdmdnh] {
    margin-top: 0.25rem;
    border-radius: var(--ermesio-card-radius, 1rem) var(--ermesio-card-radius, 1rem) 0 0;
    overflow: hidden;
}

.table.table-hover.gruppi-persone-table[b-uo8ikdmdnh] {
    --bs-table-bg: transparent;
    --bs-table-hover-bg: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 14%, var(--bs-body-bg, #fff));
}

.table.table-hover.gruppi-persone-table > tbody > tr:hover > *[b-uo8ikdmdnh] {
    --bs-table-color-state: var(--bs-table-hover-color);
    --bs-table-bg-state: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 14%, var(--bs-body-bg, #fff)) !important;
}

.gruppi-persone-table thead th[b-uo8ikdmdnh] {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 700;
    color: var(--bs-secondary-color, #64748b);
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    padding-top: 0.85rem;
    padding-bottom: 0.85rem;
}

.gruppi-persone-th-ordine[b-uo8ikdmdnh] {
    width: 5.5rem;
}

.gruppi-persone-th-azioni[b-uo8ikdmdnh] {
    width: 7.5rem;
}

.gruppi-persone-table tbody td[b-uo8ikdmdnh] {
    padding-top: 0.95rem;
    padding-bottom: 0.95rem;
    border-color: rgba(15, 23, 42, 0.06);
}

.gruppi-persone-tree-name[b-uo8ikdmdnh] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: nowrap;
    min-width: 0;
}

.gruppi-persone-tree-chevron[b-uo8ikdmdnh] {
    flex-shrink: 0;
    font-size: 0.95rem;
    line-height: 1;
    opacity: 0.75;
}

.gruppi-persone-tree-icon[b-uo8ikdmdnh] {
    flex-shrink: 0;
    font-size: 1.2rem;
    line-height: 1;
}

.gruppi-persone-td-azioni[b-uo8ikdmdnh] {
    vertical-align: middle;
    text-align: center;
}

.gruppi-persone-action-cell[b-uo8ikdmdnh] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    flex-wrap: nowrap;
    width: 100%;
    box-sizing: border-box;
}

.gruppi-persone-action-btn[b-uo8ikdmdnh] {
    width: 2.35rem;
    height: 2.35rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border-width: 1px;
    margin-left: 0;
    transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.gruppi-persone-action-btn--edit[b-uo8ikdmdnh] {
    color: var(--ermesio-violet, #8b5cf6);
    background: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 10%, white);
    border-color: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 28%, transparent);
}

.gruppi-persone-action-btn--edit:hover:not(:disabled)[b-uo8ikdmdnh] {
    color: #fff;
    background: var(--ermesio-violet, #8b5cf6);
    border-color: var(--ermesio-violet, #8b5cf6);
}

.gruppi-persone-action-btn--delete[b-uo8ikdmdnh] {
    color: var(--ermesio-danger, #d63d5e);
    background: var(--ermesio-danger-subtle, rgba(214, 61, 94, 0.09));
    border-color: var(--ermesio-danger-border, rgba(214, 61, 94, 0.32));
}

.gruppi-persone-action-btn--delete:hover:not(:disabled)[b-uo8ikdmdnh] {
    color: #fff;
    background: var(--ermesio-danger, #d63d5e);
    border-color: var(--ermesio-danger, #d63d5e);
}

.gruppi-persone-action-btn:disabled[b-uo8ikdmdnh] {
    opacity: 0.55;
}

/* Modale (stile allineato a TipologieEventoTab) */
.ermesio-tipologie-modal-root[b-uo8ikdmdnh] {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
    box-sizing: border-box;
    pointer-events: none;
}

.ermesio-tipologie-modal-backdrop[b-uo8ikdmdnh] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    pointer-events: auto;
}

.gruppi-persone-modal-shell.ermesio-tipologie-modal-shell[b-uo8ikdmdnh] {
    max-width: 32rem;
}

.ermesio-tipologie-modal-shell[b-uo8ikdmdnh] {
    position: relative;
    z-index: 1;
    pointer-events: auto;
    width: 100%;
    max-width: 26rem;
    outline: none;
}

.ermesio-tipologie-modal-card[b-uo8ikdmdnh] {
    background: var(--bs-body-bg, #fff);
    border-radius: 1.15rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow:
        0 24px 56px rgba(15, 23, 42, 0.14),
        0 0 0 1px rgba(255, 255, 255, 0.06) inset;
    max-height: min(90vh, 42rem);
    display: flex;
    flex-direction: column;
}

.ermesio-tipologie-modal-head[b-uo8ikdmdnh] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 1.25rem 1.25rem 0.5rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

.ermesio-tipologie-modal-title[b-uo8ikdmdnh] {
    font-size: 1.125rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    margin: 0;
    line-height: 1.3;
    color: var(--bs-emphasis-color, #0f172a);
}

.ermesio-tipologie-modal-close[b-uo8ikdmdnh] {
    appearance: none;
    border: 0;
    background: rgba(2, 6, 23, 0.05);
    color: var(--bs-secondary-color);
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    line-height: 1;
    cursor: pointer;
    flex-shrink: 0;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.ermesio-tipologie-modal-close:hover[b-uo8ikdmdnh] {
    background: rgba(2, 6, 23, 0.09);
    color: var(--bs-body-color);
}

.ermesio-tipologie-modal-body[b-uo8ikdmdnh] {
    padding: 1rem 1.25rem 0.25rem;
    overflow-y: auto;
}

.ermesio-tipologie-modal-footer[b-uo8ikdmdnh] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.65rem;
    padding: 1rem 1.25rem 1.2rem;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
}
/* /Components/ConfigurazioneCliente/TipologieEventoTab.razor.rz.scp.css */
.tipologie-evento-tab[b-twfqjeg8xs] {
    width: 100%;
}

/* Empty state (allineato a Utenti.razor) */
.tipologie-empty-state[b-twfqjeg8xs] {
    max-width: 34rem;
    margin: 0.5rem auto 0;
    text-align: center;
    padding-top: 2.25rem;
    padding-bottom: 2.25rem;
}

.tipologie-empty-state-icon[b-twfqjeg8xs] {
    width: 3.5rem;
    height: 3.5rem;
    margin: 0 auto 0.75rem;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 82%, white);
    background: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 10%, transparent);
    border: 1px solid color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 18%, transparent);
}

.tipologie-empty-state-icon i[b-twfqjeg8xs] {
    font-size: 1.65rem;
    line-height: 1;
}

.tipologie-empty-state-title[b-twfqjeg8xs] {
    font-weight: 700;
    font-size: 1.05rem;
    color: var(--bs-body-color);
}

.tipologie-empty-state-text[b-twfqjeg8xs] {
    margin-top: 0.25rem;
    font-size: 0.9375rem;
}

.tipologie-evento-table-wrap[b-twfqjeg8xs] {
    margin-top: 0.25rem;
    border-radius: var(--ermesio-card-radius, 1rem) var(--ermesio-card-radius, 1rem) 0 0;
    overflow: hidden;
}

/* Specificità > .table di Bootstrap così il viola vince sul grigio predefinito di --bs-table-hover-bg */
.table.table-hover.tipologie-evento-table[b-twfqjeg8xs] {
    --bs-table-bg: transparent;
    --bs-table-hover-bg: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 14%, var(--bs-body-bg, #fff));
}

.table.table-hover.tipologie-evento-table > tbody > tr:hover > *[b-twfqjeg8xs] {
    --bs-table-color-state: var(--bs-table-hover-color);
    /* !important: altri CSS possono reimpostare --bs-table-hover-bg dopo il bundle scoped */
    --bs-table-bg-state: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 14%, var(--bs-body-bg, #fff)) !important;
}

.tipologie-evento-table thead th[b-twfqjeg8xs] {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 700;
    color: var(--bs-secondary-color, #64748b);
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    padding-top: 0.85rem;
    padding-bottom: 0.85rem;
}

.tipologie-evento-th-icona[b-twfqjeg8xs] {
    width: 5.5rem;
}

.tipologie-evento-th-azioni[b-twfqjeg8xs] {
    width: 7.5rem;
    text-align: center;
}

.tipologie-evento-table tbody td[b-twfqjeg8xs] {
    padding-top: 0.95rem;
    padding-bottom: 0.95rem;
    border-color: rgba(15, 23, 42, 0.06);
}

.tipologie-evento-td-azioni[b-twfqjeg8xs] {
    vertical-align: middle;
    text-align: center;
}

.tipologie-evento-action-cell[b-twfqjeg8xs] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    flex-wrap: nowrap;
    width: 100%;
    box-sizing: border-box;
}

.tipologie-evento-table-icon[b-twfqjeg8xs] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.35rem;
    color: var(--bs-secondary-color, #64748b);
}

.tipologie-evento-action-btn[b-twfqjeg8xs] {
    width: 2.35rem;
    height: 2.35rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border-width: 1px;
    margin-left: 0;
    transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.tipologie-evento-action-btn--edit[b-twfqjeg8xs] {
    color: var(--ermesio-violet, #8b5cf6);
    background: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 10%, white);
    border-color: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 28%, transparent);
}

.tipologie-evento-action-btn--edit:hover:not(:disabled)[b-twfqjeg8xs] {
    color: #fff;
    background: var(--ermesio-violet, #8b5cf6);
    border-color: var(--ermesio-violet, #8b5cf6);
}

.tipologie-evento-action-btn--delete[b-twfqjeg8xs] {
    color: var(--ermesio-danger, #d63d5e);
    background: var(--ermesio-danger-subtle, rgba(214, 61, 94, 0.09));
    border-color: var(--ermesio-danger-border, rgba(214, 61, 94, 0.32));
}

.tipologie-evento-action-btn--delete:hover:not(:disabled)[b-twfqjeg8xs] {
    color: #fff;
    background: var(--ermesio-danger, #d63d5e);
    border-color: var(--ermesio-danger, #d63d5e);
}

.tipologie-evento-action-btn:disabled[b-twfqjeg8xs] {
    opacity: 0.55;
}

/* Modale tipologia */
.ermesio-tipologie-modal-root[b-twfqjeg8xs] {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
    box-sizing: border-box;
    pointer-events: none;
}

.ermesio-tipologie-modal-backdrop[b-twfqjeg8xs] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    pointer-events: auto;
}

.ermesio-tipologie-modal-shell[b-twfqjeg8xs] {
    position: relative;
    z-index: 1;
    pointer-events: auto;
    width: 100%;
    max-width: 26rem;
    outline: none;
}

.ermesio-tipologie-modal-card[b-twfqjeg8xs] {
    background: var(--bs-body-bg, #fff);
    border-radius: 1.15rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow:
        0 24px 56px rgba(15, 23, 42, 0.14),
        0 0 0 1px rgba(255, 255, 255, 0.06) inset;
    max-height: min(90vh, 42rem);
    display: flex;
    flex-direction: column;
}

.ermesio-tipologie-modal-head[b-twfqjeg8xs] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 1.25rem 1.25rem 0.5rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

.ermesio-tipologie-modal-title[b-twfqjeg8xs] {
    font-size: 1.125rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    margin: 0;
    line-height: 1.3;
    color: var(--bs-emphasis-color, #0f172a);
}

.ermesio-tipologie-modal-close[b-twfqjeg8xs] {
    appearance: none;
    border: 0;
    background: rgba(2, 6, 23, 0.05);
    color: var(--bs-secondary-color);
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    line-height: 1;
    cursor: pointer;
    flex-shrink: 0;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.ermesio-tipologie-modal-close:hover[b-twfqjeg8xs] {
    background: rgba(2, 6, 23, 0.09);
    color: var(--bs-body-color);
}

.ermesio-tipologie-modal-body[b-twfqjeg8xs] {
    padding: 1rem 1.25rem 0.25rem;
    overflow-y: auto;
}

.ermesio-tipologie-modal-footer[b-twfqjeg8xs] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.65rem;
    padding: 1rem 1.25rem 1.2rem;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
}

.tipologie-modal-color-bar[b-twfqjeg8xs] {
    height: 2.75rem;
    border-radius: 0.75rem !important;
    cursor: pointer;
}

/* Modale traduzioni (griglia lingue × tipologie) */
.ermesio-tipologie-traduzioni-modal-root[b-twfqjeg8xs] {
    position: fixed;
    inset: 0;
    z-index: 2010;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    box-sizing: border-box;
    pointer-events: none;
}

.ermesio-tipologie-traduzioni-modal-shell[b-twfqjeg8xs] {
    position: relative;
    z-index: 1;
    pointer-events: auto;
    width: 100%;
    max-width: min(96vw, 58rem);
    outline: none;
}

.ermesio-tipologie-traduzioni-modal-card[b-twfqjeg8xs] {
    background: var(--bs-body-bg, #fff);
    border-radius: 1.15rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow:
        0 24px 56px rgba(15, 23, 42, 0.14),
        0 0 0 1px rgba(255, 255, 255, 0.06) inset;
    max-height: min(92vh, 44rem);
    display: flex;
    flex-direction: column;
}

.ermesio-tipologie-traduzioni-modal-body[b-twfqjeg8xs] {
    padding: 0.75rem 1.25rem 0.5rem;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.tipologie-traduzioni-table-scroll[b-twfqjeg8xs] {
    overflow-x: auto;
    overflow-y: auto;
    max-height: min(58vh, 28rem);
    margin: 0 -0.25rem;
    padding: 0 0.25rem 0.25rem 0;
    -webkit-overflow-scrolling: touch;
}

.tipologie-traduzioni-grid[b-twfqjeg8xs] {
    --bs-table-bg: transparent;
    width: max-content;
    min-width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

.tipologie-traduzioni-grid thead th[b-twfqjeg8xs] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 700;
    color: var(--bs-secondary-color, #64748b);
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    white-space: nowrap;
    vertical-align: bottom;
    background-color: var(--bs-body-bg, #fff);
}

/* Colonna Tipologia: fissa a sinistra durante lo scroll orizzontale */
.tipologie-traduzioni-th-riferimento[b-twfqjeg8xs],
.tipologie-traduzioni-td-riferimento[b-twfqjeg8xs] {
    position: sticky;
    left: 0;
    width: 11.5rem;
    min-width: 11.5rem;
    max-width: 11.5rem;
    background-color: var(--bs-body-bg, #fff);
    background-clip: padding-box;
    border-right: 1px solid rgba(15, 23, 42, 0.1);
    box-shadow: 4px 0 12px -4px rgba(15, 23, 42, 0.14);
    z-index: 2;
}

.tipologie-traduzioni-th-riferimento[b-twfqjeg8xs] {
    z-index: 4;
}

.tipologie-traduzioni-td-riferimento[b-twfqjeg8xs] {
    font-size: 0.9rem;
    vertical-align: middle;
    border-color: rgba(15, 23, 42, 0.06);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Colonne lingua: larghezza fissa; la tabella allarga e attiva overflow-x sul contenitore */
.tipologie-traduzioni-th-lang[b-twfqjeg8xs],
.tipologie-traduzioni-td-input[b-twfqjeg8xs] {
    width: 11.75rem;
    min-width: 11.75rem;
    max-width: 11.75rem;
    vertical-align: middle;
    border-color: rgba(15, 23, 42, 0.06);
}

.tipologie-traduzioni-td-input .form-control[b-twfqjeg8xs] {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}
/* /Components/ConfigurazioneCliente/WhatsAppTab.razor.rz.scp.css */
.whatsapp-tab[b-hmb7jn225s] {
    width: 100%;
}

.whatsapp-tab .form-control[b-hmb7jn225s] {
    border-radius: 0.6rem;
}

.whatsapp-tab .form-text[b-hmb7jn225s] {
    font-size: 0.8125rem;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-slzlry79yo] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-slzlry79yo] {
    flex: 1;
}

.sidebar[b-slzlry79yo] {
    background: #ffffff;
    border-right: 1px solid #e5e7eb;
}

.top-row[b-slzlry79yo] {
    position: relative;
    z-index: 100;
    background-color: #ffffff;
    border-bottom: 1px solid #e5e7eb;
    justify-content: flex-end;
    box-sizing: border-box;
    min-height: var(--ermesio-brand-strip-height, calc(1.25rem + 2.5rem + 1rem));
    height: auto;
    display: flex;
    align-items: center;
}

.ermesio-topbar-burger[b-slzlry79yo] {
    display: none;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    margin: 0;
    border-radius: 999px;
    border: 1px solid #e5e7eb;
    color: #4b5563;
    cursor: pointer;
    background: #f9fafb;
}

.ermesio-topbar-burger:hover[b-slzlry79yo] {
    background: #f3f4f6;
    color: #111827;
}

.ermesio-topbar-burger i[b-slzlry79yo] {
    font-size: 1.35rem;
}

/* ::deep: link logo è in <AppBrandLink> (scoped separato). */
.top-row[b-slzlry79yo]  .ermesio-topbar-logo {
    display: none;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: inherit;
}

.top-row[b-slzlry79yo]  .ermesio-topbar-logo-img {
    display: block;
    width: auto;
    max-width: var(--ermesio-app-brand-logo-max-w, 200px);
    height: auto;
    max-height: var(--ermesio-app-brand-logo-max-h, 72px);
    object-fit: contain;
    object-position: center;
}

.ermesio-topbar-profile[b-slzlry79yo] {
    display: flex;
    align-items: center;
}

    .top-row[b-slzlry79yo]  a, .top-row[b-slzlry79yo]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-slzlry79yo]  a:hover, .top-row[b-slzlry79yo]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-slzlry79yo]  a.ermesio-userbadge:hover {
        text-decoration: none;
    }

    .top-row[b-slzlry79yo]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-slzlry79yo] {
        display: grid;
        grid-template-columns: 2.5rem 1fr auto;
        align-items: center;
        justify-content: unset;
        gap: 0.75rem;
    }

    .ermesio-topbar-burger[b-slzlry79yo] {
        display: inline-flex;
    }

    .top-row[b-slzlry79yo]  .ermesio-topbar-logo {
        display: inline-flex;
        justify-self: center;
    }

    .ermesio-topbar-profile[b-slzlry79yo] {
        justify-self: end;
    }

    .top-row[b-slzlry79yo]  a, .top-row[b-slzlry79yo]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-slzlry79yo] {
        flex-direction: row;
    }

    .sidebar[b-slzlry79yo] {
        width: 260px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-slzlry79yo] {
        position: sticky;
        top: 0;
        z-index: 100;
    }

    .top-row.auth[b-slzlry79yo]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-slzlry79yo], article[b-slzlry79yo] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-slzlry79yo] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-slzlry79yo] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.sidebar-shell[b-qg0c21gj14] {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #ffffff;
    color: #111827;
}

.sidebar-brand-row[b-qg0c21gj14] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
    padding: 1.25rem 1rem 1rem 1rem;
    min-height: var(--ermesio-brand-strip-height, calc(1.25rem + 2.5rem + 1rem));
}

@media (max-width: 640.98px) {
    .sidebar-brand-row[b-qg0c21gj14] {
        display: none;
    }
}

/* ::deep: markup del logo è in <AppBrandLink> (scoped separato). */
.sidebar-brand-row[b-qg0c21gj14]  .sidebar-brand {
    display: flex;
    align-items: center;
    flex: 1;
    min-width: 0;
    text-decoration: none;
    color: inherit;
}

.sidebar-brand-row[b-qg0c21gj14]  .sidebar-brand:hover {
    color: inherit;
    opacity: 0.92;
}

.sidebar-brand-row[b-qg0c21gj14]  .sidebar-brand-logo-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: 0;
    min-height: 2.25rem;
    max-width: 100%;
}

.sidebar-brand-row[b-qg0c21gj14]  .sidebar-brand-logo {
    display: block;
    width: auto;
    height: auto;
    max-width: var(--ermesio-app-brand-logo-max-w, 200px);
    max-height: var(--ermesio-app-brand-logo-max-h, 72px);
    object-fit: contain;
    object-position: center;
}

.sidebar-toggler-label[b-qg0c21gj14] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    margin: 0;
    border-radius: 999px;
    border: 1px solid #e5e7eb;
    color: #4b5563;
    cursor: pointer;
    background: #f9fafb;
}

.sidebar-toggler-label:hover[b-qg0c21gj14] {
    background: #f3f4f6;
    color: #111827;
}

.sidebar-toggler-label:hover i[b-qg0c21gj14] {
    transform: scale(1.08);
}

.sidebar-toggler-label i[b-qg0c21gj14] {
    font-size: 1.35rem;
    transition: transform 0.2s ease;
}

.navbar-toggler[b-qg0c21gj14] {
    appearance: none;
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}

.nav-scrollable[b-qg0c21gj14] {
    display: none;
    flex: 1;
    flex-direction: column;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0.75rem 0.75rem 1rem;
}

.navbar-toggler:checked ~ .nav-scrollable[b-qg0c21gj14] {
    display: flex;
}

.sidebar-nav[b-qg0c21gj14] {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.sidebar-nav-section[b-qg0c21gj14] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.sidebar-nav-section + .sidebar-nav-section[b-qg0c21gj14] {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #e5e7eb;
}

.sidebar-nav-heading[b-qg0c21gj14] {
    margin: 0;
    padding: 0.2rem 0.95rem 0.15rem;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.055em;
    text-transform: uppercase;
    color: #9ca3af;
    line-height: 1.35;
    user-select: none;
}

.sidebar-nav-secondary[b-qg0c21gj14] {
    margin-top: auto;
    padding-top: 1rem;
    border-top: 1px solid #e5e7eb;
}

.sidebar-nav button.sidebar-nav-item[b-qg0c21gj14] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.6rem 0.95rem;
    border-radius: 999px;
    font-size: 0.9375rem;
    font-weight: 500;
    color: #6b7280;
    line-height: 1.25;
    border: none;
    background: transparent;
    width: 100%;
    text-align: left;
    cursor: default;
    transition: background-color 0.18s ease, color 0.18s ease;
}

.sidebar-nav button.sidebar-nav-item:hover[b-qg0c21gj14] {
    background: #f3f4f6;
    color: #374151;
}

.sidebar-nav[b-qg0c21gj14]  a.sidebar-nav-link {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.6rem 0.95rem;
    border-radius: 999px;
    font-size: 0.9375rem;
    font-weight: 500;
    color: #6b7280;
    text-decoration: none;
    line-height: 1.25;
    border: none;
    background: transparent;
    transition: background-color 0.18s ease, color 0.18s ease;
}

.sidebar-nav[b-qg0c21gj14]  a.sidebar-nav-link:hover:not(.active) {
    background: #f3f4f6;
    color: #374151;
}

.sidebar-nav[b-qg0c21gj14]  a.sidebar-nav-link.active:hover {
    background: #7c3aed;
    color: #ffffff;
}

.sidebar-nav[b-qg0c21gj14]  a.sidebar-nav-link.active {
    background: #8b5cf6;
    color: #ffffff;
}

.sidebar-nav[b-qg0c21gj14]  a.sidebar-nav-link.active .sidebar-nav-icon {
    color: #ffffff;
}

.sidebar-nav-icon[b-qg0c21gj14] {
    font-size: 1.25rem;
    flex-shrink: 0;
    color: inherit;
    line-height: 1;
    transform-origin: center;
    transition: transform 0.22s ease;
}

.sidebar-nav button.sidebar-nav-item:hover .sidebar-nav-icon[b-qg0c21gj14],
.sidebar-nav[b-qg0c21gj14]  a.sidebar-nav-link:hover .sidebar-nav-icon {
    transform: scale(1.1);
}

.sidebar-nav-link--form[b-qg0c21gj14] {
    padding: 0;
}

.sidebar-logout-form[b-qg0c21gj14] {
    margin: 0;
    width: 100%;
}

.sidebar-logout-btn[b-qg0c21gj14] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    padding: 0.6rem 0.95rem;
    border-radius: 999px;
    font-size: 0.9375rem;
    font-weight: 500;
    color: #6b7280;
    text-align: left;
    border: none;
    background: transparent;
    cursor: pointer;
    transition: background-color 0.18s ease, color 0.18s ease;
}

.sidebar-logout-btn:hover[b-qg0c21gj14] {
    background: #f3f4f6;
    color: #374151;
}

.sidebar-logout-btn:hover .sidebar-nav-icon[b-qg0c21gj14] {
    transform: scale(1.1);
}

@media (prefers-reduced-motion: reduce) {
    .sidebar-nav-icon[b-qg0c21gj14],
    .sidebar-toggler-label i[b-qg0c21gj14] {
        transition: none;
    }

    .sidebar-nav button.sidebar-nav-item:hover .sidebar-nav-icon[b-qg0c21gj14],
    .sidebar-nav[b-qg0c21gj14]  a.sidebar-nav-link:hover .sidebar-nav-icon,
    .sidebar-logout-btn:hover .sidebar-nav-icon[b-qg0c21gj14],
    .sidebar-toggler-label:hover i[b-qg0c21gj14] {
        transform: none;
    }
}

@media (min-width: 641px) {
    .sidebar-toggler-label[b-qg0c21gj14] {
        display: none;
    }

    .navbar-toggler[b-qg0c21gj14] {
        display: none;
    }

    .nav-scrollable[b-qg0c21gj14] {
        display: flex;
        min-height: 0;
    }
}

@media (max-width: 640.98px) {
    /* In mobile il menu deve aprirsi in overlay sotto la topbar, senza spingere la pagina */
    .nav-scrollable[b-qg0c21gj14] {
        display: flex;
        position: fixed;
        top: var(--ermesio-brand-strip-height, calc(1.25rem + 2.5rem + 1rem));
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 300;
        background: #ffffff;
        border-top: 1px solid #e5e7eb;
        padding: 0.75rem 0.75rem 1rem;
        transform: translateY(-8px);
        opacity: 0;
        pointer-events: none;
        transition: transform 0.18s ease, opacity 0.18s ease;
    }

    .navbar-toggler:checked ~ .nav-scrollable[b-qg0c21gj14] {
        opacity: 1;
        transform: none;
        pointer-events: auto;
    }
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-kqd8nkmy84],
.components-reconnect-repeated-attempt-visible[b-kqd8nkmy84],
.components-reconnect-failed-visible[b-kqd8nkmy84],
.components-pause-visible[b-kqd8nkmy84],
.components-resume-failed-visible[b-kqd8nkmy84],
.components-rejoining-animation[b-kqd8nkmy84] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-kqd8nkmy84],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-kqd8nkmy84],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-kqd8nkmy84],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-kqd8nkmy84],
#components-reconnect-modal.components-reconnect-retrying[b-kqd8nkmy84],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-kqd8nkmy84],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-kqd8nkmy84],
#components-reconnect-modal.components-reconnect-failed[b-kqd8nkmy84],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-kqd8nkmy84] {
    display: block;
}


#components-reconnect-modal[b-kqd8nkmy84] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-kqd8nkmy84 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-kqd8nkmy84 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-kqd8nkmy84 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-kqd8nkmy84]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-kqd8nkmy84 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-kqd8nkmy84 {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-kqd8nkmy84 {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-kqd8nkmy84 {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-kqd8nkmy84] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-kqd8nkmy84] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-kqd8nkmy84] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-kqd8nkmy84] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-kqd8nkmy84] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-kqd8nkmy84] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-kqd8nkmy84] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-kqd8nkmy84 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-kqd8nkmy84] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-kqd8nkmy84 {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/Auth/ForgotPassword.razor.rz.scp.css */
/* Recupero password — stessi stili della login (CSS isolato) */

.login-page[b-3ms88nv1xg] {
    --login-primary: #7c3aed;
    --login-primary-hover: #6d28d9;
    --login-bg: #f9fafb;
    --login-text: #111827;
    --login-muted: #6b7280;
    --login-muted-light: #9ca3af;
    --login-input-bg: #eff6ff;
    --login-card: #ffffff;
    --login-border: #e5e7eb;
    --login-danger-bg: #fef2f2;
    --login-danger-text: #b91c1c;

    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--login-bg);
    color: var(--login-text);
    -webkit-font-smoothing: antialiased;
}

.login-shell[b-3ms88nv1xg] {
    flex: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(2rem, 6vw, 5rem);
    max-width: 1080px;
    margin: 0 auto;
    padding: clamp(1.5rem, 4vw, 3rem) clamp(1.25rem, 4vw, 2.5rem);
    width: 100%;
}

.login-card-logo-mobile[b-3ms88nv1xg] {
    display: none;
}

@media (max-width: 900px) {
    .login-shell[b-3ms88nv1xg] {
        grid-template-columns: 1fr;
        align-items: start;
        padding-top: 2rem;
    }

    .login-aside[b-3ms88nv1xg] {
        display: none;
    }

    .login-card[b-3ms88nv1xg] {
        position: relative;
    }

    .login-card-logo-mobile[b-3ms88nv1xg] {
        display: block;
        position: absolute;
        top: 1.25rem;
        right: 1.25rem;
        height: 1.75rem;
        width: auto;
        max-width: 5.25rem;
        object-fit: contain;
        object-position: right center;
    }

    .login-card-title[b-3ms88nv1xg] {
        padding-right: 5.5rem;
        font-size: 1.3rem;
    }
}

.login-aside[b-3ms88nv1xg] {
    padding-right: 0.5rem;
}

.login-aside .login-tagline[b-3ms88nv1xg] {
    max-width: min(100%, 30rem);
}

.login-brand[b-3ms88nv1xg] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.25rem;
}

.login-brand-logo-wrap[b-3ms88nv1xg] {
    line-height: 0;
}

.login-brand-logo[b-3ms88nv1xg] {
    display: block;
    width: 100%;
    max-width: min(100%, 20rem);
    height: auto;
}

.login-tagline[b-3ms88nv1xg] {
    margin: 0;
    max-width: 22rem;
    font-size: 1rem;
    line-height: 1.55;
    color: var(--login-muted);
    font-weight: 400;
}

.login-stars[b-3ms88nv1xg] {
    display: flex;
    gap: 0.2rem;
    margin: 0.25rem 0 0;
}

.login-star[b-3ms88nv1xg] {
    width: 1.125rem;
    height: 1.125rem;
    color: var(--login-primary);
    flex-shrink: 0;
}

.login-quote[b-3ms88nv1xg] {
    margin: 0;
    max-width: 26rem;
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--login-muted);
    font-weight: 400;
}

.login-panel[b-3ms88nv1xg] {
    display: flex;
    justify-content: center;
}

.login-card[b-3ms88nv1xg] {
    width: 100%;
    max-width: 420px;
    background: var(--login-card);
    border-radius: 16px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.06), 0 10px 40px -10px rgba(0, 0, 0, 0.12);
    padding: clamp(1.75rem, 4vw, 2.5rem);
}

.login-card-title[b-3ms88nv1xg] {
    margin: 0 0 0.35rem;
    font-size: 1.75rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--login-text);
}

.login-card-sub[b-3ms88nv1xg] {
    margin: 0 0 1.75rem;
    font-size: 0.9375rem;
    color: var(--login-muted);
}

.login-google-btn[b-3ms88nv1xg] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    width: 100%;
    padding: 0.75rem 1.35rem;
    font-size: 0.9375rem;
    font-weight: 500;
    font-family: inherit;
    color: #374151;
    background: #fff;
    border: 1px solid var(--login-border);
    border-radius: 9999px;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.login-google-btn:hover[b-3ms88nv1xg] {
    background: #f9fafb;
    border-color: #d1d5db;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.login-google-btn:active[b-3ms88nv1xg] {
    background: #f3f4f6;
}

.login-google-icon[b-3ms88nv1xg] {
    width: 1.25rem;
    height: 1.25rem;
    flex-shrink: 0;
}

.login-divider[b-3ms88nv1xg] {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin: 1.5rem 0 1.5rem;
    color: var(--login-muted-light);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.login-divider[b-3ms88nv1xg]::before,
.login-divider[b-3ms88nv1xg]::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--login-border);
}

.login-field[b-3ms88nv1xg] {
    margin-bottom: 1.125rem;
}

.login-label[b-3ms88nv1xg] {
    display: block;
    margin-bottom: 0.45rem;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--login-muted);
}

.login-label-row[b-3ms88nv1xg] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.45rem;
}

.login-label-row .login-label[b-3ms88nv1xg] {
    margin-bottom: 0;
}

.login-forgot[b-3ms88nv1xg] {
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--login-muted);
    text-decoration: none;
    white-space: nowrap;
}

.login-forgot:hover[b-3ms88nv1xg] {
    color: var(--login-primary);
    text-decoration: underline;
}

.login-input[b-3ms88nv1xg] {
    display: block;
    width: 100%;
    padding: 0.75rem 1rem;
    font-size: 0.9375rem;
    font-family: inherit;
    color: var(--login-text);
    background: var(--login-input-bg);
    border: none;
    border-radius: 12px;
    outline: none;
    transition: box-shadow 0.15s ease;
}

.login-input[b-3ms88nv1xg]::placeholder {
    color: #9ca3af;
}

.login-input:focus[b-3ms88nv1xg] {
    box-shadow: 0 0 0 2px rgba(124, 58, 237, 0.25);
}

.login-alert[b-3ms88nv1xg] {
    margin-bottom: 1.25rem;
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
    line-height: 1.45;
    color: var(--login-danger-text);
    background: var(--login-danger-bg);
    border-radius: 12px;
}

.login-info[b-3ms88nv1xg] {
    margin-bottom: 1.25rem;
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
    line-height: 1.45;
    color: #065f46;
    background: #ecfdf5;
    border-radius: 12px;
}

.login-submit[b-3ms88nv1xg] {
    width: 100%;
    margin-top: 0.25rem;
    padding: 0.9rem 1.35rem;
    font-size: 1rem;
    font-weight: 600;
    font-family: inherit;
    color: #fff;
    background: var(--login-primary);
    border: none;
    border-radius: 9999px;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.05s ease;
}

.login-submit:hover[b-3ms88nv1xg] {
    background: var(--login-primary-hover);
}

.login-submit:active[b-3ms88nv1xg] {
    transform: scale(0.99);
}

.login-card-footer[b-3ms88nv1xg] {
    display: none;
    margin: 1.5rem 0 0;
    text-align: center;
    font-size: 0.9375rem;
    color: var(--login-muted);
}

.login-accent-link[b-3ms88nv1xg] {
    color: var(--login-primary);
    font-weight: 600;
    text-decoration: none;
}

.login-accent-link:hover[b-3ms88nv1xg] {
    text-decoration: underline;
}

.login-site-footer[b-3ms88nv1xg] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 1rem 1.75rem;
    padding: 1.25rem 1rem 1.75rem;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--login-muted-light);
}

.login-site-footer a[b-3ms88nv1xg] {
    color: inherit;
    text-decoration: none;
}

.login-site-footer a:hover[b-3ms88nv1xg] {
    color: var(--login-muted);
    text-decoration: underline;
}

.login-back-to-login[b-3ms88nv1xg] {
    margin: 1.5rem 0 0;
    text-align: center;
    font-size: 0.9375rem;
    color: var(--login-muted);
}

.login-back-to-login-sep[b-3ms88nv1xg] {
    color: var(--login-muted-light);
}
/* /Components/Pages/Auth/Login.razor.rz.scp.css */
/* Login — CSS isolato (bundle Ermesio.styles.css) */

.login-page[b-plk539hm56] {
    --login-primary: #7c3aed;
    --login-primary-hover: #6d28d9;
    --login-bg: #f9fafb;
    --login-text: #111827;
    --login-muted: #6b7280;
    --login-muted-light: #9ca3af;
    --login-input-bg: #eff6ff;
    --login-card: #ffffff;
    --login-border: #e5e7eb;
    --login-danger-bg: #fef2f2;
    --login-danger-text: #b91c1c;

    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--login-bg);
    color: var(--login-text);
    -webkit-font-smoothing: antialiased;
}

.login-shell[b-plk539hm56] {
    flex: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(2rem, 6vw, 5rem);
    max-width: 1080px;
    margin: 0 auto;
    padding: clamp(1.5rem, 4vw, 3rem) clamp(1.25rem, 4vw, 2.5rem);
    width: 100%;
}

.login-card-logo-mobile[b-plk539hm56] {
    display: none;
}

@media (max-width: 900px) {
    .login-shell[b-plk539hm56] {
        grid-template-columns: 1fr;
        align-items: start;
        padding-top: 2rem;
    }

    .login-aside[b-plk539hm56] {
        display: none;
    }

    .login-card[b-plk539hm56] {
        position: relative;
    }

    .login-card-logo-mobile[b-plk539hm56] {
        display: block;
        position: absolute;
        top: 1.25rem;
        right: 1.25rem;
        height: 1.75rem;
        width: auto;
        max-width: 5.25rem;
        object-fit: contain;
        object-position: right center;
    }

    .login-card-title[b-plk539hm56] {
        padding-right: 5.5rem;
    }
}

.login-aside[b-plk539hm56] {
    padding-right: 0.5rem;
}

.login-brand[b-plk539hm56] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.25rem;
}

.login-brand-logo-wrap[b-plk539hm56] {
    line-height: 0;
}

.login-brand-logo[b-plk539hm56] {
    display: block;
    width: 100%;
    max-width: min(100%, 20rem);
    height: auto;
}

.login-tagline[b-plk539hm56] {
    margin: 0;
    max-width: 22rem;
    font-size: 1rem;
    line-height: 1.55;
    color: var(--login-muted);
    font-weight: 400;
}

.login-stars[b-plk539hm56] {
    display: flex;
    gap: 0.2rem;
    margin: 0.25rem 0 0;
}

.login-star[b-plk539hm56] {
    width: 1.125rem;
    height: 1.125rem;
    color: var(--login-primary);
    flex-shrink: 0;
}

.login-quote[b-plk539hm56] {
    margin: 0;
    max-width: 26rem;
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--login-muted);
    font-weight: 400;
}

.login-panel[b-plk539hm56] {
    display: flex;
    justify-content: center;
}

.login-card[b-plk539hm56] {
    width: 100%;
    max-width: 420px;
    background: var(--login-card);
    border-radius: 16px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.06), 0 10px 40px -10px rgba(0, 0, 0, 0.12);
    padding: clamp(1.75rem, 4vw, 2.5rem);
}

.login-card-title[b-plk539hm56] {
    margin: 0 0 0.35rem;
    font-size: 1.75rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--login-text);
}

.login-card-sub[b-plk539hm56] {
    margin: 0 0 1.75rem;
    font-size: 0.9375rem;
    color: var(--login-muted);
}

.login-google-btn[b-plk539hm56] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    width: 100%;
    padding: 0.75rem 1.35rem;
    font-size: 0.9375rem;
    font-weight: 500;
    font-family: inherit;
    color: #374151;
    background: #fff;
    border: 1px solid var(--login-border);
    border-radius: 9999px;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.login-google-btn:hover[b-plk539hm56] {
    background: #f9fafb;
    border-color: #d1d5db;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.login-google-btn:active[b-plk539hm56] {
    background: #f3f4f6;
}

.login-google-icon[b-plk539hm56] {
    width: 1.25rem;
    height: 1.25rem;
    flex-shrink: 0;
}

.login-divider[b-plk539hm56] {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin: 1.5rem 0 1.5rem;
    color: var(--login-muted-light);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.login-divider[b-plk539hm56]::before,
.login-divider[b-plk539hm56]::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--login-border);
}

.login-field[b-plk539hm56] {
    margin-bottom: 1.125rem;
}

.login-label[b-plk539hm56] {
    display: block;
    margin-bottom: 0.45rem;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--login-muted);
}

.login-label-row[b-plk539hm56] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.45rem;
}

.login-label-row .login-label[b-plk539hm56] {
    margin-bottom: 0;
}

.login-forgot[b-plk539hm56] {
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--login-muted);
    text-decoration: none;
    white-space: nowrap;
}

.login-forgot:hover[b-plk539hm56] {
    color: var(--login-primary);
    text-decoration: underline;
}

.login-input[b-plk539hm56] {
    display: block;
    width: 100%;
    padding: 0.75rem 1rem;
    font-size: 0.9375rem;
    font-family: inherit;
    color: var(--login-text);
    background: var(--login-input-bg);
    border: none;
    border-radius: 12px;
    outline: none;
    transition: box-shadow 0.15s ease;
}

.login-input[b-plk539hm56]::placeholder {
    color: #9ca3af;
}

.login-input:focus[b-plk539hm56] {
    box-shadow: 0 0 0 2px rgba(124, 58, 237, 0.25);
}

.login-alert[b-plk539hm56] {
    margin-bottom: 1.25rem;
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
    line-height: 1.45;
    color: var(--login-danger-text);
    background: var(--login-danger-bg);
    border-radius: 12px;
}

.login-info[b-plk539hm56] {
    margin-bottom: 1.25rem;
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
    line-height: 1.45;
    color: #065f46;
    background: #ecfdf5;
    border-radius: 12px;
}

.login-submit[b-plk539hm56] {
    width: 100%;
    margin-top: 0.25rem;
    padding: 0.9rem 1.35rem;
    font-size: 1rem;
    font-weight: 600;
    font-family: inherit;
    color: #fff;
    background: var(--login-primary);
    border: none;
    border-radius: 9999px;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.05s ease;
}

.login-submit:hover[b-plk539hm56] {
    background: var(--login-primary-hover);
}

.login-submit:active[b-plk539hm56] {
    transform: scale(0.99);
}

.login-card-footer[b-plk539hm56] {
    margin: 1.5rem 0 0;
    text-align: center;
    font-size: 0.9375rem;
    color: var(--login-muted);
}

.login-accent-link[b-plk539hm56] {
    color: var(--login-primary);
    font-weight: 600;
    text-decoration: none;
}

.login-accent-link:hover[b-plk539hm56] {
    text-decoration: underline;
}

.login-site-footer[b-plk539hm56] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 1rem 1.75rem;
    padding: 1.25rem 1rem 1.75rem;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--login-muted-light);
}

.login-site-footer a[b-plk539hm56] {
    color: inherit;
    text-decoration: none;
}

.login-site-footer a:hover[b-plk539hm56] {
    color: var(--login-muted);
    text-decoration: underline;
}
/* /Components/Pages/Auth/Register.razor.rz.scp.css */
/* Registrazione — stessi stili della login + wizard (CSS isolato) */

.login-page[b-2o2oi0p0fr] {
    --login-primary: #7c3aed;
    --login-primary-hover: #6d28d9;
    --login-bg: #f9fafb;
    --login-text: #111827;
    --login-muted: #6b7280;
    --login-muted-light: #9ca3af;
    --login-input-bg: #eff6ff;
    --login-card: #ffffff;
    --login-border: #e5e7eb;
    --login-danger-bg: #fef2f2;
    --login-danger-text: #b91c1c;

    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--login-bg);
    color: var(--login-text);
    -webkit-font-smoothing: antialiased;
}

.login-shell[b-2o2oi0p0fr] {
    flex: 1;
    display: grid;
    /* Più spazio al form (destra), colonna sinistra più stretta */
    grid-template-columns: minmax(0, 0.36fr) minmax(0, 0.64fr);
    align-items: center;
    gap: clamp(1.5rem, 4vw, 3.5rem);
    max-width: 1180px;
    margin: 0 auto;
    padding: clamp(1.5rem, 4vw, 3rem) clamp(1.25rem, 4vw, 2.5rem);
    width: 100%;
}

.login-card-logo-mobile[b-2o2oi0p0fr] {
    display: none;
}

@media (max-width: 900px) {
    .login-shell[b-2o2oi0p0fr] {
        grid-template-columns: 1fr;
        align-items: start;
        padding-top: 2rem;
    }

    .login-aside[b-2o2oi0p0fr] {
        display: none;
    }

    .login-card[b-2o2oi0p0fr] {
        position: relative;
    }

    .login-card-logo-mobile[b-2o2oi0p0fr] {
        display: block;
        position: absolute;
        top: 1.25rem;
        right: 1.25rem;
        height: 1.75rem;
        width: auto;
        max-width: 5.25rem;
        object-fit: contain;
        object-position: right center;
    }

    .login-card-title[b-2o2oi0p0fr] {
        padding-right: 5.5rem;
    }

    .register-wizard-progress[b-2o2oi0p0fr] {
        padding-right: 5.5rem;
    }
}

.login-aside[b-2o2oi0p0fr] {
    padding-right: 0.5rem;
    max-width: 22rem;
}

.login-brand[b-2o2oi0p0fr] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
}

.login-brand-logo-wrap[b-2o2oi0p0fr] {
    line-height: 0;
}

.login-brand-logo[b-2o2oi0p0fr] {
    display: block;
    width: 100%;
    max-width: min(100%, 15rem);
    height: auto;
}

.login-tagline[b-2o2oi0p0fr] {
    margin: 0;
    max-width: 18rem;
    font-size: 0.9375rem;
    line-height: 1.5;
    color: var(--login-muted);
    font-weight: 400;
}

.login-stars[b-2o2oi0p0fr] {
    display: flex;
    gap: 0.2rem;
    margin: 0.25rem 0 0;
}

.login-star[b-2o2oi0p0fr] {
    width: 1rem;
    height: 1rem;
    color: var(--login-primary);
    flex-shrink: 0;
}

.login-quote[b-2o2oi0p0fr] {
    margin: 0;
    max-width: 19rem;
    font-size: 0.875rem;
    line-height: 1.55;
    color: var(--login-muted);
    font-weight: 400;
}

.login-panel[b-2o2oi0p0fr] {
    display: flex;
    justify-content: center;
    min-width: 0;
}

.login-card[b-2o2oi0p0fr] {
    width: 100%;
    max-width: 520px;
    background: var(--login-card);
    border-radius: 16px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.06), 0 10px 40px -10px rgba(0, 0, 0, 0.12);
    padding: clamp(1.75rem, 4vw, 2.5rem);
}

.login-card-title[b-2o2oi0p0fr] {
    margin: 0 0 0.35rem;
    font-size: 1.75rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--login-text);
}

.login-card-sub[b-2o2oi0p0fr] {
    margin: 0 0 1.75rem;
    font-size: 0.9375rem;
    color: var(--login-muted);
}

.login-google-btn[b-2o2oi0p0fr] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    width: 100%;
    padding: 0.75rem 1.35rem;
    font-size: 0.9375rem;
    font-weight: 500;
    font-family: inherit;
    color: #374151;
    background: #fff;
    border: 1px solid var(--login-border);
    border-radius: 9999px;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.login-google-btn:hover[b-2o2oi0p0fr] {
    background: #f9fafb;
    border-color: #d1d5db;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.login-google-btn:active[b-2o2oi0p0fr] {
    background: #f3f4f6;
}

.login-google-icon[b-2o2oi0p0fr] {
    width: 1.25rem;
    height: 1.25rem;
    flex-shrink: 0;
}

.login-divider[b-2o2oi0p0fr] {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin: 1.5rem 0 1.5rem;
    color: var(--login-muted-light);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.login-divider[b-2o2oi0p0fr]::before,
.login-divider[b-2o2oi0p0fr]::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--login-border);
}

.login-field[b-2o2oi0p0fr] {
    margin-bottom: 1.125rem;
}

.login-label[b-2o2oi0p0fr] {
    display: block;
    margin-bottom: 0.45rem;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--login-muted);
}

.login-label-row[b-2o2oi0p0fr] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.45rem;
}

.login-label-row .login-label[b-2o2oi0p0fr] {
    margin-bottom: 0;
}

.login-forgot[b-2o2oi0p0fr] {
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--login-muted);
    text-decoration: none;
    white-space: nowrap;
}

.login-forgot:hover[b-2o2oi0p0fr] {
    color: var(--login-primary);
    text-decoration: underline;
}

.login-input[b-2o2oi0p0fr] {
    display: block;
    width: 100%;
    padding: 0.75rem 1rem;
    font-size: 0.9375rem;
    font-family: inherit;
    color: var(--login-text);
    background: var(--login-input-bg);
    border: none;
    border-radius: 12px;
    outline: none;
    transition: box-shadow 0.15s ease;
}

.login-input[b-2o2oi0p0fr]::placeholder {
    color: #9ca3af;
}

.login-input:focus[b-2o2oi0p0fr] {
    box-shadow: 0 0 0 2px rgba(124, 58, 237, 0.25);
}

select.login-input.login-select[b-2o2oi0p0fr] {
    cursor: pointer;
    appearance: auto;
    background-color: var(--login-input-bg);
}

.register-field-hint[b-2o2oi0p0fr] {
    margin: 0.35rem 0 0;
    font-size: 0.8125rem;
    line-height: 1.4;
    color: var(--login-muted);
    font-weight: 400;
}

.register-azienda-field-root[b-2o2oi0p0fr] {
    position: relative;
}

.register-azienda-field[b-2o2oi0p0fr] {
    position: relative;
    z-index: 1;
}

.register-azienda-field--open[b-2o2oi0p0fr] {
    z-index: 2000;
}

.register-azienda-backdrop[b-2o2oi0p0fr] {
    position: fixed;
    inset: 0;
    z-index: 1999;
    background: rgba(15, 23, 42, 0.1);
}

.register-azienda-search-input[b-2o2oi0p0fr] {
    position: relative;
    z-index: 2001;
}

.register-azienda-suggest[b-2o2oi0p0fr] {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 0.35rem);
    z-index: 2002;
    max-height: 14rem;
    overflow-y: auto;
    margin: 0;
    padding: 0.35rem 0;
    list-style: none;
    background: var(--login-card);
    border: 1px solid var(--login-border);
    border-radius: 12px;
    box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.18);
}

.register-azienda-suggest-li[b-2o2oi0p0fr] {
    margin: 0;
    padding: 0;
}

.register-azienda-suggest-item[b-2o2oi0p0fr] {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 0.75rem;
    padding: 0.55rem 0.85rem;
    text-align: left;
    font-family: inherit;
    font-size: 0.9375rem;
    color: var(--login-text);
    background: transparent;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.12s ease;
}

.register-azienda-suggest-item:hover[b-2o2oi0p0fr] {
    background: #f3f4f6;
}

.register-azienda-suggest-empty[b-2o2oi0p0fr] {
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
    color: var(--login-muted);
    list-style: none;
}

.register-azienda-row[b-2o2oi0p0fr] {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
}

.register-azienda-name[b-2o2oi0p0fr] {
    flex: 1;
    min-width: 0;
    font-weight: 500;
    line-height: 1.35;
}

.register-azienda-logo[b-2o2oi0p0fr] {
    width: 2.25rem;
    height: 2.25rem;
    flex-shrink: 0;
    object-fit: contain;
    border-radius: 8px;
    background: #fff;
    border: 1px solid var(--login-border);
}

.register-azienda-selected .register-azienda-logo[b-2o2oi0p0fr] {
    width: 2.5rem;
    height: 2.5rem;
}

.register-azienda-logo--fallback[b-2o2oi0p0fr] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: var(--login-primary);
    background: #f3e8ff;
    border: 1px solid #e9d5ff;
}

.register-azienda-selected[b-2o2oi0p0fr] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.65rem 0.85rem;
    background: var(--login-input-bg);
    border-radius: 12px;
    border: 1px solid var(--login-border);
}

.register-azienda-selected .register-azienda-row[b-2o2oi0p0fr] {
    flex: 1;
    min-width: 0;
}

.register-azienda-change[b-2o2oi0p0fr] {
    flex-shrink: 0;
    padding: 0.35rem 0.65rem;
    font-size: 0.8125rem;
    font-weight: 600;
    font-family: inherit;
    color: var(--login-primary);
    background: transparent;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    text-decoration: underline;
}

.register-azienda-change:hover[b-2o2oi0p0fr] {
    color: var(--login-primary-hover);
}

.login-alert[b-2o2oi0p0fr] {
    margin-bottom: 1.25rem;
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
    line-height: 1.45;
    color: var(--login-danger-text);
    background: var(--login-danger-bg);
    border-radius: 12px;
}

.login-info[b-2o2oi0p0fr] {
    margin-bottom: 1.25rem;
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
    line-height: 1.45;
    color: #065f46;
    background: #ecfdf5;
    border-radius: 12px;
}

.login-submit[b-2o2oi0p0fr] {
    width: 100%;
    margin-top: 0.25rem;
    padding: 0.9rem 1.35rem;
    font-size: 1rem;
    font-weight: 600;
    font-family: inherit;
    color: #fff;
    background: var(--login-primary);
    border: none;
    border-radius: 9999px;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.05s ease;
}

.login-submit:hover[b-2o2oi0p0fr] {
    background: var(--login-primary-hover);
}

.login-submit:active[b-2o2oi0p0fr] {
    transform: scale(0.99);
}

.login-card-footer[b-2o2oi0p0fr] {
    display: none;
    margin: 1.5rem 0 0;
    text-align: center;
    font-size: 0.9375rem;
    color: var(--login-muted);
}

.login-accent-link[b-2o2oi0p0fr] {
    color: var(--login-primary);
    font-weight: 600;
    text-decoration: none;
}

.login-accent-link:hover[b-2o2oi0p0fr] {
    text-decoration: underline;
}

.login-site-footer[b-2o2oi0p0fr] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 1rem 1.75rem;
    padding: 1.25rem 1rem 1.75rem;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--login-muted-light);
}

.login-site-footer a[b-2o2oi0p0fr] {
    color: inherit;
    text-decoration: none;
}

.login-site-footer a:hover[b-2o2oi0p0fr] {
    color: var(--login-muted);
    text-decoration: underline;
}

.register-wizard-progress[b-2o2oi0p0fr] {
    margin: 0 0 0.75rem;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--login-muted-light);
}

.register-type-list[b-2o2oi0p0fr] {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    margin-bottom: 1.25rem;
}

.register-type-btn[b-2o2oi0p0fr] {
    display: block;
    width: 100%;
    padding: 0.85rem 1rem;
    text-align: left;
    font-family: inherit;
    color: var(--login-text);
    background: #fff;
    border: 1px solid var(--login-border);
    border-radius: 12px;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.register-type-btn:hover[b-2o2oi0p0fr] {
    border-color: #d1d5db;
    background: #fafafa;
}

.register-type-btn--selected[b-2o2oi0p0fr] {
    border-color: var(--login-primary);
    box-shadow: 0 0 0 2px rgba(124, 58, 237, 0.2);
    background: #faf5ff;
}

.register-type-title[b-2o2oi0p0fr] {
    display: block;
    font-size: 0.9375rem;
    font-weight: 600;
    margin-bottom: 0.2rem;
}

.register-type-desc[b-2o2oi0p0fr] {
    display: block;
    font-size: 0.8125rem;
    font-weight: 400;
    color: var(--login-muted);
    line-height: 1.4;
}

.register-step2-fields[b-2o2oi0p0fr] {
    margin-bottom: 0.25rem;
}

.register-actions-row[b-2o2oi0p0fr] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 0.5rem;
}

.register-actions-row .register-btn-primary[b-2o2oi0p0fr] {
    flex: 1 1 8rem;
    margin-top: 0;
}

.register-btn-secondary[b-2o2oi0p0fr] {
    flex: 1 1 6rem;
    padding: 0.9rem 1rem;
    font-size: 1rem;
    font-weight: 600;
    font-family: inherit;
    color: var(--login-muted);
    background: #fff;
    border: 1px solid var(--login-border);
    border-radius: 9999px;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.register-btn-secondary:hover[b-2o2oi0p0fr] {
    color: var(--login-text);
    border-color: #d1d5db;
    background: #f9fafb;
}

.login-submit:disabled[b-2o2oi0p0fr] {
    opacity: 0.45;
    cursor: not-allowed;
    transform: none;
}

.login-submit:disabled:hover[b-2o2oi0p0fr] {
    background: var(--login-primary);
}

.login-back-to-login[b-2o2oi0p0fr] {
    margin: 1.5rem 0 0;
    text-align: center;
    font-size: 0.9375rem;
    color: var(--login-muted);
}
/* /Components/Pages/Auth/ResetPassword.razor.rz.scp.css */
/* Reset password — stessi stili della login (CSS isolato) */

.login-page[b-wouzflfpy1] {
    --login-primary: #7c3aed;
    --login-primary-hover: #6d28d9;
    --login-bg: #f9fafb;
    --login-text: #111827;
    --login-muted: #6b7280;
    --login-muted-light: #9ca3af;
    --login-input-bg: #eff6ff;
    --login-card: #ffffff;
    --login-border: #e5e7eb;
    --login-danger-bg: #fef2f2;
    --login-danger-text: #b91c1c;

    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--login-bg);
    color: var(--login-text);
    -webkit-font-smoothing: antialiased;
}

.login-shell[b-wouzflfpy1] {
    flex: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(2rem, 6vw, 5rem);
    max-width: 1080px;
    margin: 0 auto;
    padding: clamp(1.5rem, 4vw, 3rem) clamp(1.25rem, 4vw, 2.5rem);
    width: 100%;
}

.login-card-logo-mobile[b-wouzflfpy1] {
    display: none;
}

@media (max-width: 900px) {
    .login-shell[b-wouzflfpy1] {
        grid-template-columns: 1fr;
        align-items: start;
        padding-top: 2rem;
    }

    .login-aside[b-wouzflfpy1] {
        display: none;
    }

    .login-card[b-wouzflfpy1] {
        position: relative;
    }

    .login-card-logo-mobile[b-wouzflfpy1] {
        display: block;
        position: absolute;
        top: 1.25rem;
        right: 1.25rem;
        height: 1.75rem;
        width: auto;
        max-width: 5.25rem;
        object-fit: contain;
        object-position: right center;
    }

    .login-card-title[b-wouzflfpy1] {
        padding-right: 5.5rem;
    }
}

.login-aside[b-wouzflfpy1] {
    padding-right: 0.5rem;
}

.login-aside .login-tagline[b-wouzflfpy1] {
    max-width: min(100%, 30rem);
}

.login-brand[b-wouzflfpy1] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.25rem;
}

.login-brand-logo-wrap[b-wouzflfpy1] {
    line-height: 0;
}

.login-brand-logo[b-wouzflfpy1] {
    display: block;
    width: 100%;
    max-width: min(100%, 20rem);
    height: auto;
}

.login-tagline[b-wouzflfpy1] {
    margin: 0;
    max-width: 22rem;
    font-size: 1rem;
    line-height: 1.55;
    color: var(--login-muted);
    font-weight: 400;
}

.login-stars[b-wouzflfpy1] {
    display: flex;
    gap: 0.2rem;
    margin: 0.25rem 0 0;
}

.login-star[b-wouzflfpy1] {
    width: 1.125rem;
    height: 1.125rem;
    color: var(--login-primary);
    flex-shrink: 0;
}

.login-quote[b-wouzflfpy1] {
    margin: 0;
    max-width: 26rem;
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--login-muted);
    font-weight: 400;
}

.login-panel[b-wouzflfpy1] {
    display: flex;
    justify-content: center;
}

.login-card[b-wouzflfpy1] {
    width: 100%;
    max-width: 420px;
    background: var(--login-card);
    border-radius: 16px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.06), 0 10px 40px -10px rgba(0, 0, 0, 0.12);
    padding: clamp(1.75rem, 4vw, 2.5rem);
}

.login-card-title[b-wouzflfpy1] {
    margin: 0 0 0.35rem;
    font-size: 1.75rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--login-text);
}

.login-card-sub[b-wouzflfpy1] {
    margin: 0 0 1.75rem;
    font-size: 0.9375rem;
    color: var(--login-muted);
}

.login-google-btn[b-wouzflfpy1] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    width: 100%;
    padding: 0.75rem 1.35rem;
    font-size: 0.9375rem;
    font-weight: 500;
    font-family: inherit;
    color: #374151;
    background: #fff;
    border: 1px solid var(--login-border);
    border-radius: 9999px;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.login-google-btn:hover[b-wouzflfpy1] {
    background: #f9fafb;
    border-color: #d1d5db;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.login-google-btn:active[b-wouzflfpy1] {
    background: #f3f4f6;
}

.login-google-icon[b-wouzflfpy1] {
    width: 1.25rem;
    height: 1.25rem;
    flex-shrink: 0;
}

.login-divider[b-wouzflfpy1] {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin: 1.5rem 0 1.5rem;
    color: var(--login-muted-light);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.login-divider[b-wouzflfpy1]::before,
.login-divider[b-wouzflfpy1]::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--login-border);
}

.login-field[b-wouzflfpy1] {
    margin-bottom: 1.125rem;
}

.login-label[b-wouzflfpy1] {
    display: block;
    margin-bottom: 0.45rem;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--login-muted);
}

.login-label-row[b-wouzflfpy1] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.45rem;
}

.login-label-row .login-label[b-wouzflfpy1] {
    margin-bottom: 0;
}

.login-forgot[b-wouzflfpy1] {
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--login-muted);
    text-decoration: none;
    white-space: nowrap;
}

.login-forgot:hover[b-wouzflfpy1] {
    color: var(--login-primary);
    text-decoration: underline;
}

.login-input[b-wouzflfpy1] {
    display: block;
    width: 100%;
    padding: 0.75rem 1rem;
    font-size: 0.9375rem;
    font-family: inherit;
    color: var(--login-text);
    background: var(--login-input-bg);
    border: none;
    border-radius: 12px;
    outline: none;
    transition: box-shadow 0.15s ease;
}

.login-input[b-wouzflfpy1]::placeholder {
    color: #9ca3af;
}

.login-input:focus[b-wouzflfpy1] {
    box-shadow: 0 0 0 2px rgba(124, 58, 237, 0.25);
}

.login-alert[b-wouzflfpy1] {
    margin-bottom: 1.25rem;
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
    line-height: 1.45;
    color: var(--login-danger-text);
    background: var(--login-danger-bg);
    border-radius: 12px;
}

.login-submit[b-wouzflfpy1] {
    width: 100%;
    margin-top: 0.25rem;
    padding: 0.9rem 1.35rem;
    font-size: 1rem;
    font-weight: 600;
    font-family: inherit;
    color: #fff;
    background: var(--login-primary);
    border: none;
    border-radius: 9999px;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.05s ease;
}

.login-submit:hover[b-wouzflfpy1] {
    background: var(--login-primary-hover);
}

.login-submit:active[b-wouzflfpy1] {
    transform: scale(0.99);
}

.login-card-footer[b-wouzflfpy1] {
    display: none;
    margin: 1.5rem 0 0;
    text-align: center;
    font-size: 0.9375rem;
    color: var(--login-muted);
}

.login-accent-link[b-wouzflfpy1] {
    color: var(--login-primary);
    font-weight: 600;
    text-decoration: none;
}

.login-accent-link:hover[b-wouzflfpy1] {
    text-decoration: underline;
}

.login-site-footer[b-wouzflfpy1] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 1rem 1.75rem;
    padding: 1.25rem 1rem 1.75rem;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--login-muted-light);
}

.login-site-footer a[b-wouzflfpy1] {
    color: inherit;
    text-decoration: none;
}

.login-site-footer a:hover[b-wouzflfpy1] {
    color: var(--login-muted);
    text-decoration: underline;
}

.login-back-to-login[b-wouzflfpy1] {
    margin: 1.5rem 0 0;
    text-align: center;
    font-size: 0.9375rem;
    color: var(--login-muted);
}

.login-back-to-login-sep[b-wouzflfpy1] {
    color: var(--login-muted-light);
}
/* /Components/Pages/Calendario.razor.rz.scp.css */
/* Pagina calendario: solo presentazione (mock), allineata al mock UI/UX di riferimento */

.calendario-page[b-m6j5a0fbru] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    width: 100%;
    max-width: none;
}

/* Ricerca + azioni nel PageHeader: riga sotto al titolo a tutta larghezza */
.calendario-page[b-m6j5a0fbru]  .ermesio-page-header {
    flex-wrap: wrap;
    row-gap: 0.85rem;
    column-gap: 1rem;
    align-items: center;
}

.calendario-page[b-m6j5a0fbru]  .ermesio-page-header-actions {
    flex: 1 1 100%;
    width: 100%;
    min-width: 0;
    display: flex;
    align-items: center;
}

.calendario-toolbar[b-m6j5a0fbru] {
    /* Allineato ai pill; ricerca leggermente ridotta perché input + line-height risultano più alti */
    --calendario-toolbar-control-h: calc(2rem + (0.22rem * 2) - 2px);

    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.75rem 1rem;
    width: 100%;
    min-width: 0;
}

.calendario-toolbar-center[b-m6j5a0fbru] {
    flex: 1 1 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    min-width: 0;
}

.calendario-search-wrap[b-m6j5a0fbru] {
    position: relative;
    width: 100%;
    max-width: 32rem;
    min-width: 0;
}

.calendario-search-icon[b-m6j5a0fbru] {
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    color: #7c3aed;
    font-size: 1.05rem;
    pointer-events: none;
    z-index: 1;
    opacity: 0.75;
}

.calendario-search-input[b-m6j5a0fbru] {
    box-sizing: border-box;
    width: 100%;
    height: var(--calendario-toolbar-control-h);
    min-height: var(--calendario-toolbar-control-h);
    max-height: var(--calendario-toolbar-control-h);
    border-radius: 999px;
    padding: 0 1rem 0 2.65rem;
    padding-block: 0;
    border: 1px solid rgba(124, 58, 237, 0.22);
    background: color-mix(in srgb, #ede9fe 42%, #fff);
    box-shadow: 0 1px 2px rgba(91, 33, 182, 0.06);
    font-size: 0.875rem;
    line-height: 1.15;
}

.calendario-search-input[b-m6j5a0fbru]::placeholder {
    color: #94a3b8;
}

.calendario-search-input:focus[b-m6j5a0fbru] {
    border-color: color-mix(in srgb, #7c3aed 45%, #cbd5e1);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.16);
}

.modal-body #evento-descrizione[b-m6j5a0fbru],
.modal-body #evento-note-disdetta[b-m6j5a0fbru],
.modal-body #evento-links[b-m6j5a0fbru] {
    border-radius: 0.6rem;
}

/* operatori: ora gestiti con SearchSuggest */

.calendario-toolbar-end[b-m6j5a0fbru] {
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.65rem 0.85rem;
    flex: 0 0 auto;
    margin-left: auto;
    min-width: 0;
}

/* Stesso linguaggio visivo del pill mese (bordo lavanda + segmento attivo “incassato”) */
.calendario-view-switch[b-m6j5a0fbru] {
    display: inline-flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0.35rem;
    max-width: 100%;
    padding: 0.22rem 0.3rem 0.22rem 0.45rem;
    border-radius: 999px;
    border: 1px solid rgba(116, 47, 229, 0.15);
    background: color-mix(in srgb, rgb(116, 47, 229) 5.5%, #fff);
    box-sizing: border-box;
    box-shadow: none;
}

.calendario-view-btn[b-m6j5a0fbru] {
    appearance: none;
    margin: 0;
    border: 0;
    border-radius: 999px;
    padding: 0.48rem 1rem;
    font-size: 0.8125rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    color: #5b21b6;
    background: transparent;
    line-height: 1.2;
    box-shadow: none;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.calendario-view-btn:hover:not(.is-active)[b-m6j5a0fbru] {
    color: #4c1d95;
    background: rgba(116, 47, 229, 0.08);
}

.calendario-view-btn.is-active[b-m6j5a0fbru] {
    color: #5b21b6;
    background: color-mix(in srgb, rgb(116, 47, 229) 11%, #fff);
}

.calendario-view-btn.is-active:hover[b-m6j5a0fbru] {
    color: #4c1d95;
    background: color-mix(in srgb, rgb(116, 47, 229) 16%, #fff);
}

/* In vista lista il toggle attivo usa lo stato solido del mock (vista calendario invariata). */
.calendario-page:has(.calendario-panel--lista) .calendario-view-switch .calendario-view-btn.is-active[b-m6j5a0fbru] {
    color: #fff;
    background: #7c3aed;
    box-shadow: 0 1px 4px rgba(91, 33, 182, 0.22);
}

.calendario-page:has(.calendario-panel--lista) .calendario-view-switch .calendario-view-btn.is-active:hover[b-m6j5a0fbru] {
    color: #fff;
    background: #6d28d9;
}

.calendario-page:has(.calendario-panel--lista) .calendario-view-switch .calendario-view-btn:not(.is-active)[b-m6j5a0fbru] {
    color: #5b21b6;
    background: transparent;
}

.calendario-page:has(.calendario-panel--lista) .calendario-view-switch .calendario-view-btn:not(.is-active):hover[b-m6j5a0fbru] {
    color: #4c1d95;
    background: rgba(116, 47, 229, 0.08);
}

.calendario-view-btn:focus-visible[b-m6j5a0fbru] {
    outline: 0;
    box-shadow: 0 0 0 2px rgba(116, 47, 229, 0.28);
}

/* Unico pill: navigazione mese + pulsante «MESE CORRENTE» (mock allegato) */
.calendario-month-pill[b-m6j5a0fbru] {
    display: inline-flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0.35rem;
    max-width: 100%;
    padding: 0.22rem 0.3rem 0.22rem 0.45rem;
    border-radius: 999px;
    border: 1px solid rgba(116, 47, 229, 0.15);
    background: color-mix(in srgb, rgb(116, 47, 229) 5.5%, #fff);
    box-sizing: border-box;
}

.calendario-month-pill.is-picker-open[b-m6j5a0fbru] {
    position: relative;
    z-index: 1085;
}

.cal-monthyear-backdrop[b-m6j5a0fbru] {
    position: fixed;
    inset: 0;
    z-index: 1080;
    background: rgba(15, 23, 42, 0.06);
}

.calendario-month-nav-wrap[b-m6j5a0fbru] {
    position: relative;
    display: inline-flex;
    flex-direction: column;
    align-items: stretch;
    flex: 1 1 auto;
    min-width: 0;
}

.cal-monthyear-popover[b-m6j5a0fbru] {
    position: absolute;
    top: calc(100% + 0.45rem);
    left: 50%;
    transform: translateX(-50%);
    z-index: 1090;
    width: min(17.75rem, calc(100vw - 2rem));
    padding: 0.65rem 0.75rem 0.78rem;
    border-radius: 1.05rem;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow:
        0 12px 44px rgba(15, 23, 42, 0.12),
        0 2px 10px rgba(91, 33, 182, 0.08);
    outline: none;
}

.cal-monthyear-popover-header[b-m6j5a0fbru] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem;
    margin-bottom: 0.62rem;
    padding: 0.1rem 0.2rem 0;
}

.cal-monthyear-year-title[b-m6j5a0fbru] {
    flex: 1 1 auto;
    text-align: center;
    font-size: 1.05rem;
    font-weight: 800;
    color: #5b21b6;
    letter-spacing: 0.02em;
    line-height: 1.2;
}

.cal-monthyear-year-nav[b-m6j5a0fbru] {
    flex: 0 0 auto;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #94a3b8;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.12rem;
    line-height: 1;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.cal-monthyear-year-nav:hover[b-m6j5a0fbru] {
    background: rgba(124, 58, 237, 0.1);
    color: #5b21b6;
}

.cal-monthyear-year-nav:focus-visible[b-m6j5a0fbru] {
    outline: 0;
    box-shadow: 0 0 0 2px rgba(124, 58, 237, 0.28);
}

.cal-monthyear-month-grid[b-m6j5a0fbru] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.4rem;
}

.cal-monthyear-month[b-m6j5a0fbru] {
    appearance: none;
    margin: 0;
    padding: 0.5rem 0.3rem;
    border-radius: 0.62rem;
    border: 1px solid rgba(15, 23, 42, 0.1);
    background: #fff;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: #334155;
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.cal-monthyear-month:hover:not(.is-selected)[b-m6j5a0fbru] {
    border-color: rgba(124, 58, 237, 0.38);
    background: color-mix(in srgb, #ede9fe 45%, #fff);
    color: #5b21b6;
}

.cal-monthyear-month.is-selected[b-m6j5a0fbru] {
    background: #7c3aed;
    border-color: #6d28d9;
    color: #fff;
    box-shadow: 0 1px 4px rgba(91, 33, 182, 0.22);
}

.cal-monthyear-month:focus-visible[b-m6j5a0fbru] {
    outline: 0;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.9), 0 0 0 4px rgba(124, 58, 237, 0.35);
}

.cal-monthyear-month.is-selected:focus-visible[b-m6j5a0fbru] {
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.35), 0 0 0 4px rgba(124, 58, 237, 0.45);
}

.calendario-month-label-btn[b-m6j5a0fbru] {
    appearance: none;
    cursor: pointer;
    font: inherit;
    font-family: inherit;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.calendario-month-label-btn:hover[b-m6j5a0fbru] {
    color: #4c1d95;
}

.calendario-month-label-btn:focus-visible[b-m6j5a0fbru] {
    outline: 0;
    border-radius: 0.35rem;
    box-shadow: 0 0 0 2px rgba(116, 47, 229, 0.28);
}

.calendario-month-nav[b-m6j5a0fbru] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.2rem;
    min-width: 0;
    flex: 1 1 auto;
    padding: 0.15rem 0.35rem 0.15rem 0.15rem;
    font-weight: 800;
    letter-spacing: 0.06em;
}

.calendario-month-label[b-m6j5a0fbru] {
    min-width: 9.5rem;
    text-align: center;
    font-size: 0.8125rem;
    color: #5b21b6;
    white-space: nowrap;
}

.calendario-month-btn[b-m6j5a0fbru] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #5b21b6;
    font-size: 1.05rem;
    line-height: 1;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.calendario-month-btn:hover[b-m6j5a0fbru] {
    background: rgba(116, 47, 229, 0.08);
    color: #4c1d95;
}

.calendario-month-btn:focus-visible[b-m6j5a0fbru] {
    outline: 0;
    box-shadow: 0 0 0 2px rgba(116, 47, 229, 0.25);
}

.calendario-month-pill .calendario-current-btn[b-m6j5a0fbru] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.38rem;
    flex-shrink: 0;
    margin: 0;
    border-radius: 999px;
    padding: 0.48rem 0.95rem 0.48rem 0.85rem;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    color: #5b21b6;
    background: color-mix(in srgb, rgb(116, 47, 229) 11%, #fff);
    border: 0;
    box-shadow: none;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.calendario-month-pill .calendario-current-btn:hover[b-m6j5a0fbru] {
    color: #4c1d95;
    background: color-mix(in srgb, rgb(116, 47, 229) 16%, #fff);
}

.calendario-month-pill .calendario-current-btn:focus-visible[b-m6j5a0fbru] {
    outline: 0;
    box-shadow: 0 0 0 2px rgba(116, 47, 229, 0.28);
}

.calendario-current-btn-icon[b-m6j5a0fbru] {
    font-size: 0.95rem;
    color: #6d28d9;
    opacity: 1;
}

.calendario-panel[b-m6j5a0fbru] {
    overflow: hidden;
    border-radius: 1.35rem;
    background: #f3f0ff;
    border: 1px solid rgba(116, 47, 229, 0.15);
}

.calendario-panel--lista[b-m6j5a0fbru] {
    background: linear-gradient(180deg, #eef2ff 0%, #f5f3ff 42%, #faf5ff 100%);
    border-color: rgba(116, 47, 229, 0.12);
}

.calendario-grid[b-m6j5a0fbru] {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.calendario-dow[b-m6j5a0fbru] {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    background: rgba(116, 47, 229, 0.15);
    border-bottom: 1px solid rgba(116, 47, 229, 0.22);
}

.calendario-dow-cell[b-m6j5a0fbru] {
    padding: 0.6rem 0.35rem;
    text-align: center;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: #5b21b6;
}

.calendario-week[b-m6j5a0fbru] {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    align-items: stretch;
}

.calendario-cell[b-m6j5a0fbru] {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    position: relative;
    min-height: 130px;
    height: auto;
    align-self: stretch;
    min-width: 0;
    padding: 0.5rem 0.45rem 0.45rem;
    border-right: 1px solid rgba(15, 23, 42, 0.07);
    border-bottom: 1px solid rgba(15, 23, 42, 0.07);
    border-radius: 0;
    background: #fff;
    cursor: pointer;
    overflow-x: hidden;
    overflow-y: visible;
    transition: background-color 0.12s ease, box-shadow 0.12s ease;
}

.calendario-cell:nth-child(7n)[b-m6j5a0fbru] {
    border-right: 0;
}

.calendario-cell.is-out-month[b-m6j5a0fbru] {
    background: #e9e3f7;
}

.calendario-cell.is-out-month .calendario-cell-day[b-m6j5a0fbru] {
    color: #94a3b8;
}

.calendario-cell.is-in-month .calendario-cell-day[b-m6j5a0fbru] {
    color: #475569;
}

/* Oggi: unica cella con accento viola (bordo / alone). */
.calendario-cell.is-today[b-m6j5a0fbru] {
    background: rgba(116, 47, 229, 0.06);
    box-shadow: inset 0 0 0 2px rgba(116, 47, 229, 0.32);
}

.calendario-cell.is-today .calendario-cell-day[b-m6j5a0fbru] {
    color: #4c1d95;
}

/* Giorno selezionato (solo se non è oggi): evidenziazione neutra, senza viola. */
.calendario-cell.is-selected:not(.is-today)[b-m6j5a0fbru] {
    background: #f1f5f9;
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.16);
}

.calendario-cell.is-selected:not(.is-today) .calendario-cell-day[b-m6j5a0fbru] {
    color: #334155;
}

.calendario-cell:hover[b-m6j5a0fbru] {
    background: color-mix(in srgb, #ede9fe 55%, #fff);
}

.calendario-cell-add[b-m6j5a0fbru] {
    position: absolute;
    top: 0.45rem;
    right: 0.45rem;
    width: auto;
    height: auto;
    border-radius: 0;
    border: 0;
    background: transparent;
    color: rgba(91, 33, 182, 0.55);
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    cursor: pointer;
    opacity: 0;
    transform: translateY(-1px);
    transition: opacity 0.14s ease, transform 0.14s ease, color 0.14s ease;
    pointer-events: none;
}

.calendario-cell:hover .calendario-cell-add[b-m6j5a0fbru] {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.calendario-cell-add:hover[b-m6j5a0fbru] {
    color: rgba(91, 33, 182, 0.75);
}

.calendario-cell-add:focus-visible[b-m6j5a0fbru] {
    outline: 0;
    box-shadow: 0 0 0 2px rgba(116, 47, 229, 0.18);
}

/* Modale evento: usa Bootstrap (modal-xl). Nessuno stile custom qui. */

/* --- Galleria evento: dropzone moderna (scoped) --- */
.cal-gallery-input[b-m6j5a0fbru] {
    display: none;
}

.cal-gallery-dropzone[b-m6j5a0fbru] {
    display: block;
    width: 100%;
    border-radius: 1.1rem;
    padding: 0.95rem 1rem;
    border: 1px dashed rgba(124, 58, 237, 0.38);
    background: color-mix(in srgb, #ede9fe 28%, #fff);
    box-shadow: 0 1px 2px rgba(91, 33, 182, 0.06);
    cursor: pointer;
    user-select: none;
    transition: background-color 0.14s ease, border-color 0.14s ease, box-shadow 0.14s ease, transform 0.14s ease;
}

.cal-gallery-dropzone:hover[b-m6j5a0fbru] {
    background: color-mix(in srgb, #ede9fe 38%, #fff);
    border-color: rgba(124, 58, 237, 0.52);
    transform: translateY(-1px);
}

.cal-gallery-dropzone.is-dragover[b-m6j5a0fbru] {
    background: color-mix(in srgb, #ede9fe 55%, #fff);
    border-color: rgba(124, 58, 237, 0.75);
    box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.16), 0 10px 26px rgba(15, 23, 42, 0.10);
    transform: translateY(-1px);
}

.cal-gallery-dropzone.is-disabled[b-m6j5a0fbru] {
    opacity: 0.65;
    cursor: not-allowed;
    transform: none;
}

.cal-gallery-dropzone-inner[b-m6j5a0fbru] {
    display: flex;
    align-items: center;
    gap: 0.85rem;
}

.cal-gallery-dropzone-icon[b-m6j5a0fbru] {
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 0.95rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(124, 58, 237, 0.10);
    color: #5b21b6;
    flex: 0 0 auto;
    font-size: 1.25rem;
}

.cal-gallery-dropzone-title[b-m6j5a0fbru] {
    font-weight: 650;
    color: #0f172a;
    line-height: 1.2;
}

.cal-gallery-dropzone-sub[b-m6j5a0fbru] {
    margin-top: 0.15rem;
    color: rgba(71, 85, 105, 0.95);
    font-size: 0.9rem;
    line-height: 1.2;
}

.cal-gallery-dropzone-hint[b-m6j5a0fbru] {
    margin-top: 0.6rem;
    font-size: 0.8rem;
    color: rgba(71, 85, 105, 0.9);
}

.cal-gallery-remove[b-m6j5a0fbru] {
    width: 1.6rem;
    height: 1.6rem;
    padding: 0;
    border: 0;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.72);
    -webkit-backdrop-filter: blur(10px) saturate(1.35);
    backdrop-filter: blur(10px) saturate(1.35);
    color: rgba(15, 23, 42, 0.58);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.14);
    transition: background-color 0.14s ease, color 0.14s ease, transform 0.14s ease, box-shadow 0.14s ease;
}

.cal-gallery-remove:hover[b-m6j5a0fbru] {
    background: rgba(255, 255, 255, 0.92);
    color: rgba(15, 23, 42, 0.82);
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.18);
}

.cal-gallery-remove:active[b-m6j5a0fbru] {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.18);
}

.cal-gallery-remove:focus-visible[b-m6j5a0fbru] {
    outline: 0;
    box-shadow:
        0 0 0 2px rgba(255, 255, 255, 0.85),
        0 0 0 4px rgba(124, 58, 237, 0.28),
        0 6px 16px rgba(15, 23, 42, 0.18);
}

.cal-gallery-thumb.is-dragging[b-m6j5a0fbru] {
    opacity: 0.55;
    transform: scale(0.98);
}

.cal-gallery-thumb[b-m6j5a0fbru] {
    cursor: grab;
}

.cal-gallery-thumb:active[b-m6j5a0fbru] {
    cursor: grabbing;
}

.cal-gallery-thumbs[b-m6j5a0fbru] {
    display: grid;
    grid-template-columns: repeat(auto-fill, 120px);
    gap: 0.5rem;
    align-items: start;
}

.cal-gallery-placeholder[b-m6j5a0fbru] {
    border: 2px dashed rgba(124, 58, 237, 0.45);
    background: rgba(124, 58, 237, 0.06);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.7);
}

.cal-gallery-ghost[b-m6j5a0fbru] {
    opacity: 0.35;
}

.cal-gallery-chosen[b-m6j5a0fbru] {
    box-shadow: 0 0 0 2px rgba(124, 58, 237, 0.32);
}

.cal-gallery-drag[b-m6j5a0fbru] {
    opacity: 0.85;
}


.calendario-cell-day[b-m6j5a0fbru] {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.15;
    margin: 0.1rem 0 0.28rem 0.12rem;
    flex-shrink: 0;
    color: #94a3b8;
}

.calendario-cell-events[b-m6j5a0fbru] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    flex: 1 1 auto;
    min-height: 0;
    overflow: visible;
}

.calendario-pill[b-m6j5a0fbru] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
    border-radius: 999px;
    padding: 0.22rem 0.55rem 0.22rem 0.62rem;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.3;
    color: #1e1b4b;
    border: 1px solid rgba(15, 23, 42, 0.06);
    max-width: 100%;
    border-left: 4px solid var(--calendario-pill-accent, rgba(91, 33, 182, 0.55));
    transition: transform 0.14s ease, box-shadow 0.14s ease, filter 0.14s ease;
    will-change: transform;
}

.calendario-pill:hover[b-m6j5a0fbru] {
    transform: translateY(-1px);
    box-shadow: 0 6px 14px rgba(15, 23, 42, 0.10);
    filter: saturate(1.05);
}

.calendario-pill:active[b-m6j5a0fbru] {
    transform: translateY(0);
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.10);
}

.calendario-pill:focus-visible[b-m6j5a0fbru] {
    outline: 0;
    box-shadow: 0 0 0 2px rgba(116, 47, 229, 0.28), 0 6px 14px rgba(15, 23, 42, 0.10);
}

@media (prefers-reduced-motion: reduce) {
    .calendario-pill[b-m6j5a0fbru] {
        transition: none;
    }

    .calendario-pill:hover[b-m6j5a0fbru],
    .calendario-pill:active[b-m6j5a0fbru] {
        transform: none;
    }

    .cal-lista-card[b-m6j5a0fbru] {
        transition: none;
    }

    .cal-lista-card:hover[b-m6j5a0fbru] {
        transform: none;
    }
}

.calendario-pill--custom[b-m6j5a0fbru] {
    background: color-mix(in srgb, var(--calendario-pill-custom) 22%, #fff);
}

/* legacy: l'accent interno non è più usato */
.calendario-pill-accent[b-m6j5a0fbru] { display: none; }

.calendario-pill-title[b-m6j5a0fbru] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.calendario-pill--blue[b-m6j5a0fbru] {
    background: #dbeafe;
}

.calendario-pill--salmon[b-m6j5a0fbru] {
    background: #ffe4e6;
}

.calendario-pill--purple[b-m6j5a0fbru] {
    background: #ede9fe;
}

.calendario-pill--pink[b-m6j5a0fbru] {
    background: #fce7f3;
}

.calendario-pill--yellow[b-m6j5a0fbru] {
    background: #fef9c3;
}

.calendario-pill--beige[b-m6j5a0fbru] {
    background: #faf5ef;
}

.calendario-pill--lavender[b-m6j5a0fbru] {
    background: #f3e8ff;
}

/* --- Vista lista premium --- */
.cal-lista[b-m6j5a0fbru] {
    display: flex;
    flex-direction: column;
    gap: 1.05rem;
    padding: 1.25rem 1.35rem 1.4rem;
    min-width: 0;
}

.cal-lista-item[b-m6j5a0fbru] {
    display: block;
    min-width: 0;
}

.cal-lista-card[b-m6j5a0fbru] {
    /* Stesso schema dell’altra app: flex row + align-items-stretch + immagine h-100 w-100 object-fit-cover. */
    --cal-lista-pad-y: 1.05rem;
    --cal-lista-pad-inline-end: 1.1rem;
    --cal-lista-pad-inline-start: 1.15rem;
    --cal-lista-thumb-w: 14.25rem;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100%;
    margin: 0;
    padding: 0;
    text-align: left;
    border: 0;
    border-radius: 1.15rem;
    height: 13.25rem;
    background: #fff;
    box-shadow:
        0 4px 18px rgba(15, 23, 42, 0.06),
        0 1px 3px rgba(91, 33, 182, 0.05);
    cursor: pointer;
    transition: transform 0.16s ease, box-shadow 0.16s ease;
    font: inherit;
    color: inherit;
    box-sizing: border-box;
    overflow: hidden;
    user-select: none;
    -webkit-user-select: none;
    gap: 0 1rem;
}

.cal-lista-card:hover[b-m6j5a0fbru] {
    transform: translateY(-1px);
    box-shadow:
        0 10px 28px rgba(15, 23, 42, 0.08),
        0 2px 8px rgba(91, 33, 182, 0.08);
}

.cal-lista-card:hover .cal-lista-thumb[b-m6j5a0fbru] {
    transform: scale(1.08);
}

.cal-lista-card:focus-visible[b-m6j5a0fbru] {
    outline: 0;
    box-shadow:
        0 0 0 2px #fff,
        0 0 0 4px rgba(124, 58, 237, 0.35),
        0 10px 28px rgba(15, 23, 42, 0.08);
}

.cal-lista-date[b-m6j5a0fbru] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.12rem;
    min-width: 5.5rem;
    padding: var(--cal-lista-pad-y) 0 var(--cal-lista-pad-y) var(--cal-lista-pad-inline-start);
    align-self: stretch;
    box-sizing: border-box;
}

.cal-lista-date-dow[b-m6j5a0fbru] {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: #94a3b8;
    line-height: 1.1;
}

.cal-lista-date-month[b-m6j5a0fbru] {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: #94a3b8;
    line-height: 1.1;
    text-transform: uppercase;
}

.cal-lista-date-num[b-m6j5a0fbru] {
    font-size: 1.55rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #6d28d9;
    line-height: 1;
}

/* Come agenda-image-wrapper: stretch sulla riga flex + img h-100 w-100 object-fit-cover */
.cal-lista-thumb-wrap[b-m6j5a0fbru] {
    position: relative;
    flex: 0 0 var(--cal-lista-thumb-w);
    width: var(--cal-lista-thumb-w);
    min-width: var(--cal-lista-thumb-w);
    max-width: var(--cal-lista-thumb-w);
    align-self: stretch;
    min-height: 0;
    overflow: hidden;
    display: flex;
    align-items: stretch;
    justify-content: stretch;
    background: #f1f5f9;
}

.cal-lista-thumb-wrap > .cal-lista-thumb[b-m6j5a0fbru] {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    height: 100%;
    min-height: 0;
    margin: 0;
    border: 0;
    padding: 0;
    object-fit: cover;
    object-position: center;
    border-radius: 0;
    display: block;
    background: #ede9fe;
    transition: transform 0.4s ease;
}

.cal-lista-thumb--placeholder[b-m6j5a0fbru] {
    background:
        linear-gradient(135deg, rgba(124, 58, 237, 0.2) 0%, rgba(99, 102, 241, 0.12) 50%, rgba(167, 139, 250, 0.18) 100%);
}

.cal-lista-badge[b-m6j5a0fbru] {
    position: absolute;
    z-index: 1;
    top: 0.38rem;
    left: 0.38rem;
    max-width: calc(100% - 0.75rem);
    padding: 0.2rem 0.45rem;
    border-radius: 999px;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    line-height: 1.2;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.12);
}

.cal-lista-badge--blue[b-m6j5a0fbru] {
    background: linear-gradient(135deg, #3b82f6, #2563eb);
}

.cal-lista-badge--red[b-m6j5a0fbru] {
    background: linear-gradient(135deg, #f43f5e, #e11d48);
}

.cal-lista-badge--violet[b-m6j5a0fbru] {
    background: linear-gradient(135deg, #8b5cf6, #7c3aed);
}

.cal-lista-main[b-m6j5a0fbru] {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    align-self: stretch;
    justify-content: flex-start;
    padding: var(--cal-lista-pad-y) 0;
    box-sizing: border-box;
}

.cal-lista-title[b-m6j5a0fbru] {
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0f172a;
    line-height: 1.25;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

.cal-lista-desc[b-m6j5a0fbru] {
    font-size: 0.8125rem;
    font-weight: 500;
    color: #64748b;
    line-height: 1.45;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

.cal-lista-meta[b-m6j5a0fbru] {
    display: flex;
    flex-direction: column;
    gap: 0.22rem;
    margin-top: 0.15rem;
}

.cal-lista-meta-row[b-m6j5a0fbru] {
    display: inline-flex;
    align-items: center;
    gap: 0.38rem;
    min-width: 0;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.35;
}

.cal-lista-meta-row i[b-m6j5a0fbru] {
    flex: 0 0 auto;
    font-size: 0.95rem;
    line-height: 1;
}

.cal-lista-meta-row--time[b-m6j5a0fbru] {
    color: #7c3aed;
}

.cal-lista-meta-row--time i[b-m6j5a0fbru] {
    color: #7c3aed;
}

.cal-lista-meta-row--place[b-m6j5a0fbru] {
    color: #64748b;
    font-weight: 500;
}

.cal-lista-meta-row--place i[b-m6j5a0fbru] {
    color: #94a3b8;
}

.cal-lista-meta-row--place span[b-m6j5a0fbru] {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

.cal-lista-chips[b-m6j5a0fbru] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    margin-top: 0.35rem;
}

.cal-lista-chip[b-m6j5a0fbru] {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    padding: 0.22rem 0.52rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    line-height: 1.2;
}

.cal-lista-chip i[b-m6j5a0fbru] {
    font-size: 0.88rem;
}

.cal-lista-chip--people[b-m6j5a0fbru] {
    color: #5b21b6;
    background: color-mix(in srgb, #7c3aed 12%, #fff);
    border: 1px solid rgba(124, 58, 237, 0.15);
}

.cal-lista-chip--people i[b-m6j5a0fbru] {
    color: #7c3aed;
}

.cal-lista-chip--staff[b-m6j5a0fbru] {
    color: #a16207;
    background: color-mix(in srgb, #facc15 22%, #fff);
    border: 1px solid rgba(234, 179, 8, 0.35);
}

.cal-lista-chip--staff i[b-m6j5a0fbru] {
    color: #ca8a04;
}

.cal-lista-chevron[b-m6j5a0fbru] {
    flex: 0 0 auto;
    align-self: center;
    font-size: 1.35rem;
    font-weight: 300;
    color: #cbd5e1;
    line-height: 1;
    padding: var(--cal-lista-pad-y) var(--cal-lista-pad-inline-end) var(--cal-lista-pad-y) 0;
    box-sizing: border-box;
}

.cal-lista-empty[b-m6j5a0fbru] {
    text-align: center;
    padding: 2.5rem 1rem;
    color: #64748b;
    font-size: 0.9rem;
    font-weight: 500;
}

@media (max-width: 767.98px) {
    .cal-lista-card[b-m6j5a0fbru] {
        height: auto;
        min-height: 13.25rem;
    }

    .cal-lista-desc[b-m6j5a0fbru] {
        display: block;
        overflow: visible;
        -webkit-box-orient: unset;
        -webkit-line-clamp: unset;
        line-clamp: unset;
    }
}

@media (max-width: 640px) {
    .calendario-panel--lista[b-m6j5a0fbru] {
        overflow: visible;
        border: 0;
        border-radius: 0;
        background: transparent;
    }

    .cal-lista[b-m6j5a0fbru] {
        gap: 1.35rem;
        padding: 0;
    }

    .cal-lista-card[b-m6j5a0fbru] {
        --cal-lista-pad-y: 0.85rem;
        --cal-lista-pad-inline-end: 1rem;
        --cal-lista-pad-inline-start: 1rem;
        --cal-lista-thumb-w: 100%;
        position: relative;
        flex-direction: column;
        height: auto;
        min-height: 0;
        gap: 0;
        border-radius: 1.05rem;
        box-shadow:
            0 10px 28px rgba(15, 23, 42, 0.08),
            0 2px 8px rgba(91, 33, 182, 0.08);
    }

    .cal-lista-date[b-m6j5a0fbru] {
        position: absolute;
        z-index: 2;
        top: 0.55rem;
        right: 0.55rem;
        min-width: 2.55rem;
        padding: 0.28rem 0.42rem 0.35rem;
        border-radius: 0.62rem;
        background: rgba(255, 255, 255, 0.92);
        box-shadow: 0 2px 8px rgba(15, 23, 42, 0.14);
        gap: 0;
        align-self: auto;
    }

    .cal-lista-date-dow[b-m6j5a0fbru] {
        display: none;
    }

    .cal-lista-date-month[b-m6j5a0fbru] {
        order: 1;
        font-size: 0.58rem;
        font-weight: 800;
        color: #64748b;
        line-height: 1;
    }

    .cal-lista-date-num[b-m6j5a0fbru] {
        order: 2;
        margin-top: 0.08rem;
        font-size: 1.45rem;
        color: #7c3aed;
        line-height: 0.95;
    }

    .cal-lista-thumb-wrap[b-m6j5a0fbru] {
        order: 1;
        flex: 0 0 auto;
        width: 100%;
        min-width: 100%;
        max-width: 100%;
        aspect-ratio: 16 / 9;
        align-self: auto;
    }

    .cal-lista-badge[b-m6j5a0fbru] {
        top: 0.7rem;
        left: 0.7rem;
        padding: 0.23rem 0.5rem;
        font-size: 0.62rem;
    }

    .cal-lista-main[b-m6j5a0fbru] {
        order: 2;
        padding: 0.9rem 1rem 0.75rem;
        gap: 0.34rem;
    }

    .cal-lista-meta[b-m6j5a0fbru] {
        gap: 0.26rem;
        margin-top: 0.1rem;
    }

    .cal-lista-chips[b-m6j5a0fbru] {
        margin-top: 0.55rem;
        gap: 0.45rem;
        padding-right: 2rem;
    }

    .cal-lista-chip[b-m6j5a0fbru] {
        padding: 0.22rem 0.5rem;
        font-size: 0.72rem;
    }

    .cal-lista-chevron[b-m6j5a0fbru] {
        position: absolute;
        right: 1rem;
        bottom: 1.05rem;
        z-index: 2;
        padding: 0;
        color: #a78bfa;
    }

    .cal-lista-title[b-m6j5a0fbru] {
        font-size: 1.08rem;
    }
}

@media (max-width: 576px) {
    .calendario-page[b-m6j5a0fbru]  .ermesio-page-header-actions {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        flex: 0 0 100%;
    }

    .calendario-toolbar[b-m6j5a0fbru] {
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: stretch;
        gap: 0.65rem;
        overflow: visible;
        padding-bottom: 0;
    }

    .calendario-toolbar-center[b-m6j5a0fbru],
    .calendario-toolbar-end[b-m6j5a0fbru] {
        width: 100%;
        min-width: 0;
        flex: 0 0 100%;
    }

    .calendario-toolbar-center[b-m6j5a0fbru] {
        order: 2;
        justify-content: stretch;
    }

    .calendario-toolbar-end[b-m6j5a0fbru] {
        order: 1;
        margin-left: 0;
        justify-content: stretch;
    }

    .calendario-search-wrap[b-m6j5a0fbru] {
        flex: 1 1 100%;
        width: 100%;
        min-width: 0;
        max-width: none;
    }

    .calendario-search-input[b-m6j5a0fbru] {
        display: block;
        width: 100%;
    }

    .calendario-month-pill[b-m6j5a0fbru] {
        flex: 1 1 100%;
        width: 100%;
        min-width: 0;
        justify-content: space-between;
    }

    .calendario-month-nav-wrap[b-m6j5a0fbru] {
        flex: 1 1 auto;
    }

    .calendario-month-label[b-m6j5a0fbru] {
        min-width: 0;
        flex: 1 1 auto;
    }

    .calendario-month-pill .calendario-current-btn[b-m6j5a0fbru] {
        flex: 0 0 auto;
    }
}

/* Pulsante elimina allegati allineato a btn-icon-card di Utenti */
.cal-btn-icon-delete[b-m6j5a0fbru] {
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid rgba(231, 76, 60, 0.12);
    line-height: 1;
    text-decoration: none;
    transition: transform 0.16s ease, background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease;
    transform-origin: center;
    color: #f0a09a;
    background-color: rgba(231, 76, 60, 0.06);
}

.cal-btn-icon-delete:not(:disabled):hover[b-m6j5a0fbru] {
    transform: scale(1.08);
    color: #e88880;
    background-color: rgba(231, 76, 60, 0.11);
    border-color: rgba(231, 76, 60, 0.22);
}

.cal-btn-icon-delete:focus-visible[b-m6j5a0fbru] {
    outline: 0;
    box-shadow: 0 0 0 2px var(--bs-body-bg), 0 0 0 4px rgba(231, 76, 60, 0.28);
}

.cal-btn-icon-delete:disabled[b-m6j5a0fbru] {
    opacity: 0.55;
    transform: none;
    cursor: not-allowed;
    pointer-events: none;
}

/* --- Offcanvas dettaglio evento (allineato al mock ERMESIO) --- */
.cal-event-offcanvas-root[b-m6j5a0fbru] {
    position: fixed;
    inset: 0;
    z-index: 1060;
    pointer-events: none;
}

.cal-event-offcanvas-backdrop[b-m6j5a0fbru] {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.28);
    pointer-events: auto;
    animation: cal-offcanvas-backdrop-in-b-m6j5a0fbru 0.22s ease-out;
}

.cal-event-offcanvas-panel[b-m6j5a0fbru] {
    position: absolute;
    top: 0;
    right: 0;
    width: min(32vw, 420px);
    min-width: 300px;
    max-width: 100%;
    height: 100%;
    box-sizing: border-box;
    background: #fff;
    box-shadow: -12px 0 40px rgba(15, 23, 42, 0.12);
    display: flex;
    flex-direction: column;
    gap: 0;
    overflow: auto;
    overflow-x: hidden;
    pointer-events: auto;
    animation: cal-offcanvas-panel-in-b-m6j5a0fbru 0.28s cubic-bezier(0.22, 1, 0.36, 1);
    outline: none;
}

@keyframes cal-offcanvas-backdrop-in-b-m6j5a0fbru {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes cal-offcanvas-panel-in-b-m6j5a0fbru {
    from {
        transform: translateX(100%);
        opacity: 0.96;
    }

    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@media (prefers-reduced-motion: reduce) {

    .cal-event-offcanvas-backdrop[b-m6j5a0fbru],
    .cal-event-offcanvas-panel[b-m6j5a0fbru] {
        animation: none;
    }
}

.cal-event-offcanvas-loading[b-m6j5a0fbru] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    min-height: 12rem;
    color: #64748b;
    font-size: 0.9rem;
}

.cal-event-offcanvas-spinner[b-m6j5a0fbru] {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    border: 3px solid rgba(124, 58, 237, 0.2);
    border-top-color: #7c3aed;
    animation: cal-offcanvas-spin-b-m6j5a0fbru 0.75s linear infinite;
}

@keyframes cal-offcanvas-spin-b-m6j5a0fbru {
    to {
        transform: rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .cal-event-offcanvas-spinner[b-m6j5a0fbru] {
        animation: none;
        border-top-color: rgba(124, 58, 237, 0.45);
    }
}

.cal-event-offcanvas-header[b-m6j5a0fbru] {
    position: relative;
    width: 100%;
    flex: 0 0 auto;
    min-height: 9.5rem;
    max-height: 11rem;
}

.cal-event-offcanvas-header-img[b-m6j5a0fbru],
.cal-event-offcanvas-header-placeholder[b-m6j5a0fbru] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.cal-event-offcanvas-header-placeholder[b-m6j5a0fbru] {
    background:
        linear-gradient(135deg, rgba(30, 58, 138, 0.55) 0%, rgba(91, 33, 182, 0.45) 45%, rgba(30, 64, 175, 0.5) 100%),
        radial-gradient(ellipse 120% 80% at 20% 30%, rgba(255, 255, 255, 0.35), transparent 55%);
}

.cal-event-offcanvas-header-scrim[b-m6j5a0fbru] {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(15, 23, 42, 0.55) 0%, rgba(15, 23, 42, 0.1) 45%, transparent 100%);
    pointer-events: none;
}

.cal-event-offcanvas-close[b-m6j5a0fbru] {
    position: absolute;
    top: 0.85rem;
    right: 0.85rem;
    z-index: 2;
    width: 2.25rem;
    height: 2.25rem;
    border: 0;
    border-radius: 999px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(91, 33, 182, 0.42);
    color: #fff;
    font-size: 1.35rem;
    line-height: 1;
    cursor: pointer;
    transition: background-color 0.15s ease, transform 0.15s ease;
}

.cal-event-offcanvas-close:hover[b-m6j5a0fbru] {
    background: rgba(91, 33, 182, 0.58);
    transform: scale(1.04);
}

.cal-event-offcanvas-close:focus-visible[b-m6j5a0fbru] {
    outline: 0;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.85), 0 0 0 4px rgba(124, 58, 237, 0.35);
}

.cal-event-offcanvas-header-title-row[b-m6j5a0fbru] {
    position: absolute;
    left: 1rem;
    right: 3.5rem;
    bottom: 0.95rem;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 0.45rem;
    min-width: 0;
}

.cal-event-offcanvas-status-dot[b-m6j5a0fbru] {
    flex: 0 0 auto;
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 50%;
    background: #3b82f6;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.45);
}

.cal-event-offcanvas-title[b-m6j5a0fbru] {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 800;
    color: #fff;
    letter-spacing: -0.02em;
    line-height: 1.2;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cal-event-offcanvas-actions[b-m6j5a0fbru] {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 0.35rem;
    padding: 1.1rem 1rem 1.15rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

.cal-event-offcanvas-action[b-m6j5a0fbru] {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.45rem;
    padding: 0.25rem 0.15rem;
    border: 0;
    background: transparent;
    cursor: pointer;
    color: #334155;
    transition: color 0.16s ease, transform 0.16s ease;
}

.cal-event-offcanvas-action:hover[b-m6j5a0fbru] {
    color: #0f172a;
    transform: translateY(-1px);
}

.cal-event-offcanvas-action:hover .cal-event-offcanvas-action-label[b-m6j5a0fbru] {
    color: #334155;
}

.cal-event-offcanvas-action:focus-visible[b-m6j5a0fbru] {
    outline: 0;
    border-radius: 0.5rem;
    box-shadow: 0 0 0 2px rgba(124, 58, 237, 0.25);
}

.cal-event-offcanvas-action-icon[b-m6j5a0fbru] {
    width: 2.65rem;
    height: 2.65rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(15, 23, 42, 0.12);
    background: #fff;
    font-size: 1.15rem;
    color: #1e293b;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
    transition:
        background-color 0.16s ease,
        border-color 0.16s ease,
        color 0.16s ease,
        box-shadow 0.16s ease;
}

/* Hover: tint solo sul cerchio dell’icona (come nello screenshot di riferimento) */
.cal-event-offcanvas-action--gestisci:hover .cal-event-offcanvas-action-icon[b-m6j5a0fbru] {
    background: color-mix(in srgb, #22c55e 22%, #fff);
    border-color: rgba(34, 197, 94, 0.42);
    color: #15803d;
    box-shadow: 0 1px 3px rgba(34, 197, 94, 0.12);
}

.cal-event-offcanvas-action--modifica:hover .cal-event-offcanvas-action-icon[b-m6j5a0fbru] {
    background: color-mix(in srgb, #7c3aed 18%, #fff);
    border-color: rgba(124, 58, 237, 0.38);
    color: #5b21b6;
    box-shadow: 0 1px 3px rgba(124, 58, 237, 0.12);
}

.cal-event-offcanvas-action--pianifica:hover .cal-event-offcanvas-action-icon[b-m6j5a0fbru] {
    background: color-mix(in srgb, #0ea5e9 20%, #fff);
    border-color: rgba(14, 165, 233, 0.42);
    color: #0369a1;
    box-shadow: 0 1px 3px rgba(14, 165, 233, 0.12);
}

.cal-event-offcanvas-action--elimina:hover .cal-event-offcanvas-action-icon[b-m6j5a0fbru] {
    background: color-mix(in srgb, #f43f5e 18%, #fff);
    border-color: rgba(244, 63, 94, 0.4);
    color: #be123c;
    box-shadow: 0 1px 3px rgba(244, 63, 94, 0.1);
}

.cal-event-offcanvas-action-label[b-m6j5a0fbru] {
    font-size: 0.68rem;
    font-weight: 600;
    color: #475569;
    text-align: center;
    line-height: 1.15;
    max-width: 100%;
}

.cal-event-offcanvas-card[b-m6j5a0fbru] {
    margin: 1rem 1rem 1.25rem;
    padding: 0.35rem 0.85rem 0.5rem;
    border-radius: 1.1rem;
    background: #fff;
    border: 1px solid rgba(116, 47, 229, 0.12);
    box-shadow: 0 4px 18px rgba(91, 33, 182, 0.06);
}

.cal-event-offcanvas-row[b-m6j5a0fbru] {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.85rem 0;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

.cal-event-offcanvas-row--last[b-m6j5a0fbru] {
    border-bottom: 0;
}

.cal-event-offcanvas-row-icon[b-m6j5a0fbru] {
    flex: 0 0 auto;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 0.65rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.05rem;
    color: #7c3aed;
    background: rgba(124, 58, 237, 0.1);
}

.cal-event-offcanvas-row-body[b-m6j5a0fbru] {
    min-width: 0;
    flex: 1 1 auto;
}

.cal-event-offcanvas-row-title[b-m6j5a0fbru] {
    font-size: 0.95rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.25;
}

.cal-event-offcanvas-row-sub[b-m6j5a0fbru] {
    margin-top: 0.2rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: #64748b;
    line-height: 1.35;
}

.cal-event-offcanvas-part-row[b-m6j5a0fbru] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem 0.35rem;
}

.cal-event-offcanvas-limit-badge[b-m6j5a0fbru] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.18rem 0.55rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    color: #fff;
    background: #7c3aed;
    line-height: 1.2;
}

@media (max-width: 576px) {
    .cal-event-offcanvas-panel[b-m6j5a0fbru] {
        width: 100%;
        min-width: 0;
    }

    .cal-event-offcanvas-actions[b-m6j5a0fbru] {
        padding-inline: 0.65rem;
    }

    .cal-event-offcanvas-action-icon[b-m6j5a0fbru] {
        width: 2.35rem;
        height: 2.35rem;
        font-size: 1.05rem;
    }

    .cal-event-offcanvas-action-label[b-m6j5a0fbru] {
        font-size: 0.62rem;
    }
}

/* --- Modale duplicazione (Pianificazione Massiva) --- */
.cal-duplica-modal-root[b-m6j5a0fbru] {
    position: fixed;
    inset: 0;
    z-index: 1070;
    pointer-events: none;
}

.cal-duplica-modal-backdrop[b-m6j5a0fbru] {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.22);
    pointer-events: auto;
    animation: cal-duplica-backdrop-in-b-m6j5a0fbru 0.2s ease-out;
}

@keyframes cal-duplica-backdrop-in-b-m6j5a0fbru {
    from { opacity: 0; }
    to { opacity: 1; }
}

.cal-duplica-modal-panel[b-m6j5a0fbru] {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: min(34rem, calc(100vw - 2rem));
    max-height: calc(100vh - 2rem);
    overflow: auto;
    background: #fff;
    border-radius: 1.15rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow:
        0 20px 70px rgba(15, 23, 42, 0.20),
        0 4px 14px rgba(91, 33, 182, 0.10);
    pointer-events: auto;
    outline: none;
    animation: cal-duplica-panel-in-b-m6j5a0fbru 0.26s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes cal-duplica-panel-in-b-m6j5a0fbru {
    from { transform: translate(-50%, -48%) scale(0.985); opacity: 0.96; }
    to { transform: translate(-50%, -50%) scale(1); opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
    .cal-duplica-modal-backdrop[b-m6j5a0fbru],
    .cal-duplica-modal-panel[b-m6j5a0fbru] {
        animation: none;
    }
}

.cal-duplica-modal-header[b-m6j5a0fbru] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 1.15rem 1.25rem 0.95rem;
}

.cal-duplica-modal-title[b-m6j5a0fbru] {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 850;
    letter-spacing: -0.02em;
    color: #0f172a;
}

.cal-duplica-modal-close[b-m6j5a0fbru] {
    flex: 0 0 auto;
    width: 2.25rem;
    height: 2.25rem;
    border: 0;
    border-radius: 999px;
    padding: 0;
    background: rgba(15, 23, 42, 0.04);
    color: rgba(15, 23, 42, 0.62);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    line-height: 1;
    transition: background-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
}

.cal-duplica-modal-close:hover[b-m6j5a0fbru] {
    background: rgba(15, 23, 42, 0.08);
    color: rgba(15, 23, 42, 0.78);
    transform: scale(1.02);
}

.cal-duplica-modal-close:focus-visible[b-m6j5a0fbru] {
    outline: 0;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.9), 0 0 0 4px rgba(124, 58, 237, 0.35);
}

.cal-duplica-modal-body[b-m6j5a0fbru] {
    padding: 0 1.25rem 1.1rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.cal-duplica-source-card[b-m6j5a0fbru] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.85rem 0.9rem;
    border-radius: 0.95rem;
    background: color-mix(in srgb, #ede9fe 42%, #fff);
    border: 1px solid rgba(116, 47, 229, 0.12);
}

.cal-duplica-source-ico[b-m6j5a0fbru] {
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 0.85rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(124, 58, 237, 0.12);
    color: #5b21b6;
    font-size: 1.15rem;
    flex: 0 0 auto;
}

.cal-duplica-source-main[b-m6j5a0fbru] {
    min-width: 0;
    flex: 1 1 auto;
}

.cal-duplica-source-title[b-m6j5a0fbru] {
    font-weight: 850;
    letter-spacing: -0.01em;
    color: #0f172a;
    line-height: 1.15;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cal-duplica-source-sub[b-m6j5a0fbru] {
    margin-top: 0.2rem;
    font-size: 0.85rem;
    font-weight: 650;
    color: #64748b;
}

.cal-duplica-section[b-m6j5a0fbru] {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.cal-duplica-section-label[b-m6j5a0fbru] {
    font-size: 0.63rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    color: rgba(100, 116, 139, 0.95);
}

.cal-duplica-dates[b-m6j5a0fbru] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.cal-duplica-field-label[b-m6j5a0fbru] {
    display: block;
    font-size: 0.62rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    color: rgba(100, 116, 139, 0.95);
    margin-bottom: 0.3rem;
}

.cal-duplica-date-input[b-m6j5a0fbru] {
    border-radius: 0.85rem;
    border-color: rgba(15, 23, 42, 0.12);
}

.cal-duplica-dow[b-m6j5a0fbru] {
    display: flex;
    gap: 0.45rem;
    flex-wrap: wrap;
}

.cal-duplica-dow-chip[b-m6j5a0fbru] {
    width: 2.05rem;
    height: 2.05rem;
    border-radius: 999px;
    border: 1px solid rgba(15, 23, 42, 0.10);
    background: #fff;
    color: #475569;
    font-weight: 850;
    font-size: 0.78rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.cal-duplica-dow-chip.is-on[b-m6j5a0fbru] {
    background: color-mix(in srgb, #7c3aed 14%, #fff);
    border-color: rgba(124, 58, 237, 0.32);
    color: #5b21b6;
}

.cal-duplica-dow-chip:focus-visible[b-m6j5a0fbru] {
    outline: 0;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.9), 0 0 0 4px rgba(124, 58, 237, 0.28);
}

.cal-duplica-options[b-m6j5a0fbru] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem;
}

.cal-duplica-option[b-m6j5a0fbru] {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.75rem 0.75rem;
    border-radius: 0.95rem;
    border: 1px solid rgba(116, 47, 229, 0.16);
    background: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
    cursor: pointer;
    transition: transform 0.14s ease, box-shadow 0.14s ease, border-color 0.14s ease, background-color 0.14s ease;
    text-align: left;
}

.cal-duplica-option:hover[b-m6j5a0fbru] {
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.08);
    border-color: rgba(124, 58, 237, 0.28);
}

.cal-duplica-option-ico[b-m6j5a0fbru] {
    width: 2.05rem;
    height: 2.05rem;
    border-radius: 0.85rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(124, 58, 237, 0.10);
    color: #5b21b6;
    font-size: 1.1rem;
    flex: 0 0 auto;
}

.cal-duplica-option-label[b-m6j5a0fbru] {
    flex: 1 1 auto;
    min-width: 0;
    font-weight: 500;
    color: #5b21b6;
}

.cal-duplica-option-toggle[b-m6j5a0fbru] {
    position: relative;
    flex: 0 0 auto;
    width: 2.15rem;
    height: 1.2rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.12);
}

.cal-duplica-option-toggle[b-m6j5a0fbru]::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0.15rem;
    transform: translateY(-50%);
    width: 0.9rem;
    height: 0.9rem;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.18);
    transition: left 0.15s ease, background-color 0.15s ease;
}

.cal-duplica-option.is-on[b-m6j5a0fbru] {
    background: color-mix(in srgb, #ede9fe 45%, #fff);
    border-color: rgba(124, 58, 237, 0.32);
}

.cal-duplica-option.is-on .cal-duplica-option-toggle[b-m6j5a0fbru] {
    background: #7c3aed;
}

.cal-duplica-option.is-on .cal-duplica-option-toggle[b-m6j5a0fbru]::after {
    left: calc(100% - 0.15rem - 0.9rem);
}

.cal-duplica-option:focus-visible[b-m6j5a0fbru] {
    outline: 0;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.85), 0 0 0 4px rgba(124, 58, 237, 0.28), 0 10px 22px rgba(15, 23, 42, 0.08);
}

.cal-duplica-modal-footer[b-m6j5a0fbru] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.95rem 1.25rem 1.15rem;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
}

@media (max-width: 520px) {
    .cal-duplica-options[b-m6j5a0fbru] {
        grid-template-columns: 1fr;
    }
}

/* Toast fuori da .calendario-page: ancoraggio viewport, alto a destra, sopra modale duplica (1070) e overlay globali. */
.calendario-toast-host[b-m6j5a0fbru] {
    position: fixed;
    top: calc(var(--ermesio-brand-strip-height, 4.75rem) + 0.5rem);
    right: 1.35rem;
    left: auto;
    bottom: auto;
    z-index: 12000;
    max-width: min(22rem, calc(100vw - 2.5rem));
    pointer-events: none;
    animation: ermesio-toast-in 0.22s ease-out;
}
/* /Components/Pages/Changelog.razor.rz.scp.css */
/* Layout simile a Utenti: header + filtri + lista card */
.changelog-page[b-8utypt1qx9] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 100%;
    max-width: none;
}

.changelog-filters-card[b-8utypt1qx9] {
    width: 100%;
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid var(--bs-border-color-translucent, rgba(0, 0, 0, 0.08));
    border-radius: var(--ermesio-card-radius, 1rem);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    padding: 0.95rem 1rem;
}

.changelog-filters[b-8utypt1qx9] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    margin: 0;
}

.changelog-filter-field[b-8utypt1qx9] {
    position: relative;
    display: flex;
    align-items: center;
    min-width: 0;
}

.changelog-filter-field--text[b-8utypt1qx9] {
    flex: 1 1 26rem;
    min-width: 16rem;
}

.changelog-filter-field--kind[b-8utypt1qx9] {
    flex: 0 1 12rem;
    min-width: 10rem;
}

.changelog-filter-select[b-8utypt1qx9] {
    width: 100%;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.changelog-filter-icon[b-8utypt1qx9] {
    position: absolute;
    left: 0.85rem;
    display: inline-flex;
    color: var(--bs-secondary-color);
    font-size: 1.05rem;
    pointer-events: none;
    z-index: 1;
}

.changelog-filter-input[b-8utypt1qx9] {
    width: 100%;
    padding-left: 2.75rem;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.changelog-filter-actions[b-8utypt1qx9] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    flex: 0 0 auto;
    margin-left: auto;
}

.changelog-filter-btn[b-8utypt1qx9] {
    border-radius: 999px;
    padding: 0.6rem 1.05rem;
    font-size: 0.9375rem;
    font-weight: 500;
    line-height: 1.1;
    border-width: 1px;
    transition: transform 0.16s ease, background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease;
}

.changelog-filter-btn--primary[b-8utypt1qx9] {
    color: #fff;
    background: var(--ermesio-violet, #8b5cf6);
    border-color: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 70%, #000);
}

.changelog-filter-btn--primary:hover[b-8utypt1qx9] {
    color: #fff;
    background: #7c3aed;
    border-color: #6d28d9;
    transform: translateY(-1px);
}

.changelog-card-list[b-8utypt1qx9] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.changelog-card[b-8utypt1qx9] {
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid var(--bs-border-color-translucent, rgba(0, 0, 0, 0.08));
    border-radius: var(--ermesio-card-radius, 1rem);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    padding: 1rem 1.25rem;
}

.changelog-card-header[b-8utypt1qx9] {
    display: flex;
    align-items: baseline;
    gap: 0.65rem;
    flex-wrap: wrap;
    margin-bottom: 0.75rem;
}

.changelog-card-date[b-8utypt1qx9] {
    font-weight: 800;
    letter-spacing: -0.01em;
    color: var(--bs-emphasis-color, #0f172a);
    font-size: 1.05rem;
    text-transform: capitalize;
}

.changelog-card-label[b-8utypt1qx9] {
    font-size: 0.78rem;
    font-weight: 600;
    padding: 0.18rem 0.55rem;
    border-radius: 999px;
    background: rgba(139, 92, 246, 0.12);
    color: var(--ermesio-violet, #8b5cf6);
}

.changelog-card-count[b-8utypt1qx9] {
    margin-left: auto;
    font-size: 0.82rem;
    font-weight: 600;
    padding: 0.18rem 0.55rem;
    border-radius: 999px;
    background: rgba(2, 6, 23, 0.05);
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.changelog-empty[b-8utypt1qx9] {
    margin-top: 1.5rem;
    padding: 1.75rem 1.25rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.7);
    border: 1px dashed rgba(15, 23, 42, 0.18);
    text-align: center;
    backdrop-filter: blur(8px);
}

.changelog-empty-icon[b-8utypt1qx9] {
    font-size: 2rem;
    color: var(--bs-secondary-color, #64748b);
}

.changelog-empty-title[b-8utypt1qx9] {
    font-weight: 700;
    margin-top: 0.5rem;
    color: var(--bs-emphasis-color, #0f172a);
}

.changelog-empty-text[b-8utypt1qx9] {
    margin-top: 0.5rem;
    color: var(--bs-secondary-color, #64748b);
    font-size: 0.9rem;
}

.changelog-empty-path[b-8utypt1qx9] {
    margin: 0.35rem 0 0.75rem;
    word-break: break-all;
}

.changelog-empty-path code[b-8utypt1qx9] {
    font-size: 0.82rem;
}

.changelog-empty-hint[b-8utypt1qx9] {
    margin-top: 0.5rem;
    font-size: 0.88rem;
}

.changelog-empty-sample[b-8utypt1qx9] {
    margin: 0.85rem auto 0;
    max-width: 520px;
    text-align: left;
    background: rgba(15, 23, 42, 0.06);
    border-radius: 12px;
    padding: 0.85rem 1rem;
    font-size: 0.825rem;
    line-height: 1.5;
}

.changelog-items[b-8utypt1qx9] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.changelog-item[b-8utypt1qx9] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.6rem;
    padding: 0.7rem 0.85rem;
    background: rgba(2, 6, 23, 0.02);
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 0.85rem;
}

.changelog-kind-pill[b-8utypt1qx9] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: currentColor;
    padding: 0.22rem 0.6rem;
    border-radius: 999px;
    background: color-mix(in srgb, currentColor 12%, transparent);
    border: 1px solid color-mix(in srgb, currentColor 20%, transparent);
    flex: 0 0 auto;
    align-self: center;
}

.changelog-kind-pill-icon[b-8utypt1qx9] {
    display: inline-grid;
    place-items: center;
    width: 22px;
    height: 22px;
    border-radius: 999px;
    background: color-mix(in srgb, currentColor 16%, transparent);
    border: 1px solid color-mix(in srgb, currentColor 22%, transparent);
    font-size: 0.95rem;
    line-height: 1;
}

.changelog-kind-pill-icon > i[b-8utypt1qx9] {
    color: currentColor;
}

.changelog-kind-pill-text[b-8utypt1qx9] {
    line-height: 1;
}

.changelog-item-text[b-8utypt1qx9] {
    flex: 1 1 auto;
    min-width: 0;
    color: var(--bs-emphasis-color, #0f172a);
    font-size: 0.95rem;
    line-height: 1.5;
}

.changelog-item-text[b-8utypt1qx9]  .changelog-section-pill {
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    margin-right: 0.35rem;
    max-width: 100%;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.2;
    color: var(--bs-secondary-color, #64748b);
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.06);
    border: 1px solid rgba(15, 23, 42, 0.1);
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}

.changelog-item-text[b-8utypt1qx9]  strong,
.changelog-item-text[b-8utypt1qx9]  b {
    font-weight: 700;
}

.changelog-item-text[b-8utypt1qx9]  code {
    padding: 0.05em 0.35em;
    border-radius: 6px;
    background: rgba(15, 23, 42, 0.08);
    font-size: 0.85em;
}

.changelog-item-text[b-8utypt1qx9]  a {
    color: var(--ermesio-violet, #8b5cf6);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.changelog-item--feature[b-8utypt1qx9] {
    color: #16a34a;
}

.changelog-item--fix[b-8utypt1qx9] {
    color: #d97706;
}

.changelog-item--refine[b-8utypt1qx9] {
    color: #2563eb;
}

@media (max-width: 767.98px) {
    .changelog-filter-actions[b-8utypt1qx9] {
        width: 100%;
        justify-content: flex-end;
        margin-left: 0;
    }

    .changelog-card[b-8utypt1qx9] {
        padding: 1rem 1rem;
    }
}
/* /Components/Pages/Clienti/ClienteEdit.razor.rz.scp.css */
.clienti-page[b-2dm12qz3lt] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 100%;
    max-width: none;
}

/* Griglia principale + logo: stessa strategia di UtenteEdit (Generale) */
.clienti-principale-grid.utenti-edit-grid[b-2dm12qz3lt] {
    align-items: stretch;
}

/* Più spazio tra logo e prime righe del form (tipo / ragione sociale / cognome-nome) */
.clienti-principale-grid .utenti-fields-col[b-2dm12qz3lt] {
    padding-left: 1.75rem;
}

.utenti-edit-grid[b-2dm12qz3lt] {
    display: grid;
    grid-template-columns: 12rem 1fr;
    gap: 1.5rem;
    align-items: center;
}

.utenti-avatar-col[b-2dm12qz3lt] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    align-self: start;
}

/* Colonna logo alta quanto le 3 righe a destra; cerchio centrato in quell’area */
.clienti-principale-grid .utenti-avatar-col.clienti-logo-col[b-2dm12qz3lt] {
    align-self: stretch;
    min-height: 0;
    justify-content: flex-start;
}

.clienti-logo-align[b-2dm12qz3lt] {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 0;
    width: 100%;
    position: relative;
}

.utenti-avatar-wrap[b-2dm12qz3lt] {
    position: relative;
}

/* Altezza allineata alle prime ~3 righe del form (tipo, ragione sociale, cognome/nome) */
.clienti-principale-grid .utenti-avatar[b-2dm12qz3lt] {
    width: 11.25rem;
    height: 11.25rem;
    border-radius: 999px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.95);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    cursor: pointer;
    overflow: hidden;
    transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}

.clienti-principale-grid .utenti-avatar:hover[b-2dm12qz3lt] {
    transform: translateY(-1px);
    border-color: rgba(139, 92, 246, 0.25);
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
}

.utenti-avatar-img[b-2dm12qz3lt] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    inset: 0;
    z-index: 0;
}

.utenti-avatar-img--logo[b-2dm12qz3lt] {
    object-fit: contain;
    padding: 0.35rem;
    background: #fff;
}

.clienti-principale-grid .utenti-avatar:has(.utenti-avatar-img)[b-2dm12qz3lt]::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    border-radius: inherit;
    background: rgba(15, 23, 42, 0.22);
    opacity: 0;
    transition: opacity 0.16s ease;
    pointer-events: none;
}

.clienti-principale-grid .utenti-avatar:has(.utenti-avatar-img):hover[b-2dm12qz3lt]::after,
.clienti-principale-grid .utenti-avatar:has(.utenti-avatar-img):focus-within[b-2dm12qz3lt]::after {
    opacity: 1;
}

.utenti-avatar-hit[b-2dm12qz3lt] {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    cursor: pointer;
    border-radius: inherit;
}

.utenti-avatar-delete-wrap[b-2dm12qz3lt] {
    position: absolute;
    left: 50%;
    bottom: 0.55rem;
    transform: translateX(-50%);
    z-index: 3;
    line-height: 0;
}

.utenti-avatar-placeholder[b-2dm12qz3lt] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    pointer-events: none;
    text-align: center;
    padding: 0.5rem;
}

.utenti-avatar-placeholder-icon[b-2dm12qz3lt] {
    font-size: 2.35rem;
    line-height: 1;
    color: rgba(100, 116, 139, 0.88);
    display: flex;
    align-items: center;
    justify-content: center;
}

.utenti-avatar-placeholder-icon[b-2dm12qz3lt]::before {
    line-height: 1;
}

.utenti-avatar-placeholder-text[b-2dm12qz3lt] {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    color: rgba(100, 116, 139, 0.88);
    text-transform: uppercase;
}

.utenti-avatar-error[b-2dm12qz3lt] {
    margin-top: 0.6rem;
    font-size: 0.875rem;
    color: #b91c1c;
    text-align: center;
    max-width: 12rem;
}

.clienti-logo-remove-hint[b-2dm12qz3lt] {
    margin-top: 0.5rem;
    font-size: 0.8125rem;
    color: #b45309;
    text-align: center;
    max-width: 12rem;
}

.ermesio-logo-icon-btn[b-2dm12qz3lt] {
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.28);
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform 0.16s ease, background-color 0.16s ease, border-color 0.16s ease;
}

.ermesio-logo-icon-btn:hover[b-2dm12qz3lt] {
    transform: scale(1.06);
    background: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.4);
}

.ermesio-logo-icon-btn--danger:hover[b-2dm12qz3lt] {
    background: rgba(239, 68, 68, 0.22);
    border-color: rgba(239, 68, 68, 0.45);
}

@media (max-width: 991.98px) {
    .clienti-principale-grid.utenti-edit-grid[b-2dm12qz3lt] {
        grid-template-columns: 1fr;
    }

    .clienti-principale-grid .utenti-fields-col[b-2dm12qz3lt] {
        padding-left: 0;
    }

    .utenti-avatar-col[b-2dm12qz3lt] {
        padding-top: 0;
    }
}

.utenti-edit-actions[b-2dm12qz3lt] {
    width: 100%;
}

@media (max-width: 767.98px) {
    .clienti-principale-grid .utenti-avatar[b-2dm12qz3lt] {
        width: min(11.25rem, 100%);
        height: min(11.25rem, 100vw - 2rem);
        max-height: 11.25rem;
    }
}
/* /Components/Pages/Clienti/ClientiList.razor.rz.scp.css */
.clienti-page[b-8dijxifm34] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 100%;
    max-width: none;
}

/* Card filtri (come mock in screenshot) */
.clienti-filters-card[b-8dijxifm34] {
    width: 100%;
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid var(--bs-border-color-translucent, rgba(0, 0, 0, 0.08));
    border-radius: var(--ermesio-card-radius, 1rem);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    padding: 0.95rem 1rem;
}

.clienti-filters[b-8dijxifm34] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    margin: 0;
}

.clienti-filter-field[b-8dijxifm34] {
    position: relative;
    display: flex;
    align-items: center;
    min-width: 0;
}

.clienti-filter-field--text[b-8dijxifm34] {
    flex: 1 1 22rem;
    min-width: 16rem;
}

.clienti-filter-field--select[b-8dijxifm34] {
    flex: 0 1 18rem;
    min-width: 16rem;
}

.clienti-filter-icon[b-8dijxifm34] {
    position: absolute;
    left: 0.85rem;
    display: inline-flex;
    color: var(--bs-secondary-color);
    font-size: 1.05rem;
    pointer-events: none;
    z-index: 1;
}

.clienti-filter-input[b-8dijxifm34],
.clienti-filter-select[b-8dijxifm34] {
    width: 100%;
    padding-left: 2.75rem;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.clienti-filter-select[b-8dijxifm34] {
    padding-left: 2.75rem;
    padding-right: 2.25rem; /* spazio per caret nativo */
}

.clienti-filter-actions[b-8dijxifm34] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    flex: 0 0 auto;
    margin-left: auto;
}

/* Pulsanti pill con primary viola Ermesio (solo qui, niente override globale bootstrap) */
.clienti-filter-btn[b-8dijxifm34] {
    border-radius: 999px;
    padding: 0.6rem 1.05rem;
    font-size: 0.9375rem;
    font-weight: 500;
    line-height: 1.1;
    border-width: 1px;
    transition: transform 0.16s ease, background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease;
}

.clienti-filter-btn:focus-visible[b-8dijxifm34] {
    outline: 0;
    box-shadow: 0 0 0 2px var(--bs-body-bg), 0 0 0 4px rgba(139, 92, 246, 0.28);
}

.clienti-filter-btn--primary[b-8dijxifm34] {
    color: #fff;
    background: var(--ermesio-violet, #8b5cf6);
    border-color: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 70%, #000);
}

.clienti-filter-btn--primary:hover[b-8dijxifm34] {
    color: #fff;
    background: #7c3aed;
    border-color: #6d28d9;
    transform: translateY(-1px);
}

.clienti-filter-btn--ghost[b-8dijxifm34] {
    color: var(--bs-secondary-color, #475569);
    background: transparent;
    border-color: var(--bs-border-color-translucent, rgba(0, 0, 0, 0.12));
}

.clienti-filter-btn--ghost:hover:not(:disabled)[b-8dijxifm34] {
    color: var(--bs-body-color);
    background: rgba(2, 6, 23, 0.04);
    transform: translateY(-1px);
}

.clienti-filter-btn:disabled[b-8dijxifm34] {
    opacity: 0.6;
    transform: none;
}

.clienti-card-list[b-8dijxifm34] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    overflow-x: auto;
    padding-bottom: 0.125rem;
}

.clienti-empty-state[b-8dijxifm34] {
    max-width: 34rem;
    margin: 0.5rem auto 0;
    text-align: center;
    padding-top: 2.25rem;
    padding-bottom: 2.25rem;
}

.clienti-empty-state-icon[b-8dijxifm34] {
    width: 3.5rem;
    height: 3.5rem;
    margin: 0 auto 0.75rem;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 82%, white);
    background: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 10%, transparent);
    border: 1px solid color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 18%, transparent);
}

.clienti-empty-state-icon i[b-8dijxifm34] {
    font-size: 1.65rem;
    line-height: 1;
}

.clienti-empty-state-title[b-8dijxifm34] {
    font-weight: 700;
    font-size: 1.05rem;
    color: var(--bs-emphasis-color, #0f172a);
    letter-spacing: -0.015em;
}

.clienti-empty-state-text[b-8dijxifm34] {
    margin-top: 0.2rem;
    font-size: 0.9rem;
}

/* Griglia a colonne fisse: stessa larghezza per ogni riga così i dati si allineano tra le card */
.clienti-card-row[b-8dijxifm34] {
    position: relative;
    display: grid;
    grid-template-columns:
        3rem
        minmax(10rem, 20rem)
        repeat(4, minmax(0, 1fr))
        auto;
    column-gap: 1rem;
    row-gap: 0.5rem;
    align-items: center;
    padding: 1rem 1.25rem;
    min-width: 0;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid var(--bs-border-color-translucent, rgba(0, 0, 0, 0.08));
    border-radius: var(--ermesio-card-radius, 1rem);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.clienti-card-avatar[b-8dijxifm34] {
    flex-shrink: 0;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: #fff;
    background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
}

.clienti-card-avatar-img[b-8dijxifm34] {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    background: #fff;
}

.clienti-card-main[b-8dijxifm34] {
    min-width: 0;
}

.clienti-card-title[b-8dijxifm34] {
    font-weight: 600;
    font-size: 1rem;
    line-height: 1.3;
    color: var(--bs-body-color);
}

.clienti-card-sub[b-8dijxifm34] {
    font-size: 0.6rem;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0.05em;
    color: #2563eb;
    margin-top: 0.12rem;
}

.clienti-card-fields[b-8dijxifm34] {
    display: contents;
}

.clienti-card-field[b-8dijxifm34] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.clienti-card-field-label[b-8dijxifm34] {
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--bs-secondary-color);
}

.clienti-card-field-value[b-8dijxifm34] {
    font-size: 0.8125rem;
    color: var(--bs-body-color);
}

/*
 * Nastro -45° ritagliato dallo slot in angolo card (overflow sullo slot, non sul nastro intero).
 */
.clienti-card-ribbon-slot[b-8dijxifm34] {
    position: absolute;
    top: 0;
    left: 0;
    width: 5.35rem;
    height: 5.35rem;
    overflow: hidden;
    z-index: 3;
    pointer-events: none;
    border-top-left-radius: var(--ermesio-card-radius, 1rem);
}

.clienti-card-ribbon[b-8dijxifm34] {
    position: absolute;
    top: 0.55rem;
    left: -2.05rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 7rem;
    padding: 0.32em 0;
    margin: 0;
    font-size: 0.58rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #fff;
    white-space: nowrap;
    background: linear-gradient(135deg, #34d399 0%, #059669 95%);
    box-shadow: 0 1px 6px rgba(5, 105, 72, 0.3);
    transform: rotate(-45deg);
    transform-origin: center;
    border-radius: 1px;
}

.clienti-card-actions[b-8dijxifm34] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

/* Icone allineate al mock: viola Ermesio / rosso tenue, hover con leggero ingrandimento */
.clienti-card-actions .btn-icon-card[b-8dijxifm34] {
    --ermesio-icon-violet: var(--ermesio-violet, #8b5cf6);
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid transparent;
    line-height: 1;
    text-decoration: none;
    transition:
        transform 0.16s ease,
        background-color 0.16s ease,
        border-color 0.16s ease,
        color 0.16s ease;
    transform-origin: center;
}

.clienti-card-actions .btn-icon-card:not(:disabled):hover[b-8dijxifm34] {
    transform: scale(1.08);
}

.clienti-card-actions .btn-icon-card:focus-visible[b-8dijxifm34] {
    outline: 0;
    box-shadow: 0 0 0 2px var(--bs-body-bg), 0 0 0 4px rgba(139, 92, 246, 0.28);
}

.clienti-card-actions .btn-icon-card:disabled[b-8dijxifm34] {
    opacity: 0.55;
    transform: none;
    cursor: not-allowed;
    pointer-events: none;
}

.clienti-card-actions .btn-icon-card--edit[b-8dijxifm34] {
    color: #b9a3f8;
    color: color-mix(in srgb, var(--ermesio-icon-violet) 72%, white);
    background-color: rgba(139, 92, 246, 0.06);
    background-color: color-mix(in srgb, var(--ermesio-icon-violet) 8%, transparent);
    border-color: rgba(139, 92, 246, 0.12);
    border-color: color-mix(in srgb, var(--ermesio-icon-violet) 16%, transparent);
}

.clienti-card-actions .btn-icon-card--edit:hover[b-8dijxifm34] {
    color: #a78bfa;
    color: color-mix(in srgb, var(--ermesio-icon-violet) 82%, white);
    background-color: rgba(139, 92, 246, 0.11);
    background-color: color-mix(in srgb, var(--ermesio-icon-violet) 14%, transparent);
    border-color: rgba(139, 92, 246, 0.22);
    border-color: color-mix(in srgb, var(--ermesio-icon-violet) 26%, transparent);
}

.clienti-card-actions .btn-icon-card--delete[b-8dijxifm34] {
    color: #f0a09a;
    background-color: rgba(231, 76, 60, 0.06);
    border-color: rgba(231, 76, 60, 0.12);
}

.clienti-card-actions .btn-icon-card--delete:hover:not(:disabled)[b-8dijxifm34] {
    color: #e88880;
    background-color: rgba(231, 76, 60, 0.11);
    border-color: rgba(231, 76, 60, 0.22);
}

.clienti-card-actions .btn-icon-card--delete:focus-visible[b-8dijxifm34] {
    box-shadow: 0 0 0 2px var(--bs-body-bg), 0 0 0 4px rgba(231, 76, 60, 0.28);
}

/* Mobile: layout a colonna + campi nel wrapper (niente display:contents) così il testo non collassa a 1 carattere per riga */
@media (max-width: 767.98px) {
    .clienti-filters-card[b-8dijxifm34] {
        padding: 0.85rem 0.85rem;
    }

    .clienti-filter-actions[b-8dijxifm34] {
        width: 100%;
        justify-content: flex-end;
        margin-left: 0;
    }

    .clienti-card-list[b-8dijxifm34] {
        overflow-x: visible;
    }

    .clienti-card-row[b-8dijxifm34] {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0.65rem;
        padding: 1rem 1rem;
    }

    .clienti-card-fields[b-8dijxifm34] {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0.7rem;
        width: 100%;
        min-width: 0;
    }

    .clienti-card-field[b-8dijxifm34] {
        width: 100%;
        min-width: 0;
    }

    .clienti-card-field-value.text-break[b-8dijxifm34] {
        word-break: break-word;
        overflow-wrap: anywhere;
    }

    .clienti-card-main[b-8dijxifm34] {
        width: 100%;
        min-width: 0;
        text-align: center;
    }

    .clienti-card-avatar[b-8dijxifm34] {
        align-self: center;
    }

    .clienti-card-actions[b-8dijxifm34] {
        align-self: flex-end;
        margin-top: 0.15rem;
    }
}
/* /Components/Pages/Configurazione.razor.rz.scp.css */
.configurazione-page[b-23jt01ih2y] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 100%;
    max-width: none;
}

/* Toast salvataggio (stesso pattern di TipologieEventoTab in ConfigurazioneCliente) */
.tipologie-toast-host[b-23jt01ih2y] {
    position: fixed;
    top: 1.35rem;
    right: 1.35rem;
    z-index: 2200;
    max-width: min(22rem, calc(100vw - 2.5rem));
    pointer-events: none;
    animation: tipologie-toast-in-b-23jt01ih2y 0.22s ease-out;
}

.tipologie-toast[b-23jt01ih2y] {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    font-size: 0.9375rem;
    border-radius: 0.75rem;
    pointer-events: none;
}

.tipologie-toast-icon[b-23jt01ih2y] {
    flex-shrink: 0;
    margin-top: 0.1rem;
    font-size: 1.2rem;
    line-height: 1;
    color: color-mix(in srgb, var(--bs-success, #198754) 88%, var(--bs-body-color, #0f172a));
}

.tipologie-toast-text[b-23jt01ih2y] {
    flex: 1;
    min-width: 0;
    line-height: 1.4;
}

@keyframes tipologie-toast-in-b-23jt01ih2y {
    from {
        opacity: 0;
        transform: translateY(-0.45rem);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Actions + buttons: stessi di UtenteEdit (scoped lì; barra azioni qui) */
.utenti-edit-actions[b-23jt01ih2y] {
    width: 100%;
}

/* Eccezione: textarea alta con pill radius risulta "strana" */
.configurazione-page .form-control.configurazione-lingue-textarea[b-23jt01ih2y] {
    border-radius: 0.9rem !important;
    padding-top: 0.85rem;
    padding-bottom: 0.85rem;
}


/* /Components/Pages/ConfigurazioneCliente.razor.rz.scp.css */
.configurazione-cliente-page[b-yia4ym0oii] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 100%;
    max-width: none;
}

/*
 * La card globale usa overflow:hidden e backdrop-filter: ciò crea un containing block
 * e taglia i modali position:fixed annidati. Qui li disabilitiamo solo per questa pagina.
 */
.configurazione-cliente-page .configurazione-cliente-card.card.shadow-sm[b-yia4ym0oii] {
    overflow: visible;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}
/* /Components/Pages/Docs/LegalDocPageShell.razor.rz.scp.css */
.legal-doc-page[b-obq9vmqnsx] {
    --legal-doc-bg: #f9fafb;
    --legal-doc-text: #111827;
    --legal-doc-muted: #6b7280;
    --legal-doc-card: #ffffff;
    --legal-doc-border: #e5e7eb;

    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: var(--legal-doc-bg);
    color: var(--legal-doc-text);
    -webkit-font-smoothing: antialiased;
    padding: clamp(1.25rem, 4vw, 2.5rem) clamp(1rem, 3vw, 1.5rem) clamp(2rem, 5vw, 3rem);
    box-sizing: border-box;
}

.legal-doc-header[b-obq9vmqnsx] {
    display: flex;
    justify-content: center;
    width: 100%;
    max-width: min(52rem, 100%);
    margin-bottom: clamp(1rem, 3vw, 1.75rem);
}

.legal-doc-logo[b-obq9vmqnsx] {
    display: block;
    width: 100%;
    max-width: min(100%, 20rem);
    height: auto;
}

.legal-doc-main[b-obq9vmqnsx] {
    width: 100%;
    display: flex;
    justify-content: center;
}

.legal-doc-card[b-obq9vmqnsx] {
    width: 100%;
    max-width: min(52rem, 100%);
    background: var(--legal-doc-card);
    border-radius: 16px;
    box-shadow:
        0 4px 6px -1px rgba(0, 0, 0, 0.06),
        0 10px 40px -10px rgba(0, 0, 0, 0.12);
    padding: clamp(1.5rem, 4vw, 2.5rem);
    border: 1px solid var(--legal-doc-border);
}

.legal-doc-card[b-obq9vmqnsx]  h1 {
    margin: 0 0 0.35rem;
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--legal-doc-text);
}

.legal-doc-card[b-obq9vmqnsx]  h2 {
    margin: 1.25rem 0 0.65rem;
    font-size: 1.35rem;
    font-weight: 600;
    color: var(--legal-doc-text);
}

.legal-doc-card[b-obq9vmqnsx]  h3 {
    margin: 1rem 0 0.5rem;
    font-size: 1rem;
    font-weight: 600;
    color: var(--legal-doc-text);
}

.legal-doc-card[b-obq9vmqnsx]  p {
    margin: 0 0 0.85rem;
    line-height: 1.65;
    color: var(--legal-doc-text);
}

.legal-doc-card[b-obq9vmqnsx]  p:last-child {
    margin-bottom: 0;
}

.legal-doc-card[b-obq9vmqnsx]  ul {
    margin: 0 0 0.85rem;
    padding-left: 1.25rem;
    line-height: 1.6;
}

.legal-doc-card[b-obq9vmqnsx]  li {
    margin-bottom: 0.35rem;
}

.legal-doc-card[b-obq9vmqnsx]  hr {
    margin: 1.25rem 0;
    border: 0;
    border-top: 1px solid var(--legal-doc-border);
}

.legal-doc-card[b-obq9vmqnsx]  a {
    color: #7c3aed;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.legal-doc-card[b-obq9vmqnsx]  a:hover {
    color: #6d28d9;
}

.legal-doc-card[b-obq9vmqnsx]  code {
    font-size: 0.875em;
    padding: 0.1em 0.35em;
    border-radius: 4px;
    background: #f3f4f6;
    color: #374151;
}

.legal-doc-card[b-obq9vmqnsx]  table {
    width: 100%;
    border-collapse: collapse;
    margin: 0.75rem 0 1rem;
    font-size: 0.9375rem;
}

.legal-doc-card[b-obq9vmqnsx]  th,
.legal-doc-card[b-obq9vmqnsx]  td {
    border: 1px solid var(--legal-doc-border);
    padding: 0.5rem 0.65rem;
    vertical-align: top;
    text-align: left;
}

.legal-doc-card[b-obq9vmqnsx]  th {
    background: #f9fafb;
    font-weight: 600;
}

.legal-doc-card[b-obq9vmqnsx]  em {
    color: var(--legal-doc-muted);
}
/* /Components/Pages/EventoGestione.razor.rz.scp.css */
.evento-gestione-page[b-caorbe2kgz] {
    padding: 0.5rem 0.75rem 1.25rem;
}

.evento-gestione-header-wrap[b-caorbe2kgz] {
    margin-bottom: 0.9rem;
}

.evento-gestione-header-actions[b-caorbe2kgz] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.evento-gestione-action-pill[b-caorbe2kgz] {
    display: inline-flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0.35rem;
    padding: 0.22rem 0.3rem 0.22rem 0.45rem;
    border-radius: 999px;
    border: 1px solid rgba(116, 47, 229, 0.15);
    background: color-mix(in srgb, rgb(116, 47, 229) 5.5%, #fff);
    box-sizing: border-box;
    max-width: min(42rem, 72vw);
}

.evento-gestione-action-pill-date[b-caorbe2kgz] {
    display: inline-flex;
    align-items: center;
    gap: 0.38rem;
    padding: 0.48rem 0.85rem 0.48rem 0.65rem;
    border-radius: 999px;
    color: #5b21b6;
    font-weight: 800;
    letter-spacing: 0.02em;
    font-size: 0.8125rem;
    line-height: 1.15;
    min-width: 0;
    max-width: min(28rem, 45vw);
    background: color-mix(in srgb, rgb(116, 47, 229) 7%, #fff);
}

.evento-gestione-action-pill-date i[b-caorbe2kgz] {
    flex: 0 0 auto;
    font-size: 0.95rem;
    line-height: 1;
    color: #6d28d9;
}

.evento-gestione-action-pill-date-text[b-caorbe2kgz] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.evento-gestione-action-pill-btn[b-caorbe2kgz] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.48rem 0.95rem;
    border-radius: 999px;
    border: 1px solid transparent;
    text-decoration: none;
    font-size: 0.8125rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    line-height: 1.15;
    color: #5b21b6;
    background: transparent;
    transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.evento-gestione-action-pill-btn i[b-caorbe2kgz] {
    flex: 0 0 auto;
    font-size: 0.95rem;
    line-height: 1;
}

.evento-gestione-action-pill-btn:hover[b-caorbe2kgz] {
    background: rgba(116, 47, 229, 0.08);
    color: #4c1d95;
    transform: translateY(-1px);
}

.evento-gestione-action-pill-btn:focus-visible[b-caorbe2kgz] {
    outline: 0;
    box-shadow: 0 0 0 2px rgba(116, 47, 229, 0.28);
}

.evento-gestione-action-pill-btn--primary[b-caorbe2kgz] {
    color: #fff;
    background: #7c3aed;
    box-shadow: 0 1px 4px rgba(91, 33, 182, 0.22);
}

.evento-gestione-action-pill-btn--primary:hover[b-caorbe2kgz] {
    color: #fff;
    background: #6d28d9;
}

.evento-gestione-action-pill-btn--bulk-active[b-caorbe2kgz] {
    background: rgba(116, 47, 229, 0.12);
    border: 1px solid rgba(116, 47, 229, 0.22);
    color: #4c1d95;
}

.evento-gestione-action-pill-btn--bulk-active:hover[b-caorbe2kgz] {
    background: rgba(116, 47, 229, 0.16);
    color: #4c1d95;
}

.evento-gestione-action-pill-btn--edit[b-caorbe2kgz] {
    border-left: 3px solid var(--ermesio-violet, #8b5cf6);
    border-right: 3px solid var(--ermesio-violet, #8b5cf6);
    padding-left: 0.85rem;
    padding-right: 0.85rem;
}

@media (max-width: 640px) {
    .evento-gestione-page[b-caorbe2kgz] {
        padding-left: 0.35rem;
        padding-right: 0.35rem;
    }

    .evento-gestione-header-actions[b-caorbe2kgz] {
        row-gap: 0.5rem;
    }

    .evento-gestione-action-pill[b-caorbe2kgz] {
        width: 100%;
        flex-wrap: wrap;
        row-gap: 0.4rem;
        justify-content: center;
        max-width: none;
        border-radius: 18px;
        padding: 0.4rem 0.45rem;
    }

    .evento-gestione-action-pill-date[b-caorbe2kgz] {
        flex: 1 1 100%;
        max-width: none;
        justify-content: center;
    }
}

.evento-gestione-grid[b-caorbe2kgz] {
    display: grid;
    grid-template-columns: 440px 1fr;
    gap: 1rem;
    align-items: start;
}

.evento-gestione-left[b-caorbe2kgz],
.evento-gestione-right[b-caorbe2kgz] {
    min-width: 0;
}

@media (max-width: 992px) {
    .evento-gestione-grid[b-caorbe2kgz] {
        grid-template-columns: 1fr;
    }

    .evento-gestione-right[b-caorbe2kgz] {
        order: 1;
    }

    .evento-gestione-left[b-caorbe2kgz] {
        order: 2;
    }
}

.evento-gestione-loading[b-caorbe2kgz] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem;
    color: #6b7280;
}

.evento-gestione-spinner[b-caorbe2kgz] {
    width: 22px;
    height: 22px;
    border-radius: 999px;
    border: 2px solid rgba(0,0,0,0.12);
    border-top-color: rgba(0,0,0,0.45);
    animation: evento-spin-b-caorbe2kgz 0.9s linear infinite;
}

@keyframes evento-spin-b-caorbe2kgz {
    to { transform: rotate(360deg); }
}

.evento-info-card[b-caorbe2kgz] {
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.06);
}

.evento-info-hero[b-caorbe2kgz] {
    position: relative;
    height: 200px;
    background: #f1f5f9;
}

.evento-info-hero-actions[b-caorbe2kgz] {
    position: absolute;
    top: 0.55rem;
    right: 0.55rem;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.evento-info-hero-action[b-caorbe2kgz] {
    position: absolute;
    position: static;
    width: 2rem;
    height: 2rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.28);
    color: rgba(255, 255, 255, 0.92);
    background: rgba(255, 255, 255, 0.16);
    -webkit-backdrop-filter: blur(10px) saturate(1.35);
    backdrop-filter: blur(10px) saturate(1.35);
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.22);
    transition: transform 0.16s ease, background-color 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease, color 0.16s ease;
}

.evento-info-hero-action i[b-caorbe2kgz] {
    font-size: 1rem;
    line-height: 1;
}

.evento-info-hero-action:hover[b-caorbe2kgz] {
    transform: scale(1.08);
    background: rgba(255, 255, 255, 0.22);
    border-color: rgba(255, 255, 255, 0.38);
    color: rgba(255, 255, 255, 1);
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.28);
}

.evento-info-hero-action:focus-visible[b-caorbe2kgz] {
    outline: 0;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.92), 0 0 0 4px rgba(124, 58, 237, 0.28), 0 14px 34px rgba(15, 23, 42, 0.28);
}

.evento-info-hero-img[b-caorbe2kgz] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.evento-info-hero-placeholder[b-caorbe2kgz] {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #e2e8f0, #f8fafc);
}

.evento-info-body[b-caorbe2kgz] {
    padding: 0.75rem 1.05rem 0.95rem;
}

.evento-info-meta .evento-info-label[b-caorbe2kgz] {
    font-size: 11px;
}

.evento-info-meta .evento-info-value[b-caorbe2kgz] {
    font-size: 0.875rem;
}

.evento-info-meta .evento-info-ico[b-caorbe2kgz] {
    font-size: 16px;
}

.evento-info-meta .badge[b-caorbe2kgz] {
    font-size: 0.6875rem;
    padding: 0.2em 0.55em;
}

.evento-info-row[b-caorbe2kgz] {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 0.6rem;
    padding: 0.55rem 0;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

.evento-info-row--last[b-caorbe2kgz] {
    border-bottom: none;
}

.evento-info-ico[b-caorbe2kgz] {
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(124, 58, 237, 0.08);
    color: rgba(124, 58, 237, 1);
    font-size: 18px;
}

.evento-info-label[b-caorbe2kgz] {
    font-size: 12px;
    color: #64748b;
    line-height: 1.2;
}

.evento-info-value[b-caorbe2kgz] {
    font-weight: 600;
    color: #0f172a;
    line-height: 1.25;
    margin-top: 0.1rem;
    word-break: break-word;
}

.evento-info-details[b-caorbe2kgz] {
    margin-top: 0.5rem;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
    padding-top: 0.55rem;
}

.evento-info-details-summary[b-caorbe2kgz] {
    list-style: none;
    cursor: pointer;
    user-select: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.25rem 0;
}

.evento-info-details-summary[b-caorbe2kgz]::-webkit-details-marker {
    display: none;
}

.evento-info-details-title[b-caorbe2kgz] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-weight: 700;
    color: #0f172a;
}

.evento-info-details-chevron[b-caorbe2kgz] {
    color: #94a3b8;
    transform: rotate(90deg);
    transition: transform 120ms ease;
}

details[open] .evento-info-details-chevron[b-caorbe2kgz] {
    transform: rotate(-90deg);
}

.evento-info-details-body[b-caorbe2kgz] {
    margin-top: 0.35rem;
    padding: 0.35rem 0.1rem 0.2rem;
    color: #334155;
}

.evento-info-allegati-list[b-caorbe2kgz] {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.evento-info-allegato-row[b-caorbe2kgz] {
    display: grid;
    grid-template-columns: 34px 1fr 34px;
    align-items: center;
    gap: 0.6rem;
    padding: 0.55rem 0.55rem;
    background: rgba(241, 245, 249, 0.6);
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 14px;
}

.evento-info-allegato-ico[b-caorbe2kgz] {
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(124, 58, 237, 0.08);
    color: rgba(124, 58, 237, 1);
    font-size: 18px;
}

.evento-info-allegato-main[b-caorbe2kgz] {
    min-width: 0;
}

.evento-info-allegato-name[b-caorbe2kgz] {
    font-weight: 600;
    color: #0f172a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.evento-info-allegato-dl[b-caorbe2kgz] {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: #fff;
    color: #334155;
    text-decoration: none;
}

.evento-info-allegato-dl:hover[b-caorbe2kgz] {
    background: rgba(124, 58, 237, 0.06);
    color: rgba(124, 58, 237, 1);
    border-color: rgba(124, 58, 237, 0.25);
}

.evento-info-coords[b-caorbe2kgz] {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: 0.9rem;
}

.evento-info-map[b-caorbe2kgz] {
    width: 100%;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 14px;
    overflow: hidden;
    background: #f8fafc;
}

.evento-info-map--readonly .ermesio-mapview[b-caorbe2kgz] {
    padding: 0.4rem;
}

.evento-info-map--readonly .ermesio-mapview-map[b-caorbe2kgz] {
    border: none;
}

.evento-info-desc[b-caorbe2kgz] {
    margin-top: 0.75rem;
    padding-top: 0.65rem;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
}

.evento-info-desc-label[b-caorbe2kgz] {
    font-size: 11px;
    letter-spacing: 0.08em;
    font-weight: 800;
    color: #94a3b8;
}

.evento-info-desc-text[b-caorbe2kgz] {
    margin-top: 0.4rem;
    font-size: 13px;
    line-height: 1.45;
    color: #94a3b8;
    white-space: pre-wrap;
}

.evento-gestione-right-placeholder[b-caorbe2kgz] {
    background: #fff;
    border: 1px dashed rgba(15, 23, 42, 0.18);
    border-radius: 18px;
    padding: 1.25rem;
}

.evento-partecipanti-empty-state[b-caorbe2kgz] {
    max-width: 34rem;
    margin: 0.5rem auto 0;
    text-align: center;
    padding-top: 2.25rem;
    padding-bottom: 2.25rem;
}

.evento-partecipanti-empty-state-icon[b-caorbe2kgz] {
    width: 3.5rem;
    height: 3.5rem;
    margin: 0 auto 0.75rem;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 82%, white);
    background: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 10%, transparent);
    border: 1px solid color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 18%, transparent);
}

.evento-partecipanti-empty-state-icon i[b-caorbe2kgz] {
    font-size: 1.65rem;
    line-height: 1;
}

.evento-partecipanti-empty-state-title[b-caorbe2kgz] {
    font-weight: 700;
    font-size: 1.05rem;
    color: var(--bs-body-color);
}

.evento-partecipanti-empty-state-text[b-caorbe2kgz] {
    margin-top: 0.25rem;
    font-size: 0.9375rem;
}

.evento-gestione-partecipanti-card[b-caorbe2kgz] {
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.06);
    overflow: hidden;
    background: #fff;
}

.evento-partecipanti-table-wrap[b-caorbe2kgz] {
    min-width: 0;
}

.evento-partecipanti-table-scroll[b-caorbe2kgz] {
    max-width: 100%;
}

.evento-partecipanti-table[b-caorbe2kgz] {
    width: 100%;
    border-collapse: collapse;
}

.evento-partecipanti-toolbar[b-caorbe2kgz] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.6rem 0.75rem;
    border-radius: 16px;
    background: color-mix(in srgb, rgb(116, 47, 229) 5.5%, #fff);
    border: 1px solid rgba(116, 47, 229, 0.15);
    margin-bottom: 0.75rem;
}

.evento-partecipanti-toolbar-inner[b-caorbe2kgz] {
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
}

.evento-partecipanti-toolbar-filters[b-caorbe2kgz] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    min-width: 0;
}

.evento-partecipanti-toolbar-search[b-caorbe2kgz] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.2rem 0.15rem;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-4px);
    transition: opacity 160ms ease, transform 160ms ease;
}

.evento-partecipanti-toolbar-inner.is-search .evento-partecipanti-toolbar-search[b-caorbe2kgz] {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.evento-partecipanti-toolbar-inner.is-search .evento-partecipanti-toolbar-filters[b-caorbe2kgz] {
    opacity: 0;
    pointer-events: none;
}

.evento-partecipanti-search-input[b-caorbe2kgz] {
    flex: 1 1 auto;
    min-width: 0;
    border-radius: 999px;
    padding-left: 1rem;
}

.evento-partecipanti-search-close[b-caorbe2kgz] {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 999px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.85);
    color: #64748b;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    cursor: pointer !important;
}

.evento-partecipanti-search-close i[b-caorbe2kgz] {
    cursor: pointer !important;
}

.evento-partecipanti-toolbar-actions[b-caorbe2kgz] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    flex: 0 0 auto;
}

.evento-partecipanti-toolbar-ico[b-caorbe2kgz] {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Nota: alcuni bottoni della toolbar (Cerca/Reset) usano `btn-icon-card--edit` e
   devono ereditare il look da quella classe, senza essere "imbiancati" da queste regole. */
.evento-partecipanti-toolbar-ico:not(.btn-icon-card)[b-caorbe2kgz] {
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.85);
    color: #64748b;
    transition: transform 0.16s ease, background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

.evento-partecipanti-toolbar-ico:not(.btn-icon-card):hover:not(:disabled)[b-caorbe2kgz] {
    transform: translateY(-1px);
    background: rgba(255, 255, 255, 1);
    border-color: rgba(116, 47, 229, 0.18);
    color: #6d28d9;
}

.evento-partecipanti-toolbar-ico:not(.btn-icon-card):focus-visible[b-caorbe2kgz] {
    outline: 0;
    box-shadow: 0 0 0 2px var(--bs-body-bg), 0 0 0 4px rgba(116, 47, 229, 0.22);
}

.evento-partecipanti-toolbar-actions .btn-icon-card[b-caorbe2kgz] {
    /* Base border to match the "invio messaggio" icon button style */
    --ermesio-icon-violet: var(--ermesio-violet, #8b5cf6);
    border: 1px solid transparent;
}

/* Solo bordo uguale al pulsante invio messaggio */
.evento-partecipanti-toolbar-actions .btn-icon-card--edit[b-caorbe2kgz] {
    border-color: rgba(139, 92, 246, 0.12);
    border-color: color-mix(in srgb, var(--ermesio-icon-violet) 16%, transparent);
}

.evento-partecipanti-toolbar-actions .btn-icon-card--edit:hover:not(:disabled)[b-caorbe2kgz] {
    border-color: rgba(139, 92, 246, 0.22);
    border-color: color-mix(in srgb, var(--ermesio-icon-violet) 26%, transparent);
}

.evento-partecipanti-toolbar-ico:disabled[b-caorbe2kgz] {
    opacity: 0.7;
    transform: none;
}

.evento-partecipanti-toolbar-ico.evento-partecipanti-toolbar-excel[b-caorbe2kgz] {
    border: 1px solid rgba(33, 115, 70, 0.32);
    background: color-mix(in srgb, #217346 14%, #fff);
    color: #166534;
    font-size: 1.08rem;
}

.evento-partecipanti-toolbar-ico.evento-partecipanti-toolbar-excel:hover:not(:disabled)[b-caorbe2kgz] {
    border-color: rgba(33, 115, 70, 0.42);
    background: color-mix(in srgb, #217346 22%, #fff);
    color: #14532d;
}

.evento-partecipanti-toolbar-ico.evento-partecipanti-toolbar-excel:focus-visible[b-caorbe2kgz] {
    box-shadow: 0 0 0 2px var(--bs-body-bg), 0 0 0 4px rgba(33, 115, 70, 0.28);
}

/* Mobile: porta i pulsanti azione (export, cerca, reset) su una nuova riga sotto i filtri */
@media (max-width: 640px) {
    .evento-partecipanti-toolbar[b-caorbe2kgz] {
        flex-wrap: wrap;
        row-gap: 0.5rem;
    }

    .evento-partecipanti-toolbar-inner[b-caorbe2kgz] {
        flex: 1 1 100%;
    }

    .evento-partecipanti-toolbar-actions[b-caorbe2kgz] {
        flex: 1 1 100%;
        justify-content: flex-end;
    }
}

.evento-partecipanti-filter[b-caorbe2kgz] {
    border: 1px solid transparent;
    background: transparent;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.45rem 0.7rem;
    border-radius: 999px;
    font-size: 0.86rem;
    font-weight: 400;
    color: var(--bs-secondary-color, #475569);
    transition: background-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
    white-space: nowrap;
}

.evento-partecipanti-filter:hover[b-caorbe2kgz] {
    background: rgba(255, 255, 255, 0.65);
    color: var(--bs-body-color);
    transform: translateY(-1px);
}

.evento-partecipanti-filter.is-active[b-caorbe2kgz] {
    background: color-mix(in srgb, rgb(116, 47, 229) 7%, #fff);
    border-color: rgba(116, 47, 229, 0.18);
    color: #4c1d95;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.06);
}

.evento-partecipanti-filter-ico i[b-caorbe2kgz] {
    font-size: 1rem;
    line-height: 1;
}

.evento-partecipanti-filter-count[b-caorbe2kgz] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.35rem;
    height: 1.35rem;
    padding: 0 0.35rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 800;
    color: rgba(71, 85, 105, 0.95);
    background: rgba(2, 6, 23, 0.06);
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.evento-partecipanti-filter.is-active .evento-partecipanti-filter-count[b-caorbe2kgz] {
    background: rgba(255, 255, 255, 0.92);
    border-color: rgba(116, 47, 229, 0.18);
}

/* colori icona + count come modale */
.evento-partecipanti-filter.is-accettata .evento-partecipanti-filter-ico[b-caorbe2kgz],
.evento-partecipanti-filter.is-accettata .evento-partecipanti-filter-label[b-caorbe2kgz],
.evento-partecipanti-filter.is-accettata .evento-partecipanti-filter-count[b-caorbe2kgz] {
    color: rgba(5, 150, 105, 1);
}
.evento-partecipanti-filter.is-attesa .evento-partecipanti-filter-ico[b-caorbe2kgz],
.evento-partecipanti-filter.is-attesa .evento-partecipanti-filter-label[b-caorbe2kgz],
.evento-partecipanti-filter.is-attesa .evento-partecipanti-filter-count[b-caorbe2kgz] {
    color: rgba(194, 65, 12, 1);
}
.evento-partecipanti-filter.is-rifiutata .evento-partecipanti-filter-ico[b-caorbe2kgz],
.evento-partecipanti-filter.is-rifiutata .evento-partecipanti-filter-label[b-caorbe2kgz],
.evento-partecipanti-filter.is-rifiutata .evento-partecipanti-filter-count[b-caorbe2kgz] {
    color: rgba(185, 28, 28, 1);
}
.evento-partecipanti-filter.is-senza .evento-partecipanti-filter-ico[b-caorbe2kgz],
.evento-partecipanti-filter.is-senza .evento-partecipanti-filter-label[b-caorbe2kgz],
.evento-partecipanti-filter.is-senza .evento-partecipanti-filter-count[b-caorbe2kgz] {
    color: rgba(29, 78, 216, 1);
}

.evento-partecipanti-bulk-bar[b-caorbe2kgz] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem 1rem;
    padding: 0.55rem 0.75rem;
    border-radius: 12px;
    /* Stesso schema colore del badge stato «Senza risposta» (.evento-partecipanti-badge.is-senza) */
    border: 1px solid rgba(59, 130, 246, 0.18);
    background: rgba(59, 130, 246, 0.1);
    margin-bottom: 0.5rem;
}

.evento-partecipanti-bulk-count[b-caorbe2kgz] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.875rem;
    font-weight: 700;
    color: rgba(29, 78, 216, 1);
}

.evento-partecipanti-bulk-count i[b-caorbe2kgz] {
    font-size: 1.05rem;
    opacity: 0.9;
}

.evento-partecipanti-bulk-actions[b-caorbe2kgz] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

/* Stessa altezza / padding dei pulsanti del pill header (Invita, Messaggio, Annulla) */
.evento-partecipanti-bulk-btn[b-caorbe2kgz] {
    font-size: 0.8125rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    line-height: 1.15;
    padding: 0.48rem 0.95rem !important;
    min-height: 0;
    border-radius: 999px;
}

.evento-partecipanti-bulk-btn i[b-caorbe2kgz] {
    font-size: 0.95rem;
    line-height: 1;
}

.evento-partecipanti-bulk-btn.ermesio-btn--ghost[b-caorbe2kgz] {
    color: #fff;
    background: #2563eb;
    border-color: rgba(29, 78, 216, 0.55);
    box-shadow: 0 1px 3px rgba(29, 78, 216, 0.22);
}

.evento-partecipanti-bulk-btn.ermesio-btn--ghost:hover:not(:disabled)[b-caorbe2kgz] {
    color: #fff;
    background: #1d4ed8;
    border-color: rgba(30, 64, 175, 0.65);
    transform: translateY(-1px);
}

.evento-partecipanti-bulk-btn.ermesio-btn--ghost:focus-visible[b-caorbe2kgz] {
    box-shadow: 0 0 0 2px var(--bs-body-bg, #fff), 0 0 0 4px rgba(37, 99, 235, 0.35);
}

.evento-partecipanti-bulk-btn.ermesio-btn--ghost:disabled[b-caorbe2kgz] {
    color: rgba(255, 255, 255, 0.85);
    background: rgba(37, 99, 235, 0.45);
    border-color: rgba(37, 99, 235, 0.25);
    transform: none;
    opacity: 1;
}

.evento-partecipanti-col-bulk[b-caorbe2kgz] {
    width: 2.75rem;
    box-sizing: border-box;
    text-align: left;
    vertical-align: middle !important;
    /* Stesso inset orizzontale della toolbar / bulk bar (0.75rem) per evitare scalatura col checkbox header */
    padding-left: 0.75rem !important;
    padding-right: 0.35rem !important;
}

.evento-partecipanti-table thead th.evento-partecipanti-col-bulk[b-caorbe2kgz] {
    padding-top: 0.75rem;
    padding-bottom: 0.6rem;
}

.evento-partecipanti-bulk-check--header[b-caorbe2kgz] {
    display: block;
    margin: 0;
}

.evento-partecipanti-bulk-check[b-caorbe2kgz] {
    width: 1.1rem;
    height: 1.1rem;
    margin: 0;
    cursor: pointer;
    accent-color: #7c3aed;
}

.evento-partecipanti-clickrow.is-bulk-selected[b-caorbe2kgz] {
    background: rgba(124, 58, 237, 0.08);
}

.evento-partecipanti-clickrow.is-bulk-selected:hover[b-caorbe2kgz] {
    background: rgba(124, 58, 237, 0.11);
}

.evento-partecipanti-table thead th[b-caorbe2kgz] {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #94a3b8;
    padding: 0.4rem 0.1rem 0.6rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.35);
}

.evento-partecipanti-table tbody tr[b-caorbe2kgz] {
    border-bottom: 1px solid rgba(148, 163, 184, 0.35);
}

.evento-partecipanti-table tbody td[b-caorbe2kgz] {
    padding: 0.75rem 0.1rem;
    vertical-align: middle;
}

.evento-partecipanti-table thead th:first-child[b-caorbe2kgz],
.evento-partecipanti-table tbody td:first-child[b-caorbe2kgz] {
    padding-left: 0.75rem;
}

.evento-partecipanti-table thead th:last-child[b-caorbe2kgz],
.evento-partecipanti-table tbody td:last-child[b-caorbe2kgz] {
    padding-right: 0.75rem;
}

.evento-partecipanti-clickrow[b-caorbe2kgz] {
    cursor: pointer;
}

.evento-partecipanti-clickrow:hover[b-caorbe2kgz] {
    background: rgba(139, 92, 246, 0.06);
}

.evento-partecipanti-clickrow:hover .evento-partecipanti-avatar[b-caorbe2kgz] {
    transform: scale(1.08);
}

@media (prefers-reduced-motion: reduce) {
    .evento-partecipanti-avatar[b-caorbe2kgz] {
        transition: none;
    }

    .evento-partecipanti-clickrow:hover .evento-partecipanti-avatar[b-caorbe2kgz] {
        transform: none;
    }
}

.evento-partecipanti-profilo[b-caorbe2kgz] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}

.evento-partecipanti-avatar[b-caorbe2kgz] {
    width: 3.2rem;
    height: 3.2rem;
    border-radius: 12px;
    display: grid;
    place-items: center;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    color: rgba(124, 58, 237, 1);
    background: rgba(124, 58, 237, 0.08);
    border: 1px solid rgba(124, 58, 237, 0.18);
    flex: 0 0 auto;
    transform-origin: center;
    transition: transform 0.22s ease;
}

.evento-partecipanti-avatar--has-img[b-caorbe2kgz] {
    background: transparent;
    color: transparent;
    padding: 0;
    overflow: hidden;
}

.evento-partecipanti-avatar-img[b-caorbe2kgz] {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.evento-partecipanti-main[b-caorbe2kgz] {
    min-width: 0;
}

.evento-partecipanti-title[b-caorbe2kgz] {
    font-weight: 700;
    color: #0f172a;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
    max-width: 100%;
}

.evento-partecipanti-title > span:first-child[b-caorbe2kgz] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.evento-partecipanti-bday-badge[b-caorbe2kgz] {
    display: inline-flex;
    align-items: center;
    padding: 0.08rem 0.32rem;
    border-radius: 7px;
    font-size: 0.625rem;
    font-weight: 700;
    color: rgba(124, 58, 237, 1);
    background: rgba(124, 58, 237, 0.08);
    border: 1px solid rgba(124, 58, 237, 0.18);
    white-space: nowrap;
    flex-shrink: 0;
}

.evento-partecipanti-gruppi[b-caorbe2kgz] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.1rem;
    font-size: 0.75rem;
    color: #64748b;
    line-height: 1.25;
}

.evento-partecipanti-gruppi i[b-caorbe2kgz] {
    flex-shrink: 0;
    font-size: 0.875rem;
    opacity: 0.85;
}

.evento-partecipanti-sub[b-caorbe2kgz] {
    margin-top: 0.15rem;
    font-size: 0.8125rem;
    color: #94a3b8;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.evento-partecipanti-contact-link[b-caorbe2kgz] {
    color: inherit;
    text-decoration: none;
}

.evento-partecipanti-contact-link:hover[b-caorbe2kgz] {
    text-decoration: underline;
}

.evento-partecipanti-contact-sep[b-caorbe2kgz] {
    opacity: 0.7;
}

.evento-partecipanti-col-stato[b-caorbe2kgz] {
    width: 10.5rem;
    text-align: right;
}

.evento-partecipanti-table thead th.evento-partecipanti-col-stato[b-caorbe2kgz],
.evento-partecipanti-table tbody td.evento-partecipanti-col-stato[b-caorbe2kgz] {
    padding-right: 0.7rem;
}

.evento-partecipanti-col-note[b-caorbe2kgz] {
    width: 40%;
}

.evento-partecipanti-col-action[b-caorbe2kgz] {
    width: 3.1rem;
    text-align: right;
}

.evento-partecipanti-table thead th.evento-partecipanti-col-action[b-caorbe2kgz],
.evento-partecipanti-table tbody td.evento-partecipanti-col-action[b-caorbe2kgz] {
    padding-left: 0.65rem;
}

.evento-partecipanti-note[b-caorbe2kgz] {
    max-width: 100%;
    font-size: 0.875rem;
    color: #64748b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.evento-partecipanti-badge[b-caorbe2kgz] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.12rem 0.38rem;
    border-radius: 7px;
    font-size: 0.6rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #1d4ed8;
    background: rgba(59, 130, 246, 0.10);
    border: 1px solid rgba(59, 130, 246, 0.18);
    white-space: nowrap;
}

.evento-partecipanti-badge.is-accettata[b-caorbe2kgz] {
    color: rgba(5, 150, 105, 1);
    background: rgba(34, 197, 94, 0.12);
    border-color: rgba(34, 197, 94, 0.28);
}

.evento-partecipanti-badge.is-attesa[b-caorbe2kgz] {
    color: rgba(194, 65, 12, 1);
    background: rgba(249, 115, 22, 0.14);
    border-color: rgba(249, 115, 22, 0.30);
}

.evento-partecipanti-badge.is-rifiutata[b-caorbe2kgz] {
    color: rgba(185, 28, 28, 1);
    background: rgba(239, 68, 68, 0.12);
    border-color: rgba(239, 68, 68, 0.28);
}

.evento-partecipanti-badge.is-senza[b-caorbe2kgz] {
    color: rgba(29, 78, 216, 1);
    background: rgba(59, 130, 246, 0.10);
    border-color: rgba(59, 130, 246, 0.18);
}

/* Icon button messaggio: stessa formattazione di Utenti.razor (.utenti-card-actions .btn-icon-card) */
.evento-partecipanti-col-action .btn-icon-card[b-caorbe2kgz] {
    --ermesio-icon-violet: var(--ermesio-violet, #8b5cf6);
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid transparent;
    line-height: 1;
    text-decoration: none;
    transition:
        transform 0.16s ease,
        background-color 0.16s ease,
        border-color 0.16s ease,
        color 0.16s ease;
    transform-origin: center;
}

.evento-partecipanti-col-action .btn-icon-card:not(:disabled):hover[b-caorbe2kgz] {
    transform: scale(1.08);
}

.evento-partecipanti-col-action .btn-icon-card:focus-visible[b-caorbe2kgz] {
    outline: 0;
    box-shadow: 0 0 0 2px var(--bs-body-bg), 0 0 0 4px rgba(139, 92, 246, 0.28);
}

.evento-partecipanti-col-action .btn-icon-card:disabled[b-caorbe2kgz] {
    opacity: 0.55;
    transform: none;
    cursor: not-allowed;
    pointer-events: none;
}

.evento-partecipanti-col-action .btn-icon-card--edit[b-caorbe2kgz] {
    color: #b9a3f8;
    color: color-mix(in srgb, var(--ermesio-icon-violet) 72%, white);
    background-color: rgba(139, 92, 246, 0.06);
    background-color: color-mix(in srgb, var(--ermesio-icon-violet) 8%, transparent);
    border-color: rgba(139, 92, 246, 0.12);
    border-color: color-mix(in srgb, var(--ermesio-icon-violet) 16%, transparent);
}

.evento-partecipanti-col-action .btn-icon-card--edit:hover[b-caorbe2kgz] {
    color: #a78bfa;
    color: color-mix(in srgb, var(--ermesio-icon-violet) 82%, white);
    background-color: rgba(139, 92, 246, 0.11);
    background-color: color-mix(in srgb, var(--ermesio-icon-violet) 14%, transparent);
    border-color: rgba(139, 92, 246, 0.22);
    border-color: color-mix(in srgb, var(--ermesio-icon-violet) 26%, transparent);
}

/* /Components/Pages/Galleria/Foto.razor.rz.scp.css */
.galleria-foto-page[b-vuey5iwq91] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 100%;
    max-width: none;
}

/* Stesso linguaggio visivo dell'empty state in Utenti.razor (classi utenti-empty-state*). */
.utenti-empty-state[b-vuey5iwq91] {
    max-width: 34rem;
    margin: 0.5rem auto 0;
    text-align: center;
    padding-top: 2.25rem;
    padding-bottom: 2.25rem;
}

.utenti-empty-state-icon[b-vuey5iwq91] {
    width: 3.5rem;
    height: 3.5rem;
    margin: 0 auto 0.75rem;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 82%, white);
    background: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 10%, transparent);
    border: 1px solid color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 18%, transparent);
}

.utenti-empty-state-icon i[b-vuey5iwq91] {
    font-size: 1.65rem;
    line-height: 1;
}

.utenti-empty-state-title[b-vuey5iwq91] {
    font-weight: 700;
    font-size: 1.05rem;
    color: var(--bs-body-color);
}

.galleria-foto-day-group[b-vuey5iwq91] {
    width: 100%;
    margin-bottom: 1.75rem;
}

.galleria-foto-day-group:last-child[b-vuey5iwq91] {
    margin-bottom: 0;
}

.galleria-foto-day-header[b-vuey5iwq91] {
    display: flex;
    align-items: baseline;
    gap: 0.75rem;
    width: 100%;
    margin-bottom: 0.85rem;
}

.galleria-foto-day-title[b-vuey5iwq91] {
    margin: 0;
    font-size: 0.98rem;
    line-height: 1.35;
    color: var(--bs-body-color);
    flex-shrink: 0;
}

.galleria-foto-day-name[b-vuey5iwq91] {
    font-weight: 700;
}

.galleria-foto-day-date[b-vuey5iwq91] {
    font-weight: 400;
    margin-left: 0.25rem;
}

.galleria-foto-day-rule[b-vuey5iwq91] {
    flex: 1 1 auto;
    min-width: 1rem;
    height: 1px;
    background: color-mix(in srgb, var(--bs-body-color, #212529) 14%, transparent);
    align-self: center;
}

.galleria-foto-grid[b-vuey5iwq91] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 22rem), 1fr));
    gap: 1rem;
    width: 100%;
}

/* Elenco a scroll infinito (nessun Virtualize). */
.galleria-foto-virtual-list[b-vuey5iwq91] {
    width: 100%;
}

.galleria-foto-infinite-sentinel[b-vuey5iwq91] {
    min-height: 2rem;
}

.galleria-foto-virtual-item[b-vuey5iwq91] {
    box-sizing: border-box;
    padding-bottom: 1rem;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

.galleria-foto-virtual-item .galleria-foto-day-header[b-vuey5iwq91] {
    margin-bottom: 0.85rem;
    flex-shrink: 0;
}

/* Colonne = Video.GalleryVideosPerRow (4); su schermi stretti si riduce sotto. */
.galleria-foto-chunk-grid[b-vuey5iwq91] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    width: 100%;
    flex: 1 1 auto;
    align-content: start;
}

.galleria-foto-virtual-card-wrap[b-vuey5iwq91] {
    max-width: 28rem;
    min-width: 0;
}

.galleria-foto-chunk-grid .galleria-foto-virtual-card-wrap[b-vuey5iwq91] {
    max-width: none;
}

.galleria-foto-virtual-placeholder[b-vuey5iwq91] {
    height: 420px;
    margin-bottom: 1rem;
    border-radius: 0.5rem;
    background: color-mix(in srgb, var(--bs-body-color, #212529) 6%, transparent);
}

@media (max-width: 991.98px) {
    .galleria-foto-chunk-grid[b-vuey5iwq91] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .galleria-foto-chunk-grid[b-vuey5iwq91] {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Viewer a schermo intero (sotto alle modal Bootstrap ~1055) */
.galleria-foto-viewer-root[b-vuey5iwq91] {
    position: fixed;
    inset: 0;
    z-index: 1048;
    padding: 0.75rem;
    overflow-y: auto;
    outline: none;
    background: rgba(15, 23, 42, 0.55);
}

.galleria-foto-viewer-layout[b-vuey5iwq91] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 280px);
    grid-template-rows: auto auto;
    column-gap: 1rem;
    row-gap: 0.65rem;
    align-items: stretch;
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
    background: var(--bs-body-bg, #fff);
    border-radius: 0.85rem;
    box-shadow: 0 12px 48px rgba(0, 0, 0, 0.2);
    padding: 0 1rem 1.25rem;
}

.galleria-foto-viewer-layout > .galleria-foto-viewer-card-header[b-vuey5iwq91] {
    grid-column: 1 / -1;
    grid-row: 1;
}

.galleria-foto-viewer-card-header[b-vuey5iwq91] {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 1rem 0 0.75rem;
    border-bottom: 1px solid color-mix(in srgb, var(--bs-body-color, #212529) 10%, transparent);
}

.galleria-foto-viewer-card-title-block[b-vuey5iwq91] {
    flex: 1 1 auto;
    min-width: 0;
}

.galleria-foto-viewer-card-title[b-vuey5iwq91] {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--bs-body-color, #212529);
}

.galleria-foto-viewer-card-subtitle[b-vuey5iwq91] {
    margin: 0.35rem 0 0;
    font-size: 0.85rem;
    line-height: 1.35;
    color: var(--bs-secondary-color, #64748b);
    display: flex;
    align-items: flex-start;
    gap: 0;
}

.galleria-foto-viewer-close[b-vuey5iwq91] {
    appearance: none;
    border: none;
    background: color-mix(in srgb, var(--bs-body-color, #212529) 5%, transparent);
    color: var(--bs-secondary-color, #64748b);
    font-size: 1.35rem;
    line-height: 1;
    padding: 0.45rem;
    border-radius: 0.75rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.galleria-foto-viewer-close:hover[b-vuey5iwq91] {
    background: color-mix(in srgb, var(--ermesio-danger, #d63d5e) 12%, transparent);
    color: var(--ermesio-danger, #d63d5e);
    transform: rotate(90deg);
}

.galleria-foto-viewer-close:focus-visible[b-vuey5iwq91] {
    outline: 2px solid color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 55%, transparent);
    outline-offset: 2px;
}

.galleria-foto-viewer-layout > .galleria-foto-viewer-main[b-vuey5iwq91] {
    grid-column: 1;
    grid-row: 2;
    align-self: start;
    min-width: 0;
}

.galleria-foto-viewer-layout > .galleria-foto-viewer-sidebar[b-vuey5iwq91] {
    grid-column: 2;
    grid-row: 2;
    align-self: stretch;
    min-height: 0;
}

.galleria-foto-viewer-main[b-vuey5iwq91] {
    min-width: 0;
}

.galleria-foto-viewer-player-stack[b-vuey5iwq91] {
    position: relative;
    width: 100%;
}

.galleria-foto-viewer-player[b-vuey5iwq91] {
    display: block;
    width: 100%;
    border-radius: 0.65rem;
    background: #0f0f0f;
    aspect-ratio: 16 / 9;
    max-height: min(72vh, 820px);
    object-fit: contain;
}

.galleria-foto-viewer-meta[b-vuey5iwq91] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem;
}

.galleria-foto-viewer-meta-primary[b-vuey5iwq91] {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 0.75rem;
    min-width: 0;
    flex: 1 1 12rem;
}

.galleria-foto-viewer-avatar[b-vuey5iwq91] {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.galleria-foto-viewer-avatar--placeholder[b-vuey5iwq91] {
    display: flex;
    align-items: center;
    justify-content: center;
    background: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 14%, var(--bs-body-bg, #fff));
    color: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 88%, #000);
    font-size: 1.25rem;
}

.galleria-foto-viewer-meta-text[b-vuey5iwq91] {
    min-width: 0;
    flex: 1 1 auto;
}

.galleria-foto-viewer-owner[b-vuey5iwq91] {
    font-weight: 700;
    font-size: 1rem;
}

.galleria-foto-viewer-uploaded[b-vuey5iwq91] {
    margin-top: 0.15rem;
}

.galleria-foto-viewer-actions[b-vuey5iwq91] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    align-items: center;
    justify-content: flex-end;
}

.galleria-foto-viewer-sidebar[b-vuey5iwq91] {
    width: 100%;
    max-width: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.galleria-foto-viewer-sidebar-list[b-vuey5iwq91] {
    overflow-y: auto;
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    padding-right: 0.15rem;
}

.galleria-foto-viewer-sidebar-item[b-vuey5iwq91] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.55rem;
    width: 100%;
    text-align: left;
    padding: 0.45rem 0.5rem;
    border: 1px solid color-mix(in srgb, var(--bs-body-color, #212529) 10%, transparent);
    border-radius: 0.5rem;
    background: var(--bs-body-bg, #fff);
    color: var(--bs-body-color, #212529);
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.galleria-foto-viewer-sidebar-item:hover[b-vuey5iwq91] {
    background: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 6%, var(--bs-body-bg, #fff));
}

.galleria-foto-viewer-sidebar-item.is-active[b-vuey5iwq91] {
    border-color: color-mix(in srgb, var(--ermesio-violet, #6366f1) 45%, transparent);
    background: color-mix(in srgb, var(--ermesio-violet, #6366f1) 10%, var(--bs-body-bg, #fff));
}

.galleria-foto-viewer-sidebar-thumb[b-vuey5iwq91] {
    flex: 0 0 108px;
    width: 108px;
    aspect-ratio: 16 / 9;
    border-radius: 0.35rem;
    overflow: hidden;
    background: #1a1a1a;
}

.galleria-foto-viewer-sidebar-thumb img[b-vuey5iwq91] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.galleria-foto-viewer-sidebar-thumb--missing[b-vuey5iwq91] {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    color: color-mix(in srgb, var(--bs-body-color, #212529) 35%, transparent);
    font-size: 1.25rem;
}

.galleria-foto-viewer-sidebar-text[b-vuey5iwq91] {
    flex: 1 1 auto;
    min-width: 0;
}

.galleria-foto-viewer-sidebar-name[b-vuey5iwq91] {
    font-weight: 600;
    font-size: 0.85rem;
}

.galleria-foto-viewer-sidebar-meta-row[b-vuey5iwq91] {
    display: flex;
    align-items: center;
    gap: 0.28rem;
    margin-top: 0.12rem;
    font-size: 0.6875rem;
    line-height: 1.2;
    color: var(--bs-secondary-color, #64748b);
}

.galleria-foto-viewer-sidebar-meta-icon[b-vuey5iwq91] {
    flex-shrink: 0;
    font-size: 0.78rem;
    line-height: 1;
    color: color-mix(in srgb, var(--bs-secondary-color, #64748b) 92%, var(--bs-body-color, #212529));
    opacity: 0.92;
}

@media (max-width: 991.98px) {
    .galleria-foto-viewer-layout[b-vuey5iwq91] {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        row-gap: 0.65rem;
    }

    .galleria-foto-viewer-layout > .galleria-foto-viewer-card-header[b-vuey5iwq91],
    .galleria-foto-viewer-layout > .galleria-foto-viewer-main[b-vuey5iwq91],
    .galleria-foto-viewer-layout > .galleria-foto-viewer-sidebar[b-vuey5iwq91] {
        grid-column: unset;
        grid-row: unset;
        align-self: stretch;
        width: 100%;
    }

    .galleria-foto-viewer-sidebar[b-vuey5iwq91] {
        max-height: 38vh;
    }

    .galleria-foto-viewer-player[b-vuey5iwq91] {
        max-height: none;
    }
}


/* /Components/Pages/Galleria/GalleriaFotoCard.razor.rz.scp.css */
.galleria-foto-card[b-1v9rmba41f] {
    display: flex;
    flex-direction: column;
    border-radius: 0.65rem;
    background: var(--bs-body-bg, #fff);
    box-shadow: 0 0.125rem 0.45rem rgba(0, 0, 0, 0.08);
    border: 1px solid color-mix(in srgb, var(--bs-body-color, #212529) 10%, transparent);
}

.galleria-foto-card-inner[b-1v9rmba41f] {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #1a1a1a;
    border-radius: 0.65rem 0.65rem 0 0;
    overflow: hidden;
}

.galleria-foto-card-inner--openable[b-1v9rmba41f] {
    cursor: pointer;
}

.galleria-foto-card-inner--openable:focus-visible[b-1v9rmba41f] {
    outline: 2px solid color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 70%, transparent);
    outline-offset: 2px;
}

/* Utenti taggati: avatar sovrapposti in alto a sinistra sulla copertina */
.galleria-foto-facestack[b-1v9rmba41f] {
    position: absolute;
    top: 0.45rem;
    left: 0.45rem;
    z-index: 2;
    display: flex;
    flex-direction: row;
    align-items: center;
    pointer-events: none;
}

.galleria-foto-facestack-item[b-1v9rmba41f],
.galleria-foto-facestack-more[b-1v9rmba41f] {
    pointer-events: auto;
}

.galleria-foto-facestack-item[b-1v9rmba41f] {
    position: relative;
    flex-shrink: 0;
    width: 1.85rem;
    height: 1.85rem;
    margin-left: -0.5rem;
    border-radius: 50%;
    border: 2px solid var(--bs-body-bg, #fff);
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.22);
    overflow: hidden;
    background: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 18%, var(--bs-body-bg, #fff));
}

.galleria-foto-facestack-item:first-child[b-1v9rmba41f] {
    margin-left: 0;
}

.galleria-foto-facestack-img[b-1v9rmba41f] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.galleria-foto-facestack-initials[b-1v9rmba41f] {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    font-size: 0.55rem;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(
        135deg,
        var(--ermesio-violet, #8b5cf6),
        color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 72%, #4c1d95)
    );
}

.galleria-foto-facestack-more[b-1v9rmba41f] {
    position: relative;
    flex-shrink: 0;
    min-width: 1.85rem;
    height: 1.85rem;
    margin-left: -0.5rem;
    padding: 0 0.25rem;
    border-radius: 999px;
    border: 2px solid var(--bs-body-bg, #fff);
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.22);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.65rem;
    font-weight: 700;
    color: var(--bs-emphasis-color, #0f172a);
    background: color-mix(in srgb, var(--bs-body-color, #212529) 8%, var(--bs-body-bg, #fff));
}

.galleria-foto-card-img[b-1v9rmba41f] {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.galleria-foto-card-img--missing[b-1v9rmba41f] {
    display: flex;
    align-items: center;
    justify-content: center;
    color: color-mix(in srgb, var(--bs-body-color, #212529) 35%, transparent);
    background: #1a1a1a;
}

.galleria-foto-card-img-icon[b-1v9rmba41f] {
    font-size: 2.5rem;
    line-height: 1;
}

.galleria-foto-card-footer[b-1v9rmba41f] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.65rem 0.55rem 0.65rem 0.75rem;
    border-top: 1px solid color-mix(in srgb, var(--bs-body-color, #212529) 8%, transparent);
    min-height: 3.25rem;
}

.galleria-foto-card-avatar-wrap[b-1v9rmba41f] {
    flex-shrink: 0;
}

.galleria-foto-card-avatar[b-1v9rmba41f] {
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 50%;
    object-fit: cover;
    display: block;
}

.galleria-foto-card-avatar--placeholder[b-1v9rmba41f] {
    display: flex;
    align-items: center;
    justify-content: center;
    background: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 14%, var(--bs-body-bg, #fff));
    color: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 88%, #000);
    font-size: 1.15rem;
}

.galleria-foto-card-owner-block[b-1v9rmba41f] {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    justify-content: center;
}

.galleria-foto-card-owner[b-1v9rmba41f] {
    font-weight: 600;
    font-size: 0.9375rem;
    color: var(--bs-body-color);
}

.galleria-foto-card-event-title[b-1v9rmba41f] {
    font-size: 0.75rem;
    line-height: 1.25;
    font-weight: 600;
    color: var(--bs-body-color);
}

.galleria-foto-card-event-title--clickable[b-1v9rmba41f] {
    cursor: pointer;
    color: color-mix(in srgb, var(--ermesio-violet, #6366f1) 92%, var(--bs-body-color, #212529));
}

.galleria-foto-card-event-title--clickable:hover[b-1v9rmba41f] {
    text-decoration: underline;
}

.galleria-foto-card-place[b-1v9rmba41f] {
    font-size: 0.72rem;
    line-height: 1.25;
    font-weight: 400;
    color: var(--bs-secondary-color, #64748b);
}

.galleria-foto-card-actions[b-1v9rmba41f] {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    gap: 0;
}

.galleria-foto-card-menu[b-1v9rmba41f] {
    flex-shrink: 0;
}

.galleria-foto-card-tag-btn[b-1v9rmba41f],
.galleria-foto-card-menu-btn[b-1v9rmba41f] {
    --bs-btn-color: var(--bs-secondary-color);
    --bs-btn-hover-color: var(--bs-body-color);
    --bs-btn-padding-y: 0.2rem;
    --bs-btn-padding-x: 0.35rem;
    line-height: 1;
    text-decoration: none;
}

.galleria-foto-card-tag-btn:focus-visible[b-1v9rmba41f],
.galleria-foto-card-menu-btn:focus-visible[b-1v9rmba41f] {
    box-shadow: none;
}

.galleria-foto-card-tag-btn i[b-1v9rmba41f],
.galleria-foto-card-menu-btn i[b-1v9rmba41f] {
    font-size: 1.35rem;
    vertical-align: middle;
}

/* /Components/Pages/Galleria/GalleriaPageToolbar.razor.rz.scp.css */
.galleria-page-toolbar[b-s2agky771o] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.65rem;
    max-width: 100%;
}

.galleria-page-toolbar__group[b-s2agky771o] {
    display: inline-flex;
    align-items: stretch;
    padding: 3px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--bs-body-color, #334155) 6%, var(--bs-body-bg, #fff));
    border: 1px solid color-mix(in srgb, var(--bs-body-color, #334155) 10%, transparent);
    gap: 2px;
}

.galleria-page-toolbar__pill[b-s2agky771o] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.45rem 0.75rem;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--bs-secondary-color, #64748b);
    background: transparent;
    border: none;
    border-radius: 999px;
    cursor: pointer;
    white-space: nowrap;
    transition: background-color 0.15s ease, color 0.15s ease;
}

a.galleria-page-toolbar__pill[b-s2agky771o] {
    cursor: pointer;
}

.galleria-page-toolbar__pill i[b-s2agky771o] {
    font-size: 1rem;
    line-height: 1;
    opacity: 0.92;
}

.galleria-page-toolbar__pill--active[b-s2agky771o] {
    color: #fff !important;
    background: var(--ermesio-violet, #8b5cf6);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset;
}

button.galleria-page-toolbar__pill:not(.galleria-page-toolbar__pill--active):hover[b-s2agky771o] {
    color: var(--bs-body-color);
    background: color-mix(in srgb, var(--bs-body-color, #0f172a) 5%, transparent);
}

a.galleria-page-toolbar__pill:not(.galleria-page-toolbar__pill--active):hover[b-s2agky771o] {
    color: var(--bs-body-color);
    background: color-mix(in srgb, var(--bs-body-color, #0f172a) 5%, transparent);
}

.galleria-page-toolbar__search[b-s2agky771o] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    min-width: 10rem;
    flex: 1 1 12rem;
    max-width: 22rem;
    padding: 0.4rem 0.75rem 0.4rem 0.65rem;
    margin: 0;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--bs-body-color, #334155) 12%, transparent);
    background: color-mix(in srgb, var(--bs-body-bg, #fff) 88%, var(--bs-body-color, #334155) 4%);
}

.galleria-page-toolbar__search-icon[b-s2agky771o] {
    font-size: 1.1rem;
    color: var(--bs-secondary-color, #64748b);
    flex-shrink: 0;
}

.galleria-page-toolbar__search-input[b-s2agky771o] {
    flex: 1 1 auto;
    min-width: 0;
    border: none;
    background: transparent;
    font-size: 0.875rem;
    color: var(--bs-body-color);
    outline: none;
}

.galleria-page-toolbar__search-input[b-s2agky771o]::placeholder {
    color: var(--bs-secondary-color, #94a3b8);
}

.galleria-page-toolbar__add[b-s2agky771o] {
    display: inline-flex;
    align-items: center;
    gap: 0;
}

/* Label definito in questo componente: lo scoped CSS si applica senza ::deep. */
.galleria-page-toolbar__add-btn[b-s2agky771o] {
    box-sizing: border-box;
    flex-shrink: 0;
    width: 2.35rem;
    height: 2.35rem;
    min-width: 2.35rem;
    min-height: 2.35rem;
    aspect-ratio: 1;
    margin: 0;
    padding: 0;
    line-height: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: none;
    background-color: var(--ermesio-violet, #8b5cf6);
    color: #fff;
    cursor: pointer;
    text-decoration: none;
    transition: background-color 0.15s ease;
}

.galleria-page-toolbar__add-btn:hover[b-s2agky771o] {
    color: #fff;
    background-color: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 90%, #000);
}

.galleria-page-toolbar__add-btn i[b-s2agky771o] {
    font-size: 1.2rem;
    line-height: 1;
    color: inherit;
}
/* /Components/Pages/Galleria/GalleriaVideoCard.razor.rz.scp.css */
.galleria-video-card[b-u1n6pqantc] {
    display: flex;
    flex-direction: column;
    border-radius: 0.65rem;
    background: var(--bs-body-bg, #fff);
    box-shadow: 0 0.125rem 0.45rem rgba(0, 0, 0, 0.08);
    border: 1px solid color-mix(in srgb, var(--bs-body-color, #212529) 10%, transparent);
}

.galleria-video-card-inner[b-u1n6pqantc] {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #1a1a1a;
    border-radius: 0.65rem 0.65rem 0 0;
    overflow: hidden;
}

.galleria-video-card-inner--openable[b-u1n6pqantc] {
    cursor: pointer;
}

.galleria-video-card-inner--openable:focus-visible[b-u1n6pqantc] {
    outline: 2px solid color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 70%, transparent);
    outline-offset: 2px;
}

/* Utenti taggati: avatar sovrapposti in alto a sinistra sulla copertina */
.galleria-video-facestack[b-u1n6pqantc] {
    position: absolute;
    top: 0.45rem;
    left: 0.45rem;
    z-index: 2;
    display: flex;
    flex-direction: row;
    align-items: center;
    pointer-events: none;
}

.galleria-video-facestack-item[b-u1n6pqantc],
.galleria-video-facestack-more[b-u1n6pqantc] {
    pointer-events: auto;
}

.galleria-video-facestack-item[b-u1n6pqantc] {
    position: relative;
    flex-shrink: 0;
    width: 1.85rem;
    height: 1.85rem;
    margin-left: -0.5rem;
    border-radius: 50%;
    border: 2px solid var(--bs-body-bg, #fff);
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.22);
    overflow: hidden;
    background: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 18%, var(--bs-body-bg, #fff));
}

.galleria-video-facestack-item:first-child[b-u1n6pqantc] {
    margin-left: 0;
}

.galleria-video-facestack-img[b-u1n6pqantc] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.galleria-video-facestack-initials[b-u1n6pqantc] {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    font-size: 0.55rem;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(
        135deg,
        var(--ermesio-violet, #8b5cf6),
        color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 72%, #4c1d95)
    );
}

.galleria-video-facestack-more[b-u1n6pqantc] {
    position: relative;
    flex-shrink: 0;
    min-width: 1.85rem;
    height: 1.85rem;
    margin-left: -0.5rem;
    padding: 0 0.25rem;
    border-radius: 999px;
    border: 2px solid var(--bs-body-bg, #fff);
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.22);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.65rem;
    font-weight: 700;
    color: var(--bs-emphasis-color, #0f172a);
    background: color-mix(in srgb, var(--bs-body-color, #212529) 8%, var(--bs-body-bg, #fff));
}

.galleria-video-hover-vimeo[b-u1n6pqantc] {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.22s ease;
}

.galleria-video-hover-vimeo iframe[b-u1n6pqantc],
.galleria-video-hover-vimeo-iframe[b-u1n6pqantc] {
    position: absolute;
    top: 50%;
    left: 50%;
    border: 0;
    transform: translate(-50%, -50%);
    transform-origin: center center;
    pointer-events: none;
}

.galleria-video-cover-overlay[b-u1n6pqantc] {
    position: absolute;
    inset: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity 0.18s ease;
}

/* Copertina sopra l'iframe finché Vimeo non segnala play (ermesio.js). */
.galleria-video-card-inner--hover-preview-ready .galleria-video-cover-overlay[b-u1n6pqantc] {
    opacity: 0;
    pointer-events: none;
}

.galleria-video-hover-vimeo.galleria-video-hover-vimeo--ready[b-u1n6pqantc] {
    opacity: 1;
}

.galleria-video-hover-preview-hint[b-u1n6pqantc] {
    position: absolute;
    inset: 0;
    z-index: 4;
    display: none;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

.galleria-video-card-inner--hover-preview-loading .galleria-video-hover-preview-hint[b-u1n6pqantc] {
    display: flex;
}

.galleria-video-card-inner--hover-preview-ready .galleria-video-hover-preview-hint[b-u1n6pqantc] {
    display: none;
}

.galleria-video-hover-preview-hint-box[b-u1n6pqantc] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.45rem 0.8rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.2;
    color: #fff;
    background: rgba(15, 23, 42, 0.82);
    backdrop-filter: blur(4px);
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.25);
}

.galleria-video-hover-preview-hint-spinner[b-u1n6pqantc] {
    font-size: 1rem;
    animation: galleria-video-card-status-spin-b-u1n6pqantc 0.9s linear infinite;
}

.galleria-video-cover-overlay--missing[b-u1n6pqantc] {
    display: flex;
    align-items: center;
    justify-content: center;
    color: color-mix(in srgb, var(--bs-body-color, #212529) 35%, transparent);
    background: #1a1a1a;
}

.galleria-video-cover-overlay-icon[b-u1n6pqantc] {
    font-size: 2.5rem;
    line-height: 1;
}

.galleria-video-card-status[b-u1n6pqantc] {
    position: absolute;
    right: 0.45rem;
    bottom: 0.45rem;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1.2;
    color: #fff;
    background: rgba(15, 23, 42, 0.72);
    backdrop-filter: blur(4px);
}

.galleria-video-card-status--pending[b-u1n6pqantc],
.galleria-video-card-status--processing[b-u1n6pqantc] {
    background: rgba(99, 102, 241, 0.88);
}

.galleria-video-card-status--failed[b-u1n6pqantc] {
    background: rgba(220, 38, 38, 0.9);
}

.galleria-video-card-status-spinner[b-u1n6pqantc] {
    animation: galleria-video-card-status-spin-b-u1n6pqantc 0.9s linear infinite;
}

@keyframes galleria-video-card-status-spin-b-u1n6pqantc {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.galleria-video-card-footer[b-u1n6pqantc] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.65rem 0.55rem 0.65rem 0.75rem;
    border-top: 1px solid color-mix(in srgb, var(--bs-body-color, #212529) 8%, transparent);
    min-height: 3.25rem;
}

.galleria-video-card-avatar-wrap[b-u1n6pqantc] {
    flex-shrink: 0;
}

.galleria-video-card-avatar[b-u1n6pqantc] {
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 50%;
    object-fit: cover;
    display: block;
}

.galleria-video-card-avatar--placeholder[b-u1n6pqantc] {
    display: flex;
    align-items: center;
    justify-content: center;
    background: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 14%, var(--bs-body-bg, #fff));
    color: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 88%, #000);
    font-size: 1.15rem;
}

.galleria-video-card-owner-block[b-u1n6pqantc] {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    justify-content: center;
}

.galleria-video-card-owner[b-u1n6pqantc] {
    font-weight: 600;
    font-size: 0.9375rem;
    color: var(--bs-body-color);
}

.galleria-video-card-event-title[b-u1n6pqantc] {
    font-size: 0.75rem;
    line-height: 1.25;
    font-weight: 600;
    color: var(--bs-body-color);
}

.galleria-video-card-event-title--clickable[b-u1n6pqantc] {
    cursor: pointer;
    color: color-mix(in srgb, var(--ermesio-violet, #6366f1) 92%, var(--bs-body-color, #212529));
}

.galleria-video-card-event-title--clickable:hover[b-u1n6pqantc] {
    text-decoration: underline;
}

.galleria-video-card-place[b-u1n6pqantc] {
    font-size: 0.72rem;
    line-height: 1.25;
    font-weight: 400;
    color: var(--bs-secondary-color, #64748b);
}

.galleria-video-card-actions[b-u1n6pqantc] {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    gap: 0;
}

.galleria-video-card-menu[b-u1n6pqantc] {
    flex-shrink: 0;
}

.galleria-video-card-tag-btn[b-u1n6pqantc],
.galleria-video-card-menu-btn[b-u1n6pqantc] {
    --bs-btn-color: var(--bs-secondary-color);
    --bs-btn-hover-color: var(--bs-body-color);
    --bs-btn-padding-y: 0.2rem;
    --bs-btn-padding-x: 0.35rem;
    line-height: 1;
    text-decoration: none;
}

.galleria-video-card-tag-btn:focus-visible[b-u1n6pqantc],
.galleria-video-card-menu-btn:focus-visible[b-u1n6pqantc] {
    box-shadow: none;
}

.galleria-video-card-tag-btn i[b-u1n6pqantc],
.galleria-video-card-menu-btn i[b-u1n6pqantc] {
    font-size: 1.35rem;
    vertical-align: middle;
}
/* /Components/Pages/Galleria/GalleriaVideoNoteIndicators.razor.rz.scp.css */
/* Icone note: angolo in alto a destra sul riquadro video (card o viewer). */
.gvn-root[b-f6lhyohix4] {
    position: absolute;
    top: 0.45rem;
    right: 0.45rem;
    z-index: 4;
    pointer-events: none;
}

.gvn-icons[b-f6lhyohix4] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.35rem;
    pointer-events: auto;
}

.gvn-icon-btn[b-f6lhyohix4] {
    appearance: none;
    border: 1px solid rgba(255, 255, 255, 0.35);
    width: 1.9rem;
    height: 1.9rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    color: #fff;
    cursor: pointer;
    background: rgba(15, 23, 42, 0.55);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25);
    transition:
        transform 0.15s ease,
        background 0.15s ease,
        border-color 0.15s ease;
}

.gvn-icon-btn:hover[b-f6lhyohix4] {
    transform: scale(1.06);
    background: rgba(15, 23, 42, 0.72);
    border-color: rgba(255, 255, 255, 0.55);
}

.gvn-icon-btn:focus-visible[b-f6lhyohix4] {
    outline: 2px solid color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 80%, transparent);
    outline-offset: 2px;
}

.gvn-icon-btn--text[b-f6lhyohix4] {
    background: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 55%, rgba(15, 23, 42, 0.65));
}

.gvn-icon-btn--voice[b-f6lhyohix4] {
    background: color-mix(in srgb, #0ea5e9 45%, rgba(15, 23, 42, 0.65));
}

.gvn-root--viewer .gvn-icon-btn[b-f6lhyohix4] {
    width: 2.35rem;
    height: 2.35rem;
    font-size: 1.15rem;
}

/* Modale “premium” (stile allineato al modale Associa / Note). */
.gvn-modal-root[b-f6lhyohix4] {
    position: fixed;
    inset: 0;
    z-index: 1090;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    box-sizing: border-box;
    pointer-events: none;
}

.gvn-modal-backdrop[b-f6lhyohix4] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.42);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    pointer-events: auto;
    animation: gvnFadeIn-b-f6lhyohix4 0.25s ease-out;
}

.gvn-modal-shell[b-f6lhyohix4] {
    position: relative;
    z-index: 1;
    pointer-events: auto;
    width: 100%;
    max-width: 32rem;
    max-height: min(90vh, 36rem);
    display: flex;
    flex-direction: column;
    outline: none;
    animation: gvnSlideUp-b-f6lhyohix4 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.gvn-modal-card[b-f6lhyohix4] {
    display: flex;
    flex-direction: column;
    max-height: inherit;
    background: var(--ermesio-glass-bg, rgba(255, 255, 255, 0.94));
    border-radius: var(--ermesio-card-radius, 1.5rem);
    border: 1px solid var(--ermesio-glass-border, rgba(255, 255, 255, 0.5));
    box-shadow: var(--ermesio-glass-shadow, 0 24px 48px rgba(15, 23, 42, 0.16));
    overflow: hidden;
}

.gvn-modal-header[b-f6lhyohix4] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.2rem 1.45rem 1rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    flex-shrink: 0;
}

.gvn-modal-title-wrap[b-f6lhyohix4] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}

.gvn-modal-title-icon[b-f6lhyohix4] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 0.75rem;
    flex-shrink: 0;
    background: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 12%, transparent);
    color: var(--ermesio-violet, #8b5cf6);
    font-size: 1.25rem;
}

.gvn-modal-title-icon--voice[b-f6lhyohix4] {
    background: color-mix(in srgb, #0ea5e9 14%, transparent);
    color: #0284c7;
}

.gvn-modal-title[b-f6lhyohix4] {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0f172a;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

.gvn-modal-close[b-f6lhyohix4] {
    appearance: none;
    border: none;
    background: rgba(15, 23, 42, 0.05);
    color: #64748b;
    font-size: 1.25rem;
    padding: 0.5rem;
    border-radius: 0.75rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.gvn-modal-close:hover[b-f6lhyohix4] {
    background: rgba(214, 61, 94, 0.1);
    color: var(--ermesio-danger, #d63d5e);
    transform: rotate(90deg);
}

.gvn-modal-body[b-f6lhyohix4] {
    padding: 1.25rem 1.45rem;
    overflow: auto;
    flex: 1 1 auto;
    min-height: 0;
}

.gvn-text-scroll[b-f6lhyohix4] {
    white-space: pre-wrap;
    word-break: break-word;
    font-size: 1rem;
    line-height: 1.55;
    color: #1e293b;
    max-height: min(50vh, 22rem);
    overflow-y: auto;
    padding-right: 0.25rem;
}

.gvn-audio[b-f6lhyohix4] {
    display: block;
    width: 100%;
    border-radius: 0.75rem;
}

.gvn-modal-footer[b-f6lhyohix4] {
    padding: 1rem 1.45rem 1.35rem;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}

.gvn-modal-footer--split[b-f6lhyohix4] {
    justify-content: flex-start;
}

.gvn-modal-footer-spacer[b-f6lhyohix4] {
    flex: 1 1 auto;
    min-width: 0;
}

@keyframes gvnFadeIn-b-f6lhyohix4 {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes gvnSlideUp-b-f6lhyohix4 {
    from { opacity: 0; transform: translateY(14px) scale(0.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}
/* /Components/Pages/Galleria/Video.razor.rz.scp.css */
.galleria-video-page[b-idl7edrwf9] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 100%;
    max-width: none;
}

.galleria-video-upload-banner[b-idl7edrwf9] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
    border-radius: 0.65rem;
    border: 1px solid color-mix(in srgb, var(--ermesio-violet, #6366f1) 28%, transparent);
    background: color-mix(in srgb, var(--ermesio-violet, #6366f1) 8%, var(--bs-body-bg, #fff));
}

.galleria-video-upload-banner--done[b-idl7edrwf9] {
    border-color: color-mix(in srgb, var(--bs-success, #198754) 35%, transparent);
    background: color-mix(in srgb, var(--bs-success, #198754) 8%, var(--bs-body-bg, #fff));
}

.galleria-video-upload-banner__body[b-idl7edrwf9] {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    min-width: 0;
}

.galleria-video-upload-banner__icon[b-idl7edrwf9] {
    font-size: 1.35rem;
    line-height: 1;
    color: var(--ermesio-violet, #6366f1);
    flex-shrink: 0;
    margin-top: 0.1rem;
}

.galleria-video-upload-banner__text[b-idl7edrwf9] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    font-size: 0.875rem;
    color: var(--bs-body-color);
}

.galleria-video-upload-banner__text strong[b-idl7edrwf9] {
    font-size: 0.92rem;
}

.galleria-video-upload-banner__detail[b-idl7edrwf9] {
    color: var(--bs-secondary-color, #64748b);
    font-size: 0.8rem;
}

.galleria-video-upload-banner__dismiss[b-idl7edrwf9] {
    flex-shrink: 0;
}

/* Sopra PleaseWait (2100): pannello progresso per file durante l'upload. */
.galleria-video-upload-overlay[b-idl7edrwf9] {
    position: fixed;
    inset: 0;
    z-index: 2200;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    pointer-events: all;
    background: linear-gradient(
        160deg,
        rgba(242, 240, 247, 0.94) 0%,
        rgba(237, 233, 250, 0.9) 55%,
        rgba(224, 214, 252, 0.72) 100%
    );
}

@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
    .galleria-video-upload-overlay[b-idl7edrwf9] {
        -webkit-backdrop-filter: blur(6px) saturate(1.08);
        backdrop-filter: blur(6px) saturate(1.08);
        background: rgba(242, 240, 247, 0.55);
    }
}

.galleria-video-upload-overlay__panel[b-idl7edrwf9] {
    width: min(32rem, 100%);
    max-height: min(80vh, 36rem);
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1.1rem 1.15rem;
    border-radius: 0.75rem;
    border: 1px solid color-mix(in srgb, var(--ermesio-violet, #6366f1) 24%, transparent);
    background: var(--bs-body-bg, #fff);
    box-shadow: 0 18px 48px rgba(15, 23, 42, 0.14);
}

.galleria-video-upload-overlay__header[b-idl7edrwf9] {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
}

.galleria-video-upload-overlay__icon[b-idl7edrwf9] {
    font-size: 1.5rem;
    line-height: 1;
    color: var(--ermesio-violet, #6366f1);
    flex-shrink: 0;
    margin-top: 0.1rem;
}

.galleria-video-upload-overlay__title[b-idl7edrwf9] {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: var(--bs-emphasis-color, #0f172a);
}

.galleria-video-upload-overlay__hint[b-idl7edrwf9] {
    margin: 0.2rem 0 0;
    font-size: 0.8rem;
    color: var(--bs-secondary-color, #64748b);
}

.galleria-video-upload-overlay__summary[b-idl7edrwf9] {
    margin: 0;
    font-size: 0.82rem;
    color: var(--bs-body-color);
}

.galleria-video-upload-overlay__files[b-idl7edrwf9] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    overflow: auto;
}

.galleria-video-upload-file[b-idl7edrwf9] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.galleria-video-upload-file__meta[b-idl7edrwf9] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    min-width: 0;
}

.galleria-video-upload-file__name[b-idl7edrwf9] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.82rem;
    font-weight: 500;
    color: var(--bs-emphasis-color, #0f172a);
}

.galleria-video-upload-file__status[b-idl7edrwf9] {
    flex-shrink: 0;
    font-size: 0.75rem;
    color: var(--bs-secondary-color, #64748b);
    font-variant-numeric: tabular-nums;
}

.galleria-video-upload-file__track[b-idl7edrwf9] {
    height: 0.28rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--bs-body-color, #212529) 10%, transparent);
    overflow: hidden;
}

.galleria-video-upload-file__bar[b-idl7edrwf9] {
    height: 100%;
    border-radius: inherit;
    background: var(--ermesio-violet, #6366f1);
    transition: width 0.2s ease;
}

.galleria-video-upload-file--done .galleria-video-upload-file__bar[b-idl7edrwf9] {
    background: var(--bs-success, #198754);
}

.galleria-video-upload-file--failed .galleria-video-upload-file__bar[b-idl7edrwf9] {
    background: var(--bs-danger, #dc3545);
}

.galleria-video-upload-file--waiting .galleria-video-upload-file__bar[b-idl7edrwf9] {
    opacity: 0.35;
}

.galleria-video-upload-file--failed .galleria-video-upload-file__status[b-idl7edrwf9] {
    color: var(--bs-danger, #dc3545);
}

.galleria-video-upload-file--done .galleria-video-upload-file__status[b-idl7edrwf9] {
    color: var(--bs-success, #198754);
}

/* Stesso linguaggio visivo dell'empty state in Utenti.razor (classi utenti-empty-state*). */
.utenti-empty-state[b-idl7edrwf9] {
    max-width: 34rem;
    margin: 0.5rem auto 0;
    text-align: center;
    padding-top: 2.25rem;
    padding-bottom: 2.25rem;
}

.utenti-empty-state-icon[b-idl7edrwf9] {
    width: 3.5rem;
    height: 3.5rem;
    margin: 0 auto 0.75rem;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 82%, white);
    background: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 10%, transparent);
    border: 1px solid color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 18%, transparent);
}

.utenti-empty-state-icon i[b-idl7edrwf9] {
    font-size: 1.65rem;
    line-height: 1;
}

.utenti-empty-state-title[b-idl7edrwf9] {
    font-weight: 700;
    font-size: 1.05rem;
    color: var(--bs-body-color);
}

.galleria-video-day-group[b-idl7edrwf9] {
    width: 100%;
    margin-bottom: 1.75rem;
}

.galleria-video-day-group:last-child[b-idl7edrwf9] {
    margin-bottom: 0;
}

.galleria-video-day-header[b-idl7edrwf9] {
    display: flex;
    align-items: baseline;
    gap: 0.75rem;
    width: 100%;
    margin-bottom: 0.85rem;
}

.galleria-video-day-title[b-idl7edrwf9] {
    margin: 0;
    font-size: 0.98rem;
    line-height: 1.35;
    color: var(--bs-body-color);
    flex-shrink: 0;
}

.galleria-video-day-name[b-idl7edrwf9] {
    font-weight: 700;
}

.galleria-video-day-date[b-idl7edrwf9] {
    font-weight: 400;
    margin-left: 0.25rem;
}

.galleria-video-day-rule[b-idl7edrwf9] {
    flex: 1 1 auto;
    min-width: 1rem;
    height: 1px;
    background: color-mix(in srgb, var(--bs-body-color, #212529) 14%, transparent);
    align-self: center;
}

.galleria-video-grid[b-idl7edrwf9] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 22rem), 1fr));
    gap: 1rem;
    width: 100%;
}

/* Elenco a scroll infinito (nessun Virtualize). */
.galleria-video-virtual-list[b-idl7edrwf9] {
    width: 100%;
}

.galleria-video-infinite-sentinel[b-idl7edrwf9] {
    min-height: 2rem;
}

.galleria-video-virtual-item[b-idl7edrwf9] {
    box-sizing: border-box;
    padding-bottom: 1rem;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

.galleria-video-virtual-item .galleria-video-day-header[b-idl7edrwf9] {
    margin-bottom: 0.85rem;
    flex-shrink: 0;
}

/* Colonne = Video.GalleryVideosPerRow (4); su schermi stretti si riduce sotto. */
.galleria-video-chunk-grid[b-idl7edrwf9] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    width: 100%;
    flex: 1 1 auto;
    align-content: start;
}

.galleria-video-virtual-card-wrap[b-idl7edrwf9] {
    max-width: 28rem;
    min-width: 0;
}

.galleria-video-chunk-grid .galleria-video-virtual-card-wrap[b-idl7edrwf9] {
    max-width: none;
}

.galleria-video-virtual-placeholder[b-idl7edrwf9] {
    height: 420px;
    margin-bottom: 1rem;
    border-radius: 0.5rem;
    background: color-mix(in srgb, var(--bs-body-color, #212529) 6%, transparent);
}

@media (max-width: 991.98px) {
    .galleria-video-chunk-grid[b-idl7edrwf9] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .galleria-video-chunk-grid[b-idl7edrwf9] {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Viewer a schermo intero (sotto alle modal Bootstrap ~1055) */
.galleria-video-viewer-root[b-idl7edrwf9] {
    position: fixed;
    inset: 0;
    z-index: 1048;
    padding: 0.75rem;
    overflow-y: auto;
    outline: none;
    background: rgba(15, 23, 42, 0.55);
}

.galleria-video-viewer-layout[b-idl7edrwf9] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 280px);
    grid-template-rows: auto auto;
    column-gap: 1rem;
    row-gap: 0.65rem;
    align-items: stretch;
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
    background: var(--bs-body-bg, #fff);
    border-radius: 0.85rem;
    box-shadow: 0 12px 48px rgba(0, 0, 0, 0.2);
    padding: 0 1rem 1.25rem;
}

.galleria-video-viewer-layout > .galleria-video-viewer-card-header[b-idl7edrwf9] {
    grid-column: 1 / -1;
    grid-row: 1;
}

.galleria-video-viewer-card-header[b-idl7edrwf9] {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 1rem 0 0.75rem;
    border-bottom: 1px solid color-mix(in srgb, var(--bs-body-color, #212529) 10%, transparent);
}

.galleria-video-viewer-card-title-block[b-idl7edrwf9] {
    flex: 1 1 auto;
    min-width: 0;
}

.galleria-video-viewer-card-title[b-idl7edrwf9] {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--bs-body-color, #212529);
}

.galleria-video-viewer-card-subtitle[b-idl7edrwf9] {
    margin: 0.35rem 0 0;
    font-size: 0.85rem;
    line-height: 1.35;
    color: var(--bs-secondary-color, #64748b);
    display: flex;
    align-items: flex-start;
    gap: 0;
}

.galleria-video-viewer-close[b-idl7edrwf9] {
    appearance: none;
    border: none;
    background: color-mix(in srgb, var(--bs-body-color, #212529) 5%, transparent);
    color: var(--bs-secondary-color, #64748b);
    font-size: 1.35rem;
    line-height: 1;
    padding: 0.45rem;
    border-radius: 0.75rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.galleria-video-viewer-close:hover[b-idl7edrwf9] {
    background: color-mix(in srgb, var(--ermesio-danger, #d63d5e) 12%, transparent);
    color: var(--ermesio-danger, #d63d5e);
    transform: rotate(90deg);
}

.galleria-video-viewer-close:focus-visible[b-idl7edrwf9] {
    outline: 2px solid color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 55%, transparent);
    outline-offset: 2px;
}

.galleria-video-viewer-layout > .galleria-video-viewer-main[b-idl7edrwf9] {
    grid-column: 1;
    grid-row: 2;
    align-self: start;
    min-width: 0;
}

.galleria-video-viewer-layout > .galleria-video-viewer-sidebar[b-idl7edrwf9] {
    grid-column: 2;
    grid-row: 2;
    align-self: stretch;
    min-height: 0;
}

.galleria-video-viewer-main[b-idl7edrwf9] {
    min-width: 0;
}

.galleria-video-viewer-player-stack[b-idl7edrwf9] {
    position: relative;
    width: 100%;
}

.galleria-video-viewer-player--vimeo[b-idl7edrwf9] {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    max-height: min(72vh, 820px);
    min-height: 12rem;
    border-radius: 0.65rem;
    background: #0f0f0f;
    overflow: hidden;
}

.galleria-video-viewer-player--vimeo iframe[b-idl7edrwf9],
.galleria-video-viewer-vimeo-iframe[b-idl7edrwf9] {
    position: absolute;
    top: 50%;
    left: 50%;
    border: 0;
    transform: translate(-50%, -50%);
    transform-origin: center center;
}

.galleria-video-viewer-processing[b-idl7edrwf9] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    width: 100%;
    aspect-ratio: 16 / 9;
    max-height: min(72vh, 820px);
    border-radius: 0.65rem;
    background: color-mix(in srgb, var(--bs-body-bg) 92%, #000);
    color: var(--bs-secondary-color);
    font-size: 0.95rem;
}

.galleria-video-viewer-processing i[b-idl7edrwf9] {
    font-size: 2rem;
    animation: galleria-video-spin-b-idl7edrwf9 1s linear infinite;
}

@keyframes galleria-video-spin-b-idl7edrwf9 {
    to {
        transform: rotate(360deg);
    }
}

.galleria-video-viewer-player[b-idl7edrwf9] {
    display: block;
    width: 100%;
    border-radius: 0.65rem;
    background: #0f0f0f;
    aspect-ratio: 16 / 9;
    max-height: min(72vh, 820px);
}

.galleria-video-viewer-meta[b-idl7edrwf9] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem;
}

.galleria-video-viewer-meta-primary[b-idl7edrwf9] {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 0.75rem;
    min-width: 0;
    flex: 1 1 12rem;
}

.galleria-video-viewer-avatar[b-idl7edrwf9] {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.galleria-video-viewer-avatar--placeholder[b-idl7edrwf9] {
    display: flex;
    align-items: center;
    justify-content: center;
    background: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 14%, var(--bs-body-bg, #fff));
    color: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 88%, #000);
    font-size: 1.25rem;
}

.galleria-video-viewer-meta-text[b-idl7edrwf9] {
    min-width: 0;
    flex: 1 1 auto;
}

.galleria-video-viewer-owner[b-idl7edrwf9] {
    font-weight: 700;
    font-size: 1rem;
}

.galleria-video-viewer-uploaded[b-idl7edrwf9] {
    margin-top: 0.15rem;
}

.galleria-video-viewer-actions[b-idl7edrwf9] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    align-items: center;
    justify-content: flex-end;
}

.galleria-video-viewer-sidebar[b-idl7edrwf9] {
    width: 100%;
    max-width: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.galleria-video-viewer-sidebar-list[b-idl7edrwf9] {
    overflow-y: auto;
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    padding-right: 0.15rem;
}

.galleria-video-viewer-sidebar-item[b-idl7edrwf9] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.55rem;
    width: 100%;
    text-align: left;
    padding: 0.45rem 0.5rem;
    border: 1px solid color-mix(in srgb, var(--bs-body-color, #212529) 10%, transparent);
    border-radius: 0.5rem;
    background: var(--bs-body-bg, #fff);
    color: var(--bs-body-color, #212529);
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.galleria-video-viewer-sidebar-item:hover[b-idl7edrwf9] {
    background: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 6%, var(--bs-body-bg, #fff));
}

.galleria-video-viewer-sidebar-item.is-active[b-idl7edrwf9] {
    border-color: color-mix(in srgb, var(--ermesio-violet, #6366f1) 45%, transparent);
    background: color-mix(in srgb, var(--ermesio-violet, #6366f1) 10%, var(--bs-body-bg, #fff));
}

.galleria-video-viewer-sidebar-thumb[b-idl7edrwf9] {
    flex: 0 0 108px;
    width: 108px;
    aspect-ratio: 16 / 9;
    border-radius: 0.35rem;
    overflow: hidden;
    background: #1a1a1a;
}

.galleria-video-viewer-sidebar-thumb img[b-idl7edrwf9] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.galleria-video-viewer-sidebar-thumb--missing[b-idl7edrwf9] {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    color: color-mix(in srgb, var(--bs-body-color, #212529) 35%, transparent);
    font-size: 1.25rem;
}

.galleria-video-viewer-sidebar-text[b-idl7edrwf9] {
    flex: 1 1 auto;
    min-width: 0;
}

.galleria-video-viewer-sidebar-name[b-idl7edrwf9] {
    font-weight: 600;
    font-size: 0.85rem;
}

.galleria-video-viewer-sidebar-meta-row[b-idl7edrwf9] {
    display: flex;
    align-items: center;
    gap: 0.28rem;
    margin-top: 0.12rem;
    font-size: 0.6875rem;
    line-height: 1.2;
    color: var(--bs-secondary-color, #64748b);
}

.galleria-video-viewer-sidebar-meta-icon[b-idl7edrwf9] {
    flex-shrink: 0;
    font-size: 0.78rem;
    line-height: 1;
    color: color-mix(in srgb, var(--bs-secondary-color, #64748b) 92%, var(--bs-body-color, #212529));
    opacity: 0.92;
}

@media (max-width: 991.98px) {
    .galleria-video-viewer-layout[b-idl7edrwf9] {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        row-gap: 0.65rem;
    }

    .galleria-video-viewer-layout > .galleria-video-viewer-card-header[b-idl7edrwf9],
    .galleria-video-viewer-layout > .galleria-video-viewer-main[b-idl7edrwf9],
    .galleria-video-viewer-layout > .galleria-video-viewer-sidebar[b-idl7edrwf9] {
        grid-column: unset;
        grid-row: unset;
        align-self: stretch;
        width: 100%;
    }

    .galleria-video-viewer-sidebar[b-idl7edrwf9] {
        max-height: 38vh;
    }

    .galleria-video-viewer-player[b-idl7edrwf9] {
        max-height: none;
    }
}

/* /Components/Pages/LandingEvento.razor.rz.scp.css */
/* Landing evento — hero + statistiche (prefisso erm-evt- per evitare conflitti) */

.landing-evento-page[b-bo997v3ye5] {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 clamp(0.35rem, 2vw, 1rem) 2rem;
}

@media (max-width: 991.98px) {
    .landing-evento-page[b-bo997v3ye5] {
        padding-left: 0.65rem;
        padding-right: 0.65rem;
        padding-bottom: 1.35rem;
    }
}

@media (max-width: 767.98px) {
    /* Banner + stats a tutta larghezza; solo safe-area iPhone */
    .landing-evento-page[b-bo997v3ye5] {
        padding-left: env(safe-area-inset-left, 0px);
        padding-right: env(safe-area-inset-right, 0px);
    }

    .erm-evt-back[b-bo997v3ye5] {
        padding-left: max(0.35rem, env(safe-area-inset-left, 0px));
        padding-right: max(0.35rem, env(safe-area-inset-right, 0px));
    }
}

.landing-evento-page.landing-evento-page--with-partbar[b-bo997v3ye5] {
    padding-bottom: calc(5.85rem + env(safe-area-inset-bottom, 0px));
}

@media (max-width: 991.98px) {
    .landing-evento-page.landing-evento-page--with-partbar[b-bo997v3ye5] {
        padding-bottom: calc(5.55rem + env(safe-area-inset-bottom, 0px));
    }
}

@media (max-width: 767.98px) {
    /* Barra fissa + margine: evita che l’ultimo contenuto finisca sotto il pill scuro (e messaggi errore sotto) */
    .landing-evento-page.landing-evento-page--with-partbar[b-bo997v3ye5] {
        padding-bottom: calc(8.25rem + env(safe-area-inset-bottom, 0px));
    }
}

.erm-evt-back[b-bo997v3ye5] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
    text-decoration: none;
    color: #64748b;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    opacity: 0.85;
    transition: opacity 0.2s ease, color 0.2s ease;
}

.erm-evt-back:hover[b-bo997v3ye5] {
    opacity: 1;
    color: #475569;
}

.erm-evt-back i[b-bo997v3ye5] {
    font-size: 1.35rem;
    font-weight: normal;
    letter-spacing: normal;
    text-transform: none;
}

.erm-evt-back-text[b-bo997v3ye5] {
    line-height: 1.2;
}

/* --- Hero: immagine a copertura senza fascia “cornice” (contain + padding mostravano il #0f172a) --- */
.erm-evt-hero[b-bo997v3ye5] {
    position: relative;
    border-radius: 2.5rem;
    overflow: hidden;
    min-height: clamp(260px, 36vh, 520px);
    background: #0f172a;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.06) inset,
        0 20px 50px -12px rgba(15, 23, 42, 0.35);
    display: flex;
    flex-direction: column;
}

.erm-evt-hero-inner[b-bo997v3ye5] {
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
    display: grid;
    grid-template: 1fr / 1fr;
    width: 100%;
}

.erm-evt-hero-media[b-bo997v3ye5],
.erm-evt-hero-overlay[b-bo997v3ye5] {
    grid-area: 1 / 1;
}

.erm-evt-hero-media[b-bo997v3ye5] {
    z-index: 0;
    position: relative;
    padding: 0;
    box-sizing: border-box;
    min-height: 0;
    min-width: 0;
    width: 100%;
    height: 100%;
    align-self: stretch;
}

/* Carousel (2+ immagini): dissolvenza (fade) mantenendo cover/overlay invariati */
.erm-evt-hero-fade[b-bo997v3ye5] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.erm-evt-hero-fade-img[b-bo997v3ye5] {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    border-radius: 0;
    opacity: 0;
    transition: opacity 1.2s ease;
    will-change: opacity;
}

.erm-evt-hero-fade-img.is-active[b-bo997v3ye5] {
    opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
    .erm-evt-hero-fade-img[b-bo997v3ye5] {
        transition: none;
    }
}

.erm-evt-hero-img[b-bo997v3ye5] {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    border-radius: 0;
}

.erm-evt-hero-placeholder[b-bo997v3ye5] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    background: linear-gradient(145deg, #1e293b 0%, #0f172a 100%);
    color: rgba(255, 255, 255, 0.22);
}

.erm-evt-hero-placeholder i[b-bo997v3ye5] {
    font-size: clamp(3rem, 12vw, 5rem);
}

.erm-evt-hero-ribbon[b-bo997v3ye5] {
    position: absolute;
    top: 0.9rem;
    right: -3.4rem;
    z-index: 3;
    transform: rotate(45deg);
    transform-origin: center;
    /* padding asimmetrico: sposta il testo leggermente a destra */
    padding: 0.38rem 3.1rem 0.38rem 4.3rem;
    border-radius: 0.25rem;
    color: #fff;
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    text-align: center;
    white-space: nowrap;
    line-height: 1.1;
    box-shadow:
        0 10px 24px rgba(0, 0, 0, 0.28),
        0 1px 0 rgba(255, 255, 255, 0.1) inset;
    pointer-events: none;
}

.erm-evt-hero-ribbon--dark[b-bo997v3ye5] {
    background: rgba(15, 23, 42, 0.78);
}

.erm-evt-hero-ribbon--green[b-bo997v3ye5] {
    background: rgba(22, 101, 52, 0.78);
}

.erm-evt-hero-ribbon--red[b-bo997v3ye5] {
    background: rgba(185, 28, 28, 0.78);
}

@media (max-width: 767.98px) {
    .erm-evt-hero-ribbon[b-bo997v3ye5] {
        top: 0.55rem;
        right: -3.8rem;
        padding: 0.34rem 3.3rem 0.34rem 4.7rem;
        font-size: 0.68rem;
    }
}

.erm-evt-hero-overlay[b-bo997v3ye5] {
    z-index: 1;
    position: relative;
    display: flex;
    align-items: flex-end;
    align-self: stretch;
    justify-self: stretch;
    padding-top: clamp(1.5rem, 5vw, 2.75rem);
    padding-right: clamp(1.75rem, 7vw, 4.25rem);
    padding-bottom: clamp(1.85rem, 5.5vw, 3.25rem);
    padding-left: clamp(0.875rem, 3.5vw, 2.125rem);
    box-sizing: border-box;
    pointer-events: none;
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.88) 0%,
        rgba(0, 0, 0, 0.35) 45%,
        transparent 72%
    );
}

.erm-evt-hero-title[b-bo997v3ye5] {
    margin: 0;
    font-size: clamp(1.65rem, 4.5vw, 2.75rem);
    font-weight: 400;
    letter-spacing: -0.02em;
    line-height: 1.15;
    color: #fff;
    text-shadow: 0 2px 24px rgba(0, 0, 0, 0.45);
    pointer-events: auto;
}

@media (max-width: 991.98px) {
    .erm-evt-hero-overlay[b-bo997v3ye5] {
        padding-top: 1.1rem;
        padding-right: 0.75rem;
        padding-bottom: 1.05rem;
        padding-left: 0.75rem;
    }

    .erm-evt-stats[b-bo997v3ye5] {
        --erm-evt-stats-inset-x: clamp(0.55rem, 2.5vw, 1.1rem);
    }
}

/* Mobile: niente min-height in vh (con cover tagliava molto); rapporto larghezza/altezza più “fotografico” */
@media (max-width: 767.98px) {
    .erm-evt-hero[b-bo997v3ye5] {
        min-height: 0;
        aspect-ratio: 16 / 11;
        max-height: min(68vh, 440px);
        border-radius: 1rem;
    }

    .erm-evt-hero-overlay[b-bo997v3ye5] {
        justify-content: center;
        padding-top: 0.95rem;
        padding-right: env(safe-area-inset-right, 0px);
        padding-bottom: 0.95rem;
        padding-left: env(safe-area-inset-left, 0px);
    }

    .erm-evt-hero-title[b-bo997v3ye5] {
        width: 100%;
        max-width: 100%;
        text-align: center;
        box-sizing: border-box;
        padding-left: 0.35rem;
        padding-right: 0.35rem;
    }
}

/* --- Stats (overlap hero) --- */
.erm-evt-stats[b-bo997v3ye5] {
    --erm-evt-stats-inset-x: clamp(1rem, 3.5vw, 2.75rem);
    position: relative;
    z-index: 2;
    display: grid;
    gap: 0.75rem;
    margin-top: clamp(-2rem, -4vw, -3rem);
    margin-bottom: 0;
    align-items: center;
    /* Inset orizzontale sul contenitore: evita margin+100% sulla prima pill che esce dalla cella e si sovrappone a Capienza */
    padding-left: var(--erm-evt-stats-inset-x);
    padding-right: var(--erm-evt-stats-inset-x);
    box-sizing: border-box;
}

@media (min-width: 768px) {
    .erm-evt-stats[b-bo997v3ye5] {
        /* Quando+Dove (wrap); Capienza e Tipologia: due colonne uguali */
        grid-template-columns: minmax(0, 3.75fr) minmax(0, 1fr) minmax(0, 1fr);
        gap: 1rem;
    }

    .erm-evt-stat--capienza[b-bo997v3ye5],
    .erm-evt-stat--tipologia[b-bo997v3ye5] {
        width: 100%;
        max-width: 100%;
        justify-self: stretch;
    }
}

/* Mobile: quattro card a tutta larghezza in colonna (come mockup); niente overlap sull'hero */
@media (max-width: 767.98px) {
    .erm-evt-stats[b-bo997v3ye5] {
        grid-template-columns: 1fr;
        margin-top: 0.85rem;
        /* Nessun inset extra: la pagina è già a bordo (solo safe-area) */
        padding-left: 0;
        padding-right: 0;
    }

    /* I figli Quando/Dove diventano righe dirette della griglia */
    .erm-evt-whenwhere-wrap[b-bo997v3ye5] {
        display: contents;
    }
}

.erm-evt-stat[b-bo997v3ye5] {
    min-width: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.85rem;
    padding: 0.65rem 1.35rem 0.65rem 0.85rem;
    border-radius: 9999px;
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(15, 23, 42, 0.06);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 12px 32px -8px rgba(91, 33, 182, 0.12),
        0 4px 12px rgba(15, 23, 42, 0.06);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.erm-evt-stat:hover[b-bo997v3ye5] {
    transform: translateY(-2px);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.95) inset,
        0 16px 40px -10px rgba(91, 33, 182, 0.16),
        0 6px 16px rgba(15, 23, 42, 0.08);
}

/* Desktop: una sola pill per Quando + Dove */
@media (min-width: 768px) {
    .erm-evt-whenwhere-wrap[b-bo997v3ye5] {
        grid-column: 1;
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 1rem;
        min-width: 0;
        width: 100%;
        justify-self: stretch;
        padding: 0.65rem 1.35rem 0.65rem 0.85rem;
        border-radius: 9999px;
        background: rgba(255, 255, 255, 0.92);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        border: 1px solid rgba(15, 23, 42, 0.06);
        box-shadow:
            0 1px 0 rgba(255, 255, 255, 0.9) inset,
            0 12px 32px -8px rgba(91, 33, 182, 0.12),
            0 4px 12px rgba(15, 23, 42, 0.06);
        transition: transform 0.2s ease, box-shadow 0.2s ease;
    }

    .erm-evt-whenwhere-wrap:hover[b-bo997v3ye5] {
        transform: translateY(-2px);
        box-shadow:
            0 1px 0 rgba(255, 255, 255, 0.95) inset,
            0 16px 40px -10px rgba(91, 33, 182, 0.16),
            0 6px 16px rgba(15, 23, 42, 0.08);
    }

    .erm-evt-whenwhere-wrap > .erm-evt-stat[b-bo997v3ye5] {
        flex: 1 1 0;
        min-width: 0;
        margin: 0;
        padding: 0;
        border: none;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    .erm-evt-whenwhere-wrap > .erm-evt-stat:hover[b-bo997v3ye5] {
        transform: none;
        box-shadow: none;
    }

    .erm-evt-whenwhere-wrap > .erm-evt-stat--quando[b-bo997v3ye5] {
        padding-right: 1rem;
        border-right: 1px solid rgba(15, 23, 42, 0.1);
    }
}

html[data-bs-theme="dark"] .erm-evt-whenwhere-wrap[b-bo997v3ye5] {
    background: rgba(30, 41, 59, 0.92);
    border-color: rgba(255, 255, 255, 0.08);
}

@media (min-width: 768px) {
    html[data-bs-theme="dark"] .erm-evt-whenwhere-wrap > .erm-evt-stat--quando[b-bo997v3ye5] {
        border-right-color: rgba(255, 255, 255, 0.1);
    }

    /* Evita che la regola globale .erm-evt-stat in dark copra il contenitore pill unico */
    html[data-bs-theme="dark"] .erm-evt-whenwhere-wrap > .erm-evt-stat[b-bo997v3ye5] {
        background: transparent;
        border-color: transparent;
    }
}

.erm-evt-stat-ico[b-bo997v3ye5] {
    flex-shrink: 0;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    color: var(--ermesio-violet, #8b5cf6);
    background: rgba(139, 92, 246, 0.12);
}

.erm-evt-stat-copy[b-bo997v3ye5] {
    min-width: 0;
    flex: 1 1 auto;
}

.erm-evt-stat-label[b-bo997v3ye5] {
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #94a3b8;
    margin-bottom: 0.2rem;
}

.erm-evt-stat-value[b-bo997v3ye5] {
    font-size: 0.85rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.35;
    word-break: break-word;
}

html[data-bs-theme="dark"] .erm-evt-stat[b-bo997v3ye5] {
    background: rgba(30, 41, 59, 0.92);
    border-color: rgba(255, 255, 255, 0.08);
}

html[data-bs-theme="dark"] .erm-evt-stat-value[b-bo997v3ye5] {
    color: #f1f5f9;
}

html[data-bs-theme="dark"] .erm-evt-stat-label[b-bo997v3ye5] {
    color: #94a3b8;
}

/* --- Corpo pagina: due colonne (sinistra più larga, contenuto piatto sulla pagina) --- */
.erm-evt-main[b-bo997v3ye5] {
    display: grid;
    gap: 1.5rem;
    margin-top: 2rem;
    align-items: start;
    /* Orizzontale: solo da ≥992px; sotto si usa il padding di .landing-evento-page */
    padding-left: 0;
    padding-right: 0;
}

@media (min-width: 992px) {
    .erm-evt-main[b-bo997v3ye5] {
        grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr);
        gap: 2.5rem;
        padding-left: 4.3rem;
        padding-right: 4.3rem;
    }
}

@media (max-width: 991.98px) {
    .erm-evt-main[b-bo997v3ye5] {
        grid-template-columns: 1fr;
        margin-top: 1.35rem;
        gap: 1.15rem;
    }
}

/* Mobile: pill stats compatte + corpo con leggero inset (dopo le regole base .erm-evt-stat / .erm-evt-main) */
@media (max-width: 767.98px) {
    .erm-evt-stat[b-bo997v3ye5] {
        padding: 0.5rem 0.55rem 0.5rem 0.5rem;
        gap: 0.65rem;
    }

    .erm-evt-main[b-bo997v3ye5] {
        padding-left: max(0.45rem, env(safe-area-inset-left, 0px));
        padding-right: max(0.45rem, env(safe-area-inset-right, 0px));
    }
}

.erm-evt-section[b-bo997v3ye5] {
    margin: 0 0 2.25rem;
    padding: 0;
    background: none;
    border: none;
    box-shadow: none;
}

.erm-evt-main__col--right .erm-evt-section:last-child[b-bo997v3ye5] {
    margin-bottom: 0;
}

.erm-evt-section__title[b-bo997v3ye5] {
    margin: 0 0 0.85rem;
    font-size: 1.15rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0f172a;
}

.erm-evt-section__muted[b-bo997v3ye5] {
    margin: 0;
    color: #64748b;
    font-size: 0.9rem;
}

.erm-evt-section__text[b-bo997v3ye5] {
    font-size: 0.95rem;
    line-height: 1.65;
    color: #334155;
}

html[data-bs-theme="dark"] .erm-evt-section__title[b-bo997v3ye5] {
    color: #f1f5f9;
}

html[data-bs-theme="dark"] .erm-evt-section__text[b-bo997v3ye5] {
    color: #cbd5e1;
}

html[data-bs-theme="dark"] .erm-evt-section__muted[b-bo997v3ye5] {
    color: #94a3b8;
}

/* Staff */
.erm-evt-staff-grid[b-bo997v3ye5] {
    display: grid;
    gap: 0.85rem 1.25rem;
    grid-template-columns: 1fr;
}

@media (min-width: 576px) {
    .erm-evt-staff-grid[b-bo997v3ye5] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.erm-evt-staff-item[b-bo997v3ye5] {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 0.35rem 0;
    background: none;
    border: none;
}

.erm-evt-staff-avatar-wrap[b-bo997v3ye5] {
    flex-shrink: 0;
}

.erm-evt-staff-avatar-img[b-bo997v3ye5] {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid rgba(15, 23, 42, 0.12);
    box-shadow: none;
}

.erm-evt-staff-avatar-ph[b-bo997v3ye5] {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(139, 92, 246, 0.12);
    color: var(--ermesio-violet, #8b5cf6);
    font-size: 1.35rem;
    border: 1px solid rgba(15, 23, 42, 0.12);
}

html[data-bs-theme="dark"] .erm-evt-staff-avatar-img[b-bo997v3ye5],
html[data-bs-theme="dark"] .erm-evt-staff-avatar-ph[b-bo997v3ye5] {
    border-color: rgba(255, 255, 255, 0.12);
}

.erm-evt-staff-meta[b-bo997v3ye5] {
    min-width: 0;
}

.erm-evt-staff-name[b-bo997v3ye5] {
    font-weight: 700;
    color: #0f172a;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

html[data-bs-theme="dark"] .erm-evt-staff-name[b-bo997v3ye5] {
    color: #f1f5f9;
}

/* Mappa */
.erm-evt-map-wrap[b-bo997v3ye5] {
    border-radius: 0.5rem;
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, 0.1);
}

html[data-bs-theme="dark"] .erm-evt-map-wrap[b-bo997v3ye5] {
    border-color: rgba(255, 255, 255, 0.12);
}

/* Documentazione — elenco allegati (pill come da mockup) */
.erm-evt-doc-section-title[b-bo997v3ye5] {
    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0f172a;
    margin-bottom: 1rem;
}

html[data-bs-theme="dark"] .erm-evt-doc-section-title[b-bo997v3ye5] {
    color: #f1f5f9;
}

.erm-evt-doc-list[b-bo997v3ye5],
.erm-evt-link-list[b-bo997v3ye5] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.erm-evt-resource-item[b-bo997v3ye5] {
    margin: 0;
    padding: 0;
}

/* Pill condivise: documentazione + link utili */
.erm-evt-resource-pill[b-bo997v3ye5] {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    width: 100%;
    min-width: 0;
    padding: 0.95rem 1.35rem 0.95rem 1.05rem;
    background: #fff;
    border-radius: 9999px;
    text-decoration: none;
    color: inherit;
    box-shadow:
        0 1px 2px rgba(15, 23, 42, 0.04),
        0 6px 20px rgba(15, 23, 42, 0.07);
    border: 1px solid rgba(15, 23, 42, 0.04);
    transition:
        box-shadow 0.18s ease,
        transform 0.18s ease;
}

.erm-evt-resource-pill:hover[b-bo997v3ye5] {
    box-shadow:
        0 2px 4px rgba(15, 23, 42, 0.06),
        0 10px 28px rgba(15, 23, 42, 0.1);
    transform: translateY(-1px);
}

.erm-evt-resource-pill:focus-visible[b-bo997v3ye5] {
    outline: 2px solid var(--ermesio-violet, #8b5cf6);
    outline-offset: 2px;
}

html[data-bs-theme="dark"] .erm-evt-resource-pill[b-bo997v3ye5] {
    background: rgba(30, 41, 59, 0.95);
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow:
        0 1px 2px rgba(0, 0, 0, 0.2),
        0 8px 24px rgba(0, 0, 0, 0.25);
}

html[data-bs-theme="dark"] .erm-evt-resource-pill:hover[b-bo997v3ye5] {
    box-shadow:
        0 2px 4px rgba(0, 0, 0, 0.25),
        0 12px 32px rgba(0, 0, 0, 0.35);
}

.erm-evt-resource-pill-ico[b-bo997v3ye5] {
    flex-shrink: 0;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 0.55rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(139, 92, 246, 0.14);
    color: #7c3aed;
    font-size: 1.1rem;
}

html[data-bs-theme="dark"] .erm-evt-resource-pill-ico[b-bo997v3ye5] {
    background: rgba(139, 92, 246, 0.22);
    color: #a78bfa;
}

.erm-evt-resource-pill-main[b-bo997v3ye5] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 0.18rem;
    min-width: 0;
    flex: 1;
}

.erm-evt-resource-pill-title[b-bo997v3ye5] {
    display: block;
    width: 100%;
    font-weight: 400;
    font-size: 0.95rem;
    line-height: 1.25;
    color: #0f172a;
    text-decoration: none;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

.erm-evt-resource-pill:hover .erm-evt-resource-pill-title[b-bo997v3ye5] {
    color: #0f172a;
}

.erm-evt-resource-pill-sub[b-bo997v3ye5] {
    display: block;
    font-size: 0.52rem;
    font-weight: 600;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: #94a3b8;
    line-height: 1.15;
}

html[data-bs-theme="dark"] .erm-evt-resource-pill-title[b-bo997v3ye5] {
    color: #f1f5f9;
}

html[data-bs-theme="dark"] .erm-evt-resource-pill:hover .erm-evt-resource-pill-title[b-bo997v3ye5] {
    color: #f1f5f9;
}

html[data-bs-theme="dark"] .erm-evt-resource-pill-sub[b-bo997v3ye5] {
    color: #94a3b8;
}

/* --- Partecipazione: barra fissa in basso (stato scelta / iscritto) --- */
.erm-evt-partbar[b-bo997v3ye5] {
    position: fixed;
    z-index: 1050;
    left: 50%;
    bottom: max(0.85rem, env(safe-area-inset-bottom, 0px));
    transform: translateX(-50%);
    width: min(28rem, calc(100vw - 1.5rem));
    max-width: 100%;
    box-sizing: border-box;
    pointer-events: none;
}

.erm-evt-partbar-err[b-bo997v3ye5],
.erm-evt-partbar-hint[b-bo997v3ye5] {
    pointer-events: auto;
    margin: 0.45rem 0.35rem 0;
    text-align: center;
    line-height: 1.35;
}

.erm-evt-partbar-err[b-bo997v3ye5] {
    color: #f87171;
    font-size: 0.82rem;
}

html[data-bs-theme="dark"] .erm-evt-partbar-hint.text-muted[b-bo997v3ye5] {
    color: #94a3b8 !important;
}

.erm-evt-partbar-track[b-bo997v3ye5] {
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
    border-radius: 9999px;
    background: #18181b;
    box-shadow:
        0 14px 44px rgba(0, 0, 0, 0.32),
        0 4px 12px rgba(0, 0, 0, 0.18);
    pointer-events: auto;
    /* Stessa altezza tra stato scelta e iscritto (evita “salto” al cambio UI) */
    min-height: 4.55rem;
}

.erm-evt-partbar-track--choice[b-bo997v3ye5] {
    justify-content: space-between;
    gap: 0.35rem;
    padding: 0.5rem 0.52rem 0.5rem 0.34rem;
}

.erm-evt-partbar-refuse[b-bo997v3ye5] {
    flex: 1 1 0;
    min-width: 0;
    margin: 0;
    border: 0;
    background: transparent;
    color: #fafafa;
    font-size: 0.9rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    line-height: 1.2;
    /* Allineato al blocco dei pulsanti pill (stessa “corsia” verticale della track) */
    padding: 0.85rem 0.85rem;
    border-radius: 9999px;
    cursor: pointer;
    text-align: center;
    transition: background 0.15s ease;
}

.erm-evt-partbar-refuse:hover[b-bo997v3ye5] {
    background: rgba(255, 255, 255, 0.07);
}

.erm-evt-partbar-join[b-bo997v3ye5] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    margin: 0;
    border: 0;
    background: #166534;
    color: #fff;
    font-size: 0.88rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1.2;
    min-width: 17.5rem;
    padding: 1.1rem 2.5rem 1.1rem 2rem;
    border-radius: 9999px;
    cursor: pointer;
    white-space: nowrap;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.14) inset;
    transition: background 0.15s ease, transform 0.1s ease;
}

.erm-evt-partbar-join:hover[b-bo997v3ye5] {
    background: #15803d;
}

.erm-evt-partbar-join:active[b-bo997v3ye5] {
    transform: scale(0.98);
}

.erm-evt-partbar-join i[b-bo997v3ye5] {
    font-size: 1.08rem;
    line-height: 1;
}

.erm-evt-partbar-track--registered[b-bo997v3ye5] {
    justify-content: space-between;
    gap: 0.65rem;
    padding: 0.5rem 0.52rem 0.5rem 1.12rem;
}

@media (max-width: 767.98px) {
    /* Dopo le regole desktop della track: altrimenti padding asimmetrico (.34 / 1.12 a sinistra) resta attivo su mobile. */

    /* Solo pulsante principale: niente testo “Non partecipo” / “Sei iscritto” */
    .erm-evt-partbar-status[b-bo997v3ye5],
    .erm-evt-partbar-refuse[b-bo997v3ye5] {
        display: none;
    }

    .erm-evt-partbar-track--choice[b-bo997v3ye5],
    .erm-evt-partbar-track--registered[b-bo997v3ye5] {
        justify-content: stretch;
        gap: 0;
        padding: 0.5rem 0.52rem;
    }

    .erm-evt-partbar-join[b-bo997v3ye5],
    .erm-evt-partbar-cancel[b-bo997v3ye5] {
        flex: 1 1 0;
        width: 100%;
        min-width: 0;
        /* Padding orizzontale simmetrico: evita che icona+testo sembrino spostati nella pill */
        padding: 1.1rem 2rem;
    }
}

.erm-evt-partbar-status[b-bo997v3ye5] {
    flex: 1 1 auto;
    min-width: 0;
    color: #fafafa;
    font-size: 0.92rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    line-height: 1.2;
    padding: 0 0.2rem;
    text-align: center;
}

.erm-evt-partbar-cancel[b-bo997v3ye5] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin: 0;
    border: 0;
    background: #dc2626;
    color: #fff;
    font-size: 0.88rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1.2;
    min-width: 16rem;
    /* Stesso padding verticale di .erm-evt-partbar-join */
    padding: 1.1rem 2.1rem 1.1rem 1.75rem;
    border-radius: 9999px;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s ease, transform 0.1s ease;
}

.erm-evt-partbar-cancel:hover[b-bo997v3ye5] {
    background: #b91c1c;
}

.erm-evt-partbar-cancel:active[b-bo997v3ye5] {
    transform: scale(0.98);
}

.erm-evt-partbar-cancel i[b-bo997v3ye5] {
    font-size: 1.08rem;
    line-height: 1;
}

@media (max-width: 479.98px) {
    .erm-evt-partbar-join[b-bo997v3ye5] {
        min-width: 0;
        padding: 0.95rem 1.3rem;
    }

    .erm-evt-partbar-cancel[b-bo997v3ye5] {
        min-width: 0;
        padding: 0.95rem 1.3rem;
    }
}

.erm-evt-partbar-refuse:focus-visible[b-bo997v3ye5],
.erm-evt-partbar-join:focus-visible[b-bo997v3ye5],
.erm-evt-partbar-cancel:focus-visible[b-bo997v3ye5] {
    outline: 2px solid #a78bfa;
    outline-offset: 2px;
}
/* /Components/Pages/MieiEventi.razor.rz.scp.css */
.miei-eventi-page[b-8ixh7v0ivp] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    width: calc(100% + 3rem);
    max-width: none;
    margin-left: -1.5rem;
    margin-right: -1.5rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-bottom: 2rem;
    box-sizing: border-box;
}

.miei-eventi-page :deep(.dash-iscritti-ev-sub)[b-8ixh7v0ivp] {
    max-width: none;
}

.miei-eventi-tabs-wrap[b-8ixh7v0ivp] {
    display: flex;
    justify-content: center;
    width: 100%;
}

.miei-eventi-tabs[b-8ixh7v0ivp] {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.2rem;
    padding: 0.35rem;
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: var(--ermesio-control-radius, 999px);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

.miei-eventi-tab[b-8ixh7v0ivp] {
    border: 0;
    background: transparent;
    color: #64748b;
    font-weight: 600;
    font-size: 0.9rem;
    padding: 0.55rem 1.15rem;
    border-radius: var(--ermesio-control-radius, 999px);
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}

.miei-eventi-tab:hover:not(.is-active)[b-8ixh7v0ivp] {
    color: #0f172a;
    background: rgba(15, 23, 42, 0.05);
}

.miei-eventi-tab.miei-eventi-tab--programma.is-active[b-8ixh7v0ivp] {
    background: #22c55e;
    color: #fff;
}

.miei-eventi-tab.miei-eventi-tab--passati.is-active[b-8ixh7v0ivp] {
    background: var(--ermesio-violet, #8b5cf6);
    color: #fff;
}

.miei-eventi-tab.miei-eventi-tab--rifiutati.is-active[b-8ixh7v0ivp] {
    background: var(--ermesio-danger, #d63d5e);
    color: #fff;
}

.miei-eventi-tab.miei-eventi-tab--programma:focus-visible[b-8ixh7v0ivp] {
    outline: 0;
    box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.45);
}

.miei-eventi-tab.miei-eventi-tab--passati:focus-visible[b-8ixh7v0ivp] {
    outline: 0;
    box-shadow: 0 0 0 2px rgba(139, 92, 246, 0.45);
}

.miei-eventi-tab.miei-eventi-tab--rifiutati:focus-visible[b-8ixh7v0ivp] {
    outline: 0;
    box-shadow: 0 0 0 2px rgba(214, 61, 94, 0.45);
}

.miei-eventi-empty[b-8ixh7v0ivp] {
    text-align: center;
    padding: 2.5rem 1rem;
    background: rgba(255, 255, 255, 0.6);
    border-radius: var(--ermesio-card-radius, 1.25rem);
    border: 1px dashed rgba(15, 23, 42, 0.12);
}

.miei-eventi-empty-icon[b-8ixh7v0ivp] {
    font-size: 2.25rem;
    color: #94a3b8;
    display: block;
    margin-bottom: 0.75rem;
}

.miei-eventi-empty-text[b-8ixh7v0ivp] {
    margin: 0;
    color: #64748b;
    font-size: 0.95rem;
}
/* /Components/Pages/Profile.razor.rz.scp.css */
.profile-shell[b-t2i5he2956] {
    padding: 2rem 1rem;
    display: grid;
    place-items: start center;
    background: transparent;
}

.profile-wrap[b-t2i5he2956] {
    width: min(520px, 100%);
}

.profile-header[b-t2i5he2956] {
    text-align: center;
    margin-bottom: 1.4rem;
}

.profile-avatar-col[b-t2i5he2956] {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.profile-avatar-wrap[b-t2i5he2956] {
    position: relative;
    width: 92px;
    height: 92px;
    margin: 0 auto 0.9rem;
}

.profile-avatar[b-t2i5he2956] {
    width: 100%;
    height: 100%;
    border-radius: 20px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.12);
    overflow: hidden;
    background: rgba(255, 255, 255, 0.55);
    transition: transform 0.16s ease, box-shadow 0.16s ease;
}

.profile-avatar--interactive[b-t2i5he2956] {
    cursor: pointer;
}

.profile-avatar--interactive:hover[b-t2i5he2956] {
    transform: translateY(-1px);
    box-shadow: 0 12px 26px rgba(15, 23, 42, 0.14);
}

.profile-avatar-img[b-t2i5he2956] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border: 4px solid #fff;
    box-sizing: border-box;
    border-radius: inherit;
    background: rgba(15, 23, 42, 0.06);
    z-index: 0;
}

.profile-avatar:has(.profile-avatar-img)[b-t2i5he2956]::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    border-radius: inherit;
    background: rgba(15, 23, 42, 0.2);
    opacity: 0;
    transition: opacity 0.16s ease;
    pointer-events: none;
}

.profile-avatar:has(.profile-avatar-img):hover[b-t2i5he2956]::after,
.profile-avatar:has(.profile-avatar-img):focus-within[b-t2i5he2956]::after {
    opacity: 1;
}

.profile-avatar-hit[b-t2i5he2956] {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    cursor: pointer;
    border-radius: inherit;
}

.profile-avatar-delete-wrap[b-t2i5he2956] {
    position: absolute;
    left: 50%;
    bottom: 6px;
    transform: translateX(-50%);
    z-index: 3;
    line-height: 0;
}

.profile-avatar-delete-btn[b-t2i5he2956] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.85rem;
    height: 1.85rem;
    padding: 0;
    border: none;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.95);
    color: #b91c1c;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.2);
    font-size: 1rem;
    line-height: 1;
    transition: background 0.15s ease, color 0.15s ease;
}

.profile-avatar-delete-btn:hover[b-t2i5he2956] {
    background: #fef2f2;
    color: #991b1b;
}

.profile-avatar-busy[b-t2i5he2956] {
    position: absolute;
    inset: 0;
    z-index: 4;
    display: grid;
    place-items: center;
    background: rgba(255, 255, 255, 0.78);
    border-radius: inherit;
}

.profile-avatar-busy-spinner[b-t2i5he2956] {
    width: 1.65rem;
    height: 1.65rem;
    border-radius: 999px;
    border: 2px solid rgba(139, 92, 246, 0.25);
    border-top-color: var(--ermesio-violet, #8b5cf6);
    animation: profile-avatar-spin-b-t2i5he2956 0.7s linear infinite;
}

@keyframes profile-avatar-spin-b-t2i5he2956 {
    to {
        transform: rotate(360deg);
    }
}

.profile-avatar-error[b-t2i5he2956] {
    margin: -0.35rem auto 0.5rem;
    font-size: 0.875rem;
    color: #b91c1c;
    text-align: center;
    max-width: min(320px, 100%);
}

.profile-avatar-placeholder[b-t2i5he2956] {
    width: 100%;
    height: 100%;
    border-radius: inherit;
    display: grid;
    place-items: center;
    font-weight: 800;
    font-size: 1.7rem;
    letter-spacing: -0.02em;
    color: #fff;
    background: var(--ermesio-violet, #8b5cf6);
    border: 4px solid #fff;
    box-sizing: border-box;
    pointer-events: none;
}

.profile-name[b-t2i5he2956] {
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--bs-emphasis-color, #0f172a);
    font-size: 1.125rem;
}

.profile-email[b-t2i5he2956] {
    margin-top: 0.15rem;
    color: var(--bs-secondary-color, #64748b);
    font-size: 0.875rem;
}

.profile-stats[b-t2i5he2956] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.85rem;
    margin: 1.25rem auto 1.5rem;
}

.profile-stat[b-t2i5he2956] {
    background: rgba(255, 255, 255, 0.75);
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: 16px;
    padding: 0.95rem 1rem;
    text-align: center;
    backdrop-filter: blur(10px);
}

.profile-stat-value[b-t2i5he2956] {
    font-weight: 800;
    color: var(--ermesio-violet, #8b5cf6);
    letter-spacing: -0.02em;
}

.profile-stat-label[b-t2i5he2956] {
    margin-top: 0.15rem;
    font-size: 0.78rem;
    color: var(--bs-secondary-color, #64748b);
}

.profile-section[b-t2i5he2956] {
    margin-top: 1.1rem;
}

.profile-section-title[b-t2i5he2956] {
    font-size: 0.78rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(15, 23, 42, 0.45);
    margin: 0 0 0.6rem 0.2rem;
}

.profile-list[b-t2i5he2956] {
    background: rgba(255, 255, 255, 0.76);
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: 18px;
    overflow: hidden;
    backdrop-filter: blur(10px);
}

.profile-row[b-t2i5he2956] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.9rem 1rem;
    text-decoration: none;
    color: var(--bs-body-color, #0f172a);
    transition: background-color 0.16s ease;
}

.profile-row-btn[b-t2i5he2956] {
    width: 100%;
    border: 0;
    background: transparent;
    text-align: left;
}

.profile-row-form[b-t2i5he2956] {
    margin: 0;
}

.profile-row-form .profile-row[b-t2i5he2956] {
    cursor: pointer;
}

.profile-row + .profile-row[b-t2i5he2956] {
    border-top: 1px solid rgba(15, 23, 42, 0.06);
}

.profile-row:hover[b-t2i5he2956] {
    background: rgba(2, 6, 23, 0.03);
    text-decoration: none;
}

.profile-row:focus-visible[b-t2i5he2956] {
    outline: 0;
    box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.18);
    position: relative;
    z-index: 1;
}

.profile-row-left[b-t2i5he2956] {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}

.profile-row-text[b-t2i5he2956] {
    font-weight: 650;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.profile-row-chevron[b-t2i5he2956] {
    color: rgba(15, 23, 42, 0.35);
    font-size: 1.15rem;
}

.profile-icon[b-t2i5he2956] {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    border: 1px solid transparent;
    flex: 0 0 34px;
}

.profile-icon--violet[b-t2i5he2956] {
    color: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 78%, #0f172a);
    background: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 10%, white);
    border-color: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 22%, transparent);
}

.profile-icon--slate[b-t2i5he2956] {
    color: rgba(15, 23, 42, 0.78);
    background: rgba(15, 23, 42, 0.06);
    border-color: rgba(15, 23, 42, 0.10);
}

.profile-row--danger .profile-row-text[b-t2i5he2956] {
    color: var(--ermesio-danger, #d63d5e);
}

.profile-icon--danger[b-t2i5he2956] {
    color: var(--ermesio-danger, #d63d5e);
    background: var(--ermesio-danger-subtle, rgba(214, 61, 94, 0.1));
    border-color: var(--ermesio-danger-border, rgba(214, 61, 94, 0.32));
}

@media (max-width: 520px) {
    .profile-shell[b-t2i5he2956] {
        padding-top: 1.6rem;
    }

    .profile-stats[b-t2i5he2956] {
        grid-template-columns: 1fr;
    }
}

/* Offcanvas: su mobile entra dal basso (bottom) */
@media (max-width: 640.98px) {
    .ermesio-offcanvas-personal[b-t2i5he2956] {
        top: auto;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: min(85vh, 44rem);
        max-height: 100%;
        border-top-left-radius: 18px;
        border-top-right-radius: 18px;
        border-left: 0;
        border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateY(100%);
    }

    .ermesio-offcanvas-personal.show[b-t2i5he2956],
    .ermesio-offcanvas-personal.showing[b-t2i5he2956],
    .ermesio-offcanvas-personal.hiding[b-t2i5he2956] {
        transform: none;
    }
}

/* /Components/Pages/UtenteEdit.razor.rz.scp.css */
.utenti-page[b-cir9qy3g2y] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 100%;
    max-width: none;
}

/* Layout stile modal (solo distribuzione contenuti) */
.utenti-edit-grid[b-cir9qy3g2y] {
    display: grid;
    grid-template-columns: 12rem 1fr;
    gap: 1.5rem;
    align-items: center;
}

.utenti-avatar-col[b-cir9qy3g2y] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.utenti-avatar-wrap[b-cir9qy3g2y] {
    position: relative;
}

.utenti-avatar[b-cir9qy3g2y] {
    width: 9.5rem;
    height: 9.5rem;
    border-radius: 999px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.95);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    cursor: pointer;
    overflow: hidden;
    transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}

.utenti-avatar:hover[b-cir9qy3g2y] {
    transform: translateY(-1px);
    border-color: rgba(139, 92, 246, 0.25);
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
}

.utenti-avatar-img[b-cir9qy3g2y] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    inset: 0;
    z-index: 0;
}

/* Overlay leggero solo con foto: migliora contrasto icona elimina al passaggio del mouse */
.utenti-avatar:has(.utenti-avatar-img)[b-cir9qy3g2y]::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    border-radius: inherit;
    background: rgba(15, 23, 42, 0.22);
    opacity: 0;
    transition: opacity 0.16s ease;
    pointer-events: none;
}

.utenti-avatar:has(.utenti-avatar-img):hover[b-cir9qy3g2y]::after,
.utenti-avatar:has(.utenti-avatar-img):focus-within[b-cir9qy3g2y]::after {
    opacity: 1;
}

.utenti-avatar-hit[b-cir9qy3g2y] {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    cursor: pointer;
    border-radius: inherit;
}

.utenti-avatar-delete-wrap[b-cir9qy3g2y] {
    position: absolute;
    left: 50%;
    bottom: 0.55rem;
    transform: translateX(-50%);
    z-index: 3;
    line-height: 0;
}

.utenti-avatar-placeholder[b-cir9qy3g2y] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    pointer-events: none;
    text-align: center;
    padding: 0.5rem;
}

.utenti-avatar-placeholder-icon[b-cir9qy3g2y] {
    font-size: 2.35rem;
    line-height: 1;
    color: rgba(100, 116, 139, 0.88);
    display: flex;
    align-items: center;
    justify-content: center;
}

.utenti-avatar-placeholder-icon[b-cir9qy3g2y]::before {
    line-height: 1;
}

.utenti-avatar-placeholder-text[b-cir9qy3g2y] {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    color: rgba(100, 116, 139, 0.88);
    text-transform: uppercase;
}

.utenti-avatar-error[b-cir9qy3g2y] {
    margin-top: 0.6rem;
    font-size: 0.875rem;
    color: #b91c1c;
    text-align: center;
    max-width: 12rem;
}

@media (max-width: 991.98px) {
    .utenti-edit-grid[b-cir9qy3g2y] {
        grid-template-columns: 1fr;
    }

    .utenti-avatar-col[b-cir9qy3g2y] {
        padding-top: 0;
    }
}

.utenti-edit-actions[b-cir9qy3g2y] {
    width: 100%;
}

/* Immagine profilo: riuso estetica "logo" */
.ermesio-logo-tab[b-cir9qy3g2y] {
    padding-top: 0.25rem;
}

.ermesio-logo-section[b-cir9qy3g2y] {
    margin-top: 0.25rem;
    padding-top: 0.35rem;
    border-top: 1px dashed rgba(15, 23, 42, 0.12);
}

.ermesio-logo-head[b-cir9qy3g2y] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.ermesio-logo-title[b-cir9qy3g2y] {
    font-weight: 700;
    color: var(--bs-emphasis-color, #0f172a);
    letter-spacing: -0.01em;
}

.ermesio-logo-sub[b-cir9qy3g2y] {
    font-size: 0.8125rem;
    color: var(--bs-secondary-color, #475569);
    margin-top: 0.1rem;
}

.ermesio-logo-dropzone--wide[b-cir9qy3g2y] {
    width: 100%;
}

.ermesio-logo-dropzone[b-cir9qy3g2y] {
    display: flex;
    gap: 0.85rem;
    align-items: center;
    padding: 1.1rem 1.25rem;
    border-radius: 1rem;
    cursor: pointer;
    background: rgba(255, 255, 255, 0.7);
    border: 1px dashed rgba(139, 92, 246, 0.24);
    transition: background-color 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
    user-select: none;
    min-height: 6.5rem;
}

.ermesio-logo-dropzone:hover[b-cir9qy3g2y] {
    transform: translateY(-1px);
    border-color: rgba(139, 92, 246, 0.38);
    background: rgba(255, 255, 255, 0.85);
}

.ermesio-file-hidden:focus-visible + .ermesio-logo-dropzone[b-cir9qy3g2y] {
    outline: 0;
    box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.18);
}

.ermesio-file-hidden[b-cir9qy3g2y] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.ermesio-logo-dropzone-icon[b-cir9qy3g2y] {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 0.85rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--ermesio-violet, #8b5cf6);
    background: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 10%, white);
    border: 1px solid rgba(139, 92, 246, 0.16);
    flex-shrink: 0;
    font-size: 1.15rem;
}

.ermesio-logo-dropzone-title[b-cir9qy3g2y] {
    font-weight: 650;
    letter-spacing: -0.01em;
    color: var(--bs-emphasis-color, #0f172a);
}

.ermesio-logo-dropzone-meta[b-cir9qy3g2y] {
    margin-top: 0.15rem;
    font-size: 0.8125rem;
    color: var(--bs-secondary-color, #475569);
    min-width: 0;
}

.ermesio-logo-error[b-cir9qy3g2y] {
    margin-top: 0.5rem;
    font-size: 0.875rem;
    color: #b91c1c;
}

.ermesio-logo-warning[b-cir9qy3g2y] {
    margin-top: 0.5rem;
    font-size: 0.875rem;
    color: #b45309;
}

.ermesio-logo-preview-box[b-cir9qy3g2y] {
    width: min(26rem, 100%);
    height: 11rem;
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
}

.ermesio-logo-preview-img[b-cir9qy3g2y] {
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #fff;
}

.ermesio-logo-centered[b-cir9qy3g2y] {
    width: 100%;
    display: flex;
    justify-content: center;
}

.ermesio-logo-overlay[b-cir9qy3g2y] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    background: rgba(15, 23, 42, 0.45);
    opacity: 0;
    transition: opacity 0.16s ease;
}

.ermesio-logo-preview-box:hover .ermesio-logo-overlay[b-cir9qy3g2y] {
    opacity: 1;
}

.ermesio-logo-icon-btn[b-cir9qy3g2y] {
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.28);
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform 0.16s ease, background-color 0.16s ease, border-color 0.16s ease;
}

.ermesio-logo-icon-btn:hover[b-cir9qy3g2y] {
    transform: scale(1.06);
    background: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.4);
}

.ermesio-logo-icon-btn--danger:hover[b-cir9qy3g2y] {
    background: rgba(239, 68, 68, 0.22);
    border-color: rgba(239, 68, 68, 0.45);
}

/* Tab Gruppi (Admin): albero associazione gruppi */
.utenti-gruppi-tree[b-cir9qy3g2y] {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    border: 1px solid rgba(15, 23, 42, 0.09);
    border-radius: 1rem;
    background: var(--bs-body-bg);
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.045);
    padding: 0.4rem 0;
    overflow: hidden;
}

.utenti-gruppi-tree-row[b-cir9qy3g2y] {
    margin: 0 0.55rem;
    border-radius: 0.7rem;
    transition: background-color 0.14s ease;
}

.utenti-gruppi-tree-row:hover[b-cir9qy3g2y] {
    background: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 8%, var(--bs-body-bg, #fff));
}

.utenti-gruppi-tree-row-inner[b-cir9qy3g2y] {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex: 1;
    min-width: 0;
    padding: 0.5rem 0.6rem 0.5rem 0.35rem;
}

.utenti-gruppi-tree-check[b-cir9qy3g2y] {
    margin-top: 0;
    flex-shrink: 0;
    width: 1.1rem;
    height: 1.1rem;
    cursor: pointer;
}

.utenti-gruppi-tree-glyph[b-cir9qy3g2y] {
    flex-shrink: 0;
    width: 1.35rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: color-mix(in srgb, var(--bs-secondary-color, #64748b) 88%, transparent);
    font-size: 1.08rem;
    line-height: 1;
}

.utenti-gruppi-tree-row--root .utenti-gruppi-tree-glyph[b-cir9qy3g2y] {
    color: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 75%, var(--bs-secondary-color, #64748b));
}

.utenti-gruppi-tree-row--child .utenti-gruppi-tree-glyph[b-cir9qy3g2y] {
    font-size: 0.95rem;
    opacity: 0.92;
}

.utenti-gruppi-tree-label[b-cir9qy3g2y] {
    flex: 1;
    min-width: 0;
    font-weight: 500;
    line-height: 1.38;
    cursor: pointer;
    padding-top: 0.06rem;
}

@media (max-width: 767.98px) {
    .ermesio-logo-preview-box[b-cir9qy3g2y] {
        width: 100%;
        height: 9rem;
    }
}

/* /Components/Pages/Utenti.razor.rz.scp.css */
.utenti-page[b-so2issqpl9] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 100%;
    max-width: none;
}

.utenti-header-actions[b-so2issqpl9] {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.45rem;
}

/* Stesso linguaggio visivo del pulsante Excel in EventoGestione (toolbar partecipanti). */
.utenti-export-excel-btn[b-so2issqpl9] {
    appearance: none;
    margin: 0;
    width: 2.25rem;
    height: 2.25rem;
    min-width: 2.25rem;
    padding: 0;
    border-radius: 999px;
    border: 1px solid rgba(33, 115, 70, 0.32);
    background: color-mix(in srgb, #217346 14%, #fff);
    color: #166534;
    font-size: 1.08rem;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform 0.16s ease, background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

.utenti-export-excel-btn:hover:not(:disabled)[b-so2issqpl9] {
    transform: translateY(-1px);
    border-color: rgba(33, 115, 70, 0.42);
    background: color-mix(in srgb, #217346 22%, #fff);
    color: #14532d;
}

.utenti-export-excel-btn:focus-visible[b-so2issqpl9] {
    outline: 0;
    box-shadow: 0 0 0 2px var(--bs-body-bg), 0 0 0 4px rgba(33, 115, 70, 0.28);
}

.utenti-export-excel-btn:disabled[b-so2issqpl9] {
    opacity: 0.7;
    transform: none;
    cursor: not-allowed;
}

.utenti-import-excel-wrap[b-so2issqpl9] {
    display: inline-flex;
    align-items: center;
}

/* Pulsante import: accanto all’export, stessa sagoma, tinta blu/indaco (upload). */
.utenti-import-excel-btn[b-so2issqpl9] {
    appearance: none;
    margin: 0;
    width: 2.25rem;
    height: 2.25rem;
    min-width: 2.25rem;
    padding: 0;
    border-radius: 999px;
    border: 1px solid rgba(37, 99, 235, 0.32);
    background: color-mix(in srgb, #2563eb 14%, #fff);
    color: #1d4ed8;
    font-size: 1.08rem;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform 0.16s ease, background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

.utenti-import-excel-btn:hover[b-so2issqpl9] {
    transform: translateY(-1px);
    border-color: rgba(37, 99, 235, 0.42);
    background: color-mix(in srgb, #2563eb 22%, #fff);
    color: #1e40af;
}

.utenti-import-excel-btn:focus-visible[b-so2issqpl9] {
    outline: 0;
    box-shadow: 0 0 0 2px var(--bs-body-bg), 0 0 0 4px rgba(37, 99, 235, 0.28);
}

.utenti-filters-card[b-so2issqpl9] {
    width: 100%;
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid var(--bs-border-color-translucent, rgba(0, 0, 0, 0.08));
    border-radius: var(--ermesio-card-radius, 1rem);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    padding: 0.95rem 1rem;
}

.utenti-filters[b-so2issqpl9] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    margin: 0;
}

.utenti-filter-field[b-so2issqpl9] {
    position: relative;
    display: flex;
    align-items: center;
    min-width: 0;
}

.utenti-filter-field--text[b-so2issqpl9] {
    flex: 1 1 26rem;
    min-width: 16rem;
}

.utenti-filter-field--role[b-so2issqpl9] {
    flex: 0 1 12rem;
    min-width: 10rem;
}

.utenti-filter-select[b-so2issqpl9] {
    width: 100%;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.utenti-filter-icon[b-so2issqpl9] {
    position: absolute;
    left: 0.85rem;
    display: inline-flex;
    color: var(--bs-secondary-color);
    font-size: 1.05rem;
    pointer-events: none;
    z-index: 1;
}

.utenti-filter-input[b-so2issqpl9] {
    width: 100%;
    padding-left: 2.75rem;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.utenti-filter-actions[b-so2issqpl9] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    flex: 0 0 auto;
    margin-left: auto;
}

.utenti-filter-btn[b-so2issqpl9] {
    border-radius: 999px;
    padding: 0.6rem 1.05rem;
    font-size: 0.9375rem;
    font-weight: 500;
    line-height: 1.1;
    border-width: 1px;
    transition: transform 0.16s ease, background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease;
}

.utenti-filter-btn--primary[b-so2issqpl9] {
    color: #fff;
    background: var(--ermesio-violet, #8b5cf6);
    border-color: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 70%, #000);
}

.utenti-filter-btn--primary:hover[b-so2issqpl9] {
    color: #fff;
    background: #7c3aed;
    border-color: #6d28d9;
    transform: translateY(-1px);
}

.utenti-filter-btn--ghost[b-so2issqpl9] {
    color: var(--bs-secondary-color, #475569);
    background: transparent;
    border-color: var(--bs-border-color-translucent, rgba(0, 0, 0, 0.12));
}

.utenti-filter-btn--ghost:hover:not(:disabled)[b-so2issqpl9] {
    color: var(--bs-body-color);
    background: rgba(2, 6, 23, 0.04);
    transform: translateY(-1px);
}

.utenti-filter-btn:disabled[b-so2issqpl9] {
    opacity: 0.6;
    transform: none;
}

.utenti-tenant-badge[b-so2issqpl9] {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    padding: 0.28rem 0.7rem;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.2;
    border-radius: 999px;
    vertical-align: middle;
    background: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 14%, white);
    color: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 85%, #0f172a);
    border: 1px solid color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 32%, transparent);
}

.utenti-tenant-badge a[b-so2issqpl9] {
    color: inherit;
    text-decoration: none;
    max-width: 16rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.utenti-tenant-badge a:hover[b-so2issqpl9] {
    text-decoration: none;
}

.utenti-role-badge[b-so2issqpl9] {
    display: inline-block;
    max-width: 100%;
    padding: 0.22rem 0.55rem;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.25;
    border-radius: 999px;
    color: var(--bs-secondary-color, #475569);
    background: rgba(2, 6, 23, 0.06);
    border: 1px solid rgba(15, 23, 42, 0.1);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.utenti-card-field-value--tenant[b-so2issqpl9] {
    min-width: 0;
}

/*
 * Nastro -45° come ClientiList: verde Attivo / rosso Bloccato.
 */
.utenti-card-ribbon-slot[b-so2issqpl9] {
    position: absolute;
    top: 0;
    left: 0;
    width: 5.35rem;
    height: 5.35rem;
    overflow: hidden;
    z-index: 3;
    pointer-events: none;
    border-top-left-radius: var(--ermesio-card-radius, 1rem);
}

.utenti-card-ribbon[b-so2issqpl9] {
    position: absolute;
    top: 0.55rem;
    left: -2.05rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 7rem;
    padding: 0.32em 0;
    margin: 0;
    font-size: 0.58rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #fff;
    white-space: nowrap;
    transform: rotate(-45deg);
    transform-origin: center;
    border-radius: 1px;
}

.utenti-card-ribbon--active[b-so2issqpl9] {
    background: linear-gradient(135deg, #34d399 0%, #059669 95%);
    box-shadow: 0 1px 6px rgba(5, 105, 72, 0.3);
}

.utenti-card-ribbon--disabled[b-so2issqpl9] {
    background: linear-gradient(135deg, #f87171 0%, #b91c1c 95%);
    box-shadow: 0 1px 6px rgba(185, 28, 28, 0.35);
}

.utenti-card-list[b-so2issqpl9] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    overflow-x: auto;
    padding-bottom: 0.125rem;
}

.utenti-card-row[b-so2issqpl9] {
    position: relative;
    display: grid;
    grid-template-columns:
        3rem
        minmax(12rem, 22rem)
        repeat(2, minmax(0, 1fr))
        auto;
    column-gap: 1rem;
    row-gap: 0.5rem;
    align-items: center;
    padding: 1rem 1.25rem;
    min-width: 0;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid var(--bs-border-color-translucent, rgba(0, 0, 0, 0.08));
    border-radius: var(--ermesio-card-radius, 1rem);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.utenti-card-avatar[b-so2issqpl9] {
    flex-shrink: 0;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
}

.utenti-card-avatar--has-img[b-so2issqpl9] {
    background: transparent;
}

.utenti-card-avatar-img[b-so2issqpl9] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.utenti-card-main[b-so2issqpl9] {
    min-width: 0;
}

.utenti-card-title[b-so2issqpl9] {
    font-weight: 600;
    font-size: 1rem;
    line-height: 1.3;
    color: var(--bs-body-color);
}

.utenti-card-sub[b-so2issqpl9] {
    font-size: 0.8125rem;
    color: var(--bs-secondary-color);
    margin-top: 0.15rem;
}

.utenti-card-contact-link[b-so2issqpl9] {
    color: inherit;
    text-decoration: none;
}

.utenti-card-contact-link:hover[b-so2issqpl9] {
    text-decoration: underline;
}

.utenti-card-contact-sep[b-so2issqpl9] {
    opacity: 0.7;
}

.utenti-card-fields[b-so2issqpl9] {
    display: contents;
}

.utenti-card-field[b-so2issqpl9] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.utenti-card-field-label[b-so2issqpl9] {
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--bs-secondary-color);
}

.utenti-card-field-value[b-so2issqpl9] {
    font-size: 0.8125rem;
    color: var(--bs-body-color);
}

.utenti-card-actions[b-so2issqpl9] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

/* Icon buttons: stessa formattazione di ClientiList */
.utenti-card-actions .btn-icon-card[b-so2issqpl9] {
    --ermesio-icon-violet: var(--ermesio-violet, #8b5cf6);
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid transparent;
    line-height: 1;
    text-decoration: none;
    transition:
        transform 0.16s ease,
        background-color 0.16s ease,
        border-color 0.16s ease,
        color 0.16s ease;
    transform-origin: center;
}

.utenti-card-actions .btn-icon-card:not(:disabled):hover[b-so2issqpl9] {
    transform: scale(1.08);
}

.utenti-card-actions .btn-icon-card:focus-visible[b-so2issqpl9] {
    outline: 0;
    box-shadow: 0 0 0 2px var(--bs-body-bg), 0 0 0 4px rgba(139, 92, 246, 0.28);
}

.utenti-card-actions .btn-icon-card:disabled[b-so2issqpl9] {
    opacity: 0.55;
    transform: none;
    cursor: not-allowed;
    pointer-events: none;
}

.utenti-card-actions .btn-icon-card--edit[b-so2issqpl9] {
    color: #b9a3f8;
    color: color-mix(in srgb, var(--ermesio-icon-violet) 72%, white);
    background-color: rgba(139, 92, 246, 0.06);
    background-color: color-mix(in srgb, var(--ermesio-icon-violet) 8%, transparent);
    border-color: rgba(139, 92, 246, 0.12);
    border-color: color-mix(in srgb, var(--ermesio-icon-violet) 16%, transparent);
}

.utenti-card-actions .btn-icon-card--edit:hover[b-so2issqpl9] {
    color: #a78bfa;
    color: color-mix(in srgb, var(--ermesio-icon-violet) 82%, white);
    background-color: rgba(139, 92, 246, 0.11);
    background-color: color-mix(in srgb, var(--ermesio-icon-violet) 14%, transparent);
    border-color: rgba(139, 92, 246, 0.22);
    border-color: color-mix(in srgb, var(--ermesio-icon-violet) 26%, transparent);
}

.utenti-card-actions .btn-icon-card--delete[b-so2issqpl9] {
    color: #f0a09a;
    background-color: rgba(231, 76, 60, 0.06);
    border-color: rgba(231, 76, 60, 0.12);
}

.utenti-card-actions .btn-icon-card--delete:hover:not(:disabled)[b-so2issqpl9] {
    color: #e88880;
    background-color: rgba(231, 76, 60, 0.11);
    border-color: rgba(231, 76, 60, 0.22);
}

.utenti-card-actions .btn-icon-card--delete:focus-visible[b-so2issqpl9] {
    box-shadow: 0 0 0 2px var(--bs-body-bg), 0 0 0 4px rgba(231, 76, 60, 0.28);
}

.utenti-empty-state[b-so2issqpl9] {
    max-width: 34rem;
    margin: 0.5rem auto 0;
    text-align: center;
    padding-top: 2.25rem;
    padding-bottom: 2.25rem;
}

.utenti-empty-state-icon[b-so2issqpl9] {
    width: 3.5rem;
    height: 3.5rem;
    margin: 0 auto 0.75rem;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 82%, white);
    background: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 10%, transparent);
    border: 1px solid color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 18%, transparent);
}

.utenti-empty-state-icon i[b-so2issqpl9] {
    font-size: 1.65rem;
    line-height: 1;
}

.utenti-empty-state-title[b-so2issqpl9] {
    font-weight: 700;
    font-size: 1.05rem;
    color: var(--bs-body-color);
}

.utenti-empty-state-text[b-so2issqpl9] {
    margin-top: 0.25rem;
    font-size: 0.9375rem;
}

@media (max-width: 767.98px) {
    .utenti-filter-actions[b-so2issqpl9] {
        width: 100%;
        justify-content: flex-end;
        margin-left: 0;
    }

    .utenti-card-list[b-so2issqpl9] {
        overflow-x: visible;
    }

    .utenti-card-row[b-so2issqpl9] {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0.65rem;
        padding: 1rem 1rem;
    }

    .utenti-card-fields[b-so2issqpl9] {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0.7rem;
        width: 100%;
        min-width: 0;
    }

    .utenti-card-main[b-so2issqpl9] {
        width: 100%;
        min-width: 0;
        text-align: center;
    }

    .utenti-card-avatar[b-so2issqpl9] {
        align-self: center;
    }

    .utenti-card-actions[b-so2issqpl9] {
        align-self: flex-end;
        margin-top: 0.15rem;
    }
}

/* /Components/PleaseWait.razor.rz.scp.css */
/* Sopra Bootstrap modal (~1055) e modali custom (es. tipologie 2000–2010); sotto toast globali (~2200). */
.ermesio-pleasewait[b-tjzuim8mv8] {
    --ermesio-pw-violet: var(--ermesio-violet, #8b5cf6);
    --ermesio-pw-violet-soft: rgba(139, 92, 246, 0.22);
    --ermesio-pw-violet-glow: rgba(91, 33, 182, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2100;
    pointer-events: all;
}

.ermesio-pleasewait--fullscreen[b-tjzuim8mv8] {
    position: fixed;
    inset: 0;
}

.ermesio-pleasewait--embedded[b-tjzuim8mv8] {
    position: absolute;
    inset: 0;
    min-height: 12rem;
}

.ermesio-pleasewait__backdrop[b-tjzuim8mv8] {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        160deg,
        rgba(242, 240, 247, 0.92) 0%,
        rgba(237, 233, 250, 0.88) 45%,
        rgba(224, 214, 252, 0.55) 100%
    );
}

@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
    .ermesio-pleasewait__backdrop[b-tjzuim8mv8] {
        -webkit-backdrop-filter: blur(4px) saturate(1.12);
        backdrop-filter: blur(4px) saturate(1.12);
        background: rgba(242, 240, 247, 0.38);
    }
}

.ermesio-pleasewait__panel[b-tjzuim8mv8] {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
    padding: 2rem 2.75rem 1.75rem;
    border-radius: var(--ermesio-card-radius, 1.5rem);
    background: var(--ermesio-glass-bg, rgba(255, 255, 255, 0.86));
    border: 1px solid var(--ermesio-glass-border, rgba(255, 255, 255, 0.78));
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.75) inset,
        0 1px 2px rgba(15, 23, 42, 0.04),
        0 12px 40px rgba(15, 23, 42, 0.08),
        0 28px 72px -16px var(--ermesio-pw-violet-glow);
    animation: ermesio-pw-panel-in-b-tjzuim8mv8 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.ermesio-pleasewait__mark[b-tjzuim8mv8] {
    position: relative;
    width: 8.5rem;
    height: 8.5rem;
    flex-shrink: 0;
}

.ermesio-pleasewait__orbit[b-tjzuim8mv8] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    z-index: 0;
    background: conic-gradient(
        from 0deg,
        transparent 0deg,
        var(--ermesio-pw-violet-soft) 72deg,
        transparent 144deg,
        var(--ermesio-pw-violet-soft) 216deg,
        transparent 288deg,
        var(--ermesio-pw-violet-soft) 360deg
    );
    animation: ermesio-pw-orbit-spin-b-tjzuim8mv8 2.8s linear infinite;
    mask: radial-gradient(farthest-side, transparent calc(100% - 5px), #000 calc(100% - 4px));
    -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 5px), #000 calc(100% - 4px));
    opacity: 0.85;
    pointer-events: none;
}

.ermesio-pleasewait__logo-wrap[b-tjzuim8mv8] {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: grid;
    place-items: center;
    pointer-events: none;
    animation: ermesio-pw-logo-float-b-tjzuim8mv8 2.4s ease-in-out infinite;
}

.ermesio-pleasewait__logo[b-tjzuim8mv8] {
    width: 4.75rem;
    height: auto;
    max-height: 4.75rem;
    object-fit: contain;
    filter: drop-shadow(0 4px 14px rgba(91, 33, 182, 0.2));
    animation: ermesio-pw-logo-pulse-b-tjzuim8mv8 2.4s ease-in-out infinite;
}

.ermesio-pleasewait__message[b-tjzuim8mv8] {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    color: rgba(15, 23, 42, 0.88);
    text-align: center;
    max-width: 18rem;
    line-height: 1.45;
}

.ermesio-pleasewait__dots[b-tjzuim8mv8] {
    display: flex;
    gap: 0.45rem;
    align-items: center;
    height: 0.6rem;
}

.ermesio-pleasewait__dot[b-tjzuim8mv8] {
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 50%;
    background: var(--ermesio-pw-violet);
    opacity: 0.35;
    animation: ermesio-pw-dot-b-tjzuim8mv8 1.05s ease-in-out infinite;
}

.ermesio-pleasewait__dot:nth-child(2)[b-tjzuim8mv8] {
    animation-delay: 0.15s;
}

.ermesio-pleasewait__dot:nth-child(3)[b-tjzuim8mv8] {
    animation-delay: 0.3s;
}

@keyframes ermesio-pw-panel-in-b-tjzuim8mv8 {
    from {
        opacity: 0;
        transform: translateY(12px) scale(0.96);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes ermesio-pw-orbit-spin-b-tjzuim8mv8 {
    to {
        transform: rotate(360deg);
    }
}

@keyframes ermesio-pw-logo-float-b-tjzuim8mv8 {
    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-6px);
    }
}

@keyframes ermesio-pw-logo-pulse-b-tjzuim8mv8 {
    0%,
    100% {
        transform: scale(1);
        filter: drop-shadow(0 4px 14px rgba(91, 33, 182, 0.2));
    }

    50% {
        transform: scale(1.04);
        filter: drop-shadow(0 8px 22px rgba(91, 33, 182, 0.28));
    }
}

@keyframes ermesio-pw-dot-b-tjzuim8mv8 {
    0%,
    80%,
    100% {
        transform: translateY(0) scale(1);
        opacity: 0.35;
    }

    40% {
        transform: translateY(-5px) scale(1.08);
        opacity: 1;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ermesio-pleasewait__panel[b-tjzuim8mv8],
    .ermesio-pleasewait__orbit[b-tjzuim8mv8],
    .ermesio-pleasewait__logo-wrap[b-tjzuim8mv8],
    .ermesio-pleasewait__logo[b-tjzuim8mv8],
    .ermesio-pleasewait__dot[b-tjzuim8mv8] {
        animation: none !important;
    }

    .ermesio-pleasewait__orbit[b-tjzuim8mv8] {
        opacity: 0.4;
    }
}
/* /Components/Shared/CalendarioListaEventoCard.razor.rz.scp.css */
/* Estratto dalla vista lista di Calendario.razor.css (stesse classi cal-lista-*). */
@media (prefers-reduced-motion: reduce) {
    .cal-lista-card[b-lhq4zairvz] {
        transition: none;
    }

    .cal-lista-card:hover[b-lhq4zairvz] {
        transform: none;
    }
}

a.cal-lista-card[b-lhq4zairvz] {
    text-decoration: none;
    color: inherit;
}

.cal-lista[b-lhq4zairvz] {
    display: flex;
    flex-direction: column;
    gap: 1.05rem;
    padding: 1.25rem 1.35rem 1.4rem;
    min-width: 0;
}

.cal-lista-item[b-lhq4zairvz] {
    display: block;
    min-width: 0;
}

.cal-lista-card[b-lhq4zairvz] {
    --cal-lista-pad-y: 1.05rem;
    --cal-lista-pad-inline-end: 1.1rem;
    --cal-lista-pad-inline-start: 1.15rem;
    /* Desktop: immagine più ampia e card più alta → più spazio per descrizione/meta. */
    --cal-lista-thumb-w: 14.25rem;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100%;
    margin: 0;
    padding: 0;
    text-align: left;
    border: 0;
    border-radius: 1.15rem;
    height: 13.25rem;
    background: #fff;
    box-shadow:
        0 4px 18px rgba(15, 23, 42, 0.06),
        0 1px 3px rgba(91, 33, 182, 0.05);
    cursor: pointer;
    transition: transform 0.16s ease, box-shadow 0.16s ease;
    font: inherit;
    color: inherit;
    box-sizing: border-box;
    overflow: hidden;
    user-select: none;
    -webkit-user-select: none;
    gap: 0 1rem;
}

.cal-lista-card:hover[b-lhq4zairvz] {
    transform: translateY(-1px);
    box-shadow:
        0 10px 28px rgba(15, 23, 42, 0.08),
        0 2px 8px rgba(91, 33, 182, 0.08);
}

.cal-lista-card:hover .cal-lista-thumb[b-lhq4zairvz] {
    transform: scale(1.08);
}

.cal-lista-card:focus-visible[b-lhq4zairvz] {
    outline: 0;
    box-shadow:
        0 0 0 2px #fff,
        0 0 0 4px rgba(124, 58, 237, 0.35),
        0 10px 28px rgba(15, 23, 42, 0.08);
}

.cal-lista-date[b-lhq4zairvz] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.12rem;
    min-width: 5.5rem;
    padding: var(--cal-lista-pad-y) 0 var(--cal-lista-pad-y) var(--cal-lista-pad-inline-start);
    align-self: stretch;
    box-sizing: border-box;
}

.cal-lista-date-dow[b-lhq4zairvz] {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: #94a3b8;
    line-height: 1.1;
}

.cal-lista-date-month[b-lhq4zairvz] {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: #94a3b8;
    line-height: 1.1;
    text-transform: uppercase;
}

.cal-lista-date-num[b-lhq4zairvz] {
    font-size: 1.55rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #6d28d9;
    line-height: 1;
}

.cal-lista-thumb-wrap[b-lhq4zairvz] {
    position: relative;
    flex: 0 0 var(--cal-lista-thumb-w);
    width: var(--cal-lista-thumb-w);
    min-width: var(--cal-lista-thumb-w);
    max-width: var(--cal-lista-thumb-w);
    align-self: stretch;
    min-height: 0;
    overflow: hidden;
    display: flex;
    align-items: stretch;
    justify-content: stretch;
    background: #f1f5f9;
}

.cal-lista-thumb-wrap > .cal-lista-thumb[b-lhq4zairvz] {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    height: 100%;
    min-height: 0;
    margin: 0;
    border: 0;
    padding: 0;
    object-fit: cover;
    object-position: center;
    border-radius: 0;
    display: block;
    background: #ede9fe;
    transition: transform 0.4s ease;
}

.cal-lista-thumb--placeholder[b-lhq4zairvz] {
    background:
        linear-gradient(135deg, rgba(124, 58, 237, 0.2) 0%, rgba(99, 102, 241, 0.12) 50%, rgba(167, 139, 250, 0.18) 100%);
}

.cal-lista-badge[b-lhq4zairvz] {
    position: absolute;
    z-index: 1;
    top: 0.38rem;
    left: 0.38rem;
    max-width: calc(100% - 0.75rem);
    padding: 0.2rem 0.45rem;
    border-radius: 999px;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    line-height: 1.2;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.12);
}

.cal-lista-badge--blue[b-lhq4zairvz] {
    background: linear-gradient(135deg, #3b82f6, #2563eb);
}

.cal-lista-badge--red[b-lhq4zairvz] {
    background: linear-gradient(135deg, #f43f5e, #e11d48);
}

.cal-lista-badge--violet[b-lhq4zairvz] {
    background: linear-gradient(135deg, #8b5cf6, #7c3aed);
}

.cal-lista-main[b-lhq4zairvz] {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    align-self: stretch;
    justify-content: flex-start;
    padding: var(--cal-lista-pad-y) 0;
    box-sizing: border-box;
}

.cal-lista-title[b-lhq4zairvz] {
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0f172a;
    line-height: 1.25;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

.cal-lista-desc[b-lhq4zairvz] {
    font-size: 0.8125rem;
    font-weight: 500;
    color: #64748b;
    line-height: 1.45;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

.cal-lista-meta[b-lhq4zairvz] {
    display: flex;
    flex-direction: column;
    gap: 0.22rem;
    margin-top: 0.15rem;
}

.cal-lista-meta-row[b-lhq4zairvz] {
    display: inline-flex;
    align-items: center;
    gap: 0.38rem;
    min-width: 0;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.35;
}

.cal-lista-meta-row i[b-lhq4zairvz] {
    flex: 0 0 auto;
    font-size: 0.95rem;
    line-height: 1;
}

.cal-lista-meta-row--time[b-lhq4zairvz] {
    color: #7c3aed;
}

.cal-lista-meta-row--time i[b-lhq4zairvz] {
    color: #7c3aed;
}

.cal-lista-meta-row--place[b-lhq4zairvz] {
    color: #64748b;
    font-weight: 500;
}

.cal-lista-meta-row--place i[b-lhq4zairvz] {
    color: #94a3b8;
}

.cal-lista-meta-row--place span[b-lhq4zairvz] {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

.cal-lista-meta-row--operators[b-lhq4zairvz] {
    color: #64748b;
    font-weight: 500;
}

.cal-lista-meta-row--operators i[b-lhq4zairvz] {
    color: var(--ermesio-violet, #8b5cf6);
}

.cal-lista-meta-row--operators span[b-lhq4zairvz] {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

.cal-lista-chips[b-lhq4zairvz] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    margin-top: 0.35rem;
}

.cal-lista-chip[b-lhq4zairvz] {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    padding: 0.22rem 0.52rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    line-height: 1.2;
}

.cal-lista-chip i[b-lhq4zairvz] {
    font-size: 0.88rem;
}

.cal-lista-chip--people[b-lhq4zairvz] {
    color: #5b21b6;
    background: color-mix(in srgb, #7c3aed 12%, #fff);
    border: 1px solid rgba(124, 58, 237, 0.15);
}

.cal-lista-chip--people i[b-lhq4zairvz] {
    color: #7c3aed;
}

.cal-lista-chip--staff[b-lhq4zairvz] {
    color: #a16207;
    background: color-mix(in srgb, #facc15 22%, #fff);
    border: 1px solid rgba(234, 179, 8, 0.35);
}

.cal-lista-chip--staff i[b-lhq4zairvz] {
    color: #ca8a04;
}

.cal-lista-chevron[b-lhq4zairvz] {
    flex: 0 0 auto;
    align-self: center;
    font-size: 1.35rem;
    font-weight: 300;
    color: #cbd5e1;
    line-height: 1;
    padding: var(--cal-lista-pad-y) var(--cal-lista-pad-inline-end) var(--cal-lista-pad-y) 0;
    box-sizing: border-box;
}

.cal-lista-empty[b-lhq4zairvz] {
    text-align: center;
    padding: 2.5rem 1rem;
    color: #64748b;
    font-size: 0.9rem;
    font-weight: 500;
}

/* Mobile / tablet stretto: niente altezza fissa sulla card, descrizione per intero */
@media (max-width: 767.98px) {
    .cal-lista-card[b-lhq4zairvz] {
        height: auto;
        min-height: 13.25rem;
    }

    .cal-lista-desc[b-lhq4zairvz] {
        display: block;
        overflow: visible;
        -webkit-box-orient: unset;
        -webkit-line-clamp: unset;
        line-clamp: unset;
    }
}

@media (max-width: 640px) {
    .cal-lista[b-lhq4zairvz] {
        gap: 1.35rem;
        padding: 0;
    }

    .cal-lista-card[b-lhq4zairvz] {
        --cal-lista-pad-y: 0.85rem;
        --cal-lista-pad-inline-end: 1rem;
        --cal-lista-pad-inline-start: 1rem;
        --cal-lista-thumb-w: 100%;
        position: relative;
        flex-direction: column;
        height: auto;
        min-height: 0;
        gap: 0;
        border-radius: 1.05rem;
        box-shadow:
            0 10px 28px rgba(15, 23, 42, 0.08),
            0 2px 8px rgba(91, 33, 182, 0.08);
    }

    .cal-lista-date[b-lhq4zairvz] {
        position: absolute;
        z-index: 2;
        top: 0.55rem;
        right: 0.55rem;
        min-width: 2.55rem;
        padding: 0.28rem 0.42rem 0.35rem;
        border-radius: 0.62rem;
        background: rgba(255, 255, 255, 0.92);
        box-shadow: 0 2px 8px rgba(15, 23, 42, 0.14);
        gap: 0;
        align-self: auto;
    }

    .cal-lista-date-dow[b-lhq4zairvz] {
        display: none;
    }

    .cal-lista-date-month[b-lhq4zairvz] {
        order: 1;
        font-size: 0.58rem;
        font-weight: 800;
        color: #64748b;
        line-height: 1;
    }

    .cal-lista-date-num[b-lhq4zairvz] {
        order: 2;
        margin-top: 0.08rem;
        font-size: 1.45rem;
        color: #7c3aed;
        line-height: 0.95;
    }

    .cal-lista-thumb-wrap[b-lhq4zairvz] {
        order: 1;
        flex: 0 0 auto;
        width: 100%;
        min-width: 100%;
        max-width: 100%;
        aspect-ratio: 16 / 9;
        align-self: auto;
    }

    .cal-lista-badge[b-lhq4zairvz] {
        top: 0.7rem;
        left: 0.7rem;
        padding: 0.23rem 0.5rem;
        font-size: 0.62rem;
    }

    .cal-lista-main[b-lhq4zairvz] {
        order: 2;
        padding: 0.9rem 1rem 0.75rem;
        gap: 0.34rem;
    }

    .cal-lista-meta[b-lhq4zairvz] {
        gap: 0.26rem;
        margin-top: 0.1rem;
    }

    .cal-lista-chips[b-lhq4zairvz] {
        margin-top: 0.55rem;
        gap: 0.45rem;
        padding-right: 2rem;
    }

    .cal-lista-chip[b-lhq4zairvz] {
        padding: 0.22rem 0.5rem;
        font-size: 0.72rem;
    }

    .cal-lista-chevron[b-lhq4zairvz] {
        position: absolute;
        right: 1rem;
        bottom: 1.05rem;
        z-index: 2;
        padding: 0;
        color: #a78bfa;
    }

    .cal-lista-title[b-lhq4zairvz] {
        font-size: 1.08rem;
    }
}
/* /Components/Shared/DashboardIscrittiEventiSection.razor.rz.scp.css */
.dash-iscritti-ev[b-43b2oc811d] {
    --dash-iscr-green: #15803d;
    --dash-iscr-green-soft: #16a34a;
    width: 100%;
    align-self: stretch;
    margin-top: 0.5rem;
}

.dash-iscritti-ev-title[b-43b2oc811d] {
    margin: 0 0 0.35rem;
    font-size: 1.75rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.2;
    color: #0f172a;
}

.dash-iscritti-ev-sub[b-43b2oc811d] {
    margin: 0 0 1rem;
    font-size: 0.88rem;
    color: #64748b;
    max-width: 40rem;
    line-height: 1.45;
}

.dash-iscritti-ev-list[b-43b2oc811d] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    min-width: 0;
}

.dash-iscritti-ev-item[b-43b2oc811d] {
    margin: 0;
    padding: 0;
}

a.dash-iscritti-ev-card[b-43b2oc811d] {
    position: relative;
    display: flex;
    align-items: stretch;
    min-height: 4.75rem;
    padding: 0.85rem 0.65rem 0.85rem 0;
    border-radius: 0.85rem;
    background: #fff;
    color: inherit;
    text-decoration: none;
    box-shadow:
        0 1px 2px rgba(15, 23, 42, 0.06),
        0 8px 24px -8px rgba(15, 23, 42, 0.12);
    border: 1px solid rgba(15, 23, 42, 0.06);
    overflow: hidden;
    gap: 0.65rem;
    -webkit-tap-highlight-color: transparent;
}

a.dash-iscritti-ev-card:hover[b-43b2oc811d] {
    text-decoration: none;
    color: inherit;
    box-shadow:
        0 1px 2px rgba(15, 23, 42, 0.08),
        0 12px 28px -10px rgba(15, 23, 42, 0.16);
}

a.dash-iscritti-ev-card:focus-visible[b-43b2oc811d] {
    outline: 0;
    box-shadow:
        0 0 0 2px var(--bs-body-bg, #fff),
        0 0 0 5px rgba(22, 163, 74, 0.35),
        0 8px 24px -8px rgba(15, 23, 42, 0.12);
}

.dash-iscritti-ev-date[b-43b2oc811d] {
    flex: 0 0 auto;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-width: 5rem;
    margin-top: -0.85rem;
    margin-bottom: -0.85rem;
    padding: 0.65rem 0.85rem;
    text-align: center;
    background: #f1f5f9;
    border-left: 4px solid var(--dash-iscr-tipo, var(--dash-iscr-green));
    border-radius: 0.78rem 0 0 0.78rem;
}

.dash-iscritti-ev-day[b-43b2oc811d] {
    font-size: 1.85rem;
    font-weight: 800;
    line-height: 1;
    color: var(--dash-iscr-green);
    letter-spacing: -0.03em;
}

.dash-iscritti-ev-month[b-43b2oc811d] {
    margin-top: 0.2rem;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
    line-height: 1;
}

.dash-iscritti-ev-status[b-43b2oc811d] {
    margin-top: 0.35rem;
    font-size: 0.62rem;
    font-weight: 700;
    color: var(--dash-iscr-green-soft);
    line-height: 1.1;
}

.dash-iscritti-ev-status--ok[b-43b2oc811d] {
    color: var(--dash-iscr-green-soft);
}

.dash-iscritti-ev-status--wait[b-43b2oc811d] {
    color: #d97706;
}

.dash-iscritti-ev-status--bad[b-43b2oc811d] {
    color: #94a3b8;
}

.dash-iscritti-ev-body[b-43b2oc811d] {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.35rem;
    padding-right: 0.25rem;
}

.dash-iscritti-ev-event-title[b-43b2oc811d] {
    font-size: 1.02rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.25;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.dash-iscritti-ev-meta[b-43b2oc811d] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.82rem;
    color: #64748b;
    min-width: 0;
}

.dash-iscritti-ev-meta i[b-43b2oc811d] {
    flex-shrink: 0;
    font-size: 1rem;
    color: var(--dash-iscr-tipo, var(--dash-iscr-green-soft));
    line-height: 1;
}

.dash-iscritti-ev-meta span[b-43b2oc811d] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dash-iscritti-ev-chevron[b-43b2oc811d] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    padding-right: 0.35rem;
    color: #cbd5e1;
}

.dash-iscritti-ev-chevron i[b-43b2oc811d] {
    font-size: 1.35rem;
    line-height: 1;
}

.dash-iscritti-ev-footer[b-43b2oc811d] {
    display: flex;
    justify-content: flex-end;
    margin-top: 0.85rem;
}

a.dash-iscritti-ev-see-all[b-43b2oc811d] {
    font-size: 0.92rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    color: var(--ermesio-violet, #8b5cf6);
    text-decoration: none;
    padding: 0.35rem 0.15rem;
    border-radius: 0.35rem;
}

a.dash-iscritti-ev-see-all:hover[b-43b2oc811d] {
    color: #6d28d9;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

a.dash-iscritti-ev-see-all:focus-visible[b-43b2oc811d] {
    outline: 0;
    border-radius: 0.35rem;
    box-shadow: 0 0 0 2px var(--bs-body-bg, #fff), 0 0 0 4px rgba(139, 92, 246, 0.4);
}

@media (max-width: 480px) {
    .dash-iscritti-ev-day[b-43b2oc811d] {
        font-size: 1.55rem;
    }

    a.dash-iscritti-ev-card[b-43b2oc811d] {
        min-height: 4.35rem;
        padding-top: 0.7rem;
        padding-bottom: 0.7rem;
    }

    .dash-iscritti-ev-date[b-43b2oc811d] {
        margin-top: -0.7rem;
        margin-bottom: -0.7rem;
    }
}
/* /Components/Shared/Dashboards/DashboardAdmin.razor.rz.scp.css */
.dashboard-admin[b-0b5bpm1ahi] {
    width: 100%;
    padding-bottom: clamp(0.75rem, 2vw, 1.25rem);
    box-sizing: border-box;
}

.dashboard-admin-main[b-0b5bpm1ahi] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
    width: 100%;
    max-width: 100%;
}

/* Andamento annuale: intestazione a tutta larghezza, due grafici affiancati */
.dashboard-admin-below[b-0b5bpm1ahi] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    width: 100%;
    align-self: stretch;
}

.dashboard-admin-charts-row[b-0b5bpm1ahi] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
    width: 100%;
    align-items: start;
}

.dashboard-admin-charts-row > .dashboard-admin-chart-card[b-0b5bpm1ahi] {
    min-width: 0;
}

.dashboard-admin-year-summary[b-0b5bpm1ahi] {
    width: 100%;
    min-width: 0;
}

.dashboard-admin-prossimi-full[b-0b5bpm1ahi] {
    width: 100%;
    align-self: stretch;
    margin-top: 0.35rem;
}

.dashboard-admin-prossimi-list[b-0b5bpm1ahi] {
    display: flex;
    flex-direction: column;
    gap: 1.35rem;
    padding-left: 0;
    padding-right: 0;
    min-width: 0;
}

.dashboard-admin-prossimi-empty[b-0b5bpm1ahi] {
    margin: 0;
    padding: 0.35rem 0 0.15rem;
    font-size: 0.9rem;
    color: #64748b;
    line-height: 1.45;
}

@media (max-width: 640px) {
    .dashboard-admin-prossimi-list.cal-lista[b-0b5bpm1ahi] {
        gap: 1.5rem;
    }
}

.dashboard-admin-prossimi-footer[b-0b5bpm1ahi] {
    display: flex;
    justify-content: flex-end;
    margin-top: 0.85rem;
}

a.dashboard-admin-prossimi-see-all[b-0b5bpm1ahi] {
    font-size: 0.92rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    color: var(--ermesio-violet, #8b5cf6);
    text-decoration: none;
    padding: 0.35rem 0.15rem;
    border-radius: 0.35rem;
}

a.dashboard-admin-prossimi-see-all:hover[b-0b5bpm1ahi] {
    color: #6d28d9;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

a.dashboard-admin-prossimi-see-all:focus-visible[b-0b5bpm1ahi] {
    outline: 0;
    border-radius: 0.35rem;
    box-shadow: 0 0 0 2px var(--bs-body-bg, #fff), 0 0 0 4px rgba(139, 92, 246, 0.4);
}

.dashboard-admin-chart-card[b-0b5bpm1ahi] {
    background: var(--bs-body-bg, #fff);
    border: 1px solid color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 14%, #e2e8f0);
    border-radius: 1.15rem;
    padding: 0.75rem 0.85rem 0.5rem;
    box-shadow: 0 14px 36px -18px rgba(15, 23, 42, 0.18);
}

@media (max-width: 991.98px) {
    .dashboard-admin-charts-row[b-0b5bpm1ahi] {
        grid-template-columns: 1fr;
    }
}

/* Stessi titoli/sottotitolo della sezione "Prossimi eventi" in DashboardUser.razor */
.dash-user-pending-invites[b-0b5bpm1ahi] {
    width: 100%;
    align-self: stretch;
    margin-top: 0.35rem;
}

.dash-user-pending-invites-title[b-0b5bpm1ahi] {
    margin: 0 0 0.35rem;
    font-size: 1.75rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.2;
    color: #0f172a;
}

.dash-user-pending-invites-sub[b-0b5bpm1ahi] {
    margin: 0 0 0.85rem;
    font-size: 0.88rem;
    color: #64748b;
    max-width: 40rem;
    line-height: 1.45;
}

/* Stessa hero della dashboard utente (classi dash-user-hero condivise) */
.dash-user-hero[b-0b5bpm1ahi] {
    position: relative;
    width: 100%;
    align-self: stretch;
    margin-top: 0;
    border-radius: 2.5rem;
    overflow: hidden;
    min-height: clamp(260px, 36vh, 520px);
    background: #0f172a;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.06) inset,
        0 20px 50px -12px rgba(15, 23, 42, 0.35);
    display: flex;
    flex-direction: column;
}

a.dash-user-hero-link[b-0b5bpm1ahi] {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
    width: 100%;
    color: inherit;
    text-decoration: none;
    border-radius: inherit;
    overflow: hidden;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

a.dash-user-hero-link:hover[b-0b5bpm1ahi] {
    text-decoration: none;
    color: inherit;
}

a.dash-user-hero-link:focus-visible[b-0b5bpm1ahi] {
    outline: 0;
    box-shadow:
        0 0 0 2px var(--bs-body-bg, #fff),
        0 0 0 5px rgba(139, 92, 246, 0.45);
}

a.dash-user-hero-link:hover .dash-user-hero-inner[b-0b5bpm1ahi] {
    filter: brightness(1.03);
}

@media (prefers-reduced-motion: reduce) {
    a.dash-user-hero-link:hover .dash-user-hero-inner[b-0b5bpm1ahi] {
        filter: none;
    }
}

.dash-user-hero-inner[b-0b5bpm1ahi] {
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
    display: grid;
    grid-template: 1fr / 1fr;
    width: 100%;
}

.dash-user-hero-media[b-0b5bpm1ahi],
.dash-user-hero-overlay[b-0b5bpm1ahi] {
    grid-area: 1 / 1;
}

.dash-user-hero-media[b-0b5bpm1ahi] {
    z-index: 0;
    position: relative;
    min-height: 0;
    min-width: 0;
    width: 100%;
    height: 100%;
    align-self: stretch;
}

.dash-user-hero-fade[b-0b5bpm1ahi] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.dash-user-hero-fade-img[b-0b5bpm1ahi] {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    opacity: 0;
    transition: opacity 1.2s ease;
    will-change: opacity;
}

.dash-user-hero-fade-img.is-active[b-0b5bpm1ahi] {
    opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
    .dash-user-hero-fade-img[b-0b5bpm1ahi] {
        transition: none;
    }
}

.dash-user-hero-img[b-0b5bpm1ahi] {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.dash-user-hero-placeholder[b-0b5bpm1ahi] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, #1e293b 0%, #0f172a 100%);
    color: rgba(255, 255, 255, 0.22);
}

.dash-user-hero-placeholder i[b-0b5bpm1ahi] {
    font-size: clamp(3rem, 12vw, 5rem);
}

.dash-user-hero-overlay[b-0b5bpm1ahi] {
    z-index: 1;
    position: relative;
    display: flex;
    align-items: flex-end;
    align-self: stretch;
    justify-self: stretch;
    padding-top: clamp(1.5rem, 5vw, 2.75rem);
    padding-right: clamp(1.75rem, 7vw, 4.25rem);
    padding-bottom: clamp(1.85rem, 5.5vw, 3.25rem);
    padding-left: clamp(0.875rem, 3.5vw, 2.125rem);
    box-sizing: border-box;
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.88) 0%,
        rgba(0, 0, 0, 0.35) 45%,
        transparent 72%
    );
}

.dash-user-hero-overlay-inner[b-0b5bpm1ahi] {
    max-width: min(100%, 38rem);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.45rem;
}

.dash-user-hero-badge[b-0b5bpm1ahi] {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.82);
    text-shadow: 0 1px 12px rgba(0, 0, 0, 0.45);
}

.dash-user-hero-title[b-0b5bpm1ahi] {
    margin: 0;
    font-size: clamp(1.65rem, 4.5vw, 2.75rem);
    font-weight: 400;
    letter-spacing: -0.02em;
    line-height: 1.15;
    color: #fff;
    text-shadow: 0 2px 24px rgba(0, 0, 0, 0.45);
}

.dash-user-hero-sub[b-0b5bpm1ahi] {
    font-size: 0.95rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.88);
    text-shadow: 0 1px 16px rgba(0, 0, 0, 0.45);
    line-height: 1.35;
}

@media (max-width: 991.98px) {
    .dash-user-hero-overlay[b-0b5bpm1ahi] {
        padding-top: 1.1rem;
        padding-right: 0.75rem;
        padding-bottom: 1.05rem;
        padding-left: 0.75rem;
    }
}

@media (max-width: 767.98px) {
    .dash-user-hero[b-0b5bpm1ahi] {
        min-height: 0;
        aspect-ratio: 16 / 11;
        max-height: min(68vh, 440px);
        border-radius: 1rem;
    }

    .dash-user-hero-overlay[b-0b5bpm1ahi] {
        justify-content: center;
        padding-top: 0.95rem;
        padding-right: env(safe-area-inset-right, 0px);
        padding-bottom: 0.95rem;
        padding-left: env(safe-area-inset-left, 0px);
    }

    .dash-user-hero-overlay-inner[b-0b5bpm1ahi] {
        align-items: center;
        text-align: center;
    }

    .dash-user-hero-title[b-0b5bpm1ahi] {
        width: 100%;
        max-width: 100%;
        text-align: center;
        box-sizing: border-box;
        padding-left: 0.35rem;
        padding-right: 0.35rem;
    }

    .dash-user-hero-sub[b-0b5bpm1ahi] {
        text-align: center;
    }
}
/* /Components/Shared/Dashboards/DashboardOperator.razor.rz.scp.css */
.dashboard-admin[b-f6clmhuua2] {
    width: 100%;
    padding-bottom: clamp(0.75rem, 2vw, 1.25rem);
    box-sizing: border-box;
}

.dashboard-admin-main[b-f6clmhuua2] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
    width: 100%;
    max-width: 100%;
}

/* Andamento annuale: intestazione a tutta larghezza, due grafici affiancati */
.dashboard-admin-below[b-f6clmhuua2] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    width: 100%;
    align-self: stretch;
}

.dashboard-admin-charts-row[b-f6clmhuua2] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
    width: 100%;
    align-items: start;
}

.dashboard-admin-charts-row > .dashboard-admin-chart-card[b-f6clmhuua2] {
    min-width: 0;
}

.dashboard-admin-year-summary[b-f6clmhuua2] {
    width: 100%;
    min-width: 0;
}

.dashboard-admin-prossimi-full[b-f6clmhuua2] {
    width: 100%;
    align-self: stretch;
    margin-top: 0.35rem;
}

.dashboard-admin-prossimi-list[b-f6clmhuua2] {
    display: flex;
    flex-direction: column;
    gap: 1.35rem;
    padding-left: 0;
    padding-right: 0;
    min-width: 0;
}

.dashboard-admin-prossimi-empty[b-f6clmhuua2] {
    margin: 0;
    padding: 0.35rem 0 0.15rem;
    font-size: 0.9rem;
    color: #64748b;
    line-height: 1.45;
}

@media (max-width: 640px) {
    .dashboard-admin-prossimi-list.cal-lista[b-f6clmhuua2] {
        gap: 1.5rem;
    }
}

.dashboard-admin-prossimi-footer[b-f6clmhuua2] {
    display: flex;
    justify-content: flex-end;
    margin-top: 0.85rem;
}

a.dashboard-admin-prossimi-see-all[b-f6clmhuua2] {
    font-size: 0.92rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    color: var(--ermesio-violet, #8b5cf6);
    text-decoration: none;
    padding: 0.35rem 0.15rem;
    border-radius: 0.35rem;
}

a.dashboard-admin-prossimi-see-all:hover[b-f6clmhuua2] {
    color: #6d28d9;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

a.dashboard-admin-prossimi-see-all:focus-visible[b-f6clmhuua2] {
    outline: 0;
    border-radius: 0.35rem;
    box-shadow: 0 0 0 2px var(--bs-body-bg, #fff), 0 0 0 4px rgba(139, 92, 246, 0.4);
}

.dashboard-admin-chart-card[b-f6clmhuua2] {
    background: var(--bs-body-bg, #fff);
    border: 1px solid color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 14%, #e2e8f0);
    border-radius: 1.15rem;
    padding: 0.75rem 0.85rem 0.5rem;
    box-shadow: 0 14px 36px -18px rgba(15, 23, 42, 0.18);
}

@media (max-width: 991.98px) {
    .dashboard-admin-charts-row[b-f6clmhuua2] {
        grid-template-columns: 1fr;
    }
}

/* Stessi titoli/sottotitolo della sezione "Prossimi eventi" in DashboardUser.razor */
.dash-user-pending-invites[b-f6clmhuua2] {
    width: 100%;
    align-self: stretch;
    margin-top: 0.35rem;
}

.dash-user-pending-invites-title[b-f6clmhuua2] {
    margin: 0 0 0.35rem;
    font-size: 1.75rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.2;
    color: #0f172a;
}

.dash-user-pending-invites-sub[b-f6clmhuua2] {
    margin: 0 0 0.85rem;
    font-size: 0.88rem;
    color: #64748b;
    max-width: 40rem;
    line-height: 1.45;
}

/* Stessa hero della dashboard utente (classi dash-user-hero condivise) */
.dash-user-hero[b-f6clmhuua2] {
    position: relative;
    width: 100%;
    align-self: stretch;
    margin-top: 0;
    border-radius: 2.5rem;
    overflow: hidden;
    min-height: clamp(260px, 36vh, 520px);
    background: #0f172a;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.06) inset,
        0 20px 50px -12px rgba(15, 23, 42, 0.35);
    display: flex;
    flex-direction: column;
}

a.dash-user-hero-link[b-f6clmhuua2] {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
    width: 100%;
    color: inherit;
    text-decoration: none;
    border-radius: inherit;
    overflow: hidden;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

a.dash-user-hero-link:hover[b-f6clmhuua2] {
    text-decoration: none;
    color: inherit;
}

a.dash-user-hero-link:focus-visible[b-f6clmhuua2] {
    outline: 0;
    box-shadow:
        0 0 0 2px var(--bs-body-bg, #fff),
        0 0 0 5px rgba(139, 92, 246, 0.45);
}

a.dash-user-hero-link:hover .dash-user-hero-inner[b-f6clmhuua2] {
    filter: brightness(1.03);
}

@media (prefers-reduced-motion: reduce) {
    a.dash-user-hero-link:hover .dash-user-hero-inner[b-f6clmhuua2] {
        filter: none;
    }
}

.dash-user-hero-inner[b-f6clmhuua2] {
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
    display: grid;
    grid-template: 1fr / 1fr;
    width: 100%;
}

.dash-user-hero-media[b-f6clmhuua2],
.dash-user-hero-overlay[b-f6clmhuua2] {
    grid-area: 1 / 1;
}

.dash-user-hero-media[b-f6clmhuua2] {
    z-index: 0;
    position: relative;
    min-height: 0;
    min-width: 0;
    width: 100%;
    height: 100%;
    align-self: stretch;
}

.dash-user-hero-fade[b-f6clmhuua2] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.dash-user-hero-fade-img[b-f6clmhuua2] {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    opacity: 0;
    transition: opacity 1.2s ease;
    will-change: opacity;
}

.dash-user-hero-fade-img.is-active[b-f6clmhuua2] {
    opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
    .dash-user-hero-fade-img[b-f6clmhuua2] {
        transition: none;
    }
}

.dash-user-hero-img[b-f6clmhuua2] {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.dash-user-hero-placeholder[b-f6clmhuua2] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, #1e293b 0%, #0f172a 100%);
    color: rgba(255, 255, 255, 0.22);
}

.dash-user-hero-placeholder i[b-f6clmhuua2] {
    font-size: clamp(3rem, 12vw, 5rem);
}

.dash-user-hero-overlay[b-f6clmhuua2] {
    z-index: 1;
    position: relative;
    display: flex;
    align-items: flex-end;
    align-self: stretch;
    justify-self: stretch;
    padding-top: clamp(1.5rem, 5vw, 2.75rem);
    padding-right: clamp(1.75rem, 7vw, 4.25rem);
    padding-bottom: clamp(1.85rem, 5.5vw, 3.25rem);
    padding-left: clamp(0.875rem, 3.5vw, 2.125rem);
    box-sizing: border-box;
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.88) 0%,
        rgba(0, 0, 0, 0.35) 45%,
        transparent 72%
    );
}

.dash-user-hero-overlay-inner[b-f6clmhuua2] {
    max-width: min(100%, 38rem);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.45rem;
}

.dash-user-hero-badge[b-f6clmhuua2] {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.82);
    text-shadow: 0 1px 12px rgba(0, 0, 0, 0.45);
}

.dash-user-hero-title[b-f6clmhuua2] {
    margin: 0;
    font-size: clamp(1.65rem, 4.5vw, 2.75rem);
    font-weight: 400;
    letter-spacing: -0.02em;
    line-height: 1.15;
    color: #fff;
    text-shadow: 0 2px 24px rgba(0, 0, 0, 0.45);
}

.dash-user-hero-sub[b-f6clmhuua2] {
    font-size: 0.95rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.88);
    text-shadow: 0 1px 16px rgba(0, 0, 0, 0.45);
    line-height: 1.35;
}

@media (max-width: 991.98px) {
    .dash-user-hero-overlay[b-f6clmhuua2] {
        padding-top: 1.1rem;
        padding-right: 0.75rem;
        padding-bottom: 1.05rem;
        padding-left: 0.75rem;
    }
}

@media (max-width: 767.98px) {
    .dash-user-hero[b-f6clmhuua2] {
        min-height: 0;
        aspect-ratio: 16 / 11;
        max-height: min(68vh, 440px);
        border-radius: 1rem;
    }

    .dash-user-hero-overlay[b-f6clmhuua2] {
        justify-content: center;
        padding-top: 0.95rem;
        padding-right: env(safe-area-inset-right, 0px);
        padding-bottom: 0.95rem;
        padding-left: env(safe-area-inset-left, 0px);
    }

    .dash-user-hero-overlay-inner[b-f6clmhuua2] {
        align-items: center;
        text-align: center;
    }

    .dash-user-hero-title[b-f6clmhuua2] {
        width: 100%;
        max-width: 100%;
        text-align: center;
        box-sizing: border-box;
        padding-left: 0.35rem;
        padding-right: 0.35rem;
    }

    .dash-user-hero-sub[b-f6clmhuua2] {
        text-align: center;
    }
}

/* Empty state (stessa veste grafica della dashboard utente) */
.dash-user-hero-empty[b-f6clmhuua2] {
    width: 100%;
    align-self: stretch;
    margin-top: 0.25rem;
    border-radius: 2rem;
    padding: clamp(1.75rem, 4vw, 2.5rem) clamp(1.25rem, 3vw, 2rem);
    text-align: center;
    box-sizing: border-box;
    background:
        linear-gradient(135deg, rgba(139, 92, 246, 0.12) 0%, rgba(59, 130, 246, 0.08) 45%, rgba(15, 23, 42, 0.04) 100%),
        var(--bs-body-bg, #fff);
    border: 1px solid color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 22%, transparent);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.55) inset,
        0 18px 48px -20px rgba(15, 23, 42, 0.18);
}

.dash-user-hero-empty-icon[b-f6clmhuua2] {
    width: 4.25rem;
    height: 4.25rem;
    margin: 0 auto 1rem;
    border-radius: 1.15rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, rgba(139, 92, 246, 0.2), rgba(59, 130, 246, 0.12));
    color: var(--ermesio-violet, #8b5cf6);
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
}

.dash-user-hero-empty-icon i[b-f6clmhuua2] {
    font-size: 2rem;
    line-height: 1;
}

.dash-user-hero-empty-text[b-f6clmhuua2] {
    margin: 0 auto;
    max-width: 32rem;
    font-size: 1.02rem;
    line-height: 1.55;
    color: var(--bs-secondary-color, #64748b);
}

@media (max-width: 767.98px) {
    .dash-user-hero-empty[b-f6clmhuua2] {
        border-radius: 1.15rem;
    }
}
/* /Components/Shared/Dashboards/DashboardUser.razor.rz.scp.css */
.dashboard-user[b-r3afnaa7pl] {
    width: 100%;
    padding-bottom: 2rem;
    box-sizing: border-box;
}

/* Tipologie e contenuto: colonna allineata a sinistra */
.dashboard-user-main[b-r3afnaa7pl] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
    width: 100%;
    max-width: 100%;
}

.dashboard-user-filters-row[b-r3afnaa7pl] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.85rem 1rem;
    flex-wrap: wrap;
    width: 100%;
    box-sizing: border-box;
}

.dashboard-user-tipi[b-r3afnaa7pl] {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0.85rem;
    flex-wrap: wrap;
    flex: 1 1 auto;
    min-width: 0;
    box-sizing: border-box;
    padding: 0;
    margin: 0;
    margin-left: -9px;
}

/* Pill arco temporale: stesso linguaggio di .calendario-month-pill / .cal-duplica-dates */
.dashboard-user-range-pill[b-r3afnaa7pl] {
    display: inline-flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0.45rem 0.55rem;
    flex: 0 0 auto;
    margin-left: auto;
    max-width: 100%;
    padding: 0.28rem 0.35rem 0.28rem 0.55rem;
    border-radius: 999px;
    border: 1px solid rgba(116, 47, 229, 0.15);
    background: color-mix(in srgb, rgb(116, 47, 229) 5.5%, #fff);
    box-sizing: border-box;
    box-shadow: 0 1px 2px rgba(91, 33, 182, 0.06);
}

.dashboard-user-range-fields[b-r3afnaa7pl] {
    display: inline-flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0.4rem 0.5rem;
    min-width: 0;
}

.dashboard-user-range-field[b-r3afnaa7pl] {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 0.4rem;
    min-width: 0;
}

.dashboard-user-range-label[b-r3afnaa7pl] {
    flex: 0 0 auto;
    margin: 0;
    font-size: 0.62rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    color: rgba(100, 116, 139, 0.95);
    line-height: 1;
    white-space: nowrap;
}

.dashboard-user-range-input[b-r3afnaa7pl] {
    box-sizing: border-box;
    width: 8.65rem;
    max-width: 38vw;
    height: 2rem;
    min-height: 2rem;
    padding: 0 0.55rem;
    border-radius: 0.85rem;
    border: 1px solid rgba(15, 23, 42, 0.12);
    background: #fff;
    font-size: 0.78rem;
    font-weight: 600;
    color: #334155;
    line-height: 1.15;
}

.dashboard-user-range-input:focus[b-r3afnaa7pl] {
    border-color: color-mix(in srgb, #7c3aed 45%, #cbd5e1);
    box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.14);
}

.dashboard-user-range-sep[b-r3afnaa7pl] {
    flex: 0 0 auto;
    font-size: 0.9rem;
    font-weight: 700;
    color: #94a3b8;
    line-height: 1;
}

.dashboard-user-range-reset[b-r3afnaa7pl] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    flex-shrink: 0;
    margin: 0;
    border: 0;
    border-radius: 999px;
    padding: 0.48rem 0.9rem 0.48rem 0.8rem;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    color: #5b21b6;
    background: color-mix(in srgb, rgb(116, 47, 229) 11%, #fff);
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.dashboard-user-range-reset:hover:not(:disabled)[b-r3afnaa7pl] {
    color: #4c1d95;
    background: color-mix(in srgb, rgb(116, 47, 229) 16%, #fff);
}

.dashboard-user-range-reset:focus-visible[b-r3afnaa7pl] {
    outline: 0;
    box-shadow: 0 0 0 2px rgba(116, 47, 229, 0.28);
}

.dashboard-user-range-reset:disabled[b-r3afnaa7pl] {
    opacity: 0.55;
    cursor: not-allowed;
}

.dashboard-user-range-reset-icon[b-r3afnaa7pl] {
    font-size: 0.95rem;
    color: #6d28d9;
    line-height: 1;
}

.dashboard-user-tipo[b-r3afnaa7pl] {
    border: 0;
    padding: 0;
    background: transparent;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    min-width: 3.5rem;
    cursor: pointer;
    color: #64748b;
    transition: transform 0.16s ease, color 0.16s ease;
}

.dashboard-user-tipo:hover[b-r3afnaa7pl] {
    transform: translateY(-1px);
    color: #334155;
}

.dashboard-user-tipo:focus-visible[b-r3afnaa7pl] {
    outline: 0;
    border-radius: 0.75rem;
    box-shadow: 0 0 0 2px var(--bs-body-bg), 0 0 0 4px rgba(139, 92, 246, 0.28);
}

.dashboard-user-tipo-ico[b-r3afnaa7pl] {
    /* Icona tipologie 2.5rem per allineamento con la riga tipi */
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: color-mix(in srgb, var(--dash-tipo-color, var(--ermesio-violet, #8b5cf6)) 22%, transparent);
    color: color-mix(in srgb, var(--dash-tipo-color, var(--ermesio-violet, #8b5cf6)) 78%, #334155);
    box-shadow:
        0 4px 14px rgba(15, 23, 42, 0.1),
        0 1px 3px rgba(15, 23, 42, 0.06);
    transition: transform 0.16s ease, background-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease;
}

.dashboard-user-tipo-ico i[b-r3afnaa7pl] {
    font-size: 1.15rem;
    line-height: 1;
}

.dashboard-user-tipo-label[b-r3afnaa7pl] {
    font-size: 0.74rem;
    font-weight: 500;
    text-align: center;
    max-width: 5.6rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dashboard-user-tipo.is-active[b-r3afnaa7pl] {
    color: #4c1d95;
}

.dashboard-user-tipo.is-active .dashboard-user-tipo-ico[b-r3afnaa7pl] {
    transform: translateY(-1px);
    background: color-mix(in srgb, var(--dash-tipo-color, var(--ermesio-violet, #8b5cf6)) 34%, transparent);
    color: color-mix(in srgb, var(--dash-tipo-color, var(--ermesio-violet, #8b5cf6)) 88%, #1e293b);
    box-shadow:
        0 6px 18px rgba(15, 23, 42, 0.12),
        0 2px 6px color-mix(in srgb, var(--dash-tipo-color, var(--ermesio-violet, #8b5cf6)) 22%, transparent);
}

.dashboard-user-tipo-ico--all[b-r3afnaa7pl] {
    --dash-tipo-color: var(--ermesio-violet, #8b5cf6);
}

.dash-user-pending-invites[b-r3afnaa7pl] {
    width: 100%;
    align-self: stretch;
    margin-top: 0.35rem;
}

.dash-user-pending-invites-title[b-r3afnaa7pl] {
    margin: 0 0 0.35rem;
    font-size: 1.75rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.2;
    color: #0f172a;
}

.dash-user-pending-invites-sub[b-r3afnaa7pl] {
    margin: 0 0 0.85rem;
    font-size: 0.88rem;
    color: #64748b;
    max-width: 40rem;
    line-height: 1.45;
}

.dash-user-pending-invites-list[b-r3afnaa7pl] {
    display: flex;
    flex-direction: column;
    gap: 1.35rem;
    padding-left: 0;
    padding-right: 0;
    min-width: 0;
}

@media (max-width: 640px) {
    .dash-user-pending-invites-list.cal-lista[b-r3afnaa7pl] {
        gap: 1.5rem;
        padding-left: 0;
        padding-right: 0;
    }
}

/* --- Mega hero (dashboard utente): stile allineato a LandingEvento --- */
.dash-user-hero[b-r3afnaa7pl] {
    position: relative;
    width: 100%;
    align-self: stretch;
    margin-top: 0.25rem;
    border-radius: 2.5rem;
    overflow: hidden;
    min-height: clamp(260px, 36vh, 520px);
    background: #0f172a;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.06) inset,
        0 20px 50px -12px rgba(15, 23, 42, 0.35);
    display: flex;
    flex-direction: column;
}

a.dash-user-hero-link[b-r3afnaa7pl] {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
    width: 100%;
    color: inherit;
    text-decoration: none;
    border-radius: inherit;
    overflow: hidden;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

a.dash-user-hero-link:hover[b-r3afnaa7pl] {
    text-decoration: none;
    color: inherit;
}

a.dash-user-hero-link:focus-visible[b-r3afnaa7pl] {
    outline: 0;
    box-shadow:
        0 0 0 2px var(--bs-body-bg, #fff),
        0 0 0 5px rgba(139, 92, 246, 0.45);
}

a.dash-user-hero-link:hover .dash-user-hero-inner[b-r3afnaa7pl] {
    filter: brightness(1.03);
}

@media (prefers-reduced-motion: reduce) {
    a.dash-user-hero-link:hover .dash-user-hero-inner[b-r3afnaa7pl] {
        filter: none;
    }
}

.dash-user-hero-inner[b-r3afnaa7pl] {
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
    display: grid;
    grid-template: 1fr / 1fr;
    width: 100%;
}

.dash-user-hero-media[b-r3afnaa7pl],
.dash-user-hero-overlay[b-r3afnaa7pl] {
    grid-area: 1 / 1;
}

.dash-user-hero-media[b-r3afnaa7pl] {
    z-index: 0;
    position: relative;
    min-height: 0;
    min-width: 0;
    width: 100%;
    height: 100%;
    align-self: stretch;
}

.dash-user-hero-fade[b-r3afnaa7pl] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.dash-user-hero-fade-img[b-r3afnaa7pl] {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    opacity: 0;
    transition: opacity 1.2s ease;
    will-change: opacity;
}

.dash-user-hero-fade-img.is-active[b-r3afnaa7pl] {
    opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
    .dash-user-hero-fade-img[b-r3afnaa7pl] {
        transition: none;
    }
}

.dash-user-hero-img[b-r3afnaa7pl] {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.dash-user-hero-placeholder[b-r3afnaa7pl] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, #1e293b 0%, #0f172a 100%);
    color: rgba(255, 255, 255, 0.22);
}

.dash-user-hero-placeholder i[b-r3afnaa7pl] {
    font-size: clamp(3rem, 12vw, 5rem);
}

.dash-user-hero-ribbon[b-r3afnaa7pl] {
    position: absolute;
    top: 0.9rem;
    right: -3.4rem;
    z-index: 3;
    transform: rotate(45deg);
    transform-origin: center;
    padding: 0.38rem 3.1rem 0.38rem 4.3rem;
    border-radius: 0.25rem;
    color: #fff;
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    text-align: center;
    white-space: nowrap;
    line-height: 1.1;
    box-shadow:
        0 10px 24px rgba(0, 0, 0, 0.28),
        0 1px 0 rgba(255, 255, 255, 0.1) inset;
    pointer-events: none;
}

.dash-user-hero-ribbon--green[b-r3afnaa7pl] {
    background: rgba(22, 101, 52, 0.88);
}

.dash-user-hero-ribbon--yellow[b-r3afnaa7pl] {
    background: linear-gradient(135deg, #ca8a04 0%, #eab308 55%, #facc15 100%);
    color: #1e293b;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35);
    box-shadow:
        0 10px 24px rgba(0, 0, 0, 0.22),
        0 1px 0 rgba(255, 255, 255, 0.35) inset;
    /* Più piccolo del verde; padding asimmetrico sposta il testo verso l’angolo esterno del nastro */
    font-size: 0.62rem;
    letter-spacing: 0.06em;
    padding: 0.32rem 2.55rem 0.32rem 5.35rem;
    text-align: right;
}

@media (max-width: 767.98px) {
    .dash-user-hero-ribbon[b-r3afnaa7pl] {
        top: 0.55rem;
        right: -3.8rem;
        padding: 0.34rem 3.3rem 0.34rem 4.7rem;
        font-size: 0.68rem;
    }

    .dash-user-hero-ribbon--yellow[b-r3afnaa7pl] {
        font-size: 0.56rem;
        padding: 0.28rem 2.35rem 0.28rem 5.55rem;
    }
}

.dash-user-hero-overlay[b-r3afnaa7pl] {
    z-index: 1;
    position: relative;
    display: flex;
    align-items: flex-end;
    align-self: stretch;
    justify-self: stretch;
    padding-top: clamp(1.5rem, 5vw, 2.75rem);
    padding-right: clamp(1.75rem, 7vw, 4.25rem);
    padding-bottom: clamp(1.85rem, 5.5vw, 3.25rem);
    padding-left: clamp(0.875rem, 3.5vw, 2.125rem);
    box-sizing: border-box;
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.88) 0%,
        rgba(0, 0, 0, 0.35) 45%,
        transparent 72%
    );
}

.dash-user-hero-overlay-inner[b-r3afnaa7pl] {
    max-width: min(100%, 38rem);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.45rem;
}

.dash-user-hero-badge[b-r3afnaa7pl] {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.82);
    text-shadow: 0 1px 12px rgba(0, 0, 0, 0.45);
}

.dash-user-hero-title[b-r3afnaa7pl] {
    margin: 0;
    font-size: clamp(1.65rem, 4.5vw, 2.75rem);
    font-weight: 400;
    letter-spacing: -0.02em;
    line-height: 1.15;
    color: #fff;
    text-shadow: 0 2px 24px rgba(0, 0, 0, 0.45);
}

.dash-user-hero-sub[b-r3afnaa7pl] {
    font-size: 0.95rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.88);
    text-shadow: 0 1px 16px rgba(0, 0, 0, 0.45);
    line-height: 1.35;
}

@media (max-width: 991.98px) {
    .dash-user-hero-overlay[b-r3afnaa7pl] {
        padding-top: 1.1rem;
        padding-right: 0.75rem;
        padding-bottom: 1.05rem;
        padding-left: 0.75rem;
    }
}

@media (max-width: 767.98px) {
    .dashboard-user-filters-row[b-r3afnaa7pl] {
        flex-direction: column;
        align-items: center;
        gap: 0.9rem;
    }

    .dashboard-user-tipi[b-r3afnaa7pl] {
        margin-left: 0;
        width: 100%;
        justify-content: center;
    }

    .dashboard-user-range-pill[b-r3afnaa7pl] {
        margin-left: 0;
        width: 100%;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        flex-wrap: nowrap;
        gap: 0.65rem;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .dashboard-user-range-fields[b-r3afnaa7pl] {
        flex: 0 0 auto;
        justify-content: center;
        width: auto;
        max-width: 100%;
    }

    .dashboard-user-range-field[b-r3afnaa7pl] {
        flex: 0 1 auto;
    }

    .dashboard-user-range-input[b-r3afnaa7pl] {
        width: 8.25rem;
        max-width: calc(50vw - 1.75rem);
        flex: 0 1 auto;
    }

    .dashboard-user-range-reset[b-r3afnaa7pl] {
        align-self: center;
    }

    .dash-user-hero[b-r3afnaa7pl] {
        min-height: 0;
        aspect-ratio: 16 / 11;
        max-height: min(68vh, 440px);
        border-radius: 1rem;
    }

    .dash-user-hero-overlay[b-r3afnaa7pl] {
        justify-content: center;
        padding-top: 0.95rem;
        padding-right: env(safe-area-inset-right, 0px);
        padding-bottom: 0.95rem;
        padding-left: env(safe-area-inset-left, 0px);
    }

    .dash-user-hero-overlay-inner[b-r3afnaa7pl] {
        align-items: center;
        text-align: center;
    }

    .dash-user-hero-title[b-r3afnaa7pl] {
        width: 100%;
        max-width: 100%;
        text-align: center;
        box-sizing: border-box;
        padding-left: 0.35rem;
        padding-right: 0.35rem;
    }

    .dash-user-hero-sub[b-r3afnaa7pl] {
        text-align: center;
    }
}

/* Empty premium */
.dash-user-hero-empty[b-r3afnaa7pl] {
    width: 100%;
    align-self: stretch;
    margin-top: 0.25rem;
    border-radius: 2rem;
    padding: clamp(1.75rem, 4vw, 2.5rem) clamp(1.25rem, 3vw, 2rem);
    text-align: center;
    box-sizing: border-box;
    background:
        linear-gradient(135deg, rgba(139, 92, 246, 0.12) 0%, rgba(59, 130, 246, 0.08) 45%, rgba(15, 23, 42, 0.04) 100%),
        var(--bs-body-bg, #fff);
    border: 1px solid color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 22%, transparent);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.55) inset,
        0 18px 48px -20px rgba(15, 23, 42, 0.18);
}

.dash-user-hero-empty-icon[b-r3afnaa7pl] {
    width: 4.25rem;
    height: 4.25rem;
    margin: 0 auto 1rem;
    border-radius: 1.15rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, rgba(139, 92, 246, 0.2), rgba(59, 130, 246, 0.12));
    color: var(--ermesio-violet, #8b5cf6);
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
}

.dash-user-hero-empty-icon i[b-r3afnaa7pl] {
    font-size: 2rem;
    line-height: 1;
}

.dash-user-hero-empty-text[b-r3afnaa7pl] {
    margin: 0 auto 1.1rem;
    max-width: 32rem;
    font-size: 1.02rem;
    line-height: 1.55;
    color: var(--bs-secondary-color, #64748b);
}

/* ::deep: l’<a> è emesso da NavLink (figlio). Non usare ::deep(...) con parentesi: il bundler emette selettori CSS non validi. */
.dash-user-hero-empty[b-r3afnaa7pl]  a.dash-user-hero-empty-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    padding: 0.62rem 1.35rem;
    border-radius: 999px;
    font-weight: 600;
    font-size: 0.9375rem;
    letter-spacing: 0.01em;
    line-height: 1.2;
    text-decoration: none;
    color: #fff;
    background: linear-gradient(145deg, #7c3aed 0%, var(--ermesio-violet, #8b5cf6) 42%, #6d28d9 100%);
    border: 1px solid rgba(255, 255, 255, 0.22);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.28) inset,
        0 14px 36px -10px rgba(76, 29, 149, 0.55),
        0 6px 16px rgba(15, 23, 42, 0.12);
    transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}

.dash-user-hero-empty[b-r3afnaa7pl]  a.dash-user-hero-empty-link i {
    font-size: 1.1rem;
    line-height: 1;
}

.dash-user-hero-empty[b-r3afnaa7pl]  a.dash-user-hero-empty-link:hover {
    transform: translateY(-1px);
    filter: brightness(1.06);
    color: #fff;
    text-decoration: none;
}

.dash-user-hero-empty[b-r3afnaa7pl]  a.dash-user-hero-empty-link:focus-visible {
    outline: 0;
    color: #fff;
    text-decoration: none;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.28) inset,
        0 14px 36px -10px rgba(76, 29, 149, 0.55),
        0 0 0 2px var(--bs-body-bg, #fff),
        0 0 0 5px rgba(139, 92, 246, 0.42);
}

@media (prefers-reduced-motion: reduce) {
    .dash-user-hero-empty[b-r3afnaa7pl]  a.dash-user-hero-empty-link {
        transition: none;
    }

    .dash-user-hero-empty[b-r3afnaa7pl]  a.dash-user-hero-empty-link:hover {
        transform: none;
        filter: none;
    }
}

@media (max-width: 767.98px) {
    .dash-user-hero-empty[b-r3afnaa7pl] {
        border-radius: 1.15rem;
    }
}
/* /Components/Shared/GooglePlaceMapPicker.razor.rz.scp.css */
.ermesio-placepicker-search[b-wd0slmlf2y] {
    position: relative;
}

.ermesio-placepicker-suggestions[b-wd0slmlf2y] {
    position: absolute;
    top: calc(100% + 0.35rem);
    left: 0;
    right: 0;
    z-index: 20000;
    border-radius: 0.9rem;
    border: 1px solid rgba(15, 23, 42, 0.12);
    background: rgba(255, 255, 255, 0.98);
    box-shadow:
        0 1px 2px rgba(15, 23, 42, 0.06),
        0 14px 42px rgba(15, 23, 42, 0.14);
    overflow: hidden;
    max-height: 320px;
    overflow-y: auto;
    padding: 0.25rem;
}

.ermesio-placepicker-sugg-item[b-wd0slmlf2y] {
    width: 100%;
    text-align: left;
    border: 0;
    background: transparent;
    padding: 0.55rem 0.75rem;
    border-radius: 0.75rem;
    cursor: pointer;
    display: block;
}

.ermesio-placepicker-sugg-item:hover[b-wd0slmlf2y],
.ermesio-placepicker-sugg-item:focus-visible[b-wd0slmlf2y] {
    background: rgba(139, 92, 246, 0.12);
    outline: 0;
}

.ermesio-placepicker-sugg-main[b-wd0slmlf2y] {
    font-weight: 600;
    color: #0f172a;
    font-size: 0.95rem;
}

.ermesio-placepicker-sugg-secondary[b-wd0slmlf2y] {
    margin-top: 0.1rem;
    font-size: 0.85rem;
    color: rgba(71, 85, 105, 0.95);
}

/* /Components/Shared/ModalAccettaPartecipazioneEvento.razor.rz.scp.css */
/* Stesso aspetto ModalAssociaVideoEvento / ModalNoteVideo (galleria video). */
.ermesio-modal-associa-root[b-k4axwpwcfv] {
    position: fixed;
    inset: 0;
    z-index: 1080;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    box-sizing: border-box;
    pointer-events: none;
}

.ermesio-modal-associa-backdrop[b-k4axwpwcfv] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.4);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    pointer-events: auto;
    animation: fadeIn-b-k4axwpwcfv 0.3s ease-out;
}

.ermesio-modal-associa-shell[b-k4axwpwcfv] {
    position: relative;
    z-index: 1;
    pointer-events: auto;
    width: 100%;
    max-width: 42rem;
    max-height: min(92vh, 50rem);
    display: flex;
    flex-direction: column;
    outline: none;
    animation: slideUp-b-k4axwpwcfv 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.ermesio-modal-associa-card[b-k4axwpwcfv] {
    display: flex;
    flex-direction: column;
    max-height: inherit;
    background: var(--ermesio-glass-bg, rgba(255, 255, 255, 0.9));
    border-radius: var(--ermesio-card-radius, 1.5rem);
    border: 1px solid var(--ermesio-glass-border, rgba(255, 255, 255, 0.5));
    box-shadow: var(--ermesio-glass-shadow);
    overflow: hidden;
}

.ermesio-modal-associa-header[b-k4axwpwcfv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem 1.5rem 1rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    flex-shrink: 0;
}

.ermesio-modal-associa-title-wrap[b-k4axwpwcfv] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.ermesio-modal-associa-title-icon[b-k4axwpwcfv] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 0.75rem;
    background: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 10%, transparent);
    color: var(--ermesio-violet, #8b5cf6);
    font-size: 1.25rem;
}

.ermesio-modal-associa-title[b-k4axwpwcfv] {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0f172a;
}

.ermesio-modal-associa-close[b-k4axwpwcfv] {
    appearance: none;
    border: none;
    background: rgba(15, 23, 42, 0.04);
    color: #64748b;
    font-size: 1.25rem;
    padding: 0.5rem;
    border-radius: 0.75rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.ermesio-modal-associa-close:hover[b-k4axwpwcfv] {
    background: rgba(214, 61, 94, 0.1);
    color: var(--ermesio-danger, #d63d5e);
    transform: rotate(90deg);
}

/* Wizard Steps */
.ermesio-modal-associa-steps-container[b-k4axwpwcfv] {
    padding: 0.75rem 1.5rem;
    background: rgba(15, 23, 42, 0.02);
    border-bottom: 1px solid rgba(15, 23, 42, 0.05);
}

.ermesio-modal-associa-steps[b-k4axwpwcfv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 24rem;
    margin: 0 auto;
    position: relative;
}

.ermesio-modal-associa-steps[b-k4axwpwcfv]::before {
    content: '';
    position: absolute;
    top: 0.75rem;
    left: 1rem;
    right: 1rem;
    height: 2px;
    background: rgba(15, 23, 42, 0.08);
    z-index: 0;
}

.ermesio-modal-associa-step[b-k4axwpwcfv] {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
}

.ermesio-modal-associa-step-dot[b-k4axwpwcfv] {
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    background: #fff;
    border: 2px solid rgba(15, 23, 42, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    font-weight: 700;
    color: #94a3b8;
    transition: all 0.3s ease;
}

.ermesio-modal-associa-step-label[b-k4axwpwcfv] {
    font-size: 0.75rem;
    font-weight: 600;
    color: #94a3b8;
    transition: all 0.3s ease;
}

.ermesio-modal-associa-step.is-active .ermesio-modal-associa-step-dot[b-k4axwpwcfv] {
    background: var(--ermesio-violet, #8b5cf6);
    border-color: var(--ermesio-violet, #8b5cf6);
    color: #fff;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 20%, transparent);
}

.ermesio-modal-associa-step.is-active .ermesio-modal-associa-step-label[b-k4axwpwcfv] {
    color: var(--ermesio-violet, #8b5cf6);
}

.ermesio-modal-associa-step.is-completed .ermesio-modal-associa-step-dot[b-k4axwpwcfv] {
    background: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 15%, #fff);
    border-color: var(--ermesio-violet, #8b5cf6);
    color: var(--ermesio-violet, #8b5cf6);
}

/* Body Content */
.ermesio-modal-associa-body[b-k4axwpwcfv] {
    padding: 1.5rem;
    overflow-y: auto;
    flex: 1 1 auto;
    min-height: 0;
}

.ermesio-modal-associa-step-content[b-k4axwpwcfv] {
    animation: fadeInContent-b-k4axwpwcfv 0.3s ease-out;
}

.ermesio-modal-associa-choice-grid[b-k4axwpwcfv] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

@media (max-width: 520px) {
    .ermesio-modal-associa-choice-grid[b-k4axwpwcfv] {
        grid-template-columns: 1fr;
    }
}

.ermesio-modal-associa-choice[b-k4axwpwcfv] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.75rem;
    padding: 2rem 1.25rem;
    border-radius: 1.25rem;
    border: 2px solid transparent;
    background: #fff;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.04);
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.ermesio-modal-associa-choice:hover[b-k4axwpwcfv] {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
    border-color: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 20%, transparent);
}

.ermesio-modal-associa-choice.is-selected[b-k4axwpwcfv] {
    border-color: var(--ermesio-violet, #8b5cf6);
    background: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 4%, #fff);
    box-shadow: 0 8px 20px color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 12%, transparent);
}

.ermesio-modal-associa-choice-icon-wrap[b-k4axwpwcfv] {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 1rem;
    background: rgba(15, 23, 42, 0.03);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.75rem;
    color: #64748b;
    transition: all 0.3s ease;
}

.ermesio-modal-associa-choice.is-selected .ermesio-modal-associa-choice-icon-wrap[b-k4axwpwcfv] {
    background: var(--ermesio-violet, #8b5cf6);
    color: #fff;
    transform: scale(1.1);
}

.ermesio-modal-associa-choice-title[b-k4axwpwcfv] {
    font-weight: 800;
    font-size: 1.1rem;
    color: #0f172a;
}

.ermesio-modal-associa-choice-sub[b-k4axwpwcfv] {
    font-size: 0.875rem;
    line-height: 1.4;
    color: #64748b;
}

/* Results List */
.ermesio-modal-associa-results[b-k4axwpwcfv] {
    margin-top: 0.5rem;
    max-height: 18rem;
    overflow-y: auto;
    padding-right: 0.5rem;
}

.ermesio-modal-associa-results[b-k4axwpwcfv]::-webkit-scrollbar {
    width: 6px;
}

.ermesio-modal-associa-results[b-k4axwpwcfv]::-webkit-scrollbar-thumb {
    background: rgba(15, 23, 42, 0.1);
    border-radius: 10px;
}

.ermesio-modal-associa-result[b-k4axwpwcfv] {
    display: flex;
    align-items: center;
    gap: 1rem;
    width: 100%;
    text-align: left;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(15, 23, 42, 0.05);
    border-radius: 1rem;
    background: #fff;
    margin-bottom: 0.5rem;
    cursor: pointer;
    transition: all 0.2s ease;
}

.ermesio-modal-associa-result:hover[b-k4axwpwcfv] {
    border-color: var(--ermesio-violet, #8b5cf6);
    background: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 4%, #fff);
}

.ermesio-modal-associa-result.is-selected[b-k4axwpwcfv] {
    background: var(--ermesio-violet, #8b5cf6);
    border-color: var(--ermesio-violet, #8b5cf6);
    color: #fff;
}

.ermesio-modal-associa-result-icon[b-k4axwpwcfv] {
    flex-shrink: 0;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.75rem;
    background: rgba(15, 23, 42, 0.04);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    color: #64748b;
}

.is-selected .ermesio-modal-associa-result-icon[b-k4axwpwcfv] {
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
}

.ermesio-modal-associa-result-content[b-k4axwpwcfv] {
    flex: 1;
    min-width: 0;
}

.ermesio-modal-associa-result-title[b-k4axwpwcfv] {
    display: block;
    font-weight: 700;
    font-size: 0.95rem;
    margin-bottom: 0.1rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ermesio-modal-associa-result-meta[b-k4axwpwcfv] {
    display: block;
    font-size: 0.8rem;
    opacity: 0.8;
}

/* Footer */
.ermesio-modal-associa-footer[b-k4axwpwcfv] {
    padding: 1.25rem 1.5rem 1.5rem;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
    flex-shrink: 0;
}

.ermesio-modal-associa-footer-row[b-k4axwpwcfv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.ermesio-modal-associa-footer-actions[b-k4axwpwcfv] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

/* Animations */
@keyframes fadeIn-b-k4axwpwcfv {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes slideUp-b-k4axwpwcfv {
    from { opacity: 0; transform: translateY(20px) scale(0.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes fadeInContent-b-k4axwpwcfv {
    from { opacity: 0; transform: translateX(10px); }
    to { opacity: 1; transform: translateX(0); }
}

.ermesio-modal-accetta-part-lead[b-k4axwpwcfv] {
    margin: 0 0 1rem;
    font-size: 0.9375rem;
    line-height: 1.5;
    color: #64748b;
}

/* /Components/Shared/ModalAssociaVideoEvento.razor.rz.scp.css */
.ermesio-modal-associa-root[b-ijpjn5o983] {
    position: fixed;
    inset: 0;
    z-index: 1080;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    box-sizing: border-box;
    pointer-events: none;
}

.ermesio-modal-associa-backdrop[b-ijpjn5o983] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.4);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    pointer-events: auto;
    animation: fadeIn-b-ijpjn5o983 0.3s ease-out;
}

.ermesio-modal-associa-shell[b-ijpjn5o983] {
    position: relative;
    z-index: 1;
    pointer-events: auto;
    width: 100%;
    max-width: 42rem;
    max-height: min(92vh, 50rem);
    display: flex;
    flex-direction: column;
    outline: none;
    animation: slideUp-b-ijpjn5o983 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.ermesio-modal-associa-card[b-ijpjn5o983] {
    display: flex;
    flex-direction: column;
    max-height: inherit;
    background: var(--ermesio-glass-bg, rgba(255, 255, 255, 0.9));
    border-radius: var(--ermesio-card-radius, 1.5rem);
    border: 1px solid var(--ermesio-glass-border, rgba(255, 255, 255, 0.5));
    box-shadow: var(--ermesio-glass-shadow);
    overflow: hidden;
}

.ermesio-modal-associa-header[b-ijpjn5o983] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem 1.5rem 1rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    flex-shrink: 0;
}

.ermesio-modal-associa-title-wrap[b-ijpjn5o983] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.ermesio-modal-associa-title-icon[b-ijpjn5o983] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 0.75rem;
    background: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 10%, transparent);
    color: var(--ermesio-violet, #8b5cf6);
    font-size: 1.25rem;
}

.ermesio-modal-associa-title[b-ijpjn5o983] {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0f172a;
}

.ermesio-modal-associa-close[b-ijpjn5o983] {
    appearance: none;
    border: none;
    background: rgba(15, 23, 42, 0.04);
    color: #64748b;
    font-size: 1.25rem;
    padding: 0.5rem;
    border-radius: 0.75rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.ermesio-modal-associa-close:hover[b-ijpjn5o983] {
    background: rgba(214, 61, 94, 0.1);
    color: var(--ermesio-danger, #d63d5e);
    transform: rotate(90deg);
}

/* Wizard Steps */
.ermesio-modal-associa-steps-container[b-ijpjn5o983] {
    padding: 0.75rem 1.5rem;
    background: rgba(15, 23, 42, 0.02);
    border-bottom: 1px solid rgba(15, 23, 42, 0.05);
}

.ermesio-modal-associa-steps[b-ijpjn5o983] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 24rem;
    margin: 0 auto;
    position: relative;
}

.ermesio-modal-associa-steps[b-ijpjn5o983]::before {
    content: '';
    position: absolute;
    top: 0.75rem;
    left: 1rem;
    right: 1rem;
    height: 2px;
    background: rgba(15, 23, 42, 0.08);
    z-index: 0;
}

.ermesio-modal-associa-step[b-ijpjn5o983] {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
}

.ermesio-modal-associa-step-dot[b-ijpjn5o983] {
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    background: #fff;
    border: 2px solid rgba(15, 23, 42, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    font-weight: 700;
    color: #94a3b8;
    transition: all 0.3s ease;
}

.ermesio-modal-associa-step-label[b-ijpjn5o983] {
    font-size: 0.75rem;
    font-weight: 600;
    color: #94a3b8;
    transition: all 0.3s ease;
}

.ermesio-modal-associa-step.is-active .ermesio-modal-associa-step-dot[b-ijpjn5o983] {
    background: var(--ermesio-violet, #8b5cf6);
    border-color: var(--ermesio-violet, #8b5cf6);
    color: #fff;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 20%, transparent);
}

.ermesio-modal-associa-step.is-active .ermesio-modal-associa-step-label[b-ijpjn5o983] {
    color: var(--ermesio-violet, #8b5cf6);
}

.ermesio-modal-associa-step.is-completed .ermesio-modal-associa-step-dot[b-ijpjn5o983] {
    background: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 15%, #fff);
    border-color: var(--ermesio-violet, #8b5cf6);
    color: var(--ermesio-violet, #8b5cf6);
}

/* Body Content */
.ermesio-modal-associa-body[b-ijpjn5o983] {
    padding: 1.5rem;
    overflow-y: auto;
    flex: 1 1 auto;
    min-height: 0;
}

.ermesio-modal-associa-step-content[b-ijpjn5o983] {
    animation: fadeInContent-b-ijpjn5o983 0.3s ease-out;
}

.ermesio-modal-associa-choice-grid[b-ijpjn5o983] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

@media (max-width: 520px) {
    .ermesio-modal-associa-choice-grid[b-ijpjn5o983] {
        grid-template-columns: 1fr;
    }
}

.ermesio-modal-associa-choice[b-ijpjn5o983] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.75rem;
    padding: 2rem 1.25rem;
    border-radius: 1.25rem;
    border: 2px solid transparent;
    background: #fff;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.04);
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.ermesio-modal-associa-choice:hover[b-ijpjn5o983] {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
    border-color: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 20%, transparent);
}

.ermesio-modal-associa-choice.is-selected[b-ijpjn5o983] {
    border-color: var(--ermesio-violet, #8b5cf6);
    background: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 4%, #fff);
    box-shadow: 0 8px 20px color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 12%, transparent);
}

.ermesio-modal-associa-choice-icon-wrap[b-ijpjn5o983] {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 1rem;
    background: rgba(15, 23, 42, 0.03);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.75rem;
    color: #64748b;
    transition: all 0.3s ease;
}

.ermesio-modal-associa-choice.is-selected .ermesio-modal-associa-choice-icon-wrap[b-ijpjn5o983] {
    background: var(--ermesio-violet, #8b5cf6);
    color: #fff;
    transform: scale(1.1);
}

.ermesio-modal-associa-choice-title[b-ijpjn5o983] {
    font-weight: 800;
    font-size: 1.1rem;
    color: #0f172a;
}

.ermesio-modal-associa-choice-sub[b-ijpjn5o983] {
    font-size: 0.875rem;
    line-height: 1.4;
    color: #64748b;
}

/* Results List */
.ermesio-modal-associa-results[b-ijpjn5o983] {
    margin-top: 0.5rem;
    max-height: 18rem;
    overflow-y: auto;
    padding-right: 0.5rem;
}

.ermesio-modal-associa-results[b-ijpjn5o983]::-webkit-scrollbar {
    width: 6px;
}

.ermesio-modal-associa-results[b-ijpjn5o983]::-webkit-scrollbar-thumb {
    background: rgba(15, 23, 42, 0.1);
    border-radius: 10px;
}

.ermesio-modal-associa-result[b-ijpjn5o983] {
    display: flex;
    align-items: center;
    gap: 1rem;
    width: 100%;
    text-align: left;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(15, 23, 42, 0.05);
    border-radius: 1rem;
    background: #fff;
    margin-bottom: 0.5rem;
    cursor: pointer;
    transition: all 0.2s ease;
}

.ermesio-modal-associa-result:hover[b-ijpjn5o983] {
    border-color: var(--ermesio-violet, #8b5cf6);
    background: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 4%, #fff);
}

.ermesio-modal-associa-result.is-selected[b-ijpjn5o983] {
    background: var(--ermesio-violet, #8b5cf6);
    border-color: var(--ermesio-violet, #8b5cf6);
    color: #fff;
}

.ermesio-modal-associa-result-icon[b-ijpjn5o983] {
    flex-shrink: 0;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.75rem;
    background: rgba(15, 23, 42, 0.04);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    color: #64748b;
}

.is-selected .ermesio-modal-associa-result-icon[b-ijpjn5o983] {
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
}

.ermesio-modal-associa-result-content[b-ijpjn5o983] {
    flex: 1;
    min-width: 0;
}

.ermesio-modal-associa-result-title[b-ijpjn5o983] {
    display: block;
    font-weight: 700;
    font-size: 0.95rem;
    margin-bottom: 0.1rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ermesio-modal-associa-result-meta[b-ijpjn5o983] {
    display: block;
    font-size: 0.8rem;
    opacity: 0.8;
}

/* Footer */
.ermesio-modal-associa-footer[b-ijpjn5o983] {
    padding: 1.25rem 1.5rem 1.5rem;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
    flex-shrink: 0;
}

.ermesio-modal-associa-footer-row[b-ijpjn5o983] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.ermesio-modal-associa-footer-actions[b-ijpjn5o983] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

/* Animations */
@keyframes fadeIn-b-ijpjn5o983 {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes slideUp-b-ijpjn5o983 {
    from { opacity: 0; transform: translateY(20px) scale(0.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes fadeInContent-b-ijpjn5o983 {
    from { opacity: 0; transform: translateX(10px); }
    to { opacity: 1; transform: translateX(0); }
}
/* /Components/Shared/ModalChangePassword.razor.rz.scp.css */
.ermesio-modal-pwd-root[b-2etufnk09x] {
    position: fixed;
    inset: 0;
    z-index: 1080;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
    box-sizing: border-box;
    pointer-events: none;
}

.ermesio-modal-pwd-backdrop[b-2etufnk09x] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.48);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    pointer-events: auto;
}

.ermesio-modal-pwd-shell[b-2etufnk09x] {
    position: relative;
    z-index: 1;
    pointer-events: auto;
    width: 100%;
    max-width: 28rem;
    outline: none;
}

.ermesio-modal-pwd-card[b-2etufnk09x] {
    background: var(--bs-body-bg, #fff);
    border-radius: 1.15rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow:
        0 24px 48px rgba(15, 23, 42, 0.12),
        0 0 0 1px rgba(255, 255, 255, 0.06) inset;
    padding: 1.5rem 1.5rem 1.35rem;
}

.ermesio-modal-pwd-icon[b-2etufnk09x] {
    width: 3.25rem;
    height: 3.25rem;
    margin: 0 auto 1rem;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.55rem;
    color: var(--ermesio-violet, #8b5cf6);
    background: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 10%, transparent);
    border: 1px solid color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 22%, transparent);
}

.ermesio-modal-pwd-title[b-2etufnk09x] {
    text-align: center;
    font-size: 1.125rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--bs-emphasis-color, #0f172a);
    margin: 0 0 0.25rem;
    line-height: 1.3;
}

.ermesio-modal-pwd-actions[b-2etufnk09x] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    justify-content: center;
    margin-top: 1.35rem;
}

.ermesio-modal-pwd-btn[b-2etufnk09x] {
    border-radius: 999px;
    padding: 0.55rem 1.15rem;
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.15;
    border-width: 1px;
    transition: transform 0.14s ease, background-color 0.14s ease, border-color 0.14s ease, color 0.14s ease, box-shadow 0.14s ease;
}

.ermesio-modal-pwd-btn:focus-visible[b-2etufnk09x] {
    outline: 0;
    box-shadow: 0 0 0 2px var(--bs-body-bg), 0 0 0 4px rgba(139, 92, 246, 0.28);
}

.ermesio-modal-pwd-btn--ghost[b-2etufnk09x] {
    color: var(--bs-secondary-color, #475569);
    background: transparent;
    border-color: var(--bs-border-color-translucent, rgba(0, 0, 0, 0.12));
}

.ermesio-modal-pwd-btn--ghost:hover[b-2etufnk09x] {
    color: var(--bs-body-color);
    background: rgba(2, 6, 23, 0.05);
    transform: translateY(-1px);
}

.ermesio-modal-pwd-btn--primary[b-2etufnk09x] {
    color: #fff;
    background: var(--ermesio-violet, #8b5cf6);
    border-color: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 70%, #000);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}

.ermesio-modal-pwd-btn--primary:hover[b-2etufnk09x] {
    color: #fff;
    background: #7c3aed;
    border-color: #6d28d9;
    transform: translateY(-1px);
}

@media (max-width: 575.98px) {
    .ermesio-modal-pwd-actions[b-2etufnk09x] {
        flex-direction: column-reverse;
    }

    .ermesio-modal-pwd-btn[b-2etufnk09x] {
        width: 100%;
    }
}

/* /Components/Shared/ModalComunicazione.razor.rz.scp.css */
.ermesio-modal-comm-root[b-qexin1ggbf] {
    position: fixed;
    inset: 0;
    z-index: 1080;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
    box-sizing: border-box;
    pointer-events: none;
}

.ermesio-modal-comm-backdrop[b-qexin1ggbf] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.48);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    pointer-events: auto;
}

.ermesio-modal-comm-shell[b-qexin1ggbf] {
    position: relative;
    z-index: 1;
    pointer-events: auto;
    width: 100%;
    max-width: 34rem;
    outline: none;
}

.ermesio-modal-comm-card[b-qexin1ggbf] {
    background: var(--bs-body-bg, #fff);
    border-radius: 1.15rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow:
        0 24px 48px rgba(15, 23, 42, 0.12),
        0 0 0 1px rgba(255, 255, 255, 0.06) inset;
    padding: 1.5rem 1.5rem 1.35rem;
    text-align: center;
}

.ermesio-modal-comm-icon[b-qexin1ggbf] {
    width: 3.25rem;
    height: 3.25rem;
    margin: 0 auto 1rem;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.55rem;
    color: var(--ermesio-violet, #8b5cf6);
    background: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 12%, white);
    border: 1px solid rgba(139, 92, 246, 0.22);
}

.ermesio-modal-comm-title[b-qexin1ggbf] {
    font-size: 1.125rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--bs-emphasis-color, #0f172a);
    margin: 0 0 0.5rem;
    line-height: 1.3;
}

.ermesio-modal-comm-text[b-qexin1ggbf] {
    font-size: 0.9375rem;
    line-height: 1.5;
    color: var(--bs-secondary-color, #475569);
    margin: 0 0 1.15rem;
}

.ermesio-modal-comm-card #comm-contenuto[b-qexin1ggbf] {
    border-radius: 0.6rem;
    padding: 0.75rem 0.9rem;
    line-height: 1.45;
}

.ermesio-modal-comm-channel-block[b-qexin1ggbf] {
    text-align: start;
}

.ermesio-modal-comm-channel-grid[b-qexin1ggbf] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.ermesio-modal-comm-ch-btn[b-qexin1ggbf] {
    border: 1px solid rgba(15, 23, 42, 0.1);
    background: rgba(2, 6, 23, 0.02);
    border-radius: 1rem;
    padding: 0.75rem 0.5rem;
    min-height: 4rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    cursor: pointer;
    transition: transform 0.14s ease, border-color 0.14s ease, background-color 0.14s ease, box-shadow 0.14s ease;
    user-select: none;
}

.ermesio-modal-comm-ch-btn:hover:not(:disabled)[b-qexin1ggbf] {
    transform: translateY(-1px);
    border-color: rgba(139, 92, 246, 0.32);
    background: rgba(139, 92, 246, 0.06);
}

.ermesio-modal-comm-ch-btn:disabled[b-qexin1ggbf] {
    opacity: 0.65;
    cursor: not-allowed;
    transform: none;
}

.ermesio-modal-comm-ch-ico i[b-qexin1ggbf] {
    font-size: 1.1rem;
    line-height: 1;
    color: rgba(71, 85, 105, 0.95);
}

.ermesio-modal-comm-ch-text[b-qexin1ggbf] {
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(71, 85, 105, 0.95);
    text-align: center;
}

.ermesio-modal-comm-ch-btn.is-active[b-qexin1ggbf] {
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.1);
}

/* Email */
.ermesio-modal-comm-ch-btn--email.is-active[b-qexin1ggbf] {
    background: rgba(59, 130, 246, 0.1);
    border-color: rgba(59, 130, 246, 0.25);
    box-shadow: 0 10px 30px rgba(59, 130, 246, 0.18);
}

.ermesio-modal-comm-ch-btn--email.is-active .ermesio-modal-comm-ch-ico i[b-qexin1ggbf],
.ermesio-modal-comm-ch-btn--email.is-active .ermesio-modal-comm-ch-text[b-qexin1ggbf] {
    color: rgba(29, 78, 216, 1);
}

/* Push */
.ermesio-modal-comm-ch-btn--push.is-active[b-qexin1ggbf] {
    background: rgba(139, 92, 246, 0.12);
    border-color: rgba(139, 92, 246, 0.28);
    box-shadow: 0 10px 30px rgba(139, 92, 246, 0.18);
}

.ermesio-modal-comm-ch-btn--push.is-active .ermesio-modal-comm-ch-ico i[b-qexin1ggbf],
.ermesio-modal-comm-ch-btn--push.is-active .ermesio-modal-comm-ch-text[b-qexin1ggbf] {
    color: rgba(109, 40, 217, 1);
}

/* Wapp */
.ermesio-modal-comm-ch-btn--wapp.is-active[b-qexin1ggbf] {
    background: rgba(34, 197, 94, 0.12);
    border-color: rgba(34, 197, 94, 0.28);
    box-shadow: 0 10px 30px rgba(34, 197, 94, 0.16);
}

.ermesio-modal-comm-ch-btn--wapp.is-active .ermesio-modal-comm-ch-ico i[b-qexin1ggbf],
.ermesio-modal-comm-ch-btn--wapp.is-active .ermesio-modal-comm-ch-text[b-qexin1ggbf] {
    color: rgba(5, 150, 105, 1);
}

@media (max-width: 575.98px) {
    .ermesio-modal-comm-channel-grid[b-qexin1ggbf] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ermesio-modal-comm-channel-grid .ermesio-modal-comm-ch-btn:last-child:nth-child(odd)[b-qexin1ggbf] {
        grid-column: 1 / -1;
    }
}

.ermesio-modal-comm-actions[b-qexin1ggbf] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    justify-content: center;
    margin-top: 1.75rem;
}

.ermesio-modal-comm-btn[b-qexin1ggbf] {
    border-radius: 999px;
    padding: 0.55rem 1.15rem;
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.15;
    border-width: 1px;
    transition: transform 0.14s ease, background-color 0.14s ease, border-color 0.14s ease, color 0.14s ease, box-shadow 0.14s ease;
}

.ermesio-modal-comm-btn:focus-visible[b-qexin1ggbf] {
    outline: 0;
}

.ermesio-modal-comm-btn--ghost:focus-visible[b-qexin1ggbf] {
    box-shadow: 0 0 0 2px var(--bs-body-bg), 0 0 0 4px rgba(139, 92, 246, 0.28);
}

.ermesio-modal-comm-btn--primary:focus-visible[b-qexin1ggbf] {
    box-shadow: 0 0 0 2px var(--bs-body-bg), 0 0 0 4px rgba(139, 92, 246, 0.35);
}

.ermesio-modal-comm-btn--ghost[b-qexin1ggbf] {
    color: var(--bs-secondary-color, #475569);
    background: transparent;
    border-color: var(--bs-border-color-translucent, rgba(0, 0, 0, 0.12));
}

.ermesio-modal-comm-btn--ghost:hover[b-qexin1ggbf] {
    color: var(--bs-body-color);
    background: rgba(2, 6, 23, 0.05);
    transform: translateY(-1px);
}

.ermesio-modal-comm-btn--primary[b-qexin1ggbf] {
    color: #fff;
    background: var(--ermesio-violet, #8b5cf6);
    border-color: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 70%, #000);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}

.ermesio-modal-comm-btn--primary:hover[b-qexin1ggbf] {
    color: #fff;
    background: #7c3aed;
    border-color: #6d28d9;
    transform: translateY(-1px);
}

@media (max-width: 575.98px) {
    .ermesio-modal-comm-actions[b-qexin1ggbf] {
        flex-direction: column-reverse;
    }

    .ermesio-modal-comm-btn[b-qexin1ggbf] {
        width: 100%;
    }
}

/* /Components/Shared/ModalDelete.razor.rz.scp.css */
.ermesio-modal-delete-root[b-8k0qlfnxlt] {
    position: fixed;
    inset: 0;
    z-index: 1080;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
    box-sizing: border-box;
    pointer-events: none;
}

.ermesio-modal-delete-backdrop[b-8k0qlfnxlt] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.48);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    pointer-events: auto;
}

.ermesio-modal-delete-shell[b-8k0qlfnxlt] {
    position: relative;
    z-index: 1;
    pointer-events: auto;
    width: 100%;
    max-width: 26rem;
    outline: none;
}

.ermesio-modal-delete-card[b-8k0qlfnxlt] {
    background: var(--bs-body-bg, #fff);
    border-radius: 1.15rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow:
        0 24px 48px rgba(15, 23, 42, 0.12),
        0 0 0 1px rgba(255, 255, 255, 0.06) inset;
    padding: 1.5rem 1.5rem 1.35rem;
    text-align: center;
}

.ermesio-modal-delete-icon[b-8k0qlfnxlt] {
    width: 3.25rem;
    height: 3.25rem;
    margin: 0 auto 1rem;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.55rem;
    color: var(--ermesio-danger, #d63d5e);
    background: var(--ermesio-danger-subtle, rgba(214, 61, 94, 0.1));
    border: 1px solid var(--ermesio-danger-border, rgba(214, 61, 94, 0.32));
}

.ermesio-modal-delete-title[b-8k0qlfnxlt] {
    font-size: 1.125rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--bs-emphasis-color, #0f172a);
    margin: 0 0 0.5rem;
    line-height: 1.3;
}

.ermesio-modal-delete-text[b-8k0qlfnxlt] {
    font-size: 0.9375rem;
    line-height: 1.5;
    color: var(--bs-secondary-color, #475569);
    margin: 0 0 1.35rem;
}

.ermesio-modal-delete-actions[b-8k0qlfnxlt] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    justify-content: center;
}

.ermesio-modal-delete-btn[b-8k0qlfnxlt] {
    border-radius: 999px;
    padding: 0.55rem 1.15rem;
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.15;
    border-width: 1px;
    transition: transform 0.14s ease, background-color 0.14s ease, border-color 0.14s ease, color 0.14s ease, box-shadow 0.14s ease;
}

.ermesio-modal-delete-btn:focus-visible[b-8k0qlfnxlt] {
    outline: 0;
}

.ermesio-modal-delete-btn--ghost:focus-visible[b-8k0qlfnxlt] {
    box-shadow: 0 0 0 2px var(--bs-body-bg), 0 0 0 4px rgba(139, 92, 246, 0.28);
}

.ermesio-modal-delete-btn--danger:focus-visible[b-8k0qlfnxlt] {
    box-shadow:
        0 0 0 2px var(--bs-body-bg),
        0 0 0 4px rgba(214, 61, 94, 0.35);
}

.ermesio-modal-delete-btn--ghost[b-8k0qlfnxlt] {
    color: var(--bs-secondary-color, #475569);
    background: transparent;
    border-color: var(--bs-border-color-translucent, rgba(0, 0, 0, 0.12));
}

.ermesio-modal-delete-btn--ghost:hover[b-8k0qlfnxlt] {
    color: var(--bs-body-color);
    background: rgba(2, 6, 23, 0.05);
    transform: translateY(-1px);
}

.ermesio-modal-delete-btn--danger[b-8k0qlfnxlt] {
    color: #fff;
    background: var(--ermesio-danger, #d63d5e);
    border-color: color-mix(in srgb, var(--ermesio-danger, #d63d5e) 78%, #1c1917);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}

.ermesio-modal-delete-btn--danger:hover[b-8k0qlfnxlt] {
    color: #fff;
    background: var(--ermesio-danger-hover, #c23452);
    border-color: color-mix(in srgb, var(--ermesio-danger-hover, #c23452) 75%, #0f172a);
    transform: translateY(-1px);
}

@media (max-width: 575.98px) {
    .ermesio-modal-delete-actions[b-8k0qlfnxlt] {
        flex-direction: column-reverse;
    }

    .ermesio-modal-delete-btn[b-8k0qlfnxlt] {
        width: 100%;
    }
}
/* /Components/Shared/ModalDisdettaTardivaConfirm.razor.rz.scp.css */
.ermesio-modal-disdetta-root[b-ymm4arxo9p] {
    position: fixed;
    inset: 0;
    z-index: 1090;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
    box-sizing: border-box;
    pointer-events: none;
}

.ermesio-modal-disdetta-backdrop[b-ymm4arxo9p] {
    position: fixed;
    inset: 0;
    background: rgba(2, 6, 23, 0.55);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    pointer-events: auto;
}

.ermesio-modal-disdetta-shell[b-ymm4arxo9p] {
    position: relative;
    z-index: 1;
    pointer-events: auto;
    width: 100%;
    max-width: 28rem;
    outline: none;
}

.ermesio-modal-disdetta-card[b-ymm4arxo9p] {
    position: relative;
    background: var(--bs-body-bg, #fff);
    border-radius: 1.25rem;
    border: 1px solid rgba(15, 23, 42, 0.1);
    box-shadow:
        0 28px 64px rgba(15, 23, 42, 0.18),
        0 0 0 1px rgba(255, 255, 255, 0.08) inset,
        0 1px 0 rgba(255, 255, 255, 0.45) inset;
    padding: 1.65rem 1.6rem 1.45rem;
    text-align: center;
    overflow: hidden;
}

.ermesio-modal-disdetta-accent[b-ymm4arxo9p] {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 4px;
    background: linear-gradient(
        90deg,
        #c084fc 0%,
        #818cf8 35%,
        #38bdf8 100%);
    opacity: 0.95;
}

.ermesio-modal-disdetta-icon[b-ymm4arxo9p] {
    width: 3.5rem;
    height: 3.5rem;
    margin: 0.35rem auto 1.05rem;
    border-radius: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.65rem;
    color: #b45309;
    background: linear-gradient(145deg, rgba(251, 191, 36, 0.22), rgba(245, 158, 11, 0.08));
    border: 1px solid rgba(217, 119, 6, 0.35);
    box-shadow: 0 4px 14px rgba(245, 158, 11, 0.12);
}

.ermesio-modal-disdetta-title[b-ymm4arxo9p] {
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: -0.025em;
    color: var(--bs-emphasis-color, #0f172a);
    margin: 0 0 1rem;
    line-height: 1.25;
}

.ermesio-modal-disdetta-body[b-ymm4arxo9p] {
    text-align: left;
    margin: 0 0 1.4rem;
}

.ermesio-modal-disdetta-lead[b-ymm4arxo9p],
.ermesio-modal-disdetta-confirm-ask[b-ymm4arxo9p] {
    font-size: 0.9375rem;
    line-height: 1.55;
    color: var(--bs-secondary-color, #475569);
    margin: 0;
}

.ermesio-modal-disdetta-note[b-ymm4arxo9p] {
    margin: 0.85rem 0;
    padding: 0.85rem 1rem;
    font-size: 0.9rem;
    line-height: 1.55;
    color: var(--bs-body-color, #1e293b);
    background: rgba(99, 102, 241, 0.06);
    border: 1px solid rgba(99, 102, 241, 0.18);
    border-radius: 0.75rem;
    white-space: pre-wrap;
    word-break: break-word;
}

.ermesio-modal-disdetta-confirm-ask[b-ymm4arxo9p] {
    margin-top: 0.85rem;
    font-weight: 600;
    color: var(--bs-emphasis-color, #0f172a);
}

.ermesio-modal-disdetta-actions[b-ymm4arxo9p] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    justify-content: center;
}

.ermesio-modal-disdetta-btn[b-ymm4arxo9p] {
    border-radius: 999px;
    padding: 0.58rem 1.2rem;
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.15;
    border-width: 1px;
    transition: transform 0.14s ease, background-color 0.14s ease, border-color 0.14s ease, color 0.14s ease, box-shadow 0.14s ease;
}

.ermesio-modal-disdetta-btn:focus-visible[b-ymm4arxo9p] {
    outline: 0;
}

.ermesio-modal-disdetta-btn--ghost:focus-visible[b-ymm4arxo9p] {
    box-shadow: 0 0 0 2px var(--bs-body-bg), 0 0 0 4px rgba(139, 92, 246, 0.28);
}

.ermesio-modal-disdetta-btn--confirm:focus-visible[b-ymm4arxo9p] {
    box-shadow:
        0 0 0 2px var(--bs-body-bg),
        0 0 0 4px rgba(217, 119, 6, 0.4);
}

.ermesio-modal-disdetta-btn--ghost[b-ymm4arxo9p] {
    color: var(--bs-secondary-color, #475569);
    background: transparent;
    border-color: var(--bs-border-color-translucent, rgba(0, 0, 0, 0.12));
}

.ermesio-modal-disdetta-btn--ghost:hover[b-ymm4arxo9p] {
    color: var(--bs-body-color);
    background: rgba(2, 6, 23, 0.05);
    transform: translateY(-1px);
}

.ermesio-modal-disdetta-btn--confirm[b-ymm4arxo9p] {
    color: #fff;
    background: linear-gradient(135deg, #ea580c 0%, #c2410c 100%);
    border-color: color-mix(in srgb, #c2410c 80%, #1c1917);
    box-shadow: 0 2px 8px rgba(234, 88, 12, 0.25);
}

.ermesio-modal-disdetta-btn--confirm:hover[b-ymm4arxo9p] {
    color: #fff;
    filter: brightness(1.05);
    transform: translateY(-1px);
}

html[data-bs-theme="dark"] .ermesio-modal-disdetta-note[b-ymm4arxo9p] {
    background: rgba(129, 140, 248, 0.1);
    border-color: rgba(165, 180, 252, 0.22);
    color: #e2e8f0;
}

@media (max-width: 575.98px) {
    .ermesio-modal-disdetta-actions[b-ymm4arxo9p] {
        flex-direction: column-reverse;
    }

    .ermesio-modal-disdetta-btn[b-ymm4arxo9p] {
        width: 100%;
    }
}
/* /Components/Shared/ModalEventoEditor.razor.rz.scp.css */
/* Stili tab modale evento (galleria/allegati/link) - estratti da Calendario.razor.css */

.modal-body #evento-descrizione[b-9hycl9247c],
.modal-body #evento-note-disdetta[b-9hycl9247c],
.modal-body #evento-links[b-9hycl9247c] {
    border-radius: 0.6rem;
}

.ermesio-required-marker[b-9hycl9247c] {
    color: #7c3aed;
    font-weight: 800;
}

/* --- Galleria evento: dropzone moderna --- */
.cal-gallery-input[b-9hycl9247c] {
    display: none;
}

.cal-gallery-dropzone[b-9hycl9247c] {
    display: block;
    width: 100%;
    border-radius: 1.1rem;
    padding: 0.95rem 1rem;
    border: 1px dashed rgba(124, 58, 237, 0.38);
    background: color-mix(in srgb, #ede9fe 28%, #fff);
    box-shadow: 0 1px 2px rgba(91, 33, 182, 0.06);
    cursor: pointer;
    user-select: none;
    transition: background-color 0.14s ease, border-color 0.14s ease, box-shadow 0.14s ease, transform 0.14s ease;
}

.cal-gallery-dropzone:hover[b-9hycl9247c] {
    background: color-mix(in srgb, #ede9fe 38%, #fff);
    border-color: rgba(124, 58, 237, 0.52);
    transform: translateY(-1px);
}

.cal-gallery-dropzone.is-dragover[b-9hycl9247c] {
    background: color-mix(in srgb, #ede9fe 55%, #fff);
    border-color: rgba(124, 58, 237, 0.75);
    box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.16), 0 10px 26px rgba(15, 23, 42, 0.10);
    transform: translateY(-1px);
}

.cal-gallery-dropzone.is-disabled[b-9hycl9247c] {
    opacity: 0.65;
    cursor: not-allowed;
    transform: none;
}

.cal-gallery-dropzone-inner[b-9hycl9247c] {
    display: flex;
    align-items: center;
    gap: 0.85rem;
}

.cal-gallery-dropzone-icon[b-9hycl9247c] {
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 0.95rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(124, 58, 237, 0.10);
    color: #5b21b6;
    flex: 0 0 auto;
    font-size: 1.25rem;
}

.cal-gallery-dropzone-title[b-9hycl9247c] {
    font-weight: 650;
    color: #0f172a;
    line-height: 1.2;
}

.cal-gallery-dropzone-sub[b-9hycl9247c] {
    margin-top: 0.15rem;
    color: rgba(71, 85, 105, 0.95);
    font-size: 0.9rem;
    line-height: 1.2;
}

.cal-gallery-dropzone-hint[b-9hycl9247c] {
    margin-top: 0.6rem;
    font-size: 0.8rem;
    color: rgba(71, 85, 105, 0.9);
}

.cal-gallery-remove[b-9hycl9247c] {
    width: 1.6rem;
    height: 1.6rem;
    padding: 0;
    border: 0;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.72);
    -webkit-backdrop-filter: blur(10px) saturate(1.35);
    backdrop-filter: blur(10px) saturate(1.35);
    color: rgba(15, 23, 42, 0.58);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.14);
    transition: background-color 0.14s ease, color 0.14s ease, transform 0.14s ease, box-shadow 0.14s ease;
}

.cal-gallery-remove:hover[b-9hycl9247c] {
    background: rgba(255, 255, 255, 0.92);
    color: rgba(15, 23, 42, 0.82);
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.18);
}

.cal-gallery-remove:active[b-9hycl9247c] {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.18);
}

.cal-gallery-remove:focus-visible[b-9hycl9247c] {
    outline: 0;
    box-shadow:
        0 0 0 2px rgba(255, 255, 255, 0.85),
        0 0 0 4px rgba(124, 58, 237, 0.28),
        0 6px 16px rgba(15, 23, 42, 0.18);
}

.cal-gallery-thumb.is-dragging[b-9hycl9247c] {
    opacity: 0.55;
    transform: scale(0.98);
}

.cal-gallery-thumb[b-9hycl9247c] {
    cursor: grab;
}

.cal-gallery-thumb:active[b-9hycl9247c] {
    cursor: grabbing;
}

.cal-gallery-thumbs[b-9hycl9247c] {
    display: grid;
    grid-template-columns: repeat(auto-fill, 120px);
    gap: 0.5rem;
    align-items: start;
}

.cal-gallery-placeholder[b-9hycl9247c] {
    border: 2px dashed rgba(124, 58, 237, 0.45);
    background: rgba(124, 58, 237, 0.06);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.7);
}

.cal-gallery-ghost[b-9hycl9247c] {
    opacity: 0.35;
}

.cal-gallery-chosen[b-9hycl9247c] {
    box-shadow: 0 0 0 2px rgba(124, 58, 237, 0.32);
}

.cal-gallery-drag[b-9hycl9247c] {
    opacity: 0.85;
}

/* Pulsante elimina allegati allineato a btn-icon-card di Utenti */
.cal-btn-icon-delete[b-9hycl9247c] {
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid rgba(231, 76, 60, 0.12);
    line-height: 1;
    text-decoration: none;
    transition: transform 0.16s ease, background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease;
    transform-origin: center;
    color: #f0a09a;
    background-color: rgba(231, 76, 60, 0.06);
}

.cal-btn-icon-delete:not(:disabled):hover[b-9hycl9247c] {
    transform: scale(1.08);
    color: #e88880;
    background-color: rgba(231, 76, 60, 0.11);
    border-color: rgba(231, 76, 60, 0.22);
}

.cal-btn-icon-delete:focus-visible[b-9hycl9247c] {
    outline: 0;
    box-shadow: 0 0 0 2px var(--bs-body-bg), 0 0 0 4px rgba(231, 76, 60, 0.28);
}

.cal-btn-icon-delete:disabled[b-9hycl9247c] {
    opacity: 0.55;
    transform: none;
    cursor: not-allowed;
    pointer-events: none;
}

/* /Components/Shared/ModalMessaggioOutboxView.razor.rz.scp.css */
.ermesio-modal-outbox-root[b-yfke9eovwr] {
    position: fixed;
    inset: 0;
    z-index: 1090;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
    box-sizing: border-box;
    pointer-events: none;
}

.ermesio-modal-outbox-backdrop[b-yfke9eovwr] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.52);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    pointer-events: auto;
}

.ermesio-modal-outbox-shell[b-yfke9eovwr] {
    position: relative;
    z-index: 1;
    pointer-events: auto;
    width: 100%;
    max-width: 46rem;
    outline: none;
}

.ermesio-modal-outbox-card[b-yfke9eovwr] {
    position: relative;
    background: var(--bs-body-bg, #fff);
    border-radius: 1.25rem;
    border: 1px solid rgba(15, 23, 42, 0.07);
    box-shadow:
        0 28px 56px rgba(15, 23, 42, 0.14),
        0 0 0 1px rgba(255, 255, 255, 0.08) inset;
    padding: 0;
    overflow: hidden;
}

.ermesio-modal-outbox-accent[b-yfke9eovwr] {
    height: 4px;
    width: 100%;
    background: linear-gradient(
        90deg,
        #6366f1 0%,
        var(--ermesio-violet, #8b5cf6) 38%,
        #c026d3 100%
    );
}

.ermesio-modal-outbox-head[b-yfke9eovwr] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem 1.25rem;
    padding: 1.35rem 1.35rem 0.85rem;
}

.ermesio-modal-outbox-head-left[b-yfke9eovwr] {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    min-width: 0;
    flex: 1 1 auto;
}

.ermesio-modal-outbox-icon[b-yfke9eovwr] {
    width: 3.5rem;
    height: 3.5rem;
    flex: 0 0 auto;
    border-radius: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.65rem;
    color: #fff;
    background: linear-gradient(145deg, #6366f1 0%, var(--ermesio-violet, #8b5cf6) 55%, #7c3aed 100%);
    box-shadow:
        0 12px 28px rgba(99, 102, 241, 0.35),
        inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.ermesio-modal-outbox-head-text[b-yfke9eovwr] {
    min-width: 0;
    flex: 1 1 auto;
}

.ermesio-modal-outbox-title[b-yfke9eovwr] {
    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: -0.025em;
    margin: 0 0 0.45rem;
    color: var(--bs-emphasis-color, #0f172a);
    line-height: 1.25;
}

.ermesio-modal-outbox-channel-row[b-yfke9eovwr] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem 0.85rem;
}

.ermesio-modal-outbox-channel-pair[b-yfke9eovwr] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

.ermesio-modal-outbox-channel-name[b-yfke9eovwr] {
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: -0.01em;
}

.ermesio-modal-outbox-channel-name--email[b-yfke9eovwr] {
    color: rgba(29, 78, 216, 1);
}

.ermesio-modal-outbox-channel-name--push[b-yfke9eovwr] {
    color: rgba(109, 40, 217, 1);
}

.ermesio-modal-outbox-channel-name--wapp[b-yfke9eovwr] {
    color: rgba(5, 150, 105, 1);
}

.ermesio-modal-outbox-meta[b-yfke9eovwr] {
    line-height: 1.45;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.ermesio-modal-outbox-meta--trailing[b-yfke9eovwr] {
    flex: 0 1 auto;
    max-width: min(22rem, 46%);
    align-items: flex-end;
    text-align: right;
}

.ermesio-modal-outbox-meta--trailing .ermesio-modal-outbox-meta-line[b-yfke9eovwr] {
    justify-content: flex-end;
    width: 100%;
}

.ermesio-modal-outbox-meta-line[b-yfke9eovwr] {
    display: flex;
    align-items: flex-start;
    gap: 0.15rem;
}

.ermesio-modal-outbox-meta-line i[b-yfke9eovwr] {
    flex-shrink: 0;
    margin-top: 0.12rem;
    opacity: 0.88;
}

.ermesio-modal-outbox-uninvio[b-yfke9eovwr] {
    font-size: 0.9rem;
    line-height: 1.45;
    max-width: 22rem;
}

.ermesio-modal-outbox-stats[b-yfke9eovwr] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
    padding: 0 1.35rem 1rem;
}

.ermesio-modal-outbox-stat[b-yfke9eovwr] {
    background: rgba(2, 6, 23, 0.03);
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: 0.85rem;
    padding: 0.65rem 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.ermesio-modal-outbox-stat-label[b-yfke9eovwr] {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--bs-secondary-color, #64748b);
}

.ermesio-modal-outbox-stat-value[b-yfke9eovwr] {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--bs-emphasis-color, #0f172a);
    letter-spacing: -0.02em;
}

.ermesio-modal-outbox-stat-tipo[b-yfke9eovwr] {
    font-size: 1.05rem;
    font-weight: 700;
}

.ermesio-modal-outbox-evento-wrap[b-yfke9eovwr] {
    margin: 0 1.35rem 0.85rem;
    padding: 1rem 1.05rem;
    border-radius: 0.9rem;
    background: rgba(248, 250, 252, 0.85);
    border: 1px solid rgba(15, 23, 42, 0.06);
}

.ermesio-modal-outbox-evento-wrap .ermesio-modal-outbox-body-label[b-yfke9eovwr] {
    margin-bottom: 0.55rem;
}

.ermesio-modal-outbox-evento-card[b-yfke9eovwr] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.ermesio-modal-outbox-evento-title[b-yfke9eovwr] {
    font-weight: 700;
    font-size: 1rem;
    color: var(--bs-emphasis-color, #0f172a);
    line-height: 1.35;
}

.ermesio-modal-outbox-evento-line[b-yfke9eovwr] {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    font-size: 0.875rem;
    line-height: 1.4;
    color: var(--bs-secondary-color, #64748b);
}

.ermesio-modal-outbox-evento-line i[b-yfke9eovwr] {
    flex-shrink: 0;
    margin-top: 0.12rem;
}

.ermesio-modal-outbox-body[b-yfke9eovwr] {
    margin: 0 1.35rem 1rem;
    padding: 1rem 1.05rem;
    border-radius: 0.9rem;
    background: rgba(248, 250, 252, 0.85);
    border: 1px solid rgba(15, 23, 42, 0.06);
}

.ermesio-modal-outbox-body-label[b-yfke9eovwr] {
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--bs-secondary-color, #64748b);
    margin-bottom: 0.5rem;
}

.ermesio-modal-outbox-content[b-yfke9eovwr] {
    line-height: 1.6;
    color: var(--bs-body-color, #0f172a);
    max-height: min(42vh, 22rem);
    overflow: auto;
    word-break: break-word;
}

.ermesio-modal-outbox-content :first-child[b-yfke9eovwr] {
    margin-top: 0;
}

.ermesio-modal-outbox-content :last-child[b-yfke9eovwr] {
    margin-bottom: 0;
}

.ermesio-modal-outbox-actions[b-yfke9eovwr] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: 0.5rem;
    padding: 0 1.35rem 1.25rem;
}

.ermesio-modal-outbox-btn[b-yfke9eovwr] {
    border-radius: 999px;
    padding: 0.55rem 1.25rem;
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.15;
    border-width: 1px;
}

.ermesio-modal-outbox-btn--primary[b-yfke9eovwr] {
    color: #fff;
    background: linear-gradient(135deg, #6366f1 0%, var(--ermesio-violet, #8b5cf6) 100%);
    border-color: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 72%, #1e1b4b);
    box-shadow: 0 4px 14px rgba(99, 102, 241, 0.28);
}

.ermesio-modal-outbox-btn--primary:hover[b-yfke9eovwr] {
    color: #fff;
    filter: brightness(1.05);
}

.ermesio-modal-outbox-btn--secondary[b-yfke9eovwr] {
    color: var(--ermesio-violet, #8b5cf6);
    background: #fff;
    border-color: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 42%, rgba(15, 23, 42, 0.12));
    text-decoration: none;
    display: inline-flex;
    align-items: center;
}

.ermesio-modal-outbox-btn--secondary:hover[b-yfke9eovwr] {
    color: #fff;
    background: linear-gradient(135deg, #6366f1 0%, var(--ermesio-violet, #8b5cf6) 100%);
    border-color: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 72%, #1e1b4b);
}

@media (max-width: 575.98px) {
    .ermesio-modal-outbox-stats[b-yfke9eovwr] {
        grid-template-columns: 1fr;
    }

    .ermesio-modal-outbox-head[b-yfke9eovwr] {
        flex-direction: column;
        align-items: stretch;
    }

    .ermesio-modal-outbox-meta--trailing[b-yfke9eovwr] {
        max-width: none;
        width: 100%;
        align-items: flex-start;
        text-align: left;
        margin-top: 0.35rem;
        padding-top: 0.75rem;
        border-top: 1px solid rgba(15, 23, 42, 0.06);
    }

    .ermesio-modal-outbox-meta--trailing .ermesio-modal-outbox-meta-line[b-yfke9eovwr] {
        justify-content: flex-start;
    }

    .ermesio-modal-outbox-uninvio[b-yfke9eovwr] {
        max-width: none;
    }
}
/* /Components/Shared/ModalMessaggioView.razor.rz.scp.css */
/* Stessa grafica premium di ModalMessaggioOutboxView (classi dedicate per scoped CSS). */
.ermesio-modal-inbox-root[b-cg6q95r5ae] {
    position: fixed;
    inset: 0;
    z-index: 1090;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
    box-sizing: border-box;
    pointer-events: none;
}

.ermesio-modal-inbox-backdrop[b-cg6q95r5ae] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.52);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    pointer-events: auto;
}

.ermesio-modal-inbox-shell[b-cg6q95r5ae] {
    position: relative;
    z-index: 1;
    pointer-events: auto;
    width: 100%;
    max-width: 46rem;
    outline: none;
}

.ermesio-modal-inbox-card[b-cg6q95r5ae] {
    position: relative;
    background: var(--bs-body-bg, #fff);
    border-radius: 1.25rem;
    border: 1px solid rgba(15, 23, 42, 0.07);
    box-shadow:
        0 28px 56px rgba(15, 23, 42, 0.14),
        0 0 0 1px rgba(255, 255, 255, 0.08) inset;
    padding: 0;
    overflow: hidden;
}

.ermesio-modal-inbox-accent[b-cg6q95r5ae] {
    height: 4px;
    width: 100%;
    background: linear-gradient(
        90deg,
        #6366f1 0%,
        var(--ermesio-violet, #8b5cf6) 38%,
        #c026d3 100%
    );
}

.ermesio-modal-inbox-head[b-cg6q95r5ae] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem 1.25rem;
    padding: 1.35rem 1.35rem 0.85rem;
}

.ermesio-modal-inbox-head-left[b-cg6q95r5ae] {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    min-width: 0;
    flex: 1 1 auto;
}

.ermesio-modal-inbox-icon[b-cg6q95r5ae] {
    width: 3.5rem;
    height: 3.5rem;
    flex: 0 0 auto;
    border-radius: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.65rem;
    color: #fff;
    background: linear-gradient(145deg, #6366f1 0%, var(--ermesio-violet, #8b5cf6) 55%, #7c3aed 100%);
    box-shadow:
        0 12px 28px rgba(99, 102, 241, 0.35),
        inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.ermesio-modal-inbox-head-text[b-cg6q95r5ae] {
    min-width: 0;
    flex: 1 1 auto;
}

.ermesio-modal-inbox-title[b-cg6q95r5ae] {
    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: -0.025em;
    margin: 0 0 0.45rem;
    color: var(--bs-emphasis-color, #0f172a);
    line-height: 1.25;
}

.ermesio-modal-inbox-channel-row[b-cg6q95r5ae] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
}

.ermesio-modal-inbox-channel-name[b-cg6q95r5ae] {
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: -0.01em;
}

.ermesio-modal-inbox-channel-name--email[b-cg6q95r5ae] {
    color: rgba(29, 78, 216, 1);
}

.ermesio-modal-inbox-channel-name--push[b-cg6q95r5ae] {
    color: rgba(109, 40, 217, 1);
}

.ermesio-modal-inbox-channel-name--wapp[b-cg6q95r5ae] {
    color: rgba(5, 150, 105, 1);
}

.ermesio-modal-inbox-meta[b-cg6q95r5ae] {
    line-height: 1.45;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.ermesio-modal-inbox-meta--trailing[b-cg6q95r5ae] {
    flex: 0 1 auto;
    max-width: min(22rem, 46%);
    align-items: flex-end;
    text-align: right;
}

.ermesio-modal-inbox-meta--trailing .ermesio-modal-inbox-meta-line[b-cg6q95r5ae] {
    justify-content: flex-end;
    width: 100%;
}

.ermesio-modal-inbox-meta-line[b-cg6q95r5ae] {
    display: flex;
    align-items: flex-start;
    gap: 0.15rem;
}

.ermesio-modal-inbox-meta-line i[b-cg6q95r5ae] {
    flex-shrink: 0;
    margin-top: 0.12rem;
    opacity: 0.88;
}

.ermesio-modal-inbox-meta-line--muted[b-cg6q95r5ae] {
    color: var(--bs-secondary-color, #64748b);
}

.ermesio-modal-inbox-stats[b-cg6q95r5ae] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
    padding: 0 1.35rem 1rem;
}

.ermesio-modal-inbox-stat[b-cg6q95r5ae] {
    background: rgba(2, 6, 23, 0.03);
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: 0.85rem;
    padding: 0.65rem 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.ermesio-modal-inbox-stat-label[b-cg6q95r5ae] {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--bs-secondary-color, #64748b);
}

.ermesio-modal-inbox-stat-value[b-cg6q95r5ae] {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--bs-emphasis-color, #0f172a);
    letter-spacing: -0.02em;
    word-break: break-word;
}

.ermesio-modal-inbox-stat-compact[b-cg6q95r5ae] {
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.3;
}

.ermesio-modal-inbox-stat-tipo[b-cg6q95r5ae] {
    font-size: 1.05rem;
    font-weight: 700;
}

.ermesio-modal-inbox-evento-wrap[b-cg6q95r5ae] {
    margin: 0 1.35rem 0.85rem;
    padding: 1rem 1.05rem;
    border-radius: 0.9rem;
    background: rgba(248, 250, 252, 0.85);
    border: 1px solid rgba(15, 23, 42, 0.06);
}

.ermesio-modal-inbox-evento-wrap .ermesio-modal-inbox-body-label[b-cg6q95r5ae] {
    margin-bottom: 0.55rem;
}

.ermesio-modal-inbox-evento-card[b-cg6q95r5ae] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.ermesio-modal-inbox-evento-title[b-cg6q95r5ae] {
    font-weight: 700;
    font-size: 1rem;
    color: var(--bs-emphasis-color, #0f172a);
    line-height: 1.35;
}

.ermesio-modal-inbox-evento-line[b-cg6q95r5ae] {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    font-size: 0.875rem;
    line-height: 1.4;
    color: var(--bs-secondary-color, #64748b);
}

.ermesio-modal-inbox-evento-line i[b-cg6q95r5ae] {
    flex-shrink: 0;
    margin-top: 0.12rem;
}

.ermesio-modal-inbox-body[b-cg6q95r5ae] {
    margin: 0 1.35rem 1rem;
    padding: 1rem 1.05rem;
    border-radius: 0.9rem;
    background: rgba(248, 250, 252, 0.85);
    border: 1px solid rgba(15, 23, 42, 0.06);
}

.ermesio-modal-inbox-body-label[b-cg6q95r5ae] {
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--bs-secondary-color, #64748b);
    margin-bottom: 0.5rem;
}

.ermesio-modal-inbox-content[b-cg6q95r5ae] {
    line-height: 1.6;
    color: var(--bs-body-color, #0f172a);
    max-height: min(42vh, 22rem);
    overflow: auto;
    word-break: break-word;
}

.ermesio-modal-inbox-content :first-child[b-cg6q95r5ae] {
    margin-top: 0;
}

.ermesio-modal-inbox-content :last-child[b-cg6q95r5ae] {
    margin-bottom: 0;
}

.ermesio-modal-inbox-actions[b-cg6q95r5ae] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: 0.5rem;
    padding: 0 1.35rem 1.25rem;
}

.ermesio-modal-inbox-btn[b-cg6q95r5ae] {
    border-radius: 999px;
    padding: 0.55rem 1.25rem;
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.15;
    border-width: 1px;
}

.ermesio-modal-inbox-btn--primary[b-cg6q95r5ae] {
    color: #fff;
    background: linear-gradient(135deg, #6366f1 0%, var(--ermesio-violet, #8b5cf6) 100%);
    border-color: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 72%, #1e1b4b);
    box-shadow: 0 4px 14px rgba(99, 102, 241, 0.28);
}

.ermesio-modal-inbox-btn--primary:hover[b-cg6q95r5ae] {
    color: #fff;
    filter: brightness(1.05);
}

.ermesio-modal-inbox-btn--secondary[b-cg6q95r5ae] {
    color: var(--ermesio-violet, #8b5cf6);
    background: #fff;
    border-color: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 42%, rgba(15, 23, 42, 0.12));
    text-decoration: none;
    display: inline-flex;
    align-items: center;
}

.ermesio-modal-inbox-btn--secondary:hover[b-cg6q95r5ae] {
    color: #fff;
    background: linear-gradient(135deg, #6366f1 0%, var(--ermesio-violet, #8b5cf6) 100%);
    border-color: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 72%, #1e1b4b);
}

@media (max-width: 575.98px) {
    .ermesio-modal-inbox-stats[b-cg6q95r5ae] {
        grid-template-columns: 1fr;
    }

    .ermesio-modal-inbox-head[b-cg6q95r5ae] {
        flex-direction: column;
        align-items: stretch;
    }

    .ermesio-modal-inbox-meta--trailing[b-cg6q95r5ae] {
        max-width: none;
        width: 100%;
        align-items: flex-start;
        text-align: left;
        margin-top: 0.35rem;
        padding-top: 0.75rem;
        border-top: 1px solid rgba(15, 23, 42, 0.06);
    }

    .ermesio-modal-inbox-meta--trailing .ermesio-modal-inbox-meta-line[b-cg6q95r5ae] {
        justify-content: flex-start;
    }
}
/* /Components/Shared/ModalNoteVideo.razor.rz.scp.css */
/* Allineato a ModalAssociaVideoEvento.razor.css (stesso aspetto modale «Associa a…»). */
.ermesio-modal-associa-root[b-z96nw97nie] {
    position: fixed;
    inset: 0;
    z-index: 1080;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    box-sizing: border-box;
    pointer-events: none;
}

.ermesio-modal-associa-backdrop[b-z96nw97nie] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.4);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    pointer-events: auto;
    animation: fadeIn-b-z96nw97nie 0.3s ease-out;
}

.ermesio-modal-associa-shell[b-z96nw97nie] {
    position: relative;
    z-index: 1;
    pointer-events: auto;
    width: 100%;
    max-width: 42rem;
    max-height: min(92vh, 50rem);
    display: flex;
    flex-direction: column;
    outline: none;
    animation: slideUp-b-z96nw97nie 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.ermesio-modal-associa-card[b-z96nw97nie] {
    display: flex;
    flex-direction: column;
    max-height: inherit;
    background: var(--ermesio-glass-bg, rgba(255, 255, 255, 0.9));
    border-radius: var(--ermesio-card-radius, 1.5rem);
    border: 1px solid var(--ermesio-glass-border, rgba(255, 255, 255, 0.5));
    box-shadow: var(--ermesio-glass-shadow);
    overflow: hidden;
}

.ermesio-modal-associa-header[b-z96nw97nie] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem 1.5rem 1rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    flex-shrink: 0;
}

.ermesio-modal-associa-title-wrap[b-z96nw97nie] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.ermesio-modal-associa-title-icon[b-z96nw97nie] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 0.75rem;
    background: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 10%, transparent);
    color: var(--ermesio-violet, #8b5cf6);
    font-size: 1.25rem;
}

.ermesio-modal-associa-title[b-z96nw97nie] {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0f172a;
}

.ermesio-modal-associa-close[b-z96nw97nie] {
    appearance: none;
    border: none;
    background: rgba(15, 23, 42, 0.04);
    color: #64748b;
    font-size: 1.25rem;
    padding: 0.5rem;
    border-radius: 0.75rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.ermesio-modal-associa-close:hover[b-z96nw97nie] {
    background: rgba(214, 61, 94, 0.1);
    color: var(--ermesio-danger, #d63d5e);
    transform: rotate(90deg);
}

.ermesio-modal-associa-steps-container[b-z96nw97nie] {
    padding: 0.75rem 1.5rem;
    background: rgba(15, 23, 42, 0.02);
    border-bottom: 1px solid rgba(15, 23, 42, 0.05);
}

.ermesio-modal-associa-steps[b-z96nw97nie] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 24rem;
    margin: 0 auto;
    position: relative;
}

.ermesio-modal-associa-steps--two[b-z96nw97nie] {
    max-width: 13rem;
}

.ermesio-modal-associa-steps[b-z96nw97nie]::before {
    content: '';
    position: absolute;
    top: 0.75rem;
    left: 1rem;
    right: 1rem;
    height: 2px;
    background: rgba(15, 23, 42, 0.08);
    z-index: 0;
}

.ermesio-modal-associa-steps--two[b-z96nw97nie]::before {
    left: 2.25rem;
    right: 2.25rem;
}

.ermesio-modal-associa-step[b-z96nw97nie] {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
}

.ermesio-modal-associa-step-dot[b-z96nw97nie] {
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    background: #fff;
    border: 2px solid rgba(15, 23, 42, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    font-weight: 700;
    color: #94a3b8;
    transition: all 0.3s ease;
}

.ermesio-modal-associa-step-label[b-z96nw97nie] {
    font-size: 0.75rem;
    font-weight: 600;
    color: #94a3b8;
    transition: all 0.3s ease;
}

.ermesio-modal-associa-step.is-active .ermesio-modal-associa-step-dot[b-z96nw97nie] {
    background: var(--ermesio-violet, #8b5cf6);
    border-color: var(--ermesio-violet, #8b5cf6);
    color: #fff;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 20%, transparent);
}

.ermesio-modal-associa-step.is-active .ermesio-modal-associa-step-label[b-z96nw97nie] {
    color: var(--ermesio-violet, #8b5cf6);
}

.ermesio-modal-associa-step.is-completed .ermesio-modal-associa-step-dot[b-z96nw97nie] {
    background: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 15%, #fff);
    border-color: var(--ermesio-violet, #8b5cf6);
    color: var(--ermesio-violet, #8b5cf6);
}

.ermesio-modal-associa-body[b-z96nw97nie] {
    padding: 1.5rem;
    overflow-y: auto;
    flex: 1 1 auto;
    min-height: 0;
}

.ermesio-modal-associa-step-content[b-z96nw97nie] {
    animation: fadeInContent-b-z96nw97nie 0.3s ease-out;
}

.ermesio-modal-associa-choice-grid[b-z96nw97nie] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

@media (max-width: 520px) {
    .ermesio-modal-associa-choice-grid[b-z96nw97nie] {
        grid-template-columns: 1fr;
    }
}

.ermesio-modal-associa-choice[b-z96nw97nie] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.75rem;
    padding: 2rem 1.25rem;
    border-radius: 1.25rem;
    border: 2px solid transparent;
    background: #fff;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.04);
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.ermesio-modal-associa-choice:hover[b-z96nw97nie] {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
    border-color: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 20%, transparent);
}

.ermesio-modal-associa-choice.is-selected[b-z96nw97nie] {
    border-color: var(--ermesio-violet, #8b5cf6);
    background: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 4%, #fff);
    box-shadow: 0 8px 20px color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 12%, transparent);
}

.ermesio-modal-associa-choice-icon-wrap[b-z96nw97nie] {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 1rem;
    background: rgba(15, 23, 42, 0.03);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.75rem;
    color: #64748b;
    transition: all 0.3s ease;
}

.ermesio-modal-associa-choice.is-selected .ermesio-modal-associa-choice-icon-wrap[b-z96nw97nie] {
    background: var(--ermesio-violet, #8b5cf6);
    color: #fff;
    transform: scale(1.1);
}

.ermesio-modal-associa-choice-title[b-z96nw97nie] {
    font-weight: 800;
    font-size: 1.1rem;
    color: #0f172a;
}

.ermesio-modal-associa-choice-sub[b-z96nw97nie] {
    font-size: 0.875rem;
    line-height: 1.4;
    color: #64748b;
}

.ermesio-modal-associa-footer[b-z96nw97nie] {
    padding: 1.25rem 1.5rem 1.5rem;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
    flex-shrink: 0;
}

.ermesio-modal-associa-footer-row[b-z96nw97nie] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.ermesio-modal-associa-footer-actions[b-z96nw97nie] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

/* Passo registrazione vocale (riferimento UI allegato). */
.ermesio-modal-associa-voice-area[b-z96nw97nie] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2rem 1rem 1rem;
    min-height: 14rem;
}

.ermesio-modal-associa-voice-mic[b-z96nw97nie] {
    appearance: none;
    border: none;
    width: 5.5rem;
    height: 5.5rem;
    border-radius: 50%;
    background: var(--ermesio-violet, #8b5cf6);
    color: #fff;
    font-size: 2.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow:
        0 12px 28px color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 45%, transparent),
        0 0 0 1px color-mix(in srgb, #fff 25%, transparent) inset;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.ermesio-modal-associa-voice-mic:hover[b-z96nw97nie] {
    transform: scale(1.04);
}

.ermesio-modal-associa-voice-mic:focus-visible[b-z96nw97nie] {
    outline: 3px solid color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 50%, transparent);
    outline-offset: 3px;
}

.ermesio-modal-associa-voice-mic.is-recording[b-z96nw97nie] {
    background: var(--ermesio-danger, #dc2626);
    color: #fff;
    animation: ermesioVoiceStopPulse-b-z96nw97nie 1.1s ease-in-out infinite;
    box-shadow:
        0 0 0 6px color-mix(in srgb, var(--ermesio-danger, #dc2626) 38%, transparent),
        0 12px 32px color-mix(in srgb, var(--ermesio-danger, #dc2626) 48%, transparent),
        0 0 0 1px color-mix(in srgb, #fff 22%, transparent) inset;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background 0.25s ease;
}

.ermesio-modal-associa-voice-mic.is-recording:hover[b-z96nw97nie] {
    background: color-mix(in srgb, var(--ermesio-danger, #dc2626) 92%, #000);
}

.ermesio-modal-associa-voice-mic.is-recording:focus-visible[b-z96nw97nie] {
    outline-color: color-mix(in srgb, var(--ermesio-danger, #dc2626) 55%, transparent);
}

.ermesio-modal-associa-voice-hint[b-z96nw97nie] {
    margin-top: 1.25rem;
    font-size: 0.95rem;
    color: #94a3b8;
    text-align: center;
    max-width: 18rem;
}

@keyframes fadeIn-b-z96nw97nie {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes slideUp-b-z96nw97nie {
    from { opacity: 0; transform: translateY(20px) scale(0.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes fadeInContent-b-z96nw97nie {
    from { opacity: 0; transform: translateX(10px); }
    to { opacity: 1; transform: translateX(0); }
}

@keyframes ermesioVoiceStopPulse-b-z96nw97nie {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}
/* /Components/Shared/ModalNotice.razor.rz.scp.css */
.ermesio-modal-notice-root[b-nie6emwqr7] {
    position: fixed;
    inset: 0;
    z-index: 2500;
}

.ermesio-modal-notice-backdrop[b-nie6emwqr7] {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.35);
    backdrop-filter: blur(2px);
}

.ermesio-modal-notice-shell[b-nie6emwqr7] {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 1.25rem;
    outline: none;
}

.ermesio-modal-notice-card[b-nie6emwqr7] {
    width: min(34rem, 92vw);
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(255, 255, 255, 0.78);
    border-radius: var(--ermesio-card-radius, 1.5rem);
    box-shadow: var(--ermesio-glass-shadow);
    padding: 1.1rem 1.15rem 1.05rem;
}

.ermesio-modal-notice-icon[b-nie6emwqr7] {
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 1.25rem;
    display: grid;
    place-items: center;
    margin: 0 auto 0.65rem;
    color: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 85%, white);
    background: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 10%, transparent);
    border: 1px solid color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 18%, transparent);
}

.ermesio-modal-notice-icon i[b-nie6emwqr7] {
    font-size: 1.55rem;
    line-height: 1;
}

.ermesio-modal-notice-title[b-nie6emwqr7] {
    text-align: center;
    font-weight: 800;
    font-size: 1.05rem;
    margin: 0.15rem 0 0;
    color: #0f172a;
}

.ermesio-modal-notice-text[b-nie6emwqr7] {
    text-align: center;
    margin: 0.45rem 0 0;
    color: #64748b;
    line-height: 1.35;
}

.ermesio-modal-notice-actions[b-nie6emwqr7] {
    display: flex;
    justify-content: center;
    margin-top: 0.9rem;
}

/* /Components/Shared/ModalPartecipanteEditor.razor.rz.scp.css */
.part-profile[b-e89owlnel9] {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    padding: 0.65rem 0.15rem 0.85rem;
}

.part-avatar[b-e89owlnel9] {
    width: 3.8rem;
    height: 3.8rem;
    border-radius: 1rem;
    display: grid;
    place-items: center;
    font-weight: 800;
    letter-spacing: 0.02em;
    color: rgba(124, 58, 237, 1);
    background: rgba(124, 58, 237, 0.08);
    border: 1px solid rgba(124, 58, 237, 0.18);
    overflow: hidden;
    flex: 0 0 auto;
}

.part-avatar--has-img[b-e89owlnel9] {
    background: transparent;
    color: transparent;
    padding: 0;
}

.part-avatar-img[b-e89owlnel9] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.part-profile-main[b-e89owlnel9] {
    min-width: 0;
}

.part-profile-title[b-e89owlnel9] {
    font-weight: 700;
    color: #0f172a;
    line-height: 1.2;
}

.part-profile-sub[b-e89owlnel9] {
    margin-top: 0.2rem;
    font-size: 0.9rem;
    color: #94a3b8;
    line-height: 1.2;
}

.part-section[b-e89owlnel9] {
    margin-top: 0.75rem;
}

.part-section-label[b-e89owlnel9] {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #94a3b8;
    margin-bottom: 0.45rem;
}

.part-stato-grid[b-e89owlnel9] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
}

.part-stato-btn[b-e89owlnel9] {
    border: 1px solid rgba(15, 23, 42, 0.10);
    background: rgba(2, 6, 23, 0.02);
    border-radius: 1rem;
    padding: 0.8rem 0.85rem;
    min-height: 4.2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    cursor: pointer;
    transition: transform 0.14s ease, border-color 0.14s ease, background-color 0.14s ease, box-shadow 0.14s ease;
    user-select: none;
}

.part-stato-btn:hover:not(:disabled)[b-e89owlnel9] {
    transform: translateY(-1px);
    border-color: rgba(139, 92, 246, 0.32);
    background: rgba(139, 92, 246, 0.06);
}

.part-stato-icon i[b-e89owlnel9] {
    font-size: 1.1rem;
    line-height: 1;
    color: rgba(71, 85, 105, 0.95);
}

.part-stato-text[b-e89owlnel9] {
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(71, 85, 105, 0.95);
    text-align: center;
}

.part-stato-btn.is-active[b-e89owlnel9] {
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.10);
}

/* ACCETTATA: verde */
.part-stato-btn--accettata.is-active[b-e89owlnel9] {
    background: rgba(34, 197, 94, 0.12);
    border-color: rgba(34, 197, 94, 0.28);
    box-shadow: 0 10px 30px rgba(34, 197, 94, 0.18);
}
.part-stato-btn--accettata.is-active .part-stato-icon i[b-e89owlnel9],
.part-stato-btn--accettata.is-active .part-stato-text[b-e89owlnel9] {
    color: rgba(5, 150, 105, 1);
}

/* ATTESA: arancione */
.part-stato-btn--attesa.is-active[b-e89owlnel9] {
    background: rgba(249, 115, 22, 0.14);
    border-color: rgba(249, 115, 22, 0.30);
    box-shadow: 0 10px 30px rgba(249, 115, 22, 0.18);
}
.part-stato-btn--attesa.is-active .part-stato-icon i[b-e89owlnel9],
.part-stato-btn--attesa.is-active .part-stato-text[b-e89owlnel9] {
    color: rgba(194, 65, 12, 1);
}

/* RIFIUTATA: rosso */
.part-stato-btn--rifiutata.is-active[b-e89owlnel9] {
    background: rgba(239, 68, 68, 0.12);
    border-color: rgba(239, 68, 68, 0.28);
    box-shadow: 0 10px 30px rgba(239, 68, 68, 0.18);
}
.part-stato-btn--rifiutata.is-active .part-stato-icon i[b-e89owlnel9],
.part-stato-btn--rifiutata.is-active .part-stato-text[b-e89owlnel9] {
    color: rgba(185, 28, 28, 1);
}

/* SENZA RISPOSTA: azzurro */
.part-stato-btn--senza.is-active[b-e89owlnel9] {
    background: rgba(59, 130, 246, 0.10);
    border-color: rgba(59, 130, 246, 0.25);
    box-shadow: 0 10px 30px rgba(59, 130, 246, 0.18);
}
.part-stato-btn--senza.is-active .part-stato-icon i[b-e89owlnel9],
.part-stato-btn--senza.is-active .part-stato-text[b-e89owlnel9] {
    color: rgba(29, 78, 216, 1);
}

.part-notes[b-e89owlnel9] {
    border-radius: 1rem;
}

@media (max-width: 992px) {
    .part-stato-grid[b-e89owlnel9] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* /Components/Shared/ModalSmtpTest.razor.rz.scp.css */
.ermesio-modal-smtp-root[b-utkmmplqej] {
    position: fixed;
    inset: 0;
    z-index: 1080;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
    box-sizing: border-box;
    pointer-events: none;
}

.ermesio-modal-smtp-backdrop[b-utkmmplqej] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.48);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    pointer-events: auto;
}

.ermesio-modal-smtp-shell[b-utkmmplqej] {
    position: relative;
    z-index: 1;
    pointer-events: auto;
    width: 100%;
    max-width: 28rem;
    outline: none;
}

.ermesio-modal-smtp-card[b-utkmmplqej] {
    background: var(--bs-body-bg, #fff);
    border-radius: 1.15rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow:
        0 24px 48px rgba(15, 23, 42, 0.12),
        0 0 0 1px rgba(255, 255, 255, 0.06) inset;
    padding: 1.5rem 1.5rem 1.35rem;
    text-align: center;
}

.ermesio-modal-smtp-icon[b-utkmmplqej] {
    width: 3.25rem;
    height: 3.25rem;
    margin: 0 auto 1rem;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.55rem;
    color: var(--ermesio-violet, #8b5cf6);
    background: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 12%, white);
    border: 1px solid rgba(139, 92, 246, 0.22);
}

.ermesio-modal-smtp-title[b-utkmmplqej] {
    font-size: 1.125rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--bs-emphasis-color, #0f172a);
    margin: 0 0 0.5rem;
    line-height: 1.3;
}

.ermesio-modal-smtp-text[b-utkmmplqej] {
    font-size: 0.9375rem;
    line-height: 1.5;
    color: var(--bs-secondary-color, #475569);
    margin: 0 0 1.15rem;
}

.ermesio-modal-smtp-actions[b-utkmmplqej] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    justify-content: center;
}

.ermesio-modal-smtp-btn[b-utkmmplqej] {
    border-radius: 999px;
    padding: 0.55rem 1.15rem;
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.15;
    border-width: 1px;
    transition: transform 0.14s ease, background-color 0.14s ease, border-color 0.14s ease, color 0.14s ease, box-shadow 0.14s ease;
}

.ermesio-modal-smtp-btn:focus-visible[b-utkmmplqej] {
    outline: 0;
}

.ermesio-modal-smtp-btn--ghost:focus-visible[b-utkmmplqej] {
    box-shadow: 0 0 0 2px var(--bs-body-bg), 0 0 0 4px rgba(139, 92, 246, 0.28);
}

.ermesio-modal-smtp-btn--primary:focus-visible[b-utkmmplqej] {
    box-shadow: 0 0 0 2px var(--bs-body-bg), 0 0 0 4px rgba(139, 92, 246, 0.35);
}

.ermesio-modal-smtp-btn--ghost[b-utkmmplqej] {
    color: var(--bs-secondary-color, #475569);
    background: transparent;
    border-color: var(--bs-border-color-translucent, rgba(0, 0, 0, 0.12));
}

.ermesio-modal-smtp-btn--ghost:hover[b-utkmmplqej] {
    color: var(--bs-body-color);
    background: rgba(2, 6, 23, 0.05);
    transform: translateY(-1px);
}

.ermesio-modal-smtp-btn--primary[b-utkmmplqej] {
    color: #fff;
    background: var(--ermesio-violet, #8b5cf6);
    border-color: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 70%, #000);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}

.ermesio-modal-smtp-btn--primary:hover[b-utkmmplqej] {
    color: #fff;
    background: #7c3aed;
    border-color: #6d28d9;
    transform: translateY(-1px);
}

@media (max-width: 575.98px) {
    .ermesio-modal-smtp-actions[b-utkmmplqej] {
        flex-direction: column-reverse;
    }

    .ermesio-modal-smtp-btn[b-utkmmplqej] {
        width: 100%;
    }
}

/* /Components/Shared/ModalTaggaUtentiVideo.razor.rz.scp.css */
.ermesio-modal-tagga-root[b-wwhd5mz8v2] {
    position: fixed;
    inset: 0;
    z-index: 1080;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    box-sizing: border-box;
    pointer-events: none;
}

.ermesio-modal-tagga-backdrop[b-wwhd5mz8v2] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.48);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    pointer-events: auto;
}

.ermesio-modal-tagga-shell[b-wwhd5mz8v2] {
    position: relative;
    z-index: 1;
    pointer-events: auto;
    width: 100%;
    max-width: 44rem;
    max-height: min(92vh, 52rem);
    display: flex;
    flex-direction: column;
    outline: none;
}

.ermesio-modal-tagga-card[b-wwhd5mz8v2] {
    display: flex;
    flex-direction: column;
    max-height: inherit;
    background: var(--bs-body-bg, #fff);
    border-radius: 1rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow:
        0 24px 48px rgba(15, 23, 42, 0.14),
        0 0 0 1px rgba(255, 255, 255, 0.06) inset;
    overflow: hidden;
}

.ermesio-modal-tagga-header[b-wwhd5mz8v2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.1rem 1.25rem 0.85rem;
    border-bottom: 1px solid color-mix(in srgb, var(--bs-body-color, #212529) 8%, transparent);
    flex-shrink: 0;
}

.ermesio-modal-tagga-title[b-wwhd5mz8v2] {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--bs-emphasis-color, #0f172a);
}

.ermesio-modal-tagga-close[b-wwhd5mz8v2] {
    appearance: none;
    border: none;
    background: transparent;
    color: var(--bs-secondary-color, #64748b);
    font-size: 1.35rem;
    line-height: 1;
    padding: 0.25rem;
    border-radius: 0.5rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.ermesio-modal-tagga-close:hover[b-wwhd5mz8v2] {
    color: var(--bs-body-color);
    background: color-mix(in srgb, var(--bs-body-color, #212529) 6%, transparent);
}

.ermesio-modal-tagga-body[b-wwhd5mz8v2] {
    padding: 1rem 1.25rem 1.1rem;
    overflow-y: auto;
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 1.15rem;
}

.ermesio-modal-tagga-search-wrap[b-wwhd5mz8v2] {
    position: relative;
    display: flex;
    align-items: center;
}

.ermesio-modal-tagga-search-icon[b-wwhd5mz8v2] {
    position: absolute;
    left: 1rem;
    color: var(--bs-secondary-color, #64748b);
    font-size: 1.1rem;
    pointer-events: none;
}

.ermesio-modal-tagga-search[b-wwhd5mz8v2] {
    width: 100%;
    border: 1px solid color-mix(in srgb, var(--bs-body-color, #212529) 12%, transparent);
    border-radius: 999px;
    padding: 0.65rem 1rem 0.65rem 2.65rem;
    font-size: 0.9375rem;
    background: color-mix(in srgb, var(--bs-body-color, #212529) 4%, var(--bs-body-bg, #fff));
}

.ermesio-modal-tagga-section[b-wwhd5mz8v2] {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.ermesio-modal-tagga-section-head[b-wwhd5mz8v2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.ermesio-modal-tagga-section-label[b-wwhd5mz8v2] {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--bs-secondary-color, #64748b);
}

.ermesio-modal-tagga-link-danger[b-wwhd5mz8v2] {
    appearance: none;
    border: none;
    background: none;
    padding: 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--ermesio-danger, #d63d5e);
    cursor: not-allowed;
    opacity: 0.65;
}

.ermesio-modal-tagga-link-danger:not(:disabled)[b-wwhd5mz8v2] {
    cursor: pointer;
    opacity: 1;
}

.ermesio-modal-tagga-link-danger:not(:disabled):hover[b-wwhd5mz8v2] {
    text-decoration: underline;
}

.ermesio-modal-tagga-chips[b-wwhd5mz8v2] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    padding: 0.65rem 0.75rem;
    min-height: 3.25rem;
    border: 1px dashed color-mix(in srgb, var(--bs-body-color, #212529) 22%, transparent);
    border-radius: 0.65rem;
    background: color-mix(in srgb, var(--bs-body-color, #212529) 2.5%, var(--bs-body-bg, #fff));
    align-items: center;
}

.ermesio-modal-tagga-chips-empty[b-wwhd5mz8v2] {
    width: 100%;
    text-align: center;
    padding: 0.35rem 0.25rem;
}

.ermesio-modal-tagga-chip[b-wwhd5mz8v2] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.25rem 0.45rem 0.25rem 0.35rem;
    border-radius: 999px;
    background: var(--bs-body-bg, #fff);
    border: 1px solid color-mix(in srgb, var(--bs-body-color, #212529) 10%, transparent);
    font-size: 0.8125rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}

.ermesio-modal-tagga-chip-avatar[b-wwhd5mz8v2] {
    width: 1.65rem;
    height: 1.65rem;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 0.55rem;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(135deg, var(--ermesio-violet, #8b5cf6), color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 70%, #4c1d95));
}

.ermesio-modal-tagga-chip-photo[b-wwhd5mz8v2] {
    width: 1.65rem;
    height: 1.65rem;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 1px solid color-mix(in srgb, var(--bs-body-color, #212529) 10%, transparent);
}

.ermesio-modal-tagga-chip-name[b-wwhd5mz8v2] {
    font-weight: 600;
    color: var(--bs-body-color);
    max-width: 9rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ermesio-modal-tagga-chip-remove[b-wwhd5mz8v2] {
    appearance: none;
    border: none;
    background: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--bs-secondary-color);
    font-size: 0.85rem;
    padding: 0.1rem;
    margin-left: 0.1rem;
    border-radius: 0.35rem;
    cursor: pointer;
    line-height: 1;
}

.ermesio-modal-tagga-chip-remove:hover[b-wwhd5mz8v2] {
    color: var(--bs-body-color);
    background: color-mix(in srgb, var(--bs-body-color, #212529) 8%, transparent);
}

.ermesio-modal-tagga-results[b-wwhd5mz8v2] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
    max-height: 14rem;
    overflow-y: auto;
    padding-right: 0.15rem;
}

@media (max-width: 520px) {
    .ermesio-modal-tagga-results[b-wwhd5mz8v2] {
        grid-template-columns: 1fr;
    }
}

.ermesio-modal-tagga-result[b-wwhd5mz8v2] {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    padding: 0.55rem 0.65rem;
    border-radius: 0.65rem;
    border: 1px solid color-mix(in srgb, var(--bs-body-color, #212529) 8%, transparent);
    background: color-mix(in srgb, var(--bs-body-color, #212529) 4%, var(--bs-body-bg, #fff));
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    font: inherit;
    color: inherit;
    text-align: left;
    cursor: pointer;
    transition:
        background 0.12s ease,
        border-color 0.12s ease;
}

.ermesio-modal-tagga-result:focus-visible[b-wwhd5mz8v2] {
    outline: 2px solid color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 65%, transparent);
    outline-offset: 1px;
}

.ermesio-modal-tagga-result:hover:not(:disabled)[b-wwhd5mz8v2] {
    border-color: color-mix(in srgb, var(--bs-body-color, #212529) 16%, transparent);
    background: color-mix(in srgb, var(--bs-body-color, #212529) 7%, var(--bs-body-bg, #fff));
}

.ermesio-modal-tagga-result--selected[b-wwhd5mz8v2] {
    background: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 12%, var(--bs-body-bg, #fff));
    border-color: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 28%, transparent);
}

.ermesio-modal-tagga-result--selected:hover[b-wwhd5mz8v2] {
    background: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 16%, var(--bs-body-bg, #fff));
    border-color: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 34%, transparent);
}

.ermesio-modal-tagga-result-check[b-wwhd5mz8v2] {
    flex-shrink: 0;
    width: 1.65rem;
    height: 1.65rem;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: var(--ermesio-violet, #8b5cf6);
    color: #fff;
    font-size: 1rem;
}

.ermesio-modal-tagga-result-icon[b-wwhd5mz8v2] {
    flex-shrink: 0;
    width: 1.65rem;
    height: 1.65rem;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: color-mix(in srgb, var(--bs-body-color, #212529) 10%, transparent);
    color: var(--bs-secondary-color);
    font-size: 1rem;
}

.ermesio-modal-tagga-result-photo[b-wwhd5mz8v2] {
    flex-shrink: 0;
    width: 1.65rem;
    height: 1.65rem;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid color-mix(in srgb, var(--bs-body-color, #212529) 10%, transparent);
}

.ermesio-modal-tagga-result-initials[b-wwhd5mz8v2] {
    flex-shrink: 0;
    width: 1.65rem;
    height: 1.65rem;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 0.55rem;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(135deg, var(--ermesio-violet, #8b5cf6), color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 70%, #4c1d95));
}

.ermesio-modal-tagga-result-text[b-wwhd5mz8v2] {
    min-width: 0;
    flex: 1;
}

.ermesio-modal-tagga-result-name[b-wwhd5mz8v2] {
    font-weight: 700;
    font-size: 0.875rem;
    line-height: 1.25;
    color: var(--bs-emphasis-color);
}

.ermesio-modal-tagga-result-sub[b-wwhd5mz8v2] {
    font-size: 0.75rem;
    margin-top: 0.15rem;
}

.ermesio-modal-tagga-footer[b-wwhd5mz8v2] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.6rem;
    padding: 0.85rem 1.25rem 1.1rem;
    border-top: 1px solid color-mix(in srgb, var(--bs-body-color, #212529) 8%, transparent);
    flex-shrink: 0;
    background: var(--bs-body-bg, #fff);
}

.ermesio-modal-tagga-footer-actions[b-wwhd5mz8v2] {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.ermesio-modal-tagga-footer-alert[b-wwhd5mz8v2] {
    flex: 1 1 100%;
}

.ermesio-modal-tagga-btn[b-wwhd5mz8v2] {
    border-radius: 0.65rem;
    font-weight: 600;
    padding: 0.5rem 1.1rem;
    font-size: 0.9rem;
}

.ermesio-modal-tagga-btn--ghost[b-wwhd5mz8v2] {
    background: color-mix(in srgb, var(--bs-body-color, #212529) 6%, var(--bs-body-bg, #fff));
    border: 1px solid color-mix(in srgb, var(--bs-body-color, #212529) 12%, transparent);
    color: var(--bs-body-color);
}

.ermesio-modal-tagga-btn--ghost:hover[b-wwhd5mz8v2] {
    background: color-mix(in srgb, var(--bs-body-color, #212529) 10%, var(--bs-body-bg, #fff));
}

.ermesio-modal-tagga-btn--primary[b-wwhd5mz8v2] {
    background: var(--ermesio-violet, #8b5cf6);
    border: 1px solid color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 88%, #000);
    color: #fff;
}

.ermesio-modal-tagga-btn--primary:not(:disabled):hover[b-wwhd5mz8v2] {
    filter: brightness(1.05);
}

.ermesio-modal-tagga-btn--primary:disabled[b-wwhd5mz8v2] {
    opacity: 0.55;
    cursor: not-allowed;
}
/* /Components/Shared/ModalUtentiImportPreview.razor.rz.scp.css */
.ermesio-modal-utenti-import-root[b-jsknh1aks4] {
    position: fixed;
    inset: 0;
    z-index: 1080;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    box-sizing: border-box;
    pointer-events: none;
    min-height: 0;
    height: 100dvh;
    max-height: 100dvh;
}

.ermesio-modal-utenti-import-backdrop[b-jsknh1aks4] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.48);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    pointer-events: auto;
}

/* Contenitore dialog: altezza massima fissa così il corpo può scrollare dentro la card */
.ermesio-modal-utenti-import-shell[b-jsknh1aks4] {
    position: relative;
    z-index: 1;
    pointer-events: auto;
    width: 100%;
    max-width: min(52rem, calc(100vw - 2rem));
    max-height: min(90vh, calc(100vh - 2rem));
    outline: none;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}

.ermesio-modal-utenti-import-card[b-jsknh1aks4] {
    background: var(--bs-body-bg, #fff);
    border-radius: 1.1rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow:
        0 24px 48px rgba(15, 23, 42, 0.12),
        0 0 0 1px rgba(255, 255, 255, 0.06) inset;
    padding: 1.1rem 1.25rem 1rem;
    display: flex;
    flex-direction: column;
    min-height: 0;
    flex: 1 1 auto;
    max-height: 100%;
    overflow: hidden;
}

.ermesio-modal-utenti-import-head[b-jsknh1aks4] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    flex-shrink: 0;
    margin-bottom: 0.85rem;
}

.ermesio-modal-utenti-import-title[b-jsknh1aks4] {
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--bs-emphasis-color, #0f172a);
    margin: 0;
    line-height: 1.25;
}

.ermesio-modal-utenti-import-subtitle[b-jsknh1aks4] {
    font-size: 0.875rem;
    margin-top: 0.2rem;
    word-break: break-word;
}

.ermesio-modal-utenti-import-close[b-jsknh1aks4] {
    flex-shrink: 0;
    border-radius: 999px;
    padding: 0.25rem 0.45rem;
    line-height: 1;
}

/* Area tabella: occupa lo spazio rimanente e scrolla (sticky thead resta in cima allo scroll) */
.ermesio-modal-utenti-import-table-wrap[b-jsknh1aks4] {
    flex: 1 1 auto;
    min-height: 0;
    max-height: min(65vh, 32rem);
    overflow: auto;
    margin-bottom: 0.85rem;
    border: 1px solid var(--bs-border-color-translucent, rgba(0, 0, 0, 0.1));
    border-radius: 0.65rem;
    -webkit-overflow-scrolling: touch;
}

.ermesio-modal-utenti-import-card > p.text-muted[b-jsknh1aks4] {
    flex-shrink: 0;
    margin-bottom: 0.85rem;
}

.ermesio-modal-utenti-import-table[b-jsknh1aks4] {
    margin-bottom: 0;
}

.ermesio-modal-utenti-import-table thead th[b-jsknh1aks4] {
    position: sticky;
    top: 0;
    z-index: 1;
    background: var(--bs-body-bg, #fff);
    box-shadow: 0 1px 0 var(--bs-border-color-translucent, rgba(0, 0, 0, 0.1));
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--bs-secondary-color, #64748b);
}

.ermesio-modal-utenti-import-actions[b-jsknh1aks4] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    flex-shrink: 0;
    padding-top: 0.15rem;
}
/* /Components/Shared/PageHeader.razor.rz.scp.css */
.ermesio-page-header[b-gb5rnbuqly] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.ermesio-page-header-title-row[b-gb5rnbuqly] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}

.ermesio-page-header-icon[b-gb5rnbuqly] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.65rem;
    color: var(--ermesio-violet, #8b5cf6);
    font-size: 1.2rem;
    line-height: 1;
    flex-shrink: 0;
    background-color: rgba(139, 92, 246, 0.12);
    background-color: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 14%, white);
    border: 1px solid rgba(139, 92, 246, 0.18);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset;
}

.ermesio-page-header-title[b-gb5rnbuqly] {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.2;
    color: var(--bs-emphasis-color, #0f172a);
}

.ermesio-page-header-actions[b-gb5rnbuqly] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 1 1 auto;
    min-width: 0;
    gap: 0.5rem;
}

/* Azioni standard (pill) */
.ermesio-page-header-actions[b-gb5rnbuqly] (.ermesio-page-header-action) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.6rem 0.95rem;
    font-size: 0.9375rem;
    font-weight: 500;
    line-height: 1.25;
    text-decoration: none;
    border: 1px solid transparent;
    border-radius: 999px;
    transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.ermesio-page-header-actions[b-gb5rnbuqly] (.ermesio-page-header-action--primary) {
    color: #fff !important;
    background: var(--ermesio-violet, #8b5cf6);
    border-color: transparent;
}

.ermesio-page-header-actions[b-gb5rnbuqly] (.ermesio-page-header-action--primary):hover {
    color: #fff !important;
    background: #7c3aed;
}

.ermesio-page-header-actions[b-gb5rnbuqly] (.ermesio-page-header-action--ghost) {
    color: var(--bs-secondary-color, #475569) !important;
    background: transparent;
    border-color: var(--bs-border-color-translucent, rgba(0, 0, 0, 0.12));
}

.ermesio-page-header-actions[b-gb5rnbuqly] (.ermesio-page-header-action--ghost):hover {
    color: var(--bs-body-color) !important;
    background: rgba(2, 6, 23, 0.04);
}

/* /Components/Shared/SearchSuggest.razor.rz.scp.css */
.ermesio-searchsuggest[b-3djwxqjn6n] {
    position: relative;
    display: grid;
    gap: .35rem;
}

.ermesio-searchsuggest-label[b-3djwxqjn6n] {
    font-size: .9rem;
    font-weight: 600;
}

.ermesio-searchsuggest-inputrow[b-3djwxqjn6n] {
    position: relative;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .35rem;
    padding: .35rem .5rem;
    padding-right: 2.2rem;
    border-radius: .5rem;
    border: 1px solid rgba(0,0,0,.15);
    background: #fff;
}

.ermesio-searchsuggest-input[b-3djwxqjn6n] {
    flex: 1 1 10rem;
    min-width: 8rem;
    padding: .25rem .25rem;
    border-radius: .4rem;
    border: 0;
    outline: none;
    background: transparent;
}

.ermesio-searchsuggest-clear[b-3djwxqjn6n] {
    position: absolute;
    right: .4rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.6rem;
    height: 1.6rem;
    border-radius: .4rem;
    border: 0;
    background: transparent;
    cursor: pointer;
    color: rgba(0,0,0,.65);
}

.ermesio-searchsuggest-clear:hover[b-3djwxqjn6n] {
    background: rgba(0,0,0,.06);
}

.ermesio-searchsuggest-dropdown[b-3djwxqjn6n] {
    position: absolute;
    z-index: 1000;
    top: calc(100% + .25rem);
    left: 0;
    right: 0;
    max-height: 18rem;
    overflow: auto;
    border-radius: .6rem;
    border: 1px solid rgba(0,0,0,.12);
    background: #fff;
    box-shadow: 0 10px 30px rgba(0,0,0,.12);
    padding: .25rem;
}

.ermesio-searchsuggest-empty[b-3djwxqjn6n] {
    padding: .65rem .75rem;
    color: rgba(0,0,0,.65);
    font-size: .9rem;
}

.ermesio-searchsuggest-item[b-3djwxqjn6n] {
    width: 100%;
    text-align: left;
    border: 0;
    background: transparent;
    padding: .55rem .6rem;
    border-radius: .5rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: .2rem;
    cursor: pointer;
}

.ermesio-searchsuggest-item:hover[b-3djwxqjn6n],
.ermesio-searchsuggest-item.is-highlighted[b-3djwxqjn6n] {
    background: rgba(59, 130, 246, .10);
}

.ermesio-searchsuggest-item-main[b-3djwxqjn6n] {
    font-weight: 600;
}

.ermesio-searchsuggest-item-sub[b-3djwxqjn6n] {
    grid-column: 1 / span 1;
    color: rgba(0,0,0,.65);
    font-size: .88rem;
}

.ermesio-searchsuggest-chip[b-3djwxqjn6n] {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    padding: .2rem .5rem .2rem .65rem;
    border-radius: 999px;
    color: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 82%, white);
    background: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 10%, transparent);
    border: 1px solid color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 18%, transparent);
}

.ermesio-searchsuggest-chip-text[b-3djwxqjn6n] {
    font-size: .88rem;
}

.ermesio-searchsuggest-chip-remove[b-3djwxqjn6n] {
    border: 0;
    background: transparent;
    cursor: pointer;
    color: color-mix(in srgb, var(--ermesio-violet, #8b5cf6) 75%, black);
    display: inline-flex;
}

.ermesio-searchsuggest-chip-remove:hover[b-3djwxqjn6n] {
    color: var(--ermesio-violet, #8b5cf6);
}

/* /Components/Shared/UserBadge.razor.rz.scp.css */
.ermesio-userbadge[b-niri29qefo] {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.35rem 0.6rem;
    border-radius: 999px;
    text-decoration: none;
    color: var(--bs-body-color, #0f172a);
    background: transparent;
    border: 1px solid rgba(2, 6, 23, 0.06);
    transition: background-color 0.16s ease, border-color 0.16s ease, transform 0.16s ease;
}

.ermesio-userbadge:hover[b-niri29qefo] {
    background: rgba(2, 6, 23, 0.04);
    border-color: rgba(2, 6, 23, 0.12);
    transform: translateY(-1px);
    text-decoration: none;
}

.ermesio-userbadge:focus-visible[b-niri29qefo] {
    outline: 0;
    box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.18);
}

.ermesio-userbadge-avatar[b-niri29qefo],
.ermesio-userbadge-img[b-niri29qefo] {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    flex: 0 0 34px;
}

.ermesio-userbadge-avatar[b-niri29qefo] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.9rem;
    letter-spacing: -0.02em;
    color: #fff;
    background: linear-gradient(135deg, #7c3aed 0%, #8b5cf6 55%, #a78bfa 100%);
}

.ermesio-userbadge-img[b-niri29qefo] {
    object-fit: cover;
    background: rgba(15, 23, 42, 0.06);
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.ermesio-userbadge-text[b-niri29qefo] {
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    line-height: 1.15;
}

.ermesio-userbadge-name[b-niri29qefo] {
    max-width: 240px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 600;
}

.ermesio-userbadge-role[b-niri29qefo] {
    max-width: 240px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.72rem;
    font-weight: 500;
    color: rgba(15, 23, 42, 0.6);
    margin-top: 0.1rem;
}

/* Mobile: solo avatar, senza pill e senza testo */
@media (max-width: 640.98px) {
    .ermesio-userbadge[b-niri29qefo] {
        border: 0;
        padding: 0;
        border-radius: 0;
        background: transparent;
        transform: none;
    }

    .ermesio-userbadge:hover[b-niri29qefo] {
        background: transparent;
        border-color: transparent;
        transform: none;
        text-decoration: none;
    }

    .ermesio-userbadge-text[b-niri29qefo] {
        display: none;
    }
}

/* Desktop: niente pill/bordo intorno al badge */
@media (min-width: 641px) {
    .ermesio-userbadge[b-niri29qefo] {
        border: 0;
        padding: 0;
        border-radius: 0;
        transform: none;
    }

    .ermesio-userbadge:hover[b-niri29qefo] {
        background: transparent;
        border-color: transparent;
        transform: none;
        text-decoration: none;
    }

    .ermesio-userbadge-text[b-niri29qefo] {
        padding-left: 0.65rem;
        border-left: 1px solid rgba(2, 6, 23, 0.12);
        height: calc(var(--ermesio-brand-strip-height, calc(1.25rem + 2.5rem + 1rem)) - 20px);
    }
}

