/* Account layouts are separate from the public storefront and Admin tables. */
.hub-site .hub-subnav-wrap { margin-bottom: 0; }
.hub-site [data-hub-section] { scroll-margin-top: calc(var(--hub-chip-top, 0px) + var(--hub-chip-height, 72px)); }
.hub-site .hub-subnav { max-width: 100%; }
.hub-site .hub-subnav-link { justify-content: center; }
.hub-site .hub-auth-page {
  min-height: calc(100svh - 120px);
  padding-block: clamp(2rem, 7vh, 5rem);
  color: rgba(255,255,255,.74);
}
.hub-site .hub-auth-page input,
.hub-site .hub-auth-page select,
.hub-site .hub-auth-page textarea { font-size: 1rem; }
.hub-site #account-access .settings-panel { display: grid; gap: .65rem; padding-top: 1rem; }
.hub-site #account-access .settings-copy { margin: 0; }
.hub-site .settings-submit { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; text-align: center; }
.hub-site #account-access .settings-submit { margin-top: .25rem; width: 100%; }
.hub-site .dash-order-disclosure { margin-top: .85rem; }
.hub-site .dash-order-disclosure > summary {
  width: fit-content; min-height: 44px; padding: .6rem .8rem;
  border: 1px solid rgba(255,255,255,.13); border-radius: .65rem;
  color: rgba(255,255,255,.8); font-size: .8rem; cursor: pointer;
}
.hub-site .dash-order-detail { margin-top: .75rem; }
.hub-site .dash-order-meta span { white-space: nowrap; }
.hub-site .dash-order-detail .order-reference { overflow-wrap: anywhere; }
.hub-site .creator-dashboard--hub { padding-top: 1.5rem; }
.hub-site .creator-tabs { flex-wrap: wrap; overflow: visible; }
.hub-site .creator-tabs a { min-width: 0; }
.hub-site .creator-panel { min-width: 0; }
.hub-site .creator-rules { margin-bottom: 1rem; }
.hub-site .creator-rules > summary { cursor: pointer; min-height: 44px; color: #fff; }
.hub-site .creator-rules > summary h2 { display: inline; font-size: 1.05rem; }
.hub-site .creator-rules .creator-kicker { margin-bottom: .3rem; }
.hub-site .creator-rules__count { margin-top: .75rem; }
.hub-site .creator-rules__list { margin-top: .75rem; }
.hub-site .creator-assets-grid {
  grid-auto-flow: row; grid-auto-columns: auto;
  grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: visible;
}
.hub-site .creator-mini-chart { align-items: end; grid-template-columns: repeat(12, minmax(0, 1fr)); }
.hub-site .creator-mini-chart--daily { grid-template-columns: repeat(31, minmax(0, 1fr)); }
.hub-site .creator-mini-chart span { flex: none; min-height: 0; }
.hub-site .creator-stats-table { width: 100%; table-layout: fixed; min-width: 0; }
.hub-site .creator-stats-table td { white-space: nowrap; }
.hub-site .creator-year-filter { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin-top: .75rem; }
.hub-site .creator-year-filter select { width: auto; min-width: 6rem; min-height: 44px; }
.hub-site .creator-year-filter button { min-height: 44px; }
.hub-site .creator-trend__tabs button { min-height: 44px; }
.hub-site [data-portal-copy] { min-height: 44px; }
.hub-site .portal-copy-status { color: rgba(255,255,255,.78); font-size: .82rem; margin: .5rem 0 0; }
.hub-site :is(summary, button, a, input, select, textarea):focus-visible { outline: 2px solid #ff8a4c; outline-offset: 3px; }

@media (max-width: 1100px) {
  .hub-site .hub-header-shell { padding-block: .85rem; }
  .hub-site .hub-topbar { gap: .65rem 1rem; }
  .hub-site .dash-meta { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .hub-site .subs-meta { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .hub-site .subs-meta--console { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .hub-site .inv-facts { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .hub-site .creator-assets-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hub-site .creator-status-card { min-height: 7.5rem; }
}
@media (max-width: 640px) {
  /* Let the navigation scroll away instead of occupying a third of the screen. */
  .hub-site .hub-header { position: relative; }
  .hub-site .hub-shell { padding-inline: .75rem; }
  .hub-site .hub-header-shell { padding-block: .75rem; }
  .hub-site .hub-topbar { gap: .55rem; }
  .hub-site .hub-nav { gap: .25rem; }
  .hub-site .hub-subnav { width: 100%; padding: .25rem; gap: .2rem; }
  .hub-site .hub-subnav-link { flex: 1 1 auto; padding-inline: .5rem; }
  .hub-site .hub-main > .hub-shell { padding-top: .75rem; }
  .hub-site .hub-auth-page { min-height: 0; padding-block: 1.5rem 3rem; }
  .hub-site .hub-chipnav { padding-block: .4rem; margin-bottom: .85rem; }
  .hub-site .hub-chipnav-list { flex-wrap: wrap; gap: .4rem; overflow: visible; }
  .hub-site .hub-chip { padding-inline: .8rem; font-size: .75rem; }
  .hub-site :is(.dash-page, .account-page, .subs-page, .inv-page) { padding: 1rem .75rem 3rem; }
  .hub-site :is(.dash-hero, .account-hero, .subs-hero, .inv-hero) { padding: 1.25rem 1rem; margin-bottom: 1rem; border-radius: 1.25rem; }
  .hub-site :is(.dash-title, .account-title, .subs-title, .inv-title) { font-size: clamp(1.5rem, 6.5vw, 1.9rem); line-height: 1.18; }
  .hub-site :is(.dash-copy, .account-copy, .subs-copy, .inv-copy) { line-height: 1.55; font-size: .875rem; margin-top: .7rem; }
  .hub-site :is(.dash-meta, .subs-meta) { grid-template-columns: repeat(2, minmax(0,1fr)); gap: .6rem; }
  .hub-site .dash-meta-card:last-child { grid-column: 1 / -1; }
  .hub-site .subs-meta--console > :last-child { grid-column: 1 / -1; }
  .hub-site :is(.dash-meta-card, .subs-meta-card, .inv-fact) { padding: .85rem; border-radius: .9rem; }
  .hub-site :is(.dash-meta-value, .subs-meta-value) { font-size: 1.2rem; }
  .hub-site :is(.dash-meta-label, .subs-meta-label) { letter-spacing: .04em; font-size: .65rem; margin-bottom: .4rem; }
  .hub-site :is(.dash-card, .dash-orders-head, .dash-order) { padding: 1rem; }
  .hub-site .dash-order-detail { padding: .85rem; }
  .hub-site .dash-order-meta { gap: .45rem .7rem; line-height: 1.5; }
  .hub-site .inv-facts { grid-template-columns: repeat(2, minmax(0,1fr)); gap: .6rem; }
  .hub-site .inv-card { padding: 1rem; border-radius: 1.1rem; }
  .hub-site .inv-fact-value { font-size: .875rem; }
  .hub-site .inv-stack { gap: .75rem; }
  .hub-site .creator-dashboard--hub { padding: 1rem .75rem 3rem; }
  .hub-site .creator-tabs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .5rem; margin-bottom: 1rem; padding: 0; }
  .hub-site .creator-tabs a { padding: .5rem; font-size: .85rem; }
  .hub-site .creator-dashboard__intro { margin-bottom: 1rem; }
  .hub-site .creator-status-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .6rem; }
  .hub-site .creator-status-card { min-height: 0; padding: .85rem; }
  .hub-site .creator-status-card--wide { grid-column: 1 / -1; }
  .hub-site .creator-status-card strong { font-size: clamp(1.2rem,5vw,1.6rem); line-height: 1.2; overflow-wrap: normal; word-break: normal; hyphens: auto; }
  .hub-site .creator-status-card :is(span,small) { font-size: .72rem; line-height: 1.45; }
  .hub-site .creator-panel { padding: .9rem; }
  .hub-site .creator-mini-chart { gap: .25rem; min-height: 11.5rem; }
  .hub-site .creator-mini-chart--daily { gap: .15rem; }
  .hub-site .creator-mini-chart small { font-size: .625rem; }
  .hub-site .creator-stats-table th { font-size: .65rem; padding: .65rem .2rem; overflow-wrap: normal; }
  .hub-site .creator-stats-table td { font-size: .73rem; padding: .7rem .2rem; }
  .hub-site .creator-assets-grid { gap: .6rem; }
  .hub-site .creator-asset-card__preview img { padding: .5rem; }
  .hub-site .creator-asset-card__meta { padding: .75rem; }
  .hub-site .creator-invoice-helper__draft { padding: .85rem; font-size: .75rem; }
  .hub-site .creator-payout-form :is(input,select,textarea) { font-size: 1rem; }
}

/* Keep upgrade guidance with the Gaming Hub welcome and status. */
.hub-site .hub-welcome-upgrade { position: relative; z-index: 1; margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,.12); }
.hub-site .hub-welcome-upgrade h2 { margin: 0 0 .5rem; font-size: 1.05rem; font-weight: 800; color: #fff; }
.hub-site .hub-welcome-upgrade p { margin: 0 0 1rem; color: #bdbdbd; font-size: .875rem; line-height: 1.5; }
.hub-site .hub-welcome-upgrade nav { display: grid; gap: .75rem; }
.hub-site .hub-welcome-upgrade-link { display: flex; width: 100%; min-height: 3rem; align-items: center; justify-content: center; padding: .8rem 1rem; border: 1px solid rgba(233,78,27,.5); border-radius: .8rem; background: rgba(233,78,27,.12); color: #fff; font-weight: 700; text-align: center; }

/* Values name the sales counts; scrolling keeps dense day labels readable. */
.hub-site .creator-chart-scroll { max-width: 100%; overflow-x: auto; padding-top: .25rem; }
.hub-site .creator-mini-chart--daily { grid-template-columns: repeat(31,minmax(1.75rem,1fr)); }
.hub-site .creator-chart-value { min-height: 1rem; color: #fff; font-size: .75rem; font-weight: 800; line-height: 1; white-space: nowrap; }
.hub-site .creator-chart-unit { margin: .5rem 0 0; color: #bdbdbd; font-size: .8rem; }
.hub-site .creator-year-filter :is(select,button) { box-sizing: border-box; height: 44px; margin: 0; }

/* Date labels keep their own width so touch users can read every data point. */
.hub-site .creator-mini-chart--daily { grid-template-columns: repeat(31,minmax(3.25rem,1fr)); }
.hub-site .creator-mini-chart--monthly { grid-template-columns: repeat(12,minmax(4.25rem,1fr)); }
.hub-site .creator-mini-chart small { writing-mode: horizontal-tb; height: 1.5rem; overflow: visible; color: #bdbdbd; font-size: .75rem; white-space: nowrap; }
.hub-site .creator-line-chart { display: grid; grid-template-columns: 2.25rem minmax(0,1fr); gap: .25rem; margin-top: .75rem; }
.hub-site .creator-line-chart .creator-chart-scroll { padding-top: 0; }
.hub-site .creator-line-axis { display: flex; flex-direction: column; justify-content: space-between; height: 11.5rem; padding-top: 1.5rem; padding-bottom: 0; color: #bdbdbd; font-size: .75rem; text-align: right; }
.hub-site .creator-line-canvas { padding: 1.5rem 1.75rem .5rem; }
.hub-site .creator-line-plot { position: relative; height: 10rem; }
.hub-site .creator-line-plot .creator-trend__svg { display: block; height: 100%; margin: 0; }
.hub-site .creator-chart-grid { fill: none; stroke: rgba(255,255,255,.14); stroke-width: 1; vector-effect: non-scaling-stroke; }
.hub-site .creator-line-point { position: absolute; width: .5rem; height: .5rem; border: 1px solid #ffb07e; border-radius: 50%; background: #e94e1b; transform: translate(-50%,-50%); }
.hub-site .creator-line-point:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.hub-site .creator-line-point strong { position: absolute; bottom: .65rem; left: 50%; transform: translateX(-50%); font-size: .75rem; color: #fff; }
.hub-site .creator-line-dates { position: relative; height: 1.5rem; margin-top: .75rem; }
.hub-site .creator-line-dates time { position: absolute; transform: translateX(-50%); color: #bdbdbd; font-size: .75rem; white-space: nowrap; }
.hub-site .creator-legacy-summary { margin-bottom: 1rem; }
.hub-site .creator-legacy-summary__entry { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.12); overflow-wrap: anywhere; }
.hub-site .creator-legacy-summary__amounts { display: flex; flex-wrap: wrap; gap: 1rem 2rem; margin: .75rem 0; }
.hub-site .creator-legacy-summary__amounts dt { color: #bdbdbd; font-size: .8rem; }
.hub-site .creator-legacy-summary__amounts dd { margin: .25rem 0 0; color: #fff; font-size: 1.25rem; font-weight: 800; }

/* Long labels and enlarged text must reflow within the Creator panel. */
.hub-site .creator-trend__tabs { min-width: 0; max-width: 100%; flex-wrap: wrap; }
.hub-site .creator-trend__tabs button { min-width: 0; max-width: 100%; flex: 1 1 auto; white-space: normal; overflow-wrap: anywhere; }
.hub-site .creator-code-settings__form { grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); }
.hub-site .creator-code-settings__form label,
.hub-site .creator-code-settings__form input,
.hub-site .creator-code-settings__form button { min-width: 0; max-width: 100%; }
.hub-site .creator-code-settings__form button { white-space: normal; overflow-wrap: anywhere; }
.hub-site .creator-payout-form,
.hub-site .creator-payout-form label { min-width: 0; grid-template-columns: minmax(0, 1fr); }
.hub-site .creator-payout-form :is(input, select, textarea, button) { min-width: 0; max-width: 100%; box-sizing: border-box; }
.hub-site .creator-payout-form button { white-space: normal; overflow-wrap: anywhere; }
