@import '_content/Microsoft.AspNetCore.Components.QuickGrid/Microsoft.AspNetCore.Components.QuickGrid.boiwgh0w5b.bundle.scp.css';

/* /Components/Chat/ChatBox.razor.rz.scp.css */
.chat-box[b-tg4c9j9fsv] {
    display: flex;
    flex-direction: column;
    height: calc(100vh - 11rem);
    min-height: 20rem;
    max-width: 50rem;
    border: 1px solid #d6d5d5;
    border-radius: 0.5rem;
    overflow: hidden;
}

.chat-messages[b-tg4c9j9fsv] {
    flex: 1;
    overflow-y: auto;
    display: flex;
    flex-direction: column-reverse;
    padding: 1rem;
    background-color: #fafafa;
}

.chat-message[b-tg4c9j9fsv] {
    margin-bottom: 0.75rem;
    padding: 0.5rem 0.75rem;
    border-left: 4px solid #adb5bd;
    border-radius: 0.25rem;
    background-color: white;
}

    .chat-message.sender-user[b-tg4c9j9fsv] {
        border-left-color: #0d6efd;
    }

    .chat-message.sender-bot[b-tg4c9j9fsv] {
        border-left-color: #6f42c1;
    }

    .chat-message.sender-support[b-tg4c9j9fsv] {
        border-left-color: #198754;
    }

    .chat-message.sender-system[b-tg4c9j9fsv] {
        border-left-color: #adb5bd;
        font-style: italic;
    }

.chat-message-header[b-tg4c9j9fsv] {
    display: flex;
    gap: 0.5rem;
    align-items: baseline;
    font-size: 0.85rem;
}

.chat-message-text[b-tg4c9j9fsv] {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.chat-input[b-tg4c9j9fsv] {
    display: flex;
    gap: 0.5rem;
    padding: 0.75rem;
    border-top: 1px solid #d6d5d5;
    background-color: white;
}
/* /Components/Layout/AdminLayout.razor.rz.scp.css */
.page[b-c0hi9exd4j] {
    display: flex;
    min-height: 100vh;
}

main[b-c0hi9exd4j] {
    flex: 1;
    min-width: 0;
}

.sidebar[b-c0hi9exd4j] {
    display: flex;
    flex-direction: column;
    background-color: var(--tm-surface);
}

.top-row[b-c0hi9exd4j] {
    position: sticky;
    top: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    gap: .75rem;
    height: 3.75rem;
    border-bottom: 1px solid var(--bs-border-color);
    /* Barra semitrasparente: il contenuto scorre sotto sfumato */
    background-color: rgba(var(--bs-body-bg-rgb), .8);
    backdrop-filter: blur(10px);
}

.top-row-actions[b-c0hi9exd4j] {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-left: auto;
}

@media (max-width: 575.98px) {
    .top-row-actions[b-c0hi9exd4j] {
        gap: .5rem;
    }
}

.nav-open-btn[b-c0hi9exd4j] {
    display: inline-grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    margin-left: -.375rem;
    border: 0;
    border-radius: .5rem;
    background: transparent;
    color: var(--bs-secondary-color);
    font-size: 1.1rem;
    cursor: pointer;
    transition: background-color var(--tm-dur) var(--tm-ease), color var(--tm-dur) var(--tm-ease);
}

    .nav-open-btn:hover[b-c0hi9exd4j] {
        background-color: var(--tm-surface-2);
        color: var(--bs-emphasis-color);
    }

/* Smartphone e tablet: la sidebar è un cassetto sopra la pagina, con lo sfondo scuro dietro */
@media (max-width: 991.98px) {
    .sidebar[b-c0hi9exd4j] {
        position: fixed;
        inset: 0 auto 0 0;
        z-index: 1045;
        width: min(280px, 85vw);
        border-right: 1px solid var(--bs-border-color);
        box-shadow: var(--tm-shadow-lg);
        transform: translateX(-100%);
        /* Chiuso: fuori schermo e non raggiungibile col tab; visibility cambia a fine animazione */
        visibility: hidden;
        transition: transform var(--tm-dur-slow) var(--tm-ease), visibility 0s linear var(--tm-dur-slow);
    }

    .sidebar-backdrop[b-c0hi9exd4j] {
        position: fixed;
        inset: 0;
        z-index: 1040;
        background-color: rgba(0, 0, 0, .5);
        opacity: 0;
        visibility: hidden;
        transition: opacity var(--tm-dur-slow) var(--tm-ease), visibility 0s linear var(--tm-dur-slow);
    }

    /* Classe messa su <html> da layout.js */
    .tm-nav-open .sidebar[b-c0hi9exd4j],
    .tm-nav-open .sidebar-backdrop[b-c0hi9exd4j] {
        visibility: visible;
        transition-delay: 0s;
    }

    .tm-nav-open .sidebar[b-c0hi9exd4j] {
        transform: none;
    }

    .tm-nav-open .sidebar-backdrop[b-c0hi9exd4j] {
        opacity: 1;
    }
}

@media (max-width: 480px) {
    .top-row[b-c0hi9exd4j], article[b-c0hi9exd4j] {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
}

/* Desktop: sidebar fissa a sinistra, larga o ridotta a sole icone (data-tm-sidebar su <html>, dal cookie tm-sidebar) */
@media (min-width: 992px) {
    .sidebar[b-c0hi9exd4j] {
        position: sticky;
        top: 0;
        z-index: 20; /* i suggerimenti delle voci ridotte escono sopra il contenuto */
        flex-shrink: 0;
        width: 260px;
        height: 100vh;
        border-right: 1px solid var(--bs-border-color);
        transition: width var(--tm-dur-slow) var(--tm-ease);
    }

    [data-tm-sidebar=collapsed] .sidebar[b-c0hi9exd4j] {
        width: 4.5rem;
    }

    .sidebar-backdrop[b-c0hi9exd4j],
    .nav-open-btn[b-c0hi9exd4j],
    .top-row-brand[b-c0hi9exd4j] {
        display: none;
    }

    .top-row[b-c0hi9exd4j], article[b-c0hi9exd4j] {
        padding-left: 2rem !important;
        padding-right: 2rem !important;
    }
}
/* /Components/Layout/AuthLayout.razor.rz.scp.css */
.auth[b-w1vh5jp8bb] {
    display: flex;
    min-height: 100vh;
}

/* Pannello del marchio: gradiente della piattaforma con forme sfumate che si muovono lentamente */
.auth-brand[b-w1vh5jp8bb] {
    position: relative;
    display: none;
    flex-direction: column;
    justify-content: space-between;
    width: 44%;
    max-width: 640px;
    padding: 2.5rem 3rem;
    overflow: hidden;
    background-image: var(--tm-gradient);
    color: var(--tm-on-primary);
}

/* Fuori dal flusso: altrimenti conta come elemento della colonna e sposta logo e testi */
.auth-blobs[b-w1vh5jp8bb] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.auth-blobs span[b-w1vh5jp8bb] {
    position: absolute;
    border-radius: 50%;
    filter: blur(60px);
    opacity: .45;
    animation: auth-float-b-w1vh5jp8bb 18s ease-in-out infinite alternate;
}

    .auth-blobs span:nth-child(1)[b-w1vh5jp8bb] {
        width: 26rem;
        height: 26rem;
        top: -8rem;
        left: -6rem;
        background: rgba(255, 255, 255, .35);
    }

    .auth-blobs span:nth-child(2)[b-w1vh5jp8bb] {
        width: 22rem;
        height: 22rem;
        bottom: -6rem;
        right: -8rem;
        background: var(--tm-accent);
        animation-duration: 22s;
        animation-delay: -6s;
    }

    /* Forma chiara, non scura: una forma nera sporcava i colori caldi (arancio, rosso) */
    .auth-blobs span:nth-child(3)[b-w1vh5jp8bb] {
        width: 14rem;
        height: 14rem;
        top: 45%;
        left: 40%;
        background: rgba(255, 255, 255, .22);
        animation-duration: 26s;
        animation-delay: -12s;
    }

@keyframes auth-float-b-w1vh5jp8bb {
    from { transform: translate(0, 0) scale(1); }
    to { transform: translate(3rem, 2rem) scale(1.15); }
}

.auth-brand-name[b-w1vh5jp8bb],
.auth-brand-copy[b-w1vh5jp8bb],
.auth-brand-footer[b-w1vh5jp8bb] {
    position: relative; /* sopra le forme sfumate */
}

.auth-brand-name[b-w1vh5jp8bb] {
    display: inline-flex;
    align-items: center;
    gap: .75rem;
    align-self: flex-start;
    color: inherit;
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: -.02em;
    text-decoration: none;
}

.auth-brand-logo[b-w1vh5jp8bb] {
    display: inline-grid;
    place-items: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: .75rem;
    background: rgba(255, 255, 255, .18);
    border: 1px solid rgba(255, 255, 255, .3);
    backdrop-filter: blur(6px);
}

.auth-brand-copy h2[b-w1vh5jp8bb] {
    max-width: 22rem;
    font-size: 2.25rem;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -.03em;
    animation: tm-fade-up .6s var(--tm-ease) both;
}

.auth-brand-copy p[b-w1vh5jp8bb] {
    max-width: 22rem;
    margin: 1rem 0 0;
    font-size: 1.05rem;
    opacity: .85;
    animation: tm-fade-up .6s var(--tm-ease) .1s both;
}

.auth-brand-footer[b-w1vh5jp8bb] {
    margin: 0;
    font-size: .8125rem;
    opacity: .7;
}

/* Lato del modulo */
.auth-main[b-w1vh5jp8bb] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.auth-topbar[b-w1vh5jp8bb] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.25rem 1.5rem;
}

.auth-back[b-w1vh5jp8bb] {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    color: var(--bs-secondary-color);
    font-size: .875rem;
    font-weight: 500;
    text-decoration: none;
    transition: color var(--tm-dur) var(--tm-ease);
}

    .auth-back i[b-w1vh5jp8bb] {
        transition: transform var(--tm-dur) var(--tm-ease);
    }

    .auth-back:hover[b-w1vh5jp8bb] {
        color: var(--bs-emphasis-color);
        text-decoration: none;
    }

        .auth-back:hover i[b-w1vh5jp8bb] {
            transform: translateX(-3px);
        }

.auth-content[b-w1vh5jp8bb] {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    max-width: 26rem;
    margin: 0 auto;
    padding: 1rem 1.5rem 3rem;
}

.auth-mobile-brand[b-w1vh5jp8bb] {
    margin-bottom: 2rem;
}

@media (min-width: 900px) {
    .auth-brand[b-w1vh5jp8bb] {
        display: flex;
    }

    .auth-mobile-brand[b-w1vh5jp8bb] {
        display: none;
    }
}

.auth-topbar-actions[b-w1vh5jp8bb] {
    display: flex;
    align-items: center;
    gap: .75rem;
}
/* /Components/Layout/Brand.razor.rz.scp.css */
.tm-brand[b-xcxyyuga7y] {
    display: inline-flex;
    align-items: center;
    gap: .625rem;
    color: var(--bs-emphasis-color);
    font-weight: 700;
    font-size: 1.05rem;
    letter-spacing: -.02em;
    text-decoration: none;
}

    .tm-brand:hover[b-xcxyyuga7y] {
        text-decoration: none;
    }

.tm-brand-logo[b-xcxyyuga7y] {
    display: inline-grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: .625rem;
    background-image: var(--tm-gradient);
    color: var(--tm-on-primary);
    font-size: .95rem;
    box-shadow: 0 4px 14px rgba(var(--tm-primary-rgb), .35);
    transition: transform var(--tm-dur) var(--tm-ease-spring);
}

.tm-brand:hover .tm-brand-logo[b-xcxyyuga7y] {
    transform: rotate(-8deg) scale(1.06);
}

/* Smartphone: resta solo il logo, il nome non ci sta accanto ai comandi dell'header */
@media (max-width: 480px) {
    .tm-brand-name[b-xcxyyuga7y] {
        display: none;
    }
}
/* /Components/Layout/CultureMenu.razor.rz.scp.css */
.culture-menu[b-bezwx783tt] {
    position: relative;
}

    /* Globo + codice della lingua, stessa altezza e bordo del ThemeToggle */
    .culture-menu summary[b-bezwx783tt] {
        display: inline-flex;
        align-items: center;
        gap: .375rem;
        height: 2.25rem;
        padding: 0 .75rem;
        border: 1px solid var(--bs-border-color);
        border-radius: 999px;
        background: var(--tm-surface);
        color: var(--bs-secondary-color);
        cursor: pointer;
        list-style: none;
        font-size: .75rem;
        font-weight: 600;
        letter-spacing: .03em;
        transition: color var(--tm-dur) var(--tm-ease), border-color var(--tm-dur) var(--tm-ease);
    }

        .culture-menu summary:hover[b-bezwx783tt],
        .culture-menu[open] summary[b-bezwx783tt] {
            color: var(--tm-primary-text);
            border-color: var(--tm-primary-border);
        }

        .culture-menu summary[b-bezwx783tt]::-webkit-details-marker {
            display: none;
        }

    .culture-menu .dropdown-menu[b-bezwx783tt] {
        top: 100%;
        right: 0;
        left: auto;
        min-width: 10rem;
        margin-top: .5rem;
        padding: .375rem;
        border-color: var(--bs-border-color);
        border-radius: .75rem;
        box-shadow: var(--tm-shadow-lg);
        transform-origin: top right;
        animation: tm-pop var(--tm-dur) var(--tm-ease) both;
    }

    .culture-menu .dropdown-item[b-bezwx783tt] {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: .625rem;
        border-radius: .5rem;
        padding: .5rem .625rem;
        font-size: .875rem;
    }

        .culture-menu .dropdown-item i[b-bezwx783tt] {
            color: var(--tm-primary-text);
        }

        .culture-menu .dropdown-item[aria-current][b-bezwx783tt] {
            font-weight: 600;
        }
/* /Components/Layout/ErrorBar.razor.rz.scp.css */
/* Floating at the bottom center (the widget launcher sits on the right), hidden until blazor.web.js shows it */
#blazor-error-ui[b-hswfil6ifw] {
    display: none;
    position: fixed;
    left: 50%;
    bottom: 1.25rem;
    z-index: 1090;
    width: min(34rem, calc(100% - 2rem));
    transform: translateX(-50%);
}

