:root {
  --mt-bg: #090706;
  --mt-bg-panel: rgba(18, 13, 12, 0.86);
  --mt-bg-card: rgba(25, 18, 16, 0.78);
  --mt-bg-hover: rgba(214, 91, 73, 0.14);
  --mt-bg-active: rgba(214, 91, 73, 0.22);
  --mt-crimson: #d65b49;
  --mt-crimson-strong: #ff765f;
  --mt-gold: #f0bd62;
  --mt-emerald: #49d48a;
  --mt-blue: #65a9ff;
  --mt-text-primary: #f6ebe6;
  --mt-text-secondary: #cdbdb6;
  --mt-text-muted: #8f7f79;
  --mt-border-soft: rgba(255, 224, 204, 0.10);
  --mt-border-accent: rgba(214, 91, 73, 0.46);
  --mt-shadow-panel: 0 18px 48px rgba(0, 0, 0, 0.34), inset 0 1px 0 rgba(255, 238, 220, 0.04);
  --mt-shadow-glow: 0 0 0 1px rgba(214, 91, 73, 0.24), 0 0 28px rgba(214, 91, 73, 0.18);
  --mt-radius-sm: 8px;
  --mt-radius-md: 12px;
  --mt-radius-lg: 18px;
  --mt-radius-pill: 999px;
  --mt-space-1: 4px;
  --mt-space-2: 8px;
  --mt-space-3: 12px;
  --mt-space-4: 16px;
  --mt-space-5: 20px;
  --mt-space-6: 24px;
  --mt-space-8: 32px;
  --mt-transition-fast: 140ms ease;
  --mt-transition: 220ms ease;
}

.mt-panel,
.mt-card,
.mt-hero,
.mt-stat-card,
.mt-empty-state {
  border: 1px solid var(--mt-border-soft);
  color: var(--mt-text-primary);
  background: var(--mt-bg-card);
  box-shadow: var(--mt-shadow-panel);
}

.mt-panel {
  padding: var(--mt-space-6);
  border-radius: var(--mt-radius-lg);
  background:
    radial-gradient(circle at 100% 0%, rgba(214, 91, 73, 0.10), transparent 24rem),
    var(--mt-bg-panel);
}

.mt-card {
  padding: var(--mt-space-4);
  border-radius: var(--mt-radius-md);
  background:
    radial-gradient(circle at 100% 0%, rgba(240, 189, 98, 0.06), transparent 14rem),
    var(--mt-bg-card);
}

.mt-card--interactive {
  cursor: pointer;
  transition:
    transform var(--mt-transition-fast),
    border-color var(--mt-transition-fast),
    background-color var(--mt-transition-fast),
    box-shadow var(--mt-transition-fast);
}

.mt-card--interactive:hover,
.mt-card--interactive:focus-visible {
  border-color: var(--mt-border-accent);
  background-color: var(--mt-bg-hover);
  box-shadow: var(--mt-shadow-panel), var(--mt-shadow-glow);
  transform: translateY(-1px);
}

.mt-hero {
  display: grid;
  gap: var(--mt-space-5);
  padding: var(--mt-space-6);
  border-radius: var(--mt-radius-lg);
  background:
    radial-gradient(circle at 12% 12%, rgba(240, 189, 98, 0.16), transparent 18rem),
    radial-gradient(circle at 100% 0%, rgba(214, 91, 73, 0.16), transparent 22rem),
    linear-gradient(135deg, rgba(35, 24, 21, 0.94), rgba(10, 7, 6, 0.96));
}

.mt-stat-card {
  display: grid;
  gap: var(--mt-space-2);
  min-height: 92px;
  padding: var(--mt-space-4);
  border-radius: var(--mt-radius-md);
}

.mt-stat-card small {
  color: var(--mt-text-muted);
  font-size: 0.76rem;
  font-weight: 800;
  line-height: 1.2;
}

.mt-stat-card strong {
  color: var(--mt-text-primary);
  font-size: clamp(1.05rem, 1.4vw, 1.35rem);
  line-height: 1.1;
}

