.modern-account-menu {
  display: grid;
  width: 100%;
  padding: 9px;
  color: #171b24;
}

html[data-bs-theme="dark"] .modern-account-menu {
  color: #f5f7fb;
}

.modern-site-navbar {
  min-height: 86px;
  padding-block: 12px;
  background: #fff !important;
  box-shadow: none;
}

.modern-site-navbar > .container {
  width: min(1450px, calc(100% - 40px));
  max-width: 1450px;
  min-height: 61px;
  padding-inline: 0 !important;
}

.modern-site-navbar .navbar-brand {
  gap: 12px !important;
  margin-right: 24px;
  font-size: 1.55rem;
  font-weight: 950 !important;
  letter-spacing: .015em;
}

.modern-site-navbar .navbar-brand img {
  width: 48px !important;
  height: 48px !important;
  object-fit: contain;
}

.modern-site-navbar .navbar-nav {
  gap: 7px !important;
}

.role-nav-menu {
  position: relative;
  color: inherit;
}

.role-nav-menu[open]::after {
  content: "";
  position: absolute;
  z-index: 1059;
  top: 100%;
  left: 0;
  width: max(100%, 330px);
  height: 12px;
}

.role-nav-menu > summary {
  list-style: none;
}

.role-nav-menu > summary::marker {
  content: "";
  display: none;
}

.role-nav-menu > summary::-webkit-details-marker,
.role-nav-artist-group > summary::-webkit-details-marker,
.mobile-role-menu > summary::-webkit-details-marker,
.mobile-role-artist > summary::-webkit-details-marker {
  display: none;
}

.role-nav-trigger {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 10px 11px;
  border-radius: 12px;
  color: inherit;
  font-weight: 800;
  cursor: pointer;
}

