/* === MINECRAFT CUBE OVERRIDE — match old dashboard === */
html,
body,
.ex-app {
  background: #080808 !important;
  color: #f3f3f3 !important;
  font-family: "Minecraft", "Courier New", monospace !important;
  letter-spacing: 0.2px !important;
}

h1,
h2,
h3,
.ex-page-title,
.ex-page-head h1,
.ex-card-head h2,
.ex-game-card h2,
.ex-modal-head h2,
.ex-profile-name,
.ex-side-nav-label,
.ex-section-label,
.ex-metric-label,
.ex-label {
  font-family: "Minecraft", "Courier New", monospace !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}

.ex-app *:not(.ex-income-pie-svg):not(.ex-income-pie-slice):not(.ex-income-pie-wrap):not(.ex-pay-asset-icon):not(.ex-pay-selected-mark),
.ex-app *::before,
.ex-app *::after {
  border-radius: 0 !important;
}

.ex-income-pie-wrap,
.ex-income-pie-svg {
  border-radius: 50% !important;
}

.ex-income-pie-slice {
  border-radius: 0;
}

.md-elevated,
.ex-login-card,
.ex-card,
.ex-metric,
.ex-modal-card,
.ex-profile-dropdown,
.ex-toast,
.ex-game-card,
.ex-entitlement-card,
.ex-access-tile,
.ex-ops-card,
.ex-cookie-pane,
.ex-locked-card,
.ex-best-hit,
.ex-side-panel,
.ex-global-bar,
.ex-icon-rail {
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.ex-login-card,
.ex-card,
.ex-modal-card,
.ex-ops-card,
.ex-cookie-pane,
.ex-entitlement-card,
.ex-access-tile,
.ex-locked-card {
  border: 1px solid #242424 !important;
  background: #111 !important;
  background-image: none !important;
}

.ex-metric,
.ex-game-card,
.ex-best-hit,
.ex-list-row,
.ex-secret-row,
.ex-cookie-row {
  border: 1px solid #242424 !important;
  background: #0c0c0c !important;
}

.ex-global-bar {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  background: #0a0a0a !important;
  border-bottom: 1px solid #242424 !important;
  min-height: 48px !important;
  padding: 6px 12px !important;
}

.ex-global-brand {
  font-size: 12px !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  flex: 0 0 auto !important;
}

.ex-global-actions {
  flex: 0 0 auto !important;
  margin-left: auto !important;
  align-items: stretch !important;
}

.ex-global-balance {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  z-index: 2 !important;
}

.ex-server-day-top {
  border: 1px solid #242424 !important;
  background: #080808 !important;
  box-shadow: none !important;
  height: 52px !important;
  min-height: 52px !important;
  box-sizing: border-box !important;
}

.ex-avatar-button {
  width: 52px !important;
  height: 52px !important;
  flex: 0 0 52px !important;
  border: 1px solid #242424 !important;
  background: #080808 !important;
  box-shadow: none !important;
}

.ex-account-chip {
  min-height: 52px !important;
  height: 52px !important;
  border: 1px solid #242424 !important;
  background: #080808 !important;
  box-shadow: none !important;
}

.ex-icon-rail {
  background: #080808 !important;
  border-right: 1px solid #242424 !important;
  top: 48px !important;
}

.ex-side-panel {
  background: #0a0a0a !important;
  border-right: 1px solid #242424 !important;
  top: 48px !important;
  height: calc(100dvh - 48px) !important;
  overflow: hidden !important;
  padding: 22px 0 12px !important;
}

.ex-side-nav {
  overflow-x: hidden !important;
}

.ex-side-nav-button {
  min-width: 0 !important;
  overflow: hidden !important;
}

.ex-dashboard {
  padding-top: 48px !important;
}

.ex-workspace {
  min-height: calc(100dvh - 48px) !important;
}

.ex-input,
.ex-select,
.ex-textarea,
.ex-commission-input {
  border: 1px solid #242424 !important;
  background: #0d0d0d !important;
  background-image: none !important;
  color: #f3f3f3 !important;
  box-shadow: none !important;
  min-height: 40px !important;
}

.ex-input:focus,
.ex-select:focus,
.ex-textarea:focus,
.ex-commission-input:focus {
  border-color: #e8d27a !important;
  box-shadow: none !important;
  outline: none !important;
}

.ex-btn {
  border: 1px solid #242424 !important;
  background: #0d0d0d !important;
  color: #f3f3f3 !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}

.ex-btn:hover {
  background: #1a1a1a !important;
  border-color: #333 !important;
  color: #fff !important;
}

.ex-btn-filled {
  background: #7dff9a !important;
  border-color: #7dff9a !important;
  color: #000 !important;
  box-shadow: none !important;
}

.ex-btn-filled:hover {
  background: #9dffb4 !important;
  border-color: #9dffb4 !important;
  color: #000 !important;
}

.ex-pay-create-submit:disabled:not(.is-loading),
.ex-pay-create-submit:disabled:not(.is-loading):hover {
  background: #202020 !important;
  border-color: #2b2b2b !important;
  color: #777 !important;
}

.ex-btn-accent {
  background: #0a1a0f !important;
  border-color: #2a6 !important;
  color: #7dff9a !important;
}

.ex-chip-btn,
.ex-ops-tab,
.ex-game-switch,
.ex-mini-button,
.ex-period-btn,
.ex-auth-tab {
  border: 1px solid #242424 !important;
  background: #0a0a0a !important;
  color: #9d9d9d !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  font-size: 11px !important;
}

.ex-chip-btn.on,
.ex-ops-tab.on,
.ex-game-switch.on,
.ex-period-btn.on,
.ex-auth-tab.on,
.ex-rail-button.on,
.ex-side-nav-button.on {
  background: #fff !important;
  border-color: #fff !important;
  color: #000 !important;
}

.ex-chip-btn[data-commission-pct].on,
.ex-ops-actions .on-deploy {
  background: #e8d27a !important;
  border-color: #e8d27a !important;
  color: #000 !important;
}

.ex-rail-button,
.ex-icon-button,
.ex-avatar-button,
.ex-account-chip,
.ex-side-avatar,
.ex-brand-mark {
  border: 1px solid #242424 !important;
  background: #0a0a0a !important;
  color: #e8d27a !important;
}

.ex-rail-button:hover,
.ex-icon-button:hover,
.ex-side-nav-button:hover {
  background: #151515 !important;
  color: #fff !important;
}

.ex-side-nav-button {
  border: 0 !important;
  background: transparent !important;
  color: #9d9d9d !important;
  text-transform: uppercase !important;
  font-size: 11px !important;
  letter-spacing: 0.04em !important;
  box-sizing: border-box !important;
}

.ex-side-nav-button.on {
  background: #fff !important;
  color: #000 !important;
  border: 0 !important;
}

.ex-metric-label,
.ex-side-nav-label,
.ex-section-label,
.ex-label {
  color: #9d9d9d !important;
  font-size: 10px !important;
}

.ex-metric {
  min-height: 78px !important;
  padding: 12px 14px !important;
}

.ex-metric-value,
.ex-money,
.ex-cut-code,
.ex-list-amount,
.ex-best-hit-amount {
  color: #e8d27a !important;
  font-variant-numeric: tabular-nums;
}

.ex-money--income {
  color: #e8d27a !important;
}

.ex-money--pos {
  color: #7ee0a8 !important;
}

.ex-money--neg {
  color: #f07178 !important;
}

.ex-money--warn {
  color: #f0c36a !important;
}

.ex-metric-value {
  margin-top: 8px !important;
  font-size: clamp(16px, 2vw, 22px) !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
}

.ex-metric.tone-green .ex-metric-value,
.ex-metric.tone-teal .ex-metric-value,
.ex-ops-sum .up {
  color: #7dff9a !important;
}

.ex-metric.tone-steel .ex-metric-value {
  color: #f3f3f3 !important;
}

.ex-table th {
  color: #9d9d9d !important;
  text-transform: uppercase !important;
  font-size: 10px !important;
  letter-spacing: 0.05em !important;
  border-bottom: 1px solid #242424 !important;
}

.ex-table td {
  border-bottom: 1px solid #242424 !important;
  font-size: 12px !important;
}

.ex-modal {
  background: rgba(0, 0, 0, 0.72) !important;
}

.ex-modal-card {
  background: #111 !important;
  border: 1px solid #242424 !important;
  padding: 16px !important;
}

.ex-nav-badge {
  background: #ff8585 !important;
  color: #000 !important;
}

.ex-profile-dropdown {
  background: #0a0a0a !important;
  border: 1px solid #242424 !important;
  padding: 0 !important;
}

.ex-profile-dropdown button {
  border-bottom: 1px solid #242424 !important;
  text-transform: uppercase !important;
  font-size: 11px !important;
}

.ex-profile-dropdown button:last-child {
  border-bottom: 0 !important;
}

.ex-profile-dropdown button.is-danger {
  color: #ff8585 !important;
}

.ex-toast {
  background: #111 !important;
  border: 1px solid #242424 !important;
}

.ex-page-head h1,
.ex-page-title {
  font-size: 16px !important;
  margin: 0 0 4px !important;
}

.ex-card-head h2,
.ex-game-card h2,
.ex-modal-head h2 {
  font-size: 12px !important;
}

.ex-game-card h2 {
  font-size: clamp(15px, 2vw, 20px) !important;
  color: var(--game-color) !important;
  line-height: 1.15 !important;
}

.ex-game-card-stat-value.is-money {
  color: #7dff9a !important;
  font-size: clamp(20px, 2.4vw, 26px) !important;
  font-weight: 400 !important;
}

.ex-game-card-stat-label,
.ex-home-stats-head p {
  color: #9d9d9d !important;
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
}

.ex-home-stats-head h2 {
  font-size: 14px !important;
  color: #f3f3f3 !important;
}

.ex-home-stats .ex-metric {
  min-height: 88px !important;
}

.ex-page-head p,
.ex-breadcrumbs,
.ex-ops-meta,
.ex-body-muted,
.ex-chart-sub {
  color: #9d9d9d !important;
  font-size: 11px !important;
  text-transform: none !important;
  letter-spacing: 0.2px !important;
}

.ex-side-nav-button,
.ex-chip-btn,
.ex-mini-button,
.ex-ops-tab {
  font-size: 10px !important;
}

.ex-table th {
  font-size: 12px !important;
  letter-spacing: 0.06em !important;
}

.ex-table--referral th,
.ex-table--lb th {
  font-size: 13px !important;
  letter-spacing: 0.07em !important;
}

.ex-th-income {
  color: #e8d27a !important;
}

.ex-th-owe {
  color: #f07178 !important;
}

.ex-th-earn {
  color: #7ee0a8 !important;
}

.ex-table td.ex-money {
  font-size: 13px !important;
}

.ex-table td,
.ex-best-hit,
.ex-list-row {
  font-size: 11px !important;
}

.ex-btn {
  font-size: 11px !important;
  min-height: 34px !important;
  padding: 7px 12px !important;
}

/* Sits in a row of inputs, so it takes the field height instead of 34px. */
.ex-private-grant-form .ex-btn,
.ex-referral-create-form .ex-btn,
.ex-referral-grant-form .ex-btn {
  min-height: 40px !important;
}

.ex-referral-grant-copy h2 {
  font-size: 13px !important;
  color: #d4aaff !important;
}

.ex-referral-grant-copy p {
  font-size: 12px !important;
  text-transform: none !important;
  letter-spacing: 0.2px !important;
}

.ex-referral-grant-form .ex-input {
  min-height: 40px !important;
  border-color: rgba(192, 132, 252, 0.45) !important;
}

.ex-referral-grant-form .ex-input:focus {
  border-color: #c084fc !important;
}

/* Referral purple has to be restated here: the cube layer flattens the side
   nav labels to grey and repaints every .ex-btn. */
.ex-side-nav-label.ex-side-nav-label--referral {
  color: #c084fc !important;
}

.ex-side-nav-button.ex-side-nav-button--referral:not(.on) {
  color: rgba(192, 132, 252, 0.72) !important;
}

.ex-side-nav-button.ex-side-nav-button--referral.on {
  background: rgba(192, 132, 252, 0.16) !important;
  color: #d4aaff !important;
}

.ex-btn.ex-btn--referral {
  border: 1px solid #c084fc !important;
  background: #c084fc !important;
  color: #0a0a0a !important;
  font-weight: 400 !important;
}

.ex-btn.ex-btn--referral:hover:not(:disabled) {
  border-color: #d4aaff !important;
  background: #d4aaff !important;
}

.ex-btn.ex-btn--referral:disabled {
  border-color: #242424 !important;
  background: #161018 !important;
  color: #6b6b6b !important;
  cursor: default;
}

.ex-mini-button.ex-mini-button--referral {
  border: 1px solid rgba(192, 132, 252, 0.45) !important;
  color: #c084fc !important;
}

.ex-mini-button.ex-mini-button--referral:hover:not(:disabled) {
  border-color: #c084fc !important;
  background: rgba(192, 132, 252, 0.12) !important;
  color: #d4aaff !important;
}

.ex-metric.tone-purple .ex-metric-value {
  color: #c084fc !important;
}

.ex-chart-wrap {
  border: 1px solid #242424 !important;
  background: #090909 !important;
}

.ex-mobile-nav {
  background: #0a0a0a !important;
  border-top: 1px solid #242424 !important;
}

.ex-mobile-nav-button.on {
  background: #fff !important;
  color: #000 !important;
}

.ex-game-thumb {
  border: 1px solid #242424;
}

.ex-scrim {
  background: rgba(0, 0, 0, 0.72) !important;
}

/* Pay / invoice — keep circles + section contrast under cube overrides */
.ex-pay-asset-icon,
.ex-pay-selected-mark {
  border-radius: 50% !important;
}

.ex-pay-shell .ex-pay-asset-icon {
  width: 56px !important;
  height: 56px !important;
  flex-basis: 56px !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

.ex-invoice-card-brand > .ex-pay-asset-icon {
  width: 48px !important;
  height: 48px !important;
  flex-basis: 48px !important;
  font-size: 0 !important;
}

.ex-invoice-card {
  gap: 12px !important;
  background: #0c0c0c !important;
}

.ex-invoice-card-head {
  padding-bottom: 12px !important;
  border-bottom: 1px solid #242424 !important;
}

.ex-invoice-hero {
  border: 1px solid #3a3420 !important;
  border-left: 3px solid #e8d27a !important;
  background: #14120c !important;
  background-image: none !important;
}

.ex-invoice-panel {
  border: 1px solid #2a2a2a !important;
  background: #101010 !important;
  padding: 12px !important;
}

.ex-chain-monitor {
  border: 1px solid #2a2a2a !important;
  background: #101010 !important;
}

.ex-pay-shell .ex-pay-copy {
  border: 1px solid #2f2f2f !important;
  background: #0a0a0a !important;
}

.ex-pay-shell .ex-pay-copy.is-accent {
  border-color: #4a4228 !important;
  background: #12100a !important;
}

.ex-pay-shell .ex-pay-copy-action {
  border: 1px solid #3a3a3a !important;
  background: #161616 !important;
}

@media (max-width: 900px) {
  .ex-global-balance {
    position: static !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    margin-left: auto !important;
    margin-right: 6px !important;
  }
}
