@import '_content/Blazored.Modal/Blazored.Modal.bundle.scp.css';
@import '_content/Blazored.Toast/Blazored.Toast.bundle.scp.css';
@import '_content/Majorsoft.Blazor.Components.Loading/Majorsoft.Blazor.Components.Loading.bundle.scp.css';

/* _content/WebApp/Components/Componenti/Altro/Input/Anagrafica.razor.rz.scp.css */
/* Avviso su CAP / citta' / provincia: stesso stile di quelli dello step 5 e del preventivo veloce */
.k-avviso[b-fx33yghqyq] {
    display: flex;
    align-items: center;
    gap: 10px 12px;
    padding: 12px 16px;
    border-radius: 8px;
    border-left: 4px solid;
    font-size: 0.85rem;
    font-weight: 600;
    line-height: 1.5;
    color: var(--text-main); /* leggibile sia nel tema scuro (predefinito) sia in light-mode */
}

.k-avviso > i[b-fx33yghqyq] {
    font-size: 1.1rem;
    flex-shrink: 0;
}

.k-avviso-attenzione[b-fx33yghqyq] {
    background: rgba(245, 158, 11, 0.06);
    border-left-color: #f59e0b;
}

.k-avviso-attenzione > i[b-fx33yghqyq] {
    color: #f59e0b;
}
/* _content/WebApp/Components/Componenti/Altro/Input/Garanzie.razor.rz.scp.css */
 
.garanzia-card[b-o2xc6rkkt7] {
    background: var(--input-bg);
    border: 1px solid var(--border-color);
    border-radius: 10px;
    padding: 12px 15px;
    display: flex;
    align-items: center;
    transition: all 0.2s ease;
    cursor: pointer;
    margin-bottom: 10px;
    width: 100%;
    user-select: none;
}

.garanzia-card:hover[b-o2xc6rkkt7] {
    border-color: var(--neon-cyan);
    background: rgba(6, 182, 212, 0.02);
    transform: translateY(-1px);
}

.garanzia-card:has(input:checked)[b-o2xc6rkkt7] {
    border-color: var(--neon-cyan);
    background: rgba(6, 182, 212, 0.05);
}

.garanzia-card .form-check-input[b-o2xc6rkkt7] {
    cursor: pointer;
    margin-top: 0;
    width: 1.2rem;
    height: 1.2rem;
}

    .garanzia-card .form-check-input:checked[b-o2xc6rkkt7] {
        background-color: var(--neon-cyan);
        border-color: var(--neon-cyan);
    }

/* ICONA CUSTOM */
.garanzia-icon[b-o2xc6rkkt7] {
    color: var(--border-color);
    font-size: 1rem;
    width: 30px;
    text-align: center;
    margin-left: 10px;
    transition: all 0.2s ease;
    opacity: 0.6;
}

/* L'icona si accende quando la card è checkata */
.garanzia-card:has(input:checked) .garanzia-icon[b-o2xc6rkkt7] {
    color: var(--neon-cyan);
    opacity: 1;
    transform: scale(1.1);
}

.garanzia-card .form-check-label[b-o2xc6rkkt7] {
    cursor: pointer;
    width: 100%;
    margin-left: 8px;
    font-weight: 600;
    color: var(--text-main);
    font-size: 0.9rem;
}

/* CLASSI STILE BADGE */
.badge-kube[b-o2xc6rkkt7] {
    font-weight: 700;
    padding: 6px 12px;
    border: 1px solid transparent;
    border-radius: 50rem;
}

.badge-success-kube[b-o2xc6rkkt7] {
    color: #22c55e;
    background: rgba(34, 197, 94, 0.1);
    border-color: rgba(34, 197, 94, 0.3);
}

.badge-warning-kube[b-o2xc6rkkt7] {
    color: #f59e0b;
    background: rgba(245, 158, 11, 0.1);
    border-color: rgba(245, 158, 11, 0.3);
}
 

/* Valore del veicolo a 0 con garanzie sul valore: stesso avviso dell'anagrafica e dello step 5 */
.k-avviso[b-o2xc6rkkt7] {
    display: flex;
    align-items: center;
    gap: 10px 12px;
    padding: 12px 16px;
    border-radius: 8px;
    border-left: 4px solid;
    font-size: 0.85rem;
    font-weight: 600;
    line-height: 1.5;
    color: var(--text-main); /* leggibile sia nel tema scuro (predefinito) sia in light-mode */
}

.k-avviso > i[b-o2xc6rkkt7] {
    font-size: 1.1rem;
    flex-shrink: 0;
}

.k-avviso-attenzione[b-o2xc6rkkt7] {
    background: rgba(245, 158, 11, 0.06);
    border-left-color: #f59e0b;
}

.k-avviso-attenzione > i[b-o2xc6rkkt7] {
    color: #f59e0b;
}

.k-avviso a[b-o2xc6rkkt7] {
    color: var(--neon-cyan);
    font-weight: 700;
}
/* _content/WebApp/Components/Componenti/Altro/NotificationMenu.razor.rz.scp.css */
/* --- CONTENITORE PRINCIPALE E ICONA --- */
.notification-container[b-won5xrj8t1] {
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px;
}

.bell-icon[b-won5xrj8t1] {
    font-size: 1.3rem;
    color: var(--dash-text-dim);
    transition: color 0.2s ease, transform 0.2s ease;
}

.notification-container:hover .bell-icon[b-won5xrj8t1] {
    color: var(--neon-cyan);
    /* Effetto vibrazione opzionale al passaggio del mouse */
    animation: fa-shake 1s infinite linear;
}

/* --- BADGE (Pallino con numero) --- */
.custom-badge[b-won5xrj8t1] {
    font-size: 0.65rem;
    border: 2px solid var(--dash-surface);
    padding: 3px 6px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    color: white;
}

/* --- MENU A TENDINA (DROPDOWN) --- */
.notification-dropdown[b-won5xrj8t1] {
    position: absolute;
    top: 130%;
    right: -10px;
    width: 320px;
    background: var(--dash-surface);
    border: 1px solid var(--dash-border);
    box-shadow: 0 10px 30px var(--shadow-color);
    border-radius: 12px;
    z-index: 2000;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.2s ease;
    overflow: hidden;
}

    .notification-dropdown.show[b-won5xrj8t1] {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

/* --- HEADER DEL MENU --- */
.dropdown-header[b-won5xrj8t1] {
    background-color: var(--dash-bg);
    padding: 12px 16px;
    font-size: 0.85rem;
    font-weight: 800;
    color: var(--dash-text-main);
    border-bottom: 1px solid var(--dash-border);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.mark-read-btn[b-won5xrj8t1] {
    background: none;
    border: none;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--neon-blue);
    padding: 0;
    cursor: pointer;
    transition: color 0.2s;
}

    .mark-read-btn:hover[b-won5xrj8t1] {
        color: var(--neon-cyan);
        text-decoration: underline;
    }

/* --- CORPO E LISTA NOTIFICHE --- */
.dropdown-body[b-won5xrj8t1] {
    max-height: 350px;
    overflow-y: auto;
}

    /* Custom Scrollbar per le notifiche */
    .dropdown-body[b-won5xrj8t1]::-webkit-scrollbar {
        width: 6px;
    }

    .dropdown-body[b-won5xrj8t1]::-webkit-scrollbar-thumb {
        background-color: var(--dash-border);
        border-radius: 10px;
    }

.notification-item[b-won5xrj8t1] {
    padding: 12px 16px;
    border-bottom: 1px solid var(--dash-border);
    cursor: pointer;
    transition: background-color 0.2s;
    background-color: var(--dash-surface);
}

    .notification-item:hover[b-won5xrj8t1] {
        background-color: var(--dash-bg);
    }

    .notification-item:last-child[b-won5xrj8t1] {
        border-bottom: none;
    }

    /* --- STATO NON LETTO (UNREAD) --- */
    .notification-item.unread[b-won5xrj8t1] {
        background-color: rgba(6, 182, 212, 0.03);
        border-left: 3px solid var(--neon-cyan);
    }

        .notification-item.unread .title[b-won5xrj8t1] {
            font-weight: 700;
            color: var(--dash-text-main);
        }

/* --- TESTI INTERNI --- */
.title[b-won5xrj8t1] {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--dash-text-main);
    line-height: 1.2;
}

.date-text[b-won5xrj8t1] {
    font-size: 0.7rem;
    color: var(--dash-text-dim);
    opacity: 0.8;
}

.body-text[b-won5xrj8t1] {
    font-size: 0.75rem;
    color: var(--dash-text-dim);
    margin-top: 4px;
}
/* _content/WebApp/Components/Componenti/Grid/TotalAtrcTabs.razor.rz.scp.css */
/* Tab del Total ATRC: come le "TABS K-UBE" di Credenziali_page.razor.css (sottolineatura ciano su quella scelta),
   con i colori del tema (step 5 e preventivo veloce) */
.k-atrc-tabs[b-z2j5y941ei] {
    border-bottom: 1px solid var(--border-color);
    flex-wrap: wrap;
}

.k-atrc-tabs .nav-link[b-z2j5y941ei] {
    color: var(--text-dim);
    border: none;
    border-bottom: 3px solid transparent;
    padding: 10px 16px;
    background: transparent;
    font-size: 0.8rem;
    font-weight: 700;
    transition: all 0.2s;
}

    .k-atrc-tabs .nav-link:hover[b-z2j5y941ei] {
        color: var(--neon-cyan);
    }

    .k-atrc-tabs .nav-link.active[b-z2j5y941ei] {
        color: var(--neon-cyan);
        border-bottom-color: var(--neon-cyan);
        background-color: transparent;
    }

/* Linguetta a tendina "Altre targhe (N)": stessa scritta delle linguette, freccia del select a destra */
.k-atrc-tabs select.k-atrc-altre[b-z2j5y941ei] {
    appearance: auto;
    cursor: pointer;
    padding-right: 28px;
    outline: none;
}

    .k-atrc-tabs select.k-atrc-altre option[b-z2j5y941ei] {
        color: #1e293b;
        font-weight: 600;
    }

/* Stato sulla linguetta "Total ATRC": attesa, avviso o numero di targhe lette. Le <i> dentro un .nav-item prendono
   le regole del menu laterale (dashboard.css: display flex, larghezza minima, margine a destra) e andrebbero a capo:
   qui si rimettono in riga col testo. */
.k-atrc-tabs .nav-link i.k-atrc-stato[b-z2j5y941ei] {
    display: inline-block;
    min-width: 0;
    margin: 0 0 0 6px;
    font-size: 0.75rem;
}

.k-atrc-stato-attesa[b-z2j5y941ei] {
    color: var(--neon-cyan);
}

.k-atrc-stato-avviso[b-z2j5y941ei] {
    color: #f59e0b;
}

.k-atrc-conta[b-z2j5y941ei] {
    display: inline-block;
    margin-left: 6px;
    padding: 1px 7px;
    border-radius: 999px;
    font-size: 0.7rem;
    line-height: 1.4;
    background: rgba(6, 182, 212, 0.15);
    color: var(--neon-cyan);
}

.k-atrc-attesa[b-z2j5y941ei] {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--text-dim);
}

.k-atrc-attesa > i[b-z2j5y941ei] {
    color: var(--neon-cyan);
}

.k-atrc-targhe[b-z2j5y941ei] {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--text-main);
}

.k-atrc-etichetta[b-z2j5y941ei] {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--text-dim);
}

.k-atrc-valore[b-z2j5y941ei] {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--text-main);
}

/* Dati di una targa con attestato su una riga: l'impresa vale due colonne e il suo nome puo' andare a capo, gli altri
   campi non scendono sotto la larghezza del loro testo; senza spazio (telefono) vanno a capo i campi interi */
.k-atrc-campo-largo[b-z2j5y941ei] {
    flex: 2 1 0;
    min-width: 10rem;
}

.k-atrc-campo[b-z2j5y941ei] {
    flex: 1 1 0;
    min-width: max-content;
}

/* Avviso come quelli del preventivo veloce e dello step 5 (PreventivoFast_page.razor.css, Step5_page.razor.css) */
.k-avviso[b-z2j5y941ei] {
    display: flex;
    align-items: center;
    gap: 10px 12px;
    padding: 12px 16px;
    border-radius: 8px;
    border-left: 4px solid;
    font-size: 0.85rem;
    font-weight: 600;
    line-height: 1.5;
    color: var(--text-main); /* leggibile sia nel tema scuro (predefinito) sia in light-mode */
}

.k-avviso > i[b-z2j5y941ei] {
    font-size: 1.1rem;
    flex-shrink: 0;
}

.k-avviso-attenzione[b-z2j5y941ei] {
    background: rgba(245, 158, 11, 0.06);
    border-left-color: #f59e0b;
}

.k-avviso-attenzione > i[b-z2j5y941ei] {
    color: #f59e0b;
}
/* _content/WebApp/Components/Componenti/ReadOnly/CardAnagrafica.razor.rz.scp.css */
/* COLORI BASE SLATE (Tailwind-like) per eleganza */
.text-slate-50[b-ictbsy5xmj] {
    color: #f8fafc;
}

.text-slate-300[b-ictbsy5xmj] {
    color: #cbd5e1;
}

.text-slate-400[b-ictbsy5xmj] {
    color: #94a3b8;
}

.text-slate-500[b-ictbsy5xmj] {
    color: #64748b;
}

.text-slate-600[b-ictbsy5xmj] {
    color: #475569;
}

.text-slate-700[b-ictbsy5xmj] {
    color: #334155;
}

.text-slate-800[b-ictbsy5xmj] {
    color: #1e293b;
}

.text-slate-900[b-ictbsy5xmj] {
    color: #0f172a;
}

.bg-slate-50[b-ictbsy5xmj] {
    background-color: #f8fafc;
}

.bg-slate-100[b-ictbsy5xmj] {
    background-color: #f1f5f9;
}

.bg-slate-200[b-ictbsy5xmj] {
    background-color: #e2e8f0;
}

.border-slate-100[b-ictbsy5xmj] {
    border-color: #f1f5f9 !important;
}

.border-slate-200[b-ictbsy5xmj] {
    border-color: #e2e8f0 !important;
}

.border-slate-300[b-ictbsy5xmj] {
    border-color: #cbd5e1 !important;
}

/* STILI RIGOROSI TIPOGRAFIA DATI */
.data-label[b-ictbsy5xmj] {
    font-size: 0.68rem;
    font-weight: 800;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 4px;
}

/* La classe maestra per i dati. Niente grassetti casuali, niente colori sparati. */
.data-value[b-ictbsy5xmj] {
    font-size: 0.95rem;
    font-weight: 600;
    color: #334155;
    word-break: break-word;
    line-height: 1.4;
}

/* CARDS SENZA BORDI, SOLO OMBRE SOFT */
.kube-data-card[b-ictbsy5xmj] {
    border: none !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
}

/* BADGE TARGA PREMIUM */
.kube-targa[b-ictbsy5xmj] {
    display: inline-block;
    background: #1e293b;
    color: #ffffff;
    font-family: 'Courier New', Courier, monospace;
    font-weight: bold;
    font-size: 1rem;
    padding: 4px 12px;
    border-radius: 6px;
    letter-spacing: 2px;
    text-transform: uppercase;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.1);
}

/* LISTA GARANZIE PREMIUM */
.garanzia-item[b-ictbsy5xmj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    background-color: #f8fafc;
    transition: all 0.2s;
}

    .garanzia-item .icon[b-ictbsy5xmj] {
        width: 20px;
        text-align: center;
        color: #94a3b8;
    }

    .garanzia-item span[b-ictbsy5xmj] {
        font-size: 0.85rem;
        font-weight: 600;
        color: #64748b;
        margin-left: 6px;
    }

    .garanzia-item .check-icon[b-ictbsy5xmj] {
        color: #cbd5e1;
        font-size: 1.1rem;
    }

    .garanzia-item.active[b-ictbsy5xmj] {
        background-color: #f0fdf4; /* Verde molto chiaro */
        border-color: #bbf7d0;
    }

        .garanzia-item.active .icon[b-ictbsy5xmj] {
            color: #22c55e;
        }

        .garanzia-item.active span[b-ictbsy5xmj] {
            color: #166534;
        }

        .garanzia-item.active .check-icon[b-ictbsy5xmj] {
            color: #22c55e;
        }

/* LAYOUT STICKY PER LA COLONNA DESTRA (Niente scroll esterno, solo ancoraggio!) */
@@media (min-width: 1200px) {
    .kube-sidebar-container[b-ictbsy5xmj] {
        position: relative;
        height: 100%; /* Permette al flexbox interno di misurare lo spazio */
    }

    .kube-sticky-sidebar[b-ictbsy5xmj] {
        position: sticky;
        top: 20px;
        height: calc(100vh - 40px); /* Usa esattamente l'altezza del monitor meno i bordi */
        padding-right: 5px;
    }
}

/* FIX CHAT WRAPPER: Assicura che il componente figlio prenda tutta l'altezza */
.chat-wrapper > div[b-ictbsy5xmj] {
    flex: 1; /* Il segreto è flex: 1 invece di height: 100% */
    display: flex;
    flex-direction: column;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    overflow: hidden; /* Blocca l'overflow qui per delegarlo alla chat-history interna */
}
/* _content/WebApp/Components/Componenti/ReadOnly/CardAtrc.razor.rz.scp.css */
/* COLORI BASE SLATE (Tailwind-like) per eleganza */
.text-slate-50[b-nqypj2w07a] {
    color: #f8fafc;
}

.text-slate-300[b-nqypj2w07a] {
    color: #cbd5e1;
}

.text-slate-400[b-nqypj2w07a] {
    color: #94a3b8;
}

.text-slate-500[b-nqypj2w07a] {
    color: #64748b;
}

.text-slate-600[b-nqypj2w07a] {
    color: #475569;
}

.text-slate-700[b-nqypj2w07a] {
    color: #334155;
}

.text-slate-800[b-nqypj2w07a] {
    color: #1e293b;
}

.text-slate-900[b-nqypj2w07a] {
    color: #0f172a;
}

.bg-slate-50[b-nqypj2w07a] {
    background-color: #f8fafc;
}

.bg-slate-100[b-nqypj2w07a] {
    background-color: #f1f5f9;
}

.bg-slate-200[b-nqypj2w07a] {
    background-color: #e2e8f0;
}

.border-slate-100[b-nqypj2w07a] {
    border-color: #f1f5f9 !important;
}

.border-slate-200[b-nqypj2w07a] {
    border-color: #e2e8f0 !important;
}

.border-slate-300[b-nqypj2w07a] {
    border-color: #cbd5e1 !important;
}

/* STILI RIGOROSI TIPOGRAFIA DATI */
.data-label[b-nqypj2w07a] {
    font-size: 0.68rem;
    font-weight: 800;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 4px;
}

/* La classe maestra per i dati. Niente grassetti casuali, niente colori sparati. */
.data-value[b-nqypj2w07a] {
    font-size: 0.95rem;
    font-weight: 600;
    color: #334155;
    word-break: break-word;
    line-height: 1.4;
}

/* Data effetto, IUR e le due CU: colonne uguali, ma mai piu' strette del loro testo (l'IUR non va a capo); quando
   non ci stanno su una riga (telefono) vanno a capo i campi interi */
.k-atrc-campo[b-nqypj2w07a] {
    flex: 1 1 0;
    min-width: max-content;
}

/* CARDS SENZA BORDI, SOLO OMBRE SOFT */
.kube-data-card[b-nqypj2w07a] {
    border: none !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
}

/* BADGE TARGA PREMIUM */
.kube-targa[b-nqypj2w07a] {
    display: inline-block;
    background: #1e293b;
    color: #ffffff;
    font-family: 'Courier New', Courier, monospace;
    font-weight: bold;
    font-size: 1rem;
    padding: 4px 12px;
    border-radius: 6px;
    letter-spacing: 2px;
    text-transform: uppercase;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.1);
}

/* LISTA GARANZIE PREMIUM */
.garanzia-item[b-nqypj2w07a] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    background-color: #f8fafc;
    transition: all 0.2s;
}

    .garanzia-item .icon[b-nqypj2w07a] {
        width: 20px;
        text-align: center;
        color: #94a3b8;
    }

    .garanzia-item span[b-nqypj2w07a] {
        font-size: 0.85rem;
        font-weight: 600;
        color: #64748b;
        margin-left: 6px;
    }

    .garanzia-item .check-icon[b-nqypj2w07a] {
        color: #cbd5e1;
        font-size: 1.1rem;
    }

    .garanzia-item.active[b-nqypj2w07a] {
        background-color: #f0fdf4; /* Verde molto chiaro */
        border-color: #bbf7d0;
    }

        .garanzia-item.active .icon[b-nqypj2w07a] {
            color: #22c55e;
        }

        .garanzia-item.active span[b-nqypj2w07a] {
            color: #166534;
        }

        .garanzia-item.active .check-icon[b-nqypj2w07a] {
            color: #22c55e;
        }

