@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Outfit:wght@500;600;700;800&display=swap");

:root {
  --ink: #fff8ec;
  --muted: #b8a497;
  --muted-strong: #ddcabc;
  --canvas: #1a0f0b;
  --canvas-deep: #100806;
  --panel: rgba(54, 34, 25, 0.9);
  --panel-solid: #2d1c15;
  --panel-soft: #3a251c;
  --line: rgba(245, 218, 190, 0.13);
  --line-strong: rgba(245, 218, 190, 0.24);
  --violet: #c87a45;
  --violet-bright: #e2a06e;
  --cyan: #e7b777;
  --lime: #a9b77a;
  --amber: #dfa15b;
  --red: #ef7568;
  --green: #85ad7a;
  --cream: #f6e4cf;
  --copper: #c87a45;
  --coral: #ef7568;
  --font-sans: "Avenir Next", "Segoe UI Variable Text", "Segoe UI", Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, sans-serif;
  --font-display: "Avenir Next", "Segoe UI Variable Display", "Segoe UI", Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, sans-serif;
  --sidebar: 272px;
  --radius-xl: 24px;
  --radius-lg: 18px;
  --radius-md: 13px;
  --shadow: 0 28px 80px rgba(0, 0, 0, 0.24);
}

* { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: 96px;
}

body {
  margin: 0;
  min-width: 320px;
  background:
    radial-gradient(circle at 82% -12%, rgba(205, 104, 64, 0.2), transparent 31%),
    radial-gradient(circle at 42% 28%, rgba(227, 170, 102, 0.07), transparent 26%),
    var(--canvas);
  color: var(--ink);
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }

