/* ============================================================================
   Email a blocchi — elenco, galleria dei modelli (eml-) ed editor (eme-).
   Sta dentro Nightsheet: colori, caratteri e raggi sono quelli di app.css (le
   variabili del tema del locale). Le classi hanno il loro prefisso per non
   scontrarsi con il resto; le classi «em-…» dentro l'iframe sono dell'email e
   non c'entrano con queste.
   Regole di casa: bersagli da 44 px sul tocco (pointer:coarse), fuoco visibile,
   niente che compaia solo passando col mouse.
   ============================================================================ */

/* -------------------------------------------------------------- avviso sui telefoni (app.js, soloGrande) */
.solo-grande{max-width:440px;margin:28px auto;text-align:center;padding:26px 20px}
.solo-grande-t{font-family:var(--display);font-weight:700;font-size:20px;margin-bottom:8px}
.solo-grande .hint{font-size:14px;line-height:1.5}

/* -------------------------------------------------------------- elenco */
.eml-testa{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.eml-testa h2{font-size:22px;margin:0}
.eml-testa p{margin:5px 0 0;color:var(--muted);max-width:68ch;line-height:1.5}
.eml-nuova{min-height:44px;padding:0 18px;font-size:14.5px;display:inline-flex;align-items:center;gap:8px}
.eml-griglia{display:grid;grid-template-columns:repeat(auto-fill,minmax(208px,1fr));gap:14px}
.eml-sez{margin:26px 0 10px;font-size:15px}
.eml-carta{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;min-width:0}
.eml-apri{display:flex;flex-direction:column;align-items:stretch;gap:0;text-align:left;padding:0;border:0;border-radius:0;background:transparent;min-height:0;flex:1}
.eml-apri:hover .eml-mini img{transform:scale(1.02)}
.eml-apri:focus-visible{outline-offset:-2px}
.eml-mini{display:flex;align-items:center;justify-content:center;height:200px;background:var(--bg);overflow:hidden;border-bottom:1px solid var(--line);color:var(--muted)}
.eml-mini img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;transition:transform .2s}
.eml-nome{font-weight:700;font-size:14.5px;padding:10px 12px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.eml-ogg{font-size:12.5px;color:var(--muted);padding:2px 12px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.eml-piede{display:flex;align-items:center;gap:8px;padding:4px 4px 4px 12px;border-top:1px solid var(--line);min-height:46px}
.eml-quando{font-size:11.5px;color:var(--muted);padding:5px 12px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.85}
.eml-tipo{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:999px;border:1px solid var(--line);color:var(--muted);white-space:nowrap;flex:0 0 auto}
.eml-tipo.marketing{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}
.eml-altro{min-width:44px;min-height:38px;display:inline-flex;align-items:center;justify-content:center;padding:0}
.eml-vuoto{text-align:center;padding:38px 20px}
.eml-vuoto h3{font-size:18px}
.eml-vuoto p{color:var(--muted);max-width:52ch;margin:6px auto 16px;line-height:1.5}
.eml-vuoto button{min-height:44px;padding:0 18px;display:inline-flex;align-items:center;gap:8px}
.eml-apro{position:fixed;inset:0;z-index:250;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center}
.eml-apro span{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:14px 22px;font-weight:600}

/* -------------------------------------------------------------- galleria dei modelli */
.mdl.eml-mdl-gal{max-width:min(1180px,calc(100vw - 32px))}
.eml-gal-intro{margin:0 0 14px;color:var(--muted);line-height:1.5}
.eml-gal-griglia{display:grid;grid-template-columns:repeat(auto-fill,minmax(228px,1fr));gap:16px}
.eml-gal-carta{display:flex;flex-direction:column;min-width:0}
.eml-gal-b{display:flex;flex-direction:column;align-items:stretch;text-align:left;gap:0;padding:0;background:transparent;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;min-height:0;height:100%}
.eml-gal-b:hover,.eml-gal-b:focus-visible{border-color:var(--accent)}
/* il riquadro: l'email vera, larga 600, rimpicciolita a 240 (0,4) e tagliata dopo 300 px */
.eml-gal-vetro{display:block;position:relative;height:300px;overflow:hidden;background:var(--bg);border-bottom:1px solid var(--line)}
.eml-gal-foto{position:absolute;left:50%;top:0;width:640px;height:800px;border:0;transform:translateX(-50%) scale(.375);transform-origin:top center;pointer-events:none;opacity:0;transition:opacity .25s;background:transparent}
.eml-gal-vetro.ok .eml-gal-foto{opacity:1}
.eml-gal-attesa{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--muted)}
.eml-gal-vetro.ok .eml-gal-attesa{display:none}
.eml-gal-nome{display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:700;font-size:14.5px;padding:10px 12px 0}
.eml-gal-d{font-size:12.5px;color:var(--muted);padding:4px 12px 12px;line-height:1.45}
.eml-gal-vuota{border:1px dashed var(--line);border-radius:var(--r);overflow:hidden}
.eml-gal-vuota .eml-gal-vetro{height:150px;border-bottom:0;display:flex;align-items:center;justify-content:center}
.eml-gal-foglio{width:64px;height:84px;border:1px dashed var(--muted);border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--muted)}
.eml-gal-vuota-b{display:flex;flex-direction:column;gap:8px;padding:0 12px 14px;margin-top:auto}
.eml-gal-vuota-b button{min-height:44px}

