/* === Efika v167: стабилизация CLS для живых блоков и обложек === */
.efika-layout-placeholder{
  visibility:hidden!important;
  pointer-events:none!important;
}
.track-cover,
.track-thumb,
.avatar,
.room-card-icon,
.room-title-icon,
.room-control-icon,
.track-card-cover,
.library-track-poster,
.top-track-modal-poster,
.standalone-poster{
  aspect-ratio:1/1!important;
  contain:layout paint!important;
}
.track-cover img,
.track-thumb img,
.avatar img,
.room-card-icon img,
.room-title-icon img,
.room-control-icon img,
.track-card-cover img,
.library-track-poster img,
.top-track-modal-poster img,
.standalone-poster img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
#hero-now{
  min-height:320px!important;
  overflow-anchor:none!important;
}
.home-carousel-stage,
.home-carousel-window,
.home-carousel-slide{
  min-height:252px!important;
  overflow-anchor:none!important;
}
.home-player-carousel .now-card-player{
  min-height:232px!important;
}
#top-user-tracks-list,
#top-efika-rec-list,
#latest-efika-rec-list,
#best-comments-list,
#latest-comments-list,
#mood-status-list,
#queue-list,
#recent-list,
#room-queue,
#room-recent{
  overflow-anchor:none!important;
  contain:layout paint!important;
}
#top-user-tracks-list > .empty-card,
#top-user-tracks-list .top-track-card{
  min-height:92px!important;
}
#top-efika-rec-list > .empty-card,
#latest-efika-rec-list > .empty-card,
#top-efika-rec-list .efika-rec-card,
#latest-efika-rec-list .efika-rec-card{
  min-height:126px!important;
}
#best-comments-list > .empty-card,
#best-comments-list .best-comment-card{
  min-height:136px!important;
}
#latest-comments-list > .empty-card,
#latest-comments-list .latest-comment-card{
  min-height:92px!important;
}
#mood-status-list > .empty-card,
#mood-status-list .mood-status-card{
  min-height:78px!important;
}
#queue-list,
#recent-list,
#room-queue,
#room-recent{
  min-height:92px!important;
}
.top-track-card,
.efika-rec-card,
.best-comment-card,
.latest-comment-card,
.mood-status-card,
.track-list-item{
  contain:layout paint!important;
}
@media (max-width:850px){
  #hero-now{
    min-height:318px!important;
  }
  .home-carousel-stage,
  .home-carousel-window,
  .home-carousel-slide{
    min-height:248px!important;
  }
  .home-player-carousel .now-card-player{
    min-height:228px!important;
  }
  #top-user-tracks-list > .empty-card,
  #top-user-tracks-list .top-track-card{
    min-height:92px!important;
  }
  #top-efika-rec-list > .empty-card,
  #latest-efika-rec-list > .empty-card,
  #top-efika-rec-list .efika-rec-card,
  #latest-efika-rec-list .efika-rec-card{
    min-height:124px!important;
  }
  #best-comments-list > .empty-card,
  #best-comments-list .best-comment-card{
    min-height:136px!important;
  }
  #latest-comments-list > .empty-card,
  #latest-comments-list .latest-comment-card{
    min-height:88px!important;
  }
}
@media (max-width:420px){
  #hero-now{
    min-height:300px!important;
  }
  .home-carousel-stage,
  .home-carousel-window,
  .home-carousel-slide{
    min-height:232px!important;
  }
  .home-player-carousel .now-card-player{
    min-height:212px!important;
  }
}



/* === Efika v170: профильные вкладки → главная без CLS от видимого footer === */
body.efika-soft-nav-home-prime .page{
  overflow-anchor:none!important;
}
body.efika-soft-nav-home-prime .site-footer{
  visibility:hidden;
  pointer-events:none;
  overflow-anchor:none!important;
}

/* === Efika v171: стабилизация soft-nav профильные вкладки → главная === */
@supports (scrollbar-gutter: stable){
  html{scrollbar-gutter:stable;}
}
@media (min-width:851px){
  body:not(.admin-body){overflow-y:scroll;}
}
.topbar,
.nav{
  overflow-anchor:none!important;
}
.nav{
  min-height:42px!important;
  flex-shrink:0!important;
}
body:not(.admin-body) .topbar,
body.admin-body > .topbar{
  min-height:var(--efika-header-height,64px)!important;
}
.efika-soft-nav-swap-shield{
  visibility:hidden!important;
  overflow-anchor:none!important;
}
body.efika-soft-nav-swap-active .site-footer,
body.efika-soft-nav-swap-active .bottom-nav,
body.efika-soft-nav-home-prime.efika-soft-nav-profile-home-prime .site-footer{
  visibility:hidden!important;
  pointer-events:none!important;
  overflow-anchor:none!important;
}
body.efika-soft-nav-home-prime .topbar,
body.efika-soft-nav-home-prime .nav,
body.efika-soft-nav-home-prime .bottom-nav{
  overflow-anchor:none!important;
}
@media (max-width:850px){
  body:not(.admin-body) .topbar,
  body.admin-body > .topbar{
    min-height:var(--efika-header-height,66px)!important;
  }
  .nav{min-height:42px!important;}
}


/* === Efika v175: mobile paint fix without changing REC border thickness or Play effect ===
   Важно: не добавляем вторую рамку поверх Эфик-Фишки и не отключаем SVG/пульс Play-кнопки. */
#top-efika-rec-list,
#latest-efika-rec-list,
#best-comments-list,
#latest-comments-list{
  overflow-anchor:none!important;
}