.role-nav-trigger .bi { font-size: .68rem; transition: transform .16s ease; }
.role-nav-menu[open] > .role-nav-trigger .bi { transform: rotate(180deg); }
.role-nav-trigger:hover, .role-nav-trigger:focus-visible, .role-nav-menu[open] > .role-nav-trigger { background: #eef2f7; outline: none; }
.role-nav-menu.is-active > .role-nav-trigger { color: #4969f5; background: rgba(73,105,245,.11); }

.role-nav-popover {
  position: absolute;
  z-index: 1060;
  top: calc(100% + 10px);
  left: 0;
  display: grid;
  width: 310px;
  max-height: min(650px, calc(100vh - 110px));
  overflow-y: auto;
  padding: 9px;
  border: 1px solid var(--bs-border-color, #d7dde7);
  border-radius: 17px;
  color: #171b24;
  background: var(--bs-body-bg, #fff);
  box-shadow: 0 24px 65px rgba(0,0,0,.28);
}

.role-nav-menu-artist .role-nav-popover { width: 330px; }
.role-nav-popover > a, .role-nav-action {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  width: 100%;
  min-height: 48px;
  padding: 9px 11px;
  border: 0;
  border-radius: 10px;
  color: inherit !important;
  background: transparent;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}
.role-nav-popover > a > .bi, .role-nav-action > .bi { padding-top: 2px; color: #6f7ff3; text-align: center; }
.role-nav-popover strong, .role-nav-popover small { display: block; }
.role-nav-popover strong { font-size: .88rem; }
.role-nav-popover small { margin-top: 1px; color: #6d7786; font-size: .7rem; font-weight: 600; line-height: 1.3; }
.role-nav-popover > a:hover, .role-nav-popover > a:focus-visible, .role-nav-action:hover, .role-nav-action:focus-visible { color: #fff !important; background: #4969f5; outline: none; }
.role-nav-popover > a:hover .bi, .role-nav-popover > a:focus-visible .bi, .role-nav-action:hover .bi, .role-nav-action:focus-visible .bi, .role-nav-popover > a:hover small, .role-nav-popover > a:focus-visible small, .role-nav-action:hover small, .role-nav-action:focus-visible small { color: #fff; }
.role-nav-divider { height: 1px; margin: 7px 4px; background: var(--bs-border-color, #d7dde7); }
.role-nav-empty { margin: 7px 10px 9px; color: #6d7786; font-size: .76rem; line-height: 1.45; }
.role-nav-artist-group > summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 42px; padding: 8px 11px; border-radius: 10px; font-size: .82rem; font-weight: 850; cursor: pointer; }
.role-nav-artist-group > summary span { display: flex; align-items: center; gap: 10px; min-width: 0; }
.role-nav-artist-group > summary span .bi { width: 18px; color: #6f7ff3; text-align: center; }
.role-nav-artist-group > summary > .bi { color: #6d7786; font-size: .67rem; transition: transform .16s ease; }
.role-nav-artist-group[open] > summary > .bi { transform: rotate(180deg); }
.role-nav-artist-group > summary:hover, .role-nav-artist-group > summary:focus-visible { background: #eef2f7; outline: none; }
.role-nav-artist-links { display: grid; margin: 0 5px 5px 31px; padding-left: 10px; border-left: 1px solid var(--bs-border-color, #d7dde7); }
.role-nav-artist-links a { padding: 7px 9px; border-radius: 8px; color: inherit; font-size: .76rem; font-weight: 750; text-decoration: none; }
.role-nav-artist-links a:hover, .role-nav-artist-links a:focus-visible { color: #fff; background: #4969f5; outline: none; }

html[data-bs-theme="dark"] .role-nav-trigger:hover,
html[data-bs-theme="dark"] .role-nav-trigger:focus-visible,
html[data-bs-theme="dark"] .role-nav-menu[open] > .role-nav-trigger,
html[data-bs-theme="dark"] .role-nav-artist-group > summary:hover,
html[data-bs-theme="dark"] .role-nav-artist-group > summary:focus-visible { background: #17212a; }
html[data-bs-theme="dark"] .role-nav-menu.is-active > .role-nav-trigger { color: #91a3ff; background: rgba(73,105,245,.2); }
html[data-bs-theme="dark"] .role-nav-popover { border-color: #304151; color: #f5f7fb; background: #111b25; box-shadow: 0 24px 65px rgba(0,0,0,.52); }
html[data-bs-theme="dark"] .role-nav-popover small, html[data-bs-theme="dark"] .role-nav-empty { color: #9aa1ad; }

.mobile-role-menu { border-bottom: 1px solid var(--bs-border-color, #d7dde7); }
.mobile-role-menu > summary, .mobile-role-artist > summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 24px; color: var(--bs-body-color); font-weight: 800; cursor: pointer; }
.mobile-role-menu > summary span { display: flex; align-items: center; gap: 10px; }
.mobile-role-menu > summary .bi-chevron-down, .mobile-role-artist > summary .bi-chevron-down { font-size: .72rem; transition: transform .16s ease; }
.mobile-role-menu[open] > summary .bi-chevron-down, .mobile-role-artist[open] > summary .bi-chevron-down { transform: rotate(180deg); }
.mobile-role-menu > div { display: grid; padding: 0 14px 12px 42px; }
.mobile-role-menu > div > a, .mobile-role-menu > div > button, .mobile-role-artist a { padding: 10px 12px; border: 0; border-radius: 9px; color: var(--bs-body-color); background: transparent; text-align: left; text-decoration: none; font-weight: 650; }
.mobile-role-menu > div > a:hover, .mobile-role-menu > div > button:hover, .mobile-role-artist a:hover { background: var(--bs-tertiary-bg); }
.mobile-role-menu p { padding: 8px 12px; color: var(--bs-secondary-color); font-size: .8rem; }
.mobile-role-artist > summary { padding: 10px 12px; font-size: .82rem; }
.mobile-role-artist > div { display: grid; padding: 0 0 4px 14px; }

.dashboard-hook-dialog { width: min(900px, calc(100vw - 32px)); height: min(760px, calc(100vh - 32px)); padding: 0; overflow: hidden; border: 1px solid #304151; border-radius: 20px; color: #f5f7fb; background: #111b25; box-shadow: 0 30px 90px rgba(0,0,0,.62); }
.dashboard-hook-dialog::backdrop { background: rgba(2,7,12,.76); backdrop-filter: blur(5px); }
.dashboard-hook-head, .dashboard-hook-foot { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 16px 20px; }
.dashboard-hook-head { border-bottom: 1px solid #304151; }
.dashboard-hook-head span { color: #91a3ff; font-size: .67rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.dashboard-hook-head h2 { margin: 2px 0 0; font-size: 1.2rem; }
.dashboard-hook-head button { width: 36px; height: 36px; padding: 0; border: 1px solid #304151; border-radius: 50%; color: inherit; background: #17212a; font-size: 1.5rem; }
.dashboard-hook-dialog textarea { display: block; width: 100%; height: calc(100% - 139px); padding: 24px; resize: none; border: 0; outline: 0; color: inherit; background: #0c1319; font: 500 1rem/1.65 Inter, ui-sans-serif, sans-serif; }
.dashboard-hook-foot { border-top: 1px solid #304151; color: #9aa1ad; font-size: .78rem; }
.dashboard-hook-foot button { padding: 8px 16px; border: 0; border-radius: 9px; color: #fff; background: #4969f5; font-weight: 800; }
html[data-bs-theme="light"] .dashboard-hook-dialog { border-color: #dfe4ec; color: #171b24; background: #fff; box-shadow: 0 30px 90px rgba(38,48,72,.28); }
html[data-bs-theme="light"] .dashboard-hook-head, html[data-bs-theme="light"] .dashboard-hook-foot { border-color: #dfe4ec; }
html[data-bs-theme="light"] .dashboard-hook-dialog textarea { background: #f8fafc; }
html[data-bs-theme="light"] .dashboard-hook-head button { border-color: #dfe4ec; background: #eef2f7; }

.modern-site-navbar .navbar-nav > .nav-item > .nav-link {
  padding: 10px 11px;
  border-radius: 12px;
  font-weight: 800;
}

.modern-site-navbar .navbar-nav > .nav-item > .nav-link:hover,
.modern-site-navbar .navbar-nav > .nav-item > .nav-link:focus-visible {
  background: #eef2f7;
}

.modern-site-navbar .navbar-nav > .nav-item.dropdown:last-child img {
  width: 42px !important;
  height: 42px !important;
  border: 2px solid var(--bs-border-color, #d7dde7) !important;
}

html[data-bs-theme="dark"] .modern-site-navbar {
  border-color: #26303a !important;
  background: #0c1319 !important;
}

html[data-bs-theme="dark"] .modern-site-navbar .navbar-nav > .nav-item > .nav-link:hover,
html[data-bs-theme="dark"] .modern-site-navbar .navbar-nav > .nav-item > .nav-link:focus-visible {
  background: #17212a;
}

@media (max-width: 991.98px) {
  .modern-site-navbar {
    min-height: 72px;
    padding-block: 8px;
  }
  .modern-site-navbar > .container { width: calc(100% - 28px); }
  .modern-site-navbar .navbar-brand { font-size: 1.15rem; }
  .modern-site-navbar .navbar-brand img { width: 38px !important; height: 38px !important; }
  .role-nav-menu { display: none; }
}

.modern-account-menu-label {
  padding: 9px 11px 5px;
  color: var(--bs-secondary-color, #9aa1ad);
  font-size: 0.66rem;
  font-weight: 900;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.modern-account-menu a,
.modern-account-menu-action,
.modern-theme-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 40px;
  padding: 8px 11px;
  border: 0;
  border-radius: 10px;
  color: inherit !important;
  background: transparent;
  text-decoration: none;
  font-weight: 780;
  cursor: pointer;
}

.modern-account-menu-form { margin: 0; }
.modern-account-menu-action { width: 100%; text-align: left; }
.modern-account-menu-action > span { display: inline-flex; min-width: 0; align-items: center; gap: 10px; }
.modern-account-menu-action > span > .bi { width: 18px; flex: 0 0 auto; color: #6f7ff3; text-align: center; }
.modern-account-menu-action > .bi-chevron-right { color: var(--bs-secondary-color); font-size: .72rem; }
.sponsor-account-trigger {
  min-height: 58px;
  color: #fff !important;
  background: linear-gradient(135deg, #27384d, #31465f);
}
.sponsor-account-trigger:hover,
.sponsor-account-trigger:focus-visible { background: linear-gradient(135deg, #3e5be2, #536ff5); }
.sponsor-account-trigger > span { line-height: 1.35; }
.sponsor-account-trigger > span > .bi { color: #8ea0ff; }
.sponsor-nav-trigger { border: 0; background: transparent; }

.sponsor-status-banner {
  position: relative;
  z-index: 1020;
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto auto;
  gap: 13px;
  align-items: center;
  width: min(1180px, calc(100% - 32px));
  margin: 12px auto 0;
  padding: 12px 14px;
  border: 1px solid rgba(98,211,153,.35);
  border-radius: 14px;
  color: #eaf8f1;
  background: linear-gradient(135deg, #123226, #142d35);
  box-shadow: 0 12px 32px rgba(0,0,0,.16);
}
.sponsor-status-banner[hidden] { display: none; }
.sponsor-status-banner-mark { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; color: #62d399; background: rgba(98,211,153,.13); }
.sponsor-status-banner-copy strong,
.sponsor-status-banner-copy span { display: block; }
.sponsor-status-banner-copy strong { font-size: .86rem; }
.sponsor-status-banner-copy span { margin-top: 2px; color: #b8d8ca; font-size: .76rem; }
.sponsor-status-banner-details { padding: 7px 11px; border: 1px solid rgba(143,229,186,.42); border-radius: 9px; color: #dff7ea; background: transparent; font-size: .76rem; font-weight: 850; }
.sponsor-status-banner-details:hover,
.sponsor-status-banner-details:focus-visible { color: #10251c; background: #7bdcab; outline: none; }
.sponsor-status-banner-close { display: grid; width: 32px; height: 32px; place-items: center; border: 0; border-radius: 50%; color: #a7c8b9; background: transparent; }
.sponsor-status-banner-close:hover,
.sponsor-status-banner-close:focus-visible { color: #fff; background: rgba(255,255,255,.1); outline: none; }
html[data-bs-theme="light"] .sponsor-status-banner { color: #153d2b; border-color: #b8e7ce; background: linear-gradient(135deg, #edf9f2, #e7f5f3); box-shadow: 0 12px 28px rgba(43,91,68,.1); }
html[data-bs-theme="light"] .sponsor-status-banner-copy span { color: #517260; }
html[data-bs-theme="light"] .sponsor-status-banner-details { color: #1e6b45; border-color: #86cba5; }
html[data-bs-theme="light"] .sponsor-status-banner-close { color: #5e7a6b; }
@media (max-width: 680px) {
  .sponsor-status-banner { grid-template-columns: auto minmax(0,1fr) auto; }
  .sponsor-status-banner-details { grid-column: 2; justify-self: start; }
  .sponsor-status-banner-close { grid-column: 3; grid-row: 1; }
}

.sponsor-details-dialog {
  width: min(620px, calc(100vw - 28px));
  max-height: min(760px, calc(100vh - 28px));
  padding: 0;
  overflow: hidden;
  border: 1px solid #304151;
  border-radius: 20px;
  color: #f5f7fb;
  background: #111b25;
  box-shadow: 0 30px 90px rgba(0,0,0,.62);
}
.sponsor-details-dialog::backdrop { background: rgba(2,7,12,.76); backdrop-filter: blur(5px); }
.sponsor-details-head,
.sponsor-details-foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 22px; }
.sponsor-details-head { border-bottom: 1px solid #304151; }
.sponsor-details-head span { color: #91a3ff; font-size: .67rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.sponsor-details-head h2 { margin: 4px 0 0; font-size: 1.35rem; }
.sponsor-details-head > button { width: 38px; height: 38px; flex: 0 0 auto; border: 1px solid #304151; border-radius: 50%; color: inherit; background: #17212a; }
.sponsor-details-body { max-height: calc(min(760px, 100vh - 28px) - 146px); padding: 22px; overflow-y: auto; }
.sponsor-details-status { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 14px; color: #62d399; font-weight: 850; }
.sponsor-details-body > h3 { margin: 0 0 7px; font-size: 1.2rem; }
.sponsor-details-copy { margin: 0 0 18px; color: #aeb9c5; line-height: 1.55; }
.sponsor-details-timeline { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; margin: 18px 0; }
.sponsor-details-timeline > div { padding: 13px; border: 1px solid #304151; border-radius: 12px; background: #0c1620; }
.sponsor-details-timeline span,
.sponsor-details-timeline strong { display: block; }
.sponsor-details-timeline span { margin-bottom: 4px; color: #8f9baa; font-size: .69rem; font-weight: 800; text-transform: uppercase; }
.sponsor-details-timeline strong { font-size: .9rem; }
.sponsor-details-coverage { margin-top: 20px; padding-top: 18px; border-top: 1px solid #304151; }
.sponsor-details-coverage h3 { margin: 0 0 12px; font-size: 1rem; }
.sponsor-details-coverage ul { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px 14px; margin: 0; padding: 0; list-style: none; }
.sponsor-details-coverage li { display: flex; gap: 8px; align-items: flex-start; color: #dce3eb; font-size: .84rem; line-height: 1.4; }
.sponsor-details-coverage li .bi { padding-top: 2px; color: #62d399; }
.sponsor-details-note { margin: 20px 0 0; padding: 13px 14px; border-radius: 11px; color: #b9c4cf; background: #172534; font-size: .82rem; line-height: 1.45; }
.sponsor-details-foot { justify-content: flex-end; border-top: 1px solid #304151; }
.sponsor-details-foot button { min-width: 110px; padding: 9px 18px; border: 0; border-radius: 9px; color: #fff; background: #4969f5; font-weight: 850; }
html[data-bs-theme="light"] .sponsor-details-dialog { border-color: #dfe4ec; color: #171b24; background: #fff; box-shadow: 0 30px 90px rgba(38,48,72,.28); }
html[data-bs-theme="light"] .sponsor-details-head,
html[data-bs-theme="light"] .sponsor-details-foot,
html[data-bs-theme="light"] .sponsor-details-coverage { border-color: #dfe4ec; }
html[data-bs-theme="light"] .sponsor-details-head > button,
html[data-bs-theme="light"] .sponsor-details-timeline > div { border-color: #dfe4ec; background: #f5f7fb; }
html[data-bs-theme="light"] .sponsor-details-copy,
html[data-bs-theme="light"] .sponsor-details-note { color: #5f6b7a; }
html[data-bs-theme="light"] .sponsor-details-note { background: #eef2f7; }
html[data-bs-theme="light"] .sponsor-details-coverage li { color: #303a46; }
@media (max-width: 560px) {
  .sponsor-details-timeline,
  .sponsor-details-coverage ul { grid-template-columns: 1fr; }
}

.modern-account-menu a > span {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.modern-account-menu a > .bi-chevron-right {
  color: var(--bs-secondary-color);
  font-size: .72rem;
}

.modern-account-menu a > span > .bi {
  width: 18px;
  color: #6f7ff3;
  text-align: center;
}

.modern-account-menu a:hover,
.modern-account-menu a:focus-visible,
.modern-account-menu-action:hover,
.modern-account-menu-action:focus-visible,
.modern-theme-row:hover,
.modern-theme-row:focus-within {
  color: #fff !important;
  background: #4969f5;
  outline: none;
}

.staging-quick-swap { margin-bottom: 6px; color: #9a4e00 !important; background: #fff7e8; }
.staging-account-picker { display: grid; gap: 7px; padding: 6px 8px 9px; }
.staging-account-picker label { color: inherit; font-size: .72rem; font-weight: 850; }
.staging-account-picker input,
.staging-account-picker select {
  width: 100%;
  min-height: 38px;
  border: 1px solid var(--bs-border-color, #cfd7e2);
  border-radius: 9px;
  padding: 7px 9px;
  color: inherit;
  background: var(--bs-body-bg, #fff);
  font: inherit;
  font-size: .76rem;
}
.staging-account-picker input:focus, .staging-account-picker select:focus { border-color: #6f7ff3; outline: 2px solid rgba(111,127,243,.22); }
.staging-account-submit { min-height: 38px; border: 0; border-radius: 9px; color: #fff; background: #4969f5; font-weight: 850; }
.staging-account-submit:hover, .staging-account-submit:focus-visible { background: #3655dc; outline: none; }
html[data-bs-theme="dark"] .staging-quick-swap { color: #ffc276 !important; background: #2a1c11; }
html[data-bs-theme="dark"] .staging-account-picker input,
html[data-bs-theme="dark"] .staging-account-picker select { border-color: #3a4b5c; background: #0c1620; }

.modern-account-menu-divider {
  height: 1px;
  margin: 7px 4px;
  background: var(--bs-border-color, #303945);
}

.modern-account-menu .modern-account-menu-logout {
  color: #ff7887 !important;
}

.modern-theme-row span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.modern-theme-switch {
  width: 42px;
  height: 24px;
  margin: 0;
  border: 0;
  border-radius: 999px;
  appearance: none;
  background: #56606c;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.18);
  cursor: pointer;
  transition: background .18s ease;
}

.modern-theme-switch::before {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  margin: 3px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 5px rgba(0,0,0,.28);
  transition: transform .18s ease;
}

.modern-theme-switch:checked {
  background: #4969f5;
}

.modern-theme-switch:checked::before {
  transform: translateX(18px);
}

#profileDropdownMenu {
  width: 340px;
  max-height: min(640px, calc(100vh - 94px));
  overflow-y: auto;
  padding: 0;
  border: 1px solid var(--bs-border-color, #303945);
  border-radius: 17px;
  background: var(--bs-body-bg, #fff);
  box-shadow: 0 24px 65px rgba(0,0,0,.28);
}

.account-menu-popover:has(.modern-account-menu.has-staging-tools) { width: 340px; }

.navbar-theme-toggle {
  position: relative;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid var(--bs-border-color, #d7dde7);
  border-radius: 12px;
  color: #596579;
  background: var(--bs-body-bg, #fff);
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, background .16s ease;
}

.navbar-theme-toggle:hover { transform: translateY(-1px); border-color: #6f7ff3; }
.navbar-theme-toggle input { position: absolute; opacity: 0; pointer-events: none; }
.navbar-theme-toggle .theme-icon-dark { display: none; }
html[data-bs-theme="dark"] .navbar-theme-toggle { color: #dbe4ed; background: #17222d; border-color: #344658; }
html[data-bs-theme="dark"] .navbar-theme-toggle .theme-icon-light { display: none; }
html[data-bs-theme="dark"] .navbar-theme-toggle .theme-icon-dark { display: inline-block; }

html[data-bs-theme="dark"] #profileDropdownMenu {
  background: #111b25 !important;
  border-color: #304151 !important;
  box-shadow: 0 24px 65px rgba(0,0,0,.52);
}

html[data-bs-theme="dark"] .modern-account-menu a:hover,
html[data-bs-theme="dark"] .modern-account-menu a:focus-visible {
  background: #243446;
}

.account-menu-popover .modern-account-menu {
  padding: 0;
}
