/* ============================================================
   MGM PERSONAL APP · foglio di stile mobile
   Eredita ESATTAMENTE i token MIDS del Personal Web:
   Montserrat · bianco/nero/grigi sobri · mustard #C8A96E.
   Nessun database visivo nuovo: due interfacce, un solo linguaggio.
   ============================================================ */
:root{
  --fs-h1:1.45rem; --fs-h2:1.08rem; --fs-card:1rem; --fs-body:.9rem;
  --fs-sec:.82rem; --fs-meta:.74rem; --fs-btn:.74rem; --fs-eyebrow:.64rem;
  --white:#FFFFFF; --dark:#0F0F0F; --dark2:#1A1A1A; --dark3:#2A2A2A;
  --mustard:#C8A96E; --mustard-l:#D4B980; --border:#E0E0E0;
  --grey:#6B6B6B; --grey-l:#F7F6F4;
  --safe-top:env(safe-area-inset-top,0px);
  --safe-bottom:env(safe-area-inset-bottom,0px);
  --h-header:52px; --h-nav:58px;
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html{font-size:16px;background:var(--dark);overflow-x:hidden;}   /* il rimbalzo iOS mostra scuro: si fonde con header e barra */
body{font-family:'Montserrat',sans-serif;font-weight:400;color:var(--dark);background:var(--white);
  font-size:var(--fs-body);line-height:1.55;overscroll-behavior-y:none;
  min-height:100vh;min-height:-webkit-fill-available;min-height:100dvh;   /* mai buchi sotto: il bianco arriva sempre alla barra */
  overflow-x:hidden;max-width:100%;}
img,svg,video{max-width:100%;}
.logo-mgm{max-width:none;}   /* dimensioni già esplicite, proporzioni originali */
button{font-family:inherit;font-size:inherit;color:inherit;}
/* iOS: sotto i 16px calcolati Safari ZOOMA al focus. Tutti i controlli di testo
   stanno quindi a 16px esatti (1rem): niente zoom automatico, pinch dell'utente libero. */
input,select,textarea{font-family:inherit;font-size:1rem;color:inherit;}
a{color:inherit;}

/* ---------- intestazione ---------- */
.header{position:fixed;top:0;left:0;right:0;z-index:40;background:var(--dark);color:var(--white);
  padding-top:var(--safe-top);border-bottom:1px solid var(--dark3);}
.header-in{height:var(--h-header);display:flex;align-items:center;justify-content:space-between;padding:0 16px;}
.marchio-blocco{display:flex;align-items:center;gap:10px;min-width:0;}
.logo-mgm{height:22px;width:auto;display:block;}   /* logo ufficiale MGM Cape Verde, proporzioni originali */
.marchio{font-weight:300;letter-spacing:.24em;font-size:.86rem;color:var(--white);white-space:nowrap;}
.marchio strong{font-weight:600;color:var(--mustard);letter-spacing:.24em;}
.header-azioni{display:flex;gap:6px;align-items:center;}
.hbtn{position:relative;background:none;border:none;color:#c9c9c9;padding:10px;min-width:44px;min-height:44px;cursor:pointer;line-height:0;display:inline-flex;align-items:center;justify-content:center;}
.hbtn svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.5;}
.hbtn.disattivo{color:#5a5a5a;}
.badge{position:absolute;top:3px;right:2px;min-width:15px;height:15px;border-radius:8px;background:var(--mustard);
  color:var(--dark);font-size:.58rem;font-weight:600;display:flex;align-items:center;justify-content:center;padding:0 3px;}

/* ---------- contenuto ---------- */
.pagina{padding:calc(var(--h-header) + var(--safe-top) + 18px) 18px calc(var(--h-nav) + var(--safe-bottom) + 18px);
  min-height:100vh;min-height:100dvh;}          /* anche con poco contenuto la pagina riempie il viewport */
.eyebrow{font-size:var(--fs-eyebrow);letter-spacing:.22em;text-transform:uppercase;color:var(--grey);margin-bottom:6px;}
h1{font-size:var(--fs-h1);font-weight:300;letter-spacing:.01em;margin-bottom:4px;}
.sotto-testata{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.x-chiudi{background:none;border:1px solid var(--border);width:38px;height:38px;min-width:38px;font-size:.95rem;
  color:var(--grey);cursor:pointer;line-height:1;margin-top:2px;}
.x-chiudi:active{border-color:var(--dark);color:var(--dark);}
.sottotitolo{color:var(--grey);font-size:var(--fs-sec);margin-bottom:20px;}
h2{font-size:var(--fs-h2);font-weight:500;margin:26px 0 10px;}
.sezione-riga{display:flex;align-items:baseline;justify-content:space-between;margin:26px 0 10px;}
.sezione-riga h2{margin:0;}
.link{background:none;border:none;color:var(--grey);font-size:var(--fs-meta);letter-spacing:.06em;cursor:pointer;border-bottom:1px solid var(--border);padding:0 0 1px;}

/* ---------- schede ---------- */
.scheda{border:1px solid var(--border);background:var(--white);padding:14px 15px;margin-bottom:10px;}
.scheda.compatta{padding:10px 12px;margin-bottom:8px;}
.scheda.compatta .scheda-titolo{font-size:.92rem;}
.scheda.compatta .scheda-meta{margin-top:3px;}
.scheda.tocco{cursor:pointer;}
.scheda-titolo{font-size:var(--fs-card);font-weight:500;line-height:1.35;}
.scheda-meta{color:var(--grey);font-size:var(--fs-meta);margin-top:5px;}
.scheda-testo{font-size:var(--fs-sec);color:var(--dark2);margin-top:7px;white-space:pre-wrap;word-break:break-word;}
.scheda.completata .scheda-titolo{color:var(--grey);text-decoration:line-through;text-decoration-color:#c9c9c9;}
.filo-mustard{border-left:2px solid var(--mustard);}
.vuoto{border:1px dashed var(--border);color:var(--grey);font-size:var(--fs-sec);padding:22px 16px;text-align:center;margin-bottom:10px;}

/* stato/etichette */
.stato{display:inline-block;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;padding:3px 8px;border:1px solid var(--border);color:var(--grey);}
.stato.attivo{border-color:var(--mustard);color:#8a6f3c;}
.stato.pieno{background:var(--dark);color:var(--white);border-color:var(--dark);}

/* ---------- Attività: stati visivi IDENTICI al Personal Web ----------
   (stesse tonalità: filetto sinistro + fondo tenue + badge di stato)   */
.scheda.att-iniziare{background:var(--white);border-left:3px solid var(--border);cursor:pointer;}
.scheda.att-lavoro{background:#fdf8ee;border-left:3px solid var(--mustard);cursor:pointer;}
.scheda.att-scaduta{background:#fbf1f3;border-left:3px solid #6E2231;cursor:pointer;}
.scheda.att-fatta{background:#f7f7f5;border-left:3px solid #c9c9c4;cursor:pointer;}
.att-stato{display:inline-block;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;
  padding:2px 8px;margin-left:8px;vertical-align:1px;white-space:nowrap;}
.att-stato.iniziare{background:#eeeeec;color:#5a5a56;}
.att-stato.lavoro{background:var(--mustard);color:#241c0c;}
.att-stato.scaduta{background:#6E2231;color:#f7ecef;}
.att-stato.fatta{background:#e6e6e2;color:#6a6a66;}
.msg-badge{display:inline-block;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--mustard);color:#8a6f3c;padding:2px 8px;margin-left:8px;vertical-align:1px;white-space:nowrap;}
.prio-alta{font-weight:600;}
.delega{color:#a8894e;font-weight:600;}
.att-azioni{display:flex;gap:6px;margin-top:8px;justify-content:flex-end;}
.att-azioni .btn{flex:none;}
.btn.mini{width:auto;padding:7px 11px;font-size:.58rem;letter-spacing:.12em;font-weight:600;}

/* KPI della dashboard */
.kpi-griglia{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:6px;}
.kpi{border:1px solid var(--border);padding:14px 15px;}
.kpi .n{font-size:1.7rem;font-weight:300;line-height:1.1;}
.kpi .n em{font-style:normal;color:var(--mustard);}
.kpi .l{font-size:var(--fs-meta);color:var(--grey);margin-top:3px;letter-spacing:.04em;}

/* ---------- pulsanti ---------- */
.btn{background:var(--dark);color:var(--white);border:1px solid var(--dark);padding:12px 18px;
  font-size:var(--fs-btn);letter-spacing:.2em;text-transform:uppercase;font-weight:600;cursor:pointer;width:100%;}
.btn.mustard{background:var(--mustard);border-color:var(--mustard);color:var(--dark);}
.btn.linea{background:none;color:var(--dark);border:1px solid var(--dark);}
.btn.piccolo{width:auto;padding:9px 14px;letter-spacing:.16em;}
.btn:disabled{opacity:.45;cursor:default;}
.riga-btn{display:flex;gap:10px;margin-top:14px;}
.riga-btn .btn{flex:1;}

/* ---------- moduli ---------- */
.campo{margin-bottom:14px;}
.campo label{display:block;font-size:var(--fs-eyebrow);letter-spacing:.18em;text-transform:uppercase;color:var(--grey);margin-bottom:7px;}
.campo input,.campo select,.campo textarea{width:100%;border:1px solid var(--border);background:var(--white);
  padding:12px 13px;font-size:1rem;border-radius:0;-webkit-appearance:none;appearance:none;}   /* 16px calcolati: mai zoom iOS al focus */
.campo textarea{min-height:96px;resize:vertical;}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-color:var(--dark);}
.campo .aiuto{font-size:var(--fs-meta);color:var(--grey);margin-top:5px;}
.errore{color:#8a4b3a;font-size:var(--fs-sec);min-height:18px;margin:2px 0 10px;}

/* segmenti (schede interne) */
.segmenti{display:flex;border:1px solid var(--border);margin-bottom:16px;}
.segmenti button{flex:1;background:none;border:none;padding:10px 4px;font-size:var(--fs-meta);letter-spacing:.1em;
  text-transform:uppercase;color:var(--grey);cursor:pointer;}
.segmenti button.attivo{background:var(--dark);color:var(--white);}
.segmenti.mini{margin-top:-8px;}
.segmenti.mini button{padding:8px 4px;font-size:.56rem;}
.segmenti.mini button.attivo{background:var(--grey-l);color:var(--dark);font-weight:600;}

/* giorno calendario */
.giorno-nav{display:flex;align-items:center;gap:8px;margin-bottom:12px;}
.giorno-nav .g{font-weight:500;font-size:.98rem;flex:1;text-align:center;white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis;background:none;border:none;cursor:pointer;padding:0 2px;letter-spacing:.01em;}
.giorno-nav button[id^=g]{flex:none;}
.giorno-nav #gPrec,.giorno-nav #gSucc{background:none;border:1px solid var(--border);width:38px;height:38px;min-width:38px;font-size:1rem;cursor:pointer;color:var(--dark);}
.evento-ora{min-width:52px;color:var(--grey);font-size:var(--fs-meta);padding-top:2px;}
.evento{display:flex;gap:12px;border-bottom:1px solid var(--grey-l);padding:11px 2px;}
.evento:last-child{border-bottom:none;}
.evento .t{font-size:var(--fs-sec);font-weight:500;}
.evento .m{font-size:var(--fs-meta);color:var(--grey);margin-top:2px;}
.evento.mascherato .t{color:var(--grey);font-weight:400;font-style:italic;}

/* ---------- barra di navigazione inferiore ---------- */
.nav{position:fixed;bottom:0;left:0;right:0;z-index:40;background:var(--dark);border-top:1px solid var(--dark3);
  padding-bottom:var(--safe-bottom);}
.nav-in{display:flex;height:var(--h-nav);}
.nav-vice{flex:1;background:none;border:none;color:#8f8f8f;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:3px;cursor:pointer;font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;}
.nav-vice svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.5;}
.nav-vice.attivo{color:var(--mustard);}
.nav-vice .puntino{position:absolute;}

/* ---------- accesso ---------- */
.login{position:fixed;inset:0;background:var(--dark);color:var(--white);z-index:60;overflow:auto;
  padding:calc(60px + var(--safe-top)) 26px calc(30px + var(--safe-bottom));}
.login .marchio{font-size:1.05rem;display:block;margin-bottom:6px;}
.login .motto{color:#9a9a9a;font-size:var(--fs-meta);letter-spacing:.2em;text-transform:uppercase;margin-bottom:44px;}
.login label{display:block;color:#9a9a9a;font-size:var(--fs-eyebrow);letter-spacing:.18em;text-transform:uppercase;margin-bottom:8px;}
.login input[type=email],.login input[type=password]{width:100%;background:var(--dark);border:1px solid var(--dark3);
  color:var(--white);padding:13px 14px;margin-bottom:14px;border-radius:0;}
.login input:focus{outline:none;border-color:var(--mustard);}
.login .ricorda{display:flex;gap:10px;align-items:center;color:#c9c9c9;font-size:var(--fs-meta);margin:2px 0 18px;}
.login .errore{color:var(--mustard-l);}
.login .piede{text-align:center;color:#7a7a7a;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;margin-top:48px;}
.login .aiuto-pwd{margin-top:14px;border:1px solid var(--dark3);padding:12px 14px;color:#c9c9c9;font-size:.72rem;line-height:1.6;}

/* ---------- fogli modali (dal basso, gesto naturale su smartphone) ---------- */
.velo{position:fixed;inset:0;background:rgba(15,15,15,.5);z-index:50;display:none;}
.velo.aperto{display:block;}
.foglio{position:fixed;left:0;right:0;bottom:0;z-index:55;background:var(--white);max-height:88vh;overflow:auto;
  padding:20px 18px calc(18px + var(--safe-bottom));transform:translateY(103%);transition:transform .22s ease;}
.foglio.aperto{transform:translateY(0);}
.foglio .presa{width:36px;height:3px;background:var(--border);margin:0 auto 16px;}
.foglio-x{position:absolute;top:14px;right:14px;background:var(--white);border:1px solid var(--border);
  width:36px;height:36px;font-size:.9rem;color:var(--grey);cursor:pointer;line-height:1;z-index:2;}
.foglio-x:active{border-color:var(--dark);color:var(--dark);}
.foglio h3{padding-right:44px;}
.foglio h3{font-size:var(--fs-h2);font-weight:500;margin-bottom:16px;}
@media (prefers-reduced-motion:reduce){.foglio{transition:none;}}

/* ---------- avvisi ---------- */
.toast{position:fixed;left:18px;right:18px;bottom:calc(var(--h-nav) + var(--safe-bottom) + 14px);z-index:70;
  background:var(--dark);color:var(--white);padding:12px 16px;font-size:var(--fs-sec);opacity:0;pointer-events:none;
  transition:opacity .2s;text-align:center;}
.toast.attivo{opacity:1;}
.offline{position:fixed;top:calc(var(--h-header) + var(--safe-top));left:0;right:0;z-index:45;background:var(--mustard);
  color:var(--dark);font-size:var(--fs-meta);letter-spacing:.08em;text-align:center;padding:6px 12px;display:none;}
.offline.attivo{display:block;}

/* elenco voci del menu Altro */
.voce-menu{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;
  border-bottom:1px solid var(--grey-l);padding:15px 2px;font-size:var(--fs-body);cursor:pointer;text-align:left;}
.voce-menu .freccia{color:var(--grey);}
.voce-menu.disattiva{color:var(--grey);cursor:default;}
.nota-futura{font-size:var(--fs-meta);color:var(--grey);border:1px solid var(--border);padding:10px 12px;margin-top:6px;}

.caricamento{color:var(--grey);font-size:var(--fs-sec);text-align:center;padding:34px 0;}
:focus-visible{outline:2px solid var(--mustard);outline-offset:2px;}

/* ---------- Calendario: linguaggio visivo del Web ---------- */
.ev-punto{display:inline-block;width:9px;height:9px;margin-right:8px;vertical-align:0;}
.ev-punto.righe{background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.5) 0 2px,rgba(255,255,255,0) 2px 5px);}
.ev-attesa{font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;border:1px solid #6E2231;color:#6E2231;padding:1px 6px;margin-left:8px;white-space:nowrap;}
.evento.tocco{cursor:pointer;}
.det-riga{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--grey-l);padding:9px 0;font-size:var(--fs-sec);}
.det-riga span:first-child{color:var(--grey);}
.det-riga a{color:var(--dark);}
.rsvp{display:flex;border:1px solid var(--border);}
.rsvp button{flex:1;background:none;border:none;padding:11px 4px;font-size:var(--fs-meta);letter-spacing:.08em;text-transform:uppercase;color:var(--grey);cursor:pointer;}
.rsvp button.attivo{background:var(--dark);color:var(--white);}
.due-col{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;}
.part-box{border:1px solid var(--border);max-height:180px;overflow:auto;padding:4px 0;}
.part-riga{display:flex;gap:10px;align-items:center;padding:9px 12px;font-size:var(--fs-sec);border-bottom:1px solid var(--grey-l);}
.part-riga:last-child{border-bottom:none;}

/* ---------- puntini e chip: colori del Web, mascherati SEMPRE neutri ---------- */
.pt-appuntamento{background:#33363B;}
.pt-aziendale{background:#D2B071;}
.pt-privato{background:#6E2231;}
.pt-riservato{background:#8F7233;}
.pt-assente{background:#8A8F7A;}
.pt-mascherato{background:repeating-linear-gradient(45deg,#d9d9d4,#d9d9d4 3px,#cfcfc9 3px,#cfcfc9 6px);}
.ev-ann .t{text-decoration:line-through;opacity:.55;}

/* ---------- griglia mensile ---------- */
.cal-mese{width:100%;border-collapse:collapse;table-layout:fixed;margin-bottom:12px;}
.cal-mese th{font-size:.58rem;letter-spacing:.14em;color:var(--grey);font-weight:500;padding:6px 0;border-bottom:1px solid var(--border);}
.cal-mese td{border:1px solid var(--grey-l);vertical-align:top;height:64px;padding:2px;overflow:hidden;}
.cal-mese td.fuori{background:#fbfbfa;}
.cal-mese td.oggi{outline:2px solid var(--mustard);outline-offset:-2px;}
.cal-mese .dnum{display:block;width:100%;background:none;border:none;text-align:left;font-size:.68rem;font-weight:500;color:var(--dark);padding:2px 3px;cursor:pointer;}
.cchip{display:block;font-size:.5rem;line-height:1.35;padding:1px 3px;margin:1px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;}
.cchip.ct-appuntamento{background:#33363B;color:#f2f2f0;}
.cchip.ct-aziendale{background:#D2B071;color:#241c0c;}
.cchip.ct-privato{background:#6E2231;color:#f7ecef;}
.cchip.ct-riservato{background:#8F7233;color:#faf5ea;}
.cchip.ct-mascherato{background:repeating-linear-gradient(45deg,#d9d9d4,#d9d9d4 5px,#cfcfc9 5px,#cfcfc9 10px);color:#3a3a3a;}
.cchip.abs{background:var(--grey-l);color:var(--grey);}
.cchip.abs.mia{box-shadow:inset 0 0 0 1px var(--mustard);color:var(--dark3);}
.cchip.righe{background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.35) 0 3px,rgba(255,255,255,0) 3px 7px);}
.cchip.ev-ann{text-decoration:line-through;opacity:.55;}

/* legenda */
.legenda{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:.6rem;color:var(--grey);margin:4px 0 6px;}
.legenda i{display:inline-block;width:9px;height:9px;margin-right:5px;vertical-align:-1px;}
.legenda i.righe{background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.5) 0 2px,rgba(255,255,255,0) 2px 5px);}

/* ---------- striscia settimanale ---------- */
.settimana{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-bottom:14px;}
.sett-g{background:none;border:1px solid var(--border);padding:7px 0 6px;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;}
.sett-g span{font-size:.52rem;letter-spacing:.1em;text-transform:uppercase;color:var(--grey);}
.sett-g strong{font-size:.86rem;font-weight:500;}
.sett-g i{width:4px;height:4px;border-radius:2px;background:transparent;}
.sett-g i.pieno{background:var(--mustard);}
.sett-g.sel{background:var(--dark);border-color:var(--dark);}
.sett-g.sel span,.sett-g.sel strong{color:var(--white);}
.sett-g.oggi:not(.sel){border-color:var(--mustard);}

/* ---------- pannelli espandibili de «La mia scheda» ---------- */
.pannello{border:1px solid var(--border);margin-bottom:10px;background:var(--white);}
.pannello summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:13px 14px;font-size:var(--fs-card);font-weight:500;cursor:pointer;-webkit-tap-highlight-color:transparent;}
.pannello summary::-webkit-details-marker{display:none;}
.pannello summary .freccia{color:var(--grey);transition:transform .15s;}
.pannello[open] summary .freccia{transform:rotate(90deg);}
.pannello[open] summary{border-bottom:1px solid var(--grey-l);}
.pannello-corpo{padding:12px 14px 14px;}
.pannello .vuoto{margin-bottom:0;}


/* ---------- MGM Assistant · conversazione ---------- */
.chat{display:flex;flex-direction:column;gap:10px;}
.msg{max-width:86%;padding:11px 13px;font-size:var(--fs-sec);line-height:1.55;white-space:pre-wrap;word-break:break-word;}
.msg.io{align-self:flex-end;background:var(--dark);color:var(--white);}
.msg.ai{align-self:flex-start;background:var(--grey-l);border:1px solid var(--border);}
.msg.sistema{align-self:center;background:none;border:1px dashed var(--border);color:var(--grey);font-size:var(--fs-meta);text-align:center;max-width:96%;}
.msg.attesa{color:var(--grey);font-style:italic;}
.msg.conferma{border-left:3px solid var(--mustard);background:#fdf8ee;max-width:96%;width:96%;}
.conf-titolo{font-weight:600;font-size:var(--fs-sec);letter-spacing:.04em;margin-bottom:6px;}
.msg.conferma .det-riga{border-bottom-color:#efe6d2;}
.chat-spazio{height:64px;}
.composer{position:fixed;left:0;right:0;bottom:calc(var(--h-nav) + var(--safe-bottom));z-index:38;background:var(--white);
  border-top:1px solid var(--border);display:flex;gap:8px;align-items:center;padding:9px 12px;}
.composer input{flex:1;border:1px solid var(--border);padding:11px 12px;font-size:1rem;border-radius:0;min-width:0;}
.composer input:focus{outline:none;border-color:var(--dark);}
.composer .btn.invia{width:auto;padding:11px 16px;}
.composer .hbtn.mic{color:var(--grey);border:1px solid var(--border);padding:9px;}

/* microfono in registrazione */
.composer .hbtn.mic.registra{color:#fff;background:#6E2231;border-color:#6E2231;animation:pulsaMic 1.1s ease-in-out infinite;}
@keyframes pulsaMic{0%,100%{box-shadow:0 0 0 0 rgba(110,34,49,.35);}50%{box-shadow:0 0 0 7px rgba(110,34,49,0);}}


/* ---------- MGM Assistant · invito vocale in evidenza ---------- */
.mic-invito{display:flex;flex-direction:column;align-items:center;gap:12px;padding:26px 0 30px;}
.mic-grande{width:84px;height:84px;border-radius:50%;background:var(--dark);color:var(--white);border:1px solid var(--dark3);
  display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:inset 0 0 0 2px rgba(200,169,110,.55);}
.mic-grande svg{width:34px;height:34px;stroke:currentColor;fill:none;stroke-width:1.5;}
.mic-grande.registra{background:#6E2231;border-color:#6E2231;box-shadow:none;animation:pulsaMic 1.1s ease-in-out infinite;}
.mic-invito .m{font-size:var(--fs-meta);color:var(--grey);text-align:center;}
.mic-invito .stelle{color:var(--mustard);width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.4;}

/* ---------- carta di conferma: azioni pulite, mai parole spezzate ---------- */
.btn{white-space:nowrap;}
.conf-azioni{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;}
.conf-azioni .principale{grid-column:1 / -1;}

/* ---------- selettore partecipanti (anagrafica reale) ---------- */
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:7px;min-height:22px;}
.chip-utente{display:inline-flex;align-items:center;gap:7px;background:var(--grey-l);border:1px solid var(--border);
  padding:5px 8px 5px 10px;font-size:.78rem;}
.chip-utente button{background:none;border:none;color:var(--grey);cursor:pointer;font-size:.7rem;line-height:1;padding:2px;}
.sugger button{display:flex;justify-content:space-between;gap:10px;width:100%;background:var(--white);border:1px solid var(--border);
  border-top:none;padding:10px 12px;text-align:left;font-size:.85rem;cursor:pointer;}
.sugger button:first-child{border-top:1px solid var(--border);}
