/* WEB / SEO admin */
.web-seo-form{margin-top:18px}.web-seo-settings-grid{grid-template-columns:1fr}.web-seo-group .settings-row-wide{align-items:stretch;flex-direction:column}.web-seo-group .settings-row-wide .settings-control{width:100%;align-items:stretch}.web-seo-group .settings-row-wide textarea{min-height:112px}.web-seo-tools-grid{margin:18px 0}.web-seo-preview-panel{min-width:0}.code-preview{max-height:420px;overflow:auto;white-space:pre-wrap;word-break:break-word;background:#0e1417;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:16px;color:#cfe4f4;font-size:13px;line-height:1.45}.web-seo-htaccess-panel code,.web-seo-preview-panel code{background:rgba(255,255,255,.06);border-radius:8px;padding:2px 6px;color:#d7edf8}.web-seo-htaccess-panel{margin-top:18px}@media (max-width:980px){.web-seo-tools-grid{grid-template-columns:1fr}.web-seo-htaccess-panel .section-head,.web-seo-preview-panel .section-head{align-items:flex-start;flex-direction:column}}

/* === Efika PWA / install app === */
.nav-dropdown-action{
  display:block;
  width:auto;
  border:0;
  background:transparent;
  color:#dce8f2;
  text-align:center;
  padding:11px 12px;
  border-radius:12px;
  font:inherit;
  font-weight:inherit;
  line-height:inherit;
  cursor:pointer;
  white-space:nowrap;
}
.nav-dropdown-action:hover,.nav-dropdown-action:focus-visible{background:rgba(143,211,255,.12);color:var(--accent)}

.nav-dropdown [data-pwa-install-button]{
  display:block;
  width:100%;
  padding:11px 12px;
  border:0;
  background:transparent;
  color:#dce8f2;
  text-align:center;
  border-radius:12px;
  font:inherit;
  font-weight:inherit;
  line-height:inherit;
  cursor:pointer;
  white-space:nowrap;
  box-shadow:none;
}
.nav-dropdown [data-pwa-install-button]:hover,
.nav-dropdown [data-pwa-install-button]:focus-visible{background:rgba(143,211,255,.12);color:var(--accent)}
.pwa-install-card{max-width:440px;text-align:left}
.pwa-install-icon{
  width:64px;height:64px;border-radius:22px;
  display:inline-flex;align-items:center;justify-content:center;
  margin-bottom:12px;
  background:radial-gradient(circle at 30% 20%,rgba(143,211,255,.38),rgba(0,196,140,.16) 52%,rgba(255,255,255,.06));
  border:1px solid rgba(143,211,255,.24);
  color:var(--text);font-size:34px;font-weight:1000;
  box-shadow:0 18px 42px rgba(0,0,0,.28);
}
.pwa-install-card h2{margin:0 0 10px;font-size:28px;letter-spacing:-.035em}
.pwa-install-card p{line-height:1.55}
.pwa-install-hint{min-height:22px}
.pwa-install-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.pwa-install-actions .btn{flex:1 1 auto}
.pwa-settings-grid{grid-template-columns:1fr}
.pwa-settings-group .settings-row-wide{align-items:stretch;flex-direction:column}
.pwa-settings-group .settings-row-wide .settings-control{width:100%;align-items:stretch}
.pwa-settings-group textarea{min-height:108px}
.pwa-icons-panel{margin-top:18px}
.pwa-icon-upload-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.pwa-devices-panel{margin-top:18px}
.offline-section{min-height:60vh;display:flex;align-items:center;justify-content:center}
.offline-card{max-width:620px;padding:26px;text-align:center}
.offline-card h1{font-size:clamp(34px,7vw,62px);line-height:1;margin:8px 0 14px;letter-spacing:-.06em}
@media (max-width:850px){
  .pwa-icon-upload-grid{grid-template-columns:1fr}
  .pwa-install-card{max-width:calc(100vw - 28px)}
}

/* === Efika v71: persistent PWA audio shell and soft navigation === */
body[data-persistent-audio-shell="1"]{
  padding-bottom:max(110px, calc(var(--efika-bottom-nav-height, 0px) + 96px))!important;
}
.efika-soft-nav-loading .page{
  opacity:.72;
  transition:opacity .16s ease;
}
.efika-persistent-player{
  position:fixed;
  left:50%;
  bottom:calc(var(--efika-bottom-nav-height, 0px) + 14px);
  transform:translateX(-50%);
  z-index:1350;
  width:min(760px, calc(100vw - 24px));
  min-height:72px;
  display:grid;
  grid-template-columns:52px minmax(0,1fr) 58px;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border-radius:24px;
  border:1px solid rgba(143,211,255,.18);
  background:
    radial-gradient(circle at 18% 0%, rgba(143,211,255,.18), transparent 42%),
    radial-gradient(circle at 86% 100%, rgba(0,196,140,.12), transparent 38%),
    rgba(12,18,21,.94);
  box-shadow:0 20px 58px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(18px);
}
.efika-persistent-player.hidden{
  display:none!important;
}
.efika-persistent-player:focus-visible{
  outline:2px solid rgba(143,211,255,.72);
  outline-offset:3px;
}
.efika-persistent-cover{
  width:52px;
  height:52px;
  border-radius:18px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(145deg, rgba(143,211,255,.18), rgba(255,255,255,.06));
  color:var(--accent);
  font-size:24px;
  font-weight:900;
  border:1px solid rgba(255,255,255,.09);
}
.efika-persistent-cover img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.efika-persistent-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.efika-persistent-copy strong,
.efika-persistent-copy span,
.efika-persistent-copy em{
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.efika-persistent-copy strong{
  font-size:15px;
  line-height:1.15;
  color:var(--text);
}
.efika-persistent-copy span{
  font-size:12px;
  line-height:1.2;
  color:var(--muted);
}
.efika-persistent-copy em{
  font-style:normal;
  font-size:11px;
  line-height:1.2;
  color:var(--accent);
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.efika-persistent-play{
  width:54px;
  height:54px;
  border:0;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  color:#061014;
  background:linear-gradient(135deg,var(--accent),#5dd5ff);
  box-shadow:0 14px 34px rgba(93,213,255,.22);
}
.efika-persistent-player.is-playing .efika-persistent-play{
  background:linear-gradient(135deg,#ffce6f,var(--warning));
}
.efika-persistent-play .radio-play-icon{
  font-size:21px;
  font-weight:1000;
}
@media (max-width:850px){
  body[data-persistent-audio-shell="1"]{
    padding-bottom:calc(var(--efika-bottom-nav-height, 44px) + 92px)!important;
  }
  .efika-persistent-player{
    bottom:calc(var(--efika-bottom-nav-height, 44px) + 8px);
    width:calc(100vw - 16px);
    min-height:66px;
    grid-template-columns:46px minmax(0,1fr) 52px;
    gap:10px;
    padding:9px 10px;
    border-radius:22px;
  }
  .efika-persistent-cover{width:46px;height:46px;border-radius:16px}
  .efika-persistent-play{width:50px;height:50px}
  .efika-persistent-copy strong{font-size:14px}
}

/* === Efika v72: invisible global audio and safe home carousel === */
body[data-persistent-audio-shell="1"]{
  padding-bottom:var(--efika-bottom-nav-height, 0px)!important;
}
.efika-persistent-player{
  display:none!important;
}
body:not(.admin-body) .page,
body:not(.admin-body) .page > *,
.home-player-carousel,
.home-carousel-stage,
.home-carousel-window,
.home-carousel-slide,
.now-card-body,
.room-now-layout{
  min-width:0!important;
  max-width:100%!important;
}
.home-player-carousel{
  overflow:hidden!important;
}
.home-carousel-arrow{
  max-width:36px!important;
  flex:0 0 auto!important;
}
@media (max-width:850px){
  body:not(.admin-body){
    overscroll-behavior-x:none;
  }
  body:not(.admin-body) .page{
    width:calc(100% - 24px)!important;
    max-width:calc(100% - 24px)!important;
    overflow-x:clip!important;
  }
  .section h2{
    font-size:clamp(28px, 7vw, 34px)!important;
    line-height:1.08!important;
    letter-spacing:-.035em!important;
    font-weight:900!important;
  }
  .home-carousel-stage,
  .home-carousel-window{
    overflow:hidden!important;
  }
  .home-carousel-prev{
    left:6px!important;
  }
  .home-carousel-next{
    right:6px!important;
  }
  .home-carousel-arrow{
    width:32px!important;
    height:76px!important;
    font-size:38px!important;
  }
}
@media (max-width:420px){
  body:not(.admin-body) .page{
    width:calc(100% - 18px)!important;
    max-width:calc(100% - 18px)!important;
  }
}


/* === Efika v73: mobile section titles back to compact size === */
@media (max-width:850px){
  .section h2{
    font-size:clamp(28px, 7vw, 34px)!important;
    line-height:1.08!important;
    letter-spacing:-.035em!important;
    font-weight:900!important;
  }
}

/* === Efika v78: mobile-safe live player ring rendered as SVG + RAF === */
html.radio-ring-js-ready .radio-play-button:before{
  display:none!important;
  animation:none!important;
}

.radio-play-button .radio-play-ring{
  position:absolute!important;
  inset:-10px!important;
  z-index:0!important;
  display:block!important;
  border-radius:50%!important;
  pointer-events:none!important;
  opacity:.82!important;
  transform:translate3d(0,0,0) rotate(0deg);
  transform-origin:center center!important;
  will-change:transform!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
}

.radio-play-button .radio-play-ring svg{
  width:100%!important;
  height:100%!important;
  display:block!important;
  overflow:visible!important;
}

.radio-play-button .radio-play-ring-arc,
.radio-play-button .radio-play-ring-dot{
  vector-effect:non-scaling-stroke!important;
  transform-origin:50% 50%!important;
}

.radio-play-button .radio-play-ring-arc{
  fill:none!important;
  stroke-linecap:round!important;
  stroke-width:5.2!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 6px rgba(143,211,255,.42))!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 6px rgba(0,196,140,.34))!important;
}

.radio-play-button .radio-play-ring-dot{
  fill:rgba(255,255,255,.90)!important;
  filter:drop-shadow(0 0 7px rgba(255,255,255,.45))!important;
}

.radio-play-button.is-playing .radio-play-ring{
  opacity:.96!important;
}

.radio-play-button.is-playing .radio-play-ring-arc-a{
  stroke:rgba(143,211,255,1)!important;
  stroke-dasharray:126 198!important;
}

.radio-play-button.is-playing .radio-play-ring-arc-b{
  stroke:rgba(0,196,140,1)!important;
  stroke-dasharray:52 272!important;
}

.radio-play-button .radio-play-icon{
  position:relative!important;
  z-index:2!important;
}

.home-carousel-slide-enter .radio-play-button,
.home-carousel-slide-current .radio-play-button{
  transform-style:preserve-3d!important;
  -webkit-transform-style:preserve-3d!important;
}

@media (max-width:680px){
  .radio-play-button .radio-play-ring{
    inset:-8px!important;
  }
  .radio-play-button .radio-play-ring-arc{
    stroke-width:5.8!important;
  }
}

/* === Efika v79: keep the player ring geometry identical in Play and Stop states ===
   Быстрое вращение должно менять только скорость и насыщенность, но не длину/сдвиг дуг.
   Иначе на мобильном зелёная дуга визуально становится крупнее и кольцо выглядит несимметрично. */
.radio-play-button.is-playing .radio-play-ring-arc-a{
  stroke:rgba(143,211,255,1)!important;
  stroke-dasharray:104 220!important;
  stroke-dashoffset:0!important;
}

.radio-play-button.is-playing .radio-play-ring-arc-b{
  stroke:rgba(0,196,140,1)!important;
  stroke-dasharray:38 286!important;
  stroke-dashoffset:-132!important;
}

/* === Efika v81: понятная загрузка потока и подсказка реакций === */
.stream-load-indicator{
  display:flex;
  flex-direction:column;
  gap:7px;
  width:min(260px, 100%);
  margin:6px 0 2px;
  color:var(--text);
  font-size:13px;
  line-height:1.15;
  letter-spacing:.01em;
}
.stream-load-indicator.hidden{display:none!important}
.stream-load-label{
  font-weight:800;
  color:#dff6ff;
  text-shadow:0 0 14px rgba(143,211,255,.32);
}
.stream-load-track{
  position:relative;
  display:block;
  width:100%;
  height:7px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(143,211,255,.12);
  box-shadow:inset 0 0 0 1px rgba(143,211,255,.16), 0 0 18px rgba(143,211,255,.08);
}
.stream-load-track:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
  transform:translateX(-100%);
  animation:efika-stream-load-shine 1.2s linear infinite;
}
.stream-load-track [data-stream-loading-bar]{
  position:relative;
  z-index:1;
  display:block;
  width:0;
  height:100%;
  border-radius:inherit;
  transition:width .18s ease, background .22s ease, box-shadow .22s ease;
  background:linear-gradient(90deg, #68d8ff, #8fd3ff);
  box-shadow:0 0 12px rgba(104,216,255,.46);
}
.stream-load-indicator[data-stage="middle"] .stream-load-track [data-stream-loading-bar]{
  background:linear-gradient(90deg, #8fd3ff, #37e3b0);
  box-shadow:0 0 14px rgba(55,227,176,.5);
}
.stream-load-indicator[data-stage="almost"] .stream-load-track [data-stream-loading-bar]{
  background:linear-gradient(90deg, #37e3b0, #ffd166);
  box-shadow:0 0 16px rgba(255,209,102,.46);
}
.stream-load-indicator[data-stage="done"] .stream-load-track [data-stream-loading-bar]{
  background:linear-gradient(90deg, #00c48c, #8fd3ff);
  box-shadow:0 0 18px rgba(0,196,140,.58);
}
@keyframes efika-stream-load-shine{
  0%{transform:translateX(-100%)}
  100%{transform:translateX(100%)}
}

.track-search-select-button.is-loading,
.track-search-card.is-importing .track-search-select-button{
  color:#061014!important;
  background:linear-gradient(135deg, #8fd3ff, #37e3b0)!important;
  border-color:rgba(143,211,255,.78)!important;
  box-shadow:0 0 0 1px rgba(143,211,255,.22), 0 0 22px rgba(55,227,176,.34)!important;
  cursor:progress;
}
.track-search-card.is-importing{
  box-shadow:0 0 0 1px rgba(143,211,255,.24), 0 16px 42px rgba(0,0,0,.32), 0 0 26px rgba(55,227,176,.11);
}
.track-search-card.is-importing .track-card-play,
.track-search-card.is-importing [data-track-search-menu-toggle]{
  opacity:.52;
  pointer-events:none;
}

.player-reactions-title-row{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  margin-bottom:10px;
}
.player-reactions-title-row .player-reactions-title{
  min-width:0;
  margin-bottom:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.reaction-help-button{
  flex:0 0 28px;
  width:28px;
  height:28px;
  border-radius:999px;
  border:1px solid rgba(143,211,255,.38);
  background:rgba(143,211,255,.1);
  color:var(--text);
  font-weight:900;
  line-height:1;
  cursor:pointer;
  box-shadow:0 0 18px rgba(143,211,255,.08);
}
.reaction-help-button:hover{
  background:rgba(143,211,255,.18);
  box-shadow:0 0 22px rgba(143,211,255,.2);
}
.reaction-help-card{max-width:560px}
.reaction-help-list{
  display:grid;
  gap:10px;
  color:var(--muted);
  font-size:15px;
  line-height:1.45;
}
.reaction-help-list p{
  margin:0;
  padding:12px 14px;
  border:1px solid rgba(143,211,255,.12);
  border-radius:16px;
  background:rgba(255,255,255,.035);
}
.reaction-help-list b{color:var(--text)}

@media (max-width: 720px){
  .stream-load-indicator{width:100%;font-size:12px;gap:6px;margin-top:5px}
  .stream-load-track{height:6px}
  .reaction-help-card{max-width:calc(100vw - 28px)}
  .reaction-help-list{font-size:14px}
}


/* === Efika v83: desktop home player arrows above card frame === */
@media (min-width:851px){
  .home-player-carousel{
    overflow:visible!important;
    position:relative!important;
  }
  .home-carousel-stage{
    overflow:hidden!important;
  }
  .home-carousel-arrow{
    z-index:80!important;
    pointer-events:auto!important;
    background:rgba(19,32,37,.92)!important;
    border-color:rgba(143,211,255,.38)!important;
    color:#bfeaff!important;
    box-shadow:0 16px 38px rgba(0,0,0,.42), 0 0 22px rgba(143,211,255,.16)!important;
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
  }
  .home-carousel-prev{
    left:-14px!important;
  }
  .home-carousel-next{
    right:-14px!important;
  }
  .home-carousel-arrow:hover{
    background:rgba(25,48,56,.98)!important;
    border-color:rgba(143,211,255,.62)!important;
    color:#ffffff!important;
    box-shadow:0 18px 44px rgba(0,0,0,.48), 0 0 30px rgba(143,211,255,.28)!important;
  }
}

/* Пользовательские звёзды репутации */
.user-stars{position:relative;display:inline-block;vertical-align:middle;flex:0 0 auto;width:78px;height:18px;font-size:17px;line-height:1;letter-spacing:1px;color:rgba(255,255,255,.22);overflow:hidden;white-space:nowrap}
.user-stars-empty,.user-stars-fill{position:absolute;inset:0 auto auto 0;display:block;height:18px;overflow:hidden}
.user-stars-fill{color:var(--warning);text-shadow:0 0 14px rgba(255,209,102,.34);width:0}
.user-stars-profile{width:92px;height:21px;font-size:20px;margin-left:10px}
.user-stars-section{width:104px;height:24px;font-size:22px;margin-left:14px}
.user-stars-now,.user-stars-inline{width:74px;height:17px;font-size:16px;margin-left:7px;transform:translateY(-1px)}
.profile-user-name-line,.user-tracks-title-line{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}
.user-tracks-title-line h2{margin:0!important}
.now-author-name{font-weight:800;color:#cfe9ff}
.track-like-rating{margin-left:auto;flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:rgba(143,211,255,.1);border:1px solid rgba(143,211,255,.2);color:#cfe9ff;font-weight:900;line-height:1}
.track-like-rating span{filter:drop-shadow(0 0 8px rgba(143,211,255,.25))}
.track-like-rating b{font-size:13px;color:var(--accent)}
.track-like-rating.hidden{display:none!important}
@media (max-width:560px){.player-reactions-title-row{flex-wrap:nowrap}.track-like-rating{margin-left:auto}.user-stars-section{width:92px;font-size:20px}}

/* === Efika v84: admin comments moderation and compact categorized emoji picker === */
.admin-comments-filter{
  grid-template-columns:repeat(6,minmax(130px,1fr)) auto!important;
  align-items:end!important;
  overflow-x:hidden!important;
}
.admin-comment-date-filter.hidden{display:none!important}
.admin-comments-list{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
}
.admin-comment-card{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  padding:16px!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.045)!important;
  border:1px solid rgba(143,211,255,.16)!important;
  overflow:hidden!important;
}
.admin-comment-card.is-blocked{border-color:rgba(255,209,102,.42)!important;background:rgba(255,209,102,.06)!important}
.admin-comment-card.is-deleted{border-color:rgba(255,95,109,.42)!important;background:rgba(255,95,109,.055)!important;opacity:.82!important}
.admin-comment-card-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
  min-width:0!important;
}
.admin-comment-card-head strong{
  display:block!important;
  color:var(--text)!important;
  font-size:18px!important;
  line-height:1.2!important;
  overflow-wrap:anywhere!important;
}
.admin-comment-meta{
  display:block!important;
  margin-top:4px!important;
  color:var(--muted)!important;
  font-size:13px!important;
  line-height:1.35!important;
  overflow-wrap:anywhere!important;
}
.admin-comment-badges{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
  gap:6px!important;
  flex:0 0 auto!important;
  max-width:min(48%,360px)!important;
}
.admin-badge{
  display:inline-flex!important;
  align-items:center!important;
  min-height:28px!important;
  padding:5px 9px!important;
  border-radius:999px!important;
  background:rgba(143,211,255,.12)!important;
  color:#cfe7f8!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.02em!important;
  white-space:nowrap!important;
}
.admin-badge.success{background:rgba(0,196,140,.16)!important;color:#9df0d4!important}
.admin-badge.warning{background:rgba(255,209,102,.16)!important;color:#ffe29a!important}
.admin-badge.danger{background:rgba(255,95,109,.18)!important;color:#ffc0c6!important}
.admin-comment-track{
  margin-top:12px!important;
  color:var(--muted)!important;
  font-size:14px!important;
  line-height:1.45!important;
  overflow-wrap:anywhere!important;
}
.admin-comment-track b{color:#dce8f2!important}
.admin-comment-track em{
  display:inline-flex!important;
  margin-left:8px!important;
  padding:3px 8px!important;
  border-radius:999px!important;
  background:rgba(143,211,255,.1)!important;
  color:var(--accent)!important;
  font-style:normal!important;
  font-size:12px!important;
  font-weight:800!important;
}
.admin-comment-body{
  margin-top:12px!important;
  padding:12px!important;
  border-radius:16px!important;
  background:rgba(0,0,0,.16)!important;
  color:#eaf5ff!important;
  font-size:15px!important;
  line-height:1.55!important;
  white-space:pre-wrap!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  max-height:180px!important;
  overflow-y:auto!important;
}
.admin-comment-actions{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin-top:12px!important;
}
.admin-comment-actions form{margin:0!important}
.admin-comment-edit-card textarea{
  width:100%!important;
  min-height:220px!important;
  resize:vertical!important;
  overflow-wrap:anywhere!important;
}
.admin-empty-panel{
  padding:18px!important;
  border-radius:20px!important;
  color:var(--muted)!important;
}
.admin-main,
.admin-body{
  overflow-x:hidden!important;
}

.emoji-picker-popup{
  position:fixed!important;
  z-index:3200!important;
  width:min(420px,calc(100vw - 24px))!important;
  max-width:calc(100vw - 24px)!important;
  max-height:min(260px,calc(100vh - 24px))!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  display:block!important;
  grid-template-columns:none!important;
  gap:0!important;
  padding:10px!important;
  border-radius:18px!important;
  scrollbar-width:thin!important;
}
.emoji-picker-popup.hidden{display:none!important}
.emoji-picker-popup:not(.hidden){display:block!important}
.emoji-picker-section + .emoji-picker-section{margin-top:8px!important}
.emoji-picker-section h3{
  position:sticky!important;
  top:-10px!important;
  z-index:1!important;
  margin:0 0 4px!important;
  padding:5px 2px 5px!important;
  background:#080d10!important;
  color:#9fc9e6!important;
  font-size:11px!important;
  line-height:1.2!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
}
.emoji-picker-grid{
  display:grid!important;
  grid-template-columns:repeat(8,minmax(26px,1fr))!important;
  gap:2px!important;
}
.emoji-picker-popup button{
  width:100%!important;
  min-width:0!important;
  min-height:30px!important;
  padding:2px!important;
  border:0!important;
  border-radius:7px!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--text)!important;
  font-size:21px!important;
  line-height:1!important;
  cursor:pointer!important;
}
.emoji-picker-popup button:hover,
.emoji-picker-popup button:focus-visible{
  background:rgba(143,211,255,.16)!important;
  outline:none!important;
}
@media (max-width:980px){
  .admin-comments-filter{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .admin-comments-filter .admin-filter-actions{grid-column:1/-1!important}
}
@media (max-width:560px){
  .admin-comments-filter{grid-template-columns:1fr!important}
  .admin-comment-card{padding:13px!important;border-radius:18px!important}
  .admin-comment-card-head{display:block!important}
  .admin-comment-badges{justify-content:flex-start!important;max-width:100%!important;margin-top:9px!important}
  .admin-comment-actions .btn{width:100%!important;justify-content:center!important}
  .admin-comment-actions form{width:100%!important}
  .emoji-picker-popup{max-height:250px!important;padding:9px!important}
  .emoji-picker-grid{grid-template-columns:repeat(7,minmax(24px,1fr))!important}
  .emoji-picker-popup button{min-height:29px!important;font-size:20px!important}
}

/* Скромный подвал сайта */
.site-footer{position:relative;z-index:90;width:min(1180px,calc(100% - 32px));margin:0px auto 22px;color:var(--muted)}
.site-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 12px;border:1px solid rgba(255,255,255,.06);border-radius:20px;background:rgba(23,29,32,.55);box-shadow:0 10px 34px rgba(0,0,0,.18);overflow:visible}
.site-footer-brand{display:inline-flex;align-items:center;gap:9px;min-width:0;color:var(--text);font-weight:900}
.site-footer-brand img{width:28px;height:28px;border-radius:8px;object-fit:cover;box-shadow:0 0 0 1px rgba(143,211,255,.18)}
.site-footer-links{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;font-size:14px}
.site-footer-links a,
.site-footer-links [data-telegram-community-open],
.site-footer-links [data-pwa-install-button]{display:inline!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important;color:var(--muted)!important;font:inherit!important;font-weight:inherit!important;line-height:inherit!important;text-decoration:none!important;white-space:nowrap!important;border-radius:0!important;filter:none!important}
.site-footer-links a:hover,
.site-footer-links a:focus-visible,
.site-footer-links [data-telegram-community-open]:hover,
.site-footer-links [data-telegram-community-open]:focus-visible,
.site-footer-links [data-pwa-install-button]:hover,
.site-footer-links [data-pwa-install-button]:focus-visible{color:var(--accent)!important;background:transparent!important;box-shadow:none!important}
.site-footer-copy{font-size:13px;white-space:nowrap;color:rgba(220,232,242,.58)}
@media (max-width:760px){.site-footer{width:min(100% - 24px,1180px);margin-bottom:20px}.site-footer-inner{flex-direction:column;align-items:flex-start}.site-footer-links{justify-content:flex-start;gap:10px}.site-footer-copy{white-space:normal}}

/* === Efika fix: self reactions guard and stable lyrics panel === */
.reaction-row button:disabled,
.reaction-row button.is-disabled,
.comment-reaction-button.is-disabled{
  opacity:.48!important;
  cursor:not-allowed!important;
  filter:grayscale(.2)!important;
  transform:none!important;
}

.now-tab-panel-lyrics{
  position:relative!important;
  padding-top:0!important;
}

.now-tab-panel-lyrics .lyrics-panel-tools{
  position:sticky!important;
  top:0!important;
  z-index:3!important;
  display:flex!important;
  justify-content:flex-end!important;
  width:100%!important;
  height:0!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  box-shadow:none!important;
  pointer-events:none!important;
}

.now-tab-panel-lyrics .lyrics-translate-toggle{
  pointer-events:auto!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0 0 6px 12px!important;
  line-height:1.25!important;
}

.now-tab-panel-lyrics .lyrics-content{
  margin:0!important;
  padding-top:0!important;
  padding-right:min(42vw,170px)!important;
}

.now-tab-panel-lyrics .lyrics-content.is-active{
  display:block!important;
}

@media (max-width:560px){
  .now-tab-panel-lyrics .lyrics-panel-tools{
    right:auto!important;
  }
  .now-tab-panel-lyrics .lyrics-content{
    padding-right:min(48vw,154px)!important;
  }
  .now-tab-panel-lyrics .lyrics-translate-toggle{
    font-size:12px!important;
  }
}

/* === Efika fix v2: lyrics panel starts at top and translation button stays fixed === */
.now-tab-panel.now-tab-panel-lyrics{
  position:relative!important;
  display:none!important;
  max-height:176px!important;
  min-height:74px!important;
  overflow:hidden!important;
  padding:0!important;
  white-space:normal!important;
}
.now-tab-panel.now-tab-panel-lyrics.is-active{
  display:block!important;
}
.now-tab-panel-lyrics .lyrics-panel-tools{
  position:absolute!important;
  top:0!important;
  right:0!important;
  z-index:5!important;
  display:flex!important;
  justify-content:flex-end!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  pointer-events:none!important;
}
.now-tab-panel-lyrics .lyrics-translate-toggle{
  pointer-events:auto!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--accent)!important;
  font-weight:900!important;
  font-size:13px!important;
  line-height:1.2!important;
  padding:0 0 6px 12px!important;
  margin:0!important;
  cursor:pointer!important;
}
.now-tab-panel-lyrics .lyrics-scroll{
  height:100%!important;
  max-height:176px!important;
  min-height:74px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:0 12px 1px 0!important;
  margin:0!important;
  white-space:pre-wrap!important;
  color:inherit!important;
  line-height:inherit!important;
  scrollbar-width:thin!important;
}
.now-tab-panel-lyrics .lyrics-scroll::-webkit-scrollbar{
  width:5px!important;
}
.now-tab-panel-lyrics .lyrics-scroll::-webkit-scrollbar-thumb{
  background:rgba(220,232,242,.32)!important;
  border-radius:999px!important;
}
.now-tab-panel-lyrics .lyrics-content{
  display:none!important;
  margin:0!important;
  padding:0 min(42vw,175px) 0 0!important;
  line-height:inherit!important;
}
.now-tab-panel-lyrics .lyrics-content.is-active{
  display:block!important;
}
@media (max-width:560px){
  .now-tab-panel-lyrics .lyrics-content{
    padding-right:min(50vw,160px)!important;
  }
  .now-tab-panel-lyrics .lyrics-translate-toggle{
    font-size:12px!important;
  }
}


/* === Efika fix: track rating is 👍+❤️ and lyrics panel starts from the top === */
.now-tabs.is-open.is-lyrics-active .now-tab-panels{
  margin-top:2px!important;
}
.now-tab-panel.now-tab-panel-lyrics{
  min-height:0!important;
  padding:0!important;
  line-height:1.42!important;
}
.now-tab-panel-lyrics .lyrics-scroll{
  min-height:0!important;
  padding-top:0!important;
  margin-top:0!important;
}
.now-tab-panel-lyrics .lyrics-content{
  padding-top:0!important;
  margin-top:0!important;
}
.now-tab-panel-lyrics .lyrics-content br:first-child{
  display:none!important;
}


/* === Efika: кнопки на другие сайты над подвалом === */
.site-partner-buttons{position:relative;z-index:88;width:min(1180px,calc(100% - 32px));margin:0 auto 12px;color:var(--muted)}
.site-partner-buttons-inner{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px solid rgba(255,255,255,.055);border-radius:18px;background:rgba(23,29,32,.38);box-shadow:0 10px 30px rgba(0,0,0,.14)}
.site-partner-button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;max-width:220px;padding:4px 6px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);transition:transform .15s ease,border-color .15s ease,background .15s ease}
.site-partner-button:hover,.site-partner-button:focus-visible{transform:translateY(-1px);background:rgba(143,211,255,.08);border-color:rgba(143,211,255,.24)}
.site-partner-button img{display:block;max-width:190px;max-height:48px;width:auto;height:auto;object-fit:contain}
@media (max-width:760px){.site-partner-buttons{width:min(100% - 24px,1180px)}.site-partner-buttons-inner{justify-content:flex-start}.site-partner-button img{max-width:160px;max-height:42px}}

/* === Admin: блоки сайта / кнопки на другие сайты === */
.partner-buttons-admin{margin-top:18px}.partner-buttons-admin code{display:inline-block;padding:2px 6px;border-radius:8px;background:rgba(255,255,255,.06);color:var(--accent)}
.partner-buttons-list{display:grid;gap:12px;margin:14px 0 18px}.partner-button-row{display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:14px;align-items:start;padding:14px;border:1px solid rgba(143,211,255,.16);border-radius:20px;background:rgba(143,211,255,.045)}
.partner-button-row.is-hidden{border-color:rgba(255,255,255,.07);background:rgba(255,255,255,.025);opacity:.68}.partner-button-row.is-new{border-style:dashed;background:rgba(0,196,140,.045)}
.partner-button-preview{display:flex;align-items:center;justify-content:center;min-height:74px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(0,0,0,.18);overflow:hidden;color:var(--muted);font-weight:900;font-size:12px;text-align:center}.partner-button-preview img{display:block;max-width:116px;max-height:64px;width:auto;height:auto;object-fit:contain}.partner-button-fields{display:grid;gap:10px;min-width:0}.partner-button-fields label{display:grid;gap:5px;color:var(--muted);font-weight:800;font-size:12px}.partner-button-fields input[type="text"],.partner-button-fields input:not([type]){width:100%}.partner-button-image-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(180px,.7fr);gap:10px}.partner-button-options{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.partner-button-options>label:not(.checkbox-line){max-width:110px}.partner-button-actions{display:flex;gap:8px;flex-direction:column;align-items:stretch}.partner-button-actions .btn{white-space:nowrap}.checkbox-line{display:inline-flex!important;grid-template-columns:auto!important;grid-auto-flow:column;align-items:center;gap:7px;color:var(--text)!important;font-size:13px!important}.checkbox-line input{width:auto!important}
@media (max-width:900px){.partner-button-row{grid-template-columns:1fr}.partner-button-preview{justify-content:flex-start;padding:10px}.partner-button-actions{flex-direction:row;flex-wrap:wrap}.partner-button-image-row{grid-template-columns:1fr}}

.stream-metadata-admin-panel{margin:18px 0}
.stream-metadata-admin-panel code{background:rgba(255,255,255,.06);border-radius:8px;padding:2px 6px;color:#d7edf8}
.stream-metadata-admin-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.stream-metadata-fields{margin-top:18px}
.stream-metadata-fields h3{margin:0 0 6px;font-size:18px}
.stream-metadata-field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
.stream-metadata-check{display:flex;gap:10px;align-items:flex-start;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:12px;min-width:0}
.stream-metadata-check input{margin-top:3px;flex:0 0 auto}
.stream-metadata-check span{display:flex;flex-direction:column;gap:3px;min-width:0}
.stream-metadata-check small{color:var(--muted);word-break:break-word}
.stream-metadata-check em{font-style:normal;color:var(--muted);font-size:12px;line-height:1.35}
.stream-metadata-extra{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.5fr);gap:14px;margin-top:16px}
.stream-metadata-extra .settings-row{margin:0}
.stream-metadata-custom-toggle{margin:0}
.stream-metadata-custom-text-row{grid-column:1/-1;align-items:stretch!important;flex-direction:column!important}
.stream-metadata-custom-text-row .settings-control{width:100%!important;align-items:stretch!important;justify-content:flex-start!important}
.stream-metadata-custom-text-row input[name="stream_metadata_custom_text"]{width:100%;max-width:none}
@media (max-width:980px){.stream-metadata-admin-layout,.stream-metadata-field-grid,.stream-metadata-extra{grid-template-columns:1fr}}

/* === Geo block admin and public page === */
.geo-block-admin-panel{margin:18px 0}.geo-block-admin-panel code{display:inline-block;padding:2px 6px;border-radius:8px;background:rgba(255,255,255,.06);color:var(--accent)}.geo-block-feature-grid{margin:14px 0 16px}.geo-block-admin-form textarea{width:100%;min-height:120px;resize:vertical}.geo-block-countries-row .settings-control{align-items:stretch!important}.geo-block-help{display:block;margin-top:7px;color:var(--muted)}.geo-block-warning{display:block;margin-top:7px;color:#ffe29a!important}.geo-block-page-settings{margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08)}.geo-block-image-admin{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px;align-items:start;margin-top:12px}.geo-block-image-preview{display:flex;align-items:center;justify-content:center;min-height:180px;border:1px solid rgba(143,211,255,.16);border-radius:24px;background:linear-gradient(145deg,rgba(143,211,255,.12),rgba(0,196,140,.07));overflow:hidden;color:var(--accent);font-size:38px;font-weight:900}.geo-block-image-preview img{display:block;width:100%;height:100%;max-height:260px;object-fit:cover}.geo-block-image-fields{display:grid;gap:12px}.geo-block-upload-control{display:grid;gap:6px;padding:14px;border:1px dashed rgba(143,211,255,.28);border-radius:18px;background:rgba(143,211,255,.045);color:var(--text);font-weight:800}.geo-block-upload-control span{color:var(--muted);font-size:13px;font-weight:600}.geo-block-clear-image{display:flex;align-items:center;gap:8px;color:var(--muted);font-weight:700}.geo-block-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}.geo-block-stats span{display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(255,255,255,.035)}.geo-block-stats b{font-size:20px;color:var(--text)}.geo-block-stats small{color:var(--muted)}.geo-block-catalog-form{margin-top:10px}.geo-block-page{min-height:100vh;margin:0;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at 20% 10%,rgba(143,211,255,.16),transparent 30%),radial-gradient(circle at 90% 90%,rgba(0,196,140,.11),transparent 32%),var(--bg);color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.geo-block-card{width:min(940px,100%);display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);gap:28px;align-items:center;padding:28px;border:1px solid rgba(143,211,255,.18);border-radius:32px;background:rgba(23,29,32,.82);box-shadow:0 26px 80px rgba(0,0,0,.42);backdrop-filter:blur(18px)}.geo-block-visual{min-height:330px;border-radius:28px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(145deg,rgba(143,211,255,.14),rgba(0,196,140,.08));border:1px solid rgba(255,255,255,.08)}.geo-block-visual img{width:100%;height:100%;min-height:330px;object-fit:cover}.geo-block-visual span{font-size:42px;font-weight:950;letter-spacing:.08em;color:var(--accent)}.geo-block-copy{display:grid;gap:14px}.geo-block-kicker{margin:0;color:var(--accent);text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:900}.geo-block-copy h1{margin:0;font-size:clamp(32px,5vw,62px);line-height:.98;color:var(--text)}.geo-block-copy p:not(.geo-block-kicker){margin:0;color:var(--muted);font-size:18px;line-height:1.55;white-space:pre-line}.geo-block-copy small{color:rgba(220,232,242,.46)}.geo-block-attribution a{color:rgba(220,232,242,.5);text-decoration:none}.geo-block-attribution a:hover{color:var(--accent)}@media (max-width:900px){.geo-block-image-admin,.geo-block-card{grid-template-columns:1fr}.geo-block-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.geo-block-visual,.geo-block-visual img{min-height:240px}}@media (max-width:560px){.geo-block-page{padding:14px}.geo-block-card{padding:18px;border-radius:24px}.geo-block-stats{grid-template-columns:1fr}.geo-block-copy p:not(.geo-block-kicker){font-size:16px}}

/* Admin: массовая загрузка музыки в общую базу комнат */
.admin-music-upload-tabs{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:18px;
}
.admin-music-upload-grid{
  align-items:start;
}
.admin-music-upload-grid .section-head{
  align-items:flex-start;
  margin-bottom:14px;
}
.admin-music-upload-user-search{
  margin-bottom:14px;
}
.admin-music-upload-users{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:10px;
  max-height:360px;
  overflow:auto;
  padding-right:4px;
}
.admin-music-upload-user{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:8px 10px;
  min-width:0;
  padding:10px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:14px;
  background:rgba(255,255,255,.035);
  cursor:pointer;
}
.admin-music-upload-user.is-hidden-page{display:none!important}
.admin-music-upload-user input{
  width:auto!important;
  margin-top:3px;
}
.admin-music-upload-user small{
  display:block;
  color:var(--muted);
  font-weight:500;
  margin-top:3px;
}
.admin-music-upload-user-main{
  display:block;
  min-width:0;
}
.admin-music-upload-user-main b,
.admin-music-upload-user-main small{
  overflow-wrap:anywhere;
}
.admin-music-upload-progress{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.admin-music-upload-progress-bar{
  height:12px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.07);
}
.admin-music-upload-progress-bar span{
  display:block;
  height:100%;
  width:0;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--accent-2),var(--accent));
  transition:width .2s ease;
}
.admin-music-upload-batch-item{
  margin-bottom:8px;
}
.admin-music-upload-queue-panel{
  margin-top:18px;
}
.admin-music-upload-jobs-table td{
  vertical-align:top;
}
@media (max-width:850px){
  .admin-music-upload-users{
    grid-template-columns:1fr;
    max-height:300px;
  }
}

.admin-music-upload-user-pager{display:flex;gap:10px;align-items:center;justify-content:center;margin-top:12px;flex-wrap:wrap}.admin-music-upload-selected-users{margin-top:12px;padding:10px 12px;border:1px solid rgba(143,211,255,.14);border-radius:14px;background:rgba(143,211,255,.045);color:var(--muted);font-size:13px}.admin-music-upload-selected-users b{color:var(--text);margin-right:6px}.admin-music-upload-ai-settings{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}.admin-music-upload-ai-settings h3{margin:0 0 6px}.admin-music-upload-ai-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}.admin-music-upload-ai-grid label{display:grid;gap:6px}.admin-music-upload-ai-grid textarea{width:100%;resize:vertical}.admin-music-upload-ai-grid .wide{grid-column:1/-1}.openai-api-admin-panel{margin:18px 0}.openai-api-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.openai-api-settings-grid .settings-row-wide{grid-column:1/-1}@media (max-width:900px){.admin-music-upload-ai-grid,.openai-api-settings-grid{grid-template-columns:1fr}}

.admin-music-upload-stats{
  display:flex;
  flex-wrap:wrap;
  gap:8px 10px;
  align-items:center;
}
.admin-music-upload-stats .badge{
  display:inline-flex;
  margin:0;
}
.admin-music-upload-ai-comment-text{
  max-width:340px;
  white-space:normal;
  line-height:1.35;
}
.admin-music-upload-job-actions{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
}
.admin-music-upload-ai-modal[hidden]{display:none!important}
.admin-music-upload-ai-modal{
  position:fixed;
  inset:0;
  z-index:2000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(0,0,0,.62);
  backdrop-filter:blur(4px);
}
.admin-music-upload-ai-modal .admin-modal-card{
  width:min(720px,100%);
  max-height:90vh;
  overflow:auto;
  border:1px solid rgba(143,211,255,.2);
  border-radius:22px;
  background:var(--surface, #171d20);
  box-shadow:0 24px 70px rgba(0,0,0,.45);
  padding:18px;
}
.admin-music-upload-ai-modal textarea{
  width:100%;
  resize:vertical;
}
.danger-text{
  display:block;
  color:var(--danger, #ff5f6d);
  margin-top:4px;
}
.admin-music-upload-job-filters{
  margin:12px 0 14px;
  align-items:end;
}
.admin-music-upload-jobs-pager{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}
.admin-music-upload-jobs-pager [hidden]{display:none!important}
.admin-music-upload-pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  flex-wrap:wrap;
}
.admin-music-upload-pagination .btn.primary{
  pointer-events:none;
}


.admin-music-upload-user-weight{
  grid-column:2;
  display:flex;
  align-items:center;
  gap:8px;
  width:100%;
  margin-top:2px;
  color:var(--muted);
  font-size:12px;
}
.admin-music-upload-user-weight[hidden]{
  display:none!important;
}
.admin-music-upload-user-weight input{
  width:86px!important;
  min-width:86px!important;
  max-width:120px;
  padding:6px 8px;
}
.admin-music-upload-users:not(.has-visible-weights) .admin-music-upload-user{
  align-items:center;
}
.admin-music-upload-inline-form{margin:0}
.admin-music-upload-head-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.admin-music-upload-user-stats-list{display:grid;gap:8px}
.admin-music-upload-user-stat-item,.admin-music-upload-history-item{align-items:flex-start}
.admin-music-upload-job-progress{
  height:8px;
  min-width:120px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(143,211,255,.12);
  margin-bottom:4px;
}
.admin-music-upload-job-progress span{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(143,211,255,.85),rgba(0,196,140,.85));
  transition:width .25s ease;
}
.admin-music-upload-jobs-table small{display:block;line-height:1.35}
.admin-music-upload-history-panel,.admin-music-upload-user-stats-panel{min-width:0}
@media (max-width:720px){
  .admin-music-upload-user-weight{grid-column:1/-1;margin-left:26px;width:auto}
  .admin-music-upload-head-actions{width:100%}
  .admin-music-upload-head-actions form{width:100%}
  .admin-music-upload-head-actions .btn{width:100%}
}

/* Admin bulk upload: compact processing log and collapsible summary blocks */
.admin-music-upload-spoiler{
  display:block;
}
.admin-music-upload-spoiler summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  cursor:pointer;
  list-style:none;
  user-select:none;
  font-size:22px;
  font-weight:800;
  color:var(--text, #dce8f2);
}
.admin-music-upload-spoiler summary::-webkit-details-marker{display:none}
.admin-music-upload-spoiler summary::before{
  content:'▸';
  flex:0 0 auto;
  color:var(--accent, #8fd3ff);
  transition:transform .18s ease;
}
.admin-music-upload-spoiler[open] summary::before{transform:rotate(90deg)}
.admin-music-upload-spoiler summary span{margin-right:auto}
.admin-music-upload-spoiler summary small{font-size:13px;font-weight:600}
.admin-music-upload-spoiler > div{margin-top:14px}
.admin-music-upload-jobs-table{
  table-layout:fixed;
  width:100%;
}
.admin-music-upload-jobs-table .col-id{width:48px}
.admin-music-upload-jobs-table .col-file{width:180px}
.admin-music-upload-jobs-table .col-user{width:116px}
.admin-music-upload-jobs-table .col-status{width:130px}
.admin-music-upload-jobs-table .col-progress{width:145px}
.admin-music-upload-jobs-table .col-result{width:92px}
.admin-music-upload-jobs-table .col-ai-comment{width:auto}
.admin-music-upload-jobs-table .col-error{width:120px}
.admin-music-upload-jobs-table .col-actions{width:112px}
.admin-music-upload-jobs-table th,
.admin-music-upload-jobs-table td{
  vertical-align:top;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.admin-music-upload-jobs-table td[data-label="ID"],
.admin-music-upload-jobs-table td[data-label="Результат"]{
  white-space:nowrap;
}
.admin-music-upload-jobs-table td[data-label="AI-комментарий"]{
  min-width:260px;
}
.admin-music-upload-ai-comment-text{
  max-width:none;
  white-space:normal;
}
.admin-music-upload-job-progress{
  min-width:78px;
}
@media (max-width:1100px){
  .admin-music-upload-jobs-table{table-layout:auto;min-width:980px}
  .admin-music-upload-jobs-table td[data-label="AI-комментарий"]{min-width:240px}
}

/* === Efika v246: временная блокировка треков из авто-эфира === */
.admin-temp-track-block-form textarea{
  width:100%;
  resize:vertical;
}
.admin-temp-track-block-settings-grid{
  display:grid;
  grid-template-columns:minmax(220px,.8fr) minmax(220px,.8fr) minmax(220px,1fr);
  gap:12px;
  align-items:end;
}
.admin-temp-track-block-checkbox{
  min-height:48px;
  align-items:center!important;
}
.admin-temp-track-block-last-run{
  display:grid;
  gap:4px;
  padding:9px 12px;
  border-radius:14px;
  border:1px solid rgba(143,211,255,.14);
  background:rgba(255,255,255,.035);
}
.admin-temp-track-block-last-run b{
  font-size:13px;
  color:var(--text);
  word-break:break-word;
}
.admin-temp-blocked-tracks-table .temp-block-row-blocked{
  background:rgba(255,95,109,.095);
}
.admin-temp-blocked-tracks-table .temp-block-row-allowed{
  background:rgba(0,196,140,.09);
}
.temp-block-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:82px;
  padding:5px 9px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
}
.temp-block-status-blocked{
  color:#ffd6db;
  background:rgba(255,95,109,.22);
  border:1px solid rgba(255,95,109,.34);
}
.temp-block-status-allowed{
  color:#cfffea;
  background:rgba(0,196,140,.2);
  border:1px solid rgba(0,196,140,.33);
}
.admin-track-temp-keywords-cell{
  max-width:220px;
  color:var(--muted);
  font-size:13px;
  overflow-wrap:anywhere;
}

@media (max-width:900px){
  .admin-temp-track-block-settings-grid{
    grid-template-columns:1fr;
  }
}