.mt-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--mt-space-2);
  min-height: 30px;
  padding: 0 var(--mt-space-3);
  border: 1px solid var(--mt-border-soft);
  border-radius: var(--mt-radius-pill);
  color: var(--mt-text-secondary);
  background: rgba(255, 238, 220, 0.05);
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.mt-badge--success {
  border-color: rgba(73, 212, 138, 0.36);
  color: var(--mt-emerald);
  background: rgba(73, 212, 138, 0.10);
}

.mt-badge--warning {
  border-color: rgba(240, 189, 98, 0.38);
  color: var(--mt-gold);
  background: rgba(240, 189, 98, 0.10);
}

.mt-badge--danger {
  border-color: rgba(214, 91, 73, 0.42);
  color: var(--mt-crimson-strong);
  background: rgba(214, 91, 73, 0.12);
}

.mt-tabs,
.mt-sidebar-nav {
  display: flex;
  gap: var(--mt-space-2);
}

.mt-tabs {
  overflow-x: auto;
  padding: var(--mt-space-1);
  scrollbar-width: thin;
}

.mt-tab,
.mt-sidebar-nav-item,
.mt-button {
  min-height: 40px;
  border: 1px solid transparent;
  border-radius: var(--mt-radius-pill);
  color: var(--mt-text-secondary);
  background: transparent;
  font: inherit;
  font-weight: 800;
  transition:
    color var(--mt-transition-fast),
    border-color var(--mt-transition-fast),
    background-color var(--mt-transition-fast),
    box-shadow var(--mt-transition-fast),
    transform var(--mt-transition-fast);
}

.mt-tab,
.mt-sidebar-nav-item {
  display: inline-flex;
  align-items: center;
  gap: var(--mt-space-2);
  padding: 0 var(--mt-space-4);
  white-space: nowrap;
}

.mt-tab:hover,
.mt-sidebar-nav-item:hover,
.mt-button:hover {
  color: var(--mt-text-primary);
  background: var(--mt-bg-hover);
}

.mt-tab.is-active,
.mt-sidebar-nav-item.is-active {
  border-color: var(--mt-border-accent);
  color: var(--mt-text-primary);
  background: var(--mt-bg-active);
  box-shadow: var(--mt-shadow-glow);
}

.mt-sidebar-nav {
  flex-direction: column;
  padding: var(--mt-space-2);
  border: 1px solid var(--mt-border-soft);
  border-radius: var(--mt-radius-lg);
  background: rgba(10, 7, 6, 0.48);
}

.mt-sidebar-nav-item {
  justify-content: flex-start;
  width: 100%;
  border-radius: var(--mt-radius-md);
}

.mt-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--mt-space-2);
  padding: 0 var(--mt-space-5);
  cursor: pointer;
}