.error-bar[b-hswfil6ifw] {
    display: flex;
    align-items: center;
    gap: .875rem;
    padding: .75rem .75rem .75rem 1rem;
    border: 1px solid var(--bs-border-color);
    border-radius: .875rem;
    background: var(--tm-surface);
    box-shadow: var(--tm-shadow-lg);
    animation: tm-pop var(--tm-dur) var(--tm-ease) both;
}

/* Status red of PresenceDot */
.error-bar-icon[b-hswfil6ifw] {
    display: inline-grid;
    flex-shrink: 0;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: .625rem;
    background: rgba(220, 38, 38, .12);
    color: #DC2626;
}

[data-bs-theme=dark] .error-bar-icon[b-hswfil6ifw] {
    background: rgba(239, 68, 68, .16);
    color: #EF4444;
}

.error-bar-text[b-hswfil6ifw] {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0;
    font-size: .875rem;
    line-height: 1.35;
}

    .error-bar-text span[b-hswfil6ifw] {
        color: var(--bs-secondary-color);
    }

.error-bar-dismiss[b-hswfil6ifw] {
    display: inline-grid;
    flex-shrink: 0;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border: 0;
    border-radius: .5rem;
    background: none;
    color: var(--bs-secondary-color);
    transition: background-color var(--tm-dur-fast) var(--tm-ease), color var(--tm-dur-fast) var(--tm-ease);
}

    .error-bar-dismiss:hover[b-hswfil6ifw] {
        background: var(--tm-surface-2);
        color: var(--bs-emphasis-color);
    }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.nav-top[b-ar3cwvpe9p] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
    height: 3.75rem;
    padding: 0 1.25rem;
    overflow: hidden;
}

/* Pulsanti a sola icona della sidebar: chiudi (cassetto) e riduci (desktop) */
.nav-close[b-ar3cwvpe9p],
.nav-collapse[b-ar3cwvpe9p] {
    display: inline-flex;
    align-items: center;
    border: 0;
    border-radius: .5rem;
    background: transparent;
    color: var(--bs-secondary-color);
    cursor: pointer;
    transition: background-color var(--tm-dur) var(--tm-ease), color var(--tm-dur) var(--tm-ease);
}

    .nav-close:hover[b-ar3cwvpe9p],
    .nav-collapse:hover[b-ar3cwvpe9p] {
        background-color: var(--tm-surface-2);
        color: var(--bs-emphasis-color);
    }

.nav-close[b-ar3cwvpe9p] {
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    margin-right: -.5rem;
    font-size: 1.15rem;
}

/* Nel cassetto c'è spazio per il nome anche sugli smartphone (Brand lo nasconde sotto i 480px, pensato per l'header) */
.nav-top[b-ar3cwvpe9p]  .tm-brand-name {
    display: inline;
    transition: opacity var(--tm-dur) var(--tm-ease);
}

.nav-scrollable[b-ar3cwvpe9p] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
}

.nav[b-ar3cwvpe9p] {
    /* Niente a capo (Bootstrap usa wrap): altrimenti le voci si allargano fino all'etichetta, anche quando è nascosta nella sidebar ridotta */
    flex-wrap: nowrap;
    padding: .5rem .75rem 1rem;
}

