@import '_content/AnvizReceiverModule/AnvizReceiverModule.qvsy8oz8rf.bundle.scp.css';
@import '_content/Blazored.Toast/Blazored.Toast.bundle.scp.css';
@import '_content/ClaudeAIComponentModule/ClaudeAIComponentModule.dby8gaw9r1.bundle.scp.css';
@import '_content/EmployeeModule/EmployeeModule.tkgkqrt02m.bundle.scp.css';
@import '_content/ReportingModule/ReportingModule.shviwoo7n5.bundle.scp.css';
@import '_content/SharedComponentModule/SharedComponentModule.w3vezo3a16.bundle.scp.css';

/* /Layout/MainLayout.razor.rz.scp.css */
.page[b-5j4e7ojade] {
    height: 100%;
    font-family: var(--bs-font-sans-serif);
}

[b-5j4e7ojade] .icon {
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    width: 1rem;
    height: 1rem;
    background-repeat: no-repeat;
    background-color: var(--dxbl-btn-color);
}

[b-5j4e7ojade] .icon-back {
    -webkit-mask-image: url("images/back.svg");
    mask-image: url("images/back.svg");
}

[b-5j4e7ojade] .icon-log-in {
    -webkit-mask-image: url("images/account/log-in.svg");
    mask-image: url("images/account/log-in.svg");
}

[b-5j4e7ojade] .icon-log-out {
    -webkit-mask-image: url("images/account/log-out.svg");
    mask-image: url("images/account/log-out.svg");
}

[b-5j4e7ojade] .icon-user {
    -webkit-mask-image: url("images/account/user.svg");
    mask-image: url("images/account/user.svg");
}

[b-5j4e7ojade] .content {
    overflow: auto;
    display: flex;
    flex-direction: column;
}

[b-5j4e7ojade] .menu-button:hover .icon {
    background-color: var(--dxbl-btn-hover-color);
}

@media (max-width: 1024px) {
    [b-5j4e7ojade] .page-layout {
        grid-template-columns: 1fr !important;
        grid-template-rows: 1fr !important;
        grid-template-areas: "content" !important;
    }

    [b-5j4e7ojade] .layout-sidebar {
        position: fixed !important;
        top: 0;
        left: 0;
        height: 100vh;
        z-index: 1000;
        grid-area: unset !important;
        transform: translateX(-100%);
        transition: transform 0.3s ease;
        width: 280px !important;
        background: linear-gradient(135deg, #7eb6ff 0%, #5a9bff 100%);
        box-shadow: 4px 0 16px rgba(0, 0, 0, 0.25);
    }

    [b-5j4e7ojade] .layout-sidebar.mobile-open {
        transform: translateX(0);
    }

    [b-5j4e7ojade] .content {
        grid-area: content !important;
    }

    .mobile-hamburger[b-5j4e7ojade] {
        display: flex !important;
    }

    .mobile-backdrop[b-5j4e7ojade] {
        display: block !important;
    }
}

.mobile-hamburger[b-5j4e7ojade] {
    display: none;
    position: fixed;
    top: 12px;
    left: 12px;
    z-index: 1001;
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: linear-gradient(135deg, #7eb6ff, #5a9bff);
    color: white;
    border: none;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2);
    transition: transform 0.2s ease;
    -webkit-tap-highlight-color: transparent;
}

.mobile-hamburger:active[b-5j4e7ojade] {
    transform: scale(0.9);
}

.hamburger-icon[b-5j4e7ojade] {
    font-size: 1.5rem;
    line-height: 1;
    font-weight: bold;
}

.mobile-backdrop[b-5j4e7ojade] {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 999;
}

@media (max-width: 500px) {
    [b-5j4e7ojade] .menu-button .dxbl-btn-caption {
        display: none;
    }
}
/* /Layout/NavMenu.razor.rz.scp.css */
/* ========================================
   SIDEBAR BASE
   ======================================== */
#sidebar[b-rhd02aa5m6] {
    width: 15rem;
    box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.08);
    transition: width 0.3s cubic-bezier(0.4, 0.0, 0.2, 1), box-shadow 0.3s ease;
    height: 100vh;
    /* COLORE PIÙ CHIARO - Gradiente soft */
    background: linear-gradient(135deg, #7eb6ff 0% 0%, #5a9bff 100%);
    position: relative;
    /* Layout flex per gestire footer correttamente */
    display: flex;
    flex-direction: column;
}

    #sidebar.collapsed[b-rhd02aa5m6] {
        width: 70px;
    }

    #sidebar:hover[b-rhd02aa5m6] {
        box-shadow: 0px 6px 16px 0px rgba(0, 0, 0, 0.12);
    }

/* ========================================
   GRID LAYOUT - Fix per footer
   ======================================== */
[b-rhd02aa5m6] .page-layout {
    height: 100%;
    display: flex !important;
    flex-direction: column !important;
}

[b-rhd02aa5m6] .dxbl-gridlayout-root {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}

/* ========================================
   LOGO CONTAINER - PIÙ COMPATTO
   ======================================== */
.logo-container[b-rhd02aa5m6] {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,0.0);
    min-height: 60px; /* Ridotto da 70px */
}

.logo-full[b-rhd02aa5m6], .logo-icon[b-rhd02aa5m6] {
    background-color: white;
    border-radius: 12px; /* Ridotto da 15px */
    height: 50px; /* Ridotto da 55px */
    transition: opacity 0.3s ease-in-out, transform 0.3s ease;
    box-shadow: 0px 4px 12px 0 rgba(0, 0, 0, 0.1);
}

    .logo-full:hover[b-rhd02aa5m6], .logo-icon:hover[b-rhd02aa5m6] {
        transform: scale(1.02);
    }

.logo-icon[b-rhd02aa5m6] {
    opacity: 0;
    position: absolute;
}

#sidebar.collapsed .logo-full[b-rhd02aa5m6] {
    opacity: 0;
}

#sidebar.collapsed .logo-icon[b-rhd02aa5m6] {
    opacity: 1;
    height: 40px; /* Ridotto da 50px */
    padding: 4px;
}

/* ========================================
   TOGGLE BUTTON - FIX SOVRAPPOSIZIONE LOGO
   ======================================== */
.toggle-button[b-rhd02aa5m6] {
    position: absolute;
    right: -12px;
    top: 50%;
    transform: translateY(-50%);
    width: 26px; /* Ridotto da 28px */
    height: 26px;
    border-radius: 50%;
    background: var(--bs-white);
    border: 2px solid #4a90e2;
    color: #4a90e2;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0px 2px 8px rgba(0,0,0,0.12);
    transition: all 0.3s cubic-bezier(0.4, 0.0, 0.2, 1);
    z-index: 10;
}

    .toggle-button:hover[b-rhd02aa5m6] {
        background: #4a90e2;
        color: var(--bs-white);
        transform: translateY(-50%) scale(1.15);
        box-shadow: 0px 4px 12px rgba(0,0,0,0.2);
    }

    .toggle-button:active[b-rhd02aa5m6] {
        transform: translateY(-50%) scale(0.95);
    }

    .toggle-button i[b-rhd02aa5m6] {
        font-size: 11px; /* Ridotto da 12px */
        transition: transform 0.3s ease;
    }  

/* FIX: Sposta toggle button quando sidebar è collapsed */
#sidebar.collapsed .toggle-button[b-rhd02aa5m6] {
    right: -32px;
}

/* ========================================
   HEADER & MENU BUTTON - PIÙ COMPATTO
   ======================================== */
[b-rhd02aa5m6] .sidebar-header {
    padding: 1.25rem 1rem; /* Ridotto da 2rem */
    flex-shrink: 0;
}

.logo[b-rhd02aa5m6] {
    text-align: center;
}

.logo-banner[b-rhd02aa5m6] {
    text-align: center;
    background: var(--bs-white);
    border-radius: 20px;
    box-shadow: 0px 4px 6px -1px rgba(0, 0, 0, 0.1), 0px 2px 4px -2px rgba(0, 0, 0, 0.1);
}

[b-rhd02aa5m6] .menu-button-container {
    display: none;
    align-self: center;
}

.menu-button[b-rhd02aa5m6] {
    padding: 0.375rem;
    width: 1.875rem;
    height: 1.875rem;
    background-image: url("images/menu.svg");
    background-position: center;
    background-repeat: no-repeat;
    cursor: pointer;
    transition: transform 0.2s ease;
}

    .menu-button:hover[b-rhd02aa5m6] {
        transform: scale(1.1);
    }

/* ========================================
   NAVIGATION AREA - Flex grow per occupare spazio
   ======================================== */
[b-rhd02aa5m6] .layout-item {
    flex: 1;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* ========================================
   MENU WRAPPER & SCROLL
   ======================================== */
.menu-wrapper[b-rhd02aa5m6] {
    overflow-y: auto;
    overflow-x: hidden;
    flex: 1;
    padding-right: 4px;
    padding-bottom: 0.5rem; /* Ridotto da 1rem */
}

    .menu-wrapper[b-rhd02aa5m6]::-webkit-scrollbar {
        width: 5px; /* Ridotto da 6px */
    }

    .menu-wrapper[b-rhd02aa5m6]::-webkit-scrollbar-track {
        background: rgba(255, 255, 255, 0.08);
        border-radius: 3px;
    }

    .menu-wrapper[b-rhd02aa5m6]::-webkit-scrollbar-thumb {
        background: rgba(255, 255, 255, 0.25);
        border-radius: 3px;
        transition: background 0.3s ease;
    }

        .menu-wrapper[b-rhd02aa5m6]::-webkit-scrollbar-thumb:hover {
            background: rgba(255, 255, 255, 0.4);
        }

/* ========================================
   MENU BASE
   ======================================== */
[b-rhd02aa5m6] .menu {
    background-color: transparent;
}

    [b-rhd02aa5m6] .menu .dxbl-menu-item-list {
        gap: 0.15rem; /* Ridotto da 0.25rem */
    }

/* ========================================
   MENU ITEMS - PIÙ COMPATTI
   ======================================== */
[b-rhd02aa5m6] .menu-item {
    color: var(--bs-white);
    border-radius: 6px; /* Ridotto da 8px */
    margin: 0 6px; /* Ridotto da 8px */
    transition: all 0.25s cubic-bezier(0.4, 0.0, 0.2, 1);
    position: relative;
    padding: 7px 10px !important; /* Ridotto da 10px 12px */
    font-size: 0.875rem; /* 14px invece di default */
    overflow: hidden;
}

    [b-rhd02aa5m6] .menu-item:hover:not(.active) {
        background-color: rgba(255, 255, 255, 0.12);
        transform: translateX(3px); /* Ridotto da 4px */
    }

    [b-rhd02aa5m6] .menu-item.active {
        background: rgba(255, 255, 255, 0.2);
        font-weight: 600;
        box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.1);
        border-left: 3px solid var(--bs-white); /* Ridotto da 4px */
    }

        [b-rhd02aa5m6] .menu-item.active .icon {
            color: var(--bs-white);
            transform: scale(1.1);
        }