.mt-button--primary {
  border-color: rgba(255, 118, 95, 0.48);
  color: var(--mt-text-primary);
  background: linear-gradient(180deg, var(--mt-crimson-strong), #9d3329);
  box-shadow: var(--mt-shadow-glow);
}

.mt-button--primary:hover {
  transform: translateY(-1px);
}

.mt-button--ghost {
  border-color: var(--mt-border-soft);
  background: rgba(255, 238, 220, 0.04);
}

.mt-section-title {
  margin: 0;
  color: var(--mt-text-primary);
  font-size: clamp(1.2rem, 1.8vw, 1.65rem);
  line-height: 1.12;
  letter-spacing: 0;
}

.mt-empty-state {
  display: grid;
  gap: var(--mt-space-3);
  place-items: center;
  min-height: 180px;
  padding: var(--mt-space-6);
  border-radius: var(--mt-radius-lg);
  color: var(--mt-text-secondary);
  text-align: center;
}

.mt-empty-state strong {
  color: var(--mt-text-primary);
  font-size: 1.1rem;
}

.mt-grid {
  display: grid;
  gap: var(--mt-space-4);
  grid-template-columns: minmax(0, 1fr);
}

.mt-grid--2,
.mt-grid--3,
.mt-grid--4 {
  grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 720px) {
  .mt-grid--2,
  .mt-grid--3,
  .mt-grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1080px) {
  .mt-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .mt-grid--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* Account concept layer: applies the UI Kit only to /account. */
.account-page .account-dashboard-content {
  width: min(100%, 1340px);
  margin-inline: auto;
  padding: clamp(var(--mt-space-4), 2.4vw, var(--mt-space-8));
}

.account-page .account-profile-card.panel {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.account-page .account-ui-kit-shell {
  display: grid;
  gap: var(--mt-space-5);
  padding: 0;
}

.account-page .account-ui-profile-hero {
  grid-template-columns: minmax(360px, 0.78fr) minmax(620px, 1fr);
  align-items: center;
  gap: clamp(var(--mt-space-4), 3vw, var(--mt-space-8));
}

.account-page .account-profile-identity {
  display: flex;
  min-width: 0;
  gap: var(--mt-space-5);
  align-items: center;
}

.account-page .account-profile-avatar {
  width: clamp(72px, 7vw, 104px);
  height: clamp(72px, 7vw, 104px);
  flex: 0 0 auto;
  border: 1px solid rgba(240, 189, 98, 0.26);
  border-radius: var(--mt-radius-md);
  background: rgba(8, 6, 5, 0.55);
  box-shadow: var(--mt-shadow-glow);
}

.account-page .account-profile-title {
  min-width: 0;
}

.account-page .account-dashboard-kicker {
  display: block;
  color: var(--mt-gold);
  font-size: 0.78rem;
  font-weight: 900;
  line-height: 1.2;
}

.account-page .account-profile-title h2 {
  margin: var(--mt-space-1) 0 0;
  color: var(--mt-text-primary);
  font-size: clamp(1.8rem, 3vw, 2.65rem);
  line-height: 1;
  letter-spacing: 0;
}

.account-page .account-profile-title p {
  margin: var(--mt-space-2) 0 0;
  color: var(--mt-text-secondary);
  font-size: 1rem;
  line-height: 1.35;
}

.account-page .account-profile-badges {
  display: flex;
  flex-wrap: wrap;
  gap: var(--mt-space-2);
  margin-top: var(--mt-space-4);
}

.account-page .account-hero-mini-stats {
  display: grid;
  gap: var(--mt-space-2);
  grid-template-columns: repeat(6, minmax(88px, 1fr));
  min-width: 0;
}

.account-page .account-hero-mini-stats .account-dashboard-stat {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  place-items: center;
  min-height: 112px;
  padding: var(--mt-space-2);
  border-radius: var(--mt-radius-md);
  text-align: center;
  background:
    radial-gradient(circle at 50% 0%, rgba(240, 189, 98, 0.08), transparent 8rem),
    rgba(10, 7, 6, 0.34);
  box-shadow: inset 0 1px 0 rgba(255, 238, 220, 0.04);
}

.account-page .account-hero-mini-stats .account-dashboard-stat-icon {
  width: 38px;
  height: 38px;
  margin-bottom: var(--mt-space-2);
  color: var(--mt-gold);
  background: transparent;
}

.account-page .account-hero-mini-stats .account-dashboard-stat-copy {
  justify-items: center;
}

.account-page .account-hero-mini-stats .account-dashboard-stat-copy small {
  color: var(--mt-text-secondary);
  font-size: 0.78rem;
  text-transform: none;
}

.account-page .account-hero-mini-stats .account-dashboard-stat-copy strong {
  max-width: 100%;
  font-size: clamp(0.95rem, 1vw, 1.12rem);
  line-height: 1.12;
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
}

.account-page .account-ui-key-stats {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.account-page .account-dashboard-stat {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
}

.account-page .account-dashboard-stat-icon {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: var(--mt-radius-md);
  color: var(--mt-gold);
  background: rgba(240, 189, 98, 0.11);
}

.account-page .account-dashboard-stat-copy {
  display: grid;
  gap: var(--mt-space-1);
  min-width: 0;
}

.account-page .account-dashboard-stat-copy strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.account-page .account-ui-layout {
  display: grid;
  gap: var(--mt-space-5);
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
}

.account-page .account-ui-nav {
  flex-direction: row;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

.account-page .account-section-nav-button {
  flex: 0 0 auto;
  cursor: pointer;
}

.account-page .account-section-nav-icon {
  display: grid;
  width: 20px;
  height: 20px;
  place-items: center;
  color: var(--mt-gold);
}

.account-page .account-section-nav-label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.account-page .account-section-nav-badge {
  display: inline-grid;
  min-width: 22px;
  height: 22px;
  place-items: center;
  padding: 0 var(--mt-space-1);
  border-radius: var(--mt-radius-pill);
  color: var(--mt-text-primary);
  background: var(--mt-crimson);
  font-size: 0.72rem;
  font-weight: 900;
}

.account-page .account-ui-main {
  min-width: 0;
}

.account-page .account-profile-section {
  display: grid;
  gap: var(--mt-space-4);
}

.account-page .account-section-header {
  display: flex;
  gap: var(--mt-space-3);
  align-items: center;
}

.account-page .account-section-header-icon {
  display: grid;
  width: 44px;
  height: 44px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: var(--mt-radius-md);
  color: var(--mt-gold);
  background: rgba(240, 189, 98, 0.10);
}

.account-page .mt-section-header-main {
  display: grid;
  gap: var(--mt-space-1);
  min-width: 0;
}

.account-page .mt-section-description {
  color: var(--mt-text-secondary);
  font-size: 0.9rem;
  line-height: 1.45;
}

.account-page .account-section-grid {
  display: grid;
  gap: var(--mt-space-3);
  grid-template-columns: minmax(0, 1fr);
  margin: 0;
}

.account-page .account-section-grid > div {
  min-height: 86px;
  border: 1px solid var(--mt-border-soft);
  border-radius: var(--mt-radius-md);
  background: rgba(13, 9, 8, 0.38);
  box-shadow: inset 0 1px 0 rgba(255, 238, 220, 0.04);
}

.account-page .account-section-grid dt {
  color: var(--mt-text-muted);
  font-size: 0.76rem;
  font-weight: 900;
  line-height: 1.2;
}

.account-page .account-section-grid dd {
  margin: var(--mt-space-1) 0 0;
  color: var(--mt-text-primary);
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.22;
}

.account-page .account-summary-layout {
  display: grid;
  gap: var(--mt-space-4);
  grid-template-columns: minmax(0, 1fr);
}

.account-page .account-summary-card {
  display: grid;
  gap: var(--mt-space-3);
}

.account-page .account-summary-card header {
  display: flex;
  gap: var(--mt-space-3);
  align-items: center;
}

.account-page .account-summary-card header > span {
  display: grid;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: var(--mt-radius-md);
  color: var(--mt-gold);
  background: rgba(240, 189, 98, 0.10);
}

.account-page .account-summary-card h3 {
  margin: 0;
  color: var(--mt-text-primary);
  font-size: 1rem;
  line-height: 1.2;
}

.account-page .account-summary-card p {
  margin: var(--mt-space-1) 0 0;
  color: var(--mt-text-secondary);
  font-size: 0.88rem;
  line-height: 1.45;
}

.account-page .account-summary-card strong {
  color: var(--mt-text-primary);
  font-size: 1.08rem;
  line-height: 1.2;
}

.account-page .account-summary-card dl {
  display: grid;
  gap: var(--mt-space-2);
  margin: 0;
}

.account-page .account-summary-card dl > div {
  display: flex;
  justify-content: space-between;
  gap: var(--mt-space-3);
  padding-top: var(--mt-space-2);
  border-top: 1px solid var(--mt-border-soft);
}

.account-page .account-summary-card dt {
  color: var(--mt-text-muted);
  font-size: 0.8rem;
}

.account-page .account-summary-card dd {
  margin: 0;
  color: var(--mt-text-primary);
  font-weight: 900;
  text-align: right;
}

.account-page .account-summary-links > div {
  display: flex;
  flex-wrap: wrap;
  gap: var(--mt-space-2);
}

.account-page .account-activity-feed-card {
  align-content: start;
}

.account-page .account-activity-feed {
  display: grid;
  gap: var(--mt-space-2);
}

.account-page .account-activity-feed-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: var(--mt-space-3);
  align-items: center;
  min-width: 0;
  padding: var(--mt-space-3);
  border: 1px solid var(--mt-border-soft);
  border-radius: var(--mt-radius-md);
  background: rgba(10, 7, 6, 0.34);
  box-shadow: inset 0 1px 0 rgba(255, 238, 220, 0.04);
}

.account-page .account-activity-feed-icon {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: var(--mt-radius-md);
  color: var(--mt-gold);
  background: rgba(240, 189, 98, 0.10);
}

.account-page .account-activity-feed-item-towny .account-activity-feed-icon {
  color: var(--mt-gold);
}

.account-page .account-activity-feed-item-caravans .account-activity-feed-icon {
  color: var(--mt-blue);
  background: rgba(101, 169, 255, 0.10);
}

.account-page .account-activity-feed-item-economy .account-activity-feed-icon {
  color: var(--mt-gold);
  background: rgba(240, 189, 98, 0.12);
}

.account-page .account-activity-feed-item-account .account-activity-feed-icon {
  color: var(--mt-emerald);
  background: rgba(73, 212, 138, 0.10);
}

.account-page .account-activity-feed-copy {
  display: grid;
  gap: var(--mt-space-1);
  min-width: 0;
}

.account-page .account-activity-feed-copy strong {
  min-width: 0;
  color: var(--mt-text-primary);
  font-size: 1rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.account-page .account-activity-feed-copy small,
.account-page .account-activity-feed-item time {
  color: var(--mt-text-secondary);
  font-size: 0.86rem;
  line-height: 1.35;
}

.account-page .account-activity-feed-copy small {
  overflow-wrap: anywhere;
}

.account-page .account-activity-feed-item time {
  color: var(--mt-text-muted);
  font-weight: 800;
  white-space: nowrap;
}

.account-page .account-activity-empty {
  min-height: 220px;
  background: rgba(10, 7, 6, 0.28);
}

.account-page .account-activity-empty > span {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: var(--mt-radius-md);
  color: var(--mt-gold);
  background: rgba(240, 189, 98, 0.10);
}

.account-page .account-chip-list,
.account-page .account-permissions-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--mt-space-2);
}

.account-page .account-security-dock,
.account-page .account-recovery-card,
.account-page .account-password-card,
.account-page .account-twofa-card,
.account-page .account-recovery-checklist,
.account-page .account-caravan-card {
  border-color: var(--mt-border-soft);
  border-radius: var(--mt-radius-md);
  background: var(--mt-bg-card);
  box-shadow: var(--mt-shadow-panel);
}

@media (min-width: 760px) {
  .account-page .account-ui-key-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .account-page .account-section-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .account-page .account-summary-layout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .account-page .account-summary-card-large,
  .account-page .account-summary-links {
    grid-column: span 2;
  }
}

@media (min-width: 1120px) {
  .account-page .account-ui-key-stats {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .account-page .account-ui-layout {
    grid-template-columns: 248px minmax(0, 1fr);
  }

  .account-page .account-ui-nav {
    position: sticky;
    top: calc(var(--topbar-height, 64px) + var(--mt-space-5));
    flex-direction: column;
    overflow: visible;
  }

  .account-page .account-section-nav-button {
    width: 100%;
  }

  .account-page .account-section-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1280px) {
  .account-page .account-ui-profile-hero {
    grid-template-columns: minmax(0, 1fr);
  }

  .account-page .account-hero-mini-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .account-page .account-dashboard-content {
    padding: var(--mt-space-3);
  }

  .account-page .account-ui-profile-hero {
    padding: var(--mt-space-4);
  }

  .account-page .account-hero-mini-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--mt-space-2);
  }

  .account-page .account-hero-mini-stats .account-dashboard-stat {
    min-height: 94px;
    padding: var(--mt-space-2);
  }

  .account-page .account-hero-mini-stats .account-dashboard-stat-icon {
    width: 30px;
    height: 30px;
    margin-bottom: var(--mt-space-1);
  }

  .account-page .account-profile-identity {
    align-items: flex-start;
    gap: var(--mt-space-3);
  }

  .account-page .account-profile-avatar {
    width: 64px;
    height: 64px;
  }

  .account-page .account-profile-title h2 {
    font-size: 1.65rem;
  }

  .account-page .account-profile-badges {
    gap: var(--mt-space-1);
  }

  .account-page .account-summary-card dl > div {
    display: grid;
  }

  .account-page .account-summary-card dd {
    text-align: left;
  }

  .account-page .account-activity-feed-item {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
  }

  .account-page .account-activity-feed-item time {
    grid-column: 2;
    white-space: normal;
  }
}