.nav-section[b-ar3cwvpe9p] {
    padding: 1rem .75rem .375rem;
    color: var(--bs-secondary-color);
    font-size: .6875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .08em;
    white-space: nowrap;
}

.nav-item[b-ar3cwvpe9p] {
    position: relative;
    font-size: .9rem;
    padding-bottom: .125rem;
}

    .nav-item[b-ar3cwvpe9p]  .nav-link {
        position: relative;
        display: flex;
        align-items: center;
        gap: .75rem;
        height: 2.5rem;
        padding: 0 .75rem;
        overflow: hidden; /* durante la riduzione l'etichetta non esce dalla voce */
        border-radius: .5rem;
        color: var(--bs-secondary-color);
        font-weight: 500;
        white-space: nowrap;
        transition: background-color var(--tm-dur) var(--tm-ease), color var(--tm-dur) var(--tm-ease);
    }

        .nav-item[b-ar3cwvpe9p]  .nav-link i {
            flex-shrink: 0;
            width: 1.125rem;
            text-align: center;
            transition: transform var(--tm-dur) var(--tm-ease-spring);
        }

        .nav-item[b-ar3cwvpe9p]  .nav-link:hover {
            background-color: var(--tm-surface-2);
            color: var(--bs-emphasis-color);
            text-decoration: none;
        }

            .nav-item[b-ar3cwvpe9p]  .nav-link:hover i {
                transform: scale(1.12);
            }

    /* Voce attiva: sfondo tenue del marchio + barretta laterale che compare scorrendo */
    .nav-item[b-ar3cwvpe9p]  a.active {
        background-color: var(--tm-primary-subtle);
        color: var(--tm-primary-text);
    }

        .nav-item[b-ar3cwvpe9p]  a.active::before {
            content: "";
            position: absolute;
            left: 0;
            top: .5rem;
            bottom: .5rem;
            width: 3px;
            border-radius: 3px;
            background-image: var(--tm-gradient);
            animation: tm-pop var(--tm-dur-slow) var(--tm-ease-spring) both;
        }

.nav-label[b-ar3cwvpe9p] {
    transition: opacity var(--tm-dur) var(--tm-ease);
}

.nav-footer[b-ar3cwvpe9p] {
    display: none;
    flex-shrink: 0;
    padding: .75rem;
    border-top: 1px solid var(--bs-border-color);
}

.nav-collapse[b-ar3cwvpe9p] {
    gap: .75rem;
    width: 100%;
    height: 2.5rem;
    padding: 0 .75rem;
    overflow: hidden;
    font-size: .875rem;
    font-weight: 500;
    white-space: nowrap;
}

    .nav-collapse i[b-ar3cwvpe9p] {
        flex-shrink: 0;
        width: 1.125rem;
        text-align: center;
        transition: transform var(--tm-dur-slow) var(--tm-ease);
    }

@media (min-width: 992px) {
    /* La X serve solo al cassetto */
    .nav-close[b-ar3cwvpe9p] {
        display: none;
    }

    .nav-footer[b-ar3cwvpe9p] {
        display: block;
    }

    /* Sidebar ridotta a sole icone (data-tm-sidebar su <html>): spariscono nome, titoli di sezione ed etichette */
    [data-tm-sidebar=collapsed] .nav-top[b-ar3cwvpe9p]  .tm-brand-name,
    [data-tm-sidebar=collapsed] .nav-label[b-ar3cwvpe9p] {
        opacity: 0;
    }

    /* Titolo di sezione → sottile separatore */
    [data-tm-sidebar=collapsed] .nav-section[b-ar3cwvpe9p] {
        height: 1px;
        margin: .875rem .75rem .5rem;
        padding: 0;
        background-color: var(--bs-border-color);
    }

        [data-tm-sidebar=collapsed] .nav-section span[b-ar3cwvpe9p] {
            display: none;
        }

    [data-tm-sidebar=collapsed] .nav-collapse i[b-ar3cwvpe9p] {
        transform: rotate(180deg);
    }

    /* Con poche voci niente scorrimento: il suggerimento deve poter uscire dalla sidebar */
    [data-tm-sidebar=collapsed] .nav-scrollable[b-ar3cwvpe9p] {
        overflow: visible;
    }

    /* Suggerimento col nome della voce, al passaggio del mouse o col focus da tastiera */
    [data-tm-sidebar=collapsed] .nav-item:hover[b-ar3cwvpe9p]::after,
    [data-tm-sidebar=collapsed] .nav-item:focus-within[b-ar3cwvpe9p]::after {
        content: attr(data-tooltip);
        position: absolute;
        top: .375rem; /* centrato sulla voce alta 2.5rem; niente translate: tm-pop usa già transform */
        left: calc(100% + .75rem);
        z-index: 1;
        padding: .3rem .6rem;
        border-radius: .375rem;
        background-color: var(--bs-emphasis-color);
        color: var(--bs-body-bg);
        font-size: .8125rem;
        font-weight: 500;
        white-space: nowrap;
        pointer-events: none;
        animation: tm-pop var(--tm-dur) var(--tm-ease) both;
    }
}
/* /Components/Layout/PublicLayout.razor.rz.scp.css */
.public-header[b-dwecr3ym4p] {
    position: sticky;
    top: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 3.75rem;
    border-bottom: 1px solid var(--bs-border-color);
    /* Barra semitrasparente: il contenuto scorre sotto sfumato */
    background-color: rgba(var(--bs-body-bg-rgb), .8);
    backdrop-filter: blur(10px);
}

@media (max-width: 480px) {
    .public-header[b-dwecr3ym4p] {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
/* Only the texts and buttons of the current state are visible (classes set by ReconnectModal.razor.js on the dialog) */
.components-reconnect-first-attempt-visible[b-czolqayqd1],
.components-reconnect-repeated-attempt-visible[b-czolqayqd1],
.components-reconnect-failed-visible[b-czolqayqd1],
.components-pause-visible[b-czolqayqd1],
.components-resume-failed-visible[b-czolqayqd1],
.components-rejoining-animation[b-czolqayqd1] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-czolqayqd1],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-czolqayqd1],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-czolqayqd1],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-czolqayqd1],
#components-reconnect-modal.components-reconnect-retrying[b-czolqayqd1],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-czolqayqd1],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-czolqayqd1],
#components-reconnect-modal.components-reconnect-failed[b-czolqayqd1],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-czolqayqd1] {
    display: block;
}

/* While retrying blazor.web.js keeps the class of the first attempt too: only the countdown text stays */
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-first-attempt-visible[b-czolqayqd1] {
    display: none;
}

/* Card in the portal colors, over a blurred backdrop */
#components-reconnect-modal[b-czolqayqd1] {
    width: min(22rem, calc(100% - 2rem));
    margin: 18vh auto;
    padding: 2rem 1.75rem 1.75rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 1rem;
    background: var(--tm-surface);
    color: var(--bs-body-color);
    box-shadow: var(--tm-shadow-lg);
    outline: none; /* showModal focuses the dialog itself: no focus ring around the card */
    opacity: 0;
    transition: display .5s allow-discrete, overlay .5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-czolqayqd1 .5s both;
}

    #components-reconnect-modal[open][b-czolqayqd1] {
        animation: components-reconnect-modal-slideUp-b-czolqayqd1 1.5s cubic-bezier(.05, .89, .25, 1.02) .3s, components-reconnect-modal-fadeInOpacity-b-czolqayqd1 .5s ease-in-out .3s;
        animation-fill-mode: both;
    }

    #components-reconnect-modal[b-czolqayqd1]::backdrop {
        background-color: rgba(9, 9, 11, .55);
        backdrop-filter: blur(4px);
        animation: components-reconnect-modal-fadeInOpacity-b-czolqayqd1 .5s ease-in-out;
        opacity: 1;
    }

