    /* ===== SETUP E VARIABILI ===== */
    @import url('https://fonts.googleapis.com/css2?family=Titillium+Web:wght@300;400;600;700&display=swap');

    :root {
        --ita-blue: #0066cc;
        --ita-dark-blue: #00264d;
        --ita-footer-blue: #004b91;
        --ita-footer-dark: #003366;
    }

    body {
        background-color: #ffffff;
        font-family: 'Titillium Web', sans-serif;
        display: flex;
        flex-direction: column;
        min-height: 100vh;
    }

    /* ==== HEADER ===== */
    .it-header-center-wrapper {
        background-color: var(--ita-dark-blue) !important;
        padding: 30px 0;
    }

    .header-logo-img {
        height: 80px;
        width: auto;
    }

    /* ===== CARD LOGIN ===== */
    .login-container-card {
        background: white;
        border-radius: 12px;
        border: 1px solid #e2e8f0;
        width: 100%;
        max-width: 500px;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        overflow: hidden;
        box-shadow: 0 10px 30px rgba(0,0,0,0.1);
        min-height: 550px;
    }

    .card-header-custom {
        background-color: #fafbfc;
        border-bottom: 1px solid #eee;
    }

    .tab-content {
        padding: 30px 40px !important;
        flex-grow: 1;
    }

    /* ====== MODALE ====== */
    .modal-content {
        border-radius: 15px !important;
        overflow: hidden;
        border: none !important;
        box-shadow: 0 15px 50px rgba(0,0,0,0.2) !important;
    }

    .modal-header {
        border-bottom: none !important;
        padding: 25px 30px 10px !important;
    }

    .modal-body {
        padding: 10px 30px 30px !important;
    }

    .section-label-modern {
        display: block !important;
        font-size: 0.8rem !important;
        font-weight: 700 !important;
        color: var(--ita-dark-blue) !important;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        margin-bottom: 12px !important;
    }

    .custom-list-group {
        max-height: 200px;
        overflow-y: auto;
        border: 1px solid #e2e8f0;
        border-radius: 12px;
        background-color: #fff;
        margin-bottom: 20px;
    }

    .custom-list-item {
        display: flex;
        align-items: center;
        padding: 12px 15px;
        cursor: pointer;
        border-bottom: 1px solid #f1f1f1;
        transition: all 0.2s ease;
        border-left: 5px solid transparent;
    }

    .custom-list-item:hover {
        background-color: #f8fbff;
    }

    .custom-list-item.selected {
        background-color: #e6f0ff !important;
        border-left: 5px solid var(--ita-blue) !important;
    }

    .item-text {
        font-weight: 600;
        color: #333;
        font-size: 0.95rem;
    }

    .selected-icon {
        display: none;
        color: var(--ita-blue);
        font-size: 1.1rem;
        margin-left: auto;
    }

    .custom-list-item.selected .selected-icon {
        display: block;
    }
    .custom-list-item.selected {
        background-color: #e6f0ff !important;
        border-left: 5px solid var(--ita-blue) !important;
        transition: all 0.2s ease;
    }

    .list-disabled {
        opacity: 0.4;
        pointer-events: none;
        background-color: #f9f9f9;
    }

    #btnFinalizzaLogin {
        border-radius: 12px !important;
        padding: 15px;
        text-transform: uppercase;
        letter-spacing: 1px;
        font-weight: 700;
    }

    .custom-list-group::-webkit-scrollbar { width: 6px; }
    .custom-list-group::-webkit-scrollbar-thumb { background: #cbd5e0; border-radius: 10px; }


    /* ====== FOOTER ===== */
    .it-footer {
        background-color: var(--ita-footer-blue);
        color: white;
        font-family: 'Titillium Web', sans-serif;
    }

    .footer-col-title {
        font-size: 0.95rem;
        font-weight: 700;
        margin-bottom: 1.5rem;
        letter-spacing: 0.5px;
    }

    .footer-contact-info p {
        font-size: 0.9rem;
        margin-bottom: 0.5rem;
    }

    .footer-email-link {
        color: white;
        text-decoration: underline;
        font-size: 0.9rem;
    }

    .footer-email-link:hover {
        color: #e0e0e0;
    }

    .footer-link-list {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .footer-link-list li {
        margin-bottom: 0.7rem;
    }

    .footer-link-list li a {
        color: white;
        text-decoration: none;
        font-size: 0.9rem;
    }

    .footer-link-list li a:hover {
        text-decoration: underline;
    }

    .footer-social-icons i {
        font-size: 1.4rem;
        color: white;
        transition: opacity 0.2s;
    }

    .it-footer-small-prints {
        background-color: var(--ita-footer-dark);
        border-top: 1px solid rgba(255,255,255,0.1);
    }

    .footer-bottom-link {
        color: white;
        text-decoration: underline;
        font-size: 0.85rem;
    }

    .small-text {
        font-size: 0.85rem;
        opacity: 0.9;
    }

    .btn-back-to-top {
        background-color: #0066cc;
        color: white;
        border: none;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        transition: background 0.3s;
    }

    .btn-back-to-top:hover {
        background-color: #0052a3;
    }

    /* ===== MEDIA QUERIES======= */
    @media (max-width: 991px) {
        .header-logo-img {
            height: 65px;
        }
        .login-container-card {
            max-width: 90%;
        }
    }

    @media (max-width: 767px) {
        .it-header-center-wrapper {
            padding: 20px 0;
        }

        .header-logo-img {
            height: 50px;
        }

        .tab-content {
            padding: 20px 20px  ;
        }

        .institutional-logos-wrapper {
            margin: 0 -20px -20px -20px;
            padding: 20px;
        }

        .it-footer-small-prints .text-start,
        .it-footer-small-prints .text-center,
        .it-footer-small-prints .text-end {
            text-align: center  ;
            margin-bottom: 10px;
        }
    }