/* =====================================================================
   SORA Project v99 — header frame parity, verification alignment,
   balanced admin dashboard, five-star display and final visual cleanup.
   ===================================================================== */
:root {
  --v99-accent: var(--sora-accent, #2998f6);
  --v99-accent-2: var(--sora-accent-2, #28c4f4);
  --v99-ease: cubic-bezier(.25, 1, .5, 1);
  --v99-admin-sidebar: 208px;
  --v99-panel: linear-gradient(145deg, rgba(16, 31, 50, .98), rgba(8, 19, 33, .98));
  --v99-line: rgba(83, 176, 237, .16);
}

/* ---------------------------------------------------------------------
   Header profile: show the actual frame ring, never crop the nickname,
   and keep the check directly beside the final character.
   --------------------------------------------------------------------- */
.site-header,
.header-inner,
.main-nav,
.user-chip {
  overflow: visible !important;
}
.user-chip {
  min-width: max-content !important;
  max-width: none !important;
  min-height: 48px !important;
  padding: 4px 8px 4px 7px !important;
  gap: 8px !important;
}
.user-chip .avatar-frame-compact {
  position: relative !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  flex: 0 0 38px !important;
  border: 2px solid #07111e !important;
  outline: 1px solid color-mix(in srgb, var(--frame-ring, #4ab8ff) 78%, white 22%) !important;
  outline-offset: 2px !important;
  box-shadow:
    0 0 0 3px color-mix(in srgb, var(--frame-ring, #4ab8ff) 72%, transparent),
    0 5px 14px rgba(0,0,0,.34),
    0 0 15px var(--frame-glow, rgba(41,152,246,.28)) !important;
  isolation: isolate !important;
}
.user-chip .avatar-frame-compact::before {
  --frame-scale: .48 !important;
  top: -13px !important;
  z-index: 5 !important;
}
.user-chip .avatar-frame-compact::after { display: none !important; }
.user-chip-identity {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 5px !important;
  min-width: 0 !important;
  max-width: none !important;
  white-space: nowrap !important;
}
.user-chip-name,
.user-chip-name.nick-style {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
  padding: 5px 10px !important;
  font-size: 12.5px !important;
}
.user-chip.is-long-name .user-chip-name {
  padding-inline: 8px !important;
  font-size: 11px !important;
  letter-spacing: -.02em !important;
}
.user-chip-identity .verified-badge {
  position: static !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  flex: 0 0 16px !important;
  margin: 0 !important;
  align-self: center !important;
  vertical-align: middle !important;
  transform: none !important;
}

/* ---------------------------------------------------------------------
   Team/profile names: full text, no ellipsis, check centered after name.
   --------------------------------------------------------------------- */
.team-card .team-member-line {
  width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  gap: 7px !important;
}
.team-card .team-name-row {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  line-height: 1.24 !important;
}
.team-card .team-member-name {
  display: inline !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  line-height: 1.24 !important;
}
.team-card .team-name-row .verified-badge {
  display: inline-grid !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  margin: 0 0 0 5px !important;
  vertical-align: -2px !important;
  transform: none !important;
}
.profile-name-row {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  width: auto !important;
  max-width: 100% !important;
}
.profile-name {
  max-width: 100% !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
.profile-name-row .verified-badge {
  flex: 0 0 17px !important;
  width: 17px !important;
  height: 17px !important;
  min-width: 17px !important;
  min-height: 17px !important;
  margin: 0 !important;
  align-self: center !important;
}

/* ---------------------------------------------------------------------
   Search: blue close button, no purple leftovers.
   --------------------------------------------------------------------- */
.site-search-close {
  color: #fff !important;
  border: 1px solid rgba(153, 228, 255, .46) !important;
  background: linear-gradient(135deg, #157bdc, #22bce9) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.25), 0 7px 18px rgba(25,146,218,.22) !important;
}
.site-search-close i { color: #fff !important; }
.site-search-close:hover,
.site-search-close:focus-visible {
  color: #fff !important;
  border-color: rgba(213, 247, 255, .80) !important;
  background: linear-gradient(135deg, #168bed, #38cdec) !important;
  transform: translate3d(0, -1px, 0) !important;
}

/* ---------------------------------------------------------------------
   Recommendations: only one short heading, aligned with the cards.
   --------------------------------------------------------------------- */
.release-page .recommendations-section {
  width: min(980px, calc(100vw - 32px)) !important;
  margin: 22px auto 18px !important;
  padding: 18px 20px 16px !important;
  border-radius: 24px !important;
}
.release-page .recommendations-heading,
.release-page .recommendations-section > .recommendations-heading {
  display: block !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 2px 12px !important;
  border-bottom: 1px solid rgba(122,177,220,.10) !important;
  text-align: left !important;
}
.release-page .recommendations-heading h2 {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: clamp(20px, 1.5vw, 24px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em !important;
  text-align: left !important;
  white-space: normal !important;
}
.release-page .recommendations-carousel { margin-top: 12px !important; }
.release-page .recommendations-row {
  justify-content: flex-start !important;
  gap: 11px !important;
  padding: 2px 2px 8px !important;
}
.release-page .recommend-card {
  flex: 0 0 124px !important;
  width: 124px !important;
  min-width: 124px !important;
}

/* ---------------------------------------------------------------------
   Five-star rating: larger digits, balanced button spacing.
   --------------------------------------------------------------------- */
.release-sidebar .rate-card,
.rate-card {
  width: 100% !important;
  max-width: 252px !important;
  padding: 17px !important;
  border-radius: 22px !important;
}
.rate-card h3 {
  margin: 0 0 13px !important;
  font-size: 17px !important;
}
.rate-form {
  display: grid !important;
  gap: 13px !important;
}
.rate-form .score-picker-stars {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(38px, 1fr)) !important;
  gap: 8px !important;
  margin: 0 !important;
}
.rate-form .score-picker-stars label,
.rate-form .score-picker-stars label > span {
  width: 100% !important;
  min-width: 0 !important;
  height: 46px !important;
}
.rate-form .score-picker-stars label > span {
  display: grid !important;
  grid-template-rows: auto auto !important;
  place-items: center !important;
  align-content: center !important;
  gap: 2px !important;
  border-radius: 14px !important;
}
.rate-form .score-picker-stars i { font-size: 15px !important; }
.rate-form .score-picker-stars b {
  font-size: 12px !important;
  line-height: 1 !important;
}
.rate-card .btn-block {
  min-height: 43px !important;
  margin: 0 !important;
  border-radius: 15px !important;
}

/* ---------------------------------------------------------------------
   Poster: clean clipped image with no edge pixels or decorative overlay.
   --------------------------------------------------------------------- */
.release-page .release-hero-poster {
  overflow: hidden !important;
  border: 0 !important;
  outline: 0 !important;
  background-color: #07111d !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center top !important;
  background-origin: border-box !important;
  background-clip: border-box !important;
  image-rendering: auto !important;
  clip-path: inset(0 round 20px) !important;
  -webkit-mask-image: -webkit-radial-gradient(white, black) !important;
  transform: translateZ(0) !important;
}
.release-page .release-hero-poster::before,
.release-page .release-hero-poster::after { display: none !important; content: none !important; }

/* ---------------------------------------------------------------------
   Admin: medium-sized, convenient dashboard with the reference structure.
   --------------------------------------------------------------------- */
.admin-sidebar {
  width: var(--v99-admin-sidebar) !important;
  padding: 11px 10px 16px !important;
  gap: 10px !important;
}
.admin-brand.admin-brand-text-only {
  min-height: 61px !important;
  padding: 11px 12px !important;
  border-radius: 15px !important;
}
.admin-brand-text-only .admin-brand-copy strong {
  font-size: 15px !important;
  line-height: 1.05 !important;
}
.admin-brand-text-only .admin-brand-copy small {
  font-size: 9px !important;
  line-height: 1.1 !important;
}
.admin-nav { gap: 3px !important; }
.admin-nav a {
  min-height: 40px !important;
  padding: 5px 8px !important;
  gap: 8px !important;
  border-radius: 11px !important;
  font-size: 12px !important;
}
.admin-nav a i {
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  border-radius: 9px !important;
  font-size: 11.5px !important;
}
.admin-content {
  width: calc(100% - var(--v99-admin-sidebar)) !important;
  min-width: 0 !important;
}
.admin-topbar {
  min-height: 62px !important;
  padding: 8px 18px !important;
}
.admin-main {
  width: 100% !important;
  max-width: 1480px !important;
  margin: 0 !important;
  padding: 20px 22px 30px !important;
}
.admin-page-heading.admin-dashboard-heading-v99 {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin-bottom: 15px !important;
}
.admin-dashboard-heading-v99 h1 {
  margin: 3px 0 4px !important;
  font-size: clamp(27px, 2.15vw, 34px) !important;
  line-height: 1 !important;
}
.admin-dashboard-heading-v99 p { margin: 0 !important; font-size: 12.5px !important; }
.admin-page-actions { display: flex !important; gap: 8px !important; }
.admin-page-actions .btn { min-height: 40px !important; padding-inline: 13px !important; }

.stats-grid.admin-dashboard-stats-v99 {
  grid-template-columns: repeat(4, minmax(165px, 1fr)) !important;
  gap: 11px !important;
  margin: 0 0 14px !important;
}
.admin-dashboard-stats-v99 .stat-card {
  position: relative !important;
  min-height: 86px !important;
  padding: 13px 14px !important;
  gap: 11px !important;
  border-radius: 17px !important;
  background:
    radial-gradient(circle at 90% 0%, rgba(45,168,242,.12), transparent 45%),
    var(--v99-panel) !important;
  box-shadow: none !important;
}
.admin-dashboard-stats-v99 .stat-card > i {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  border-radius: 12px !important;
  font-size: 16px !important;
}
.admin-dashboard-stats-v99 .stat-num { font-size: 27px !important; }
.admin-dashboard-stats-v99 .stat-label { font-size: 10px !important; }
.admin-dashboard-stats-v99 .stat-card > b {
  margin-left: auto !important;
  align-self: flex-end !important;
  color: #5cbcff !important;
  font-size: 8px !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
}
.admin-dashboard-stats-v99 .stat-card > b i { margin-left: 4px !important; }

.admin-dashboard-grid-v99 {
  display: grid !important;
  grid-template-columns: minmax(0, 1.55fr) minmax(310px, .72fr) !important;
  gap: 14px !important;
  align-items: start !important;
}
.admin-dashboard-side-v99 {
  display: grid !important;
  gap: 14px !important;
}
.admin-panel {
  padding: 17px !important;
  border-radius: 19px !important;
}
.admin-panel .panel-head { margin-bottom: 12px !important; }
.admin-panel .panel-head h2 { margin: 3px 0 0 !important; font-size: 18px !important; }
.section-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: #63c1ff !important;
  font-size: 10.5px !important;
  font-weight: 850 !important;
}
.admin-release-list-v99 { display: grid !important; gap: 7px !important; }
.admin-release-list-v99 article {
  display: grid !important;
  grid-template-columns: 50px minmax(0,1fr) auto auto !important;
  align-items: center !important;
  gap: 11px !important;
  min-height: 64px !important;
  padding: 7px 9px !important;
  border: 1px solid transparent !important;
  border-radius: 13px !important;
  background: rgba(255,255,255,.023) !important;
  transition: transform .2s var(--v99-ease), border-color .2s ease, background-color .2s ease !important;
}
.admin-release-list-v99 article:hover {
  transform: translate3d(2px,0,0) !important;
  border-color: rgba(65,155,255,.25) !important;
  background: rgba(37,135,255,.055) !important;
}
.admin-release-cover-v99 {
  width: 50px !important;
  aspect-ratio: 2 / 3 !important;
  border-radius: 9px !important;
  background-size: cover !important;
  background-position: center !important;
  border: 1px solid rgba(105,179,230,.14) !important;
}
.admin-release-copy-v99 { min-width: 0 !important; display: grid !important; gap: 4px !important; }
.admin-release-copy-v99 strong {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 12px !important;
}
.admin-release-copy-v99 small { color: var(--text-muted) !important; font-size: 9px !important; }
.admin-row-action { min-height: 32px !important; padding: 6px 9px !important; }

.admin-status-list-v99 { display: grid !important; gap: 12px !important; }
.admin-status-list-v99 > div { display: grid !important; gap: 7px !important; }
.admin-status-list-v99 span {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  color: #aebed1 !important;
  font-size: 11px !important;
}
.admin-status-list-v99 span b { margin-left: auto !important; color: #eaf6ff !important; }
.admin-status-list-v99 em {
  height: 6px !important;
  overflow: hidden !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.07) !important;
}
.admin-status-list-v99 em i { display: block !important; height: 100% !important; border-radius: inherit !important; background: #2998f6 !important; }
.admin-status-list-v99 > div:nth-child(2) em i { background: #f4aa3c !important; }
.admin-status-list-v99 > div:nth-child(3) em i { background: #38d39a !important; }
.status-dot { width: 7px !important; height: 7px !important; border-radius: 50% !important; background: #2998f6 !important; }
.status-dot-work { background: #f4aa3c !important; }
.status-dot-done { background: #38d39a !important; }

.admin-quick-grid-v99 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 8px !important;
}
.admin-quick-grid-v99 a {
  min-height: 78px !important;
  display: grid !important;
  grid-template-columns: 38px minmax(0,1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px !important;
  border: 1px solid var(--v99-line) !important;
  border-radius: 13px !important;
  background: rgba(255,255,255,.022) !important;
  transition: transform .2s var(--v99-ease), border-color .2s ease, background-color .2s ease !important;
}
.admin-quick-grid-v99 a:hover {
  transform: translate3d(0,-2px,0) !important;
  border-color: rgba(61,156,255,.34) !important;
  background: rgba(37,135,255,.065) !important;
}
.admin-quick-grid-v99 a > i {
  width: 38px !important;
  height: 38px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 11px !important;
  color: #65c2ff !important;
  background: rgba(37,135,255,.11) !important;
}
.admin-quick-grid-v99 span { min-width: 0 !important; display: grid !important; gap: 4px !important; }
.admin-quick-grid-v99 strong { font-size: 11px !important; }
.admin-quick-grid-v99 small { color: var(--text-muted) !important; font-size: 8.5px !important; }

.admin-dashboard-bottom-v99 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 14px !important;
  margin-top: 14px !important;
}
.admin-comment-feed-v99,
.admin-nearest-schedule-v99 { display: grid !important; gap: 7px !important; }
.admin-comment-feed-v99 > a {
  display: grid !important;
  grid-template-columns: 38px minmax(0,1fr) auto !important;
  align-items: start !important;
  gap: 10px !important;
  padding: 9px !important;
  border: 1px solid transparent !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.02) !important;
}
.admin-comment-feed-v99 > a:hover { border-color: rgba(65,155,255,.24) !important; background: rgba(37,135,255,.045) !important; }
.admin-comment-feed-v99 .avatar { width: 38px !important; height: 38px !important; }
.admin-comment-feed-v99 span:nth-child(2) { min-width:0 !important; display:grid !important; grid-template-columns:auto 1fr !important; gap:2px 8px !important; }
.admin-comment-feed-v99 strong { font-size:11px !important; }
.admin-comment-feed-v99 small { overflow:hidden !important; color:#6288b7 !important; font-size:9px !important; white-space:nowrap !important; text-overflow:ellipsis !important; }
.admin-comment-feed-v99 p { grid-column:1/-1 !important; margin:3px 0 0 !important; color:#9aa8ba !important; font-size:10px !important; line-height:1.45 !important; }
.admin-comment-feed-v99 time { color:#65758b !important; font-size:8px !important; white-space:nowrap !important; }
.admin-nearest-schedule-v99 article {
  display:grid !important;
  grid-template-columns:48px minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:10px !important;
  padding:7px !important;
  border:1px solid transparent !important;
  border-radius:12px !important;
  background:rgba(255,255,255,.02) !important;
}
.admin-nearest-schedule-v99 article:hover { border-color: rgba(65,155,255,.24) !important; }
.admin-nearest-schedule-v99 article > span:nth-child(2) { min-width:0 !important; display:grid !important; gap:4px !important; }
.admin-nearest-schedule-v99 strong { overflow:hidden !important; font-size:11px !important; white-space:nowrap !important; text-overflow:ellipsis !important; }
.admin-nearest-schedule-v99 small { color:var(--text-muted) !important; font-size:9px !important; }
.admin-nearest-schedule-v99 > article > i { color:#61748d !important; font-size:9px !important; }

/* Frame selector stays detailed without oversized controls. */
.profile-edit-card .avatar-frame-choice { min-height: 112px !important; }
.profile-edit-card .avatar-frame-preview {
  width: 61px !important;
  height: 61px !important;
  min-width: 61px !important;
  min-height: 61px !important;
}

/* Light theme parity. */
:root[data-theme="light"] .admin-dashboard-stats-v99 .stat-card,
:root[data-theme="light"] .admin-panel {
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(244,249,255,.96)) !important;
}
:root[data-theme="light"] .release-page .recommendations-heading h2 { color: #14243a !important; }
:root[data-theme="light"] .site-search-close { color: #fff !important; }

@media (max-width: 1180px) {
  :root { --v99-admin-sidebar: 194px; }
  .admin-main { max-width: 1240px !important; padding-inline: 16px !important; }
  .admin-nav a { font-size: 11.5px !important; }
  .admin-dashboard-grid-v99 { grid-template-columns: minmax(0,1.35fr) minmax(285px,.7fr) !important; }
}
@media (max-width: 1020px) {
  .admin-dashboard-grid-v99 { grid-template-columns: 1fr !important; }
  .admin-dashboard-side-v99 { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .admin-dashboard-bottom-v99 { grid-template-columns: 1fr !important; }
  .stats-grid.admin-dashboard-stats-v99 { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width: 980px) {
  .admin-sidebar { width: min(236px, 86vw) !important; }
  .admin-content { width: 100% !important; }
  .admin-main { max-width: none !important; padding: 18px 15px 24px !important; }
}
@media (max-width: 760px) {
  .user-chip { min-height: 44px !important; }
  .user-chip .avatar-frame-compact { width: 34px !important; height: 34px !important; min-width:34px !important; min-height:34px !important; flex-basis:34px !important; }
  .user-chip-name { font-size: 11px !important; padding-inline: 8px !important; }
  .release-page .recommendations-section { width: calc(100vw - 22px) !important; padding: 15px 13px 13px !important; border-radius: 20px !important; }
  .release-page .recommend-card { flex-basis: 112px !important; width: 112px !important; min-width:112px !important; }
  .admin-page-heading.admin-dashboard-heading-v99 { align-items:flex-start !important; flex-direction:column !important; }
  .admin-page-actions { width:100% !important; }
  .admin-page-actions .btn { flex:1 !important; }
  .admin-dashboard-side-v99 { grid-template-columns:1fr !important; }
  .admin-release-list-v99 article { grid-template-columns:44px minmax(0,1fr) auto !important; }
  .admin-release-list-v99 article > .admin-release-status { display:none !important; }
  .admin-quick-grid-v99 { grid-template-columns:1fr 1fr !important; }
  .rate-card { max-width:none !important; }
}
@media (max-width: 560px) {
  .team-card .team-member-name { font-size: 14px !important; }
  .team-card .team-name-row .verified-badge { width:15px !important; height:15px !important; min-width:15px !important; min-height:15px !important; }
  .stats-grid.admin-dashboard-stats-v99 { gap:8px !important; }
  .admin-dashboard-stats-v99 .stat-card { min-height:76px !important; padding:10px 11px !important; }
  .admin-dashboard-stats-v99 .stat-card > b { display:none !important; }
  .admin-quick-grid-v99 { grid-template-columns:1fr !important; }
  .admin-comment-feed-v99 > a { grid-template-columns:34px minmax(0,1fr) !important; }
  .admin-comment-feed-v99 time { display:none !important; }
  .rate-form .score-picker-stars { grid-template-columns:repeat(5,minmax(34px,1fr)) !important; gap:6px !important; }
  .rate-form .score-picker-stars label,
  .rate-form .score-picker-stars label > span { height:43px !important; }
}
@media (max-width: 390px) {
  .user-chip-identity .verified-badge { width:14px !important; height:14px !important; min-width:14px !important; min-height:14px !important; flex-basis:14px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .admin-release-list-v99 article,
  .admin-quick-grid-v99 a,
  .site-search-close { transition: none !important; }
}
