/* ═══════════════════════════════════════════════════════════════════════
   hub-v2.css — FLAC Hub nello stile dei siti e del totem (2026-10-12).

   SOLO ASPETTO: nessuna funzione toccata. Si accende con la classe «fh-v2» su <html>
   (inc/mainhead.php, cookie fh_v2 che all'inizio può attivare solo il superadmin da
   master/?v2=1, spegnere con ?v2=0). Senza la classe il Hub resta identico a prima.

   Scelta d'impianto (concordata con Lucio): guscio scuro (fondo, dock, barra in alto),
   AREA DI LAVORO CHIARA — su tutte le pagine il contenuto sta su un «foglio» chiaro
   arrotondato, così le 130+ pagine con colori scritti a mano restano leggibili. La sola
   dashboard (master/index.php) è aperta sul fondo scuro, con i blocchi su schede chiare.
   ═══════════════════════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap');

html.fh-v2 { --v2-dark: #0c0e1e; --v2-viola: #5e17eb; --v2-rosa: #db2777; --v2-oro: #f6c56e; --v2-az: #22d3ee; --v2-glass: rgba(20,18,44,.72); background: #0c0e1e; }
html.fh-v2 body { background: transparent !important; font-family: 'Plus Jakarta Sans', 'Nunito', system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
/* la luce che si muove sul fondo, come sui siti */
html.fh-v2 body::before { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
    background: radial-gradient(60vmax 60vmax at -5% -15%, rgba(94,23,235,.55), transparent 60%),
                radial-gradient(50vmax 50vmax at 105% 40%, rgba(219,39,119,.30), transparent 60%),
                radial-gradient(40vmax 40vmax at 40% 110%, rgba(94,23,235,.25), transparent 60%);
    animation: v2Aur 18s ease-in-out infinite alternate; }
@keyframes v2Aur { to { transform: translate(3vmax, 2vmax) scale(1.06); } }
html.fh-v2 .fh-main { background: transparent !important; }

