/* layout.css — Header, nav, grid scaffolding */

/* Page container */
.page {
  max-width: 1100px;
  margin: 0 auto;
  padding: var(--space-lg);
}

/* App header */
.app-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  margin-bottom: var(--space-lg);
  padding-bottom: var(--space-md);
  border-bottom: 1px solid var(--border-subtle);
}

.header-brand {
  display: flex;
  align-items: baseline;
  gap: var(--space-sm);
}

.header-brand h1 {
  font-size: 1.4rem;
  font-weight: 700;
}

.header-subtitle {
  font-size: 0.85rem;
  color: var(--text-muted);
}

/* Main navigation */
.main-nav {
  display: flex;
  gap: var(--space-xs);
}

.nav-item {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-sm) var(--space-md);
  border-radius: var(--radius-md);
  color: var(--text-muted);
  font-size: 0.85rem;
  text-decoration: none;
  transition: all var(--transition-fast);
}

.nav-item:hover {
  color: var(--text-main);
  background: var(--accent-soft);
  text-decoration: none;
}

.nav-item.active {
  color: var(--accent);
  background: var(--accent-soft);
}

.nav-icon {
  font-size: 1rem;
}

.nav-label {
  display: none;
}

@media (min-width: 768px) {
  .nav-label {
    display: inline;
  }
}

/* Page header (title + meta info) */
.page-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-md);
  margin-bottom: var(--space-md);
}

/* Meta row for pills/badges */
.meta-row {
  display: flex;
  gap: var(--space-sm);
  flex-wrap: wrap;
  margin-bottom: var(--space-lg);
}

/* Grid system */
.grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-items: flex-start;
}

/* Full-width column (for Do First on desktop) */
.column--primary {
  grid-column: 1 / -1;
}

/* Stack on smaller screens */
@media (max-width: 900px) {
  .grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .column--primary {
    grid-column: auto;
  }
}

/* Two-column layout */
.grid-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-md);
}

@media (max-width: 768px) {
  .grid-2 {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Flex row utility */
.flex-row {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}

.flex-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.flex-wrap {
  flex-wrap: wrap;
}


/* Container */
.container {
  max-width: 1400px;
  margin: 0 auto;
  padding: var(--space-md);
}

/* Header variations */
.header-left {
  display: flex;
  align-items: center;
  gap: var(--space-lg);
}

.header-left h1 {
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}
