@layer components {
  .dashboard-shell {
    background: var(--color-sand);
    min-block-size: 100dvh;
  }

  .dashboard-shell-topbar {
    align-items: center;
    background: linear-gradient(90deg, var(--color-walnut), var(--color-bark));
    block-size: 40px;
    color: var(--color-sand);
    display: flex;
    inset-block-start: 0;
    inset-inline: 0;
    justify-content: center;
    position: fixed;
    z-index: 100;
  }

  .dashboard-shell-logo {
    font-size: 0.95rem;
    font-weight: 800;
    letter-spacing: 0.2em;
    text-transform: uppercase;
  }

  .dashboard-shell-sidebar {
    background: var(--color-white);
    box-shadow: var(--shadow-sm);
    display: flex;
    flex-direction: column;
    gap: var(--space-2xl);
    inline-size: 280px;
    inset-block: 40px 0;
    inset-inline-start: 0;
    padding: var(--space-3xl) var(--space-xl);
    position: fixed;
  }

  @media (width <= 768px) {
    .dashboard-shell-sidebar {
      inline-size: 220px;
      padding: var(--space-xl) var(--space-md);
    }
  }

  .dashboard-shell-nav {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
  }

  .dashboard-shell-nav-link {
    border-radius: var(--radius-md);
    color: var(--color-bark);
    display: block;
    font-size: 1rem;
    font-weight: 600;
    padding: var(--space-lg) var(--space-xl);
    text-decoration: none;
    transition: background var(--transition-fast), color var(--transition-fast);
  }

  .dashboard-shell-nav-link:hover {
    background: var(--color-bark-05);
  }

  .dashboard-shell-nav-link.is-active {
    background: linear-gradient(135deg, var(--color-walnut), var(--color-bark));
    box-shadow: var(--shadow-sm);
    color: var(--color-sand);
  }

  .dashboard-shell-user {
    align-items: center;
    background: var(--color-bark-05);
    border-radius: var(--radius-md);
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    margin-block-start: auto;
    padding: var(--space-xl);
    text-align: center;
  }

  .dashboard-shell-avatar {
    align-items: center;
    background: linear-gradient(135deg, var(--color-walnut), var(--color-gold));
    block-size: 48px;
    border-radius: 50%;
    color: var(--color-sand);
    display: flex;
    font-size: 1.25rem;
    font-weight: 700;
    inline-size: 48px;
    justify-content: center;
  }

  .dashboard-shell-email {
    color: var(--color-bark-60);
    font-size: 0.8rem;
    max-inline-size: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 100%;
  }

  .dashboard-shell-main {
    margin-block-start: 40px;
    margin-inline-start: 280px;
    padding: var(--space-4xl) var(--space-4xl);
  }

  @media (width <= 768px) {
    .dashboard-shell-main {
      margin-inline-start: 220px;
      padding: var(--space-2xl) var(--space-lg);
    }
  }
}