/* ═══ IL DOCK (menù) ═══ */
html.fh-v2 .fh-sidebar { background: rgba(16,14,36,.86) !important; -webkit-backdrop-filter: blur(20px) saturate(140%); backdrop-filter: blur(20px) saturate(140%); border-color: rgba(255,255,255,.1) !important; box-shadow: 0 20px 50px rgba(0,0,0,.45) !important; }
html.fh-v2 .fh-nav-link { color: rgba(255,255,255,.72); }
html.fh-v2 .fh-nav-link:hover { background: rgba(255,255,255,.08); color: #fff; }
/* ogni voce ha la sua tessera colorata, come i pulsanti del totem */
html.fh-v2 .fh-nav > .fh-nav-link > i, html.fh-v2 .fh-sidebar-foot .fh-nav-link > i { display: inline-flex; align-items: center; justify-content: center; color: #fff;
    background-image: linear-gradient(150deg, rgba(255,255,255,.25), transparent 55%); background-color: var(--v2c, #7c3aed); box-shadow: 0 4px 12px rgba(0,0,0,.3); border-radius: 9px; }
html.fh-v2 .fh-nav > .fh-nav-link:nth-of-type(10n+1) { --v2c: #7c3aed; }
html.fh-v2 .fh-nav > .fh-nav-link:nth-of-type(10n+2) { --v2c: #db2777; }
html.fh-v2 .fh-nav > .fh-nav-link:nth-of-type(10n+3) { --v2c: #f59e0b; }
html.fh-v2 .fh-nav > .fh-nav-link:nth-of-type(10n+4) { --v2c: #0ea5e9; }
html.fh-v2 .fh-nav > .fh-nav-link:nth-of-type(10n+5) { --v2c: #16a34a; }
html.fh-v2 .fh-nav > .fh-nav-link:nth-of-type(10n+6) { --v2c: #e11d48; }
html.fh-v2 .fh-nav > .fh-nav-link:nth-of-type(10n+7) { --v2c: #8b5cf6; }
html.fh-v2 .fh-nav > .fh-nav-link:nth-of-type(10n+8) { --v2c: #06b6d4; }
html.fh-v2 .fh-nav > .fh-nav-link:nth-of-type(10n+9) { --v2c: #f97316; }
html.fh-v2 .fh-nav > .fh-nav-link:nth-of-type(10n+10) { --v2c: #14b8a6; }
html.fh-v2 .fh-nav > .fh-nav-link.fh-more, html.fh-v2 .fh-sidebar-foot .fh-nav-link { --v2c: #475569; }
html.fh-v2 .fh-nav-link.active { background: rgba(255,255,255,.1) !important; color: #fff; box-shadow: none !important; }
html.fh-v2 .fh-nav-link.active > i { box-shadow: 0 0 0 2px #fff, 0 0 18px rgba(219,39,119,.8) !important; }
html.fh-v2 .fh-nav-sec { color: var(--v2-oro) !important; letter-spacing: .14em; }
html.fh-v2 .fh-brand-top .accent { color: #f9a8d4; }
html.fh-v2 .fh-nav-extra { background: rgba(16,14,36,.97) !important; border-color: rgba(255,255,255,.12) !important; }
/* sidebar verticale (dock a sinistra/destra): icone quadrate a sinistra del testo */
html.fh-v2:not([data-dock="top"]):not([data-dock="bottom"]) .fh-nav > .fh-nav-link > i,
html.fh-v2 .fh-nav-extra .fh-nav-link > i { width: 28px !important; height: 28px; font-size: 14px !important; flex: 0 0 28px; }
@media (min-width: 993px) {
    /* dock orizzontale: la tessera riempie il tasto */
    html.fh-v2[data-dock="top"] .fh-nav > .fh-nav-link, html.fh-v2[data-dock="bottom"] .fh-nav > .fh-nav-link,
    html.fh-v2[data-dock="top"] .fh-sidebar-foot .fh-nav-link, html.fh-v2[data-dock="bottom"] .fh-sidebar-foot .fh-nav-link { background: transparent !important; }
    html.fh-v2[data-dock="top"] .fh-nav > .fh-nav-link > i, html.fh-v2[data-dock="bottom"] .fh-nav > .fh-nav-link > i,
    html.fh-v2[data-dock="top"] .fh-sidebar-foot .fh-nav-link > i, html.fh-v2[data-dock="bottom"] .fh-sidebar-foot .fh-nav-link > i { width: 40px !important; height: 40px; font-size: 19px !important; border-radius: 12px; }
    html.fh-v2[data-dock="top"] .fh-nav-link span:not(.lock), html.fh-v2[data-dock="bottom"] .fh-nav-link span:not(.lock) { background: rgba(16,14,36,.96) !important; border: 1px solid rgba(255,255,255,.14); font-family: inherit; }
    html.fh-v2[data-dock="top"] .fh-nav-extra .fh-nav-link > i, html.fh-v2[data-dock="bottom"] .fh-nav-extra .fh-nav-link > i { width: 28px !important; height: 28px; font-size: 14px !important; }
}

/* ═══ LA BARRA IN ALTO ═══ */
html.fh-v2 .fh-topbar { background: rgba(16,14,36,.78) !important; border: 1px solid rgba(255,255,255,.1) !important; -webkit-backdrop-filter: blur(18px) saturate(140%); backdrop-filter: blur(18px) saturate(140%); box-shadow: 0 18px 40px rgba(0,0,0,.4) !important; color: #fff; }
html.fh-v2 .fh-topbar h1, html.fh-v2 .fh-brand-tx { color: #fff !important; }
html.fh-v2 .fh-brand-tx b { background: linear-gradient(90deg, var(--v2-oro), #f9a8d4); -webkit-background-clip: text; background-clip: text; color: transparent !important; }
html.fh-v2 .fh-topbar .sub, html.fh-v2 .fh-clock-d, html.fh-v2 .fh-clock-s { color: rgba(255,255,255,.6) !important; }
html.fh-v2 .fh-clock-t { color: #fff !important; }
html.fh-v2 .fh-navbtn-back { background: linear-gradient(135deg, var(--v2-viola), var(--v2-rosa)) !important; }
html.fh-v2 .fh-navbtn-fwd { background: rgba(255,255,255,.08) !important; color: #fff !important; box-shadow: inset 0 0 0 1px rgba(255,255,255,.14) !important; }
html.fh-v2 .fh-topbar-right > a, html.fh-v2 .fh-topbar-right > button, html.fh-v2 .fh-searchbtn, html.fh-v2 .fh-bell, html.fh-v2 .fh-daybtn, html.fh-v2 .fh-dockbtn, html.fh-v2 .fh-collapse-btn, html.fh-v2 .fh-burger {
    background: rgba(255,255,255,.07) !important; color: #fff !important; border: 1px solid rgba(255,255,255,.12) !important; box-shadow: none !important; }
html.fh-v2 .fh-daybtn { border-radius: 99px !important; }
html.fh-v2 .fh-bell-badge { background: var(--v2-rosa) !important; border-color: #14122b !important; }
html.fh-v2 .fh-avatar { box-shadow: 0 0 0 2px rgba(255,255,255,.25), 0 0 16px rgba(219,39,119,.5) !important; }
/* i menù a tendina della barra: vetro scuro */
html.fh-v2 .fh-bellmenu, html.fh-v2 .fh-usermenu, html.fh-v2 .fh-dockmenu { background: rgba(18,16,40,.97) !important; color: #f2f2f7 !important; border: 1px solid rgba(255,255,255,.12) !important; box-shadow: 0 24px 60px rgba(0,0,0,.55) !important; }
html.fh-v2 .fh-bellmenu *, html.fh-v2 .fh-usermenu *, html.fh-v2 .fh-dockmenu * { border-color: rgba(255,255,255,.08) !important; }
html.fh-v2 .fh-bellmenu a, html.fh-v2 .fh-usermenu a, html.fh-v2 .fh-dockmenu button, html.fh-v2 .fh-bn-t, html.fh-v2 .fh-bellmenu-h { color: #f2f2f7 !important; background: transparent; }
html.fh-v2 .fh-bn-b, html.fh-v2 .fh-bn-m { color: rgba(255,255,255,.62) !important; }
html.fh-v2 .fh-usermenu a:hover, html.fh-v2 .fh-bellmenu a:hover, html.fh-v2 .fh-dockmenu button:hover { background: rgba(255,255,255,.07) !important; }
/* la ricerca ⌘K */
html.fh-v2 .fh-spot-panel { background: rgba(18,16,40,.97) !important; border: 1px solid rgba(255,255,255,.14) !important; color: #fff; }
html.fh-v2 .fh-spot-in input { color: #fff !important; background: transparent !important; }

/* ═══ L'AREA DI LAVORO: un foglio chiaro su tutte le pagine ═══ */
html.fh-v2 .fh-content { position: relative; background: #f5f3fb; border-radius: 28px; margin: 6px 18px 24px; box-shadow: 0 30px 80px rgba(0,0,0,.35); }
@media (max-width: 992px) { html.fh-v2 .fh-content { margin: 6px 8px 16px; border-radius: 20px; } }
html.fh-v2 .fh-card { border-radius: 20px !important; }
html.fh-v2 .btn-primary { background: linear-gradient(90deg, var(--v2-viola), var(--v2-rosa)) !important; border: 0 !important; border-radius: 99px; }

/* ═══ LA DASHBOARD (master/index.php): aperta sul fondo scuro ═══ */
html.fh-v2 .fh-pg-dash .fh-content { background: transparent; box-shadow: none; }
html.fh-v2 .fh-pg-dash .fh-content > :not(.hb-box):not(.hb-oggi):not(.hb-chan):not(script):not(style) { color: #f2f2f7; }
/* «Oggi»: le tessere colorate del totem */
html.fh-v2 .hb-oggi { gap: 14px !important; }
html.fh-v2 .hb-o { position: relative; overflow: hidden; flex-direction: column; align-items: flex-start !important; gap: 4px !important; padding: 16px 18px !important; border-radius: 22px !important; border: 0 !important; color: #fff !important;
    background-image: linear-gradient(150deg, rgba(255,255,255,.22), transparent 45%, rgba(20,14,48,.55)) !important; background-color: var(--oc, #7c3aed) !important;
    box-shadow: 0 16px 34px rgba(0,0,0,.32) !important; transition: transform .25s, box-shadow .25s !important; }
html.fh-v2 .hb-o::before { content: ""; position: absolute; top: 0; left: -60%; width: 40%; height: 100%; background: linear-gradient(100deg, transparent, rgba(255,255,255,.25), transparent); transform: skewX(-15deg); transition: left .6s; }
html.fh-v2 .hb-o:hover { transform: translateY(-6px) rotate(-.8deg) !important; box-shadow: 0 26px 50px rgba(0,0,0,.4) !important; color: #fff !important; }
html.fh-v2 .hb-o:hover::before { left: 130%; }
html.fh-v2 .hb-o > span:first-child { width: 42px; height: 42px; border-radius: 13px; background: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 20px !important; margin-bottom: 8px; box-shadow: 0 8px 18px rgba(0,0,0,.2); }
html.fh-v2 .hb-o .n { color: #fff !important; font-size: 36px !important; letter-spacing: -.03em; }
html.fh-v2 .hb-o .l { color: #fff !important; font-size: 13.5px !important; }
html.fh-v2 .hb-o.hot::after { content: ""; position: absolute; top: 18px; right: 18px; width: 12px; height: 12px; border-radius: 50%; background: #fff; animation: v2Ping 1.6s infinite; }
@keyframes v2Ping { 0% { box-shadow: 0 0 0 0 rgba(255,255,255,.7); } 100% { box-shadow: 0 0 0 14px rgba(255,255,255,0); } }
html.fh-v2 .hb-o.hot { box-shadow: 0 16px 34px rgba(0,0,0,.32) !important; }
html.fh-v2 .hb-o.zero { opacity: .5; background-color: #2a2843 !important; }
/* i box per area: vetro scuro, aperti hanno il bordo di luce che gira e dentro il foglio chiaro */
html.fh-v2 .hb-box { background: var(--v2-glass) !important; border: 1px solid rgba(255,255,255,.1) !important; border-radius: 24px !important; -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); box-shadow: 0 18px 44px rgba(0,0,0,.3); margin-bottom: 14px !important; }
html.fh-v2 .hb-head { color: #fff !important; border-radius: 24px !important; padding: 16px 20px !important; }
html.fh-v2 .hb-head:hover { background: rgba(255,255,255,.05) !important; }
html.fh-v2 .hb-ic { width: 48px !important; height: 48px !important; border-radius: 15px !important; color: #fff; box-shadow: 0 10px 22px rgba(0,0,0,.3);
    background-image: linear-gradient(150deg, rgba(255,255,255,.25), transparent 55%) !important; background-color: var(--v2bc, #7c3aed) !important; }
html.fh-v2 #hb-lead { --v2bc: #db2777; } html.fh-v2 #hb-numeri { --v2bc: #16a34a; } html.fh-v2 #hb-squadra { --v2bc: #0ea5e9; }
html.fh-v2 #hb-rete { --v2bc: #f59e0b; } html.fh-v2 #hb-sv { --v2bc: #06b6d4; } html.fh-v2 #hb-ai { --v2bc: #8b5cf6; } html.fh-v2 #hb-tools { --v2bc: #e11d48; }
html.fh-v2 .hb-t { font-size: 17px !important; }
html.fh-v2 .hb-s { color: rgba(255,255,255,.65) !important; }
html.fh-v2 .hb-ch { color: rgba(255,255,255,.5) !important; }
html.fh-v2 .hb-dot { background: var(--v2-rosa) !important; box-shadow: none !important; animation: v2PingR 1.6s infinite; }
@keyframes v2PingR { 0% { box-shadow: 0 0 0 0 rgba(219,39,119,.7); } 100% { box-shadow: 0 0 0 12px rgba(219,39,119,0); } }
@property --v2ang { syntax: '<angle>'; initial-value: 0deg; inherits: false; }
@keyframes v2Gira { to { --v2ang: 360deg; } }
html.fh-v2 .hb-box.open { border: 0 !important; background: rgba(16,14,36,.94) !important; isolation: isolate; }
html.fh-v2 .hb-box.open::before { content: ""; position: absolute; inset: -2px; border-radius: 26px; z-index: -1; background: conic-gradient(from var(--v2ang), #5e17eb, #db2777, #f6c56e, #22d3ee, #5e17eb); animation: v2Gira 8s linear infinite; }
html.fh-v2 .hb-box.open::after { content: ""; position: absolute; inset: 0; border-radius: 24px; z-index: -1; background: rgba(16,14,36,.96); }
html.fh-v2 .hb-box { position: relative; }
html.fh-v2 .hb-box.open .hb-body { background: #f5f3fb; border-radius: 20px; margin: 0 12px 12px; padding: 14px !important; color: #2a2342; }
@media (max-width: 900px) {
    html.fh-v2 .hb-o { flex: 1 1 calc(50% - 8px) !important; }
    html.fh-v2 .hb-box.open .hb-body { margin: 0 6px 6px; padding: 10px !important; }
}

/* ═══ SCHERMI GRANDI ═══ */
@media (min-width: 1900px) { html.fh-v2 .fh-content, html.fh-v2 .fh-topbar { zoom: 1.12; } }
@media (min-width: 2900px) { html.fh-v2 .fh-content, html.fh-v2 .fh-topbar { zoom: 1.35; } }
@media (prefers-reduced-motion: reduce) { html.fh-v2 body::before, html.fh-v2 .hb-box.open::before { animation: none; } }

/* etichette del dock: si vedono solo passandoci sopra (prima a volte restavano disegnate sotto le icone) */
@media (min-width: 993px) {
    html.fh-v2[data-dock="top"] .fh-nav > .fh-nav-link > span:not(.lock), html.fh-v2[data-dock="bottom"] .fh-nav > .fh-nav-link > span:not(.lock) { visibility: hidden; }
    html.fh-v2[data-dock="top"] .fh-nav > .fh-nav-link:hover > span:not(.lock), html.fh-v2[data-dock="bottom"] .fh-nav > .fh-nav-link:hover > span:not(.lock) { visibility: visible; }
}

/* ═══════════════════════════════════════════════════════════════════════
   TELEFONO (≤ 992 px) — tutto il Hub usabile col pollice, niente pagina più
   larga dello schermo. Nessuna funzione tolta: i pulsanti «da computer»
   (avanti/indietro, comprimi menù, posizione del dock, orologio) spariscono solo
   qui perché sul telefono non servono; le azioni della pagina vanno a capo.
   ═══════════════════════════════════════════════════════════════════════ */
@media (max-width: 992px) {
    html.fh-v2 body { overflow-x: hidden; }
    html.fh-v2 .fh-main { min-width: 0; max-width: 100vw; }
    /* barra in alto: una riga essenziale + le azioni della pagina sotto */
    html.fh-v2 .fh-topbar { flex-wrap: wrap; row-gap: 8px; margin: 8px !important; padding: 8px 10px !important; border-radius: 18px !important; min-height: 0 !important; }
    html.fh-v2 .fh-navbtns, html.fh-v2 .fh-collapse-btn, html.fh-v2 .fh-dockwrap, html.fh-v2 .fh-clock, html.fh-v2 .fh-presence { display: none !important; }
    html.fh-v2 .fh-brand .fh-logo-svg { width: 40px !important; height: 40px !important; margin: -4px 0 !important; }
    html.fh-v2 .fh-daybtn { font-size: 0 !important; width: 40px; height: 40px; padding: 0 !important; display: inline-flex !important; align-items: center; justify-content: center; }
    html.fh-v2 .fh-daybtn i { font-size: 17px !important; }
    html.fh-v2 .fh-searchbtn span, html.fh-v2 .fh-searchbtn kbd { display: none !important; }
    html.fh-v2 .fh-searchbtn { width: 40px; height: 40px; padding: 0 !important; justify-content: center; }
    html.fh-v2 .fh-topbar-right { margin-left: auto; gap: 6px !important; }
    html.fh-v2 .fh-topbar > .fh-gap-2 { order: 20; flex: 1 1 100%; margin: 0 !important; overflow-x: auto; flex-wrap: nowrap; gap: 6px; padding-bottom: 2px; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
    html.fh-v2 .fh-topbar > .fh-gap-2 > * { flex: 0 0 auto; white-space: nowrap; }
    /* i contenuti non sfondano più lo schermo */
    html.fh-v2 .fh-content { overflow-x: hidden; }
    html.fh-v2 .fh-content table { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
    html.fh-v2 .fh-content .pagination { flex-wrap: wrap; gap: 4px; }
    html.fh-v2 .fh-content .d-flex:not(.flex-nowrap) { flex-wrap: wrap; }
    html.fh-v2 .fh-content .row > [class*="col"] { min-width: 0; }
    html.fh-v2 .fh-content img, html.fh-v2 .fh-content iframe, html.fh-v2 .fh-content video { max-width: 100%; }
    /* l'anteprima degli schermi è un iframe grande quanto la TV vera (1920×1080) e rimpicciolito con transform: non va stretto,
       se no il monitor dentro si impagina come un telefono e diventa una colonnina illeggibile */
    html.fh-v2 .fh-content .ta-screen iframe { max-width: none !important; }
    html.fh-v2 .lncard { overflow: hidden; }
    html.fh-v2 .fh-card, html.fh-v2 .hb-blk { min-width: 0; max-width: 100%; }
    /* campi e pulsanti a misura di pollice (16 px = niente zoom automatico su iPhone) */
    html.fh-v2 .fh-content input:not([type=checkbox]):not([type=radio]), html.fh-v2 .fh-content select, html.fh-v2 .fh-content textarea { font-size: 16px !important; min-height: 44px; }
    html.fh-v2 .fh-content .btn { min-height: 40px; }
    html.fh-v2 .modal-dialog { margin: 10px !important; max-width: calc(100vw - 20px) !important; }
    html.fh-v2 .modal-content { border-radius: 20px !important; }
    /* la barra in basso (Oggi · Lead · WhatsApp · Avvisi · Menu): vetro scuro */
    html.fh-v2 .fh-tabbar { background: rgba(16,14,36,.94) !important; border-top: 1px solid rgba(255,255,255,.1) !important; -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); box-shadow: 0 -10px 30px rgba(0,0,0,.4) !important; }
    html.fh-v2 .fh-tab { color: rgba(255,255,255,.6) !important; }
    html.fh-v2 .fh-tab.active { color: #fff !important; }
    html.fh-v2 .fh-tab.active i { color: var(--v2-oro); text-shadow: 0 0 12px rgba(246,197,110,.6); }
    html.fh-v2 .fh-tab:active { background: rgba(255,255,255,.08) !important; }
    /* il menù laterale a scomparsa */
    html.fh-v2 .fh-sidebar { max-width: 86vw; }
}
@media (max-width: 992px) {
    /* il marchio torna nella barra (prima su telefono spariva): esagono + «FLAC Hub» */
    html.fh-v2 .fh-brand { display: inline-flex !important; margin: 0 2px !important; }
    html.fh-v2 .fh-brand-tx { display: inline !important; font-size: 15px; }
    html.fh-v2 .fh-burger { width: 40px; height: 40px; border-radius: 12px !important; justify-content: center; align-items: center; font-size: 20px !important; }
    /* la griglia «Sezioni» della home: etichette leggibili sul fondo scuro */
    html.fh-v2 .fh-pg-dash .fh-app-lbl { color: rgba(255,255,255,.85) !important; }
    html.fh-v2 .fh-pg-dash .fh-appgrid-h { color: var(--v2-oro) !important; letter-spacing: .16em; }
}
/* gli inviti «Installa l'app» / «Attiva le notifiche» (inc/pwa_head.php): stesso vetro del login */
html.fh-v2 #fhPushChip, html.fh-v2 #fhInstall { background: rgba(20,18,44,.95) !important; border: 1px solid rgba(255,255,255,.14) !important; border-radius: 20px !important; box-shadow: 0 20px 50px rgba(0,0,0,.55) !important; font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important; -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
html.fh-v2 #fhPushChip > div:first-child, html.fh-v2 #fhInstall > div:first-child { color: #fff !important; }
html.fh-v2 #fhPushChip > div:nth-child(2), html.fh-v2 #fhInstall > div:nth-child(2) { color: rgba(255,255,255,.7) !important; }
html.fh-v2 #fhPushYes, html.fh-v2 #fhInstYes, html.fh-v2 #fhInstOk { background: linear-gradient(90deg,#5e17eb,#db2777) !important; border-radius: 99px !important; }
html.fh-v2 #fhPushNo, html.fh-v2 #fhInstNo { background: rgba(255,255,255,.08) !important; color: rgba(255,255,255,.75) !important; border-radius: 99px !important; }
@media (max-width: 992px) {
    /* barra in alto in due righe: [menu · marchio · ricerca · campanella · profilo] e sotto [Giornata · azioni della pagina] */
    html.fh-v2 .fh-daybtn { order: 19; }
    html.fh-v2 .fh-topbar > .fh-gap-2 { flex: 1 1 0 !important; min-width: 0; }
    html.fh-v2 .fh-topbar-right { order: 10; }
}
/* il pulsante «posizione del menù» è solo icona: l'icona c'era ma con la barra compatta finiva a dimensione 0 */
html.fh-v2 .fh-dockbtn { width: 40px; height: 40px; padding: 0 !important; justify-content: center; border-radius: 12px !important; }
html.fh-v2 .fh-dockbtn > i:first-child { font-size: 17px !important; }
html.fh-v2 .fh-dockbtn > i + i { display: none; }
/* menù laterale (dock a sinistra/destra): il marchio in alto nei colori nuovi */
html.fh-v2 .fh-brand-top .hex { color: var(--v2-oro); text-shadow: 0 0 12px rgba(246,197,110,.6); }
html.fh-v2 .fh-sidebar-foot { border-top-color: rgba(255,255,255,.08) !important; }
/* l'icona «bi-grid-1x2-gap-fill» non esiste nella versione di Bootstrap Icons del Hub: il pulsante era vuoto. Uso quella più vicina. */
html.fh-v2 .fh-dockbtn > i.bi-grid-1x2-gap-fill::before { content: "\f3f3"; }

/* ═══════════════════════════════════════════════════════════════════════
   DASHBOARD — l'apertura del prototipo (inc/dash_v2_hero.php)
   ═══════════════════════════════════════════════════════════════════════ */
@keyframes v2Su { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }
@keyframes v2Pulsa { 50% { opacity: .35; } }
html.fh-v2 .fh-pg-dash .fh-welcome { display: none !important; }   /* il saluto è nell'apertura (la frase del giorno ci finisce dentro) */
html.fh-v2 .v2d { display: grid; grid-template-columns: repeat(12, 1fr); gap: 16px; margin: 0 0 16px; color: #f2f2f7; }
html.fh-v2 .v2-glass { position: relative; border-radius: 28px; background: rgba(22,20,46,.72); border: 1px solid rgba(255,255,255,.09); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); box-shadow: 0 20px 50px rgba(0,0,0,.28); animation: v2Su .7s both; }
html.fh-v2 .v2-hero { grid-column: span 8; padding: 30px 32px; overflow: hidden; display: grid; grid-template-columns: 1fr 190px; gap: 24px; align-items: center; }
html.fh-v2 .v2-hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(60% 90% at 0% 0%, rgba(94,23,235,.45), transparent 60%), radial-gradient(50% 80% at 100% 100%, rgba(219,39,119,.25), transparent 60%); }
html.fh-v2 .v2-hero > * { position: relative; min-width: 0; }
html.fh-v2 .v2-kick { display: inline-flex; align-items: center; gap: 8px; font-size: 11.5px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: #f6c56e; border: 1px solid rgba(246,197,110,.4); background: rgba(246,197,110,.1); padding: 6px 14px; border-radius: 99px; }
html.fh-v2 .v2-kick b { width: 7px; height: 7px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 4px rgba(34,197,94,.25); animation: v2Pulsa 1.6s infinite; }
html.fh-v2 .v2-h1 { margin: 14px 0 6px; font-family: inherit; font-size: clamp(32px, 3.4vw, 50px); font-weight: 800; letter-spacing: -.04em; line-height: 1.02; color: #fff; }
html.fh-v2 .v2-h1 .pw { display: inline-block; white-space: nowrap; }
html.fh-v2 .v2-h1 .ch { display: inline-block; opacity: 0; transform: translateY(36px) rotate(8deg) scale(.6); animation: v2Lettera .55s cubic-bezier(.2,1.4,.4,1) forwards; animation-delay: calc(.2s + var(--i) * .03s); }
@keyframes v2Lettera { to { opacity: 1; transform: none; } }
html.fh-v2 .v2-h1 em { font-style: normal; color: #f6c56e; }
html.fh-v2 .v2-h1 em .ch { color: #f6c56e; }
html.fh-v2 .v2-h1 em .ch:last-child { color: #f9a8d4; }
html.fh-v2 .v2-hsub { margin: 0 0 20px; font-size: 15.5px; color: rgba(255,255,255,.72); }
html.fh-v2 .v2-focus { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 20px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); color: #fff !important; text-decoration: none !important; transition: background .2s, transform .2s; }
html.fh-v2 a.v2-focus:hover { background: rgba(255,255,255,.11); transform: translateY(-2px); }
html.fh-v2 .v2-fi { width: 48px; height: 48px; border-radius: 15px; flex: none; display: flex; align-items: center; justify-content: center; font-size: 21px; color: #fff; background-image: linear-gradient(140deg, rgba(255,255,255,.25), transparent 60%); background-color: var(--c); box-shadow: 0 10px 24px rgba(0,0,0,.3); }
html.fh-v2 .v2-ft { min-width: 0; }
html.fh-v2 .v2-ft small { display: block; font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #86efac; }
html.fh-v2 .v2-ft b { display: block; font-size: 16.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html.fh-v2 .v2-ft span { font-size: 13px; color: rgba(255,255,255,.65); }
html.fh-v2 .v2-go { margin-left: auto; flex: none; display: inline-flex; align-items: center; gap: 7px; padding: 11px 18px; border-radius: 99px; font-weight: 800; font-size: 14px; background: linear-gradient(90deg, #5e17eb, #db2777); box-shadow: 0 10px 26px rgba(219,39,119,.4); }
html.fh-v2 .v2-ring { position: relative; width: 190px; height: 190px; }
html.fh-v2 .v2-ring svg { width: 100%; height: 100%; transform: rotate(-90deg); }
html.fh-v2 .v2-ring .tr { fill: none; stroke: rgba(255,255,255,.08); stroke-width: 14; }
html.fh-v2 .v2-ring .pr { fill: none; stroke: url(#v2gRing); stroke-width: 14; stroke-linecap: round; stroke-dasharray: 502; stroke-dashoffset: 502; animation: v2Anello 1.6s .5s cubic-bezier(.2,.8,.2,1) forwards; filter: drop-shadow(0 0 10px rgba(219,39,119,.6)); }
@keyframes v2Anello { to { stroke-dashoffset: calc(502 - 502 * var(--p) / 100); } }
html.fh-v2 .v2-ring .in { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
html.fh-v2 .v2-ring .in b { font-size: 40px; font-weight: 800; line-height: 1; color: #fff; }
html.fh-v2 .v2-ring .in span { font-size: 12px; color: rgba(255,255,255,.65); margin-top: 4px; line-height: 1.3; }
html.fh-v2 .v2-rete { grid-column: span 4; padding: 22px 22px 18px; overflow: hidden; display: flex; flex-direction: column; }
html.fh-v2 .v2-tag { font-size: 11.5px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: #f6c56e; }
html.fh-v2 .v2-rete h3 { margin: 4px 0 2px; font-size: 18px; font-weight: 800; color: #fff; }
html.fh-v2 .v2-sub2 { font-size: 13px; color: rgba(255,255,255,.6); }
html.fh-v2 .v2-rete svg { width: 78%; max-height: 260px; align-self: center; margin: 6px 0 -6px; filter: drop-shadow(0 0 24px rgba(94,23,235,.4)); }
html.fh-v2 .v2-rete .rg { fill: rgba(124,58,237,.1); stroke: rgba(196,181,253,.35); stroke-width: .8; }
html.fh-v2 .v2-rete .rg.hot { fill: url(#v2gHot); stroke: rgba(249,168,212,.8); }
html.fh-v2 .v2-rete .fascio { fill: none; stroke: url(#v2gF); stroke-width: 2.4; stroke-dasharray: 6 10; stroke-linecap: round; animation: v2Corre 1.6s linear infinite; }
@keyframes v2Corre { to { stroke-dashoffset: -32; } }
html.fh-v2 .v2-rete .dot { fill: #fff; filter: drop-shadow(0 0 6px #f9a8d4) drop-shadow(0 0 12px #db2777); }
html.fh-v2 .v2-rete .onda { fill: none; stroke: #f9a8d4; stroke-width: 1.6; transform-box: fill-box; transform-origin: center; animation: v2Onda 2.6s ease-out infinite; }
html.fh-v2 .v2-rete .onda.b { animation-delay: 1.3s; }
@keyframes v2Onda { from { opacity: .9; transform: scale(.4); } to { opacity: 0; transform: scale(3.4); } }
html.fh-v2 .v2-rleg { display: flex; gap: 8px; flex-wrap: wrap; margin-top: auto; }
html.fh-v2 .v2-rleg span { font-size: 12px; font-weight: 700; padding: 5px 10px; border-radius: 99px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.1); color: #fff; }
html.fh-v2 .v2-rleg span b { color: #f6c56e; }
html.fh-v2 .v2-k { grid-column: span 3; padding: 20px 22px; overflow: hidden; min-width: 0; }
html.fh-v2 .v2-k::after { content: ""; position: absolute; right: -40px; top: -40px; width: 150px; height: 150px; border-radius: 50%; background: radial-gradient(closest-side, var(--c), transparent); opacity: .4; pointer-events: none; }
html.fh-v2 .v2-k .ki { position: absolute; right: 18px; top: 18px; width: 38px; height: 38px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 17px; background: var(--c); box-shadow: 0 8px 20px rgba(0,0,0,.3); z-index: 1; }
html.fh-v2 .v2-k small { font-size: 11.5px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.6); }
html.fh-v2 .v2-k > b { display: block; font-size: 44px; font-weight: 800; letter-spacing: -.03em; line-height: 1.05; margin: 8px 0 2px; color: #fff; }
html.fh-v2 .v2-k > span { font-size: 13px; color: rgba(255,255,255,.65); }
html.fh-v2 .v2-k > span i { font-style: normal; font-weight: 800; color: #4ade80; }
html.fh-v2 .v2-k > span i.giu { color: #fda4af; }
html.fh-v2 .v2-k svg { display: block; width: 100%; height: 46px; margin-top: 10px; }
html.fh-v2 .v2-k .area { opacity: .25; }
html.fh-v2 .v2-k .lin { fill: none; stroke-width: 2.6; stroke-linecap: round; stroke-dasharray: 400; stroke-dashoffset: 400; animation: v2Disegna 1.6s .6s ease forwards; }
@keyframes v2Disegna { to { stroke-dashoffset: 0; } }
/* i canali Franchising / Smart Venue sotto l'apertura, poi «Oggi»: un po' d'aria */
html.fh-v2 .fh-pg-dash .hb-chan { margin-top: 4px !important; }
@media (max-width: 1200px) {
    html.fh-v2 .v2-hero, html.fh-v2 .v2-rete { grid-column: 1 / -1; }
    html.fh-v2 .v2-rete svg { width: 46%; }
    html.fh-v2 .v2-k { grid-column: span 6; }
}
@media (max-width: 640px) {
    html.fh-v2 .v2d { gap: 12px; }
    html.fh-v2 .v2-hero { grid-template-columns: 1fr; padding: 22px 18px; }
    html.fh-v2 .v2-ring { display: none; }
    html.fh-v2 .v2-focus { flex-wrap: wrap; }
    html.fh-v2 .v2-go { margin-left: 0; width: 100%; justify-content: center; }
    html.fh-v2 .v2-ft b { white-space: normal; }
    html.fh-v2 .v2-rete svg { width: 78%; }
    html.fh-v2 .v2-k { grid-column: span 6; padding: 16px; border-radius: 22px; }
    html.fh-v2 .v2-k > b { font-size: 32px; }
    html.fh-v2 .v2-k .ki { display: none; }
    html.fh-v2 .v2-k svg { height: 34px; }
}
@media (prefers-reduced-motion: reduce) { html.fh-v2 .v2-h1 .ch { opacity: 1; transform: none; animation: none; } }

/* ═══════════════════════════════════════════════════════════════════════
   LA BARRA UNICA IN ALTO (menù «Sopra», computer) — assets/js/hub-v2.js
   marchio · voci con etichetta · Altro · ricerca, campanella, profilo
   ═══════════════════════════════════════════════════════════════════════ */
@media (min-width: 993px) {
    html.v2-bar .fh-sidebar { left: 18px !important; right: 18px !important; width: auto !important; max-width: none !important; margin: 0 !important; height: 64px; flex-direction: row !important; align-items: center !important; justify-content: flex-start; gap: 6px !important; padding: 8px 10px 8px 14px !important; border-radius: 24px !important; }
    html.v2-bar .v2-brand { display: flex; align-items: center; gap: 9px; flex: none; margin-right: 8px; font-weight: 800; font-size: 16px; color: #fff !important; text-decoration: none !important; }
    html.v2-bar .v2-brand svg { width: 36px !important; height: 36px !important; margin: 0 !important; filter: drop-shadow(0 0 12px rgba(124,58,237,.9)); animation: none !important; }
    html.v2-bar .v2-brand b { background: linear-gradient(90deg, #f6c56e, #f9a8d4); -webkit-background-clip: text; background-clip: text; color: transparent; }
    html.v2-bar .fh-nav { flex: 1 1 auto !important; min-width: 0; overflow: hidden !important; justify-content: flex-start !important; align-items: center; gap: 2px !important; }
    html.v2-bar .fh-nav > .fh-nav-link, html.v2-bar .fh-sidebar-foot .fh-nav-link { flex-direction: row !important; width: auto !important; min-width: 0 !important; height: 44px !important; padding: 0 12px 0 7px !important; gap: 8px; border-radius: 14px !important; transform: none !important; white-space: nowrap; color: rgba(255,255,255,.75) !important; }
    html.v2-bar .fh-nav > .fh-nav-link:hover { background: rgba(255,255,255,.07) !important; color: #fff !important; }
    html.v2-bar .fh-nav > .fh-nav-link > i, html.v2-bar .fh-sidebar-foot .fh-nav-link > i { width: 30px !important; height: 30px !important; font-size: 14px !important; border-radius: 9px !important; flex: 0 0 30px; }
    html.v2-bar .fh-nav > .fh-nav-link > span:not(.lock) { position: static !important; opacity: 1 !important; visibility: visible !important; transform: none !important; background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; font-size: 13.5px !important; font-weight: 700 !important; color: inherit !important; pointer-events: auto !important; }
    html.v2-bar .fh-nav > .fh-nav-link.active { color: #fff !important; background: rgba(255,255,255,.09) !important; }
    html.v2-bar .fh-nav > .fh-nav-link.active::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: -8px; height: 3px; border-radius: 3px; background: linear-gradient(90deg, #5e17eb, #db2777, #f6c56e); box-shadow: 0 0 12px rgba(219,39,119,.8); }
    html.v2-bar .fh-nav > .fh-nav-link.active > i { box-shadow: 0 4px 12px rgba(0,0,0,.3) !important; }
    html.v2-bar .fh-nav > .fh-nav-link.v2-ovf { display: none !important; }
    html.v2-bar .fh-nav-badge { position: static !important; margin-left: 2px; }
    /* Guida e Logout: solo icona */
    html.v2-bar .fh-sidebar-foot { flex: none; padding-left: 6px !important; margin-left: 2px !important; border-left: 1px solid rgba(255,255,255,.1) !important; }
    html.v2-bar .fh-sidebar-foot .fh-nav-link { padding: 0 4px !important; }
    html.v2-bar .fh-sidebar-foot .fh-nav-link > span:not(.lock) { display: none !important; }
    /* ricerca, campanella, profilo in fondo alla barra */
    html.v2-bar .v2-right { flex: none; display: flex !important; align-items: center; gap: 6px; margin-left: 4px; padding-left: 8px; border-left: 1px solid rgba(255,255,255,.1); }
    html.v2-bar .v2-right .fh-searchbtn span, html.v2-bar .v2-right .fh-searchbtn kbd { display: none !important; }
    html.v2-bar .v2-right .fh-searchbtn, html.v2-bar .v2-right .fh-bell { width: 40px; height: 40px; padding: 0 !important; border-radius: 13px !important; display: inline-flex; align-items: center; justify-content: center; }
    html.v2-bar .v2-right .fh-presence { display: none !important; }
    /* la barra sotto diventa la riga della pagina: indietro/avanti, posizione menù, orologio, Giornata, azioni */
    html.v2-bar .fh-topbar .fh-brand { display: none !important; }
    html.v2-bar .fh-topbar { min-height: 0 !important; padding: 6px 12px !important; border-radius: 18px !important; margin: 12px 18px 8px !important; justify-content: flex-start; }
    html.v2-bar .fh-main { padding-top: 84px !important; }
    /* le voci finite in «Altro» */
    html.v2-bar .fh-nav-extra .v2-clone { display: flex !important; }
}
@media (min-width: 993px) {
    /* il menù «Altro»: righe pulite con la tessera colorata */
    html.fh-v2 .fh-nav-extra .fh-nav-link > span:not(.lock) { position: static !important; opacity: 1 !important; visibility: visible !important; background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; transform: none !important; font-size: 14px !important; font-weight: 700; color: inherit !important; }
    html.fh-v2 .fh-nav-extra { width: 280px !important; padding: 10px !important; border-radius: 20px !important; box-shadow: 0 30px 70px rgba(0,0,0,.6) !important; }
    html.fh-v2 .fh-nav-extra .fh-nav-link { gap: 10px; color: rgba(255,255,255,.82) !important; }
    html.fh-v2 .fh-nav-extra .fh-nav-link:hover { background: rgba(255,255,255,.08) !important; color: #fff !important; }
    html.fh-v2 .fh-nav-extra .fh-nav-link > i { color: #fff !important; background-image: linear-gradient(150deg, rgba(255,255,255,.25), transparent 55%); background-color: var(--v2c, #6d28d9); border-radius: 9px; display: inline-flex !important; align-items: center; justify-content: center; }
    html.fh-v2 .fh-nav-extra .fh-nav-link:nth-of-type(6n+1) > i { --v2c: #7c3aed; } html.fh-v2 .fh-nav-extra .fh-nav-link:nth-of-type(6n+2) > i { --v2c: #db2777; }
    html.fh-v2 .fh-nav-extra .fh-nav-link:nth-of-type(6n+3) > i { --v2c: #f59e0b; } html.fh-v2 .fh-nav-extra .fh-nav-link:nth-of-type(6n+4) > i { --v2c: #0ea5e9; }
    html.fh-v2 .fh-nav-extra .fh-nav-link:nth-of-type(6n+5) > i { --v2c: #16a34a; } html.fh-v2 .fh-nav-extra .fh-nav-link:nth-of-type(6n+6) > i { --v2c: #06b6d4; }
}
/* la barra «Come funziona» delle sezioni: sulla dashboard (fondo scuro) diventa vetro */
html.fh-v2 .fh-pg-dash .fh-guide { background: rgba(22,20,46,.72) !important; border: 1px solid rgba(255,255,255,.1) !important; color: rgba(255,255,255,.8) !important; border-radius: 18px !important; }
html.fh-v2 .fh-pg-dash .fh-guide * { color: inherit; }
html.fh-v2 .fh-pg-dash .fh-guide-cta, html.fh-v2 .fh-pg-dash .fh-guide-help { color: #c4b5fd !important; }
/* sul 34": anche la barra unica in alto si ingrandisce come il resto */
@media (min-width: 1900px) { html.v2-bar .fh-sidebar { zoom: 1.12; } html.v2-bar .fh-main { padding-top: 92px !important; } }
@media (min-width: 2900px) { html.v2-bar .fh-sidebar { zoom: 1.35; } html.v2-bar .fh-main { padding-top: 104px !important; } }

/* ═══ DASHBOARD 2 (2026-10-12 sera): identica al prototipo ═══ */
html.fh-v2 .v2-top { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
html.fh-v2 .v2-canali { margin-left: auto; display: flex; gap: 6px; padding: 5px; border-radius: 99px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); }
html.fh-v2 .v2-canali a { padding: 8px 15px; border-radius: 99px; font-size: 13px; font-weight: 800; color: rgba(255,255,255,.72) !important; text-decoration: none !important; display: flex; align-items: center; gap: 7px; white-space: nowrap; }
html.fh-v2 .v2-canali a.on { background: #fff; color: #0c0e1e !important; }
html.fh-v2 .v2-canali small { font-size: 11px; padding: 1px 7px; border-radius: 99px; background: rgba(124,58,237,.2); color: #c4b5fd; }
html.fh-v2 .v2-canali a.on small { background: #ede9fe; color: #5b21b6; }
html.fh-v2 .v2-sync:empty { display: none; }
html.fh-v2 .v2-sync { display: flex; gap: 6px; }
html.fh-v2 .v2-sync .lncard-sync { position: static !important; display: inline-flex !important; align-items: center; gap: 6px; padding: 8px 13px !important; border-radius: 99px !important; background: rgba(255,255,255,.07) !important; border: 1px solid rgba(255,255,255,.14) !important; color: #fff !important; font-size: 12.5px !important; font-weight: 700; opacity: 1 !important; transform: none !important; }
html.fh-v2 .fh-pg-dash .hb-chan { display: none !important; }           /* le card dei canali: sostituite dalla pillola nell'apertura */
html.fh-v2 .v2-k .area { opacity: .9 !important; }
html.fh-v2 .v2-k svg { height: 48px; margin-top: 12px; border-radius: 0 0 6px 6px; }
html.fh-v2 .v2-k .lin { stroke-width: 2.4; }

/* «Oggi»: le tessere grandi del prototipo */
html.fh-v2 .fh-pg-dash .hb-oggi { display: grid !important; grid-template-columns: repeat(5, 1fr); gap: 14px !important; margin: 0 0 18px !important; }
html.fh-v2 .fh-pg-dash .hb-oggi .hb-o { flex: none !important; min-height: 150px; padding: 18px !important; border-radius: 24px !important; }
html.fh-v2 .fh-pg-dash .hb-oggi .hb-o .n { font-size: 40px !important; margin-top: auto; }
html.fh-v2 .fh-pg-dash .hb-oggi .hb-o > span:first-child { margin-bottom: 14px; }
html.fh-v2 .v2-sez { display: flex; align-items: baseline; gap: 12px; margin: 22px 6px 12px; color: #fff; }
html.fh-v2 .v2-sez h2 { margin: 0; font-size: 22px; font-weight: 800; letter-spacing: -.02em; color: #fff; }
html.fh-v2 .v2-sez span { font-size: 13.5px; color: rgba(255,255,255,.55); }

/* le aree: tessere in griglia, quella aperta si allarga sotto */
html.fh-v2 .v2-boxes { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; align-items: start; }
html.fh-v2 .v2-boxes .hb-box { margin: 0 !important; }
html.fh-v2 .v2-boxes .hb-box.open { grid-column: 1 / -1; order: -1; }
html.fh-v2 .v2-boxes .hb-box:not(.open) .hb-head { flex-wrap: wrap; row-gap: 10px; padding: 18px !important; min-height: 116px; align-content: flex-start; }
html.fh-v2 .v2-boxes .hb-box:not(.open) .hb-s { flex: 1 1 100%; order: 5; white-space: normal; font-size: 12.5px !important; display: flex; flex-wrap: wrap; gap: 6px; }
html.fh-v2 .v2-boxes .hb-box:not(.open) .hb-t { flex: 1; }
html.fh-v2 .v2-boxes .hb-box:not(.open)::after { content: ""; position: absolute; right: -30px; bottom: -30px; width: 110px; height: 110px; border-radius: 50%; background: radial-gradient(closest-side, var(--v2bc), transparent); opacity: .35; pointer-events: none; }
html.fh-v2 .v2-boxes .hb-box:not(.open):hover { transform: translateY(-4px); border-color: rgba(255,255,255,.22) !important; }
html.fh-v2 .v2-boxes .hb-box { transition: transform .25s, border-color .25s; }

/* DENTRO un'area aperta: tutto più snello e con gli stessi colori */
html.fh-v2 .hb-box.open .hb-body { gap: 12px !important; padding: 12px !important; }
html.fh-v2 :is(.hb-body, .v2-pan-c) .fh-card { background: #fff !important; border: 0 !important; border-radius: 20px !important; box-shadow: 0 10px 28px rgba(20,14,48,.12) !important; overflow: hidden; }
html.fh-v2 :is(.hb-body, .v2-pan-c) .fh-card-head { padding: 14px 16px 6px !important; border: 0 !important; background: transparent !important; gap: 8px; }
html.fh-v2 :is(.hb-body, .v2-pan-c) .fh-card-head h2 { font-size: 15.5px !important; font-weight: 800 !important; color: #1e1b33 !important; display: flex; align-items: center; gap: 9px; margin: 0; }
html.fh-v2 :is(.hb-body, .v2-pan-c) .fh-card-head h2 > i:first-child { width: 30px; height: 30px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; font-size: 14px; color: #fff !important; background: linear-gradient(140deg, #7c3aed, #db2777); flex: none; }
html.fh-v2 :is(.hb-body, .v2-pan-c) .fh-card-body { padding: 8px 16px 16px !important; }
html.fh-v2 :is(.hb-body, .v2-pan-c) .fh-card-body > .text-muted.mb-2 { display: none; }           /* le spiegazioni lunghe: stanno già in «Come funziona» */
html.fh-v2 :is(.hb-body, .v2-pan-c) .hb-blk:not([data-type="lead_table"]) .fh-card-body { max-height: 330px; overflow-y: auto; scrollbar-width: thin; }
/* pillole e numeri: un solo colore */
html.fh-v2 :is(.hb-body, .v2-pan-c) .badge { border-radius: 99px !important; padding: 4px 10px !important; font-size: 11.5px !important; font-weight: 800; background: #f3f0fb !important; color: #5b21b6 !important; border: 0 !important; }
html.fh-v2 :is(.hb-body, .v2-pan-c) .badge-danger { background: #fde7f1 !important; color: #be185d !important; }
html.fh-v2 :is(.hb-body, .v2-pan-c) .qchip { background: #f3f0fb !important; border-color: transparent !important; color: #5b21b6 !important; border-radius: 99px !important; }
/* i riquadri colorati dentro le schede (giallo, rosso, verde…): tutti uguali, grigio-lilla */
html.fh-v2 :is(.hb-body, .v2-pan-c) .fh-card-body div[style*="border-radius:10px"], html.fh-v2 :is(.hb-body, .v2-pan-c) .fh-card-body div[style*="background:#fff"] { background: #f7f6fb !important; border: 0 !important; border-radius: 14px !important; padding: 9px 12px !important; }
html.fh-v2 :is(.hb-body, .v2-pan-c) .fh-card-body [style*="color:#92400e"], html.fh-v2 :is(.hb-body, .v2-pan-c) .fh-card-body [style*="color:var(--fh-ink)"] { color: #1e1b33 !important; }
/* righe del briefing: compatte, colore solo nel pallino */
html.fh-v2 :is(.hb-body, .v2-pan-c) .brief-row { padding: 8px 12px !important; border: 0 !important; border-radius: 12px !important; background: #f7f6fb !important; box-shadow: none !important; margin-bottom: 6px !important; position: relative; padding-left: 26px !important; font-size: 13px; }
html.fh-v2 :is(.hb-body, .v2-pan-c) .brief-row::before { content: ""; position: absolute; left: 11px; top: 50%; width: 7px; height: 7px; margin-top: -3.5px; border-radius: 50%; background: var(--ac, #7c3aed); }
html.fh-v2 :is(.hb-body, .v2-pan-c) .brief-row .go { color: #7c3aed !important; font-weight: 800; }
html.fh-v2 :is(.hb-body, .v2-pan-c) .brief-ghead { font-size: 12px !important; letter-spacing: .06em; text-transform: uppercase; color: #6b6780 !important; }
html.fh-v2 :is(.hb-body, .v2-pan-c) .brief-ghead i { color: #db2777 !important; }
/* pulsanti dentro le schede: tutti uguali (pillola viola-rosa), quelli secondari lilla */
html.fh-v2 :is(.hb-body, .v2-pan-c) .btn-danger, html.fh-v2 :is(.hb-body, .v2-pan-c) .btn-warning, html.fh-v2 :is(.hb-body, .v2-pan-c) .btn-success, html.fh-v2 :is(.hb-body, .v2-pan-c) .btn-primary, html.fh-v2 :is(.hb-body, .v2-pan-c) .btn-info {
    background: linear-gradient(90deg, #5e17eb, #db2777) !important; border: 0 !important; color: #fff !important; border-radius: 99px !important; font-weight: 800; box-shadow: 0 6px 14px rgba(219,39,119,.25); }
html.fh-v2 :is(.hb-body, .v2-pan-c) .btn-outline-secondary, html.fh-v2 :is(.hb-body, .v2-pan-c) .btn-outline-primary, html.fh-v2 :is(.hb-body, .v2-pan-c) .btn-light { background: #f3f0fb !important; border: 0 !important; color: #5b21b6 !important; border-radius: 99px !important; font-weight: 700; }
/* la tabella dei lead: righe più basse */
html.fh-v2 :is(.hb-body, .v2-pan-c) .fh-table td, html.fh-v2 :is(.hb-body, .v2-pan-c) .fh-table th { padding-top: 8px !important; padding-bottom: 8px !important; }
html.fh-v2 :is(.hb-body, .v2-pan-c) .fh-table th { font-size: 11px !important; letter-spacing: .08em; text-transform: uppercase; color: #9a96ad !important; }
@media (max-width: 1200px) { html.fh-v2 .v2-boxes { grid-template-columns: 1fr 1fr; } html.fh-v2 .fh-pg-dash .hb-oggi { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px) {
    html.fh-v2 .v2-boxes { grid-template-columns: 1fr; }
    html.fh-v2 .fh-pg-dash .hb-oggi { grid-template-columns: 1fr 1fr; gap: 10px !important; }
    html.fh-v2 .fh-pg-dash .hb-oggi .hb-o { min-height: 128px; }
    html.fh-v2 .v2-canali { margin-left: 0; width: 100%; }
    html.fh-v2 .v2-canali a { flex: 1; justify-content: center; padding: 8px 6px; }
}

/* ═══ HOME A PULSANTI: ogni scheda è un pulsante, si apre nel pannello (assets/js/hub-v2.js) ═══ */
html.fh-v2 .v2-area { display: none !important; }
html.fh-v2 .v2-aree { display: grid; gap: 22px; margin-top: 10px; }
html.fh-v2 .v2-grp-h { display: flex; align-items: center; gap: 12px; margin: 0 4px 12px; color: #fff; }
html.fh-v2 .v2-grp-ic { width: 42px; height: 42px; border-radius: 13px; display: flex; align-items: center; justify-content: center; font-size: 20px; flex: none;
    background-image: linear-gradient(150deg, rgba(255,255,255,.25), transparent 55%); background-color: var(--c); box-shadow: 0 10px 22px rgba(0,0,0,.3); }
html.fh-v2 .v2-grp-h b { font-size: 20px; font-weight: 800; letter-spacing: -.02em; }
html.fh-v2 .v2-grp-h > span:last-child { font-size: 13px; color: rgba(255,255,255,.55); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html.fh-v2 .v2-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; }
html.fh-v2 .v2-tile { position: relative; overflow: hidden; text-align: left; display: flex; flex-direction: column; gap: 10px; min-height: 150px; padding: 16px; border-radius: 22px; cursor: pointer; font: inherit; color: #fff;
    background: rgba(22,20,46,.72); border: 1px solid rgba(255,255,255,.1); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); box-shadow: 0 14px 34px rgba(0,0,0,.28); transition: transform .22s, border-color .22s, box-shadow .22s; }
html.fh-v2 .v2-tile::after { content: ""; position: absolute; right: -40px; bottom: -40px; width: 130px; height: 130px; border-radius: 50%; background: radial-gradient(closest-side, var(--c), transparent); opacity: .35; pointer-events: none; }
html.fh-v2 .v2-tile:hover { transform: translateY(-5px); border-color: rgba(255,255,255,.25); box-shadow: 0 24px 50px rgba(0,0,0,.4); }
html.fh-v2 .v2-tile-h { display: flex; align-items: center; gap: 10px; }
html.fh-v2 .v2-tile-ic { width: 34px; height: 34px; border-radius: 11px; display: flex; align-items: center; justify-content: center; font-size: 15px; flex: none; color: #fff; background-image: linear-gradient(150deg, rgba(255,255,255,.25), transparent 55%); background-color: var(--c); }
html.fh-v2 .v2-tile-h b { font-size: 14.5px; font-weight: 800; line-height: 1.25; }
html.fh-v2 .v2-tile-s { position: relative; z-index: 1; flex: 1; min-height: 0; }
html.fh-v2 .v2-tile-go { position: relative; z-index: 1; font-size: 12.5px; font-weight: 800; color: #f9a8d4; }
/* la sintesi della scheda dentro il pulsante, sul fondo scuro */
html.fh-v2 .v2-sum .rbm, html.fh-v2 .v2-sum .rbl { background: transparent !important; border: 0 !important; padding: 0 !important; height: auto !important; align-items: flex-start !important; text-align: left !important; }
html.fh-v2 .v2-sum .rbm-t, html.fh-v2 .v2-sum .rbl-h { display: none; }
html.fh-v2 .v2-sum .rbm-v { color: #fff !important; font-size: 30px !important; }
html.fh-v2 .v2-sum .rbm-l, html.fh-v2 .v2-sum .rbm-row span { color: rgba(255,255,255,.6) !important; }
html.fh-v2 .v2-sum .rbm-row b { color: #fff !important; }
html.fh-v2 .v2-sum .rbl-i { border: 0 !important; padding: 3px 0 !important; color: rgba(255,255,255,.85) !important; background: transparent !important; font-size: 12.5px; }
html.fh-v2 .v2-sum .rbl-i:nth-of-type(n+5) { display: none; }
html.fh-v2 .v2-sum .rbl-sub, html.fh-v2 .v2-sum .rbl-more { color: rgba(255,255,255,.5) !important; }
html.fh-v2 .v2-sum .rbl-more { display: none; }
html.fh-v2 .v2-sum img, html.fh-v2 .v2-sum svg { max-width: 100%; height: auto; }

/* IL PANNELLO: la scheda vera, aperta sopra la home */
html.fh-v2 .v2-pan { position: fixed; inset: 0; z-index: 1080; display: none; }
html.fh-v2 .v2-pan.on { display: block; }
html.fh-v2 .v2-pan-vel { position: absolute; inset: 0; background: rgba(8,8,22,.6); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); animation: v2Fade .25s both; }
@keyframes v2Fade { from { opacity: 0; } }
html.fh-v2 .v2-pan-box { position: absolute; top: 18px; bottom: 18px; right: 18px; width: min(1120px, calc(100vw - 36px)); display: flex; flex-direction: column; border-radius: 28px; overflow: hidden;
    background: rgba(18,16,40,.97); border: 1px solid rgba(255,255,255,.12); box-shadow: 0 40px 100px rgba(0,0,0,.6); animation: v2Entra .35s cubic-bezier(.2,.9,.25,1) both; }
@keyframes v2Entra { from { transform: translateX(40px); opacity: 0; } }
html.fh-v2 .v2-pan-h { display: flex; align-items: center; gap: 12px; padding: 16px 18px; color: #fff; border-bottom: 1px solid rgba(255,255,255,.08); }
html.fh-v2 .v2-pan-ic { width: 40px; height: 40px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 18px; color: #fff; background-image: linear-gradient(150deg, rgba(255,255,255,.25), transparent 55%); background-color: var(--c, #7c3aed); }
html.fh-v2 .v2-pan-t { font-size: 19px; font-weight: 800; flex: 1; }
html.fh-v2 .v2-pan-x { width: 42px; height: 42px; border-radius: 13px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.07); color: #fff; font-size: 17px; cursor: pointer; }
html.fh-v2 .v2-pan-c { flex: 1; overflow-y: auto; padding: 14px; background: #f5f3fb; -webkit-overflow-scrolling: touch; }
html.fh-v2 .v2-pan-c .hb-blk { display: block !important; grid-column: auto !important; }
html.fh-v2 .v2-pan-c .rb-sum { display: none !important; }
html.fh-v2 .v2-pan-c .rb-full { display: block !important; }
html.fh-v2 .v2-pan-c .fh-card-body { max-height: none !important; }
html.fh-v2.v2-pan-aperto body { overflow: hidden; }
@media (max-width: 640px) {
    html.fh-v2 .v2-tiles { grid-template-columns: 1fr 1fr; gap: 10px; }
    html.fh-v2 .v2-tile { min-height: 132px; padding: 13px; border-radius: 18px; }
    html.fh-v2 .v2-tile-h b { font-size: 13px; }
    html.fh-v2 .v2-sum .rbl-i:nth-of-type(n+3) { display: none; }
    html.fh-v2 .v2-grp-h > span:last-child { display: none; }
    html.fh-v2 .v2-pan-box { inset: 0; width: auto; border-radius: 0; }
    html.fh-v2 .v2-pan-c { padding: 8px; }
}

/* ═══ SNELLO E VELOCE (2026-10-12 notte) ═══ */
/* una sola barra: la seconda sparisce (i suoi pulsanti sono stati spostati da hub-v2.js) */
@media (min-width: 993px) {
    html.v2-solo-barra .fh-topbar { display: none !important; }
    html.v2-solo-barra .fh-main { padding-top: 84px !important; }
    html.v2-solo-barra .fh-content { margin-top: 0 !important; }
    html.v2-solo-barra .v2-right .fh-daybtn { width: auto; height: 40px; padding: 0 14px !important; border-radius: 13px !important; font-size: 13px !important; gap: 6px; display: inline-flex !important; align-items: center; }
    html.v2-solo-barra .v2-right .fh-dockbtn { width: 40px; height: 40px; }
    html.v2-solo-barra .v2-right .fh-dockwrap { position: relative; }
}
@media (min-width: 1900px) { html.v2-solo-barra .fh-main { padding-top: 92px !important; } }
@media (min-width: 2900px) { html.v2-solo-barra .fh-main { padding-top: 104px !important; } }
/* le azioni della pagina in cima, a destra */
html.fh-v2 .v2-azioni { display: flex !important; justify-content: flex-end; gap: 8px; flex-wrap: wrap; margin: 0 0 12px !important; }
html.fh-v2 .fh-pg-dash .v2-azioni { position: relative; z-index: 2; }
html.fh-v2 .v2-azioni .btn { border-radius: 99px !important; font-weight: 800; padding: 8px 16px; }
html.fh-v2 .fh-pg-dash .v2-azioni .btn-outline-secondary { background: rgba(255,255,255,.08) !important; color: #fff !important; border: 1px solid rgba(255,255,255,.16) !important; }

/* VELOCITÀ: niente sfocature dietro a decine di elementi, niente animazioni infinite sul fondo
   (erano la causa del rallentamento). Restano solo sulle due barre. */
html.fh-v2 body::before { animation: none !important; }
html.fh-v2 .v2-glass, html.fh-v2 .v2-tile, html.fh-v2 .hb-box, html.fh-v2 .v2-pan-vel { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
html.fh-v2 .v2-glass { background: #17153a !important; }
html.fh-v2 .v2-tile { background: #17153a !important; }
html.fh-v2 .hb-box.open::before, html.fh-v2 .area { animation: none !important; }
html.fh-v2 .hb-o.hot::after, html.fh-v2 .hb-dot { animation-iteration-count: 3 !important; }
html.fh-v2 .v2-tile::after, html.fh-v2 .v2-boxes .hb-box:not(.open)::after { display: none; }
html.fh-v2 .v2-pan-vel { background: rgba(8,8,22,.78); }

/* la home: meno cose, più ordine */
html.fh-v2 .fh-pg-dash .fh-guide, html.fh-v2 .fh-pg-dash .fh-guide-help { display: none !important; }   /* la spiegazione della pagina: c'è in «Guida» */
html.fh-v2 .v2-aree { gap: 14px; }
html.fh-v2 .v2-tiles { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); }
html.fh-v2 .v2-tile { min-height: 0; padding: 14px 16px; gap: 8px; border-color: rgba(255,255,255,.08); }
html.fh-v2 .v2-tile:hover { transform: translateY(-3px); }
html.fh-v2 .v2-tile-txt { font-size: 12.5px; color: rgba(255,255,255,.6); line-height: 1.4; }
html.fh-v2 .v2-sum .rbl-i:nth-of-type(n+4) { display: none; }
html.fh-v2 .v2-altre .v2-tile { flex-direction: row; align-items: center; gap: 12px; }
html.fh-v2 .v2-altre .v2-tile-h { flex: none; }
html.fh-v2 .v2-altre .v2-tile-h b { display: none; }
html.fh-v2 .v2-altre .v2-tile-s { display: flex; flex-direction: column; }
html.fh-v2 .v2-tile-nm { font-size: 15px; font-weight: 800; }
html.fh-v2 .v2-altre .v2-tile-go { display: none; }
/* la tabella dei lead, sempre aperta in home, su una scheda chiara */
html.fh-v2 .v2-tabella { background: #f5f3fb; border-radius: 24px; padding: 12px; }
html.fh-v2 .v2-tabella .hb-blk { display: block !important; }
html.fh-v2 .v2-tabella .rb-sum { display: none !important; }
html.fh-v2 .v2-tabella .rb-full { display: block !important; }
html.fh-v2 .v2-tabella .fh-card { background: #fff !important; border: 0 !important; border-radius: 18px !important; box-shadow: none !important; }
html.fh-v2 .v2-tabella .fh-table td, html.fh-v2 .v2-tabella .fh-table th { padding-top: 8px !important; padding-bottom: 8px !important; }
@media (max-width: 640px) { html.fh-v2 .v2-tabella { padding: 6px; border-radius: 18px; } }
html.fh-v2 .v2-tabella { min-width: 0; max-width: 100%; overflow-x: auto; }
html.fh-v2 .v2-tabella .table-responsive { overflow-x: auto; }

/* ═══════════════════════════════════════════════════════════════════════
   MENÙ LATERALE A GRUPPI + BARRA RAPIDA (2026-10-12 notte) — assets/js/hub-v2.js
   ═══════════════════════════════════════════════════════════════════════ */
/* il manuale e le guide: tolti finché non si rifanno sul nuovo Hub */
html.fh-v2 .fh-guide, html.fh-v2 .fh-man-link, html.fh-v2 [data-open-tour] { display: none !important; }

@media (min-width: 993px) {
    html.fh-v2 .fh-sidebar { width: 264px !important; top: 12px !important; bottom: 12px !important; left: 12px !important; height: auto !important; border-radius: 26px !important; border: 1px solid rgba(255,255,255,.1) !important; display: flex; flex-direction: column; overflow: hidden; }
    html.fh-v2 .fh-main { margin-left: 288px !important; }
    html.fh-v2.fh-collapsed .fh-sidebar { width: 76px !important; }
    html.fh-v2.fh-collapsed .fh-main { margin-left: 100px !important; }
}
html.fh-v2 .fh-brand-top { padding: 18px 20px 14px !important; font-size: 18px !important; }
html.fh-v2 .fh-nav { flex: 1; overflow-y: auto; padding: 4px 10px 10px !important; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.15) transparent; }
html.fh-v2 .v2-mg { margin-bottom: 4px; }
html.fh-v2 .v2-mg-h { width: 100%; display: flex; align-items: center; gap: 10px; padding: 9px 10px; border: 0; border-radius: 12px; background: transparent; color: rgba(255,255,255,.9); font: inherit; font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; text-align: left; }
html.fh-v2 .v2-mg-h:hover { background: rgba(255,255,255,.05); }
html.fh-v2 .v2-mg-ic { width: 26px; height: 26px; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 13px; background: color-mix(in srgb, var(--c) 30%, transparent); flex: none; }
html.fh-v2 .v2-mg-t { flex: 1; }
html.fh-v2 .v2-mg-h .bi { font-size: 11px; opacity: .5; transition: transform .2s; }
html.fh-v2 .v2-mg.chiuso .v2-mg-h .bi { transform: rotate(-90deg); }
html.fh-v2 .v2-mg.attivo .v2-mg-t { color: #fff; }
html.fh-v2 .v2-mg-l { padding: 2px 0 6px 12px; border-left: 2px solid color-mix(in srgb, var(--c) 45%, transparent); margin-left: 22px; }
html.fh-v2 .v2-mg.chiuso .v2-mg-l { display: none; }
html.fh-v2 .v2-mg-l .fh-nav-link { display: flex !important; align-items: center; gap: 10px; padding: 7px 10px !important; margin: 1px 0 !important; border-radius: 11px !important; font-size: 13.5px !important; font-weight: 600; color: rgba(255,255,255,.72) !important; flex-direction: row !important; width: auto !important; height: auto !important; }
html.fh-v2 .v2-mg-l .fh-nav-link > i { width: 26px !important; height: 26px; font-size: 13px !important; border-radius: 8px !important; flex: 0 0 26px; background-color: var(--c) !important; }
html.fh-v2 .v2-mg-l .fh-nav-link:hover { background: rgba(255,255,255,.07) !important; color: #fff !important; }
html.fh-v2 .v2-mg-l .fh-nav-link.active { background: color-mix(in srgb, var(--c) 28%, transparent) !important; color: #fff !important; font-weight: 800; }
html.fh-v2 .v2-mg-l .fh-nav-link.active > i { box-shadow: 0 0 0 2px #fff, 0 0 14px var(--c) !important; }
html.fh-v2 .v2-mg-l .fh-nav-link > span:not(.lock) { position: static !important; opacity: 1 !important; visibility: visible !important; background: none !important; border: 0 !important; padding: 0 !important; transform: none !important; box-shadow: none !important; color: inherit !important; font-size: inherit !important; }
/* menù stretto (solo icone) */
/* il vecchio CSS faceva scivolare via il menù (translateX -100%) e ne restava una striscia: qui diventa una colonna di icone */
@media (min-width: 993px) {
    html.fh-v2.fh-collapsed .fh-sidebar { transform: none !important; }
    html.fh-v2.fh-collapsed .fh-brand-top { justify-content: center; padding: 18px 0 14px !important; font-size: 0 !important; }
    html.fh-v2.fh-collapsed .fh-brand-top .hex { font-size: 22px !important; }
    html.fh-v2.fh-collapsed .fh-brand-top .accent { display: none; }
    html.fh-v2.fh-collapsed .fh-nav { padding: 4px 8px 10px !important; overflow-x: hidden; }
    html.fh-v2.fh-collapsed .v2-mg-h { display: none !important; }
    html.fh-v2.fh-collapsed .v2-mg { padding-bottom: 6px; margin-bottom: 6px; border-bottom: 1px solid rgba(255,255,255,.08); }
    html.fh-v2.fh-collapsed .v2-mg.chiuso .v2-mg-l { display: block; }
    html.fh-v2.fh-collapsed .v2-mg-l { margin-left: 0; padding: 0; border: 0; }
    html.fh-v2.fh-collapsed .v2-mg-l .fh-nav-link, html.fh-v2.fh-collapsed .fh-sidebar-foot .fh-nav-link { justify-content: center !important; padding: 7px 0 !important; gap: 0 !important; }
    html.fh-v2.fh-collapsed .v2-mg-l .fh-nav-link > i { width: 34px !important; height: 34px; flex: 0 0 34px; font-size: 15px !important; }
    html.fh-v2.fh-collapsed .v2-mg-l .fh-nav-link > span:not(.lock), html.fh-v2.fh-collapsed .fh-sidebar-foot .fh-nav-link > span { display: none !important; }
    html.fh-v2.fh-collapsed .fh-sidebar-foot { padding: 8px !important; }
}
html.fh-v2 .fh-sidebar-foot { padding: 10px !important; }

/* LA BARRA IN ALTO: pulsanti rapidi + ricerca, campanella, profilo */
@media (min-width: 993px) {
    html.fh-v2 .fh-topbar { position: sticky !important; top: 12px !important; margin: 12px 18px 14px 0 !important; padding: 8px 10px !important; min-height: 0 !important; border-radius: 22px !important; gap: 8px !important; justify-content: flex-start; z-index: 50; }
    html.fh-v2 .fh-topbar .fh-navbtns, html.fh-v2 .fh-topbar .fh-dockwrap, html.fh-v2 .fh-topbar .fh-clock, html.fh-v2 .fh-topbar .fh-brand, html.fh-v2 .fh-topbar .fh-presence { display: none !important; }
    html.fh-v2 .fh-main { padding-top: 0 !important; }
}
html.fh-v2 .v2-rapidi { display: flex; gap: 6px; flex: 1 1 auto; min-width: 0; overflow-x: auto; scrollbar-width: none; }
html.fh-v2 .v2-rapidi::-webkit-scrollbar { display: none; }
html.fh-v2 .v2-rapido { display: inline-flex; align-items: center; gap: 8px; padding: 6px 13px 6px 6px; border-radius: 14px; font-size: 13.5px; font-weight: 700; color: rgba(255,255,255,.78) !important; text-decoration: none !important; white-space: nowrap; flex: none; transition: background .2s; }
html.fh-v2 .v2-rapido i { width: 30px; height: 30px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 14px; color: #fff; background-image: linear-gradient(150deg, rgba(255,255,255,.25), transparent 55%); background-color: var(--c); }
html.fh-v2 .v2-rapido:hover { background: rgba(255,255,255,.07); color: #fff !important; }
html.fh-v2 .v2-rapido.on { background: rgba(255,255,255,.1); color: #fff !important; }
html.fh-v2 .fh-topbar > .fh-gap-2 { flex: none; }
@media (max-width: 992px) {
    html.fh-v2 .v2-rapidi { order: 30; flex: 1 1 100%; }
    html.fh-v2 .v2-rapido span { font-size: 12.5px; }
}

/* LA HOME SNELLA */
html.fh-v2 .fh-pg-dash .fh-appgrid-h, html.fh-v2 .fh-pg-dash .fh-appgrid { display: none !important; }   /* le sezioni sono nel menù */
html.fh-v2 .v2-home { display: grid; gap: 14px; }
html.fh-v2 .v2-schede { display: grid; gap: 8px; }
html.fh-v2 .v2-riga { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 10px 12px; border-radius: 18px; background: #17153a; border: 1px solid rgba(255,255,255,.07); }
html.fh-v2 .v2-riga-h { display: flex; align-items: center; gap: 9px; min-width: 170px; font-weight: 800; font-size: 14px; color: #fff; }
html.fh-v2 .v2-riga-ic { width: 32px; height: 32px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 16px; background-image: linear-gradient(150deg, rgba(255,255,255,.25), transparent 55%); background-color: var(--c); }
html.fh-v2 .v2-pill { display: inline-flex; align-items: center; gap: 7px; padding: 7px 13px; border-radius: 99px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.05); color: rgba(255,255,255,.85); font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; transition: background .2s, border-color .2s; }
html.fh-v2 .v2-pill:hover { background: color-mix(in srgb, var(--c) 30%, transparent); border-color: var(--c); color: #fff; }
html.fh-v2 .v2-pill i { color: var(--c); }
@media (max-width: 640px) { html.fh-v2 .v2-riga-h { min-width: 0; flex: 1 1 100%; } }
html.fh-v2 .v2-hero.v2-hero-full { grid-column: 1 / -1; }

/* il pannello delle schede: CENTRATO nello schermo (non più attaccato a destra) */
html.fh-v2 .v2-pan-box { top: 50% !important; left: 50% !important; right: auto !important; bottom: auto !important; transform: translate(-50%, -50%); width: min(1180px, calc(100vw - 48px)) !important; height: min(88vh, 960px); animation: v2Centro .3s cubic-bezier(.2,.9,.25,1) both !important; }
@keyframes v2Centro { from { opacity: 0; transform: translate(-50%, -46%) scale(.98); } to { opacity: 1; transform: translate(-50%, -50%); } }
@media (max-width: 640px) { html.fh-v2 .v2-pan-box { top: 0 !important; left: 0 !important; transform: none; width: 100vw !important; height: 100% !important; border-radius: 0 !important; animation: none !important; } }

/* portatili (14": ~1280–1600 px): l'apertura si adatta, niente testo schiacciato */
@media (min-width: 993px) and (max-width: 1600px) {
    html.fh-v2 .v2-hero { grid-column: span 8; grid-template-columns: 1fr 150px; padding: 24px; }
    html.fh-v2 .v2-hero.v2-hero-full { grid-column: 1 / -1; }
    html.fh-v2 .v2-ring { width: 150px; height: 150px; }
    html.fh-v2 .v2-ring .in b { font-size: 32px; }
    html.fh-v2 .v2-focus { flex-wrap: wrap; }
    html.fh-v2 .v2-go { margin-left: 62px; }
    html.fh-v2 .v2-ft small { white-space: nowrap; }
    html.fh-v2 .v2-k { padding: 16px 18px; }
    html.fh-v2 .v2-k > b { font-size: 36px; }
}
@media (min-width: 993px) and (max-width: 1350px) {
    html.fh-v2 .v2-hero, html.fh-v2 .v2-rete { grid-column: 1 / -1; }
    html.fh-v2 .v2-rete svg { width: 40%; }
    html.fh-v2 .v2-k { grid-column: span 6; }
    html.fh-v2 .fh-pg-dash .hb-oggi { grid-template-columns: repeat(3, 1fr); }
}
/* la tabella dei lead: sta tutta nella larghezza, si scorre solo dentro la sua scheda */
html.fh-v2 .fh-content { min-width: 0; }
html.fh-v2 .fh-main { min-width: 0; overflow-x: clip; }
/* il contenuto centrato tra menù e bordo destro, con un massimo sui monitor enormi */
@media (min-width: 993px) { html.fh-v2 .fh-content { margin-left: 0 !important; margin-right: 18px !important; } }
html.fh-v2 .fh-content > * { max-width: 1600px; margin-left: auto; margin-right: auto; }
@media (min-width: 1900px) { html.fh-v2 .fh-sidebar { zoom: 1.12; } html.fh-v2 .fh-main { margin-left: 320px !important; } html.fh-v2 .fh-topbar { zoom: 1.12; } }
@media (min-width: 2900px) { html.fh-v2 .fh-sidebar { zoom: 1.35; } html.fh-v2 .fh-main { margin-left: 386px !important; } html.fh-v2 .fh-topbar { zoom: 1.35; } }
/* allineamenti: barra in alto e tutte le righe della home sulla stessa colonna */
@media (min-width: 993px) { html.fh-v2 .fh-topbar { width: auto !important; max-width: 1600px; margin: 12px auto 14px !important; } html.fh-v2 .fh-main { padding-right: 18px; } }
html.fh-v2 .fh-pg-dash .hb-oggi { margin: 0 auto 18px !important; width: 100%; }
html.fh-v2 .v2-sez { max-width: 1600px; margin-left: auto !important; margin-right: auto !important; }
/* la tabella dei lead: l'ultima colonna (i pulsanti) non viene più tagliata, la tabella scorre dentro la sua scheda */
html.fh-v2 .v2-tabella .fh-card, html.fh-v2 .v2-tabella .fh-card-body { overflow: visible !important; }
html.fh-v2 .v2-tabella .table-responsive { overflow-x: auto !important; -webkit-overflow-scrolling: touch; }
html.fh-v2 .v2-tabella #leadTable { width: 100%; }

/* ═══════════════════════════════════════════════════════════════════════
   SCHEDA LEAD (master/lead.php) — assets/js/hub-v2.js → paginaLead()
   ═══════════════════════════════════════════════════════════════════════ */
html.fh-v2 .fh-content .fh-card[style*="border-left"] { border-left: 1px solid #ece8f6 !important; }
html.fh-v2 .fh-pg-lead .v2-lead-top { position: sticky; top: 96px; z-index: 30; border-radius: 22px !important; box-shadow: 0 12px 32px -18px rgba(40,20,90,.35) !important; }
html.fh-v2 .fh-pg-lead .v2-lead-top .fh-card-body { padding: 16px 20px !important; }
html.fh-v2 .fh-pg-lead .lead-head { flex-wrap: wrap; row-gap: 10px; }
html.fh-v2 .fh-pg-lead .lead-head > div:nth-child(2) { flex: 1 1 380px; min-width: 0; }
html.fh-v2 .fh-pg-lead .lead-head h2 { font-size: 22px !important; letter-spacing: -.01em; }
html.fh-v2 .fh-pg-lead .v2-lead-az { gap: 7px !important; }
html.fh-v2 .fh-pg-lead .v2-lead-az .btn { border-radius: 11px !important; padding: 7px 13px !important; font-size: 13px !important; font-weight: 700 !important; display: inline-flex; align-items: center; gap: 6px; box-shadow: none !important; }
html.fh-v2 .fh-pg-lead .v2-lead-az .btn-success { background: #16a34a !important; border-color: #16a34a !important; }
html.fh-v2 .fh-pg-lead .v2-lead-sc { background: #f4f1fc !important; border: 1px solid #e4ddf7 !important; color: #4b3a8c !important; }
html.fh-v2 .fh-pg-lead .v2-lead-sc:hover { background: #ebe5fb !important; }
html.fh-v2 .fh-pg-lead .v2-lead-agenda { display: flex; gap: 6px; flex-wrap: wrap; cursor: pointer; }
html.fh-v2 .fh-pg-lead .v2-lead-mkt > div { margin: 0 !important; border-radius: 18px !important; }
html.fh-v2 .fh-pg-lead .v2-ag { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: #6b5b2a; background: #fff7e0; border: 1px solid #f6e3a8; border-radius: 999px; padding: 4px 11px; }
html.fh-v2 .fh-pg-lead .v2-ag.v2-ag-a { color: #0b5d7a; background: #e6f6fd; border-color: #bfe7f7; }
html.fh-v2 .fh-pg-lead .v2-ag.scaduto { color: #a11a1a; background: #fdecec; border-color: #f6c8c8; }
html.fh-v2 .fh-pg-lead .lead-head-right .btn-sm { border-radius: 10px !important; }
/* schede a pillola */
html.fh-v2 .fh-pg-lead #leadTabs { gap: 6px !important; background: #f3f0fa; padding: 6px !important; border-radius: 16px; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
html.fh-v2 .fh-pg-lead #leadTabs::-webkit-scrollbar { display: none; }
html.fh-v2 .fh-pg-lead #leadTabs .nav-link:not(.active) { background: transparent; }
html.fh-v2 .fh-pg-lead #leadTabs .nav-link { border: 0 !important; border-radius: 12px !important; padding: 8px 14px !important; white-space: nowrap; font-size: 13.5px; }
html.fh-v2 .fh-pg-lead #leadTabs .nav-link:not(.active):hover { background: #fff; }
html.fh-v2 .fh-pg-lead #leadTabs .nav-link.active { box-shadow: 0 6px 16px -6px rgba(124,58,237,.6); }
/* panoramica: lavoro a sinistra, informazioni a destra */
html.fh-v2 .fh-pg-lead .v2-lead-grid { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 20px; align-items: start; }
html.fh-v2 .fh-pg-lead .v2-lead-main, html.fh-v2 .fh-pg-lead .v2-lead-side { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
html.fh-v2 .fh-pg-lead .v2-lead-grid .fh-card { margin: 0 !important; }
html.fh-v2 .fh-pg-lead .v2-lead-main > div:not(.fh-card) > .fh-card { margin: 0 !important; }
html.fh-v2 .fh-pg-lead #tab-panoramica > .fh-card { margin: 0 0 18px !important; }
html.fh-v2 .fh-pg-lead #activityTimeline { max-height: 520px; overflow-y: auto; padding-right: 6px; scrollbar-width: thin; }
html.fh-v2 .fh-pg-lead #activityForm textarea { min-height: 70px; font-size: 14px !important; border-radius: 12px !important; }
html.fh-v2 .fh-pg-lead .v2-lampo { animation: v2lampo 1.2s ease; }
@keyframes v2lampo { 0%, 60% { box-shadow: 0 0 0 3px #a78bfa, 0 10px 30px -10px rgba(124,58,237,.5); } 100% { box-shadow: none; } }
@media (max-width: 1350px) { html.fh-v2 .fh-pg-lead .v2-lead-grid { grid-template-columns: minmax(0, 1fr) 340px; } }
@media (max-width: 1100px) {
    html.fh-v2 .fh-pg-lead .v2-lead-grid { display: flex; flex-direction: column; }
    html.fh-v2 .fh-pg-lead .v2-lead-main, html.fh-v2 .fh-pg-lead .v2-lead-side { display: contents; }
    html.fh-v2 .fh-pg-lead .v2-lead-grid > * > * { order: 10; }
    html.fh-v2 .fh-pg-lead .v2-lead-grid .v2-o1 { order: 1; }
    html.fh-v2 .fh-pg-lead .v2-lead-grid .v2-o2 { order: 2; }
    html.fh-v2 .fh-pg-lead .v2-lead-grid .v2-o3 { order: 3; }
    html.fh-v2 .fh-pg-lead .v2-lead-grid { gap: 16px; }
}
@media (max-width: 992px) {
    html.fh-v2 .fh-pg-lead .v2-lead-top { position: static; }
    html.fh-v2 .fh-pg-lead .lead-head-right { justify-content: flex-start !important; margin-left: 0 !important; width: 100%; }
}
@media (max-width: 600px) {
    html.fh-v2 .fh-pg-lead .v2-lead-top .fh-card-body { padding: 14px !important; }
    html.fh-v2 .fh-pg-lead .lead-avatar { width: 44px !important; height: 44px !important; font-size: 16px !important; }
    html.fh-v2 .fh-pg-lead .lead-head h2 { font-size: 19px !important; }
    html.fh-v2 .fh-pg-lead .lead-head .text-muted { word-break: break-word; }
    html.fh-v2 .fh-pg-lead .v2-lead-az { display: grid !important; grid-template-columns: 1fr 1fr; }
    html.fh-v2 .fh-pg-lead .v2-lead-az .btn { justify-content: center; padding: 10px 8px !important; font-size: 13.5px !important; }
    html.fh-v2 .fh-pg-lead #activityTimeline { max-height: none; }
}

/* nuvoletta del menù stretto (stile Dock del Mac) — hub-v2.js → nuvolette() */
.v2-tip { position: fixed; z-index: 3000; transform: translate(-6px, -50%); opacity: 0; pointer-events: none; background: rgba(28,22,48,.96); color: #fff; font: 600 13px/1 inherit; font-family: inherit; padding: 8px 12px; border-radius: 9px; white-space: nowrap; box-shadow: 0 10px 28px -8px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.1); transition: opacity .12s, transform .12s; }
.v2-tip::before { content: ""; position: absolute; left: -5px; top: 50%; margin-top: -5px; border: 5px solid transparent; border-left: 0; border-right-color: rgba(28,22,48,.96); }
.v2-tip.on { opacity: 1; transform: translate(0, -50%); }
/* il link «← indietro» in cima alle pagine: allineato al resto anche sui monitor larghi */
html.fh-v2 .fh-content > a.d-inline-block { display: block !important; }

/* ═══════════════════════════════════════════════════════════════════════
   TABELLA LEAD che sta nello schermo — hub-v2.js → tabellaLead()
   le colonne secondarie spariscono quando manca spazio; il loro testo va sotto il nome
   ═══════════════════════════════════════════════════════════════════════ */
html.fh-v2 .v2-tabella, html.fh-v2 #leadTable { scroll-margin-top: 110px; }
html.fh-v2 .v2-lt { container-type: inline-size; overflow-x: visible !important; }
html.fh-v2 .v2-lt #leadTable { width: 100%; min-width: 0 !important; table-layout: auto; font-size: 13.5px; }
html.fh-v2 .v2-lt #leadTable th { font-size: 10.5px; letter-spacing: .06em; white-space: nowrap; padding-left: 8px !important; padding-right: 8px !important; }
html.fh-v2 .v2-lt #leadTable td { padding: 10px 8px !important; vertical-align: middle; }
html.fh-v2 .v2-lt #leadTable .c-chk { width: 34px; }
html.fh-v2 .v2-lt #leadTable td.c-nome { min-width: 220px; }
html.fh-v2 .v2-lt #leadTable td.c-nome > a { display: block; font-size: 14.5px; margin-top: 2px; }
html.fh-v2 .v2-lt .v2-meta .c-gest-m { display: none; }
html.fh-v2 .v2-lt #leadTable td.c-nome .qchip { font-size: 10.5px !important; padding: 1px 7px !important; }
html.fh-v2 .v2-lt #leadTable td.c-nome .qinfo { display: flex; flex-wrap: wrap; gap: 4px 10px; margin-top: 2px; font-size: 12px; }
html.fh-v2 .v2-lt #leadTable .c-stato, html.fh-v2 .v2-lt #leadTable .c-rich, html.fh-v2 .v2-lt #leadTable .c-creato, html.fh-v2 .v2-lt #leadTable .c-gest { white-space: nowrap; width: 1%; }
html.fh-v2 .v2-lt #leadTable .c-ass { width: 1%; }
html.fh-v2 .v2-lt #leadTable .c-ass select { max-width: 150px; font-size: 12.5px; }
html.fh-v2 .v2-lt #leadTable .c-az { width: 1%; white-space: nowrap; }
html.fh-v2 .v2-lt .lead-actions { gap: 4px; }
html.fh-v2 .v2-lt .la-btn { width: 30px; height: 30px; flex-basis: 30px; border-radius: 9px; }
html.fh-v2 .v2-lt .la-btn.la-empty { display: none; }
html.fh-v2 .v2-lt .v2-meta { display: none; flex-wrap: wrap; gap: 3px 10px; margin-top: 3px; font-size: 11.5px; color: #7a7490; }
/* meno spazio → via le colonne meno usate, i dati restano sotto il nome */
@container (max-width: 1350px) { html.fh-v2 .v2-lt #leadTable .c-creato { display: none; } }
@container (max-width: 1200px) {
    html.fh-v2 .v2-lt #leadTable .c-citta, html.fh-v2 .v2-lt #leadTable .c-sorg { display: none; }
    html.fh-v2 .v2-lt .v2-meta { display: flex; }
    html.fh-v2 .v2-lt .v2-meta .c-rich-m { display: none; }
}
@container (max-width: 1000px) {
    html.fh-v2 .v2-lt #leadTable .c-rich { display: none; }
    html.fh-v2 .v2-lt .v2-meta .c-rich-m { display: inline; }
}
@container (max-width: 960px) {
    html.fh-v2 .v2-lt #leadTable .c-gest { display: none; }
    html.fh-v2 .v2-lt .v2-meta .c-gest-m { display: inline; }
    html.fh-v2 .v2-lt #leadTable td.c-nome { min-width: 180px; }
    html.fh-v2 .v2-lt #leadTable .c-ass select { max-width: 124px; }
}
/* telefono / spazio stretto: ogni lead è una scheda */
@container (max-width: 700px) {
    html.fh-v2 .v2-lt #leadTable, html.fh-v2 .v2-lt #leadTable tbody { display: block; }
    html.fh-v2 .v2-lt #leadTable thead { display: none; }
    html.fh-v2 .v2-lt #leadTable tr.row-link { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 8px 10px; align-items: center; padding: 12px 4px; border-bottom: 1px solid #efecf6; }
    html.fh-v2 .v2-lt #leadTable tr.row-link > td { display: block; padding: 0 !important; border: 0 !important; width: auto; min-width: 0; }
    html.fh-v2 .v2-lt #leadTable td.c-chk { grid-row: 1 / span 3; align-self: start; padding-top: 3px !important; }
    html.fh-v2 .v2-lt #leadTable td.c-nome { grid-column: 2 / 4; }
    html.fh-v2 .v2-lt #leadTable td.c-stato { grid-column: 2; grid-row: 2; }
    html.fh-v2 .v2-lt #leadTable td.c-gest { grid-column: 3; grid-row: 2; text-align: right; display: block !important; }
    html.fh-v2 .v2-lt .v2-meta .c-gest-m { display: none !important; }
    html.fh-v2 .v2-lt #leadTable td.c-ass { grid-column: 2; grid-row: 3; }
    html.fh-v2 .v2-lt #leadTable td.c-ass select { max-width: 100% !important; width: 100% !important; }
    html.fh-v2 .v2-lt #leadTable td.c-az { grid-column: 3; grid-row: 3; }
    html.fh-v2 .v2-lt #leadTable td.c-vetr { grid-column: 2 / 4; }
    html.fh-v2 .v2-lt #leadTable tr.row-link > td.c-citta, html.fh-v2 .v2-lt #leadTable tr.row-link > td.c-sorg, html.fh-v2 .v2-lt #leadTable tr.row-link > td.c-rich, html.fh-v2 .v2-lt #leadTable tr.row-link > td.c-creato { display: none; }
    html.fh-v2 .v2-lt .la-btn { width: 36px; height: 36px; flex-basis: 36px; }
}
/* barra di ricerca/filtri della tabella su telefono: tutto in colonna, niente fuori dalla scheda */
@media (max-width: 640px) {
    html.fh-v2 .v2-tabella .lead-toolbar { display: grid !important; grid-template-columns: 1fr 1fr; gap: 8px; }
    html.fh-v2 .v2-tabella .lead-toolbar > .lead-search { grid-column: 1 / -1; }
    html.fh-v2 .v2-tabella .lead-toolbar > select { grid-column: 1 / -1; width: 100% !important; max-width: 100%; }
    html.fh-v2 .v2-tabella .lead-toolbar > .btn { justify-content: center; display: inline-flex; align-items: center; gap: 5px; }
    html.fh-v2 .v2-tabella .lead-chips { flex-wrap: nowrap !important; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
    html.fh-v2 .v2-tabella .lead-chips::-webkit-scrollbar { display: none; }
    html.fh-v2 .v2-tabella .lead-chips > * { flex: none; }
    html.fh-v2 .v2-tabella .lead-chips > span[style*="margin-left:auto"] { display: none; }
    html.fh-v2 .v2-tabella .fh-card-head { flex-wrap: wrap; gap: 6px; }
}

/* ═══════════════════════════════════════════════════════════════════════
   TOTEM (master/totem.php) — da telefono tutto dentro lo schermo
   la griglia 1fr prendeva la larghezza del contenuto più largo (460px su 390)
   ═══════════════════════════════════════════════════════════════════════ */
@media (max-width: 1100px) {
    html.fh-v2 .fh-pg-totem .tt-lab-m { grid-template-columns: minmax(0, 1fr) !important; }
}
html.fh-v2 .fh-pg-totem .tt-lab-m > *, html.fh-v2 .fh-pg-totem .tt-card { min-width: 0; }
@media (max-width: 640px) {
    html.fh-v2 .fh-pg-totem .tt-top { flex-wrap: wrap; row-gap: 6px; }
    html.fh-v2 .fh-pg-totem .tt-top .tt-nome { flex: 1 1 100%; }
    html.fh-v2 .fh-pg-totem .tt-voce > summary { gap: 8px; padding: 11px 10px; }
    html.fh-v2 .fh-pg-totem .tt-voce .mo { display: none; }
    html.fh-v2 .fh-pg-totem .tt-voce .n { flex: 1 1 0; }
}

/* intestazione di ogni pagina — hub-v2.js → intestazione() */
html.fh-v2 .v2-ph { --c: #7c3aed; display: flex; align-items: center; gap: 14px; margin-bottom: 18px !important; padding: 2px 2px 0; }
html.fh-v2 .v2-ph-ic { width: 46px; height: 46px; flex: none; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 21px; color: #fff; background: var(--c); box-shadow: 0 10px 24px -10px var(--c); }
html.fh-v2 .v2-ph-t { min-width: 0; }
html.fh-v2 .v2-ph h1 { margin: 0; font-size: 26px; font-weight: 800; letter-spacing: -.02em; color: #17132b; line-height: 1.15; }
html.fh-v2 .v2-ph p { margin: 3px 0 0; font-size: 14px; color: #6f6987; line-height: 1.4; }
@media (max-width: 640px) {
    html.fh-v2 .v2-ph { gap: 11px; margin-bottom: 14px !important; }
    html.fh-v2 .v2-ph-ic { width: 38px; height: 38px; border-radius: 12px; font-size: 17px; }
    html.fh-v2 .v2-ph h1 { font-size: 20px; }
    html.fh-v2 .v2-ph p { font-size: 12.5px; }
}
html.fh-v2 .fh-topbar .fh-daybtn.v2-via { display: none !important; }
/* i pannelli che entrano da destra (es. #aaPanel, inc/help_widget.php) quando sono chiusi
   stanno fuori schermo e su telefono allargavano la pagina: niente scorrimento laterale */
html.fh-v2 body { overflow-x: clip; }
/* telefono: i pulsanti della pagina (es. «+ Articoli», «Approvazioni») in una riga loro sotto i rapidi, mai fuori dallo schermo */
@media (max-width: 992px) {
    html.fh-v2 .fh-topbar > .fh-gap-2 { order: 35 !important; flex: 1 1 100% !important; width: 100%; margin: 0 !important; display: flex !important; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
    html.fh-v2 .fh-topbar > .fh-gap-2:empty { display: none !important; }
}
/* blog-agente, piano editoriale su telefono: l'etichetta del tipo sopra, il titolo a tutta larghezza */
@media (max-width: 640px) {
    html.fh-v2 .fh-pg-blog-agente div[style*="background:#faf9ff"][style*="display:flex"] { flex-wrap: wrap !important; }
    html.fh-v2 .fh-pg-blog-agente div[style*="background:#faf9ff"][style*="display:flex"] > span:first-child { flex: 1 1 auto; }
    html.fh-v2 .fh-pg-blog-agente div[style*="background:#faf9ff"][style*="display:flex"] > span:nth-child(2) { order: 3; flex: 1 1 100% !important; }
}
html.fh-v2 .cm-hero h1, html.fh-v2 .cm-hero h1 i { color: #fff !important; }
html.fh-v2 a[href*="manuale.php"]:not(.fh-pg-manuale *) { display: none !important; }
/* home su telefono: Franchising / Smart Venue a metà larghezza ciascuno, mai tagliati */
@media (max-width: 640px) {
    html.fh-v2 .v2-canali { margin-left: 0; width: 100%; }
    html.fh-v2 .v2-canali a { flex: 1 1 0; justify-content: center; padding: 8px 8px; font-size: 12.5px; min-width: 0; }
}
/* barra in alto affollata (pagina con 3+ azioni sue): i rapidi diventano solo icona, il nome resta nel suggerimento */
@media (min-width: 993px) {
    html.fh-v2 .fh-topbar:has(> .fh-gap-2 > :nth-child(3)) .v2-rapido span { display: none; }
    html.fh-v2 .fh-topbar:has(> .fh-gap-2 > :nth-child(3)) .v2-rapido { padding-right: 6px; }
}
/* totem su telefono: accesi e spenti in cima, collegare/abbinare in fondo — hub-v2.js → totemOrdine() */
@media (max-width: 640px) {
    html.fh-v2 .fh-pg-totem .ov { display: flex; flex-direction: column; }
    html.fh-v2 .fh-pg-totem .ov > * { order: 10; }
    html.fh-v2 .fh-pg-totem .ov > .ov-top { order: 0; }
    html.fh-v2 .fh-pg-totem .ov > .ov-acc { order: 1; }
    html.fh-v2 .fh-pg-totem .ov > .ov-spe { order: 2; }
    html.fh-v2 .fh-pg-totem .ov > .ov-abb { order: 3; }
    html.fh-v2 .fh-pg-totem .ov > .ov-add { order: 4; }
}
/* telefono: righe dei permessi (team-edit) e delle sequenze (mkt-franchising) — testo a tutta larghezza, comandi sotto */
@media (max-width: 640px) {
    html.fh-v2 .fh-pg-team-edit .tu-pr2 { flex-wrap: wrap; }
    html.fh-v2 .fh-pg-team-edit .tu-pr2-main { flex: 1 1 100%; }
    html.fh-v2 .fh-pg-team-edit .tu-showlock { margin-left: 28px; }
    html.fh-v2 .fh-pg-mkt-franchising .seq-row { flex-wrap: wrap; }
    html.fh-v2 .fh-pg-mkt-franchising .seq-row > div[style*="flex:1"] { flex: 1 1 calc(100% - 60px) !important; }
}
/* i riquadri colorati in cima alle pagine (docs-hero, ch-hero, cr-hero, …) hanno testo bianco:
   i titoli prendevano il grigio scuro del tema e sparivano sul viola */
html.fh-v2 .fh-content [class*="-hero"]:not(.v2-hero) > :is(h1, h2, h3), html.fh-v2 .fh-content [class*="-hero"]:not(.v2-hero) > div > :is(h1, h2, h3) { color: inherit !important; }
/* badge grigi (es. «Sospeso», «spenta»): testo chiaro sul grigio */
html.fh-v2 .fh-content .badge.bg-secondary, html.fh-v2 .fh-content .badge-secondary { background: #ebe8f3 !important; color: #4b4562 !important; }
/* campanella: il pannello è scuro, le notifiche avevano ancora il fondo chiaro del vecchio stile (testo bianco su lilla) */
html.fh-v2 .fh-bellmenu-h > span { color: #fff !important; }
html.fh-v2 .fh-bellmenu .fh-bn { color: #f2f2f7 !important; background: transparent !important; }
html.fh-v2 .fh-bellmenu .fh-bn.unread { background: rgba(124,58,237,.16) !important; }
html.fh-v2 .fh-bellmenu .fh-bn:hover, html.fh-v2 .fh-bellmenu .fh-bn:focus, html.fh-v2 .fh-bellmenu .fh-bn.expanded { background: rgba(255,255,255,.08) !important; }
html.fh-v2 .fh-bellmenu .fh-bn.unread::before { background: #a78bfa; }
html.fh-v2 .fh-bellmenu .fh-bn-ico { background: rgba(255,255,255,.08) !important; }
html.fh-v2 .fh-bellmenu .fh-bn-t { color: #fff !important; }
html.fh-v2 .fh-bellmenu .fh-bn-b { color: rgba(255,255,255,.72) !important; }
html.fh-v2 .fh-bellmenu .fh-bn-m { color: rgba(255,255,255,.45) !important; }
html.fh-v2 .fh-bellmenu .fh-bn-check { background: rgba(255,255,255,.08) !important; border-color: rgba(255,255,255,.2) !important; color: #c4b5fd !important; }
html.fh-v2 .fh-bellmenu .fh-bn-check:hover { background: #7c3aed !important; color: #fff !important; }
html.fh-v2 .fh-bellmenu .fh-bn-act a { color: #fff !important; background: #7c3aed !important; }
html.fh-v2 .fh-bellmenu-allbtn { background: rgba(255,255,255,.1) !important; color: #fff !important; border-color: rgba(255,255,255,.18) !important; }
html.fh-v2 .fh-bellmenu-allbtn:hover { background: rgba(255,255,255,.18) !important; }
html.fh-v2 .fh-bellmenu-empty { color: rgba(255,255,255,.55) !important; }
html.fh-v2 .fh-bellmenu-foot a { color: #fff !important; }
@media (max-width: 640px) {
    html.fh-v2 .fh-bellmenu { position: fixed !important; left: 10px !important; right: 10px !important; top: 72px !important; width: auto !important; max-width: none !important; }
}

/* mappa della rete (home): tutta l'Italia, centrata nello spazio che resta, animata */
html.fh-v2 .v2-rete svg { flex: 1 1 auto; width: 100% !important; height: auto; min-height: 260px; max-height: 420px; margin: 10px auto 6px !important; display: block; }
html.fh-v2 .v2-rete .rg { opacity: 0; animation: v2RgIn .5s ease-out forwards; animation-delay: calc(var(--i, 0) * .05s); }
html.fh-v2 .v2-rete .rg.hot { animation: v2RgIn .5s ease-out forwards, v2Hot 3.2s ease-in-out 1.5s infinite; }
@keyframes v2RgIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@keyframes v2Hot { 50% { fill-opacity: .55; } }
html.fh-v2 .v2-rete .fascio { animation: v2Corre 1.6s linear infinite !important; }
html.fh-v2 .v2-rete .onda { animation: v2Onda 2.6s ease-out infinite !important; }
html.fh-v2 .v2-rete .onda.b { animation-delay: 1.3s !important; }
html.fh-v2 .v2-rete .v2-rleg { margin-top: auto; }
@media (max-width: 1200px) { html.fh-v2 .v2-rete svg { max-height: 360px; } }
@media (prefers-reduced-motion: reduce) { html.fh-v2 .v2-rete .rg { opacity: 1; animation: none; } }

/* ═══════════════════════════════════════════════════════════════════════
   TABELLA LEAD — modello nuovo (2026-10-13): una fascia di filtri, righe compatte,
   colori del nuovo Hub. hub-v2.js → tabellaLead() / filtriLead()
   ═══════════════════════════════════════════════════════════════════════ */
html.fh-v2 .v2-tabella { background: transparent; padding: 0; }
html.fh-v2 .v2-tabella .fh-card { border-radius: 24px !important; box-shadow: 0 1px 0 #ece8f6, 0 12px 30px -20px rgba(40,20,90,.25) !important; }
html.fh-v2 .v2-tabella .fh-card-head { padding: 18px 22px 6px !important; border: 0 !important; }
html.fh-v2 .v2-tabella .fh-card-head h2 { font-size: 20px !important; font-weight: 800 !important; color: #17132b !important; letter-spacing: -.02em; }
html.fh-v2 .v2-tabella .fh-card-body { padding: 10px 22px 18px !important; }
/* barra di ricerca */
html.fh-v2 .v2-tabella .lead-toolbar { gap: 8px; margin-bottom: 12px; }
html.fh-v2 .v2-tabella .lead-toolbar .form-control, html.fh-v2 .v2-tabella .lead-toolbar .custom-select { height: 42px !important; border-radius: 13px !important; border: 1px solid #e6e1f3 !important; background-color: #f8f7fc !important; font-size: 14px !important; }
html.fh-v2 .v2-tabella .lead-toolbar .form-control:focus { background: #fff !important; border-color: #a78bfa !important; box-shadow: 0 0 0 3px #ede6fe !important; }
html.fh-v2 .v2-tabella .lead-toolbar .btn { height: 42px; border-radius: 13px !important; padding: 0 15px !important; font-weight: 700 !important; display: inline-flex; align-items: center; gap: 6px; }
html.fh-v2 .v2-tabella .lead-toolbar .btn-outline-primary, html.fh-v2 .v2-tabella .lead-toolbar .btn-outline-success, html.fh-v2 .v2-tabella .lead-toolbar .btn-outline-secondary { background: #fff !important; border: 1px solid #e6e1f3 !important; color: #3d3466 !important; }
html.fh-v2 .v2-tabella .lead-toolbar .btn-primary { background: #17132b !important; border-color: #17132b !important; color: #fff !important; }
/* la fascia dei filtri */
html.fh-v2 .v2-fbar { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 10px 0 14px; border-bottom: 1px solid #f0edf8; margin-bottom: 4px; }
html.fh-v2 .v2-fbar .lead-chips { margin: 0 !important; }
html.fh-v2 .v2-fgest { display: flex; gap: 6px; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; min-width: 0; }
html.fh-v2 .v2-fgest .qf-lbl { display: none; }
html.fh-v2 .v2-fbar .lead-chip, html.fh-v2 .v2-fpop .lead-chip { height: 36px; padding: 0 13px !important; border-radius: 12px !important; border: 1px solid #e6e1f3 !important; background: #fff !important; color: #3d3466 !important; font-size: 13px !important; font-weight: 700 !important; box-shadow: none !important; white-space: nowrap; }
html.fh-v2 .v2-fbar .lead-chip b, html.fh-v2 .v2-fpop .lead-chip b { font-weight: 800; color: #7c3aed; background: #f3eefe; border-radius: 99px; padding: 1px 7px; font-size: 11.5px; }
html.fh-v2 .v2-fbar .lead-chip:hover, html.fh-v2 .v2-fpop .lead-chip:hover { border-color: #c4b5fd !important; }
html.fh-v2 .v2-fbar .lead-chip.active, html.fh-v2 .v2-fpop .lead-chip.active { background: #17132b !important; border-color: #17132b !important; color: #fff !important; }
html.fh-v2 .v2-fbar .lead-chip.active b, html.fh-v2 .v2-fpop .lead-chip.active b { background: rgba(255,255,255,.18); color: #fff; }
html.fh-v2 .v2-fdd { position: relative; }
html.fh-v2 .v2-fbtn { height: 36px; display: inline-flex; align-items: center; gap: 8px; padding: 0 12px 0 14px; border-radius: 12px; border: 1px solid #e6e1f3; background: #f8f7fc; color: #3d3466; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; white-space: nowrap; }
html.fh-v2 .v2-fbtn b { color: #7c3aed; }
html.fh-v2 .v2-fbtn.on { background: #f3eefe; border-color: #c4b5fd; }
html.fh-v2 .v2-fbtn i { font-size: 11px; opacity: .6; }
html.fh-v2 .v2-fpop { position: absolute; top: calc(100% + 6px); left: 0; z-index: 60; width: max-content; max-width: min(560px, 86vw); background: #fff; border: 1px solid #ece8f6; border-radius: 18px; padding: 10px; box-shadow: 0 24px 50px -16px rgba(30,15,70,.35); }
html.fh-v2 .v2-fpop .v2-fpop-l { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 !important; }
html.fh-v2 .v2-ford { margin-left: auto !important; font-size: 12.5px !important; white-space: nowrap; }
/* righe compatte */
html.fh-v2 .v2-lt #leadTable thead th { background: transparent !important; color: #8a84a3 !important; font-weight: 800 !important; border-bottom: 1px solid #f0edf8 !important; padding-top: 12px !important; padding-bottom: 10px !important; }
html.fh-v2 .v2-lt #leadTable tbody tr.row-link > td { border-top: 0 !important; border-bottom: 1px solid #f4f2f9 !important; padding-top: 11px !important; padding-bottom: 11px !important; }
html.fh-v2 .v2-lt #leadTable tbody tr.row-link:hover > td { background: #faf8ff !important; }
html.fh-v2 .v2-lt .v2-r1 { display: flex; align-items: center; gap: 7px; min-width: 0; flex-wrap: wrap; }
html.fh-v2 .v2-lt .v2-r1 > a { display: inline !important; margin: 0 !important; font-size: 14.5px !important; font-weight: 800 !important; color: #17132b !important; }
html.fh-v2 .v2-lt .v2-r1 > a:hover { color: #7c3aed !important; }
html.fh-v2 .v2-lt .v2-r1 .presence-dot { width: 8px !important; height: 8px !important; flex: none; }
html.fh-v2 .v2-lt .v2-r1 .v2-ltag { font-size: 10.5px !important; font-weight: 800 !important; padding: 2px 8px !important; border-radius: 99px !important; line-height: 1.3; white-space: nowrap; max-width: 150px; overflow: hidden; text-overflow: ellipsis; }
html.fh-v2 .v2-lt .v2-r2 { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 12px; margin-top: 3px; font-size: 12.5px; color: #7a7493; }
html.fh-v2 .v2-lt .v2-r2 .v2-mail { font-size: 12.5px !important; color: #7a7493 !important; max-width: 260px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html.fh-v2 .v2-lt .v2-r2 .qinfo-b { font-weight: 700; color: #3d3466 !important; }
html.fh-v2 .v2-lt .v2-r2 .qinfo-x { color: #a39fb6; }
html.fh-v2 .v2-lt .v2-r2 .qinfo-tel { color: #7c3aed !important; font-weight: 700; }
html.fh-v2 .v2-lt .v2-r2 .v2-meta { margin: 0; }
html.fh-v2 .v2-lt #leadTable .c-ass select { height: 34px; border-radius: 10px !important; border: 1px solid #e6e1f3 !important; background-color: #f8f7fc !important; }
/* la barra in alto: piena, non trasparente sopra la tabella */
@media (min-width: 993px) { html.fh-v2 .fh-topbar { background: rgba(14,12,32,.96) !important; } }
@media (max-width: 640px) {
    html.fh-v2 .v2-tabella .fh-card-head { padding: 14px 14px 4px !important; }
    html.fh-v2 .v2-tabella .fh-card-body { padding: 8px 12px 14px !important; }
    html.fh-v2 .v2-fbar { gap: 6px; }
    html.fh-v2 .v2-fgest { flex: 1 1 100%; }
    html.fh-v2 .v2-fdd { flex: 1 1 0; }
    html.fh-v2 .v2-fbtn { width: 100%; justify-content: space-between; }
    html.fh-v2 .v2-fdd:last-of-type .v2-fpop { left: auto; right: 0; }
    html.fh-v2 .v2-ford { display: none !important; }
    html.fh-v2 .v2-lt .v2-r2 .v2-mail { max-width: 100%; }
}
html.fh-v2 .v2-lt .v2-r1 .v2-ltag { text-transform: none !important; letter-spacing: 0 !important; }
html.fh-v2 .v2-lt #leadTable td.c-nome { min-width: 300px !important; }
@container (max-width: 1200px) {
    html.fh-v2 .v2-lt #leadTable .c-rich { display: none; }
    html.fh-v2 .v2-lt .v2-meta .c-rich-m { display: inline; }
}
@container (max-width: 700px) { html.fh-v2 .v2-lt #leadTable td.c-nome { min-width: 0 !important; } }
/* barra in alto: una fascia scura dietro, così il contenuto che scorre non spunta ai lati */
@media (min-width: 993px) {
    html.fh-v2 .fh-topbar::before { content: ""; position: absolute; z-index: -1; left: -60vw; right: -60vw; top: -14px; bottom: -14px; background: linear-gradient(180deg, #0c0e1e 70%, rgba(12,14,30,0)); pointer-events: none; }
}
@container (max-width: 1200px) { html.fh-v2 .v2-lt .v2-r2 .v2-meta { display: contents; } }
html.fh-v2 .v2-lt .v2-r2 > * { white-space: nowrap; }
html.fh-v2 .v2-lt #leadTable td.c-nome { width: 60%; }
@container (max-width: 700px) { html.fh-v2 .v2-lt #leadTable td.c-nome { width: auto; } }
/* telefono: la barra in alto scorre via con la pagina (c'è la barra in basso), così non mangia mezzo schermo */
@media (max-width: 992px) { html.fh-v2 .fh-topbar { position: relative !important; top: auto !important; } }

/* ═══ MARCHIO FLAC Hub + payoff (inc/logo.php → fh_marchio) ═══ */
html.fh-v2 .v2-brand { display: flex !important; align-items: center; gap: 12px; padding: 18px 16px 14px !important; text-decoration: none !important; border-bottom: 1px solid rgba(255,255,255,.07); margin-bottom: 6px; }
html.fh-v2 .v2-brand .fh-marchio { flex: none; filter: drop-shadow(0 8px 18px rgba(124,58,237,.55)); transition: transform .3s cubic-bezier(.2,1.4,.4,1); }
html.fh-v2 .v2-brand:hover .fh-marchio { transform: rotate(-6deg) scale(1.06); }
html.fh-v2 .v2-brand-t { display: flex; flex-direction: column; min-width: 0; line-height: 1; }
html.fh-v2 .v2-brand-t b { font-size: 21px; font-weight: 800; letter-spacing: -.03em; color: #fff; }
html.fh-v2 .v2-brand-t b em { font-style: normal; background: linear-gradient(90deg, #f6c56e, #f9a8d4); -webkit-background-clip: text; background-clip: text; color: transparent; }
html.fh-v2 .v2-brand-t small { margin-top: 6px; font-size: 9.5px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.55); line-height: 1.35; }
html.fh-v2.fh-collapsed .v2-brand { justify-content: center; padding: 16px 0 12px !important; }
html.fh-v2.fh-collapsed .v2-brand .v2-brand-t { display: none; }
html.fh-v2.fh-collapsed .v2-brand .fh-marchio { width: 40px; height: 40px; }
html.fh-v2 .fh-brand .fh-marchio { filter: drop-shadow(0 4px 12px rgba(124,58,237,.6)); }

/* ═══ DOVE SONO: la sezione aperta si vede subito ═══ */
/* menù laterale: pillola chiara, barra colorata a sinistra, icona che brilla */
html.fh-v2 .v2-mg-l .fh-nav-link.active { position: relative; background: linear-gradient(90deg, color-mix(in srgb, var(--c) 34%, transparent), color-mix(in srgb, var(--c) 12%, transparent)) !important; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--c) 60%, transparent), 0 6px 18px -8px var(--c) !important; color: #fff !important; font-weight: 800 !important; }
html.fh-v2 .v2-mg-l .fh-nav-link.active::before { content: ""; position: absolute; left: -15px; top: 7px; bottom: 7px; width: 4px; border-radius: 4px; background: var(--c); box-shadow: 0 0 10px var(--c); }
html.fh-v2 .v2-mg-l .fh-nav-link.active::after { content: ""; width: 7px; height: 7px; margin-left: auto; border-radius: 50%; background: #fff; box-shadow: 0 0 0 3px color-mix(in srgb, var(--c) 45%, transparent); flex: none; }
html.fh-v2 .v2-mg.attivo > .v2-mg-h { background: rgba(255,255,255,.05); }
html.fh-v2 .v2-mg.attivo > .v2-mg-h .v2-mg-ic { box-shadow: 0 0 0 2px var(--c); }
html.fh-v2.fh-collapsed .v2-mg-l .fh-nav-link.active::before { left: -8px; }
html.fh-v2.fh-collapsed .v2-mg-l .fh-nav-link.active::after { display: none; }
/* barra in alto: il pulsante della pagina aperta ha il contorno del suo colore e una lineetta sotto */
html.fh-v2 .v2-rapido.on { position: relative; color: #fff !important; background: color-mix(in srgb, var(--c) 22%, transparent) !important; box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--c) 75%, transparent), 0 8px 20px -10px var(--c) !important; }
html.fh-v2 .v2-rapido.on::after { content: ""; position: absolute; left: 30%; right: 30%; bottom: 1px; height: 3px; border-radius: 3px; background: var(--c); box-shadow: 0 0 10px var(--c); }
html.fh-v2 .v2-rapido:not(.on):hover { background: rgba(255,255,255,.06) !important; color: #fff !important; }

/* ═══ APERTURA HOME: allineata, e le prossime cose da fare sfogliabili ═══ */
html.fh-v2 .v2-top { justify-content: flex-start; gap: 10px 12px; }
html.fh-v2 .v2-top .v2-canali { margin-left: 0 !important; }
html.fh-v2 .v2-hero > div:first-child { min-width: 0; container-type: inline-size; }
html.fh-v2 .v2-fwrap { margin-top: 20px; }
html.fh-v2 .v2-fhead { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
html.fh-v2 .v2-fhead-t { font-size: 11.5px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #86efac; }
html.fh-v2 .v2-fnav { display: inline-flex; align-items: center; gap: 6px; }
html.fh-v2 .v2-fnav button { width: 34px; height: 34px; border-radius: 11px; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.07); color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; font-size: 14px; }
html.fh-v2 .v2-fnav button:hover { background: rgba(255,255,255,.16); }
html.fh-v2 .v2-fpos { font-size: 12.5px; font-weight: 800; color: rgba(255,255,255,.7); min-width: 38px; text-align: center; font-variant-numeric: tabular-nums; }
html.fh-v2 .v2-fwrap .v2-focus { margin: 0 !important; display: grid !important; grid-template-columns: 48px minmax(0, 1fr) auto; align-items: center; gap: 14px; flex-wrap: nowrap !important; animation: v2FIn .25s ease-out; }
html.fh-v2 .v2-fwrap .v2-focus[hidden] { display: none !important; }
@keyframes v2FIn { from { opacity: 0; transform: translateX(10px); } }
html.fh-v2 .v2-fwrap .v2-ft small { display: none; }
html.fh-v2 .v2-fwrap .v2-ft b { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html.fh-v2 .v2-fwrap .v2-ft span { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html.fh-v2 .v2-fwrap .v2-go { margin: 0 !important; }
@container (max-width: 560px) {
    html.fh-v2 .v2-fwrap .v2-focus { grid-template-columns: 44px minmax(0, 1fr); }
    html.fh-v2 .v2-fwrap .v2-go { grid-column: 1 / -1; width: 100%; justify-content: center; }
    html.fh-v2 .v2-fwrap .v2-ft b, html.fh-v2 .v2-fwrap .v2-ft span { white-space: normal; }
}

/* etichetta dei pulsanti (hub-v2.js → etichette) */
.v2-tip.v2-tip-b { transform: translateY(-4px); max-width: 280px; white-space: normal; line-height: 1.35; text-align: center; }
.v2-tip.v2-tip-b::before { display: none; }
.v2-tip.v2-tip-b.on { transform: none; }

/* ═══════════════════════════════════════════════════════════════════════
   TABELLA LEAD = PROTOTIPO (2026-10-13): righe a griglia come il prototipo approvato.
   La tabella resta una tabella (ordinamento, ricerca istantanea, clic sulla riga, caselle):
   cambia solo come si dispongono le celle. .v2-lp lo mette hub-v2.js → tabellaLead()
   ═══════════════════════════════════════════════════════════════════════ */
html.fh-v2 .v2-lp #leadTable { --lp-cols: 30px minmax(0, 1fr) 170px 170px 150px 180px; }
html.fh-v2 .v2-lp #leadTable, html.fh-v2 .v2-lp #leadTable thead, html.fh-v2 .v2-lp #leadTable tbody { display: block; width: 100%; }
html.fh-v2 .v2-lp #leadTable tr { display: grid; grid-template-columns: var(--lp-cols); column-gap: 14px; align-items: center; }
html.fh-v2 .v2-lp #leadTable tr:not(.row-link):not(:first-child) { display: block; }
html.fh-v2 .v2-lp #leadTable thead tr { padding: 0 16px; border-bottom: 1px solid #f1eef8; }
html.fh-v2 .v2-lp #leadTable th, html.fh-v2 .v2-lp #leadTable td { display: block; padding: 0 !important; border: 0 !important; width: auto !important; min-width: 0 !important; }
html.fh-v2 .v2-lp #leadTable th { padding: 12px 0 10px !important; font-size: 11px !important; letter-spacing: .1em; color: #9a93b5 !important; }
html.fh-v2 .v2-lp #leadTable th.c-az { text-align: right; }
html.fh-v2 .v2-lp #leadTable :is(th, td):is(.c-citta, .c-sorg, .c-rich, .c-creato, .c-vetr) { display: none !important; }
html.fh-v2 .v2-lp #leadTable th.c-gest { font-size: 0 !important; } html.fh-v2 .v2-lp #leadTable th.c-gest::after { content: "Prossima mossa"; font-size: 11px; }
html.fh-v2 .v2-lp #leadTable th.c-ass { font-size: 0 !important; } html.fh-v2 .v2-lp #leadTable th.c-ass::after { content: "Commerciale"; font-size: 11px; }
html.fh-v2 .v2-lp #leadTable th.c-nome { font-size: 0 !important; } html.fh-v2 .v2-lp #leadTable th.c-nome::after { content: "Chi"; font-size: 11px; }
html.fh-v2 .v2-lp #leadTable tbody tr.row-link { padding: 14px 16px; border-bottom: 1px solid #f4f2f9; cursor: pointer; transition: background .12s; box-shadow: none; }
html.fh-v2 .v2-lp #leadTable tbody tr.row-link[style*="#ef4444"] { box-shadow: inset 4px 0 0 #ef4444 !important; }
html.fh-v2 .v2-lp #leadTable tbody tr.row-link[style*="#f97316"] { box-shadow: inset 4px 0 0 #f97316 !important; }
html.fh-v2 .v2-lp #leadTable tbody tr.row-link:hover { background: #fbf9ff; }
html.fh-v2 .v2-lp #leadTable tbody tr.row-link:hover > td { background: transparent !important; }
html.fh-v2 .v2-lp #leadTable tbody tr.row-link > td { padding: 0 !important; }
/* chi */
html.fh-v2 .v2-lp .v2-who { display: flex; align-items: center; gap: 13px; min-width: 0; }
html.fh-v2 .v2-lp .v2-ini { --q: #7c3aed; width: 44px; height: 44px; border-radius: 14px; flex: none; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 15px; color: #fff; background: linear-gradient(140deg, var(--q), color-mix(in srgb, var(--q) 55%, #fff)); }
html.fh-v2 .v2-lp .v2-who-t { min-width: 0; flex: 1; }
html.fh-v2 .v2-lp .v2-r1 { flex-wrap: nowrap; overflow: hidden; }
html.fh-v2 .v2-lp .v2-r1 > a { font-size: 15.5px !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
html.fh-v2 .v2-lp .v2-r1 .presence-dot { display: none !important; }
html.fh-v2 .v2-lp .v2-r1 .v2-ltag { flex: none; }
html.fh-v2 .v2-lp .v2-r2 { flex-wrap: nowrap; overflow: hidden; gap: 0; font-size: 13px; margin-top: 3px; }
html.fh-v2 .v2-lp .v2-r2 > *, html.fh-v2 .v2-lp .v2-r2 .v2-meta > * { flex: none; }
html.fh-v2 .v2-lp .v2-r2 > :not(.v2-meta) + :not(.v2-meta)::before, html.fh-v2 .v2-lp .v2-r2 .v2-meta > :not(.c-gest-m)::before { content: "·"; margin: 0 6px; color: #c4bfd6; font-weight: 400; }
html.fh-v2 .v2-lp .v2-r2 .v2-meta { display: contents !important; }
html.fh-v2 .v2-lp .v2-r2 .v2-mail { max-width: 230px; }
html.fh-v2 .v2-lp .v2-r2 .qinfo-tel { display: none; }   /* il telefono è nel pulsante verde */
html.fh-v2 .v2-lp .v2-r2 .c-gest-m { display: none !important; }
/* stato, prossima mossa, commerciale */
html.fh-v2 .v2-lp td.c-stato .badge, html.fh-v2 .v2-lp td.c-stato span { font-size: 13px !important; }
html.fh-v2 .v2-lp td.c-gest > span[title] { font-size: 12.5px !important; padding: 5px 11px !important; border-radius: 10px !important; white-space: normal !important; display: inline-block; line-height: 1.3; }
html.fh-v2 .v2-lp td.c-ass select { width: 100% !important; max-width: 100% !important; }
/* azioni come il prototipo */
html.fh-v2 .v2-lp .lead-actions { display: flex; justify-content: flex-end; gap: 6px; }
html.fh-v2 .v2-lp .la-btn { width: 38px !important; height: 38px !important; flex: 0 0 38px !important; border-radius: 12px !important; font-size: 16px; border: 1px solid #ece8f6 !important; background: #fff !important; color: #4b3a8c !important; transition: transform .12s; }
html.fh-v2 .v2-lp .la-btn:hover { transform: translateY(-1px); }
html.fh-v2 .v2-lp .la-btn.v2-tel { background: #16a34a !important; border-color: #16a34a !important; color: #fff !important; order: -2; }
html.fh-v2 .v2-lp .la-btn.v2-wa { background: #25d366 !important; border-color: #25d366 !important; color: #fff !important; order: -1; }
html.fh-v2 .v2-lp .la-btn.la-open { background: #17132b !important; border-color: #17132b !important; color: #fff !important; order: 9; }
html.fh-v2 .v2-lp .la-btn.la-empty { display: none !important; }
/* spazio stretto: via la colonna del commerciale (resta nella scheda) */
@container (max-width: 1100px) {
    html.fh-v2 .v2-lp #leadTable { --lp-cols: 30px minmax(0, 1fr) 165px 160px 180px; }
    html.fh-v2 .v2-lp #leadTable :is(th, td).c-ass { display: none !important; }
}
/* telefono: scheda come il prototipo */
@container (max-width: 700px) {
    html.fh-v2 .v2-lp #leadTable thead { display: none; }
    html.fh-v2 .v2-lp #leadTable tbody tr.row-link { grid-template-columns: 26px minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "chk who who" "st st gs" "az az az"; gap: 10px; padding: 14px 10px; }
    html.fh-v2 .v2-lp td.c-chk { grid-area: chk; align-self: start; padding-top: 12px !important; }
    html.fh-v2 .v2-lp td.c-nome { grid-area: who; }
    html.fh-v2 .v2-lp td.c-stato { grid-area: st; display: block !important; }
    html.fh-v2 .v2-lp td.c-gest { grid-area: gs; text-align: right; display: block !important; }
    html.fh-v2 .v2-lp td.c-az { grid-area: az; }
    html.fh-v2 .v2-lp td.c-ass { display: none !important; }
    html.fh-v2 .v2-lp .lead-actions { width: 100%; }
    html.fh-v2 .v2-lp .la-btn { flex: 1 1 0 !important; height: 44px !important; }
    html.fh-v2 .v2-lp .v2-r2 { flex-wrap: wrap; }
    html.fh-v2 .v2-lp .v2-r2 .v2-mail { max-width: 100%; }
}

/* fascia filtri come il prototipo: le tre «cose di oggi» in grande, Qualifica/Stato come tendine */
html.fh-v2 .v2-fbar { display: grid; grid-template-columns: 1fr auto auto; gap: 12px; border: 0; padding: 4px 0 16px; }
html.fh-v2 .v2-fgest { grid-column: 1 / -1; display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 12px; overflow: visible; }
html.fh-v2 .v2-fgest .lead-chip { height: auto !important; padding: 14px 16px !important; border-radius: 18px !important; display: grid !important; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 12px; align-items: center; font-size: 13px !important; color: #6f6987 !important; white-space: normal; text-align: left; }
html.fh-v2 .v2-fgest .lead-chip b { grid-row: 1; grid-column: 2; order: -1; background: none !important; color: #17132b !important; font-size: 24px !important; padding: 0 !important; line-height: 1; }
html.fh-v2 .v2-fgest .lead-chip.active { background: #fff !important; color: #6f6987 !important; border-color: #7c3aed !important; box-shadow: 0 0 0 3px #ede6fe !important; }
html.fh-v2 .v2-fgest .lead-chip.active b { color: #6d28d9 !important; }
html.fh-v2 .v2-fgest .lead-chip:not([href*="gest="]) { display: none !important; }
html.fh-v2 .v2-fgest .lead-chip[href*="gest=&"], html.fh-v2 .v2-fgest .lead-chip[href$="gest="] { display: none !important; }
html.fh-v2 .v2-fbar .v2-fdd { grid-row: 2; }
html.fh-v2 .v2-fbar .v2-ford { grid-row: 2; grid-column: 1; align-self: center; margin: 0 !important; }
html.fh-v2 .v2-fbtn { height: 44px; border-radius: 14px; background: #fff; padding: 0 12px 0 14px; font-size: 14px; }
html.fh-v2 .v2-fbtn.on { background: #f5f0ff; border-color: #c4b5fd; }
html.fh-v2 .v2-fpop { border-radius: 18px; padding: 8px; min-width: 250px; animation: v2DdIn .16s ease-out; }
html.fh-v2 .v2-fpop .v2-fpop-l { flex-direction: column; flex-wrap: nowrap !important; gap: 2px; }
html.fh-v2 .v2-fpop .lead-chip { width: 100%; height: 40px; justify-content: flex-start; border: 0 !important; border-radius: 11px !important; }
html.fh-v2 .v2-fpop .lead-chip:hover { background: #f6f3fd !important; }
html.fh-v2 .v2-fpop .lead-chip b { margin-left: auto; }
@keyframes v2DdIn { from { opacity: 0; transform: translateY(-6px) scale(.98); } }
@media (max-width: 640px) {
    html.fh-v2 .v2-fbar { grid-template-columns: 1fr 1fr; }
    html.fh-v2 .v2-fgest { gap: 8px; }
    html.fh-v2 .v2-fgest .lead-chip { grid-template-columns: 1fr; padding: 12px !important; font-size: 11.5px !important; }
    html.fh-v2 .v2-fgest .lead-chip b { grid-row: 2; grid-column: 1; }
    html.fh-v2 .v2-fbar .v2-fdd { grid-row: auto; }
}
html.fh-v2 .v2-lt.v2-lp #leadTable :is(td, th).c-nome { min-width: 0 !important; width: auto !important; }
html.fh-v2 .v2-lp td.c-az .lead-actions { width: 100%; }
html.fh-v2 .v2-lp td.c-stato { overflow: hidden; }
@container (max-width: 700px) {
    html.fh-v2 .v2-lp td.c-stato { overflow: visible; }
    html.fh-v2 .v2-lp .v2-r1 { flex-wrap: wrap; }
    html.fh-v2 .v2-lp .v2-r1 > a { white-space: normal; }
    html.fh-v2 .v2-lp .v2-r2 { display: block; line-height: 1.6; }
    html.fh-v2 .v2-lp .v2-r2 > *, html.fh-v2 .v2-lp .v2-r2 .v2-meta > * { display: inline; }
    html.fh-v2 .v2-lp .v2-r2 .v2-mail { display: block; }
    html.fh-v2 .v2-lp .v2-r2 .v2-mail + *::before { content: none; }
    html.fh-v2 .v2-lp .v2-who { align-items: flex-start; }
}
@media (max-width: 640px) {
    html.fh-v2 .v2-fgest .lead-chip { font-size: 11px !important; line-height: 1.25; }
    html.fh-v2 .v2-fgest .lead-chip b { font-size: 22px !important; margin-top: 6px; }
}
@container (max-width: 700px) {
    html.fh-v2 .v2-lt.v2-lp #leadTable tbody tr.row-link > td.c-chk { grid-column: 1; grid-row: 1; }
    html.fh-v2 .v2-lt.v2-lp #leadTable tbody tr.row-link > td.c-nome { grid-column: 2 / 4; grid-row: 1; }
    html.fh-v2 .v2-lt.v2-lp #leadTable tbody tr.row-link > td.c-stato { grid-column: 1 / 3; grid-row: 2; }
    html.fh-v2 .v2-lt.v2-lp #leadTable tbody tr.row-link > td.c-gest { grid-column: 3; grid-row: 2; text-align: right; }
    html.fh-v2 .v2-lt.v2-lp #leadTable tbody tr.row-link > td.c-az { grid-column: 1 / 4; grid-row: 3; }
    html.fh-v2 .v2-lt.v2-lp .v2-r2 > *, html.fh-v2 .v2-lt.v2-lp .v2-r2 .v2-meta > * { display: inline !important; white-space: normal !important; }
    html.fh-v2 .v2-lt.v2-lp .v2-r2 .v2-meta { display: inline !important; }
    html.fh-v2 .v2-lt.v2-lp .v2-r2 .v2-meta .c-gest-m, html.fh-v2 .v2-lt.v2-lp .v2-r2 .qinfo-tel { display: none !important; }
}
@container (max-width: 700px) { html.fh-v2 .v2-lt.v2-lp .v2-r2 .v2-mail + *::before { content: none !important; } }

/* ═══ TENDINE (hub-v2.js → tendine): pulsante + elenco disegnati, il <select> vero resta sotto ═══ */
html.fh-v2 .v2-sel { position: relative; display: inline-block; vertical-align: middle; max-width: 100%; }
html.fh-v2 .v2-sel.blk { display: block; width: 100%; }
html.fh-v2 .v2-sel > select { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; opacity: 0 !important; pointer-events: none !important; margin: 0 !important; }
html.fh-v2 .v2-sel-b { width: 100%; height: 44px; display: flex; align-items: center; gap: 10px; padding: 0 12px 0 14px; border-radius: 14px; border: 1px solid #e6e1f3; background: #fff; color: #17132b; font: inherit; font-size: 14px; font-weight: 700; text-align: left; cursor: pointer; transition: border-color .15s, box-shadow .15s; }
html.fh-v2 .v2-sel.sm .v2-sel-b { height: 36px; border-radius: 11px; font-size: 13px; padding: 0 10px 0 12px; }
html.fh-v2 .v2-sel-b:hover { border-color: #c4b5fd; }
html.fh-v2 .v2-sel-b:focus-visible { outline: none; border-color: #7c3aed; box-shadow: 0 0 0 4px #ede6fe; }
html.fh-v2 .v2-sel.on .v2-sel-b { border-color: #7c3aed; box-shadow: 0 0 0 4px #ede6fe; }
html.fh-v2 .v2-sel-b.vuoto { color: #6f6987; font-weight: 600; }
html.fh-v2 .v2-sel-b:disabled { opacity: .55; cursor: not-allowed; }
html.fh-v2 .v2-sel-v { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html.fh-v2 .v2-sel-b .bi { font-size: 11px; color: #9a93b5; transition: transform .2s; flex: none; }
html.fh-v2 .v2-sel.on .v2-sel-b .bi { transform: rotate(180deg); }
.v2-sel-p { position: fixed; z-index: 4000; max-height: 340px; overflow: auto; background: #fff; border: 1px solid #ece8f6; border-radius: 18px; padding: 6px; box-shadow: 0 24px 60px -18px rgba(30,15,70,.45); font-family: 'Plus Jakarta Sans', system-ui, sans-serif; animation: v2DdIn .16s ease-out; scrollbar-width: thin; }
.v2-sel-p[hidden] { display: none; }
.v2-sel-h { font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #9a93b5; padding: 10px 11px 4px; }
.v2-sel-o { display: flex; align-items: center; gap: 10px; width: 100%; padding: 9px 11px; border: 0; border-radius: 11px; background: none; color: #17132b; font: inherit; font-size: 14px; font-weight: 600; text-align: left; cursor: pointer; }
.v2-sel-o:hover { background: #f6f3fd; }
.v2-sel-o .t { flex: 1; min-width: 0; }
.v2-sel-o .d { width: 10px; height: 10px; border-radius: 50%; flex: none; }
.v2-sel-o.sel { background: #f3eefe; color: #6d28d9; font-weight: 800; }
.v2-sel-o.sel::after { content: "\F26E"; font-family: bootstrap-icons; color: #7c3aed; }
.v2-sel-o.dis { opacity: .45; cursor: default; }
/* telefono: l'elenco sale dal basso, grande per il pollice */
.v2-sel-p.foglio { left: 8px !important; right: 8px; bottom: calc(8px + env(safe-area-inset-bottom, 0px)); top: auto !important; width: auto !important; max-height: 62vh; border-radius: 22px; padding: 10px; animation: v2Foglio .2s ease-out; box-shadow: 0 -10px 60px rgba(10,5,30,.45); }
.v2-sel-p.foglio .v2-sel-o { padding: 14px 14px; font-size: 16px; }
@keyframes v2Foglio { from { transform: translateY(30px); opacity: 0; } }

/* ═══════════════════════════════════════════════════════════════════════
   OGNI MONITOR (2026-10-13): tutto il Hub è disegnato per un 1440; sotto e sopra si scala
   in proporzione, così un 11" (1280-1366), un 14" (1512) e un 34" (3440) vedono la stessa
   pagina, solo più piccola o più grande. Il telefono (≤ 992) ha il suo layout.
   ═══════════════════════════════════════════════════════════════════════ */
@media (min-width: 993px) and (max-width: 1199px) { html.fh-v2 .fh-content, html.fh-v2 .fh-topbar, html.fh-v2 .fh-sidebar { zoom: .8; } }
@media (min-width: 1200px) and (max-width: 1399px) { html.fh-v2 .fh-content, html.fh-v2 .fh-topbar, html.fh-v2 .fh-sidebar { zoom: .86; } }
@media (min-width: 1400px) and (max-width: 1599px) { html.fh-v2 .fh-content, html.fh-v2 .fh-topbar, html.fh-v2 .fh-sidebar { zoom: .92; } }
/* schermi bassi (portatili 768-900 px di altezza): l'apertura della home non deve riempire tutto */
html.fh-v2 .v2-hero { align-items: start; padding: 26px 28px; gap: 20px; }
html.fh-v2 .v2-hero .v2-ring { align-self: center; }
html.fh-v2 .v2-h1 { font-size: clamp(30px, 2.7vw, 44px); margin: 12px 0 4px; }
html.fh-v2 .v2-hsub { margin: 0; }
html.fh-v2 .v2-fwrap { margin-top: 16px; }
html.fh-v2 .v2-rete svg { max-height: 300px !important; min-height: 0 !important; }
html.fh-v2 .v2-rete { padding: 20px 20px 16px; }
@media (max-height: 820px) and (min-width: 993px) {
    html.fh-v2 .v2-h1 { font-size: 34px; margin: 8px 0 2px; }
    html.fh-v2 .v2-hero { padding: 20px 24px; }
    html.fh-v2 .v2-rete svg { max-height: 240px !important; }
    html.fh-v2 .v2-ring { width: 150px; height: 150px; }
}
/* la mappa si adatta all'altezza dell'apertura (niente spazio vuoto sotto il saluto) */
@media (min-width: 993px) {
    html.fh-v2 .v2-rete svg { flex: 1 1 0 !important; height: 0 !important; min-height: 160px !important; max-height: none !important; }
}
/* monitor molto larghi (34" ultrawide, 4K): pagina più larga e più grande, niente bande vuote ai lati */
@media (min-width: 2400px) {
    html.fh-v2 .fh-content > *, html.fh-v2 .v2-sez { max-width: 1760px; }
    html.fh-v2 .fh-topbar { max-width: 1760px !important; }
}
@media (min-width: 2400px) and (max-width: 2899px) { html.fh-v2 .fh-content, html.fh-v2 .fh-topbar { zoom: 1.25 !important; } html.fh-v2 .fh-sidebar { zoom: 1.2 !important; } html.fh-v2 .fh-main { margin-left: 345px !important; } }
@media (min-width: 2900px) { html.fh-v2 .fh-content, html.fh-v2 .fh-topbar { zoom: 1.55 !important; } html.fh-v2 .fh-sidebar { zoom: 1.4 !important; } html.fh-v2 .fh-main { margin-left: 400px !important; } }
@media (min-width: 993px) and (max-width: 1350px) {
    html.fh-v2 .v2-hero:not(.v2-hero-full) { grid-column: span 8 !important; }
    html.fh-v2 .v2-rete { grid-column: span 4 !important; }
    html.fh-v2 .v2-rete svg { width: 100% !important; }
}
@media (min-width: 993px) and (max-width: 1350px) { html.fh-v2 .v2-k { grid-column: span 3 !important; } }

/* ═══ TABELLA LEAD: parte alta identica al prototipo (hub-v2.js → testataLead) ═══ */
html.fh-v2 .v2-lc { background: #f5f3fb !important; border-radius: 28px !important; overflow: hidden !important; box-shadow: none !important; }
html.fh-v2 .v2-lc > .fh-card-head { position: relative; display: flex !important; align-items: center; flex-wrap: wrap; gap: 10px; padding: 22px 24px !important; background: radial-gradient(60% 140% at 0% 0%, rgba(219,39,119,.35), transparent 60%), radial-gradient(50% 120% at 100% 100%, rgba(124,58,237,.3), transparent 60%), #16142e !important; border: 0 !important; }
html.fh-v2 .v2-lc-t { display: flex; align-items: center; gap: 14px; margin-right: auto; }
html.fh-v2 .v2-lc-ic { width: 52px; height: 52px; border-radius: 17px; display: flex; align-items: center; justify-content: center; font-size: 24px; color: #fff; background: #db2777; box-shadow: 0 12px 30px -8px #db2777; }
html.fh-v2 .v2-lc-t small { display: block; font-size: 11.5px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: #f6c56e; }
html.fh-v2 .v2-lc-t b { display: inline-block; font-size: 32px; font-weight: 800; letter-spacing: -.03em; color: #fff; line-height: 1.05; margin-right: 10px; }
html.fh-v2 .v2-lc-t .v2-lc-n { font-size: 14px !important; color: rgba(255,255,255,.6) !important; }
html.fh-v2 .v2-lc .v2-lc-b { height: 44px; display: inline-flex !important; align-items: center; gap: 8px; padding: 0 18px !important; border-radius: 14px !important; border: 1px solid rgba(255,255,255,.14) !important; background: rgba(255,255,255,.07) !important; color: #fff !important; font-weight: 800 !important; font-size: 14px !important; margin: 0 !important; }
html.fh-v2 .v2-lc .v2-lc-b:hover { background: rgba(255,255,255,.14) !important; }
html.fh-v2 .v2-lc .v2-lc-b.btn-primary { border: 0 !important; background: linear-gradient(135deg, #7c3aed, #db2777) !important; box-shadow: 0 10px 26px -8px rgba(219,39,119,.6); }
html.fh-v2 .v2-lc > .fh-card-body { padding: 22px 24px 20px !important; background: #f5f3fb; }
/* ricerca e strumenti */
html.fh-v2 .v2-lc .lead-toolbar { gap: 10px !important; margin-bottom: 18px !important; }
html.fh-v2 .v2-lc .lead-search { flex: 1 1 260px !important; }
html.fh-v2 .v2-lc .lead-search input { height: 48px !important; border-radius: 16px !important; background: #fff !important; font-size: 15px !important; padding-left: 44px !important; border: 1px solid #ece8f6 !important; }
html.fh-v2 .v2-lc .lead-search > .bi-search { left: 16px !important; font-size: 17px !important; }
html.fh-v2 .v2-lc .lead-toolbar .v2-sel-b { height: 48px; border-radius: 16px; border-color: #ece8f6; font-size: 14px; }
html.fh-v2 .v2-lc .lead-toolbar .v2-sel-b .k, html.fh-v2 .v2-fbtn .k { color: #6f6987; font-weight: 600; margin-right: 4px; }
html.fh-v2 .v2-lc .lead-toolbar .v2-sel-b.set { background: #f5f0ff; border-color: #c4b5fd; color: #6d28d9; }
html.fh-v2 .v2-seg { display: inline-flex; padding: 4px; border-radius: 14px; background: #ebe7f6; gap: 2px; height: 48px; align-items: center; }
html.fh-v2 .v2-seg a { height: 40px; display: inline-flex; align-items: center; padding: 0 16px; border-radius: 11px; font-size: 14px; font-weight: 700; color: #5b4b8a !important; text-decoration: none !important; }
html.fh-v2 .v2-seg a.on { background: #fff; color: #17132b !important; box-shadow: 0 2px 8px rgba(40,20,90,.12); }
html.fh-v2 .v2-lc .v2-csv { width: 48px; height: 48px !important; padding: 0 !important; justify-content: center; border-radius: 16px !important; font-size: 17px !important; }
/* le tre cose di oggi */
html.fh-v2 .v2-lc .v2-fgest .lead-chip { display: flex !important; align-items: center; gap: 14px; padding: 14px 16px !important; border-radius: 18px !important; background: #fff !important; border: 1px solid #ece8f6 !important; height: auto !important; }
html.fh-v2 .v2-lc .v2-fgest .lead-chip > i { width: 44px; height: 44px; border-radius: 14px; flex: none; display: flex; align-items: center; justify-content: center; font-size: 20px; color: #fff; background: var(--k); box-shadow: 0 10px 22px -10px var(--k); }
html.fh-v2 .v2-lc .v2-fgest .lead-chip > span { display: block; min-width: 0; }
html.fh-v2 .v2-lc .v2-fgest .lead-chip > span b { display: block; font-size: 24px !important; font-weight: 800; color: #17132b !important; background: none !important; padding: 0 !important; line-height: 1; margin: 0 !important; }
html.fh-v2 .v2-lc .v2-fgest .lead-chip > span em { display: block; font-style: normal; font-size: 13px; font-weight: 600; color: #6f6987; margin-top: 4px; }
html.fh-v2 .v2-lc .v2-fgest .lead-chip.active { border-color: var(--k) !important; box-shadow: 0 0 0 3px color-mix(in srgb, var(--k) 18%, transparent) !important; }
html.fh-v2 .v2-lc .v2-fbtn { height: 48px; border-radius: 16px; background: #fff; border-color: #ece8f6; font-size: 14px; }
html.fh-v2 .v2-lc .v2-fbtn b { color: #17132b; }
html.fh-v2 .v2-lc .v2-fbtn.on { background: #f5f0ff; border-color: #c4b5fd; } html.fh-v2 .v2-lc .v2-fbtn.on b { color: #6d28d9; }
/* l'elenco: scheda bianca come il prototipo */
html.fh-v2 .v2-lc .v2-lp { background: #fff; border: 1px solid #ece8f6; border-radius: 22px; }
@media (max-width: 640px) {
    html.fh-v2 .v2-lc > .fh-card-head { padding: 18px 16px !important; }
    html.fh-v2 .v2-lc-t b { font-size: 26px; }
    html.fh-v2 .v2-lc .v2-lc-b { flex: 1 1 auto; justify-content: center; padding: 0 10px !important; font-size: 13px !important; }
    html.fh-v2 .v2-lc > .fh-card-body { padding: 14px 12px !important; }
    html.fh-v2 .v2-lc .lead-toolbar { display: flex !important; flex-wrap: wrap; }
    html.fh-v2 .v2-lc .lead-toolbar > * { flex: 1 1 calc(50% - 5px) !important; }
    html.fh-v2 .v2-lc .lead-search { flex: 1 1 100% !important; }
    html.fh-v2 .v2-seg { flex: 1 1 calc(100% - 58px) !important; } html.fh-v2 .v2-seg a { flex: 1; justify-content: center; }
    html.fh-v2 .v2-lc .v2-csv { flex: 0 0 48px !important; }
    html.fh-v2 .v2-lc .v2-fgest .lead-chip { flex-direction: column; align-items: flex-start; gap: 8px; padding: 12px !important; }
    html.fh-v2 .v2-lc .v2-fgest .lead-chip > span em { font-size: 11.5px; }
}
@media (max-width: 640px) {
    html.fh-v2 .v2-lc .v2-fgest .lead-chip .lg { display: none; }
    html.fh-v2 .v2-lc .lead-toolbar .v2-sel-b .k { display: none; }
}
/* righe pulite (prototipo) */
html.fh-v2 .v2-lp .v2-ltag.v2-via, html.fh-v2 .v2-lp .v2-r2 .v2-mail { display: none !important; }
html.fh-v2 .v2-lt.v2-lp #leadTable tbody tr.row-link > td { border: 0 !important; box-shadow: none !important; background: transparent !important; }
html.fh-v2 .v2-lp .v2-r2 { color: #6f6987; }
html.fh-v2 .v2-lp .v2-r2 .qinfo-b { color: #17132b !important; font-weight: 700 !important; }
html.fh-v2 .v2-lp .v2-r2 .c-rich-m { display: none !important; }
html.fh-v2 .v2-lp .v2-r2 > :first-child::before, html.fh-v2 .v2-lp .v2-r2 .v2-meta > :first-child::before { content: none !important; }
html.fh-v2 .v2-lp .v2-r2 .v2-meta + *::before { content: "·" !important; margin: 0 6px; color: #c4bfd6; }
html.fh-v2 .v2-lp td.c-gest .v2-nx { background: none !important; padding: 0 !important; color: #17132b !important; font-size: 13.5px !important; font-weight: 700 !important; display: inline-flex !important; align-items: center; gap: 6px; }
html.fh-v2 .v2-lp td.c-gest .v2-nx i { color: #7c3aed; }
html.fh-v2 .v2-lp td.c-gest .v2-nx.late, html.fh-v2 .v2-lp td.c-gest .v2-nx.late i { color: #b91c1c !important; }
html.fh-v2 .v2-lp td.v2-has-av { position: relative; }
html.fh-v2 .v2-lp .v2-av { position: absolute; left: 7px; top: 50%; transform: translateY(-50%); z-index: 2; width: 26px; height: 26px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 10.5px; font-weight: 800; color: #fff; background: linear-gradient(140deg, #db2777, #7c3aed); pointer-events: none; }
html.fh-v2 .v2-lp .v2-av.vuoto { background: #e4e0ef; color: #8a84a3; }
html.fh-v2 .v2-lp td.v2-has-av .v2-sel-b { padding-left: 40px; height: 40px; border-radius: 12px; font-size: 13.5px; }
@container (max-width: 700px) {
    html.fh-v2 .v2-lt.v2-lp .v2-r2 .v2-mail { display: none !important; }
    html.fh-v2 .v2-lp td.c-gest .v2-nx { justify-content: flex-end; text-align: right; }
}
@container (max-width: 700px) { html.fh-v2 .v2-lp .v2-r2 .c-rich-m { display: none !important; } html.fh-v2 .v2-lp td.c-gest .v2-nx { white-space: nowrap; } }

/* ═══════════════════════════════════════════════════════════════════════
   SCHEDA LEAD = PROTOTIPO (master/lead.php) — solo aspetto, stessi elementi
   ═══════════════════════════════════════════════════════════════════════ */
html.fh-v2 .fh-pg-lead .v2-lead-top { position: relative !important; top: auto !important; overflow: visible; border: 1px solid rgba(255,255,255,.09) !important; border-radius: 28px !important; background: radial-gradient(60% 140% at 0% 0%, rgba(34,197,94,.22), transparent 60%), radial-gradient(50% 120% at 100% 100%, rgba(219,39,119,.25), transparent 60%), #16142e !important; color: #fff; box-shadow: 0 20px 50px rgba(0,0,0,.3) !important; margin-bottom: 18px !important; }
html.fh-v2 .fh-pg-lead .v2-lead-top .fh-card-body { padding: 24px 26px !important; }
html.fh-v2 .fh-pg-lead .lead-head { align-items: flex-start; gap: 18px !important; }
html.fh-v2 .fh-pg-lead .lead-avatar { --q: #7c3aed; width: 64px !important; height: 64px !important; border-radius: 20px !important; font-size: 22px !important; background: linear-gradient(140deg, var(--q), color-mix(in srgb, var(--q) 50%, #fff)) !important; box-shadow: 0 12px 30px -10px var(--q) !important; }
html.fh-v2 .fh-pg-lead .lead-head .v2-kick { font-size: 11.5px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: #f6c56e; }
html.fh-v2 .fh-pg-lead .lead-head h2 { font-size: clamp(26px, 2.4vw, 36px) !important; color: #fff !important; letter-spacing: -.03em; margin: 2px 0 6px !important; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
html.fh-v2 .fh-pg-lead .v2-qq { --q: #22c55e; font-size: 12px; font-weight: 800; padding: 4px 10px; border-radius: 99px; background: color-mix(in srgb, var(--q) 22%, transparent); color: color-mix(in srgb, var(--q) 55%, #fff); letter-spacing: 0; }
html.fh-v2 .fh-pg-lead .lead-head .text-muted { color: rgba(255,255,255,.7) !important; font-size: 14px !important; }
/* le azioni grandi */
html.fh-v2 .fh-pg-lead .v2-lead-az { display: grid !important; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px !important; margin-top: 18px !important; }
html.fh-v2 .fh-pg-lead .v2-lead-az .btn { height: 54px; border-radius: 16px !important; justify-content: center; font-size: 14.5px !important; font-weight: 800 !important; color: #fff !important; background: rgba(255,255,255,.07) !important; border: 1px solid rgba(255,255,255,.12) !important; padding: 0 10px !important; }
html.fh-v2 .fh-pg-lead .v2-lead-az .btn i { font-size: 18px; }
html.fh-v2 .fh-pg-lead .v2-lead-az .btn:hover { background: rgba(255,255,255,.13) !important; }
html.fh-v2 .fh-pg-lead .v2-lead-az .btn-success { background: #16a34a !important; border: 0 !important; }
html.fh-v2 .fh-pg-lead .v2-lead-az a[data-contatto="whatsapp"] { background: #25d366 !important; border: 0 !important; }
html.fh-v2 .fh-pg-lead .lead-head > div:nth-child(2) { flex: 1 1 520px !important; }
/* a destra: stato e icone di servizio */
html.fh-v2 .fh-pg-lead .lead-head-right { flex-direction: column; align-items: flex-end !important; gap: 10px !important; flex-wrap: nowrap !important; }
html.fh-v2 .fh-pg-lead .lead-status-pill { background: transparent !important; border: 0 !important; padding: 0 !important; }
html.fh-v2 .fh-pg-lead .lead-status-pill .lsp-dot { display: none; }
html.fh-v2 .fh-pg-lead .lead-status-pill .v2-sel-b { height: 46px; min-width: 220px; background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.18); color: #fff; font-size: 14.5px; }
html.fh-v2 .fh-pg-lead .lead-status-pill .v2-sel-b::before { content: "Stato"; color: rgba(255,255,255,.55); font-weight: 600; }
html.fh-v2 .fh-pg-lead .lead-status-pill .v2-sel-b .bi { color: rgba(255,255,255,.6); }
html.fh-v2 .fh-pg-lead .v2-mini { width: 42px; height: 42px; padding: 0 !important; display: inline-flex !important; align-items: center; justify-content: center; border-radius: 13px !important; background: rgba(255,255,255,.07) !important; border: 1px solid rgba(255,255,255,.14) !important; color: #fff !important; font-size: 16px; }
html.fh-v2 .fh-pg-lead .v2-mini.btn-outline-danger { color: #fca5a5 !important; }
html.fh-v2 .fh-pg-lead .lead-head-right .v2-mini { margin: 0 !important; }
html.fh-v2 .fh-pg-lead .lead-head-right { display: grid !important; grid-template-columns: repeat(4, 42px); justify-content: end; }
html.fh-v2 .fh-pg-lead .lead-head-right > .v2-lead-agenda, html.fh-v2 .fh-pg-lead .lead-head-right > .lead-status-pill { grid-column: 1 / -1; justify-self: end; }
html.fh-v2 .fh-pg-lead .v2-ag { background: rgba(246,197,110,.14) !important; color: #f6c56e !important; border-color: rgba(246,197,110,.3) !important; }
html.fh-v2 .fh-pg-lead .v2-ag.v2-ag-a { background: rgba(14,165,233,.15) !important; color: #7dd3fc !important; border-color: rgba(14,165,233,.35) !important; }
html.fh-v2 .fh-pg-lead .v2-ag.scaduto { background: rgba(239,68,68,.15) !important; color: #fca5a5 !important; border-color: rgba(239,68,68,.35) !important; }
/* schede a pillola su fondo lilla */
html.fh-v2 .fh-pg-lead #leadTabs { background: #ebe7f6 !important; padding: 6px !important; border-radius: 16px !important; }
html.fh-v2 .fh-pg-lead #leadTabs .nav-link { height: 40px; color: #5b4b8a !important; font-weight: 700 !important; }
html.fh-v2 .fh-pg-lead #leadTabs .nav-link.active { background: #fff !important; color: #17132b !important; box-shadow: 0 2px 8px rgba(40,20,90,.12) !important; }
html.fh-v2 .fh-pg-lead #leadTabs .nav-link .badge { background: #f3eefe !important; color: #6d28d9 !important; }
/* i riquadri come le «box» del prototipo */
html.fh-v2 .fh-pg-lead .tab-content .fh-card, html.fh-v2 .fh-pg-lead .v2-lead-mkt > div { background: #fff !important; border: 1px solid #ece8f6 !important; border-radius: 22px !important; box-shadow: none !important; }
html.fh-v2 .fh-pg-lead .tab-content .fh-card-head { border: 0 !important; padding: 18px 20px 4px !important; background: transparent !important; }
html.fh-v2 .fh-pg-lead .tab-content .fh-card-head h2 { font-size: 16px !important; font-weight: 800 !important; color: #17132b !important; display: flex; align-items: center; gap: 10px; }
html.fh-v2 .fh-pg-lead .tab-content .fh-card-head h2 > i:first-child { width: 32px; height: 32px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; font-size: 15px; color: #fff; background: linear-gradient(140deg, #7c3aed, #db2777); flex: none; }
html.fh-v2 .fh-pg-lead .tab-content .fh-card-body { padding: 14px 20px 18px !important; }
/* attività: scrivere in alto, la storia sotto come nel prototipo */
html.fh-v2 .fh-pg-lead #activityForm { border: 1px solid #ece8f6; border-radius: 16px; padding: 10px; background: #faf9fe; display: flex; flex-direction: column-reverse; gap: 8px; }
html.fh-v2 .fh-pg-lead #activityForm textarea { border: 0 !important; background: transparent !important; box-shadow: none !important; font-size: 15px !important; min-height: 64px; padding: 4px 6px !important; }
html.fh-v2 .fh-pg-lead #activityForm .d-flex { margin: 0 !important; }
html.fh-v2 .fh-pg-lead #activityForm .btn-primary { height: 38px; padding: 0 18px !important; border-radius: 12px !important; border: 0 !important; background: linear-gradient(135deg, #7c3aed, #db2777) !important; font-weight: 800 !important; }
html.fh-v2 .fh-pg-lead #activityTimeline li { border-left: 2px solid #f0edf8 !important; padding: 2px 0 16px 22px !important; margin-left: 8px; }
html.fh-v2 .fh-pg-lead #activityTimeline li::before { background: #fff !important; border: 2px solid #a78bfa !important; width: 12px !important; height: 12px !important; left: -7px !important; top: 4px !important; }
html.fh-v2 .fh-pg-lead #activityTimeline .tl-txt { font-size: 14px !important; color: #17132b; }
html.fh-v2 .fh-pg-lead #activityTimeline .tl-meta { font-size: 12px !important; color: #8a84a3 !important; margin-top: 3px; }
/* campi */
html.fh-v2 .fh-pg-lead .tab-content input.form-control, html.fh-v2 .fh-pg-lead .tab-content textarea.form-control { border-radius: 13px !important; border: 1px solid #ece8f6 !important; background: #faf9fe !important; min-height: 42px; font-size: 14.5px !important; }
html.fh-v2 .fh-pg-lead .lead-fact, html.fh-v2 .fh-pg-lead .qual-item { background: #faf9fe !important; border: 1px solid #ece8f6 !important; border-radius: 14px !important; }
@media (max-width: 1250px) { html.fh-v2 .fh-pg-lead .v2-lead-az { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 992px) {
    html.fh-v2 .fh-pg-lead .lead-head-right { width: 100%; grid-template-columns: repeat(4, 1fr); justify-content: stretch; }
    html.fh-v2 .fh-pg-lead .lead-head-right > .v2-lead-agenda, html.fh-v2 .fh-pg-lead .lead-head-right > .lead-status-pill { justify-self: stretch; }
    html.fh-v2 .fh-pg-lead .v2-mini { width: 100%; }
    html.fh-v2 .fh-pg-lead .lead-status-pill .v2-sel-b { width: 100%; }
}
@media (max-width: 640px) {
    html.fh-v2 .fh-pg-lead .v2-lead-top .fh-card-body { padding: 18px 16px !important; }
    html.fh-v2 .fh-pg-lead .lead-avatar { width: 52px !important; height: 52px !important; }
    html.fh-v2 .fh-pg-lead .v2-lead-az { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px !important; }
    html.fh-v2 .fh-pg-lead .v2-lead-az .btn { flex-direction: column; height: 64px; gap: 4px !important; font-size: 12px !important; }
}
html.fh-v2 .fh-pg-lead .lead-head .v2-kick { display: block; border: 0; background: none; padding: 0; }
html.fh-v2 .fh-pg-lead .lead-head .v2-kick b { display: none; }

/* ═══════════════════════════════════════════════════════════════════════
   MODELLO PER TUTTE LE PAGINE (2026-10-13) — come i prototipi Totem / Lead / Scheda
   ═══════════════════════════════════════════════════════════════════════ */
/* 1 · testata scura */
html.fh-v2 .v2-ph { position: relative; flex-wrap: wrap; gap: 16px 18px !important; padding: 24px 26px !important; border-radius: 28px; overflow: hidden; color: #fff; background: radial-gradient(60% 140% at 0% 0%, color-mix(in srgb, var(--c) 40%, transparent), transparent 60%), radial-gradient(50% 120% at 100% 100%, rgba(219,39,119,.22), transparent 60%), #16142e; border: 1px solid rgba(255,255,255,.08); box-shadow: 0 20px 50px rgba(0,0,0,.28); margin-bottom: 18px !important; }
html.fh-v2 .v2-ph-ic { width: 56px !important; height: 56px !important; border-radius: 18px !important; font-size: 25px !important; }
html.fh-v2 .v2-ph-t { flex: 1 1 260px; }
html.fh-v2 .v2-ph-k { font-size: 11.5px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: #f6c56e; margin-bottom: 2px; }
html.fh-v2 .v2-ph h1 { color: #fff !important; font-size: clamp(26px, 2.4vw, 38px) !important; }
html.fh-v2 .v2-ph p { color: rgba(255,255,255,.66) !important; font-size: 14.5px !important; }
html.fh-v2 .v2-ph-back { flex: 1 1 100%; order: -1; display: inline-block; font-size: 13px !important; color: rgba(255,255,255,.6) !important; margin: -6px 0 -4px !important; }
html.fh-v2 .v2-ph-az { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; justify-content: flex-end; }
html.fh-v2 .v2-ph-az > * { margin: 0 !important; }
html.fh-v2 .v2-ph-az :is(a, button).btn { height: 44px; display: inline-flex !important; align-items: center; gap: 8px; padding: 0 18px !important; border-radius: 14px !important; border: 1px solid rgba(255,255,255,.14) !important; background: rgba(255,255,255,.07) !important; color: #fff !important; font-weight: 800 !important; font-size: 14px !important; box-shadow: none !important; }
html.fh-v2 .v2-ph-az :is(a, button).btn:hover { background: rgba(255,255,255,.14) !important; }
html.fh-v2 .v2-ph-az :is(a, button).btn-primary, html.fh-v2 .v2-ph-az :is(a, button).btn-success { border: 0 !important; background: linear-gradient(135deg, #7c3aed, #db2777) !important; box-shadow: 0 10px 26px -8px rgba(219,39,119,.6) !important; }
html.fh-v2 .fh-topbar > .fh-gap-2.v2-via { display: none !important; }
/* 2 · i riquadri */
html.fh-v2 .fh-content:not(:has(.v2d)) .fh-card:not(.v2-lead-top):not(.v2-lc) { background: #fff !important; border: 1px solid #ece8f6 !important; border-radius: 22px !important; box-shadow: none !important; overflow: hidden; }
html.fh-v2 .fh-content:not(:has(.v2d)) .fh-card:not(.v2-lead-top):not(.v2-lc) > .fh-card-head { border: 0 !important; padding: 18px 20px 6px !important; background: transparent !important; }
html.fh-v2 .fh-content:not(:has(.v2d)) .fh-card-head h2, html.fh-v2 .fh-content:not(:has(.v2d)) .fh-card-head h3 { font-size: 16px !important; font-weight: 800 !important; color: #17132b !important; display: flex; align-items: center; gap: 10px; margin: 0; }
html.fh-v2 .fh-content:not(:has(.v2d)) .fh-card-head :is(h2, h3) > i:first-child { width: 32px; height: 32px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; font-size: 15px; color: #fff !important; background: linear-gradient(140deg, #7c3aed, #db2777); flex: none; }
html.fh-v2 .fh-content:not(:has(.v2d)) .fh-card:not(.v2-lead-top):not(.v2-lc) > .fh-card-body { padding: 14px 20px 18px !important; }
/* 3 · tabelle */
html.fh-v2 .fh-content :is(.fh-table, table.table):not(#leadTable) { border-collapse: separate; border-spacing: 0; }
html.fh-v2 .fh-content :is(.fh-table, table.table):not(#leadTable) thead th { background: transparent !important; border: 0 !important; border-bottom: 1px solid #f0edf8 !important; font-size: 11px !important; font-weight: 800 !important; letter-spacing: .1em; text-transform: uppercase; color: #9a93b5 !important; padding: 12px 12px 10px !important; white-space: nowrap; }
html.fh-v2 .fh-content :is(.fh-table, table.table):not(#leadTable) tbody td { border: 0 !important; border-bottom: 1px solid #f4f2f9 !important; padding: 12px !important; font-size: 14px; color: #17132b; vertical-align: middle; }
html.fh-v2 .fh-content :is(.fh-table, table.table):not(#leadTable) tbody tr:hover td { background: #fbf9ff !important; }
html.fh-v2 .fh-content :is(.fh-table, table.table):not(#leadTable) tbody tr:last-child td { border-bottom: 0 !important; }
/* 4 · pulsanti */
html.fh-v2 .fh-content .btn { border-radius: 12px; font-weight: 700; }
html.fh-v2 .fh-content .btn:not(.btn-sm):not(.btn-xs):not(.la-btn) { min-height: 42px; }
html.fh-v2 .fh-content .btn-primary { background: linear-gradient(135deg, #7c3aed, #db2777); border: 0; color: #fff; box-shadow: 0 8px 20px -10px rgba(219,39,119,.6); }
html.fh-v2 .fh-content .btn-primary:hover { filter: brightness(1.06); color: #fff; }
html.fh-v2 .fh-content :is(.btn-outline-primary, .btn-outline-secondary, .btn-light) { background: #fff; border: 1px solid #e6e1f3; color: #3d3466; }
html.fh-v2 .fh-content :is(.btn-outline-primary, .btn-outline-secondary, .btn-light):hover { background: #f6f3fd; border-color: #c4b5fd; color: #17132b; }
html.fh-v2 .fh-content .btn-outline-danger { background: #fff; border: 1px solid #f3d0d0; color: #b91c1c; }
html.fh-v2 .fh-content .btn-success { background: #16a34a; border-color: #16a34a; }
/* 5 · campi */
html.fh-v2 .fh-content :is(input.form-control, textarea.form-control, .form-control:not(select)) { border-radius: 13px !important; border: 1px solid #e6e1f3 !important; background-color: #faf9fe !important; box-shadow: none !important; }
html.fh-v2 .fh-content :is(input.form-control, textarea.form-control):focus { background: #fff !important; border-color: #a78bfa !important; box-shadow: 0 0 0 3px #ede6fe !important; }
html.fh-v2 .fh-content input.form-control:not(.form-control-sm) { min-height: 44px; }
html.fh-v2 .fh-content label { color: #5b5470; }
/* 6 · schede (tab) a pillola */
html.fh-v2 .fh-content :is(.nav-tabs, .nav-pills, .fh-tabs):not(#leadTabs) { display: flex; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; gap: 6px; padding: 6px; border: 0 !important; border-radius: 16px; background: #ebe7f6; margin-bottom: 18px; }
html.fh-v2 .fh-content :is(.nav-tabs, .nav-pills, .fh-tabs):not(#leadTabs) .nav-link { border: 0 !important; border-radius: 12px !important; height: 40px; display: inline-flex; align-items: center; gap: 8px; padding: 0 15px; white-space: nowrap; font-weight: 700; color: #5b4b8a !important; background: transparent !important; }
html.fh-v2 .fh-content :is(.nav-tabs, .nav-pills, .fh-tabs):not(#leadTabs) .nav-link.active { background: #fff !important; color: #17132b !important; box-shadow: 0 2px 8px rgba(40,20,90,.12); }
/* 7 · badge */
html.fh-v2 .fh-content .badge { border-radius: 99px; font-weight: 800; padding: 4px 9px; }
@media (max-width: 640px) {
    html.fh-v2 .v2-ph { padding: 18px 16px !important; border-radius: 24px; }
    html.fh-v2 .v2-ph-ic { width: 46px !important; height: 46px !important; font-size: 21px !important; }
    html.fh-v2 .v2-ph-az { width: 100%; justify-content: stretch; }
    html.fh-v2 .v2-ph-az > * { flex: 1 1 auto; justify-content: center; }
}
html.fh-v2 .v2-ph-az .fh-iconbtn { width: auto !important; min-width: 0 !important; font-size: 14px !important; }
html.fh-v2 .v2-ph-az .fh-iconbtn i { font-size: 16px; }
/* I tasti CON testo nella testata non fanno zoom né nuvoletta: il testo c'è già e lo zoom lo faceva accavallare (14/10/2026) */
html.fh-v2 .v2-ph-az .fh-iconbtn::after { display: none !important; }
html.fh-v2 .v2-ph-az .fh-iconbtn:hover { transform: translateY(-1px); }

/* ═══ TOTEM = PROTOTIPO (hub-v2.js → totemLista) ═══ */
html.fh-v2 .v2-ph .v2-kpis { flex: 1 1 100%; display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 4px 0 0 !important; }
html.fh-v2 .v2-ph .v2-kpis .ov-k { display: flex !important; align-items: center; gap: 14px; padding: 16px 18px !important; border-radius: 20px !important; background: rgba(255,255,255,.05) !important; border: 1px solid rgba(255,255,255,.08) !important; color: #fff !important; box-shadow: none !important; }
html.fh-v2 .v2-ph .v2-kpis .ov-k > i { width: 44px; height: 44px; border-radius: 14px; flex: none; display: flex; align-items: center; justify-content: center; font-size: 19px; color: var(--k); background: color-mix(in srgb, var(--k) 22%, transparent); }
html.fh-v2 .v2-ph .v2-kpis .ov-k b { display: block; font-size: 30px !important; font-weight: 800; color: #fff !important; line-height: 1; }
html.fh-v2 .v2-ph .v2-kpis .ov-k b small { font-size: 15px; color: rgba(255,255,255,.5); }
html.fh-v2 .v2-ph .v2-kpis .ov-k span { display: block; font-size: 12.5px !important; color: rgba(255,255,255,.6) !important; margin-top: 4px; }
html.fh-v2 .v2-ph-az .ov-b { height: 44px; display: inline-flex !important; align-items: center; gap: 8px; padding: 0 18px !important; border-radius: 14px !important; border: 1px solid rgba(255,255,255,.14) !important; background: rgba(255,255,255,.07) !important; color: #fff !important; font-weight: 800 !important; font-size: 14px !important; box-shadow: none !important; text-decoration: none !important; }
html.fh-v2 .v2-ph-az .ov-b.ok { background: #16a34a !important; border: 0 !important; }
html.fh-v2 .v2-ph-az .ov-b.v2-pri { background: linear-gradient(135deg, #7c3aed, #db2777) !important; border: 0 !important; }
html.fh-v2 .v2-ph-az form { margin: 0 !important; }
html.fh-v2 .fh-pg-totem .ov-top { display: none !important; }
html.fh-v2 .fh-pg-totem .ov { background: #f5f3fb; border-radius: 28px; padding: 22px; }
/* da abbinare */
html.fh-v2 .ov-sec.v2-abb { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding: 14px 16px; border-radius: 18px; background: #fff7e6; border: 1px solid #f6dfae; margin-bottom: 22px; }
html.fh-v2 .ov-sec.v2-abb .ov-h { display: flex; align-items: center; gap: 12px; flex: 1 1 260px; margin: 0; font-size: 14px; color: #6b4e12; }
html.fh-v2 .ov-sec.v2-abb .ov-h > i { font-size: 20px; }
html.fh-v2 .ov-sec.v2-abb .ov-h b { color: #4a3407; }
html.fh-v2 .ov-sec.v2-abb .ov-grid { display: flex !important; flex-wrap: wrap; gap: 8px; }
html.fh-v2 .ov-sec.v2-abb .ov-abb { display: inline-flex !important; align-items: center; gap: 10px; padding: 6px 6px 6px 12px !important; min-height: 0 !important; border-radius: 12px !important; background: #fff !important; border: 1px solid #f1dfb5 !important; box-shadow: none !important; width: auto !important; }
html.fh-v2 .ov-sec.v2-abb .ov-abb .cd { font-family: ui-monospace, Menlo, monospace; font-weight: 800; font-size: 16px; letter-spacing: .12em; color: #9a6a0b; }
html.fh-v2 .ov-sec.v2-abb .ov-abb .ab { font-size: 12.5px; font-weight: 800; border-radius: 9px; padding: 7px 11px; background: #f59e0b; color: #fff; }
/* le sale */
html.fh-v2 .v2-sale-h { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
html.fh-v2 .v2-sale-h h2 { margin: 0; font-size: 19px; font-weight: 800; color: #17132b; }
html.fh-v2 .v2-sale-h .n { font-size: 12px; font-weight: 800; padding: 2px 9px; border-radius: 99px; background: #ebe7f6; color: #5b4b8a; }
html.fh-v2 .v2-sale-f { margin-left: auto; display: flex; gap: 6px; flex-wrap: wrap; }
html.fh-v2 .v2-sale-f button { height: 34px; padding: 0 13px; border-radius: 99px; border: 1px solid #ece8f6; background: #fff; font: inherit; font-size: 13px; font-weight: 700; color: #4b4562; cursor: pointer; }
html.fh-v2 .v2-sale-f button.on { background: #17132b; color: #fff; border-color: #17132b; }
html.fh-v2 .v2-sale { display: grid; grid-template-columns: repeat(auto-fill, minmax(380px, 1fr)); gap: 16px; align-items: start; }
html.fh-v2 .v2-sala { background: #fff; border: 1px solid #ece8f6; border-radius: 22px; overflow: hidden; }
html.fh-v2 .v2-sala-h { display: flex; align-items: center; gap: 12px; padding: 16px 18px 12px; }
html.fh-v2 .v2-sala-h .ini { width: 40px; height: 40px; border-radius: 13px; display: flex; align-items: center; justify-content: center; font-weight: 800; color: #fff; background: linear-gradient(140deg, #4b1d8e, #7c3aed); flex: none; }
html.fh-v2 .v2-sala-h b { display: block; font-size: 16.5px; color: #17132b; }
html.fh-v2 .v2-sala-h small { font-size: 12.5px; color: #6f6987; }
html.fh-v2 .v2-sala-h .bar { margin-left: auto; display: flex; gap: 3px; }
html.fh-v2 .v2-sala-h .bar span { width: 9px; height: 22px; border-radius: 4px; background: #e4e0ef; }
html.fh-v2 .v2-sala-h .bar span.on { background: #22c55e; }
/* la riga di uno schermo (è il link di prima) */
html.fh-v2 .v2-sala a.v2-scr { display: grid !important; grid-template-columns: 34px minmax(0, 1fr) auto; grid-template-areas: "ic n tg" "ic s tg" "ic a tg"; column-gap: 12px; align-items: center; padding: 11px 18px !important; border: 0 !important; border-top: 1px solid #f2f0f8 !important; border-radius: 0 !important; box-shadow: none !important; background: #fff !important; min-height: 0 !important; transform: none !important; text-decoration: none !important; color: #17132b !important; position: relative; }
html.fh-v2 .v2-sala a.v2-scr:hover { background: #faf9fe !important; }
html.fh-v2 .v2-sala a.v2-scr::after { content: "\F285"; font-family: bootstrap-icons; position: absolute; right: 18px; top: 50%; transform: translateY(-50%); width: 34px; height: 34px; border-radius: 11px; background: #17132b; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 14px; }
html.fh-v2 .v2-scr .v2-scr-ic { grid-area: ic; width: 34px; height: 34px; border-radius: 11px; display: flex; align-items: center; justify-content: center; background: #f3f0fb; color: #5b4b8a; font-size: 15px; position: relative; }
html.fh-v2 .v2-scr .v2-scr-ic::before { content: ""; position: absolute; left: -12px; top: 50%; margin-top: -5px; width: 10px; height: 10px; border-radius: 50%; background: #cbc5da; }
html.fh-v2 .v2-scr.on .v2-scr-ic::before { background: #22c55e; box-shadow: 0 0 0 4px rgba(34,197,94,.18); }
html.fh-v2 .v2-scr .v2-scr-ic { margin-left: 10px; }
html.fh-v2 .v2-scr .ov-c-top, html.fh-v2 .v2-scr .ov-c-n, html.fh-v2 .v2-scr .ov-c-d, html.fh-v2 .v2-scr .ov-go, html.fh-v2 .v2-scr .ov-t.mono, html.fh-v2 .v2-scr .ov-t:not(.ko):not(.app) { display: none !important; }
html.fh-v2 .v2-scr .ov-c-s { grid-area: n; font-size: 14.5px !important; font-weight: 800 !important; color: #17132b !important; margin: 0 !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html.fh-v2 .v2-scr .ov-c-acc { grid-area: s; font-size: 12.5px !important; color: #6f6987 !important; margin: 2px 0 0 !important; background: none !important; padding: 0 !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html.fh-v2 .v2-scr .ov-c-acc.on { color: #15803d !important; font-weight: 700; }
html.fh-v2 .v2-scr .ov-c-f { grid-area: tg; display: flex; gap: 6px; margin: 0 46px 0 0 !important; padding: 0 !important; border: 0 !important; }
html.fh-v2 .v2-scr .ov-t { font-size: 11px !important; font-weight: 800; padding: 3px 8px !important; border-radius: 99px !important; background: #f1eef8 !important; color: #6b5f91 !important; border: 0 !important; white-space: nowrap; }
html.fh-v2 .v2-scr .ov-t.ko { background: #fff1d6 !important; color: #9a5b00 !important; }
/* pannello «Collega uno schermo» */
.v2-dw { position: fixed; inset: 0; z-index: 3500; }
.v2-dw[hidden] { display: none; }
.v2-dw-ov { position: absolute; inset: 0; background: rgba(8,6,20,.55); }
.v2-dw-p { position: absolute; right: 16px; top: 16px; bottom: 16px; width: min(480px, calc(100% - 32px)); overflow: auto; background: #fff; border-radius: 26px; padding: 26px 22px 22px; box-shadow: 0 30px 80px rgba(0,0,0,.4); animation: v2Foglio .2s ease-out; font-family: 'Plus Jakarta Sans', system-ui, sans-serif; }
.v2-dw-x { position: absolute; right: 16px; top: 16px; width: 38px; height: 38px; border-radius: 12px; border: 1px solid #ece8f6; background: #fff; cursor: pointer; z-index: 2; }
.v2-dw-p .ov-add { margin: 0 !important; border: 0 !important; padding: 0 !important; background: none !important; box-shadow: none !important; }
.v2-dw-p .ov-add-f { display: flex !important; flex-direction: column; gap: 12px; }
.v2-dw-p .ov-add-f label { display: flex; flex-direction: column; gap: 6px; font-weight: 800; font-size: 12.5px; color: #4b4562; }
.v2-dw-p .ov-add-f input { height: 46px; border-radius: 13px; border: 1px solid #e6e1f3; padding: 0 14px; font: inherit; font-size: 16px; }
.v2-dw-p .ov-add-f .ov-b { height: 50px; border-radius: 14px; border: 0; background: linear-gradient(135deg, #7c3aed, #db2777); color: #fff; font-weight: 800; font-size: 15px; }
.v2-dw-p .ov-add-t { padding-right: 40px; margin-bottom: 18px; }
@media (max-width: 1100px) { html.fh-v2 .v2-ph .v2-kpis { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) {
    html.fh-v2 .fh-pg-totem .ov { padding: 12px; border-radius: 22px; }
    html.fh-v2 .v2-sale { grid-template-columns: 1fr; }
    html.fh-v2 .v2-ph .v2-kpis .ov-k { padding: 12px !important; gap: 10px; }
    html.fh-v2 .v2-ph .v2-kpis .ov-k > i { width: 36px; height: 36px; font-size: 16px; }
    html.fh-v2 .v2-ph .v2-kpis .ov-k b { font-size: 24px !important; }
    html.fh-v2 .v2-ph-az .ov-b { flex: 1 1 auto; justify-content: center; padding: 0 10px !important; font-size: 13px !important; }
    html.fh-v2 .v2-scr .ov-c-f { display: none !important; }
    html.fh-v2 .v2-sale-f { margin-left: 0; width: 100%; overflow-x: auto; flex-wrap: nowrap; }
    html.fh-v2 .v2-sale-f button { flex: none; }
    html.fh-v2 .ov-sec.v2-abb .ov-grid { display: grid !important; grid-template-columns: 1fr 1fr; width: 100%; }
    html.fh-v2 .ov-sec.v2-abb .ov-abb { justify-content: space-between; }
    .v2-dw-p { left: 8px; right: 8px; top: auto; bottom: 8px; width: auto; max-height: 88vh; }
}
html.fh-v2 .v2-ph .v2-kpis .ov-k { flex-direction: row !important; text-align: left; }
html.fh-v2 .ov-sec.v2-abb { flex-direction: row !important; }
html.fh-v2 .ov-sec.v2-abb .ov-abb { flex-direction: row !important; border-top: 1px solid #f1dfb5 !important; aspect-ratio: auto !important; height: auto !important; min-height: 0 !important; }
html.fh-v2 .ov-sec.v2-abb .ov-grid { grid-template-columns: none !important; flex: 0 1 auto; }
html.fh-v2 .v2-sale { grid-template-columns: repeat(auto-fill, minmax(420px, 1fr)); }
html.fh-v2 .v2-sala a.v2-scr { flex-direction: row !important; }
@media (max-width: 640px) { html.fh-v2 .v2-sale { grid-template-columns: 1fr; } html.fh-v2 .ov-sec.v2-abb { flex-direction: column !important; align-items: stretch; } html.fh-v2 .ov-sec.v2-abb .ov-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; } }
html.fh-v2 .ov-sec.v2-abb .ov-h { flex-direction: row !important; align-items: center !important; padding: 0 !important; background: none !important; border: 0 !important; min-height: 0 !important; }
html.fh-v2 .ov-sec.v2-abb .ov-h > i { flex: none; }
@media (max-width: 640px) {
    html.fh-v2 .ov-sec.v2-abb { display: block !important; padding: 12px !important; }
    html.fh-v2 .ov-sec.v2-abb .ov-h { margin-bottom: 10px !important; }
    html.fh-v2 .ov-sec.v2-abb .ov-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; }
    html.fh-v2 .ov-sec.v2-abb .ov-abb { padding: 6px 6px 6px 10px !important; min-width: 0; }
    html.fh-v2 .ov-sec.v2-abb .ov-abb .cd { font-size: 14px; letter-spacing: .06em; }
    html.fh-v2 .ov-sec.v2-abb .ov-abb .ab { padding: 6px 8px; font-size: 11.5px; }
}
html.fh-v2 .ov-sec.v2-abb .ov-h > i { background: none !important; padding: 0 !important; font-size: 20px !important; color: #9a6a0b !important; }
.v2-dw-p .ov-add-f label { align-items: stretch !important; text-align: left !important; width: 100% !important; margin: 0 !important; }
.v2-dw-p .ov-add-f label > span { text-align: left !important; }
.v2-dw-p .ov-add-f .v2-sel, .v2-dw-p .ov-add-f input { width: 100% !important; display: block !important; text-align: left !important; }
.v2-dw-p .ov-add-f label.cod input { font-family: ui-monospace, Menlo, monospace; letter-spacing: .2em; font-size: 20px; text-align: center !important; }
.v2-dw-p .ov-add-t { display: flex; gap: 12px; align-items: flex-start; }
.v2-dw-p .ov-add-t b { font-size: 20px; display: block; margin-bottom: 4px; }
/* testate proprie delle pagine (docs-hero, cm-hero, …) col fondo scuro del modello */
html.fh-v2 .v2-ph-own { position: relative; overflow: hidden; border-radius: 28px !important; padding: 24px 26px !important; color: #fff !important; background: radial-gradient(60% 140% at 0% 0%, rgba(124,58,237,.4), transparent 60%), radial-gradient(50% 120% at 100% 100%, rgba(219,39,119,.22), transparent 60%), #16142e !important; border: 1px solid rgba(255,255,255,.08) !important; box-shadow: 0 20px 50px rgba(0,0,0,.28) !important; display: flex; flex-wrap: wrap; align-items: center; gap: 16px 18px; margin-bottom: 18px !important; }
html.fh-v2 .v2-ph-own :is(h1, h2) { color: #fff !important; font-size: clamp(26px, 2.4vw, 38px) !important; font-weight: 800 !important; letter-spacing: -.03em; }
html.fh-v2 .v2-ph-own p { color: rgba(255,255,255,.66) !important; }
html.fh-v2 .v2-ph-own .v2-ph-az { margin-left: auto; }

/* i numeri (stat-card) nella testata scura */
html.fh-v2 .v2-ph .v2-kpis-st { flex: 1 1 100%; display: grid !important; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important; gap: 12px !important; margin: 4px 0 0 !important; }
html.fh-v2 .v2-ph .v2-kpis-st .stat-card { background: rgba(255,255,255,.05) !important; border: 1px solid rgba(255,255,255,.08) !important; border-radius: 20px !important; box-shadow: none !important; padding: 16px 18px !important; transform: none !important; }
html.fh-v2 .v2-ph .v2-kpis-st .stat-card::after { display: none; }
html.fh-v2 .v2-ph .v2-kpis-st .stat-ico { width: 44px !important; height: 44px !important; border-radius: 14px !important; color: var(--sc) !important; background: color-mix(in srgb, var(--sc) 22%, transparent) !important; box-shadow: none !important; }
html.fh-v2 .v2-ph .v2-kpis-st .stat-ico i { color: var(--sc) !important; }
html.fh-v2 .v2-ph .v2-kpis-st .stat-num { color: #fff !important; font-size: 30px !important; font-weight: 800 !important; }
html.fh-v2 .v2-ph .v2-kpis-st .stat-lbl { color: rgba(255,255,255,.85) !important; font-weight: 700; }
html.fh-v2 .v2-ph .v2-kpis-st .stat-sub { color: rgba(255,255,255,.5) !important; }
/* titoletto di sezione sul foglio chiaro */
html.fh-v2 .v2-sez-t { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin: 26px 2px 12px; }
html.fh-v2 .v2-sez-t h2 { margin: 0; font-size: 19px; font-weight: 800; color: #17132b; }
html.fh-v2 .v2-sez-t span { font-size: 13px; color: #6f6987; }
/* riquadri che si aprono col titolo */
html.fh-v2 .v2-fold > .fh-card-head { cursor: pointer; user-select: none; }
html.fh-v2 .v2-fold > .fh-card-head:hover { background: #faf9fe !important; }
html.fh-v2 .v2-fold-ch { margin-left: auto; font-size: 14px; color: #9a93b5; transition: transform .2s; }
html.fh-v2 .v2-fold.chiuso .v2-fold-ch { transform: rotate(-90deg); }
html.fh-v2 .v2-fold.chiuso > .fh-card-body { display: none !important; }
html.fh-v2 .v2-fold.chiuso > .fh-card-head { padding-bottom: 18px !important; }
/* rete: affiliati come le schede dei prototipi */
html.fh-v2 .fh-pg-rete .aff-card { background: #fff; border: 1px solid #ece8f6 !important; border-radius: 18px !important; }
html.fh-v2 .fh-pg-rete .aff-card:hover { border-color: #c4b5fd !important; }
html.fh-v2 .fh-pg-rete .aff-ava { border-radius: 14px !important; background: linear-gradient(140deg, #7c3aed, #db2777) !important; color: #fff !important; }
@media (max-width: 640px) {
    html.fh-v2 .v2-ph .v2-kpis-st { grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
    html.fh-v2 .v2-ph .v2-kpis-st .stat-card { padding: 12px !important; flex-direction: column; align-items: flex-start !important; gap: 8px !important; }
    html.fh-v2 .v2-ph .v2-kpis-st .stat-ico { width: 36px !important; height: 36px !important; }
    html.fh-v2 .v2-ph .v2-kpis-st .stat-num { font-size: 24px !important; }
    html.fh-v2 .v2-ph .v2-kpis-st .stat-sub { display: none; }
    html.fh-v2 .fh-content .fh-card-head { flex-wrap: wrap; }
}
/* righe di numeri «fatte a mano» salite nella testata (hub-v2.js → kpiGenerici) */
html.fh-v2 .v2-ph .v2-kpis-gen { flex: 1 1 100%; display: grid !important; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important; gap: 12px !important; margin: 4px 0 0 !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; }
html.fh-v2 .v2-ph .v2-kpis-gen > * { background: rgba(255,255,255,.05) !important; border: 1px solid rgba(255,255,255,.08) !important; border-radius: 20px !important; box-shadow: none !important; padding: 16px 18px !important; color: rgba(255,255,255,.65) !important; margin: 0 !important; min-width: 0; transform: none !important; }
html.fh-v2 .v2-ph .v2-kpis-gen > *::before, html.fh-v2 .v2-ph .v2-kpis-gen > *::after { display: none !important; }
html.fh-v2 .v2-ph .v2-kpis-gen > * * { color: inherit !important; border-color: rgba(255,255,255,.1) !important; }
html.fh-v2 .v2-ph .v2-kpis-gen :is(b, strong, .n, [class*="num"], [class*="val"], [class*="-v"]) { color: #fff !important; }
html.fh-v2 .v2-ph .v2-kpis-gen > * > :first-child:is(b, strong, div) { color: #fff !important; font-weight: 800; }
@media (max-width: 640px) { html.fh-v2 .v2-ph .v2-kpis-gen { grid-template-columns: 1fr 1fr !important; gap: 8px !important; } html.fh-v2 .v2-ph .v2-kpis-gen > * { padding: 12px !important; } }

/* ═══════════════════════════════════════════════════════════════════════
   PORTALE AFFILIATO — home come il prototipo (hub-v2.js → portaleHome)
   ═══════════════════════════════════════════════════════════════════════ */
html.fh-v2 .v2-pt { display: block !important; padding: 26px 28px !important; }
html.fh-v2 .v2-pt-hh { display: grid; grid-template-columns: minmax(0, 1fr) 190px; gap: 24px; align-items: center; }
html.fh-v2 .v2-pt h1 { font-size: clamp(32px, 3vw, 46px) !important; margin: 2px 0 4px !important; }
html.fh-v2 .v2-pt h1 em { font-style: normal; background: linear-gradient(90deg, #f6c56e, #f9a8d4); -webkit-background-clip: text; background-clip: text; color: transparent; }
html.fh-v2 .v2-pt-nx { margin-top: 18px; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding: 14px 16px; border-radius: 20px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); }
html.fh-v2 .v2-pt-nx .fi { width: 48px; height: 48px; border-radius: 15px; display: flex; align-items: center; justify-content: center; font-size: 21px; background: #f59e0b; flex: none; }
html.fh-v2 .v2-pt-nx .tx { flex: 1 1 220px; min-width: 0; }
html.fh-v2 .v2-pt-nx small { display: block; font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #fcd34d; }
html.fh-v2 .v2-pt-nx b { display: block; font-size: 16.5px; color: #fff; }
html.fh-v2 .v2-pt-nx .tx span { display: block; font-size: 13px; color: rgba(255,255,255,.65); }
html.fh-v2 .v2-pt-nx .az { display: flex; gap: 8px; flex-wrap: wrap; }
html.fh-v2 .v2-pt-b { height: 44px; padding: 0 18px; border-radius: 99px; display: inline-flex; align-items: center; gap: 8px; font-weight: 800; font-size: 14px; color: #fff !important; text-decoration: none !important; background: linear-gradient(90deg, #5e17eb, #db2777); }
html.fh-v2 .v2-pt-b.sec { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.2); }
html.fh-v2 .v2-pt-ring { position: relative; width: 190px; height: 190px; }
html.fh-v2 .v2-pt-ring svg { width: 100%; height: 100%; transform: rotate(-90deg); }
html.fh-v2 .v2-pt-ring circle { fill: none; stroke-width: 14; }
html.fh-v2 .v2-pt-ring .bg { stroke: rgba(255,255,255,.08); }
html.fh-v2 .v2-pt-ring .fg { stroke: url(#v2gPt); stroke-linecap: round; stroke-dasharray: 502; }
html.fh-v2 .v2-pt-ring .in { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
html.fh-v2 .v2-pt-ring b { font-size: 40px; font-weight: 800; color: #fff; line-height: 1; }
html.fh-v2 .v2-pt-ring span { font-size: 12.5px; color: rgba(255,255,255,.65); margin-top: 4px; }
html.fh-v2 a.v2-pt-ev { margin: 16px 0 0 !important; padding: 18px 20px !important; border-radius: 24px !important; background: linear-gradient(120deg, #db2777, #7c3aed 60%, #4b1d8e) !important; box-shadow: 0 20px 40px -18px rgba(219,39,119,.7); }
html.fh-v2 .v2-pt .v2-kpis-st { margin-top: 16px !important; }
/* strumenti */
html.fh-v2 .v2-pt-tools { background: transparent !important; box-shadow: none !important; padding: 4px 0 !important; overflow: visible !important; }
html.fh-v2 .v2-pt-tools::before, html.fh-v2 .v2-pt-tools::after { display: none !important; }
html.fh-v2 .v2-pt-tools h2 { color: #17132b !important; font-size: 19px !important; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
html.fh-v2 .v2-pt-tools h2 span { font-size: 12px; font-weight: 800; padding: 2px 9px; border-radius: 99px; background: #ebe7f6; color: #5b4b8a; }
html.fh-v2 .v2-pt-g + .v2-pt-g { margin-top: 20px; }
html.fh-v2 .v2-pt-g h4 { margin: 0 0 10px; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #8a84a3; }
html.fh-v2 .v2-pt-tl { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; }
html.fh-v2 .v2-pt-tl .app-tile { position: relative; display: grid !important; grid-template-columns: 40px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 12px; align-items: center; padding: 12px 14px !important; min-height: 0 !important; height: auto !important; border-radius: 16px !important; background: #fff !important; border: 1px solid #ece8f6 !important; box-shadow: none !important; text-align: left !important; color: #17132b !important; animation: none !important; transform: none !important; }
html.fh-v2 .v2-pt-tl .app-tile:hover { border-color: #c4b5fd !important; }
html.fh-v2 .v2-pt-tl .app-tile .ic { grid-row: 1 / 3; width: 40px !important; height: 40px !important; border-radius: 12px !important; margin: 0 !important; font-size: 18px !important; }
html.fh-v2 .v2-pt-tl .app-tile .lbl { font-size: 14px !important; font-weight: 700 !important; color: #17132b !important; text-align: left !important; margin: 0 !important; line-height: 1.2; }
html.fh-v2 .v2-pt-tl .app-tile .tile-hint { grid-column: 2; font-size: 11.5px !important; color: #8a84a3 !important; margin: 0 !important; text-align: left !important; }
html.fh-v2 .v2-pt-tl .app-tile .cor { position: absolute; top: 8px; right: 10px; font-size: 11px; color: #9a93b5 !important; background: none !important; }
html.fh-v2 .v2-pt-tl .app-tile.lock { opacity: .7; }
html.fh-v2 .v2-pt-tl .app-tile.lock .ic { background: #b6b0c8 !important; }
/* sotto */
html.fh-v2 .fh-portal .fh-content > .row { margin-top: 22px !important; }
html.fh-v2 .v2-pt-blog { margin-bottom: 16px !important; }
html.fh-v2 .v2-pt-blog > div:first-child { background: transparent !important; color: #17132b !important; padding: 18px 20px 6px !important; }
html.fh-v2 .v2-pt-blog > div:first-child > i { width: 32px; height: 32px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; font-size: 15px !important; color: #fff; background: #f59e0b; }
html.fh-v2 .v2-pt-blog > div:first-child a { color: #6f6987 !important; }
@media (max-width: 1100px) { html.fh-v2 .v2-pt-hh { grid-template-columns: minmax(0, 1fr) 150px; } html.fh-v2 .v2-pt-ring { width: 150px; height: 150px; } html.fh-v2 .v2-pt-ring b { font-size: 32px; } }
@media (max-width: 640px) {
    html.fh-v2 .v2-pt { padding: 18px 16px !important; }
    html.fh-v2 .v2-pt-hh { grid-template-columns: 1fr; }
    html.fh-v2 .v2-pt-ring { display: none; }
    html.fh-v2 .v2-pt-nx .az, html.fh-v2 .v2-pt-b { width: 100%; justify-content: center; }
    html.fh-v2 .v2-pt-tl { grid-template-columns: 1fr 1fr; }
    html.fh-v2 .v2-pt-tl .app-tile { grid-template-columns: 34px minmax(0, 1fr); padding: 10px !important; column-gap: 10px; }
    html.fh-v2 .v2-pt-tl .app-tile .ic { width: 34px !important; height: 34px !important; font-size: 15px !important; }
    html.fh-v2 .v2-pt-tl .app-tile .lbl { font-size: 13px !important; }
}
/* la home del portale ha la classe fh-pg-dash (come la home del Hub), ma usa il foglio chiaro */
html.fh-v2 .fh-portal.fh-pg-dash .fh-content { background: #f5f3fb !important; box-shadow: 0 30px 80px rgba(0,0,0,.35) !important; padding: 18px; }
@media (max-width: 640px) { html.fh-v2 .fh-portal.fh-pg-dash .fh-content { padding: 10px; } }
html.fh-v2 .fh-portal .fh-content { color: #17132b; }
html.fh-v2 .fh-portal .fh-content .v2-ph, html.fh-v2 .fh-portal .fh-content .v2-ph-own { color: #fff; }
html.fh-v2 .v2-pt-tl .app-tile .lbl { align-self: end; }
html.fh-v2 .v2-pt-tl .app-tile .tile-hint { align-self: start; grid-row: 2; }
html.fh-v2 .v2-pt-tl .app-tile:not(:has(.tile-hint)) .lbl { grid-row: 1 / 3; align-self: center; }
html.fh-v2 .v2-pt-tl .app-tile .ic { grid-column: 1; grid-row: 1 / 3; align-self: center; }
html.fh-v2 .v2-pt-tl .app-tile .lbl { grid-column: 2; }
html.fh-v2 .fh-portal.fh-pg-dash .fh-content > :not(.v2-ph) { color: #17132b !important; }

/* ═══ RESTI DEL VECCHIO STILE (controllo 2026-10-13) ═══ */
/* fasce scure/viola del vecchio tema → il riquadro scuro del nuovo Hub */
html.fh-v2 :is(.cmty-guide, .st-card.st-ai, .mkt-myr, .ai-head, .wa-banner, .ap-bar, .mc-motiv, .aihero) { background: radial-gradient(60% 140% at 0% 0%, rgba(124,58,237,.35), transparent 60%), radial-gradient(50% 120% at 100% 100%, rgba(219,39,119,.2), transparent 60%), #16142e !important; color: #fff !important; border: 1px solid rgba(255,255,255,.08) !important; border-radius: 22px !important; box-shadow: 0 16px 40px -20px rgba(0,0,0,.4) !important; }
html.fh-v2 :is(.cmty-guide, .st-card.st-ai, .mkt-myr, .ai-head, .wa-banner, .ap-bar, .mc-motiv) :is(b, strong, h1, h2, h3, h4) { color: #fff !important; }
/* pulsanti con i colori di Bootstrap → quelli del nuovo Hub */
html.fh-v2 .fh-content :is(.btn-secondary, .btn-info, .btn-warning):not(.btn-outline-secondary) { background: #fff !important; border: 1px solid #e6e1f3 !important; color: #3d3466 !important; box-shadow: none !important; }
html.fh-v2 .fh-content :is(.btn-secondary, .btn-info, .btn-warning):not(.btn-outline-secondary):hover { background: #f6f3fd !important; border-color: #c4b5fd !important; }
html.fh-v2 .fh-content .btn-dark { background: #17132b !important; border-color: #17132b !important; color: #fff !important; }
html.fh-v2 .fh-content .btn-link { color: #6d28d9 !important; font-weight: 700; text-decoration: none !important; }

/* ═══ SCHEDA DI UNO SCHERMO = PROTOTIPO (hub-v2.js → schermoScheda) ═══ */
html.fh-v2 .v2-sc .v2-sc-top { flex: 1 1 100%; display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 22px; align-items: start; margin-top: 6px; }
html.fh-v2 .v2-sc-top > * { min-width: 0; }
/* lo schermo */
html.fh-v2 .v2-sc .tt-prev-m { position: static !important; background: #05050c !important; border: 1px solid rgba(255,255,255,.12); border-radius: 22px; padding: 14px; box-shadow: 0 30px 60px -20px rgba(0,0,0,.7); }
html.fh-v2 .v2-sc .tt-prev-m-in { position: static !important; background: transparent !important; box-shadow: none !important; padding: 0 !important; }
html.fh-v2 .v2-sc .tt-prev-m-t { color: #fff !important; margin-bottom: 10px; }
html.fh-v2 .v2-sc .tt-prev-m :is(button, a.btn, .ta-bar a, .ta-bar button) { background: rgba(255,255,255,.07) !important; border: 1px solid rgba(255,255,255,.12) !important; color: rgba(255,255,255,.8) !important; border-radius: 10px !important; box-shadow: none !important; }
html.fh-v2 .v2-sc .tt-prev-m :is(button, a).on, html.fh-v2 .v2-sc .tt-prev-m :is(button, a)[aria-pressed="true"], html.fh-v2 .v2-sc .tt-prev-m .btn-primary { background: #fff !important; color: #17132b !important; }
html.fh-v2 .v2-sc .tt-prev-m * { color: inherit; }
html.fh-v2 .v2-sc .tt-prev-m small, html.fh-v2 .v2-sc .tt-prev-m .text-muted, html.fh-v2 .v2-sc .tt-prev-m [class*="hint"] { color: rgba(255,255,255,.55) !important; }
html.fh-v2 .v2-sc .tt-prev-m iframe, html.fh-v2 .v2-sc .tt-prev-m [class*="frame"], html.fh-v2 .v2-sc .tt-prev-m [class*="tv"] { border-radius: 10px; }
/* lato: stato, comandi, info */
html.fh-v2 .v2-sc-lato { display: flex; flex-direction: column; gap: 12px; }
html.fh-v2 .v2-sc-st { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-radius: 18px; background: rgba(239,68,68,.12); border: 1px solid rgba(239,68,68,.3); color: #fff; }
html.fh-v2 .v2-sc-st.on { background: rgba(34,197,94,.12); border-color: rgba(34,197,94,.35); }
html.fh-v2 .v2-sc-st .pl { width: 12px; height: 12px; border-radius: 50%; flex: none; background: #ef4444; box-shadow: 0 0 0 5px rgba(239,68,68,.2); }
html.fh-v2 .v2-sc-st.on .pl { background: #22c55e; box-shadow: 0 0 0 5px rgba(34,197,94,.2); }
html.fh-v2 .v2-sc-st b { display: block; font-size: 16px; } html.fh-v2 .v2-sc-st span { font-size: 12.5px; color: rgba(255,255,255,.65); }
html.fh-v2 .v2-sc-cmd { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
html.fh-v2 .v2-sc-cmd > form { margin: 0 !important; display: block !important; }
html.fh-v2 .v2-sc-cmd .v2-sc-b, html.fh-v2 .v2-sc-cmd > form > button { width: 100%; height: 54px; border-radius: 16px !important; display: flex !important; align-items: center; justify-content: center; gap: 9px; font: inherit; font-weight: 800 !important; font-size: 14px !important; color: #fff !important; background: rgba(255,255,255,.07) !important; border: 1px solid rgba(255,255,255,.12) !important; cursor: pointer; text-decoration: none !important; box-shadow: none !important; padding: 0 10px !important; }
html.fh-v2 .v2-sc-cmd .v2-sc-b:hover { background: rgba(255,255,255,.14) !important; }
html.fh-v2 .v2-sc-cmd .v2-sc-b i { font-size: 18px; }
html.fh-v2 .v2-sc-cmd .v2-sc-b.pr { grid-column: 1 / -1; background: linear-gradient(135deg, #7c3aed, #db2777) !important; border: 0 !important; }
html.fh-v2 .v2-sc-cmd .v2-sc-b.ok { background: #16a34a !important; border: 0 !important; }
html.fh-v2 .v2-sc-cmd .v2-sc-raro button { height: 42px !important; font-size: 12.5px !important; color: rgba(255,255,255,.7) !important; }
html.fh-v2 .v2-sc-info { display: flex; flex-direction: column; gap: 8px; color: rgba(255,255,255,.75); font-size: 13px; }
html.fh-v2 .v2-sc-info > div:first-child { margin: 0 !important; }
html.fh-v2 .v2-sc-info > div:first-child > span { color: #f6c56e !important; }
html.fh-v2 .v2-sc-info .fk-mini { background: rgba(255,255,255,.07) !important; border-color: rgba(255,255,255,.14) !important; color: #fff !important; }
html.fh-v2 .v2-sc-info details { color: rgba(255,255,255,.75) !important; }
html.fh-v2 .v2-sc-info details summary, html.fh-v2 .v2-sc-info details * { color: inherit !important; }
html.fh-v2 .v2-sc-info .tt-vecchio { background: rgba(255,255,255,.05) !important; border: 1px solid rgba(255,255,255,.1) !important; color: rgba(255,255,255,.7) !important; border-radius: 14px; font-size: 12.5px; padding: 10px 12px; }
html.fh-v2 .v2-sc-info .tt-vecchio * { color: inherit !important; }
html.fh-v2 .v2-sc-info .tt-vecchio a { color: #f6c56e !important; }
html.fh-v2 .v2-sc-tt { display: none !important; }
/* il foglio sotto */
html.fh-v2 .fh-pg-totem .tt-lab-m { display: block !important; margin-top: 0 !important; }
html.fh-v2 .fh-pg-totem .tt-lab-m > .tt-card { max-width: none !important; background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
html.fh-v2 .v2-sc-fn { position: static !important; display: grid !important; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px !important; background: none !important; padding: 0 !important; margin: 0 0 18px !important; }
html.fh-v2 .v2-sc-fn button { display: flex !important; flex-direction: column; align-items: flex-start; gap: 8px; padding: 16px !important; border-radius: 20px !important; background: #fff !important; border: 1px solid #ece8f6 !important; color: #17132b !important; text-align: left; white-space: normal !important; box-shadow: none !important; min-height: 118px; }
html.fh-v2 .v2-sc-fn button i { width: 44px; height: 44px; border-radius: 14px; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 20px; background: var(--k); box-shadow: 0 10px 22px -10px var(--k); }
html.fh-v2 .v2-sc-fn button b { font-size: 15.5px; }
html.fh-v2 .v2-sc-fn button small { font-size: 12.5px; font-weight: 500; color: #6f6987; line-height: 1.35; }
html.fh-v2 .v2-sc-fn button.on { border-color: var(--k) !important; box-shadow: 0 0 0 3px color-mix(in srgb, var(--k) 18%, transparent) !important; }
@media (max-width: 1150px) { html.fh-v2 .v2-sc .v2-sc-top { grid-template-columns: 1fr; } }
@media (max-width: 640px) {
    html.fh-v2 .v2-sc-fn { grid-template-columns: 1fr 1fr; gap: 8px !important; }
    html.fh-v2 .v2-sc-fn button { padding: 12px !important; min-height: 0; }
    html.fh-v2 .v2-sc-fn button small { display: none; }
    html.fh-v2 .v2-sc-fn button i { width: 38px; height: 38px; font-size: 17px; }
    html.fh-v2 .v2-sc .tt-prev-m { padding: 10px; }
}
/* scheda schermo nel portale */
html.fh-v2 .v2-sc-tz { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
html.fh-v2 .v2-sc-tz .tt-lab { display: block !important; }
html.fh-v2 .v2-sc-tz .tt-ctrl { max-width: none !important; width: 100% !important; }
html.fh-v2 .v2-sc .tt-prev-in { position: static !important; background: transparent !important; box-shadow: none !important; padding: 0 !important; }
html.fh-v2 .v2-sc .tt-prev-t { color: #fff !important; margin-bottom: 10px; }
html.fh-v2 .v2-sc .tt-prev-n { color: rgba(255,255,255,.55) !important; }
html.fh-v2 .v2-sc-tz .v2-sc-fn { position: static !important; }
html.fh-v2 .v2-sc-tz .tz-box { background: #fff !important; border: 1px solid #ece8f6 !important; border-radius: 22px !important; box-shadow: none !important; }

/* ═══ CONTENUTO DELLE SCHEDE DELLO SCHERMO (hub-v2.js → schermoContenuti) ═══ */
html.fh-v2 .v2-blk { background: #fff; border: 1px solid #ece8f6; border-radius: 22px; padding: 20px 22px; margin-bottom: 16px; }
html.fh-v2 .v2-blk > * { margin-left: 0 !important; margin-right: 0 !important; }
html.fh-v2 .v2-blk > :first-child { margin-top: 0 !important; }
html.fh-v2 .v2-blk > :last-child { margin-bottom: 0 !important; }
html.fh-v2 .v2-blk :is(.tz-box, .sp, .tt-sv, .tt-pericolo) { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important; }
/* il titolo della sezione */
html.fh-v2 .v2-blk .tt-h2 { border: 0 !important; padding: 0 0 14px !important; margin: 0 0 14px !important; border-bottom: 1px solid #f1eef8 !important; }
html.fh-v2 .v2-blk .tt-h2 .ic { width: 40px !important; height: 40px !important; border-radius: 13px !important; background: linear-gradient(140deg, #7c3aed, #db2777) !important; color: #fff !important; font-size: 18px !important; }
html.fh-v2 .v2-blk .tt-h2 b { font-size: 17px !important; color: #17132b !important; }
html.fh-v2 .v2-blk .tt-h2 i { font-size: 13px !important; color: #6f6987 !important; }
html.fh-v2 .v2-blk :is(.tz-lbl, .sp-h, .tt-sv-h) { font-size: 16px !important; font-weight: 800 !important; color: #17132b !important; margin-bottom: 12px !important; text-transform: none !important; letter-spacing: 0 !important; }
/* i campi: etichetta sopra, campo pieno, tutto allineato */
html.fh-v2 .v2-blk :is(.tt-f, .tz-r) { display: flex !important; flex-wrap: wrap; gap: 14px 12px !important; align-items: flex-end; background: transparent !important; border: 0 !important; padding: 0 !important; margin: 0 0 12px !important; }
html.fh-v2 .v2-blk :is(.tt-f, .tz-r) > div, html.fh-v2 .v2-blk :is(.tt-f, .tz-r) > label { display: flex; flex-direction: column; gap: 6px; min-width: 120px; margin: 0 !important; }
html.fh-v2 .v2-blk label, html.fh-v2 .v2-blk .tt-f label { font-size: 12px !important; font-weight: 800 !important; color: #5b5470 !important; margin: 0 !important; }
html.fh-v2 .v2-blk :is(input[type=text], input[type=number], input[type=time], input[type=date], input[type=datetime-local], input[type=url], input[type=email], input:not([type]), textarea) { height: 44px; border-radius: 13px !important; border: 1px solid #e6e1f3 !important; background: #faf9fe !important; padding: 0 13px !important; font: inherit; font-size: 14.5px !important; color: #17132b !important; box-shadow: none !important; width: 100%; }
html.fh-v2 .v2-blk textarea { height: auto; min-height: 90px; padding: 11px 13px !important; }
html.fh-v2 .v2-blk :is(input, textarea):focus { background: #fff !important; border-color: #a78bfa !important; box-shadow: 0 0 0 3px #ede6fe !important; outline: none; }
html.fh-v2 .v2-blk input[type=color] { width: 56px; height: 44px; border-radius: 12px !important; padding: 3px !important; border: 1px solid #e6e1f3 !important; }
html.fh-v2 .v2-blk input[type=file] { font-size: 13px; }
html.fh-v2 .v2-blk input[type=file]::file-selector-button { height: 38px; border-radius: 11px; border: 1px solid #e6e1f3; background: #fff; padding: 0 14px; font-weight: 700; color: #3d3466; margin-right: 10px; cursor: pointer; }
html.fh-v2 .v2-blk .btn-primary, html.fh-v2 .v2-blk button[type=submit]:not(.fk-mini):not([class*="outline"]):not(.tl-btn) { height: 44px; border-radius: 13px !important; padding: 0 20px !important; border: 0 !important; background: linear-gradient(135deg, #7c3aed, #db2777) !important; color: #fff !important; font-weight: 800 !important; }
html.fh-v2 .v2-blk .fk-mini { height: 36px; border-radius: 11px !important; border: 1px solid #e6e1f3 !important; background: #fff !important; color: #3d3466 !important; font-weight: 700; }
/* scelte a pillola (tema, tipo, quando…) */
html.fh-v2 .v2-blk :is(.tt-scelte, .tt-tsc) { gap: 10px !important; }
html.fh-v2 .v2-blk :is(.tt-tsc, .tt-scelte) label { border-radius: 16px !important; }
/* spiegazioni da aprire */
html.fh-v2 .v2-hint-t { display: inline-flex; align-items: center; gap: 6px; margin: 4px 0 6px; padding: 0; border: 0; background: none; font: inherit; font-size: 13px; font-weight: 700; color: #6d28d9; cursor: pointer; }
html.fh-v2 .v2-blk .v2-hint { display: none !important; }
html.fh-v2 .v2-blk.v2-hint-on .v2-hint { display: block !important; background: #faf9fe !important; border: 1px solid #ece8f6 !important; border-left: 1px solid #ece8f6 !important; border-radius: 14px !important; padding: 12px 14px !important; font-size: 13px !important; color: #4b4562 !important; margin: 6px 0 !important; }
/* le righe della vetrina */
html.fh-v2 .v2-blk :is(.tt-slide, .tt-sr, .tt-voce) { border: 1px solid #ece8f6 !important; border-radius: 16px !important; background: #faf9fe !important; margin-bottom: 10px !important; }
@media (max-width: 640px) {
    html.fh-v2 .v2-blk { padding: 16px 14px; border-radius: 18px; }
    html.fh-v2 .v2-blk :is(.tt-f, .tz-r) > div, html.fh-v2 .v2-blk :is(.tt-f, .tz-r) > label { flex: 1 1 calc(50% - 6px); min-width: 0; }
    html.fh-v2 .v2-blk :is(.tt-f, .tz-r) > div:has(input[type=text]), html.fh-v2 .v2-blk :is(.tt-f, .tz-r) > div:has(textarea) { flex-basis: 100%; }
    html.fh-v2 .v2-blk :is(.tt-f, .tz-r) > button { flex: 1 1 100%; }
}

/* telefono: tabelle larghe come schede (hub-v2.js → tabelleSchede) */
@media (max-width: 640px) {
    html.fh-v2 table.v2-cards, html.fh-v2 table.v2-cards tbody { display: block !important; width: 100% !important; overflow: visible !important; }
    html.fh-v2 table.v2-cards thead { display: none !important; }
    html.fh-v2 table.v2-cards tr { display: block !important; border: 1px solid #ece8f6 !important; border-radius: 16px !important; padding: 8px 12px !important; margin-bottom: 10px !important; background: #fff !important; }
    html.fh-v2 table.v2-cards td { display: flex !important; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 7px 0 !important; border: 0 !important; border-bottom: 1px solid #f4f2f9 !important; text-align: right !important; width: auto !important; min-width: 0 !important; white-space: normal !important; }
    html.fh-v2 table.v2-cards td:last-child { border-bottom: 0 !important; }
    html.fh-v2 table.v2-cards td::before { content: attr(data-l); flex: 0 0 42%; text-align: left; font-size: 11.5px; font-weight: 800; letter-spacing: .02em; color: #8a84a3; }
    html.fh-v2 table.v2-cards td:not([data-l])::before, html.fh-v2 table.v2-cards td[data-l=""]::before { display: none; }
    html.fh-v2 table.v2-cards td:first-child { font-size: 15px; font-weight: 800; justify-content: flex-start; text-align: left !important; }
    html.fh-v2 table.v2-cards td:first-child::before { display: none; }
    html.fh-v2 .table-responsive:has(> table.v2-cards) { overflow: visible !important; }
}
@media (max-width: 640px) { html.fh-v2 table.v2-cards td > * { min-width: 0; max-width: 58%; overflow-x: auto; } html.fh-v2 table.v2-cards td:first-child > * { max-width: none; } }
@media (max-width: 640px) { html.fh-v2 table.v2-cards td > .v2-cv { overflow-wrap: anywhere; } html.fh-v2 table.v2-cards td > .v2-cv > div { margin-top: 2px; } }

/* ═══ POPUP E FINESTRE nel nuovo stile (SweetAlert2 + modal Bootstrap) ═══ */
html.fh-v2 .swal2-container.swal2-backdrop-show { background: rgba(8,6,20,.6) !important; }
html.fh-v2 .swal2-popup { border-radius: 26px !important; padding: 26px 24px 22px !important; font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important; box-shadow: 0 30px 80px rgba(0,0,0,.45) !important; border: 1px solid #ece8f6 !important; width: min(480px, calc(100vw - 24px)) !important; }
html.fh-v2 .swal2-title { font-size: 21px !important; font-weight: 800 !important; letter-spacing: -.02em; color: #17132b !important; padding: 6px 4px 0 !important; }
html.fh-v2 .swal2-html-container { font-size: 14.5px !important; line-height: 1.55 !important; color: #5b5470 !important; margin: 10px 4px 0 !important; }
html.fh-v2 .swal2-icon { transform: scale(.72); margin: 0 auto -6px !important; }
html.fh-v2 .swal2-actions { gap: 10px; margin-top: 20px !important; width: 100%; }
html.fh-v2 .swal2-actions button { height: 46px; border-radius: 14px !important; padding: 0 20px !important; font-weight: 800 !important; font-size: 14.5px !important; margin: 0 !important; box-shadow: none !important; }
html.fh-v2 .swal2-confirm { background: linear-gradient(135deg, #7c3aed, #db2777) !important; border: 0 !important; color: #fff !important; }
html.fh-v2 .swal2-cancel, html.fh-v2 .swal2-deny { background: #fff !important; border: 1px solid #e6e1f3 !important; color: #3d3466 !important; }
html.fh-v2 .swal2-input, html.fh-v2 .swal2-textarea, html.fh-v2 .swal2-select { border-radius: 13px !important; border: 1px solid #e6e1f3 !important; background: #faf9fe !important; box-shadow: none !important; font-size: 15px !important; }
html.fh-v2 .swal2-html-container :is(a, button):not(.swal2-styled) { border-radius: 12px; }
@media (max-width: 640px) { html.fh-v2 .swal2-actions button { flex: 1 1 auto; } }
html.fh-v2 .modal-backdrop.show { opacity: .6 !important; background: #08061a !important; }
html.fh-v2 .modal-content { border-radius: 24px !important; border: 1px solid #ece8f6 !important; box-shadow: 0 30px 80px rgba(0,0,0,.45) !important; overflow: hidden; font-family: 'Plus Jakarta Sans', system-ui, sans-serif; }
html.fh-v2 .modal-header { border: 0 !important; padding: 20px 22px 6px !important; }
html.fh-v2 .modal-title { font-weight: 800 !important; font-size: 19px !important; color: #17132b !important; }
html.fh-v2 .modal-body { padding: 12px 22px !important; color: #4b4562; }
html.fh-v2 .modal-footer { border: 0 !important; padding: 8px 22px 20px !important; gap: 8px; }
html.fh-v2 .modal-footer .btn { height: 44px; border-radius: 13px !important; padding: 0 18px !important; font-weight: 800 !important; }
html.fh-v2 .modal .close { opacity: .6; font-size: 26px; }

/* ═══ TELEFONO (≤640px) — 2026-10-13: «la versione per smartphone è inutilizzabile».
   Meno cornici e più contenuto: margini ridotti (il contenuto partiva a 51px dal bordo), intestazioni
   compatte con i numeri su una riga, bolla della chat sopra la barra in basso. ═══ */
@media (max-width: 640px) {
    html.fh-v2 .fh-content { margin: 4px 4px 12px !important; padding: 12px 10px 92px !important; border-radius: 18px !important; }
    html.fh-v2 .v2-ph { padding: 14px !important; gap: 10px !important; margin-bottom: 12px !important; border-radius: 18px !important; }
    html.fh-v2 .v2-ph-ic { display: none !important; }
    html.fh-v2 .v2-ph h1 { font-size: 20px !important; }
    html.fh-v2 .v2-ph p { font-size: 12.5px !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
    html.fh-v2 .v2-ph .v2-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 6px !important; margin-top: 2px !important; }
    html.fh-v2 .v2-ph .v2-kpis .ov-k { flex-direction: row; align-items: center !important; gap: 8px !important; padding: 8px 10px !important; border-radius: 12px !important; min-width: 0; }
    html.fh-v2 .v2-ph .v2-kpis .ov-k > i { display: none !important; }
    html.fh-v2 .v2-ph .v2-kpis .ov-k b { font-size: 19px !important; }
    html.fh-v2 .v2-ph .v2-kpis .ov-k b small { font-size: 11px !important; }
    html.fh-v2 .v2-ph .v2-kpis .ov-k span { font-size: 10.5px !important; line-height: 1.2; margin-top: 2px !important; overflow-wrap: anywhere; }
    html.fh-v2 .v2-ph-az { gap: 6px !important; }
    html.fh-v2 .v2-ph-az > * { min-height: 40px !important; font-size: 13px !important; }
    html.fh-v2 #fhChatFab { width: 46px !important; height: 46px !important; right: 10px !important; bottom: calc(80px + env(safe-area-inset-bottom)) !important; font-size: 19px !important; }
    /* 24/10/2026: da telefono «Aiuto» (#aaFab, inc/help_widget.php) finiva sopra la chat, i due cerchi si coprivano: ora sta subito sopra, stessa misura */
    html.fh-v2 #aaFab { width: 46px !important; height: 46px !important; right: 10px !important; bottom: calc(136px + env(safe-area-inset-bottom)) !important; font-size: 19px !important; }
}

/* «Messaggio agli schermi»: finestra grande al centro (prima un cassetto stretto da 480px); telefono a tutto schermo */
.v2-dw-av .v2-dw-p { right: auto; left: 50%; top: 4vh; bottom: 4vh; transform: translateX(-50%); width: min(1120px, calc(100% - 32px)); padding: 26px 26px 22px; animation: v2AvIn .22s ease-out; }
@keyframes v2AvIn { from { opacity: 0; transform: translateX(-50%) translateY(14px) scale(.98); } to { opacity: 1; transform: translateX(-50%); } }
.v2-dw-av .v2-dw-p .av { margin: 0; }
.v2-dw-av .v2-dw-p .av-h { padding-right: 46px; }
@media (max-width: 640px) { .v2-dw-av .v2-dw-p { top: 0; bottom: 0; left: 0; right: 0; transform: none; width: 100%; max-height: none; border-radius: 0; padding: 18px 16px 16px; animation: none; } }

/* I titoli della tabella lead sono filtri (hub-v2.js filtriTitoli, 15/10/2026) */
html.fh-v2 .v2-lp #leadTable th.v2-thf { font-size: 0 !important; cursor: pointer; user-select: none; }
html.fh-v2 .v2-lp #leadTable th.v2-thf .sort-ar { display: none; }
html.fh-v2 .v2-lp #leadTable th.v2-thf::after { content: attr(data-lbl) !important; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; padding: 4px 8px; border-radius: 8px; transition: background .15s, color .15s; }
html.fh-v2 .v2-lp #leadTable th.v2-thf:hover::after { background: #f3f0fb; color: #4b4696; }
html.fh-v2 .v2-lp #leadTable th.v2-thf.on::after { color: #6d28d9; background: #ede9fe; font-weight: 800; }
.v2-thpop { position: absolute; z-index: 3000; min-width: 230px; max-width: min(340px, calc(100vw - 16px)); max-height: 60vh; overflow-y: auto; background: #fff; border: 1px solid #e7e4f0; border-radius: 14px; box-shadow: 0 18px 44px rgba(30,20,70,.22); padding: 8px; }
.v2-thpop-t { font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #9a93b5; padding: 6px 10px 4px; }
.v2-thpop-g { font-size: 10.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #b4aecb; padding: 10px 10px 3px; border-top: 1px solid #f1eff7; margin-top: 4px; }
.v2-thpop a, .v2-thpop button { display: block; width: 100%; text-align: left; padding: 8px 10px; border-radius: 9px; font-size: 13.5px; font-weight: 600; color: #2b2840; text-decoration: none; background: none; border: 0; cursor: pointer; }
.v2-thpop a:hover, .v2-thpop button:hover { background: #f6f4fd; color: #4b4696; text-decoration: none; }
.v2-thpop a.on { background: #ede9fe; color: #5b21b6; font-weight: 800; }
.v2-thpop a.v2-thpop-x { color: #b91c1c; border-top: 1px solid #f1eff7; margin-top: 4px; border-radius: 0 0 9px 9px; }
.v2-thpop .v2-thpop-s { color: #6b6780; border-top: 1px solid #f1eff7; margin-top: 4px; }
html.fh-v2 body > .v2-fpop { z-index: 3000; max-height: 70vh; overflow-y: auto; }
/* il tasto di accensione nelle righe «Le sale» (master/totem.php, 15/10/2026): subito a sinistra della freccia */
html.fh-v2 .v2-sala a.v2-scr .ov-pw { top: 50%; right: 62px; transform: translateY(-50%); width: 38px; height: 38px; }
html.fh-v2 .v2-sala a.v2-scr .ov-pw:hover { transform: translateY(-50%) scale(1.07); }
html.fh-v2 .v2-sala a.v2-scr .ov-pw svg { width: 38px; height: 38px; }
html.fh-v2 .v2-sala a.v2-scr:has(.ov-pw) .ov-c-f { margin-right: 100px !important; }
html.fh-v2 .v2-scr .ov-pw-msg { grid-column: 2; grid-row: 4; margin: 3px 0 0; white-space: normal; }

/* ═══ LE SALE: ogni schermo è una piccola TV (15/10/2026) ═══ */
html.fh-v2 .v2-sale { grid-template-columns: repeat(auto-fill, minmax(min(460px, 100%), 1fr)) !important; gap: 18px; }
html.fh-v2 .v2-sala { border-radius: 24px; box-shadow: 0 10px 30px -18px rgba(40,20,90,.35); }
html.fh-v2 .v2-sala-h { padding: 18px 20px 6px; }
html.fh-v2 .v2-sala-h .ini { width: 44px; height: 44px; border-radius: 14px; font-size: 15px; box-shadow: 0 8px 18px -8px rgba(76,29,149,.6); }
html.fh-v2 .v2-sala-h b { font-size: 17px; }
html.fh-v2 .v2-sala-g { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; padding: 12px 16px 18px; }
html.fh-v2 .v2-sala a.v2-scr.v2-tile { display: flex !important; flex-direction: column !important; gap: 0; padding: 0 !important; border: 1px solid #ece8f6 !important; border-radius: 16px !important; background: #fff !important; overflow: hidden; transition: transform .15s, box-shadow .15s, border-color .15s; }
html.fh-v2 .v2-sala a.v2-scr.v2-tile:hover { transform: translateY(-2px) !important; box-shadow: 0 12px 26px -14px rgba(60,30,130,.45) !important; border-color: #d6ccf3 !important; background: #fff !important; }
html.fh-v2 .v2-sala a.v2-scr.v2-tile::after { display: none !important; }
html.fh-v2 .v2-tile .v2-scr-ic { display: none !important; }
html.fh-v2 .v2-tv { position: relative; aspect-ratio: 16 / 9; background: linear-gradient(160deg, #eceaf3, #dedbe8); display: grid; place-items: center; border-bottom: 1px solid #ece8f6; }
html.fh-v2 .v2-tv.on { background: radial-gradient(120% 120% at 30% 20%, #4c1d95 0%, #1e1b4b 55%, #0f0d1f 100%); }
html.fh-v2 .v2-tv-ic { font-size: 26px; color: #a7a2bd; }
html.fh-v2 .v2-tv.on .v2-tv-ic { color: rgba(255,255,255,.85); text-shadow: 0 0 18px rgba(167,139,250,.8); }
html.fh-v2 .v2-tv-st { position: absolute; left: 9px; top: 8px; display: inline-flex; align-items: center; gap: 6px; font-size: 10.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #8b84a6; }
html.fh-v2 .v2-tv.on .v2-tv-st { color: #bbf7d0; }
html.fh-v2 .v2-tv-st i { width: 7px; height: 7px; border-radius: 50%; background: #4ade80; box-shadow: 0 0 0 0 rgba(74,222,128,.7); animation: v2InOnda 1.8s ease-out infinite; }
@keyframes v2InOnda { 0% { box-shadow: 0 0 0 0 rgba(74,222,128,.7); } 70% { box-shadow: 0 0 0 7px rgba(74,222,128,0); } 100% { box-shadow: 0 0 0 0 rgba(74,222,128,0); } }
html.fh-v2 .v2-tv-k { position: absolute; right: 9px; top: 8px; font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #a7a2bd; }
html.fh-v2 .v2-tv.on .v2-tv-k { color: rgba(255,255,255,.55); }
html.fh-v2 .v2-sala a.v2-scr.v2-tile .v2-tv .ov-pw { top: auto !important; bottom: 8px; right: 8px !important; transform: none !important; width: 36px !important; height: 36px !important; }
html.fh-v2 .v2-sala a.v2-scr.v2-tile .v2-tv .ov-pw:hover { transform: scale(1.08) !important; }
html.fh-v2 .v2-sala a.v2-scr.v2-tile .v2-tv .ov-pw svg { width: 36px; height: 36px; }
html.fh-v2 .v2-tile-b { padding: 10px 12px 12px; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
html.fh-v2 .v2-tile .ov-c-s { font-size: 14px !important; font-weight: 800 !important; color: #17132b !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: flex; align-items: center; gap: 4px; }
html.fh-v2 .v2-tile .ov-c-s .ov-nm { overflow: hidden; text-overflow: ellipsis; }
html.fh-v2 .v2-tile .ov-c-acc { font-size: 12px !important; color: #8b84a6 !important; margin: 0 !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html.fh-v2 .v2-tile .ov-c-acc.on { color: #15803d !important; }
html.fh-v2 .v2-tile .ov-c-f { margin: 4px 0 0 !important; display: flex !important; gap: 5px; flex-wrap: wrap; }
html.fh-v2 .v2-tile .ov-pw-msg { font-size: 11.5px; padding: 0 12px 10px; margin: 0; }
html.fh-v2 .v2-tile.ko { border-color: #fde68a !important; }
html.fh-v2 .v2-sala a.v2-scr.v2-tile.off .v2-tile-b .ov-c-s { color: #4b4562 !important; }
@media (max-width: 640px) { html.fh-v2 .v2-sala-g { grid-template-columns: 1fr 1fr; padding: 10px 12px 14px; gap: 10px; } html.fh-v2 .v2-tile .ov-c-f { display: none !important; } }
html.fh-v2 .v2-sala a.v2-scr.v2-tile { align-items: stretch !important; justify-content: flex-start !important; text-align: left !important; aspect-ratio: auto !important; height: auto !important; min-height: 0 !important; }
html.fh-v2 .v2-sala a.v2-scr.v2-tile > .v2-tv, html.fh-v2 .v2-sala a.v2-scr.v2-tile > .v2-tile-b { width: 100%; align-self: stretch; }
html.fh-v2 .v2-tv { min-height: 92px; }
html.fh-v2 .v2-tile .ov-c-s, html.fh-v2 .v2-tile .ov-c-acc { text-align: left !important; justify-content: flex-start; }
html.fh-v2 .v2-tile .ov-c-s { white-space: normal !important; align-items: flex-start; line-height: 1.25; }
html.fh-v2 .v2-tile .ov-c-s .ov-nm { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
/* ordine (15/10/2026): colonne secondo il numero di schermi, schede tutte alte uguali, card delle sale allineate */
html.fh-v2 .v2-sale { align-items: stretch !important; }
html.fh-v2 .v2-sala { display: flex; flex-direction: column; }
html.fh-v2 .v2-sala-g { grid-template-columns: repeat(var(--col, 3), minmax(0, 1fr)) !important; grid-auto-rows: 1fr; flex: 1; align-content: start; }
html.fh-v2 .v2-sala a.v2-scr.v2-tile { height: 100% !important; }
html.fh-v2 .v2-tile-b { flex: 1; justify-content: flex-start; }
html.fh-v2 .v2-tile .ov-c-s { min-height: 2.5em; }
html.fh-v2 .v2-tv-tags { position: absolute; left: 8px; bottom: 8px; display: flex; gap: 4px; }
html.fh-v2 .v2-tv-tags .ov-t { font-size: 10px !important; padding: 2px 7px !important; background: rgba(255,255,255,.85) !important; color: #4b4562 !important; }
html.fh-v2 .v2-tv.on .v2-tv-tags .ov-t { background: rgba(255,255,255,.14) !important; color: rgba(255,255,255,.85) !important; }
html.fh-v2 .v2-tv-tags .ov-t.ko { background: #fde68a !important; color: #7c4a03 !important; }
@media (max-width: 640px) { html.fh-v2 .v2-sala-g { grid-template-columns: repeat(min(var(--col, 2), 2), minmax(0, 1fr)) !important; } }
html.fh-v2 .v2-sale { align-items: start !important; }
html.fh-v2 .v2-sala-g { grid-auto-rows: auto !important; flex: none !important; }
/* card delle sale tutte alla stessa altezza (15/10/2026): la card si allunga, le schede no */
html.fh-v2 .v2-sale { align-items: stretch !important; }
html.fh-v2 .v2-sala { display: flex !important; flex-direction: column; }
/* miniatura dal vivo nella TV della scheda (15/10/2026): monitor orizzontale, totem verticale */
html.fh-v2 .v2-tv { aspect-ratio: 4 / 3 !important; overflow: hidden; }
html.fh-v2 .v2-tv.live .v2-tv-ic { display: none; }
html.fh-v2 .v2-live { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 92%; aspect-ratio: 16 / 9; border-radius: 6px; overflow: hidden; background: #000; box-shadow: 0 6px 18px rgba(0,0,0,.45), 0 0 0 1px rgba(255,255,255,.08); pointer-events: none; }
html.fh-v2 .v2-live.vert { width: auto; height: 74%; aspect-ratio: 9 / 16; top: 54%; }
html.fh-v2 .v2-live iframe { position: absolute; left: 0; top: 0; border: 0; transform-origin: 0 0; pointer-events: none; }
html.fh-v2 .v2-tv.live .v2-tv-st, html.fh-v2 .v2-tv.live .v2-tv-k, html.fh-v2 .v2-tv.live .v2-tv-tags, html.fh-v2 .v2-tv.live .ov-pw { z-index: 2; }
html.fh-v2 .v2-tv.live .v2-tv-tags .ov-t { background: rgba(15,13,31,.7) !important; }

/* 15/10/2026 — elenco lead leggibile: gli stati lunghi («In attesa di sue disponibilità call», «Fissata prima video Call»)
   vanno a capo invece di essere tagliati; il nome viene prima delle etichette (sono le etichette a stringersi);
   la seconda riga va a capo invece di tagliarsi a metà parola. */
html.fh-v2 .v2-lp td.c-stato { overflow: visible !important; }
html.fh-v2 .v2-lp td.c-stato .status-badge { white-space: normal !important; line-height: 1.25; max-width: 100%; align-items: flex-start; text-align: left; }
html.fh-v2 .v2-lp td.c-stato .status-badge .status-dot { margin-top: 5px; }
html.fh-v2 .v2-lp .v2-r1 > a { flex: 0 0 auto !important; max-width: 100%; }
html.fh-v2 .v2-lp .v2-r1 { flex-wrap: wrap !important; row-gap: 3px; }
html.fh-v2 .v2-lp .v2-r1 > :not(a) { flex: 0 0 auto !important; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html.fh-v2 .v2-lp .v2-r2 { flex-wrap: wrap !important; row-gap: 1px; }
html.fh-v2 .v2-lp td.c-ass select { text-overflow: ellipsis; }
/* 15/10/2026 — telefono: le tre caselle (da contattare / fermi / da richiamare) e le tendine dei filtri stanno nello schermo */
html.fh-v2 .v2-fgest { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
html.fh-v2 .v2-fgest .lead-chip { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 640px) {
    html.fh-v2 .v2-fbar { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; }
    html.fh-v2 .v2-fbar > * { min-width: 0; }
    html.fh-v2 .v2-fbar .v2-fdd, html.fh-v2 .v2-fbar .v2-fbtn { width: 100%; max-width: 100%; min-width: 0; }
    html.fh-v2 .v2-fbtn { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
    html.fh-v2 .v2-fgest .lead-chip { padding: 10px !important; }
    html.fh-v2 .v2-fbar .v2-fdd-smart { grid-column: 1 / -1; }
}

/* 15/10/2026 — le 4 caselle in cima alla home sono link all'elenco filtrato */
html.fh-v2 a.v2-k { display: block; text-decoration: none; color: inherit; cursor: pointer; transition: transform .18s, box-shadow .18s; }
html.fh-v2 a.v2-k:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(0,0,0,.35); text-decoration: none; color: inherit; }
html.fh-v2 a.v2-k:focus-visible { outline: 2px solid var(--c); outline-offset: 3px; }

/* 15/10/2026 — i collegamenti della direzione in home (solo Lucio, Roberto, Antonio), sotto le 4 caselle */
html.fh-v2 a.v2-dir { grid-column: span 3; display: flex; align-items: center; gap: 13px; padding: 15px 16px; text-decoration: none; color: #fff; min-width: 0; transition: transform .18s, box-shadow .18s; }
html.fh-v2 a.v2-dir:hover { transform: translateY(-3px); box-shadow: 0 16px 36px rgba(0,0,0,.35); color: #fff; text-decoration: none; }
html.fh-v2 a.v2-dir .ki { flex: none; width: 42px; height: 42px; border-radius: 13px; display: flex; align-items: center; justify-content: center; font-size: 19px; background: var(--c); box-shadow: 0 8px 20px rgba(0,0,0,.3); }
html.fh-v2 a.v2-dir .t { display: flex; flex-direction: column; min-width: 0; flex: 1; }
html.fh-v2 a.v2-dir small { font-size: 10.5px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.5); }
html.fh-v2 a.v2-dir b { font-size: 15px; font-weight: 800; line-height: 1.25; color: #fff; }
html.fh-v2 a.v2-dir .t > span { font-size: 12.5px; color: rgba(255,255,255,.65); line-height: 1.3; }
html.fh-v2 a.v2-dir > i { flex: none; font-size: 22px; color: rgba(255,255,255,.5); }
html.fh-v2 a.v2-dir:hover > i { color: #fff; }
@media (max-width: 992px) { html.fh-v2 a.v2-dir { grid-column: span 6; } }
@media (max-width: 560px) { html.fh-v2 a.v2-dir { grid-column: 1 / -1; padding: 12px 14px; } }

/* 15/10/2026 — la ricerca in alto si vede: da 1280px è una barra («Cerca lead, affiliati, schermi, report…»), sotto resta la lente */
@media (min-width: 1280px) {
    html.v2-bar .v2-right .fh-searchbtn, html.fh-v2 .fh-topbar-right .fh-searchbtn { width: 300px !important; height: 40px; justify-content: flex-start !important; gap: 10px; padding: 0 10px 0 14px !important; border-radius: 13px !important; background: rgba(255,255,255,.08) !important; border: 1px solid rgba(255,255,255,.16) !important; color: rgba(255,255,255,.75) !important; font-weight: 600; font-size: 13px; }
    html.v2-bar .v2-right .fh-searchbtn span, html.fh-v2 .fh-topbar-right .fh-searchbtn span { display: inline !important; flex: 1; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    html.v2-bar .v2-right .fh-searchbtn kbd, html.fh-v2 .fh-topbar-right .fh-searchbtn kbd { display: inline !important; background: rgba(255,255,255,.1) !important; border: 1px solid rgba(255,255,255,.18) !important; color: rgba(255,255,255,.7) !important; border-radius: 6px; padding: 1px 6px; font-size: 11px; }
    html.v2-bar .v2-right .fh-searchbtn:hover, html.fh-v2 .fh-topbar-right .fh-searchbtn:hover { background: rgba(255,255,255,.14) !important; color: #fff !important; }
}
@media (min-width: 1280px) {
    html.fh-v2 .fh-searchbtn.fh-iconbtn { font-size: 13px !important; min-width: 0 !important; }
    html.fh-v2 .fh-searchbtn.fh-iconbtn span { font-size: 13px !important; }
    html.fh-v2 .fh-searchbtn.fh-iconbtn kbd { font-size: 11px !important; }
    html.fh-v2 .fh-searchbtn.fh-iconbtn::after { display: none !important; }
}
@media (min-width: 1280px) and (max-width: 1500px) { html.v2-bar .v2-right .fh-searchbtn, html.fh-v2 .fh-topbar-right .fh-searchbtn { width: 130px !important; } html.fh-v2 .fh-searchbtn span.lg { display: none !important; } }
@media (min-width: 1501px) { html.fh-v2 .fh-searchbtn span.sh { display: none !important; } }

/* 15/10/2026 — colonna Commerciale: il pallino sta sulla tendina (non a metà cella), sotto chi l'aveva prima e chi l'ha toccato */
html.fh-v2 .v2-lp .v2-assw { position: relative; display: block; }
html.fh-v2 .v2-chi { display: flex; flex-direction: column; gap: 1px; margin-top: 4px; }
html.fh-v2 .v2-chi span { display: flex; align-items: center; gap: 4px; font-size: 11px; font-weight: 600; color: #7a7490; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html.fh-v2 .v2-chi i { font-size: 11px; color: #a39cba; flex: none; }
html.fh-v2 .v2-lp td.c-ass .fh-soll-lead { margin-top: 2px; }

/* 17/10/2026 — le tendine (stato del lead) mostrano tutte le voci: 340px tagliavano gli stati creati da Kelly e «Creane uno nuovo» */
.v2-sel-p { max-height: min(700px, 82vh) !important; }
.v2-sel-p .v2-sel-o.v2-sel-nuovo { margin-top: 4px; border-top: 1px solid #ece8f6; border-radius: 0 0 12px 12px; color: #7c3aed; font-weight: 800; }

/* 17/10/2026 — la regola delle 24 ore: da quanto è entrato e da quanto è fermo nello stesso stato, sotto la prossima mossa */
.v2-tempi { display: flex; flex-direction: column; gap: 1px; margin-top: 5px; }
.v2-tempi span { font-size: 11px; font-weight: 600; color: #7a7490; white-space: normal; line-height: 1.3; }
.v2-tempi span.ko { color: #b91c1c; font-weight: 800; }
.v2-tempi span.wa { color: #b45309; font-weight: 700; }

/* 17/10/2026 — elenco lead più leggibile e senza accavallamenti: «Prossima mossa» più larga, etichette che vanno a capo, testi più grandi */
html.fh-v2 .v2-lp #leadTable { --lp-cols: 30px minmax(0, 1fr) 150px 165px 185px 172px; }
@container (max-width: 1100px) { html.fh-v2 .v2-lp #leadTable { --lp-cols: 30px minmax(0, 1fr) 150px 185px 172px; } }
html.fh-v2 .v2-lp .v2-r1 > :not(a) { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; }
html.fh-v2 .v2-lp .v2-r1 > span[title] { font-size: 11.5px !important; line-height: 1.3; }
html.fh-v2 .v2-lp .v2-r1 > a { font-size: 16px !important; }
html.fh-v2 .v2-lp .v2-r2 { font-size: 13.5px; }
html.fh-v2 .v2-lp td.c-gest > span[title] { font-size: 13px !important; }
.v2-tempi span { font-size: 12px !important; }

/* 17/10/2026 — il termometro dell'opportunità nell'elenco lead, sotto lo stato */
.v2-opp { display: flex; width: max-content; max-width: 100%; align-items: center; gap: 4px; margin-top: 5px; padding: 2px 9px 2px 6px; border-radius: 999px; background: var(--ob); color: var(--oc); font-size: 12px; line-height: 1.4; cursor: help; }
.v2-opp span { font-size: 13px; }
.v2-opp b { font-size: 13px; font-weight: 800; font-variant-numeric: tabular-nums; }
.v2-opp i { font-style: normal; font-weight: 700; font-size: 11.5px; }
.v2-opp em { font-style: normal; font-size: 11px; opacity: .8; }

/* 17/10/2026 — «Le opportunità più calde» in cima ai lead */
.v2-hot { background: linear-gradient(120deg, #fff7ed, #fff 70%); border: 1px solid #fed7aa; border-radius: 20px; padding: 14px 16px; margin: 0 0 16px; box-sizing: border-box; max-width: 100%; }
.v2-hot-h { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; }
.v2-hot-h b { font-size: 16px; color: #9a3412; } .v2-hot-h span { font-size: 12.5px; color: #8a8499; flex: 1; min-width: 200px; }
.v2-hot-h a { font-size: 13px; font-weight: 800; color: #c2410c; text-decoration: none; }
.v2-hot-l { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 8px; }
.v2-hot-c { display: flex; flex-direction: column; gap: 2px; background: #fff; border: 1px solid #fde3c8; border-radius: 14px; padding: 9px 12px; text-decoration: none; color: #1d1a2e; transition: transform .15s, box-shadow .15s; min-width: 0; }
.v2-hot-c:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(194,65,12,.12); color: #1d1a2e; text-decoration: none; }
.v2-hot-c .sc { font-size: 12px; font-weight: 800; color: #c2410c; }
.v2-hot-c b { font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v2-hot-c small { font-size: 12px; color: #6f6987; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* 17/10/2026 — via il «Pronto» del modulo anche dal riquadro Qualificazione: conta il termometro */
html.fh-v2 .fh-pg-lead .qual-badge { display: none !important; }
@media (max-width: 640px) { .v2-hot-l { display: flex; overflow-x: auto; gap: 8px; padding-bottom: 4px; -webkit-overflow-scrolling: touch; } .v2-hot-c { flex: 0 0 168px; } .v2-hot-h span { display: none; } }

/* 17/10/2026 — «NEW» accanto alle sezioni nuove del menù (sezioni_novita in lib/permissions.php) */
.fh-new { font-style: normal; display: inline-block; margin-left: 6px; padding: 1px 6px; border-radius: 99px; font-size: 9.5px; font-weight: 800; letter-spacing: .06em; line-height: 1.5; color: #2a1754; background: linear-gradient(135deg, #f6c56e, #fbbf24); box-shadow: 0 0 10px rgba(246, 197, 110, .45); vertical-align: 1px; flex: none; }

/* il nome della voce si accorcia se serve, così «NEW» e il pallino della voce attiva restano dentro la colonna */
html.fh-v2 .v2-mg-l .fh-nav-link > span:not(.lock) { flex: 1 1 auto; min-width: 0; }
html.fh-v2 .v2-mg-l .fh-nav-link { position: relative; }
html.fh-v2 .v2-mg-l .fh-nav-link .fh-new { position: absolute; left: 24px; top: 1px; margin: 0; font-size: 7.5px; padding: 0 4px; line-height: 1.6; z-index: 2; }
html.fh-v2.fh-collapsed .v2-mg-l .fh-nav-link .fh-new { display: none; }

/* ═══ 20/10/2026 — barra in alto (richieste dell'utente) ═══
   1) La ricerca, quando è una barra lunga, non si ingrandisce al passaggio del mouse: lo zoom di admin.css
      (.fh-iconbtn:hover scale 1.22) è per i pulsanti tondi, e sulla barra la faceva finire sopra la campanella.
   2) «Chi è online» torna nella barra in alto anche sul computer (prima era nascosta e restava solo nella chat). */
@media (min-width: 1280px) {
    html.v2-bar .v2-right .fh-searchbtn:hover, html.fh-v2 .fh-topbar-right .fh-searchbtn:hover,
    html.fh-v2 .fh-searchbtn.fh-iconbtn:hover { transform: none !important; }
}
@media (min-width: 993px) {
    html.fh-v2 .fh-topbar .fh-presence, html.v2-bar .v2-right .fh-presence { display: inline-flex !important; margin-right: 4px; }
    html.fh-v2 .fh-presence .pz { width: 32px; height: 32px; border-color: #1b1633 !important; }
    html.fh-v2 .fh-presence .pz .dot { width: 12px; height: 12px; border-color: #1b1633 !important; }
}
@media (min-width: 993px) and (max-width: 1500px) {
    html.fh-v2 .fh-presence .pz { width: 26px; height: 26px; font-size: 10px !important; margin-left: -9px; }
    html.fh-v2 .fh-presence .pz:first-child { margin-left: 0; }
    html.fh-v2 .fh-presence .pz .dot { width: 10px; height: 10px; right: -2px; bottom: -2px; border-width: 2px; }
    html.v2-bar .v2-right .fh-searchbtn, html.fh-v2 .fh-topbar-right .fh-searchbtn { width: 104px !important; }
}
@media (min-width: 993px) and (max-width: 1500px) {
    html.v2-bar .v2-right .fh-searchbtn kbd, html.fh-v2 .fh-topbar-right .fh-searchbtn kbd { display: none !important; }
    html.v2-bar .v2-right .fh-searchbtn span.sh, html.fh-v2 .fh-topbar-right .fh-searchbtn span.sh { overflow: visible !important; text-overflow: clip !important; }
}

/* ═══ TELEFONO: NIENTE PIÙ CONTENUTI TAGLIATI (24/10/2026) ═══════════════════════════════════════════
   Verifica di tutte le pagine a 390 px: nelle griglie a una colonna (1fr) e nelle righe flex le caselle si allargavano
   quanto il loro contenuto più lungo (nome di una campagna, tabella, testo senza spazi) e .fh-content le tagliava
   (es. Cruscotto direzionale 809 px, Statistiche 745 px). Regole generali: le caselle possono restringersi fino allo
   schermo, le righe flex scritte nella pagina vanno a capo, le parole lunghe (link, indirizzi) si spezzano. */
@media (max-width: 640px) {
    html.fh-v2 .fh-content :where(div, form, section, article, aside, fieldset, li) { min-width: 0; }
    html.fh-v2 .fh-content :where(div, form)[style*="display:flex"], html.fh-v2 .fh-content :where(div, form)[style*="display: flex"] { flex-wrap: wrap; }
    html.fh-v2 .fh-content :where(p, a, td, li, span, .text-muted, small) { overflow-wrap: anywhere; }
    html.fh-v2 .fh-content .v2-sel { min-width: 0 !important; }   /* il selettore copiava la larghezza minima della select (es. Stati: 380 px) */
    html.fh-v2 .fh-content img, html.fh-v2 .fh-content video, html.fh-v2 .fh-content iframe { max-width: 100%; }
}
