/* SHAAFT PLAY — unified streaming design layer
 * Keeps the existing templates functional while giving user and admin pages
 * one restrained navy/gold visual language. New work should use these tokens.
 */
:root {
  --sp-bg: #050a12;
  --sp-bg-soft: #08111d;
  --sp-surface: #0c1522;
  --sp-surface-raised: #101b2a;
  --sp-surface-hover: #142132;
  --sp-border: rgba(154, 174, 201, .14);
  --sp-border-strong: rgba(154, 174, 201, .24);
  --sp-text: #f5f7fb;
  --sp-muted: #97a5b8;
  --sp-dim: #66758a;
  --sp-gold: #d8ad45;
  --sp-gold-bright: #f0ca69;
  --sp-blue: #5aa7e8;
  --sp-success: #3bc982;
  --sp-warning: #edae4f;
  --sp-danger: #ee6470;
  --sp-radius-sm: 9px;
  --sp-radius: 13px;
  --sp-radius-lg: 18px;
  --sp-shadow: 0 18px 45px rgba(0, 0, 0, .28);
  --sp-sidebar: 232px;
}

html,
body {
  background: radial-gradient(circle at 72% -20%, rgba(62, 105, 151, .10), transparent 38%), var(--sp-bg) !important;
  color: var(--sp-text) !important;
}

body {
  letter-spacing: -.008em;
}