/* ============================================================== EDITOR */
body.eme-aperto{overflow:hidden}
.eme [hidden],.eme-lib [hidden],.eme-lib-piede [hidden],.eml [hidden]{display:none!important}
.eme{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;background:var(--bg);color:var(--txt);font-size:14px}
.eme *{-webkit-tap-highlight-color:transparent}
.eme-grow{flex:1 1 0;min-width:0}
.eme-ico{display:inline-flex;flex:0 0 auto}
.eme-ico svg{display:block}

/* ---- barra in alto */
.eme-barra{display:flex;align-items:center;gap:6px;padding:6px 10px;min-height:54px;background:linear-gradient(90deg,var(--header-a),var(--header-b));border-bottom:1px solid var(--line);box-shadow:0 1px 0 var(--accent-glow);flex:0 0 auto}
.eme-barra button{min-height:40px;display:inline-flex;align-items:center;gap:7px;padding:0 12px;white-space:nowrap}
.eme-indietro{padding-left:6px!important;color:var(--txt)!important;font-weight:600}
.eme-quadro{min-width:40px;justify-content:center;padding:0!important}
.eme-nome{flex:0 1 260px;min-width:90px;min-height:40px;font-weight:700;font-size:15px;background:transparent;border-color:transparent;text-overflow:ellipsis}
.eme-nome:hover{border-color:var(--line)}
.eme-nome:focus{background:var(--panel2);border-color:var(--accent)}
.eme-stato{font-size:12.5px;padding:0 8px!important;color:var(--muted);flex:0 0 auto}
.eme-stato.ok::before{content:"✓ ";color:var(--ok)}
.eme-stato.ko{color:var(--bad);font-weight:600}
.eme-b-controlli{position:relative}
.eme-btn-c{display:none}
.eme-pallino{display:inline-flex;align-items:center;justify-content:center;min-width:8px;height:8px;border-radius:999px;background:transparent;font-size:11px;font-weight:700;font-family:var(--mono)}
.eme-pallino.ok{background:var(--ok)}
.eme-pallino.av{background:var(--warn)}
.eme-pallino.ko{background:var(--bad);color:#fff;min-width:18px;height:18px;padding:0 5px}

/* ---- corpo: tavolozza | tela | pannello */
.eme-corpo{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr)}
.eme-tav{width:78px;overflow-y:auto;overflow-x:hidden;background:var(--panel);border-right:1px solid var(--line);padding:6px 5px 20px;scrollbar-width:none;overscroll-behavior:contain}
.eme-tav::-webkit-scrollbar{display:none}
.eme-tav-t{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:600;padding:8px 4px 5px;text-align:center}
.eme-tav-g{display:grid;grid-template-columns:1fr;gap:4px}
.eme-pezzo{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:100%;min-height:52px;padding:5px 2px;background:var(--panel2);border:1px solid var(--line);border-radius:9px;font-size:10.5px;line-height:1.15;font-weight:600;color:var(--txt);text-align:center;touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.eme-pezzo:hover{border-color:var(--accent);color:var(--accent)}
.eme-pezzo:active{cursor:grabbing}
.eme-pezzo-riga{min-height:44px}
.eme-pezzo-riga span:last-child{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.eme-centro{display:flex;flex-direction:column;min-width:0;min-height:0}
.eme-strumenti{display:flex;align-items:center;gap:8px;padding:5px 10px;background:var(--panel);border-bottom:1px solid var(--line);flex:0 0 auto;overflow-x:auto;scrollbar-width:none}
.eme-strumenti::-webkit-scrollbar{display:none}
.eme-gruppo{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden;flex:0 0 auto}
.eme-tasto{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 11px;border:0;border-radius:0;background:transparent;color:var(--muted);font-size:13px;font-weight:600;white-space:nowrap}
.eme-gruppo .eme-tasto+.eme-tasto{border-left:1px solid var(--line)}
.eme-tasto:hover{color:var(--txt)}
.eme-tasto.on{background:var(--accent);color:var(--on-accent)}
.eme-tasto:focus-visible{outline-offset:-2px}
.eme-b-pannello{border:1px solid var(--line);border-radius:9px;min-width:40px;justify-content:center;padding:0;flex:0 0 auto}
.eme-nota-vista{display:none;padding:7px 12px;font-size:12.5px;line-height:1.4;background:color-mix(in srgb,var(--accent) 16%,var(--panel));border-bottom:1px solid var(--line);flex:0 0 auto}
.eme-nota-vista.on{display:block}

/* ---- la scena scorre, il foglio e' l'email: iframe sotto, velo sopra */
.eme-scena{flex:1 1 auto;min-height:0;overflow:auto;position:relative;padding:14px 4px 120px;overscroll-behavior:contain;
  background-color:var(--bg);background-image:radial-gradient(color-mix(in srgb,var(--line) 70%,transparent) 1px,transparent 1px);background-size:16px 16px}
.eme-foglio{position:relative;margin:0 auto;width:700px;max-width:none;box-shadow:0 10px 40px rgba(0,0,0,.55);border-radius:6px}
.eme-foglio[data-schermo=telefono]{border-radius:22px;box-shadow:0 0 0 8px var(--panel2),0 0 0 9px var(--line),0 18px 50px rgba(0,0,0,.6);margin-top:10px}
.eme-foglio[data-schermo=telefono] .eme-tela{border-radius:14px}
.eme-tela{display:block;width:100%;height:600px;border:0;pointer-events:none;border-radius:6px;background:var(--panel)}
.eme-velo{position:absolute;inset:0;touch-action:pan-y;outline:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:default}
.eme-velo:focus-visible:not(.eme-da-dito){box-shadow:0 0 0 2px var(--accent),0 0 0 5px var(--accent-glow)}
.eme-attesa{display:none;position:absolute;left:0;right:0;top:90px;margin:0 auto;width:max-content;max-width:86%;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:12px 18px;font-weight:600;text-align:center;z-index:5}
.eme-attesa.on{display:block}
.eme-attesa.ko{border-color:var(--bad);cursor:pointer}

/* contorni: selezione, riga del blocco selezionato, passaggio del mouse */
.eme-cont{position:absolute;display:none;pointer-events:none;border-radius:4px;z-index:1}
.eme-cont-sel{outline:2px solid var(--accent);outline-offset:1px;box-shadow:0 0 0 4px rgba(0,0,0,.4),0 0 0 5px rgba(255,255,255,.22)}
.eme-cont-sel.eme-cont-di-riga{outline-offset:-2px;box-shadow:inset 0 0 0 3px rgba(0,0,0,.35)}
.eme-cont-sel.eme-cont-scrive{outline-style:dashed;box-shadow:none}
.eme-cont-riga{outline:1px dashed color-mix(in srgb,var(--accent) 75%,transparent);outline-offset:-1px}
.eme-cont-passa{outline:1px solid color-mix(in srgb,var(--accent) 80%,transparent);outline-offset:0;background:color-mix(in srgb,var(--accent) 7%,transparent)}
.eme-etichetta{position:absolute;display:none;z-index:2;pointer-events:none;background:var(--accent);color:var(--on-accent);font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;line-height:1;padding:5px 8px;border-radius:6px;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.4)}
.eme-azioni,.eme-scrivi{position:absolute;display:none;z-index:3;align-items:center;gap:2px;padding:3px;background:var(--panel);border:1px solid var(--line);border-radius:11px;box-shadow:0 8px 26px rgba(0,0,0,.6);pointer-events:auto;white-space:nowrap}
.eme-az{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:36px;min-height:36px;padding:0 8px;border:0;border-radius:8px;background:transparent;color:var(--txt);font-size:12.5px;font-weight:600}
.eme-az:hover{background:var(--panel2)}
.eme-az:disabled{opacity:.3}
.eme-az-riga{color:var(--muted);border-right:1px solid var(--line);border-radius:8px 0 0 8px;padding-right:10px;margin-right:2px}
.eme-az-presa{cursor:grab;touch-action:none;color:var(--accent)}
.eme-az-via:hover{color:var(--bad)}
.eme-az-fatto{background:var(--accent);color:var(--on-accent);padding:0 12px}
.eme-az-fatto:hover{background:var(--accent-hover)}
.eme-az-nota{font-size:12px;color:var(--muted);padding:0 10px}
.eme-link-in{width:230px;min-height:36px}
/* trascinamento */
.eme-goccia{position:absolute;display:none;height:4px;border-radius:3px;background:var(--accent);box-shadow:0 0 0 2px rgba(0,0,0,.55),0 0 14px var(--accent);pointer-events:none;z-index:4}
.eme-goccia-t{position:absolute;left:50%;top:-9px;transform:translateX(-50%);background:var(--accent);color:var(--on-accent);font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:4px 9px;border-radius:999px;white-space:nowrap;box-shadow:0 0 0 2px rgba(0,0,0,.55)}
.eme-zona{position:absolute;display:none;border:2px dashed var(--accent);border-radius:8px;background:color-mix(in srgb,var(--accent) 22%,transparent);pointer-events:none;z-index:4}
.eme-goccia.nullo,.eme-zona.nullo{opacity:.3}
.eme-fantasma{position:fixed;left:0;top:0;display:none;z-index:260;pointer-events:none;background:var(--accent);color:var(--on-accent);font-weight:700;font-size:13px;padding:8px 13px;border-radius:9px;box-shadow:0 10px 26px rgba(0,0,0,.55);white-space:nowrap}
.eme-fantasma.no{background:var(--panel2);color:var(--muted);border:1px solid var(--line)}
.eme-trascina,.eme-trascina *{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important}
/* scrivere in posto: il velo si apre attorno al testo (quattro imposte), li' i tocchi arrivano all'email */
.eme-scrive .eme-velo{pointer-events:none}
.eme-scrive .eme-cont-riga,.eme-scrive .eme-cont-passa{display:none!important}
.eme-imposta{position:absolute;display:none;pointer-events:auto;background:rgba(0,0,0,.32)}

/* ---- pannello */
.eme-pan{width:316px;display:flex;flex-direction:column;min-height:0;background:var(--panel);border-left:1px solid var(--line)}
.eme-ling{display:flex;align-items:stretch;border-bottom:1px solid var(--line);flex:0 0 auto}
.eme-lin{flex:1 1 0;min-height:44px;min-width:0;padding:0 4px;background:transparent;border:0;border-radius:0;box-shadow:inset 0 -2px 0 transparent;color:var(--muted);font-weight:600;font-size:12.5px;display:inline-flex;align-items:center;justify-content:center;gap:5px}
.eme-lin:hover{color:var(--txt)}
.eme-lin.on{color:var(--txt);font-weight:700;box-shadow:inset 0 -2px 0 var(--accent)}
.eme-lin:focus-visible{outline-offset:-2px}
.eme-lin-giu{display:none;flex:0 0 44px;min-height:44px;padding:0;align-items:center;justify-content:center}
.eme-conta{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 4px;border-radius:999px;font-size:10.5px;font-weight:700;font-family:var(--mono);background:var(--warn);color:#1a1508}
.eme-conta.ko{background:var(--bad);color:#fff}
.eme-pan-corpo{flex:1 1 auto;min-height:0;overflow-y:auto;padding:14px 14px 40px;overscroll-behavior:contain}
.eme-pan-testa{display:flex;align-items:center;gap:10px;margin-bottom:14px;color:var(--accent)}
.eme-pan-tit{display:flex;flex-direction:column;align-items:flex-start;color:var(--txt);min-width:0}
.eme-pan-tit h4{margin:0;font-family:var(--display);font-size:17px;font-weight:700}
.eme-linkb{background:transparent;border:0;padding:0;min-height:0;color:var(--muted);font-size:12px;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.eme-linkb:hover{color:var(--accent)}
.eme-campo{margin-bottom:14px}
.eme-lab{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:600;margin-bottom:5px}
.eme-in{width:100%;min-height:38px;font-size:14px}
textarea.eme-in{resize:vertical;line-height:1.4;padding-top:8px;padding-bottom:8px}
.eme-in.ko{border-color:var(--bad)}
.eme-err{color:var(--bad);font-size:12.5px;margin-top:5px;line-height:1.4}
.eme-sez{border-top:1px solid var(--line);padding-top:14px;margin:4px 0 14px}
.eme-sez>.eme-scelta{margin-bottom:14px}
.eme-sez>:last-child{margin-bottom:0}
.eme-sez>h4{margin:0 0 10px;font-family:var(--display);font-size:14px;font-weight:700}
.eme-scelta{display:flex;gap:4px;flex-wrap:wrap}
.eme-opz{flex:1 1 0;min-width:0;min-height:38px;padding:4px 6px;display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:12.5px;line-height:1.15;font-weight:600;color:var(--muted);text-align:center}
.eme-opz.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.eme-tagli .eme-opz{flex:1 1 0;padding:0}
.eme-largo{width:100%;min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.eme-campo>button:not(.eme-largo):not(.eme-col-b):not(.eme-font-b){min-height:40px;display:inline-flex;align-items:center;gap:8px}
/* interruttore */
.eme-int{display:flex;align-items:center;gap:11px;min-height:44px;cursor:pointer;margin-bottom:10px}
.eme-int input{position:absolute;opacity:0;width:1px;height:1px}
.eme-int-c{position:relative;flex:0 0 42px;height:24px;border-radius:999px;background:var(--panel2);border:1px solid var(--line);transition:background .15s,border-color .15s}
.eme-int-c::after{content:"";position:absolute;left:2px;top:2px;width:18px;height:18px;border-radius:50%;background:var(--muted);transition:transform .15s,background .15s}
.eme-int input:checked+.eme-int-c{background:var(--accent);border-color:var(--accent)}
.eme-int input:checked+.eme-int-c::after{transform:translateX(18px);background:var(--on-accent)}
.eme-int input:focus-visible+.eme-int-c{outline:2px solid var(--accent);outline-offset:2px}
.eme-int-t{display:flex;flex-direction:column;font-size:13.5px;line-height:1.3}
.eme-int-t small{font-size:12px;color:var(--muted);margin-top:2px}
/* colore */
.eme-col-b{display:flex;align-items:center;gap:9px;width:100%;min-height:40px;padding:5px 9px;text-align:left}
.eme-camp{flex:0 0 24px;height:24px;border-radius:6px;border:1px solid rgba(255,255,255,.28);box-shadow:inset 0 0 0 1px rgba(0,0,0,.25)}
.eme-camp.vuoto{background-image:linear-gradient(135deg,transparent 46%,var(--muted) 46%,var(--muted) 54%,transparent 54%)!important}
.eme-col-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px}
.eme-col-f{color:var(--muted)}
.eme-col-giu{margin-top:6px;padding:10px;border:1px solid var(--line);border-radius:var(--r-s);background:var(--bg)}
.eme-col-fila{margin-bottom:10px}
.eme-col-ft{display:block;font-size:11px;color:var(--muted);margin-bottom:5px}
.eme-col-camp{display:flex;flex-wrap:wrap;gap:6px}
.eme-cam{width:30px;height:30px;min-height:0;padding:0;border-radius:8px;border:1px solid rgba(255,255,255,.25)}
.eme-cam.on{outline:2px solid var(--txt);outline-offset:2px}
.eme-col-lib{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.eme-col-nl{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 9px 0 5px;border:1px solid var(--line);border-radius:var(--r-s);background:var(--panel2);cursor:pointer;font-size:13px}
.eme-col-n{width:28px;height:28px;min-height:0;padding:0;border:0;background:transparent;border-radius:6px;cursor:pointer}
.eme-esa{flex:1 1 84px;width:84px;font-family:var(--mono);text-transform:uppercase}
.eme-col-serie{min-height:38px}
.eme-col-serie.on{border-color:var(--accent);color:var(--accent)}
/* font */
.eme-font-b{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:44px;text-align:left}
.eme-font-n{font-size:17px;line-height:1.2}
.eme-font-l{display:flex;flex-direction:column;gap:4px;margin-top:6px}
.eme-font-v{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;min-height:52px;padding:7px 10px}
.eme-font-v.on{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}
.eme-font-d{font-size:11.5px;color:var(--muted);line-height:1.35}
.eme-font-l[hidden],.eme-col-giu[hidden]{display:none}
/* cursore (velo) */
.eme-cursore-r{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.eme-cursore{flex:1;min-height:32px;padding:0;accent-color:var(--accent);background:transparent;border:0}
.eme-cursore-v{font-family:var(--mono);font-size:13px;min-width:38px;text-align:right}
/* immagine scelta */
.eme-img-in{display:flex;flex-direction:column;gap:8px}
.eme-img-mini{display:flex;align-items:center;justify-content:center;width:100%;height:132px;padding:0;overflow:hidden;background:var(--bg);border-style:dashed}
.eme-img-mini img{width:100%;height:100%;object-fit:contain;display:block}
.eme-img-vuota{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--muted);font-size:12.5px}
.eme-img-b{display:flex;gap:6px}
.eme-img-b button{flex:1;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px}
/* note, avvisi */
.eme-nota{display:flex;gap:9px;align-items:flex-start;padding:9px 10px;margin-bottom:14px;border-radius:var(--r-s);background:var(--panel2);font-size:12.5px;line-height:1.45;color:var(--muted)}
.eme-nota .eme-ico{color:var(--accent);margin-top:1px}
.eme-avv-in{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;margin:8px 0 12px;border-radius:var(--r-s);border:1px solid color-mix(in srgb,var(--warn) 55%,transparent);background:color-mix(in srgb,var(--warn) 10%,transparent);font-size:12.5px;line-height:1.45}
.eme-avv-in .eme-ico{color:var(--warn);margin-top:1px}
.eme-avv-testa{display:flex;gap:9px;align-items:flex-start;padding:10px;margin-bottom:14px;border-radius:var(--r-s);border:1px solid var(--warn);background:color-mix(in srgb,var(--warn) 12%,transparent);font-size:13px;line-height:1.4}
.eme-avv-testa.errore,.eme-avv-testa.tecnico{border-color:var(--bad);background:color-mix(in srgb,var(--bad) 12%,transparent)}
.eme-avv-testa .eme-linkb{margin-top:6px;min-height:28px}
.eme-vuoto{padding:6px 2px;color:var(--muted);line-height:1.5}
.eme-vuoto h4{font-family:var(--display);font-size:16px;color:var(--txt);margin:0 0 4px}
.eme-vuoto p{margin:0 0 12px}
.eme-aiutino{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px;font-size:13px}
.eme-aiutino b{color:var(--txt)}
.eme-segna{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:-8px 0 14px}
.eme-segna-t{font-size:12px;color:var(--muted)}
.eme-chip{min-height:32px;padding:0 10px;border-radius:999px;font-size:12.5px;font-weight:600}
.eme-conta-car{display:block;text-align:right;font-family:var(--mono);font-size:11.5px;color:var(--muted);margin-top:3px}
.eme-conta-car.ko{color:var(--warn);font-weight:700}
.eme-dato{display:flex;justify-content:space-between;gap:12px;font-size:13px;padding:5px 0}
.eme-dato span{color:var(--muted);flex:0 0 auto}
.eme-dato b{font-weight:600;text-align:right;overflow-wrap:anywhere}
.eme-codice{font-family:var(--mono);font-size:11px;color:var(--muted)}
.eme-video-stato{font-size:12.5px;line-height:1.45;margin-top:7px;color:var(--muted)}
.eme-video-stato.ko{color:var(--txt);padding:9px 10px;border-radius:var(--r-s);border:1px solid var(--bad);background:color-mix(in srgb,var(--bad) 10%,transparent)}
/* serate */
.eme-serata{display:flex;align-items:center;gap:9px;padding:7px;margin-top:6px;border:1px solid var(--line);border-radius:var(--r-s);background:var(--panel2)}
.eme-serata.on{border-color:var(--accent)}
.eme-serata-img{flex:0 0 44px;width:44px;height:44px;border-radius:6px;object-fit:cover;display:flex;align-items:center;justify-content:center;background:var(--bg);color:var(--muted)}
.eme-serata-t{flex:1;min-width:0;display:flex;flex-direction:column;font-size:12px;color:var(--muted);line-height:1.35}
.eme-serata-t b{color:var(--txt);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.eme-serata-manca{color:var(--warn)}
.eme-serata button{flex:0 0 auto;min-height:40px;display:inline-flex;align-items:center;gap:5px;padding:0 9px;font-size:12.5px}
/* controlli */
.eme-esito{display:flex;align-items:center;gap:9px;padding:11px 12px;border-radius:var(--r-s);margin-bottom:12px;border:1px solid var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent);font-size:13.5px;line-height:1.35}
.eme-esito.av{border-color:var(--warn);background:color-mix(in srgb,var(--warn) 12%,transparent)}
.eme-esito.ko{border-color:var(--bad);background:color-mix(in srgb,var(--bad) 12%,transparent)}
.eme-peso{margin-bottom:14px}
.eme-peso-t{display:flex;justify-content:space-between;font-size:12.5px;color:var(--muted);margin-bottom:5px}
.eme-peso-t b{color:var(--txt);font-family:var(--mono);font-weight:500}
.eme-peso-b{height:6px;border-radius:3px;background:var(--panel2);overflow:hidden}
.eme-peso-b i{display:block;height:100%;background:var(--ok);border-radius:3px}
.eme-peso-b i.ko{background:var(--warn)}
.eme-avviso{display:flex;align-items:flex-start;gap:9px;width:100%;text-align:left;padding:9px 10px;margin-bottom:6px;min-height:44px;border:1px solid var(--line);border-radius:var(--r-s);background:var(--panel2);font-size:13px;line-height:1.4;font-weight:400}
.eme-avviso .eme-ico{color:var(--warn);margin-top:1px}
.eme-avviso.errore .eme-ico,.eme-avviso.tecnico .eme-ico{color:var(--bad)}
.eme-avviso.info .eme-ico{color:var(--muted)}
.eme-avviso-t{flex:1;min-width:0;overflow-wrap:anywhere}
.eme-avviso-vai{flex:0 0 auto;font-size:11.5px;font-weight:700;color:var(--accent);white-space:nowrap;margin-top:1px}
button.eme-avviso:hover{border-color:var(--accent)}

/* ---- menu a comparsa, conflitto */
.eme-menu{position:fixed;z-index:270;min-width:230px;display:flex;flex-direction:column;padding:4px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 14px 34px rgba(0,0,0,.6)}
.eme-menu-v{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 12px;text-align:left;background:transparent;border:0;border-radius:7px;font-weight:500;font-size:14px}
.eme-menu-v:hover,.eme-menu-v:focus-visible{background:var(--panel2)}
.eme-menu-v.via{color:var(--bad)}
.eme-conflitto{position:absolute;inset:0;z-index:240;background:rgba(0,0,0,.62);display:flex;align-items:center;justify-content:center;padding:16px}
.eme-conflitto-box{max-width:500px;background:var(--panel);border:1px solid var(--bad);border-radius:14px;padding:20px 22px}
.eme-conflitto-box h3{font-size:18px;margin-bottom:8px}
.eme-conflitto-box p{margin:0 0 10px;line-height:1.5}
.eme-conflitto-b{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.eme-conflitto-b button{min-height:44px;padding:0 14px}

/* ---- finestre: libreria, vetrina, dati, versioni, prova */
.mdl.eme-mdl-lib{max-width:min(940px,calc(100vw - 32px))}
.mdl.eme-mdl-lib .mdl-body{min-height:min(420px,50vh)}
.eme-lib-barra{display:flex;gap:8px;align-items:center;margin-bottom:10px}
.eme-lib-cerca{flex:1;display:flex;align-items:center;gap:7px;padding:0 10px;min-height:42px;border:1px solid var(--line);border-radius:var(--r-s);background:var(--panel2);color:var(--muted)}
.eme-lib-cerca:focus-within{border-color:var(--accent)}
.eme-lib-cerca input{flex:1;border:0;background:transparent;min-height:40px;padding:0}
.eme-lib-barra>button{min-height:42px;display:inline-flex;align-items:center;gap:8px;padding:0 14px;flex:0 0 auto}
.eme-lib-stato{display:none;padding:8px 10px;margin-bottom:10px;border-radius:var(--r-s);background:var(--panel2);font-size:13px;line-height:1.4}
.eme-lib-stato.on{display:block}
.eme-lib-stato.ko{border:1px solid var(--bad);background:color-mix(in srgb,var(--bad) 10%,transparent)}
.eme-lib-griglia{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px}
.eme-lib-v{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;overflow:hidden;text-align:left;min-height:0;background:var(--panel2)}
.eme-lib-v.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}
.eme-lib-img{display:block;height:112px;background:var(--bg) repeating-conic-gradient(rgba(255,255,255,.05) 0 25%,transparent 0 50%) 0 0/16px 16px}
.eme-lib-img img{width:100%;height:100%;object-fit:contain;display:block}
.eme-lib-n{font-size:11.5px;padding:6px 8px 7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-weight:500}
.eme-lib-noalt{position:absolute;left:5px;top:5px;font-size:10px;font-weight:700;padding:2px 6px;border-radius:999px;background:var(--warn);color:#1a1508}
.eme-lib-vuota{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:40px 20px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:var(--r)}
.eme-lib-vuota b{color:var(--txt);font-size:15px}
.eme-lib-nota{margin-top:12px}
.eme-lib.eme-molla{outline:2px dashed var(--accent);outline-offset:6px;border-radius:var(--r)}
.eme-lib-piede{align-items:center}
.eme-lib-scelta{flex:1 1 320px;display:flex;align-items:center;gap:8px;min-width:0}
.eme-lib-scelta[hidden]{display:none}
.eme-lib-pmini{flex:0 0 44px;width:44px;height:44px;border-radius:6px;overflow:hidden;background:var(--bg)}
.eme-lib-pmini img{width:100%;height:100%;object-fit:cover;display:block}
.eme-lib-scelta .eme-in{flex:1;min-width:120px;min-height:42px}
.eme-lib-scelta button,.eme-lib-piede>button{min-height:42px;display:inline-flex;align-items:center;gap:7px;flex:0 0 auto}
.eme-vetrina-testa{font-size:15px;margin-bottom:4px}
.eme-vetrina-testa span{color:var(--muted)}
.eme-vetrina-griglia{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:18px;margin-top:14px}
.eme-vetrina .eme-img-mini{height:220px}
.eme-scaletta{font-size:13.5px;line-height:1.5}
.mdl-foot>button{min-height:38px}
.eme-versione{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.eme-versione>div{min-width:0}
.eme-versione span{color:var(--muted);font-size:12.5px}
.eme-versione button{flex:0 0 auto;min-height:42px;display:inline-flex;align-items:center;gap:7px}
.eme-versioni>.hint:first-child{margin:0 0 6px}
.eme-prova-cosa{margin:0 0 12px;line-height:1.5}
.eme-prova-esito{font-size:13.5px;line-height:1.5;margin-top:10px}
.eme-prova-esito.ok,.eme-prova-esito.av,.eme-prova-esito.ko{padding:10px 12px;border-radius:var(--r-s);border:1px solid var(--ok);background:color-mix(in srgb,var(--ok) 10%,transparent)}
.eme-prova-esito.av{border-color:var(--warn);background:color-mix(in srgb,var(--warn) 10%,transparent)}
.eme-prova-esito.ko{border-color:var(--bad);background:color-mix(in srgb,var(--bad) 10%,transparent)}
.eme-prova-ko{margin-top:4px}

/* ---- PC largo: tavolozza con i nomi, su due colonne */
@media (min-width:1280px){
  .eme-tav{width:204px;padding:8px 10px 24px}
  .eme-tav-t{text-align:left;font-size:11px;padding:10px 2px 6px}
  .eme-tav-g{grid-template-columns:1fr 1fr;gap:6px}
  .eme-pezzo{min-height:62px;font-size:12px;gap:5px}
  .eme-tav-righe{grid-template-columns:repeat(5,1fr)}
  .eme-pezzo-riga{min-height:44px}
  .eme-pan{width:340px}
}
/* ---- pannello chiuso (PC e tablet in orizzontale): tutta la larghezza alla tela */
@media (min-width:1000px){ .eme-pan-chiuso .eme-pan{display:none} }
/* ---- tablet in verticale e finestre strette: il pannello sale dal basso e si abbassa */
@media (max-width:999.98px){
  .eme-corpo{grid-template-columns:auto minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto}
  .eme-pan{grid-column:1/-1;width:auto;border-left:0;border-top:1px solid var(--line);height:min(44vh,430px);box-shadow:0 -10px 30px rgba(0,0,0,.45)}
  .eme-pan-chiuso .eme-pan{height:auto}
  .eme-pan-chiuso .eme-pan-corpo{display:none}
  .eme-lin-giu{display:inline-flex}
  .eme-b-pannello{display:none}
  .eme-pan-corpo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;align-content:start}
  .eme-pan-corpo>.eme-pan-testa,.eme-pan-corpo>.eme-nota,.eme-pan-corpo>.eme-vuoto,.eme-pan-corpo>.eme-sez,.eme-pan-corpo>.eme-avv-testa,.eme-pan-corpo>.eme-esito,.eme-pan-corpo>.eme-peso,.eme-pan-corpo>.eme-segna{grid-column:1/-1}
  .eme-barra .primary .eme-btn-t{display:none}
  .eme-barra .primary .eme-btn-c{display:inline}
  .eme-nome{flex-basis:150px}
  .eme-vetrina-griglia{grid-template-columns:1fr}
}
@media (max-width:1100px){ .eme-indietro .eme-btn-t{display:none} .eme-stato{max-width:118px;overflow:hidden;text-overflow:ellipsis} }
/* ---- dita: bersagli da 44 px */
@media (pointer:coarse){
  .eme-barra button,.eme-nome{min-height:44px}
  .eme-quadro,.eme-b-pannello{min-width:44px}
  .eme-tasto{min-height:44px}
  .eme-az{min-width:44px;min-height:44px}
  .eme-link-in{min-height:44px}
  .eme-in,.eme-opz,.eme-col-b,.eme-col-nl,.eme-col-serie,.eme-chip{min-height:44px}
  .eme-campo>button:not(.eme-largo):not(.eme-col-b):not(.eme-font-b),.eme-img-b button,.eme-serata button,.eme-largo,.eme-font-b,.eme-versione button,.eme-lib-barra>button,.eme-lib-scelta button,.eme-lib-piede>button,.eme-lib-cerca,.mdl-foot>button{min-height:44px}
  .eme-cam{width:40px;height:40px}
  .eme-col-n{width:34px;height:34px}
  .eme-cursore{min-height:44px}
  .eme-linkb{min-height:32px}
  .eme-pezzo{min-height:56px}
  .eme-pezzo-riga{min-height:46px}
  .eml-altro{min-height:44px}
  .eml .pill{min-height:40px;padding:0 14px}
}
