/* Универсальные стили для подложки и ленты генераций (feed) */
.project-feed-wrapper {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}

.project-feed.aidc-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.project-feed.aidc-scroll::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
}
/* Явно сбрасываем overflow для вложенного .tree внутри aidc-scroll, чтобы не перебивать родительский скролл */
.aidc-scroll .tree {
  overflow: unset !important;
  overflow-x: unset !important;
}
/* AIDC Scroll System */

html, body{
  height:100%;
}

body{
  margin:0;
}

#app{
  min-height:100vh;
  display:flex;
  flex-direction:column;
}

#app > header,
#app > footer{
  flex:0 0 auto;
}

/* Default pages: main scrolls */
#app > main{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
}
#app > .shell{
  flex:1 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
}
#app > .shell > main{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
}

/* Fixed canvas pages: scroll only inside .aidc-scroll */
#app > main.aidc-layout,
#app > main.aidc-fixed,
#app > .shell > main.aidc-layout,
#app > .shell > main.aidc-fixed{
  overflow:hidden;
}

.panel, .aidc-col{
  min-height:0;
  height:100%;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

.aidc-scroll-host{
  min-height:0;
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

.project-details-scope,
.timeline-host{
  min-height:0;
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

.module-stack, .stack{
  min-height:0;
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  overflow:visible;
}

[data-module]{
  min-height:0;
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
}
[data-module] .module-head{ flex:0 0 auto; }
[data-module] .module-body{
  flex:1 1 auto;
  min-height:0;
}

.aidc-scroll{
  flex:1 1 auto;
  min-height:0;
  overflow:auto !important;
  overflow-x:hidden !important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,0.10) transparent;
}
.aidc-scroll::-webkit-scrollbar{
  width:5px !important;
  height:0 !important;
}
.aidc-scroll::-webkit-scrollbar-track{
  background:transparent;
}
.aidc-scroll::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,0.10);
  border-radius:4px;
}
.aidc-scroll::-webkit-scrollbar-thumb:hover{
  background:rgba(255,255,255,0.20);
}

/* Custom scrollbar for dropdown menus */
.aidc-select__menu{
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,0.10) transparent;
}
.aidc-select__menu::-webkit-scrollbar{
  width:5px !important;
  height:0 !important;
}
.aidc-select__menu::-webkit-scrollbar-track{
  background:transparent;
}
.aidc-select__menu::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,0.10);
  border-radius:4px;
}
.aidc-select__menu::-webkit-scrollbar-thumb:hover{
  background:rgba(255,255,255,0.20);
}