/* Navigation */
.sidebar-nav {
  width: var(--sp-sidebar) !important;
  padding: 18px 13px 16px !important;
  background: linear-gradient(180deg, #08111d, #060c15) !important;
  border-right: 1px solid var(--sp-border) !important;
  box-shadow: none !important;
}

.sidebar-brand-premium {
  min-height: 76px !important;
  margin: 0 7px 13px !important;
  justify-content: flex-start !important;
}

.sidebar-brand-logo-img {
  width: auto !important;
  height: 64px !important;
  max-width: 100% !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: left center !important;
}

.sidebar-nav-scroll {
  padding-right: 2px !important;
}

.sidebar-section {
  margin: 14px 9px 5px !important;
  padding: 0 !important;
  color: #68778b !important;
  font-size: 9px !important;
  letter-spacing: .15em !important;
  font-weight: 800 !important;
}

.sidebar-link {
  min-height: 43px !important;
  height: 43px !important;
  margin: 2px 0 !important;
  padding: 0 11px !important;
  gap: 11px !important;
  border: 1px solid transparent !important;
  border-radius: 11px !important;
  background: transparent !important;
  color: #aeb9c8 !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}

.sidebar-link:hover {
  transform: none !important;
  background: rgba(255, 255, 255, .035) !important;
  color: var(--sp-text) !important;
  border-color: rgba(255, 255, 255, .045) !important;
  box-shadow: none !important;
}

.sidebar-link.active {
  background: linear-gradient(90deg, rgba(216, 173, 69, .17), rgba(216, 173, 69, .065)) !important;
  border-color: rgba(216, 173, 69, .18) !important;
  color: var(--sp-gold-bright) !important;
  box-shadow: inset 2px 0 0 var(--sp-gold) !important;
}

.sidebar-link.active::after {
  display: none !important;
}

.sidebar-link .sidebar-icon,
.sidebar-link .sidebar-icon.gold-nav-icon {
  width: 22px !important;
  min-width: 22px !important;
  height: 22px !important;
  display: grid !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: currentColor !important;
  box-shadow: none !important;
}

.sidebar-link .shaaft-gold-svg-icon {
  width: 18px !important;
  height: 18px !important;
  color: currentColor !important;
  filter: none !important;
}

.sidebar-profile-card {
  margin: 10px 0 0 !important;
  padding: 10px !important;
  background: rgba(255, 255, 255, .025) !important;
  border: 1px solid var(--sp-border) !important;
  border-radius: var(--sp-radius) !important;
  box-shadow: none !important;
}

.sidebar-profile-avatar {
  width: 35px !important;
  height: 35px !important;
  border: 1px solid rgba(216, 173, 69, .5) !important;
  box-shadow: none !important;
}

.sidebar-profile-name { color: var(--sp-text) !important; }
.sidebar-profile-logout { color: var(--sp-muted) !important; font-size: 11px !important; }
.sidebar-profile-tools { margin-top: 8px !important; justify-content: space-between !important; }
.sidebar-profile-settings { color: var(--sp-muted); font-size: 10.5px; text-decoration: none; }
.sidebar-profile-settings:hover { color: var(--sp-gold-bright); }
.sidebar-profile-tools button {
  width: 28px !important;
  height: 25px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 1px solid var(--sp-border) !important;
  color: var(--sp-muted) !important;
  box-shadow: none !important;
}

.sidebar-collapse-toggle {
  left: calc(var(--sp-sidebar) - 1px) !important;
  background: var(--sp-bg-soft) !important;
  color: var(--sp-muted) !important;
  border-color: var(--sp-border) !important;
  box-shadow: none !important;
}

.page-root { margin-left: var(--sp-sidebar) !important; }
.desktop-topbar { left: var(--sp-sidebar) !important; background: rgba(5, 10, 18, .88) !important; border-color: var(--sp-border) !important; box-shadow: none !important; backdrop-filter: blur(18px) !important; }
body.sidebar-collapsed .desktop-topbar { left: 0 !important; }

.topbar-wish-search input {
  background: rgba(255, 255, 255, .045) !important;
  border: 1px solid var(--sp-border) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

/* Shared surfaces */
.card,
.section,
.sec-body,
.v3-panel,
.top-users-card,
.support-card,
.ticket-card,
.payment-card,
.payment-package,
.point-package,
.profile-card,
.ms-section,
.adm-card,
.adm-panel,
.adm-stat-card,
.settings-box,
.settings-accordion,
.wdg-card,
.bib-panel,
.bib-page-head,
.gb-card,
.gb-panel {
  background: var(--sp-surface) !important;
  border: 1px solid var(--sp-border) !important;
  border-radius: var(--sp-radius) !important;
  box-shadow: none !important;
}

.card:hover,
.v3-panel:hover,
.adm-card:hover,
.payment-package:hover,
.point-package:hover {
  transform: translateY(-1px) !important;
  background: var(--sp-surface-raised) !important;
  border-color: var(--sp-border-strong) !important;
  box-shadow: var(--sp-shadow) !important;
}

/* Home: cinematic content first */
.v4-shell {
  max-width: 1540px !important;
  margin-inline: auto !important;
  padding: 18px 24px 54px !important;
}

.v4-hero {
  min-height: clamp(340px, 43vw, 540px) !important;
  border: 1px solid var(--sp-border) !important;
  border-radius: var(--sp-radius-lg) !important;
  overflow: hidden !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .34) !important;
}

.v4-hero-shade {
  background: linear-gradient(90deg, rgba(3, 7, 13, .98) 0%, rgba(3, 7, 13, .80) 34%, rgba(3, 7, 13, .16) 69%, rgba(3, 7, 13, .08)), linear-gradient(0deg, rgba(3, 7, 13, .68), transparent 45%) !important;
}

.v4-hero-content {
  max-width: 590px !important;
  padding: clamp(38px, 6vw, 84px) !important;
}

.v4-kicker {
  color: var(--sp-gold-bright) !important;
  font-size: 11px !important;
  letter-spacing: .11em !important;
}

.v4-hero h1 {
  font-size: clamp(35px, 4.5vw, 66px) !important;
  line-height: .98 !important;
  letter-spacing: -.045em !important;
  text-shadow: 0 3px 24px rgba(0, 0, 0, .5) !important;
}

.v4-hero-sub,
.v4-hero-meta { color: #c1cad6 !important; }

.v4-btn,
.btn,
.adm-btn,
.bib-modal-btn,
.payment-button,
.support-btn {
  border-radius: 9px !important;
  box-shadow: none !important;
  font-weight: 750 !important;
}

.v4-btn-primary,
.btn-primary,
.primary-btn,
.adm-btn-accent,
.payment-button.primary,
.bib-modal-btn.play {
  background: linear-gradient(135deg, var(--sp-gold-bright), var(--sp-gold)) !important;
  border-color: rgba(240, 202, 105, .66) !important;
  color: #11100c !important;
  box-shadow: 0 10px 28px rgba(216, 173, 69, .16) !important;
}

.v4-btn-fav,
.btn-secondary,
.adm-btn:not(.adm-btn-accent) {
  background: rgba(17, 27, 42, .88) !important;
  border-color: var(--sp-border-strong) !important;
  color: var(--sp-text) !important;
}

.v4-btn:hover,
.btn:hover,
.adm-btn:hover { transform: translateY(-1px) !important; }

.v4-section-title,
.v4-row-title,
.v3-panel-title,
.sec-head-title {
  color: var(--sp-text) !important;
  letter-spacing: -.015em !important;
}

.v4-media-card,
.v4-continue-card,
.v4-poster,
.pop-card,
.media-card,
.latest-card,
.bib-card-poster {
  background: var(--sp-surface) !important;
  border: 1px solid rgba(154, 174, 201, .12) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.v4-media-card:hover,
.v4-continue-card:hover,
.pop-card:hover,
.media-card:hover,
.latest-card:hover {
  transform: translateY(-3px) !important;
  border-color: rgba(216, 173, 69, .35) !important;
  box-shadow: 0 18px 40px rgba(0, 0, 0, .35) !important;
}

.v4-progress > div,
.v4-progress-bar,
.media-progress-bar,
.bib-progress span { background: var(--sp-gold) !important; }

/* Admin: less glow, clearer density */
.admin-shell,
.admin-page,
.adm-page,
.adash,
.adash-main { background: var(--sp-bg) !important; }

.admin-sidebar,
.adm-sidebar,
.adash-sidebar { background: #07101b !important; border-color: var(--sp-border) !important; box-shadow: none !important; }

.adash-topbar {
  background: rgba(5, 10, 18, .9) !important;
  border-color: var(--sp-border) !important;
  box-shadow: none !important;
  backdrop-filter: blur(18px) !important;
}

.adash-nav-item {
  background: transparent !important;
  border-color: transparent !important;
  color: #aeb9c8 !important;
  box-shadow: none !important;
}

.adash-nav-item:hover { background: rgba(255, 255, 255, .035) !important; color: var(--sp-text) !important; }
.adash-nav-item.active {
  background: linear-gradient(90deg, rgba(216, 173, 69, .17), rgba(216, 173, 69, .055)) !important;
  border-color: rgba(216, 173, 69, .17) !important;
  color: var(--sp-gold-bright) !important;
  box-shadow: inset 2px 0 0 var(--sp-gold) !important;
}

.adash-card,
.adash-panel,
.adash-stat,
.adash-table-wrap,
.adash-widget {
  background: var(--sp-surface) !important;
  border-color: var(--sp-border) !important;
  box-shadow: none !important;
}

.adm-hero,
.admin-hero,
.page-hero,
.support-hero,
.payment-hero,
.profile-hero,
.ms-hero-banner {
  background: linear-gradient(135deg, #0d1826, #08111d) !important;
  border: 1px solid var(--sp-border) !important;
  box-shadow: none !important;
}

.adm-stat-card,
.admin-stat-card {
  background: var(--sp-surface) !important;
  border-color: var(--sp-border) !important;
  box-shadow: none !important;
}

.audit-table tr:hover td,
.admin-table tr:hover td { background: rgba(255, 255, 255, .025) !important; }

/* Forms and state */
input,
textarea,
select,
.adm-input,
.audit-input,
.audit-select {
  background: #091321 !important;
  border: 1px solid var(--sp-border) !important;
  color: var(--sp-text) !important;
  border-radius: 9px !important;
  box-shadow: none !important;
}

input:focus,
textarea:focus,
select:focus,
.adm-input:focus {
  border-color: rgba(90, 167, 232, .58) !important;
  box-shadow: 0 0 0 3px rgba(90, 167, 232, .11) !important;
  outline: 0 !important;
}

.badge,
.pill,
.tag,
.chip,
.status-badge {
  background: rgba(154, 174, 201, .10) !important;
  color: #c6d0dc !important;
  border-color: var(--sp-border) !important;
  box-shadow: none !important;
}

.status-online,
.badge-success,
.status-active { color: var(--sp-success) !important; }
.badge-warning { color: var(--sp-warning) !important; }
.badge-danger,
.status-error { color: var(--sp-danger) !important; }

.site-footer { color: var(--sp-dim) !important; }

/* Mobile */
@media (max-width: 900px) {
  .page-root { margin-left: 0 !important; }
  .desktop-topbar { left: 0 !important; }
  .v4-shell { padding: 10px 12px 104px !important; }
  .v4-hero { min-height: 430px !important; border-radius: 14px !important; }
  .v4-hero-shade { background: linear-gradient(0deg, rgba(3, 7, 13, .98) 0%, rgba(3, 7, 13, .76) 48%, rgba(3, 7, 13, .12) 100%) !important; }
  .v4-hero-content { padding: 210px 22px 42px !important; }
  .v4-hero h1 { font-size: clamp(31px, 10vw, 45px) !important; }
  .premium-mobile-dock {
    background: rgba(6, 12, 21, .94) !important;
    border: 1px solid var(--sp-border) !important;
    box-shadow: 0 14px 45px rgba(0, 0, 0, .45) !important;
    backdrop-filter: blur(20px) !important;
  }
  .premium-mobile-dock a.active {
    background: rgba(216, 173, 69, .12) !important;
    border-color: rgba(216, 173, 69, .16) !important;
    color: var(--sp-gold-bright) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ========================================================================== */
/* 1.4 — complete page-family redesign                                       */
/* ========================================================================== */

/* Shared page frames and editorial headings */
.pay-page,.inv-page,.pf-wrap,.help-wrap,.leaderboard-page,.stats-admin-wrap,
.bib-wrap,.medier-wrap,.activity-page,.news-page,.blade-wrap,.support-page,
.ms-page,.wb-page,.community-favorites-page {
  width:min(1420px,calc(100% - 40px)) !important;
  max-width:1420px !important;
  margin-inline:auto !important;
  padding:26px 0 72px !important;
}
.pay-hero,.inv-hero,.pf-hero,.help-hero,.leaderboard-hero,.stats-hero,
.bib-page-head,.wb-hero,.ms-hero-banner,.support-hero,.activity-hero {
  background:linear-gradient(135deg,#101b2a,#08111d 72%) !important;
  border:1px solid var(--sp-border) !important;
  border-radius:var(--sp-radius-lg) !important;
  box-shadow:none !important;
}
.pay-hero-title,.inv-hero h1,.help-title,.leaderboard-hero h1,.bib-page-head h1,
.ms-hero-title,.support-hero h1,.activity-hero h1 {
  color:var(--sp-text) !important;
  letter-spacing:-.035em !important;
}
.pay-hero-sub,.inv-hero p,.help-sub,.leaderboard-hero p,.bib-page-head p,
.ms-hero-sub,.support-hero p,.activity-hero p {color:var(--sp-muted) !important;}
.pay-section-head,.inv-hero-kicker,.help-kicker,.leaderboard-kicker,.v3-kicker,
.settings-kicker,.bib-grid-label,.ms-section-kicker {
  color:var(--sp-gold-bright) !important;
  letter-spacing:.13em !important;
}

/* Media hub, library, favorites and news */
.medier-topbar,.bib-toolbar,.library-controls,.library-filter-panel {
  background:rgba(12,21,34,.92) !important;
  border:1px solid var(--sp-border) !important;
  border-radius:var(--sp-radius) !important;
  box-shadow:none !important;
}
.medier-lib-card {
  min-height:134px !important;
  border:1px solid var(--sp-border) !important;
  border-radius:14px !important;
  box-shadow:none !important;
}
.medier-lib-card:hover {transform:translateY(-3px) !important;border-color:rgba(216,173,69,.38) !important;box-shadow:var(--sp-shadow) !important;}
.medier-lib-card::after {background:linear-gradient(0deg,rgba(3,7,13,.9),transparent 76%) !important;}
.medier-section-title {color:var(--sp-text) !important;font-size:19px !important;letter-spacing:-.02em !important;}
.medier-resume-card,.medier-recent-card,.medier-channel-card,.bib-card,.community-fav-card {
  background:transparent !important;
  border-color:transparent !important;
  box-shadow:none !important;
}
.medier-thumb-wrap,.bib-card-poster,.community-fav-poster-wrap {
  border:1px solid var(--sp-border) !important;
  border-radius:11px !important;
  overflow:hidden !important;
  background:var(--sp-surface) !important;
  box-shadow:none !important;
}
/* .medier-channel-logo carries its own inline background-image (channel art) —
   same background:!important bug as .medier-lib-card, so it's excluded above
   and only gets the border/radius polish here. */
.medier-channel-logo {
  border:1px solid var(--sp-border) !important;
  border-radius:11px !important;
  overflow:hidden !important;
  box-shadow:none !important;
}
.medier-resume-card:hover .medier-thumb-wrap,.medier-recent-card:hover .medier-thumb-wrap,
.medier-channel-card:hover .medier-channel-logo,.bib-card:hover .bib-card-poster {
  border-color:rgba(216,173,69,.4) !important;
  box-shadow:0 18px 38px rgba(0,0,0,.34) !important;
}
.medier-row-arrow {background:rgba(8,17,29,.94) !important;border:1px solid var(--sp-border-strong) !important;color:var(--sp-text) !important;box-shadow:0 9px 25px rgba(0,0,0,.35) !important;}
.medier-row-arrow:hover {background:var(--sp-gold) !important;color:#111 !important;}
.ser-modal,.bib-modal,.media-modal {
  background:linear-gradient(180deg,#101b2a,#07101b) !important;
  border:1px solid var(--sp-border-strong) !important;
  border-radius:18px !important;
  box-shadow:0 28px 90px rgba(0,0,0,.62) !important;
}
.ser-season-tab,.bib-tab,.library-tab {background:transparent !important;border:1px solid var(--sp-border) !important;color:var(--sp-muted) !important;}
.ser-season-tab.active,.bib-tab.active,.library-tab.active {background:rgba(216,173,69,.13) !important;border-color:rgba(216,173,69,.33) !important;color:var(--sp-gold-bright) !important;}
.v4-news-item,.news-list-item,.v4-news-detail-panel {
  background:var(--sp-surface) !important;border:1px solid var(--sp-border) !important;border-radius:var(--sp-radius) !important;box-shadow:none !important;
}
.v4-news-item:hover,.news-list-item:hover {background:var(--sp-surface-raised) !important;border-color:var(--sp-border-strong) !important;}

/* Wishes */
.wb-card,.wb-points-top,.wish-card,.wish-result-card,.request-card,.trending-card {
  background:var(--sp-surface) !important;border:1px solid var(--sp-border) !important;border-radius:var(--sp-radius) !important;box-shadow:none !important;
}
.wish-card:hover,.wish-result-card:hover,.request-card:hover,.trending-card:hover {transform:translateY(-2px) !important;background:var(--sp-surface-raised) !important;border-color:rgba(216,173,69,.32) !important;box-shadow:var(--sp-shadow) !important;}
.wb-points-value,.wish-credit-value {color:var(--sp-gold-bright) !important;text-shadow:none !important;}
.wb-search,.wish-search {background:var(--sp-surface) !important;border:1px solid var(--sp-border) !important;box-shadow:none !important;}
.wb-req-btn {background:rgba(216,173,69,.12) !important;color:var(--sp-gold-bright) !important;border-color:rgba(216,173,69,.28) !important;box-shadow:none !important;}

/* Payment */
.pay-grid,.extra-grid {gap:14px !important;}
.pay-card,.extra-card,.credit-card {
  background:var(--sp-surface) !important;
  border:1px solid var(--sp-border) !important;
  border-radius:var(--sp-radius) !important;
  box-shadow:none !important;
}
.pay-card.featured {background:linear-gradient(145deg,rgba(216,173,69,.09),var(--sp-surface) 48%) !important;border-color:rgba(216,173,69,.32) !important;}
.pay-card:hover,.extra-card:hover {transform:translateY(-2px) !important;border-color:var(--sp-border-strong) !important;box-shadow:var(--sp-shadow) !important;}
.pay-plan,.pay-price,.extra-label {color:var(--sp-text) !important;}
.extra-price {color:var(--sp-gold-bright) !important;}
.pay-features li::before {background:rgba(59,201,130,.11) !important;color:var(--sp-success) !important;}

/* Profile, My page, favorites, leaderboard, activity */
.pf-hero,.pf-stat,.pf-wish-row,.pf-badge,.profile-card,.ms-section,
.leaderboard-panel,.leaderboard-list-card,.leaderboard-summary,.v3-hall-card,
.activity-feed-full,.v4-activity-item {
  background:var(--sp-surface) !important;border:1px solid var(--sp-border) !important;border-radius:var(--sp-radius) !important;box-shadow:none !important;
}
.pf-avatar {border:2px solid rgba(216,173,69,.44) !important;box-shadow:none !important;}
.pf-name,.pf-stat-val,.pf-badge-title,.leaderboard-subhead,.top-user-name {color:var(--sp-text) !important;}
.pf-bio,.pf-stat-lbl,.pf-badge-sub,.top-user-meta {color:var(--sp-muted) !important;}
.pf-period-tab,.period-tab,.v3-period-tabs button {background:transparent !important;border:1px solid var(--sp-border) !important;color:var(--sp-muted) !important;box-shadow:none !important;}
.pf-period-tab.active,.period-tab.active,.v3-period-tabs button.active {background:rgba(216,173,69,.13) !important;border-color:rgba(216,173,69,.3) !important;color:var(--sp-gold-bright) !important;}
.hof-podium .hof-item,.top-user-row {background:rgba(255,255,255,.022) !important;border:1px solid var(--sp-border) !important;box-shadow:none !important;}
.hof-podium .hof-item:first-child,.v3-hall-list .top-user-row:nth-child(1) {background:linear-gradient(180deg,rgba(216,173,69,.12),rgba(12,21,34,.95)) !important;border-color:rgba(216,173,69,.35) !important;box-shadow:none !important;}
.v4-act-ico,.activity-icon {background:rgba(216,173,69,.11) !important;color:var(--sp-gold-bright) !important;border-color:rgba(216,173,69,.2) !important;box-shadow:none !important;}

/* Invites, help and editorial */
.inv-panel,.help-card,.blade-panel {
  background:var(--sp-surface) !important;border:1px solid var(--sp-border) !important;border-radius:var(--sp-radius) !important;box-shadow:none !important;
}
.inv-create-btn {background:linear-gradient(135deg,var(--sp-gold-bright),var(--sp-gold)) !important;color:#111 !important;border:0 !important;box-shadow:none !important;}
.inv-new-code,.inv-token-item,.inv-history-item,.help-item {background:rgba(255,255,255,.022) !important;border:1px solid var(--sp-border) !important;border-radius:10px !important;}
.help-item:hover,.help-item.active {background:rgba(216,173,69,.08) !important;border-color:rgba(216,173,69,.28) !important;}
.help-thumb {background:rgba(216,173,69,.12) !important;color:var(--sp-gold-bright) !important;border:1px solid rgba(216,173,69,.2) !important;}
.help-card-head {color:var(--sp-gold-bright) !important;border-color:var(--sp-border) !important;}

/* Support */
.support-card,.ticket-card,.ticket-list,.ticket-chat,.ticket-compose,.support-new-card {
  background:var(--sp-surface) !important;border:1px solid var(--sp-border) !important;border-radius:var(--sp-radius) !important;box-shadow:none !important;
}
.ticket-row,.support-ticket-row {background:transparent !important;border-color:var(--sp-border) !important;}
.ticket-row:hover,.support-ticket-row:hover {background:rgba(255,255,255,.025) !important;}
.ticket-message,.support-message {background:var(--sp-surface-raised) !important;border:1px solid var(--sp-border) !important;box-shadow:none !important;}
.ticket-message.mine,.support-message.mine {background:rgba(90,167,232,.09) !important;border-color:rgba(90,167,232,.22) !important;}

/* Login, registration, disabled and license */
.is-guest .site-footer {display:none !important;}
.login-wrap,.deactivated-wrap,.license-lock-page {min-height:100vh !important;padding:30px 18px !important;}
.login-wrap::before,.deactivated-wrap::before {background:radial-gradient(circle at 50% 0,rgba(62,105,151,.14),transparent 40%) !important;}
.login-box {max-width:430px !important;}
.login-card,.deactivated-box,.license-lock-card {
  background:linear-gradient(180deg,#101b2a,#08111d) !important;
  border:1px solid var(--sp-border-strong) !important;
  border-radius:18px !important;
  box-shadow:0 25px 75px rgba(0,0,0,.42) !important;
}
.login-logo {margin-bottom:24px !important;}
.login-logo-sub,.deactivated-sub,.license-lock-sub {color:var(--sp-muted) !important;}
.login-btn,.license-btn.primary {background:linear-gradient(135deg,var(--sp-gold-bright),var(--sp-gold)) !important;color:#111 !important;border:0 !important;box-shadow:none !important;}
.login-error {background:rgba(238,100,112,.09) !important;border-color:rgba(238,100,112,.24) !important;color:#ffadb4 !important;}
.license-pricing-card,.license-status-item,.license-activate {background:rgba(255,255,255,.022) !important;border:1px solid var(--sp-border) !important;box-shadow:none !important;}

/* Setup */
.setup-page {background:radial-gradient(circle at 50% -15%,rgba(62,105,151,.16),transparent 45%),var(--sp-bg) !important;}
.setup-page .wrap {max-width:760px !important;}
.setup-page .card {background:linear-gradient(180deg,#101b2a,#08111d) !important;border:1px solid var(--sp-border-strong) !important;border-radius:18px !important;box-shadow:0 25px 75px rgba(0,0,0,.4) !important;}
.setup-page .step-circle {background:var(--sp-surface) !important;border-color:var(--sp-border-strong) !important;color:var(--sp-muted) !important;}
.setup-page .step-item.active .step-circle,.setup-page .step-item.done .step-circle {background:var(--sp-gold) !important;border-color:var(--sp-gold) !important;color:#111 !important;}
.setup-page .server-opt,.setup-page .trial-box,.setup-page .license-box {background:rgba(255,255,255,.022) !important;border-color:var(--sp-border) !important;box-shadow:none !important;}
.setup-page .server-opt:hover {border-color:rgba(216,173,69,.35) !important;background:rgba(216,173,69,.055) !important;}

/* Live TV and guide */
.medier-livetv-wrap,.guide-wrap {width:min(1480px,calc(100% - 40px)) !important;margin-inline:auto !important;padding:24px 0 70px !important;}
.medier-livetv-topbar,.guide-toolbar {background:var(--sp-surface) !important;border:1px solid var(--sp-border) !important;border-radius:var(--sp-radius) !important;box-shadow:none !important;}
.medier-channel-card,.guide-channel-col,.guide-timebar {background:var(--sp-surface) !important;border-color:var(--sp-border) !important;box-shadow:none !important;}
.guide-program {background:var(--sp-surface-raised) !important;border-color:var(--sp-border) !important;box-shadow:none !important;}
.guide-program.is-current {background:rgba(216,173,69,.11) !important;border-color:rgba(216,173,69,.3) !important;}
.guide-now-line {background:var(--sp-gold) !important;box-shadow:none !important;}

/* Arcade hub and emulator */
.gameboy-page,.gb-page,.gameboy-shell {--accent:var(--sp-gold) !important;--accent2:var(--sp-gold-bright) !important;}
.gb-social-section,.gb-card,.game-card,.gb-save-card,.gb-activity-row {background:var(--sp-surface) !important;border:1px solid var(--sp-border) !important;box-shadow:none !important;}
.game-card:hover,.gb-card:hover {border-color:rgba(216,173,69,.35) !important;box-shadow:var(--sp-shadow) !important;transform:translateY(-2px) !important;}
.arcade-player-page {background:#03070d !important;}
.arcade-player-page .gb-topbar {background:rgba(5,10,18,.94) !important;border-color:var(--sp-border) !important;box-shadow:none !important;}
.arcade-player-page .gb-chat-panel {background:#08111d !important;border-color:var(--sp-border-strong) !important;box-shadow:-18px 0 55px rgba(0,0,0,.45) !important;}
.arcade-player-page .gb-chat-msg {background:var(--sp-surface) !important;border-color:var(--sp-border) !important;}
.arcade-player-page .gb-chat-msg.self {background:rgba(90,167,232,.1) !important;border-color:rgba(90,167,232,.22) !important;}

/* Media player */
.player-page {background:#02050a !important;}
.player-page .watch-bg {background:radial-gradient(circle at 50% 0,rgba(62,105,151,.09),transparent 45%),#02050a !important;}
.player-page .watch-shell {max-width:1680px !important;}
.player-page .topbar,.player-page .controls {background:rgba(3,7,13,.88) !important;border-color:var(--sp-border) !important;backdrop-filter:blur(18px) !important;}
.player-page .stage {border:1px solid var(--sp-border) !important;border-radius:14px !important;box-shadow:0 28px 90px rgba(0,0,0,.55) !important;overflow:hidden !important;}
.player-page .card,.player-page .settings-panel,.player-page .info-overlay {background:linear-gradient(180deg,#101b2a,#07101b) !important;border:1px solid var(--sp-border-strong) !important;box-shadow:0 28px 90px rgba(0,0,0,.6) !important;}
.player-page .cb-btn,.player-page .sp-opt {background:rgba(255,255,255,.045) !important;border-color:var(--sp-border) !important;color:var(--sp-text) !important;box-shadow:none !important;}
.player-page .sp-opt.active {background:rgba(216,173,69,.14) !important;border-color:rgba(216,173,69,.35) !important;color:var(--sp-gold-bright) !important;}

/* Admin families */
.adash-content,.adm-content,.settings-page,.audit-page {color:var(--sp-text) !important;}
.adash-page-head,.adm-page-head,.settings-head {background:transparent !important;border-color:var(--sp-border) !important;box-shadow:none !important;}
.adash-kpi,.adash-stat-card,.adm-kpi,.settings-rail,.settings-copybox,.wdg-card,
.audit-card,.audit-summary-card,.admin-user-card,.adm-online-user-card,.payment-admin-card {
  background:var(--sp-surface) !important;border:1px solid var(--sp-border) !important;border-radius:var(--sp-radius) !important;box-shadow:none !important;
}
.adash-kpi:hover,.adash-stat-card:hover,.admin-user-card:hover,.adm-online-user-card:hover {background:var(--sp-surface-raised) !important;border-color:var(--sp-border-strong) !important;box-shadow:none !important;transform:none !important;}
.adash-title,.adm-title,.settings-title,.audit-title {color:var(--sp-text) !important;letter-spacing:-.025em !important;}
.adash-subtitle,.adm-subtitle,.settings-subtitle,.audit-subtitle {color:var(--sp-muted) !important;}
.adash-table,.adm-table,.audit-table {background:transparent !important;}
.adash-table th,.adm-table th,.audit-table th {background:#091321 !important;color:var(--sp-muted) !important;border-color:var(--sp-border) !important;}
.adash-table td,.adm-table td,.audit-table td {border-color:var(--sp-border) !important;}
.adash-modal,.adm-modal,.wdg-modal {background:linear-gradient(180deg,#101b2a,#07101b) !important;border:1px solid var(--sp-border-strong) !important;box-shadow:0 28px 90px rgba(0,0,0,.6) !important;}
.settings-accordion summary,.sec-head,.top-users-head {background:#091321 !important;border-color:var(--sp-border) !important;}

/* Floating UI */
.message-bubble,.event-popup,.reward-popup,.notification-panel,.pwa-install-banner {
  background:linear-gradient(180deg,#101b2a,#08111d) !important;
  border:1px solid var(--sp-border-strong) !important;
  box-shadow:0 22px 65px rgba(0,0,0,.48) !important;
}

@media(max-width:900px){
  .pay-page,.inv-page,.pf-wrap,.help-wrap,.leaderboard-page,.stats-admin-wrap,
  .bib-wrap,.medier-wrap,.activity-page,.news-page,.support-page,.ms-page,.wb-page,
  .community-favorites-page,.medier-livetv-wrap,.guide-wrap {width:calc(100% - 24px) !important;padding-top:14px !important;}
  .pay-grid,.extra-grid,.pf-media-cols,.help-grid {grid-template-columns:1fr !important;}
  .pay-hero,.inv-hero,.help-hero,.leaderboard-hero,.bib-page-head,.support-hero {padding:24px 20px !important;border-radius:14px !important;}
  .pay-card,.extra-card,.inv-panel,.help-card,.support-card {border-radius:12px !important;}
}
