/* === ML Manager XG — nav.css (header + menu) ====================== */
/* Coerente con dashboard/cards: navy stratificato, bordi blu, pill arrotondate */

/* Header — navy + blu profondo, glow coerente con le card */
.site-header{
  position:sticky; top:0; z-index:50;
  background:
    linear-gradient(180deg, rgba(30, 58, 138, 0.22) 0%, transparent 42%),
    linear-gradient(180deg, rgba(15, 23, 42, 0.98) 0%, rgba(17, 24, 39, 0.99) 45%, rgba(11, 18, 32, 1) 100%),
    radial-gradient(900px 240px at 50% -85%, rgba(59, 130, 246, 0.28), transparent 58%),
    radial-gradient(520px 200px at 12% 0%, rgba(37, 99, 235, 0.14), transparent 50%),
    radial-gradient(400px 180px at 100% 0%, rgba(99, 102, 241, 0.1), transparent 52%);
  border-bottom:1px solid rgba(59, 130, 246, 0.2);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.05) inset,
    0 14px 40px rgba(0, 0, 0, 0.42),
    0 0 64px rgba(37, 99, 235, 0.14),
    0 0 1px rgba(56, 189, 248, 0.12);
  isolation:isolate;
}
@media (min-width: 981px) {
  .site-header {
    -webkit-backdrop-filter: saturate(120%) blur(10px);
    backdrop-filter: saturate(120%) blur(10px);
  }
}

