/**
 * FoodHub247 — User & Affiliate dashboard shared theme
 */
.dashboard-layout {
  padding: var(--gap-xl) 0 calc(var(--gap-xl) + 64px);
  max-width: 100%;
  overflow-x: clip;
}

.dashboard-grid {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: var(--gap-lg);
  align-items: start;
  max-width: 100%;
}

.dashboard-content {
  min-width: 0;
  max-width: 100%;
}

.dashboard-nav-toggle {
  display: none;
}

.dashboard-nav {
  background: var(--bg-soft);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: var(--gap);
  position: sticky;
  top: calc(var(--header-height) + 16px);
}

.dashboard-nav a {
  display: block;
  padding: 12px 14px;
  border-radius: var(--radius);
  font-weight: 500;
  font-size: 0.9rem;
  color: var(--text);
  margin-bottom: 4px;
}

.dashboard-nav a:hover,
.dashboard-nav a.active {
  background: var(--primary);
  color: var(--white);
}

.dashboard-content .fh-card {
  margin-bottom: var(--gap-lg);
}

.fh-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: var(--gap-lg);
  max-width: 100%;
  box-sizing: border-box;
}

.dashboard-stat-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: var(--gap);
  margin-bottom: var(--gap-lg);
}

.dashboard-stat {
  background: var(--bg-soft);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: var(--gap);
  text-align: center;
}

.dashboard-stat strong {
  display: block;
  font-size: 1.35rem;
  color: var(--primary);
  margin-top: 4px;
}

@media (max-width: 900px) {
  .dashboard-layout {
    padding-top: var(--gap);
  }

  .dashboard-layout > .container {
    padding-left: var(--page-padding);
    padding-right: var(--page-padding);
  }

  .dashboard-grid {
    display: flex;
    flex-direction: column;
    gap: var(--gap);
  }

  .dashboard-nav-toggle {
    display: none !important;
  }

  .dashboard-nav {
    order: 0;
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    padding: 10px 12px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    position: sticky;
    top: var(--header-height);
    z-index: 30;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .dashboard-nav::-webkit-scrollbar {
    display: none;
  }

  .dashboard-nav a {
    flex: 0 0 auto;
    white-space: nowrap;
    margin: 0;
    padding: 10px 14px;
    font-size: 0.8125rem;
  }

  .dashboard-content {
    order: 1;
    width: 100%;
  }
}

@media (min-width: 901px) {
  .dashboard-nav-toggle {
    display: none !important;
  }
}