@keyframes components-reconnect-modal-slideUp-b-czolqayqd1 {
    0% {
        transform: translateY(30px) scale(.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-czolqayqd1 {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-czolqayqd1 {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-czolqayqd1] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-czolqayqd1] {
    margin: 0;
    text-align: center;
}

/* Buttons as .btn-primary: brand gradient */
#components-reconnect-modal button[b-czolqayqd1] {
    padding: .5rem 1.25rem;
    border: 0;
    border-radius: .625rem;
    background-image: var(--tm-gradient);
    color: var(--tm-on-primary);
    font-weight: 600;
    box-shadow: 0 6px 18px rgba(var(--tm-primary-rgb), .3);
    transition: transform var(--tm-dur-fast) var(--tm-ease), box-shadow var(--tm-dur-fast) var(--tm-ease);
}

    #components-reconnect-modal button:hover[b-czolqayqd1] {
        transform: translateY(-1px);
        box-shadow: 0 8px 22px rgba(var(--tm-primary-rgb), .4);
    }

/* Rings expanding in the brand color while reconnecting */
.components-rejoining-animation[b-czolqayqd1] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-czolqayqd1] {
        position: absolute;
        border: 3px solid var(--tm-primary);
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-czolqayqd1 1.5s cubic-bezier(0, .2, .8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-czolqayqd1] {
            animation-delay: -.5s;
        }

@keyframes components-rejoining-animation-b-czolqayqd1 {
    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: 0;
        left: 0;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Layout/ThemeToggle.razor.rz.scp.css */
.tm-theme-toggle[b-cfpw6pgcpy] {
    display: inline-grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 50%;
    background: var(--tm-surface);
    color: var(--bs-secondary-color);
    cursor: pointer;
    transition: color var(--tm-dur) var(--tm-ease), border-color var(--tm-dur) var(--tm-ease), transform var(--tm-dur) var(--tm-ease);
}

    .tm-theme-toggle:hover[b-cfpw6pgcpy] {
        color: var(--tm-primary-text);
        border-color: var(--tm-primary-border);
        transform: rotate(-15deg);
    }

    /* Le due icone occupano la stessa cella: si mostra quella del tema attivo, l'altra ruota via */
    .tm-theme-toggle i[b-cfpw6pgcpy] {
        grid-area: 1 / 1;
        transition: opacity var(--tm-dur-slow) var(--tm-ease), transform var(--tm-dur-slow) var(--tm-ease-spring);
    }

/* Il CSS isolato aggiunge lo scope solo all'ultimo selettore: l'antenato <html data-bs-theme> resta libero */
[data-bs-theme=dark] .tm-icon-light[b-cfpw6pgcpy],
[data-bs-theme=light] .tm-icon-dark[b-cfpw6pgcpy] {
    opacity: 0;
    transform: rotate(-90deg) scale(.5);
}
/* /Components/Layout/UserMenu.razor.rz.scp.css */
.user-menu[b-syu1d2n5qg] {
    position: relative;
}

    /* User name with the initial avatar, opens the dropdown */
    .user-menu summary[b-syu1d2n5qg] {
        display: flex;
        align-items: center;
        gap: .5rem;
        padding: .25rem .625rem .25rem .25rem;
        border: 1px solid var(--bs-border-color);
        border-radius: 999px;
        background: var(--tm-surface);
        cursor: pointer;
        list-style: none;
        white-space: nowrap;
        font-size: .875rem;
        transition: border-color var(--tm-dur) var(--tm-ease), background-color var(--tm-dur) var(--tm-ease);
    }

        .user-menu summary:hover[b-syu1d2n5qg] {
            border-color: var(--tm-primary-border);
        }

        .user-menu summary[b-syu1d2n5qg]::-webkit-details-marker {
            display: none;
        }

        .user-menu summary[b-syu1d2n5qg]::after {
            content: "\f078"; /* Font Awesome chevron-down */
            font: var(--fa-font-solid);
            font-size: .625rem;
            color: var(--bs-secondary-color);
            transition: transform var(--tm-dur) var(--tm-ease);
        }

    .user-menu[open] summary[b-syu1d2n5qg]::after {
        transform: rotate(180deg);
    }

.user-avatar[b-syu1d2n5qg] {
    display: inline-grid;
    place-items: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 50%;
    background-image: var(--tm-gradient);
    color: var(--tm-on-primary);
    font-size: .75rem;
    font-weight: 600;
    text-transform: uppercase;
}

/* Avatar with the dot of the user's status (staff users) */
.user-avatar-wrap[b-syu1d2n5qg] {
    --presence-ring: var(--tm-surface);
    position: relative;
    display: inline-flex;
}

    .user-avatar-wrap[b-syu1d2n5qg]  .tm-presence {
        position: absolute;
        right: -2px;
        bottom: -2px;
        width: .5625rem;
        height: .5625rem;
    }

.user-menu .dropdown-menu[b-syu1d2n5qg] {
    top: 100%;
    right: 0;
    left: auto;
    min-width: 12rem;
    margin-top: .5rem;
    padding: .375rem;
    border-color: var(--bs-border-color);
    border-radius: .75rem;
    box-shadow: var(--tm-shadow-lg);
    transform-origin: top right;
    animation: tm-pop var(--tm-dur) var(--tm-ease) both;
}

.user-menu .dropdown-item[b-syu1d2n5qg] {
    display: flex;
    align-items: center;
    gap: .625rem;
    border-radius: .5rem;
    padding: .5rem .625rem;
    font-size: .875rem;
}

    .user-menu .dropdown-item i[b-syu1d2n5qg] {
        width: 1rem;
        text-align: center;
        color: var(--bs-secondary-color);
    }

/* Status choice: title, dot as wide as the item icons, check on the chosen status */
.user-menu-section[b-syu1d2n5qg] {
    padding: .25rem .625rem;
    color: var(--bs-secondary-color);
    font-size: .6875rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.user-menu-dot[b-syu1d2n5qg] {
    display: inline-grid;
    flex-shrink: 0;
    place-items: center;
    width: 1rem;
}

.user-menu .dropdown-item .user-menu-check[b-syu1d2n5qg] {
    margin-left: auto;
    color: var(--tm-primary-text);
}

/* Install as app: only when the browser can do it (js/pwa.js, class on <html>) */
html:not(.tm-installable) .user-menu-install[b-syu1d2n5qg] {
    display: none;
}

.user-link[b-syu1d2n5qg] {
    font-size: .875rem;
    font-weight: 500;
}

/* Name in the button: truncated if too long (email) */
.user-name[b-syu1d2n5qg] {
    max-width: 16rem;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Menu header with the full name: needed only when the name is hidden in the button */
.user-menu-header[b-syu1d2n5qg] {
    display: none;
    padding: .375rem .625rem .625rem;
    margin-bottom: .375rem;
    border-bottom: 1px solid var(--bs-border-color);
}

.user-menu-label[b-syu1d2n5qg] {
    display: block;
    color: var(--bs-secondary-color);
    font-size: .75rem;
}

.user-menu-email[b-syu1d2n5qg] {
    display: block;
    color: var(--bs-emphasis-color);
    font-size: .875rem;
    font-weight: 600;
    overflow-wrap: break-word;
}

/* Smartphone: only avatar and arrow in the button (a long name widened the page), name at the top of the menu */
@media (max-width: 575.98px) {
    .user-menu summary[b-syu1d2n5qg] {
        padding-right: .5rem;
    }

    .user-name[b-syu1d2n5qg] {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip-path: inset(50%);
        white-space: nowrap;
    }

    .user-menu-header[b-syu1d2n5qg] {
        display: block;
    }

    .user-menu .dropdown-menu[b-syu1d2n5qg] {
        max-width: calc(100vw - 2rem);
    }
}
/* /Components/Pages/Admin/Languages/LanguageEditor.razor.rz.scp.css */
/* Anteprima della bandiera accanto al menu */
.flag-field[b-3hvwvrqy0l] {
    display: flex;
    align-items: center;
    gap: .625rem;
}

/* Opzioni del menu: bandierina + nome del paese (dentro Select2Blazor, un altro componente: ::deep) */
.flag-field[b-3hvwvrqy0l]  .flag-option {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
}
/* /Components/Pages/Admin/Languages/Languages.razor.rz.scp.css */
/* Bandierina + nome della lingua */
.language-name[b-mhc6ylsvx2] {
    display: inline-flex;
    align-items: center;
    gap: .625rem;
}
/* /Components/Pages/Admin/Team/SupportTeam.razor.rz.scp.css */
/* Support org chart. Role colors as the badges of the Users list (Users.razor.css): managers amber, operators emerald */
.team-layout[b-uuwbmduso9],
.team-stats[b-uuwbmduso9],
.team-details[b-uuwbmduso9] {
    --team-line: #D4D4D8;
    --manager-rgb: 245, 158, 11;
    --manager-text: #B45309;
    --support-rgb: 16, 185, 129;
    --support-text: #047857;
}

[data-bs-theme=dark] .team-layout[b-uuwbmduso9],
[data-bs-theme=dark] .team-stats[b-uuwbmduso9],
[data-bs-theme=dark] .team-details[b-uuwbmduso9] {
    --team-line: #3F3F46;
    --manager-text: #FCD34D;
    --support-text: #6EE7B7;
}

/* ===== Numbers ===== */
.team-stats[b-uuwbmduso9] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.team-stat[b-uuwbmduso9] {
    --stat-rgb: var(--tm-primary-rgb);
    --stat-text: var(--tm-primary-text);
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    align-content: center;
    align-items: center;
    column-gap: .875rem;
    padding: 1rem 1.125rem;
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius-lg);
    background-color: var(--tm-surface);
    box-shadow: var(--tm-shadow-sm);
    animation: tm-fade-up var(--tm-dur-slow) var(--tm-ease) backwards;
    animation-delay: calc(var(--i) * 60ms);
}

.team-stat.is-manager[b-uuwbmduso9] { --stat-rgb: var(--manager-rgb); --stat-text: var(--manager-text); }
.team-stat.is-support[b-uuwbmduso9] { --stat-rgb: var(--support-rgb); --stat-text: var(--support-text); }
.team-stat.is-warning[b-uuwbmduso9] { --stat-rgb: var(--bs-warning-rgb); --stat-text: var(--bs-warning-text-emphasis); }
.team-stat.is-ok[b-uuwbmduso9],
.team-stat.is-online[b-uuwbmduso9] { --stat-rgb: var(--bs-success-rgb); --stat-text: var(--bs-success-text-emphasis); }

.team-stat-icon[b-uuwbmduso9] {
    grid-row: span 2;
    display: grid;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: .75rem;
    background-color: rgba(var(--stat-rgb), .14);
    color: var(--stat-text);
    font-size: 1.125rem;
}

.team-stat-value[b-uuwbmduso9] {
    color: var(--bs-emphasis-color);
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.1;
}

    .team-stat-value small[b-uuwbmduso9] {
        color: var(--bs-secondary-color);
        font-size: .9375rem;
        font-weight: 500;
    }

.team-stat-label[b-uuwbmduso9] {
    color: var(--bs-secondary-color);
    font-size: .8125rem;
}

.team-stat-flags[b-uuwbmduso9] {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: .25rem;
    margin-top: .625rem;
}

    .team-stat-flags .is-uncovered[b-uuwbmduso9]  .tm-flag {
        filter: grayscale(1);
        opacity: .35;
    }

/* Online people for each status */
.team-stat-presence[b-uuwbmduso9] {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: .625rem;
    color: var(--bs-secondary-color);
    font-size: .75rem;
    font-weight: 600;
}

    .team-stat-presence > span[b-uuwbmduso9] {
        display: inline-flex;
        align-items: center;
        gap: .3rem;
    }

/* ===== Tools ===== */
.team-langs[b-uuwbmduso9] {
    display: flex;
    flex-wrap: wrap;
    gap: .375rem;
}

.team-lang[b-uuwbmduso9] {
    display: inline-flex;
    align-items: center;
    gap: .375rem;
    padding: .3rem .625rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 999px;
    background-color: var(--tm-surface);
    color: var(--bs-body-color);
    font-size: .8125rem;
    font-weight: 600;
    transition: background-color var(--tm-dur) var(--tm-ease), border-color var(--tm-dur) var(--tm-ease), transform var(--tm-dur-fast) var(--tm-ease);
}

    .team-lang:hover[b-uuwbmduso9] {
        border-color: var(--tm-primary-border);
    }

    .team-lang:active[b-uuwbmduso9] {
        transform: scale(.96);
    }

    .team-lang.is-active[b-uuwbmduso9] {
        border-color: var(--tm-primary);
        background-color: var(--tm-primary-subtle);
        color: var(--tm-primary-text);
    }

.team-lang-count[b-uuwbmduso9] {
    min-width: 1.25rem;
    padding: 0 .3rem;
    border-radius: 999px;
    background-color: var(--tm-surface-2);
    color: var(--bs-secondary-color);
    font-size: .6875rem;
    text-align: center;
}

.team-lang.is-active .team-lang-count[b-uuwbmduso9] {
    background-color: var(--tm-surface);
    color: var(--tm-primary-text);
}

.team-tools-end[b-uuwbmduso9] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    margin-left: auto;
}

.team-matches[b-uuwbmduso9] {
    color: var(--bs-secondary-color);
    font-size: .875rem;
}

/* ===== Tree ===== */
.team-layout[b-uuwbmduso9] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.25rem;
    align-items: start;
}

@media (min-width: 1200px) {
    .team-layout.has-details[b-uuwbmduso9] {
        grid-template-columns: minmax(0, 1fr) 20rem;
    }
}

/* Scrolls horizontally when the managers don't fit the width */
.team-canvas[b-uuwbmduso9] {
    overflow-x: auto;
    padding: .5rem .25rem 1rem;
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius-lg);
    background-color: var(--tm-surface-2);
    background-image: radial-gradient(rgba(var(--bs-emphasis-color-rgb), .07) 1px, transparent 1px);
    background-size: 1.25rem 1.25rem;
}