/* LAYOUT STICKY PER LA COLONNA DESTRA (Niente scroll esterno, solo ancoraggio!) */
@@media (min-width: 1200px) {
    .kube-sidebar-container[b-nqypj2w07a] {
        position: relative;
        height: 100%; /* Permette al flexbox interno di misurare lo spazio */
    }

    .kube-sticky-sidebar[b-nqypj2w07a] {
        position: sticky;
        top: 20px;
        height: calc(100vh - 40px); /* Usa esattamente l'altezza del monitor meno i bordi */
        padding-right: 5px;
    }
}

/* FIX CHAT WRAPPER: Assicura che il componente figlio prenda tutta l'altezza */
.chat-wrapper > div[b-nqypj2w07a] {
    flex: 1; /* Il segreto è flex: 1 invece di height: 100% */
    display: flex;
    flex-direction: column;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    overflow: hidden; /* Blocca l'overflow qui per delegarlo alla chat-history interna */
}
/* _content/WebApp/Components/Componenti/ReadOnly/CardGaranzie.razor.rz.scp.css */
/* COLORI BASE SLATE (Tailwind-like) per eleganza */
.text-slate-50[b-lqd3iuwx6a] {
    color: #f8fafc;
}

.text-slate-300[b-lqd3iuwx6a] {
    color: #cbd5e1;
}

.text-slate-400[b-lqd3iuwx6a] {
    color: #94a3b8;
}

.text-slate-500[b-lqd3iuwx6a] {
    color: #64748b;
}

.text-slate-600[b-lqd3iuwx6a] {
    color: #475569;
}

.text-slate-700[b-lqd3iuwx6a] {
    color: #334155;
}

.text-slate-800[b-lqd3iuwx6a] {
    color: #1e293b;
}

.text-slate-900[b-lqd3iuwx6a] {
    color: #0f172a;
}

.bg-slate-50[b-lqd3iuwx6a] {
    background-color: #f8fafc;
}

.bg-slate-100[b-lqd3iuwx6a] {
    background-color: #f1f5f9;
}

.bg-slate-200[b-lqd3iuwx6a] {
    background-color: #e2e8f0;
}

.border-slate-100[b-lqd3iuwx6a] {
    border-color: #f1f5f9 !important;
}

.border-slate-200[b-lqd3iuwx6a] {
    border-color: #e2e8f0 !important;
}

.border-slate-300[b-lqd3iuwx6a] {
    border-color: #cbd5e1 !important;
}

/* STILI RIGOROSI TIPOGRAFIA DATI */
.data-label[b-lqd3iuwx6a] {
    font-size: 0.68rem;
    font-weight: 800;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 4px;
}

/* La classe maestra per i dati. Niente grassetti casuali, niente colori sparati. */
.data-value[b-lqd3iuwx6a] {
    font-size: 0.95rem;
    font-weight: 600;
    color: #334155;
    word-break: break-word;
    line-height: 1.4;
}

/* CARDS SENZA BORDI, SOLO OMBRE SOFT */
.kube-data-card[b-lqd3iuwx6a] {
    border: none !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
}

/* BADGE TARGA PREMIUM */
.kube-targa[b-lqd3iuwx6a] {
    display: inline-block;
    background: #1e293b;
    color: #ffffff;
    font-family: 'Courier New', Courier, monospace;
    font-weight: bold;
    font-size: 1rem;
    padding: 4px 12px;
    border-radius: 6px;
    letter-spacing: 2px;
    text-transform: uppercase;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.1);
}

/* LISTA GARANZIE PREMIUM */
.garanzia-item[b-lqd3iuwx6a] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    background-color: #f8fafc;
    transition: all 0.2s;
}

    .garanzia-item .icon[b-lqd3iuwx6a] {
        width: 20px;
        text-align: center;
        color: #94a3b8;
    }

    .garanzia-item span[b-lqd3iuwx6a] {
        font-size: 0.85rem;
        font-weight: 600;
        color: #64748b;
        margin-left: 6px;
    }

    .garanzia-item .check-icon[b-lqd3iuwx6a] {
        color: #cbd5e1;
        font-size: 1.1rem;
    }

    .garanzia-item.active[b-lqd3iuwx6a] {
        background-color: #f0fdf4; /* Verde molto chiaro */
        border-color: #bbf7d0;
    }

        .garanzia-item.active .icon[b-lqd3iuwx6a] {
            color: #22c55e;
        }

        .garanzia-item.active span[b-lqd3iuwx6a] {
            color: #166534;
        }

        .garanzia-item.active .check-icon[b-lqd3iuwx6a] {
            color: #22c55e;
        }

/* LAYOUT STICKY PER LA COLONNA DESTRA (Niente scroll esterno, solo ancoraggio!) */
@@media (min-width: 1200px) {
    .kube-sidebar-container[b-lqd3iuwx6a] {
        position: relative;
        height: 100%; /* Permette al flexbox interno di misurare lo spazio */
    }

    .kube-sticky-sidebar[b-lqd3iuwx6a] {
        position: sticky;
        top: 20px;
        height: calc(100vh - 40px); /* Usa esattamente l'altezza del monitor meno i bordi */
        padding-right: 5px;
    }
}

/* FIX CHAT WRAPPER: Assicura che il componente figlio prenda tutta l'altezza */
.chat-wrapper > div[b-lqd3iuwx6a] {
    flex: 1; /* Il segreto è flex: 1 invece di height: 100% */
    display: flex;
    flex-direction: column;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    overflow: hidden; /* Blocca l'overflow qui per delegarlo alla chat-history interna */
}
/* _content/WebApp/Components/Componenti/ReadOnly/CardGuidatore.razor.rz.scp.css */
/* COLORI BASE SLATE (Tailwind-like) per eleganza */
.text-slate-50[b-s6dnf5d938] {
    color: #f8fafc;
}

.text-slate-300[b-s6dnf5d938] {
    color: #cbd5e1;
}

.text-slate-400[b-s6dnf5d938] {
    color: #94a3b8;
}

.text-slate-500[b-s6dnf5d938] {
    color: #64748b;
}

.text-slate-600[b-s6dnf5d938] {
    color: #475569;
}

.text-slate-700[b-s6dnf5d938] {
    color: #334155;
}

.text-slate-800[b-s6dnf5d938] {
    color: #1e293b;
}

.text-slate-900[b-s6dnf5d938] {
    color: #0f172a;
}

.bg-slate-50[b-s6dnf5d938] {
    background-color: #f8fafc;
}

.bg-slate-100[b-s6dnf5d938] {
    background-color: #f1f5f9;
}

.bg-slate-200[b-s6dnf5d938] {
    background-color: #e2e8f0;
}

.border-slate-100[b-s6dnf5d938] {
    border-color: #f1f5f9 !important;
}

.border-slate-200[b-s6dnf5d938] {
    border-color: #e2e8f0 !important;
}

.border-slate-300[b-s6dnf5d938] {
    border-color: #cbd5e1 !important;
}

/* STILI RIGOROSI TIPOGRAFIA DATI */
.data-label[b-s6dnf5d938] {
    font-size: 0.68rem;
    font-weight: 800;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 4px;
}

/* La classe maestra per i dati. Niente grassetti casuali, niente colori sparati. */
.data-value[b-s6dnf5d938] {
    font-size: 0.95rem;
    font-weight: 600;
    color: #334155;
    word-break: break-word;
    line-height: 1.4;
}

/* CARDS SENZA BORDI, SOLO OMBRE SOFT */
.kube-data-card[b-s6dnf5d938] {
    border: none !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
}

/* BADGE TARGA PREMIUM */
.kube-targa[b-s6dnf5d938] {
    display: inline-block;
    background: #1e293b;
    color: #ffffff;
    font-family: 'Courier New', Courier, monospace;
    font-weight: bold;
    font-size: 1rem;
    padding: 4px 12px;
    border-radius: 6px;
    letter-spacing: 2px;
    text-transform: uppercase;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.1);
}

/* LISTA GARANZIE PREMIUM */
.garanzia-item[b-s6dnf5d938] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    background-color: #f8fafc;
    transition: all 0.2s;
}

    .garanzia-item .icon[b-s6dnf5d938] {
        width: 20px;
        text-align: center;
        color: #94a3b8;
    }

    .garanzia-item span[b-s6dnf5d938] {
        font-size: 0.85rem;
        font-weight: 600;
        color: #64748b;
        margin-left: 6px;
    }

    .garanzia-item .check-icon[b-s6dnf5d938] {
        color: #cbd5e1;
        font-size: 1.1rem;
    }

    .garanzia-item.active[b-s6dnf5d938] {
        background-color: #f0fdf4; /* Verde molto chiaro */
        border-color: #bbf7d0;
    }

        .garanzia-item.active .icon[b-s6dnf5d938] {
            color: #22c55e;
        }

        .garanzia-item.active span[b-s6dnf5d938] {
            color: #166534;
        }

        .garanzia-item.active .check-icon[b-s6dnf5d938] {
            color: #22c55e;
        }

/* LAYOUT STICKY PER LA COLONNA DESTRA (Niente scroll esterno, solo ancoraggio!) */
@@media (min-width: 1200px) {
    .kube-sidebar-container[b-s6dnf5d938] {
        position: relative;
        height: 100%; /* Permette al flexbox interno di misurare lo spazio */
    }

    .kube-sticky-sidebar[b-s6dnf5d938] {
        position: sticky;
        top: 20px;
        height: calc(100vh - 40px); /* Usa esattamente l'altezza del monitor meno i bordi */
        padding-right: 5px;
    }
}

/* FIX CHAT WRAPPER: Assicura che il componente figlio prenda tutta l'altezza */
.chat-wrapper > div[b-s6dnf5d938] {
    flex: 1; /* Il segreto è flex: 1 invece di height: 100% */
    display: flex;
    flex-direction: column;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    overflow: hidden; /* Blocca l'overflow qui per delegarlo alla chat-history interna */
}
/* _content/WebApp/Components/Componenti/ReadOnly/CardVeicolo.razor.rz.scp.css */
/* COLORI BASE SLATE (Tailwind-like) per eleganza */
.text-slate-50[b-a48b1r319f] {
    color: #f8fafc;
}

.text-slate-300[b-a48b1r319f] {
    color: #cbd5e1;
}

.text-slate-400[b-a48b1r319f] {
    color: #94a3b8;
}

.text-slate-500[b-a48b1r319f] {
    color: #64748b;
}

.text-slate-600[b-a48b1r319f] {
    color: #475569;
}

.text-slate-700[b-a48b1r319f] {
    color: #334155;
}

.text-slate-800[b-a48b1r319f] {
    color: #1e293b;
}

.text-slate-900[b-a48b1r319f] {
    color: #0f172a;
}

.bg-slate-50[b-a48b1r319f] {
    background-color: #f8fafc;
}

.bg-slate-100[b-a48b1r319f] {
    background-color: #f1f5f9;
}

.bg-slate-200[b-a48b1r319f] {
    background-color: #e2e8f0;
}

.border-slate-100[b-a48b1r319f] {
    border-color: #f1f5f9 !important;
}

.border-slate-200[b-a48b1r319f] {
    border-color: #e2e8f0 !important;
}

.border-slate-300[b-a48b1r319f] {
    border-color: #cbd5e1 !important;
}

/* STILI RIGOROSI TIPOGRAFIA DATI */
.data-label[b-a48b1r319f] {
    font-size: 0.68rem;
    font-weight: 800;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 4px;
}

/* La classe maestra per i dati. Niente grassetti casuali, niente colori sparati. */
.data-value[b-a48b1r319f] {
    font-size: 0.95rem;
    font-weight: 600;
    color: #334155;
    word-break: break-word;
    line-height: 1.4;
}

/* CARDS SENZA BORDI, SOLO OMBRE SOFT */
.kube-data-card[b-a48b1r319f] {
    border: none !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
}

/* BADGE TARGA PREMIUM */
.kube-targa[b-a48b1r319f] {
    display: inline-block;
    background: #1e293b;
    color: #ffffff;
    font-family: 'Courier New', Courier, monospace;
    font-weight: bold;
    font-size: 1rem;
    padding: 4px 12px;
    border-radius: 6px;
    letter-spacing: 2px;
    text-transform: uppercase;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.1);
}

/* LISTA GARANZIE PREMIUM */
.garanzia-item[b-a48b1r319f] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    background-color: #f8fafc;
    transition: all 0.2s;
}

    .garanzia-item .icon[b-a48b1r319f] {
        width: 20px;
        text-align: center;
        color: #94a3b8;
    }

    .garanzia-item span[b-a48b1r319f] {
        font-size: 0.85rem;
        font-weight: 600;
        color: #64748b;
        margin-left: 6px;
    }

    .garanzia-item .check-icon[b-a48b1r319f] {
        color: #cbd5e1;
        font-size: 1.1rem;
    }

    .garanzia-item.active[b-a48b1r319f] {
        background-color: #f0fdf4; /* Verde molto chiaro */
        border-color: #bbf7d0;
    }

        .garanzia-item.active .icon[b-a48b1r319f] {
            color: #22c55e;
        }

        .garanzia-item.active span[b-a48b1r319f] {
            color: #166534;
        }

        .garanzia-item.active .check-icon[b-a48b1r319f] {
            color: #22c55e;
        }

/* LAYOUT STICKY PER LA COLONNA DESTRA (Niente scroll esterno, solo ancoraggio!) */
@@media (min-width: 1200px) {
    .kube-sidebar-container[b-a48b1r319f] {
        position: relative;
        height: 100%; /* Permette al flexbox interno di misurare lo spazio */
    }

    .kube-sticky-sidebar[b-a48b1r319f] {
        position: sticky;
        top: 20px;
        height: calc(100vh - 40px); /* Usa esattamente l'altezza del monitor meno i bordi */
        padding-right: 5px;
    }
}

/* FIX CHAT WRAPPER: Assicura che il componente figlio prenda tutta l'altezza */
.chat-wrapper > div[b-a48b1r319f] {
    flex: 1; /* Il segreto è flex: 1 invece di height: 100% */
    display: flex;
    flex-direction: column;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    overflow: hidden; /* Blocca l'overflow qui per delegarlo alla chat-history interna */
}
/* _content/WebApp/Components/Componenti/Regolatore/AiChatRegoleModal.razor.rz.scp.css */
/* ══════════════════════════════════════════════════
   AI CHAT REGOLE MODAL — Assistente AI per creazione regole
   ══════════════════════════════════════════════════ */

/* ── Backdrop scuro con blur dietro la modale ── */
.ai-modal-backdrop[b-hxsfvwm9vr] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.6);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    z-index: 1050;
    animation: fade-in-b-hxsfvwm9vr 0.2s ease-out;
}

