/* =====================================================================
   MondoFeed — DESIGN SYSTEM (mf-ds.css)
   Una sola linea grafica per tutte le pagine: stessi caratteri, stesse
   scatole, stessi pulsanti. Caricato per ULTIMO: il boot in index.html lo
   rimette in fondo anche dopo i CSS che i moduli aggiungono a runtime.

   Regole del file
   - solo grafica: nessuna funzione dei moduli cambia;
   - DENSITÀ 23/10 (richiesta del titolare: «più piccolo ma proporzionato»):
     scala 11·12·13·15·18 px, testo base 13, tabelle 12, etichette 11;
     carattere Inter Tight (riserva Inter / sistema), pesi 500-600,
     interlinea 1,3, controlli 24·26·32 px su computer (40 al tocco),
     spaziature 3·5·8·10·16·20. Gli stessi valori valgono per le skin:
     --fs-base 13px, --lh 1.3, --h 26px, --sp-* (vedi :root).
   - (prima: scala 12·13·14·16·20·24, ora ogni misura scende di un gradino);
     mono solo per quote/numeri;
   - spaziature 4·8·12·16·24·32, raggi 6 / 10, controlli 32 px (28 nelle
     tabelle) su computer, 40 px al tocco (campi 16 px: iPhone non zooma);
   - "!important" solo dove il mockup / i moduli hanno stili inline o
     regole già !important (index.html ne è pieno);
   - body:not(#_) alza la specificità sopra le regole dei moduli con ID.
   Controllo automatico: node tools/ui-audit.mjs
   ===================================================================== */

/* ---------------------------------------------------------------------
   1. TOKEN
   --------------------------------------------------------------------- */
:root{
  /* caratteri */
  --mf-font:'Inter Tight','Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;
  --mf-mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --fs-12:11px; --fs-13:12px; --fs-14:13px; --fs-16:15px; --fs-20:18px; --fs-24:18px; /* densità 23/10: scala 11·12·13·15·18 (i nomi restano quelli vecchi) */
  --fs-base:13px;
  --lh:1.3; --lh-tight:1.2;
  --fw-r:400; --fw-m:500; --fw-sb:600; --fw-b:600;
  /* spaziature */
  --sp-1:3px; --sp-2:5px; --sp-3:8px; --sp-4:10px; --sp-5:16px; --sp-6:20px;
  /* raggi */
  --r-sm:6px; --r-md:10px; --r-pill:999px;
  /* controlli */
  --h-sm:24px; --h:26px; --h-lg:32px; --h-ctl:var(--h);
  /* colori */
  --c-navy:#14324E; --c-navy-900:#0E2438; --c-navy-700:#1D4062;
  --c-teal:#2FA98C; --c-teal-700:#1F8A70; --c-teal-800:#18735D; --c-teal-50:#E6F5F0;
  --c-success:#0F8A6D; --c-success-50:#E3F5EE;
  --c-warn:#B86E00; --c-warn-500:#E08E1B; --c-warn-50:#FDF1DE;
  --c-danger:#C23A44; --c-danger-500:#D64545; --c-danger-50:#FCEBEC;
  --c-info:#1F6FB2; --c-info-50:#E4EFFA;
  --c-ai:#6D28D9; --c-ai-50:#F1ECFD;
  --n-0:#FFFFFF; --n-25:#FAFBFC; --n-50:#F5F7FA; --n-100:#EEF2F6; --n-200:#E2E8EF; --n-300:#CBD5E1;
  --n-400:#A3B1C2; --n-500:#6B7C90; --n-600:#526377; --n-700:#3D5068; --n-900:#17283A;
  --c-bg:#F3F5F8; --c-surface:var(--n-0); --c-line:var(--n-200); --c-text:var(--n-900); --c-muted:var(--n-500);
  /* ombre */
  --sh-1:0 1px 2px rgba(20,50,78,.06);
  --sh-2:0 2px 4px rgba(20,50,78,.06),0 8px 24px rgba(20,50,78,.08);
  --sh-3:0 16px 48px rgba(8,22,36,.28);
  --ring:0 0 0 3px rgba(47,169,140,.22);
  /* livelli */
  --z-sticky:5; --z-nav:120; --z-top:130; --z-drawer:420; --z-modal:1000; --z-toast:1100;
  /* il mockup usa questi nomi: stessi valori del design system */
  --line:var(--c-line); --muted:var(--c-muted); --text:var(--c-text); --paper:var(--c-bg);
  --shadow:var(--sh-1);
  /* scala "fluida" del mockup → misure fisse della scala */
  --fz-title:var(--fs-20); --fz-cardh:var(--fs-14); --fz-td:var(--fs-13); --fz-th:var(--fs-12); --fz-ctl:var(--fs-13);
}
/* tocco (telefono e tablet): controlli 40 px */
@media (max-width:900px),(pointer:coarse){
  :root{--h-sm:40px; --h:40px; --h-ctl:40px}
}

/* ---------------------------------------------------------------------
   2. SCALA TIPOGRAFICA — le misure fuori scala del mockup e dei moduli
      riportate alla misura più vicina (generato dai CSS del pannello,
      poi rifinito a mano nelle sezioni successive)
   --------------------------------------------------------------------- */
/*@@SNAP-BEGIN@@*/
#mf-kbar .mf-dmore,
#mf-kbar .mf-dnone,
#mf-oa-cov .mk,
#mf-oa-cov .tag,
#mx-acc .mx-sim button,
#mx-acc .mx-sim span,
#mx-acc .mx-st,
#mx-desk .mx-dn::after,
#mx-desk .mx-up::after,
#p-alias .mfa-k small,
#p-alias .mfa-n,
#p-alias .mfa-src,
#p-alias .mfa-v,
#p-alias table.mfa-l td.mfa-tpa,
#p-alias table.mfa-l td.mfa-tsp,
#p-alias table.mfa-l thead th,
#p-alias table.mfa-t td[data-l]::before,
#p-ant .ap-auto,
#p-ant .ap-grp small,
#p-ant .ap-kc small,
#p-ant .ap-meta,
#p-ant .ap-note,
#p-ant .ap-opt label,
#p-ant .ap-st,
#p-ant .ap-top span,
#p-ant .ap-top span i,
#p-ant table.ap-t th,
#p-ant table.ap-t.ap-edit td[data-l]::before,
#p-cmp td.oq-ev .oq-l2,
#p-cmp td.oq-ev .oq-l3,
#p-cmp td.oq-mg,
#p-cmp td.oq-mg small,
.abadge,
.af .lb,
.agent-desc,
.agent-h small,
.agent-meta,
.ai-kpi .k-l,
.ai-kpi .k-s,
.ai-line .t,
.auton button,
.bell i,
.brick,
.brick .bi,
.bx-b-nums,
.bx-evoff,
.bx-form label,
.bx-ind,
.bx-leg-m,
.bx-leg-r small,
.bx-o,
.bx-q-grid small,
.bx-t-f,
.bx-tl small,
.bx-why,
.conf-pill,
.cr-bt,
.cr-checks li,
.cr-chips,
.cr-chips .chip,
.cr-defa,
.cr-defb,
.cr-exf,
.cr-exsrc,
.cr-exw,
.cr-f,
.cr-hint,
.cr-keyline,
.cr-lg small,
.cr-manchk,
.cr-mini,
.cr-notes,
.cr-pgh small,
.cr-pub .seg button,
.cr-pubnote,
.cr-src,
.cr-step,
.cr-tabs .chip em,
.cr-tag,
.det-table,
.det-table td,
.det-table td:first-child,
.det-table th,
.det-table tr.linehead td,
.dt,
.fl,
.flowbox,
.hcard .hex,
.hcard .hz,
.klabel,
.lg-bar,
.m-live,
.m-sub,
.mbp,
.mf-big small,
.mf-country,
.mf-dchip,
.mf-demo,
.mf-edit-row label,
.mf-exlist span,
.mf-fd::after,
.mf-fu::after,
.mf-k small,
.mf-key,
.mf-league,
.mf-log,
.mf-login-card label,
.mf-mkhead td,
.mf-mode a,
.mf-mode.mf-mode-side a,
.mf-model,
.mf-ng,
.mf-ph,
.mf-prev,
.mf-reasons,
.mf-review,
.mf-step,
.mf-step small,
.mf-sub,
.mfa-dlg label,
.mfai-ans-h .muted,
.mfai-banner .muted,
.mfai-cmd code,
.mfai-err,
.mfai-f .badge,
.mfai-form .mfai-src,
.mfai-form label,
.mfai-form label small,
.mfai-form-n,
.mfai-form-n code,
.mfai-guide code,
.mfai-guide li .muted,
.mfai-guide-n,
.mfai-h-note,
.mfai-head .muted,
.mfai-prov .muted,
.mfai-prov code,
.mfai-score small,
.mfai-sn,
.mfai-t th,
.mfai-test-k small,
.mfai-tools,
.mfc-add label,
.mfc-audit,
.mfc-bk-st,
.mfc-bk-w .pc,
.mfc-bulk .btn,
.mfc-bulk select,
.mfc-chip,
.mfc-dirty,
.mfc-f .df,
.mfc-f .er,
.mfc-f .hl,
.mfc-f .in .u,
.mfc-f.chg .lb:after,
.mfc-grid3 .l,
.mfc-help,
.mfc-kpi .l,
.mfc-kpi .s,
.mfc-ladder span,
.mfc-legend,
.mfc-lgfoot,
.mfc-mode,
.mfc-note,
.mfc-pill,
.mfc-r .gsum,
.mfc-r .ti select,
.mfc-r.h,
.mfc-r>.ev,
.mfc-role,
.mfc-tabs button .n,
.mfc-tbl code,
.mfc-tbl th,
.mfh-ai,
.mfh-body h4,
.mfh-gai code,
.mfh-gc h4,
.mfh-gh,
.mfh-link,
.mfh-margin h4,
.mfh-qd,
.mfh-sw,
.mfl-k small,
.mfp-b,
.mfp-k small,
.mfs-cmp .m,
.mfs-games,
.mfs-h small,
.mfs-mini .k,
.mfs-note,
.mfs-pill,
.mfs-sec,
.mfs-xi,
.mfx-act button,
.mfx-eg .h,
.mfx-g,
.mfx-gc,
.mfx-k small,
.mfx-ok,
.mfx-src,
.mfx-why,
.mg-body code,
.mg-body h4,
.mg-chev,
.mg-chk small,
.mg-chk.sm,
.mg-f span,
.mg-foot,
.mg-h small,
.mg-kpi em,
.mg-kpi small,
.mg-lang button,
.mg-scope small,
.mg-seg button,
.mg-t td small,
.mg-t th,
.mg-tag,
.mp-acts .btn,
.mp-cn,
.mp-date,
.mp-dbooks span,
.mp-dh small,
.mp-dnone,
.mp-dstats em,
.mp-dstats small,
.mp-f>span,
.mp-grp,
.mp-key,
.mp-lg,
.mp-lh,
.mp-live,
.mp-log summary span,
.mp-logl,
.mp-margins th,
.mp-mg,
.mp-mgs,
.mp-mk,
.mp-model small,
.mp-ob,
.mp-ovr,
.mp-pill,
.mp-prev,
.mp-qinfo,
.mp-seg button,
.mp-sgh,
.mp-src,
.mp-st,
.mp-state small,
.mp-stops,
.mp-sub,
.mp-tab span,
.mp-tag,
.mp-tbtn,
.mp-tt th,
.mp-tt tr.mp-tsub td,
.mp-warn,
.mtab,
.mutebtn,
.mx-acc-ft .mx-note,
.mx-acc-hd small,
.mx-acc-sum,
.mx-acc-tb .mx-live,
.mx-acc-tb .mx-pre,
.mx-acc-tb td small,
.mx-acc-tb td:nth-child(n+4):nth-child(-n+7)::before,
.mx-acc-tb th,
.mx-acc-th,
.mx-ai,
.mx-ai b.t,
.mx-big span,
.mx-cd p,
.mx-chip,
.mx-cmp,
.mx-cmp td small,
.mx-cmp th,
.mx-dg,
.mx-ev .n small,
.mx-flag,
.mx-form label,
.mx-head small,
.mx-hist em,
.mx-hl span,
.mx-kind button,
.mx-kpi b small,
.mx-kpi span,
.mx-live,
.mx-ls,
.mx-meta,
.mx-mk h5,
.mx-note,
.mx-o small,
.mx-pre,
.mx-sim button,
.mx-slip-leg small,
.mx-st,
.mx-sum span,
.mx-t,
.mx-t .rs,
.mx-t .sub,
.mx-t th,
.mx-tabs button,
.mx-tk-h .id,
.mx-us,
.mx-why b.k,
.oc,
.oc.lin,
.olabel,
.omrg,
.omrg.mf-mg,
.panel>.mf-demo,
.seg button,
.side-h button,
.sp-row .cnt,
.spec,
.spec code,
.spec-t,
.tagicon,
.tl-key,
.tl-lb,
.tr-item,
.updb,
body.mf-pro .card-h .badge,
body.mf-pro .det-table td,
body.mf-pro .det-table th,
body.mf-pro .dt .mono,
body.mf-pro .dt td.mono,
body.mf-pro .m-teams,
body.mf-pro .mf-dchip,
body.mf-pro .mf-k small,
body.mf-pro .tr-item,
body.mf-pro.mf-ui .mf-k small,
body.mf-ui #p-mon .side-h button,
body.mf-ui #sp-tree .cnt,
body.mf-ui #sp-tree .mf-league,
body.mf-ui .mf-mode.mf-mode-side a,
body.mf-ui .mf-ng,
body.mf-ui .top .tabs .tab #al-n,
body.mf-ui .top .tabs .tab.mf-demo-tab::after,
body.mf-ui.mf-nav-mini .top .tabs .tab #al-n,
input:not([type=checkbox]):not([type=radio]),
label.fl,
label:has(input[type="checkbox"]),
table.dt .btn{font-size:var(--fs-12)!important}
#mf-oa-cov table,
#p-alias .mfa-bar select,
#p-alias .mfa-warn,
#p-alias table.mfa-l,
#p-ant .ap-empty,
.bx-b-ev,
.bx-evinfo,
.bx-form input,
.bx-form select,
.bx-form textarea,
.bx-leg-o,
.bx-sw,
.cr-actions .btn,
.cr-ah,
.cr-empty,
.cr-err,
.cr-evline,
.cr-ext,
.cr-mtab input,
.cr-out td,
.cr-wait,
.m-teams,
.mfa-dlg .mfa-err,
.mfai-banner,
.mfai-form input,
.mfai-form select,
.mfai-guide li,
.mfai-in textarea,
.mfai-money i,
.mfai-msg,
.mfai-prov,
.mfai-sum,
.mfai-test,
.mfai-txt,
.mfc,
.mfc-f .lb,
.mfc-tabs button,
.mfh-body,
.mfh-gai .card-b,
.mfh-gc,
.mfh-gmargin .card-b,
.mfh-t,
.mfp-t,
.mfx-empty,
.mfx-sw,
.mg-body,
.mg-pop,
.mg-simple,
.mg-st,
.mg-t,
.mp-drawer,
.mp-ll,
.mp-log summary,
.mp-model b,
.mp-search input,
.mp-state b,
.mx-acc-tb td.ev b,
.mx-ev .n>b,
.mx-o b,
body.mf-ui #sp-tree .sp-row{font-size:var(--fs-13)!important}
.agent-h b,
.cr-exo b,
.mfc-bk-n .nm,
.mfx-evh b,
.mp-dstats b,
.mp-ov{font-size:var(--fs-14)!important}
#p-ant .ap-grp.sp,
.cr-ask .cr-grow input,
.flowarr,
.logo,
.mf-k b,
.mf-k-i,
.mfa-dlg h3,
.mfc-grid3 .v,
.mfc-kpi .v,
.mfp-k b,
.mfx-k b,
.mg-f input,
.mg-h b,
.mp-back span,
.mp-dstats .mp-big,
.mp-state-ic,
.mx-acc-v>b,
.mx-head h2,
.mx-ring b,
.mx-sum b,
.mx-x,
body.mf-pro.mf-ui .mf-k b{font-size:var(--fs-16)!important}
#p-alias .mfa-k b,
.agent-ico,
.bx-t-odds,
.mp-team,
.mx-acc-hd h3,
.mx-kpi b{font-size:var(--fs-20)!important}
.ai-kpi .k-v,
.bx-odds,
.mf-big,
.mfai-score,
.mfc-big,
.mfc-tier .k,
.mp-score,
.mp-time,
.mp-x{font-size:var(--fs-24)!important}
/*@@SNAP-END@@*/