.team-tree[b-uuwbmduso9] {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: max-content;
    min-width: 100%;
    padding: 1.25rem .5rem .5rem;
}

/* Root: the platform, with the brand gradient */
.team-root[b-uuwbmduso9] {
    position: relative;
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-bottom: 1.75rem;
    padding: .75rem 1.25rem .75rem .75rem;
    border-radius: 999px;
    background: var(--tm-gradient);
    color: var(--tm-on-primary);
    box-shadow: var(--tm-shadow);
    animation: tm-pop var(--tm-dur-slow) var(--tm-ease-spring) backwards;
}

    .team-root[b-uuwbmduso9]::after {
        content: "";
        position: absolute;
        top: 100%;
        left: 50%;
        height: 1.75rem;
        border-left: 2px solid var(--team-line);
        transform: translateX(-1px);
    }

.team-root-logo[b-uuwbmduso9] {
    display: grid;
    place-items: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, .2);
    font-size: 1.125rem;
}

.team-root-name[b-uuwbmduso9] {
    display: block;
    font-weight: 700;
    line-height: 1.2;
}

.team-root-meta[b-uuwbmduso9] {
    display: block;
    font-size: .8125rem;
    opacity: .85;
}

.team-branches[b-uuwbmduso9] {
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

/* Branch of a manager. The lines to the root are the two pseudo-elements: half a horizontal line left and right of the center
   (no gap between branches, otherwise the line would break: the padding makes the spacing) + vertical line down to the card;
   first and last branch with a rounded corner */
.team-branch[b-uuwbmduso9] {
    position: relative;
    flex: 0 0 18.5rem;
    padding: 1.75rem .75rem 0;
    transition: opacity var(--tm-dur-slow) var(--tm-ease), filter var(--tm-dur-slow) var(--tm-ease);
    animation: tm-fade-up var(--tm-dur-slow) var(--tm-ease) backwards;
    animation-delay: calc(120ms + var(--i) * 60ms);
}

    .team-branch[b-uuwbmduso9]::before,
    .team-branch[b-uuwbmduso9]::after {
        content: "";
        position: absolute;
        top: 0;
        width: 50%;
        height: 1.75rem;
        border-top: 2px solid var(--team-line);
    }

    .team-branch[b-uuwbmduso9]::before {
        right: 50%;
    }

    .team-branch[b-uuwbmduso9]::after {
        left: 50%;
        margin-left: -1px;
        border-left: 2px solid var(--team-line);
    }

    .team-branch:first-child[b-uuwbmduso9]::before {
        border: 0;
    }

    .team-branch:first-child[b-uuwbmduso9]::after {
        border-top-left-radius: .875rem;
    }

    .team-branch:last-child[b-uuwbmduso9]::before {
        margin-right: -1px;
        border-right: 2px solid var(--team-line);
        border-top-right-radius: .875rem;
    }

    .team-branch:last-child[b-uuwbmduso9]::after {
        border: 0;
    }

    .team-branch:only-child[b-uuwbmduso9]::before {
        border: 0;
    }

    .team-branch:only-child[b-uuwbmduso9]::after {
        border: 0;
        border-left: 2px solid var(--team-line);
        border-radius: 0;
    }

    .team-branch.is-dimmed[b-uuwbmduso9] {
        opacity: .4;
        filter: grayscale(.7);
    }

/* ===== Person card ===== */
.team-card[b-uuwbmduso9] {
    --role-rgb: var(--support-rgb);
    --role-text: var(--support-text);
    position: relative;
    display: flex;
    align-items: stretch;
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius-lg);
    background-color: var(--tm-surface);
    box-shadow: var(--tm-shadow-sm);
    transition: box-shadow var(--tm-dur) var(--tm-ease), transform var(--tm-dur) var(--tm-ease), border-color var(--tm-dur) var(--tm-ease),
        opacity var(--tm-dur-slow) var(--tm-ease), filter var(--tm-dur-slow) var(--tm-ease);
}

    .team-card:hover[b-uuwbmduso9] {
        border-color: rgba(var(--role-rgb), .55);
        box-shadow: var(--tm-shadow);
        transform: translateY(-1px);
    }

    /* Role stripe on the left */
    .team-card[b-uuwbmduso9]::before {
        content: "";
        position: absolute;
        top: .625rem;
        bottom: .625rem;
        left: -1px;
        width: 3px;
        border-radius: 0 3px 3px 0;
        background-color: rgb(var(--role-rgb));
    }

.team-card.is-manager[b-uuwbmduso9] {
    --role-rgb: var(--manager-rgb);
    --role-text: var(--manager-text);
}

/* Same person in another branch under the mouse (ui.js), person related to the chosen one, chosen person */
.team-card.is-linked[b-uuwbmduso9],
.team-card.is-related[b-uuwbmduso9] {
    border-color: rgba(var(--tm-focus-rgb), .6);
    box-shadow: 0 0 0 3px rgba(var(--tm-focus-rgb), .15), var(--tm-shadow-sm);
}