/* ── Contenitore modale centrale ── */
.ai-modal-container[b-hxsfvwm9vr] {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 95%;
    max-width: 900px;
    height: 85vh;
    max-height: 800px;
    background: white;
    border-radius: 20px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
    z-index: 1060;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: slide-up-b-hxsfvwm9vr 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

/* ══════════════════════════════════════════════════
   HEADER — Titolo con gradient cyan
   ══════════════════════════════════════════════════ */
.ai-modal-header[b-hxsfvwm9vr] {
    background: linear-gradient(135deg, #0ea5e9 0%, #22d3ee 100%);
    padding: 20px 28px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-shrink: 0;
}

.ai-modal-icon[b-hxsfvwm9vr] {
    width: 48px;
    height: 48px;
    background: rgba(255, 255, 255, 0.25);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1.3rem;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.ai-modal-close[b-hxsfvwm9vr] {
    background: rgba(255, 255, 255, 0.2);
    border: none;
    color: white;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .ai-modal-close:hover[b-hxsfvwm9vr] {
        background: rgba(255, 255, 255, 0.35);
        transform: rotate(90deg);
    }

/* ══════════════════════════════════════════════════
   BODY — Area chat scrollabile
   ══════════════════════════════════════════════════ */
.ai-modal-body[b-hxsfvwm9vr] {
    flex: 1;
    overflow-y: auto;
    padding: 24px 28px;
    background: #f8fafc;
}

/* ══════════════════════════════════════════════════
   FOOTER — Area input messaggio
   ══════════════════════════════════════════════════ */
.ai-modal-footer[b-hxsfvwm9vr] {
    padding: 16px 28px;
    border-top: 1px solid #e2e8f0;
    background: white;
    flex-shrink: 0;
}

/* ══════════════════════════════════════════════════
   UTILITY
   ══════════════════════════════════════════════════ */
.text-slate-300[b-hxsfvwm9vr] {
    color: #cbd5e1 !important;
}

/* ══════════════════════════════════════════════════
   ANIMAZIONI
   ══════════════════════════════════════════════════ */
@keyframes fade-in-b-hxsfvwm9vr {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes slide-up-b-hxsfvwm9vr {
    from {
        opacity: 0;
        transform: translate(-50%, -45%);
    }

    to {
        opacity: 1;
        transform: translate(-50%, -50%);
    }
}


/* ══════════════════════════════════════════════════
   MESSAGGI CHAT
   ══════════════════════════════════════════════════ */
.ai-msg[b-hxsfvwm9vr] {
    display: flex;
    margin-bottom: 16px;
    animation: msg-in-b-hxsfvwm9vr 0.25s ease-out;
}

.ai-msg-user[b-hxsfvwm9vr] {
    justify-content: flex-end;
}

.ai-msg-assistant[b-hxsfvwm9vr] {
    justify-content: flex-start;
}

.ai-msg-bubble[b-hxsfvwm9vr] {
    max-width: 75%;
    padding: 12px 16px;
    border-radius: 16px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    font-size: 0.95rem;
    line-height: 1.5;
}

.ai-msg-user .ai-msg-bubble[b-hxsfvwm9vr] {
    background: linear-gradient(135deg, #0ea5e9 0%, #22d3ee 100%);
    color: white;
    border-bottom-right-radius: 4px;
}

.ai-msg-assistant .ai-msg-bubble[b-hxsfvwm9vr] {
    background: white;
    color: #1e293b;
    border: 1px solid #e2e8f0;
    border-bottom-left-radius: 4px;
}

.ai-msg-label[b-hxsfvwm9vr] {
    font-size: 0.7rem;
    font-weight: 700;
    color: #0ea5e9;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 4px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.ai-msg-content[b-hxsfvwm9vr] {
    word-wrap: break-word;
    white-space: pre-wrap;
    font-family: 'Consolas', 'Monaco', monospace;
    font-size: 0.85rem;
}

.ai-msg-user .ai-msg-content[b-hxsfvwm9vr] {
    font-family: inherit;
    font-size: 0.95rem;
}

/* ── Typing indicator ── */
.ai-msg-loading[b-hxsfvwm9vr] {
    padding: 16px 20px !important;
}

.ai-typing[b-hxsfvwm9vr] {
    display: flex;
    gap: 4px;
    align-items: center;
}

    .ai-typing span[b-hxsfvwm9vr] {
        width: 8px;
        height: 8px;
        background: #94a3b8;
        border-radius: 50%;
        animation: typing-b-hxsfvwm9vr 1.4s infinite ease-in-out;
    }

        .ai-typing span:nth-child(2)[b-hxsfvwm9vr] {
            animation-delay: 0.2s;
        }

        .ai-typing span:nth-child(3)[b-hxsfvwm9vr] {
            animation-delay: 0.4s;
        }

/* ══════════════════════════════════════════════════
   SUGGERIMENTI RAPIDI
   ══════════════════════════════════════════════════ */
.ai-suggestion[b-hxsfvwm9vr] {
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 10px 16px;
    font-size: 0.9rem;
    color: #475569;
    cursor: pointer;
    transition: all 0.2s;
    font-weight: 500;
}

    .ai-suggestion:hover[b-hxsfvwm9vr] {
        background: #f0f9ff;
        border-color: #0ea5e9;
        color: #0284c7;
        transform: translateY(-1px);
    }

/* ══════════════════════════════════════════════════
   INPUT MESSAGGIO
   ══════════════════════════════════════════════════ */
.ai-input-container[b-hxsfvwm9vr] {
    display: flex;
    gap: 10px;
    align-items: flex-end;
}

.ai-input[b-hxsfvwm9vr] {
    flex: 1;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    padding: 10px 14px;
    font-size: 0.95rem;
    resize: none;
    outline: none;
    transition: all 0.2s;
    font-family: inherit;
}

    .ai-input:focus[b-hxsfvwm9vr] {
        border-color: #0ea5e9;
        box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.15);
    }

    .ai-input:disabled[b-hxsfvwm9vr] {
        background: #f1f5f9;
        cursor: not-allowed;
    }

.ai-send-btn[b-hxsfvwm9vr] {
    background: linear-gradient(135deg, #0ea5e9 0%, #22d3ee 100%);
    border: none;
    color: white;
    width: 48px;
    height: 48px;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.2s;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    box-shadow: 0 4px 12px rgba(14, 165, 233, 0.3);
}

    .ai-send-btn:hover:not(:disabled)[b-hxsfvwm9vr] {
        transform: translateY(-2px);
        box-shadow: 0 6px 16px rgba(14, 165, 233, 0.5);
    }

    .ai-send-btn:disabled[b-hxsfvwm9vr] {
        opacity: 0.5;
        cursor: not-allowed;
        box-shadow: none;
    }

.text-slate-600[b-hxsfvwm9vr] {
    color: #475569 !important;
}

/* ══════════════════════════════════════════════════
   ANIMAZIONI AGGIUNTIVE
   ══════════════════════════════════════════════════ */
@keyframes msg-in-b-hxsfvwm9vr {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes typing-b-hxsfvwm9vr {
    0%, 60%, 100% {
        transform: scale(1);
        opacity: 0.5;
    }

    30% {
        transform: scale(1.3);
        opacity: 1;
    }
}

.ai-msg-bubble-wide[b-hxsfvwm9vr] {
    max-width: 90% !important;
    padding: 16px 18px !important;
}
/* _content/WebApp/Components/Componenti/Regolatore/AiResponseRenderer.razor.rz.scp.css */
/* ══════════════════════════════════════════════════
   AI RESPONSE RENDERER — visualizzazione parsata
   ══════════════════════════════════════════════════ */

.ai-response[b-gwn2ar6ol6] {
    display: flex;
    gap: 14px;
    align-items: flex-start;
}

.ai-response-icon[b-gwn2ar6ol6] {
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    color: white;
}

.ai-response-content[b-gwn2ar6ol6] {
    flex: 1;
    min-width: 0;
}

.ai-response-title[b-gwn2ar6ol6] {
    font-size: 0.95rem;
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 4px;
}

.ai-response-text[b-gwn2ar6ol6] {
    color: #475569;
    font-size: 0.92rem;
    line-height: 1.5;
}

/* ── Varianti per action ── */
.ai-response-ask .ai-response-icon[b-gwn2ar6ol6] {
    background: #f59e0b;
}

.ai-response-confirm .ai-response-icon[b-gwn2ar6ol6] {
    background: #0ea5e9;
}

.ai-response-generate .ai-response-icon[b-gwn2ar6ol6] {
    background: linear-gradient(135deg, #8b5cf6 0%, #ec4899 100%);
}

.ai-response-abort .ai-response-icon[b-gwn2ar6ol6] {
    background: #ef4444;
}

.ai-response-summary[b-gwn2ar6ol6] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 10px;
    padding: 6px 12px;
    background: #f0f9ff;
    color: #0284c7;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    border: 1px solid #bae6fd;
}

.ai-response-actions[b-gwn2ar6ol6] {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

/* ── Bottoni azione risposta ── */
.btn-ai-confirm[b-gwn2ar6ol6],
.btn-ai-integrate[b-gwn2ar6ol6] {
    background: linear-gradient(135deg, #10b981 0%, #34d399 100%);
    color: white;
    border: none;
    border-radius: 10px;
    padding: 8px 18px;
    font-size: 0.9rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    box-shadow: 0 3px 8px rgba(16, 185, 129, 0.3);
}

    .btn-ai-confirm:hover:not(:disabled)[b-gwn2ar6ol6],
    .btn-ai-integrate:hover:not(:disabled)[b-gwn2ar6ol6] {
        transform: translateY(-2px);
        box-shadow: 0 5px 14px rgba(16, 185, 129, 0.45);
    }

.btn-ai-integrate[b-gwn2ar6ol6] {
    background: linear-gradient(135deg, #8b5cf6 0%, #ec4899 100%);
    box-shadow: 0 3px 8px rgba(139, 92, 246, 0.3);
}

    .btn-ai-integrate:hover:not(:disabled)[b-gwn2ar6ol6] {
        box-shadow: 0 5px 14px rgba(139, 92, 246, 0.45);
    }

.btn-ai-refuse[b-gwn2ar6ol6] {
    background: white;
    color: #64748b;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    padding: 8px 18px;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

    .btn-ai-refuse:hover:not(:disabled)[b-gwn2ar6ol6] {
        background: #f1f5f9;
        border-color: #94a3b8;
        color: #1e293b;
    }

    .btn-ai-confirm:disabled[b-gwn2ar6ol6],
    .btn-ai-integrate:disabled[b-gwn2ar6ol6],
    .btn-ai-refuse:disabled[b-gwn2ar6ol6] {
        opacity: 0.5;
        cursor: not-allowed;
        transform: none;
        box-shadow: none;
    }

/* ══════════════════════════════════════════════════
   ANTEPRIMA REGOLE GENERATE
   ══════════════════════════════════════════════════ */
.ai-rules-preview[b-gwn2ar6ol6] {
    margin-top: 14px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ai-rule-card[b-gwn2ar6ol6] {
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.ai-rule-header[b-gwn2ar6ol6] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
}

.ai-rule-badge[b-gwn2ar6ol6] {
    font-size: 0.72rem;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 20px;
    color: white;
    white-space: nowrap;
}

.ai-rule-badge-red[b-gwn2ar6ol6] {
    background: #ef4444;
}

.ai-rule-badge-blue[b-gwn2ar6ol6] {
    background: #3b82f6;
}

.ai-rule-badge-green[b-gwn2ar6ol6] {
    background: #10b981;
}

.ai-rule-badge-gray[b-gwn2ar6ol6] {
    background: #94a3b8;
}

.ai-rule-name[b-gwn2ar6ol6] {
    font-weight: 700;
    color: #1e293b;
    font-size: 0.92rem;
    flex: 1;
    word-break: break-word;
}

.ai-rule-body[b-gwn2ar6ol6] {
    padding: 12px 14px;
    font-size: 0.85rem;
}

.ai-rule-section[b-gwn2ar6ol6] {
    margin-bottom: 10px;
}

    .ai-rule-section:last-child[b-gwn2ar6ol6] {
        margin-bottom: 0;
    }

.ai-rule-section-label[b-gwn2ar6ol6] {
    display: block;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    color: #94a3b8;
    letter-spacing: 0.5px;
    margin-bottom: 6px;
}

.ai-rule-condition[b-gwn2ar6ol6] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    padding: 4px 0;
    color: #475569;
}

    .ai-rule-condition code[b-gwn2ar6ol6] {
        background: #eff6ff;
        color: #1d4ed8;
        padding: 2px 8px;
        border-radius: 4px;
        font-size: 0.82rem;
        font-family: 'Consolas', monospace;
    }

    .ai-rule-condition .op[b-gwn2ar6ol6] {
        color: #64748b;
        font-weight: 700;
        font-size: 0.8rem;
    }

    .ai-rule-condition strong[b-gwn2ar6ol6] {
        color: #1e293b;
    }

.ai-rule-subgroup[b-gwn2ar6ol6] {
    margin-top: 8px;
    padding-left: 12px;
    border-left: 3px solid #c7d2fe;
}

.ai-rule-action[b-gwn2ar6ol6] {
    padding: 8px 12px;
    background: #f1f5f9;
    border-radius: 8px;
    color: #334155;
    font-size: 0.88rem;
    border-left: 3px solid #0ea5e9;
}
/* _content/WebApp/Components/Layout/MainLayout.razor.rz.scp.css */
#blazor-error-ui[b-pui3qmsk44] {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-pui3qmsk44] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* _content/WebApp/Components/Modals/ConfermaCfBersani_modal.razor.rz.scp.css */
/* Stesso stile del modal dell'indirizzo (ConfermaIndirizzo_modal.razor.css): il CSS isolato vale per un solo
   componente, quindi le regole comuni sono ripetute qui. In piu' la nota sotto la correzione proposta. */
.kc-sfondo[b-v4te23nd5u] {
    position: fixed;
    inset: 0;
    z-index: 1050;
    background: rgba(15, 23, 42, 0.6);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    animation: kc-compari-b-v4te23nd5u 0.2s ease-out;
}

.kc-finestra[b-v4te23nd5u] {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 1060;
    width: calc(100% - 32px);
    max-width: 600px;
    height: auto;
    transform: translate(-50%, -50%);
    box-shadow: 0 25px 50px -12px var(--shadow-color);
    animation: kc-compari-b-v4te23nd5u 0.2s ease-out;
}

/* testata come quella degli step (es. "Dati Assicurativi") */
.kc-testa[b-v4te23nd5u] {
    border-bottom: 1px solid var(--border-color);
}

.kc-icona[b-v4te23nd5u] {
    width: 45px;
    height: 45px;
    flex-shrink: 0;
    margin-right: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(6, 182, 212, 0.1);
    color: var(--neon-cyan);
    font-size: 1.2rem;
}

.kc-titolo[b-v4te23nd5u] {
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--text-main);
}

/* l'indirizzo scritto in evidenza, come un campo degli step */
.kc-dato[b-v4te23nd5u] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.kc-valore[b-v4te23nd5u] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 12px;
    border: 1px solid rgba(245, 158, 11, 0.45);
    background: rgba(245, 158, 11, 0.08);
    color: var(--text-main);
    font-size: 1.15rem;
    font-weight: 800;
}

.kc-valore > i[b-v4te23nd5u] {
    color: #f59e0b;
}

.kc-testo[b-v4te23nd5u] {
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--text-dim);
}

/* correzione proposta: card azzurra cliccabile ("Usa ...") */
.kc-proposta[b-v4te23nd5u] {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 12px 16px;
    border-radius: 12px;
    border: 1px solid rgba(6, 182, 212, 0.45);
    background: rgba(6, 182, 212, 0.08);
    color: var(--text-main);
    text-align: left;
    transition: background 0.2s, border-color 0.2s;
}

.kc-proposta:hover[b-v4te23nd5u] {
    border-color: var(--neon-cyan);
    background: rgba(6, 182, 212, 0.16);
}

.kc-proposta > i[b-v4te23nd5u] {
    color: var(--neon-cyan);
}

.kc-proposta-testo[b-v4te23nd5u] {
    font-size: 1.05rem;
    font-weight: 800;
}

.kc-proposta-nota[b-v4te23nd5u] {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--text-dim);
}

.kc-proposta-freccia[b-v4te23nd5u] {
    margin-left: auto;
}

/* piede come quello degli step: "Indietro" a sinistra, "Avanti" a destra */
.kc-piede[b-v4te23nd5u] {
    border-top: 1px solid var(--border-color);
}

.kc-correggi[b-v4te23nd5u] {
    padding: 0;
    border: none;
    background: none;
    color: var(--text-dim);
    font-weight: 700;
    transition: color 0.2s;
}

.kc-correggi:hover[b-v4te23nd5u] {
    color: var(--text-main);
}

/* btn-primary globale (components.css) e' a tutta larghezza: qui le misure del pulsante Avanti degli step */
.kc-procedi[b-v4te23nd5u] {
    width: auto;
    min-width: 180px;
    margin: 0 0 0 auto; /* a destra anche se il piede va a capo */
    padding: 12px 30px;
    font-weight: 700;
}

/* cosa cambia con "Usa i dati dell'attestato" */
.kc-nota[b-v4te23nd5u] {
    font-size: 0.8rem;
    color: var(--text-dim);
}

@keyframes kc-compari-b-v4te23nd5u {
    from { opacity: 0; }
    to { opacity: 1; }
}

@media (max-width: 480px) {
    .kc-piede[b-v4te23nd5u] {
        flex-direction: column-reverse;
        align-items: stretch !important;
    }

    .kc-procedi[b-v4te23nd5u] {
        width: 100%;
    }
}
/* _content/WebApp/Components/Modals/ConfermaDataEffetto_modal.razor.rz.scp.css */
/* Stile degli step K-UBE: card-widget, testata con icona azzurra, etichetta dei campi (input-label), piede Indietro/Avanti.
   Colori dalle variabili di tema: va bene sia nel tema scuro (predefinito) sia in light-mode. */
.kc-sfondo[b-lyy1psfne7] {
    position: fixed;
    inset: 0;
    z-index: 1050;
    background: rgba(15, 23, 42, 0.6);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    animation: kc-compari-b-lyy1psfne7 0.2s ease-out;
}

.kc-finestra[b-lyy1psfne7] {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 1060;
    width: calc(100% - 32px);
    max-width: 600px;
    height: auto;
    transform: translate(-50%, -50%);
    box-shadow: 0 25px 50px -12px var(--shadow-color);
    animation: kc-compari-b-lyy1psfne7 0.2s ease-out;
}

/* testata come quella degli step (es. "Dati Assicurativi") */
.kc-testa[b-lyy1psfne7] {
    border-bottom: 1px solid var(--border-color);
}

.kc-icona[b-lyy1psfne7] {
    width: 45px;
    height: 45px;
    flex-shrink: 0;
    margin-right: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(6, 182, 212, 0.1);
    color: var(--neon-cyan);
    font-size: 1.2rem;
}

.kc-titolo[b-lyy1psfne7] {
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--text-main);
}

/* la data in evidenza, come un campo degli step */
.kc-dato[b-lyy1psfne7] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.kc-valore[b-lyy1psfne7] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 12px;
    border: 1px solid rgba(245, 158, 11, 0.45);
    background: rgba(245, 158, 11, 0.08);
    color: var(--text-main);
    font-size: 1.15rem;
    font-weight: 800;
}

.kc-valore > i[b-lyy1psfne7] {
    color: #f59e0b;
}

/* la scadenza SIC proposta come decorrenza: in azzurro, come le icone degli step */
.kc-valore-scadenza[b-lyy1psfne7] {
    border-color: rgba(6, 182, 212, 0.45);
    background: rgba(6, 182, 212, 0.08);
}

.kc-valore-scadenza > i[b-lyy1psfne7] {
    color: var(--neon-cyan);
}

.kc-giorni[b-lyy1psfne7] {
    margin-left: auto;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #f59e0b;
}

.kc-testo[b-lyy1psfne7] {
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--text-dim);
}

/* piede come quello degli step: "Indietro" a sinistra, "Avanti" a destra */
.kc-piede[b-lyy1psfne7] {
    border-top: 1px solid var(--border-color);
}

.kc-correggi[b-lyy1psfne7] {
    padding: 0;
    border: none;
    background: none;
    color: var(--text-dim);
    font-weight: 700;
    transition: color 0.2s;
}

.kc-correggi:hover[b-lyy1psfne7] {
    color: var(--text-main);
}

/* btn-primary globale (components.css) e' a tutta larghezza: qui le misure del pulsante Avanti degli step */
.kc-procedi[b-lyy1psfne7] {
    width: auto;
    min-width: 180px;
    margin: 0 0 0 auto; /* a destra anche se il piede va a capo */
    padding: 12px 30px;
    font-weight: 700;
}

@keyframes kc-compari-b-lyy1psfne7 {
    from { opacity: 0; }
    to { opacity: 1; }
}

@media (max-width: 480px) {
    .kc-piede[b-lyy1psfne7] {
        flex-direction: column-reverse;
        align-items: stretch !important;
    }

    .kc-procedi[b-lyy1psfne7] {
        width: 100%;
    }
}
/* _content/WebApp/Components/Modals/ConfermaIndirizzo_modal.razor.rz.scp.css */
/* Stesso stile del modal della data effetto (ConfermaDataEffetto_modal.razor.css): il CSS isolato vale per un solo
   componente, quindi le regole comuni sono ripetute qui. In piu' le card delle correzioni proposte. */
.kc-sfondo[b-oq4scrogkj] {
    position: fixed;
    inset: 0;
    z-index: 1050;
    background: rgba(15, 23, 42, 0.6);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    animation: kc-compari-b-oq4scrogkj 0.2s ease-out;
}

.kc-finestra[b-oq4scrogkj] {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 1060;
    width: calc(100% - 32px);
    max-width: 600px;
    height: auto;
    transform: translate(-50%, -50%);
    box-shadow: 0 25px 50px -12px var(--shadow-color);
    animation: kc-compari-b-oq4scrogkj 0.2s ease-out;
}

/* testata come quella degli step (es. "Dati Assicurativi") */
.kc-testa[b-oq4scrogkj] {
    border-bottom: 1px solid var(--border-color);
}

.kc-icona[b-oq4scrogkj] {
    width: 45px;
    height: 45px;
    flex-shrink: 0;
    margin-right: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(6, 182, 212, 0.1);
    color: var(--neon-cyan);
    font-size: 1.2rem;
}

.kc-titolo[b-oq4scrogkj] {
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--text-main);
}

/* l'indirizzo scritto in evidenza, come un campo degli step */
.kc-dato[b-oq4scrogkj] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.kc-valore[b-oq4scrogkj] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 12px;
    border: 1px solid rgba(245, 158, 11, 0.45);
    background: rgba(245, 158, 11, 0.08);
    color: var(--text-main);
    font-size: 1.15rem;
    font-weight: 800;
}

.kc-valore > i[b-oq4scrogkj] {
    color: #f59e0b;
}

.kc-testo[b-oq4scrogkj] {
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--text-dim);
}

/* correzione proposta: card azzurra cliccabile ("Usa ...") */
.kc-proposta[b-oq4scrogkj] {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 12px 16px;
    border-radius: 12px;
    border: 1px solid rgba(6, 182, 212, 0.45);
    background: rgba(6, 182, 212, 0.08);
    color: var(--text-main);
    text-align: left;
    transition: background 0.2s, border-color 0.2s;
}

.kc-proposta:hover[b-oq4scrogkj] {
    border-color: var(--neon-cyan);
    background: rgba(6, 182, 212, 0.16);
}

.kc-proposta > i[b-oq4scrogkj] {
    color: var(--neon-cyan);
}

.kc-proposta-testo[b-oq4scrogkj] {
    font-size: 1.05rem;
    font-weight: 800;
}

.kc-proposta-nota[b-oq4scrogkj] {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--text-dim);
}

.kc-proposta-freccia[b-oq4scrogkj] {
    margin-left: auto;
}

/* piede come quello degli step: "Indietro" a sinistra, "Avanti" a destra */
.kc-piede[b-oq4scrogkj] {
    border-top: 1px solid var(--border-color);
}

.kc-correggi[b-oq4scrogkj] {
    padding: 0;
    border: none;
    background: none;
    color: var(--text-dim);
    font-weight: 700;
    transition: color 0.2s;
}

.kc-correggi:hover[b-oq4scrogkj] {
    color: var(--text-main);
}

/* btn-primary globale (components.css) e' a tutta larghezza: qui le misure del pulsante Avanti degli step */
.kc-procedi[b-oq4scrogkj] {
    width: auto;
    min-width: 180px;
    margin: 0 0 0 auto; /* a destra anche se il piede va a capo */
    padding: 12px 30px;
    font-weight: 700;
}

@keyframes kc-compari-b-oq4scrogkj {
    from { opacity: 0; }
    to { opacity: 1; }
}

@media (max-width: 480px) {
    .kc-piede[b-oq4scrogkj] {
        flex-direction: column-reverse;
        align-items: stretch !important;
    }

    .kc-procedi[b-oq4scrogkj] {
        width: 100%;
    }
}
/* _content/WebApp/Components/Modals/PreventivoManuale_modal.razor.rz.scp.css */
/* Stesso stile dei modal kc-* (ConfermaIndirizzo_modal.razor.css): il CSS isolato vale per un solo componente,
   quindi le regole comuni sono ripetute qui. In piu' la griglia delle garanzie, la tabella delle spese e i totali.
   z-index sopra il menu laterale (2000 in dashboard.css): la finestra e' larga e lo toccherebbe; sotto i toast (9999). */
.km-sfondo[b-f0fdu6wjtj] {
    position: fixed;
    inset: 0;
    z-index: 2100;
    background: rgba(15, 23, 42, 0.6);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    animation: km-compari-b-f0fdu6wjtj 0.2s ease-out;
}

/* Colonna con testa e piede fermi e il corpo che scorre: la finestra e' piu' alta di molti schermi e il tasto Salva
   deve restare visibile. card-widget (dashboard.css) e' gia' una colonna flex: testa e piede non si stringono, il
   corpo prende il resto e scorre; dentro il corpo il contenuto e' un blocco normale, cosi' la tabella delle spese
   (overflow hidden) non viene schiacciata. */
.km-finestra[b-f0fdu6wjtj] {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 2110;
    display: flex;
    flex-direction: column;
    height: auto;
    width: calc(100% - 32px);
    max-width: 860px;
    max-height: calc(100vh - 32px);
    padding: 0 !important;
    overflow: hidden;
    transform: translate(-50%, -50%);
    box-shadow: 0 25px 50px -12px var(--shadow-color);
    animation: km-compari-b-f0fdu6wjtj 0.2s ease-out;
}

.km-testa[b-f0fdu6wjtj] {
    flex-shrink: 0;
    padding: 22px 28px 18px;
    border-bottom: 1px solid var(--border-color);
}

.km-corpo[b-f0fdu6wjtj] {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 20px 28px 24px;
}

.km-icona[b-f0fdu6wjtj] {
    width: 45px;
    height: 45px;
    flex-shrink: 0;
    margin-right: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(6, 182, 212, 0.1);
    color: var(--neon-cyan);
    font-size: 1.2rem;
}

.km-titolo[b-f0fdu6wjtj] {
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--text-main);
}