/* Layout head */
.header-row{
  display:flex; align-items:center; justify-content:space-between;
  min-height:68px; gap:1rem;
}
@media (min-width:980px){
  /* Colonna nav limitata: niente spill sulla pill profilo / Amministrazione */
  .header-row{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:0.75rem 1rem;
    justify-content:stretch;
  }
  .header-row > .brand{ justify-self:start }
  .header-row > .nav-desktop{ justify-self:stretch; min-width:0 }
  .header-row > .header-tools{ justify-self:end }
  .header-row > .hamb{ display:none !important }
}
.brand{
  display:flex; align-items:center; gap:.5rem; text-decoration:none;
  padding:.32rem .6rem .32rem .38rem;
  border-radius:12px;
  border:1px solid transparent;
  transition:background .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.brand:hover{
  background:rgba(59, 130, 246, 0.07);
  border-color:rgba(59, 130, 246, 0.22);
  box-shadow:0 0 28px rgba(59, 130, 246, 0.07);
}
.brand-mark{
  width:28px;height:28px;flex-shrink:0;
  object-fit:contain;border-radius:6px;
  filter:drop-shadow(0 1px 4px rgba(0,0,0,.35));
}
.brand-name{font-weight:800; color:#e8f4fc; letter-spacing:-0.02em}

/* Admin: header solo profilo + notifiche + hamburger (nav e logo nel sito pubblico) */
.site-header.site-header--admin-slim .header-row{
  display:flex !important;
  justify-content:flex-end;
  align-items:center;
  gap:.65rem .9rem;
  min-height:52px;
}
@media (min-width:980px){
  .site-header.site-header--admin-slim .header-row .hamb{display:none !important}
}

/* === Desktop nav (una riga, no wrap) ============================== */
.nav-desktop{
  display:flex; align-items:center; gap:2px;
  flex:1; min-width:0;           /* consente lo scroll orizzontale */
  flex-wrap:nowrap;
  overflow-x:auto; overflow-y:hidden;
  scrollbar-width:none;
}
.nav-desktop::-webkit-scrollbar{ display:none }
.nav-desktop .nav-link,
.nav-desktop .nav-dd{ white-space:nowrap }

.nav-link{
  color:rgba(226, 232, 240, 0.92);
  padding:.45rem .75rem; border-radius:10px; text-decoration:none;
  border:1px solid transparent;
  transition:background .14s ease, border-color .14s ease, color .14s ease, box-shadow .14s ease, transform .18s ease;
}
.nav-desktop .nav-link:hover{
  background:rgba(59, 130, 246, 0.1);
  border-color:rgba(59, 130, 246, 0.22);
  transform:translateY(-1px);
}
.nav-link.active{
  color:#dbeafe;
  background:linear-gradient(180deg, rgba(37, 99, 235, 0.42), rgba(29, 78, 216, 0.26));
  border:1px solid rgba(96, 165, 250, 0.42);
  outline:1px solid rgba(34, 197, 94, 0.55);
  outline-offset:1px;
  box-shadow:0 2px 16px rgba(37, 99, 235, 0.22);
  transform:none;
}

/* === Dropdown desktop con <details> ================================ */
.nav-dd{
  position:relative; display:inline-block; vertical-align:middle;
}
.nav-dd > summary{
  list-style:none; -webkit-appearance:none; appearance:none;
  border:1px solid transparent; background:transparent;
  color:rgba(226, 232, 240, 0.92); padding:.45rem .8rem; border-radius:10px; cursor:pointer;
  display:inline-flex; align-items:center; gap:2px; line-height:1;
  transition:background .12s ease, border-color .12s ease, color .12s ease, box-shadow .12s ease;
}
.nav-dd > summary::-webkit-details-marker{ display:none }
.nav-dd > summary::after{ content:"▾"; opacity:.65; font-size:.9em; transform:translateY(-1px) }
.nav-dd > summary:hover{
  background:rgba(59, 130, 246, 0.1);
  border-color:rgba(59, 130, 246, 0.22);
}
.nav-dd > summary:focus-visible{
  outline:2px solid rgba(56, 189, 248, 0.55); outline-offset:2px; border-color:rgba(56, 189, 248, 0.45);
}
.nav-dd.active > summary{
  color:#dbeafe;
  background:linear-gradient(180deg, rgba(37, 99, 235, 0.42), rgba(29, 78, 216, 0.26));
  border:1px solid rgba(96, 165, 250, 0.42);
  outline:1px solid rgba(34, 197, 94, 0.55);
  outline-offset:1px;
  box-shadow:0 2px 16px rgba(37, 99, 235, 0.22);
}
.nav-dd[open] > summary{
  color:#fff;
  background:linear-gradient(180deg, rgba(37, 99, 235, 0.52), rgba(29, 78, 216, 0.34));
  border:1px solid rgba(147, 197, 253, 0.45);
  outline:1px solid rgba(34, 197, 94, 0.45);
  outline-offset:1px;
  box-shadow:0 4px 22px rgba(37, 99, 235, 0.28);
}

/* Pannello dropdown */
.nav-dd .dd-menu{
  position:absolute; top:calc(100% + 8px); left:0; min-width:220px;
  background:
    linear-gradient(165deg, rgba(30, 41, 59, 0.95) 0%, rgba(15, 23, 42, 0.98) 100%);
  border:1px solid rgba(59, 130, 246, 0.26);
  border-radius:14px;
  box-shadow:
    0 12px 40px rgba(0, 0, 0, 0.45),
    0 0 0 1px rgba(255, 255, 255, 0.04) inset,
    0 0 36px rgba(37, 99, 235, 0.12);
  padding:8px; z-index:200;

  /* hidden by default */
  display:none; opacity:0; visibility:hidden; transform:translateY(-6px);
  pointer-events:none;
  transition:opacity .15s ease, transform .15s ease, visibility .15s;
}
.nav-dd[open] .dd-menu{
  display:block; opacity:1; visibility:visible; transform:translateY(0);
  pointer-events:auto;
}

.dd-menu a{
  display:block; padding:.55rem .7rem; border-radius:8px;
  color:rgba(226, 232, 240, 0.95); text-decoration:none;
  transition:background .12s ease;
}
.dd-menu a:hover{ background:rgba(59, 130, 246, 0.12) }
.dd-menu a:focus-visible{ outline:2px solid var(--accent-3); outline-offset:2px }
.dd-menu hr{ border:0; border-top:1px solid var(--line); margin:6px 4px; opacity:.7 }
.nav-desktop .nav-dd.align-right .dd-menu{ left:auto; right:0 }

/* --- KILL-SWITCH: nasconde eventuali link di submenu stampati in linea --- */
/* (alcuni template stampano <a>, <ul> o .subnav direttamente dentro <details>:
   li occultiamo in desktop; usiamo sempre .dd-menu) */
.nav-desktop .nav-dd > a,
.nav-desktop .nav-dd > ul,
.nav-desktop .nav-dd > .subnav{ display:none !important }

/* Profilo + notifiche (desktop): pill come chip dashboard */
.site-header .user-mini{
  display:flex; align-items:center; gap:.45rem; text-decoration:none;
  padding:.38rem .65rem .38rem .42rem;
  border-radius:12px;
  border:1px solid rgba(255, 255, 255, 0.09);
  background:rgba(11, 18, 32, 0.55);
  color:#e2e8f0;
  font-size:.92rem;
  transition:border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.site-header .user-mini:hover{
  border-color:rgba(59, 130, 246, 0.32);
  background:rgba(59, 130, 246, 0.1);
  box-shadow:0 0 20px rgba(59, 130, 246, 0.08);
}
.site-header .user-mini img{
  border-radius:8px !important;
  border:1px solid rgba(255, 255, 255, 0.12);
}
.site-header .bell{
  display:inline-flex; align-items:center; justify-content:center;
  padding:.42rem .52rem;
  border-radius:10px;
  border:1px solid rgba(255, 255, 255, 0.09);
  background:rgba(11, 18, 32, 0.45);
  color:#e2e8f0;
  text-decoration:none;
  margin-left:.5rem;
  transition:border-color .15s ease, background .15s ease, color .15s ease;
}

/* Profilo, notifiche, Amministrazione (desktop): colonna destra dedicata */
.header-tools{
  display:flex;
  align-items:center;
  gap:.45rem;
  flex-shrink:0;
  flex-wrap:nowrap;
}
.header-tools .bell{
  margin-left:0;
}

/* Ricerca globale in top bar — dark / e-sport */
.header-search{
  display:none;
  margin:0;
  flex:0 1 12.5rem;
  max-width:15rem;
  min-width:9.5rem;
}
.header-search__lab{
  position:relative;
  display:flex;
  align-items:center;
  width:100%;
}
.header-search__lab > i{
  position:absolute;
  left:.72rem;
  z-index:1;
  color:#38bdf8;
  font-size:.78rem;
  pointer-events:none;
  opacity:.9;
  text-shadow:0 0 10px rgba(56,189,248,.45);
}
.header-search input[type="search"],
.header-tools .header-search input[type="search"]{
  -webkit-appearance:none !important;
  appearance:none !important;
  width:100%;
  box-sizing:border-box;
  padding:.48rem .75rem .48rem 2.05rem;
  border-radius:999px;
  border:1px solid rgba(56,189,248,.28);
  background:#0b1220 !important;
  background-color:#0b1220 !important;
  background-image:linear-gradient(180deg, rgba(14,165,233,.08), transparent 70%) !important;
  color:#e2e8f0 !important;
  caret-color:#38bdf8;
  font:inherit;
  font-size:.82rem;
  font-weight:600;
  letter-spacing:.02em;
  outline:none;
  color-scheme:dark;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    0 0 0 1px rgba(0,0,0,.35),
    0 0 18px rgba(14,165,233,.08);
  transition:border-color .15s ease, box-shadow .15s ease;
}
.header-search input[type="search"]::placeholder{
  color:#64748b !important;
  font-weight:550;
  letter-spacing:.04em;
  opacity:1;
}
.header-search input[type="search"]:hover{
  border-color:rgba(56,189,248,.45);
}
.header-search input[type="search"]:focus{
  border-color:rgba(56,189,248,.7);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 0 0 2px rgba(14,165,233,.22),
    0 0 22px rgba(14,165,233,.2);
}
.header-search input[type="search"]::-webkit-search-decoration,
.header-search input[type="search"]::-webkit-search-cancel-button,
.header-search input[type="search"]::-webkit-search-results-button,
.header-search input[type="search"]::-webkit-search-results-decoration{
  -webkit-appearance:none;
  appearance:none;
  display:none;
}
.header-search-ico{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:2.15rem;
  height:2.15rem;
  border-radius:10px;
  border:1px solid rgba(56,189,248,.28);
  background:linear-gradient(180deg, rgba(14,165,233,.12), rgba(10,14,20,.85));
  color:#7dd3fc;
  text-decoration:none;
  flex-shrink:0;
  box-shadow:0 0 14px rgba(14,165,233,.12);
}
.header-search-ico:hover{
  color:#e0f2fe;
  border-color:rgba(56,189,248,.55);
}
.header-search input[type="search"]:-webkit-autofill,
.header-search input[type="search"]:-webkit-autofill:hover,
.header-search input[type="search"]:-webkit-autofill:focus{
  -webkit-text-fill-color:#e2e8f0 !important;
  caret-color:#38bdf8;
  transition:background-color 99999s ease-out;
  box-shadow:0 0 0 1000px #0b1220 inset !important;
  border-color:rgba(56,189,248,.45) !important;
}
body.pub-shell-layout .header-tools .header-search input[type="search"]{
  background:#0b1220 !important;
  background-color:#0b1220 !important;
  color:#e2e8f0 !important;
  border:1px solid rgba(56,189,248,.32) !important;
  color-scheme:dark;
}
@media (min-width:980px){
  .header-search{ display:block; }
}
@media (max-width:979px){
  .header-tools .header-search{ display:none !important; }
}

@media (min-width:980px){
  .header-tools{
    position:relative;
    z-index:12;
    max-width:100%;
  }
}

/* ===== Orologio header (IT) ===== */
.xg-clock--desk{
  display:none;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:5.6rem;
  padding:0.28rem 0.55rem;
  border-radius:12px;
  border:1px solid rgba(148,163,184,.22);
  background:rgba(10,14,20,.72);
  line-height:1.15;
  flex-shrink:0;
}
.xg-clock--desk time{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:1px;
}
.xg-clock__date{
  font-size:0.72rem;
  font-weight:800;
  color:#f8fafc;
  letter-spacing:0.01em;
  white-space:nowrap;
}
.xg-clock__sub{
  display:inline-flex;
  align-items:center;
  gap:0.28rem;
  font-size:0.68rem;
  font-weight:650;
  white-space:nowrap;
}
.xg-clock__dow{ color:#94a3b8; }
.xg-clock__pipe{ color:#475569; font-weight:700; }
.xg-clock__time{
  color:#c4b5fd;
  font-variant-numeric:tabular-nums;
  font-weight:800;
}
.xg-clock-bar{
  display:none !important;
}
.xg-clock--side{
  display:flex;
  align-items:center;
  margin:0.35rem 0 0 0.15rem;
  max-width:100%;
}
.xg-clock--side time{
  display:inline-flex;
  align-items:center;
  flex-wrap:wrap;
  gap:0.28rem;
  padding:0.2rem 0.55rem;
  border-radius:999px;
  border:1px solid rgba(148,163,184,.16);
  background:rgba(10,14,20,.4);
  font-size:0.68rem;
  font-weight:650;
  letter-spacing:0.02em;
  color:#94a3b8;
  white-space:nowrap;
}
.xg-clock-side__dot{ opacity:0.45; }
.xg-clock-side__time{
  color:#c4b5fd;
  font-weight:800;
  font-variant-numeric:tabular-nums;
}
@media (min-width:980px){
  .xg-clock--desk{ display:inline-flex; }
  .header-tools--guest-clock{ margin-left:auto; }
}
@media (max-width:979px){
  .xg-clock--desk{ display:none !important; }
}

.site-header .bell:hover{
  border-color:rgba(59, 130, 246, 0.3);
  background:rgba(59, 130, 246, 0.12);
  color:#fff;
}

/* === Burger (mobile) ============================================== */
.hamb{
  display:inline-flex; flex-direction:column; justify-content:center; align-items:center; gap:4px;
  background:rgba(11, 18, 32, 0.5); border:1px solid rgba(255, 255, 255, 0.1);
  padding:.45rem .55rem; border-radius:10px; cursor:pointer;
  transition:background .15s ease, border-color .15s ease;
}
.hamb:hover{ background:rgba(59, 130, 246, 0.12); border-color:rgba(59, 130, 246, 0.28) }
.hamb span{ display:block; width:22px; height:2px; background:#e2e8f0; border-radius:2px }

/* === Drawer (mobile) ============================================== */
.drawer{
  position:fixed; inset:0 auto 0 0; width:86%; max-width:360px;
  /* Colore pieno: il shorthand `background:` azzera background-color → senza questo il pannello può risultare trasparente */
  background-color:#0b1220;
  background-image:
    linear-gradient(180deg, rgba(30, 58, 138, 0.2) 0%, transparent 38%),
    linear-gradient(180deg, rgba(15, 23, 42, 0.99) 0%, rgba(11, 18, 32, 1) 100%),
    radial-gradient(480px 260px at 15% 0%, rgba(59, 130, 246, 0.2), transparent 62%),
    radial-gradient(380px 220px at 100% 15%, rgba(99, 102, 241, 0.1), transparent 55%);
  border-right:1px solid rgba(59, 130, 246, 0.18);
  box-shadow:8px 0 48px rgba(0, 0, 0, 0.45), 0 0 40px rgba(37, 99, 235, 0.1);
  transform:translateX(-102%); transition:transform .24s ease;
  z-index:49; display:flex; flex-direction:column;
}
.drawer.open{ transform:translateX(0) }
.drawer-head{
  position:sticky; top:0; z-index:1;
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 16px;
  background:linear-gradient(180deg, rgba(15, 23, 42, 0.96), rgba(11, 18, 32, 0.98));
  border-bottom:1px solid rgba(59, 130, 246, 0.12);
}
@media (min-width: 981px) {
  .drawer-head {
    background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,0));
    backdrop-filter: saturate(120%) blur(8px);
  }
}
.drawer-head strong{ color:#e8f4fc; letter-spacing:.02em }
.drawer-close{
  font-size:28px; background:rgba(11, 18, 32, 0.5); border:1px solid rgba(255,255,255,.1);
  border-radius:10px; color:#e2e8f0; padding:.15rem .45rem; line-height:1;
  cursor:pointer; transition:background .15s ease, border-color .15s ease;
}
.drawer-close:hover{ background:rgba(59, 130, 246, 0.15); border-color:rgba(59, 130, 246, 0.3) }

.drawer-nav{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  background:rgba(11, 18, 32, 0.98);
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.05);
  padding:12px 8px 16px;
}
.dgroup{ margin:8px 6px 14px }
.dgroup-title{
  font-size:.9rem; letter-spacing:.08em; text-transform:uppercase;
  color:#93c5fd; opacity:.88; padding:6px 8px; margin-bottom:4px;
}
.dlink{
  display:block; padding:12px 14px; border-radius:10px; color:#e8f4fc; text-decoration:none;
  transition:background .15s ease, border-color .15s ease, transform .04s ease;
  border:1px solid transparent;
}
.drawer-nav .dlink:hover{
  background:rgba(59, 130, 246, 0.1);
  border-color:rgba(59, 130, 246, 0.15);
}
.drawer-nav .dlink.active{
  color:#dbeafe;
  background:linear-gradient(180deg, rgba(37, 99, 235, 0.35), rgba(29, 78, 216, 0.2));
  border:1px solid rgba(96, 165, 250, 0.35);
  outline:1px solid rgba(34, 197, 94, 0.5);
  outline-offset:1px;
  box-shadow:0 2px 14px rgba(37, 99, 235, 0.18);
}

/* Drawer account footer */
.drawer-account{ margin-top:auto; padding:12px 12px 14px; border-top:1px solid rgba(255,255,255,.06);
  background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.0)) }
.account-row{
  display:flex; align-items:center; gap:.6rem;
  background:rgba(11, 18, 32, 0.65); border:1px solid rgba(59, 130, 246, 0.18);
  border-radius:12px; padding:10px 12px;
}
.account-row .avatar{
  width:34px;height:34px;border-radius:10px;
  background:linear-gradient(180deg, rgba(59, 130, 246, 0.28), rgba(37, 99, 235, 0.1));
  border:1px solid rgba(96, 165, 250, 0.38); display:flex; align-items:center; justify-content:center;
  color:#bfdbfe; font-weight:800; font-size:.8rem;
}
.acc-meta{ flex:1; min-width:0 }
.acc-name{ font-weight:700; line-height:1.1 }
.acc-roles{ color:var(--muted); font-size:.86rem }
.acc-logout{ display:inline-flex; align-items:center; padding:.35rem .6rem; border:1px solid var(--line); border-radius:10px; text-decoration:none; color:var(--text) }
.acc-logout:hover{ background:var(--panel) }

/* Backdrop */
.drawer-backdrop{ position:fixed; inset:0; background:rgba(2, 6, 14, 0.78); opacity:0; transition:opacity .28s ease; z-index:48 }
.drawer-backdrop.show{ opacity:1 }

/* Responsive: nasconde elementi mobile su desktop */
@media (max-width:979px){
  .nav-desktop{display:none}
  .hamb{display:inline-flex;flex-shrink:0}
  .header-row{gap:.5rem;min-height:56px}
  /* barra compatta: nome utente nascosto su telefoni stretti */
  .site-header .user-mini .nm{display:none}
  .site-header .user-mini{padding:.32rem .42rem;flex-shrink:0}
  .site-header .bell{flex-shrink:0;margin-left:.25rem}
  .header-tools{margin-left:auto;gap:.35rem}
  .site-header .header-tools .bell{margin-left:0}
}
@media (max-width:979px) and (min-width:400px){
  .site-header .user-mini .nm{display:inline}
}
@media (min-width:980px){
  .drawer,.drawer-backdrop{ display:none!important }
  #hamb-open,#site-drawer,#drawer-backdrop{ display:none!important }
  .hamb{ display:none!important }
}



/* --- HARD FIX: nasconde i sotto-link desktop finché il dropdown non è aperto --- */

/* 1) Colore coerente per i link nella top-nav desktop */
.site-header .nav-desktop a { color: rgba(226, 232, 240, 0.92); }

/* 2) Per QUALSIASI dropdown desktop basato su <details class="nav-dd">:
      nascondi l’elemento immediatamente successivo al <summary> (che sia .dd-menu,
      .nav-pop o altro), così non scorre in linea con la barra */
.site-header .nav-desktop details.nav-dd > summary + * {
  display: none !important;
}

/* 3) Quando il dropdown è aperto, mostra il pannello */
.site-header .nav-desktop details.nav-dd[open] > summary + * {
  display: block !important;
}

/* 4) Se il pannello deve essere posizionato assoluto (stile dropdown) e
      non ha già una classe riconosciuta, portiamolo allo stesso stile */
.site-header .nav-desktop details.nav-dd[open] > summary + * {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 220px;
  background: linear-gradient(165deg, rgba(30, 41, 59, 0.96) 0%, rgba(15, 23, 42, 0.99) 100%);
  border: 1px solid rgba(59, 130, 246, 0.26);
  border-radius: 14px;
  box-shadow:
    0 12px 40px rgba(0, 0, 0, 0.45),
    0 0 0 1px rgba(255, 255, 255, 0.04) inset,
    0 0 36px rgba(37, 99, 235, 0.12);
  padding: 6px;
  z-index: 200;
}

/* 5) Link interni al menu */
.site-header .nav-desktop details.nav-dd[open] > summary + * a {
  display: block;
  padding: .55rem .7rem;
  border-radius: .5rem;
  color: var(--text);
  text-decoration: none;
}
.site-header .nav-desktop details.nav-dd[open] > summary + * a:hover {
  background: rgba(59, 130, 246, 0.12);
}
.site-header .nav-desktop details.nav-dd[open] > summary + * a:focus-visible {
  outline: 2px solid var(--accent-3);
  outline-offset: 2px;
}








/* ==== FIX dropdown clipping / z-index (desktop) ==== */

/* L’header non deve clipparmi i figli assoluti */
.site-header,
.header-row {
  position: relative;
  overflow: visible;
}

/* Il pannello del dropdown deve stare sopra tutto il resto della pagina */
.nav-dd .dd-menu {
  z-index: 9999; /* sopra card, contenuti, ecc. */
}

/* La nav resta overflow visible per i pannelli dropdown assoluti; il profilo è in .header-tools sopra (z-index) */
.nav-desktop {
  overflow: visible;
}

/* Transizione/visibilità del pannello: niente display:none che può far laggare
   su alcuni browser. Solo opacity/visibility/transform. */
.site-header .nav-desktop details.nav-dd .dd-menu {
  display: block;               /* sempre block: usiamo opacity/visibility */
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity .15s ease, transform .15s ease, visibility .15s;
}
.site-header .nav-desktop details.nav-dd[open] .dd-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* Drawer: accordion sezioni (stesso tono dei dropdown desktop) */
.drawer .accordion-btn{
  border-radius:10px;
  border:1px solid rgba(255, 255, 255, 0.06);
  background:rgba(11, 18, 32, 0.4);
  color:#e2e8f0;
  transition:background .15s ease, border-color .15s ease;
}
.drawer .accordion-btn:hover{
  background:rgba(59, 130, 246, 0.1);
  border-color:rgba(59, 130, 246, 0.18);
}
.drawer .accordion-section[aria-expanded="true"] .accordion-btn{
  background:rgba(59, 130, 246, 0.12);
  border-color:rgba(59, 130, 246, 0.22);
  color:#fff;
}

/* --- Menu IT: accenti colore, micro-motion, hint --- */
.nav-dd > summary::after{
  transition:transform .22s ease, opacity .15s ease;
}
.nav-dd[open] > summary::after{
  transform:rotate(-180deg) translateY(1px);
  opacity:.9;
}

/* Amministrazione in barra destra (desktop + mobile autenticato) */
.header-tools .nav-link--admin.header-tools__admin{
  margin-left:0;
  flex-shrink:0;
  white-space:nowrap;
}
@media (max-width:520px){
  .header-tools .nav-link--admin .nav-admin-label{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
  }
  .header-tools .nav-link--admin.header-tools__admin{
    position:relative;
  }
}

/* Pill Amministrazione (anche in drawer / nav ospite) */
.site-header .nav-desktop .nav-link--admin{
  margin-left:4px;
  font-weight:700;
  background:linear-gradient(165deg, rgba(99, 102, 241, 0.35), rgba(59, 130, 246, 0.22));
  border:1px solid rgba(165, 180, 252, 0.45);
  box-shadow:
    0 0 24px rgba(99, 102, 241, 0.2),
    0 2px 12px rgba(37, 99, 235, 0.15);
}
.site-header .nav-desktop .nav-link--admin:hover{
  background:linear-gradient(165deg, rgba(129, 140, 248, 0.42), rgba(59, 130, 246, 0.28));
  border-color:rgba(199, 210, 254, 0.55);
  box-shadow:0 0 28px rgba(99, 102, 241, 0.28), 0 4px 16px rgba(37, 99, 235, 0.2);
  transform:translateY(-1px);
}
.site-header .nav-desktop .nav-link--admin.active{
  outline-color:rgba(251, 191, 36, 0.55);
}

/* Dropdown: hint sotto il titolo (solo Area manager) */
.dd-menu-hint{
  margin:0 0 6px;
  padding:2px 8px 8px;
  font-size:.72rem;
  line-height:1.35;
  color:rgba(148, 163, 184, 0.95);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.drawer-dd-hint{
  margin:0 14px 8px;
  font-size:.78rem;
  line-height:1.35;
  color:rgba(148, 163, 184, 0.92);
}

/* Glow / bordo per area menu (desktop) */
.nav-dd--manager[open] > summary{
  box-shadow:0 4px 24px rgba(34, 211, 238, 0.22), 0 2px 16px rgba(37, 99, 235, 0.18);
}
.site-header .nav-desktop .nav-dd--manager[open] .dd-menu{
  border-color:rgba(34, 211, 238, 0.38);
  box-shadow:
    0 12px 40px rgba(0, 0, 0, 0.45),
    0 0 0 1px rgba(255, 255, 255, 0.04) inset,
    0 0 40px rgba(34, 211, 238, 0.14);
}
.nav-dd--comp[open] > summary{
  box-shadow:0 4px 24px rgba(251, 191, 36, 0.18), 0 2px 16px rgba(37, 99, 235, 0.15);
}
.site-header .nav-desktop .nav-dd--comp[open] .dd-menu{
  border-color:rgba(251, 191, 36, 0.35);
  box-shadow:
    0 12px 40px rgba(0, 0, 0, 0.45),
    0 0 0 1px rgba(255, 255, 255, 0.04) inset,
    0 0 36px rgba(251, 191, 36, 0.12);
}
.nav-dd--market[open] > summary{
  box-shadow:0 4px 24px rgba(52, 211, 153, 0.18), 0 2px 16px rgba(37, 99, 235, 0.15);
}
.site-header .nav-desktop .nav-dd--market[open] .dd-menu{
  border-color:rgba(52, 211, 153, 0.35);
  box-shadow:
    0 12px 40px rgba(0, 0, 0, 0.45),
    0 0 0 1px rgba(255, 255, 255, 0.04) inset,
    0 0 36px rgba(16, 185, 129, 0.12);
}
.nav-dd--data[open] > summary{
  box-shadow:0 4px 24px rgba(167, 139, 250, 0.2), 0 2px 16px rgba(37, 99, 235, 0.15);
}
.site-header .nav-desktop .nav-dd--data[open] .dd-menu{
  border-color:rgba(167, 139, 250, 0.38);
  box-shadow:
    0 12px 40px rgba(0, 0, 0, 0.45),
    0 0 0 1px rgba(255, 255, 255, 0.04) inset,
    0 0 38px rgba(139, 92, 246, 0.12);
}

/*
 * Icone menu: stessa famiglia cromatica (ghiaccio + accenti di sezione).
 * Nessuna icona “grigia random”: base uniforme, dropdown allineati al glow della sezione.
 */
.site-header .nav-desktop .nav-link > i,
.site-header .nav-desktop .nav-dd > summary > i{
  color:#93c5e8;
  opacity:.96;
  transition:color .18s ease, filter .18s ease, opacity .18s ease;
}
.site-header .nav-desktop .nav-link:hover > i,
.site-header .nav-desktop .nav-dd > summary:hover > i{
  color:#bae6fd;
  filter:saturate(1.05);
}

/* Area manager: ciano */
.site-header .nav-desktop .nav-dd--manager > summary > i{ color:#5ecfe3; }
.site-header .nav-desktop .nav-dd--manager .dd-menu i{ color:#7dd3fc; }

/* Competizioni: ambra calda */
.site-header .nav-desktop .nav-dd--comp > summary > i{ color:#e8c468; }
.site-header .nav-desktop .nav-dd--comp .dd-menu i{ color:#fcd34d; }

/* Mercato: smeraldo morbido */
.site-header .nav-desktop .nav-dd--market > summary > i{ color:#5dceae; }
.site-header .nav-desktop .nav-dd--market .dd-menu i{ color:#6ee7b7; }

/* Dati: viola lavanda */
.site-header .nav-desktop .nav-dd--data > summary > i{ color:#b8a3f0; }
.site-header .nav-desktop .nav-dd--data .dd-menu i{ color:#d8b4fe; }

/* Amministrazione: stesso filo della pill */
.site-header .nav-desktop .nav-link--admin > i{ color:#ddd6fe; }

/* Voci disabilitate */
.site-header .nav-desktop .dd-menu .dlink.disabled > i,
.site-header .nav-desktop .dd-menu span.dlink.disabled > i{
  color:#64748b !important;
  opacity:.5;
}

.site-header .bell{
  color:#9ec9e8;
  transition:color .18s ease;
}
.site-header .bell:hover{
  color:#bae6fd;
}

.site-header .user-mini i,
.site-header .user-mini .fa-circle-user{
  color:#9ec9e8;
  opacity:.95;
}

/* Drawer: stesse proporzioni di colore */
.drawer-nav > .dlink > i{
  color:#93c5e8;
  opacity:.96;
  transition:color .18s ease;
}
.drawer-nav > .dlink:hover > i{ color:#bae6fd; }

.drawer .accordion-section--manager .accordion-btn i{ color:#5ecfe3; }
.drawer .accordion-section--manager .accordion-body .dlink > i{ color:#7dd3fc; }
.drawer .accordion-section--comp .accordion-btn i{ color:#e8c468; }
.drawer .accordion-section--comp .accordion-body .dlink > i{ color:#fcd34d; }
.drawer .accordion-section--market .accordion-btn i{ color:#5dceae; }
.drawer .accordion-section--market .accordion-body .dlink > i{ color:#6ee7b7; }
.drawer .accordion-section--data .accordion-btn i{ color:#b8a3f0; }
.drawer .accordion-section--data .accordion-body .dlink > i{ color:#d8b4fe; }

.drawer-nav .dlink--admin > i{ color:#ddd6fe; }
.drawer-nav .dlink--admin{
  display:flex;
  align-items:center;
  gap:.45rem;
  font-weight:650;
}
.drawer-nav .dlink--admin .dlink__label{ flex:1 1 auto; }
.drawer-nav .pub-nav-badge{
  margin-left:auto;
  flex-shrink:0;
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:.14rem .42rem;
  border-radius:999px;
  line-height:1.2;
  color:#c4b5fd;
  background:rgba(99, 102, 241, 0.18);
  border:1px solid rgba(165, 180, 252, 0.35);
}

.drawer-nav .dlink.disabled > i,
.drawer-nav span.dlink.disabled > i{
  color:#64748b !important;
  opacity:.5;
}

/* Voci: strisciata leggera al hover */
.site-header .nav-desktop details.nav-dd[open] > summary + * a,
.site-header .nav-desktop details.nav-dd[open] > summary + * .nav-link{
  transition:background .14s ease, transform .2s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .18s ease;
}
.site-header .nav-desktop details.nav-dd[open] > summary + * a:hover,
.site-header .nav-desktop details.nav-dd[open] > summary + * .nav-link:hover{
  transform:translateX(4px);
  box-shadow:-3px 0 0 rgba(56, 189, 248, 0.35);
}

/* Drawer: stessi accenti + motion */
.drawer-nav .dlink{
  transition:background .16s ease, border-color .16s ease, transform .2s cubic-bezier(0.22, 1, 0.36, 1);
}
.drawer-nav .dlink:hover:not(.disabled){
  transform:translateX(5px);
}
.drawer .accordion-section--manager[aria-expanded="true"] .accordion-btn{
  border-color:rgba(34, 211, 238, 0.35);
  box-shadow:0 0 20px rgba(34, 211, 238, 0.12);
}
.drawer .accordion-section--comp[aria-expanded="true"] .accordion-btn{
  border-color:rgba(251, 191, 36, 0.35);
  box-shadow:0 0 18px rgba(251, 191, 36, 0.1);
}
.drawer .accordion-section--market[aria-expanded="true"] .accordion-btn{
  border-color:rgba(52, 211, 153, 0.35);
  box-shadow:0 0 18px rgba(52, 211, 153, 0.1);
}
.drawer .accordion-section--data[aria-expanded="true"] .accordion-btn{
  border-color:rgba(167, 139, 250, 0.38);
  box-shadow:0 0 18px rgba(167, 139, 250, 0.12);
}
.drawer-nav .dlink--admin-pill{
  margin:10px 6px 4px;
  text-align:center;
  font-weight:700;
  background:linear-gradient(165deg, rgba(99, 102, 241, 0.32), rgba(59, 130, 246, 0.2));
  border:1px solid rgba(165, 180, 252, 0.4) !important;
  box-shadow:0 0 22px rgba(99, 102, 241, 0.15);
}
.drawer-nav .dlink--admin-pill:hover{
  background:linear-gradient(165deg, rgba(129, 140, 248, 0.4), rgba(59, 130, 246, 0.26));
}

/* Sidebar docked (#pub-sidebar): stessi accenti e motion del drawer mobile */
#pub-sidebar .accordion-btn,
.pub-sidebar .accordion-btn{
  border-radius:10px;
  border:1px solid rgba(255, 255, 255, 0.06);
  background:rgba(11, 18, 32, 0.4);
  color:#e2e8f0;
  transition:background .15s ease, border-color .15s ease;
}
#pub-sidebar .accordion-btn:hover,
.pub-sidebar .accordion-btn:hover{
  background:rgba(59, 130, 246, 0.1);
  border-color:rgba(59, 130, 246, 0.18);
}
#pub-sidebar .accordion-section[aria-expanded="true"] .accordion-btn,
.pub-sidebar .accordion-section[aria-expanded="true"] .accordion-btn{
  background:rgba(59, 130, 246, 0.12);
  border-color:rgba(59, 130, 246, 0.22);
  color:#fff;
}
#pub-sidebar .accordion-section--manager .accordion-btn i,
.pub-sidebar .accordion-section--manager .accordion-btn i{ color:#5ecfe3; }
#pub-sidebar .accordion-section--manager .accordion-body .dlink > i,
.pub-sidebar .accordion-section--manager .accordion-body .dlink > i{ color:#7dd3fc; }
#pub-sidebar .accordion-section--comp .accordion-btn i,
.pub-sidebar .accordion-section--comp .accordion-btn i{ color:#e8c468; }
#pub-sidebar .accordion-section--comp .accordion-body .dlink > i,
.pub-sidebar .accordion-section--comp .accordion-body .dlink > i{ color:#fcd34d; }
#pub-sidebar .accordion-section--market .accordion-btn i,
.pub-sidebar .accordion-section--market .accordion-btn i{ color:#5dceae; }
#pub-sidebar .accordion-section--market .accordion-body .dlink > i,
.pub-sidebar .accordion-section--market .accordion-body .dlink > i{ color:#6ee7b7; }
#pub-sidebar .accordion-section--data .accordion-btn i,
.pub-sidebar .accordion-section--data .accordion-btn i{ color:#b8a3f0; }
#pub-sidebar .accordion-section--data .accordion-body .dlink > i,
.pub-sidebar .accordion-section--data .accordion-body .dlink > i{ color:#d8b4fe; }
#pub-sidebar.drawer-nav > .dlink > i,
.pub-sidebar.drawer-nav > .dlink > i,
#pub-sidebar .drawer-nav > .dlink > i{
  color:#93c5e8;
  opacity:.96;
  transition:color .18s ease;
}
#pub-sidebar .drawer-nav > .dlink:hover > i,
.pub-sidebar.drawer-nav > .dlink:hover > i{
  color:#bae6fd;
}
#pub-sidebar .drawer-nav .dlink,
.pub-sidebar .drawer-nav .dlink{
  transition:background .16s ease, border-color .16s ease, transform .2s cubic-bezier(0.22, 1, 0.36, 1);
}
#pub-sidebar .drawer-nav .dlink:hover:not(.disabled),
.pub-sidebar .drawer-nav .dlink:hover:not(.disabled){
  transform:translateX(5px);
}
#pub-sidebar .accordion-section--manager[aria-expanded="true"] .accordion-btn,
.pub-sidebar .accordion-section--manager[aria-expanded="true"] .accordion-btn{
  border-color:rgba(34, 211, 238, 0.35);
  box-shadow:0 0 20px rgba(34, 211, 238, 0.12);
}
#pub-sidebar .accordion-section--comp[aria-expanded="true"] .accordion-btn,
.pub-sidebar .accordion-section--comp[aria-expanded="true"] .accordion-btn{
  border-color:rgba(251, 191, 36, 0.35);
  box-shadow:0 0 18px rgba(251, 191, 36, 0.1);
}
#pub-sidebar .accordion-section--market[aria-expanded="true"] .accordion-btn,
.pub-sidebar .accordion-section--market[aria-expanded="true"] .accordion-btn{
  border-color:rgba(52, 211, 153, 0.35);
  box-shadow:0 0 18px rgba(52, 211, 153, 0.1);
}
#pub-sidebar .accordion-section--data[aria-expanded="true"] .accordion-btn,
.pub-sidebar .accordion-section--data[aria-expanded="true"] .accordion-btn{
  border-color:rgba(167, 139, 250, 0.38);
  box-shadow:0 0 18px rgba(167, 139, 250, 0.12);
}
#pub-sidebar .dlink--admin > i,
.pub-sidebar .dlink--admin > i{ color:#ddd6fe; }