#sidebar.collapsed[b-rhd02aa5m6]  .menu-item {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 4px;
    padding: 10px !important; /* Ridotto da 12px */
    border-left: none;
}

    #sidebar.collapsed[b-rhd02aa5m6]  .menu-item.active {
        border-left: none;
        border-bottom: 3px solid var(--bs-white);
    }

    #sidebar.collapsed[b-rhd02aa5m6]  .menu-item .dxbl-menu-item-text {
        display: none;
    }

    #sidebar.collapsed[b-rhd02aa5m6]  .menu-item .icon {
        font-size: 16px; /* Ridotto da 18px */
        padding: 0;
        margin: 0;
    }

/* ========================================
   MENU ICONS - PIÙ COMPATTI
   ======================================== */
[b-rhd02aa5m6] .icon {
    width: 1.1rem; /* Ridotto da 1.25rem */
    height: 1.1rem;
    background-position: center;
    background-repeat: no-repeat;
    margin-right: 0.6rem; /* Ridotto da 0.75rem */
    font-size: 14px; /* Ridotto da 16px */
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* Legacy icons - manteniamo per retrocompatibilità */
[b-rhd02aa5m6] .home-icon {
    background-image: url("images/home.svg");
}

[b-rhd02aa5m6] .weather-icon {
    background-image: url("images/weather.svg");
}

[b-rhd02aa5m6] .counter-icon {
    background-image: url("images/counter.svg");
}

[b-rhd02aa5m6] .settings-icon {
    background-image: url("images/account/settings.svg");
}

[b-rhd02aa5m6] .docs-icon {
    mask-image: url("images/doc.svg");
    -webkit-mask-image: url("images/doc.svg");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: var(--dxbl-btn-color);
}

[b-rhd02aa5m6] .demos-icon {
    mask-image: url("images/demos.svg");
    -webkit-mask-image: url("images/demos.svg");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: var(--dxbl-btn-color);
}

[b-rhd02aa5m6] .footer-button:hover .demos-icon {
    background-color: var(--dxbl-btn-hover-color);
}

[b-rhd02aa5m6] .footer-button:hover .docs-icon {
    background-color: var(--dxbl-btn-hover-color);
}

/* ========================================
   MENU SEPARATORS & SECTIONS - PIÙ COMPATTI
   ======================================== */
[b-rhd02aa5m6] .menu-separator {
    pointer-events: none;
    padding: 0 !important;
    margin: 8px 0 3px 0 !important; /* Ridotto da 12px 0 4px 0 */
    background: transparent !important;
}

    [b-rhd02aa5m6] .menu-separator:hover {
        background: transparent !important;
        transform: none !important;
    }

.menu-divider[b-rhd02aa5m6] {
    padding: 0 12px; /* Ridotto da 16px */
    margin-top: 10px; /* Ridotto da 16px */
    margin-bottom: 6px; /* Ridotto da 8px */
}

.menu-section-title[b-rhd02aa5m6] {
    font-size: 0.65rem; /* Ridotto da 0.7rem */
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px; /* Ridotto da 1px */
    color: rgba(255, 255, 255, 0.8);
    transition: all 0.3s ease;
    display: block;
    border-bottom: 1px solid rgba(255, 255, 255, 0.25);
    padding-bottom: 3px; /* Ridotto da 4px */
}

#sidebar.collapsed .menu-section-title[b-rhd02aa5m6] {
    opacity: 0;
    height: 0;
    overflow: hidden;
    border: none;
    padding: 0;
    margin: 0;
}

#sidebar.collapsed .menu-divider[b-rhd02aa5m6] {
    padding: 0;
    margin: 6px 10px; /* Ridotto da 8px 12px */
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

/* ========================================
   FOOTER - PIÙ COMPATTO
   ======================================== */
[b-rhd02aa5m6] .footer {
    text-align: center;
    gap: 0.4rem; /* Ridotto da 0.5rem */
    padding: 0.75rem 0.5rem 1rem; /* Ridotto da 1rem 0.5rem 1.5rem */
    border-top: 1px solid rgba(255, 255, 255, 0.25);
    flex-shrink: 0;
    margin-top: auto;
    background: rgba(0, 0, 0, 0.05);
}

[b-rhd02aa5m6] .footer-menu {
    background-color: transparent;
}

[b-rhd02aa5m6] .logout-item {
    transition: all 0.25s ease;
}

    [b-rhd02aa5m6] .logout-item:hover {
        background-color: rgba(220, 53, 69, 0.2) !important;
        color: #ff6b6b !important;
        border-left-color: #ff6b6b !important;
    }

        [b-rhd02aa5m6] .logout-item:hover .icon {
            color: #ff6b6b !important;
        }

/* ========================================
   OVERFLOW TEXT (EMAIL) - FIX ELLIPSIS
   ======================================== */
.overflow-text[b-rhd02aa5m6] {
    max-width: 100%;
}

.overflow-text[b-rhd02aa5m6]  .dxbl-menu-item-content {
    display: flex;
    align-items: center;
    width: 100%;
    overflow: hidden;
}

.overflow-text[b-rhd02aa5m6]  .dxbl-menu-item-text {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
    min-width: 0;
    font-size: 0.875rem; /* Consistente con menu items */
}

#sidebar.collapsed .overflow-text[b-rhd02aa5m6]  .dxbl-menu-item-text {
    display: none;
}

/* ========================================
   LAYOUT VISIBILITY
   ======================================== */
#sidebar.expanded[b-rhd02aa5m6]  .layout-item {
    display: flex;
}

#sidebar.expanded[b-rhd02aa5m6]  .footer {
    display: block;
}

/* ========================================
   RESPONSIVE - MOBILE
   ======================================== */
@media (max-width: 768px) {
    .toggle-button[b-rhd02aa5m6] {
        display: none;
    }

    #sidebar[b-rhd02aa5m6] {
        width: 0;
        transition: width 0.3s cubic-bezier(0.4, 0.0, 0.2, 1);
    }

        #sidebar.expanded[b-rhd02aa5m6] {
            position: fixed;
            width: 280px;
            transition: width 0.3s cubic-bezier(0.4, 0.0, 0.2, 1);
            z-index: 1000;
            box-shadow: 4px 0 16px rgba(0, 0, 0, 0.25);
        }

            #sidebar.expanded .menu-button[b-rhd02aa5m6] {
                background-image: url("images/close.svg");
            }

        #sidebar:not(.expanded)[b-rhd02aa5m6]  .dxbl-gridlayout-root {
            gap: unset !important;
        }

    .logo[b-rhd02aa5m6] {
        text-align: inherit;
    }

    [b-rhd02aa5m6] .menu-button-container {
        display: block;
    }

    [b-rhd02aa5m6] .layout-item {
        display: none;
    }

    [b-rhd02aa5m6] .footer {
        display: none;
    }

    .menu-wrapper[b-rhd02aa5m6] {
        max-height: calc(100vh - 200px);
    }

    [b-rhd02aa5m6] .menu-item {
        margin: 0 12px;
    }
}

/* ========================================
   ANIMATIONS
   ======================================== */
@keyframes slideIn-b-rhd02aa5m6 {
    from {
        opacity: 0;
        transform: translateX(-10px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes fadeIn-b-rhd02aa5m6 {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

/* Animazione staggered per i menu items */
#sidebar.expanded[b-rhd02aa5m6]  .menu-item {
    animation: slideIn-b-rhd02aa5m6 0.3s ease-out backwards;
}

    #sidebar.expanded[b-rhd02aa5m6]  .menu-item:nth-child(1) {
        animation-delay: 0.05s;
    }

    #sidebar.expanded[b-rhd02aa5m6]  .menu-item:nth-child(2) {
        animation-delay: 0.1s;
    }

    #sidebar.expanded[b-rhd02aa5m6]  .menu-item:nth-child(3) {
        animation-delay: 0.15s;
    }

    #sidebar.expanded[b-rhd02aa5m6]  .menu-item:nth-child(4) {
        animation-delay: 0.2s;
    }

    #sidebar.expanded[b-rhd02aa5m6]  .menu-item:nth-child(5) {
        animation-delay: 0.25s;
    }

    #sidebar.expanded[b-rhd02aa5m6]  .menu-item:nth-child(6) {
        animation-delay: 0.3s;
    }

    #sidebar.expanded[b-rhd02aa5m6]  .menu-item:nth-child(7) {
        animation-delay: 0.35s;
    }

    #sidebar.expanded[b-rhd02aa5m6]  .menu-item:nth-child(8) {
        animation-delay: 0.4s;
    }

    #sidebar.expanded[b-rhd02aa5m6]  .menu-item:nth-child(9) {
        animation-delay: 0.45s;
    }

    #sidebar.expanded[b-rhd02aa5m6]  .menu-item:nth-child(10) {
        animation-delay: 0.5s;
    }

/* Animazione per i separatori */
#sidebar.expanded[b-rhd02aa5m6]  .menu-separator {
    animation: fadeIn-b-rhd02aa5m6 0.5s ease-out backwards;
}

/* ========================================
   ACCESSIBILITY & FOCUS STATES
   ======================================== */
.toggle-button:focus-visible[b-rhd02aa5m6] {
    outline: 2px solid var(--bs-white);
    outline-offset: 2px;
}

[b-rhd02aa5m6] .menu-item:focus-visible {
    outline: 2px solid rgba(255, 255, 255, 0.5);
    outline-offset: -2px;
}

/* ========================================
   TENANT SWITCHER
   ======================================== */