.sr-only {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.icon-library { height: 0; overflow: hidden; position: absolute; width: 0; }
.ui-icon { fill: none; height: 1em; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; width: 1em; }

.skip-link {
  background: var(--cream);
  border-radius: 8px;
  color: #25140e;
  left: 16px;
  padding: 10px 14px;
  position: fixed;
  top: -80px;
  transition: top .2s ease;
  z-index: 1000;
}
.skip-link:focus { top: 16px; }

.app-shell { min-height: 100vh; }

.sidebar {
  background:
    linear-gradient(180deg, rgba(49, 29, 21, .98), rgba(18, 9, 6, .99)),
    var(--canvas-deep);
  border-right: 1px solid var(--line);
  bottom: 0;
  display: flex;
  flex-direction: column;
  left: 0;
  padding: 24px 18px 18px;
  position: fixed;
  top: 0;
  width: var(--sidebar);
  z-index: 50;
}

.brand {
  align-items: center;
  display: flex;
  gap: 12px;
  padding: 2px 9px 27px;
}

.brand-mark {
  align-items: center;
  background: linear-gradient(145deg, rgba(205, 125, 69, .3), rgba(239, 117, 104, .1));
  border: 1px solid rgba(226, 160, 110, .38);
  border-radius: 13px;
  box-shadow: inset 0 1px rgba(255, 255, 255, .14), 0 10px 25px rgba(42, 27, 96, .22);
  display: flex;
  height: 42px;
  justify-content: center;
  width: 42px;
}

.brand-mark svg {
  fill: none;
  height: 28px;
  stroke: var(--violet-bright);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 3;
  width: 28px;
}

.brand strong { display: block; font-size: 18px; letter-spacing: -.02em; }
.brand span { color: var(--muted); display: block; font-size: 11px; margin-top: -2px; text-transform: uppercase; letter-spacing: .09em; }

.nav-stack { display: flex; flex-direction: column; gap: 5px; }
.nav-label { color: #65748b; font-size: 10px; font-weight: 700; letter-spacing: .14em; margin: 0 10px 7px; text-transform: uppercase; }
.nav-label-spaced { margin-top: 24px; }

.nav-item {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 11px;
  color: #a9b5c8;
  display: flex;
  font-size: 13px;
  font-weight: 550;
  gap: 11px;
  min-height: 43px;
  padding: 0 11px;
  transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}
.nav-item:hover { background: rgba(255, 240, 221, .045); color: var(--cream); transform: translateX(2px); }
.nav-item.is-active {
  background: linear-gradient(90deg, rgba(200, 122, 69, .2), rgba(239, 117, 104, .06));
  border-color: rgba(226, 160, 110, .18);
  color: white;
  box-shadow: inset 3px 0 var(--violet);
}
.nav-icon { color: #9d8272; display: inline-grid; font-size: 18px; place-items: center; width: 20px; }
.is-active .nav-icon { color: var(--violet-bright); }
.nav-count, .soon {
  border-radius: 999px;
  font-size: 10px;
  font-weight: 750;
  margin-left: auto;
  padding: 2px 7px;
}
.nav-count { background: rgba(255, 125, 142, .13); color: #ff9cac; }
.soon { background: rgba(84, 217, 236, .1); color: #6fe3f3; text-transform: uppercase; }

.sidebar-foot { margin-top: auto; padding: 14px 7px 0; }
.environment-card {
  align-items: center;
  background: rgba(255, 255, 255, .025);
  border: 1px solid var(--line);
  border-radius: 12px;
  display: flex;
  gap: 10px;
  padding: 11px;
}
.environment-dot { background: var(--green); border-radius: 50%; box-shadow: 0 0 0 4px rgba(86, 214, 155, .1), 0 0 14px rgba(86, 214, 155, .4); height: 7px; width: 7px; }
.environment-card strong, .environment-card span { display: block; }
.environment-card strong { font-size: 11px; }
.environment-card div span { color: var(--muted); font-size: 10px; }
.version { color: #5c6980; display: block; font-size: 10px; margin: 11px 2px 0; text-align: center; }

.main { margin-left: var(--sidebar); min-height: 100vh; }
.topbar {
  align-items: center;
  backdrop-filter: blur(18px);
  background: rgba(26, 15, 11, .82);
  border-bottom: 1px solid var(--line);
  display: flex;
  gap: 24px;
  height: 78px;
  padding: 0 clamp(22px, 3vw, 44px);
  position: sticky;
  top: 0;
  z-index: 30;
}
.topbar-title { min-width: 210px; }
.eyebrow { color: #718198; display: block; font-size: 10px; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.topbar h1 { font-size: 18px; letter-spacing: -.02em; margin: 1px 0 0; }
.menu-button { display: none !important; }

.search-box {
  align-items: center;
  background: rgba(255, 255, 255, .035);
  border: 1px solid var(--line);
  border-radius: 12px;
  display: flex;
  gap: 9px;
  margin-left: auto;
  max-width: 420px;
  min-width: 280px;
  padding: 0 12px;
  transition: background .2s ease, border-color .2s ease, box-shadow .2s ease;
  width: 38vw;
}
.search-box:focus-within { background: rgba(255, 255, 255, .055); border-color: rgba(154, 131, 255, .5); box-shadow: 0 0 0 3px rgba(154, 131, 255, .09); }
.search-box svg, .icon-button svg { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.search-box svg { color: #a48b7c; height: 17px; width: 17px; }
.search-box input { background: transparent; border: 0; color: white; height: 42px; min-width: 0; outline: none; width: 100%; }
.search-box input::placeholder { color: #647188; }
.search-box kbd { background: rgba(255, 255, 255, .05); border: 1px solid var(--line); border-radius: 5px; color: #6e7a8d; font-size: 9px; padding: 2px 5px; white-space: nowrap; }

.topbar-actions { align-items: center; display: flex; gap: 10px; }
.cluster-pill { align-items: center; background: rgba(86, 214, 155, .08); border: 1px solid rgba(86, 214, 155, .16); border-radius: 999px; color: #75dea9; display: flex; font-size: 10px; font-weight: 800; gap: 6px; letter-spacing: .08em; padding: 6px 9px; }
.cluster-pill i { background: var(--green); border-radius: 50%; box-shadow: 0 0 8px rgba(86, 214, 155, .6); height: 5px; width: 5px; }
.icon-button { align-items: center; background: transparent; border: 1px solid var(--line); border-radius: 10px; color: #8997ac; display: inline-flex; height: 36px; justify-content: center; padding: 0; width: 36px; }
.icon-button:disabled { cursor: not-allowed; opacity: .42; }
.icon-button svg { height: 17px; width: 17px; }
.avatar { align-items: center; background: linear-gradient(145deg, #7f6be3, #4c3c9a); border: 2px solid rgba(255, 255, 255, .11); border-radius: 10px; display: flex; font-size: 12px; font-weight: 800; height: 36px; justify-content: center; width: 36px; }

.content { margin: 0 auto; max-width: 1660px; padding: 26px clamp(22px, 3vw, 44px) 60px; }

.pause-banner {
  align-items: center;
  background: linear-gradient(90deg, rgba(255, 199, 110, .1), rgba(255, 199, 110, .035));
  border: 1px solid rgba(255, 199, 110, .2);
  border-radius: 14px;
  display: flex;
  gap: 12px;
  margin-bottom: 24px;
  padding: 12px 14px;
}
.pause-symbol { align-items: center; background: rgba(255, 199, 110, .14); border-radius: 8px; display: flex; gap: 3px; height: 34px; justify-content: center; width: 34px; }
.pause-symbol span { background: var(--amber); border-radius: 1px; height: 13px; width: 3px; }
.pause-copy { min-width: 0; }
.pause-copy strong { color: #ffe1b0; display: block; font-size: 12px; }
.pause-copy span { color: #9d9487; display: block; font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pause-state { background: rgba(255, 199, 110, .1); border-radius: 999px; color: #ffd28a; font-size: 10px; font-weight: 750; margin-left: auto; padding: 5px 9px; text-transform: uppercase; white-space: nowrap; }

.hero {
  align-items: center;
  background:
    linear-gradient(90deg, rgba(31, 15, 10, .86) 0%, rgba(43, 21, 14, .58) 48%, rgba(58, 28, 18, .28) 100%),
    var(--hero-asset, radial-gradient(circle at 80% 60%, rgba(154, 131, 255, .21), transparent 26%));
  background-position: center;
  background-size: cover;
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow);
  display: flex;
  min-height: 230px;
  overflow: hidden;
  padding: clamp(28px, 4vw, 52px);
  position: relative;
}
.hero::before { background: linear-gradient(90deg, var(--violet), var(--cyan)); content: ""; height: 2px; left: 52px; opacity: .8; position: absolute; right: 68%; top: 0; }
.hero > div:first-child { max-width: 670px; position: relative; z-index: 2; }
.hero h2 { font-size: clamp(31px, 3.7vw, 54px); font-weight: 650; letter-spacing: -.045em; line-height: 1.03; margin: 8px 0 15px; }
.hero p { color: #9ba7ba; font-size: clamp(13px, 1.2vw, 16px); line-height: 1.65; margin: 0; max-width: 650px; }
.hero-orbit { height: 230px; margin-left: auto; min-width: 300px; opacity: .72; position: relative; width: 34%; }
.orbit { border: 1px solid rgba(163, 146, 255, .23); border-radius: 50%; left: 50%; position: absolute; top: 50%; transform: translate(-50%, -50%) rotate(-15deg); }
.orbit-a { height: 170px; width: 270px; }
.orbit-b { height: 115px; transform: translate(-50%, -50%) rotate(34deg); width: 205px; }
.orbit-core { align-items: center; background: linear-gradient(145deg, rgba(154, 131, 255, .23), rgba(44, 191, 215, .12)); border: 1px solid rgba(173, 159, 255, .34); border-radius: 22px; box-shadow: 0 0 50px rgba(107, 87, 213, .2), inset 0 1px rgba(255, 255, 255, .12); display: flex; flex-direction: column; height: 88px; justify-content: center; left: 50%; position: absolute; top: 50%; transform: translate(-50%, -50%) rotate(-4deg); width: 88px; }
.orbit-core span { font-size: 20px; font-weight: 800; letter-spacing: .08em; }
.orbit-core small { color: #8e91b2; font-size: 8px; text-transform: uppercase; }
.node { background: var(--cyan); border: 3px solid rgba(7, 17, 31, .8); border-radius: 50%; box-shadow: 0 0 14px rgba(84, 217, 236, .6); height: 11px; position: absolute; width: 11px; }
.node-a { left: 15%; top: 31%; }.node-b { right: 9%; top: 60%; }.node-c { background: var(--violet); bottom: 16%; left: 38%; }

.metric-grid { display: grid; gap: 14px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 18px; }
.metric-card {
  --accent: var(--violet);
  background: linear-gradient(150deg, rgba(19, 34, 56, .94), rgba(13, 25, 42, .92));
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  min-height: 138px;
  overflow: hidden;
  padding: 18px;
  position: relative;
}
.metric-card::after { background: var(--accent); border-radius: 50%; content: ""; filter: blur(34px); height: 70px; opacity: .1; position: absolute; right: -22px; top: -22px; width: 70px; }
.accent-violet { --accent: var(--violet); }.accent-cyan { --accent: var(--cyan); }.accent-lime { --accent: var(--lime); }.accent-amber { --accent: var(--amber); }
.metric-top { align-items: center; color: #8390a4; display: flex; font-size: 11px; font-weight: 600; justify-content: space-between; }
.metric-icon { align-items: center; background: color-mix(in srgb, var(--accent) 11%, transparent); border: 1px solid color-mix(in srgb, var(--accent) 17%, transparent); border-radius: 8px; color: var(--accent); display: flex; font-size: 16px; height: 29px; justify-content: center; width: 29px; }
.metric-card > strong { display: block; font-size: clamp(23px, 2.1vw, 31px); letter-spacing: -.035em; margin-top: 14px; white-space: nowrap; }
.metric-card > strong em { color: #64738a; font-size: .5em; font-style: normal; font-weight: 550; }
.metric-card > small { color: #68768b; display: block; font-size: 10px; margin-top: 3px; }

.workspace-grid { align-items: start; display: grid; gap: 18px; grid-template-columns: minmax(0, 1.72fr) minmax(300px, .72fr); margin-top: 18px; }
.panel { background: linear-gradient(150deg, rgba(16, 29, 47, .93), rgba(11, 23, 39, .94)); border: 1px solid var(--line); border-radius: var(--radius-xl); box-shadow: 0 18px 55px rgba(0, 0, 0, .12); overflow: hidden; }
.panel-header { align-items: center; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; min-height: 82px; padding: 18px 21px; }
.panel-header h3 { font-size: 17px; letter-spacing: -.02em; margin: 2px 0 0; }
.segmented { background: rgba(2, 9, 20, .4); border: 1px solid var(--line); border-radius: 9px; display: flex; padding: 3px; }
.segmented button { background: transparent; border: 0; border-radius: 6px; color: #76849a; cursor: pointer; font-size: 10px; padding: 6px 9px; }
.segmented button.is-active { background: #253552; box-shadow: 0 2px 7px rgba(0,0,0,.18); color: #e6edf7; }

.request-list { min-height: 330px; }
.request-row { align-items: center; border-bottom: 1px solid var(--line); display: grid; gap: 12px; grid-template-columns: 40px minmax(150px, 1fr) auto auto 28px; min-height: 78px; padding: 12px 18px; transition: background .15s ease; }
.request-row:last-child { border-bottom: 0; }
.request-row:hover { background: rgba(255, 255, 255, .018); }
.game-avatar, .provider-logo { align-items: center; border: 1px solid rgba(255,255,255,.1); display: flex; font-weight: 800; justify-content: center; }
.game-avatar { background: linear-gradient(145deg, #4d417f, #282642); border-radius: 11px; color: #d1c8ff; font-size: 11px; height: 40px; width: 40px; }
.game-tone-b { background: linear-gradient(145deg, #164957, #18303f); color: #7de6ed; }
.game-emblem { isolation: isolate; overflow: hidden; position: relative; }
.game-emblem-fallback { position: relative; z-index: 0; }
.game-emblem-image {
  background-image: var(--provider-emblem-atlas);
  background-position: var(--atlas-x, 100%) var(--atlas-y, 100%);
  background-repeat: no-repeat;
  background-size: 500% 400%;
  inset: 0;
  position: absolute;
  z-index: 1;
}
img.game-emblem-image {
  background: none;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.request-title { align-items: center; display: flex; gap: 6px; min-width: 0; }
.request-title strong { font-size: 12px; }.request-title span { color: #6f7b90; font-size: 10px; }
.request-meta { color: #6d7a8f; display: flex; font-size: 10px; gap: 14px; margin-top: 4px; }
.request-amount { min-width: 78px; text-align: right; }.request-amount strong { display: block; font-size: 12px; }.request-amount span { color: #66748a; display: block; font-size: 9px; text-transform: uppercase; }
.status-chip { border-radius: 999px; display: inline-flex; font-size: 9px; font-weight: 750; justify-content: center; min-width: 58px; padding: 5px 8px; text-transform: uppercase; }
.status-pending { background: rgba(255, 199, 110, .1); color: #f9c878; }.status-processing { background: rgba(84, 217, 236, .1); color: #6fe3f2; }.status-approved { background: rgba(154, 131, 255, .12); color: #b3a3fa; }.status-loaded { background: rgba(86, 214, 155, .1); color: #6bddaa; }.status-failed, .status-rejected { background: rgba(255, 125, 142, .1); color: #ff97a6; }
.row-action { background: transparent; border: 0; color: #536178; cursor: not-allowed; padding: 4px; }

.route-panel { min-height: 490px; }
.draft-chip, .read-only-badge { background: rgba(154, 131, 255, .1); border: 1px solid rgba(154, 131, 255, .14); border-radius: 999px; color: #b1a0fb; font-size: 9px; font-weight: 750; padding: 5px 8px; text-transform: uppercase; }
.route-diagram { margin: 25px auto 17px; max-width: 265px; padding: 0 14px; }
.route-node { align-items: center; background: rgba(255, 255, 255, .025); border: 1px solid var(--line); border-radius: 12px; display: flex; gap: 11px; margin: 0 auto; padding: 10px; width: 210px; }
.route-node > span { align-items: center; background: rgba(154, 131, 255, .14); border: 1px solid rgba(154, 131, 255, .2); border-radius: 8px; color: #c5baff; display: flex; font-size: 10px; font-weight: 800; height: 32px; justify-content: center; width: 32px; }
.route-node strong, .route-node small { display: block; }.route-node strong { font-size: 11px; }.route-node small { color: #6e7c91; font-size: 9px; }
.sub-node { border-color: rgba(84, 217, 236, .2); }.sub-node > span { background: rgba(84, 217, 236, .1); border-color: rgba(84, 217, 236, .2); color: #70e1ef; }
.route-line { color: #58657a; height: 46px; position: relative; text-align: center; }.route-line::before { background: linear-gradient(var(--violet), var(--cyan)); content: ""; height: 100%; left: 50%; opacity: .55; position: absolute; top: 0; width: 1px; }.route-line i { animation: flow 2.2s infinite ease-in; background: white; border-radius: 50%; height: 4px; left: calc(50% - 1.5px); position: absolute; top: 2px; width: 4px; }.route-line span { background: var(--panel-solid); font-size: 8px; left: 50%; padding: 2px 5px; position: absolute; top: 15px; transform: translateX(-50%); text-transform: uppercase; }
@keyframes flow { from { opacity: 0; transform: translateY(0); } 20% { opacity: 1; } to { opacity: 0; transform: translateY(38px); } }
.route-split { height: 38px; margin: auto; position: relative; width: 112px; }.route-split::before { border-left: 1px solid rgba(154, 131, 255, .35); border-right: 1px solid rgba(84, 217, 236, .35); border-top: 1px solid rgba(142, 161, 194, .25); content: ""; inset: 17px 0 0; position: absolute; }.route-split::after { background: var(--line-strong); content: ""; height: 18px; left: 50%; position: absolute; width: 1px; }
.target-row { display: grid; gap: 10px; grid-template-columns: 1fr 1fr; }.target-node { background: rgba(255, 255, 255, .025); border: 1px solid var(--line); border-radius: 10px; padding: 9px; text-align: center; }.target-node span { align-items: center; background: rgba(154, 131, 255, .12); border-radius: 6px; color: #afa0f4; display: inline-flex; font-size: 9px; font-weight: 800; height: 21px; justify-content: center; width: 21px; }.target-node strong, .target-node small { display: block; }.target-node strong { font-size: 10px; margin-top: 5px; }.target-node small { color: #637188; font-size: 8px; }
.route-checklist { border-top: 1px solid var(--line); margin-top: 23px; padding: 18px 21px; }.route-checklist > div { align-items: center; display: flex; gap: 10px; margin-bottom: 13px; }.route-checklist > div:last-child { margin-bottom: 0; }.check { align-items: center; border: 1px solid var(--line); border-radius: 50%; color: #617087; display: flex; flex: 0 0 23px; font-size: 9px; height: 23px; justify-content: center; }.check.is-done { background: rgba(86, 214, 155, .1); border-color: rgba(86, 214, 155, .2); color: #62dca4; }.route-checklist p { margin: 0; }.route-checklist strong, .route-checklist small { display: block; }.route-checklist strong { font-size: 10px; }.route-checklist small { color: #657389; font-size: 9px; }

.provider-panel, .ledger-panel { margin-top: 18px; }
.provider-heading { min-height: 96px; padding-right: 18px; }
.provider-heading-copy { align-items: center; display: flex; gap: 22px; }
.provider-total-balance { border-left: 1px solid var(--line); display: grid; min-width: 150px; padding-left: 22px; }
.provider-total-balance span { color: #9d887a; font-size: 8px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.provider-total-balance strong { color: #f3e2d5; font-family: var(--font-display); font-size: 20px; font-weight: 850; letter-spacing: -.025em; margin-top: 3px; }
.provider-total-balance small { color: #8f7b6e; font-size: 8px; font-weight: 700; margin-top: 2px; }
.panel-tools { align-items: center; color: #738198; display: flex; font-size: 10px; gap: 12px; }
.ghost-button { background: rgba(255,255,255,.025); border: 1px solid var(--line); border-radius: 9px; color: #6c7a90; cursor: not-allowed; font-size: 10px; padding: 8px 10px; }
.provider-toolbar { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.provider-toolbar > span { color: #bda393; font-size: 10px; font-weight: 700; white-space: nowrap; }
.provider-filters button { font-size: 10px; font-weight: 800; min-width: 58px; }
.provider-search-control { align-items: center; background: rgba(255,255,255,.03); border: 1px solid var(--line); border-radius: 9px; display: flex; gap: 7px; min-height: 34px; padding: 0 9px; width: min(235px, 24vw); }
.provider-search-control .ui-icon { color: #8f7b6e; flex: 0 0 14px; height: 14px; width: 14px; }
.provider-search-control input { background: transparent; border: 0; color: #f0dfd3; font: inherit; font-size: 10px; font-weight: 700; min-width: 0; outline: 0; padding: 0; width: 100%; }
.provider-search-control input::placeholder { color: #8f7b6e; }
.provider-sort-control select { appearance: none; background: rgba(255,255,255,.03) linear-gradient(45deg, transparent 50%, #9d887a 50%) calc(100% - 12px) 14px/4px 4px no-repeat; border: 1px solid var(--line); border-radius: 9px; color: #d5c1b3; cursor: pointer; font: inherit; font-size: 10px; font-weight: 800; min-height: 34px; padding: 0 28px 0 10px; }
.bulk-balance-form { margin: 0; }
.bulk-balance-button { align-items: center; background: rgba(133,173,122,.15); border: 1px solid rgba(168,206,153,.28); border-radius: 9px; color: #c6dfb8; cursor: pointer; display: inline-flex; font-size: 10px; font-weight: 850; gap: 6px; min-height: 32px; padding: 7px 11px; white-space: nowrap; }
.bulk-balance-button:hover { background: rgba(133,173,122,.24); color: #e5f3dd; }
.bulk-balance-button:disabled { cursor: wait; opacity: .62; }
.bulk-balance-button .ui-icon { height: 14px; width: 14px; }
.provider-grid { display: grid; gap: 16px; grid-template-columns: 1fr; padding: 20px; }
.provider-card { align-items: center; background: rgba(255,255,255,.018); border: 1px solid var(--line); border-radius: 14px; display: grid; gap: 9px; grid-template-columns: 40px minmax(0, 1fr) auto; min-height: 100px; padding: 13px; transition: border-color .2s ease, transform .2s ease; }
.provider-card:hover { border-color: rgba(154, 131, 255, .24); transform: translateY(-2px); }
.provider-game-card { background: linear-gradient(145deg, rgba(70, 43, 31, .9), rgba(35, 20, 15, .96)); border: 1px solid var(--line); border-radius: 18px; min-height: 300px; overflow: hidden; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.provider-game-card:hover { border-color: rgba(226, 160, 110, .28); box-shadow: 0 18px 40px rgba(0,0,0,.13); transform: translateY(-2px); }
.provider-game-head { align-items: center; border-bottom: 1px solid var(--line); display: grid; gap: 13px; grid-template-columns: 58px minmax(0, 1fr) auto; min-height: 88px; padding: 14px 16px; }
.provider-game-head .provider-logo { border-radius: 14px; height: 58px; width: 58px; }
.provider-game-title { min-width: 0; }.provider-game-title h4 { color: #f3e2d5; font-family: var(--font-display); font-size: 17px; font-weight: 850; letter-spacing: -.025em; margin: 3px 0 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.provider-game-title .eyebrow { font-size: 9px; }
.provider-game-summary { align-items: center; display: flex; gap: 12px; justify-self: end; }
.mapping-count { background: rgba(255,239,218,.045); border: 1px solid var(--line); border-radius: 999px; color: #c3a999; font-size: 9px; font-weight: 750; padding: 5px 8px; white-space: nowrap; }
.provider-game-total { border-left: 1px solid var(--line); display: grid; min-width: 108px; padding-left: 12px; text-align: right; }
.provider-game-total span { color: #a98e7e; font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.provider-game-total strong { color: #bad09e; font-family: var(--font-display); font-size: 18px; font-weight: 850; letter-spacing: -.025em; margin-top: 2px; }
.provider-game-total small { color: #8f776a; font-size: 8px; font-weight: 650; margin-top: 1px; }
.provider-slot-grid { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 14px; }
.provider-slot { background: rgba(21, 11, 8, .34); border: 1px solid rgba(245,218,190,.11); border-radius: 13px; display: flex; flex-direction: column; min-height: 180px; padding: 13px; }
.provider-slot > header { align-items: center; display: flex; justify-content: space-between; }
.provider-slot > header > div { align-items: center; display: flex; gap: 7px; }.provider-slot > header strong { color: #dbc7b8; font-size: 10px; font-weight: 800; }
.cluster-badge { border-radius: 7px; font-size: 9px; font-weight: 850; letter-spacing: .05em; padding: 4px 6px; }.cluster-api1 { background: rgba(200,122,69,.16); color: #e7a879; }.cluster-api2 { background: rgba(133,173,122,.15); color: #bad2ac; }
.provider-slot-details { display: grid; gap: 10px; grid-template-columns: minmax(0, 1fr) auto; margin-top: 16px; }
.provider-slot-details span, .provider-slot-details strong { display: block; }.provider-slot-details span { color: #a98e7e; font-size: 8px; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }.provider-slot-details strong { color: #efded1; font-size: 12px; font-weight: 800; margin-top: 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.provider-balance { text-align: right; }.provider-balance strong { color: #bad09e; font-family: var(--font-display); font-size: 17px; letter-spacing: -.025em; }.provider-balance .balance-unavailable { color: #af9687; font-size: 11px; }
.provider-slot > footer { align-items: center; border-top: 1px solid var(--line); display: flex; gap: 8px; justify-content: space-between; margin-top: auto; padding-top: 11px; }.provider-slot > footer > span { color: #a18879; font-size: 8px; font-weight: 600; }
.balance-check-button { align-items: center; background: linear-gradient(135deg, rgba(200,122,69,.22), rgba(169,85,56,.18)); border: 1px solid rgba(226,160,110,.24); border-radius: 8px; color: #edc19f; cursor: pointer; display: inline-flex; font-size: 9px; font-weight: 800; gap: 5px; padding: 7px 8px; white-space: nowrap; }.balance-check-button:hover { background: linear-gradient(135deg, rgba(200,122,69,.34), rgba(169,85,56,.28)); color: #fff2e7; }.balance-check-button .ui-icon { height: 13px; width: 13px; }
.provider-slot.is-empty { border-style: dashed; }.provider-slot-empty { align-items: center; display: flex; flex: 1; flex-direction: column; justify-content: center; padding: 13px 4px 4px; text-align: center; }.provider-slot-empty > span { align-items: center; background: rgba(255,239,218,.04); border: 1px solid var(--line); border-radius: 50%; color: #a98e7e; display: flex; font-size: 16px; height: 30px; justify-content: center; width: 30px; }.provider-slot-empty strong { color: #c6ad9d; font-size: 10px; margin-top: 8px; }.provider-slot-empty small { color: #8f776a; font-size: 8px; line-height: 1.45; margin-top: 3px; max-width: 165px; }
.provider-messages { display: grid; gap: 7px; padding: 14px 20px 0; }.provider-message { background: rgba(223,161,91,.08); border: 1px solid rgba(223,161,91,.2); border-radius: 10px; color: #e5ba87; font-size: 10px; font-weight: 650; padding: 9px 12px; }.provider-message.message-success { background: rgba(133,173,122,.09); border-color: rgba(133,173,122,.2); color: #b9d0aa; }.provider-message.message-error { background: rgba(239,117,104,.09); border-color: rgba(239,117,104,.2); color: #f2a097; }
.provider-logo { background: linear-gradient(145deg, #43548c, #272f56); border-radius: 12px; color: #c8d2ff; font-size: 10px; height: 40px; width: 40px; }.provider-logo.tone-mint { background: linear-gradient(145deg, #185c59, #18363e); color: #8cf2d5; }
.provider-copy { min-width: 0; }.provider-copy strong, .provider-copy span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.provider-copy strong { font-size: 11px; }.provider-copy span { color: #65748a; font-size: 9px; }
.connection-state { align-items: center; color: #68dca7; display: flex; font-size: 8px; gap: 5px; text-transform: uppercase; }.connection-state i { background: #56d69b; border-radius: 50%; box-shadow: 0 0 7px rgba(86, 214, 155, .45); height: 5px; width: 5px; }.connection-state.is-off { color: #7c889a; }.connection-state.is-off i { background: #6c788b; box-shadow: none; }
.connection-state.is-disconnected { color: #f29a91; }.connection-state.is-disconnected i { background: #ef7568; box-shadow: 0 0 7px rgba(239,117,104,.4); }
.connection-state.is-inactive, .connection-state.is-not-checked { color: #9c8a80; }.connection-state.is-inactive i, .connection-state.is-not-checked i { background: #82746d; box-shadow: none; }
.provider-foot { align-items: center; border-top: 1px solid var(--line); display: flex; grid-column: 1 / -1; justify-content: space-between; padding-top: 8px; }.provider-foot span { color: #59677d; font-size: 8px; }.provider-foot button { background: transparent; border: 0; color: #78869b; font-size: 8px; padding: 0; }

.table-wrap { overflow-x: auto; }
table { border-collapse: collapse; min-width: 780px; width: 100%; }
th { color: #637087; font-size: 9px; font-weight: 750; letter-spacing: .06em; padding: 11px 20px; text-align: left; text-transform: uppercase; }
td { border-top: 1px solid var(--line); color: #aab6c7; font-size: 10px; padding: 13px 20px; }
td strong, td span { display: block; }td strong { color: #dbe3ee; font-size: 10px; }td > span:not(.status-chip) { color: #66748b; font-size: 8px; }
.align-right { text-align: right; }.amount-load { color: #70dca9; font-weight: 700; }.amount-redeem { color: #ffbd75; font-weight: 700; }
.read-only-badge { background: rgba(84, 217, 236, .08); border-color: rgba(84, 217, 236, .14); color: #75dbe9; }
.ledger-header-tools, .ledger-team-filter { align-items: center; display: flex; gap: 9px; }
.ledger-team-filter label { color: #b79e8d; font-size: 8px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.ledger-team-filter select { appearance: none; background: rgba(255,255,255,.025); border: 1px solid var(--line); border-radius: 9px; color: var(--cream); min-width: 180px; outline: 0; padding: 8px 30px 8px 10px; }
.ledger-team-filter select option { background: var(--panel-solid); color: var(--ink); }
.ledger-team-filter button { background: linear-gradient(135deg, #ca7b48, #a95538); border: 0; border-radius: 9px; color: #fff7ed; cursor: pointer; font-size: 9px; font-weight: 750; padding: 9px 12px; }

.empty-state { align-items: center; color: #69778c; display: flex; flex-direction: column; justify-content: center; min-height: 270px; padding: 30px; text-align: center; }.empty-state > span { align-items: center; background: rgba(86, 214, 155, .08); border: 1px solid rgba(86, 214, 155, .14); border-radius: 50%; color: #66dba5; display: flex; font-size: 18px; height: 46px; justify-content: center; margin-bottom: 12px; width: 46px; }.empty-state strong { color: #b8c3d3; font-size: 12px; }.empty-state p { font-size: 10px; max-width: 330px; }.provider-empty { grid-column: 1 / -1; }

/* Team analytics is intentionally read-only. Financial movement comes from
   server-aggregated ledger evidence; the browser only presents it. */
.analytics-section { margin-top: 30px; scroll-margin-top: 98px; }
.analytics-heading { align-items: end; display: flex; gap: 28px; justify-content: space-between; margin-bottom: 15px; }
.analytics-heading > div:first-child { max-width: 720px; }
.analytics-heading h2 { font-size: clamp(25px, 2.5vw, 36px); letter-spacing: -.04em; line-height: 1.08; margin: 5px 0 7px; }
.analytics-heading p { color: #78869b; font-size: 12px; margin: 0; max-width: 650px; }
.period-control { flex: 0 0 auto; }
.period-control > label { color: #758299; display: block; font-size: 9px; font-weight: 750; letter-spacing: .08em; margin: 0 0 5px 2px; text-transform: uppercase; }
.period-control > div { align-items: center; background: rgba(4, 12, 23, .7); border: 1px solid var(--line); border-radius: 11px; display: flex; padding: 3px; }
.period-control select { appearance: none; background: transparent; border: 0; color: #dce5f0; cursor: pointer; min-width: 158px; outline: 0; padding: 8px 30px 8px 10px; }
.period-control select option { background: var(--panel-solid); color: var(--ink); }
.period-control button { background: linear-gradient(135deg, #7f69e5, #6250be); border: 0; border-radius: 8px; color: white; cursor: pointer; font-size: 10px; font-weight: 750; padding: 8px 12px; }
.period-control.is-submitting { opacity: .65; pointer-events: none; }
.period-control > small { color: #5f6c81; display: block; font-size: 8px; margin: 5px 2px 0; text-align: right; }
.analytics-notice { background: rgba(255, 199, 110, .08); border: 1px solid rgba(255, 199, 110, .18); border-radius: 10px; color: #e5b96f; font-size: 10px; margin-bottom: 12px; padding: 9px 12px; }

.analytics-metrics { display: grid; gap: 12px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.analytics-metric { --metric-accent: var(--violet); background: linear-gradient(150deg, rgba(20, 35, 57, .96), rgba(10, 22, 38, .95)); border: 1px solid var(--line); border-radius: 16px; min-height: 128px; overflow: hidden; padding: 18px; position: relative; }
.analytics-metric::before { background: var(--metric-accent); border-radius: 99px; content: ""; height: 3px; left: 18px; opacity: .8; position: absolute; top: 0; width: 36px; }
.analytics-metric::after { background: var(--metric-accent); border-radius: 50%; content: ""; filter: blur(35px); height: 70px; opacity: .08; position: absolute; right: -15px; top: -20px; width: 70px; }
.analytics-metric.is-load { --metric-accent: var(--green); }.analytics-metric.is-redeem { --metric-accent: var(--amber); }.analytics-metric.is-net { --metric-accent: var(--cyan); }.analytics-metric.is-volume { --metric-accent: var(--violet); }
.analytics-metric > span { color: #8491a5; display: block; font-size: 10px; font-weight: 650; }
.analytics-metric > strong { display: block; font-size: clamp(24px, 2.2vw, 34px); letter-spacing: -.04em; margin: 12px 0 1px; white-space: nowrap; }
.analytics-metric > small { color: #647288; font-size: 9px; }

.monthly-ribbon { background: rgba(8, 19, 34, .54); border: 1px solid var(--line); border-radius: 17px; margin-top: 14px; overflow: hidden; padding: 15px; }
.monthly-ribbon-heading { align-items: end; display: flex; justify-content: space-between; margin-bottom: 11px; }
.monthly-ribbon-heading h3 { font-size: 13px; margin: 2px 0 0; }.monthly-ribbon-heading > small { color: #5d6b80; font-size: 8px; }
.month-card-track { display: grid; gap: 9px; grid-auto-columns: minmax(178px, 1fr); grid-auto-flow: column; overflow-x: auto; padding-bottom: 3px; scrollbar-color: #35445c transparent; scrollbar-width: thin; }
.month-summary-card { background: linear-gradient(145deg, rgba(22, 37, 59, .9), rgba(12, 25, 41, .94)); border: 1px solid var(--line); border-radius: 12px; min-height: 125px; padding: 12px; transition: border-color .18s ease, transform .18s ease; }
.month-summary-card:hover { border-color: rgba(154, 131, 255, .34); transform: translateY(-2px); }.month-summary-card.is-selected { border-color: rgba(84, 217, 236, .3); box-shadow: inset 0 0 0 1px rgba(84, 217, 236, .08); }
.month-summary-card > span, .month-summary-card > strong, .month-summary-card > small { display: block; }.month-summary-card > span { color: #9ba8ba; font-size: 9px; font-weight: 700; }.month-summary-card > strong { font-size: 18px; letter-spacing: -.03em; margin-top: 7px; }.month-summary-card > small { color: #617087; font-size: 8px; }
.month-summary-card > div { border-top: 1px solid var(--line); display: grid; gap: 3px; margin-top: 9px; padding-top: 7px; }.month-summary-card > div span { color: #78869a; font-size: 8px; }.month-summary-card i { border-radius: 50%; display: inline-block; height: 5px; margin-right: 5px; width: 5px; }.month-load { background: var(--green); }.month-redeem { background: var(--amber); }.month-summary-card > em { color: #d77f8d; display: block; font-size: 7px; font-style: normal; margin-top: 5px; }

.report-chart-grid { display: grid; gap: 14px; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .72fr); margin-top: 14px; }
.report-chart { min-height: 315px; padding: 18px; }
.report-chart-header { align-items: center; display: flex; justify-content: space-between; }
.report-chart-header h3 { font-size: 15px; margin: 3px 0 0; }
.chart-legend { align-items: center; color: #c2aa99; display: flex; font-size: 10px; gap: 12px; }
.chart-legend span { align-items: center; display: flex; gap: 5px; }.chart-legend i { border-radius: 2px; height: 8px; width: 8px; }.legend-load { background: var(--copper); }.legend-redeem { background: var(--coral); }
.team-chart-legend { justify-content: flex-end; margin-top: 10px; }
.month-grouped-chart { align-items: end; border-bottom: 1px solid var(--line-strong); display: grid; gap: clamp(5px, 1vw, 13px); grid-auto-columns: minmax(43px, 1fr); grid-auto-flow: column; height: 218px; margin-top: 17px; overflow-x: auto; overflow-y: hidden; padding: 20px 3px 0; scrollbar-color: rgba(200, 122, 69, .45) transparent; scrollbar-width: thin; }
.month-bar-group { align-items: center; display: grid; grid-template-rows: 18px 145px 16px 14px; height: 198px; min-width: 43px; text-align: center; }
.month-bar-group:hover .chart-bar { filter: brightness(1.15); }.month-bar-group.is-selected { background: rgba(200, 122, 69, .06); border-radius: 9px 9px 0 0; }
.bar-value { color: #c2aa99; font-size: 9px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.grouped-bars { align-items: end; display: flex; gap: 4px; height: 145px; justify-content: center; }
.chart-bar { border-radius: 5px 5px 2px 2px; box-shadow: inset 0 1px rgba(255,255,255,.15); display: block; height: min(var(--bar-pct, 0%), 100%); transition: height .35s ease, filter .18s ease; width: clamp(8px, 30%, 17px); }
.chart-load { background: linear-gradient(180deg, #e0a16d, #a75c31); }.chart-redeem { background: linear-gradient(180deg, #f39485, #bd5149); }
.month-bar-group > strong { color: #ead8c9; font-size: 10px; margin-top: 5px; }.month-bar-group > small { color: #bda493; font-size: 9px; }
.report-chart > footer { color: #bda493; font-size: 9px; line-height: 1.5; margin-top: 10px; }

.team-volume-chart { display: grid; gap: 15px; margin-top: 22px; }
.team-volume-row > div { align-items: center; display: flex; gap: 8px; justify-content: space-between; margin-bottom: 6px; }.team-volume-row strong { color: #decbbc; font-size: 10px; max-width: 68%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.team-volume-row span { color: #c0a797; font-size: 9px; }
.team-volume-track { background: rgba(246, 228, 207, .07); border-radius: 999px; display: block; height: 8px; overflow: hidden; }
.team-volume-track > i { border-radius: inherit; display: flex; height: 100%; overflow: hidden; width: min(var(--volume-pct, 0%), 100%); }
.team-volume-track b { display: block; height: 100%; width: var(--mix-pct, 0%); }.team-mix-load { background: var(--copper); }.team-mix-redeem { background: var(--coral); }

.quality-strip { background: rgba(50, 30, 22, .72); border: 1px solid var(--line); border-radius: 15px; display: grid; gap: 1px; grid-template-columns: repeat(3, 1fr); margin-top: 14px; overflow: hidden; }
.quality-strip > div { background: rgba(255, 248, 236, .018); padding: 14px 16px; }.quality-strip span, .quality-strip strong, .quality-strip small { display: block; }.quality-strip span { color: #c1a998; font-size: 10px; font-weight: 700; text-transform: uppercase; }.quality-strip strong { color: var(--cream); font-size: 19px; margin: 4px 0 2px; }.quality-strip small { color: #bea594; font-size: 9px; line-height: 1.45; }

.analytics-grid { align-items: start; display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr) minmax(270px, 330px); margin-top: 14px; }
.team-performance-panel { min-width: 0; }
.analytics-panel-header { min-height: 74px; }
.analytics-period-chip { background: rgba(84, 217, 236, .08); border: 1px solid rgba(84, 217, 236, .14); border-radius: 999px; color: #77ddea; font-size: 9px; font-weight: 700; padding: 5px 9px; }
.team-table-head, .team-analytics-card > summary { display: grid; grid-template-columns: 38px minmax(150px, 1.25fr) repeat(4, minmax(84px, .72fr)) 25px; }
.team-table-head { align-items: center; color: #59677d; font-size: 8px; font-weight: 750; gap: 10px; letter-spacing: .07em; padding: 10px 16px 8px; text-transform: uppercase; }
.team-table-head span:first-child { grid-column: 1 / 3; }
.team-analytics-card { border-top: 1px solid var(--line); }
.team-analytics-card > summary { align-items: center; cursor: pointer; gap: 10px; list-style: none; min-height: 76px; padding: 12px 16px; transition: background .18s ease; }
.team-analytics-card > summary::-webkit-details-marker { display: none; }
.team-analytics-card > summary:hover { background: rgba(255, 255, 255, .018); }
.team-rank { color: #5e6c82; font-size: 9px; font-weight: 750; }
.team-identity, .team-value { min-width: 0; }
.team-identity strong, .team-identity small, .team-value strong, .team-value small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.team-identity strong { color: #dce5f0; font-size: 11px; }.team-identity small { color: #647187; font-size: 8px; margin-top: 3px; }
.team-value strong { color: #c4cfdd; font-size: 10px; }.team-value small { color: #5f6d82; font-size: 8px; margin-top: 2px; }
.value-load strong { color: #72dba9; }.value-redeem strong { color: #f0ba75; }.value-net strong { color: #7bdce9; }.value-failed strong { color: #ee8a99; }
.team-expand { border-bottom: 1.5px solid #6f7d92; border-right: 1.5px solid #6f7d92; height: 7px; justify-self: center; transform: rotate(45deg); transition: transform .18s ease; width: 7px; }
.team-analytics-card[open] .team-expand { transform: rotate(225deg); }
.team-games { background: rgba(3, 10, 21, .28); border-top: 1px solid rgba(158, 178, 206, .08); padding: 5px 16px 10px 54px; }
.team-game-row { align-items: center; border-bottom: 1px solid rgba(158, 178, 206, .08); display: grid; gap: 11px; grid-template-columns: 50px minmax(135px, 1fr) repeat(3, minmax(72px, .62fr)); min-height: 67px; padding: 8px 0; }
.team-game-row:last-child { border-bottom: 0; }
.analytics-game-cover { align-items: flex-end; background: linear-gradient(145deg, #263855, #101a2c); border: 1px solid rgba(255, 255, 255, .1); border-radius: 10px; display: flex; height: 49px; isolation: isolate; overflow: hidden; padding: 5px; position: relative; width: 49px; }
.analytics-game-cover > span { color: rgba(255,255,255,.72); font-size: 8px; font-weight: 850; position: relative; z-index: 0; }
.analytics-game-cover > i { background-image: var(--provider-cover-atlas); background-position: var(--cover-x, 100%) var(--cover-y, 100%); background-repeat: no-repeat; background-size: 500% 400%; inset: 0; position: absolute; z-index: 1; }
.analytics-game-cover > img { height: 100%; inset: 0; object-fit: cover; position: absolute; width: 100%; z-index: 1; }
.team-game-name strong, .team-game-name small, .team-game-row > div > small, .team-game-row > div > strong { display: block; }
.team-game-name strong { color: #d3dce8; font-size: 10px; }.team-game-name small, .team-game-row > div > small { color: #5e6c81; font-size: 8px; }.team-game-row > div > strong { font-size: 10px; margin-top: 2px; }
.analytics-empty { min-height: 300px; }.analytics-empty-mini { color: #68768b; font-size: 9px; padding: 18px 0; text-align: center; }

.analytics-side-stack { display: grid; gap: 14px; }
.analytics-summary-grid { margin-top: 14px; }
.analytics-summary-grid .analytics-side-stack { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.movement-section { margin-top: 0; }
.movement-performance-panel { width: 100%; }
.movement-section.is-drilled > .movement-heading, .movement-section.is-drilled > .analytics-notice { display: none; }
.team-movement-row { align-items: center; background: transparent; border: 0; border-top: 1px solid var(--line); color: inherit; cursor: pointer; display: grid; font: inherit; gap: 10px; grid-template-columns: 38px minmax(150px, 1.25fr) repeat(4, minmax(84px, .72fr)) 25px; min-height: 76px; padding: 12px 16px; text-align: left; transition: background .18s ease, border-color .18s ease; width: 100%; }
.team-movement-row:hover { background: rgba(255, 255, 255, .025); border-color: rgba(226, 160, 110, .28); }
.team-row-arrow { color: #bc8a69; font-size: 18px; font-weight: 500; justify-self: end; transition: transform .18s ease; }.team-movement-row:hover .team-row-arrow, .team-game-button:hover .team-row-arrow { transform: translateX(3px); }
.team-movement-detail { min-height: calc(100vh - 150px); }
.drilldown-header { align-items: flex-start; display: grid; gap: 20px; grid-template-columns: auto minmax(0, 1fr); margin-bottom: 18px; }.drilldown-header h2 { font-size: clamp(28px, 3.2vw, 46px); letter-spacing: -.045em; margin: 5px 0 4px; }.drilldown-header p { color: #ae9585; font-size: 11px; margin: 0; }
.drilldown-back { align-items: center; background: rgba(255, 239, 218, .04); border: 1px solid var(--line); border-radius: 11px; color: #ddbaa0; cursor: pointer; display: inline-flex; font-size: 10px; font-weight: 800; gap: 7px; margin-top: 4px; padding: 10px 12px; white-space: nowrap; }.drilldown-back:hover { background: rgba(200, 122, 69, .14); border-color: rgba(226, 160, 110, .26); color: #fff0e4; }
.team-drilldown-metrics { display: grid; gap: 12px; grid-template-columns: repeat(4, minmax(0, 1fr)); }.team-drilldown-metrics article { background: linear-gradient(145deg, rgba(66, 39, 29, .96), rgba(35, 20, 15, .96)); border: 1px solid var(--line); border-radius: 15px; min-height: 120px; padding: 16px; }.team-drilldown-metrics span, .team-drilldown-metrics strong, .team-drilldown-metrics small { display: block; }.team-drilldown-metrics span { color: #b49a8a; font-size: 9px; font-weight: 750; }.team-drilldown-metrics strong { color: #f0ded1; font-family: var(--font-display); font-size: 24px; margin-top: 13px; }.team-drilldown-metrics small { color: #9f8677; font-size: 9px; margin-top: 4px; }
.team-game-picker-heading { align-items: end; display: flex; justify-content: space-between; margin: 28px 2px 12px; }.team-game-picker-heading h3 { font-size: 20px; margin: 4px 0 0; }.team-game-picker-heading > span { color: #a68d7e; font-size: 10px; font-weight: 750; }
.team-game-picker { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }.team-game-button { align-items: center; background: linear-gradient(145deg, rgba(66, 39, 29, .92), rgba(35, 20, 15, .96)); border: 1px solid var(--line); border-radius: 15px; color: inherit; cursor: pointer; display: grid; gap: 13px; grid-template-columns: 52px minmax(0, 1fr) auto 20px; min-height: 84px; padding: 14px; text-align: left; transition: border-color .18s ease, transform .18s ease; }.team-game-button:hover { border-color: rgba(226, 160, 110, .3); transform: translateY(-2px); }.team-game-button .analytics-game-cover { height: 52px; width: 52px; }.team-game-button-copy strong, .team-game-button-copy small, .team-game-button-values strong, .team-game-button-values small { display: block; }.team-game-button-copy strong { color: #f0ddd0; font-size: 13px; }.team-game-button-copy small { color: #9f8677; font-size: 9px; margin-top: 4px; }.team-game-button-values { text-align: right; }.team-game-button-values strong { color: #bad09e; font-size: 14px; }.team-game-button-values small { color: #9f8677; font-size: 8px; margin-top: 3px; }
.game-drilldown-header { grid-template-columns: auto minmax(0, 1fr); }.game-drilldown-identity { align-items: center; display: flex; gap: 14px; }.game-drilldown-identity .analytics-game-cover { height: 64px; width: 64px; }
.game-timeline-summary { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); }.game-timeline-summary > div { background: rgba(255, 239, 218, .035); border: 1px solid var(--line); border-radius: 14px; padding: 15px; }.game-timeline-summary span, .game-timeline-summary strong, .game-timeline-summary small { display: block; }.game-timeline-summary span { color: #a98f7f; font-size: 9px; font-weight: 750; }.game-timeline-summary strong { color: #efddd0; font-size: 20px; margin-top: 8px; }.game-timeline-summary small { color: #90796c; font-size: 8px; margin-top: 3px; }
.movement-timeline { background: linear-gradient(145deg, rgba(61, 35, 26, .94), rgba(31, 17, 13, .96)); border: 1px solid var(--line); border-radius: 17px; margin-top: 16px; overflow: hidden; }.movement-timeline > header { align-items: center; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; min-height: 76px; padding: 15px 18px; }.movement-timeline > header h3 { font-size: 18px; margin: 4px 0 0; }.movement-timeline > header > span { color: #9f8677; font-size: 9px; font-weight: 700; }
.movement-event { align-items: center; border-top: 1px solid rgba(239, 207, 180, .09); display: grid; gap: 14px; grid-template-columns: 10px 130px minmax(0, 1fr) auto; min-height: 70px; padding: 12px 18px; }.movement-event:first-of-type { border-top: 0; }.movement-event-dot { background: #9fcb82; border-radius: 50%; box-shadow: 0 0 9px rgba(159, 203, 130, .35); height: 7px; width: 7px; }.movement-event.is-redeem .movement-event-dot { background: #e1a477; box-shadow: 0 0 9px rgba(225, 164, 119, .35); }.movement-event time strong, .movement-event time small, .movement-event-copy strong, .movement-event-copy small { display: block; }.movement-event time strong { color: #d7c0b1; font-size: 10px; }.movement-event time small { color: #987f70; font-size: 8px; margin-top: 3px; }.movement-event-copy strong { color: #ead5c6; font-size: 11px; }.movement-event-copy small { color: #987f70; font-size: 8px; margin-top: 3px; }.movement-event-amount { color: #bad09e; font-family: var(--font-display); font-size: 16px; text-align: right; }.movement-event.is-redeem .movement-event-amount { color: #e1a477; }.movement-history-limit { color: #a08879; font-size: 9px; margin: 0; padding: 14px 18px; text-align: center; }.movement-history-empty { min-height: 190px; }
.transparency-panel, .failed-attempt-panel { padding: 19px; }
.transparency-panel header h3, .failed-attempt-panel header h3 { font-size: 15px; margin: 3px 0 0; }
.source-list { margin-top: 17px; }
.source-list > div { align-items: center; border-top: 1px solid var(--line); display: grid; gap: 8px; grid-template-columns: minmax(0, 1fr) auto; padding: 11px 0; }
.source-list > div > span { align-items: center; color: #9ba8ba; display: flex; font-size: 9px; gap: 7px; }.source-list > div > strong { color: #d4dde8; font-size: 10px; }.source-list > div > small { color: #5e6c81; font-size: 8px; grid-column: 1 / -1; margin-left: 13px; margin-top: -7px; }
.source-dot { background: var(--violet); border-radius: 50%; height: 6px; width: 6px; }.source-auto { background: var(--green); }.source-manual { background: var(--cyan); }.source-import { background: var(--violet); }
.transparency-panel > p, .failed-attempt-panel > p { color: #5d6b80; font-size: 8px; line-height: 1.55; margin: 12px 0 0; }
.failed-attempt-panel { background: linear-gradient(150deg, rgba(45, 24, 39, .82), rgba(16, 24, 39, .96)); border-color: rgba(255, 125, 142, .14); }
.failed-attempt-panel > strong { color: #ff9aaa; display: block; font-size: 29px; letter-spacing: -.04em; margin-top: 15px; }.failed-attempt-panel > span { color: #8c7180; display: block; font-size: 9px; }
.failed-split { display: grid; gap: 8px; grid-template-columns: 1fr 1fr; margin-top: 16px; }
.failed-split > div { background: rgba(5, 12, 23, .28); border: 1px solid rgba(255,255,255,.06); border-radius: 10px; padding: 10px; }.failed-split small, .failed-split strong, .failed-split span { display: block; }.failed-split small { color: #806b78; font-size: 8px; }.failed-split strong { font-size: 15px; margin: 4px 0 0; }.failed-split span { color: #a7818d; font-size: 8px; }

/* Warm espresso reporting surface. These selectors intentionally consolidate
   the legacy cool-toned component rules into one coherent console palette. */
.eyebrow { color: #9d7963; }
.content { max-width: 1580px; }
.nav-label, .version { color: #806a5d; }
.nav-item { color: #c4ad9d; }
.nav-count { background: rgba(239, 117, 104, .12); color: #f3978b; }
.soon, .draft-chip { background: rgba(223, 161, 91, .1); border-color: rgba(223, 161, 91, .17); color: #dfac70; }
.search-box, .segmented, .period-control > div { background: rgba(28, 15, 10, .62); }
.search-box:focus-within { background: rgba(54, 32, 23, .9); border-color: rgba(200, 122, 69, .52); box-shadow: 0 0 0 3px rgba(200, 122, 69, .1); }
.search-box input { color: var(--cream); }.search-box input::placeholder { color: #856e61; }.search-box kbd { color: #8e7567; }
.cluster-pill { background: rgba(133, 173, 122, .09); border-color: rgba(133, 173, 122, .2); color: #a9c59f; }
.icon-button { color: #b49a8b; }
.avatar { background: linear-gradient(145deg, #c77a47, #87462f); }
.pause-banner { background: linear-gradient(90deg, rgba(223, 161, 91, .12), rgba(239, 117, 104, .035)); border-color: rgba(223, 161, 91, .22); }.pause-copy strong { color: #f3c993; }.pause-copy span { color: #a68d7d; }.pause-state { color: #e7b675; }
.hero { background-blend-mode: soft-light, normal; border-color: rgba(239, 208, 175, .15); }.hero::before { background: linear-gradient(90deg, var(--copper), var(--coral)); }.hero p { color: #c0a999; }
.orbit { border-color: rgba(225, 157, 105, .25); }.orbit-core { background: linear-gradient(145deg, rgba(200, 122, 69, .3), rgba(239, 117, 104, .12)); border-color: rgba(226, 160, 110, .4); box-shadow: 0 0 50px rgba(139, 66, 38, .24), inset 0 1px rgba(255,255,255,.1); }
.node { background: var(--amber); box-shadow: 0 0 14px rgba(223, 161, 91, .5); }.node-c { background: var(--coral); }
.metric-card, .analytics-metric, .panel { background: linear-gradient(150deg, rgba(58, 36, 27, .96), rgba(34, 20, 15, .96)); }
.metric-top, .analytics-metric > span { color: #c0a797; }.metric-card > small, .analytics-metric > small { color: #bea696; font-size: 9px; line-height: 1.45; }
.period-control select { color: var(--cream); }.period-control button { background: linear-gradient(135deg, #ca7b48, #a95538); }
.period-control > small { color: #b69d8d; font-size: 9px; }
.analytics-heading p { color: #a68e7f; }.analytics-period-chip, .read-only-badge { background: rgba(200, 122, 69, .1); border-color: rgba(200, 122, 69, .2); color: #e1a477; }
.team-table-head { color: #b79e8d; }.team-identity strong, .team-game-name strong { color: #ead9c9; }.team-identity small, .team-value small, .team-game-name small, .team-game-row > div > small { color: #b69d8d; font-size: 9px; }
.team-rank { color: #b49b8a; }.team-expand { border-color: #a98f7f; }
.value-load strong, .amount-load { color: #b8c794; }.value-redeem strong, .amount-redeem { color: #edb576; }.value-net strong { color: #e0a06f; }.value-failed strong { color: #ef8b80; }
.team-games { background: rgba(20, 10, 7, .28); }.analytics-game-cover { background: linear-gradient(145deg, #73442d, #2b1811); }
.transparency-panel { background: linear-gradient(150deg, rgba(57, 35, 26, .96), rgba(33, 19, 14, .96)); }.failed-attempt-panel { background: linear-gradient(150deg, rgba(76, 34, 31, .82), rgba(38, 20, 15, .97)); border-color: rgba(239, 117, 104, .2); }.failed-attempt-panel > strong { color: #f38c80; }
.source-list > div > span { color: #c0a797; font-size: 10px; }.source-list > div > strong { color: #ead8c9; font-size: 11px; }.source-list > div > small { color: #b59b8c; font-size: 9px; }
.transparency-panel > p, .failed-attempt-panel > p { color: #b59b8c; font-size: 9px; }
.failed-attempt-panel > span { color: #c0a0a0; font-size: 10px; }.failed-split small, .failed-split span { color: #c0a0a0; font-size: 9px; }
.segmented button.is-active { background: #6d3c29; color: #fff1e1; }.request-row:hover { background: rgba(255, 231, 205, .025); }
.game-avatar { background: linear-gradient(145deg, #754630, #341d15); color: #f0c4a2; }.game-tone-b { background: linear-gradient(145deg, #6d3a33, #36201a); color: #f0a99b; }
.route-node, .target-node, .environment-card { background: rgba(255, 239, 218, .025); }.route-node > span { background: rgba(200, 122, 69, .16); border-color: rgba(200, 122, 69, .24); color: #e9aa7d; }.sub-node { border-color: rgba(239, 117, 104, .2); }.sub-node > span { background: rgba(239, 117, 104, .11); border-color: rgba(239, 117, 104, .21); color: #f2988d; }
.provider-card { background: linear-gradient(145deg, rgba(65, 40, 29, .9), rgba(37, 22, 16, .94)); }.provider-logo { background: linear-gradient(145deg, #885537, #382218); }.provider-logo.tone-mint { background: linear-gradient(145deg, #665d38, #302819); }
.provider-card:hover { border-color: rgba(226, 160, 110, .25); }
.provider-copy span, .provider-foot span, .provider-foot button, .panel-tools, .ghost-button { color: #b49a8a; }
.status-loaded { background: rgba(133, 173, 122, .11); color: #aeca9f; }.status-failed, .status-rejected { background: rgba(239, 117, 104, .11); color: #f39589; }.status-pending { background: rgba(223, 161, 91, .11); color: #eab875; }.status-processing, .status-approved { background: rgba(200, 122, 69, .11); color: #e3a274; }
th { color: #bca392; font-size: 10px; }td { color: #c8b3a4; font-size: 11px; }td strong { color: #ebdace; font-size: 11px; }td > span:not(.status-chip) { color: #af9585; font-size: 9px; }
.empty-state { color: #8b7467; }.empty-state strong { color: #d8c5b6; }
.request-title span, .request-meta, .request-amount span, .route-line, .route-node small, .target-node small, .route-checklist small { color: #b09787; }
.ghost-button { align-items: center; display: inline-flex; gap: 5px; }.ghost-button .ui-icon { height: 13px; width: 13px; }.row-action .ui-icon { height: 17px; width: 17px; }
.empty-state > span .ui-icon { height: 22px; width: 22px; }

.transaction-workspace { min-height: 620px; }
.transaction-heading { align-items: flex-end; display: flex; gap: 24px; justify-content: space-between; margin: 4px 0 18px; }
.transaction-heading h2 { color: var(--cream); font-size: clamp(30px, 3vw, 44px); letter-spacing: -.05em; line-height: 1.05; margin: 5px 0 8px; }
.transaction-heading p { color: #bfa697; font-size: 12px; margin: 0; max-width: 720px; }
.manual-only-badge { align-items: center; background: rgba(133, 173, 122, .09); border: 1px solid rgba(133, 173, 122, .2); border-radius: 999px; color: #b5cfa9; display: inline-flex; font-size: 10px; font-weight: 800; gap: 7px; padding: 8px 11px; text-transform: uppercase; white-space: nowrap; }
.manual-only-badge .ui-icon { height: 14px; width: 14px; }
.transaction-messages { display: grid; gap: 8px; margin-bottom: 14px; }
.transaction-grid { align-items: start; display: grid; gap: 16px; grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr); }
.transaction-form { padding: 22px; }
.transaction-mode { display: grid; gap: 10px; grid-template-columns: 1fr 1fr; }
.transaction-mode button { align-items: center; background: rgba(23, 12, 8, .38); border: 1px solid var(--line); border-radius: 15px; color: #c4aa99; cursor: pointer; display: flex; gap: 12px; min-height: 76px; padding: 13px; text-align: left; transition: border-color .18s ease, background .18s ease, transform .18s ease; }
.transaction-mode button:hover { border-color: rgba(226, 160, 110, .3); transform: translateY(-1px); }
.transaction-mode button > span { align-items: center; background: rgba(200, 122, 69, .13); border: 1px solid rgba(226, 160, 110, .18); border-radius: 12px; color: #efb181; display: flex; height: 42px; justify-content: center; width: 42px; }
.transaction-mode button > span .ui-icon { height: 20px; width: 20px; }
.transaction-mode button strong, .transaction-mode button small { display: block; }
.transaction-mode button strong { color: #f0ddd0; font-size: 14px; font-weight: 850; }
.transaction-mode button small { color: #ad9383; font-size: 9px; margin-top: 2px; }
.transaction-mode button.is-active { background: linear-gradient(145deg, rgba(111, 59, 38, .76), rgba(61, 31, 22, .92)); border-color: rgba(226, 160, 110, .42); box-shadow: inset 0 0 0 1px rgba(226, 160, 110, .07); }
.transaction-mode button.is-redeem.is-active { background: linear-gradient(145deg, rgba(113, 47, 43, .72), rgba(55, 25, 20, .94)); border-color: rgba(239, 117, 104, .38); }
.transaction-fields { display: grid; gap: 13px; grid-template-columns: 1fr 1fr; margin-top: 18px; }
.transaction-fields label > span { color: #c9ae9c; display: block; font-size: 10px; font-weight: 800; letter-spacing: .025em; margin: 0 0 7px 2px; }
.transaction-field-wide { grid-column: 1 / -1; }
.transaction-fields select, .money-input { background: rgba(25, 13, 9, .55); border: 1px solid var(--line); border-radius: 11px; color: var(--cream); min-height: 48px; width: 100%; }
.transaction-fields select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, #a68875 50%), linear-gradient(135deg, #a68875 50%, transparent 50%); background-position: calc(100% - 18px) 21px, calc(100% - 13px) 21px; background-repeat: no-repeat; background-size: 5px 5px, 5px 5px; cursor: pointer; padding: 0 38px 0 13px; }
.transaction-fields select:disabled { color: #756156; cursor: not-allowed; opacity: .72; }
.transaction-fields select:focus, .money-input:focus-within { border-color: rgba(226, 160, 110, .52); box-shadow: 0 0 0 3px rgba(200, 122, 69, .09); }
.money-input { align-items: center; display: flex; overflow: hidden; }
.money-input b { border-right: 1px solid var(--line); color: #dca06f; font-size: 18px; padding: 0 14px; }
.money-input input { background: transparent; border: 0; color: var(--cream); min-width: 0; outline: 0; padding: 0 14px; width: 100%; }
.money-input input::placeholder { color: #765f52; }
.transaction-review { align-items: center; background: rgba(23, 12, 8, .38); border: 1px solid var(--line); border-radius: 14px; display: flex; gap: 12px; margin-top: 16px; min-height: 82px; padding: 13px; }
.review-icon { align-items: center; background: rgba(200, 122, 69, .13); border-radius: 11px; color: #e7a675; display: flex; flex: 0 0 40px; height: 40px; justify-content: center; }
.review-icon .ui-icon { height: 20px; width: 20px; }
.transaction-review small, .transaction-review strong, .transaction-review p { display: block; }
.transaction-review small { color: #9f8170; font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.transaction-review strong { color: #ead7c8; font-size: 12px; margin-top: 3px; }
.transaction-review p { color: #a98d7c; font-size: 9px; margin: 2px 0 0; }
.transaction-confirm { align-items: flex-start; color: #bca493; cursor: pointer; display: flex; font-size: 10px; gap: 9px; line-height: 1.5; margin: 15px 2px; }
.transaction-confirm input { accent-color: #c87a45; flex: 0 0 auto; margin-top: 2px; }
.transaction-submit { align-items: center; background: linear-gradient(135deg, #ca7b48, #9d4f34); border: 0; border-radius: 11px; color: #fff4e6; cursor: pointer; display: flex; font-size: 12px; font-weight: 850; gap: 8px; justify-content: center; min-height: 50px; width: 100%; }
.transaction-submit.is-redeem { background: linear-gradient(135deg, #d06b5d, #914236); }
.transaction-submit:disabled { cursor: not-allowed; filter: saturate(.35); opacity: .48; }
.transaction-submit .ui-icon { height: 17px; width: 17px; }
.transaction-safety-note { align-items: center; color: #9d8171; display: flex; font-size: 9px; gap: 6px; justify-content: center; margin: 11px 0 0; text-align: center; }
.transaction-safety-note .ui-icon { flex: 0 0 auto; height: 13px; width: 13px; }
.transaction-history { min-height: 568px; overflow: hidden; }
.transaction-history > header { align-items: center; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; min-height: 74px; padding: 15px 18px; }
.transaction-history h3 { color: #f0ddd0; font-size: 18px; letter-spacing: -.03em; margin: 3px 0 0; }
.transaction-history > header > span { color: #9f8271; font-size: 9px; }
.transaction-history-list { max-height: 493px; overflow: auto; }
.transaction-history-list article { align-items: center; border-bottom: 1px solid var(--line); display: grid; gap: 11px; grid-template-columns: 36px minmax(0, 1fr) auto; min-height: 72px; padding: 11px 16px; }
.transaction-history-list article:last-child { border-bottom: 0; }
.history-operation { align-items: center; background: rgba(133, 173, 122, .11); border-radius: 10px; color: #b3cb9e; display: flex; height: 34px; justify-content: center; width: 34px; }
.history-operation.history-redeem { background: rgba(223, 161, 91, .11); color: #e6b06f; }
.history-operation .ui-icon { height: 16px; width: 16px; }
.transaction-history-list article > div:nth-child(2) strong, .transaction-history-list article > div:nth-child(2) span, .transaction-history-list article > div:nth-child(2) small { display: block; }
.transaction-history-list article > div:nth-child(2) strong { color: #ead8ca; font-size: 10px; }
.transaction-history-list article > div:nth-child(2) span { color: #b79c8b; font-size: 9px; margin-top: 2px; }
.transaction-history-list article > div:nth-child(2) small { color: #8d7263; font-size: 8px; margin-top: 2px; }
.history-amount { text-align: right; }.history-amount > strong { color: #b9cc9b; display: block; font-size: 11px; margin-bottom: 5px; }.history-amount .status-chip { font-size: 7px; min-width: 0; padding: 3px 5px; }

.console-footer { color: #a98f7f; display: flex; font-size: 10px; justify-content: space-between; padding: 25px 4px 0; }
.mobile-nav { display: none; }
.scrim { display: none; }
[hidden], .is-filtered, .is-search-hidden { display: none !important; }

.content > [data-console-view] { margin-top: 0; }
.tabbed-workspace { grid-template-columns: 1fr; margin-top: 0; }
.control-panel { min-height: 430px; }
.control-card-grid { display: grid; gap: 14px; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 22px; }
.control-card { align-items: flex-start; background: linear-gradient(145deg, rgba(69, 42, 30, .88), rgba(38, 22, 16, .95)); border: 1px solid var(--line); border-radius: 16px; display: flex; gap: 14px; min-height: 172px; padding: 20px; }
.control-card-safe { border-color: rgba(133, 173, 122, .23); }
.control-card-icon { align-items: center; background: rgba(200, 122, 69, .14); border: 1px solid rgba(226, 160, 110, .2); border-radius: 12px; color: var(--violet-bright); display: flex; flex: 0 0 42px; font-size: 18px; height: 42px; justify-content: center; }
.control-card-icon .ui-icon { height: 21px; width: 21px; }
.control-card .admin-avatar { background: linear-gradient(145deg, #c77a47, #87462f); color: white; font-size: 14px; font-weight: 800; }
.control-card small, .control-card strong, .control-card p { display: block; }
.control-card small { color: #ae9383; font-size: 9px; letter-spacing: .06em; text-transform: uppercase; }
.control-card strong { color: #f1dfd0; font-size: 22px; letter-spacing: -.025em; margin-top: 7px; }
.control-card p { color: #b49a8a; font-size: 10px; line-height: 1.6; margin: 8px 0 0; max-width: 340px; }

/* Crisp operational typography. The native variable-font stacks keep the UI
   fast while giving headings, figures and controls a deliberate hierarchy. */
h1, h2, h3, .brand strong, .metric-card > strong, .analytics-metric > strong,
.failed-attempt-panel > strong, .control-card strong {
  font-family: var(--font-display);
  font-weight: 800;
  text-wrap: balance;
}
.brand strong { font-size: 19px; font-weight: 850; letter-spacing: -.035em; }
.brand span { color: #b89d8c; font-size: 10px; font-weight: 750; letter-spacing: .13em; }
.nav-label { color: #9f8271; font-size: 10px; font-weight: 800; letter-spacing: .16em; }
.nav-item { color: #d1b9a9; font-size: 13px; font-weight: 700; letter-spacing: -.005em; }
.nav-item.is-active { font-weight: 800; }
.environment-card strong { color: #ead8c9; font-size: 11px; font-weight: 750; }
.environment-card div span, .version { font-size: 10px; font-weight: 600; }
.eyebrow { color: #b98c71; font-size: 10px; font-weight: 850; letter-spacing: .15em; }
.topbar h1 { font-size: 19px; font-weight: 800; letter-spacing: -.035em; }
.search-box input { font-size: 12px; font-weight: 600; }
.search-box input::placeholder { font-weight: 550; }
.cluster-pill, .read-only-badge, .pause-state, .status-chip, .draft-chip, .soon, .nav-count { font-weight: 800; }
.pause-copy strong { font-size: 12px; font-weight: 800; letter-spacing: -.01em; }
.pause-copy span { font-size: 11px; font-weight: 550; }
.hero h2 { font-weight: 850; letter-spacing: -.055em; }
.hero p { color: #d0b8a7; font-weight: 550; }
.metric-top, .analytics-metric > span { font-size: 11px; font-weight: 750; letter-spacing: .01em; }
.metric-card > strong { font-weight: 800; }
.metric-card > small, .analytics-metric > small { color: #c5ad9d; font-size: 10px; font-weight: 600; }
.panel-header h3 { font-size: 18px; font-weight: 800; letter-spacing: -.03em; }
.analytics-heading h2 { font-weight: 850; letter-spacing: -.045em; }
.analytics-heading p { color: #bfa697; font-size: 12px; font-weight: 550; }
.period-control label, .ledger-team-filter label { font-weight: 850; }
.period-control select, .ledger-team-filter select, .period-control button, .ledger-team-filter button,
.segmented button, .ghost-button { font-weight: 700; }
.request-title strong { color: #f0dfd2; font-size: 12px; font-weight: 800; }
.request-title span, .request-meta, .request-amount span { font-weight: 600; }
.request-amount strong { font-size: 13px; font-weight: 800; }
.provider-copy strong { color: #f0dfd2; font-size: 12px; font-weight: 800; }
.provider-copy span, .provider-foot span { font-size: 9px; font-weight: 600; }
.team-identity strong, .team-game-name strong { font-size: 11px; font-weight: 800; }
.team-value strong, .team-game-row > div > strong { font-size: 11px; font-weight: 750; }
.team-identity small, .team-value small, .team-game-name small, .team-game-row > div > small { font-weight: 600; }
.source-list > div > span, .source-list > div > strong, .source-list > div > small { font-weight: 650; }
th { color: #c9ad9b; font-size: 10px; font-weight: 850; letter-spacing: .085em; }
td { color: #d3bdad; font-size: 11px; font-weight: 600; }
td strong { color: #f2e2d6; font-size: 11px; font-weight: 800; }
td > span:not(.status-chip) { color: #bca08f; font-size: 9px; font-weight: 600; }
.control-card small { font-size: 10px; font-weight: 800; }
.control-card strong { font-weight: 800; }
.control-card p { color: #c3a999; font-size: 11px; font-weight: 550; }
.console-footer { font-weight: 600; }

a:focus-visible, button:focus-visible, summary:focus-visible, select:focus-visible, input:focus-visible {
  outline: 2px solid var(--amber);
  outline-offset: 3px;
}

/* Desktop operations should use every usable pixel after the fixed sidebar.
   The narrower cap remains useful on tablets, while wide PC screens get full
   detail density for charts, provider cards, request rows and the ledger. */
@media (min-width: 1025px) {
  .content {
    margin-inline: 0;
    max-width: none;
    padding-left: clamp(20px, 1.65vw, 36px);
    padding-right: clamp(20px, 1.65vw, 36px);
    width: 100%;
  }
  .tabbed-workspace .route-panel { display: grid; grid-template-columns: minmax(320px, .8fr) minmax(390px, 1.2fr); }
  .tabbed-workspace .route-panel .panel-header { grid-column: 1 / -1; }
  .tabbed-workspace .route-panel .route-diagram { align-self: center; margin: 34px auto; width: 265px; }
  .tabbed-workspace .route-panel .route-checklist { align-self: stretch; border-left: 1px solid var(--line); border-top: 0; display: grid; margin-top: 0; padding: 38px; place-content: center stretch; }
}

@media (max-width: 1240px) {
  :root { --sidebar: 238px; }
  .provider-grid { grid-template-columns: 1fr; }
  .hero-orbit { min-width: 250px; }
  .workspace-grid { grid-template-columns: minmax(0, 1.45fr) minmax(285px, .75fr); }
  .analytics-grid { grid-template-columns: 1fr; }
  .analytics-side-stack { grid-template-columns: 1fr 1fr; }
  .transaction-grid { grid-template-columns: 1fr; }
  .transaction-history { min-height: 0; }
}

@media (max-width: 1024px) {
  :root { --sidebar: 0px; }
  .sidebar { box-shadow: 22px 0 70px rgba(0, 0, 0, .45); transform: translateX(-102%); transition: transform .24s ease, visibility 0s linear .24s; visibility: hidden; width: 272px; }
  .app-shell.sidebar-open .sidebar { transform: translateX(0); transition-delay: 0s; visibility: visible; }
  .scrim { background: rgba(18, 8, 5, .72); inset: 0; opacity: 0; pointer-events: none; position: fixed; transition: opacity .24s ease; z-index: 40; }
  .app-shell.sidebar-open .scrim { display: block; opacity: 1; pointer-events: auto; }
  .menu-button { display: inline-flex !important; flex: 0 0 36px; flex-direction: column; gap: 4px; }
  .menu-button span { background: #cdb3a2; border-radius: 3px; height: 1.5px; width: 15px; }
  .topbar-title { min-width: 160px; }
  .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .workspace-grid { grid-template-columns: 1fr; }
  .route-panel { min-height: 0; }
  .route-panel .route-diagram { display: inline-block; margin: 25px 3% 25px 7%; vertical-align: top; width: 42%; }
  .route-panel .route-checklist { border-left: 1px solid var(--line); border-top: 0; display: inline-block; margin: 25px 0; min-height: 235px; padding: 25px; vertical-align: top; width: 43%; }
  .provider-grid { grid-template-columns: 1fr; }
  .analytics-heading { align-items: flex-start; }
  .team-table-head, .team-analytics-card > summary, .team-movement-row { grid-template-columns: 34px minmax(130px, 1.1fr) repeat(4, minmax(74px, .7fr)) 22px; }
  .control-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  html { scroll-padding-top: 72px; }
  body { padding-bottom: calc(64px + env(safe-area-inset-bottom)); }
  .topbar { gap: 10px; height: 66px; padding: 0 15px; }
  .topbar-title { min-width: 0; }.topbar-title .eyebrow { display: none; }.topbar h1 { font-size: 15px; white-space: nowrap; }
  .search-box { border-radius: 10px; margin-left: auto; min-width: 0; width: 38px; }
  .search-box input { opacity: 0; padding: 0; width: 1px; }.search-box kbd { display: none; }
  .search-box:focus-within { bottom: 9px; height: 46px; left: 12px; position: absolute; right: 12px; top: 10px; width: auto; z-index: 3; }
  .search-box:focus-within input { opacity: 1; padding: initial; width: 100%; }.search-box:focus-within kbd { display: none; }
  .cluster-pill, .topbar-actions .icon-button { display: none; }
  .avatar { border-radius: 9px; height: 34px; width: 34px; }
  .content { padding: 15px 13px 35px; }
  .pause-banner { align-items: flex-start; border-radius: 12px; padding: 11px; }.pause-copy span { line-height: 1.45; white-space: normal; }.pause-state { display: none; }
  .hero { align-items: flex-start; min-height: 310px; padding: 25px 21px; }.hero h2 { font-size: 35px; max-width: 290px; }.hero p { font-size: 12px; line-height: 1.6; max-width: 88%; }.hero-orbit { bottom: -62px; height: 170px; min-width: 200px; opacity: .65; position: absolute; right: -27px; width: 230px; }
  .metric-grid { gap: 9px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 10px; }.metric-card { min-height: 123px; padding: 14px; }.metric-card > strong { font-size: 21px; margin-top: 12px; }.metric-card > small { font-size: 9px; }.metric-top { font-size: 9px; }.metric-icon { height: 25px; width: 25px; }
  .analytics-section { margin-top: 23px; scroll-margin-top: 75px; }
  .analytics-heading { display: block; }.analytics-heading h2 { font-size: 27px; }.analytics-heading p { font-size: 10px; }
  .period-control { margin-top: 14px; }.period-control > div { width: 100%; }.period-control select { flex: 1; min-width: 0; }.period-control > small { text-align: left; }
  .analytics-metrics { gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); }.analytics-metric { min-height: 112px; padding: 14px; }.analytics-metric::before { left: 14px; }.analytics-metric > strong { font-size: 20px; margin-top: 10px; }.analytics-metric > small { font-size: 9px; line-height: 1.45; }
  .report-chart-grid { grid-template-columns: 1fr; }.report-chart { min-height: 285px; padding: 14px; }.month-grouped-chart { height: 195px; }.month-bar-group { grid-template-rows: 16px 122px 16px 14px; height: 172px; }.grouped-bars { height: 122px; }.top-team-chart { min-height: 0; }.quality-strip { grid-template-columns: 1fr; }.quality-strip > div { border-top: 1px solid var(--line); }.quality-strip > div:first-child { border-top: 0; }
  .analytics-grid { margin-top: 10px; }.analytics-panel-header { align-items: center; }.analytics-period-chip { max-width: 115px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .team-table-head { display: none; }
  .team-movement-row { border: 1px solid var(--line); border-radius: 13px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 9px; min-height: 0; padding: 13px; width: calc(100% - 18px); }.team-movement-row .team-rank { display: none; }.team-movement-row .team-identity { grid-column: 1 / 3; }.team-movement-row .team-row-arrow { grid-column: 2; grid-row: 1; }.team-movement-row .team-value { grid-column: auto; }.team-drilldown-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }.team-drilldown-metrics article { min-height: 105px; padding: 13px; }.team-drilldown-metrics strong { font-size: 19px; }.drilldown-header { display: block; }.drilldown-header > div { margin-top: 16px; }.drilldown-header h2 { font-size: 29px; }.team-game-picker { grid-template-columns: 1fr; }.team-game-picker-heading { align-items: flex-start; }.team-game-button { grid-template-columns: 46px minmax(0, 1fr) auto 16px; padding: 12px; }.team-game-button .analytics-game-cover { height: 46px; width: 46px; }.game-drilldown-identity { margin-top: 16px; }.game-timeline-summary { grid-template-columns: 1fr; }.movement-timeline > header { align-items: flex-start; display: block; }.movement-timeline > header > span { display: block; margin-top: 6px; }.movement-event { gap: 8px; grid-template-columns: 8px minmax(85px, .8fr) minmax(0, 1.35fr) auto; padding: 11px; }.movement-event-copy strong { font-size: 9px; }.movement-event-amount { font-size: 12px; }
  .team-analytics-card { margin: 9px; border: 1px solid var(--line); border-radius: 13px; overflow: hidden; }
  .team-analytics-card > summary { align-items: center; grid-template-columns: 28px minmax(0, 1fr) 19px; min-height: 0; padding: 13px; }
  .team-identity { grid-column: 2; }.team-expand { grid-column: 3; grid-row: 1; }
  .team-value { background: rgba(255,255,255,.02); border-radius: 8px; grid-column: auto; padding: 8px; }
  .team-value.value-load { grid-column: 1 / 2; }.team-value.value-redeem { grid-column: 2 / 3; }.team-value.value-net { grid-column: 1 / 2; }.team-value.value-failed { grid-column: 2 / 3; }
  .team-analytics-card > summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }.team-rank { display: none; }.team-identity { grid-column: 1 / 3; }.team-expand { grid-column: 2; grid-row: 1; justify-self: end; }
  .team-games { padding: 6px 12px; }.team-game-row { grid-template-columns: 43px minmax(0, 1fr) repeat(3, minmax(58px, .7fr)); }.analytics-game-cover { height: 42px; width: 42px; }
  .analytics-side-stack { grid-template-columns: 1fr; }
  .analytics-summary-grid .analytics-side-stack { grid-template-columns: 1fr; }
  .workspace-grid, .provider-panel, .ledger-panel { margin-top: 10px; }.panel { border-radius: 17px; }.panel-header { align-items: flex-start; min-height: 72px; padding: 15px; }.panel-header h3 { font-size: 15px; }.segmented button { font-size: 8px; padding: 5px 7px; }
  .request-row { gap: 9px; grid-template-columns: 35px minmax(0, 1fr) auto; min-height: 75px; padding: 11px 13px; }.game-avatar { border-radius: 9px; height: 35px; width: 35px; }.request-title { flex-wrap: wrap; gap: 4px; }.request-title strong { font-size: 11px; }.request-meta { gap: 8px; }.request-meta span:last-child { display: none; }.request-amount { min-width: 60px; }.status-chip { grid-column: 2; justify-self: start; min-width: 50px; padding: 3px 6px; }.request-row > .status-chip { margin-top: -18px; }.row-action { display: none; }
  .route-panel .route-diagram, .route-panel .route-checklist { display: block; margin: 22px auto; width: calc(100% - 32px); }.route-panel .route-checklist { border-left: 0; border-top: 1px solid var(--line); min-height: 0; padding: 18px 5px 0; }
  .provider-heading { align-items: stretch; display: block; }.provider-heading-copy { align-items: flex-start; justify-content: space-between; }.provider-total-balance { min-width: 0; padding-left: 15px; text-align: right; }.provider-total-balance strong { font-size: 17px; }.provider-total-balance small { max-width: 115px; }.provider-toolbar { justify-content: flex-start; margin-top: 13px; }.provider-toolbar > span { order: 4; width: 100%; }.provider-search-control { flex: 1 1 100%; order: 1; width: 100%; }.provider-filters { flex: 1; order: 2; }.provider-filters button { flex: 1; }.provider-sort-control { order: 2; }.bulk-balance-form { flex: 1 1 100%; order: 3; }.bulk-balance-button { justify-content: center; width: 100%; }.ghost-button { order: 2; }.provider-grid { grid-template-columns: 1fr; padding: 10px; }.provider-game-head { grid-template-columns: 52px minmax(0, 1fr); }.provider-game-head .provider-logo { height: 52px; width: 52px; }.provider-game-summary { grid-column: 1 / -1; justify-content: space-between; justify-self: stretch; }.provider-game-total { min-width: 0; }.provider-slot-grid { grid-template-columns: 1fr; padding: 10px; }.provider-slot { min-height: 170px; }.ghost-button { height: 31px; justify-content: center; padding: 0; width: 31px; }.ghost-button > span { display: none; }.ghost-button .ui-icon { height: 16px; width: 16px; }
  .transaction-heading { align-items: flex-start; display: block; }.transaction-heading h2 { font-size: 31px; }.manual-only-badge { margin-top: 12px; }.transaction-form { padding: 13px; }.transaction-fields { grid-template-columns: 1fr; }.transaction-field-wide { grid-column: auto; }.transaction-mode button { min-height: 68px; padding: 10px; }.transaction-mode button > span { height: 36px; width: 36px; }.transaction-mode button small { display: none; }.transaction-history-list article { padding: 10px 12px; }
  .ledger-panel .panel-header { align-items: center; }
  .ledger-header-tools { align-items: flex-end; flex-direction: column-reverse; width: 100%; }
  .ledger-team-filter { display: grid; grid-template-columns: 1fr auto; width: 100%; }
  .ledger-team-filter label { grid-column: 1 / -1; }
  .ledger-team-filter select { min-width: 0; width: 100%; }
  .control-panel { min-height: 0; }.control-card-grid { grid-template-columns: 1fr; padding: 10px; }.control-card { min-height: 0; padding: 16px; }
  th, td { padding-left: 14px; padding-right: 14px; }
  .console-footer { display: block; text-align: center; }.console-footer span { display: block; margin: 4px; }
  .mobile-nav { align-items: center; backdrop-filter: blur(18px); background: rgba(28, 15, 10, .96); border-top: 1px solid var(--line); bottom: 0; display: grid; grid-template-columns: repeat(5, 1fr); height: calc(60px + env(safe-area-inset-bottom)); left: 0; padding-bottom: env(safe-area-inset-bottom); position: fixed; right: 0; z-index: 35; }.mobile-nav a { align-items: center; color: #bda494; display: flex; flex-direction: column; font-size: 9px; gap: 2px; justify-content: center; }.mobile-nav a .ui-icon { height: 18px; width: 18px; }.mobile-nav a span { font-size: 8px; }.mobile-nav a.is-active { color: var(--violet-bright); }
}

@media (max-width: 390px) {
  .hero h2 { font-size: 31px; }
  .metric-card { min-height: 116px; }
  .metric-card > strong { font-size: 18px; }
  .metric-top > span:first-child { max-width: 76px; }
  .analytics-metric > strong { font-size: 18px; }
  .team-game-row { align-items: center; grid-template-columns: 42px minmax(0, 1fr) auto; padding: 10px 0; }.team-game-row > div:nth-child(3), .team-game-row > div:nth-child(4), .team-game-row > div:nth-child(5) { grid-column: 2; }.team-game-row > div:nth-child(3) { margin-top: 3px; }.team-game-row > div:nth-child(3) small, .team-game-row > div:nth-child(3) strong, .team-game-row > div:nth-child(4) small, .team-game-row > div:nth-child(4) strong, .team-game-row > div:nth-child(5) small, .team-game-row > div:nth-child(5) strong { display: inline; margin-right: 4px; }
}

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

/* Cream-light operations theme.
   Layout and financial semantics remain unchanged; only the visual system is
   flattened into calm paper surfaces, black typography and quiet borders. */
:root {
  color-scheme: light;
  --ink: #171715;
  --muted: #77746e;
  --muted-strong: #494641;
  --canvas: #f5f2eb;
  --canvas-deep: #eeebe4;
  --panel: #fffefa;
  --panel-solid: #fffefa;
  --panel-soft: #f4f1ea;
  --line: #e1ded7;
  --line-strong: #cbc7be;
  --violet: #bd6f37;
  --violet-bright: #9d5728;
  --cyan: #417e78;
  --lime: #638457;
  --amber: #b8732f;
  --red: #bd5046;
  --green: #4e7c57;
  --cream: #171715;
  --copper: #bd6f37;
  --coral: #cf6a59;
  --shadow: 0 14px 38px rgba(50, 45, 37, .07);
}

body {
  background: linear-gradient(145deg, #f8f6f1 0%, #f3f0e9 58%, #f7f4ed 100%);
  color: var(--ink);
}

.sidebar {
  background: #fffefa;
  border-color: var(--line);
  box-shadow: 8px 0 30px rgba(44, 40, 34, .035);
}
.brand-mark {
  background: #f5eee5;
  border-color: #e5d2bf;
  box-shadow: none;
}
.brand-mark svg { stroke: #9b572c; }
.brand strong, .environment-card strong { color: #171715; }
.brand span, .environment-card div span, .version { color: #77746e; }
.nav-label { color: #96918a; }
.nav-item { color: #5e6570; }
.nav-item:hover {
  background: #f3f1ec;
  color: #171715;
}
.nav-item.is-active {
  background: #e7eaee;
  border-color: #dfe2e6;
  box-shadow: inset 3px 0 #bd6f37;
  color: #171715;
}
.nav-icon, .is-active .nav-icon { color: #69717d; }
.nav-count { background: #f7e8e4; color: #a8443d; }
.soon, .draft-chip { background: #f8eedf; border-color: #ead8bc; color: #94612d; }
.environment-card, .route-node, .target-node {
  background: #faf8f3;
  border-color: var(--line);
}
.environment-dot { box-shadow: 0 0 0 4px rgba(78, 124, 87, .1); }

.topbar {
  background: rgba(255, 254, 250, .92);
  border-color: var(--line);
  box-shadow: 0 1px 0 rgba(45, 40, 32, .025);
}
.eyebrow { color: #8d684d; }
.topbar h1, .analytics-heading h2, .transaction-heading h2,
.drilldown-header h2, .team-game-picker-heading h3 { color: #171715; }
.search-box, .segmented, .period-control > div {
  background: #fffefa;
  border-color: var(--line);
}
.search-box:focus-within {
  background: #fff;
  border-color: #bb8a64;
  box-shadow: 0 0 0 3px rgba(189, 111, 55, .1);
}
.search-box svg, .icon-button { color: #74716b; }
.search-box input { color: #171715; }
.search-box input::placeholder, .search-box kbd { color: #8b8882; }
.search-box kbd { background: #f5f3ee; }
.cluster-pill {
  background: #eef5ed;
  border-color: #d9e7d6;
  color: #456c4c;
}
.avatar { background: #171715; border-color: #171715; color: #fff; }

.pause-banner {
  background: #fff8e9;
  border-color: #ead9b9;
}
.pause-symbol { background: #f6e7ca; }
.pause-copy strong { color: #65451f; }
.pause-copy span { color: #766b5c; }
.pause-state { background: #f4e6c9; color: #80521f; }

.hero {
  background:
    linear-gradient(90deg, rgba(255, 254, 250, .98) 0%, rgba(255, 254, 250, .94) 52%, rgba(255, 254, 250, .76) 100%),
    var(--hero-asset, #fffefa);
  background-blend-mode: normal;
  border-color: var(--line);
  box-shadow: var(--shadow);
}
.hero h2 { color: #171715; }
.hero p { color: #65615b; }
.orbit { border-color: rgba(157, 87, 44, .22); }
.orbit-core {
  background: rgba(255, 250, 241, .9);
  border-color: #dec6b1;
  box-shadow: 0 14px 34px rgba(82, 60, 43, .1);
}
.orbit-core span { color: #171715; }
.orbit-core small { color: #77716a; }
.node { border-color: #fffefa; }

.metric-card, .analytics-metric, .panel, .transparency-panel,
.failed-attempt-panel, .monthly-ribbon, .month-summary-card,
.quality-strip, .team-drilldown-metrics article, .team-game-button,
.movement-timeline, .control-card, .provider-game-card, .provider-card {
  background: #fffefa;
  border-color: var(--line);
  box-shadow: var(--shadow);
  color: #171715;
}
.metric-card, .analytics-metric { box-shadow: 0 8px 25px rgba(50, 45, 37, .045); }
.metric-top, .analytics-metric > span, .metric-card > small,
.analytics-metric > small { color: #706d67; }
.metric-card > strong, .analytics-metric > strong { color: #171715; }
.metric-card > strong em { color: #7c7871; }
.panel-header { border-color: var(--line); }
.panel-header h3, .report-chart-header h3,
.transparency-panel header h3, .failed-attempt-panel header h3 { color: #171715; }

.period-control > label, .period-control > small,
.analytics-heading p, .transaction-heading p { color: #706c65; }
.period-control select, .ledger-team-filter select,
.transaction-fields select, .money-input, .money-input input {
  color: #171715;
}
.period-control button, .ledger-team-filter button,
.transaction-submit {
  background: #171715;
  color: #fff;
  box-shadow: none;
}
.analytics-notice, .provider-message {
  background: #fff7e6;
  border-color: #ead8b6;
  color: #77511f;
}
.analytics-period-chip, .read-only-badge {
  background: #f6eee5;
  border-color: #e5d2c0;
  color: #8a512b;
}

.monthly-ribbon-heading > small, .month-summary-card > span,
.month-summary-card > small, .month-summary-card > div span,
.chart-legend, .bar-value, .month-bar-group > small,
.report-chart > footer, .team-volume-row span { color: #77736d; }
.month-summary-card:hover, .month-summary-card.is-selected {
  border-color: #c9ab8e;
  box-shadow: 0 9px 24px rgba(66, 52, 39, .06);
}
.month-bar-group.is-selected { background: #f7f1e9; }
.month-bar-group > strong, .team-volume-row strong { color: #292826; }
.team-volume-track { background: #ebe7df; }
.quality-strip > div { background: #fffefa; }
.quality-strip span, .quality-strip small { color: #77736d; }
.quality-strip strong { color: #171715; }

.team-table-head, .team-rank { color: #827e77; }
.team-analytics-card, .team-games, .team-game-row,
.team-movement-row, .movement-event, .source-list > div,
.transaction-history-list article { border-color: var(--line); }
.team-analytics-card > summary:hover, .team-movement-row:hover,
.request-row:hover { background: #f8f6f1; }
.team-games { background: #faf8f3; }
.team-identity strong, .team-game-name strong, .team-value strong,
.team-game-row > div > strong { color: #262522; }
.team-identity small, .team-value small, .team-game-name small,
.team-game-row > div > small { color: #77736d; }
.team-expand { border-color: #77736d; }
.value-load strong, .amount-load { color: #4e7c57; }
.value-redeem strong, .amount-redeem { color: #a96829; }
.value-net strong { color: #3f7370; }
.value-failed strong { color: #b84d45; }
.drilldown-header p, .team-game-picker-heading > span,
.team-drilldown-metrics span, .team-drilldown-metrics small,
.team-game-button-copy small, .team-game-button-values small,
.game-timeline-summary span, .game-timeline-summary small,
.movement-timeline > header > span, .movement-event time small,
.movement-event-copy small, .movement-history-limit { color: #77736d; }
.drilldown-back {
  background: #fffefa;
  border-color: var(--line);
  color: #3b3935;
}
.drilldown-back:hover { background: #f2eee7; border-color: #c8b29d; color: #171715; }
.team-drilldown-metrics strong, .team-game-button-copy strong,
.game-timeline-summary strong, .movement-event time strong,
.movement-event-copy strong { color: #242321; }
.game-timeline-summary > div { background: #fffefa; }
.team-game-button:hover { border-color: #c7aa90; }

.transparency-panel > p, .failed-attempt-panel > p,
.source-list > div > span, .source-list > div > small,
.failed-attempt-panel > span, .failed-split small,
.failed-split span { color: #76726b; }
.source-list > div > strong, .failed-split strong { color: #242321; }
.failed-attempt-panel { border-color: #ead1cd; }
.failed-attempt-panel > strong { color: #b94b43; }
.failed-split > div { background: #faf6f4; border-color: #eadedb; }

.segmented button { color: #74716b; }
.segmented button.is-active { background: #e7eaee; color: #171715; box-shadow: none; }
.request-row { border-color: var(--line); }
.request-title strong, .request-amount strong { color: #252421; }
.request-title span, .request-meta, .request-amount span,
.route-line, .route-node small, .target-node small,
.route-checklist small { color: #77736d; }
.game-avatar { background: #f5eee5; border-color: #e4d6c8; color: #814c29; }
.game-tone-b { background: #edf3f1; border-color: #d8e4e1; color: #3f716d; }
.draft-chip, .read-only-badge { box-shadow: none; }
.route-node > span { background: #f5e9dc; border-color: #e5d0bd; color: #95572e; }
.sub-node { border-color: #d4e1df; }
.sub-node > span { background: #edf4f2; border-color: #d5e4e0; color: #3f736d; }
.route-line span { background: #fffefa; }
.target-node span { background: #eeeae3; color: #5b5750; }
.check { color: #77736d; }

.provider-game-title h4, .provider-copy strong,
.provider-slot-details strong, .provider-slot > header strong,
.provider-slot-empty strong { color: #23221f; }
.provider-toolbar > span, .provider-copy span, .provider-foot span,
.provider-foot button, .panel-tools, .ghost-button,
.provider-slot-details span, .provider-slot > footer > span,
.provider-slot-empty small { color: #77736d; }
.provider-search-control { background: #fff; border-color: var(--line); }
.provider-search-control .ui-icon, .provider-search-control input::placeholder { color: #8a867f; }
.provider-search-control input { color: #1e1d1b; }
.provider-search-control:focus-within { border-color: #ae8e72; box-shadow: 0 0 0 3px rgba(174,142,114,.12); }
.provider-sort-control select { background-color: #fff; border-color: var(--line); color: #252421; }
.provider-sort-control select:focus { border-color: #ae8e72; box-shadow: 0 0 0 3px rgba(174,142,114,.12); outline: 0; }
.provider-slot { background: #faf8f3; border-color: var(--line); }
.provider-slot-empty > span { background: #f1eee7; color: #77736d; }
.mapping-count { background: #f4f1ea; color: #64605a; }
.provider-logo { border-color: #ddd9d1; }
.balance-check-button {
  background: #f4eee6;
  border-color: #e0ccba;
  color: #7f4b29;
}
.balance-check-button:hover { background: #eadccc; color: #5f351b; }
.bulk-balance-button {
  background: #1d1d1b;
  border-color: #1d1d1b;
  color: #fff;
  box-shadow: none;
}
.bulk-balance-button:hover { background: #383733; border-color: #383733; color: #fff; }
.bulk-balance-button:focus-visible { outline: 3px solid rgba(29, 29, 27, .18); outline-offset: 2px; }
.provider-balance strong { color: #4e7c57; }
.provider-balance .balance-unavailable { color: #77736d; }
.provider-message.message-success { background: #eef6ed; border-color: #d5e6d2; color: #486f4f; }
.provider-message.message-error { background: #fbefed; border-color: #ead0cc; color: #a64740; }

th { color: #6f6b65; }
td { color: #4b4944; }
td strong { color: #1e1d1b; }
td > span:not(.status-chip) { color: #77736d; }
.ledger-team-filter label { color: #6f6b65; }
.ledger-team-filter select, .transaction-fields select, .money-input,
.transaction-review { background-color: #fff; border-color: var(--line); }
.ledger-team-filter select option, .period-control select option,
.transaction-fields select option { background: #fff; color: #171715; }
.empty-state { color: #77736d; }
.empty-state strong { color: #292825; }
.empty-state > span { background: #eef5ed; border-color: #d8e7d5; color: #4e7c57; }

.transaction-mode button {
  background: #fff;
  border-color: var(--line);
  color: #57534e;
}
.transaction-mode button:hover { border-color: #cbb49e; }
.transaction-mode button > span, .review-icon {
  background: #f5ece2;
  border-color: #e7d3c0;
  color: #96582f;
}
.transaction-mode button strong, .transaction-review strong,
.transaction-history h3, .transaction-history-list article > div:nth-child(2) strong {
  color: #1e1d1b;
}
.transaction-mode button small, .transaction-fields label > span,
.transaction-review small, .transaction-review p,
.transaction-confirm, .transaction-safety-note,
.transaction-history > header > span,
.transaction-history-list article > div:nth-child(2) span,
.transaction-history-list article > div:nth-child(2) small { color: #77736d; }
.transaction-mode button.is-active {
  background: #f7eee4;
  border-color: #cda883;
  box-shadow: inset 0 0 0 1px rgba(189, 111, 55, .06);
}
.transaction-mode button.is-redeem.is-active { background: #f9eeec; border-color: #d6aaa4; }
.transaction-fields select:disabled { color: #aaa69f; }
.transaction-fields select:focus, .money-input:focus-within {
  border-color: #bb8a64;
  box-shadow: 0 0 0 3px rgba(189, 111, 55, .1);
}
.money-input b { color: #8d542e; }
.money-input input::placeholder { color: #aaa69f; }
.transaction-submit.is-redeem { background: #984a43; }
.history-operation { background: #edf5ec; color: #4e7c57; }
.history-operation.history-redeem { background: #f8eee0; color: #a96829; }
.history-amount > strong { color: #4e7c57; }

.control-card small, .control-card p, .console-footer { color: #77736d; }
.control-card strong { color: #1e1d1b; }
.control-card-icon { background: #f5ece2; border-color: #e7d3c0; color: #96582f; }
.control-card .admin-avatar { background: #171715; color: #fff; }
.control-card-safe { border-color: #d2e0cf; }

.status-loaded { background: #eaf4e9; color: #426c4a; }
.status-failed, .status-rejected { background: #f9e9e6; color: #ab453e; }
.status-pending { background: #f8efdf; color: #94602a; }
.status-processing, .status-approved { background: #ebf1f5; color: #49687c; }

@media (max-width: 1024px) {
  .sidebar { box-shadow: 22px 0 60px rgba(45, 40, 34, .14); }
  .scrim { background: rgba(37, 34, 29, .46); }
  .menu-button span { background: #4e4b46; }
}

@media (max-width: 720px) {
  .team-value { background: #f6f3ed; }
  .mobile-nav {
    background: rgba(255, 254, 250, .97);
    border-color: var(--line);
    box-shadow: 0 -8px 30px rgba(48, 43, 36, .07);
  }
  .mobile-nav a { color: #77736d; }
  .mobile-nav a.is-active { color: #171715; }
}

/* TeamLobby admin visual parity.
   These tokens mirror the production admin shell while preserving Relay's
   information architecture and financial status semantics. */
:root {
  color-scheme: dark;
  --ink: #ffffff;
  --muted: #9ca3af;
  --muted-strong: #d1d5db;
  --canvas: #0b0e14;
  --canvas-deep: #0b0e14;
  --panel: #131822;
  --panel-solid: #131822;
  --panel-soft: #1c2433;
  --line: rgba(255, 255, 255, .05);
  --line-strong: rgba(255, 255, 255, .1);
  --violet: #d4af37;
  --violet-bright: #e5c158;
  --cyan: #10b981;
  --lime: #10b981;
  --amber: #f59e0b;
  --red: #ef4444;
  --green: #10b981;
  --cream: #ffffff;
  --copper: #d4af37;
  --coral: #ef4444;
  --font-sans: "Manrope", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-display: "Outfit", "Manrope", ui-sans-serif, system-ui, sans-serif;
  --shadow: 0 18px 55px rgba(0, 0, 0, .2);
}

body {
  background:
    radial-gradient(circle at 86% -12%, rgba(212, 175, 55, .08), transparent 32%),
    radial-gradient(circle at 42% 28%, rgba(16, 185, 129, .025), transparent 28%),
    #0b0e14;
  color: #ffffff;
}

.sidebar {
  background: #131822;
  border-color: rgba(255, 255, 255, .05);
  box-shadow: none;
}
.brand-mark {
  background: rgba(212, 175, 55, .1);
  border-color: rgba(212, 175, 55, .24);
  box-shadow: none;
}
.brand-mark svg { stroke: #d4af37; }
.brand strong, .environment-card strong { color: #ffffff; }
.brand span, .environment-card div span, .version { color: #9ca3af; }
.nav-label { color: #6b7280; }
.nav-item { color: #9ca3af; }
.nav-item:hover {
  background: #1c2433;
  color: #ffffff;
}
.nav-item.is-active {
  background: rgba(212, 175, 55, .1);
  border-color: transparent;
  box-shadow: inset 3px 0 #d4af37;
  color: #d4af37;
}
.nav-icon, .is-active .nav-icon { color: currentColor; }
.nav-count { background: rgba(239, 68, 68, .12); color: #f87171; }
.soon, .draft-chip {
  background: rgba(212, 175, 55, .1);
  border-color: rgba(212, 175, 55, .18);
  color: #e5c158;
}
.environment-card, .route-node, .target-node {
  background: rgba(255, 255, 255, .025);
  border-color: rgba(255, 255, 255, .05);
}
.environment-dot { box-shadow: 0 0 0 4px rgba(16, 185, 129, .1), 0 0 12px rgba(16, 185, 129, .35); }

.topbar {
  background: rgba(19, 24, 34, .96);
  border-color: rgba(255, 255, 255, .05);
  box-shadow: none;
}
.eyebrow { color: #d4af37; }
.topbar h1, .analytics-heading h2, .transaction-heading h2,
.drilldown-header h2, .team-game-picker-heading h3 { color: #ffffff; }
.search-box, .segmented, .period-control > div {
  background: #0b0e14;
  border-color: rgba(255, 255, 255, .1);
}
.search-box:focus-within {
  background: #0b0e14;
  border-color: #d4af37;
  box-shadow: 0 0 0 3px rgba(212, 175, 55, .12);
}
.search-box svg, .icon-button { color: #9ca3af; }
.search-box input { color: #ffffff; }
.search-box input::placeholder, .search-box kbd { color: #6b7280; }
.search-box kbd { background: rgba(255, 255, 255, .05); }
.cluster-pill {
  background: rgba(16, 185, 129, .08);
  border-color: rgba(16, 185, 129, .16);
  color: #34d399;
}
.avatar { background: rgba(212, 175, 55, .2); border-color: rgba(212, 175, 55, .22); color: #d4af37; }

.pause-banner { background: rgba(245, 158, 11, .08); border-color: rgba(245, 158, 11, .18); }
.pause-symbol { background: rgba(245, 158, 11, .14); }
.pause-copy strong { color: #fbbf24; }
.pause-copy span { color: #9ca3af; }
.pause-state { background: rgba(245, 158, 11, .1); color: #fbbf24; }

.hero {
  background:
    linear-gradient(90deg, rgba(11, 14, 20, .97) 0%, rgba(11, 14, 20, .91) 52%, rgba(11, 14, 20, .7) 100%),
    var(--hero-asset, #131822);
  background-blend-mode: normal;
  border-color: rgba(255, 255, 255, .05);
  box-shadow: var(--shadow);
}
.hero h2 { color: #ffffff; }
.hero p { color: #9ca3af; }
.orbit { border-color: rgba(212, 175, 55, .24); }
.orbit-core {
  background: rgba(212, 175, 55, .1);
  border-color: rgba(212, 175, 55, .28);
  box-shadow: 0 14px 34px rgba(0, 0, 0, .24);
}
.orbit-core span { color: #ffffff; }
.orbit-core small { color: #9ca3af; }
.node { border-color: #131822; }

.metric-card, .analytics-metric, .panel, .transparency-panel,
.failed-attempt-panel, .monthly-ribbon, .month-summary-card,
.quality-strip, .team-drilldown-metrics article, .team-game-button,
.movement-timeline, .control-card, .provider-game-card, .provider-card {
  background: #131822;
  border-color: rgba(255, 255, 255, .05);
  box-shadow: var(--shadow);
  color: #ffffff;
}
.metric-card, .analytics-metric { box-shadow: 0 8px 25px rgba(0, 0, 0, .16); }
.metric-top, .analytics-metric > span, .metric-card > small,
.analytics-metric > small { color: #9ca3af; }
.metric-card > strong, .analytics-metric > strong { color: #ffffff; }
.metric-card > strong em { color: #9ca3af; }
.panel-header { border-color: rgba(255, 255, 255, .05); }
.panel-header h3, .report-chart-header h3,
.transparency-panel header h3, .failed-attempt-panel header h3 { color: #ffffff; }

.period-control > label, .period-control > small,
.analytics-heading p, .transaction-heading p { color: #9ca3af; }
.period-control select, .ledger-team-filter select,
.transaction-fields select, .money-input, .money-input input { color: #ffffff; }
.period-control button, .ledger-team-filter button, .transaction-submit {
  background: linear-gradient(135deg, #d4af37, #b89524);
  color: #0b0e14;
  box-shadow: none;
}
.analytics-notice, .provider-message {
  background: rgba(245, 158, 11, .08);
  border-color: rgba(245, 158, 11, .16);
  color: #fbbf24;
}
.analytics-period-chip, .read-only-badge {
  background: rgba(212, 175, 55, .1);
  border-color: rgba(212, 175, 55, .2);
  color: #e5c158;
}

.monthly-ribbon-heading > small, .month-summary-card > span,
.month-summary-card > small, .month-summary-card > div span,
.chart-legend, .bar-value, .month-bar-group > small,
.report-chart > footer, .team-volume-row span { color: #9ca3af; }
.month-summary-card:hover, .month-summary-card.is-selected { border-color: rgba(212, 175, 55, .35); box-shadow: 0 9px 24px rgba(0, 0, 0, .2); }
.month-bar-group.is-selected { background: rgba(212, 175, 55, .06); }
.month-bar-group > strong, .team-volume-row strong { color: #ffffff; }
.team-volume-track { background: rgba(255, 255, 255, .07); }
.quality-strip > div { background: #131822; }
.quality-strip span, .quality-strip small { color: #9ca3af; }
.quality-strip strong { color: #ffffff; }

.team-table-head, .team-rank { color: #9ca3af; }
.team-analytics-card, .team-games, .team-game-row, .team-movement-row,
.movement-event, .source-list > div, .transaction-history-list article { border-color: rgba(255, 255, 255, .05); }
.team-analytics-card > summary:hover, .team-movement-row:hover, .request-row:hover { background: #1c2433; }
.team-games { background: rgba(11, 14, 20, .42); }
.team-identity strong, .team-game-name strong, .team-value strong,
.team-game-row > div > strong { color: #ffffff; }
.team-identity small, .team-value small, .team-game-name small,
.team-game-row > div > small { color: #9ca3af; }
.team-expand { border-color: #9ca3af; }
.value-load strong, .amount-load { color: #34d399; }
.value-redeem strong, .amount-redeem { color: #fbbf24; }
.value-net strong { color: #d4af37; }
.value-failed strong { color: #f87171; }

.drilldown-header p, .team-game-picker-heading > span,
.team-drilldown-metrics span, .team-drilldown-metrics small,
.team-game-button-copy small, .team-game-button-values small,
.game-timeline-summary span, .game-timeline-summary small,
.movement-timeline > header > span, .movement-event time small,
.movement-event-copy small, .movement-history-limit { color: #9ca3af; }
.drilldown-back { background: #131822; border-color: rgba(255, 255, 255, .1); color: #d1d5db; }
.drilldown-back:hover { background: #1c2433; border-color: rgba(212, 175, 55, .3); color: #ffffff; }
.team-drilldown-metrics strong, .team-game-button-copy strong,
.game-timeline-summary strong, .movement-event time strong,
.movement-event-copy strong { color: #ffffff; }
.game-timeline-summary > div { background: #131822; }
.team-game-button:hover { border-color: rgba(212, 175, 55, .28); }

.transparency-panel > p, .failed-attempt-panel > p,
.source-list > div > span, .source-list > div > small,
.failed-attempt-panel > span, .failed-split small, .failed-split span { color: #9ca3af; }
.source-list > div > strong, .failed-split strong { color: #ffffff; }
.failed-attempt-panel { border-color: rgba(239, 68, 68, .16); }
.failed-attempt-panel > strong { color: #f87171; }
.failed-split > div { background: rgba(239, 68, 68, .035); border-color: rgba(239, 68, 68, .12); }

.segmented button { color: #9ca3af; }
.segmented button.is-active { background: #1c2433; color: #ffffff; box-shadow: none; }
.request-row { border-color: rgba(255, 255, 255, .05); }
.request-title strong, .request-amount strong { color: #ffffff; }
.request-title span, .request-meta, .request-amount span, .route-line,
.route-node small, .target-node small, .route-checklist small { color: #9ca3af; }
.game-avatar { background: rgba(212, 175, 55, .1); border-color: rgba(212, 175, 55, .18); color: #e5c158; }
.game-tone-b { background: rgba(16, 185, 129, .08); border-color: rgba(16, 185, 129, .14); color: #34d399; }
.route-node > span { background: rgba(212, 175, 55, .12); border-color: rgba(212, 175, 55, .2); color: #e5c158; }
.sub-node { border-color: rgba(16, 185, 129, .16); }
.sub-node > span { background: rgba(16, 185, 129, .09); border-color: rgba(16, 185, 129, .16); color: #34d399; }
.route-line span { background: #131822; }
.target-node span { background: #1c2433; color: #d1d5db; }
.check { color: #9ca3af; }

.provider-game-title h4, .provider-copy strong, .provider-slot-details strong,
.provider-slot > header strong, .provider-slot-empty strong { color: #ffffff; }
.provider-toolbar > span, .provider-copy span, .provider-foot span,
.provider-foot button, .panel-tools, .ghost-button, .provider-slot-details span,
.provider-slot > footer > span, .provider-slot-empty small { color: #9ca3af; }
.provider-search-control, .provider-slot,
.ledger-team-filter select, .transaction-fields select, .money-input,
.transaction-review { background: #0b0e14; border-color: rgba(255, 255, 255, .1); }
.provider-search-control .ui-icon, .provider-search-control input::placeholder { color: #6b7280; }
.provider-search-control input { color: #ffffff; }
.provider-search-control:focus-within,
.provider-sort-control select:focus, .transaction-fields select:focus,
.money-input:focus-within { border-color: #d4af37; box-shadow: 0 0 0 3px rgba(212, 175, 55, .12); outline: 0; }
.provider-sort-control select { background-color: #0b0e14; border-color: rgba(255, 255, 255, .1); color: #ffffff; }
.provider-slot-empty > span, .mapping-count { background: #1c2433; color: #9ca3af; }
.provider-logo { border-color: rgba(255, 255, 255, .1); }
.balance-check-button { background: rgba(212, 175, 55, .1); border-color: rgba(212, 175, 55, .22); color: #e5c158; }
.balance-check-button:hover { background: rgba(212, 175, 55, .16); color: #ffffff; }
.bulk-balance-button { background: #d4af37; border-color: #d4af37; color: #0b0e14; box-shadow: none; }
.bulk-balance-button:hover { background: #e5c158; border-color: #e5c158; color: #0b0e14; }
.bulk-balance-button:focus-visible { outline: 3px solid rgba(212, 175, 55, .22); outline-offset: 2px; }
.provider-balance strong { color: #34d399; }
.provider-balance .balance-unavailable { color: #9ca3af; }
.provider-message.message-success { background: rgba(16, 185, 129, .08); border-color: rgba(16, 185, 129, .16); color: #34d399; }
.provider-message.message-error { background: rgba(239, 68, 68, .08); border-color: rgba(239, 68, 68, .16); color: #f87171; }

th, .ledger-team-filter label { color: #9ca3af; }
td { color: #d1d5db; }
td strong { color: #ffffff; }
td > span:not(.status-chip) { color: #9ca3af; }
.ledger-team-filter select option, .period-control select option,
.transaction-fields select option { background: #131822; color: #ffffff; }
.empty-state { color: #9ca3af; }
.empty-state strong { color: #ffffff; }
.empty-state > span { background: rgba(16, 185, 129, .08); border-color: rgba(16, 185, 129, .16); color: #34d399; }

.transaction-mode button { background: #0b0e14; border-color: rgba(255, 255, 255, .1); color: #d1d5db; }
.transaction-mode button:hover { border-color: rgba(212, 175, 55, .3); }
.transaction-mode button > span, .review-icon { background: rgba(212, 175, 55, .1); border-color: rgba(212, 175, 55, .18); color: #e5c158; }
.transaction-mode button strong, .transaction-review strong,
.transaction-history h3, .transaction-history-list article > div:nth-child(2) strong { color: #ffffff; }
.transaction-mode button small, .transaction-fields label > span,
.transaction-review small, .transaction-review p, .transaction-confirm,
.transaction-safety-note, .transaction-history > header > span,
.transaction-history-list article > div:nth-child(2) span,
.transaction-history-list article > div:nth-child(2) small { color: #9ca3af; }
.transaction-mode button.is-active { background: rgba(212, 175, 55, .1); border-color: rgba(212, 175, 55, .34); box-shadow: none; }
.transaction-mode button.is-redeem.is-active { background: rgba(239, 68, 68, .08); border-color: rgba(239, 68, 68, .26); }
.transaction-fields select:disabled { color: #6b7280; }
.money-input b { color: #d4af37; }
.money-input input::placeholder { color: #6b7280; }
.transaction-submit.is-redeem { background: linear-gradient(135deg, #ef4444, #c92f2f); color: #ffffff; }
.history-operation { background: rgba(16, 185, 129, .08); color: #34d399; }
.history-operation.history-redeem { background: rgba(245, 158, 11, .09); color: #fbbf24; }
.history-amount > strong { color: #34d399; }

.control-card small, .control-card p, .console-footer { color: #9ca3af; }
.control-card strong { color: #ffffff; }
.control-card-icon { background: rgba(212, 175, 55, .1); border-color: rgba(212, 175, 55, .18); color: #e5c158; }
.control-card .admin-avatar { background: rgba(212, 175, 55, .2); color: #d4af37; }
.control-card-safe { border-color: rgba(16, 185, 129, .18); }

.status-loaded { background: rgba(16, 185, 129, .1); color: #34d399; }
.status-failed, .status-rejected { background: rgba(239, 68, 68, .1); color: #f87171; }
.status-pending { background: rgba(245, 158, 11, .1); color: #fbbf24; }
.status-processing, .status-approved { background: rgba(212, 175, 55, .1); color: #e5c158; }

@media (max-width: 1024px) {
  .sidebar { box-shadow: 22px 0 60px rgba(0, 0, 0, .35); }
  .scrim { background: rgba(0, 0, 0, .6); }
  .menu-button span { background: #9ca3af; }
}

@media (max-width: 720px) {
  .team-value { background: rgba(255, 255, 255, .025); }
  .mobile-nav { background: rgba(19, 24, 34, .98); border-color: rgba(255, 255, 255, .05); box-shadow: 0 -8px 30px rgba(0, 0, 0, .22); }
  .mobile-nav a { color: #9ca3af; }
  .mobile-nav a.is-active { color: #d4af37; }
}

/* Telegram alert control center. */
.telegram-nav-state {
  margin-left: auto;
  padding: .18rem .42rem;
  border-radius: 999px;
  background: rgba(16, 185, 129, .1);
  color: #34d399;
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.telegram-workspace { display: grid; gap: 1.15rem; }
.telegram-heading { align-items: center; }
.telegram-status {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  width: max-content;
  padding: .55rem .78rem;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 999px;
  background: #131822;
  color: #9ca3af;
  font-size: .7rem;
  font-weight: 750;
}
.telegram-status i, .telegram-health-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #6b7280;
}
.telegram-status.is-live { border-color: rgba(16, 185, 129, .18); color: #34d399; }
.telegram-status.is-live i, .telegram-health-dot.is-live {
  background: #10b981;
  box-shadow: 0 0 0 4px rgba(16, 185, 129, .1), 0 0 14px rgba(16, 185, 129, .35);
}
.telegram-messages { display: grid; gap: .55rem; }
.telegram-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(300px, .72fr);
  gap: 1rem;
  align-items: start;
}
.telegram-config-card, .telegram-health-card, .telegram-preview-card {
  padding: clamp(1rem, 2vw, 1.5rem);
}
.telegram-config-card > header, .telegram-health-card > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}
.telegram-config-card h3, .telegram-health-card h3, .telegram-preview-card h3,
.telegram-threshold-heading h3 {
  margin: .2rem 0 0;
  color: #ffffff;
  font-family: var(--font-display);
  font-size: 1.05rem;
}
.telegram-token-state {
  flex: 0 0 auto;
  padding: .34rem .55rem;
  border-radius: 999px;
  background: rgba(245, 158, 11, .08);
  color: #fbbf24;
  font-size: .62rem;
  font-weight: 800;
}
.telegram-token-state.is-ready { background: rgba(16, 185, 129, .08); color: #34d399; }
.telegram-enable-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
  padding: .85rem;
  border: 1px solid rgba(212, 175, 55, .18);
  border-radius: 12px;
  background: rgba(212, 175, 55, .06);
}
.telegram-enable-row > span { display: grid; gap: .18rem; }
.telegram-enable-row strong { color: #ffffff; font-size: .78rem; }
.telegram-enable-row small { color: #9ca3af; font-size: .66rem; line-height: 1.45; }
.telegram-enable-row input {
  width: 42px;
  height: 23px;
  flex: 0 0 auto;
  accent-color: #d4af37;
  cursor: pointer;
}
.telegram-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
.telegram-field { display: grid; gap: .42rem; color: #d1d5db; font-size: .7rem; font-weight: 700; }
.telegram-field-wide { grid-column: 1 / -1; }
.telegram-field input, .telegram-field textarea, .telegram-field select {
  width: 100%;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 10px;
  outline: 0;
  background: #0b0e14;
  color: #ffffff;
  font: inherit;
  font-weight: 600;
}
.telegram-field input, .telegram-field select { min-height: 45px; padding: 0 .8rem; }
.telegram-field textarea { min-height: 112px; resize: vertical; padding: .75rem .8rem; line-height: 1.6; }
.telegram-field input::placeholder, .telegram-field textarea::placeholder { color: #6b7280; }
.telegram-field input:focus, .telegram-field textarea:focus, .telegram-field select:focus {
  border-color: #d4af37;
  box-shadow: 0 0 0 3px rgba(212, 175, 55, .12);
}
.telegram-field > small { color: #6b7280; font-size: .62rem; font-weight: 600; line-height: 1.45; }
.telegram-field > small b { color: #9ca3af; }
.telegram-threshold-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin: 1.35rem 0 .7rem;
  padding-top: 1.15rem;
  border-top: 1px solid rgba(255, 255, 255, .05);
}
.telegram-threshold-heading p { margin: 0; color: #9ca3af; font-size: .65rem; }
.telegram-threshold-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; }
.telegram-threshold-card {
  display: grid;
  gap: .28rem;
  min-width: 0;
  padding: .85rem;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 12px;
  background: #0b0e14;
}
.telegram-threshold-card > strong { color: #ffffff; font-size: .8rem; }
.telegram-threshold-card > small { min-height: 2.3em; color: #6b7280; font-size: .6rem; line-height: 1.35; }
.api-slot {
  width: max-content;
  padding: .2rem .38rem;
  border-radius: 5px;
  font-size: .55rem;
  font-weight: 850;
  letter-spacing: .06em;
}
.api-slot-one { background: rgba(212, 175, 55, .1); color: #e5c158; }
.api-slot-two { background: rgba(16, 185, 129, .1); color: #34d399; }
.telegram-threshold-card > div {
  display: flex;
  align-items: center;
  min-width: 0;
  margin-top: .35rem;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 9px;
  background: #131822;
}
.telegram-threshold-card > div:focus-within { border-color: #d4af37; box-shadow: 0 0 0 3px rgba(212, 175, 55, .1); }
.telegram-threshold-card b { padding-left: .65rem; color: #d4af37; font-size: .8rem; }
.telegram-threshold-card input {
  width: 100%;
  min-width: 0;
  height: 41px;
  padding: 0 .6rem;
  border: 0;
  outline: 0;
  background: transparent;
  color: #ffffff;
  font: 750 .75rem var(--font-sans);
}
.telegram-repeat-field { margin-top: .85rem; }
.telegram-repeat-field select { max-width: 240px; }
.telegram-save-button, .telegram-test-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  min-height: 46px;
  border: 0;
  border-radius: 10px;
  cursor: pointer;
  font: 800 .72rem var(--font-sans);
}
.telegram-save-button {
  width: 100%;
  margin-top: 1rem;
  background: linear-gradient(135deg, #d4af37, #b89524);
  color: #0b0e14;
}
.telegram-save-button:hover { background: linear-gradient(135deg, #e5c158, #d4af37); }
.telegram-save-button:disabled, .telegram-test-button:disabled { cursor: not-allowed; opacity: .45; }
.telegram-side-stack { display: grid; gap: 1rem; }
.telegram-health-dot { margin-top: .35rem; }
.telegram-health-card dl { display: grid; margin: 0; }
.telegram-health-card dl > div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .75rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, .05);
}
.telegram-health-card dt { color: #9ca3af; font-size: .67rem; }
.telegram-health-card dd { margin: 0; color: #ffffff; font-size: .68rem; font-weight: 750; text-align: right; }
.telegram-last-error {
  display: grid;
  gap: .22rem;
  margin: .8rem 0 0;
  padding: .68rem;
  border: 1px solid rgba(239, 68, 68, .16);
  border-radius: 9px;
  background: rgba(239, 68, 68, .06);
  color: #f87171;
  font-size: .62rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.telegram-test-button {
  width: 100%;
  margin-top: 1rem;
  border: 1px solid rgba(16, 185, 129, .22);
  background: rgba(16, 185, 129, .09);
  color: #34d399;
}
.telegram-test-button:hover:not(:disabled) { background: rgba(16, 185, 129, .14); color: #ffffff; }
.telegram-test-note { display: block; margin-top: .55rem; color: #6b7280; font-size: .58rem; line-height: 1.45; }
.telegram-preview-card { display: grid; gap: .75rem; }
.telegram-preview-icon {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid rgba(212, 175, 55, .2);
  border-radius: 11px;
  background: rgba(212, 175, 55, .1);
  color: #e5c158;
}
.telegram-message-preview {
  display: grid;
  gap: .32rem;
  padding: .85rem;
  border: 1px solid rgba(16, 185, 129, .14);
  border-radius: 11px;
  background: #0b0e14;
  color: #d1d5db;
  font-size: .64rem;
  line-height: 1.45;
}
.telegram-message-preview strong { margin-bottom: .15rem; color: #fbbf24; }
.telegram-preview-card > p { margin: 0; color: #9ca3af; font-size: .62rem; line-height: 1.55; }

@media (max-width: 1040px) {
  .telegram-layout { grid-template-columns: 1fr; }
  .telegram-side-stack { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .telegram-heading, .telegram-threshold-heading { align-items: flex-start; flex-direction: column; }
  .telegram-layout, .telegram-side-stack, .telegram-threshold-grid, .telegram-field-grid { grid-template-columns: 1fr; }
  .telegram-field-wide { grid-column: auto; }
  .telegram-config-card, .telegram-health-card, .telegram-preview-card { padding: 1rem; }
  .telegram-enable-row { align-items: flex-start; }
  .telegram-threshold-card > small { min-height: 0; }
  .telegram-repeat-field select { max-width: none; }
}

/* Backend load ranking */
.backend-movement-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 16px 0;
}
.backend-movement-summary article {
  min-width: 0;
  padding: 18px;
  border: 1px solid rgba(255, 255, 255, .05);
  border-radius: 15px;
  background: #131822;
  box-shadow: 0 8px 25px rgba(0, 0, 0, .16);
}
.backend-movement-summary span,
.backend-movement-summary strong,
.backend-movement-summary small { display: block; }
.backend-movement-summary span {
  color: #9ca3af;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .01em;
}
.backend-movement-summary strong {
  margin-top: 12px;
  color: #ffffff;
  font: 850 clamp(22px, 2vw, 31px)/1 var(--font-display);
  letter-spacing: -.035em;
}
.backend-movement-summary small {
  margin-top: 6px;
  color: #6b7280;
  font-size: 9px;
  font-weight: 600;
}
.backend-movement-panel { overflow: hidden; }
.backend-movement-panel-heading > span {
  color: #9ca3af;
  font-size: 10px;
  font-weight: 650;
}
.backend-movement-list { display: grid; }
.backend-movement-row {
  display: grid;
  grid-template-columns: 34px 48px minmax(180px, 1.4fr) repeat(3, minmax(105px, .62fr));
  align-items: center;
  gap: 14px;
  min-height: 90px;
  padding: 14px 20px;
  border-top: 1px solid rgba(255, 255, 255, .05);
}
.backend-movement-row:hover { background: #1c2433; }
.backend-movement-rank {
  color: #6b7280;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
}
.backend-movement-row .analytics-game-cover {
  width: 46px;
  height: 46px;
  border-color: rgba(255, 255, 255, .1);
}
.backend-movement-game { min-width: 0; }
.backend-movement-game > strong,
.backend-movement-game > small { display: block; }
.backend-movement-game > strong {
  overflow: hidden;
  color: #ffffff;
  font-size: 12px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.backend-movement-game > small {
  margin-top: 3px;
  color: #9ca3af;
  font-size: 9px;
  font-weight: 600;
}
.backend-movement-track {
  height: 5px;
  margin-top: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, .07);
}
.backend-movement-track i {
  display: block;
  width: var(--backend-load-width, 0%);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #d4af37, #10b981);
}
.backend-movement-value span,
.backend-movement-value strong,
.backend-movement-value small { display: block; }
.backend-movement-value span {
  color: #6b7280;
  font-size: 8px;
  font-weight: 750;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.backend-movement-value strong {
  margin-top: 5px;
  color: #ffffff;
  font: 800 14px var(--font-display);
}
.backend-movement-value:first-of-type strong { color: #34d399; }
.backend-movement-value small {
  margin-top: 3px;
  color: #9ca3af;
  font-size: 8px;
}
.backend-movement-empty { min-height: 260px; }

@media (max-width: 1040px) {
  .backend-movement-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .backend-movement-row {
    grid-template-columns: 30px 46px minmax(150px, 1.25fr) repeat(3, minmax(88px, .55fr));
    gap: 10px;
    padding-inline: 14px;
  }
}

@media (max-width: 720px) {
  .backend-movement-summary { gap: 8px; margin: 12px 0; }
  .backend-movement-summary article { min-height: 108px; padding: 14px; }
  .backend-movement-summary strong { font-size: 19px; }
  .backend-movement-summary small { line-height: 1.4; }
  .backend-movement-panel-heading { align-items: flex-start; }
  .backend-movement-row {
    grid-template-columns: 28px 44px minmax(0, 1fr) auto;
    gap: 9px;
    min-height: 0;
    margin: 8px;
    padding: 12px;
    border: 1px solid rgba(255, 255, 255, .05);
    border-radius: 12px;
  }
  .backend-movement-row .analytics-game-cover { width: 42px; height: 42px; }
  .backend-movement-game { grid-column: 3; }
  .backend-movement-value { grid-column: 3; }
  .backend-movement-value:nth-last-child(2),
  .backend-movement-value:last-child { display: none; }
  .backend-movement-value span { display: none; }
  .backend-movement-value strong { margin-top: 0; font-size: 14px; }
  .backend-movement-value small { font-size: 8px; }
  .backend-movement-track { margin-top: 8px; }
}

/* Ledger history stays inside one predictable viewport while its controls
   remain visible. Pagination is server-owned; this region only scrolls the
   current page of immutable rows. */
.ledger-table-scroll {
  height: clamp(400px, 73dvh, 760px);
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-color: rgba(212, 175, 55, .45) #0b0e14;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
}
.ledger-table-scroll thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #131822;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .08);
}
.ledger-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 64px;
  padding: 11px 20px;
  border-top: 1px solid rgba(255, 255, 255, .06);
  background: #10151e;
}
.ledger-pagination p { margin: 0; }
.ledger-pagination p strong,
.ledger-pagination p span { display: block; }
.ledger-pagination p strong {
  color: #f3f4f6;
  font-size: 10px;
  font-weight: 800;
}
.ledger-pagination p span {
  margin-top: 3px;
  color: #9ca3af;
  font-size: 9px;
}
.ledger-pagination p b { color: #d1d5db; }
.ledger-pagination nav {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}
.ledger-pagination nav a,
.ledger-pagination nav > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 30px;
  min-height: 30px;
  padding: 6px 9px;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 8px;
  background: #181e29;
  color: #d1d5db;
  font-size: 9px;
  font-weight: 750;
}
.ledger-pagination nav a:hover {
  border-color: rgba(212, 175, 55, .35);
  background: #222a38;
  color: #fbbf24;
}
.ledger-pagination nav .is-current {
  border-color: rgba(212, 175, 55, .42);
  background: rgba(212, 175, 55, .15);
  color: #fbbf24;
}
.ledger-pagination nav .is-disabled {
  cursor: not-allowed;
  opacity: .38;
}
.ledger-pagination nav .ledger-page-gap {
  min-width: 18px;
  padding-inline: 3px;
  border-color: transparent;
  background: transparent;
}

@media (max-width: 720px) {
  .ledger-table-scroll { height: clamp(280px, 55dvh, 420px); }
  .ledger-pagination {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
    padding: 11px 14px 14px;
  }
  .ledger-pagination nav {
    justify-content: flex-start;
    width: 100%;
  }
}

/* The team scope is a page-level ledger control, so it lives in the sticky
   application header and replaces the generic search only for that view. */
.topbar-ledger-team-filter {
  flex: 0 1 360px;
  justify-content: flex-end;
  margin-left: auto;
  min-width: 0;
}
.topbar-ledger-team-filter select {
  min-width: 190px;
}
.topbar-ledger-team-filter select:focus-visible,
.topbar-ledger-team-filter button:focus-visible {
  border-color: #d4af37;
  box-shadow: 0 0 0 3px rgba(212, 175, 55, .16);
  outline: 0;
}
.topbar.is-ledger-view .search-box {
  display: none;
}

@media (max-width: 720px) {
  .topbar.is-ledger-view { gap: 8px; }
  .topbar-ledger-team-filter {
    display: grid;
    flex: 1 1 auto;
    grid-template-columns: minmax(0, 1fr) auto;
    width: auto;
  }
  .topbar-ledger-team-filter label { display: none; }
  .topbar-ledger-team-filter select {
    min-width: 0;
    width: 100%;
  }
}

/* Team balances is a read-only view of exact API1/API2 team targets.  It has
   its own visual system so it cannot be mistaken for the shared Provider
   Vault wallet. */
.team-balances-workspace {
  display: grid;
  gap: 16px;
  margin-top: 24px;
  scroll-margin-top: 98px;
}
.team-balances-heading {
  align-items: center;
}
.team-balance-safety-note {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: max-content;
  padding: 9px 12px;
  border: 1px solid rgba(16, 185, 129, .2);
  border-radius: 999px;
  background: rgba(16, 185, 129, .08);
  color: #34d399;
  font-size: 10px;
  font-weight: 800;
}
.team-balance-safety-note .ui-icon { width: 14px; height: 14px; }
.team-balance-filter-panel { padding: 15px 18px; }
.team-balance-filter-grid {
  display: grid;
  grid-template-columns: minmax(145px, 1.15fr) minmax(145px, 1.15fr) repeat(3, minmax(120px, .78fr)) auto;
  align-items: end;
  gap: 12px;
}
.team-balance-filter-grid label {
  display: grid;
  min-width: 0;
  gap: 6px;
}
.team-balance-filter-grid label > span {
  color: #9ca3af;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.team-balance-filter-grid select {
  width: 100%;
  min-width: 0;
  height: 42px;
  padding: 0 32px 0 11px;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 9px;
  outline: 0;
  background: #0b0e14;
  color: #f3f4f6;
  font: 700 11px var(--font-sans);
}
.team-balance-filter-grid select:focus {
  border-color: #d4af37;
  box-shadow: 0 0 0 3px rgba(212, 175, 55, .12);
}
.team-balance-reset {
  min-height: 42px;
  padding: 0 13px;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 9px;
  background: #181e29;
  color: #d1d5db;
  cursor: pointer;
  font: 800 10px var(--font-sans);
  white-space: nowrap;
}
.team-balance-reset:hover { border-color: rgba(212, 175, 55, .34); color: #fbbf24; }
.team-balance-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.team-balance-metrics article {
  min-width: 0;
  min-height: 132px;
  padding: 17px 18px;
  border: 1px solid rgba(255, 255, 255, .06);
  border-radius: 15px;
  background: #131822;
  box-shadow: 0 8px 25px rgba(0, 0, 0, .15);
}
.team-balance-metrics span,
.team-balance-metrics strong,
.team-balance-metrics small { display: block; }
.team-balance-metrics span { color: #9ca3af; font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.team-balance-metrics strong { margin-top: 14px; color: #ffffff; font: 850 clamp(22px, 2vw, 31px)/1 var(--font-display); letter-spacing: -.035em; }
.team-balance-metrics strong b { color: #34d399; font: inherit; }
.team-balance-metrics strong b + b { color: #fbbf24; }
.team-balance-metrics small { margin-top: 7px; color: #9ca3af; font-size: 9px; line-height: 1.45; }
.team-balance-summary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.team-balance-summary-panel { overflow: hidden; }
.team-balance-summary-panel > header,
.team-balance-directory-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 15px 18px;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}
.team-balance-summary-panel > header h3,
.team-balance-directory-heading h3 { margin: 3px 0 0; color: #ffffff; font: 800 15px var(--font-display); }
.team-balance-summary-panel > header small,
.team-balance-directory-heading > span { color: #9ca3af; font-size: 9px; font-weight: 700; white-space: nowrap; }
.team-balance-summary-list { display: grid; max-height: 310px; overflow: auto; scrollbar-color: rgba(212, 175, 55, .4) #0b0e14; scrollbar-width: thin; }
.team-balance-summary-list > div:not(.team-balance-summary-empty) {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 58px;
  padding: 11px 18px;
  border-top: 1px solid rgba(255, 255, 255, .05);
}
.team-balance-summary-list > div:first-child { border-top: 0; }
.team-balance-summary-list > div:not(.team-balance-summary-empty):hover { background: #1c2433; }
.team-balance-summary-list > div > div { display: grid; min-width: 0; gap: 4px; }
.team-balance-summary-list strong { color: #f3f4f6; font-size: 11px; font-weight: 800; }
.team-balance-summary-list > div > strong { color: #34d399; text-align: right; white-space: nowrap; }
.team-balance-summary-list small { color: #9ca3af; font-size: 9px; }
.team-balance-summary-empty { padding: 28px 18px; color: #9ca3af; font-size: 10px; text-align: center; }
.team-balance-directory { overflow: hidden; }
.team-balance-table-scroll {
  height: clamp(380px, 61dvh, 680px);
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-color: rgba(212, 175, 55, .45) #0b0e14;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
}
.team-balance-table { width: 100%; min-width: 1100px; border-collapse: collapse; }
.team-balance-table th {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 13px 18px;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  background: #131822;
  color: #9ca3af;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .07em;
  text-align: left;
  text-transform: uppercase;
}
.team-balance-table td {
  max-width: 220px;
  padding: 13px 18px;
  border-top: 1px solid rgba(255, 255, 255, .05);
  color: #d1d5db;
  font-size: 10px;
  vertical-align: middle;
}
.team-balance-table tbody tr:hover { background: #1c2433; }
.team-balance-table td > strong,
.team-balance-table td > small { display: block; }
.team-balance-table td > strong { overflow: hidden; color: #f3f4f6; font-size: 11px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.team-balance-table td > small { margin-top: 4px; color: #9ca3af; font-size: 9px; font-weight: 600; }
.team-balance-table .cluster-badge { display: inline-flex; margin-bottom: 5px; }
.team-balance-table .team-balance-username { color: #e5c158; }
.team-balance-money { color: #34d399 !important; }
.team-balance-money.is-stale { color: #fbbf24 !important; }
.team-balance-missing { color: #6b7280 !important; }
.team-balance-state {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 0 8px;
  border-radius: 999px;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .045em;
  text-transform: uppercase;
  white-space: nowrap;
}
.team-balance-state.is-available { background: rgba(16, 185, 129, .1); color: #34d399; }
.team-balance-state.is-stale { background: rgba(245, 158, 11, .1); color: #fbbf24; }
.team-balance-state.is-unavailable { background: rgba(239, 68, 68, .1); color: #f87171; }
.team-balance-state.is-unknown { background: rgba(107, 114, 128, .16); color: #9ca3af; }
.team-balance-table-empty td { padding: 48px 18px; color: #9ca3af; text-align: center; }
.team-balance-table tr[hidden] { display: none; }

@media (max-width: 1180px) {
  .team-balance-filter-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .team-balance-reset { width: max-content; }
}

@media (max-width: 860px) {
  .team-balance-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .team-balance-summary-grid { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  .team-balances-workspace { margin-top: 14px; scroll-margin-top: 75px; }
  .team-balances-heading { align-items: flex-start; flex-direction: column; }
  .team-balance-filter-panel { padding: 13px; }
  .team-balance-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .team-balance-filter-grid label:last-of-type, .team-balance-reset { grid-column: 1 / -1; width: 100%; }
  .team-balance-metrics { gap: 8px; }
  .team-balance-metrics article { min-height: 106px; padding: 13px; }
  .team-balance-metrics strong { margin-top: 10px; font-size: 20px; }
  .team-balance-summary-panel > header, .team-balance-directory-heading { padding: 13px; }
  .team-balance-summary-list > div:not(.team-balance-summary-empty) { padding-inline: 13px; }
  .team-balance-table-scroll { height: clamp(290px, 52dvh, 430px); }
  .mobile-nav { grid-template-columns: repeat(6, 1fr); }
}