.efika-rec-card,
.best-comment-card,
.latest-comment-card,
.top-track-card,
.track-list-item,
.mood-status-card{
  background-clip:padding-box!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
}

@media (max-width:850px), (hover:none), (pointer:coarse){
  .efika-rec-cards-grid{
    padding-top:2px!important;
    padding-bottom:10px!important;
    overscroll-behavior-x:contain!important;
  }

  .efika-rec-card{
    border-width:1px!important;
    outline:0!important;
  }
  .top-efika-rec-section .efika-rec-card{
    border-color:rgba(255,209,102,.32)!important;
  }
  .latest-efika-rec-section .efika-rec-card{
    border-color:rgba(143,211,255,.30)!important;
  }

  .efika-rec-card:hover,
  .efika-rec-card:focus-visible{
    transform:none!important;
  }
  .top-efika-rec-section .efika-rec-card:hover,
  .top-efika-rec-section .efika-rec-card:focus-visible{
    border-color:rgba(255,209,102,.32)!important;
    box-shadow:0 14px 34px rgba(0,0,0,.18)!important;
  }
  .latest-efika-rec-section .efika-rec-card:hover,
  .latest-efika-rec-section .efika-rec-card:focus-visible{
    border-color:rgba(143,211,255,.30)!important;
    box-shadow:0 14px 34px rgba(0,0,0,.18)!important;
  }

  .best-comment-card,
  .latest-comment-card{
    border-color:rgba(255,255,255,.07)!important;
  }
  .latest-comment-card:hover,
  .latest-comment-card:focus-visible,
  .best-comment-card-clickable:hover,
  .best-comment-card-clickable:focus-visible{
    transform:none!important;
    border-color:rgba(255,255,255,.07)!important;
    outline:none!important;
  }
  .best-comment-card-clickable:hover,
  .best-comment-card-clickable:focus-visible{
    box-shadow:0 12px 36px rgba(0,0,0,.22)!important;
  }
  .latest-comment-card:hover,
  .latest-comment-card:focus-visible{
    box-shadow:0 16px 40px rgba(0,0,0,.18)!important;
  }

  .top-track-card:not(.is-efika-rec):hover,
  .top-track-card:not(.is-efika-rec):focus-visible,
  .track-list-item:not(.is-efika-rec):hover,
  .track-list-item:not(.is-efika-rec):focus-visible,
  .mood-status-card:hover,
  .mood-status-card:focus-visible{
    transform:none!important;
    border-color:rgba(255,255,255,.07)!important;
    outline:none!important;
  }

  .radio-control-row{
    overflow:hidden!important;
    background-clip:padding-box!important;
    transform:translateZ(0)!important;
    backface-visibility:hidden!important;
    -webkit-backface-visibility:hidden!important;
  }
  .radio-control-row::before{
    opacity:.45!important;
    transform:translateZ(0)!important;
    backface-visibility:hidden!important;
    -webkit-backface-visibility:hidden!important;
  }

  .radio-play-button,
  .radio-play-button:hover,
  .radio-play-button.is-playing{
    overflow:visible!important;
    transform:translateZ(0)!important;
    backface-visibility:hidden!important;
    -webkit-backface-visibility:hidden!important;
  }

  .radio-play-button::after{
    content:""!important;
    display:block!important;
    animation-name:efika-player-pulse!important;
    animation-timing-function:ease-in-out!important;
    animation-iteration-count:infinite!important;
    animation-duration:var(--player-pulse-idle-speed,14.4s)!important;
  }
  .radio-play-button.is-playing::after{
    animation-duration:var(--player-pulse-live-speed,7.2s)!important;
  }

  .radio-play-button .radio-play-ring{
    display:block!important;
    overflow:hidden!important;
    border-radius:50%!important;
    clip-path:circle(50% at 50% 50%)!important;
    contain:paint!important;
    opacity:.82!important;
    filter:none!important;
    transform:translate3d(0,0,0) rotate(0deg);
    backface-visibility:hidden!important;
    -webkit-backface-visibility:hidden!important;
  }
  .radio-play-button.is-playing .radio-play-ring{
    opacity:.96!important;
  }
  .radio-play-button .radio-play-ring svg{
    display:block!important;
    overflow:hidden!important;
  }
  .radio-play-button .radio-play-ring-arc{
    stroke-width:4.8!important;
  }
  .radio-play-button .radio-play-ring-arc-a{
    stroke:rgba(143,211,255,.98)!important;
    stroke-dasharray:104 220!important;
    stroke-dashoffset:0!important;
    filter:drop-shadow(0 0 4px rgba(143,211,255,.30))!important;
  }
  .radio-play-button .radio-play-ring-arc-b{
    stroke:rgba(0,196,140,.98)!important;
    stroke-dasharray:38 286!important;
    stroke-dashoffset:-132!important;
    filter:drop-shadow(0 0 4px rgba(0,196,140,.28))!important;
  }
  .radio-play-button .radio-play-ring-dot{
    fill:rgba(255,255,255,.90)!important;
    filter:drop-shadow(0 0 4px rgba(255,255,255,.34))!important;
  }
}


