/* =====================================================================
   SORA Project v92 — visual/UX corrections over v91.
   Keeps the existing pages and workflows, but fixes the persistent header,
   search, role colours, schedule, comments, recommendations and admin polish.
   ===================================================================== */

:root {
  --v92-blue: #2b92ff;
  --v92-blue-2: #57c8ff;
  --v92-blue-soft: rgba(43, 146, 255, .12);
  --v92-line: rgba(117, 166, 222, .20);
  --v92-line-strong: rgba(74, 169, 255, .42);
  --v92-panel: linear-gradient(155deg, rgba(16, 27, 44, .97), rgba(7, 14, 24, .985));
  --v92-ease: cubic-bezier(.25, 1, .5, 1);
  --site-header-height: 72px;
}

/* ---------------------------------------------------------------------
   Public header: always visible and aligned on every viewport
   --------------------------------------------------------------------- */
body:not(.admin-body) {
  padding-top: var(--site-header-height) !important;
}

.site-header {
  position: fixed !important;
  inset: 0 0 auto 0 !important;
  width: 100% !important;
  z-index: 1600 !important;
  border-bottom: 1px solid rgba(111, 166, 225, .17) !important;
  background: rgba(4, 11, 20, .91) !important;
  box-shadow: 0 10px 34px rgba(0, 0, 0, .20) !important;
  backdrop-filter: blur(20px) saturate(1.18) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.18) !important;
  transform: translate3d(0, 0, 0) !important;
  opacity: 1 !important;
}

.site-header .header-inner {
  min-height: 72px !important;
}

.site-header .logo-sp-word {
  width: 42px !important;
  height: 42px !important;
  flex: 0 0 42px !important;
  border: 1px solid rgba(111, 199, 255, .25) !important;
  border-radius: 13px !important;
  background: linear-gradient(145deg, #2084ef, #35b4ff) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.22), 0 9px 24px rgba(27, 130, 238, .22) !important;
}

.site-header .logo-sp-word:hover {
  transform: translate3d(0, -2px, 0) scale(1.025) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.26), 0 13px 30px rgba(27, 130, 238, .30) !important;
}

.site-header .global-search {
  min-height: 42px !important;
  border: 1px solid rgba(115, 157, 207, .20) !important;
  border-radius: 14px !important;
  background: linear-gradient(145deg, rgba(17, 29, 46, .94), rgba(10, 18, 30, .96)) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.025) !important;
}

.site-header .global-search:focus-within {
  border-color: rgba(67, 174, 255, .54) !important;
  box-shadow: 0 0 0 3px rgba(43, 146, 255, .10), inset 0 1px rgba(255,255,255,.04) !important;
}

