/*
 * Page layout styles
 */

@layer components {
  /* Main container */
  .page-container {
    max-inline-size: var(--max-width-5xl);
    margin-inline: auto;
    padding: var(--space-8) var(--space-6);
  }

  .page-container-narrow {
    max-inline-size: var(--max-width-3xl);
  }

  .page-container-wide {
    max-inline-size: var(--max-width-6xl);
  }

  /* Page header - Premium feel */
  .page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-6);
    margin-block-end: var(--space-8);
    flex-wrap: wrap;
  }

  .page-header-content {
    flex: 1;
    min-width: 0;
  }

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

  .page-breadcrumb {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-block-end: var(--space-2);
    font-size: var(--text-sm);
  }

  .breadcrumb-link {
    color: var(--color-ink-muted);
    text-decoration: none;

    &:hover {
      color: var(--color-ink);
      text-decoration: none;
    }
  }

  .breadcrumb-separator {
    color: var(--color-ink-subtle);
  }

  .breadcrumb-current {
    color: var(--color-ink-muted);
  }

  .page-title {
    margin: 0;
    font-size: var(--text-3xl);
    font-weight: var(--font-bold);
    letter-spacing: -0.02em;
    line-height: 1.2;
  }

  .page-subtitle {
    margin: var(--space-1) 0 0;
    font-size: var(--text-sm);
    color: var(--color-ink-muted);
  }

  .page-actions {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    flex-shrink: 0;
  }

  /* Content grid */
  .content-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-6);
    margin-block-start: var(--space-6);
  }

  @media (max-width: 48rem) {
    .content-grid {
      grid-template-columns: 1fr;
    }
  }

  /* Stats row */
  .stats-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: var(--space-4);
  }

  /* Stats grid */
  .stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: var(--space-6);
  }

  .stat {
    text-align: center;
  }

  .stat-value {
    display: block;
    font-size: var(--text-3xl);
    font-weight: var(--font-bold);
    line-height: 1;
    color: var(--color-ink);
  }

  .stat-label {
    display: block;
    margin-block-start: var(--space-1);
    font-size: var(--text-sm);
    color: var(--color-ink-muted);
  }

  /* Code blocks - Premium styling */
  .code-block {
    padding: var(--space-4);
    background-color: light-dark(var(--color-zinc-900), var(--color-zinc-950));
    border-radius: var(--radius-lg);
    overflow-x: auto;
    font-size: var(--text-sm);
    line-height: var(--leading-relaxed);
    border: 1px solid light-dark(var(--color-zinc-800), var(--color-zinc-800));

    & code {
      background: none;
      padding: 0;
      color: light-dark(var(--color-zinc-100), var(--color-zinc-200));
      font-family: var(--font-mono);
    }
  }

  /* Credential display - premium styling */
  .credential-group {
    margin-block-end: var(--space-5);

    &:last-child {
      margin-block-end: 0;
    }
  }

  .credential-label {
    display: block;
    font-size: var(--text-sm);
    font-weight: var(--font-medium);
    color: var(--color-ink);
    margin-block-end: var(--space-2);
  }

  .credential-row {
    display: flex;
    align-items: stretch;
    gap: var(--space-2);
  }

  .credential-value {
    flex: 1;
    padding: var(--space-2_5) var(--space-3);
    background-color: var(--color-surface-muted);
    border: 1px solid var(--color-border-muted);
    border-radius: var(--radius-lg);
    font-family: var(--font-mono);
    font-size: var(--text-sm);
    color: var(--color-ink);
    word-break: break-all;
    line-height: var(--leading-relaxed);
  }

  .credential-secret {
    filter: blur(4px);
    transition: filter var(--duration-normal) var(--ease-out);

    &:hover,
    &:focus {
      filter: none;
    }
  }

  .credential-help {
    margin-block-start: var(--space-2);
    font-size: var(--text-xs);
    color: var(--color-ink-muted);
  }

  .credential-actions {
    margin-block-start: var(--space-5);
    padding-block-start: var(--space-5);
    border-block-start: 1px solid var(--color-border-muted);
  }

  /* Integration section */
  .integration-section {
    margin-block-end: var(--space-6);

    &:last-child {
      margin-block-end: 0;
    }
  }

  .integration-label {
    display: block;
    font-size: var(--text-sm);
    font-weight: var(--font-medium);
    color: var(--color-ink);
    margin-block-end: var(--space-3);
  }

  /* Legacy API key display - keeping for compatibility */
  .api-key-display {
    display: flex;
    align-items: center;
    gap: var(--space-2);
  }

  .api-key-code {
    flex: 1;
    padding: var(--space-2) var(--space-3);
    background-color: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    font-family: var(--font-mono);
    font-size: var(--text-sm);
    word-break: break-all;
  }

  /* Danger zone */
  .danger-zone {
    padding: var(--space-6);
    background-color: var(--color-negative-canvas);
    border: 1px solid var(--color-negative-border);
    border-radius: var(--radius-lg);

    & h3 {
      margin-block-end: var(--space-2);
    }
  }

  /* Navigation - Premium header */
  .nav-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-6);
    padding: var(--space-3) var(--space-6);
    background-color: var(--color-surface);
    border-block-end: 1px solid var(--color-border-muted);
    position: sticky;
    top: 0;
    z-index: 100;
    backdrop-filter: blur(8px);
    background-color: color-mix(in oklch, var(--color-surface) 85%, transparent);
  }

  .nav-brand {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--text-lg);
    font-weight: var(--font-bold);
    color: var(--color-ink);
    text-decoration: none;
    letter-spacing: -0.02em;

    &:hover {
      color: var(--color-ink);
      text-decoration: none;
    }

    /* Logo mark */
    &::before {
      content: "";
      display: block;
      width: 1.5rem;
      height: 1.5rem;
      background: linear-gradient(135deg, var(--color-primary), var(--color-purple-500));
      border-radius: var(--radius-md);
    }
  }

  .nav-center {
    display: flex;
    align-items: center;
    gap: var(--space-1);
  }

  .nav-links {
    display: flex;
    align-items: center;
    gap: var(--space-2);
  }

  .nav-link {
    display: flex;
    align-items: center;
    gap: var(--space-1_5);
    padding: var(--space-2) var(--space-3);
    color: var(--color-ink-muted);
    text-decoration: none;
    font-size: var(--text-sm);
    font-weight: var(--font-medium);
    border-radius: var(--radius-md);
    transition: 
      color var(--duration-fast) var(--ease-out),
      background-color var(--duration-fast) var(--ease-out);

    &:hover {
      color: var(--color-ink);
      background-color: var(--color-surface-muted);
      text-decoration: none;
    }

    &.active {
      color: var(--color-ink);
      background-color: var(--color-surface-muted);
    }
  }

  .nav-divider {
    width: 1px;
    height: 1.25rem;
    background-color: var(--color-border);
    margin-inline: var(--space-2);
  }

  .nav-user {
    display: flex;
    align-items: center;
    gap: var(--space-3);
  }

  .nav-user-email {
    font-size: var(--text-sm);
    color: var(--color-ink-muted);
    max-width: 12rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  /* Avatar placeholder */
  .avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    background: linear-gradient(135deg, var(--color-zinc-300), var(--color-zinc-400));
    border-radius: var(--radius-full);
    font-size: var(--text-xs);
    font-weight: var(--font-semibold);
    color: white;
    text-transform: uppercase;
  }

  /* Dashboard stats row */
  .stats-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: var(--space-4);
  }

  .stat-card {
    text-align: center;
    padding: var(--space-6);
    background-color: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
  }

  /* Section header */
  .section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-block-end: var(--space-4);

    & h2 {
      margin: 0;
      font-size: var(--text-lg);
    }
  }

  /* List styles */
  .list-divided {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .list-item {
    padding: var(--space-4);
    border-block-end: 1px solid var(--color-border);

    &:last-child {
      border-block-end: none;
    }
  }

  /* Mini stats (for project cards) */
  .mini-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-2);
    text-align: center;
  }

  .mini-stat-value {
    display: block;
    font-size: var(--text-xl);
    font-weight: var(--font-semibold);
    color: var(--color-ink);
  }

  .mini-stat-label {
    display: block;
    font-size: var(--text-xs);
    color: var(--color-ink-muted);
  }

  /* Text link */
  .text-link {
    color: var(--color-link);
    text-decoration: none;

    &:hover {
      text-decoration: underline;
    }
  }
}
