    
    /* AI */ 

    .pulsante_ai{
        display:inline-flex;
        align-items:center;
        gap:8px;

        background:linear-gradient(135deg,#4F46E5,#2563EB);
        color:#FFF !important;

        border:none;
        border-radius:8px;

        padding:10px 18px;
        font-size:15px;
        font-weight:600;

        cursor:pointer;

        transition:all .20s ease;

        box-shadow:0 3px 10px rgba(37,99,235,.25);
    }

    .pulsante_ai:hover{
        transform:translateY(-1px);
        box-shadow:0 6px 18px rgba(37,99,235,.35);
        filter:brightness(1.05);
    }

    .pulsante_ai:active{
        transform:translateY(0);
    }

    .pulsante_ai i{
        font-size:16px;
    }

    .pulsante_ai_secondario{
        background:linear-gradient(135deg,#0EA5E9,#06B6D4);
    }


    .generatore_ai{
        width:100%;
        box-sizing:border-box;
        font-family:Arial,sans-serif;
    }
.pulsante_correzione_ai,
.generatore_ai_apri{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    padding:3px 8px;
    margin-top:2px;
    margin-left:4px;
    border:0;
    border-radius:6px;
    color:#fff;
    font-size:11px;
    font-weight:600;
    line-height:1;
    cursor:pointer;
    transition:all .2s;
    white-space:nowrap;
    pointer-events:auto !important;
}

.pulsante_correzione_ai{
    background:linear-gradient(135deg,#00b894,#00d2a0);
    box-shadow:0 2px 8px rgba(0,184,148,.30);
}

.pulsante_correzione_ai:hover{
    transform:translateY(-1px);
    box-shadow:0 4px 10px rgba(0,184,148,.40);
}

.generatore_ai_apri{
    background:linear-gradient(135deg,#7639e8,#ba00f5);
    box-shadow:0 2px 8px rgba(123,48,220,.30);
}

.generatore_ai_apri:hover{
    transform:translateY(-1px);
    box-shadow:0 4px 10px rgba(123,48,220,.40);
}

.pulsante_correzione_ai i,
.generatore_ai_apri i{
    font-size:12px;
}
    
    .pulsante_correzione_ai.small,
    .generatore_ai_apri.small{
        width:26px;
        height:26px;
        min-width:26px;
        min-height:26px;
        padding:0;
        margin-left:3px;
        border-radius:6px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap:0;
        font-size:13px;
    }

    .pulsante_correzione_ai.small i,
    .generatore_ai_apri.small i{
        margin:0;
    }
    
   

    .generatore_ai_pannello{
        margin-top:15px;
        padding:20px;
        border:1px solid #ddceff;
        border-radius:7px;
        background: white;
        box-sizing:border-box;
    }

    .generatore_ai_header{
        display:flex;
        align-items:center;
        justify-content:space-between;
        margin-bottom:18px;
    }

    .generatore_ai_header_sinistra{
        display:flex;
        align-items:center;
        gap:17px;
    }

    .generatore_ai_icona{
        color:#872ff0;
        font-size:25px;
    }

    .generatore_ai_titolo{
        color:#762ee8;
        font-size:17px;
        font-weight:bold;
    }

    .generatore_ai_spiegazione{
        color:#51426f;
        font-size:13px;
    }

    .generatore_ai_chiudi{
        width:38px;
        height:38px;
        border:1px solid #a958ff;
        border-radius:50%;
        background:#fff;
        color:#8135e5;
        font-size:17px;
        cursor:pointer;
    }

    .generatore_ai_indicazioni{
        display:block;
        width:100%;
        height:125px;
        padding:13px;
        border:1px solid #8d78b8;
        border-radius:4px;
        box-sizing:border-box;
        resize:vertical;
        outline:none;
        font-family:Arial,sans-serif;
        font-size:14px;
        line-height:21px;
    }

    .generatore_ai_indicazioni:focus{
        border-color:#913bec;
        box-shadow:0 0 0 2px rgba(145,59,236,0.10);
    }

    .generatore_ai_contatore{
        margin-top:6px;
        text-align:right;
        color:#747474;
        font-size:12px;
    }

    .generatore_ai_comandi{
        display:flex;
        align-items:flex-end;
        gap:25px;
        margin-top:15px;
    }

    .generatore_ai_gruppo{
        min-width:250px;
    }

    .generatore_ai_gruppo label{
        display:block;
        margin-bottom:8px;
        color:#222;
        font-size:13px;
        font-weight:bold;
    }

    .generatore_ai_select{
        width:100%;
        height:42px;
        padding:0 12px;
        border:1px solid #d2d2d2;
        border-radius:5px;
        background:#fff;
        box-sizing:border-box;
        font-size:14px;
    }

    .generatore_ai_lunghezze{
        display:flex;
        gap:10px;
    }

    .generatore_ai_lunghezza{
        min-width:120px;
        height:42px;
        padding:0 15px;
        border:1px solid #d5d5d5;
        border-radius:5px;
        background:#fff;
        color:#333;
        font-size:14px;
        cursor:pointer;
    }

    .generatore_ai_lunghezza i{
        margin-right:10px;
    }

    .generatore_ai_lunghezza.selezionato{
        border-color:#9d45f7;
        background:#fcf9ff;
        color:#8a2bea;
        box-shadow:0 0 0 1px rgba(157,69,247,0.15);
    }

    .generatore_ai_bottoni{
        display:flex;
        align-items:center;
        justify-content:flex-end;
        gap:12px;
        flex:1;
        width:100%;
    }

    .generatore_ai_genera,
    .generatore_ai_applica{
        height:48px;
        padding:0 25px;
        border:0;
        border-radius:7px;
        color:#fff;
        font-size:14px;
        font-weight:bold;
        cursor:pointer;
        white-space:nowrap;
    }

    .generatore_ai_genera{
        background:linear-gradient(135deg,#7435e9,#b600f4);
        box-shadow:0 4px 12px rgba(130,45,220,.38);
    }

    .generatore_ai_applica{
        background:linear-gradient(135deg,#28a745,#20c997);
        box-shadow:0 4px 12px rgba(40,167,69,.25);
        transition:all .2s ease;
    }
    
    .generatore_ai_genera{
        height:48px;
        padding:0 25px;
        border:0;
        border-radius:7px;
        background:linear-gradient(135deg,#7435e9,#b600f4);
        color:#fff;
        font-size:14px;
        font-weight:bold;
        cursor:pointer;
        box-shadow:0 4px 12px rgba(130,45,220,0.38);
        white-space:nowrap;
    }

    .generatore_ai_genera:disabled{
        opacity:0.6;
        cursor:not-allowed;
    }
    
     .generatore_ai_applica{
        align-items:center;
        justify-content:center;
        background:linear-gradient(135deg,#28a745,#20c997);
        box-shadow:0 4px 12px rgba(40,167,69,.25);
        transition:all .2s ease;
        height:48px;
        padding:0 25px;
        border:0;
        border-radius:7px;
        color:#fff;
        font-size:14px;
        font-weight:bold;
        cursor:pointer;
        white-space:nowrap;
    }

    .generatore_ai_applica:hover:not(:disabled){
        transform:translateY(-1px);
        box-shadow:0 6px 16px rgba(40,167,69,.35);
    }

    .generatore_ai_applica:active:not(:disabled){
        transform:translateY(0);
    }

    .generatore_ai_applica:disabled{
        opacity:.5;
        cursor:not-allowed;
        box-shadow:none;
        transform:none;
    }

    .generatore_ai_promozione{
        margin-top:15px;
        padding:20px;
        border:1px solid #ddceff;
        border-radius:7px;
        background:linear-gradient(135deg,#fcfaff,#f5edff);
    }

    .generatore_ai_promozione_titolo{
        margin-bottom:8px;
        color:#762ee8;
        font-size:18px;
        font-weight:bold;
    }

    .generatore_ai_promozione_testo{
        color:#50465d;
        font-size:14px;
        line-height:21px;
    }

    .generatore_ai_errore{
        display:none;
        margin-top:12px;
        padding:10px;
        border:1px solid #e6aaaa;
        border-radius:5px;
        background:#fff3f3;
        color:#a90019;
        font-size:13px;
    }
    
    .toolbar_ai{
        display:flex;
        align-items:center;
        gap:4px;
        margin-top:0px;
        margin-bottom: 3px;
        max-height:0;
        opacity:0;
        overflow:hidden;
        pointer-events:none;
        transition:max-height .15s ease,opacity .15s ease;
    }

    .toolbar_ai.visibile{
        max-height:35px;
        opacity:1;
        pointer-events:auto;
    }
    
    @media(max-width:900px){
        .generatore_ai_header_sinistra{
            align-items:flex-start;
        }

        .generatore_ai_spiegazione{
            display:block;
            margin-top:5px;
        }

        .generatore_ai_comandi{
            display:block;
        }

        .generatore_ai_gruppo{
            width:100%;
            margin-bottom:15px;
        }

        .generatore_ai_lunghezze{
            flex-wrap:wrap;
        }

        .generatore_ai_genera{
            width:100%;
            margin-left:0;
        }
    }
    
    
    
.ai-token-box{
    margin-top:12px;
    padding:10px 14px;
    border:1px solid #d9e7ff;
    border-radius:8px;
    background:#f7faff;
    font-size:13px;
}

.ai-token-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:6px;
}

.ai-token-title{
    font-weight:bold;
    color:#2c5aa0;
}

.ai-token-value{
    font-weight:bold;
    color:#444;
}

.ai-token-progress{
    width:100%;
    height:8px;
    background:#e5e5e5;
    border-radius:20px;
    overflow:hidden;
}

.ai-token-bar{
    height:100%;
    background:linear-gradient(90deg,#39b54a,#7bdc65);
    transition:width .4s;
}
.popup_generatore_ai{
    position:relative;
    width:100%;
    box-sizing:border-box;
    clear:both;
    margin-top:8px;
    margin-bottom:15px;
    z-index:auto;
}

#loader_ai{
    position:fixed;
    inset:0;
    background:rgba(20,20,20,.45);
    z-index:999999;
    display:none;
}

.loader_ai_box{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    width:340px;
    padding:30px;
    border-radius:18px;
    text-align:center;
    background:#fff;
    box-shadow:0 20px 60px rgba(0,0,0,.30);
}

.loader_ai_icon{
    font-size:42px;
    color:#8d3cff;
    margin-bottom:12px;
}

.loader_ai_title{
    font-size:20px;
    font-weight:bold;
    color:#444;
}

.loader_ai_text{
    margin-top:8px;
    color:#777;
}

.loader_ai_dots span{
    display:inline-block;
    width:8px;
    height:8px;
    margin:15px 3px 0;
    border-radius:50%;
    background:#8d3cff;
    animation:loaderAi 1.2s infinite;
}

.loader_ai_dots span:nth-child(2){
    animation-delay:.2s;
}

.loader_ai_dots span:nth-child(3){
    animation-delay:.4s;
}

@keyframes loaderAi{
    0%,80%,100%{
        transform:scale(.5);
        opacity:.4;
    }
    40%{
        transform:scale(1);
        opacity:1;
    }
}