.dashboard-view {
  width: min(1480px, 100%);
  margin: 0 auto;
  padding: 20px 0 56px;
  color: var(--text, #eee5d5);
}
.dashboard-view.is-guest { padding-top: 16px; }
.dashboard-view.is-guest > .overview-content { width: 100%; padding-top: 10px; }
.dashboard-guest-callout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 8px;
  padding: 12px 16px;
  border: 1px solid #514b3f;
  border-left: 3px solid #c99d45;
  border-radius: 6px;
  background: #171817;
}
.dashboard-guest-callout > div { display: grid; gap: 3px; }
.dashboard-guest-callout strong { color: #f1d38b; font-size: 15px; }
.dashboard-guest-callout span { color: #aca393; font-size: 13px; }
.dashboard-profile-header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  padding: 12px 0 20px;
  border-bottom: 1px solid #474238;
}
.dashboard-profile-copy h2 {
  margin: 4px 0 3px;
  color: #f0d18a;
  font: 600 34px/1.15 serif;
}
.dashboard-profile-identity { margin: 0; color: #b8ad9d; }
.dashboard-profile-controls { display: flex; align-items: center; gap: 8px; }
.dashboard-profile-select,
.dashboard-command {
  min-height: 38px;
  padding: 7px 11px;
  border: 1px solid #5d5546;
  border-radius: 5px;
  background: #171817;
  color: #e9dec9;
  font: inherit;
}
.dashboard-command { cursor: pointer; }
.dashboard-command:hover { border-color: #b9904a; background: #242018; }
.dashboard-command:disabled { cursor: default; opacity: .55; }
.dashboard-command.is-primary { border-color: #a87d36; background: #33250f; color: #f0cf82; }
.dashboard-command.dashboard-player-link {
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #c9dbea;
  text-align: left;
}
.dashboard-data-status {
  display: grid;
  grid-template-columns: 1.5fr repeat(3, minmax(110px, .6fr));
  margin: 0;
  border-bottom: 1px solid #403c34;
}
.dashboard-data-status > div { min-width: 0; padding: 13px 16px; border-right: 1px solid #35342f; }
.dashboard-data-status > div:first-child { padding-left: 0; }
.dashboard-data-status > div:last-child { border-right: 0; }
.dashboard-data-status dt { color: #948b7f; font-size: 11px; font-weight: 700; }
.dashboard-data-status dd { margin: 3px 0 0; color: #e6d7ba; font-size: 16px; font-weight: 700; }
.dashboard-filter-label { margin: 12px 0 18px; color: #958c7e; font-size: 12px; }
.dashboard-metric-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid #454139;
  border-radius: 6px;
  background: #141615;
}
.dashboard-metric { display: grid; gap: 4px; min-width: 0; padding: 16px 18px; border-right: 1px solid #3c3b36; }
.dashboard-metric:last-child { border-right: 0; }
.dashboard-metric > span { color: #999083; font-size: 12px; }
.dashboard-metric > strong { overflow: hidden; color: #f0ce7e; font-size: 24px; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-metric > small { color: #b2a99b; }
.dashboard-primary-grid,
.dashboard-secondary-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(430px, .75fr); gap: 28px; margin-top: 30px; }
.dashboard-secondary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dashboard-panel { min-width: 0; }
.dashboard-panel-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding-bottom: 10px; border-bottom: 1px solid #4a4439; }
.dashboard-panel-heading h3 { margin: 0; color: #ead39e; font: 600 24px/1.2 serif; }
.dashboard-panel-heading span { color: #918a80; font-size: 12px; }
.dashboard-battle-list,
.dashboard-primary-decks,
.dashboard-compact-list { display: grid; }
.dashboard-battle-row {
  display: grid;
  grid-template-columns: 54px minmax(170px, 1fr) minmax(150px, .75fr) 120px;
  align-items: center;
  gap: 12px;
  min-height: 58px;
  border-bottom: 1px solid #33332f;
}
.dashboard-outcome { font-size: 13px; }
.dashboard-outcome.is-win { color: #66c47e; }
.dashboard-outcome.is-loss { color: #de817a; }
.dashboard-outcome.is-draw { color: #d4b365; }
.dashboard-battle-matchup { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 8px; }
.dashboard-battle-matchup span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-matchup-arrow { color: #8e8579; }
.dashboard-battle-row time { color: #8f887d; font-size: 11px; text-align: right; }
.dashboard-deck-card { padding: 14px 0; border-bottom: 1px solid #37352f; }
.dashboard-deck-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; }
.dashboard-deck-heading > div { display: flex; align-items: baseline; gap: 8px; }
.dashboard-deck-heading strong { color: #f0ce7d; font: 600 21px/1.2 serif; }
.dashboard-deck-heading span { color: #aaa193; font-size: 12px; }
.dashboard-deck-heading b { color: #6bc282; font-size: 13px; }
.dashboard-deck-heroes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 12px 0; }
.dashboard-deck-hero { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 3px 8px; min-width: 0; }
.dashboard-deck-hero > img,
.dashboard-deck-hero > .portrait-fallback { grid-row: 1 / 3; width: 42px; height: 54px; object-fit: cover; border: 1px solid #6b5938; }
.dashboard-deck-hero > span { overflow: hidden; color: #e6dfd2; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-tactic-row { display: flex; min-width: 0; gap: 4px; }
.dashboard-tactic-token { display: flex; align-items: center; min-width: 0; gap: 3px; }
.dashboard-tactic-token img,
.dashboard-tactic-token .tactic-icon-fallback { flex: 0 0 18px; width: 18px; height: 18px; object-fit: cover; }
.dashboard-tactic-token small { overflow: hidden; color: #9d9589; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-deck-card > .dashboard-command { width: 100%; min-height: 32px; }
.dashboard-compact-row { display: grid; grid-template-columns: minmax(120px, 1fr) minmax(120px, .8fr) auto; align-items: center; gap: 12px; min-height: 49px; border-bottom: 1px solid #33332f; }
.dashboard-compact-row > span { color: #aaa194; }
.dashboard-compact-row > b { color: #e2d3b8; font-size: 12px; text-align: right; }
.dashboard-empty,
.dashboard-view > .personal-profile-editor { margin-top: 18px; }
.dashboard-empty { padding: 28px 0; border-bottom: 1px solid #474238; }
.dashboard-empty h3 { margin: 0 0 7px; color: #e9d19c; }
.dashboard-empty p,
.dashboard-empty-copy { color: #9f978b; }
@media (max-width: 1100px) {
  .dashboard-primary-grid { grid-template-columns: minmax(0, 1fr); }
  .dashboard-metric-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-metric:nth-child(2) { border-right: 0; }
  .dashboard-metric:nth-child(-n+2) { border-bottom: 1px solid #3c3b36; }
}
@media (max-width: 700px) {
  .dashboard-view { padding-top: 8px; }
  .dashboard-guest-callout,
  .dashboard-profile-header { align-items: stretch; flex-direction: column; }
  .dashboard-profile-controls { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; }
  .dashboard-data-status { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dashboard-data-status > div:first-child { grid-column: 1 / -1; padding-left: 0; border-right: 0; border-bottom: 1px solid #35342f; }
  .dashboard-data-status > div { padding: 10px 8px; }
  .dashboard-metric-strip { grid-template-columns: minmax(0, 1fr); }
  .dashboard-metric { border-right: 0; border-bottom: 1px solid #3c3b36; }
  .dashboard-metric:last-child { border-bottom: 0; }
  .dashboard-primary-grid,
  .dashboard-secondary-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .dashboard-battle-row { grid-template-columns: 46px minmax(0, 1fr) auto; gap: 8px; padding: 10px 0; }
  .dashboard-battle-row .dashboard-player-link { grid-column: 2; }
  .dashboard-battle-row time { grid-column: 3; grid-row: 2; }
  .dashboard-deck-heroes { gap: 6px; }
  .dashboard-deck-hero { grid-template-columns: 34px minmax(0, 1fr); }
  .dashboard-deck-hero > img,
  .dashboard-deck-hero > .portrait-fallback { width: 34px; height: 44px; }
  .dashboard-tactic-token small { display: none; }
}
.dashboard-period-control { display: flex; align-items: center; gap: 6px; margin: 12px 0 0; }
.dashboard-period-control > span { margin-right: 4px; color: var(--text-muted); font-size: .75rem; font-weight: 700; }
.dashboard-period-control .dashboard-command { min-height: 32px; padding: 4px 11px; }
.dashboard-period-control .dashboard-command.is-active { border-color: var(--brand); background: var(--brand-subtle); color: var(--brand-soft); }
.dashboard-momentum-panel { margin-top: 30px; }
.dashboard-momentum-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; }
.dashboard-momentum-row { display: grid; grid-template-columns: minmax(80px, .6fr) minmax(130px, 1fr) auto 54px 58px; gap: 10px; align-items: center; min-height: 56px; border-bottom: 1px solid var(--line); }
.dashboard-momentum-row > span, .dashboard-momentum-row > small { overflow: hidden; color: var(--text-muted); text-overflow: ellipsis; white-space: nowrap; }
.dashboard-momentum-row > b { color: var(--text-muted); text-align: right; }
.dashboard-momentum-row > b.is-up { color: var(--outcome-win); }
.dashboard-momentum-row > b.is-down { color: var(--outcome-loss); }
.dashboard-momentum-row .dashboard-command { min-height: 30px; padding: 4px 8px; }

@media (max-width: 900px) {
  .dashboard-momentum-list { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .dashboard-period-control { display: grid; grid-template-columns: auto repeat(4, minmax(0, 1fr)); }
  .dashboard-period-control .dashboard-command { padding-inline: 6px; }
  .dashboard-momentum-row { grid-template-columns: minmax(70px, .7fr) minmax(100px, 1fr) 48px 52px; }
  .dashboard-momentum-row > small { display: none; }
}
.dashboard-deck-rates { display: grid; justify-items: end; gap: 3px; text-align: right; }
.dashboard-deck-rates b { color: #74ce8a; }
.dashboard-deck-rates small { color: #d3b46c; font-size: 11px; }
@media (max-width: 560px) {
  .dashboard-deck-rates { justify-items: start; text-align: left; }
}