.team-card.is-selected[b-uuwbmduso9] {
    border-color: rgb(var(--tm-focus-rgb));
    box-shadow: 0 0 0 3px rgba(var(--tm-focus-rgb), .3), var(--tm-shadow);
}

.team-card.is-match[b-uuwbmduso9] {
    border-color: rgba(var(--tm-focus-rgb), .6);
}

.team-card.is-dimmed[b-uuwbmduso9] {
    opacity: .4;
    filter: grayscale(.7);
}

.team-card.is-locked .team-avatar[b-uuwbmduso9] {
    background-color: var(--tm-surface-2);
    color: var(--bs-secondary-color);
}

/* Branch of the operators without a manager: dashed card, not clickable */
.team-card.is-group[b-uuwbmduso9] {
    --role-rgb: var(--bs-warning-rgb);
    --role-text: var(--bs-warning-text-emphasis);
    border-style: dashed;
    background-color: transparent;
    box-shadow: none;
}

    .team-card.is-group:hover[b-uuwbmduso9] {
        transform: none;
    }

.team-node[b-uuwbmduso9] {
    display: flex;
    flex: 1;
    align-items: center;
    gap: .75rem;
    min-width: 0;
    padding: .75rem .75rem .75rem .875rem;
    border: 0;
    border-radius: inherit;
    background: none;
    color: inherit;
    text-align: start;
}

.team-avatar[b-uuwbmduso9] {
    display: inline-grid;
    place-items: center;
    flex-shrink: 0;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    background-color: rgba(var(--role-rgb), .16);
    color: var(--role-text);
    font-size: .875rem;
    font-weight: 700;
}

    .team-avatar.is-manager[b-uuwbmduso9] {
        --role-rgb: var(--manager-rgb);
        --role-text: var(--manager-text);
    }

    .team-avatar.is-support[b-uuwbmduso9] {
        --role-rgb: var(--support-rgb);
        --role-text: var(--support-text);
    }

    .team-avatar.is-large[b-uuwbmduso9] {
        width: 3.25rem;
        height: 3.25rem;
        font-size: 1.25rem;
    }

    .team-avatar.is-small[b-uuwbmduso9] {
        width: 1.5rem;
        height: 1.5rem;
        font-size: .6875rem;
    }

/* Avatar with the presence dot in the bottom-right corner, detached by a ring of the card color */
.team-avatar-wrap[b-uuwbmduso9] {
    --presence-ring: var(--tm-surface);
    position: relative;
    display: inline-flex;
    flex-shrink: 0;
}

    .team-avatar-wrap[b-uuwbmduso9]  .tm-presence {
        position: absolute;
        right: -2px;
        bottom: -2px;
    }

    .team-avatar-wrap.is-large[b-uuwbmduso9]  .tm-presence {
        right: 0;
        bottom: 0;
        width: .875rem;
        height: .875rem;
    }

.team-node-text[b-uuwbmduso9] {
    display: flex;
    flex-direction: column;
    gap: .125rem;
    min-width: 0;
}

.team-name[b-uuwbmduso9] {
    display: flex;
    align-items: center;
    gap: .375rem;
    min-width: 0;
    color: var(--bs-emphasis-color);
    font-weight: 600;
    line-height: 1.25;
}

.team-name-text[b-uuwbmduso9] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.team-mark[b-uuwbmduso9] {
    flex-shrink: 0;
    color: var(--tm-primary-text);
    font-size: .6875rem;
}

    .team-mark.is-locked[b-uuwbmduso9] {
        color: var(--bs-danger-text-emphasis);
    }

.team-email[b-uuwbmduso9] {
    overflow: hidden;
    color: var(--bs-secondary-color);
    font-size: .75rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.team-flags[b-uuwbmduso9] {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem;
    margin-top: .25rem;
}

/* Number of operators + arrow opening and closing the branch */
.team-toggle[b-uuwbmduso9] {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    gap: .375rem;
    padding: 0 .75rem;
    border: 0;
    border-left: 1px solid var(--bs-border-color);
    border-radius: 0 var(--bs-border-radius-lg) var(--bs-border-radius-lg) 0;
    background: none;
    color: var(--role-text);
    font-size: .8125rem;
    font-weight: 700;
    transition: background-color var(--tm-dur) var(--tm-ease);
}

    .team-toggle:hover[b-uuwbmduso9] {
        background-color: rgba(var(--role-rgb), .1);
    }

    .team-toggle i[b-uuwbmduso9] {
        font-size: .6875rem;
        transition: transform var(--tm-dur) var(--tm-ease);
    }

    .team-toggle[aria-expanded="false"] i[b-uuwbmduso9] {
        transform: rotate(-90deg);
    }

/* ===== Operators of a branch ===== */
.team-leaves-wrap[b-uuwbmduso9] {
    display: grid;
    grid-template-rows: 1fr;
    transition: grid-template-rows var(--tm-dur-slow) var(--tm-ease), opacity var(--tm-dur-slow) var(--tm-ease);
}

    .team-leaves-wrap.is-collapsed[b-uuwbmduso9] {
        grid-template-rows: 0fr;
        opacity: 0;
    }

/* overflow hidden only for the animation: the padding leaves room for the cards' halo and shadows */
.team-leaves-inner[b-uuwbmduso9] {
    min-height: 0;
    overflow: hidden;
    margin: 0 -.5rem;
    padding: 0 .5rem .5rem;
}

/* Lines: vertical from the manager's avatar down, rounded elbow towards each operator */
.team-leaves[b-uuwbmduso9] {
    margin: 0 0 0 1.875rem;
    padding: 0;
    list-style: none;
}

    .team-leaves li[b-uuwbmduso9] {
        position: relative;
        padding: .625rem 0 0 1.125rem;
        animation: tm-fade-up var(--tm-dur-slow) var(--tm-ease) backwards;
        animation-delay: calc(200ms + var(--i, 0) * 60ms + var(--j) * 35ms);
    }

        .team-leaves li[b-uuwbmduso9]::before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            width: 1.125rem;
            height: 2.375rem;
            border-bottom: 2px solid var(--team-line);
            border-left: 2px solid var(--team-line);
            border-bottom-left-radius: .75rem;
        }

        .team-leaves li:not(:last-child)[b-uuwbmduso9]::after {
            content: "";
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            border-left: 2px solid var(--team-line);
        }

.team-leaves-empty[b-uuwbmduso9] {
    margin: .75rem 0 0 1.875rem;
    padding: .625rem .875rem;
    border: 1px dashed var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    color: var(--bs-secondary-color);
    font-size: .8125rem;
}

/* ===== Details panel ===== */
.team-details[b-uuwbmduso9] {
    position: sticky;
    top: 5rem;
    padding: 1.25rem;
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius-lg);
    background-color: var(--tm-surface);
    box-shadow: var(--tm-shadow);
    animation: tm-pop var(--tm-dur) var(--tm-ease) backwards;
}

/* Below 1200px the panel sits at the bottom over the page (no room next to the tree) */
@media (max-width: 1199.98px) {
    .team-details[b-uuwbmduso9] {
        position: fixed;
        z-index: 1030;
        top: auto;
        right: 1rem;
        bottom: 1rem;
        left: 1rem;
        max-width: 28rem;
        max-height: 70vh;
        margin-left: auto;
        overflow-y: auto;
        box-shadow: var(--tm-shadow-lg);
        animation: tm-fade-up var(--tm-dur) var(--tm-ease) backwards;
    }
}

.team-details-close[b-uuwbmduso9] {
    position: absolute;
    top: .75rem;
    right: .75rem;
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border: 0;
    border-radius: 50%;
    background: none;
    color: var(--bs-secondary-color);
}

    .team-details-close:hover[b-uuwbmduso9] {
        background-color: var(--tm-surface-2);
        color: var(--bs-emphasis-color);
    }

.team-details-head[b-uuwbmduso9] {
    display: flex;
    align-items: center;
    gap: .875rem;
    padding-right: 2rem;
}

.team-details-id[b-uuwbmduso9] {
    min-width: 0;
}

