/* Keep teacher navigation readable when the header has limited space. */
.header-enhanced > .container {
  container-type: inline-size;
}

.header-enhanced > .container > div {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem 1.5rem;
}

.header-enhanced > .container > div > div:first-child {
  display: contents;
}

.header-enhanced nav {
  display: flex;
  align-items: center;
  justify-self: center;
  gap: 0.5rem;
  min-width: 0;
}

.header-enhanced .brand-logo,
.header-enhanced .nav-item,
.header-enhanced .nav-dropdown,
.header-enhanced .logo-icon,
.header-enhanced .icon-button,
.header-enhanced .avatar-circle,
.header-enhanced .nav-item svg,
.header-enhanced .user-profile-button > svg,
.header-enhanced > .container > div > div:last-child > * {
  flex-shrink: 0;
}

.header-enhanced .brand-text,
.header-enhanced .nav-item,
.header-enhanced .user-profile-button {
  white-space: nowrap;
}

.header-enhanced .brand-logo {
  width: max-content;
}

.header-enhanced .user-name {
  max-width: 6rem;
  overflow: hidden;
  text-overflow: ellipsis;
}

@container (max-width: 1350px) {
  .header-enhanced > .container > div {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .header-enhanced nav {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-self: start;
    flex-wrap: wrap;
    gap: 0.5rem 0.25rem;
  }

  .header-enhanced > .container > div > div:last-child {
    grid-column: 2;
    grid-row: 1;
  }

  .header-enhanced .nav-item.active::after {
    bottom: -4px;
  }
}

@media (max-width: 768px) {
  #app .header-enhanced {
    padding-left: 0;
    padding-right: 0;
  }
}

@media (max-width: 640px) {
  .header-enhanced > .container {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }

  .header-enhanced > .container > div,
  .header-enhanced > .container > div > div:last-child {
    gap: 0.25rem;
  }

  #app .header-enhanced .brand-text h1 {
    font-size: 0.875rem;
  }

  #app .header-enhanced .icon-button,
  #app .header-enhanced .avatar-circle {
    width: 2rem;
    height: 2rem;
  }

  #app .header-enhanced .user-profile-button {
    gap: 0.25rem;
    padding: 0.25rem;
  }

  #app .header-enhanced .nav-item {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
}