.km-testo[b-f0fdu6wjtj] {
    font-size: 0.92rem;
    line-height: 1.55;
    color: var(--text-dim);
}

.km-nota[b-f0fdu6wjtj] {
    font-size: 0.78rem;
    color: var(--text-dim);
    margin-top: 6px;
}

.km-nota-inline[b-f0fdu6wjtj] {
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
    color: var(--text-dim);
}

.km-sezione[b-f0fdu6wjtj] {
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--text-main);
    margin: 26px 0 10px;
}

/* garanzie: caselle come le pillole della carta */
.km-garanzie[b-f0fdu6wjtj] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}

.km-g[b-f0fdu6wjtj] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    font-size: 0.88rem;
    color: var(--text-main);
    background: var(--bg-surface);
    cursor: pointer;
}

.km-g.on[b-f0fdu6wjtj] {
    border-color: rgba(6, 182, 212, 0.55);
    background: rgba(6, 182, 212, 0.07);
    font-weight: 600;
}

.km-g.fisso[b-f0fdu6wjtj] {
    opacity: 0.75;
    cursor: default;
}

.km-g input[b-f0fdu6wjtj] {
    accent-color: #06b6d4;
}

/* spese */
.km-spese[b-f0fdu6wjtj] {
    border: 1px solid var(--border-color);
    border-radius: 10px;
    overflow: hidden;
}

.km-spesa[b-f0fdu6wjtj] {
    display: grid;
    grid-template-columns: 56px 1fr 96px 175px 140px 24px;
    gap: 10px;
    align-items: center;
    padding: 10px 12px;
    border-top: 1px solid var(--border-color);
    font-size: 0.9rem;
    color: var(--text-main);
}

.km-spesa:first-child[b-f0fdu6wjtj] {
    border-top: none;
}

.km-spesa.testa[b-f0fdu6wjtj] {
    background: #f8fafc;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    color: #64748b;
}

.km-spesa.esclusa > span[b-f0fdu6wjtj] {
    color: #94a3b8;
}

.km-spesa input[type=text][b-f0fdu6wjtj],
.km-spesa select[b-f0fdu6wjtj] {
    width: 100%;
    min-width: 0;
    padding: 6px 8px;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    font-size: 0.88rem;
    color: var(--text-main);
    background: var(--bg-surface);
}

.km-spesa-vuota[b-f0fdu6wjtj] {
    padding: 14px 12px;
    border-top: 1px solid var(--border-color);
    font-size: 0.88rem;
    color: var(--text-dim);
}

.km-tag[b-f0fdu6wjtj] {
    display: inline-block;
    white-space: nowrap;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
}

.km-tag.auto[b-f0fdu6wjtj] {
    background: #f1f5f9;
    color: #475569;
}

.km-tag.man[b-f0fdu6wjtj] {
    background: #fff7ed;
    color: #c2410c;
}

.km-togli[b-f0fdu6wjtj] {
    border: none;
    background: none;
    padding: 0;
    color: #94a3b8;
}

.km-togli:hover[b-f0fdu6wjtj] {
    color: #dc2626;
}

.km-piu[b-f0fdu6wjtj] {
    width: 100%;
    margin-top: 10px;
    border: 1px dashed rgba(6, 182, 212, 0.6);
    background: none;
    color: #0891b2;
    font-weight: 700;
    border-radius: 8px;
    padding: 8px 14px;
}

/* totali */
.km-totali[b-f0fdu6wjtj] {
    display: flex;
    gap: 16px;
    margin-top: 22px;
}

.km-tot[b-f0fdu6wjtj] {
    flex: 1;
    border-radius: 12px;
    padding: 14px 16px;
    background: #f8fafc;
    border: 1px solid var(--border-color);
}

.km-tot .et[b-f0fdu6wjtj] {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #64748b;
}

.km-tot .val[b-f0fdu6wjtj] {
    font-size: 1.4rem;
    font-weight: 900;
    color: var(--text-main);
}

.km-tot .val.vuoto[b-f0fdu6wjtj] {
    color: #94a3b8;
}

.km-tot .det[b-f0fdu6wjtj] {
    font-size: 0.8rem;
    color: #64748b;
}

.km-errore[b-f0fdu6wjtj] {
    padding: 12px 16px;
    border-radius: 12px;
    border: 1px solid rgba(239, 68, 68, 0.35);
    background: rgba(239, 68, 68, 0.08);
    color: #b91c1c;
    font-weight: 600;
    font-size: 0.9rem;
}

/* piede come quello degli step, sempre visibile in fondo alla finestra */
.km-piede[b-f0fdu6wjtj] {
    flex-shrink: 0;
    padding: 16px 28px;
    border-top: 1px solid var(--border-color);
    background: var(--bg-surface);
}

.km-annulla[b-f0fdu6wjtj] {
    padding: 0;
    border: none;
    background: none;
    color: var(--text-dim);
    font-weight: 700;
    transition: color 0.2s;
}

.km-annulla:hover[b-f0fdu6wjtj] {
    color: var(--text-main);
}

.km-salva[b-f0fdu6wjtj] {
    width: auto !important;
    padding: 14px 28px !important;
}

@media (max-width: 767.98px) {
    .km-testa[b-f0fdu6wjtj],
    .km-corpo[b-f0fdu6wjtj],
    .km-piede[b-f0fdu6wjtj] {
        padding-left: 18px;
        padding-right: 18px;
    }

    .km-garanzie[b-f0fdu6wjtj] {
        grid-template-columns: repeat(2, 1fr);
    }

    .km-spesa[b-f0fdu6wjtj] {
        grid-template-columns: 1fr 1fr;
    }

    .km-spesa.testa[b-f0fdu6wjtj] {
        display: none;
    }

    .km-totali[b-f0fdu6wjtj] {
        flex-direction: column;
    }
}

@keyframes km-compari-b-f0fdu6wjtj {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}
/* _content/WebApp/Components/Pages/Assistenza_page.razor.rz.scp.css */
:root[b-vxelk5m5e0] {
    --slate-50: #f8fafc;
    --slate-100: #f1f5f9;
    --slate-200: #e2e8f0;
    --slate-400: #94a3b8;
    --slate-500: #64748b;
    --slate-600: #475569;
    --slate-700: #334155;
    --slate-800: #1e293b;
}

/* BOTTONE BLINDATO ANTIGRADIENTE */
.btn-custom-cyan[b-vxelk5m5e0] {
    background: var(--neon-cyan, #0ea5e9) !important;
    border: none !important;
    color: white !important;
    transition: all 0.2s ease;
}

    .btn-custom-cyan:hover[b-vxelk5m5e0] {
        background: #0284c7 !important;
        transform: translateY(-2px);
        box-shadow: 0 10px 15px -3px rgba(14, 165, 233, 0.3) !important;
        color: white !important;
    }

/* TABELLA PC */
.k-table th[b-vxelk5m5e0] {
    border-bottom: 2px solid var(--slate-200);
}

.k-table td[b-vxelk5m5e0] {
    padding: 18px 10px;
    border-bottom: 1px solid var(--slate-100);
    transition: background-color 0.2s;
}

.k-table tbody tr:hover td[b-vxelk5m5e0] {
    background-color: var(--slate-50);
}

/* STATI TICKET */
.status-badge[b-vxelk5m5e0] {
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: inline-block;
}

.status-success[b-vxelk5m5e0] {
    background: #dcfce7;
    color: #16a34a;
    border: 1px solid #bbf7d0;
}

.status-warning[b-vxelk5m5e0] {
    background: #fef3c7;
    color: #d97706;
    border: 1px solid #fde68a;
}

.status-info[b-vxelk5m5e0] {
    background: #e0f2fe;
    color: #0284c7;
    border: 1px solid #bae6fd;
}

.status-default[b-vxelk5m5e0] {
    background: #f1f5f9;
    color: #64748b;
    border: 1px solid #e2e8f0;
}

/* AZIONI */
.btn-action-scheda[b-vxelk5m5e0] {
    background: white;
    color: var(--neon-cyan);
    border: 1px solid var(--slate-200);
    border-radius: 8px;
    font-weight: 800;
    font-size: 0.8rem;
    padding: 8px 16px;
    transition: all 0.2s;
}

    .btn-action-scheda:hover[b-vxelk5m5e0] {
        background: var(--neon-cyan);
        border-color: var(--neon-cyan);
        color: white;
        transform: translateY(-1px);
    }

/* EMPTY STATE */
.empty-state-icon[b-vxelk5m5e0] {
    width: 80px;
    height: 80px;
    background: var(--slate-100);
    color: var(--slate-400);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
}
/* _content/WebApp/Components/Pages/Conferma_page.razor.rz.scp.css */
/* GESTIONE STICKY SCROLL E GABBIE RIMOSSE */
@media (min-width: 1200px) {
    .kube-sidebar-container[b-sdkgqnv522] { 
        position: relative; 
        height: 100%; 
    }
    
    .kube-sticky-sidebar[b-sdkgqnv522] {
        position: sticky;
        top: 20px; 
    }
}

/* STILE INPUT MATEMATICA INVERSA */
.reverse-math-input[b-sdkgqnv522] {
    box-shadow: none !important;
    border-bottom: 2px dashed rgba(16, 185, 129, 0.4) !important;
    border-radius: 0;
    transition: all 0.2s;
    width: auto;
}
.reverse-math-input:focus[b-sdkgqnv522] {
    background-color: rgba(255, 255, 255, 0.5) !important;
    border-bottom: 2px solid #10b981 !important;
    outline: none !important;
}
.reverse-math-input:disabled[b-sdkgqnv522] {
    border-bottom: none !important;
}

/* STILE CUSTOM SLIDER */
.custom-range[b-sdkgqnv522] {
    height: 6px;
    border-radius: 5px;
    background: var(--border-color, #e5e7eb);
    outline: none;
    -webkit-appearance: none;
    appearance: none; /* Aggiunto per standard W3C e compatibilità */
}

.custom-range[b-sdkgqnv522]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none; /* Aggiunto per standard W3C e compatibilità */
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--neon-cyan, #0ea5e9);
    cursor: pointer;
    box-shadow: 0 0 5px rgba(14, 165, 233, 0.5);
    transition: transform 0.1s;
}

.custom-range[b-sdkgqnv522]::-webkit-slider-thumb:hover {
    transform: scale(1.2);
}

.custom-range[b-sdkgqnv522]::-moz-range-thumb {
    appearance: none; /* Aggiunto per Firefox */
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--neon-cyan, #0ea5e9);
    cursor: pointer;
    border: none;
    box-shadow: 0 0 5px rgba(14, 165, 233, 0.5);
}

/* ANIMAZIONI GAMIFICATION */

/* Barra del progresso luminosa */
.progress-glow[b-sdkgqnv522] {
    box-shadow: 0 0 10px rgba(34, 197, 94, 0.6);
}

/* Bottone di emissione pulsante */
.btn-ready-pulse[b-sdkgqnv522] {
    animation: readyPulse-b-sdkgqnv522 2s infinite;
    border: 2px solid transparent;
}

.btn-ready-pulse:hover[b-sdkgqnv522] {
    animation: none;
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(34, 197, 94, 0.3), 0 4px 6px -2px rgba(34, 197, 94, 0.1) !important;
}

@keyframes readyPulse-b-sdkgqnv522 {
    0% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.4); }
    70% { box-shadow: 0 0 0 15px rgba(34, 197, 94, 0); }
    100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); }
}

/* UTILITÀ TRANSIZIONI */
.transition-all[b-sdkgqnv522] {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
/* _content/WebApp/Components/Pages/NotLogged/Disdetta_page.razor.rz.scp.css */
/* Pagina pubblica "Constatazione amichevole di disdetta".
   Un solo foglio al centro: il "modulo", con le due parti in testa (A blu, B ambra)
   e i riquadri che si compilano uno alla volta.

   La pagina ha sempre lo stesso aspetto scuro, anche se il browser ha il tema chiaro
   di Kube attivo (classe "light-mode" sul body): tutti i colori vengono dalle variabili
   --kd-* definite qui sotto e non da quelle di global.css.
   Tutte le classi iniziano con "kd-" per non incrociare i CSS globali della WebApp.
   Dove Bootstrap cambia i valori predefiniti del browser (bottoni, apice, campi),
   il valore viene riscritto qui in modo esplicito. */

.kd[b-59zwo5sbk4] {
    --kd-bg-deep: #0f172a;
    --kd-bg-surface: #1e293b;
    --kd-campo: rgba(255, 255, 255, .03);
    --kd-blu: #3b82f6;
    --kd-blu-chiaro: #93c5fd;
    --kd-ciano: #06b6d4;
    --kd-ambra: #fbbf24;
    --kd-testo: #f1f5f9;
    --kd-chiaro: #cbd5e1;
    --kd-tenue: #94a3b8;
    --kd-spento: #334155;
    --kd-linea: rgba(255, 255, 255, .1);
    --kd-griglia: rgba(6, 182, 212, .05);
    --kd-errore: #fca5a5;

    color-scheme: dark;
    position: relative;
    min-height: 100vh;
    background: var(--kd-bg-deep);
    color: var(--kd-testo);
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.55;
    letter-spacing: normal;
    text-align: left;
    -webkit-font-smoothing: antialiased;
}

.kd *[b-59zwo5sbk4] {
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
}

.kd-sfondo[b-59zwo5sbk4] {
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        repeating-linear-gradient(0deg, transparent 0, transparent 49px, var(--kd-griglia) 50px),
        repeating-linear-gradient(90deg, transparent 0, transparent 49px, var(--kd-griglia) 50px);
}

.kd-pagina[b-59zwo5sbk4] {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    padding-block: 40px 56px;
    padding-inline: 16px;
}

.kd-solo-lettori[b-59zwo5sbk4] {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

/* ---------- Testata ---------- */
.kd-marchio[b-59zwo5sbk4] {
    margin: 0 0 26px;
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: .5px;
}

.kd-marchio sup[b-59zwo5sbk4] {
    position: static;
    top: auto;
    vertical-align: super;
    line-height: inherit;
    font-size: .6rem;
    color: var(--kd-ciano);
}

.kd h1[b-59zwo5sbk4] {
    margin: 0 0 12px;
    font-size: clamp(1.7rem, 6vw, 2.3rem);
    line-height: 1.15;
    font-weight: 800;
    letter-spacing: -.6px;
    text-wrap: balance;
    color: var(--kd-testo);
}

.kd-intro[b-59zwo5sbk4] {
    margin: 0 0 26px;
    max-width: 52ch;
    color: var(--kd-tenue);
    font-size: 1rem;
}

.kd h1.kd-senza-intro[b-59zwo5sbk4] {
    margin-bottom: 26px;
}

/* ---------- Modulo ---------- */
.kd-modulo[b-59zwo5sbk4] {
    background: var(--kd-bg-surface);
    border: 1px solid var(--kd-linea);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .5);
}

.kd-parti[b-59zwo5sbk4] {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.kd-parte[b-59zwo5sbk4] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    min-width: 0;
}

.kd-parte-a[b-59zwo5sbk4] {
    background: rgba(59, 130, 246, .14);
    border-bottom: 2px solid var(--kd-blu);
}

.kd-parte-b[b-59zwo5sbk4] {
    background: rgba(251, 191, 36, .09);
    border-bottom: 2px solid var(--kd-ambra);
}

.kd-sigla[b-59zwo5sbk4] {
    flex: none;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 1rem;
    color: var(--kd-bg-deep);
}

.kd-parte-a .kd-sigla[b-59zwo5sbk4] {
    background: var(--kd-blu-chiaro);
}

.kd-parte-b .kd-sigla[b-59zwo5sbk4] {
    background: var(--kd-ambra);
}

.kd-parte-testo[b-59zwo5sbk4] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    line-height: 1.3;
}

.kd-parte-etichetta[b-59zwo5sbk4] {
    font-size: .74rem;
    font-weight: 600;
    color: var(--kd-tenue);
}

.kd-parte-nome[b-59zwo5sbk4] {
    font-size: .95rem;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.kd-avanzamento[b-59zwo5sbk4] {
    display: flex;
    gap: 6px;
    margin: 0;
    padding: 20px 22px 0;
    list-style: none;
}

.kd-avanzamento li[b-59zwo5sbk4] {
    flex: 1;
    height: 6px;
    border-radius: 3px;
    background: var(--kd-spento);
    transition: background .25s;
}

.kd-avanzamento li.kd-acceso[b-59zwo5sbk4] {
    background: linear-gradient(90deg, var(--kd-blu), var(--kd-ciano));
}

.kd-riquadro[b-59zwo5sbk4] {
    padding: 20px 22px 24px;
}

.kd-riquadro h2[b-59zwo5sbk4] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 6px;
    font-size: 1.2rem;
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: -.2px;
    color: var(--kd-testo);
}

.kd-riquadro h2:focus[b-59zwo5sbk4] {
    outline: none;
}

.kd-numero-riquadro[b-59zwo5sbk4] {
    flex: none;
    width: 28px;
    height: 28px;
    border: 2px solid var(--kd-ciano);
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .9rem;
    font-weight: 800;
    color: var(--kd-ciano);
}

.kd-aiuto[b-59zwo5sbk4] {
    margin: 0 0 16px;
    color: var(--kd-tenue);
    font-size: .95rem;
}

.kd-aiuto.kd-ultimo[b-59zwo5sbk4] {
    margin-bottom: 0;
}

/* ---------- Caselle ---------- */
.kd-caselle[b-59zwo5sbk4] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.kd-casella[b-59zwo5sbk4] {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 54px;
    margin: 0;
    padding: 10px 14px;
    background: var(--kd-campo);
    border: 1px solid var(--kd-linea);
    border-radius: 10px;
    cursor: pointer;
    transition: border-color .15s, background .15s;
}

.kd-casella:hover[b-59zwo5sbk4] {
    border-color: rgba(6, 182, 212, .45);
}

.kd-casella.kd-barrata[b-59zwo5sbk4] {
    border-color: rgba(6, 182, 212, .7);
    background: rgba(6, 182, 212, .09);
}

.kd-casella input[b-59zwo5sbk4] {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
    margin: 0;
}

.kd-quadretto[b-59zwo5sbk4] {
    flex: none;
    width: 26px;
    height: 26px;
    border: 2px solid var(--kd-tenue);
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: border-color .15s;
}

.kd-quadretto.kd-tondo[b-59zwo5sbk4] {
    border-radius: 50%;
}

.kd-casella.kd-barrata .kd-quadretto[b-59zwo5sbk4] {
    border-color: var(--kd-ciano);
}

.kd-casella input:focus-visible ~ .kd-quadretto[b-59zwo5sbk4] {
    outline: 2px solid var(--kd-ciano);
    outline-offset: 3px;
}

.kd-quadretto svg[b-59zwo5sbk4] {
    width: 16px;
    height: 16px;
    overflow: visible;
}

.kd-quadretto line[b-59zwo5sbk4] {
    stroke: var(--kd-ciano);
    stroke-width: 3;
    stroke-linecap: round;
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
    transition: stroke-dashoffset .16s ease-out;
}

.kd-quadretto line + line[b-59zwo5sbk4] {
    transition-delay: .1s;
}

.kd-casella.kd-barrata .kd-quadretto line[b-59zwo5sbk4] {
    stroke-dashoffset: 0;
}

.kd-pallino[b-59zwo5sbk4] {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--kd-ciano);
    transform: scale(0);
    transition: transform .15s ease-out;
}

.kd-casella.kd-barrata .kd-pallino[b-59zwo5sbk4] {
    transform: scale(1);
}

.kd-casella-testo[b-59zwo5sbk4] {
    flex: 1;
    min-width: 0;
    font-size: .98rem;
    font-weight: 500;
    line-height: 1.35;
}

.kd-casella-numero[b-59zwo5sbk4] {
    flex: none;
    font-size: .8rem;
    font-weight: 600;
    color: var(--kd-tenue);
    font-variant-numeric: tabular-nums;
}

.kd-piede[b-59zwo5sbk4] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 16px;
    margin-top: 20px;
}

.kd-conteggio[b-59zwo5sbk4] {
    margin: 0;
    color: var(--kd-tenue);
    font-size: .9rem;
    font-variant-numeric: tabular-nums;
}

.kd-conteggio strong[b-59zwo5sbk4] {
    color: var(--kd-testo);
    font-weight: 800;
}

/* ---------- Bottoni (come in Kube) ---------- */
.kd-btn-primario[b-59zwo5sbk4] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    margin: 0;
    padding: 13px 26px;
    background: linear-gradient(90deg, var(--kd-blu), var(--kd-ciano));
    color: #fff;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-family: inherit;
    font-size: .9rem;
    line-height: normal;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    box-shadow: 0 4px 15px rgba(59, 130, 246, .2);
    transition: transform .2s, box-shadow .2s, opacity .2s;
}

.kd-btn-primario:hover:not(:disabled)[b-59zwo5sbk4] {
    transform: translateY(-1px);
    box-shadow: 0 0 26px rgba(59, 130, 246, .3);
}