.tenant-switcher[b-rhd02aa5m6] {
    padding: 0 6px;
    margin-bottom: 4px;
    position: relative;
}

.tenant-current[b-rhd02aa5m6] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 10px;
    border-radius: 6px;
    color: var(--bs-white);
    font-size: 0.8rem;
    cursor: pointer;
    transition: all 0.25s ease;
    background: rgba(255, 255, 255, 0.08);
}

    .tenant-current:hover[b-rhd02aa5m6] {
        background: rgba(255, 255, 255, 0.15);
    }

.tenant-name[b-rhd02aa5m6] {
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: 600;
}

.tenant-arrow[b-rhd02aa5m6] {
    font-size: 0.6rem;
    opacity: 0.6;
    transition: transform 0.2s ease;
}

.tenant-dropdown[b-rhd02aa5m6] {
    margin-top: 2px;
    background: rgba(0, 0, 0, 0.2);
    border-radius: 6px;
    overflow: hidden;
    animation: fadeIn-b-rhd02aa5m6 0.15s ease-out;
}

.tenant-option[b-rhd02aa5m6] {
    display: flex;
    align-items: center;
    padding: 8px 12px;
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.8rem;
    cursor: pointer;
    transition: all 0.2s ease;
}

    .tenant-option:hover[b-rhd02aa5m6] {
        background: rgba(255, 255, 255, 0.1);
        color: var(--bs-white);
    }

    .tenant-option.active[b-rhd02aa5m6] {
        color: var(--bs-white);
        font-weight: 600;
        background: rgba(255, 255, 255, 0.12);
    }

.tenant-single[b-rhd02aa5m6] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 16px;
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.5);
    margin-bottom: 4px;
}

#sidebar.collapsed .tenant-switcher[b-rhd02aa5m6],
#sidebar.collapsed .tenant-single[b-rhd02aa5m6] {
    display: none;
}

/* ========================================
   PRINT STYLES
   ======================================== */
@media print {
    #sidebar[b-rhd02aa5m6] {
        display: none;
    }
}

.menu-item.locked-menu-item[b-rhd02aa5m6] {
    opacity: 0.85;
}

    .menu-item.locked-menu-item:hover[b-rhd02aa5m6] {
        opacity: 1;
        background: rgba(102, 126, 234, 0.1) !important;
    }

/* ========================================
   CHRISTMAS THEME - SNOWFALL EFFECT
   ======================================== */

/* Sidebar Snowflakes Container */
.sidebar-snowflakes[b-rhd02aa5m6] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 1;
    overflow: hidden;
}

.sidebar-snowflake[b-rhd02aa5m6] {
    position: absolute;
    top: -10px;
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.9em;
    font-family: Arial, sans-serif;
    text-shadow: 0 0 3px rgba(255, 255, 255, 0.6);
    animation: sidebarSnowfall-b-rhd02aa5m6 linear infinite;
    opacity: 0;
}

    /* Varia dimensioni e velocità dei fiocchi - 25 fiocchi */
    .sidebar-snowflake:nth-child(1n)[b-rhd02aa5m6] {
        left: 5%;
        animation-duration: 9s;
        animation-delay: 0s;
        font-size: 1em;
    }

    .sidebar-snowflake:nth-child(2n)[b-rhd02aa5m6] {
        left: 15%;
        animation-duration: 11s;
        animation-delay: 1s;
        font-size: 0.7em;
    }

    .sidebar-snowflake:nth-child(3n)[b-rhd02aa5m6] {
        left: 25%;
        animation-duration: 10s;
        animation-delay: 2s;
        font-size: 1.2em;
    }

    .sidebar-snowflake:nth-child(4n)[b-rhd02aa5m6] {
        left: 35%;
        animation-duration: 12s;
        animation-delay: 0.5s;
        font-size: 0.9em;
    }

    .sidebar-snowflake:nth-child(5n)[b-rhd02aa5m6] {
        left: 45%;
        animation-duration: 13s;
        animation-delay: 1.5s;
        font-size: 0.8em;
    }

    .sidebar-snowflake:nth-child(6n)[b-rhd02aa5m6] {
        left: 55%;
        animation-duration: 11s;
        animation-delay: 2.5s;
        font-size: 1.1em;
    }

    .sidebar-snowflake:nth-child(7n)[b-rhd02aa5m6] {
        left: 65%;
        animation-duration: 14s;
        animation-delay: 3s;
        font-size: 1em;
    }

    .sidebar-snowflake:nth-child(8n)[b-rhd02aa5m6] {
        left: 75%;
        animation-duration: 10s;
        animation-delay: 1s;
        font-size: 0.6em;
    }

    .sidebar-snowflake:nth-child(9n)[b-rhd02aa5m6] {
        left: 85%;
        animation-duration: 12s;
        animation-delay: 0s;
        font-size: 1.3em;
    }

    .sidebar-snowflake:nth-child(10n)[b-rhd02aa5m6] {
        left: 95%;
        animation-duration: 11s;
        animation-delay: 2s;
        font-size: 0.9em;
    }

@keyframes sidebarSnowfall-b-rhd02aa5m6 {
    0% {
        top: -10%;
        opacity: 0;
    }

    10% {
        opacity: 1;
    }

    90% {
        opacity: 1;
    }

    100% {
        top: 110%;
        opacity: 0;
        transform: translateX(20px) rotate(180deg);
    }
}

/* Christmas Theme - Background Gradient */
#sidebar.christmas-theme[b-rhd02aa5m6] {
    background: linear-gradient(135deg, #dc2626 0%, #15803d 50%, #dc2626 100%);
    background-size: 200% 200%;
    animation: christmasGradient-b-rhd02aa5m6 10s ease infinite;
}

@keyframes christmasGradient-b-rhd02aa5m6 {
    0%, 100% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }
}

/* Christmas Logo Decoration */
.christmas-logo-decoration[b-rhd02aa5m6] {
    position: absolute;
    top: -8px;
    right: 8px;
    font-size: 24px;
    animation: christmasLogoRotate-b-rhd02aa5m6 3s ease-in-out infinite;
    z-index: 5;
}

@keyframes christmasLogoRotate-b-rhd02aa5m6 {
    0%, 100% {
        transform: rotate(0deg) scale(1);
    }

    25% {
        transform: rotate(-15deg) scale(1.1);
    }

    75% {
        transform: rotate(15deg) scale(1.1);
    }
}

#sidebar.collapsed .christmas-logo-decoration[b-rhd02aa5m6] {
    right: 50%;
    transform: translateX(50%);
}

/* Christmas Footer Message */
.christmas-footer-message[b-rhd02aa5m6] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px;
    margin-bottom: 8px;
    background: rgba(255, 255, 255, 0.15);
    border-radius: 8px;
    font-size: 12px;
    font-weight: 700;
    color: white;
    animation: christmasFooterPulse-b-rhd02aa5m6 2s ease-in-out infinite;
}

@keyframes christmasFooterPulse-b-rhd02aa5m6 {
    0%, 100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.4);
    }

    50% {
        transform: scale(1.03);
        box-shadow: 0 0 0 4px rgba(255, 255, 255, 0);
    }
}

.christmas-emoji[b-rhd02aa5m6] {
    font-size: 16px;
    display: inline-block;
    animation: emojiWiggle-b-rhd02aa5m6 1.5s ease-in-out infinite;
}

    .christmas-emoji:first-child[b-rhd02aa5m6] {
        animation-delay: 0s;
    }

    .christmas-emoji:last-child[b-rhd02aa5m6] {
        animation-delay: 0.75s;
    }

@keyframes emojiWiggle-b-rhd02aa5m6 {
    0%, 100% {
        transform: rotate(0deg);
    }

    25% {
        transform: rotate(-10deg);
    }

    75% {
        transform: rotate(10deg);
    }
}

#sidebar.collapsed .christmas-footer-message span:not(.christmas-emoji)[b-rhd02aa5m6] {
    display: none;
}

#sidebar.collapsed .christmas-footer-message[b-rhd02aa5m6] {
    flex-direction: column;
    gap: 2px;
}

/* Christmas Theme Menu Items - Effetto festivo */
#sidebar.christmas-theme[b-rhd02aa5m6]  .menu-item:hover:not(.active) {
    background-color: rgba(255, 255, 255, 0.2);
}

#sidebar.christmas-theme[b-rhd02aa5m6]  .menu-item.active {
    background: rgba(255, 255, 255, 0.25);
    border-left-color: #fef08a;
}

#sidebar.christmas-theme[b-rhd02aa5m6]  .menu-section-title {
    color: rgba(255, 255, 255, 0.95);
    border-bottom-color: rgba(255, 255, 255, 0.35);
}

/* Christmas Theme Toggle Button */
#sidebar.christmas-theme .toggle-button[b-rhd02aa5m6] {
    border-color: #fef08a;
    color: #fef08a;
}

    #sidebar.christmas-theme .toggle-button:hover[b-rhd02aa5m6] {
        background: #fef08a;
        color: #dc2626;
    }

/* Sidebar collapsed - meno neve */
#sidebar.collapsed .sidebar-snowflake:nth-child(n+15)[b-rhd02aa5m6] {
    display: none;
}

/* Mobile - meno neve per performance */
@media (max-width: 768px) {
    .sidebar-snowflake:nth-child(n+12)[b-rhd02aa5m6] {
        display: none;
    }
}

/* Accessibility - Disable animations */
@media (prefers-reduced-motion: reduce) {
    .sidebar-snowflake[b-rhd02aa5m6],
    .christmas-logo-decoration[b-rhd02aa5m6],
    .christmas-footer-message[b-rhd02aa5m6],
    .christmas-emoji[b-rhd02aa5m6] {
        animation: none !important;
    }

    #sidebar.christmas-theme[b-rhd02aa5m6] {
        background: linear-gradient(135deg, #dc2626 0%, #15803d 100%);
        animation: none;
    }
}

/* Guide highlight - unseen tour indicator */
[b-rhd02aa5m6] .guide-highlight {
    animation: guide-pulse-b-rhd02aa5m6 2s ease-in-out infinite;
}

@keyframes guide-pulse-b-rhd02aa5m6 {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.7; background: rgba(26, 115, 232, 0.08); }
}