.site-header .global-search > i { color: #63bfff !important; }
.site-header .global-search input { color: #eef7ff !important; }
.site-header .global-search input::placeholder { color: #75879d !important; }
.site-header .global-search > button {
  color: #fff !important;
  border: 1px solid rgba(129, 204, 255, .21) !important;
  background: linear-gradient(135deg, #237ee8, #39adff) !important;
  box-shadow: 0 7px 18px rgba(34, 132, 232, .20) !important;
}

.main-nav > .btn,
.nav-dropdown > .btn,
.site-header .main-nav > a[href="/login"],
.site-header .main-nav > a[href="/register"] {
  min-height: 40px !important;
  border-radius: 12px !important;
}

.main-nav > .btn:not(.btn-icon),
.nav-dropdown > .btn {
  border-color: rgba(119, 158, 205, .15) !important;
  color: #c8d7e9 !important;
  background: rgba(255,255,255,.026) !important;
}

.main-nav > .btn:not(.btn-icon):hover,
.nav-dropdown > .btn:hover {
  color: #fff !important;
  border-color: rgba(74, 169, 255, .32) !important;
  background: rgba(43, 146, 255, .09) !important;
}

.main-nav .nav-catalog-link,
.main-nav .nav-team-link,
.main-nav .nav-schedule-link {
  background: rgba(255,255,255,.028) !important;
}
.main-nav .nav-catalog-link i,
.main-nav .nav-team-link i,
.main-nav .nav-schedule-link i { color: #67c4ff !important; }

.main-nav .btn.is-active {
  color: #fff !important;
  border-color: rgba(106, 196, 255, .46) !important;
  background: linear-gradient(135deg, rgba(28, 116, 230, .90), rgba(47, 164, 255, .74)) !important;
  box-shadow: 0 10px 25px rgba(24, 112, 226, .21), inset 0 1px rgba(255,255,255,.13) !important;
}

.main-nav .btn-staff {
  color: #ebfbff !important;
  border-color: rgba(72, 205, 255, .34) !important;
  background: linear-gradient(135deg, rgba(27, 126, 212, .60), rgba(36, 185, 234, .32)) !important;
}

.site-header .main-nav .btn-icon,
.site-header .notification-link,
.site-header .theme-toggle {
  width: 40px !important;
  min-width: 40px !important;
  height: 40px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  color: #9fc3e5 !important;
  border: 1px solid rgba(118, 160, 211, .17) !important;
  border-radius: 12px !important;
  background: linear-gradient(145deg, rgba(20, 34, 52, .92), rgba(9, 17, 29, .96)) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.03) !important;
}

.site-header .main-nav .btn-icon:hover,
.site-header .notification-link:hover,
.site-header .theme-toggle:hover {
  color: #fff !important;
  border-color: rgba(82, 179, 255, .39) !important;
  background: rgba(43, 146, 255, .13) !important;
  transform: translate3d(0, -2px, 0) !important;
}

.site-header .main-nav > a[href="/login"] {
  color: #dff4ff !important;
  border-color: rgba(79, 181, 255, .31) !important;
  background: rgba(43, 146, 255, .11) !important;
}
.site-header .main-nav > a[href="/register"] {
  color: #fff !important;
  border-color: rgba(116, 207, 255, .34) !important;
  background: linear-gradient(135deg, #237ee9, #38adff) !important;
  box-shadow: 0 10px 25px rgba(28, 126, 235, .22) !important;
}

/* ---------------------------------------------------------------------
   Smart search: remove orange and use the site blue visual language
   --------------------------------------------------------------------- */
.site-search-popover {
  padding-top: calc(var(--site-header-height) + 18px) !important;
  z-index: 2100 !important;
}

.site-search-popover-card {
  width: min(700px, calc(100vw - 30px)) !important;
  max-height: min(78dvh, 650px) !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(88, 173, 255, .29) !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 90% 0, rgba(43,146,255,.14), transparent 25rem),
    linear-gradient(155deg, rgba(17, 28, 44, .99), rgba(6, 13, 23, .995)) !important;
  box-shadow: 0 34px 110px rgba(0,0,0,.56), inset 0 1px rgba(255,255,255,.035) !important;
}

.site-search-field {
  min-height: 62px !important;
  margin: 12px !important;
  padding: 8px 10px 8px 14px !important;
  border: 1px solid rgba(111, 164, 222, .20) !important;
  border-radius: 16px !important;
  background: rgba(3, 10, 19, .50) !important;
}
.site-search-field > i { color: #63c1ff !important; }
.site-search-field input {
  height: 42px !important;
  color: #f0f8ff !important;
  font-size: 14px !important;
}
.site-search-field input::placeholder { color: #778aa0 !important; }
.site-search-close {
  width: 38px !important;
  height: 38px !important;
  color: #9fb3c9 !important;
  border: 1px solid rgba(112, 157, 208, .18) !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.035) !important;
}
.site-search-close:hover { color: #fff !important; background: rgba(43,146,255,.13) !important; }

.site-search-tabs {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 8px !important;
  padding: 0 12px 11px !important;
}
.site-search-tabs button {
  min-height: 40px !important;
  justify-content: center !important;
  color: #9aacc0 !important;
  border: 1px solid rgba(111, 156, 207, .15) !important;
  border-radius: 13px !important;
  background: rgba(255,255,255,.027) !important;
}
.site-search-tabs button b {
  min-width: 22px !important;
  height: 22px !important;
  display: grid !important;
  place-items: center !important;
  color: #91cfff !important;
  border: 1px solid rgba(79,169,255,.18) !important;
  border-radius: 999px !important;
  background: rgba(43,146,255,.09) !important;
}
.site-search-tabs button.is-active {
  color: #fff !important;
  border-color: rgba(92, 187, 255, .46) !important;
  background: linear-gradient(135deg, rgba(31, 119, 232, .88), rgba(53, 169, 255, .72)) !important;
  box-shadow: 0 9px 23px rgba(28, 119, 230, .18) !important;
}
.site-search-tabs button.is-active b {
  color: #fff !important;
  border-color: rgba(255,255,255,.17) !important;
  background: rgba(255,255,255,.13) !important;
}

.site-search-results {
  max-height: min(48dvh, 410px) !important;
  padding: 2px 12px 12px !important;
  overflow-y: auto !important;
}
.site-search-result {
  min-height: 70px !important;
  display: grid !important;
  grid-template-columns: 48px minmax(0,1fr) auto 20px !important;
  align-items: center !important;
  gap: 11px !important;
  margin-bottom: 7px !important;
  padding: 8px !important;
  color: #dce9f6 !important;
  border: 1px solid rgba(111, 157, 209, .13) !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.025) !important;
}
.site-search-result:hover,
.site-search-result.is-keyboard-active {
  color: #fff !important;
  border-color: rgba(73, 174, 255, .43) !important;
  background: rgba(43,146,255,.105) !important;
  transform: translate3d(3px, 0, 0) !important;
}
.site-search-thumb {
  width: 48px !important;
  height: 52px !important;
  border: 1px solid rgba(142, 186, 232, .18) !important;
  border-radius: 11px !important;
  box-shadow: 0 8px 20px rgba(0,0,0,.22) !important;
}
.site-search-result-user .site-search-thumb { width: 48px !important; height: 48px !important; border-radius: 50% !important; }
.site-search-text { min-width: 0 !important; display: grid !important; gap: 3px !important; }
.site-search-text strong { color: #f4f8fd !important; font-size: 13px !important; }
.site-search-text small { color: #8495aa !important; font-size: 10px !important; }
.site-search-text em {
  width: max-content;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 7px;
  color: #83ccff;
  border-radius: 999px;
  background: rgba(43,146,255,.10);
  font-size: 8.5px;
  font-style: normal;
}
.site-search-status {
  padding: 5px 8px;
  color: #b8ddf8;
  border: 1px solid rgba(91, 178, 244, .22);
  border-radius: 9px;
  background: rgba(43,146,255,.08);
  font-size: 9px;
  white-space: nowrap;
}
.site-search-result > i { color: #62bfff !important; }
.site-search-all {
  display: grid;
  grid-template-columns: 28px minmax(0,1fr) 18px;
  align-items: center;
  gap: 9px;
  margin-top: 4px;
  padding: 11px;
  color: #8ad0ff;
  border: 1px dashed rgba(74, 172, 255, .31);
  border-radius: 13px;
  background: rgba(43,146,255,.055);
  font-size: 10px;
}
.site-search-all:hover { background: rgba(43,146,255,.105); transform: translate3d(0,-2px,0); }
.site-search-empty,
.site-search-loading {
  min-height: 170px !important;
  display: grid !important;
  place-items: center !important;
  align-content: center !important;
  gap: 8px !important;
  padding: 28px !important;
  text-align: center !important;
  color: #7e90a6 !important;
}
.site-search-empty > i {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  color: #63c2ff;
  border: 1px solid rgba(73,174,255,.22);
  border-radius: 15px;
  background: rgba(43,146,255,.10);
  font-size: 18px;
}
.site-search-empty > strong { color: #f1f7fd; font-size: 15px; }
.site-search-empty > span { max-width: 440px; font-size: 11px; line-height: 1.55; }
.site-search-help {
  padding: 9px 12px 12px !important;
  color: #708298 !important;
  border-top: 1px solid rgba(111,157,209,.10) !important;
  font-size: 9px !important;
}
.site-search-help kbd {
  padding: 2px 5px;
  color: #a9cdec;
  border: 1px solid rgba(109,159,210,.18);
  border-radius: 5px;
  background: rgba(255,255,255,.035);
  font: inherit;
}

/* ---------------------------------------------------------------------
   Role badges: restore their actual configured gradients everywhere
   --------------------------------------------------------------------- */
.role-badge,
.credit-chip,
.role-option span {
  background: var(--role-gradient, linear-gradient(135deg, #6b7280, #9ca3af)) !important;
  color: #07111e !important;
  -webkit-text-fill-color: #07111e !important;
  border: 1px solid rgba(255,255,255,.23) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.34), 0 6px 15px rgba(0,0,0,.15) !important;
  text-shadow: 0 1px rgba(255,255,255,.20) !important;
}
.role-badge {
  min-height: 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 4px 10px !important;
  font-size: 10px !important;
  font-weight: 900 !important;
}
.role-option span { opacity: .58 !important; }
.role-option input:checked + span {
  opacity: 1 !important;
  border-color: rgba(255,255,255,.82) !important;
  box-shadow: 0 0 0 3px rgba(43,146,255,.15), inset 0 1px rgba(255,255,255,.35) !important;
  transform: translate3d(0,-1px,0) !important;
}

/* ---------------------------------------------------------------------
   Schedule: balanced heading, count badge and non-stretched poster cards
   --------------------------------------------------------------------- */
.schedule-page > .container > .section-head {
  padding: 22px 24px !important;
  border: 1px solid var(--v92-line) !important;
  border-radius: 21px !important;
  background:
    radial-gradient(circle at 88% 0, rgba(43,146,255,.10), transparent 22rem),
    var(--v92-panel) !important;
  box-shadow: 0 17px 44px rgba(0,0,0,.16) !important;
}
.schedule-day-tabs {
  gap: 8px !important;
  padding: 5px 2px 10px !important;
}
.schedule-day-tabs button {
  min-width: 126px !important;
  min-height: 43px !important;
  padding: 9px 12px !important;
  color: #8293a8 !important;
  border: 1px solid rgba(110,157,209,.15) !important;
  border-radius: 13px !important;
  background: rgba(255,255,255,.025) !important;
}
.schedule-day-tabs button em {
  min-width: 24px !important;
  height: 24px !important;
  color: #8fcfff !important;
  background: rgba(43,146,255,.10) !important;
}
.schedule-day-tabs button.is-active {
  color: #fff !important;
  border-color: rgba(91,185,255,.46) !important;
  background: linear-gradient(135deg, #2079e8, #35a8ff) !important;
}
.schedule-day-tabs button.is-active em { color: #fff !important; background: rgba(255,255,255,.16) !important; }

.schedule-day-panel {
  padding: 20px !important;
  border: 1px solid var(--v92-line) !important;
  border-radius: 21px !important;
  background:
    radial-gradient(circle at 100% 0, rgba(43,146,255,.055), transparent 20rem),
    rgba(10, 18, 30, .72) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.025) !important;
}
.schedule-panel-head {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 14px !important;
  margin-bottom: 16px !important;
}
.schedule-panel-head > div { min-width: 0; }
.schedule-panel-head h2 { margin: 3px 0 0 !important; }
.schedule-panel-head p {
  flex: 0 0 auto;
  margin: 0 !important;
  padding: 6px 10px !important;
  color: #8dcbf6 !important;
  border: 1px solid rgba(79,171,246,.20) !important;
  border-radius: 999px !important;
  background: rgba(43,146,255,.085) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
}
.schedule-poster-grid {
  grid-template-columns: repeat(auto-fill, minmax(160px, 188px)) !important;
  justify-content: start !important;
  gap: 13px !important;
}
.schedule-poster-card {
  border-color: rgba(112,157,208,.17) !important;
  border-radius: 17px !important;
  background: linear-gradient(160deg, rgba(17,28,44,.94), rgba(8,15,25,.97)) !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.17) !important;
}
.schedule-poster-card:hover {
  border-color: rgba(75,175,255,.43) !important;
  box-shadow: 0 18px 38px rgba(0,0,0,.25) !important;
}
.schedule-poster-image em,
.schedule-poster-image b {
  color: #f1f8ff !important;
  border: 1px solid rgba(138,185,230,.16) !important;
  background: rgba(4,11,20,.78) !important;
}
.schedule-poster-copy { padding: 11px !important; }
.schedule-poster-copy strong { color: #f1f6fc !important; }
.schedule-poster-copy small { color: #8091a6 !important; }

/* ---------------------------------------------------------------------
   Profile: clear blue frame and readable role/stats surfaces
   --------------------------------------------------------------------- */
.profile-public-card {
  border: 1px solid rgba(67, 162, 247, .34) !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 92% 0, rgba(43,146,255,.08), transparent 27rem),
    linear-gradient(155deg, rgba(14,24,39,.97), rgba(7,13,22,.985)) !important;
  box-shadow: 0 24px 66px rgba(0,0,0,.28), 0 0 0 1px rgba(43,146,255,.035) !important;
}
.profile-banner {
  border: 1px solid rgba(116, 180, 238, .24) !important;
  border-radius: 20px 20px 16px 16px !important;
  box-shadow: inset 0 -70px 85px rgba(3,8,16,.48) !important;
}
.profile-stats .profile-stat-link {
  border-color: rgba(113,158,209,.17) !important;
  background: linear-gradient(145deg, rgba(22,36,54,.76), rgba(10,18,30,.82)) !important;
}
.profile-stats .profile-stat-link:hover {
  border-color: rgba(77,176,255,.40) !important;
  background: rgba(43,146,255,.10) !important;
}
.profile-level-main,
.profile-watch-card {
  border: 1px solid rgba(112,157,207,.15) !important;
  background: rgba(255,255,255,.024) !important;
}

/* ---------------------------------------------------------------------
   Recommendations: one aligned rounded panel with consistent cards
   --------------------------------------------------------------------- */
.recommendations-section {
  width: min(1120px, calc(100vw - 36px)) !important;
  max-width: 1120px !important;
  margin: 22px auto 14px !important;
  padding: 18px !important;
  border: 1px solid var(--v92-line) !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 100% 0, rgba(43,146,255,.07), transparent 22rem),
    var(--v92-panel) !important;
  box-shadow: 0 18px 46px rgba(0,0,0,.18) !important;
}
.recommendations-section > .section-head {
  margin: 0 0 12px !important;
  padding: 0 2px !important;
  text-align: left !important;
}
.recommendations-section h2 { margin: 4px 0 0 !important; font-size: 24px !important; }
.recommendations-carousel { gap: 9px !important; }
.recommendations-row {
  gap: 12px !important;
  padding: 2px 2px 8px !important;
  align-items: start !important;
}
.recommend-card {
  flex: 0 0 126px !important;
  width: 126px !important;
  min-width: 126px !important;
  padding: 7px !important;
  border: 1px solid transparent;
  border-radius: 16px !important;
}
.recommend-card:hover {
  border-color: rgba(74,174,255,.28) !important;
  background: rgba(43,146,255,.065) !important;
}
.recommend-poster {
  width: 112px !important;
  height: 160px !important;
  margin-inline: auto !important;
  border-radius: 13px !important;
}
.recommend-card strong {
  margin-top: 8px !important;
  color: #eef5fc !important;
  font-size: 10.5px !important;
  line-height: 1.35 !important;
  white-space: normal !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
}
.recommend-card small { color: #7f90a5 !important; font-size: 8.5px !important; }
.recommend-arrow {
  color: #a9d8fa !important;
  border-color: rgba(86,174,245,.24) !important;
  background: rgba(12,25,40,.92) !important;
}

/* ---------------------------------------------------------------------
   Comments: rounded cards, clearer tools and collapsible reply count
   --------------------------------------------------------------------- */
.release-community-title-v87 { margin-bottom: 12px !important; }
.comments-block,
.rate-card {
  border: 1px solid var(--v92-line) !important;
  border-radius: 21px !important;
  background:
    radial-gradient(circle at 100% 0, rgba(43,146,255,.055), transparent 20rem),
    var(--v92-panel) !important;
}
.comments-block { padding: 17px !important; }
.comment-form textarea {
  border-radius: 14px !important;
  border-color: rgba(113,158,209,.18) !important;
  background: rgba(3,10,18,.44) !important;
}
.sticker-bar button {
  color: #a9c7e4 !important;
  border: 1px solid rgba(111,157,208,.16) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.03) !important;
}
.sticker-bar button:hover { color: #fff !important; background: rgba(43,146,255,.11) !important; }
.comment-list { gap: 10px !important; }
.comment {
  min-width: 0;
  padding: 12px !important;
  border: 1px solid rgba(113,158,209,.15) !important;
  border-radius: 17px !important;
  background: linear-gradient(145deg, rgba(21,34,51,.67), rgba(9,16,27,.76)) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.025) !important;
}
.comment:hover { border-color: rgba(73,173,255,.30) !important; }
.comment > .avatar { flex: 0 0 auto; }
.comment-body { min-width: 0; }
.comment-body p { color: #cbd8e6 !important; line-height: 1.58 !important; }
.comment-tools { gap: 7px !important; margin-top: 8px !important; }
.comment-date {
  padding: 5px 8px;
  border-radius: 999px;
  color: #74879d !important;
  background: rgba(255,255,255,.025);
  font-size: 10px !important;
}
.comment-vote-btn,
.comment-reply-toggle,
.comment-thread-toggle {
  min-height: 29px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 5px 9px !important;
  color: #8fc9f2 !important;
  border: 1px solid rgba(101,158,211,.16) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.025) !important;
  font-family: var(--font-body) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  cursor: pointer;
}
.comment-vote-btn:hover,
.comment-reply-toggle:hover,
.comment-thread-toggle:hover,
.comment-thread-toggle.is-open {
  color: #fff !important;
  border-color: rgba(71,173,255,.35) !important;
  background: rgba(43,146,255,.105) !important;
}
.comment-thread-toggle b {
  min-width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  color: #bce3ff;
  border-radius: 999px;
  background: rgba(43,146,255,.14);
  font-size: 9px;
}
.comment-replies[hidden] { display: none !important; }
.comment-replies {
  gap: 9px !important;
  margin-top: 11px !important;
  padding: 10px 0 0 14px !important;
  border-left: 2px solid rgba(61,161,244,.22) !important;
  opacity: 0;
  transform: translate3d(0,-5px,0);
}
.comment-replies.is-visible {
  opacity: 1;
  transform: translate3d(0,0,0);
  transition: opacity .24s var(--v92-ease), transform .24s var(--v92-ease);
}
.comment.comment-reply {
  padding: 10px !important;
  border-radius: 14px !important;
  background: rgba(43,146,255,.035) !important;
}
.comment-reply-form {
  border-radius: 14px !important;
  border-color: rgba(77,174,255,.21) !important;
  background: rgba(43,146,255,.04) !important;
}

/* ---------------------------------------------------------------------
   Admin: balanced brand, icon tiles and readable panels
   --------------------------------------------------------------------- */
.admin-body {
  background:
    radial-gradient(circle at 25% 0, rgba(43,146,255,.08), transparent 30rem),
    #060d16 !important;
}
.admin-sidebar {
  border-right: 1px solid rgba(111,158,209,.14) !important;
  background: rgba(7,16,28,.96) !important;
}
.admin-brand {
  min-height: 62px !important;
  display: grid !important;
  grid-template-columns: 44px minmax(0,1fr) !important;
  align-items: center !important;
  gap: 11px !important;
  padding: 9px !important;
  border: 1px solid rgba(84,174,255,.24) !important;
  border-radius: 16px !important;
  background:
    radial-gradient(circle at 100% 0, rgba(43,146,255,.13), transparent 12rem),
    linear-gradient(145deg, rgba(20,40,65,.86), rgba(9,20,35,.94)) !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.16), inset 0 1px rgba(255,255,255,.035) !important;
}
.admin-brand .admin-sp-logo {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  border-radius: 13px !important;
}
.admin-brand-copy { display: grid !important; gap: 3px !important; min-width: 0 !important; }
.admin-brand-copy strong {
  overflow: hidden;
  color: #f4f9ff !important;
  font-size: 12px !important;
  line-height: 1.05 !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.admin-brand-copy small {
  overflow: hidden;
  color: #68c2ff !important;
  font-size: 7px !important;
  letter-spacing: .075em !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.admin-nav { gap: 5px !important; }
.admin-nav a {
  min-height: 44px !important;
  display: grid !important;
  grid-template-columns: 30px minmax(0,1fr) !important;
  align-items: center !important;
  gap: 9px !important;
  padding: 6px 10px !important;
  color: #91a6bc !important;
  border: 1px solid transparent !important;
  border-radius: 12px !important;
}
.admin-nav a i {
  width: 30px !important;
  height: 30px !important;
  display: grid !important;
  place-items: center !important;
  color: #6dbfff !important;
  border: 1px solid rgba(92,169,234,.14) !important;
  border-radius: 10px !important;
  background: rgba(43,146,255,.075) !important;
  font-size: 12px !important;
}
.admin-nav a:hover {
  color: #eef7ff !important;
  border-color: rgba(79,171,247,.18) !important;
  background: rgba(43,146,255,.06) !important;
}
.admin-nav a.active {
  color: #fff !important;
  border-color: rgba(93,186,255,.39) !important;
  background: linear-gradient(135deg, rgba(31,117,230,.74), rgba(50,165,255,.40)) !important;
  box-shadow: 0 10px 25px rgba(25,111,223,.14), inset 0 1px rgba(255,255,255,.06) !important;
}
.admin-nav a.active i {
  color: #fff !important;
  border-color: rgba(255,255,255,.16) !important;
  background: rgba(255,255,255,.13) !important;
}
.admin-topbar {
  border-bottom: 1px solid rgba(111,158,209,.13) !important;
  background: rgba(5,12,21,.90) !important;
  backdrop-filter: blur(18px) !important;
}
.admin-topbar-title small { color: #65bfff !important; }
.admin-topbar-title strong { color: #f2f7fd !important; }
.admin-topbar .btn-icon {
  width: 40px !important;
  height: 40px !important;
  display: grid !important;
  place-items: center !important;
  color: #9bc5e6 !important;
  border: 1px solid rgba(111,158,209,.17) !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.027) !important;
}
.admin-topbar .btn-icon:hover { color: #fff !important; background: rgba(43,146,255,.11) !important; }
.admin-main > h1 { color: #f1f7fd !important; }
.admin-panel,
.stat-card {
  border: 1px solid rgba(111,158,209,.17) !important;
  border-radius: 19px !important;
  background:
    radial-gradient(circle at 100% 0, rgba(43,146,255,.055), transparent 18rem),
    var(--v92-panel) !important;
  box-shadow: 0 15px 38px rgba(0,0,0,.16) !important;
}
.stat-card > i {
  width: 42px !important;
  height: 42px !important;
  display: grid !important;
  place-items: center !important;
  color: #69c3ff !important;
  border: 1px solid rgba(82,174,249,.18) !important;
  border-radius: 13px !important;
  background: rgba(43,146,255,.09) !important;
}
.admin-table thead th {
  color: #7fa4c5 !important;
  background: rgba(43,146,255,.05) !important;
}
.admin-table tbody tr:hover { background: rgba(43,146,255,.055) !important; }

/* ---------------------------------------------------------------------
   Responsive corrections
   --------------------------------------------------------------------- */
@media (max-width: 1100px) {
  .schedule-poster-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)) !important; }
  .site-search-result { grid-template-columns: 48px minmax(0,1fr) 18px !important; }
  .site-search-status { display: none !important; }
}

@media (max-width: 900px) {
  .admin-brand-copy { display: grid !important; }
  .admin-brand { width: 100% !important; padding: 8px !important; border: 1px solid rgba(84,174,255,.22) !important; background: linear-gradient(145deg, rgba(20,40,65,.86), rgba(9,20,35,.94)) !important; }
  .recommendations-section { width: calc(100vw - 28px) !important; padding: 15px !important; }
}

@media (max-width: 700px) {
  .site-header .header-inner { padding-block: 8px !important; }
  .site-header .global-search { min-height: 40px !important; }
  .site-search-popover-card { width: calc(100vw - 18px) !important; border-radius: 18px !important; }
  .site-search-field { margin: 9px !important; }
  .site-search-tabs { padding-inline: 9px !important; }
  .site-search-results { padding-inline: 9px !important; }
  .site-search-result { grid-template-columns: 44px minmax(0,1fr) 16px !important; min-height: 64px !important; }
  .site-search-thumb { width: 44px !important; height: 48px !important; }
  .site-search-help { display: none !important; }
  .schedule-page > .container > .section-head { padding: 18px !important; }
  .schedule-panel-head { align-items: flex-start !important; gap: 9px !important; }
  .schedule-poster-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  .recommendations-section { width: calc(100vw - 22px) !important; padding: 13px !important; }
  .comment { padding: 10px !important; }
  .comment-thread-toggle span { display: none; }
}

@media (max-width: 430px) {
  .site-header .logo-sp-word { width: 38px !important; height: 38px !important; flex-basis: 38px !important; }
  .site-search-tabs button span { display: inline !important; }
  .schedule-day-tabs button { min-width: 112px !important; }
  .schedule-poster-grid { gap: 9px !important; }
  .schedule-poster-copy { padding: 9px !important; }
  .comment > .avatar { width: 34px !important; height: 34px !important; }
  .comment-tools { gap: 5px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .site-header,
  .site-header *,
  .comment-replies,
  .admin-nav a,
  .admin-nav a i { transition: none !important; }
}