.team-details-name[b-uuwbmduso9] {
    color: var(--bs-emphasis-color);
    font-size: 1.0625rem;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.team-details-email[b-uuwbmduso9] {
    font-size: .8125rem;
    overflow-wrap: anywhere;
}

.team-details-tags[b-uuwbmduso9] {
    display: flex;
    flex-wrap: wrap;
    gap: .375rem;
    margin: 1rem 0 .25rem;
}

.team-role[b-uuwbmduso9],
.team-status[b-uuwbmduso9],
.team-presence[b-uuwbmduso9] {
    display: inline-flex;
    align-items: center;
    gap: .375rem;
    padding: .2rem .6rem;
    border-radius: 999px;
    font-size: .75rem;
    font-weight: 600;
}

.team-role[b-uuwbmduso9] {
    background-color: rgba(var(--support-rgb), .14);
    color: var(--support-text);
}

    .team-role.is-manager[b-uuwbmduso9] {
        background-color: rgba(var(--manager-rgb), .14);
        color: var(--manager-text);
    }

.team-status.is-locked[b-uuwbmduso9] {
    background-color: var(--bs-danger-bg-subtle);
    color: var(--bs-danger-text-emphasis);
}

.team-status.is-unconfirmed[b-uuwbmduso9] {
    background-color: var(--bs-warning-bg-subtle);
    color: var(--bs-warning-text-emphasis);
}

.team-presence[b-uuwbmduso9] {
    background-color: var(--tm-surface-2);
    color: var(--bs-emphasis-color);
}

.team-details-since[b-uuwbmduso9] {
    margin: .5rem 0 0;
    color: var(--bs-secondary-color);
    font-size: .8125rem;
}

.team-details-title[b-uuwbmduso9] {
    margin: 1.25rem 0 .625rem;
    color: var(--bs-secondary-color);
    font-size: .6875rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.team-details-muted[b-uuwbmduso9] {
    margin: 0;
    color: var(--bs-secondary-color);
    font-size: .875rem;
}

    .team-details-muted.is-warning[b-uuwbmduso9] {
        color: var(--bs-warning-text-emphasis);
    }

.team-details-langs[b-uuwbmduso9] {
    display: flex;
    flex-wrap: wrap;
    gap: .375rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

    .team-details-langs li[b-uuwbmduso9] {
        display: inline-flex;
        align-items: center;
        gap: .375rem;
        padding: .2rem .6rem .2rem .4rem;
        border-radius: 999px;
        background-color: var(--tm-surface-2);
        font-size: .8125rem;
    }

/* Language coverage of the team: bar = share of operators managing it */
.team-coverage[b-uuwbmduso9] {
    display: grid;
    gap: .5rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

    .team-coverage li[b-uuwbmduso9] {
        display: grid;
        grid-template-columns: auto 5.5rem 1fr 1.5rem;
        align-items: center;
        gap: .5rem;
        font-size: .8125rem;
    }

    .team-coverage li.is-uncovered[b-uuwbmduso9] {
        color: var(--bs-secondary-color);
    }

        .team-coverage li.is-uncovered[b-uuwbmduso9]  .tm-flag {
            filter: grayscale(1);
            opacity: .4;
        }

.team-coverage-name[b-uuwbmduso9] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.team-coverage-bar[b-uuwbmduso9] {
    height: .375rem;
    overflow: hidden;
    border-radius: 999px;
    background-color: var(--tm-surface-2);
}

    .team-coverage-bar span[b-uuwbmduso9] {
        display: block;
        height: 100%;
        border-radius: inherit;
        background: var(--tm-gradient);
        transform-origin: left;
        animation: team-grow-b-uuwbmduso9 var(--tm-dur-slow) var(--tm-ease) backwards;
    }

.team-coverage-count[b-uuwbmduso9] {
    color: var(--bs-emphasis-color);
    font-weight: 600;
    text-align: right;
}

.team-details-links[b-uuwbmduso9] {
    display: flex;
    flex-wrap: wrap;
    gap: .375rem;
}

.team-chip[b-uuwbmduso9] {
    display: inline-flex;
    align-items: center;
    gap: .375rem;
    padding: .2rem .625rem .2rem .25rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 999px;
    background-color: var(--tm-surface);
    color: var(--bs-body-color);
    font-size: .8125rem;
}

    .team-chip:hover[b-uuwbmduso9] {
        border-color: rgba(var(--manager-rgb), .6);
    }

.team-details-edit[b-uuwbmduso9] {
    width: 100%;
    margin-top: 1.5rem;
}

@keyframes team-grow-b-uuwbmduso9 {
    from { transform: scaleX(0); }
}

/* ===== Loading and empty ===== */
.team-loading[b-uuwbmduso9] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.75rem;
    padding: 1.5rem 0;
}

.team-loading-root[b-uuwbmduso9] {
    width: 14rem;
    height: 3.5rem;
    border-radius: 999px;
}

.team-loading-branches[b-uuwbmduso9] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.5rem;
}

    .team-loading-branches > div[b-uuwbmduso9] {
        display: flex;
        flex-direction: column;
        gap: .75rem;
        width: 17rem;
    }

.team-loading-card[b-uuwbmduso9] {
    height: 4rem;
}

.team-loading-leaf[b-uuwbmduso9] {
    height: 3.25rem;
    margin-left: 3rem;
}

.team-empty-state[b-uuwbmduso9] {
    padding: 3rem 1rem;
    border: 1px dashed var(--bs-border-color);
    border-radius: var(--bs-border-radius-lg);
    text-align: center;
}

.team-empty-icon[b-uuwbmduso9] {
    display: inline-grid;
    place-items: center;
    width: 3.5rem;
    height: 3.5rem;
    margin-bottom: 1rem;
    border-radius: 50%;
    background-color: var(--tm-primary-subtle);
    color: var(--tm-primary-text);
    font-size: 1.375rem;
}

/* ===== Smartphone: branches one below the other, without the lines to the root ===== */
@media (max-width: 767.98px) {
    .team-canvas[b-uuwbmduso9] {
        overflow: visible;
        padding: .75rem;
        background-image: none;
    }

    .team-tree[b-uuwbmduso9] {
        width: auto;
        padding: 0;
    }

    .team-root[b-uuwbmduso9] {
        align-self: stretch;
        margin-bottom: 1rem;
    }

        .team-root[b-uuwbmduso9]::after {
            display: none;
        }

    .team-branches[b-uuwbmduso9] {
        flex-direction: column;
        align-items: stretch;
        gap: 1rem;
        width: 100%;
    }

    .team-branch[b-uuwbmduso9] {
        flex-basis: auto;
        padding: 0;
    }

        .team-branch[b-uuwbmduso9]::before,
        .team-branch[b-uuwbmduso9]::after {
            display: none;
        }

    .team-tools-end[b-uuwbmduso9] {
        margin-left: 0;
    }
}
/* /Components/Pages/Admin/Users/UserEditor.razor.rz.scp.css */
.editor-section[b-lf5htpj9fo] {
    margin-bottom: 1rem;
    color: var(--bs-secondary-color);
    font-size: .75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .08em;
}

/* Managed languages: flag, name and code */
.language-list[b-lf5htpj9fo] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr));
    gap: .75rem 1.5rem;
}

.language-label[b-lf5htpj9fo] {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
}

.language-code[b-lf5htpj9fo] {
    color: var(--bs-secondary-color);
    font-size: .75rem;
    text-transform: uppercase;
}
/* /Components/Pages/Admin/Users/UserList.razor.rz.scp.css */
.user-cell[b-yzbi9y79pr] {
    display: flex;
    align-items: center;
    gap: .75rem;
    min-width: 0;
}

.user-avatar[b-yzbi9y79pr] {
    display: inline-grid;
    place-items: center;
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background-color: var(--tm-primary-subtle);
    color: var(--tm-primary-text);
    font-size: .8125rem;
    font-weight: 600;
}

.user-cell-text[b-yzbi9y79pr] {
    min-width: 0;
}

.user-name[b-yzbi9y79pr] {
    color: var(--bs-emphasis-color);
    font-weight: 500;
}

.user-email[b-yzbi9y79pr] {
    color: var(--bs-secondary-color);
    font-size: .8125rem;
    overflow-wrap: anywhere;
}

/* Role: icon + fixed color per role (not the brand color: it's configurable and could match a role).
   Background = color at 14%, text darker in the light theme and lighter in the dark one (contrast >= 4.5:1 on the background);
   without a role: neutral and dashed. Support team copies the manager/support colors: keep them aligned */
.role-badge[b-yzbi9y79pr] {
    --role-rgb: 113, 113, 122;
    --role-text: var(--bs-secondary-color);
    display: inline-flex;
    align-items: center;
    gap: .375rem;
    padding: .2rem .6rem;
    border: 1px solid transparent;
    border-radius: 999px;
    background-color: rgba(var(--role-rgb), .14);
    color: var(--role-text);
    font-size: .75rem;
    font-weight: 600;
    white-space: nowrap;
}

    .role-badge i[b-yzbi9y79pr] {
        font-size: .6875rem;
    }

