/* Landing + Dashboard Redesign - Dark Editorial Theme */

:root {
  --lp-bg: #0f0e0c;
  --lp-surface: #191714;
  --lp-border: #2d2a25;
  --lp-text: #f0e8d8;
  --lp-text-muted: #8a8278;
  --lp-accent: #c49a3a;
  --lp-accent-dim: rgba(196, 154, 58, 0.12);
  --lp-font-display: Georgia, serif;
  --lp-font-body: system-ui, -apple-system, sans-serif;

  /* Tab bar color palette */
  --tab-active-bg: #a78725;
  --tab-inactive-bg: #645116;
  --tab-text: #000000;
}

/* Page Layers */
.page-layer {
  position: fixed;
  inset: 0;
  background: var(--lp-bg);
  overflow-y: auto;
  opacity: 0;
  pointer-events: none;
  z-index: 1;
  transition: opacity 0.35s ease;
}

.page-layer.page-active {
  opacity: 1;
  pointer-events: auto;
  z-index: 2;
}

html, body {
  height: 100vh;
  width: 100%;
  margin: 0;
  padding: 0;
}

/* Landing Page */
.lp-nav {
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.25rem 5vw;
  background: rgba(15, 14, 12, 0.85);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--lp-border);
  font-family: var(--lp-font-body);
}

.lp-logo {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-shrink: 0;
}

.lp-logo-mark {
  display: inline-block;
  width: 20px;
  height: 20px;
  background: var(--lp-accent);
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
}

.lp-logo-text {
  font-family: var(--lp-font-display);
  font-size: 1.125rem;
  font-weight: bold;
  color: var(--lp-text);
}

.lp-nav-links {
  display: flex;
  gap: 3rem;
  flex: 1;
  justify-content: center;
}

.lp-nav-link {
  color: var(--lp-text-muted);
  text-decoration: none;
  font-size: 0.875rem;
  font-weight: 500;
  transition: color 0.2s ease;
}

.lp-nav-link:hover {
  color: var(--lp-text);
}

.lp-btn-signin {
  padding: 0.625rem 1.375rem;
  background: transparent;
  border: 1px solid var(--lp-border);
  border-radius: 7px;
  color: var(--lp-text);
  font-family: var(--lp-font-body);
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
  flex-shrink: 0;
}

.lp-btn-signin:hover {
  border-color: var(--lp-accent);
  background: var(--lp-accent-dim);
}

.lp-hero {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem 5vw;
  height: 100vh;
  text-align: center;
  overflow: hidden;
}

.lp-hero-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.lp-hero-canvas canvas {
  display: block;
  width: 100%;
  height: 100%;
}

.lp-hero-content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.lp-headline {
  font-family: var(--lp-font-display);
  font-size: 3.5rem;
  font-weight: bold;
  color: var(--lp-text);
  line-height: 1.05;
  margin: 0 0 1.5rem;
}

.lp-subheadline {
  font-family: var(--lp-font-body);
  font-size: 1.125rem;
  color: var(--lp-text-muted);
  line-height: 1.7;
  max-width: 600px;
  margin: 0 auto 2.5rem;
}

.lp-btn-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.875rem 2rem;
  background: #7E6326;
  color: #030303;
  font-family: var(--lp-font-body);
  font-size: 0.9375rem;
  font-weight: normal;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.lp-btn-cta:hover {
  background: #8a7332;
  transform: translateY(-1px);
}

.lp-btn-cta:disabled {
  background: #7E6326;
  opacity: 1;
  cursor: not-allowed;
}

.lp-btn-cta:disabled:hover {
  background: #7E6326;
  transform: none;
  opacity: 1;
}




/* Responsive */
@media (max-width: 1100px) {
  .lp-hero {
    grid-template-columns: 1fr;
    min-height: auto;
    padding: 4rem 5vw;
  }

  .lp-hero-visual {
    display: none;
  }

  .lp-features-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .lp-testimonials {
    grid-template-columns: 1fr;
  }

  .dash-panels {
    flex-direction: column;
  }

  .dash-panel--left,
  .dash-panel--right {
    flex: none;
    height: 50vh;
  }

  .dash-panel--left {
    border-right: none;
    border-bottom: 1px solid var(--lp-border);
  }

  .overview-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .lp-nav-links {
    display: none;
  }

  .lp-headline {
    font-size: 2.5rem;
  }

  .lp-features-grid {
    grid-template-columns: 1fr;
  }

  .lp-footer {
    flex-direction: column;
    gap: 1rem;
    text-align: center;
  }

  .login-sidebar {
    width: 100vw;
  }

  .overview-grid {
    grid-template-columns: 1fr;
  }
}