/* stili inline del mockup e dei moduli (style="font-size:…") */
[style*="font-size:8px"],[style*="font-size: 8px"],[style*="font-size:8.5px"],[style*="font-size: 8.5px"],
[style*="font-size:9px"],[style*="font-size: 9px"],[style*="font-size:9.5px"],[style*="font-size: 9.5px"],
[style*="font-size:10px"],[style*="font-size: 10px"],[style*="font-size:10.5px"],[style*="font-size: 10.5px"]{font-size:var(--fs-12)!important}
[style*="font-size:11px"],[style*="font-size: 11px"],[style*="font-size:11.5px"],[style*="font-size: 11.5px"]{font-size:var(--fs-12)!important}
[style*="font-size:12.5px"],[style*="font-size: 12.5px"]{font-size:var(--fs-13)!important}
[style*="font-size:13.5px"],[style*="font-size: 13.5px"],[style*="font-size:14.5px"],[style*="font-size: 14.5px"]{font-size:var(--fs-14)!important}
[style*="font-size:15px"],[style*="font-size: 15px"],[style*="font-size:16.5px"],[style*="font-size: 16.5px"],
[style*="font-size:17px"],[style*="font-size: 17px"]{font-size:var(--fs-16)!important}
[style*="font-size:18px"],[style*="font-size: 18px"],[style*="font-size:19px"],[style*="font-size: 19px"],
[style*="font-size:21px"],[style*="font-size: 21px"]{font-size:var(--fs-20)!important}
[style*="font-size:22px"],[style*="font-size: 22px"],[style*="font-size:26px"],[style*="font-size: 26px"],
[style*="font-size:28px"],[style*="font-size: 28px"]{font-size:var(--fs-24)!important}
/* misure relative (em / %) dentro testi piccoli */
small,.small{font-size:var(--fs-12)}
sup,sub{font-size:var(--fs-12)!important}
td small,th small,.badge small,.chip small{font-size:var(--fs-12)!important}

/* ---------------------------------------------------------------------
   3. BASE
   --------------------------------------------------------------------- */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-family:var(--mf-font);font-size:var(--fs-base);line-height:var(--lh);color:var(--c-text);background:var(--c-bg)!important;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11","ss01"}
body.mf-pro{font-size:var(--fs-13)}
body,button,input,select,textarea,table,h1,h2,h3,h4,h5,label,p,div,span,td,th,a,b,strong,small,li{font-family:var(--mf-font)}
/* numeri: Inter con cifre tabellari; mono SOLO per quote / prezzi */
.mono,code,pre,kbd{font-family:var(--mf-font)!important;font-variant-numeric:tabular-nums}
code,pre,kbd{font-family:var(--mf-mono)!important;font-size:var(--fs-12)}
.oc,.omrg,.det-table td:not(:first-child),.det-score,.mp-o,.mp-ob,.mp-score,.mp-time,
.bx-o b,.bx-odds,.bx-t-odds,.bx-q-grid b,.bx-leg-r,#p-ant .ap-price,.mx-o b,.mf-own,
b.mono[style*="teal-soft"],.mono[style*="teal-soft"],b[style*="teal-soft"]{
  font-family:var(--mf-mono)!important;font-variant-numeric:tabular-nums}
h1,h2,h3,h4,h5{line-height:var(--lh-tight);color:var(--c-text)}
b,strong{font-weight:var(--fw-sb)}
a{color:var(--c-teal-700)}
:focus-visible{outline:2px solid var(--c-teal)!important;outline-offset:2px}
.muted{color:var(--c-muted)}
::selection{background:rgba(47,169,140,.22)}

/* ---------------------------------------------------------------------
   4. TITOLI DI PAGINA
   --------------------------------------------------------------------- */
h1.pt,body.mf-pro h1.pt,body.mf-ui h1.pt{font-size:var(--fs-20)!important;font-weight:var(--fw-b)!important;line-height:1.3!important;
  letter-spacing:-.01em!important;color:var(--c-text);margin:0 0 var(--sp-4)!important}
.psub{font-size:var(--fs-13)!important;line-height:var(--lh)!important;color:var(--c-muted)!important;margin:calc(var(--sp-3) * -1) 0 var(--sp-4)}
.page{padding:var(--sp-5)!important}
body.mf-pro .page{padding:var(--sp-5)!important}

/* ---------------------------------------------------------------------
   5. CARD
   --------------------------------------------------------------------- */
.card,body.mf-pro .card{background:var(--c-surface);border:1px solid var(--c-line)!important;border-radius:var(--r-md)!important;
  box-shadow:var(--sh-1)!important;margin-bottom:var(--sp-4)!important}
.card-h,body.mf-pro .card-h{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2) var(--sp-3)!important;min-height:48px;
  padding:var(--sp-3) var(--sp-4)!important;font-size:var(--fs-14)!important;font-weight:var(--fw-sb)!important;line-height:1.4!important;
  letter-spacing:0!important;text-transform:none;color:var(--c-text);background:var(--c-surface)!important;border-bottom:1px solid var(--c-line)!important;
  border-radius:var(--r-md) var(--r-md) 0 0}
.card-h .badge{font-size:var(--fs-12)!important}
.card-b{padding:var(--sp-4)!important;font-size:var(--fs-13)!important;line-height:var(--lh)}
.card-b:empty{display:none}
.hcard,.agent,.mf-step,.mx-box,.bx-card,.mp-card,.ap-card{border-radius:var(--r-md)!important}

/* ---------------------------------------------------------------------
   6. TABELLE — testata 11 px maiuscolo, celle 13 px, numeri a destra,
      testata appiccicata, scorrono DENTRO il contenitore
   --------------------------------------------------------------------- */
table.dt,.det-table,.mx-t,.mfa-t,.ap-t,.mp-tt,.mfai-t,.mx-cmp,.mfp-t{border-collapse:collapse;font-variant-numeric:tabular-nums}
table.dt th,.det-table th,body.mf-pro .dt th,.mx-t th,.mfa-t th,#p-ant table.ap-t th,.mp-tt th,.mfai-t th,.mx-cmp th,.mfp-t th{
  font-size:var(--fs-12)!important;font-weight:var(--fw-sb)!important;text-transform:uppercase;letter-spacing:.04em!important;
  color:var(--n-600)!important;background:var(--n-50)!important;padding:var(--sp-2) var(--sp-3)!important;line-height:1.3!important;
  border-bottom:1px solid var(--c-line)!important;white-space:nowrap!important;position:sticky;top:0;z-index:2;vertical-align:bottom}
table.dt td,.det-table td,body.mf-pro .dt td,.mx-t td,.mfa-t td,#p-ant table.ap-t td,.mp-tt td,.mfai-t td,.mfp-t td{
  font-size:var(--fs-13)!important;padding:var(--sp-2) var(--sp-3)!important;line-height:1.4!important;
  border-bottom:1px solid var(--n-100)!important;vertical-align:middle}
table.dt td *,.det-table td *,.mx-t td *,.mfa-t td *{font-size:inherit}
table.dt td :is(.badge,.mx-st,.mx-flag,.mx-live,.mx-pre,.tagicon,.b-ok,.b-err,.b-warn,.b-blue,.mfa-src,small,.sub,.rs,.muted.mono,.mx-us),
.det-table td :is(.badge,small,.klabel),.mx-t td :is(.mx-st,.mx-flag,.mx-live,.mx-pre,small,.sub,.rs,.mx-us){font-size:var(--fs-12)!important}
table.dt td :is(.muted,small),.mx-t td .sub{color:var(--c-muted)}
table.dt tbody tr:nth-child(even){background:var(--n-25)}
table.dt tbody tr:hover{background:#F0F6FA}
.det-table td:first-child,.det-table th:first-child{padding-left:var(--sp-4)!important}
.det-table tr.linehead td{font-size:var(--fs-12)!important;font-weight:var(--fw-sb)!important}
/* numeri allineati a destra */
td.num,td.r,td.mp-num,th.mp-num,th.num,th.r{text-align:right!important}
td.num,td.r,td.mp-num{white-space:nowrap}
/* quote pill nelle tabelle: stessa scatola ovunque */
b.mono[style*="teal-soft"],.mono[style*="teal-soft"],b[style*="teal-soft"],b[style*="orange-soft"],.mono[style*="orange-soft"],b[style*="F3EFFE"]{
  font-size:var(--fs-13)!important;font-weight:var(--fw-sb)!important;padding:2px var(--sp-2)!important;border-radius:var(--r-sm)!important;
  min-width:52px;box-shadow:none!important;background-image:none!important}
/* contenitore di una tabella: scorre in orizzontale DENTRO la card */
div:has(> table){overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}

/* ---------------------------------------------------------------------
   7. PULSANTI
   --------------------------------------------------------------------- */
.btn,a.btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px;
  height:var(--h)!important;min-height:var(--h)!important;padding:0 var(--sp-3)!important;border-radius:var(--r-sm)!important;
  font-size:var(--fs-13)!important;font-weight:var(--fw-sb)!important;line-height:1!important;letter-spacing:0!important;text-transform:none!important;
  white-space:nowrap!important;border:1px solid transparent;box-shadow:none;transform:none!important;filter:none!important;
  transition:background-color .12s,border-color .12s,color .12s,box-shadow .12s;cursor:pointer;text-decoration:none;flex-shrink:0;max-width:100%}
