/* ==========================================================================
   DESIGN SYSTEM "SAAS ENTERPRISE" - DASHBOARD CANTIERI SIM & PRO
   ========================================================================== */



/* 2. GRIGLIA FLEXBOX CANTIERI (100vh) */
.cantieri-grid {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: calc(100vh - 60px);
    min-height: 0;
    min-width: 0;
    background: #f8fafc;
    padding: 10px 20px;
    font-family: 'Inter', 'Segoe UI', sans-serif;
}
.cantieri-content { flex-grow: 1; overflow-y: auto; overflow-x: hidden; min-height: 0; width: 100%; }

/* --- RIPRISTINO GRIGLIA ORIGINALE BUDGET PRO --- */
.budget-grid { display: flex; gap: 20px; align-items: stretch; flex-grow: 1; min-height: 0; width: 100%; max-width: 100%; overflow: hidden; }

/* 3. KPI CARDS (Dashboard Superiore) */
.kpi-cards-row { display: flex; gap: 15px; }
.kpi-card { background: #ffffff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 15px 20px; display: flex; flex-direction: column; justify-content: center; box-shadow: 0 1px 3px rgba(0,0,0,0.04); transition: transform 0.2s, box-shadow 0.2s; }
.kpi-card:hover { transform: translateY(-2px); box-shadow: 0 4px 6px rgba(0,0,0,0.08); }
.kpi-label { font-size: 11px; text-transform: uppercase; color: #64748b; font-weight: 700; letter-spacing: 0.5px; }
.kpi-value { font-size: 24px; font-weight: 800; color: #0f172a; margin-top: 4px; line-height: 1.2; }
.kpi-highlight { background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%); border-color: #bfdbfe; }
.kpi-highlight .kpi-label { color: #1d4ed8; }
.kpi-highlight .kpi-value { color: #1e3a8a; }

/* Bottoni stile bianco */
.btn-white { background-color: #ffffff; border: 1px solid #cbd5e1; color: #334155; }
.btn-white:hover { background-color: #f8fafc; border-color: #94a3b8; }

/* 4. CARD CANTIERI E TABELLE WRAPPER */
.budget-card { background: #ffffff; border-radius: 8px; border: 1px solid #e2e8f0 !important; overflow: hidden; display: flex; flex-direction: column; }
.budget-card-header { background: #f8fafc; border-bottom: 1px solid #e2e8f0; }
.budget-table-wrapper { width: 100%; max-width: 100%; overflow-x: auto; overflow-y: hidden; min-height: 0; }
.budget-table { width: 100%; border-collapse: separate; border-spacing: 0; }

/* 5. RIGHE E HOVER */
.budget-table tbody tr { transition: background-color 0.2s ease; }
.budget-table tbody tr:hover td { background-color: #f1f5f9 !important; }
.budget-table td { border-bottom: none; padding: 4px 6px; vertical-align: middle; }

/* 6. DATI FINANZIARI BLINDATI E VALUTE */
.budget-table td.money, .budget-table th.fatt-col, .budget-table th.stip-col, .budget-table th.contr-col, .budget-table th.val-unit-col, .budget-table th.cost-unit-col, .cantieri-grid .money {
    text-align: right !important; padding-right: 15px !important; white-space: nowrap !important; font-size: 13.5px; letter-spacing: -0.3px;
}

/* 7. FIX TESTO BLU TOT ORE */
.budget-table th.tot-header { background-color: #e2e8f0 !important; color: #1d4ed8 !important; text-align: center !important; border-left: 2px solid #cbd5e1 !important; border-right: 2px solid #cbd5e1 !important; font-weight: 800 !important; font-size: 11px; }
.budget-table td.tot-col { background-color: #f8fafc !important; color: #1d4ed8 !important; font-weight: 800 !important; font-size: 14px !important; border-left: 2px solid #e2e8f0 !important; border-right: 2px solid #e2e8f0 !important; text-align: center !important; }
.budget-tot-mese td.tot-col, .budget-tot-comp td.tot-col { background-color: transparent !important; border-left: none !important; border-right: none !important; }

/* 8. TESTATE STICKY E TESTI LUNGHI */
.budget-table th { position: sticky; top: 0; background: #f1f5f9; z-index: 10; border-bottom: 2px solid #cbd5e1; font-size: 11px; text-transform: uppercase; color: #475569; padding: 8px 5px; text-align: center; white-space: nowrap; }
.budget-table th.sticky-col-left, .budget-table  { position: sticky; left: 0; z-index: 11; background: #fff; min-width: 160px; max-width: 220px; white-space: normal !important; text-align: left !important; border-right: 2px solid #e2e8f0; font-size: 12px; font-weight: 600; color: #334155; }
.budget-table th.sticky-col-left { z-index: 12; background: #f1f5f9; }
.th-weekend { color: #ef4444 !important; background: #fee2e2 !important; }

/* 9. INPUT CELL (Eleganti e reattivi) */
.cell-input { width: 40px; text-align: center; border: 1px solid transparent; background: transparent; border-radius: 4px; font-size: 13px; color: #0f172a; transition: all 0.2s; }
.cell-input:focus { background: #fff; border-color: #3b82f6; outline: none; box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2); }
.cell-input:hover:not(:focus) { border-color: #cbd5e1; }
.budget-table input::-webkit-outer-spin-button, .budget-table input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* 10. RIGHE TOTALI E BADGE */
.budget-tot-mese td, .budget-tot-comp td { padding-top: 12px !important; padding-bottom: 12px !important; }
.budget-tot-mese td { background: #f8fafc !important; border-top: 2px solid #cbd5e1 !important; }
.budget-tot-comp td { background: #f1f5f9 !important; border-top: 1px solid #cbd5e1 !important; }
.badge-margine-mese { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; font-size: 13px; }
.badge-margine-totale { background: #f0fdf4; color: #166534; border: 1px solid #bbf7d0; font-size: 13px; }
.log-bg-auto { background: #ffffff; }
.log-bg { background: #fdfdfd; font-style: italic; color: #64748b; }

/* 11. MODALE STILE APPLE (Glassmorphism) */
.glass-modal { background: rgba(15, 23, 42, 0.4) !important; backdrop-filter: blur(5px); }
.glass-modal-content { background: #ffffff; border: none; border-radius: 16px; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25); }

/* 12. GESTIONE COLONNE DINAMICHE E PRIVACY */
.hide-fattura .fatt-col, .hide-stipendi .stip-col, .hide-contributi .contr-col, .hide-val-unit .val-unit-col, .hide-cost-unit .cost-unit-col, .hide-riga-tot-comp .budget-tot-comp { display: none !important; }
body.privacy-mode .money span, body.privacy-mode .kpi-value.money, .obfuscated-row .money span { filter: blur(5px); transition: filter 0.3s ease; user-select: none; opacity: 0.6; }
body.privacy-mode .money span:hover { filter: blur(0px); opacity: 1; }



/* ==========================================================================
   HEADER CARD CANTIERI (TOOLBAR DATE E AZIONI MASSIVE)
   ========================================================================== */

.budget-card-header {
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    padding: 10px 15px !important;
    cursor: pointer;
}

/* 1. Date Tool */
.cantiere-dates {
    height: 32px;
    transition: box-shadow 0.2s;
}
.cantiere-dates:hover {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1) !important;
}
.date-input-sleek:focus {
    outline: none !important;
    box-shadow: none !important;
}

/* 2. Assegnazione Massiva Tool */
.mass-assign-group {
    height: 36px;
}
.input-massivo {
    width: 48px !important;
    height: 26px !important;
    text-align: center;
    border: 1px solid #e2e8f0 !important;
    border-radius: 4px;
    font-size: 11px !important;
    font-weight: 600;
    color: #0f172a;
    padding: 0 4px !important;
}
.input-massivo::placeholder {
    color: #94a3b8;
    font-weight: 400;
}
.input-massivo:focus {
    background: #ffffff !important;
    border-color: #3b82f6 !important;
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2) !important;
}

/* Tasto Applica proporzionato */
.btn-massivo {
    height: 26px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 11px !important;
    padding: 0 10px !important;
    line-height: 1;
}

/* Tasto Export Excel */
.btn-success {
    background-color: #10b981;
    border-color: #10b981;
}
.btn-success:hover {
    background-color: #059669;
    border-color: #059669;
}


/* ==========================================================================
   SEZIONE 3: DASHBOARD MAIN (HOME CANTIERI)
   ========================================================================== */

/* Contenitore Principale */
#dashboard-modern {
    background: #f8fafc;
    padding: 25px 30px;
    min-height: calc(100vh - 60px);
    color: #0f172a;
    font-family: 'Inter', 'Segoe UI', sans-serif;
}

/* Titoli Generali */
.title-main { 
    font-weight: 800; 
    color: #0f172a; 
    letter-spacing: -1px; 
    font-size: 2.2rem; 
}

/* Controlli a tendina (Filtri) */
.ctrl-modern {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    color: #334155;
    border-radius: 8px;
    padding: 8px 16px;
    font-weight: 600;
    box-shadow: 0 1px 2px rgba(0,0,0,0.05);
    outline: none;
    transition: all 0.2s;
    cursor: pointer;
}
.ctrl-modern:focus, .ctrl-modern:hover { 
    border-color: #3b82f6; 
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15); 
}

/* Cards (Glassmorphism leggero SaaS) */
#dashboard-modern .glass-card {
    background: #ffffff;
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
    border: 1px solid #e2e8f0;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    height: 100%;
}
#dashboard-modern .glass-card:hover { 
    transform: translateY(-3px); 
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1); 
}
#dashboard-modern .glass-card.mini { 
    padding: 18px; 
    display: flex; 
    align-items: center; 
    justify-content: space-between; 
}

/* Testi e Valori KPI */
#dashboard-modern .lbl {
    color: #64748b;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    display: block;
    margin-bottom: 8px;
}
#dashboard-modern h2 { 
    font-size: 28px; 
    font-weight: 800; 
    margin: 0; 
    color: #0f172a; 
    letter-spacing: -0.5px; 
}
#dashboard-modern h4 { 
    font-size: 20px; 
    font-weight: 800; 
    color: #1e293b; 
    margin: 0; 
    letter-spacing: -0.5px; 
}

/* Icone Colorate Eleganti (Sfondi pastello, icone accese) */
.icon-wrapper {
    width: 48px; 
    height: 48px;
    border-radius: 12px;
    display: flex; 
    align-items: center; 
    justify-content: center;
    font-size: 20px;
    margin-bottom: 0;
    flex-shrink: 0;
}
.icon-blue   { background: #eff6ff; color: #3b82f6; }
.icon-orange { background: #fff7ed; color: #ea580c; }
.icon-green  { background: #f0fdf4; color: #16a34a; }
.icon-purple { background: #faf5ff; color: #9333ea; }
.icon-gray   { background: #f8fafc; color: #64748b; }

/* Tooltip Bootstrap in stile Chiaro/Moderno */
.tooltip-inner {
    background-color: #ffffff !important;
    color: #334155 !important;
    border: 1px solid #e2e8f0;
    text-align: left;
    padding: 12px 16px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    font-size: 12px;
    border-radius: 8px;
    max-width: 250px;
}
.help-icon { 
    color: #94a3b8; 
    cursor: help; 
    margin-left: 5px; 
    font-size: 14px; 
    transition: color 0.2s; 
}
.help-icon:hover { color: #3b82f6; }

/* ==========================================================================
   SEZIONE 2: MODULI BUDGET PRO E SIMULAZIONE
   ========================================================================== */

/* LAYOUT FLUIDO A SCHERMO INTERO */
#budget-pro-container { background: #f4f7f8; padding: 15px 20px; font-family: 'Inter', 'Segoe UI', sans-serif; color: #2d3748; height: calc(100vh - 50px); display: flex; flex-direction: column; overflow: hidden; }

.modern-toolbar { background: #fff; padding: 12px 20px; border-radius: 12px; box-shadow: 0 4px 15px rgba(0,0,0,0.03); margin-bottom: 15px; align-items: center; flex-shrink: 0; }
#budget-pro-container .kpi-card { background: #fff; border-radius: 12px; padding: 12px 15px; box-shadow: 0 4px 15px rgba(0,0,0,0.03); border: 1px solid #e2e8f0; height: 100%; display: flex; flex-direction: column; justify-content: center; }
#budget-pro-container .kpi-title { font-size: 9.5px; font-weight: 700; color: #a0aec0; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 3px; }
#budget-pro-container .kpi-value { font-size: 18px; font-weight: 800; color: #1a202c; }

/* GRIGLIA FLUIDA ORIZZONTALE BUDGET */
.budget-grid { display: flex; gap: 20px; align-items: stretch; flex-grow: 1; min-height: 0; width: 100%; max-width: 100%; overflow: hidden; }

/* COLONNE BUDGET */
.col-spese { flex: 1.3; display: flex; flex-direction: column; min-width: 0; overflow: hidden; } 
.col-cashflow { flex: 0 0 350px !important; width: 350px !important; min-width: 390px !important; max-width: 350px !important; display: flex; flex-direction: column; overflow: hidden; } 
.col-incassi { flex: 1.1; display: flex; flex-direction: column; min-width: 0; overflow: hidden; }

.modern-card { background: #fff; border-radius: 12px; padding: 18px; box-shadow: 0 4px 20px rgba(0,0,0,0.04); border: 1px solid #e2e8f0; margin-bottom: 0; flex-grow: 1; display: flex; flex-direction: column; overflow: hidden; }

/* TABELLE BUDGET (.table-excel) */
.table-scroll-wrapper { flex-grow: 1; overflow-y: auto; overflow-x: auto; margin-top: 5px; padding-bottom: 5px; }
.table-excel { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 13.5px; table-layout: auto; } 
.table-excel th { padding: 12px 6px; font-weight: 700; text-transform: uppercase; text-align: center; color: #4a5568; font-size: 12px; letter-spacing: 0.5px; border-bottom: 2px solid #e2e8f0; position: sticky; top: 0; z-index: 10; background: #fff; white-space: nowrap !important; } 
.table-excel th:first-child { border-top-left-radius: 6px; }
.table-excel th:last-child { border-top-right-radius: 6px; }
.table-excel td { padding: 10px 6px; border-bottom: 1px solid #edf2f7; vertical-align: middle; } 

/* Scrollbar interna stile Mac */
.table-scroll-wrapper::-webkit-scrollbar { height: 8px; width: 8px; }
.table-scroll-wrapper::-webkit-scrollbar-track { background: transparent; }
.table-scroll-wrapper::-webkit-scrollbar-thumb { background-color: #cbd5e0; border-radius: 20px; }

/* Input Budget */
.budget-grid .cell-input, .budget-grid .cell-select { font-size: 13.5px !important; min-width: 60px; color: #2d3748; }

/* FIX CESTINI */
.table-excel tbody tr:not(.cat-header) td:nth-child(1), .table-excel thead th:nth-child(1), .table-excel tfoot td:nth-child(1) { min-width: 40px !important; text-align: center !important; padding: 5px !important; overflow: hidden; }

/* ACCORDION BUDGET (Categorie) */
tr.cat-header td { width: auto !important; max-width: none !important; background: #f8fafc !important; border-top: 10px solid #fff !important; border-bottom: 1px solid #cbd5e0 !important; font-size: 14.5px; font-weight: bold; cursor: pointer; }
tr.cat-header td:first-child { text-align: left !important; padding-left: 15px !important; }
tr.cat-header td:nth-child(2), tr.cat-header td:nth-child(4) { text-align: right !important; padding-right: 15px !important; }
.col-spese tbody tr:not(.cat-header) td { background: #ffffff !important; }
.table-excel tbody tr:not(.cat-header):hover td { background-color: #f1f5f9 !important; transition: background-color 0.2s; }

/* FORZATURE A SINISTRA E DESTRA (Colonne Budget) */
.col-spese tbody tr:not(.cat-header) td:nth-child(2), .col-spese tbody tr:not(.cat-header) td:nth-child(3), .col-spese tbody tr:not(.cat-header) td:nth-child(4) { text-align: left !important; padding-left: 10px !important; white-space: normal !important; min-width: 120px; }
.col-spese th:nth-child(2), .col-spese th:nth-child(3), .col-spese th:nth-child(4) { text-align: left !important; padding-left: 10px !important; }
.col-spese th:nth-child(7), .col-spese tbody tr:not(.cat-header) td:nth-child(7), .col-spese th:nth-child(9), .col-spese tbody tr:not(.cat-header) td:nth-child(9) { text-align: right !important; padding-right: 12px !important; white-space: nowrap !important; font-size: 14px !important; min-width: 85px; }

.col-incassi th:nth-child(4), .col-incassi td:nth-child(4), .col-incassi th:nth-child(5), .col-incassi td:nth-child(5), .col-incassi th:nth-child(6), .col-incassi td:nth-child(6), .col-incassi th:nth-child(7), .col-incassi td:nth-child(7) { text-align: right !important; padding-right: 8px !important; white-space: nowrap !important; font-size: 13.5px !important; min-width: 75px; }
.col-incassi th:nth-child(2), .col-incassi td:nth-child(2) { text-align: left !important; padding-left: 8px !important; white-space: normal !important; min-width: 140px; }

/* RIMOZIONE SFONDI PASTELLO BUDGET */
.th-spese { background: #ffffff !important; color: #2b6cb0 !important; border-bottom: 2px solid #2b6cb0 !important; }
.th-cashflow-out { background: #ffffff !important; color: #c05621 !important; border-bottom: 2px solid #c05621 !important; }
.th-cashflow-in { background: #ffffff !important; color: #2f855a !important; border-bottom: 2px solid #2f855a !important; }
.th-cashflow-prog { background: #ffffff !important; color: #6b46c1 !important; border-bottom: 2px solid #6b46c1 !important; }
.th-incassi { background: #ffffff !important; color: #276749 !important; border-bottom: 2px solid #276749 !important; }
.table-excel tbody tr[style*="background"], .table-excel tbody tr td[style*="background"], tr:not(.cat-header) > td.bg-yellow, tr:not(.cat-header) > td.bg-light-green, tr:not(.cat-header) > td.bg-light-blue { background: #ffffff !important; background-color: #ffffff !important; }
.col-spese tbody tr:not(.cat-header) td:nth-child(8), .col-spese tbody tr:not(.cat-header) td:nth-child(9), .col-spese tfoot td:nth-child(8), .col-spese tfoot td:nth-child(9), .col-spese th:nth-child(8), .col-spese th:nth-child(9), .bg-light-green, .bg-light-blue { background-color: #ffffff !important; border-left: 1px solid #edf2f7 !important; }

/* INPUT E CELLE BUDGET */
.budget-grid input.cell-input.money, .budget-grid .money { text-align: right !important; }
.input-update-risparmio { color: #b45309 !important; font-weight: 800; background: transparent !important; } 
.budget-grid .cell-input { width: 100%; min-width: 20px; border: 1px solid transparent; background: transparent; outline: none; padding: 4px; border-radius: 4px; transition: 0.2s; color: #2d3748; }
.budget-grid .cell-input:focus, .budget-grid .cell-input:hover { background: #fff; border: 1px solid #cbd5e0; box-shadow: 0 0 0 2px rgba(66, 153, 225, 0.1); }
.budget-grid .row-nuova { background: #f8fafc !important; }
tr.scadenziario-day:hover { background-color: #fef08a !important; cursor: pointer; }

/* MODALE SCADENZIARIO BUDGET */
.custom-modal-overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(15, 23, 42, 0.4); backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); z-index: 99999; justify-content: center; align-items: center; font-family: 'Inter', sans-serif; padding: 20px; }
.custom-modal-content { background: #f8fafc; width: 100%; max-width: 850px; border: none; border-radius: 20px; box-shadow: 0 25px 50px -12px rgba(0,0,0,0.25), 0 0 0 1px rgba(0,0,0,0.05); display: flex; flex-direction: column; max-height: 90vh; overflow: hidden; animation: modalIn 0.3s ease-out; }
@keyframes modalIn { from { opacity: 0; transform: scale(0.95) translateY(10px); } to { opacity: 1; transform: scale(1) translateY(0); } }
.custom-modal-header { background: #ffffff; padding: 20px 30px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #e2e8f0; }
.custom-modal-header h5 { color: #0f172a; font-size: 20px; font-weight: 800; letter-spacing: -0.5px; margin: 0; display: flex; align-items: center; }
.badge-data { background: #ebf8ff; color: #2b6cb0; padding: 4px 10px; border-radius: 8px; margin-left: 10px; font-size: 15px; font-weight: 700; border: 1px solid #bae6fd; }
.custom-close-btn { background: #f1f5f9; color: #64748b; width: 36px; height: 36px; display: flex; justify-content: center; align-items: center; border-radius: 10px; font-size: 24px; line-height: 1; cursor: pointer; transition: all 0.2s; }
.custom-close-btn:hover { background: #fee2e2; color: #ef4444; }
.custom-modal-body { padding: 30px; overflow-y: auto; }
.modal-section-title { font-size: 12px; font-weight: 800; letter-spacing: 0.8px; text-transform: uppercase; margin-bottom: 12px; display: flex; align-items: center; }
.title-uscite { color: #b91c1c; }
.title-entrate { color: #15803d; margin-top: 30px; }
.modal-table { width: 100%; background: #ffffff; border-radius: 12px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05), 0 2px 4px -1px rgba(0,0,0,0.03); border: 1px solid #e2e8f0; border-spacing: 0; border-collapse: separate; overflow: hidden; }
.modal-table th { background: #f8fafc; color: #64748b; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; padding: 12px 20px; border-bottom: 1px solid #e2e8f0; }
.modal-table td { padding: 12px 20px; border-bottom: 1px solid #f1f5f9; font-size: 13.5px; color: #334155; vertical-align: middle; }
.modal-table tr:last-child td { border-bottom: none; }
#modal-scad-tot-uscite, #modal-scad-tot-entrate { white-space: nowrap !important; }
.tfoot-uscite td { background: #fef2f2 !important; color: #991b1b !important; border-top: 1px solid #fecaca !important; }
.tfoot-entrate td { background: #f0fdf4 !important; color: #166534 !important; border-top: 1px solid #bbf7d0 !important; }
.custom-modal-body h6 { font-size: 13px; font-weight: 800; letter-spacing: 0.5px; text-transform: uppercase; margin-bottom: 15px; }
.custom-modal-body .table-excel { background: #fff; border-radius: 10px; box-shadow: 0 2px 5px rgba(0,0,0,0.02); border-collapse: separate; overflow: hidden; margin-bottom: 30px; border: 1px solid #e2e8f0; }
.custom-modal-body .table-excel th { background: #f1f5f9 !important; border-bottom: 1px solid #e2e8f0 !important; color: #475569 !important; padding: 12px 15px; font-size: 11.5px; }
.custom-modal-body .table-excel td { padding: 12px 15px; border-bottom: 1px solid #f8fafc; font-size: 13px; color: #334155; }
.custom-modal-body .table-excel tfoot td { background: #ffffff !important; border-top: 2px solid #e2e8f0; font-size: 14.5px; }

/* ==========================================================================
   TARIFFE PERSONALIZZATE (Hover e Click sui nomi dipendenti)
   ========================================================================== */
.budget-table td.tec-name {
    cursor: pointer !important; /* <--- LA MANINA! */
    transition: all 0.2s ease;
}
.budget-table td.tec-name:hover {
    background-color: #eff6ff !important;
    color: #2563eb !important;
}
.budget-table td.tec-name::after {
    content: '\f044';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    float: right;
    opacity: 0;
    color: #3b82f6;
    transition: opacity 0.2s;
}
.budget-table td.tec-name:hover::after {
    opacity: 1;
}