.kd-btn-primario:disabled[b-59zwo5sbk4] {
    opacity: .35;
    cursor: not-allowed;
    box-shadow: none;
}

.kd-btn-testo[b-59zwo5sbk4] {
    min-height: 48px;
    margin: 0;
    padding: 10px 4px;
    background: none;
    border: none;
    border-radius: 0;
    cursor: pointer;
    font-family: inherit;
    font-size: .92rem;
    line-height: normal;
    font-weight: 600;
    text-transform: none;
    letter-spacing: normal;
    color: var(--kd-tenue);
}

.kd-btn-testo:hover[b-59zwo5sbk4] {
    color: var(--kd-ciano);
}

.kd-btn-secondario[b-59zwo5sbk4] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    margin: 0;
    padding: 13px 20px;
    background: var(--kd-campo);
    color: var(--kd-testo);
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 8px;
    cursor: pointer;
    font-family: inherit;
    font-size: .92rem;
    line-height: normal;
    font-weight: 600;
    text-transform: none;
    letter-spacing: normal;
    transition: border-color .2s, color .2s;
}

.kd-btn-secondario:hover[b-59zwo5sbk4] {
    border-color: var(--kd-ciano);
    color: var(--kd-ciano);
}

.kd-btn-primario:focus-visible[b-59zwo5sbk4],
.kd-btn-testo:focus-visible[b-59zwo5sbk4],
.kd-btn-secondario:focus-visible[b-59zwo5sbk4] {
    outline: 2px solid var(--kd-ciano);
    outline-offset: 3px;
}

/* ---------- Proposta del veicolo B (settimana gratuita) ---------- */
.kd-da-b[b-59zwo5sbk4] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 14px;
    color: var(--kd-ambra);
    font-size: .82rem;
    font-weight: 600;
}

.kd-da-b .kd-sigla[b-59zwo5sbk4] {
    width: 26px;
    height: 26px;
    border-radius: 6px;
    font-size: .85rem;
    background: var(--kd-ambra);
}

.kd-offerta h2[b-59zwo5sbk4] {
    margin-bottom: 10px;
}

.kd-offerta .kd-aiuto[b-59zwo5sbk4] {
    margin-bottom: 10px;
    max-width: 56ch;
    color: var(--kd-chiaro);
}

.kd-proposta[b-59zwo5sbk4] {
    margin: 18px 0 0;
    padding: 16px 18px;
    background: rgba(251, 191, 36, .08);
    border: 1px solid rgba(251, 191, 36, .35);
    border-radius: 10px;
}

.kd-proposta-domanda[b-59zwo5sbk4] {
    margin: 0 0 4px;
    font-size: 1.15rem;
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: -.2px;
}

.kd-proposta-nota[b-59zwo5sbk4] {
    margin: 0;
    color: var(--kd-tenue);
    font-size: .92rem;
}

.kd-scelte-offerta[b-59zwo5sbk4] {
    display: flex;
    flex-flow: row-reverse wrap;
    gap: 10px;
}

/* ---------- Premio giusto (importo) ---------- */
.kd-importo[b-59zwo5sbk4] {
    display: flex;
    align-items: baseline;
    gap: 10px;
    padding: 14px 18px;
    background: var(--kd-campo);
    border: 1px solid var(--kd-linea);
    border-radius: 10px;
    transition: border-color .15s, box-shadow .15s;
}

.kd-importo:focus-within[b-59zwo5sbk4] {
    border-color: var(--kd-ciano);
    box-shadow: 0 0 0 3px rgba(6, 182, 212, .18);
}

.kd-importo.kd-invalido[b-59zwo5sbk4] {
    border-color: var(--kd-errore);
    box-shadow: none;
}

.kd-importo-euro[b-59zwo5sbk4] {
    flex: none;
    font-size: 1.6rem;
    line-height: 1.2;
    font-weight: 800;
    color: var(--kd-ciano);
}

/* "!important" sulla dimensione: global.css e dashboard.css, sotto i 768px,
   impongono 16px a tutti i campi con "!important". */
.kd .kd-importo input[b-59zwo5sbk4] {
    flex: 1;
    min-width: 0;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    box-shadow: none;
    color: var(--kd-testo);
    font-family: inherit;
    font-size: 2.2rem !important;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: -.5px;
    font-variant-numeric: tabular-nums;
}

.kd-importo input[b-59zwo5sbk4]::placeholder {
    color: #475569;
    opacity: 1;
}

.kd-importo-periodo[b-59zwo5sbk4] {
    flex: none;
    color: var(--kd-tenue);
    font-size: .95rem;
    font-weight: 600;
}

.kd-importo-nota[b-59zwo5sbk4] {
    margin: 8px 2px 0;
    color: var(--kd-tenue);
    font-size: .85rem;
}

.kd-oppure[b-59zwo5sbk4] {
    margin: 18px 2px 10px;
    color: var(--kd-tenue);
    font-size: .85rem;
    font-weight: 600;
}

/* ---------- Compagnie mancanti ---------- */
.kd-domanda[b-59zwo5sbk4] {
    margin: 22px 0 10px;
    color: var(--kd-testo);
    font-size: .98rem;
    font-weight: 600;
}

/* ---------- Osservazioni ---------- */
.kd textarea[b-59zwo5sbk4] {
    display: block;
    width: 100%;
    min-height: 88px;
    margin: 0;
    padding: 12px 14px;
    resize: vertical;
    background: var(--kd-campo);
    border: 1px solid var(--kd-linea);
    border-radius: 10px;
    box-shadow: none;
    color: var(--kd-testo);
    font-family: inherit;
    font-size: 1rem;
    line-height: 1.5;
    font-weight: 400;
    letter-spacing: normal;
}

.kd textarea[b-59zwo5sbk4]::placeholder {
    color: #64748b;
    opacity: 1;
}

.kd textarea:focus[b-59zwo5sbk4] {
    outline: none;
    border-color: var(--kd-ciano);
}

.kd-errore[b-59zwo5sbk4] {
    margin: 16px 0 0;
    color: var(--kd-errore);
    font-size: .92rem;
    font-weight: 600;
}

.kd-errore.kd-errore-importo[b-59zwo5sbk4] {
    margin: 8px 2px 0;
}

/* ---------- Fine ---------- */
.kd-timbro[b-59zwo5sbk4] {
    display: inline-block;
    margin: 6px 0 22px 4px;
    padding: 7px 18px;
    border: 3px solid var(--kd-ciano);
    border-radius: 8px;
    color: var(--kd-ciano);
    font-size: 1.05rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 3px;
    transform: rotate(-6deg);
    animation: kd-timbra-b-59zwo5sbk4 .3s cubic-bezier(.2, 1.4, .4, 1) both;
}

@keyframes kd-timbra-b-59zwo5sbk4 {
    from {
        opacity: 0;
        transform: rotate(-6deg) scale(1.7);
    }

    to {
        opacity: 1;
        transform: rotate(-6deg) scale(1);
    }
}

.kd-fine h2[b-59zwo5sbk4] {
    margin-bottom: 4px;
}

.kd-riepilogo[b-59zwo5sbk4] {
    margin: 18px 0 0;
    padding: 0;
    border-top: 1px solid var(--kd-linea);
}

.kd-riepilogo div[b-59zwo5sbk4] {
    display: flex;
    gap: 16px;
    padding: 12px 0;
    border-bottom: 1px solid var(--kd-linea);
}

.kd-riepilogo dt[b-59zwo5sbk4] {
    flex: none;
    width: 116px;
    color: var(--kd-tenue);
    font-size: .88rem;
    font-weight: 600;
}

.kd-riepilogo dd[b-59zwo5sbk4] {
    flex: 1;
    min-width: 0;
    margin: 0;
    font-size: .95rem;
    font-weight: 500;
    overflow-wrap: anywhere;
}

.kd-nota[b-59zwo5sbk4] {
    margin: 18px 4px 0;
    color: #64748b;
    font-size: .8rem;
}

@media (max-width: 420px) {
    .kd-parte[b-59zwo5sbk4] {
        padding: 12px 12px;
        gap: 10px;
    }

    .kd-riquadro[b-59zwo5sbk4] {
        padding: 18px 16px 22px;
    }

    .kd-avanzamento[b-59zwo5sbk4] {
        padding: 18px 16px 0;
    }

    .kd-piede .kd-btn-primario[b-59zwo5sbk4] {
        width: 100%;
    }

    .kd-scelte-offerta[b-59zwo5sbk4] {
        width: 100%;
        flex-flow: column nowrap;
    }

    .kd-scelte-offerta .kd-btn-secondario[b-59zwo5sbk4] {
        width: 100%;
    }

    .kd-riepilogo div[b-59zwo5sbk4] {
        flex-direction: column;
        gap: 2px;
    }

    .kd-riepilogo dt[b-59zwo5sbk4] {
        width: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .kd *[b-59zwo5sbk4] {
        animation-duration: .01ms !important;
        transition-duration: .01ms !important;
        transition-delay: 0s !important;
    }
}
/* _content/WebApp/Components/Pages/PreventivoFast_page.razor.rz.scp.css */
    /* Preventivo Fast: stesso stile degli step (card-widget, input-label / form-input, intestazione di Elenco Preventivi).
       Qui solo quello che serve alla pagina; barra in basso e bottone ciano sono globali (components.css). */

    .k-fast-container[b-wucrq4qkbg] {
        overflow-x: hidden;
    }

    .k-riepilogo-wrapper[b-wucrq4qkbg] {
        padding-bottom: 120px;
        /* spazio per la barra in basso */
    }

    /* INTESTAZIONE (come Elenco Preventivi) */
    .k-fast-titolo[b-wucrq4qkbg] {
        font-size: 1.8rem;
        font-weight: 800;
        color: #1e293b !important;
        margin-bottom: 4px;
    }

    .k-fast-sottotitolo[b-wucrq4qkbg] {
        font-size: 0.95rem;
        color: #64748b !important;
        margin: 0;
    }

    /* TESTATA DELLE SCHEDE (come negli step) */
    .k-card-testa[b-wucrq4qkbg] {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 12px 15px;
        margin-bottom: 1.5rem;
        padding-bottom: 1rem;
        border-bottom: 1px solid var(--border-color);
    }

    .k-card-icona[b-wucrq4qkbg] {
        width: 45px;
        height: 45px;
        background: rgba(6, 182, 212, 0.1);
        color: var(--neon-cyan);
        border-radius: 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.2rem;
        flex-shrink: 0;
    }

    .k-card-titolo[b-wucrq4qkbg] {
        /* resta accanto all'icona; a capo ci va il resto della testata (es. Persona fisica / Ditta individuale) */
        flex: 1 1 0;
        min-width: 150px;
        margin: 0;
        font-size: 1.3rem;
        font-weight: 700;
    }

    @media (max-width: 575.98px) {
        .k-card-titolo[b-wucrq4qkbg] {
            font-size: 1.15rem;
        }
    }

    .k-card-nota[b-wucrq4qkbg] {
        font-size: 1rem;
        font-weight: 400;
        color: #64748b;
    }

    .k-testo-nota[b-wucrq4qkbg] {
        font-size: 0.875rem;
        color: #64748b;
    }

    /* AVVISI: uno stile solo, il colore dice la gravita' (come il consiglio dello step 6) */
    .k-avviso[b-wucrq4qkbg] {
        display: flex;
        align-items: center;
        gap: 10px 12px;
        padding: 12px 16px;
        border-radius: 8px;
        border-left: 4px solid;
        font-size: 0.85rem;
        font-weight: 600;
        line-height: 1.5;
        color: var(--text-main); /* leggibile sia nel tema scuro (predefinito) sia in light-mode */
    }

    .k-avviso > i[b-wucrq4qkbg] {
        font-size: 1.1rem;
        flex-shrink: 0;
    }

    .k-avviso-info[b-wucrq4qkbg] {
        background: rgba(6, 182, 212, 0.06);
        border-left-color: #06b6d4;
    }

    .k-avviso-info > i[b-wucrq4qkbg] {
        color: #06b6d4;
    }

    .k-avviso-attenzione[b-wucrq4qkbg] {
        background: rgba(245, 158, 11, 0.06);
        border-left-color: #f59e0b;
    }

    .k-avviso-attenzione > i[b-wucrq4qkbg] {
        color: #f59e0b;
    }

    .k-avviso-errore[b-wucrq4qkbg] {
        background: rgba(239, 68, 68, 0.06);
        border-left-color: #ef4444;
    }

    .k-avviso-errore > i[b-wucrq4qkbg] {
        color: #ef4444;
    }

    .k-avviso-ok[b-wucrq4qkbg] {
        background: rgba(16, 185, 129, 0.06);
        border-left-color: #10b981;
    }

    .k-avviso-ok > i[b-wucrq4qkbg] {
        color: #10b981;
    }

    /* BOTTONI */
    /* accanto ai campi: alto come un form-input, bianco con testo ciano (come btn-action-edit) */
    .k-btn-campo[b-wucrq4qkbg] {
        height: 58px;
        padding: 0 20px;
        background: #fff;
        color: var(--neon-cyan);
        border: 1px solid var(--border-color);
        border-radius: 8px;
        font-weight: 700;
        font-size: 0.9rem;
        white-space: nowrap;
        transition: all 0.2s;
    }

    .k-btn-campo:hover:not(:disabled)[b-wucrq4qkbg] {
        background: var(--neon-cyan);
        border-color: var(--neon-cyan);
        color: #fff;
    }

    @media (max-width: 767.98px) {
        .k-btn-campo[b-wucrq4qkbg] {
            width: 100%;
        }
    }

    /* dentro un avviso */
    .k-btn-avviso[b-wucrq4qkbg] {
        background: #fff;
        color: #334155;
        border: 1px solid #e2e8f0;
        border-radius: 8px;
        font-weight: 700;
        padding: 6px 14px;
        white-space: nowrap;
    }

    .k-btn-avviso:hover:not(:disabled)[b-wucrq4qkbg] {
        border-color: var(--neon-cyan);
        color: var(--neon-cyan);
    }

    .btn-action-cancel[b-wucrq4qkbg] {
        color: #475569 !important;
        background: white;
        transition: all 0.2s;
    }

    .btn-action-cancel:hover:not(:disabled)[b-wucrq4qkbg] {
        background: #f8fafc;
        color: #1e293b !important;
    }

    /* tabella sinistri: su schermi stretti scorre dentro la scheda invece di uscire dalla pagina */
    .k-grid-override[b-wucrq4qkbg] {
        overflow-x: auto;
    }

    /* ========================================================================= */
    /* DROPZONE DEL LIBRETTO */
    /* ========================================================================= */
    .ai-dropzone[b-wucrq4qkbg] {
        border: 2px dashed #cbd5e1;
        border-radius: 12px;
        background-color: var(--input-bg);
        transition: all 0.3s ease;
        min-height: 320px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .ai-dropzone:hover[b-wucrq4qkbg] {
        border-color: var(--neon-cyan);
        background-color: rgba(6, 182, 212, 0.04);
    }

    .ai-dropzone.drag-over[b-wucrq4qkbg] {
        border-color: var(--neon-cyan);
        background-color: rgba(6, 182, 212, 0.08);
        border-style: solid;
    }

    .ai-dropzone.processing[b-wucrq4qkbg] {
        border-style: solid;
        border-color: var(--neon-cyan);
        background-color: white;
        pointer-events: none;
        animation: borderPulse-b-wucrq4qkbg 2s infinite;
    }

    .k-dropzone-titolo[b-wucrq4qkbg] {
        font-size: 1.15rem;
        font-weight: 700;
        color: #334155;
        margin-bottom: 0.5rem;
    }

    .k-dropzone-testo[b-wucrq4qkbg] {
        font-size: 0.95rem;
        color: #64748b;
    }

    .k-dropzone-nota[b-wucrq4qkbg] {
        font-size: 0.85rem;
        color: #94a3b8;
    }

    .k-dropzone-formati[b-wucrq4qkbg] {
        display: inline-block;
        background: #fff;
        border: 1px solid #e2e8f0;
        padding: 6px 14px;
        border-radius: 50rem;
        font-size: 0.8rem;
        font-weight: 700;
        color: #64748b;
    }

    .k-esito-icona[b-wucrq4qkbg] {
        width: 64px;
        height: 64px;
        border-radius: 16px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.6rem;
    }

    .k-esito-info[b-wucrq4qkbg] {
        background: rgba(6, 182, 212, 0.1);
        color: var(--neon-cyan);
    }

    .k-esito-errore[b-wucrq4qkbg] {
        background: rgba(239, 68, 68, 0.1);
        color: #ef4444;
    }

    .ai-scanner-container[b-wucrq4qkbg] {
        position: relative;
        width: 100px;
        height: 100px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: rgba(6, 182, 212, 0.1);
        border-radius: 50%;
        overflow: hidden;
    }

    .ai-icon-pulse[b-wucrq4qkbg] {
        font-size: 3rem;
        color: var(--neon-cyan);
        z-index: 2;
        animation: brainPulse-b-wucrq4qkbg 1.5s ease-in-out infinite alternate;
    }

    .ai-scan-line[b-wucrq4qkbg] {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 5px;
        background: var(--neon-cyan);
        box-shadow: 0 0 10px 2px var(--neon-cyan);
        opacity: 0.7;
        z-index: 3;
        animation: scan-b-wucrq4qkbg 2s linear infinite;
    }

    @keyframes scan-b-wucrq4qkbg {
        0% {
            top: -10%;
        }

        100% {
            top: 110%;
        }
    }

    @keyframes borderPulse-b-wucrq4qkbg {
        0% {
            box-shadow: 0 0 0 0 rgba(6, 182, 212, 0.4);
        }

        70% {
            box-shadow: 0 0 0 20px rgba(6, 182, 212, 0);
        }

        100% {
            box-shadow: 0 0 0 0 rgba(6, 182, 212, 0);
        }
    }

    @keyframes brainPulse-b-wucrq4qkbg {
        0% {
            transform: scale(0.9);
            opacity: 0.8;
        }

        100% {
            transform: scale(1.1);
            opacity: 1;
        }
    }



.file-drop-zone-container.hover .ai-dropzone[b-wucrq4qkbg] {
    /* trascinamento sopra la zona: come .drag-over */
    border-color: var(--neon-cyan) !important;
    background: rgba(6, 182, 212, 0.05) !important;
}
/* _content/WebApp/Components/Pages/Preventivo_page.razor.rz.scp.css */
/* COLORI BASE SLATE (Tailwind-like) per eleganza */
.text-slate-50[b-k326yitgzy] {
    color: #f8fafc;
}

.text-slate-300[b-k326yitgzy] {
    color: #cbd5e1;
}

.text-slate-400[b-k326yitgzy] {
    color: #94a3b8;
}

.text-slate-500[b-k326yitgzy] {
    color: #64748b;
}

.text-slate-600[b-k326yitgzy] {
    color: #475569;
}

.text-slate-700[b-k326yitgzy] {
    color: #334155;
}

.text-slate-800[b-k326yitgzy] {
    color: #1e293b;
}

.text-slate-900[b-k326yitgzy] {
    color: #0f172a;
}

.bg-slate-50[b-k326yitgzy] {
    background-color: #f8fafc;
}

.bg-slate-100[b-k326yitgzy] {
    background-color: #f1f5f9;
}

.bg-slate-200[b-k326yitgzy] {
    background-color: #e2e8f0;
}

.border-slate-100[b-k326yitgzy] {
    border-color: #f1f5f9 !important;
}

.border-slate-200[b-k326yitgzy] {
    border-color: #e2e8f0 !important;
}

.border-slate-300[b-k326yitgzy] {
    border-color: #cbd5e1 !important;
}

/* STILI RIGOROSI TIPOGRAFIA DATI */
.data-label[b-k326yitgzy] {
    font-size: 0.68rem;
    font-weight: 800;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 4px;
}

/* La classe maestra per i dati. Niente grassetti casuali, niente colori sparati. */
.data-value[b-k326yitgzy] {
    font-size: 0.95rem;
    font-weight: 600;
    color: #334155;
    word-break: break-word;
    line-height: 1.4;
}

/* CARDS SENZA BORDI, SOLO OMBRE SOFT */
.kube-data-card[b-k326yitgzy] {
    border: none !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
}

/* BADGE TARGA PREMIUM */
.kube-targa[b-k326yitgzy] {
    display: inline-block;
    background: #1e293b;
    color: #ffffff;
    font-family: 'Courier New', Courier, monospace;
    font-weight: bold;
    font-size: 1rem;
    padding: 4px 12px;
    border-radius: 6px;
    letter-spacing: 2px;
    text-transform: uppercase;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.1);
}

/* LISTA GARANZIE PREMIUM */
.garanzia-item[b-k326yitgzy] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    background-color: #f8fafc;
    transition: all 0.2s;
}

    .garanzia-item .icon[b-k326yitgzy] {
        width: 20px;
        text-align: center;
        color: #94a3b8;
    }

    .garanzia-item span[b-k326yitgzy] {
        font-size: 0.85rem;
        font-weight: 600;
        color: #64748b;
        margin-left: 6px;
    }

    .garanzia-item .check-icon[b-k326yitgzy] {
        color: #cbd5e1;
        font-size: 1.1rem;
    }

    .garanzia-item.active[b-k326yitgzy] {
        background-color: #f0fdf4; /* Verde molto chiaro */
        border-color: #bbf7d0;
    }

        .garanzia-item.active .icon[b-k326yitgzy] {
            color: #22c55e;
        }

        .garanzia-item.active span[b-k326yitgzy] {
            color: #166534;
        }

        .garanzia-item.active .check-icon[b-k326yitgzy] {
            color: #22c55e;
        }