/* === Efika v176: smooth mobile scrolling in track search modals === */
@media (hover:none), (pointer:coarse), (max-width:850px){
  #track-search-modal .efika-modal-backdrop,
  #efika-site-search-modal .efika-modal-backdrop{
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    background:rgba(2,6,8,.86)!important;
  }
  #track-search-modal .track-search-modal-card,
  #efika-site-search-modal .site-search-modal-card{
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    touch-action:pan-y!important;
    contain:layout paint style!important;
    transform:translateZ(0)!important;
    will-change:scroll-position!important;
    background:rgba(16,23,26,.98)!important;
    box-shadow:0 16px 42px rgba(0,0,0,.52)!important;
  }
  #track-search-modal .track-search-results,
  #efika-site-search-modal .site-search-results{
    touch-action:pan-y!important;
    contain:layout paint style!important;
  }
  #track-search-modal .track-search-card,
  #efika-site-search-modal .site-search-card{
    content-visibility:auto!important;
    contain:layout paint style!important;
    contain-intrinsic-size:96px!important;
    box-shadow:none!important;
    transform:none!important;
    transition:none!important;
    background:rgba(255,255,255,.038)!important;
  }
  #track-search-modal .track-card-cover img,
  #efika-site-search-modal .track-card-cover img{
    transform:translateZ(0)!important;
  }
}

/* === Efika v177: smoother desktop scrolling in track search modals === */
#track-search-modal .efika-modal-backdrop,
#efika-site-search-modal .efika-modal-backdrop{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  background:rgba(2,6,8,.84)!important;
}
#track-search-modal .track-search-modal-card,
#efika-site-search-modal .site-search-modal-card{
  background:rgba(16,23,26,.98)!important;
  box-shadow:0 18px 52px rgba(0,0,0,.58)!important;
  scrollbar-gutter:stable!important;
  overscroll-behavior:contain!important;
  contain:layout paint style!important;
}
#track-search-modal .track-search-results,
#efika-site-search-modal .site-search-results{
  contain:layout paint style!important;
}
#track-search-modal .track-search-card,
#efika-site-search-modal .site-search-card{
  content-visibility:auto!important;
  contain:layout paint style!important;
  contain-intrinsic-size:98px!important;
  box-shadow:none!important;
  will-change:auto!important;
  transform:none!important;
  transition:border-color .12s ease,background .12s ease!important;
}
#track-search-modal .track-card-cover,
#efika-site-search-modal .track-card-cover,
#track-search-modal .track-card-cover img,
#efika-site-search-modal .track-card-cover img{
  will-change:auto!important;
  transform:none!important;
}
@media (min-width:851px){
  #track-search-modal .track-search-modal-card,
  #efika-site-search-modal .site-search-modal-card{
    max-height:min(82vh,760px)!important;
    overflow-y:auto!important;
    padding:18px!important;
  }
}

/* === Efika v177: cover preview in regular track editor === */
.admin-track-cover-edit-row,
.admin-rec-cover-edit-row{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:14px;
  align-items:start;
}
.admin-track-cover-edit-preview,
.admin-rec-cover-edit-preview{
  margin:0;
  display:grid;
  gap:7px;
  text-align:center;
  color:var(--muted);
  font-size:12px;
}
.admin-track-cover-edit-preview img,
.admin-track-cover-edit-preview span,
.admin-rec-cover-edit-preview img,
.admin-rec-cover-edit-preview span{
  width:112px;
  height:112px;
  border-radius:20px;
  object-fit:cover;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.1);
  font-size:38px;
  color:var(--muted);
}
.admin-track-cover-edit-preview figcaption,
.admin-rec-cover-edit-preview figcaption{
  line-height:1.3;
}
@media (max-width:760px){
  .admin-track-cover-edit-row,
  .admin-rec-cover-edit-row{
    grid-template-columns:1fr;
  }
  .admin-track-cover-edit-preview,
  .admin-rec-cover-edit-preview{
    justify-items:start;
  }
}

/* === Efika v178: fast typing in room track search modal on desktop === */
body.track-search-modal-open .efika-modal:not(#track-search-modal):not(.hidden) .efika-modal-backdrop{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  background:rgba(2,6,8,.18)!important;
}
body.track-search-modal-open .efika-modal:not(#track-search-modal):not(.hidden) .efika-modal-card{
  visibility:hidden!important;
  pointer-events:none!important;
}
body.track-search-modal-open .topbar{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
#track-search-modal .track-search-modal-card{
  contain:none!important;
  will-change:auto!important;
}
#track-search-modal .track-search-form,
#track-search-modal .track-search-row,
#track-search-modal #track-search-input{
  contain:none!important;
  will-change:auto!important;
  transform:none!important;
}
#track-search-modal #track-search-input{
  box-shadow:none!important;
  caret-color:var(--accent)!important;
}
@media (min-width:851px){
  #track-search-modal .track-search-modal-card{
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
  }
  #track-search-modal .track-search-form{
    flex:0 0 auto!important;
  }
  #track-search-modal .track-search-results{
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:min(58vh,560px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding-right:4px!important;
    scrollbar-gutter:stable!important;
    overscroll-behavior:contain!important;
  }
}

