/*
 * TothAI 1.2.2 — sidebar adattiva e scorrimento unico.
 * Caricato dopo style.css: corregge il tratto 761–900 px e rimuove
 * lo scorrimento separato e scomodo della cronologia chat.
 */

@media (min-width:901px) and (max-width:1180px){
  :root{--sidebar-larghezza:230px;}
}

/*
 * Tutta la colonna laterale scorre come un unico pannello. Il profilo non
 * forza più la lista chat dentro un piccolo riquadro con scroll autonomo.
 */
.tai-sidebar{
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior-y:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable;
  padding-bottom:max(1rem,env(safe-area-inset-bottom));
}
.tai-sidebar > .tai-lista-conv{
  flex:0 0 auto!important;
  min-height:0!important;
  overflow:visible!important;
}
.tai-sidebar > .tai-sidebar-progetti{
  max-height:clamp(96px,20dvh,170px)!important;
  overflow-y:auto!important;
  overscroll-behavior-y:contain;
}
.tai-sidebar > .tai-sidebar-chat{
  max-height:none!important;
  overflow:visible!important;
}
.tai-sidebar .tai-profilo-pill{
  margin-top:.45rem!important;
}
.tai-sidebar .tai-sidebar-legal-footer{
  flex:0 0 auto;
  margin-top:.2rem;
}
.tai-sidebar,
.tai-sidebar > .tai-sidebar-progetti,
.tai-profilo-menu.tai-profilo-menu-floating{
  scrollbar-width:thin;
  scrollbar-color:color-mix(in srgb,var(--ink-faint) 55%,transparent) transparent;
}
.tai-sidebar::-webkit-scrollbar,
.tai-sidebar > .tai-sidebar-progetti::-webkit-scrollbar,
.tai-profilo-menu.tai-profilo-menu-floating::-webkit-scrollbar{
  width:6px;
}
.tai-sidebar::-webkit-scrollbar-thumb,
.tai-sidebar > .tai-sidebar-progetti::-webkit-scrollbar-thumb,
.tai-profilo-menu.tai-profilo-menu-floating::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:color-mix(in srgb,var(--ink-faint) 45%,transparent);
}

/*
 * Il menu del profilo viene spostato nel body e posizionato via JavaScript.
 * In questo modo non è tagliato dalla sidebar e resta sempre dentro lo schermo,
 * anche con molte voci amministrative o con una finestra poco alta.
 */
.tai-profilo-menu.tai-profilo-menu-floating{
  position:fixed!important;
  right:auto!important;
  bottom:auto!important;
  left:var(--tai-profile-menu-left,12px)!important;
  top:var(--tai-profile-menu-top,12px)!important;
  width:var(--tai-profile-menu-width,250px)!important;
  max-width:calc(100vw - 24px)!important;
  max-height:var(--tai-profile-menu-max-height,calc(100dvh - 24px))!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  z-index:1200!important;
}
body.sidebar-collassata .tai-profilo-menu.aperto.tai-profilo-menu-floating{
  display:flex!important;
}

/*
 * Tablet, finestre desktop strette e smartphone condividono la stessa
 * navigazione a scomparsa. Prima tra 761 e 820 px il contenuto perdeva il
 * margine della sidebar, ma la sidebar restava desktop e copriva le pagine.
 */
@media (max-width:900px){
  .tai-layout,
  body.tai-area-privata > .tai-layout{
    width:100%!important;
    max-width:100vw!important;
    padding-left:0!important;
  }
  .tai-layout > main{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  .tai-sidebar{
    position:fixed!important;
    inset:0 auto 0 0!important;
    width:min(86vw,320px)!important;
    max-width:calc(100vw - .75rem)!important;
    height:100vh!important;
    height:100dvh!important;
    z-index:210!important;
    transform:translateX(-105%)!important;
    transition:transform .22s ease!important;
    border-right:1px solid var(--rule)!important;
    box-shadow:0 0 24px rgba(0,0,0,.18)!important;
    padding-left:1rem!important;
    padding-right:1rem!important;
    align-items:stretch!important;
  }
  body.sidebar-mobile-aperta .tai-sidebar{
    transform:translateX(0)!important;
  }

  body.sidebar-collassata .tai-sidebar-logo-riga{
    justify-content:space-between!important;
  }
  body.sidebar-collassata .tai-sidebar-logo{
    display:block!important;
  }
  body.sidebar-collassata .tai-nav-testo,
  body.sidebar-collassata .tai-sidebar-sezione{
    display:block!important;
  }
  body.sidebar-collassata .tai-sidebar-sezione-riga{
    display:flex!important;
  }
  body.sidebar-collassata .tai-lista-conv{
    display:flex!important;
  }
  body.sidebar-collassata .tai-profilo-testo{
    display:flex!important;
  }
  body.sidebar-collassata .tai-nav-item{
    justify-content:flex-start!important;
    padding:.55rem .6rem!important;
  }
  body.sidebar-collassata .tai-profilo-pill{
    justify-content:flex-start!important;
    padding:.55rem .6rem!important;
  }

  .tai-sidebar-sfondo{
    display:none;
    position:fixed!important;
    inset:0!important;
    z-index:205!important;
    background:rgba(0,0,0,.42)!important;
  }
  body.sidebar-mobile-aperta .tai-sidebar-sfondo{
    display:block!important;
  }

  .tai-hamburger-mobile{
    display:flex!important;
    position:fixed!important;
    top:max(.75rem,env(safe-area-inset-top))!important;
    left:max(.75rem,env(safe-area-inset-left))!important;
    z-index:120!important;
    align-items:center!important;
    justify-content:center!important;
  }
  body.sidebar-mobile-aperta .tai-hamburger-mobile{
    display:none!important;
  }

  .tai-profilo-menu.tai-profilo-menu-floating{
    width:min(320px,calc(100vw - 24px))!important;
  }
}

@media (max-height:700px){
  .tai-sidebar{
    gap:.42rem!important;
    padding-top:.7rem!important;
  }
  .tai-sidebar-logo img{
    height:54px!important;
  }
  .tai-sidebar-logo-riga{
    padding-bottom:.25rem!important;
  }
  .tai-nav-item{
    padding-top:.43rem!important;
    padding-bottom:.43rem!important;
  }
  .tai-sidebar-sezione{
    padding-top:.45rem!important;
  }
}