/* LAYOUT STICKY PER LA COLONNA DESTRA (Niente scroll esterno, solo ancoraggio!) */
@media (min-width: 1200px) {
    .kube-sidebar-container[b-k326yitgzy] {
        position: relative;
        height: 100%; /* Permette al flexbox interno di misurare lo spazio */
    }

    .kube-sticky-sidebar[b-k326yitgzy] {
        position: sticky;
        top: 20px;
        height: calc(100vh - 40px); /* Usa esattamente l'altezza del monitor meno i bordi */
        padding-right: 5px;
    }
}

/* FIX CHAT WRAPPER: Assicura che il componente figlio prenda tutta l'altezza */
[b-k326yitgzy] .chat-wrapper > div {
    flex: 1; /* Il segreto è flex: 1 invece di height: 100% */
    display: flex;
    flex-direction: column;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    overflow: hidden; /* Blocca l'overflow qui per delegarlo alla chat-history interna */
}
/* _content/WebApp/Components/Pages/Settaggi/Collegamenti/Collegamenti_page.razor.rz.scp.css */
/* Stile delle pagine elenco (Mandanti / Mandati / Utenti); k-table, btn-custom-cyan,
   btn-action-edit, k-row-disattivato ed empty-state-icon sono gia' globali in components.css */

/* Tab della pagina, nel ciano del progetto */
.k-tab[b-uleimtuyjz] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 20px;
    border-radius: 999px;
    border: 1px solid #e2e8f0;
    background: white;
    color: #475569;
    font-weight: 700;
    font-size: 0.9rem;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    transition: all 0.2s;
}

    .k-tab:hover[b-uleimtuyjz] {
        color: #0ea5e9;
        border-color: #0ea5e9;
    }

    .k-tab.active[b-uleimtuyjz] {
        background: #0ea5e9;
        border-color: #0ea5e9;
        color: white;
        box-shadow: 0 4px 6px -1px rgba(14, 165, 233, 0.3);
    }

.k-conteggio[b-uleimtuyjz] {
    background: #f1f5f9;
    color: #475569;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    padding: 0 10px;
    font-size: 0.75rem;
    font-weight: 700;
}

.kube-avatar[b-uleimtuyjz] {
    width: 38px;
    height: 38px;
    background: rgba(14, 165, 233, 0.1);
    color: #0ea5e9;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 1rem;
    flex-shrink: 0;
}

.k-row-disattivato .kube-avatar[b-uleimtuyjz] {
    background: #e2e8f0;
    color: #94a3b8;
}

.btn-action-delete[b-uleimtuyjz] {
    background: white;
    color: #ef4444;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    font-size: 0.8rem;
    padding: 6px 10px;
    transition: all 0.2s;
}

    .btn-action-delete:hover[b-uleimtuyjz] {
        background: #ef4444;
        border-color: #ef4444;
        color: white;
        transform: translateY(-1px);
    }

/* Codice invito */
.k-codice[b-uleimtuyjz] {
    color: #475569;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    padding: 3px 8px;
    font-size: 0.8rem;
    white-space: nowrap;
}

.k-codice-grande[b-uleimtuyjz] {
    font-size: 0.95rem;
    padding: 12px 16px;
    white-space: normal;
    word-break: break-all;
}
/* _content/WebApp/Components/Pages/Settaggi/MandantiAndMandati/Credenziali_page.razor.rz.scp.css */
:root[b-3rlh3n6bgk] {
    --slate-50: #f8fafc;
    --slate-100: #f1f5f9;
    --slate-200: #e2e8f0;
    --slate-400: #94a3b8;
    --slate-500: #64748b;
    --slate-600: #475569;
    --slate-700: #334155;
    --slate-800: #1e293b;
    --neon-cyan: #0ea5e9;
}

.bg-slate-50[b-3rlh3n6bgk] {
    background-color: var(--slate-50) !important;
}

.border-slate-100[b-3rlh3n6bgk] {
    border-color: var(--slate-100) !important;
}

.border-slate-200[b-3rlh3n6bgk] {
    border-color: var(--slate-200) !important;
}

.text-slate-500[b-3rlh3n6bgk] {
    color: var(--slate-500) !important;
}

.text-slate-700[b-3rlh3n6bgk] {
    color: var(--slate-700) !important;
}

/* ICON BOXES */
.bg-blue-subtle[b-3rlh3n6bgk] {
    background-color: #eff6ff;
    color: #3b82f6 !important;
}

.bg-purple-subtle[b-3rlh3n6bgk] {
    background-color: #faf5ff;
    color: #8b5cf6 !important;
}

.bg-emerald-subtle[b-3rlh3n6bgk] {
    background-color: #ecfdf5;
    color: #10b981 !important;
}

.bg-amber-subtle[b-3rlh3n6bgk] {
    background-color: #fffbeb;
    color: #f59e0b !important;
}

.icon-box[b-3rlh3n6bgk] {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    flex-shrink: 0;
}

/* INPUT STYLING */
.custom-input[b-3rlh3n6bgk] {
    font-size: 1rem;
    padding: 0.8rem 1.2rem;
    border: 1px solid var(--slate-200);
    border-radius: 12px;
    color: var(--slate-800) !important;
    transition: all 0.2s ease;
}

    .custom-input:focus[b-3rlh3n6bgk] {
        background-color: #fff !important;
        border-color: var(--neon-cyan);
        box-shadow: 0 0 0 4px rgba(14, 165, 233, 0.1);
        outline: none;
    }

/* TABS K-UBE */
.custom-tabs .nav-link[b-3rlh3n6bgk] {
    color: var(--slate-500);
    border: none;
    border-bottom: 3px solid transparent;
    padding: 12px 20px;
    background: transparent;
    transition: all 0.2s;
}

    .custom-tabs .nav-link:hover[b-3rlh3n6bgk] {
        color: var(--neon-cyan);
        background-color: var(--slate-50);
        border-radius: 8px 8px 0 0;
    }

    .custom-tabs .nav-link.active[b-3rlh3n6bgk] {
        color: var(--neon-cyan);
        border-bottom-color: var(--neon-cyan);
        background-color: transparent;
    }

/* SWITCH CUSTOM STYLE */
.custom-switch[b-3rlh3n6bgk] {
    padding-left: 0;
}

    .custom-switch .form-check-input[b-3rlh3n6bgk] {
        width: 3.2em !important;
        height: 1.6em !important;
        margin-top: 0;
        cursor: pointer;
        background-color: var(--slate-200);
        border: 1px solid var(--slate-300);
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
        transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out;
    }

        .custom-switch .form-check-input:checked[b-3rlh3n6bgk] {
            background-color: var(--neon-cyan) !important;
            border-color: var(--neon-cyan) !important;
        }

/* FIX SOTTOCOMPONENTI MANDATI */
.k-mandati-override h5[b-3rlh3n6bgk] {
    display: none;
}
/* Nascondiamo il titolo interno "Lista Mandati" */
.k-mandati-override .form-check[b-3rlh3n6bgk] {
    padding: 10px 14px;
    border: 1px solid var(--slate-200);
    border-radius: 10px;
    background-color: white;
    margin-bottom: 8px;
    transition: all 0.2s;
}

    .k-mandati-override .form-check:hover[b-3rlh3n6bgk] {
        border-color: var(--neon-cyan);
        background-color: var(--slate-50);
    }

.k-mandati-override .form-check-input[b-3rlh3n6bgk] {
    margin-top: 0.1rem;
    accent-color: var(--neon-cyan);
    cursor: pointer;
}

.k-mandati-override .form-check-label[b-3rlh3n6bgk] {
    font-weight: 600;
    color: var(--slate-700) !important;
    cursor: pointer;
    display: block;
    width: 100%;
    margin-left: 5px;
}

/* PULSANTI */
.btn-back[b-3rlh3n6bgk] {
    transition: all 0.2s;
}

    .btn-back:hover[b-3rlh3n6bgk] {
        background-color: var(--slate-100);
        transform: translateX(-2px);
    }

.btn-custom-cyan[b-3rlh3n6bgk] {
    background: var(--neon-cyan) !important;
    border: none !important;
    color: white !important;
    transition: all 0.2s ease;
}

    .btn-custom-cyan:hover:not(:disabled)[b-3rlh3n6bgk] {
        background: #0284c7 !important;
        transform: translateY(-2px);
        box-shadow: 0 10px 15px -3px rgba(14, 165, 233, 0.3) !important;
    }

.btn-action-secondary[b-3rlh3n6bgk] {
    border-color: var(--slate-200);
    color: var(--slate-600);
}

    .btn-action-secondary:hover[b-3rlh3n6bgk] {
        background-color: var(--slate-50);
        color: var(--slate-800);
    }

.btn-action-cancel[b-3rlh3n6bgk] {
    color: var(--slate-600) !important;
    background: white;
    transition: all 0.2s;
}

    .btn-action-cancel:hover:not(:disabled)[b-3rlh3n6bgk] {
        background: var(--slate-50);
        color: var(--slate-800) !important;
    }

.btn-action-danger[b-3rlh3n6bgk] {
    color: #ef4444 !important;
    border-color: #fecaca !important;
    background: white;
    transition: all 0.2s;
}

    .btn-action-danger:hover:not(:disabled)[b-3rlh3n6bgk] {
        background: #fef2f2;
        color: #dc2626 !important;
        border-color: #fca5a5 !important;
    }

/* ALERT PERSONALIZZATI E STICKY BAR */
.alert-custom[b-3rlh3n6bgk] {
    padding: 16px 20px;
    border-radius: 12px;
}

.alert-warning-soft[b-3rlh3n6bgk] {
    background-color: #fffbeb;
    color: #d97706 !important;
    border: 1px solid #fde68a;
}

.action-bar-bottom[b-3rlh3n6bgk] {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background-color: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(10px);
}

@media (min-width: 992px) {
    .action-bar-bottom[b-3rlh3n6bgk] {
        left: 250px;
    }
}
/* _content/WebApp/Components/Pages/Settaggi/MandantiAndMandati/ElencoMandati_page.razor.rz.scp.css */
.bg-slate-50[b-pks2h9wy79] {
    background-color: #f8fafc;
}

.border-slate-100[b-pks2h9wy79] {
    border-color: #f1f5f9;
}

.border-slate-200[b-pks2h9wy79] {
    border-color: #e2e8f0;
}

.btn-custom-cyan[b-pks2h9wy79] {
    background: #0ea5e9 !important;
    border: none !important;
    color: white !important;
    transition: all 0.2s ease;
}

    .btn-custom-cyan:hover[b-pks2h9wy79] {
        background: #0284c7 !important;
        transform: translateY(-2px);
        box-shadow: 0 10px 15px -3px rgba(14, 165, 233, 0.3) !important;
    }

.k-table th[b-pks2h9wy79] {
    border-bottom: 1px solid #e2e8f0;
}

.k-table td[b-pks2h9wy79] {
    padding: 16px 12px;
    border-bottom: 1px solid #f1f5f9;
    transition: background-color 0.2s;
}

.k-table tbody tr:last-child td[b-pks2h9wy79] {
    border-bottom: none;
}

.k-table-row:hover td[b-pks2h9wy79] {
    background-color: #f8fafc;
}

.btn-action-edit[b-pks2h9wy79] {
    background: white;
    color: #0ea5e9;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    font-weight: 700;
    font-size: 0.8rem;
    padding: 6px 12px;
    transition: all 0.2s;
}

    .btn-action-edit:hover[b-pks2h9wy79] {
        background: #0ea5e9;
        border-color: #0ea5e9;
        color: white;
        transform: translateY(-1px);
    }

.btn-action-delete[b-pks2h9wy79] {
    background: white;
    color: #ef4444;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    font-size: 0.8rem;
    padding: 6px 10px;
    transition: all 0.2s;
}

    .btn-action-delete:hover[b-pks2h9wy79] {
        background: #ef4444;
        border-color: #ef4444;
        color: white;
        transform: translateY(-1px);
    }

.empty-state-icon[b-pks2h9wy79] {
    width: 70px;
    height: 70px;
    background: #f1f5f9;
    color: #94a3b8;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
}

.kube-avatar[b-pks2h9wy79] {
    width: 38px;
    height: 38px;
    background: rgba(14, 165, 233, 0.1);
    color: #0ea5e9;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 1rem;
    flex-shrink: 0;
}


/* Righe disattivate */
.k-row-disattivato td[b-pks2h9wy79] {
    background-color: #f8fafc !important;
    opacity: 0.75;
}

.k-row-disattivato:hover td[b-pks2h9wy79] {
    opacity: 0.9;
    background-color: #f1f5f9 !important;
}

.k-row-disattivato .kube-avatar[b-pks2h9wy79] {
    background: #e2e8f0;
    color: #94a3b8;
}

/* Mandato visibile solo agli admin (quota come gli altri, risultati solo agli amministratori) */
.k-solo-admin[b-pks2h9wy79] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-left: 6px;
    padding: 1px 8px;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 700;
    vertical-align: middle;
    white-space: nowrap;
    background: #f5f3ff;
    color: #6d28d9 !important;
    border: 1px solid #ddd6fe;
}
/* _content/WebApp/Components/Pages/Settaggi/MandantiAndMandati/ElencoUtenti_page.razor.rz.scp.css */
.bg-slate-50[b-vtir5vs28s] {
    background-color: #f8fafc;
}

.border-slate-100[b-vtir5vs28s] {
    border-color: #f1f5f9;
}

.avatar-circle[b-vtir5vs28s] {
    width: 36px;
    height: 36px;
    background-color: #f1f5f9;
    color: #94a3b8;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9rem;
}

.btn-custom-cyan[b-vtir5vs28s] {
    background: #0ea5e9 !important;
    border: none !important;
    color: white !important;
    transition: all 0.2s ease;
}

    .btn-custom-cyan:hover[b-vtir5vs28s] {
        background: #0284c7 !important;
        transform: translateY(-2px);
        box-shadow: 0 10px 15px -3px rgba(14, 165, 233, 0.3) !important;
    }

.k-table th[b-vtir5vs28s] {
    border-bottom: 1px solid #e2e8f0;
}

.k-table td[b-vtir5vs28s] {
    padding: 12px;
    border-bottom: 1px solid #f1f5f9;
    transition: background-color 0.2s;
}

.k-table tbody tr:last-child td[b-vtir5vs28s] {
    border-bottom: none;
}

.k-table-row:hover td[b-vtir5vs28s] {
    background-color: #f8fafc;
}

.btn-action-edit[b-vtir5vs28s] {
    background: white;
    color: #0ea5e9;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    font-weight: 700;
    font-size: 0.8rem;
    padding: 6px 12px;
    transition: all 0.2s;
}

    .btn-action-edit:hover[b-vtir5vs28s] {
        background: #0ea5e9;
        border-color: #0ea5e9;
        color: white;
        transform: translateY(-1px);
    }

 

.empty-state-icon[b-vtir5vs28s] {
    width: 70px;
    height: 70px;
    background: #f1f5f9;
    color: #94a3b8;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
}

.kube-avatar[b-vtir5vs28s] {
    width: 38px;
    height: 38px;
    background: rgba(14, 165, 233, 0.1);
    color: #0ea5e9;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 1rem;
    flex-shrink: 0;
}

/* Righe disattivate */
.k-row-disattivato td[b-vtir5vs28s] {
    background-color: #f8fafc !important;
    opacity: 0.75;
}

.k-row-disattivato:hover td[b-vtir5vs28s] {
    opacity: 0.9;
    background-color: #f1f5f9 !important;
}

.k-row-disattivato .kube-avatar[b-vtir5vs28s] {
    background: #e2e8f0;
    color: #94a3b8;
}
/* _content/WebApp/Components/Pages/Settaggi/MandantiAndMandati/Mandato_page.razor.rz.scp.css */
:root[b-c3t1zeq56a] {
    --slate-50: #f8fafc;
    --slate-100: #f1f5f9;
    --slate-200: #e2e8f0;
    --slate-400: #94a3b8;
    --slate-500: #64748b;
    --slate-600: #475569;
    --slate-700: #334155;
    --slate-800: #1e293b;
    --neon-cyan: #0ea5e9;
}

.bg-slate-50[b-c3t1zeq56a] {
    background-color: var(--slate-50);
}

.bg-slate-100[b-c3t1zeq56a] {
    background-color: var(--slate-100);
}

.border-slate-100[b-c3t1zeq56a] {
    border-color: var(--slate-100) !important;
}

.border-slate-200[b-c3t1zeq56a] {
    border-color: var(--slate-200) !important;
}

.text-slate-500[b-c3t1zeq56a] {
    color: var(--slate-500) !important;
}

.text-slate-700[b-c3t1zeq56a] {
    color: var(--slate-700) !important;
}

/* ICON BOXES */
.bg-blue-subtle[b-c3t1zeq56a] {
    background-color: #eff6ff;
    color: #3b82f6 !important;
}

.bg-purple-subtle[b-c3t1zeq56a] {
    background-color: #faf5ff;
    color: #8b5cf6 !important;
}

.bg-emerald-subtle[b-c3t1zeq56a] {
    background-color: #ecfdf5;
    color: #10b981 !important;
}

.bg-amber-subtle[b-c3t1zeq56a] {
    background-color: #fffbeb;
    color: #f59e0b !important;
}

.icon-box[b-c3t1zeq56a] {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    flex-shrink: 0;
}

/* INPUT STYLING */
.custom-input[b-c3t1zeq56a] {
    font-size: 1rem;
    padding: 0.8rem 1.2rem;
    border: 1px solid var(--slate-200);
    border-radius: 12px;
    color: var(--slate-800) !important;
    transition: all 0.2s ease;
}

    .custom-input:focus[b-c3t1zeq56a] {
        background-color: #fff !important;
        border-color: var(--neon-cyan);
        box-shadow: 0 0 0 4px rgba(14, 165, 233, 0.1);
        outline: none;
    }

/* SWITCH CUSTOM STYLE - FIXATI E INGRANDITI */
.custom-switch[b-c3t1zeq56a] {
    padding-left: 0;
}

    .custom-switch .form-check-input[b-c3t1zeq56a] {
        width: 3.2em !important;
        height: 1.6em !important;
        margin-top: 0;
        cursor: pointer;
        background-color: var(--slate-200);
        border: 1px solid var(--slate-300);
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
        transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out;
    }

        .custom-switch .form-check-input:checked[b-c3t1zeq56a] {
            background-color: var(--neon-cyan) !important;
            border-color: var(--neon-cyan) !important;
        }

/* PULSANTI */
.btn-back[b-c3t1zeq56a] {
    transition: all 0.2s;
}

    .btn-back:hover[b-c3t1zeq56a] {
        background-color: var(--slate-100);
        transform: translateX(-2px);
    }

.btn-custom-cyan[b-c3t1zeq56a] {
    background: var(--neon-cyan) !important;
    border: none !important;
    color: white !important;
    transition: all 0.2s ease;
}

    .btn-custom-cyan:hover:not(:disabled)[b-c3t1zeq56a] {
        background: #0284c7 !important;
        transform: translateY(-2px);
        box-shadow: 0 10px 15px -3px rgba(14, 165, 233, 0.3) !important;
    }

.btn-action-secondary[b-c3t1zeq56a] {
    border-color: var(--slate-200);
    color: var(--slate-600);
}

    .btn-action-secondary:hover[b-c3t1zeq56a] {
        background-color: var(--slate-50);
        color: var(--slate-800);
    }

.btn-action-cancel[b-c3t1zeq56a] {
    color: var(--slate-600) !important;
    background: white;
    transition: all 0.2s;
}

    .btn-action-cancel:hover:not(:disabled)[b-c3t1zeq56a] {
        background: var(--slate-50);
        color: var(--slate-800) !important;
    }

.btn-action-danger[b-c3t1zeq56a] {
    color: #ef4444 !important;
    border-color: #fecaca !important;
    background: white;
    transition: all 0.2s;
}

    .btn-action-danger:hover:not(:disabled)[b-c3t1zeq56a] {
        background: #fef2f2;
        color: #dc2626 !important;
        border-color: #fca5a5 !important;
    }

/* ALERT PERSONALIZZATI */
.alert-custom[b-c3t1zeq56a] {
    padding: 16px 20px;
    border-radius: 12px;
}

.alert-warning-soft[b-c3t1zeq56a] {
    background-color: #fffbeb;
    color: #d97706 !important;
    border: 1px solid #fde68a;
}