/* === Эфика v179: предпрослушивание трека прямо в окнах чатов === */
.standalone-track-comment{
  margin:8px 0 0!important;
  padding:10px 12px!important;
  border:1px solid rgba(143,211,255,.16)!important;
  border-radius:16px!important;
  background:rgba(143,211,255,.07)!important;
  color:#cfe2ee!important;
  font-size:14px!important;
  line-height:1.35!important;
}
.standalone-track-comment b{color:#8fd3ff!important;}
.live-chat-modal .live-chat-modal-head{
  display:grid!important;
  grid-template-columns:68px minmax(0,1fr)!important;
  align-items:start!important;
  justify-content:stretch!important;
  column-gap:14px!important;
  padding-right:52px!important;
}
.live-chat-modal-copy{min-width:0!important;}
.live-chat-modal-cover,
.favorite-chat-modal-cover{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
}
.live-chat-modal-cover{
  width:68px!important;
  min-width:68px!important;
  height:68px!important;
  border-radius:16px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:linear-gradient(145deg,#1f2a2f,#0b0f11)!important;
  border:1px solid rgba(255,255,255,.08)!important;
  color:var(--accent)!important;
  font-size:24px!important;
  font-weight:900!important;
}
.live-chat-modal-cover img,
.favorite-chat-modal-cover img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
}
.chat-preview-cover-placeholder{position:relative!important;z-index:1!important;}
.chat-preview-cover-toggle{
  position:absolute!important;
  inset:50% auto auto 50%!important;
  transform:translate(-50%,-50%)!important;
  z-index:3!important;
  width:38px!important;
  min-width:38px!important;
  height:38px!important;
  min-height:38px!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.34)!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(8,13,15,.62)!important;
  color:#fff!important;
  font-size:16px!important;
  font-weight:950!important;
  line-height:1!important;
  box-shadow:0 10px 24px rgba(0,0,0,.38), inset 0 0 0 1px rgba(143,211,255,.16)!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
  cursor:pointer!important;
}
.chat-preview-cover-toggle.is-playing{
  background:rgba(143,211,255,.72)!important;
  color:#061014!important;
  border-color:rgba(143,211,255,.86)!important;
}
.chat-preview-cover-toggle:disabled{opacity:.45!important;cursor:not-allowed!important;}
.chat-preview-player{
  margin:8px 0 0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:8px!important;
  max-width:360px!important;
}
.chat-preview-seek{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:8px!important;
  padding:0!important;
  border:0!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.12)!important;
  overflow:hidden!important;
  cursor:pointer!important;
}
.chat-preview-seek span{
  position:absolute!important;
  inset:0 auto 0 0!important;
  width:0%;
  border-radius:inherit!important;
  background:linear-gradient(90deg,var(--accent),var(--accent-2))!important;
}
.chat-preview-time{
  display:flex!important;
  gap:5px!important;
  color:#9fb2bd!important;
  font-size:11px!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
.chat-preview-time span:first-child::after{content:' /';opacity:.65;}
@media (max-width:560px){
  .live-chat-modal .live-chat-modal-head{
    grid-template-columns:58px minmax(0,1fr)!important;
    column-gap:12px!important;
    padding-right:46px!important;
  }
  .live-chat-modal-cover{
    width:58px!important;
    min-width:58px!important;
    height:58px!important;
    border-radius:14px!important;
    font-size:21px!important;
  }
  .chat-preview-cover-toggle{
    width:34px!important;
    min-width:34px!important;
    height:34px!important;
    min-height:34px!important;
    font-size:14px!important;
  }
  .chat-preview-player{max-width:none!important;grid-template-columns:minmax(0,1fr) auto!important;}
}
.list-item-room-link{
  text-decoration:none!important;
  color:inherit!important;
  cursor:pointer!important;
}
.list-item-room-link:hover,
.list-item-room-link:focus-visible{
  border-color:rgba(143,211,255,.28)!important;
  background:rgba(143,211,255,.08)!important;
}

/* v181: личные уведомления, баг-репорты и аккуратная админка уведомлений */
.notification-bell-button{
  position:relative;
  width:44px;
  height:44px;
  border:1px solid rgba(255,209,102,.36);
  border-radius:999px;
  background:rgba(31,34,18,.92);
  color:#ffd166;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 14px 34px rgba(0,0,0,.34), 0 0 22px rgba(255,209,102,.12);
  backdrop-filter:blur(10px);
}
.notification-bell-floating{
  position:fixed;
  top:calc(14px + env(safe-area-inset-top, 0px));
  right:calc(14px + env(safe-area-inset-right, 0px));
  z-index:5200;
}
.notification-bell-button.hidden{display:none!important;}
.notification-bell-button.has-unread{animation:efikaBellPulse 1.8s ease-in-out infinite;}
.notification-bell-button em{
  position:absolute;
  right:-3px;
  top:-4px;
  min-width:18px;
  height:18px;
  padding:0 5px;
  border-radius:999px;
  background:#ffd166;
  color:#221b08;
  font-size:10px;
  font-style:normal;
  font-weight:900;
  line-height:18px;
  text-align:center;
  box-shadow:0 4px 12px rgba(0,0,0,.35);
}
.notification-bell-button:not(.has-unread) em{display:none;}
@keyframes efikaBellPulse{
  0%,100%{transform:translateY(0);box-shadow:0 10px 24px rgba(255,209,102,.08);}
  50%{transform:translateY(-1px);box-shadow:0 14px 32px rgba(255,209,102,.22);}
}
.user-notifications-card,
.bug-report-card{max-width:620px;}
.user-notifications-head,
.bug-report-head{
  display:flex;
  gap:14px;
  align-items:center;
  margin-bottom:14px;
}
.user-notifications-icon,
.bug-report-icon{
  width:48px;
  height:48px;
  border-radius:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,209,102,.13);
  border:1px solid rgba(255,209,102,.23);
  font-size:22px;
}
.user-notifications-list{
  display:grid;
  gap:10px;
  max-height:min(55vh,520px);
  overflow:auto;
  padding-right:4px;
}
.user-notification-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:13px;
  border:1px solid rgba(143,211,255,.12);
  border-radius:18px;
  background:rgba(255,255,255,.045);
}
.user-notification-item.is-unread{
  border-color:rgba(255,209,102,.32);
  background:rgba(255,209,102,.075);
}
.user-notification-copy strong{display:block;margin-bottom:5px;color:var(--text);}
.user-notification-copy p{margin:0 0 6px;color:var(--muted);line-height:1.45;}
.user-notification-copy small{color:#7e909b;font-size:12px;}
.user-notifications-actions,
.bug-report-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;}
.bug-report-intro{
  padding:12px 14px;
  border:1px solid rgba(143,211,255,.12);
  border-radius:18px;
  background:rgba(143,211,255,.055);
  color:var(--muted);
  margin-bottom:14px;
}
.bug-report-intro p{margin:0;line-height:1.45;}
.bug-report-form textarea{min-height:150px;resize:vertical;}
.bug-report-thanks{
  padding:16px;
  border:1px solid rgba(0,196,140,.22);
  border-radius:20px;
  background:rgba(0,196,140,.08);
}
.bug-report-thanks h3{margin:0 0 8px;color:var(--text);}
.bug-report-thanks p{margin:0 0 14px;color:var(--muted);line-height:1.5;}
.android-notification-sound-row{align-items:center;}
.android-notification-sound-control{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:6px;
  min-width:120px;
}
.android-notification-sound-control small{color:var(--muted);font-weight:800;text-align:right;}
.notification-sound-admin{
  display:grid;
  gap:8px;
  width:100%;
  max-width:360px;
  min-width:0;
  justify-self:end;
}
.notification-sound-upload{
  display:grid;
  gap:6px;
  min-width:0;
  overflow:hidden;
  padding:10px;
  border:1px dashed rgba(143,211,255,.22);
  border-radius:14px;
  background:rgba(143,211,255,.055);
}
.notification-sound-admin audio{width:100%;max-width:360px;min-width:0;}
.notification-sound-admin code{display:inline-block;max-width:100%;white-space:normal;overflow-wrap:anywhere;}
.notification-sound-upload input[type=file]{max-width:100%;min-width:0;}
.user-callback-tabs{display:flex;gap:8px;margin:0 0 16px;}
.admin-tab{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:14px;
  border:1px solid rgba(143,211,255,.13);
  background:rgba(255,255,255,.04);
  color:var(--text);
  text-decoration:none;
  font-weight:800;
}
.admin-tab.active{border-color:rgba(143,211,255,.3);background:rgba(143,211,255,.08);}
.admin-tab span{color:#ffd166;}
.user-callback-summary{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-weight:800;}
.user-callback-message{white-space:pre-wrap;min-width:260px;max-width:520px;line-height:1.45;}
.status-pill{
  display:inline-flex;
  padding:4px 9px;
  border-radius:999px;
  background:rgba(143,211,255,.08);
  border:1px solid rgba(143,211,255,.18);
  font-size:12px;
  font-weight:900;
}
.status-new{background:rgba(255,209,102,.11);border-color:rgba(255,209,102,.26);color:#ffd166;}
@media (max-width:640px){
  .user-notification-item{grid-template-columns:1fr;}
  .user-notification-item .btn{justify-self:start;}
  .android-notification-sound-control{align-items:flex-start;}
}

.user-callback-head{gap:14px;align-items:flex-start;}
.user-callback-filter{
  display:grid;
  grid-template-columns:minmax(160px,220px) minmax(220px,1fr) auto auto;
  gap:10px;
  align-items:end;
  margin:0 0 16px;
}
.user-callback-filter label{display:grid;gap:6px;color:var(--muted);font-weight:800;}
.user-callback-filter input,
.user-callback-filter select,
.user-callback-status-form select{min-width:0;}
.user-callback-table-wrap{overflow-x:auto;}
.user-callback-table{table-layout:fixed;min-width:980px;}
.user-callback-table th:nth-child(1){width:58px;}
.user-callback-table th:nth-child(2){width:170px;}
.user-callback-table th:nth-child(3){width:190px;}
.user-callback-table th:nth-child(4){width:330px;}
.user-callback-table th:nth-child(5){width:190px;}
.user-callback-table th:nth-child(6){width:150px;}
.user-callback-table th:nth-child(7){width:110px;}
.user-callback-table td{vertical-align:top;overflow-wrap:anywhere;}
.user-callback-user-cell strong,
.user-callback-email,
.user-callback-date{overflow-wrap:anywhere;}
.user-callback-message{white-space:pre-wrap;min-width:0;max-width:none;line-height:1.45;overflow-wrap:anywhere;word-break:break-word;}
.user-callback-status-form{display:grid;gap:8px;min-width:0;}
.status-pill{width:max-content;max-width:100%;white-space:normal;}
.status-important{background:rgba(255,95,109,.15);border-color:rgba(255,95,109,.34);color:#ff9aa4;}
.status-taken{background:rgba(143,211,255,.12);border-color:rgba(143,211,255,.32);color:#8fd3ff;}
.status-in_progress{background:rgba(255,209,102,.12);border-color:rgba(255,209,102,.30);color:#ffd166;}
.status-needs_check{background:rgba(174,137,255,.14);border-color:rgba(174,137,255,.34);color:#c8b5ff;}
.status-almost_done{background:rgba(0,196,140,.12);border-color:rgba(0,196,140,.30);color:#62e7be;}
.status-done{background:rgba(0,196,140,.18);border-color:rgba(0,196,140,.40);color:#84f3ce;}
.status-closed{background:rgba(143,155,165,.12);border-color:rgba(143,155,165,.28);color:#aab6bf;}
@media (max-width:780px){
  .user-callback-filter{grid-template-columns:1fr;}
  .notification-bell-floating{top:calc(10px + env(safe-area-inset-top, 0px));right:calc(10px + env(safe-area-inset-right, 0px));}
}
.settings-row{min-width:0;}
.settings-copy{min-width:0;overflow-wrap:anywhere;}
.settings-copy small{overflow-wrap:anywhere;}
.settings-control{max-width:100%;}
.settings-control:has(.notification-sound-admin){min-width:0;flex:1 1 360px;}


/* v182: уведомления, Android-звук и админка Эфик-Фишек */
.user-notification-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-items:center;
  gap:8px;
  min-width:0;
}
.user-notification-actions .btn{white-space:nowrap;}
.profile-notifications-panel .user-notifications-list{
  max-height:none;
  overflow:visible;
  padding-right:0;
}
.user-notifications-profile-head{align-items:center;}
.android-notification-sound-row{
  grid-template-columns:minmax(0,1fr)!important;
  align-items:start!important;
  cursor:default!important;
}
.android-notification-sound-row .android-app-setting-copy,
.android-notification-sound-row .android-notification-sound-control{
  min-width:0!important;
  max-width:100%!important;
}
.android-notification-sound-control{
  width:100%!important;
  align-items:flex-start!important;
  justify-self:stretch!important;
}
.android-notification-sound-control .btn{
  max-width:100%!important;
  white-space:normal!important;
}
.android-notification-sound-control small{
  width:100%!important;
  max-width:100%!important;
  text-align:left!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
}
.moderation-notice-card{
  max-width:520px!important;
}
.moderation-notice-card .admin-modal-actions{
  justify-content:flex-end;
}
.efika-rec-admin-row-unplayed{
  background:rgba(255,209,102,.075)!important;
  box-shadow:inset 3px 0 0 rgba(255,209,102,.72)!important;
}
.efika-rec-unplayed-badge{
  display:inline-flex;
  align-items:center;
  width:max-content;
  margin-top:5px;
  padding:3px 8px;
  border-radius:999px;
  border:1px solid rgba(255,209,102,.32);
  background:rgba(255,209,102,.12);
  color:#ffd166;
  font-size:12px;
  font-weight:900;
}
@media (max-width:640px){
  .user-notification-actions{justify-content:flex-start;}
  .user-notification-actions .btn{width:auto;}
}

/* Админка: собственное подтверждение вместо браузерного confirm(). */
.admin-confirm-modal{
  position:fixed!important;
  inset:0!important;
  z-index:12000!important;
  display:grid!important;
  place-items:center!important;
  padding:18px!important;
}
.admin-confirm-modal.hidden{display:none!important;}
.admin-confirm-backdrop{
  position:absolute!important;
  inset:0!important;
  background:rgba(0,0,0,.62)!important;
  backdrop-filter:blur(8px)!important;
}
.admin-confirm-card{
  position:relative!important;
  z-index:1!important;
  width:min(440px,calc(100vw - 28px))!important;
  display:grid!important;
  gap:14px!important;
  padding:24px!important;
  border:1px solid rgba(143,211,255,.24)!important;
  border-radius:24px!important;
  background:linear-gradient(145deg,rgba(25,34,38,.98),rgba(13,18,20,.98))!important;
  box-shadow:0 28px 90px rgba(0,0,0,.55)!important;
  color:var(--text)!important;
}
.admin-confirm-card h2{margin:0!important;font-size:26px!important;line-height:1.12!important;}
.admin-confirm-message{margin:0!important;color:#dce8f2!important;font-size:16px!important;line-height:1.45!important;white-space:pre-line!important;overflow-wrap:anywhere!important;}
.admin-confirm-close{
  position:absolute!important;
  right:14px!important;
  top:14px!important;
  width:42px!important;
  height:42px!important;
  border:0!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.08)!important;
  color:#dce8f2!important;
  font-size:28px!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.admin-confirm-open{overflow:hidden!important;}

/* === Efika v185: убираем лишнюю серую системную полосу прокрутки справа ===
   Скролл страницы остаётся рабочим колесом/тачем, но принудительный внешний scrollbar
   больше не рисует отдельный серый gutter поверх интерфейса комнаты. Внутренние скроллы
   модалок, чатов и списков не трогаем. */
@supports (scrollbar-gutter: stable){
  html{
    scrollbar-gutter:auto!important;
  }
}
@media (min-width:851px){
  body:not(.admin-body){
    overflow-y:auto!important;
  }
}
html,
body{
  overflow-x:hidden!important;
}
body:not(.admin-body){
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}
body:not(.admin-body)::-webkit-scrollbar{
  width:0!important;
  height:0!important;
}
body:not(.admin-body)::-webkit-scrollbar-track,
body:not(.admin-body)::-webkit-scrollbar-thumb{
  background:transparent!important;
  border:0!important;
}



/* === Efika v208: админские сообщения всем пользователям === */
.broadcast-admin-toolbar{
  display:flex;
  gap:12px;
  align-items:end;
  flex-wrap:wrap;
  margin:0 0 14px;
}
.broadcast-draft-picker{display:grid;gap:6px;min-width:min(100%,300px);color:var(--muted);font-weight:800;}
.broadcast-admin-note{
  margin:0 0 16px;
  padding:12px 14px;
  border:1px dashed rgba(255,209,102,.34);
  border-radius:18px;
  background:rgba(255,209,102,.07);
  color:var(--muted);
}
.broadcast-admin-table{min-width:1120px;}
.broadcast-admin-table th:nth-child(1){width:64px;}
.broadcast-admin-table th:nth-child(2){width:140px;}
.broadcast-admin-table th:nth-child(3){width:180px;}
.broadcast-admin-table th:nth-child(4){width:360px;}
.broadcast-admin-table th:nth-child(5){width:170px;}
.broadcast-admin-table th:nth-child(6){width:260px;}
.broadcast-log-copy strong{display:block;color:var(--text);margin-bottom:5px;}
.broadcast-log-copy p{margin:0;color:var(--muted);line-height:1.4;white-space:normal;overflow-wrap:anywhere;}
.broadcast-log-actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center;}
.status-broadcast-draft{background:rgba(143,211,255,.10);border-color:rgba(143,211,255,.28);color:#8fd3ff;}
.status-broadcast-sent{background:rgba(0,196,140,.14);border-color:rgba(0,196,140,.34);color:#84f3ce;}
.status-broadcast-edited{background:rgba(255,209,102,.13);border-color:rgba(255,209,102,.34);color:#ffd166;}
.status-broadcast-interrupted{background:rgba(255,95,109,.13);border-color:rgba(255,95,109,.34);color:#ff9aa4;}
.broadcast-editor-card{width:min(980px,calc(100vw - 24px))!important;max-width:980px!important;max-height:calc(100vh - 28px);overflow:auto;}
.broadcast-editor-field{display:grid;gap:7px;margin:10px 0;color:var(--muted);font-weight:800;}
.broadcast-editor-toolbar{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  margin:12px 0;
  padding:10px;
  border:1px solid rgba(143,211,255,.12);
  border-radius:18px;
  background:rgba(255,255,255,.035);
}
.broadcast-editor-toolbar button,
.broadcast-editor-toolbar label{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border:1px solid rgba(143,211,255,.16);
  border-radius:12px;
  background:rgba(143,211,255,.07);
  color:var(--text);
  font:inherit;
  font-weight:900;
  cursor:pointer;
}
.broadcast-editor-toolbar input[type="color"]{width:30px;height:24px;padding:0;border:0;background:transparent;}
.broadcast-editor{
  min-height:320px;
  max-height:min(48vh,520px);
  overflow:auto;
  padding:16px;
  border:1px solid rgba(143,211,255,.18);
  border-radius:22px;
  background:rgba(0,0,0,.18);
  color:var(--text);
  line-height:1.55;
  outline:none;
}
.broadcast-editor:focus{border-color:rgba(143,211,255,.42);box-shadow:0 0 0 3px rgba(143,211,255,.09);}
.broadcast-editor-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:14px;}
.broadcast-preview-card{width:min(720px,calc(100vw - 24px))!important;max-width:720px!important;}
.broadcast-preview-body{padding:14px;border-radius:20px;background:rgba(255,255,255,.04);border:1px solid rgba(143,211,255,.12);}
.broadcast-countdown-card,.broadcast-send-confirm-card{max-width:520px!important;text-align:center;}
.broadcast-countdown-card h2 span{display:inline-flex;min-width:54px;justify-content:center;color:#ffd166;font-size:54px;line-height:1;vertical-align:middle;}
.broadcast-countdown-modal .efika-modal-close{display:none!important;}
.broadcast-settings-card{max-width:620px!important;}
.broadcast-settings-form{display:grid;gap:12px;}
.broadcast-settings-form label{display:grid;gap:7px;color:var(--muted);font-weight:800;}
.user-notification-rich{overflow-wrap:anywhere;}
.user-notification-rich p{color:var(--muted);}
.user-notification-rich a{color:var(--accent);font-weight:900;text-decoration:none;}
.user-notification-rich a:hover{text-decoration:underline;}
.user-notification-rich .efika-broadcast-image,
.broadcast-editor .efika-broadcast-image,
.broadcast-preview-body .efika-broadcast-image{
  display:block;
  width:auto;
  max-width:min(100%,var(--broadcast-image-thumb-max-side,360px));
  max-height:var(--broadcast-image-thumb-max-side,360px);
  object-fit:contain;
  margin:10px 0;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(0,0,0,.18);
  cursor:zoom-in;
}
.efika-broadcast-video-player{
  display:grid;
  gap:8px;
  width:min(100%,var(--broadcast-video-thumb-max-side,520px));
  margin:10px 0;
  padding:10px;
  border:1px solid rgba(143,211,255,.14);
  border-radius:18px;
  background:rgba(0,0,0,.2);
}
.efika-broadcast-video{
  width:100%;
  max-height:var(--broadcast-video-thumb-max-side,520px);
  object-fit:contain;
  border-radius:14px;
  background:#000;
}
.efika-broadcast-video-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.efika-broadcast-video-controls button{
  min-width:42px;
  min-height:34px;
  border:1px solid rgba(143,211,255,.16);
  border-radius:12px;
  background:rgba(143,211,255,.09);
  color:var(--text);
  font-weight:1000;
  cursor:pointer;
}
.broadcast-lightbox-modal{z-index:13000!important;}
.broadcast-lightbox-card{width:min(calc(100vw - 24px),calc(var(--broadcast-image-lightbox-max-side,1280px) + 84px))!important;max-width:none!important;text-align:center;}
.broadcast-lightbox-card img{max-width:100%;max-height:min(calc(100vh - 190px),var(--broadcast-image-lightbox-max-side,1280px));object-fit:contain;border-radius:18px;background:#000;}
.broadcast-lightbox-actions{display:flex;gap:8px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:12px;}
@media (max-width:760px){
  .broadcast-editor-card{width:calc(100vw - 12px)!important;max-height:calc(100vh - 12px);border-radius:20px!important;}
  .broadcast-editor-toolbar{gap:6px;}
  .broadcast-editor-toolbar button,.broadcast-editor-toolbar label{padding:6px 8px;font-size:13px;}
  .broadcast-admin-toolbar{align-items:stretch;flex-direction:column;}
  .broadcast-draft-picker{width:100%;}
}
.broadcast-editor-draft-row{display:flex;justify-content:flex-end;margin:-4px 0 10px;}
.broadcast-editor-draft-row .broadcast-draft-picker{min-width:min(100%,360px);}
@media (max-width:760px){.broadcast-editor-draft-row{justify-content:stretch}.broadcast-editor-draft-row .broadcast-draft-picker{width:100%;}}

/* === Efika v209: доводка редактора и лога сообщений всем === */
.broadcast-log-row-draft{
  background:linear-gradient(90deg,rgba(255,95,109,.13),rgba(255,95,109,.045) 34%,transparent 72%)!important;
  box-shadow:inset 4px 0 0 rgba(255,95,109,.78);
}
.broadcast-log-row-sent{
  background:linear-gradient(90deg,rgba(0,196,140,.08),transparent 58%)!important;
}
.broadcast-log-row-edited{
  background:linear-gradient(90deg,rgba(255,209,102,.09),transparent 58%)!important;
}
.broadcast-log-row-interrupted{
  background:linear-gradient(90deg,rgba(143,156,171,.11),transparent 58%)!important;
}
.status-broadcast-draft{
  background:rgba(255,95,109,.18)!important;
  border-color:rgba(255,95,109,.42)!important;
  color:#ffb4bc!important;
}
.status-broadcast-sent{
  background:rgba(0,196,140,.16)!important;
  border-color:rgba(0,196,140,.42)!important;
  color:#89f6d2!important;
}
.status-broadcast-edited{
  background:rgba(255,209,102,.16)!important;
  border-color:rgba(255,209,102,.46)!important;
  color:#ffe091!important;
}
.status-broadcast-interrupted{
  background:rgba(143,156,171,.18)!important;
  border-color:rgba(143,156,171,.42)!important;
  color:#d8e2ea!important;
}
.broadcast-log-actions{
  gap:10px!important;
  align-items:flex-start!important;
}
.broadcast-log-actions .btn{
  margin:2px 3px 2px 0;
  box-shadow:0 8px 18px rgba(0,0,0,.18);
}
.broadcast-editor{
  min-height:400px!important;
  max-height:min(56vh,680px)!important;
  padding:18px!important;
  border:1px solid rgba(143,211,255,.32)!important;
  background:linear-gradient(180deg,rgba(8,15,18,.92),rgba(12,24,29,.88))!important;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.025),0 18px 36px rgba(0,0,0,.18);
}
.broadcast-editor:empty::before{
  content:'Напишите сообщение для пользователей Эфики…';
  color:rgba(220,232,242,.45);
}
.broadcast-editor a,
.user-notification-rich a,
.broadcast-preview-body a{
  color:#9bddff!important;
  text-decoration:underline!important;
  text-underline-offset:3px;
  font-weight:900;
  background:rgba(143,211,255,.12);
  border-radius:7px;
  padding:0 3px;
}
.broadcast-editor .efika-broadcast-image{
  max-width:min(100%,var(--broadcast-editor-image-thumb-max-side,220px))!important;
  max-height:var(--broadcast-editor-image-thumb-max-side,220px)!important;
}
.broadcast-preview-body .efika-broadcast-image,
.user-notification-rich .efika-broadcast-image{
  max-width:min(100%,var(--broadcast-image-thumb-max-side,360px))!important;
  max-height:var(--broadcast-image-thumb-max-side,360px)!important;
}
.efika-broadcast-video-player{
  position:relative;
}
.efika-broadcast-video[poster]{
  object-fit:contain;
}
.efika-broadcast-video-controls{
  gap:10px!important;
}
.efika-broadcast-video-controls button{
  min-width:42px!important;
  height:36px!important;
  padding:0 12px!important;
  display:inline-grid!important;
  place-items:center!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,rgba(143,211,255,.20),rgba(143,211,255,.08))!important;
}
.efika-broadcast-video-controls button[data-video-action="toggle"]{
  min-width:50px!important;
  color:#dff4ff!important;
}
.broadcast-settings-card{max-width:760px!important;}
.broadcast-settings-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:14px;
}
.broadcast-settings-group{
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid rgba(143,211,255,.16);
  border-radius:20px;
  background:rgba(255,255,255,.035);
}
.broadcast-settings-group h3{
  margin:0 0 2px;
  color:var(--text);
  font-size:16px;
}
.broadcast-settings-group label{
  display:grid;
  grid-template-columns:1fr minmax(92px,120px);
  gap:10px;
  align-items:center;
  margin:0;
}
.broadcast-settings-group input[type="number"]{
  width:100%;
}
.broadcast-editor-toolbar button[data-broadcast-clear-color]{
  background:rgba(255,255,255,.05)!important;
  border-color:rgba(255,255,255,.16)!important;
  color:var(--muted)!important;
}
@media (max-width:760px){
  .broadcast-settings-group label{grid-template-columns:1fr;}
  .broadcast-editor{min-height:360px!important;}
}

/* === Efika v210: устойчивый просмотр видео в уведомлениях === */
.efika-broadcast-video-player.is-video-expanded{
  position:fixed!important;
  inset:12px!important;
  z-index:14000!important;
  width:auto!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:14px!important;
  background:rgba(0,0,0,.94)!important;
  border-color:rgba(143,211,255,.35)!important;
  border-radius:22px!important;
  box-shadow:0 28px 80px rgba(0,0,0,.72)!important;
}
.efika-broadcast-video-player.is-video-expanded .efika-broadcast-video{
  height:calc(100vh - 104px)!important;
  max-height:none!important;
}
body.broadcast-video-expanded-open{overflow:hidden!important;}
