/* EvoVerde, stile del pannello (1/11/2026): le pagine Oggi, Calendario, Incassi e le schede. Colori dei mock-up approvati.
   Filament non compila le classi nuove: qui solo classi .ev-* nostre. */
:root { --ev-verde: #2f7d32; --ev-scuro: #173f30; --ev-crema: #f6f4ec; --ev-lime: #d9eb9d; --ev-linea: #dee3d4; --ev-secondario: #5c6e61; --ev-terra: #8b5e3c; --ev-inchiostro: #183c2d; }
html:not(.dark) body.fi-body, html:not(.dark) .fi-layout, html:not(.dark) .fi-main-ctn { background: var(--ev-crema); }
html:not(.dark) .fi-sidebar, html:not(.dark) .fi-sidebar-header { background: #173f30; }
html:not(.dark) .fi-sidebar-item-label, html:not(.dark) .fi-sidebar-group-label { color: #e4efe0; }
html:not(.dark) .fi-sidebar-item .fi-icon, html:not(.dark) .fi-sidebar-group-label .fi-icon, html:not(.dark) .fi-sidebar-group-collapse-btn { color: #c6dcc0; }
html:not(.dark) .fi-sidebar-item.fi-active > a, html:not(.dark) .fi-sidebar-item.fi-active .fi-sidebar-item-btn { background: var(--ev-lime); border-radius: 14px; }
html:not(.dark) .fi-sidebar-item.fi-active .fi-sidebar-item-label, html:not(.dark) .fi-sidebar-item.fi-active .fi-icon { color: var(--ev-scuro); }
html:not(.dark) .fi-sidebar-item > a:hover { background: #ffffff14; border-radius: 14px; }
html:not(.dark) .fi-sidebar-item-badge { background: #ffffff22; color: #fff; }
html:not(.dark) .fi-sidebar-item.fi-active .fi-badge, html:not(.dark) .fi-sidebar-item.fi-active .fi-sidebar-item-badge { background: #173f3022; color: var(--ev-scuro); }
.fi-sidebar-nav { padding-top: 1rem; }
.fi-sidebar-item > a, .fi-sidebar-item-btn { padding-top: .5rem; padding-bottom: .5rem; }
.fi-sidebar-item-label { font-size: .95rem; font-weight: 600; }
html:not(.dark) .fi-sidebar-group[data-group-label="Impostazioni"] { margin-top: 1.2rem; padding-top: 1rem; border-top: 1px solid #ffffff22; }
html:not(.dark) .fi-sidebar-header { background: #fff; }
html:not(.dark) .fi-topbar > nav, html:not(.dark) .fi-topbar { background: #fff; border-bottom: 1px solid var(--ev-linea); box-shadow: none; }
html:not(.dark) .fi-section, html:not(.dark) .fi-ta-ctn { border-radius: 20px; --tw-ring-color: var(--ev-linea); box-shadow: 0 2px 5px #173f3005, 0 20px 45px #173f300a; }
.fi-header-heading { letter-spacing: -.03em; font-weight: 800; }
.fi-topbar .fi-logo img { height: 2.4rem; }

.ev-topbar-azioni { display: flex; align-items: center; gap: 8px; margin-inline-start: 14px; }
.ev-topbar-azione { display: inline-flex; align-items: center; gap: 7px; background: #fff; color: var(--ev-inchiostro); border: 1px solid var(--ev-linea); padding: 9px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; text-decoration: none; white-space: nowrap; line-height: 1; }
.ev-topbar-azione.pieno { background: var(--ev-verde); color: #fff; border-color: var(--ev-verde); }
@media (max-width: 900px) { .ev-topbar-azione span { display: none; } .ev-topbar-azione { padding: 9px; } }

.ev-pulsante { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 9px 18px; background: var(--ev-scuro); color: #fff; border: 1px solid var(--ev-scuro); border-radius: 999px; font-size: 13px; font-weight: 800; text-decoration: none; cursor: pointer; white-space: nowrap; }
.ev-pulsante.chiaro { background: #fff; color: var(--ev-scuro); border-color: #c5cfbc; }
.ev-pulsante.lime { background: var(--ev-lime); color: var(--ev-scuro); border-color: var(--ev-lime); }
.ev-pulsante:hover { filter: brightness(1.06); }
.ev-azioni-oggi { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; }
.ev-griglia-oggi { display: grid; grid-template-columns: 1.6fr 1fr; gap: 20px; align-items: start; }
.ev-griglia-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 20px; }
.ev-col-2 { grid-column: span 2; }
@media (max-width: 1100px) { .ev-griglia-oggi, .ev-griglia-3 { grid-template-columns: 1fr; } .ev-col-2 { grid-column: span 1; } }
.ev-scheda { background: #fff; border: 1px solid var(--ev-linea); border-radius: 22px; padding: 22px 24px; margin-bottom: 18px; box-shadow: 0 2px 5px #173f3005, 0 20px 45px #173f300a; }
.ev-scheda h3 { font-size: 20px; font-weight: 800; letter-spacing: -.02em; margin: 0 0 4px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ev-scheda h3.ev-dopo { margin-top: 22px; }
.ev-scheda.prova { background: var(--ev-scuro); color: #fff; border-color: var(--ev-scuro); }
.ev-scheda.prova .ev-sotto { color: #cfe0c8; } .ev-scheda.prova a { color: var(--ev-lime); text-decoration: underline; }
.ev-scheda.oggi { border-color: var(--ev-verde); }
.ev-sotto { color: var(--ev-secondario); font-size: 14px; margin: 0 0 14px; }
.ev-piccolo { color: var(--ev-secondario); font-size: 13px; margin-top: 2px; }
.ev-terra { color: var(--ev-terra); font-weight: 700; }
.ev-rosso { color: #b42318; }
.ev-vuoto { color: var(--ev-secondario); font-size: 14px; margin: 6px 0; } .ev-vuoto a { color: var(--ev-verde); font-weight: 700; text-decoration: underline; }
.ev-vuoto-grande { padding: 26px 10px; text-align: center; color: var(--ev-secondario); } .ev-vuoto-grande b { display: block; font-size: 20px; color: var(--ev-inchiostro); margin-bottom: 8px; } .ev-vuoto-grande a { color: var(--ev-verde); font-weight: 700; text-decoration: underline; }
.ev-riga { display: flex; justify-content: space-between; gap: 14px; padding: 10px 0; border-bottom: 1px solid var(--ev-linea); font-size: 14px; text-decoration: none; color: inherit; }
.ev-riga:last-child { border-bottom: 0; } .ev-riga b { font-weight: 700; } .ev-riga span { color: var(--ev-secondario); text-align: right; }
a.ev-riga:hover { color: var(--ev-verde); }
.ev-avviso-giallo { background: #fff4e3; border-radius: 12px; padding: 10px 14px; margin-top: 12px; font-size: 14px; }
.ev-tag { display: inline-flex; align-items: center; gap: 5px; background: #eef0e9; color: #3d4f45; border-radius: 999px; padding: 3px 10px; font-size: 12px; font-weight: 700; }
.ev-tag.ok { background: #e3f2df; color: #1f5d2b; } .ev-tag.lime { background: var(--ev-lime); color: var(--ev-scuro); } .ev-tag.giallo { background: #fff0d6; color: #8a5a10; } .ev-tag.rosso { background: #fde3df; color: #9f2516; } .ev-tag.blu { background: #e2eefb; color: #1f4f8a; }

.ev-tappa { display: grid; grid-template-columns: 78px minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--ev-linea); }
.ev-tappa:last-child { border-bottom: 0; }
.ev-tappa.in_corso { background: #eef5e4; margin: 0 -24px; padding: 16px 24px; border-radius: 16px; border-bottom: 0; }
.ev-tappa.fatto { opacity: .72; }
.ev-tappa-ora b { display: block; font-size: 22px; font-weight: 800; color: var(--ev-verde); letter-spacing: -.03em; } .ev-tappa-ora span { font-size: 12px; color: var(--ev-secondario); }
.ev-tappa-testo b { font-size: 16px; font-weight: 700; }
.ev-tappa-stato { margin-top: 6px; display: flex; gap: 6px; flex-wrap: wrap; }
.ev-tappa-azioni { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; max-width: 250px; }
.ev-tappa-azioni .fi-btn { white-space: nowrap; }
@media (max-width: 760px) { .ev-tappa { grid-template-columns: 60px 1fr; } .ev-tappa-azioni { grid-column: 1 / -1; justify-content: flex-start; } .ev-tappa.in_corso { margin: 0 -14px; padding: 14px; } .ev-scheda { padding: 16px; } }
.ev-chips { display: flex; flex-wrap: wrap; gap: 8px; } .ev-chip { background: #fff; border: 1px solid #c5cfbc; border-radius: 999px; padding: 7px 14px; font-size: 13px; font-weight: 700; }
.ev-numeri { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 18px; }
.ev-numero { border-radius: 20px; padding: 18px 20px; border: 1px solid var(--ev-linea); background: #fff; }
.ev-numero span { display: block; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; font-weight: 800; color: var(--ev-secondario); }
.ev-numero b { display: block; font-size: 34px; font-weight: 800; letter-spacing: -.04em; margin: 6px 0 2px; line-height: 1.1; }
.ev-numero small { font-size: 12px; color: var(--ev-secondario); } .ev-numero small a { color: inherit; text-decoration: underline; }
.ev-numero.scuro { background: var(--ev-scuro); color: #fff; border-color: var(--ev-scuro); } .ev-numero.scuro span, .ev-numero.scuro small { color: #cfe0c8; }
.ev-numero.crema { background: #f3eddc; } .ev-numero.arancio { background: #fdf0e3; } .ev-numero.azzurro { background: #e9f1f6; }
.ev-tabella { width: 100%; border-collapse: collapse; font-size: 14px; margin-top: 8px; }
.ev-tabella th { text-align: left; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--ev-secondario); padding: 8px 10px; border-bottom: 1px solid var(--ev-linea); }
.ev-tabella td { padding: 10px; border-bottom: 1px solid var(--ev-linea); vertical-align: top; } .ev-tabella td a { color: var(--ev-verde); font-weight: 700; }
.ev-tabella td.numero, .ev-tabella th.numero { text-align: right; white-space: nowrap; }

.ev-cal-barra { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
.ev-cal-nav, .ev-cal-viste { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.ev-cal-titolo { font-size: 20px; font-weight: 800; letter-spacing: -.02em; margin-left: 8px; }
.ev-cal-mese { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; }
.ev-cal-intestazione { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--ev-secondario); font-weight: 800; padding: 4px 8px; }
.ev-cal-giorno { background: #fff; border: 1px solid var(--ev-linea); border-radius: 14px; min-height: 108px; padding: 8px; cursor: pointer; }
.ev-cal-giorno:hover { border-color: var(--ev-verde); } .ev-cal-giorno.fuori { opacity: .45; } .ev-cal-giorno.oggi { border: 2px solid var(--ev-verde); }
.ev-cal-numero { display: flex; justify-content: space-between; font-weight: 800; font-size: 14px; margin-bottom: 4px; } .ev-cal-numero small { font-weight: 700; color: var(--ev-secondario); font-size: 11px; }
.ev-cal-voce { font-size: 12px; background: #eef5e4; border-radius: 7px; padding: 3px 7px; margin-top: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ev-cal-voce.fatto { background: #e3f2df; text-decoration: line-through; opacity: .8; } .ev-cal-voce.in_corso { background: var(--ev-lime); } .ev-cal-voce.altro { background: transparent; color: var(--ev-secondario); }
@media (max-width: 760px) { .ev-cal-giorno { min-height: 64px; padding: 5px; } .ev-cal-voce { display: none; } .ev-cal-numero small { display: block; } }
.ev-cal-elenco .ev-scheda { margin-bottom: 14px; }

.ev-incassi-testa { display: grid; grid-template-columns: 1.4fr 1fr; gap: 18px; margin-bottom: 18px; }
@media (max-width: 1000px) { .ev-incassi-testa { grid-template-columns: 1fr; } }
.ev-grande { background: linear-gradient(120deg, #173f30, #2f7d32); color: #fff; border-radius: 22px; padding: 28px 30px; }
.ev-grande span { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; font-weight: 800; color: var(--ev-lime); }
.ev-grande b { display: block; font-size: 46px; font-weight: 800; letter-spacing: -.04em; margin: 8px 0 4px; } .ev-grande small { color: #d6e4cc; font-size: 14px; }
.ev-barre { display: flex; align-items: flex-end; gap: 10px; height: 120px; margin-top: 14px; }
.ev-barra { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; font-size: 11px; color: var(--ev-secondario); }
.ev-barra i { display: block; width: 100%; max-width: 44px; background: var(--ev-lime); border-radius: 8px 8px 3px 3px; } .ev-barra.corrente i { background: var(--ev-scuro); }
.ev-barra small { margin-bottom: 4px; font-weight: 700; color: var(--ev-inchiostro); }

/* pulsanti principali pieni, come nei mock-up (Filament 5 li fa chiari con testo scuro) */
.fi-btn.fi-color-primary { background-color: var(--ev-verde) !important; color: #fff !important; }
.fi-btn.fi-color-primary:hover { background-color: #246a28 !important; }
.fi-btn.fi-color-primary .fi-icon { color: #fff !important; }
.fi-btn.fi-color-success { background-color: #3a8f3e !important; color: #fff !important; }
.fi-btn.fi-color-danger { background-color: #b42318 !important; color: #fff !important; }

/* Oggi: il riquadro scuro del mock-up (saluto, giornata, pulsanti, foto) e i numeri in una riga */
.ev-hero { position: relative; display: grid; grid-template-columns: 1.2fr 1fr; gap: 20px; align-items: center; background: linear-gradient(110deg, #10291e, #173f30 55%, #2f7d32); color: #fff; border-radius: 26px; padding: 30px 34px; min-height: 230px; overflow: hidden; margin-bottom: 18px; }
.ev-hero-occhiello { display: block; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; font-weight: 800; color: var(--ev-lime); margin-bottom: 8px; }
.ev-hero h2 { font-size: 40px; font-weight: 800; letter-spacing: -.04em; line-height: 1.05; margin: 0 0 6px; color: #fff; }
.ev-hero p { color: #d6e4cc; font-size: 15px; margin: 0 0 18px; }
.ev-hero .ev-azioni-oggi { margin-bottom: 0; }
.ev-hero-foto { width: 100%; height: 100%; min-height: 190px; object-fit: cover; border-radius: 18px; box-shadow: 0 20px 40px #00000040; }
.ev-pulsante.trasparente { background: transparent; color: #fff; border-color: #ffffff60; }
.ev-hero .fi-btn { background: #ffffff14 !important; color: #fff !important; border: 1px solid #ffffff40; border-radius: 999px; }
@media (max-width: 900px) { .ev-hero { grid-template-columns: 1fr; padding: 22px; } .ev-hero-foto { display: none; } .ev-hero h2 { font-size: 30px; } }
.ev-numeri.quattro { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1100px) { .ev-numeri.quattro { grid-template-columns: repeat(2, 1fr); } }
.ev-griglia-oggi { grid-template-columns: 1.7fr 1fr; }
#eg-novita { margin-top: 24px !important; }

/* piano stagionale: la griglia dei mesi del mock-up */
.ev-piano-scroll { overflow-x: auto; }
.ev-piano { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 820px; }
.ev-piano th { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--ev-secondario); padding: 8px 4px; text-align: center; border-bottom: 1px solid var(--ev-linea); }
.ev-piano th.ev-piano-cura, .ev-piano td.ev-piano-cura { text-align: left; min-width: 210px; padding-left: 8px; }
.ev-piano td { padding: 10px 4px; border-bottom: 1px solid var(--ev-linea); text-align: center; vertical-align: middle; }
.ev-piano td.oggi, .ev-piano th.oggi { background: #f7efe1; }
.ev-piano tr.spenta { opacity: .45; }
.ev-piano .ev-tag { margin-right: 4px; margin-top: 3px; }
.ev-cella { display: inline-block; width: 44px; height: 24px; border-radius: 8px; background: #cfe3a8; }
.ev-cella.fatto { background: var(--ev-verde); }
.ev-piano-azioni { white-space: nowrap; text-align: right !important; }
.ev-piano-azioni .fi-btn { margin-left: 4px; }
.ev-legenda { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; margin-top: 12px; font-size: 12px; color: var(--ev-secondario); }
.ev-legenda .ev-cella { width: 24px; height: 14px; }
.ev-piano-azioni .fi-icon-btn { margin-left: 2px; }

/* ---- console di regia (2/11/2026): avviso del sistema, login, grafici delle statistiche ---- */
.ev-avviso-sistema { background: #fff4e3; color: #5a3d00; border-bottom: 1px solid #f3d9a4; padding: 10px 18px; font-size: 14px; font-weight: 600; text-align: center; }
.ev-login-regia { font-size: 13px; color: #5c6b63; text-align: center; margin: 0 0 14px; }
.ev-login-regia a { color: var(--ev-verde, #2f7d32); font-weight: 700; }
.ev-grafico { width: 100%; height: auto; display: block; margin: 6px 0 4px; }
.ev-grafico-griglia { stroke: #e3eadf; stroke-width: 1; }
.ev-grafico-barra { fill: #2f7d32; }
.ev-grafico-barra.vuota { fill: #e3eadf; }
.ev-grafico-valore { font-size: 12px; font-weight: 800; fill: #173f30; }
.ev-grafico-mese { font-size: 11px; fill: #5c6b63; }
.ev-tabella-mesi { width: 100%; border-collapse: collapse; font-size: 11px; color: #5c6b63; table-layout: fixed; }
.ev-tabella-mesi th { font-weight: 700; text-align: center; padding: 2px 0; border-top: 1px solid var(--ev-linea); }
.ev-tabella-mesi th small { display: block; font-weight: 500; color: #9aa69f; }
.ev-tabella-mesi td { text-align: center; padding: 2px 0; font-weight: 700; color: #173f30; word-break: break-all; }

/* La tua pagina (2/11/2026): modulo con l'anteprima dal vivo accanto, QR, richieste da confermare */
.ev-numeri.tre { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ev-pagina-layout { display: grid; grid-template-columns: minmax(0, 1fr) 390px; gap: 20px; align-items: start; margin-top: 18px; }
.ev-anteprima { position: sticky; top: 76px; }
.ev-anteprima-testa { display: flex; flex-direction: column; margin-bottom: 10px; } .ev-anteprima-testa b { font-size: 15px; } .ev-anteprima-testa span { font-size: 12px; color: var(--ev-secondario); }
.ev-telefono-anteprima { border: 8px solid #224b36; border-radius: 36px; overflow: hidden; background: #f6f4ec; height: 740px; box-shadow: 0 20px 45px #173f3020; }
.ev-telefono-anteprima iframe { width: 100%; height: 100%; border: 0; display: block; }
.ev-qr-pagina { display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; padding: 10px 0; } .ev-qr-pagina img { border: 1px solid var(--ev-linea); border-radius: 14px; background: #fff; padding: 8px; } .ev-qr-pagina b { font-size: 16px; } .ev-qr-pagina span { font-size: 13px; color: var(--ev-verde); font-weight: 700; }
.ev-tappa.scaduta { opacity: .6; }
.ev-richieste h3 { color: var(--ev-verde); }
@media (max-width: 1100px) { .ev-pagina-layout { grid-template-columns: 1fr; } .ev-anteprima { position: static; } .ev-telefono-anteprima { height: 640px; max-width: 420px; margin: 0 auto; } .ev-numeri.tre { grid-template-columns: 1fr; } }

/* Giro su Google Maps e meteo (2/11/2026) */
.ev-giro-testa { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap; }
.ev-meteo-riga { display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: baseline; margin: 10px 0 4px; padding: 10px 14px; background: #eef5e4; border-radius: 12px; font-size: 13px; } .ev-meteo-riga b { margin-right: 4px; } .ev-meteo-riga small { color: var(--ev-secondario); font-size: 11px; flex-basis: 100%; }
.ev-mappa-giro { height: 260px; border-radius: 16px; margin: 10px 0 6px; background: #e6edd9; overflow: hidden; }
.ev-mappa-numero span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--ev-scuro); color: #fff; font-weight: 800; font-size: 13px; border: 2px solid #fff; box-shadow: 0 2px 6px #173f3040; } .ev-mappa-numero.fatto span { background: #8aa58f; }
.ev-viaggio { display: block; margin-top: 4px; font-size: 11px; color: var(--ev-secondario); white-space: nowrap; }
.ev-avviso-meteo { background: #fff0d6; color: #8a5a10; border-radius: 14px; padding: 12px 16px; margin-bottom: 14px; font-size: 14px; } .ev-avviso-meteo a { text-decoration: underline; }
.ev-cal-meteo { display: block; font-size: 11px; color: var(--ev-secondario); font-weight: 500; }
.ev-meteo-giorno { font-size: 12px; color: var(--ev-secondario); margin: -4px 0 8px; }