/* STICKY ACTION BAR */
.action-bar-bottom[b-c3t1zeq56a] {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background-color: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(10px);
}

@media (min-width: 992px) {
    .action-bar-bottom[b-c3t1zeq56a] {
        left: 250px;
    }
}

/* Fix for MioEditor height inside standard cards */
.k-editor-wrapper[b-c3t1zeq56a] {
    height: 100%;
    min-height: 300px; /* Provide a base height */
}

    .k-editor-wrapper .k-editor-container[b-c3t1zeq56a] {
        height: 100% !important;
    }
/* _content/WebApp/Components/Pages/Settaggi/RuleBuilder.razor.rz.scp.css */
/* ══════════════════════════════════════════════════
   RULE BUILDER — Stili (Blazor CSS Isolation)
   Tema Light K-UBE
   ══════════════════════════════════════════════════ */

:root[b-pje9pgashe] {
    --slate-50: #f8fafc;
    --slate-100: #f1f5f9;
    --slate-200: #e2e8f0;
    --slate-300: #cbd5e1;
    --slate-400: #94a3b8;
    --slate-500: #64748b;
    --slate-600: #475569;
    --slate-700: #334155;
    --slate-800: #1e293b;
    --neon-cyan: #0ea5e9;
}

.rb-root[b-pje9pgashe] {
    width: 100%;
    font-family: 'Inter', 'Segoe UI', sans-serif;
}

/* ══════════════════════════════════════════════════
   PULSANTI GLOBALI E STICKY BAR K-UBE
   ══════════════════════════════════════════════════ */

.btn-back[b-pje9pgashe] { transition: all 0.2s; }
.btn-back:hover[b-pje9pgashe] { background-color: var(--slate-100); transform: translateX(-2px); }

.btn-custom-cyan[b-pje9pgashe] { background: var(--neon-cyan) !important; border: none !important; color: white !important; transition: all 0.2s ease; }
.btn-custom-cyan:hover:not(:disabled)[b-pje9pgashe] { background: #0284c7 !important; transform: translateY(-2px); box-shadow: 0 10px 15px -3px rgba(14, 165, 233, 0.3) !important; }

/* --- TASTO AI PREMIUM - NEON CYAN EDITION --- */
.btn-custom-ai[b-pje9pgashe] { 
    background: linear-gradient(135deg, #0ea5e9 0%, #22d3ee 100%) !important; 
    border: none !important; 
    color: white !important; 
    font-weight: 800 !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); 
    position: relative;
    overflow: hidden;
    z-index: 1;
    box-shadow: 0 4px 15px rgba(14, 165, 233, 0.4) !important; 
    letter-spacing: 0.5px;
}

/* Effetto riflesso (Shimmer) */
.btn-custom-ai[b-pje9pgashe]::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(
        90deg, 
        transparent, 
        rgba(255, 255, 255, 0.6), 
        transparent
    );
    transform: skewX(-25deg);
    animation: ai-shimmer-b-pje9pgashe 5s infinite;
    z-index: -1;
}

@keyframes ai-shimmer-b-pje9pgashe {
    0% { left: -120%; }
    10% { left: 250%; }
    100% { left: 250%; }
}

.btn-custom-ai:hover:not(:disabled)[b-pje9pgashe] { 
    transform: translateY(-2px) scale(1.03); 
    box-shadow: 0 12px 25px -3px rgba(14, 165, 233, 0.6) !important; 
    filter: brightness(1.05); 
}

.btn-custom-ai:active[b-pje9pgashe] {
    transform: translateY(0) scale(0.98);
}
/* --- FINE TASTO AI --- */

.btn-action-secondary[b-pje9pgashe] { border-color: var(--slate-200); color: var(--slate-600); background: white; transition: all 0.2s; }
.btn-action-secondary:hover[b-pje9pgashe] { background-color: var(--slate-50); color: var(--neon-cyan); border-color: var(--slate-300); transform: translateY(-2px); }
.btn-action-secondary:hover i[b-pje9pgashe] { color: var(--neon-cyan) !important; }

.btn-action-cancel[b-pje9pgashe] { color: var(--slate-600) !important; background: white; transition: all 0.2s; }
.btn-action-cancel:hover:not(:disabled)[b-pje9pgashe] { background: var(--slate-50); color: var(--slate-800) !important; }

/* STICKY ACTION BAR */
.action-bar-bottom[b-pje9pgashe] {
    position: fixed; 
    bottom: 0; 
    left: 0; 
    right: 0; 
    z-index: 1000;
    background-color: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(10px);
    border-radius: 0 !important;
}

/* Compensa la larghezza della Sidebar su Desktop */
@media (min-width: 992px) { 
    .action-bar-bottom[b-pje9pgashe] { left: 260px; } 
}


/* ══════════════════════════════════════════════════
   OVERRIDE CLASSI RULE BUILDER (Sfondo Bianco)
   ══════════════════════════════════════════════════ */

/* ── Card della regola (Sfondo bianco, bordo leggero) ── */
[b-pje9pgashe] .rb-card {
    background: #ffffff;
    border: 1px solid var(--slate-200);
    border-radius: 16px;
    margin-bottom: 16px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
    transition: transform 0.2s, box-shadow 0.2s;
}
[b-pje9pgashe] .rb-card:hover { box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.08); }
[b-pje9pgashe] .rb-card-disabled { opacity: 0.6; filter: grayscale(1); }

[b-pje9pgashe] .rb-card-header {
    display: flex; justify-content: space-between; align-items: center;
    padding: 16px 20px; cursor: pointer; gap: 8px; flex-wrap: wrap;
    border-bottom: 1px solid var(--slate-100);
}
[b-pje9pgashe] .rb-card-header:hover { background: var(--slate-50); border-radius: 16px 16px 0 0; }
[b-pje9pgashe] .rb-card-header-left { display: flex; align-items: center; gap: 12px; flex: 1; min-width: 200px; color: var(--slate-800); font-weight: 700; font-size: 1.1rem; }
[b-pje9pgashe] .rb-card-header-right { display: flex; gap: 8px; align-items: center; }
[b-pje9pgashe] .rb-card-arrow { font-size: 18px; color: var(--slate-400); flex-shrink: 0; }
[b-pje9pgashe] .rb-card-body { padding: 16px 20px 24px; background-color: var(--slate-50); border-radius: 0 0 16px 16px; }