.btn:hover{box-shadow:none!important}
.btn:disabled,.btn[disabled]{opacity:.5;cursor:not-allowed}
/* primario */
/* v3-colore: primary action buttons -> brand orange #F57C00 (was teal var(--c-teal-700)); panel-wide primary CTA class. Status/toggles/focus stay teal. */
.btn-t,.btn[style*="--teal"]{background:#F57C00!important;color:#fff!important;border-color:#F57C00!important}
.btn-t:hover,.btn[style*="--teal"]:hover{background:#e06f00!important;border-color:#e06f00!important}
/* secondario */
.btn-g,.btn:not([class*="btn-"]):not([style*="background"]){background:var(--n-0)!important;color:var(--n-700)!important;border:1px solid var(--n-300)!important}
.btn-g:hover,.btn:not([class*="btn-"]):not([style*="background"]):hover{background:var(--n-50)!important;border-color:var(--n-400)!important}
/* avviso / AI / pericolo */
.btn-w,.btn[style*="--orange"]{background:var(--c-warn-500)!important;color:#fff!important;border-color:var(--c-warn-500)!important}
.btn[style*="6D28D9"],.btn[style*="7C3AED"]{background:var(--c-ai)!important;color:#fff!important;border-color:var(--c-ai)!important;background-image:none!important}
.btn-d{background:var(--c-danger)!important;color:#fff!important;border-color:var(--c-danger)!important}
.btn[style*="--red"],.btn[style*="D64550"],.btn[style*="B23842"]{background:var(--n-0)!important;color:var(--c-danger)!important;border:1px solid #E9B9BE!important}
.btn[style*="--red"]:hover,.btn[style*="D64550"]:hover,.btn[style*="B23842"]:hover{background:var(--c-danger-50)!important}
/* piccolo e dentro le tabelle */
.btn-sm,table .btn,.card-h .btn-sm{height:var(--h-sm)!important;min-height:var(--h-sm)!important;padding:0 10px!important;font-size:var(--fs-12)!important}
@media (min-width:901px) and (pointer:fine){
  .btn-sm,table .btn{height:26px!important;min-height:26px!important} /* densità 23/10: 24·26·32 */
}
/* "×" dentro i chip */
.mfx-g>button{min-width:28px;min-height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-sm);background:transparent!important;border:0!important}
/* altri pulsanti dei moduli: stessa scatola */
.mx-go,.mf-ph,.mfx-act button,.mx-sim button,.bx-sw,.mbp,.mx-x{border-radius:var(--r-sm)!important}

/* ---------------------------------------------------------------------
   8. CAMPI: input, select, textarea, interruttori, checkbox
   --------------------------------------------------------------------- */
/* misure (altezza, carattere): più forti delle regole !important del mockup */
input:not([type=checkbox]):not([type=radio]):where(:not([type=range]):not([type=color]):not([type=file]):not([type=hidden])),select:not([multiple]){
  height:var(--h-ctl)!important;min-height:var(--h-ctl)!important;line-height:normal!important;font-size:var(--fs-13)!important;max-width:100%}
/* aspetto (bordo, sfondo): specificità minima, così i moduli che lo personalizzano (es. ricerca con lente) restano come sono */
input:where(:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=hidden])),select,textarea{
  padding:0 10px!important;font-weight:var(--fw-r)!important;color:var(--c-text)!important;
  background-color:var(--n-0)!important;border:1px solid var(--n-300)!important;border-radius:var(--r-sm)!important;box-shadow:none!important;
  transition:border-color .12s,box-shadow .12s}
select{padding-right:28px!important;text-overflow:ellipsis}
textarea{font-size:var(--fs-13)!important;line-height:var(--lh)!important;padding:var(--sp-2) 10px!important;max-width:100%}
input:where(:hover:not(:focus):not([type=checkbox]):not([type=radio])),select:where(:hover:not(:focus)),textarea:where(:hover:not(:focus)){border-color:var(--n-400)!important}
input:where(:focus),select:where(:focus),textarea:where(:focus){outline:none!important;border-color:var(--c-teal)!important;box-shadow:var(--ring)!important}
input::placeholder,textarea::placeholder{color:var(--n-400);font-weight:var(--fw-r)}
input:where(:disabled),select:where(:disabled),textarea:where(:disabled){background-color:var(--n-50)!important;color:var(--n-500)!important}
/* ricerca con lente della pagina evento: il campo non ha bordo proprio */
.mp-search input{height:calc(var(--h-ctl) - 2px)!important;min-height:0!important;border:0!important;box-shadow:none!important;background:transparent!important;padding:0!important}
table input[type=number],table input.mono{font-family:var(--mf-mono)!important}
table input:not([type=checkbox]):not([type=radio]),table select{height:var(--h-sm)!important;min-height:var(--h-sm)!important;font-size:var(--fs-13)!important}
/* nelle tabelle i campi non prendono tutta la cella (il testo accanto, es. "%", resta sulla stessa riga) */
table.dt td input:not([type=checkbox]):not([type=radio]),table.dt td select{width:auto!important;min-width:64px!important;max-width:100%}
table.dt td input[type=number]{width:88px!important}
@media (min-width:901px) and (pointer:fine){
  table input:not([type=checkbox]):not([type=radio]),table select{height:28px!important;min-height:28px!important}
}
/* etichette dei campi */
label.fl,.fl,.mf-edit-row label,.bx-form label,.mx-form label{font-size:var(--fs-12)!important;font-weight:var(--fw-sb)!important;color:var(--n-600)!important;
  text-transform:uppercase!important;letter-spacing:.04em!important;line-height:1.3!important}
label.fl,.fl{display:block;margin:0 0 var(--sp-1)!important}
/* checkbox e radio */
input[type=checkbox],input[type=radio]{width:16px!important;height:16px!important;accent-color:var(--c-teal-700)}
label:has(input[type="checkbox"]),label:has(input[type="radio"]){font-size:var(--fs-13)!important;font-weight:var(--fw-m)!important;color:var(--c-text)!important;
  min-height:var(--h)!important;gap:var(--sp-2)!important}
/* interruttore */
.tgl{width:36px;height:20px;box-shadow:none!important}
.tgl::after{top:2px!important;left:2px;width:16px!important;height:16px!important}
.tgl.on::after{left:18px!important}
.tgl.on{background:var(--c-teal-700)!important}

/* ---------------------------------------------------------------------
   9. CHIP (filtri), SEGMENTATI e SCHEDE
   --------------------------------------------------------------------- */
.chip,button.chip,body.mf-pro .chip,.mx-chip,.mp-pill[onclick],.mfp-row .chip{
  display:inline-flex!important;align-items:center!important;justify-content:center;gap:6px;
  height:var(--h)!important;min-height:var(--h)!important;padding:0 var(--sp-3)!important;border-radius:var(--r-pill)!important;
  font-size:var(--fs-12)!important;font-weight:var(--fw-sb)!important;letter-spacing:0!important;text-transform:none!important;white-space:nowrap!important;
  background:var(--n-0)!important;color:var(--n-700)!important;border:1px solid var(--n-300)!important;box-shadow:none!important;line-height:1!important}
.chip:hover,.mx-chip:hover{border-color:var(--c-teal)!important;color:var(--c-teal-800)!important}
.chip.on,.mx-chip.on,.chip.sel{background:var(--c-navy)!important;border-color:var(--c-navy)!important;color:#fff!important}
.mx-chip b,.mx-chip span{font-size:var(--fs-12)!important}
/* sottoschede della pagina: segmentato */
.subtabs,.mx-tabs,#mx-tabs,.bx-tabs,.mfx-tabs,.mfa-tabs,.mp-seg,.mx-kind,.auton,.seg{display:inline-flex!important;flex-wrap:wrap;gap:2px!important;
  padding:2px!important;background:var(--n-100)!important;border:0!important;border-radius:var(--r-md)!important;width:auto;max-width:100%}
.subtabs{margin-bottom:var(--sp-4)!important}
.stab,.mx-tabs button,#mx-tabs button,.mx-kind button,.mp-seg button,.auton button,.seg button,
.bx-tabs>.chip,.mfx-tabs>.chip,.mfa-tabs>.chip{
  display:inline-flex!important;align-items:center;justify-content:center;gap:6px;
  height:var(--h-sm)!important;min-height:var(--h-sm)!important;padding:0 var(--sp-3)!important;border-radius:var(--r-sm)!important;border:0!important;
  font-size:var(--fs-13)!important;font-weight:var(--fw-sb)!important;letter-spacing:0!important;text-transform:none!important;white-space:nowrap!important;
  background:transparent!important;color:var(--n-600)!important;box-shadow:none!important;line-height:1!important}
.stab:hover,.mx-tabs button:hover,#mx-tabs button:hover,.mx-kind button:hover,.auton button:hover,.seg button:hover{color:var(--c-text)!important;background:rgba(255,255,255,.6)!important}
.stab.on,.mx-tabs button.on,#mx-tabs button.on,.mx-kind button.on,.mp-seg button.on,.auton button.on,
.seg button[class*="on-"],.bx-tabs>.chip.on,.mfx-tabs>.chip.on,.mfa-tabs>.chip.on{
  background:var(--n-0)!important;color:var(--c-text)!important;box-shadow:0 1px 2px rgba(20,50,78,.12),0 0 0 1px rgba(20,50,78,.04)!important}
.seg button.on-ctrl{color:var(--c-teal-800)!important}.seg button.on-mon{color:var(--c-info)!important}.seg button.on-off{color:var(--n-700)!important}
.auton button.on{color:var(--c-ai)!important}
/* schede mercato nel dettaglio evento */
.mtab{display:inline-flex!important;align-items:center;height:var(--h)!important;padding:0 var(--sp-3)!important;border-radius:var(--r-pill)!important;
  font-size:var(--fs-12)!important;font-weight:var(--fw-sb)!important;letter-spacing:0!important;text-transform:none!important;white-space:nowrap}
/* pulsanti della lavagna mercati */
.mbp{height:var(--h)!important;min-height:var(--h)!important;padding:0 var(--sp-3)!important;margin:2px!important;font-size:var(--fs-13)!important;font-family:var(--mf-font)!important}

/* righe di chip e pulsanti scritte inline (display:flex): vanno a capo */
.page div[style*="display:flex"]:has(> .chip),.page div[style*="display:flex"]:has(> .btn),.page span[style*="display:flex"]:has(> .chip){flex-wrap:wrap}

/* ---------------------------------------------------------------------
   10. BADGE ed ETICHETTE
   --------------------------------------------------------------------- */
.badge,.updb,.mx-st,.mx-flag,.mx-live,.mx-pre,.mx-dg,.mp-tag,.mp-st,.mp-src,.mfa-src,.mfs-pill,.ap-st,.tagicon,.abadge,.conf-pill{
  font-size:var(--fs-12)!important;font-weight:var(--fw-sb)!important;letter-spacing:.01em!important;line-height:1.35!important}
.badge{display:inline-flex;align-items:center;gap:4px;padding:1px var(--sp-2)!important;border-radius:var(--r-pill)!important;border:0!important;box-shadow:none!important;white-space:nowrap}
.b-ok{background:var(--c-success-50)!important;color:var(--c-success)!important}
.b-err{background:var(--c-danger-50)!important;color:var(--c-danger)!important}
.b-warn{background:var(--c-warn-50)!important;color:var(--c-warn)!important}
.b-blue{background:var(--c-info-50)!important;color:var(--c-info)!important}
.tagicon{display:inline-flex;align-items:center;height:18px;padding:0 5px!important;border-radius:4px!important;white-space:nowrap;line-height:1!important}
.m-flags{flex-wrap:wrap;gap:4px!important}

/* ---------------------------------------------------------------------
   11. KPI (riquadri numerici)
   --------------------------------------------------------------------- */
.ai-kpi{border-radius:var(--r-md)!important}
.mfx-k span,.mfx-k small,.mfa-k span,.mfa-k small,.mfp-k span,.mfp-k small,#p-ant .ap-kc small{font-size:var(--fs-12)!important;font-weight:var(--fw-r)!important;
  text-transform:none!important;letter-spacing:0!important;color:var(--n-500)}
.kpi>div:first-child,.mx-kpi>span,.ai-kpi .k-l,
.mf-k small,body.mf-pro .mf-k small,body.mf-pro.mf-ui .mf-k small{
  font-size:var(--fs-12)!important;font-weight:var(--fw-sb)!important;text-transform:uppercase;letter-spacing:.04em!important;color:var(--n-500)}
.ai-kpi .k-l,.ai-kpi .k-s{color:inherit}
.mx-kpi b,.mfx-k b,.mfa-k b,.mfp-k b,#p-ant .ap-kc b,.ai-kpi .k-v,.mf-big{font-size:var(--fs-20)!important;font-weight:var(--fw-b)!important;line-height:1.2!important;font-variant-numeric:tabular-nums}
.mf-k b,body.mf-pro .mf-k b,body.mf-pro.mf-ui .mf-k b{font-size:var(--fs-16)!important;font-weight:var(--fw-b)!important;font-variant-numeric:tabular-nums}
.mf-k-i,body.mf-pro.mf-ui .mf-k-i{font-size:var(--fs-16)!important}

/* ---------------------------------------------------------------------
   12. AVVISI, BANNER, TOAST
   --------------------------------------------------------------------- */
.hint,.mp-warn,.mfa-warn,.mfai-banner{font-size:var(--fs-13)!important;line-height:var(--lh)!important;border-radius:var(--r-sm)!important;
  padding:var(--sp-3) var(--sp-4)!important;background:var(--n-50)!important;border:1px solid var(--c-line)!important;color:var(--n-700)}
.mp-warn,.mfa-warn{background:var(--c-warn-50)!important;border-color:#F2D5A6!important;color:#7A4B00}
/* "DATI DI ESEMPIO" / "PAGINA MISTA": riga sottile in cima alla pagina, mai sopra i contenuti */
.panel>.mf-demo,body.mf-ui .panel>.mf-demo{position:static!important;transform:none!important;left:auto!important;bottom:auto!important;
  width:auto!important;max-width:none!important;margin:0!important;border-radius:0!important;box-shadow:none!important;
  padding:6px var(--sp-4)!important;font-size:var(--fs-12)!important;font-weight:var(--fw-sb)!important;letter-spacing:.04em!important;
  white-space:normal!important;text-align:left!important;line-height:1.4;border-bottom:1px solid var(--c-line)}
.toastx,#toast{left:auto;right:var(--sp-4)!important;bottom:var(--sp-4)!important;max-width:min(420px,calc(100vw - 32px));
  background:var(--c-navy-900)!important;color:#fff!important;border-radius:var(--r-md)!important;padding:var(--sp-3) var(--sp-4)!important;
  font-size:var(--fs-13)!important;line-height:1.4;box-shadow:var(--sh-3)!important;z-index:var(--z-toast)!important}

/* ---------------------------------------------------------------------
   13. MODALI e PANNELLI LATERALI (a tutto schermo sul telefono)
   --------------------------------------------------------------------- */
.mfa-dlg,.mfai-modal>div,.mp-drawer{border-radius:var(--r-md);box-shadow:var(--sh-3)}
.mfa-dlg h3,.mp-drawer h3{font-size:var(--fs-16)!important;font-weight:var(--fw-b)!important}
.mp-drawer{font-size:var(--fs-13)!important}
.mp-x{font-size:var(--fs-20)!important;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center}
#mf-login .mf-login-card input{height:var(--h-lg)!important;font-size:var(--fs-16)!important}
#mf-login .mf-login-card .btn{height:var(--h-lg)!important}
.mf-login-brand{font-size:var(--fs-24)!important}
.mf-login-t,.mf-login-err{font-size:var(--fs-12)!important}

/* ---------------------------------------------------------------------
   14. STATI VUOTI / CARICAMENTO / ERRORE
   --------------------------------------------------------------------- */
.mx-empty,.bx-empty,.mfx-empty,.mp-empty-card,.mfai-empty,.mp-state,.mp-dnone{font-size:var(--fs-13)!important;color:var(--c-muted)!important;text-align:center;
  padding:var(--sp-5) var(--sp-4)!important;line-height:var(--lh)}
.mp-state b,.mp-empty-card b{font-size:var(--fs-14)!important;color:var(--c-text)}
.mp-state small{font-size:var(--fs-12)!important}
.mfai-err,.mfa-err,.bx-err,.mp-state-err{color:var(--c-danger)!important;font-size:var(--fs-13)!important}

/* ---------------------------------------------------------------------
   15. GUSCIO: barra in alto, menu laterale, KPI Monitoring
   --------------------------------------------------------------------- */
/* voce del menu che un modulo ha riscritto senza icona (es. "Agenti AI"): icona come sfondo, niente testo nel menu compresso */
body.mf-ui .top .tabs .tab[data-p]:not(:has(.mf-ni)){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23AFC0D2' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='5' width='14' height='14' rx='2'/%3E%3Cpath d='M9 9h6v6H9zM9 1v4M15 1v4M9 19v4M15 19v4M1 9h4M1 15h4M19 9h4M19 15h4'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;
  background-size:20px 20px!important;background-position:12px center!important;padding-left:46px!important}
body.mf-ui.mf-nav-mini .top .tabs .tab[data-p]:not(:has(.mf-ni)){font-size:0!important;background-position:center!important;padding:0!important}
@media (max-width:900px){
  body.mf-ui.mf-nav-mini .top .tabs .tab[data-p]:not(:has(.mf-ni)){font-size:var(--fs-14)!important;background-position:14px center!important;padding-left:48px!important}
  body.mf-ui .top .tabs .tab[data-p]:not(:has(.mf-ni)){font-size:var(--fs-14)!important;padding-left:48px!important;background-position:14px center!important}
}
body.mf-ui .mf-ng,.mf-ng{font-size:var(--fs-12)!important;letter-spacing:.06em}
@media (min-width:901px){body.mf-ui.mf-nav-mini .mf-ng{font-size:0!important}}
body.mf-ui .top .tabs .tab.mf-demo-tab::after{font-size:var(--fs-12)!important;padding:0 4px!important;line-height:16px}
body.mf-ui .top .tabs .tab #al-n,#al-n{font-size:var(--fs-12)!important}
.tr-item,body.mf-pro .tr-item{font-size:var(--fs-12)!important;letter-spacing:.04em}
.bell i{font-size:var(--fs-12)!important;min-width:18px;text-align:center;line-height:16px;padding:0 4px!important}
#mf-cur{font-size:var(--fs-14)!important}
body.mf-ui .logo{font-size:var(--fs-16)!important}
#mf-help-btn{font-size:var(--fs-14)!important}
/* albero sport */
body.mf-ui #sp-tree .sp-row{font-size:var(--fs-13)!important}
body.mf-ui #sp-tree .mf-country{font-size:var(--fs-13)!important}
body.mf-ui #sp-tree .mf-league{font-size:var(--fs-12)!important}
body.mf-ui #sp-tree .cnt,.sp-row .cnt{font-size:var(--fs-12)!important}
.mf-sub,body.mf-ui #sp-tree .mf-sub{font-size:var(--fs-12)!important}
body.mf-ui #p-mon .side-h button,.side-h button{text-transform:none!important;letter-spacing:0!important;padding:0 6px!important;font-size:var(--fs-12)!important;height:var(--h)!important;min-height:var(--h)!important;border-radius:var(--r-sm)!important}
body.mf-ui .mf-mode.mf-mode-side a{flex:1 1 auto!important;font-size:var(--fs-12)!important;min-height:var(--h)!important;min-width:0;padding:0 4px!important;overflow:hidden;text-overflow:ellipsis}
.mf-mode a{font-size:var(--fs-12)!important}
/* barra filtri Monitoring */
.chipbar,body.mf-pro .chipbar{gap:var(--sp-2)!important;padding:var(--sp-2) var(--sp-3)!important}
.chipbar input[type=search]{min-width:200px}
/* lavagna Monitoring */
.m-teams,body.mf-pro .m-teams{font-size:var(--fs-13)!important}
.m-sub{font-size:var(--fs-12)!important}
.m-live{font-size:var(--fs-12)!important}
.oc{font-size:var(--fs-12)!important}
.oc.lin,.omrg,.olabel{font-size:var(--fs-12)!important}
.lg-bar,.lg-bar .colh{font-size:var(--fs-12)!important}
.det-head h2,body.mf-pro .det-head h2{font-size:var(--fs-16)!important}
.det-score{font-size:var(--fs-16)!important}
.det-close{height:var(--h)!important;font-size:var(--fs-13)!important;border-radius:var(--r-sm)!important}
/* guida e spiegazioni */
.mg-t{font-size:var(--fs-13)!important}.mg-sec,.mg-body,.mg-simple,.aig-bar,.aig-body{font-size:var(--fs-13)!important}
.mg-body h4{font-size:var(--fs-12)!important}
.mg-i{font-family:var(--mf-font)!important}
.hcard b{font-size:var(--fs-14)!important}.hcard .hz{font-size:var(--fs-13)!important}.hcard .hex{font-size:var(--fs-12)!important}
.spec,.spec-t,.spec code{font-size:var(--fs-12)!important}
.agent-h b{font-size:var(--fs-14)!important}.agent-h small,.agent-desc{font-size:var(--fs-12)!important}
.agent-ico{font-size:var(--fs-16)!important}
.ai-line{font-size:var(--fs-13)!important}
.tl-lb,.tl-key{font-size:var(--fs-12)!important}
.flowbox{font-size:var(--fs-12)!important}.flowarr{font-size:var(--fs-16)!important}

/* ---------------------------------------------------------------------
   16. MODULI: rifiniture di misura (stessa scala delle altre pagine)
   --------------------------------------------------------------------- */
/* MTS */
.mx-head h2{font-size:var(--fs-16)!important}
.mx-head small,.mx-ev .n small,.mx-slip-leg small,.mx-cd p,.mx-ai,.mx-t .sub,.mx-t .rs{font-size:var(--fs-12)!important}
.mx-ev .n>b,.mx-o b{font-size:var(--fs-13)!important}
.mx-sum b,.mx-ring b{font-size:var(--fs-16)!important}
.mx-x{font-size:var(--fs-16)!important}
.mx-t td b,.mx-t td.num,.mx-t td.r{font-size:var(--fs-13)!important}
/* Stop selettivo */
.mfx-evh b{font-size:var(--fs-14)!important}
.mfx-g,.mfx-ok,.mfx-why,.mfx-gc,.mfx-sw{font-size:var(--fs-12)!important}
.mfx-gc small,.mfx-g i,.mfx-src,.mfx-eg .h{font-size:var(--fs-12)!important}
.mfx-k b{font-size:var(--fs-20)!important}
/* Builder */
.bx-odds{font-size:var(--fs-24)!important}.bx-t-odds{font-size:var(--fs-20)!important}
.bx-form input,.bx-form select,.bx-form textarea,.bx-evinfo,.bx-leg-o,.bx-sw,.bx-b-ev{font-size:var(--fs-13)!important}
/* pagina evento (mod-pages) */
.mp-acts .btn{white-space:normal!important;line-height:1.2!important;text-align:center}
.mp-back,.mp-tbtn{height:var(--h)!important;min-height:var(--h)!important;display:inline-flex!important;align-items:center;gap:4px;
  padding:0 var(--sp-3)!important;font-size:var(--fs-13)!important;border-radius:var(--r-sm)!important}
@media (max-width:760px){
  .mp-acts{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .mp-acts .btn{height:auto!important;min-height:40px!important;padding:4px 6px!important;font-size:var(--fs-13)!important;min-width:0}
}
.mp-team{font-size:var(--fs-16)!important}
.mp-score{font-size:var(--fs-24)!important}
.mp-time{font-size:var(--fs-20)!important}
.mp-dstats .mp-big{font-size:var(--fs-16)!important}
.mp-f input[type=number]{font-size:var(--fs-16)!important}
/* Alias, AI, Pubblicazione, Statistiche */
#p-alias .mfa-k b,.mfp-k b{font-size:var(--fs-20)!important}
.mfai-score{font-size:var(--fs-24)!important}
.mfai-txt,.mfai-sum,.mfai-msg,.mfai-in textarea,.mfp-t{font-size:var(--fs-13)!important}
.mf-ph{font-size:var(--fs-12)!important;font-weight:var(--fw-sb)!important;height:var(--h)!important;min-height:var(--h);padding:0 var(--sp-2)!important;
  display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.mx-go{height:var(--h-lg)!important;min-height:var(--h-lg)!important;font-size:var(--fs-14)!important;border-radius:var(--r-sm)!important}

/* ---------------------------------------------------------------------
   17. RESPONSIVE
   1920 / 1440 / 1280: tutto su una riga, contenuto largo al massimo 1600
   1024 / 768: griglie a 2 colonne, form a capo
   ≤ 760 (telefono): una colonna, tabelle che scorrono nel contenitore,
   modali a tutto schermo, controlli 40 px, campi 16 px
   --------------------------------------------------------------------- */
html,body{max-width:100%;overflow-x:hidden}
img,svg,video,canvas{max-width:100%}
.g2>*,.g3>*,.g4>*,.card-b>*{min-width:0}
pre,code{white-space:pre-wrap;overflow-wrap:anywhere}


/* tablet (≤ 1024): il mockup mette ogni pulsante della testata a tutta larghezza → no */
@media (max-width:1024px){
  .card-h .btn,.card-h select,.card-h input{width:auto!important}
  .page{padding:var(--sp-4)!important}
  h1.pt,body.mf-ui h1.pt{font-size:var(--fs-20)!important}
  .card-h{font-size:var(--fs-14)!important}
  table.dt td{font-size:var(--fs-13)!important;padding:var(--sp-2) 10px!important}
  table.dt th{font-size:var(--fs-12)!important;padding:var(--sp-2) 10px!important}
  .badge,.updb{font-size:var(--fs-12)!important}
}
@media (min-width:761px) and (max-width:1024px){
  /* le righe di filtri restano in fila e vanno a capo (il mockup le impilava tutte) */
  .card-b>div[style*="display:flex"]{flex-direction:row!important;flex-wrap:wrap!important;align-items:flex-end!important}
  .card-b>div[style*="display:flex"]>div,.card-b>div[style*="display:flex"]>select,.card-b>div[style*="display:flex"]>input{width:auto!important;flex:1 1 180px}
  .card-b>div[style*="display:flex"]>button{width:auto!important}
  .g3,.g4,[style*="repeat(3,1fr)"],[style*="repeat(4,1fr)"],[style*="repeat(5,1fr)"],[style*="repeat(6,1fr)"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* tocco: tutto ≥ 40 px, campi 16 px (iPhone non ingrandisce la pagina) */
@media (max-width:900px),(pointer:coarse){
  :root{--fz-ctl:16px}
  body:not(#_) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=hidden]),select,textarea){font-size:16px!important} /* iPhone: 16 px = niente zoom */
  .btn,.btn-sm,table .btn,.chip,.mx-chip,.mtab,.mbp,.det-close,.side-h button,.mf-ph,.mx-go,.mfx-act button,.mx-sim button{height:auto!important;min-height:40px!important}
  .stab,.mx-tabs button,#mx-tabs button,.mx-kind button,.mp-seg button,.auton button,.seg button,.bx-tabs>.chip,.mfx-tabs>.chip,.mfa-tabs>.chip{height:auto!important;min-height:40px!important}
  .subtabs,.mx-tabs,#mx-tabs,.bx-tabs,.mfx-tabs,.mfa-tabs,.mp-seg,.mx-kind,.auton,.seg{padding:0!important;gap:4px!important;background:transparent!important}
  .stab,.mx-tabs button,#mx-tabs button,.mx-kind button,.mp-seg button,.auton button,.seg button,.bx-tabs>.chip,.mfx-tabs>.chip,.mfa-tabs>.chip{background:var(--n-100)!important}
  /* piccoli "×" dentro i chip: area di tocco 40 px senza ingrandire il chip */
  .mfx-g{min-height:40px;padding-right:0!important}
  .mfx-g>button{min-width:40px;min-height:40px;margin:0!important}
  input[type=checkbox],input[type=radio]{width:20px!important;height:20px!important}
  label:has(input[type="checkbox"]),label:has(input[type="radio"]){min-height:40px!important}
}

/* telefono (≤ 760) */
@media (max-width:760px){
  .page,body.mf-pro .page,body.mf-ui .page{padding:var(--sp-3)!important}
  h1.pt,body.mf-ui h1.pt,body.mf-pro h1.pt{font-size:var(--fs-20)!important;margin-bottom:var(--sp-3)!important}
  .card,body.mf-pro .card{margin-bottom:var(--sp-3)!important}
  .card-h,body.mf-pro .card-h{padding:var(--sp-3)!important;min-height:44px}
  .card-b{padding:var(--sp-3)!important}
  /* griglie e form: una colonna */
  .g2,.g3,.g4,.pub-grid,.ai-grid,.mfai-grid,[style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr)!important}
  .kpis,.mx-kpis,.mfx-kpis,[class*="kpi-row"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .card-b>div[style*="display:flex"]{flex-direction:column!important;align-items:stretch!important}
  .card-b>div[style*="display:flex"]>:is(div,button,select,input,label,textarea){width:100%!important;margin-left:0!important}
  .card-b>div[style*="display:flex"]>:is(span,.badge,.chip){align-self:flex-start}
  /* righe fatte solo di pulsanti / chip: restano in fila e vanno a capo */
  .card-b>div[style*="display:flex"]:not(:has(> :not(button,.btn,.chip,.badge,span,b,a,small))){flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important}
  .card-b>div[style*="display:flex"]:not(:has(> :not(button,.btn,.chip,.badge,span,b,a,small)))>button{width:auto!important}
  /* filtri (pulsanti piccoli) + una ricerca: i pulsanti restano in fila, la ricerca va sotto a tutta larghezza */
  .card-b>div[style*="display:flex"]:has(> .btn-sm):not(:has(> :not(button,.btn,input,span,b))){flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important}
  .card-b>div[style*="display:flex"]:has(> .btn-sm):not(:has(> :not(button,.btn,input,span,b)))>button{width:auto!important;flex:0 0 auto}
  .card-b>div[style*="display:flex"]:has(> .btn-sm):not(:has(> :not(button,.btn,input,span,b)))>input{flex:1 1 100%!important;min-width:0!important;margin-left:0!important}
  .card-h .btn,.card-h select,.card-h input{max-width:100%}
  /* tabelle: scorrono dentro il loro contenitore, mai la pagina */
  table.dt th,table.dt td{white-space:nowrap}
  table.dt td{font-size:var(--fs-13)!important}
  /* modali e pannelli laterali a tutto schermo */
  .mfa-dlg,.mp-drawer,.mfai-modal>div{position:fixed!important;inset:0!important;width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;
    margin:0!important;border-radius:0!important;overflow:auto!important;z-index:var(--z-modal)}
  #mf-login .mf-login-card{max-width:none}
  .toastx,#toast{left:var(--sp-3)!important;right:var(--sp-3)!important;bottom:var(--sp-3)!important;max-width:none}
  .chipbar input[type=search]{min-width:0;flex:1 1 160px}
}

/* telefoni stretti (≤ 380) */
@media (max-width:380px){
  .page,body.mf-ui .page{padding:var(--sp-2)!important}
  .card-h,.card-b{padding:10px!important}
}

/* =====================================================================
   18. TELEFONO (≤ 600): Monitoring e Comparatore a schede
   Una partita = una scheda: nomi interi (anche su 2 righe, mai "…"),
   punteggio/minuto, poi i blocchi Esito finale, Handicap e Total uno
   sotto l'altro (righe Nostra / Media, margine a destra). Niente taglio a
   destra, niente scroll orizzontale. Chiavi: le classi usate da bridge.js
   (#mon-body .mrow .m-info .m-odds .orow .mkt .oc .omrg; #p-cmp td.oq-*).
   ===================================================================== */
@media (max-width:600px){
  /* --- barra KPI: 2 per riga, etichette intere --- */
  body:not(#_) #mf-kbar{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;padding:8px!important}
  body:not(#_) #mf-kbar .mf-k{min-width:0!important;width:auto!important;height:auto!important;min-height:48px;align-items:flex-start;padding:8px 10px!important;
    border:1px solid var(--c-line)!important;border-radius:var(--r-sm)!important;white-space:normal!important}
  body:not(#_) #mf-kbar .mf-k small{display:block!important;-webkit-line-clamp:unset!important;overflow:visible!important;white-space:normal!important;
    text-overflow:clip!important;max-width:none!important;line-height:1.3!important}
  body:not(#_) #mf-kbar .mf-k-i{display:none}
  body:not(#_) #mf-kbar .mf-dlist{grid-column:1/-1}

  /* --- filtri: una riga che scorre, con dissolvenza sul bordo destro --- */
  body:not(#_) #p-mon .chipbar{flex:none!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch;scrollbar-width:none;
    -webkit-mask-image:linear-gradient(to right,#000 calc(100% - 32px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 32px),transparent);padding-right:32px!important}
  body:not(#_) #p-mon .chipbar::-webkit-scrollbar{display:none}
  body:not(#_) #p-mon .chipbar>*{flex:none!important}

  /* --- lavagna: niente finestra a scorrimento, schede a tutta larghezza --- */
  body:not(#_) #mon-body{max-height:none!important;overflow:visible!important;border:0!important;border-radius:0!important;background:transparent!important}
  body:not(#_) #mon-body .lg-bar{width:auto!important;min-width:0!important;height:auto!important;position:static!important;white-space:normal!important;
    margin:12px 8px 6px;border-radius:var(--r-sm);padding:8px 12px!important}
  body:not(#_) #mon-body .lg-bar .cols{display:none!important}
  body:not(#_) #mon-body .lg-bar .lg-lbl,body:not(#_) #mon-body .lg-bar>*:first-child{width:auto!important;min-width:0!important;max-width:none!important;
    position:static!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
  body:not(#_) #mon-body .mrow{display:block!important;width:auto!important;min-width:0!important;height:auto!important;overflow:visible!important;contain:none!important;
    margin:0 8px 8px;background:var(--c-surface)!important;border:1px solid var(--c-line)!important;border-radius:var(--r-md);box-shadow:var(--sh-1)}
  body:not(#_) #mon-body .mrow>.m-info{width:auto!important;min-width:0!important;max-width:none!important;position:static!important;box-shadow:none!important;
    border:0!important;border-bottom:1px solid var(--n-100)!important;padding:10px 12px!important;background:transparent!important;overflow:visible!important}
  body:not(#_) #mon-body .m-teams{height:auto!important;white-space:normal!important;flex-wrap:nowrap!important;align-items:flex-start;font-size:var(--fs-14)!important;line-height:1.35}
  body:not(#_) #mon-body .m-teams .mf-tn{display:block;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
  body:not(#_) #mon-body .m-sub{height:auto!important;white-space:normal!important;margin-top:4px}
  body:not(#_) #mon-body .m-flags{display:flex!important;height:auto!important;flex-wrap:wrap!important;overflow:visible!important;margin-top:6px}
  /* quote: blocchi uno sotto l'altro */
  body:not(#_) #mon-body .m-odds{display:grid!important;grid-template-columns:minmax(0,1fr);padding:2px 12px 10px}
  body:not(#_) #mon-body .m-odds>.orow{display:contents!important}
  body:not(#_) #mon-body .m-odds .olabel{display:none!important}
  body:not(#_) #mon-body .m-odds .mkt{width:auto!important;min-width:0!important;border:0!important;padding:3px 0!important;display:flex!important;
    flex-wrap:wrap;align-items:center;gap:4px;justify-content:flex-start}
  body:not(#_) #mon-body .orow:not(.avg)>.mkt:nth-child(2){grid-row:1}
  body:not(#_) #mon-body .orow.avg>.mkt:nth-child(2){grid-row:2}
  body:not(#_) #mon-body .orow:not(.avg)>.mkt:nth-child(3){grid-row:3}
  body:not(#_) #mon-body .orow.avg>.mkt:nth-child(3){grid-row:4}
  body:not(#_) #mon-body .orow:not(.avg)>.mkt:nth-child(4){grid-row:5}
  body:not(#_) #mon-body .orow.avg>.mkt:nth-child(4){grid-row:6}
  body:not(#_) #mon-body .m-odds .mkt::before{content:"Nostra";flex:0 0 48px;font-size:var(--fs-12);font-weight:var(--fw-sb);color:var(--n-600)}
  body:not(#_) #mon-body .m-odds .orow.avg>.mkt::before{content:"Media";color:var(--n-500);font-weight:var(--fw-r)}
  body:not(#_) #mon-body .m-odds .orow:not(.avg)>.mkt::after{order:-1;flex:0 0 100%;font-size:var(--fs-12);font-weight:var(--fw-b);letter-spacing:.04em;
    text-transform:uppercase;color:var(--c-navy);padding:8px 0 2px;border-top:1px solid var(--n-100);margin-top:4px}
  body:not(#_) #mon-body .m-odds .orow:not(.avg)>.mkt:nth-child(2)::after{content:"Esito finale";border-top:0;margin-top:0}
  body:not(#_) #mon-body .m-odds .orow:not(.avg)>.mkt:nth-child(3)::after{content:"Handicap"}
  body:not(#_) #mon-body .m-odds .orow:not(.avg)>.mkt:nth-child(4)::after{content:"Total"}
  body:not(#_) #mon-body .m-odds .oc{flex:1 1 0!important;min-width:0!important;padding:6px 2px!important;font-size:var(--fs-13)!important;text-align:center}
  body:not(#_) #mon-body .m-odds .oc.lin{flex:0 0 auto!important;min-width:44px!important;font-size:var(--fs-12)!important;color:var(--n-500)}
  body:not(#_) #mon-body .m-odds .omrg{flex:0 0 auto!important;width:auto!important;min-width:52px;text-align:right;font-size:var(--fs-12)!important;padding:2px 4px!important}

  /* --- Comparatore: una scheda per evento, book in griglia a 2 colonne --- */
  body:not(#_) #p-cmp table.dt{display:block!important;min-width:0!important;width:100%!important;table-layout:auto!important}
  body:not(#_) #p-cmp table.dt thead{display:none!important}
  body:not(#_) #p-cmp table.dt tbody{display:block!important}
  body:not(#_) #p-cmp table.dt tr{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;padding:8px 12px;
    background:var(--c-surface)!important;border-bottom:1px solid var(--n-100)}
  body:not(#_) #p-cmp table.dt tr:has(> td.oq-ev),body:not(#_) #p-cmp table.dt tr:has(> td[rowspan]:first-child){border-top:8px solid var(--c-bg);padding-top:12px}
  body:not(#_) #p-cmp table.dt td{display:flex!important;align-items:center;justify-content:space-between;gap:8px;height:auto!important;width:auto!important;
    padding:2px 0!important;border:0!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;text-align:right!important;min-width:0}
  body:not(#_) #p-cmp table.dt td[data-l]::before{content:attr(data-l);font-family:var(--mf-font);font-size:var(--fs-12);font-weight:var(--fw-sb);
    color:var(--n-500);text-transform:uppercase;letter-spacing:.03em;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
  body:not(#_) #p-cmp table.dt td[rowspan]:first-child,body:not(#_) #p-cmp table.dt td.oq-ev{grid-column:1/-1;display:block!important;text-align:left!important;padding-bottom:6px!important}
  body:not(#_) #p-cmp table.dt td.oq-ev::before,body:not(#_) #p-cmp table.dt td[rowspan]:first-child::before{content:none!important}
  body:not(#_) #p-cmp table.dt td.oq-ev>span{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
  body:not(#_) #p-cmp table.dt td.oq-ev .oq-l1{font-size:var(--fs-14)!important}
  body:not(#_) #p-cmp table.dt td.oq-es{grid-column:1/-1;justify-content:flex-start;text-align:left!important;font-size:var(--fs-13);padding-top:4px!important}
  body:not(#_) #p-cmp table.dt td.oq-es::before{content:none!important}
  body:not(#_) #p-cmp table.dt td[colspan]{grid-column:1/-1;justify-content:center}
  body:not(#_) #p-cmp table.dt td:is(.mf-fu,.mf-fd){padding-right:12px!important}

  /* --- Risultati ufficiali (mod-results.js): una scheda per partita ---
     Partita in testa, poi una riga per fonte (nome a sinistra, risultato a
     destra) in 2 colonne, Consenso / Stato / Forza a tutta larghezza */
  body:not(#_) #mf-ris-off table.dt{display:block!important;min-width:0!important;width:100%!important}
  body:not(#_) #mf-ris-off table.dt thead{display:none!important}
  body:not(#_) #mf-ris-off table.dt tbody{display:block!important}
  body:not(#_) #mf-ris-off table.dt tr{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;padding:10px 12px;margin-bottom:8px;
    border:1px solid var(--c-line)!important;border-radius:var(--r-md);background:var(--c-surface);box-shadow:var(--sh-1)}
  body:not(#_) #mf-ris-off table.dt td{display:flex!important;align-items:center;justify-content:space-between;gap:8px;width:auto!important;min-width:0!important;
    padding:2px 0!important;border:0!important;white-space:normal!important;text-align:right!important}
  body:not(#_) #mf-ris-off table.dt td[data-l]::before{content:attr(data-l);font-size:var(--fs-12);font-weight:var(--fw-sb);color:var(--n-500);
    text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
  body:not(#_) #mf-ris-off table.dt td:first-child{grid-column:1/-1;display:block!important;text-align:left!important;font-size:var(--fs-14);padding-bottom:6px!important;border-bottom:1px solid var(--n-100)!important}
  body:not(#_) #mf-ris-off table.dt td:first-child::before{content:none!important}
  body:not(#_) #mf-ris-off table.dt td:nth-last-child(-n+3){grid-column:1/-1}
  body:not(#_) #mf-ris-off table.dt td:nth-last-child(3){flex-wrap:wrap;justify-content:flex-end;column-gap:8px}
  body:not(#_) #mf-ris-off table.dt td:nth-last-child(3)::before{margin-right:auto}
  body:not(#_) #mf-ris-off table.dt td:nth-last-child(2){flex-wrap:wrap;justify-content:flex-start;text-align:left!important}
  body:not(#_) #mf-ris-off table.dt td:nth-last-child(2)::before{flex:0 0 100%}
  body:not(#_) #mf-ris-off table.dt td:last-child{justify-content:flex-end}
  body:not(#_) #mf-ris-off table.dt td:last-child::before,body:not(#_) #mf-ris-off table.dt td[colspan]::before{content:none!important}
  body:not(#_) #mf-ris-off table.dt td[colspan]{grid-column:1/-1;display:block!important;text-align:left!important}
  body:not(#_) #mf-ris-off table.dt td[colspan] *{max-width:100%!important}
  body:not(#_) #mf-ris-off td[colspan]>div>div:first-child{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px!important}
  body:not(#_) #mf-ris-off td[colspan]>div>div:first-child>label{grid-column:1/-1}
  body:not(#_) #mf-ris-off #mfr-q{margin-left:0!important;min-width:0!important;flex:1 1 100%}
  /* righe senza intestazione (registro, partite non trovate): elenco semplice */
  body:not(#_) #mf-ris-off table.dt:not(:has(thead)) tr{grid-template-columns:minmax(0,1fr);box-shadow:none;margin-bottom:4px}
  body:not(#_) #mf-ris-off table.dt:not(:has(thead)) td{grid-column:1/-1;display:block!important;text-align:left!important;border-bottom:0!important;font-size:var(--fs-13)}
}

/* =====================================================================
   19. MODULI DELL'ULTIMA VERSIONE: guida (mod-help), Config, Alias,
       Crea mercati, Agenti AI — stesse scatole del resto del pannello
   ===================================================================== */
/* barra "Come funziona questa pagina": alta come i controlli grandi */
.mfh-bar{min-height:var(--h-lg)!important;font-family:var(--mf-font)!important}
.mfh-t{font-size:var(--fs-13)!important}
.mfh-i{font-family:var(--mf-font)!important;font-size:var(--fs-12)!important}
/* "?" accanto a titoli e controlli: cerchio di 16 px, area cliccabile 28 px
   (40 sul telefono) ottenuta con un bordo trasparente; margini negativi in
   verticale così la riga non cresce */
button.mfh-q,body.mf-ui button.mfh-q{box-sizing:border-box!important;width:var(--h-sm)!important;height:var(--h-sm)!important;min-width:var(--h-sm)!important;min-height:var(--h-sm)!important;
  padding:0!important;border:6px solid transparent!important;background-clip:padding-box!important;box-shadow:inset 0 0 0 1px #9FB3C8!important;
  font-size:var(--fs-12)!important;line-height:1!important;margin:-6px 0 -6px 2px!important;vertical-align:middle}
button.mfh-q:hover,button.mfh-q:focus-visible{box-shadow:inset 0 0 0 1px #2F6FB3!important}
@media (max-width:900px),(pointer:coarse){
  button.mfh-q,body.mf-ui button.mfh-q{border-width:12px!important;margin:-12px 0 -12px 0!important}
}
/* collegamenti della guida (pillole): come i chip */
.mfh-link{display:inline-flex!important;align-items:center;height:var(--h-sm)!important;min-height:var(--h-sm)!important;padding:0 var(--sp-3)!important;
  font-size:var(--fs-12)!important;border-radius:var(--r-pill)!important;line-height:1!important}
p .mfh-link,.mfh-ai .mfh-link{vertical-align:middle;margin:2px 0}
/* Config: schede, ruoli dei book */
.mfc-tabs button{min-height:var(--h-lg)!important;font-size:var(--fs-13)!important}
.mfc-role{height:var(--h-sm)!important;min-height:var(--h-sm)!important;padding:0 10px!important;font-size:var(--fs-12)!important;border-radius:var(--r-sm)!important}
/* Alias: icone in riga e paginazione */
#p-alias .mfa-it button,#p-alias .mfa-ic button,#p-alias .mfa-pg button,#p-alias .mfa-n{min-width:var(--h-sm)!important;height:var(--h-sm)!important;min-height:var(--h-sm)!important;
  line-height:1!important;display:inline-flex!important;align-items:center;justify-content:center;font-size:var(--fs-12)!important}
#p-alias .mfa-n{padding:0 8px!important;font-size:var(--fs-12)!important}
/* Monitoring: pillola del margine (bridge.css la fissa a 10 px) */
.omrg.mf-mg,body.mf-ui .omrg.mf-mg{font-size:var(--fs-12)!important}
/* "?" sotto un campo (a capo): nessun margine negativo verso il campo */
body :is(select,input,textarea,.btn) ~ button.mfh-q.mfh-q{margin-top:0!important}
/* Config: selettore Live / Prematch (segmentato come le sottoschede) */
.mfc-seg{display:inline-flex!important;gap:2px!important;padding:2px!important;background:var(--n-100)!important;border:0!important;border-radius:var(--r-md)!important}
.mfc-seg>button{display:inline-flex!important;align-items:center;justify-content:center;height:var(--h-sm)!important;min-height:var(--h-sm)!important;padding:0 var(--sp-3)!important;
  border:0!important;border-radius:var(--r-sm)!important;font-size:var(--fs-13)!important;font-weight:var(--fw-sb)!important;line-height:1!important}
/* MTS Test ticket: i menu Partita / Mercato non si sovrappongono quando la riga si stringe */
#mf-tt-b>div:first-child>div{flex:1 1 200px;min-width:0;max-width:100%}
#mf-tt-b>div:first-child>div:nth-child(3),#mf-tt-b>div:first-child>div:nth-child(4){flex:0 1 auto}
#mf-tt-b>div:first-child select{min-width:0!important;width:100%!important}

/* ---------------------------------------------------------------------
   Moduli arrivati dopo il design system: Alerts (mod-alerts2), Risultati,
   Storico Odds (mod-history), Clienti / Limiti (mod-clients): stesse altezze
   dei controlli (28 / 32 / 40 px, tocco >= 40 px)
   --------------------------------------------------------------------- */
.al2-t{height:var(--h-lg)!important;min-height:var(--h-lg)!important;padding-top:0!important;padding-bottom:0!important;align-self:start}
.al2-t .al2-tl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.al2-seg button,.mfh-seg button{display:inline-flex!important;align-items:center;height:var(--h)!important;min-height:var(--h)!important;padding-top:0!important;padding-bottom:0!important;line-height:1!important}
.rs2-c,.mfh-chip,.mfh-src,.mfh-fact{display:inline-flex!important;align-items:center;height:var(--h)!important;min-height:var(--h)!important;padding-top:0!important;padding-bottom:0!important;line-height:1!important}
.mfc-btn{min-height:var(--h)!important;height:var(--h)!important;padding-top:0!important;padding-bottom:0!important;line-height:1!important}
.mfc-btn.s{height:var(--h-sm)!important;min-height:var(--h-sm)!important}
@media (max-width:900px),(pointer:coarse){
  .al2-seg button,.mfh-seg button,.rs2-c,.mfh-chip,.mfh-src,.mfh-fact,.mfc-btn,.mfc-btn.s{height:auto!important;min-height:40px!important}
  table .mfc-btn,table .mfc-btn.s{min-height:28px!important}
}

/* =====================================================================
   20. NESSUN TESTO TAGLIATO (1280 / 1440 / 1920 e telefono)
   Etichette corte o a capo, mai "…": l'audit (tools/ui-audit.mjs, h)
   segnala ogni testo con ellissi / overflow nascosto più largo del suo
   riquadro. Solo i nomi squadra lunghi nelle righe possono finire con
   "…", e solo con il nome intero nel tooltip (title).
   ===================================================================== */
/* Monitoring — selettore Tutti / Live / Prematch sopra l'albero */
body:not(#_) .mf-mode.mf-mode-side a{display:inline-flex;align-items:center;justify-content:center;gap:5px;overflow:visible!important;text-overflow:clip!important;
  text-transform:none!important;letter-spacing:0!important;padding:0 6px!important;white-space:nowrap}
body:not(#_) .mf-mode a[data-m=live]::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:#D64550}
body:not(#_) .mf-mode a[data-m=live].on::before{background:#fff}
/* barra KPI: etichette corte, a capo se serve (mai troncate) */
body:not(#_) #mf-kbar .mf-k small{display:block!important;-webkit-line-clamp:unset!important;-webkit-box-orient:unset!important;overflow:visible!important;
  white-space:normal!important;text-overflow:clip!important;max-width:none!important;line-height:1.25!important;overflow-wrap:normal}
body:not(#_) #mf-kbar .mf-k{white-space:normal!important}
/* striscia "in pericolo": chip interi, la striscia scorre di lato (dissolvenza solo se c'è altro a destra) */
body:not(#_) #mf-kbar .mf-dlist{overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none}
body:not(#_) #mf-kbar .mf-dlist::-webkit-scrollbar{display:none}
body:not(#_) #mf-kbar .mf-dlist.mf-dscroll{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 40px),transparent)}
body:not(#_) #mf-kbar .mf-dchip{flex:0 0 auto!important;width:auto!important;max-width:none!important;overflow:visible!important;text-overflow:clip!important}
body:not(#_) #mf-kbar .mf-dchip.mf-dfree{display:none!important}
/* barra del campionato nella lavagna: a capo invece di "…" */
body:not(#_) #mon-body .lg-bar.mf-lg{height:auto!important;min-height:30px;white-space:normal!important;overflow:visible!important;align-items:center}
body:not(#_) #mon-body .lg-bar .lg-lbl{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.3}
/* etichette della riga partita: icone ⏸ / 📊 al posto delle parole */
body:not(#_) #mon-body .m-flags .tagicon.mf-susp,body:not(#_) #mon-body .m-flags .tagicon.mfs-ic{padding:0 4px!important}
/* albero sport / campionati: nomi interi, a capo accanto ai contatori */
body:not(#_) #sp-tree .sp-row,body:not(#_) #sp-tree .mf-country,body:not(#_) #sp-tree .mf-league{white-space:normal!important;padding-top:4px;padding-bottom:4px}
body:not(#_) .mf-tl{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:break-word;line-height:1.3}
/* KPI di Clienti / Limiti e Config: etichetta sopra il valore, a capo se serve */
body:not(#_) .mfc-kpis .mfc-kpi{display:flex!important;flex-direction:column;align-items:flex-start;justify-content:flex-start}
body:not(#_) .mfc-kpis .mfc-kpi span,body:not(#_) #mfc-kpi .l,body:not(#_) #mfc-kpi .s{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.3}
/* Comparatore: tabella con larghezza minima (scorre di lato nella sua scatola), testi a capo */
@media (min-width:601px){
  body:not(#_) #p-cmp table.dt{min-width:1040px!important}
  body:not(#_) #p-cmp table.dt th:nth-child(3){width:112px}
  body:not(#_) #p-cmp table.dt th{overflow:visible!important;text-overflow:clip!important}
  body:not(#_) #p-cmp td.oq-ev>span{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
  body:not(#_) #p-cmp table.dt td.oq-es{white-space:normal!important;text-overflow:clip!important;line-height:16px}
}
/* Alerts: tipi di allarme a capo su due righe */
body:not(#_) .al2-t .al2-tl{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.25}
@media (max-width:760px){body:not(#_) .al2-types .al2-t .al2-tl{white-space:nowrap!important}}
/* dettaglio partita: titoli dei mercati interi */
body:not(#_) .mp-ct{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
/* Crea mercati: etichette dei campi a capo */
body:not(#_) .cr-f>span{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.3}
/* Storico Odds: elenco eventi, nomi interi su due righe */
body:not(#_) .mfh-ev-t b,body:not(#_) .mfh-ev-s{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.3}
/* Pubblicazione: interruttori Prematch / Live interi */
body:not(#_) .mf-ph{overflow:visible!important;text-overflow:clip!important}
/* Alias: varianti a capo nella cella (la riga cresce) */
body:not(#_) #p-alias table.mfa-l td.mfa-va{white-space:normal!important;height:auto!important;padding-top:4px!important;padding-bottom:4px!important;text-overflow:clip!important}
/* Config → Bookmaker: stato del book a capo */
body:not(#_) .mfc-bk-st span{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
/* Monitoring tra 601 e 1100 px: colonna evento stretta, l'etichetta fissa FEED non serve */
@media (min-width:601px) and (max-width:1100px){body:not(#_) #mon-body .m-flags .tagicon.b{display:none!important}}
/* menu a tendina: larghi quanto la voce più lunga (mai oltre la riga); il testo
   intero della voce scelta è anche nel tooltip (mf-ds.js) */
body:not(#_) .panel select:not([multiple]),body:not(#_) .mf-modal select:not([multiple]){min-width:min(100%,max-content)!important;max-width:100%}
body:not(#_) .al2-cr select{flex:none;max-width:none!important;min-width:max-content!important}
body:not(#_) .al2-cr>:first-child{flex:1 1 auto;min-width:0}
body:not(#_) #mfl-rf{flex:none;min-width:max-content!important}
/* Alerts sul telefono: casella di selezione a sinistra (come sul desktop),
   ora / LIVE sulla prima riga, livello e tipo sulla seconda (a capo, mai "…") */
@media (max-width:760px){
  body:not(#_) .al2-tbl tr.al2-r{padding-left:48px!important}
  body:not(#_) .al2-tbl td.al2-cb{position:absolute!important;left:6px!important;right:auto!important;top:4px!important;width:40px!important;height:40px;display:flex!important;align-items:center;justify-content:center;padding:0!important}
  body:not(#_) .al2-tbl td.al2-at{display:flex!important;align-items:center;flex-wrap:wrap;gap:6px;width:auto!important;margin:0!important;min-height:32px}
  body:not(#_) .al2-tbl td.al2-at .al2-o{margin:0!important}
  body:not(#_) .al2-tbl td.al2-lv{display:flex!important;align-items:center;flex-wrap:wrap;gap:4px 8px;width:auto!important;margin:0!important}
  body:not(#_) .al2-tbl td.al2-lv .al2-cat{display:inline!important;margin:0!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
}

/* menu a tendina con voci lunghe dentro griglie strette: la cella prende
   tutta la riga (o la griglia si adatta), così la voce scelta resta intera */
body:not(#_) .mfc-fields>div:has(>#mfl-pc){grid-column:1/-1}
body:not(#_) .mfai-form{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important}
@media (max-width:600px){
  body:not(#_) .mx-form>:has(>select){grid-column:1/-1}
  body:not(#_) .cr-row7>.cr-grow:has(>select){flex-basis:100%!important}
  body:not(#_) .bx-rbf>label:has(>select){grid-column:1/-1}
}

/* ===== integrazione (integ6): su telefono i testi si leggono interi, mai «…» ===== */
@media (max-width:760px){
  body:not(#_) #mf-cur{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.15;max-width:42vw}
  body:not(#_) #p-board .c-sub{white-space:normal;overflow:visible;text-overflow:clip}
  body:not(#_) .qa-k b{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
  body:not(#_) #p-rgl .rgl-t{white-space:normal;overflow:visible;text-overflow:clip}
  body:not(#_) .mfs-k b,body:not(#_) .mfs-k small{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
  body:not(#_) .rk-f{grid-template-columns:1fr!important}
  body:not(#_) .rp-lb:has(#rp-acc-c){grid-column:1/-1;flex:1 1 100%;min-width:0}
}
/* testi interi a ogni larghezza (integ6): si va a capo invece dei «…» */
body:not(#_) .mfai-text,body:not(#_) .mfai-sug{white-space:normal;overflow:visible;text-overflow:clip;-webkit-line-clamp:unset;display:block}
body:not(#_) .mfai-line{height:auto;min-height:32px;flex-wrap:wrap}
body.mf-ui:not(#_) .top .tabs .mf-nl{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.2}
body:not(#_) #qa-kpi .qa-k b,body:not(#_) #rk-kpi b,body:not(#_) .mfs-k b,body:not(#_) .mfs-k small{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
@media (min-width:1101px){body:not(#_) #p-rgl .rgl-grid{grid-template-columns:minmax(320px,460px) minmax(0,1fr)}}
body:not(#_) #p-board #bd-hrow .bd-c,body:not(#_) #p-board .bd-o>i{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:break-word;line-height:1.2}
body:not(#_) .co-leg span.b-warn,body:not(#_) .co-leg-m b{white-space:normal;overflow:visible;text-overflow:clip}
body:not(#_) .rk-f{grid-template-columns:1fr minmax(210px,max-content)}
body:not(#_) div:has(>#tt-ev){flex:1 1 400px!important;min-width:min(400px,100%)}
/* integ7: long antepost names on the phone cards of the Lavagna wrap (no «…») */
@media (max-width:900px){body:not(#_) #p-board .card .c-ev b{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.25}}
body:not(#_) div:has(>#tt-mk){flex:1 1 300px!important;min-width:min(300px,100%)}
body:not(#_) div:has(>div>#oq-lega){grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important}
body:not(#_) .cr-f:has(>#mn-met){flex:1 1 180px!important;min-width:min(180px,100%)}
@media (min-width:761px){body:not(#_) #p-rec .rec-q>div:has(#rec-qc){grid-column:span 2}}
@media (max-width:900px){
  body:not(#_) .mp-tools{flex-wrap:wrap;gap:6px}
  body:not(#_) .mp-tools>.mp-tbtn{flex:1 1 auto}
  body:not(#_) .mp-tools>.mp-seg{flex:1 1 100%;display:flex;min-width:0}
  body:not(#_) .mp-tools>.mp-seg>button{flex:1 1 0;min-width:0;white-space:nowrap}
}

/* =====================================================================
   RESPONSIVE (agent-responsive, 23 ott) — portatili 13" (1280–1536 px),
   telefoni 360–430 px, tablet, 2K. Regole generali; i casi pagina per
   pagina sono nei CSS dei moduli. Controllo: node tools/ui-audit.mjs
   (numeri spezzati, intestazioni sovrapposte, pannelli laterali).
   ===================================================================== */
/* numeri e quote: cifre della stessa larghezza, mai spezzati a metà ("2,\n40") */
body:not(#_) :is(td,th,span,b,small,strong,em,i,div).num,
body:not(#_) :is(td,b,span,small,strong,em,i,code).mono,
body:not(#_) td.n{font-variant-numeric:tabular-nums}
body:not(#_) :is(td,th,span,b,small,strong,em,i).num,
body:not(#_) :is(b,span,small,strong,em,i).mono,
body:not(#_) td.n{white-space:nowrap}
/* tabelle larghe: scorrono nel loro riquadro (mai la pagina), il riquadro non esce dallo schermo */
body:not(#_) div:has(> table){min-width:0;overscroll-behavior-x:contain}
/* telefono: le tabelle dati non si stringono a una parola per riga; restano su una riga
   e scorrono di lato nel loro riquadro, con la prima colonna ferma (le tabelle che sul
   telefono diventano schede hanno le loro regole e sono escluse) */
@media (max-width:760px){
  body:not(#_) :is(table.dt,table.mx-t):not(.mx-acc-tb,.al2-tbl,.mfh-t,.rp-t,.mop-t,.mfc-t,#p-cmp *,#mf-ris-off *) :is(td,th){white-space:nowrap!important}
  body:not(#_) :is(table.dt,table.mx-t):not(.mx-acc-tb,.al2-tbl,.mfh-t,.rp-t,.mop-t,.mfc-t,#p-cmp *,#mf-ris-off *) tr>:first-child{position:sticky;left:0;z-index:1;background:var(--c-surface,#fff);box-shadow:1px 0 0 var(--c-line,#E2E8EF)}
}
.mx-hl span,.mx-note b{white-space:nowrap}
/* colonne "larghe" (fornitore, cliente): mai una parola per riga */
@media (min-width:761px){body:not(#_) table td.wide{min-width:150px}}
/* combinazioni ("1 + 1-2") e intervalli di quota ("1,03 – 100,00"): su una riga */
body:not(#_) .mfc-xt :is(td,th),body:not(#_) .mfc-t td .sub{white-space:nowrap}
/* MTS: etichette dei riquadri KPI intere (a capo, mai «…») */
body:not(#_) #mx-kpis .mx-kpi span{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.25}
/* date/ore e tempi nelle tabelle: "23/10 16:26", "LIVE 7.0 s" su una riga */
body:not(#_) :is(td.mono,td.num,td.n),body:not(#_) .mx-t td:has(> .mx-live,> .mx-pre){white-space:nowrap!important}
@media (max-width:760px){body:not(#_) table.mfc-tbl :is(td,th){white-space:nowrap}}
/* freccia della quota che cambia: fuori dalla pastiglia del numero (mai sopra le cifre) */
body:not(#_) td :is(span,b,strong).mf-fu::after,body:not(#_) td :is(span,b,strong).mf-fd::after{right:auto;left:100%;margin-left:1px;top:0}
/* chi contiene direttamente una tabella dati la fa scorrere di lato (mai la pagina):
   le celle vanno a capo solo tra le parole, quindi una tabella può essere più larga del riquadro */
body:not(#_) :has(> table.dt){overflow-x:auto!important;max-width:100%;min-width:0}
/* pulsanti nelle righe di tabella: etichetta su una riga (la tabella scorre se serve) */
body:not(#_) td :is(.btn,button){white-space:nowrap!important}
@media (max-width:760px){body:not(#_) #fs-tbody td{white-space:nowrap}}
body:not(#_) .wl-g2{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr))!important}
/* Risultati: schede delle partite senza esito su una colonna al telefono stretto; esiti ("X2 + 1-4") interi */
@media (max-width:420px){body:not(#_) #mf-ris-off table.dt tr{grid-template-columns:minmax(0,1fr)!important}}
body:not(#_) #p-ris td b{white-space:nowrap}
/* MTS velocità: sotto i 420 px un'etichetta ogni due colonne dell'istogramma (intere, mai tagliate) */
@media (max-width:420px){body:not(#_) .mx-hl span:nth-child(even){display:none}body:not(#_) .mx-hl span:nth-child(odd){flex:2 1 0;text-align:left}}
/* Exchange — Mercati al telefono: quota e importo su una riga per cella */
body:not(#_) .ex-c :is(b,small){white-space:nowrap}
@media (max-width:760px){body:not(#_) .ex-row .ex-c{padding:2px 1px}}
@media (max-width:760px){body:not(#_) .ex-top label:has(#exc-m){grid-column:1/3}}
@media (max-width:600px){body:not(#_) .mop-warn .btn{white-space:normal!important;max-width:100%;height:auto;min-height:40px;line-height:1.25}}
body:not(#_) #mfc-vl-in .mfc-r.g span.nm{white-space:normal;overflow:visible;text-overflow:clip}

/* ---------------------------------------------------------------------
   DENSITÀ 23/10 — pagine dense da sala trading (solo computer, > 760 px)
   righe 26-28 px, caselle quota 22 px, nomi mai a capo (… e nome intero nel title)
   --------------------------------------------------------------------- */
@media (min-width:761px){
  body:not(#_) #mon-body .mrow.mf-row{height:56px}
  body:not(#_) #mon-body .mrow.mf-row .orow{height:28px}
  body:not(#_) #mon-body .mrow .m-info{padding:3px 8px!important}
  body:not(#_) #mon-body .mrow.mf-row .m-teams{height:17px;font-size:var(--fs-14)}
  body:not(#_) #mon-body .mrow.mf-row .m-sub{height:15px;font-size:var(--fs-12)}
  body:not(#_) #mon-body .mrow.mf-row .m-flags{height:16px;gap:3px;margin-top:1px}
  body:not(#_) #mon-body .mrow.mf-row .m-flags :is(.tagicon,.badge,span){font-size:10px;line-height:14px;padding-top:0;padding-bottom:0}
  body:not(#_) #mon-body .mkt{padding:2px 5px}
  body:not(#_) #mon-body .mkt .oc{padding:3px 2px;line-height:16px}
  body:not(#_) #mon-body .lg-bar.mf-lg{height:26px;padding-top:5px;padding-bottom:5px;font-size:var(--fs-12)}
  body:not(#_) #mon-body .lg-bar .lg-lbl{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;min-width:0}
  body:not(#_) .panel.on table.dt :is(td,th){padding:4px 8px;line-height:1.3}
  body:not(#_) .panel.on table.dt td{height:28px;font-size:var(--fs-13)}
  body:not(#_) .panel.on table.dt th{height:26px;font-size:var(--fs-12)}
  body:not(#_) .card{padding:10px 12px}
  body:not(#_) h1.pt{margin:4px 0 8px!important}
}

/* =====================================================================
   UNIFORME 25/10 — stessa grafica in TUTTE le pagine (richiesta titolare:
   «stessi bottoni, stessi titoli, compatta, ferma»). Ultimo blocco del file:
   specificità 2 ID (html body:not(#_):not(#__)) così vince sulle regole
   per pagina dei moduli (#p-xxx .classe) senza toccarne il codice.
   Il Monitoring (#p-mon) resta com'è: è il modello.
   ===================================================================== */
:root{--u-navy:#14324E;--u-act:#F57C00;--u-act-h:#E06F00;--u-line:#E3E8EE;--u-tab-bg:#EEF2F6;--u-h:28px}

/* 1. titolo della pagina: una misura sola */
html body:not(#_):not(#__) section.panel:not(#p-mon) h1.pt,
html body:not(#_):not(#__) section.panel:not(#p-mon) h1.st-t{font-size:18px!important;font-weight:650!important;line-height:1.3!important;
  letter-spacing:-.01em!important;color:var(--u-navy)!important;margin:0 0 8px!important}

/* 2. schede DENTRO le pagine: un solo stile (segmentato grigio, scheda accesa bianca) */
html body:not(#_):not(#__) section.panel:not(#p-mon) :is(.subtabs,.al2-tabs,.mfc-tabs,.ck-tabs,.oc-tabs,.mx-srctabs,.mx-tabs,.bx-tabs,.p2-tabs){
  display:inline-flex!important;flex-wrap:wrap!important;align-items:center!important;gap:2px!important;padding:2px!important;
  background:var(--u-tab-bg)!important;border:0!important;border-radius:8px!important;box-shadow:none!important;
  width:auto!important;max-width:100%!important;min-height:0!important;height:auto!important;margin:0 0 10px!important}
html body:not(#_):not(#__) section.panel:not(#p-mon) :is(.subtabs,.al2-tabs,.mfc-tabs,.ck-tabs,.oc-tabs,.mx-srctabs,.mx-tabs,.bx-tabs,.p2-tabs)>:is(button,label,a){
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;
  height:26px!important;min-height:26px!important;padding:0 11px!important;margin:0!important;border:0!important;border-radius:6px!important;
  background:transparent!important;color:#526377!important;box-shadow:none!important;
  font-size:12.5px!important;font-weight:600!important;line-height:1!important;letter-spacing:0!important;text-transform:none!important;white-space:nowrap!important;
  text-decoration:none!important;cursor:pointer}
html body:not(#_):not(#__) section.panel:not(#p-mon) :is(.subtabs,.al2-tabs,.mfc-tabs,.ck-tabs,.oc-tabs,.mx-srctabs,.mx-tabs,.bx-tabs,.p2-tabs)>:is(button,label,a)::after{display:none!important}
html body:not(#_):not(#__) section.panel:not(#p-mon) :is(.subtabs,.al2-tabs,.mfc-tabs,.ck-tabs,.oc-tabs,.mx-srctabs,.mx-tabs,.bx-tabs,.p2-tabs)>:is(button,label,a):hover{color:var(--u-navy)!important;background:rgba(255,255,255,.65)!important}
html body:not(#_):not(#__) section.panel:not(#p-mon) :is(.subtabs,.al2-tabs,.mfc-tabs,.ck-tabs,.oc-tabs,.mx-srctabs,.mx-tabs,.bx-tabs,.p2-tabs)>:is(.on,.sel,.active,[aria-selected="true"]){
  background:#fff!important;color:var(--u-navy)!important;box-shadow:0 1px 2px rgba(20,50,78,.14),0 0 0 1px rgba(20,50,78,.05)!important}
/* contatore dentro la scheda */
html body:not(#_):not(#__) section.panel:not(#p-mon) :is(.al2-tabs,.mfc-tabs,.subtabs,.mx-srctabs)>button :is(.n,i,b,span:not(.mfh-d)){font-size:11px!important;font-style:normal!important;
  min-width:16px;height:16px;line-height:16px!important;padding:0 4px!important;border-radius:8px!important;background:#DDE4EC!important;color:#3D5068!important;font-weight:600!important;text-align:center}

/* 3. pulsanti di azione: arancione (il verde resta solo per gli stati positivi) */
html body:not(#_):not(#__) #p-opc .oc-b.g{background:var(--u-act)!important;border-color:var(--u-act)!important;color:#fff!important}
html body:not(#_):not(#__) #p-opc .oc-b.g:hover{background:var(--u-act-h)!important;border-color:var(--u-act-h)!important}
html body:not(#_):not(#__) .btn-w{background:var(--u-act)!important;border-color:var(--u-act)!important;color:#fff!important}
/* stessa altezza per tutti i pulsanti normali fuori dalle tabelle */
html body:not(#_):not(#__) section.panel:not(#p-mon) .btn:not(.btn-sm){height:var(--u-h)!important;min-height:var(--u-h)!important;font-size:12.5px!important}
html body:not(#_):not(#__) section.panel:not(#p-mon) .btn.btn-sm{height:24px!important;min-height:24px!important;font-size:12px!important}

/* 4. «Come funziona questa pagina»: una riga sottile, non una fascia */
html body:not(#_):not(#__) section.panel:not(#p-mon) .mfh-bar{min-height:28px!important;height:28px!important;padding:0 10px!important;gap:8px!important;
  font-size:12px!important;font-weight:600!important;background:#F7F9FB!important;color:#3D5068!important}
html body:not(#_):not(#__) section.panel:not(#p-mon) .mfh-panel{border-radius:8px!important;margin-bottom:8px!important}

/* 5. margini della pagina: uguali ovunque, tutta la larghezza
      (Manuale, Documentazione e Accessi restano centrati: sono da leggere) */
html body:not(#_):not(#__) section.panel:not(#p-mon)>.page{padding:12px 16px!important;max-width:none!important;margin:0!important}
html body:not(#_):not(#__) section.panel:not(#p-mon) .mfai-line{margin-bottom:8px!important}

/* 6. numeri: cifre della stessa larghezza (i contatori non fanno ballare il testo) */
html body:not(#_):not(#__) section.panel :is(td,.kpi,.num,.mono){font-variant-numeric:tabular-nums}

/* 7. telefono e tablet: schede che scorrono di lato invece di andare su 3 righe */
@media (max-width:760px){
  html body:not(#_):not(#__) section.panel:not(#p-mon) :is(.subtabs,.al2-tabs,.mfc-tabs,.ck-tabs,.oc-tabs,.mx-srctabs,.mx-tabs,.bx-tabs,.p2-tabs){
    flex-wrap:nowrap!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch;scrollbar-width:none;max-width:100%!important;display:flex!important}
  html body:not(#_):not(#__) section.panel:not(#p-mon) :is(.subtabs,.al2-tabs,.mfc-tabs,.ck-tabs,.oc-tabs,.mx-srctabs,.mx-tabs,.bx-tabs,.p2-tabs)>:is(button,label,a){height:34px!important;min-height:34px!important;flex:0 0 auto!important}
  html body:not(#_):not(#__) section.panel:not(#p-mon)>.page{padding:10px!important}
  html body:not(#_):not(#__) section.panel:not(#p-mon) h1.pt{font-size:16px!important}
}

/* 8. puntini «i» (aiuti): UNO stile per i tre tipi (.mfh-d, .mfh-dot, .mfh-qd), come la console
      che piace al titolare: cerchio 14 px, bordo sottile grigio, «i» dritta, subito dopo il testo */
html body:not(#_):not(#__) :is(.mfh-d,.mfh-dot,.mfh-qd){box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:14px!important;height:14px!important;min-width:14px!important;min-height:14px!important;max-width:14px!important;flex:0 0 14px!important;
  margin:0 0 0 5px!important;padding:0!important;border-radius:50%!important;border:1px solid currentColor!important;background:transparent!important;
  color:#8A96A3!important;opacity:1!important;box-shadow:none!important;vertical-align:-2px!important;align-self:center!important;
  font:600 9px/1 var(--mf-font)!important;font-style:normal!important;letter-spacing:0!important;text-transform:none!important;text-decoration:none!important;cursor:help!important}
html body:not(#_):not(#__) .mfh-d::before{content:"i"!important;font:600 9px/1 var(--mf-font)!important;font-style:normal!important;color:inherit!important;display:block!important}
html body:not(#_):not(#__) :is(.mfh-d,.mfh-dot,.mfh-qd):is(:hover,:focus-visible,.on,[aria-expanded="true"]){color:var(--u-navy)!important;background:#EEF2F6!important;outline:none!important}
/* dentro un pulsante: in fila dopo il testo (non più nell'angolo), stesso colore del testo del pulsante */
html body:not(#_):not(#__) :is(button,a,.btn,[role=button]) > :is(.mfh-d.mfh-dc,.mfh-dot.mfh-in){position:static!important;top:auto!important;right:auto!important;
  margin:0 0 0 6px!important;color:inherit!important;opacity:.6!important}
html body:not(#_):not(#__) :is(button,a,.btn,[role=button]) > :is(.mfh-d.mfh-dc,.mfh-dot.mfh-in):hover{opacity:1!important;background:rgba(255,255,255,.18)!important}
/* dopo una casella dentro un'etichetta (Cliente ▾ ⓘ): in alto a destra, sulla riga del nome del campo, mai sotto la casella */
/* pallino accanto a una casella senza etichetta: un angolino che non sposta niente */
html body:not(#_):not(#__) .mfh-z{display:inline-block!important;position:relative!important;width:0!important;height:0!important;margin:0!important;vertical-align:top!important}
html body:not(#_):not(#__) .mfh-z>.mfh-d{position:absolute!important;top:-7px!important;left:-8px!important;margin:0!important;background:#fff!important}

/* 11. puntini «i»: si aprono SOLO cliccando il puntino (25/10). L'area di tocco allargata (::after, -7/-8 px)
       copriva il testo del pulsante accanto: un clic sul pulsante apriva la spiegazione e il pulsante non partiva.
       Su computer l'area è il puntino e basta; al telefono resta un po' più grande ma mai sopra il pulsante. */
html body:not(#_):not(#__) :is(.mfh-d,.mfh-dot)::after{display:none!important;content:none!important}
@media (pointer:coarse){html body:not(#_):not(#__) :is(.mfh-d,.mfh-dot){width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;max-width:18px!important;flex-basis:18px!important}}
/* =====================================================================
   9. MONITORING — formato del modello mondofeed_v2.html (titolare 25/10:
   «righe precise, niente sbalzi, l'occhio va dritto»). Solo misure e colori:
   stesse colonne, stessi dati, stessi bottoni.
   - riga partita 64 px (Nostra 32 + Media 32), tutte uguali;
   - quote in JetBrains Mono 12 px in caselle della stessa larghezza;
   - colore SOLO per lo stato: azzurro = sopra la media, rosa = sotto;
   - il lampeggio di una quota che cambia è un bordo, non riempie la casella
     (prima aveva gli stessi colori di sopra/sotto e confondeva): riga sotto, solo sulle nostre quote;
   - margine piccolo e grigio, colorato solo se fuori obiettivo;
   - righe fuori dallo schermo non disegnate (content-visibility): con 350
     partite live il browser lavora solo su quelle che vedi.
   ===================================================================== */
html body:not(#_):not(#__) #p-mon{--mon-col:214px;--mon-name:236px}
@media (min-width:1700px){html body:not(#_):not(#__) #p-mon{--mon-col:240px;--mon-name:260px}}
@media (min-width:761px){
  html body:not(#_):not(#__) #mon-body .mrow.mf-row{height:64px!important;content-visibility:auto;contain-intrinsic-size:auto 64px}
  html body:not(#_):not(#__) #mon-body .mrow.mf-row .orow{height:32px!important;flex:none!important}
  html body:not(#_):not(#__) #mon-body .mrow.mf-row .orow+.orow{border-top:1px dashed #EDF1F5!important}
  html body:not(#_):not(#__) #mon-body .mrow .m-info{padding:6px 10px!important}
  html body:not(#_):not(#__) #mon-body .mrow.mf-row .m-teams{height:18px!important;font-size:13px!important;font-weight:600!important;line-height:18px!important}
  html body:not(#_):not(#__) #mon-body .mrow.mf-row .m-sub{height:16px!important;font-size:11px!important;line-height:16px!important;margin-top:1px!important}
  html body:not(#_):not(#__) #mon-body .mrow.mf-row .m-flags{height:16px!important;margin-top:4px!important;gap:4px!important;align-items:center!important}
  html body:not(#_):not(#__) #mon-body .mrow.mf-row .m-flags .tagicon{font-size:9px!important;line-height:14px!important;padding:0 5px!important;border-radius:3px!important;font-weight:700!important}
  html body:not(#_):not(#__) #mon-body .mrow.mf-row .olabel{width:58px!important;padding-left:10px!important;font-size:11px!important}
  html body:not(#_):not(#__) #mon-body .mkt{padding:4px 6px!important;gap:3px!important;align-items:center!important}
  html body:not(#_):not(#__) #mon-body .lg-bar.mf-lg{height:30px!important;padding:0 14px!important;align-items:center!important;font-size:11px!important;letter-spacing:.05em!important}
}
html body:not(#_):not(#__) #mon-body .oc{flex:1 1 0!important;min-width:0!important;height:24px!important;line-height:24px!important;padding:0 2px!important;
  font-family:'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace!important;font-size:12px!important;font-weight:600!important;letter-spacing:0!important;
  text-align:center!important;border-radius:4px!important;color:#2B3A4A;background:transparent;box-shadow:none}
html body:not(#_):not(#__) #mon-body .orow.avg .oc{font-weight:400!important;color:#5A6E85}
html body:not(#_):not(#__) #mon-body .oc.hi{background:#D9EAF9!important;color:#1F6FB2!important}
html body:not(#_):not(#__) #mon-body .oc.lo{background:#FADCE0!important;color:#C2374B!important}
html body:not(#_):not(#__) #mon-body .oc.lin{flex:.8 1 0!important;font-size:10.5px!important;font-weight:500!important;color:#7A8BA0!important;background:transparent!important}
/* lampeggio: bordo azzurro (sale) / rosa (scende) per 1,5 s, la casella tiene il suo colore di stato */
html body:not(#_):not(#__) #mon-body .oc.mf-fu:not(.hi):not(.lo),html body:not(#_):not(#__) #mon-body .oc.mf-fd:not(.hi):not(.lo){background:transparent!important;color:inherit!important}
html body:not(#_):not(#__) #mon-body .orow:not(.avg) .oc.mf-fu:not(.hi):not(.lo){color:#2B3A4A!important}
html body:not(#_):not(#__) #mon-body .orow.avg .oc.mf-fu:not(.hi):not(.lo),html body:not(#_):not(#__) #mon-body .orow.avg .oc.mf-fd:not(.hi):not(.lo){color:#5A6E85!important}
html body:not(#_):not(#__) #mon-body .orow:not(.avg) .oc.mf-fu{box-shadow:inset 0 -2px 0 #3E8ED0!important}
html body:not(#_):not(#__) #mon-body .orow:not(.avg) .oc.mf-fd{box-shadow:inset 0 -2px 0 #D9576A!important}
html body:not(#_):not(#__) #mon-body .orow.avg .oc:is(.mf-fu,.mf-fd){box-shadow:none!important}
/* margine: piccolo e grigio; colorato (solo il testo) se fuori obiettivo */
html body:not(#_):not(#__) #mon-body .omrg.mf-mg{width:40px!important;flex:none!important;background:transparent!important;padding:0 2px!important;
  font-family:'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace!important;font-size:10px!important;font-weight:500!important;color:#A6B4C4!important;text-align:right!important}
html body:not(#_):not(#__) #mon-body .omrg.mf-mg.hi{color:#B86E00!important;font-weight:600!important}
html body:not(#_):not(#__) #mon-body .omrg.mf-mg.lo{color:#1F6FB2!important;font-weight:600!important}


/* Monitoring come il modello: nelle righe delle partite nessun puntino «i» (FEED / AUTO / ⏸ / Torna indietro
   restano spiegati nella guida della pagina), così le righe sono pulite e nessun clic apre per sbaglio */
html body:not(#_):not(#__) #mon-body .mrow :is(.mfh-dot,.mfh-d,.mfh-z){display:none!important}
html body:not(#_):not(#__) #mon-body .mrow.mf-row .m-flags .tagicon{font-size:8.5px!important;letter-spacing:.02em}
/* 12. Monitoring: barra dei filtri (Campionati, Ordine, Con allarmi…), barra KPI e barra degli sport SENZA puntini.
       Venivano tolti e rimessi a ogni aggiornamento della barra: i bottoni si spostavano di continuo (titolare 25/10). */
html body:not(#_):not(#__) :is(#p-mon .chipbar,#mf-kbar,#mon-sportbar,.mf-actf,#mf-actf) :is(.mfh-dot,.mfh-d,.mfh-z,.mfh-q){display:none!important}
/* 13. Dettaglio partita: «Stop attivi» e il riquadro Modello / λ / Mercati in box precisi, tutti uguali (25/10) */
html body:not(#_):not(#__) .mp-stops{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important;gap:8px!important;align-items:stretch!important;margin-top:8px!important}
html body:not(#_):not(#__) .mp-stops.ok{display:flex!important}
html body:not(#_):not(#__) .mp-stops .mp-sgh{grid-column:1/-1;font-size:11px!important;font-weight:700!important;letter-spacing:.04em!important;color:#526377!important;text-transform:uppercase}
html body:not(#_):not(#__) .mp-stops .mp-sgn{grid-column:1/-1;justify-self:end;font-size:11px;color:#7A8BA0;font-variant-numeric:tabular-nums}
html body:not(#_):not(#__) .mp-stops .mp-sg{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:2px!important;
  min-height:52px!important;max-width:none!important;padding:8px 12px!important;border-radius:8px!important;border:1px solid #F1C9CE!important;border-left:3px solid #C62828!important;
  background:#fff!important;color:#17283A!important;font-size:12px!important;line-height:1.35!important;white-space:normal!important;overflow:hidden}
html body:not(#_):not(#__) .mp-stops .mp-sg b{font-size:12.5px!important;font-weight:650!important;color:#C62828!important}
html body:not(#_):not(#__) .mp-stops .mp-sg i{font-size:11px;color:#7A8BA0}
html body:not(#_):not(#__) .mp-stops .mp-sg.w{border-color:#F3D9B5!important;border-left-color:#F57C00!important}
html body:not(#_):not(#__) .mp-stops .mp-sg.w b{color:#B86E00!important}
html body:not(#_):not(#__) .mp-stops .mp-sg.off{border-color:#E3E8EE!important;border-left-color:#8A96A3!important;color:#526377!important}
/* stop con spiegazione e consiglio AI (mod-hints: .mfh-cw = stop + frase + «AI consiglia»): il BOX è l'involucro,
   dentro in ordine: stop, cosa significa, consiglio AI (riga verde in fondo al box) */
html body:not(#_):not(#__) .mp-stops > .mfh-cw{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;
  max-width:none!important;border:1px solid #E3E8EE!important;border-left:3px solid #C62828!important;border-radius:8px!important;background:#fff!important;overflow:hidden}
html body:not(#_):not(#__) .mp-stops > .mfh-cw .mfh-cr{display:flex!important;align-items:flex-start!important;gap:6px!important;width:100%!important}
html body:not(#_):not(#__) .mp-stops > .mfh-cw .mp-sg{border:0!important;border-radius:0!important;min-height:0!important;padding:8px 12px 2px!important;flex:1 1 auto;background:transparent!important}
html body:not(#_):not(#__) .mp-stops > .mfh-cw .mfh-cr > :is(.mfh-dot,.mfh-d){margin:9px 10px 0 0!important}
html body:not(#_):not(#__) .mp-stops > .mfh-cw .mfh-c{display:block!important;padding:0 12px 6px!important;font-size:11.5px!important;line-height:1.35!important;color:#526377!important;max-width:none!important;white-space:normal!important}
html body:not(#_):not(#__) .mp-stops > .mfh-cw .mfh-a{display:block!important;margin:auto 0 0!important;padding:6px 12px!important;font-size:11.5px!important;line-height:1.35!important;font-weight:600!important;
  color:#0F6B53!important;background:#EAF6F1!important;border-top:1px solid #D3EDE3!important;border-radius:0!important;max-width:none!important;white-space:normal!important}
html body:not(#_):not(#__) .mp-stops > .mfh-cw .mfh-a:empty,html body:not(#_):not(#__) .mp-stops > .mfh-cw .mfh-c:empty{display:none!important}
html body:not(#_):not(#__) .mp-stops .mp-sg.mp-sgp b{text-transform:capitalize}
html body:not(#_):not(#__) .mp-stops .mp-sg i{display:block;font-style:normal!important}
/* Dettaglio partita: niente puntini accanto ai bottoni Disattiva / Spegni live / Autorizza / Margini (riga ordinata) */
html body:not(#_):not(#__) :is(#mp-ctl,.mf-ctl) :is(.mfh-dot,.mfh-d,.mfh-z){display:none!important}
/* 14 — Calendario 25/10: niente pallini «i» sotto i campi, nella barra laterale, nelle schede e nelle righe (le spiegazioni restano nel titolo al passaggio e in «Come funziona») */
html body:not(#_):not(#__) #p-lcal :is(.lc-side,.lc-f,.lc-cons,.lc-days,.lc-c,.lc-r,.lc-gh,.lc-ai,.lc-tabs,.lc-sf,.lc-tbl,.lc-pg) :is(.mfh-dot,.mfh-d,.mfh-z,.mfh-q){display:none!important}
html body:not(#_):not(#__) #p-lcal .lc-lg{display:grid!important;grid-template-columns:16px 20px minmax(0,1fr) 28px!important;align-items:center!important;gap:6px!important;min-height:38px!important;padding:3px 6px!important;margin:0!important}
html body:not(#_):not(#__) #p-lcal .lc-lg>i{text-align:right!important}
html body:not(#_):not(#__) #p-lcal .lc-lg+.lc-lg{border-top:1px solid #F0F3F6!important}