/* Print - Hide Christmas elements */
@media print {
    .sidebar-snowflakes[b-rhd02aa5m6],
    .christmas-logo-decoration[b-rhd02aa5m6],
    .christmas-footer-message[b-rhd02aa5m6] {
        display: none !important;
    }
}
/* /Pages/Auth/Login.razor.rz.scp.css */
/* ============================================
   LOGIN PAGE - DASHBOARD STYLE ALIGNED
   ============================================ */

/* === CONTAINER === */
.login-container[b-d75dahzg97] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-image: url('https://sednanext.blob.core.windows.net/rilevazionepresenze/loginbackground.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    padding: 12px;
    position: relative;
    transition: background-image 0.5s ease;
}

    /* Christmas Theme Background */
    .login-container.christmas-theme[b-d75dahzg97] {
        background-image: url('https://sednanext.blob.core.windows.net/rilevazionepresenze/loginbackground_christmas.png');
    }

    /* Overlay azzurro chiaro come la dashboard */
    .login-container[b-d75dahzg97]::before {
        content: '';
        position: absolute;
        inset: 0;
        background: rgba(240, 247, 255, 0.3);
        /*backdrop-filter: blur(3px);*/
        z-index: 0;
        transition: background 0.5s ease;
    }

    /* Christmas Theme Overlay - più trasparente per vedere il background */
    .login-container.christmas-theme[b-d75dahzg97]::before {
        background: rgba(240, 247, 255, 0.75);
    }

/* ========================================
   SNOWFLAKES ANIMATION
   ======================================== */
.snowflakes[b-d75dahzg97] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 1;
    overflow: hidden;
}

.snowflake[b-d75dahzg97] {
    position: absolute;
    top: -10px;
    color: #fff;
    font-size: 1em;
    font-family: Arial, sans-serif;
    text-shadow: 0 0 5px rgba(255, 255, 255, 0.8);
    animation: snowfall-b-d75dahzg97 linear infinite;
    opacity: 0;
}

    /* Varia dimensioni e velocità dei fiocchi */
    .snowflake:nth-child(1n)[b-d75dahzg97] {
        left: 1%;
        animation-duration: 8s;
        animation-delay: 0s;
        font-size: 1.2em;
    }

    .snowflake:nth-child(2n)[b-d75dahzg97] {
        left: 10%;
        animation-duration: 11s;
        animation-delay: 1s;
        font-size: 0.8em;
    }

    .snowflake:nth-child(3n)[b-d75dahzg97] {
        left: 20%;
        animation-duration: 9s;
        animation-delay: 2s;
        font-size: 1.5em;
    }

    .snowflake:nth-child(4n)[b-d75dahzg97] {
        left: 30%;
        animation-duration: 13s;
        animation-delay: 0.5s;
        font-size: 1em;
    }

    .snowflake:nth-child(5n)[b-d75dahzg97] {
        left: 40%;
        animation-duration: 10s;
        animation-delay: 1.5s;
        font-size: 0.9em;
    }

    .snowflake:nth-child(6n)[b-d75dahzg97] {
        left: 50%;
        animation-duration: 12s;
        animation-delay: 2.5s;
        font-size: 1.3em;
    }

    .snowflake:nth-child(7n)[b-d75dahzg97] {
        left: 60%;
        animation-duration: 14s;
        animation-delay: 3s;
        font-size: 1.1em;
    }

    .snowflake:nth-child(8n)[b-d75dahzg97] {
        left: 70%;
        animation-duration: 9s;
        animation-delay: 1s;
        font-size: 0.7em;
    }

    .snowflake:nth-child(9n)[b-d75dahzg97] {
        left: 80%;
        animation-duration: 11s;
        animation-delay: 0s;
        font-size: 1.4em;
    }

    .snowflake:nth-child(10n)[b-d75dahzg97] {
        left: 90%;
        animation-duration: 10s;
        animation-delay: 2s;
        font-size: 1em;
    }

@keyframes snowfall-b-d75dahzg97 {
    0% {
        top: -10%;
        opacity: 0;
    }

    10% {
        opacity: 1;
    }

    90% {
        opacity: 1;
    }

    100% {
        top: 110%;
        opacity: 0;
        transform: translateX(50px) rotate(360deg);
    }
}

/* ========================================
   CHRISTMAS DECORATIONS
   ======================================== */
.christmas-decoration[b-d75dahzg97] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 8px;
    padding: 6px 12px;
    background: linear-gradient(135deg, rgba(220, 38, 38, 0.15), rgba(21, 128, 61, 0.15));
    border-radius: 20px;
    animation: christmasGlow-b-d75dahzg97 2s ease-in-out infinite;
}

@keyframes christmasGlow-b-d75dahzg97 {
    0%, 100% {
        box-shadow: 0 0 10px rgba(220, 38, 38, 0.3);
    }

    50% {
        box-shadow: 0 0 20px rgba(21, 128, 61, 0.5);
    }
}

.christmas-icon[b-d75dahzg97] {
    font-size: 20px;
    animation: christmasRotate-b-d75dahzg97 4s ease-in-out infinite;
}

@keyframes christmasRotate-b-d75dahzg97 {
    0%, 100% {
        transform: rotate(0deg) scale(1);
    }

    25% {
        transform: rotate(-10deg) scale(1.1);
    }

    75% {
        transform: rotate(10deg) scale(1.1);
    }
}