/* ── Gruppi Condizioni (Sfondi chiari) ── */
[b-pje9pgashe] .rb-group { padding: 16px; border-radius: 12px; margin-bottom: 12px; border: 1px solid var(--slate-200); background: #ffffff; }
[b-pje9pgashe] .rb-group-depth-0 { border-left: 4px solid #3b82f6; }
[b-pje9pgashe] .rb-group-depth-1 { border-left: 4px solid #8b5cf6; background: #faf5ff; }
[b-pje9pgashe] .rb-group-depth-2 { border-left: 4px solid #ec4899; background: #fdf2f8; }
[b-pje9pgashe] .rb-group-depth-3 { border-left: 4px solid #f59e0b; background: #fffbeb; }

[b-pje9pgashe] .rb-group-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; border-bottom: 1px dashed var(--slate-200); padding-bottom: 8px; }
[b-pje9pgashe] .rb-group-header-left { display: flex; align-items: center; gap: 8px; }
[b-pje9pgashe] .rb-group-label { font-size: 12px; color: var(--slate-500); font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
[b-pje9pgashe] .rb-group-actions { display: flex; gap: 8px; }

/* ── Riga condizione ── */
[b-pje9pgashe] .rb-cond-row { display: flex; gap: 10px; align-items: center; margin-bottom: 10px; flex-wrap: wrap; }

/* ── Divider logico & Toggle AND/OR ── */
[b-pje9pgashe] .rb-logic-divider { text-align: center; font-size: 11px; color: var(--slate-400); font-weight: 800; letter-spacing: 2px; text-transform: uppercase; padding: 4px 0; }
[b-pje9pgashe] .rb-logic-toggle { padding: 4px 14px; border-radius: 6px; border: none; color: #fff; font-weight: 800; font-size: 12px; cursor: pointer; letter-spacing: 1px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); }
[b-pje9pgashe] .rb-logic-and { background: #3b82f6; }
[b-pje9pgashe] .rb-logic-or { background: #8b5cf6; }

/* ── Azione (Box Sfondo Bianco) ── */
[b-pje9pgashe] .rb-action-box { background: #ffffff; border: 1px solid var(--slate-200); border-radius: 12px; padding: 16px; box-shadow: 0 2px 4px rgba(0,0,0,0.02); }
[b-pje9pgashe] .rb-mod-row { display: flex; gap: 10px; align-items: center; margin-bottom: 8px; flex-wrap: wrap; }
[b-pje9pgashe] .rb-mod-eq { color: var(--slate-400); font-size: 14px; font-weight: 800; }
[b-pje9pgashe] .rb-premio-row { display: flex; gap: 16px; flex-wrap: wrap; }

/* ── Form controls (Input e Select chiari) ── */
[b-pje9pgashe] .rb-select, [b-pje9pgashe] .rb-input {
    background: #ffffff; border: 1px solid var(--slate-300); border-radius: 8px; padding: 8px 12px;
    color: var(--slate-800); font-size: 14px; font-weight: 500; outline: none; transition: all 0.2s; box-shadow: inset 0 1px 2px rgba(0,0,0,0.02);
}
[b-pje9pgashe] .rb-select:focus, [b-pje9pgashe] .rb-input:focus { border-color: var(--neon-cyan); box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.15); }
[b-pje9pgashe] .rb-select-prop { flex: 1 1 200px; min-width: 180px; }
[b-pje9pgashe] .rb-select-op { flex: 0 0 auto; min-width: 140px; font-weight: 700; color: var(--slate-700); background-color: var(--slate-50); }
[b-pje9pgashe] .rb-select-val { min-width: 100px; }
[b-pje9pgashe] .rb-input-sm { width: 120px; }
[b-pje9pgashe] .rb-input-full { width: 100%; }

/* Input invisibile inline (per i titoli card) */
[b-pje9pgashe] .rb-input-inline {
    background: transparent; border: 1px solid transparent; border-radius: 6px; padding: 4px 8px;
    color: var(--slate-800); font-size: 16px; font-weight: 700; outline: none; flex: 1; transition: border 0.2s;
}
[b-pje9pgashe] .rb-input-inline:hover { border-color: var(--slate-200); background: #ffffff; }
[b-pje9pgashe] .rb-input-inline:focus { border-color: var(--neon-cyan); background: #ffffff; box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.1); }

[b-pje9pgashe] .rb-row-2col { display: flex; gap: 16px; margin-bottom: 12px; flex-wrap: wrap; }
[b-pje9pgashe] .rb-between { display: flex; gap: 8px; align-items: center; }
[b-pje9pgashe] .rb-between-sep { color: var(--slate-400); font-size: 14px; font-weight: 600; }

/* ── Tag selezionabili (Tipi/Rami) ── */
[b-pje9pgashe] .rb-tags { display: flex; flex-wrap: wrap; gap: 6px; }
[b-pje9pgashe] .rb-tag {
    padding: 4px 12px; border-radius: 6px; font-size: 13px; font-weight: 600;
    border: 1px solid var(--slate-200); cursor: pointer; transition: all 0.2s;
    background: #ffffff; color: var(--slate-600); box-shadow: 0 1px 2px rgba(0,0,0,0.02);
}
[b-pje9pgashe] .rb-tag:hover { border-color: var(--slate-300); background: var(--slate-50); color: var(--slate-800); }
[b-pje9pgashe] .rb-tag-active { background: var(--neon-cyan) !important; color: #fff !important; border-color: var(--neon-cyan) !important; box-shadow: 0 2px 4px rgba(14,165,233,0.2) !important; }

/* ── Label & Badge ── */
[b-pje9pgashe] .rb-label { display: block; font-size: 12px; font-weight: 700; color: var(--slate-500); margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; }
[b-pje9pgashe] .rb-badge { padding: 4px 10px; border-radius: 20px; font-size: 11px; font-weight: 700; color: #fff; white-space: nowrap; box-shadow: 0 2px 4px rgba(0,0,0,0.1); }
[b-pje9pgashe] .rb-badge-red { background: #ef4444; }
[b-pje9pgashe] .rb-badge-blue { background: #3b82f6; }
[b-pje9pgashe] .rb-badge-green { background: #10b981; }

/* ── Bottoni Azione Interni ── */
[b-pje9pgashe] .rb-btn { border-radius: 8px; padding: 6px 14px; font-weight: 600; font-size: 13px; cursor: pointer; border: none; transition: all 0.2s; }
[b-pje9pgashe] .rb-btn:hover { transform: translateY(-1px); }
[b-pje9pgashe] .rb-btn-secondary { background: #ffffff; color: var(--slate-600); border: 1px solid var(--slate-300); border-radius: 6px; padding: 6px 12px; font-size: 13px; box-shadow: 0 1px 2px rgba(0,0,0,0.02); }
[b-pje9pgashe] .rb-btn-secondary:hover { background: var(--slate-50); color: var(--slate-800); }
[b-pje9pgashe] .rb-btn-x { background: #fef2f2; color: #ef4444; border: 1px solid #fecaca; border-radius: 8px; width: 32px; height: 32px; cursor: pointer; font-size: 14px; display: flex; align-items: center; justify-content: center; transition: all 0.2s; }
[b-pje9pgashe] .rb-btn-x:hover { background: #ef4444; color: white; }
[b-pje9pgashe] .rb-btn-sm { background: var(--slate-100); color: var(--slate-600); border: 1px solid var(--slate-200); border-radius: 6px; padding: 4px 10px; font-size: 12px; font-weight: 600; cursor: pointer; transition: all 0.2s;}
[b-pje9pgashe] .rb-btn-sm:hover { background: var(--slate-200); }
[b-pje9pgashe] .rb-btn-sm-on { background: #dcfce7; color: #16a34a; border-color: #bbf7d0; }
[b-pje9pgashe] .rb-btn-sm-on:hover { background: #16a34a; color: white; }
[b-pje9pgashe] .rb-btn-sm-off { background: var(--slate-100); color: var(--slate-500); }
[b-pje9pgashe] .rb-btn-sm-danger { background: #fef2f2; color: #ef4444; border-color: #fecaca; }
[b-pje9pgashe] .rb-btn-sm-danger:hover { background: #ef4444; color: white; }

/* ── Bottoni aggiungi regola (Grandi in fondo) ── */
[b-pje9pgashe] .rb-add-bar { display: flex; gap: 16px; flex-wrap: wrap; }
[b-pje9pgashe] .rb-btn-add {
    border: 2px dashed var(--slate-300); border-radius: 16px; padding: 20px;
    cursor: pointer; flex: 1; min-width: 250px; text-align: center;
    transition: all 0.2s ease; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.02);
    background: #ffffff;
}
[b-pje9pgashe] .rb-btn-add:hover { border-color: var(--neon-cyan); background-color: var(--slate-50); transform: translateY(-2px); box-shadow: 0 10px 15px -3px rgba(14, 165, 233, 0.1); }
[b-pje9pgashe] .rb-btn-add-icon { font-size: 24px; display: block; margin-bottom: 8px; }
[b-pje9pgashe] .rb-btn-add-label { font-size: 14px; text-transform: uppercase; letter-spacing: 0.5px; }

/* ── Anteprima JSON ── */
[b-pje9pgashe] .rb-json-preview {
    font-family: 'Consolas', 'Courier New', monospace; font-size: 13px; color: #0284c7; 
    overflow: auto; max-height: 600px; white-space: pre-wrap; line-height: 1.5;
}
/* _content/WebApp/Components/Pages/Settaggi/SpeseList_page.razor.rz.scp.css */
/* Stile delle pagine elenco (Mandanti / Mandati / Utenti / Collegamenti); k-table, btn-custom-cyan,
   btn-action-edit, btn-action-cancel ed empty-state-icon sono gia' globali in components.css */

.kube-avatar[b-yuqh3c4b86] {
    width: 38px;
    height: 38px;
    background: rgba(14, 165, 233, 0.1);
    color: #0ea5e9;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 1rem;
    flex-shrink: 0;
}

.btn-action-delete[b-yuqh3c4b86] {
    background: white;
    color: #ef4444;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    font-size: 0.8rem;
    padding: 6px 10px;
    transition: all 0.2s;
}

    .btn-action-delete:hover[b-yuqh3c4b86] {
        background: #ef4444;
        border-color: #ef4444;
        color: white;
        transform: translateY(-1px);
    }

/* "Tutti i mandati", "Tutta Italia", "Tutti gli utenti" */
.k-tutti[b-yuqh3c4b86] {
    font-size: 0.8rem;
    color: #94a3b8;
    font-weight: 600;
}

/* "N mandati" / "N regioni": l'elenco compare passando il mouse */
.k-conteggio-elenco[b-yuqh3c4b86] {
    color: #475569;
    font-weight: 600;
    cursor: help;
    border-bottom: 1px dotted #94a3b8;
}

.k-filtro-utente[b-yuqh3c4b86] {
    color: #475569;
    font-weight: 600;
}

    .k-filtro-utente:focus[b-yuqh3c4b86] {
        border-color: #0ea5e9;
        box-shadow: 0 0 0 0.2rem rgba(14, 165, 233, 0.15);
    }
/* _content/WebApp/Components/Pages/Settaggi/VerificaKb.razor.rz.scp.css */
/* Verifica Collegamento KB — coerente col tema chiaro del gestionale (K-UBE) */

.kb-hero[b-9q72ufo6tz] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0,0,0,.03);
    padding: 28px 30px;
    margin-bottom: 26px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    position: relative;
    overflow: hidden;
}
.kb-hero[b-9q72ufo6tz]::after {
    content: '';
    position: absolute; right: 0; top: 0; bottom: 0; width: 40%;
    background: linear-gradient(90deg, transparent, rgba(6,182,212,.05));
    pointer-events: none;
}
.kb-hero-text[b-9q72ufo6tz] { z-index: 1; max-width: 620px; }
.kb-hero-text h1[b-9q72ufo6tz] { font-size: 2rem; font-weight: 800; letter-spacing: -.5px; margin: 0 0 6px; color: #0f172a; }
.kb-hero-text p[b-9q72ufo6tz] { font-size: .95rem; color: #64748b; margin: 0; }
.kb-chips[b-9q72ufo6tz] { display: flex; gap: 10px; margin-top: 14px; flex-wrap: wrap; }
.kb-chip[b-9q72ufo6tz] {
    display: inline-flex; align-items: center; gap: 7px;
    font-size: .76rem; font-weight: 600; color: #64748b;
    background: #f8fafc; border: 1px solid #e2e8f0; padding: 6px 12px; border-radius: 8px;
}
.kb-chip i[b-9q72ufo6tz] { color: #06b6d4; }
.kb-chip code[b-9q72ufo6tz] { font-family: Consolas, monospace; color: #0f172a; }
.kb-hero-actions[b-9q72ufo6tz] { z-index: 1; flex-shrink: 0; }

.kb-btn[b-9q72ufo6tz] {
    background: linear-gradient(90deg, #0052D4, #06b6d4);
    color: #fff; border: none; padding: 15px 26px; border-radius: 10px;
    font-size: .92rem; font-weight: 700; cursor: pointer;
    text-transform: uppercase; letter-spacing: .8px;
    box-shadow: 0 4px 15px rgba(0,82,212,.15); transition: all .25s;
    display: inline-flex; align-items: center; gap: 10px; white-space: nowrap;
}
.kb-btn:hover:not(:disabled)[b-9q72ufo6tz] { transform: translateY(-2px); box-shadow: 0 0 30px rgba(0,82,212,.2); }
.kb-btn:disabled[b-9q72ufo6tz] { opacity: .6; cursor: default; }

/* KPI */
.kb-kpi-row[b-9q72ufo6tz] { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-bottom: 14px; }
.kb-kpi[b-9q72ufo6tz] {
    padding: 20px 22px; background: #fff; border: 1px solid #e2e8f0; border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0,0,0,.03); display: flex; align-items: center; gap: 18px;
}
.kb-led[b-9q72ufo6tz] { width: 54px; height: 54px; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 1.4rem; flex-shrink: 0; }
.kb-kpi-val[b-9q72ufo6tz] { font-size: 2rem; font-weight: 800; line-height: 1; }
.kb-kpi-lbl[b-9q72ufo6tz] { font-size: .78rem; color: #64748b; font-weight: 600; margin-top: 4px; }

/* Banner */
.kb-banner[b-9q72ufo6tz] { display: flex; align-items: center; gap: 16px; padding: 16px 22px; border-radius: 14px; margin: 24px 0 26px; }
.kb-banner .big[b-9q72ufo6tz] { font-size: 1.6rem; }
.kb-banner strong[b-9q72ufo6tz] { font-size: .98rem; color: #0f172a; }
.kb-banner span[b-9q72ufo6tz] { font-size: .84rem; color: #64748b; display: block; margin-top: 2px; }
.kb-banner.ok[b-9q72ufo6tz]   { border: 1px solid rgba(34,197,94,.2);  background: linear-gradient(90deg, rgba(34,197,94,.08), transparent); }
.kb-banner.ok .big[b-9q72ufo6tz]   { color: #16a34a; }
.kb-banner.warn[b-9q72ufo6tz] { border: 1px solid rgba(245,158,11,.2); background: linear-gradient(90deg, rgba(245,158,11,.08), transparent); }
.kb-banner.warn .big[b-9q72ufo6tz] { color: #d97706; }
.kb-banner.err[b-9q72ufo6tz]  { border: 1px solid rgba(239,68,68,.2);  background: linear-gradient(90deg, rgba(239,68,68,.08), transparent); }
.kb-banner.err .big[b-9q72ufo6tz]  { color: #dc2626; }

/* Legenda */
.kb-legend[b-9q72ufo6tz] { display: flex; gap: 20px; flex-wrap: wrap; margin-bottom: 22px; font-size: .8rem; color: #64748b; }
.kb-legend .l[b-9q72ufo6tz] { display: flex; align-items: center; gap: 8px; }
.kb-dot[b-9q72ufo6tz] { width: 11px; height: 11px; border-radius: 50%; }

/* Sezioni */
.kb-section[b-9q72ufo6tz] { background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 10px 30px rgba(0,0,0,.03); margin-bottom: 24px; overflow: hidden; }
.kb-section-header[b-9q72ufo6tz] { display: flex; align-items: center; justify-content: space-between; padding: 18px 24px; border-bottom: 1px solid #e2e8f0; }
.kb-section-header h3[b-9q72ufo6tz] { font-size: 1rem; font-weight: 800; margin: 0; display: flex; align-items: center; gap: 10px; color: #0f172a; }
.kb-section-header h3 i[b-9q72ufo6tz] { color: #0052D4; }
.kb-tally[b-9q72ufo6tz] { font-size: .74rem; color: #64748b; display: flex; gap: 12px; }
.kb-tally b[b-9q72ufo6tz] { font-weight: 700; }

.kb-row[b-9q72ufo6tz] { display: flex; align-items: center; gap: 16px; padding: 15px 24px; border-bottom: 1px solid #e2e8f0; border-left: 4px solid transparent; transition: background .15s; }
.kb-row:last-child[b-9q72ufo6tz] { border-bottom: none; }
.kb-row:hover[b-9q72ufo6tz] { background: #f8fafc; }
.kb-row.ok[b-9q72ufo6tz] { border-left-color: #16a34a; }
.kb-row.warn[b-9q72ufo6tz] { border-left-color: #d97706; }
.kb-row.err[b-9q72ufo6tz] { border-left-color: #dc2626; }

.kb-ico[b-9q72ufo6tz] { width: 42px; height: 42px; border-radius: 11px; display: flex; align-items: center; justify-content: center; font-size: 1.05rem; flex-shrink: 0; }
.kb-body[b-9q72ufo6tz] { flex: 1; min-width: 0; }
.kb-title[b-9q72ufo6tz] { font-weight: 700; font-size: .92rem; color: #0f172a; display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.kb-meta[b-9q72ufo6tz] { font-size: .71rem; color: #64748b; font-family: Consolas, monospace; background: #f8fafc; border: 1px solid #e2e8f0; padding: 1px 7px; border-radius: 5px; }
.kb-desc[b-9q72ufo6tz] { font-size: .82rem; color: #64748b; margin-top: 3px; line-height: 1.45; }
.kb-pill[b-9q72ufo6tz] { font-size: .66rem; font-weight: 800; text-transform: uppercase; letter-spacing: .5px; padding: 5px 12px; border-radius: 20px; flex-shrink: 0; white-space: nowrap; }

/* Colori semaforo condivisi (led/ico/pill/dot/valori/tally) */
.ok[b-9q72ufo6tz]   { color: #16a34a; }
.warn[b-9q72ufo6tz] { color: #d97706; }
.err[b-9q72ufo6tz]  { color: #dc2626; }
.kb-led.ok[b-9q72ufo6tz], .kb-ico.ok[b-9q72ufo6tz], .kb-pill.ok[b-9q72ufo6tz], .kb-dot.ok[b-9q72ufo6tz]    { background: rgba(34,197,94,.12);  color: #16a34a; }
.kb-led.warn[b-9q72ufo6tz], .kb-ico.warn[b-9q72ufo6tz], .kb-pill.warn[b-9q72ufo6tz], .kb-dot.warn[b-9q72ufo6tz] { background: rgba(245,158,11,.12); color: #d97706; }
.kb-led.err[b-9q72ufo6tz], .kb-ico.err[b-9q72ufo6tz], .kb-pill.err[b-9q72ufo6tz], .kb-dot.err[b-9q72ufo6tz]   { background: rgba(239,68,68,.12);  color: #dc2626; }

/* Loading / denied */
.kb-loading[b-9q72ufo6tz] { text-align: center; padding: 60px 20px; color: #64748b; }
.kb-loading p[b-9q72ufo6tz] { margin: 16px 0 0; font-weight: 700; color: #0f172a; }
.kb-loading small[b-9q72ufo6tz] { color: #64748b; }
.kb-spinner[b-9q72ufo6tz] { width: 46px; height: 46px; border: 4px solid #e2e8f0; border-top-color: #0052D4; border-radius: 50%; margin: 0 auto; animation: kb-spin-b-9q72ufo6tz .8s linear infinite; }
@keyframes kb-spin-b-9q72ufo6tz { to { transform: rotate(360deg); } }

.kb-denied[b-9q72ufo6tz] { display: flex; align-items: center; gap: 16px; padding: 24px; background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; margin-top: 10px; }
.kb-denied i[b-9q72ufo6tz] { font-size: 1.6rem; color: #d97706; }
.kb-denied strong[b-9q72ufo6tz] { display: block; color: #0f172a; }
.kb-denied span[b-9q72ufo6tz] { font-size: .85rem; color: #64748b; }

@media (max-width: 992px) {
    .kb-hero[b-9q72ufo6tz] { flex-direction: column; align-items: flex-start; }
    .kb-kpi-row[b-9q72ufo6tz] { grid-template-columns: 1fr; }
}
/* _content/WebApp/Components/Pages/Sic_page.razor.rz.scp.css */
/* Consulta SIC: stesso aspetto della scheda del preventivo (Preventivo_page e le card ReadOnly, CardVeicolo.razor.css):
   intestazione bianca con la barra sfumata ciano-blu, card bianche senza bordo con ombra leggera, icona in un quadrato
   grigio, etichette piccole maiuscole e valori in grassetto, targa scura. Colori "slate" come in CardVeicolo. */
.k-sic[b-ujl69zn2qr] {
    max-width: 1400px;
    padding-bottom: 60px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* ===== intestazione ===== */
.k-sic-hero[b-ujl69zn2qr] {
    position: relative;
    overflow: hidden;
    background: #ffffff;
    border-radius: 1rem;
    padding: 28px 32px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06), 0 1px 2px rgba(15, 23, 42, 0.04);
}

.k-sic-hero-barra[b-ujl69zn2qr] {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--neon-cyan), #3b82f6);
}

.k-sic-hero-icona[b-ujl69zn2qr] {
    width: 52px;
    height: 52px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: rgba(6, 182, 212, 0.1);
    color: var(--neon-cyan);
    font-size: 1.35rem;
}

.k-sic-titolo[b-ujl69zn2qr] {
    margin: 0;
    font-size: 1.8rem;
    font-weight: 800;
    letter-spacing: -0.5px;
    color: #1e293b;
}

.k-sic-sottotitolo[b-ujl69zn2qr] {
    margin: 2px 0 0;
    font-size: 0.95rem;
    color: #64748b;
}

/* riquadro targa della dashboard, un po' piu' largo e senza separatore (non c'e' il tipo veicolo accanto) */
.k-sic-targa[b-ujl69zn2qr] {
    background: #f8fafc;
}

.k-sic-targa .plate-box[b-ujl69zn2qr] {
    width: 220px;
    border-right: none;
    margin-right: 0;
}

.k-sic-bottone[b-ujl69zn2qr] {
    height: 60px;
    padding: 0 30px;
    border-radius: 12px;
    white-space: nowrap;
    box-shadow: 0 4px 12px -2px rgba(14, 165, 233, 0.35);
}

/* ===== card ===== */
.k-sic-card[b-ujl69zn2qr] {
    background: #ffffff;
    border-radius: 1rem;
    padding: 24px 28px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
}

.k-sic-card-testa[b-ujl69zn2qr] {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #f1f5f9;
}

.k-sic-card-icona[b-ujl69zn2qr] {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #f8fafc;
    color: #64748b;
    font-size: 1.05rem;
}

.k-sic-card-titolo[b-ujl69zn2qr] {
    flex: 1 1 auto;
    margin: 0;
    font-size: 1.1rem;
    font-weight: 800;
    color: #1e293b;
}

.k-sic-contatore[b-ujl69zn2qr] {
    min-width: 26px;
    padding: 2px 9px;
    border-radius: 999px;
    background: #f1f5f9;
    color: #475569;
    font-size: 0.75rem;
    font-weight: 800;
    text-align: center;
}

/* titoletto di sezione come "Fascicolo dati inseriti" */
.k-sic-sezione[b-ujl69zn2qr] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 4px;
    font-size: 0.85rem;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #334155;
}

.k-sic-sezione i[b-ujl69zn2qr] {
    color: #94a3b8;
    font-size: 1.1rem;
}

/* ===== campi ===== */
.k-sic-etichetta[b-ujl69zn2qr] {
    margin-bottom: 4px;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: #94a3b8;
}

.k-sic-valore[b-ujl69zn2qr] {
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.4;
    color: #334155;
    /* telaio e nomi lunghi vanno a capo dentro la colonna invece di allargare la pagina sul telefono */
    overflow-wrap: anywhere;
}

.k-sic-mono[b-ujl69zn2qr] {
    font-family: 'Consolas', 'Courier New', monospace;
    letter-spacing: 0.5px;
}

.k-sic-divisore[b-ujl69zn2qr] {
    border-top: 1px solid #f1f5f9;
}

.k-min-0[b-ujl69zn2qr] {
    min-width: 0;
}

/* ===== riepilogo ===== */
.k-sic-targa-badge[b-ujl69zn2qr] {
    display: inline-block;
    padding: 8px 16px;
    border-radius: 8px;
    background: #1e293b;
    color: #ffffff;
    font-family: 'Courier New', Courier, monospace;
    font-size: 1.35rem;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1);
}

.k-sic-veicolo[b-ujl69zn2qr] {
    font-size: 1.2rem;
    font-weight: 800;
    color: #1e293b;
    overflow-wrap: anywhere;
}

.k-sic-veicolo-dettagli[b-ujl69zn2qr] {
    font-size: 0.88rem;
    color: #64748b;
}

.k-sic-chip[b-ujl69zn2qr] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 999px;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    color: #475569;
    font-size: 0.8rem;
    font-weight: 700;
    white-space: nowrap;
}

.k-sic-chip-ok[b-ujl69zn2qr] {
    border-color: #bbf7d0;
    background: #f0fdf4;
    color: #166534;
}

.k-sic-chip-ok i[b-ujl69zn2qr] {
    color: #22c55e;
}

.k-sic-chip-piccolo[b-ujl69zn2qr] {
    padding: 3px 10px;
    font-size: 0.72rem;
}

.k-sic-kpi[b-ujl69zn2qr] {
    height: 100%;
    padding: 14px 16px;
    border-radius: 12px;
    border: 1px solid #f1f5f9;
    background: #f8fafc;
}

.k-sic-kpi-etichetta[b-ujl69zn2qr] {
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: #94a3b8;
}

.k-sic-kpi-valore[b-ujl69zn2qr] {
    margin-top: 2px;
    font-size: 1.5rem;
    font-weight: 900;
    line-height: 1.25;
    color: #1e293b;
}

/* la compagnia e' un nome lungo: piu' piccola, al massimo due righe */
.k-sic-kpi-testo[b-ujl69zn2qr] {
    font-size: 0.95rem;
    font-weight: 800;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.5em;
}

.k-sic-kpi-nota[b-ujl69zn2qr] {
    margin-top: 2px;
    font-size: 0.78rem;
    font-weight: 600;
    color: #64748b;
    overflow-wrap: anywhere;
}

.k-sic-kpi-nota.k-sic-in-scadenza[b-ujl69zn2qr] {
    color: #d97706;
}

.k-sic-kpi-nota.k-sic-scaduta[b-ujl69zn2qr] {
    color: #dc2626;
}

.k-sic-kpi-nota.k-sic-altro-contraente[b-ujl69zn2qr] {
    color: #b45309;
}

.k-sic-kpi-sinistri[b-ujl69zn2qr] {
    border-color: #fecaca;
    background: #fef2f2;
}

.k-sic-kpi-sinistri .k-sic-kpi-valore[b-ujl69zn2qr] {
    color: #dc2626;
}

/* ===== coperture: riquadri affiancati, la piu' recente per prima; quella in corso in verde ===== */
.k-sic-copertura[b-ujl69zn2qr] {
    height: 100%;
    padding: 14px 16px;
    border-radius: 12px;
    border: 1px solid #f1f5f9;
    background: #f8fafc;
}

.k-sic-copertura.attiva[b-ujl69zn2qr] {
    border-color: #bbf7d0;
    background: #f0fdf4;
}

/* "Mostra tutte": tratteggiato come "Aggiungi spesa" della finestra del preventivo manuale */
.k-sic-altre[b-ujl69zn2qr] {
    width: 100%;
    margin-top: 14px;
    padding: 8px 14px;
    border: 1px dashed rgba(6, 182, 212, 0.6);
    border-radius: 8px;
    background: none;
    color: #0891b2;
    font-size: 0.85rem;
    font-weight: 700;
}

.k-sic-altre:hover[b-ujl69zn2qr] {
    background: rgba(6, 182, 212, 0.06);
}

.k-sic-copertura-impresa[b-ujl69zn2qr] {
    font-size: 0.9rem;
    font-weight: 800;
    color: #1e293b;
    overflow-wrap: anywhere;
}

.k-sic-stato[b-ujl69zn2qr] {
    flex-shrink: 0;
    padding: 2px 9px;
    border-radius: 999px;
    background: #e2e8f0;
    color: #475569;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.k-sic-stato.attiva[b-ujl69zn2qr] {
    background: #dcfce7;
    color: #166534;
}

.k-sic-copertura-periodo[b-ujl69zn2qr] {
    margin-top: 4px;
    font-size: 0.85rem;
    font-weight: 700;
    color: #334155;
}

.k-sic-copertura-periodo i[b-ujl69zn2qr] {
    color: #94a3b8;
    font-size: 0.75rem;
}

.k-sic-copertura-righe[b-ujl69zn2qr] {
    margin-top: 8px;
    display: grid;
    gap: 3px;
    font-size: 0.8rem;
}

.k-sic-copertura-righe > div[b-ujl69zn2qr] {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.k-sic-copertura-righe span[b-ujl69zn2qr] {
    color: #94a3b8;
    font-weight: 600;
    white-space: nowrap;
}

.k-sic-copertura-righe strong[b-ujl69zn2qr] {
    color: #334155;
    font-weight: 700;
    text-align: right;
    overflow-wrap: anywhere;
}

/* ===== prima della ricerca e attesa ===== */
.k-sic-intro[b-ujl69zn2qr] {
    height: 100%;
}

.k-sic-intro .k-sic-card-icona[b-ujl69zn2qr] {
    background: rgba(6, 182, 212, 0.1);
    color: var(--neon-cyan);
    margin-bottom: 14px;
}

.k-sic-intro-titolo[b-ujl69zn2qr] {
    font-size: 1rem;
    font-weight: 800;
    color: #1e293b;
}

.k-sic-intro-testo[b-ujl69zn2qr] {
    margin-top: 4px;
    font-size: 0.88rem;
    line-height: 1.5;
    color: #64748b;
}

.k-sic-attesa[b-ujl69zn2qr] {
    display: flex;
    align-items: center;
    gap: 18px;
}

.k-sic-attesa > i[b-ujl69zn2qr] {
    font-size: 1.6rem;
    color: var(--neon-cyan);
}

.k-sic-attesa-titolo[b-ujl69zn2qr] {
    font-size: 1rem;
    font-weight: 800;
    color: #1e293b;
}

.k-sic-attesa-testo[b-ujl69zn2qr] {
    font-size: 0.88rem;
    color: #64748b;
}

/* Accesso riservato (utente non admin): come il riquadro di attesa, con il lucchetto arancio */
.k-sic-riservato[b-ujl69zn2qr] {
    display: flex;
    align-items: center;
    gap: 18px;
}

.k-sic-riservato-icona[b-ujl69zn2qr] {
    width: 48px;
    height: 48px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(217, 119, 6, 0.1);
    color: #d97706;
    font-size: 1.3rem;
}

/* ===== avvisi: uno stile solo, il colore dice la gravita' ===== */
.k-avviso[b-ujl69zn2qr] {
    display: flex;
    align-items: center;
    gap: 10px 12px;
    padding: 12px 16px;
    border-radius: 8px;
    border-left: 4px solid;
    font-size: 0.85rem;
    font-weight: 600;
    line-height: 1.5;
    color: #334155;
}

.k-avviso > i[b-ujl69zn2qr] {
    font-size: 1.1rem;
    flex-shrink: 0;
}

.k-avviso-info[b-ujl69zn2qr] {
    background: rgba(6, 182, 212, 0.06);
    border-left-color: var(--neon-cyan);
}

.k-avviso-info > i[b-ujl69zn2qr] {
    color: var(--neon-cyan);
}

.k-avviso-attenzione[b-ujl69zn2qr] {
    background: rgba(245, 158, 11, 0.06);
    border-left-color: #f59e0b;
}

.k-avviso-attenzione > i[b-ujl69zn2qr] {
    color: #f59e0b;
}

/* ===== telefono ===== */
@media (max-width: 575.98px) {
    .k-sic-hero[b-ujl69zn2qr] {
        padding: 22px 18px;
    }

    .k-sic-card[b-ujl69zn2qr] {
        padding: 20px 18px;
    }

    .k-sic-titolo[b-ujl69zn2qr] {
        font-size: 1.45rem;
    }

    .k-sic-targa .plate-box[b-ujl69zn2qr] {
        width: 100%;
    }

    .k-sic-kpi-valore:not(.k-sic-kpi-testo)[b-ujl69zn2qr] {
        font-size: 1.25rem;
    }
}
/* _content/WebApp/Components/Pages/Steps/Step1_prodotto.razor.rz.scp.css */
/* Card dei tipi di veicolo: quella bloccata per l'utenza resta visibile ma spenta e non cliccabile */
.k-prodotto[b-bbz9amnmhh] {
    position: relative;
    cursor: pointer;
}

.k-prodotto-descrizione[b-bbz9amnmhh] {
    font-size: 0.8rem;
    color: var(--text-dim);
}

.k-prodotto-bloccato[b-bbz9amnmhh] {
    cursor: not-allowed;
    opacity: 0.45;
    filter: grayscale(1);
}

/* niente effetto al passaggio del mouse (task-item lo alza e colora il bordo) */
.k-prodotto-bloccato:hover[b-bbz9amnmhh] {
    transform: none;
    box-shadow: none;
}

.k-prodotto-lucchetto[b-bbz9amnmhh] {
    position: absolute;
    top: 12px;
    right: 14px;
    color: var(--text-dim);
    font-size: 0.95rem;
}

/* tutti i tipi bloccati */
.k-prodotti-nessuno[b-bbz9amnmhh] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-radius: 8px;
    border-left: 4px solid #f59e0b;
    background: rgba(245, 158, 11, 0.06);
    color: var(--text-main);
    font-size: 0.85rem;
    font-weight: 600;
}

.k-prodotti-nessuno > i[b-bbz9amnmhh] {
    color: #f59e0b;
}
/* _content/WebApp/Components/Pages/Steps/Step5_page.razor.rz.scp.css */
/* Avviso come quelli del preventivo veloce (PreventivoFast_page.razor.css): stesso stile, il colore dice la gravita' */
.k-avviso[b-lgcmxwi1y8] {
    display: flex;
    align-items: center;
    gap: 10px 12px;
    padding: 12px 16px;
    border-radius: 8px;
    border-left: 4px solid;
    font-size: 0.85rem;
    font-weight: 600;
    line-height: 1.5;
    color: var(--text-main); /* leggibile sia nel tema scuro (predefinito) sia in light-mode */
}

.k-avviso > i[b-lgcmxwi1y8] {
    font-size: 1.1rem;
    flex-shrink: 0;
}

.k-avviso-attenzione[b-lgcmxwi1y8] {
    background: rgba(245, 158, 11, 0.06);
    border-left-color: #f59e0b;
}

.k-avviso-attenzione > i[b-lgcmxwi1y8] {
    color: #f59e0b;
}
