.elena-presenza{position:fixed;right:18px;bottom:18px;z-index:900;font:15px/1.45 system-ui,sans-serif;color:#253d34}.elena-presenza-toggle{background:#123c31;color:white;border:2px solid #c5a16a;border-radius:999px;padding:12px 18px;cursor:pointer;box-shadow:0 6px 24px #0003;font:600 15px system-ui}.elena-presenza-panel{position:absolute;right:0;bottom:60px;width:min(350px,calc(100vw - 30px));max-height:min(72vh,540px);overflow:auto;background:#f5f2eb;border:1px solid #c5a16a;border-radius:14px;padding:18px;box-shadow:0 8px 30px #0004}.elena-presenza-panel[hidden]{display:none}.elena-presenza-heading{display:flex;justify-content:space-between;gap:10px;align-items:center}.elena-presenza-close{border:0;background:transparent;font-size:26px;cursor:pointer;color:#123c31}.elena-presenza-form{display:grid;gap:8px}.elena-presenza-form input{width:100%;padding:10px;border:1px solid #8d978c;border-radius:6px;font:inherit}.elena-presenza-form button{padding:10px;border:0;border-radius:6px;background:#123c31;color:#fff;cursor:pointer}.elena-presenza-panel a{color:#123c31;text-decoration:underline}.elena-presenza-privacy{font-size:12px;color:#526459}.elena-presenza-toggle:focus-visible,.elena-presenza-panel button:focus-visible,.elena-presenza-panel a:focus-visible{outline:3px solid #c5a16a;outline-offset:3px}@media(max-width:480px){.elena-presenza{right:12px;bottom:12px}.elena-presenza-toggle{padding:11px 14px}}
.elena-presenza-result{margin:12px 0;line-height:1.55}.elena-presenza-result p{margin:8px 0}.elena-presenza-result .elena-presenza-evidence{padding:9px 11px;background:#fff;border-left:3px solid #c5a16a;font-size:.89rem}.elena-presenza-form button:disabled{opacity:.6;cursor:wait}

/* Elena: pulsante mobile compatto, pannello leggibile */
@media(max-width:600px){
  .elena-presenza {
    right:12px;
    bottom:calc(12px + env(safe-area-inset-bottom,0px));
    max-width:calc(100vw - 24px);
  }
  .elena-presenza-toggle {
    display:flex;
    align-items:center;
    justify-content:center;
    width:60px;
    min-width:60px;
    height:56px;
    min-height:56px;
    padding:0!important;
    border-radius:17px;
    font-size:0!important;
    line-height:1!important;
    white-space:nowrap;
    box-shadow:0 5px 16px rgba(0,0,0,.20);
  }
  .elena-presenza-toggle::before {
    content:"Elena";
    color:#fff;
    font:700 13px/1.2 system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  }
  .elena-presenza-panel {
    right:0;
    bottom:calc(100% + 12px);
    width:min(340px,calc(100vw - 24px));
    max-height:min(68vh,480px);
    overflow:auto;
  }
  .elena-presenza-form input {min-width:0}
}
/* Mobile: reduce floating control footprint without affecting desktop. */
@media(max-width:600px){
 .elena-presenza{right:8px;bottom:calc(8px + env(safe-area-inset-bottom,0px))}
 .elena-presenza-toggle{width:48px;min-width:48px;height:48px;min-height:48px;border-radius:15px;box-shadow:0 3px 10px rgba(0,0,0,.22)}
 .elena-presenza-toggle::before{font-size:11px}
 .elena-presenza-panel{right:0;max-height:min(68dvh,480px)}
}

/* Mobile reading mode: Elena remains tappable, never display:none. */
@media(max-width:600px){
 .elena-presenza-toggle{transition:opacity .18s ease,transform .18s ease}
 .elena-presenza-reading .elena-presenza-toggle:not(:focus-visible){
   opacity:.58;
   transform:none;
 }
}
@media(prefers-reduced-motion:reduce){
 .elena-presenza-toggle{transition:none!important}
}


/* Elena mobile — correzione leggibilità e dimensioni, 2026-11-01.
   Regole circoscritte al pannello, senza modificare il motore documentario. */
.elena-presenza-panel,
.elena-presenza-panel *{box-sizing:border-box}
.elena-presenza-panel{font:400 15px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}
.elena-presenza-panel p,.elena-presenza-panel a,.elena-presenza-panel label{font-size:inherit;line-height:inherit}
.elena-presenza-panel .elena-presenza-privacy,.elena-presenza-panel .elena-voice-note{font-size:12px;line-height:1.45}
.elena-presenza-panel .elena-presenza-evidence{font-size:13px;line-height:1.5}
.elena-presenza-panel .elena-presenza-heading{position:sticky;top:-18px;z-index:2;background:#f5f2eb;padding:10px 0;border-bottom:1px solid #d8cdbb}
.elena-presenza-panel .elena-presenza-heading strong{font-size:15px;line-height:1.35}
.elena-presenza-panel .elena-presenza-close{min-width:40px;min-height:40px}
.elena-presenza-panel .elena-presenza-result{font-size:15px;line-height:1.55;overflow-wrap:anywhere}
.elena-presenza-panel .elena-presenza-result p{margin:9px 0}
.elena-presenza-panel .elena-presenza-form input{font-size:16px;max-width:100%}
@media(max-width:600px){
 .elena-presenza-panel{
   width:min(360px,calc(100vw - 24px));
   max-height:min(64dvh,500px);
   padding:14px;
   overscroll-behavior:contain;
   overflow-y:auto;
   overflow-x:hidden;
 }
 .elena-presenza-panel .elena-presenza-heading{top:-14px}
 .elena-presenza-panel .elena-voice-controls button{font-size:13px;padding:9px 11px}
}
