/* Solo i nuovi elementi del blocco 37. Il tema FindMe resta separato. */
html body a.fm-admin-shield {position:fixed;right:max(18px,env(safe-area-inset-right));bottom:calc(152px + env(safe-area-inset-bottom));z-index:1000;display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;background:#fff;color:#174f89;border:2px solid #dce5ee;box-shadow:0 5px 20px #173d6126;text-decoration:none;}
html body a.fm-admin-shield[hidden] {display:none!important;}
html body a.fm-admin-shield:hover {background:#edf4fb;}
html body a.fm-admin-shield:focus-visible {outline:3px solid #f58220;outline-offset:4px;}
html body .navigazione>a.nav-tua-pagina {background:#eaf3fd;border-radius:13px;padding:13px 18px;color:#174f89;text-decoration:none;}

/* Identiche dimensioni per Login ed Esci: nessun movimento del menu. */
html body .navigazione .fm-session-slot {display:block;flex:0 0 156px;width:156px;height:48px;}
html body .fm-session-slot form {margin:0;padding:0;width:100%;height:100%;}
html body .fm-session-slot [hidden] {display:none!important;}
html body .fm-session-slot .fm-session-control {box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:156px;height:48px;margin:0;padding:12px 18px;border:0;border-radius:13px;background:#eaf3fd;color:#174f89;font:inherit;font-weight:700;line-height:1;text-decoration:none;cursor:pointer;}
html body .fm-session-slot .fm-session-control::before,html body .fm-session-slot .fm-session-control::after {content:none;}
html body .fm-session-slot .fm-session-control:focus-visible {outline:3px solid #f58220;outline-offset:3px;}
/* Menu personale compatto; dimensione del pulsante invariata. */
html body .fm-session-slot {position:relative;}
html body .fm-account-menu {position:relative;width:156px;}
html body .fm-account-menu[hidden] {display:none!important;}
html body .fm-account-menu>summary {list-style:none;}
html body .fm-account-menu>summary::-webkit-details-marker {display:none;}
html body .fm-account-menu .fm-account-options {position:absolute;right:0;top:calc(100% + 8px);width:230px;max-width:calc(100vw - 36px);padding:8px;background:#fff;border:1px solid #dce5ee;border-radius:15px;box-shadow:0 8px 25px #173d6126;z-index:1100;}
html body .fm-account-options a,html body .fm-account-options button {display:block;box-sizing:border-box;width:100%;padding:12px;text-align:left;border:0;border-radius:9px;background:transparent;color:#174f89;font:inherit;text-decoration:none;cursor:pointer;}
html body .fm-account-options a:hover,html body .fm-account-options button:hover {background:#eaf3fd;}
html body .fm-account-options form {height:auto;margin:0;}

/* Icona e label fanno parte del markup iniziale generato dal server. */
html body .fm-session-slot .fm-session-control {gap:7px;white-space:nowrap;padding:12px 8px;}
html body .fm-session-icon {display:inline-block;flex:0 0 auto;font-size:18px;line-height:1;}
html body .fm-session-text {font-size:14px;}
html body .fm-account-menu>summary::before,html body .fm-account-menu>summary::after {content:none!important;}

html body .fm-admin-shield .fm-admin-badge{position:absolute;top:-7px;right:-7px;display:flex;align-items:center;justify-content:center;min-width:25px;height:25px;padding:0 5px;box-sizing:border-box;border:2px solid #fff;border-radius:20px;background:#cf2424;color:#fff;font:800 13px/1 system-ui,sans-serif;box-shadow:0 2px 6px #172b4833;pointer-events:none}

/* Accesso e registrazione visibili insieme per chi non ha una sessione. */
html body .fm-header-due-righe .fm-nav-servizi .fm-session-slot.fm-session-guest {display:flex;flex-basis:auto;width:auto;height:auto;gap:10px;justify-content:center;}
/* Hover remains distinct even on the current page; labels retain their contrast. */
html body .navigazione .fm-session-slot.fm-session-guest .fm-session-control {background:#eaf3fd;color:#174f89;transition:background-color .15s,box-shadow .15s;}
html body .navigazione .fm-session-slot.fm-session-guest .fm-session-control[aria-current="page"] {background:#dbeafb;color:#174f89;}
html body .navigazione .fm-session-slot.fm-session-guest .fm-session-control:hover,
html body .navigazione .fm-session-slot.fm-session-guest .fm-session-control:focus-visible {background:#c5ddf6;color:#123d70;box-shadow:0 0 0 3px #174f89;}
html body .navigazione .fm-session-slot.fm-session-guest .fm-register-control,
html body .navigazione .fm-session-slot.fm-session-guest .fm-register-control[aria-current="page"] {background:#087d5c;color:#fff;}
html body .navigazione .fm-session-slot.fm-session-guest .fm-register-control:hover,
html body .navigazione .fm-session-slot.fm-session-guest .fm-register-control:focus-visible {background:#04533c;color:#fff;box-shadow:0 0 0 3px #087d5c;}
html body .navigazione .fm-session-slot.fm-session-guest .fm-session-control:active {box-shadow:inset 0 0 0 3px #174f89;}
html body .navigazione .fm-session-slot.fm-session-guest .fm-register-control:active {background:#034330;color:#fff;box-shadow:inset 0 0 0 3px #fff;}
@media(prefers-reduced-motion:reduce){html body .fm-session-slot.fm-session-guest .fm-session-control {transition:none;}}
@media(max-width:600px){
 html body .fm-header-due-righe .fm-nav-servizi .fm-session-slot.fm-session-guest {flex-basis:100%;width:100%;}
 html body .fm-session-guest .fm-session-control {width:calc((100% - 10px)/2);max-width:156px;min-width:0;}
}

/* Staff: il ruolo è verificato dal server; colore e etichetta lo distinguono. */
html body a.fm-admin-shield.fm-shield-moderator{color:#7138a8;border-color:#d7c6e8;}
html body a.fm-admin-shield.fm-shield-moderator:hover{background:#f4edfb;}
html body a.fm-admin-shield.fm-shield-admin{color:#174f89;}