.christmas-text[b-d75dahzg97] {
    font-size: 13px;
    font-weight: 700;
    background: linear-gradient(90deg, #dc2626, #15803d, #dc2626);
    background-size: 200% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: christmasTextShine-b-d75dahzg97 3s linear infinite;
}

@keyframes christmasTextShine-b-d75dahzg97 {
    to {
        background-position: 200% center;
    }
}

.christmas-footer[b-d75dahzg97] {
    margin-top: 6px;
    font-size: 11px;
    font-weight: 600;
    color: #dc2626;
    animation: christmasFooterPulse-b-d75dahzg97 2s ease-in-out infinite;
}

@keyframes christmasFooterPulse-b-d75dahzg97 {
    0%, 100% {
        transform: scale(1);
        opacity: 0.8;
    }

    50% {
        transform: scale(1.05);
        opacity: 1;
    }
}

/* ========================================
   EXISTING STYLES (mantieni tutto il resto)
   ======================================== */

/* === CARD === */
.login-card[b-d75dahzg97] {
    position: relative;
    z-index: 2;
    background: white;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(59, 130, 246, 0.06);
    border: 1px solid rgba(59, 130, 246, 0.08);
    width: 100%;
    max-width: 380px;
    overflow: hidden;
    animation: slideUp-b-d75dahzg97 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Christmas theme card enhancement */
.christmas-theme .login-card[b-d75dahzg97] {
    box-shadow: 0 4px 20px rgba(220, 38, 38, 0.15), 0 2px 8px rgba(21, 128, 61, 0.1);
    border: 1px solid rgba(220, 38, 38, 0.15);
}

@keyframes slideUp-b-d75dahzg97 {
    from {
        opacity: 0;
        transform: translateY(20px) scale(0.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* === HEADER === */
.login-header[b-d75dahzg97] {
    background: linear-gradient(to right, #f0f7ff, #ffffff);
    padding: 16px;
    text-align: center;
    border-bottom: 1px solid #e8f2ff;
}

/* Christmas theme header */
.christmas-theme .login-header[b-d75dahzg97] {
    background: linear-gradient(to right, #fef2f2, #f0fdf4);
    border-bottom: 1px solid rgba(220, 38, 38, 0.1);
}

.login-logo[b-d75dahzg97] {
    max-width: 180px;
    height: auto;
    transition: transform 0.3s ease;
}

    .login-logo:hover[b-d75dahzg97] {
        transform: scale(1.03);
    }

/* === CONTENT === */
.login-content[b-d75dahzg97] {
    padding: 18px;
}

.section-header[b-d75dahzg97] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid #e8f2ff;
    animation: fadeIn-b-d75dahzg97 0.5s ease-out;
}

@keyframes fadeIn-b-d75dahzg97 {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.header-icon[b-d75dahzg97] {
    width: 36px;
    height: 36px;
    background: linear-gradient(135deg, #7eb6ff 0%, #5ea6ff 100%);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

/* Christmas theme header icon */
.christmas-theme .header-icon[b-d75dahzg97] {
    background: linear-gradient(135deg, #dc2626 0%, #15803d 100%);
}

.header-icon i[b-d75dahzg97] {
    font-size: 18px;
    color: white;
    transition: transform 0.3s ease;
}

.section-header:hover .header-icon[b-d75dahzg97] {
    transform: scale(1.05);
}

    .section-header:hover .header-icon i[b-d75dahzg97] {
        transform: rotate(10deg);
    }

.header-text[b-d75dahzg97] {
    flex: 1;
}

.section-title[b-d75dahzg97] {
    margin: 0 0 2px 0;
    font-size: 20px;
    font-weight: 700;
    color: #1e3a5f;
    font-family: 'Poppins', sans-serif;
    line-height: 1.2;
}

.section-subtitle[b-d75dahzg97] {
    margin: 0;
    font-size: 12px;
    color: #64748b;
    line-height: 1.3;
    font-weight: 500;
}

/* === FORM === */
.login-form[b-d75dahzg97] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    animation: formSlideIn-b-d75dahzg97 0.5s ease-out 0.1s backwards;
}

@keyframes formSlideIn-b-d75dahzg97 {
    from {
        opacity: 0;
        transform: translateY(16px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.form-group[b-d75dahzg97] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.form-label[b-d75dahzg97] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 600;
    color: #1e3a5f;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

    .form-label i[b-d75dahzg97] {
        font-size: 11px;
        color: #5ea6ff;
    }

/* Christmas theme form label icon */
.christmas-theme .form-label i[b-d75dahzg97] {
    color: #dc2626;
}

.form-control[b-d75dahzg97] {
    padding: 10px 12px;
    border: 2px solid #e8f2ff;
    border-radius: 8px;
    font-size: 13px;
    color: #1e3a5f;
    background: white;
    transition: all 0.3s ease;
    font-family: 'Poppins', sans-serif;
}

    .form-control:focus[b-d75dahzg97] {
        outline: none;
        border-color: #5ea6ff;
        box-shadow: 0 0 0 3px rgba(94, 166, 255, 0.1);
        background: #f8fcff;
    }

/* Christmas theme form control focus */
.christmas-theme .form-control:focus[b-d75dahzg97] {
    border-color: #dc2626;
    box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.1);
}

.form-control:disabled[b-d75dahzg97] {
    background: #f8fcff;
    cursor: not-allowed;
    opacity: 0.6;
}

.form-control[b-d75dahzg97]::placeholder {
    color: #94a3b8;
    opacity: 0.7;
}

.validation-feedback[b-d75dahzg97] {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    color: #ff8a8a;
    margin-top: 2px;
    animation: errorShake-b-d75dahzg97 0.4s ease-out;
}

@keyframes errorShake-b-d75dahzg97 {
    0%, 100% {
        transform: translateX(0);
    }

    25% {
        transform: translateX(-4px);
    }

    75% {
        transform: translateX(4px);
    }
}

/* === FORM OPTIONS === */
.form-options[b-d75dahzg97] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 4px;
    font-size: 12px;
}

.forgot-password-link[b-d75dahzg97] {
    color: #5ea6ff;
    text-decoration: none;
    font-size: 12px;
    cursor: pointer;
    transition: color 0.2s ease;
}

    .forgot-password-link:hover[b-d75dahzg97] {
        color: #3d8de5;
        text-decoration: underline;
    }

.form-check[b-d75dahzg97] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.form-check-input[b-d75dahzg97] {
    width: 16px;
    height: 16px;
    accent-color: #5ea6ff;
    cursor: pointer;
    transition: transform 0.2s ease;
}

/* Christmas theme checkbox */
.christmas-theme .form-check-input[b-d75dahzg97] {
    accent-color: #dc2626;
}

.form-check-input:hover[b-d75dahzg97] {
    transform: scale(1.08);
}

.form-check-label[b-d75dahzg97] {
    font-size: 12px;
    color: #64748b;
    cursor: pointer;
    user-select: none;
    transition: color 0.2s ease;
    font-weight: 500;
}

    .form-check-label:hover[b-d75dahzg97] {
        color: #5ea6ff;
    }

/* === BUTTON === */
.btn-login[b-d75dahzg97] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px;
    background: linear-gradient(135deg, #7eb6ff 0%, #5ea6ff 100%);
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    margin-top: 8px;
    font-family: 'Poppins', sans-serif;
    position: relative;
    overflow: hidden;
}

/* Christmas theme button */
.christmas-theme .btn-login[b-d75dahzg97] {
    background: linear-gradient(135deg, #dc2626 0%, #15803d 100%);
}

.btn-login[b-d75dahzg97]::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    transform: translate(-50%, -50%);
    transition: width 0.6s, height 0.6s;
}

.btn-login:hover:not(:disabled)[b-d75dahzg97]::before {
    width: 300px;
    height: 300px;
}

.btn-login:hover:not(:disabled)[b-d75dahzg97] {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(94, 166, 255, 0.3);
}

/* Christmas theme button hover */
.christmas-theme .btn-login:hover:not(:disabled)[b-d75dahzg97] {
    box-shadow: 0 6px 16px rgba(220, 38, 38, 0.3);
}

.btn-login:active:not(:disabled)[b-d75dahzg97] {
    transform: translateY(0);
}

.btn-login:disabled[b-d75dahzg97] {
    opacity: 0.6;
    cursor: not-allowed;
}

.btn-login i[b-d75dahzg97],
.btn-login span[b-d75dahzg97] {
    position: relative;
    z-index: 1;
}

.spinner-border[b-d75dahzg97] {
    width: 14px;
    height: 14px;
    border: 2px solid transparent;
    border-top-color: currentColor;
    border-radius: 50%;
    animation: spin-b-d75dahzg97 0.8s linear infinite;
}

@keyframes spin-b-d75dahzg97 {
    to {
        transform: rotate(360deg);
    }
}

/* === BACK BUTTON === */
.back-action[b-d75dahzg97] {
    margin-top: 12px;
    text-align: center;
    animation: fadeIn-b-d75dahzg97 0.5s ease-out 0.3s backwards;
}

.btn-link[b-d75dahzg97] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: transparent;
    border: none;
    color: #5ea6ff;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    border-radius: 6px;
    transition: all 0.2s ease;
    position: relative;
}

    .btn-link[b-d75dahzg97]::before {
        content: '';
        position: absolute;
        inset: 0;
        background: #e8f2ff;
        border-radius: 6px;
        opacity: 0;
        transition: opacity 0.2s ease;
    }

    .btn-link:hover[b-d75dahzg97]::before {
        opacity: 1;
    }

    .btn-link i[b-d75dahzg97],
    .btn-link span[b-d75dahzg97] {
        position: relative;
        z-index: 1;
    }

    .btn-link:hover[b-d75dahzg97] {
        transform: translateX(-3px);
    }

/* === ALERTS === */
.alert-container[b-d75dahzg97] {
    margin-top: 12px;
    animation: alertSlideIn-b-d75dahzg97 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes alertSlideIn-b-d75dahzg97 {
    from {
        opacity: 0;
        transform: translateY(-16px) scale(0.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.alert[b-d75dahzg97] {
    display: flex;
    gap: 10px;
    padding: 12px;
    border-radius: 8px;
    border: 1px solid;
    background: #ffecd1;
    border-color: #ffa84d;
}

.alert-icon[b-d75dahzg97] {
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #ffa84d;
    animation: alertPulse-b-d75dahzg97 2s ease-in-out infinite;
}

@keyframes alertPulse-b-d75dahzg97 {
    0%, 100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.12);
    }
}

.alert-content[b-d75dahzg97] {
    flex: 1;
}

.alert-message[b-d75dahzg97] {
    font-weight: 600;
    color: #cc6600;
    margin-bottom: 2px;
    font-size: 12px;
}

.alert-detail[b-d75dahzg97] {
    font-size: 11px;
    color: #94a3b8;
}

    .alert-detail strong[b-d75dahzg97] {
        color: #64748b;
    }

/* === FOOTER === */
.login-footer[b-d75dahzg97] {
    padding: 12px;
    text-align: center;
    background: #f8fcff;
    border-top: 1px solid #e8f2ff;
    color: #94a3b8;
    font-size: 11px;
}

/* Christmas theme footer */
.christmas-theme .login-footer[b-d75dahzg97] {
    background: linear-gradient(to right, #fef2f2, #f0fdf4);
}

/* === RESPONSIVE === */
@media (max-width: 576px) {
    .login-container[b-d75dahzg97] {
        padding: 8px;
    }

    .login-content[b-d75dahzg97] {
        padding: 14px;
    }

    .section-header[b-d75dahzg97] {
        gap: 8px;
    }

    .header-icon[b-d75dahzg97] {
        width: 32px;
        height: 32px;
    }

    .section-title[b-d75dahzg97] {
        font-size: 18px;
    }

    .section-subtitle[b-d75dahzg97] {
        font-size: 11px;
    }

    .form-options[b-d75dahzg97] {
        flex-direction: column;
        gap: 8px;
        align-items: flex-start;
    }

    .login-logo[b-d75dahzg97] {
        max-width: 120px;
    }

    .login-card[b-d75dahzg97] {
        max-width: 100%;
    }

    /* Meno fiocchi di neve su mobile per performance */
    .snowflake:nth-child(n+30)[b-d75dahzg97] {
        display: none;
    }
}

/* === DARK MODE === */
@media (prefers-color-scheme: dark) {
    .login-container[b-d75dahzg97]::before {
        background: rgba(30, 58, 95, 0.93);
    }

    .login-card[b-d75dahzg97] {
        background: #1e3a5f;
        border-color: rgba(94, 166, 255, 0.15);
    }

    .login-header[b-d75dahzg97] {
        background: linear-gradient(to right, rgba(94, 166, 255, 0.08), rgba(94, 166, 255, 0.04));
        border-bottom-color: rgba(94, 166, 255, 0.12);
    }

    .form-control[b-d75dahzg97] {
        background: rgba(255, 255, 255, 0.04);
        border-color: rgba(94, 166, 255, 0.12);
        color: #e8f2ff;
    }

        .form-control:focus[b-d75dahzg97] {
            background: rgba(255, 255, 255, 0.06);
        }

    .login-footer[b-d75dahzg97] {
        background: rgba(255, 255, 255, 0.02);
        border-top-color: rgba(94, 166, 255, 0.12);
    }

    .section-title[b-d75dahzg97] {
        color: #e8f2ff;
    }

    .form-label[b-d75dahzg97] {
        color: #cbd5e1;
    }
}

/* === ACCESSIBILITY === */
@media (prefers-reduced-motion: reduce) {
    *[b-d75dahzg97],
    *[b-d75dahzg97]::before,
    *[b-d75dahzg97]::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    .snowflake[b-d75dahzg97] {
        display: none;
    }
}

.btn-login:focus-visible[b-d75dahzg97],
.form-control:focus-visible[b-d75dahzg97],
.btn-link:focus-visible[b-d75dahzg97] {
    outline: 2px solid #5ea6ff;
    outline-offset: 2px;
}
/* /Pages/Home.razor.rz.scp.css */
.welcome[b-0j8reawp7z] {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

[b-0j8reawp7z] .welcome-gridlayout {
    margin: auto;
    width: auto;
    height: auto;
}

    [b-0j8reawp7z] .welcome-gridlayout .dxbl-gridlayout-root {
        align-content: center;
        justify-content: center;
    }

[b-0j8reawp7z] .welcome-title {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.welcome-title .welcome-title-header[b-0j8reawp7z] {
    font-size: 2.5rem;
    font-weight: 600;
    letter-spacing: 0em;
    text-align: center;
}

.welcome-title .welcome-title-content[b-0j8reawp7z] {
    font-size: 2rem;
    font-weight: 400;
    letter-spacing: 0em;
    text-align: center;
}

[b-0j8reawp7z] .welcome-cards {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    justify-content: center;
}

[b-0j8reawp7z] .welcome-card {
    width: 26.25rem;
    height: 15rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0px 4px 6px -1px rgba(0, 0, 0, 0.1), 0px 2px 4px -2px rgba(0, 0, 0, 0.1);
    transition: box-shadow 0.2s;
    border-radius: 1rem;
    color: var(--bs-link-color-rgb);
    gap: 1.5rem;
    text-decoration: none;
    position: relative;
}

    [b-0j8reawp7z] .welcome-card:hover {
        box-shadow: 0px 20px 25px -5px rgba(0, 0, 0, 0.1), 0px 8px 10px -6px rgba(0, 0, 0, 0.1);
    }

    [b-0j8reawp7z] .welcome-card .welcome-card-img {
        width: 6.5rem;
        height: 6.5rem;
    }

    [b-0j8reawp7z] .welcome-card .welcome-card-text {
        font-size: 1.75rem;
        font-weight: 600;
        letter-spacing: 0em;
        text-align: center;
        text-decoration: unset;
    }

[b-0j8reawp7z] .icon-fill {
    fill: var(--bs-primary);
}

[b-0j8reawp7z] .welcome-card .welcome-card-back {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--bs-body-color);
    opacity: 0.05;
    border-radius: 1rem;
    z-index: -2;
}
/* /Pages/Onboarding/OnboardingWizard.razor.rz.scp.css */
/* === ONBOARDING PAGE LAYOUT === */
.onboarding-page[b-4mxzahh5sb] {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background: #f5f7fa;
}

/* === TOP BAR === */
.onboarding-topbar[b-4mxzahh5sb] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 2rem;
    background: white;
    border-bottom: 1px solid #e9ecef;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}

.topbar-brand[b-4mxzahh5sb] {
    font-size: 1.1rem;
    color: #1a73e8;
}

/* === STEPPER === */
.onboarding-stepper[b-4mxzahh5sb] {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 1.5rem 1rem;
    background: white;
    border-bottom: 1px solid #e9ecef;
    flex-wrap: wrap;
}

.step-indicator[b-4mxzahh5sb] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
    cursor: pointer;
    min-width: 80px;
    opacity: 0.5;
    transition: opacity 0.2s;
}

.step-indicator.active[b-4mxzahh5sb],
.step-indicator.completed[b-4mxzahh5sb] {
    opacity: 1;
}

.step-dot[b-4mxzahh5sb] {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    font-weight: 600;
    border: 2px solid #dee2e6;
    background: white;
    color: #6c757d;
    transition: all 0.2s;
}

.step-indicator.active .step-dot[b-4mxzahh5sb] {
    border-color: #1a73e8;
    background: #1a73e8;
    color: white;
}

.step-indicator.completed .step-dot[b-4mxzahh5sb] {
    border-color: #28a745;
    background: #28a745;
    color: white;
}

.step-label[b-4mxzahh5sb] {
    font-size: 0.7rem;
    text-align: center;
    color: #6c757d;
    max-width: 80px;
}

.step-indicator.active .step-label[b-4mxzahh5sb] {
    color: #1a73e8;
    font-weight: 600;
}

.step-indicator.completed .step-label[b-4mxzahh5sb] {
    color: #28a745;
}

/* === CONTENT === */
.onboarding-content[b-4mxzahh5sb] {
    flex: 1;
    max-width: 900px;
    width: 100%;
    margin: 0 auto;
    padding: 2rem;
}

/* === NAVIGATION === */
.onboarding-nav[b-4mxzahh5sb] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 2rem;
    background: white;
    border-top: 1px solid #e9ecef;
    position: sticky;
    bottom: 0;
}

.nav-left[b-4mxzahh5sb], .nav-right[b-4mxzahh5sb] {
    display: flex;
    align-items: center;
}

.nav-center[b-4mxzahh5sb] {
    font-size: 0.85rem;
}

/* === WELCOME STEP === */
[b-4mxzahh5sb] .welcome-hero {
    text-align: center;
    margin-bottom: 2rem;
}

[b-4mxzahh5sb] .feature-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
}

[b-4mxzahh5sb] .feature-card {
    background: white;
    border-radius: 10px;
    padding: 1.5rem;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    border: 1px solid #e9ecef;
}

[b-4mxzahh5sb] .feature-card h5 {
    margin: 0.75rem 0 0.5rem;
    font-size: 0.95rem;
}

[b-4mxzahh5sb] .feature-card p {
    font-size: 0.82rem;
    color: #6c757d;
    margin: 0;
}

[b-4mxzahh5sb] .feature-icon {
    width: 50px;
    height: 50px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
}

[b-4mxzahh5sb] .bg-primary-light { background: #e8f0fe; }
[b-4mxzahh5sb] .bg-success-light { background: #e6f4ea; }
[b-4mxzahh5sb] .bg-info-light { background: #e0f7fa; }
[b-4mxzahh5sb] .bg-warning-light { background: #fff3e0; }

/* === INFO STEPS (Stamping Modes & Time Calculation) === */
[b-4mxzahh5sb] .info-step {
    max-width: 800px;
    margin: 0 auto;
}

[b-4mxzahh5sb] .step-intro {
    margin-bottom: 1.5rem;
}

[b-4mxzahh5sb] .step-intro h4 {
    margin-bottom: 0.5rem;
}

/* Stamping mode cards */
[b-4mxzahh5sb] .mode-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1rem;
}

[b-4mxzahh5sb] .mode-card {
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    border: 1px solid #e9ecef;
    background: white;
}

[b-4mxzahh5sb] .mode-header {
    padding: 1rem;
    text-align: center;
    color: white;
}

[b-4mxzahh5sb] .mode-header.smart { background: linear-gradient(135deg, #1a73e8, #4285f4); }
[b-4mxzahh5sb] .mode-header.badge-nfc { background: linear-gradient(135deg, #0d47a1, #1565c0); }
[b-4mxzahh5sb] .mode-header.manual { background: linear-gradient(135deg, #2e7d32, #43a047); }
[b-4mxzahh5sb] .mode-header.beacon { background: linear-gradient(135deg, #e65100, #f57c00); }

[b-4mxzahh5sb] .mode-body {
    padding: 1rem;
}

[b-4mxzahh5sb] .mode-body h5 {
    margin-bottom: 0.5rem;
    font-size: 0.95rem;
}

[b-4mxzahh5sb] .mode-body p {
    font-size: 0.82rem;
    color: #495057;
    margin-bottom: 0.75rem;
}

[b-4mxzahh5sb] .mode-features {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

[b-4mxzahh5sb] .mode-features .badge {
    font-size: 0.72rem;
    font-weight: 500;
}

/* Time calculation cards */
[b-4mxzahh5sb] .calc-cards {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

[b-4mxzahh5sb] .calc-card {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1rem;
    background: white;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    border: 1px solid #e9ecef;
}

[b-4mxzahh5sb] .calc-icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: #f5f7fa;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 1.1rem;
}

[b-4mxzahh5sb] .calc-content h5 {
    margin-bottom: 0.3rem;
    font-size: 0.9rem;
}

[b-4mxzahh5sb] .calc-content p {
    font-size: 0.82rem;
    color: #495057;
    margin-bottom: 0.3rem;
}

[b-4mxzahh5sb] .calc-example code {
    font-size: 0.78rem;
    background: #f5f7fa;
    padding: 0.2rem 0.5rem;
    border-radius: 4px;
}

/* === OPERATIVE STEPS (Forms) === */
[b-4mxzahh5sb] .operative-step {
    max-width: 700px;
    margin: 0 auto;
}

[b-4mxzahh5sb] .step-form {
    background: white;
    padding: 1.5rem;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    border: 1px solid #e9ecef;
}

/* === COMPLETION STEP === */
[b-4mxzahh5sb] .completion-step {
    max-width: 700px;
    margin: 0 auto;
    text-align: center;
}

[b-4mxzahh5sb] .completion-hero {
    margin-bottom: 2rem;
}

[b-4mxzahh5sb] .completion-icon {
    margin-bottom: 1rem;
}

[b-4mxzahh5sb] .completion-summary {
    background: white;
    padding: 1.5rem;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    border: 1px solid #e9ecef;
    margin-bottom: 1.5rem;
}

[b-4mxzahh5sb] .summary-items {
    display: flex;
    justify-content: center;
    gap: 2rem;
    margin-top: 1rem;
}

[b-4mxzahh5sb] .summary-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1rem;
}

[b-4mxzahh5sb] .summary-item i {
    font-size: 1.3rem;
}

[b-4mxzahh5sb] .next-steps {
    text-align: left;
}

[b-4mxzahh5sb] .next-steps-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-top: 1rem;
}

[b-4mxzahh5sb] .next-step-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1rem;
    background: white;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    border: 1px solid #e9ecef;
}

[b-4mxzahh5sb] .next-step-item i {
    font-size: 1.3rem;
    margin-top: 0.2rem;
}

[b-4mxzahh5sb] .next-step-item p {
    font-size: 0.82rem;
}

/* === RESPONSIVE === */
@media (max-width: 768px) {
    .onboarding-stepper[b-4mxzahh5sb] {
        gap: 0.25rem;
        padding: 1rem 0.5rem;
    }

    .step-indicator[b-4mxzahh5sb] {
        min-width: 40px;
    }

    .step-label[b-4mxzahh5sb] {
        display: none;
    }

    .onboarding-content[b-4mxzahh5sb] {
        padding: 1rem;
    }

    .onboarding-nav[b-4mxzahh5sb] {
        padding: 0.75rem 1rem;
    }

    [b-4mxzahh5sb] .mode-cards {
        grid-template-columns: 1fr;
    }

    [b-4mxzahh5sb] .feature-cards {
        grid-template-columns: repeat(2, 1fr);
    }

    [b-4mxzahh5sb] .summary-items {
        flex-direction: column;
        align-items: center;
        gap: 0.75rem;
    }
}
/* /Pages/Tenants/TenantSelection.razor.rz.scp.css */
/* ============================================
   TENANT SELECTION - DASHBOARD STYLE ALIGNED
   ============================================ */

/* === CONTAINER === */
.tenant-selection-container[b-fp3stkdg1t] {
    max-width: 100%;
    display: flex;
    flex-direction: column;
    gap: 16px;
    animation: fadeIn-b-fp3stkdg1t 0.4s ease-out;
}

@keyframes fadeIn-b-fp3stkdg1t {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* === WARNING BANNER === */
.warning-banner[b-fp3stkdg1t] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    background: #ffecd1;
    border: 1px solid #ffa84d;
    border-radius: 10px;
    animation: slideDown-b-fp3stkdg1t 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes slideDown-b-fp3stkdg1t {
    from {
        opacity: 0;
        transform: translateY(-16px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.banner-icon[b-fp3stkdg1t] {
    width: 36px;
    height: 36px;
    background: rgba(255, 168, 77, 0.15);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffa84d;
    font-size: 18px;
    flex-shrink: 0;
    animation: pulse-b-fp3stkdg1t 2s ease-in-out infinite;
}

@keyframes pulse-b-fp3stkdg1t {
    0%, 100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.08);
    }
}

.banner-content[b-fp3stkdg1t] {
    flex: 1;
}

    .banner-content strong[b-fp3stkdg1t] {
        display: block;
        color: #cc6600;
        font-weight: 600;
        margin-bottom: 2px;
        font-size: 13px;
    }

    .banner-content p[b-fp3stkdg1t] {
        margin: 0;
        color: #94a3b8;
        font-size: 11px;
    }

.banner-action[b-fp3stkdg1t] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: white;
    border: 1px solid #e8f2ff;
    border-radius: 6px;
    color: #5ea6ff;
    font-weight: 600;
    font-size: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
}

    .banner-action:hover[b-fp3stkdg1t] {
        background: #e8f2ff;
        border-color: #5ea6ff;
        transform: translateX(3px);
    }

/* === TENANT GRID === */
.tenant-grid[b-fp3stkdg1t] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 12px;
    animation: gridFadeIn-b-fp3stkdg1t 0.5s ease-out;
}

@keyframes gridFadeIn-b-fp3stkdg1t {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

/* === TENANT CARD === */
.tenant-card[b-fp3stkdg1t] {
    position: relative;
    padding: 14px;
    background: white;
    border: 2px solid #e8f2ff;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
    animation: cardSlideIn-b-fp3stkdg1t 0.4s ease-out backwards;
}

    .tenant-card:nth-child(1)[b-fp3stkdg1t] {
        animation-delay: 0.05s;
    }

    .tenant-card:nth-child(2)[b-fp3stkdg1t] {
        animation-delay: 0.08s;
    }

    .tenant-card:nth-child(3)[b-fp3stkdg1t] {
        animation-delay: 0.11s;
    }

    .tenant-card:nth-child(4)[b-fp3stkdg1t] {
        animation-delay: 0.14s;
    }

    .tenant-card:nth-child(n+5)[b-fp3stkdg1t] {
        animation-delay: 0.17s;
    }

@keyframes cardSlideIn-b-fp3stkdg1t {
    from {
        opacity: 0;
        transform: translateY(16px) scale(0.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.tenant-card[b-fp3stkdg1t]::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: #5ea6ff;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.tenant-card:hover:not(.disabled)[b-fp3stkdg1t] {
    transform: translateY(-3px);
    box-shadow: 0 6px 16px rgba(94, 166, 255, 0.15);
    border-color: #5ea6ff;
}

    .tenant-card:hover:not(.disabled)[b-fp3stkdg1t]::before {
        opacity: 1;
    }

.tenant-card.selected[b-fp3stkdg1t] {
    border-color: #5ea6ff;
    background: linear-gradient(to right, #f0f7ff, #ffffff);
    box-shadow: 0 4px 12px rgba(94, 166, 255, 0.2);
}

    .tenant-card.selected[b-fp3stkdg1t]::before {
        opacity: 1;
    }

.tenant-card.disabled[b-fp3stkdg1t] {
    opacity: 0.5;
    cursor: not-allowed;
    background: repeating-linear-gradient( 45deg, transparent, transparent 8px, rgba(0, 0, 0, 0.02) 8px, rgba(0, 0, 0, 0.02) 16px );
}

    .tenant-card.disabled:hover[b-fp3stkdg1t] {
        transform: none;
        box-shadow: none;
        border-color: #e8f2ff;
    }

/* === STATUS INDICATORS === */
.tenant-card.status-expired[b-fp3stkdg1t] {
    border-color: rgba(255, 138, 138, 0.3);
}

.tenant-card.status-expiring[b-fp3stkdg1t] {
    border-color: rgba(255, 168, 77, 0.3);
}

.tenant-card.status-active[b-fp3stkdg1t] {
    border-color: #e8f2ff;
}

/* === SELECTION INDICATOR === */
.selection-indicator[b-fp3stkdg1t] {
    position: absolute;
    top: -2px;
    right: -2px;
    width: 32px;
    height: 32px;
    background: linear-gradient(135deg, #7eb6ff 0%, #5ea6ff 100%);
    color: white;
    border-radius: 0 8px 0 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    animation: checkmarkBounce-b-fp3stkdg1t 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

@keyframes checkmarkBounce-b-fp3stkdg1t {
    0%, 100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.15);
    }
}

/* === STATUS BADGE === */
.status-badge[b-fp3stkdg1t] {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    animation: badgeFadeIn-b-fp3stkdg1t 0.3s ease-out 0.2s backwards;
}

@keyframes badgeFadeIn-b-fp3stkdg1t {
    from {
        opacity: 0;
        transform: scale(0);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

.status-badge.badge-success[b-fp3stkdg1t] {
    background: #d1f5f0;
    color: #60d4c8;
}

.status-badge.badge-warning[b-fp3stkdg1t] {
    background: #ffecd1;
    color: #ffa84d;
    animation: badgePulse-b-fp3stkdg1t 2s ease-in-out infinite;
}

@keyframes badgePulse-b-fp3stkdg1t {
    0%, 100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(255, 168, 77, 0.4);
    }

    50% {
        transform: scale(1.08);
        box-shadow: 0 0 0 4px rgba(255, 168, 77, 0);
    }
}

.status-badge.badge-danger[b-fp3stkdg1t] {
    background: #ffe5e5;
    color: #ff8a8a;
}

/* === TENANT CONTENT === */
.tenant-content[b-fp3stkdg1t] {
    display: flex;
    gap: 12px;
    position: relative;
    z-index: 1;
}

.tenant-icon[b-fp3stkdg1t] {
    width: 44px;
    height: 44px;
    background: linear-gradient(135deg, #7eb6ff 0%, #5ea6ff 100%);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 20px;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

.tenant-card:hover:not(.disabled) .tenant-icon[b-fp3stkdg1t] {
    transform: rotate(8deg) scale(1.06);
}

.tenant-card.selected .tenant-icon[b-fp3stkdg1t] {
    transform: scale(1.04);
}

.tenant-details[b-fp3stkdg1t] {
    flex: 1;
    min-width: 0;
}

.tenant-name[b-fp3stkdg1t] {
    margin: 0 0 4px 0;
    font-size: 14px;
    font-weight: 700;
    color: #1e3a5f;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: color 0.3s ease;
}

.tenant-card.disabled .tenant-name[b-fp3stkdg1t] {
    text-decoration: line-through;
    color: #94a3b8;
}

.tenant-business[b-fp3stkdg1t] {
    margin: 0 0 8px 0;
    font-size: 11px;
    color: #64748b;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tenant-expiry[b-fp3stkdg1t] {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    color: #94a3b8;
    font-weight: 500;
}

    .tenant-expiry i[b-fp3stkdg1t] {
        font-size: 12px;
    }

.tenant-card.status-expired .tenant-expiry[b-fp3stkdg1t] {
    color: #ff8a8a;
}

.tenant-card.status-expiring .tenant-expiry[b-fp3stkdg1t] {
    color: #ffa84d;
}

/* === CARD OVERLAY === */
.card-overlay[b-fp3stkdg1t] {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, transparent 0%, rgba(94, 166, 255, 0.04) 100%);
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

.tenant-card:hover:not(.disabled) .card-overlay[b-fp3stkdg1t] {
    opacity: 1;
}

/* === EMPTY STATE === */
.empty-state[b-fp3stkdg1t] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    text-align: center;
    animation: fadeIn-b-fp3stkdg1t 0.5s ease-out;
}

.empty-icon[b-fp3stkdg1t] {
    width: 72px;
    height: 72px;
    background: #e8f2ff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #5ea6ff;
    font-size: 32px;
    margin-bottom: 16px;
    animation: emptyIconFloat-b-fp3stkdg1t 3s ease-in-out infinite;
}

@keyframes emptyIconFloat-b-fp3stkdg1t {
    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-8px);
    }
}

.empty-state h4[b-fp3stkdg1t] {
    margin: 0 0 6px 0;
    color: #1e3a5f;
    font-weight: 600;
    font-size: 16px;
}

.empty-state p[b-fp3stkdg1t] {
    margin: 0 0 16px 0;
    color: #94a3b8;
    max-width: 360px;
    font-size: 13px;
}

.btn-show-expired[b-fp3stkdg1t] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 18px;
    background: linear-gradient(135deg, #7eb6ff 0%, #5ea6ff 100%);
    color: white;
    border: none;
    border-radius: 8px;
    font-weight: 600;
    font-size: 13px;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

    .btn-show-expired:hover[b-fp3stkdg1t] {
        transform: translateY(-2px);
        box-shadow: 0 6px 16px rgba(94, 166, 255, 0.3);
    }

/* === SELECTION ALERT === */
.selection-alert[b-fp3stkdg1t] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px;
    border-radius: 10px;
    border: 1px solid;
    animation: alertSlideIn-b-fp3stkdg1t 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes alertSlideIn-b-fp3stkdg1t {
    from {
        opacity: 0;
        transform: translateY(-16px) scale(0.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.alert-danger[b-fp3stkdg1t] {
    background: #ffe5e5;
    border-color: #ff8a8a;
}

.alert-warning[b-fp3stkdg1t] {
    background: #ffecd1;
    border-color: #ffa84d;
}

.alert-icon-wrapper[b-fp3stkdg1t] {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}

.alert-danger .alert-icon-wrapper[b-fp3stkdg1t] {
    background: rgba(255, 138, 138, 0.15);
    color: #ff8a8a;
}

.alert-warning .alert-icon-wrapper[b-fp3stkdg1t] {
    background: rgba(255, 168, 77, 0.15);
    color: #ffa84d;
}

.alert-text[b-fp3stkdg1t] {
    flex: 1;
}

    .alert-text strong[b-fp3stkdg1t] {
        display: block;
        margin-bottom: 4px;
        color: #1e3a5f;
        font-weight: 600;
        font-size: 13px;
    }

    .alert-text p[b-fp3stkdg1t] {
        margin: 0;
        color: #64748b;
        font-size: 12px;
        line-height: 1.4;
    }

/* === ACTION BUTTONS === */
.action-container[b-fp3stkdg1t] {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.btn-submit[b-fp3stkdg1t],
.btn-back[b-fp3stkdg1t] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 16px;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    font-family: 'Poppins', sans-serif;
}

.btn-submit[b-fp3stkdg1t] {
    flex: 1;
    background: linear-gradient(135deg, #7eb6ff 0%, #5ea6ff 100%);
    color: white;
}

    .btn-submit:hover:not(:disabled)[b-fp3stkdg1t] {
        transform: translateY(-2px);
        box-shadow: 0 6px 16px rgba(94, 166, 255, 0.3);
    }

    .btn-submit:disabled[b-fp3stkdg1t] {
        opacity: 0.5;
        cursor: not-allowed;
    }

.btn-back[b-fp3stkdg1t] {
    background: white;
    color: #64748b;
    border: 2px solid #e8f2ff;
}

    .btn-back:hover:not(:disabled)[b-fp3stkdg1t] {
        background: #e8f2ff;
        border-color: #5ea6ff;
        color: #5ea6ff;
    }

.spinner[b-fp3stkdg1t] {
    width: 14px;
    height: 14px;
    border: 2px solid transparent;
    border-top-color: currentColor;
    border-radius: 50%;
    animation: spin-b-fp3stkdg1t 0.8s linear infinite;
}

@keyframes spin-b-fp3stkdg1t {
    to {
        transform: rotate(360deg);
    }
}

/* === TOGGLE EXPIRED === */
.toggle-expired-container[b-fp3stkdg1t] {
    text-align: center;
    padding-top: 8px;
    border-top: 1px solid #e8f2ff;
}

.toggle-expired-btn[b-fp3stkdg1t] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: transparent;
    border: none;
    color: #5ea6ff;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    border-radius: 6px;
    transition: all 0.2s ease;
}

    .toggle-expired-btn:hover[b-fp3stkdg1t] {
        background: #e8f2ff;
    }

/* === RESPONSIVE === */
@media (max-width: 768px) {
    .tenant-grid[b-fp3stkdg1t] {
        grid-template-columns: 1fr;
    }

    .warning-banner[b-fp3stkdg1t] {
        flex-direction: column;
        text-align: center;
    }

    .banner-action[b-fp3stkdg1t] {
        width: 100%;
        justify-content: center;
    }

    .action-container[b-fp3stkdg1t] {
        flex-direction: column;
    }

    .btn-submit[b-fp3stkdg1t],
    .btn-back[b-fp3stkdg1t] {
        width: 100%;
    }
}

/* === DARK MODE === */
@media (prefers-color-scheme: dark) {
    .tenant-card[b-fp3stkdg1t] {
        background: #1e3a5f;
        border-color: rgba(94, 166, 255, 0.15);
    }

        .tenant-card.disabled[b-fp3stkdg1t] {
            background: repeating-linear-gradient( 45deg, transparent, transparent 8px, rgba(255, 255, 255, 0.02) 8px, rgba(255, 255, 255, 0.02) 16px );
        }

    .tenant-name[b-fp3stkdg1t] {
        color: #e8f2ff;
    }

    .tenant-business[b-fp3stkdg1t] {
        color: #94a3b8;
    }
}

/* === ACCESSIBILITY === */
@media (prefers-reduced-motion: reduce) {
    *[b-fp3stkdg1t],
    *[b-fp3stkdg1t]::before,
    *[b-fp3stkdg1t]::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

.tenant-card:focus-visible[b-fp3stkdg1t] {
    outline: 2px solid #5ea6ff;
    outline-offset: 2px;
}
/* /Shared/OnboardingChecklist/OnboardingChecklist.razor.rz.scp.css */
.onboarding-checklist[b-d6hw1o6naq] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
    border: 1px solid #e2e8f0;
    border-left: 4px solid #1a73e8;
    margin-bottom: 1.5rem;
    overflow: hidden;
}

.checklist-header[b-d6hw1o6naq] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #f1f5f9;
}

.checklist-title[b-d6hw1o6naq] {
    display: flex;
    align-items: center;
}

.checklist-title h5[b-d6hw1o6naq] {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 600;
    color: #1e293b;
}

.checklist-title i[b-d6hw1o6naq] {
    color: #1a73e8;
}

.checklist-dismiss[b-d6hw1o6naq] {
    background: none;
    border: none;
    color: #94a3b8;
    cursor: pointer;
    padding: 0.25rem;
    border-radius: 4px;
    transition: all 0.15s;
}

.checklist-dismiss:hover[b-d6hw1o6naq] {
    color: #64748b;
    background: #f1f5f9;
}

/* Progress */
.checklist-progress[b-d6hw1o6naq] {
    padding: 0.75rem 1.25rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.progress-bar-bg[b-d6hw1o6naq] {
    flex: 1;
    height: 6px;
    background: #e2e8f0;
    border-radius: 3px;
    overflow: hidden;
}

.progress-bar-fill[b-d6hw1o6naq] {
    height: 100%;
    background: linear-gradient(90deg, #1a73e8, #4285f4);
    border-radius: 3px;
    transition: width 0.4s ease;
}

.progress-text[b-d6hw1o6naq] {
    font-size: 0.78rem;
    color: #64748b;
    white-space: nowrap;
}

/* Items */
.checklist-items[b-d6hw1o6naq] {
    padding: 0 0.5rem 0.5rem;
}

.checklist-item[b-d6hw1o6naq] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.6rem 0.75rem;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.15s;
}

.checklist-item:hover[b-d6hw1o6naq] {
    background: #f8fafc;
}

.checklist-item.completed[b-d6hw1o6naq] {
    opacity: 0.6;
}

.checklist-item.completed:hover[b-d6hw1o6naq] {
    background: transparent;
    cursor: default;
}

.item-check i[b-d6hw1o6naq] {
    font-size: 1.1rem;
}

.item-content[b-d6hw1o6naq] {
    flex: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.item-text[b-d6hw1o6naq] {
    font-size: 0.85rem;
    color: #334155;
}

.checklist-item.completed .item-text[b-d6hw1o6naq] {
    text-decoration: line-through;
    color: #94a3b8;
}

.item-action[b-d6hw1o6naq] {
    font-size: 0.75rem;
    color: #1a73e8;
    font-weight: 500;
    opacity: 0;
    transition: opacity 0.15s;
}

.checklist-item:hover .item-action[b-d6hw1o6naq] {
    opacity: 1;
}

.item-action i[b-d6hw1o6naq] {
    font-size: 0.65rem;
    margin-left: 0.25rem;
}

/* Responsive */
@media (max-width: 768px) {
    .item-action[b-d6hw1o6naq] {
        opacity: 1;
    }
}
/* /Shared/TenantExpirationBanner/TenantExpirationBanner.razor.rz.scp.css */
.tenant-expiration-banner[b-ursgu3hyr9] {
    position: sticky;
    top: 0;
    z-index: 10;
    width: 100%;
    padding: 0;
    margin-bottom: 1rem;
    border-radius: 0;
    border: none;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    animation: slideDown-b-ursgu3hyr9 0.3s ease-out;
}

@keyframes slideDown-b-ursgu3hyr9 {
    from {
        transform: translateY(-100%);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.banner-content[b-ursgu3hyr9] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.875rem 1.25rem;
}

.banner-icon[b-ursgu3hyr9] {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    flex-shrink: 0;
}

.banner-message[b-ursgu3hyr9] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.banner-message strong[b-ursgu3hyr9] {
    font-size: 0.95rem;
    font-weight: 600;
}

.banner-message span[b-ursgu3hyr9] {
    font-size: 0.875rem;
    opacity: 0.95;
}

.banner-close[b-ursgu3hyr9] {
    background: none;
    border: none;
    padding: 0.25rem 0.5rem;
    cursor: pointer;
    font-size: 1.1rem;
    opacity: 0.7;
    transition: opacity 0.2s;
    flex-shrink: 0;
}

.banner-close:hover[b-ursgu3hyr9] {
    opacity: 1;
}

.banner-progress[b-ursgu3hyr9] {
    height: 3px;
    background-color: rgba(255, 255, 255, 0.2);
    overflow: hidden;
}

.progress-bar[b-ursgu3hyr9] {
    height: 100%;
    background-color: currentColor;
    transition: width 0.3s ease;
}

/* Varianti colore */
.banner-info[b-ursgu3hyr9] {
    background: linear-gradient(135deg, #4299e1 0%, #3182ce 100%);
    color: white;
}

.banner-warning[b-ursgu3hyr9] {
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
    color: white;
}

.banner-danger[b-ursgu3hyr9] {
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    color: white;
}

/* Responsive */
@media (max-width: 768px) {
    .banner-content[b-ursgu3hyr9] {
        padding: 0.75rem 1rem;
        gap: 0.75rem;
    }

    .banner-icon[b-ursgu3hyr9] {
        font-size: 1.25rem;
    }

    .banner-message strong[b-ursgu3hyr9] {
        font-size: 0.875rem;
    }

    .banner-message span[b-ursgu3hyr9] {
        font-size: 0.8125rem;
    }
}

/* Effetto pulsante chiudi */
.banner-close[b-ursgu3hyr9] {
    position: relative;
}

.banner-close[b-ursgu3hyr9]::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 32px;
    height: 32px;
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    opacity: 0;
    transition: opacity 0.2s;
}

.banner-close:hover[b-ursgu3hyr9]::before {
    opacity: 1;
}


.banner-actions[b-ursgu3hyr9] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-left: auto;
}

    .banner-actions .btn-light[b-ursgu3hyr9] {
        background-color: rgba(255, 255, 255, 0.2);
        border: 1px solid rgba(255, 255, 255, 0.3);
        color: white;
        font-size: 0.875rem;
        padding: 0.375rem 0.75rem;
        transition: all 0.2s;
    }

        .banner-actions .btn-light:hover:not(:disabled)[b-ursgu3hyr9] {
            background-color: rgba(255, 255, 255, 0.3);
            border-color: rgba(255, 255, 255, 0.5);
        }

        .banner-actions .btn-light:disabled[b-ursgu3hyr9] {
            opacity: 0.7;
            cursor: not-allowed;
        }

.spinner-border-sm[b-ursgu3hyr9] {
    width: 0.875rem;
    height: 0.875rem;
    border-width: 0.15em;
}