.role-badge.is-superadmin[b-yzbi9y79pr] { --role-rgb: 139, 92, 246; --role-text: #6D28D9; }
.role-badge.is-developer[b-yzbi9y79pr] { --role-rgb: 6, 182, 212; --role-text: #0E7490; }
.role-badge.is-administrator[b-yzbi9y79pr] { --role-rgb: 59, 130, 246; --role-text: #1D4ED8; }
.role-badge.is-manager[b-yzbi9y79pr] { --role-rgb: 245, 158, 11; --role-text: #B45309; }
.role-badge.is-support[b-yzbi9y79pr] { --role-rgb: 16, 185, 129; --role-text: #047857; }

[data-bs-theme=dark] .role-badge.is-superadmin[b-yzbi9y79pr] { --role-text: #C4B5FD; }
[data-bs-theme=dark] .role-badge.is-developer[b-yzbi9y79pr] { --role-text: #67E8F9; }
[data-bs-theme=dark] .role-badge.is-administrator[b-yzbi9y79pr] { --role-text: #93C5FD; }
[data-bs-theme=dark] .role-badge.is-manager[b-yzbi9y79pr] { --role-text: #FCD34D; }
[data-bs-theme=dark] .role-badge.is-support[b-yzbi9y79pr] { --role-text: #6EE7B7; }

.role-badge.is-none[b-yzbi9y79pr] {
    background-color: transparent;
    border-color: var(--bs-border-color);
    border-style: dashed;
}

/* Flags of the managed languages */
.user-flags[b-yzbi9y79pr] {
    display: inline-flex;
    flex-wrap: wrap;
    gap: .25rem;
}

/* Creation date column of the customers list: only from 1600px (beyond Bootstrap's breakpoints).
   ::deep because QuickGrid renders the cells */
.tm-table[b-yzbi9y79pr]  .col-created-wide {
    display: none;
}

@media (min-width: 1600px) {
    .tm-table[b-yzbi9y79pr]  .col-created-wide {
        display: table-cell;
    }
}

/* Creation date */
.user-date[b-yzbi9y79pr] {
    color: var(--bs-secondary-color);
    font-size: .875rem;
    white-space: nowrap;
}

/* Tickets opened (customers): aligned digits, zero dimmed */
.user-tickets[b-yzbi9y79pr] {
    color: var(--bs-emphasis-color);
    font-variant-numeric: tabular-nums;
    font-weight: 500;
}

    .user-tickets.is-zero[b-yzbi9y79pr] {
        color: var(--bs-secondary-color);
        font-weight: 400;
    }

/* Status: colored dot + text. The text may wrap ("Email not confirmed"): on narrow tables it would force a horizontal scroll */
.user-status[b-yzbi9y79pr] {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    color: var(--bs-secondary-color);
    font-size: .875rem;
}

    .user-status[b-yzbi9y79pr]::before {
        content: "";
        flex-shrink: 0;
        width: .5rem;
        height: .5rem;
        border-radius: 50%;
        background-color: currentColor;
    }

    .user-status.is-active[b-yzbi9y79pr]::before {
        background-color: var(--bs-success);
    }

    .user-status.is-unconfirmed[b-yzbi9y79pr]::before {
        background-color: var(--bs-warning);
    }

    .user-status.is-locked[b-yzbi9y79pr] {
        color: var(--bs-danger-text-emphasis);
    }

        .user-status.is-locked[b-yzbi9y79pr]::before {
            background-color: var(--bs-danger);
        }
/* /Components/Pages/Admin/Users/UserPicker.razor.rz.scp.css */
.picker-tools[b-yn07xk0nev] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem 1.5rem;
    margin-bottom: .75rem;
}

.picker-count[b-yn07xk0nev] {
    margin-bottom: .75rem;
    color: var(--bs-secondary-color);
    font-size: .8125rem;
}

.picker-list[b-yn07xk0nev] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
    gap: .75rem 1.5rem;
}

/* Filtro per lingua: larghezza del contenuto */
.picker-language[b-yn07xk0nev] {
    width: auto;
    min-width: 10rem;
}

/* Nome con le bandierine delle lingue e, sotto, l'email (se il nome c'è) */
.picker-name[b-yn07xk0nev] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .375rem;
    color: var(--bs-emphasis-color);
}

.picker-email[b-yn07xk0nev] {
    display: block;
    color: var(--bs-secondary-color);
    font-size: .8125rem;
    overflow-wrap: anywhere;
}
/* /Components/Pages/NotFound.razor.rz.scp.css */
/* 404 centered in the page: big code in the brand gradient */
.not-found[b-psam1szuy5] {
    display: grid;
    place-items: center;
    align-content: center;
    min-height: calc(100vh - 12rem);
    padding: 2rem 0;
    text-align: center;
}

.not-found-code[b-psam1szuy5] {
    font-size: clamp(6rem, 22vw, 10rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.06em;
    background-image: var(--tm-gradient);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: drop-shadow(0 8px 16px rgba(var(--tm-primary-rgb), .18));
    animation: not-found-float-b-psam1szuy5 6s ease-in-out infinite;
}

.not-found h1[b-psam1szuy5] {
    margin: 1.25rem 0 .5rem;
}

.not-found p[b-psam1szuy5] {
    max-width: 28rem;
    margin: 0 auto 1.75rem;
    color: var(--bs-secondary-color);
}

.not-found-actions[b-psam1szuy5] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .75rem;
}

    .not-found-actions .btn[b-psam1szuy5] {
        display: inline-flex;
        align-items: center;
        gap: .5rem;
    }

@keyframes not-found-float-b-psam1szuy5 {
    50% {
        transform: translateY(-8px);
    }
}
/* /Components/Shared/PageHeader.razor.rz.scp.css */
.page-header[b-u7dyhe01x5] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem 1rem;
    margin-bottom: 1.5rem;
}

.page-back[b-u7dyhe01x5] {
    display: inline-grid;
    place-items: center;
    flex-shrink: 0;
    width: 2.25rem;
    height: 2.25rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 50%;
    background: var(--tm-surface);
    color: var(--bs-secondary-color);
    transition: color var(--tm-dur) var(--tm-ease), border-color var(--tm-dur) var(--tm-ease);
}

    .page-back i[b-u7dyhe01x5] {
        transition: transform var(--tm-dur) var(--tm-ease);
    }

    .page-back:hover[b-u7dyhe01x5] {
        color: var(--tm-primary-text);
        border-color: var(--tm-primary-border);
        text-decoration: none;
    }

        .page-back:hover i[b-u7dyhe01x5] {
            transform: translateX(-2px);
        }

.page-heading[b-u7dyhe01x5] {
    flex: 1;
    min-width: 0;
}

    .page-heading h1[b-u7dyhe01x5] {
        margin: 0;
        overflow-wrap: anywhere;
    }

.page-subtitle[b-u7dyhe01x5] {
    margin: .25rem 0 0;
    color: var(--bs-secondary-color);
}

.page-actions[b-u7dyhe01x5] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
}

/* Smartphone: le azioni vanno sotto il titolo, a tutta larghezza */
@media (max-width: 575.98px) {
    .page-actions[b-u7dyhe01x5] {
        flex-basis: 100%;
    }
}
/* /Components/Shared/PresenceDot.razor.rz.scp.css */
/* Status colors are fixed, like the other state colors. Solid: chosen status (available, busy, away); ring: idle (no input) or offline.
   On an avatar the parent sets --presence-ring to the background color: it detaches the dot and fills the ring */
.tm-presence[b-jmjxr8h2c0] {
    --presence: #71717A;
    position: relative;
    display: inline-block;
    flex-shrink: 0;
    box-sizing: border-box;
    width: .625rem;
    height: .625rem;
    border: 2px solid var(--presence);
    border-radius: 50%;
    background-color: var(--presence);
    box-shadow: 0 0 0 2px var(--presence-ring, transparent);
    transition: background-color var(--tm-dur) var(--tm-ease), border-color var(--tm-dur) var(--tm-ease);
}

.tm-presence.is-available[b-jmjxr8h2c0] { --presence: #16A34A; }
.tm-presence.is-busy[b-jmjxr8h2c0] { --presence: #DC2626; }
.tm-presence.is-idle[b-jmjxr8h2c0],
.tm-presence.is-away[b-jmjxr8h2c0] { --presence: #CA8A04; }

[data-bs-theme=dark] .tm-presence[b-jmjxr8h2c0] { --presence: #A1A1AA; }
[data-bs-theme=dark] .tm-presence.is-available[b-jmjxr8h2c0] { --presence: #22C55E; }
[data-bs-theme=dark] .tm-presence.is-busy[b-jmjxr8h2c0] { --presence: #EF4444; }
[data-bs-theme=dark] .tm-presence.is-idle[b-jmjxr8h2c0],
[data-bs-theme=dark] .tm-presence.is-away[b-jmjxr8h2c0] { --presence: #EAB308; }

.tm-presence.is-idle[b-jmjxr8h2c0],
.tm-presence.is-offline[b-jmjxr8h2c0] {
    background-color: var(--presence-ring, transparent);
}

/* Busy: white bar, recognizable without the color */
.tm-presence.is-busy[b-jmjxr8h2c0]::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 15%;
    left: 15%;
    height: 2px;
    margin-top: -1px;
    border-radius: 1px;
    background-color: #fff;
}
