.suite-rail {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 40;
  display: flex;
  width: var(--suite-rail, 76px);
  flex-direction: column;
  align-items: stretch;
  background: var(--aat-rail-bg, #292631);
  color: #fff;
}

.suite-mark {
  display: grid;
  height: var(--app-topbar-height, 70px);
  place-items: center;
  color: #fff;
}

.suite-mark .aat-suite-logo {
  --aat-suite-logo-size: var(--suite-mark-size, 42px);
  box-shadow: 0 2px 7px rgb(0 0 0 / 28%);
}

.suite-links {
  display: grid;
  gap: var(--suite-link-gap, 5px);
  padding: var(--suite-links-padding, 8px);
}

.suite-link,
.suite-link:visited {
  display: grid;
  min-height: var(--suite-link-height, 54px);
  padding: 8px 3px;
  place-items: center;
  gap: 3px;
  border-radius: 9px;
  color: #c8c4ce;
  font-size: var(--suite-label-size, 10px);
  font-weight: var(--aat-weight-medium, 500);
  line-height: 1;
  text-align: center;
  text-decoration: none;
}

.suite-link svg {
  width: var(--suite-icon-size, 21px);
  height: var(--suite-icon-size, 21px);
  fill: none;
  stroke: var(--aat-suite-logo-primary, currentColor);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

a.suite-link:hover,
a.suite-link:focus-visible {
  background: var(--aat-rail-bg-hover, #3b3743);
  color: #fff;
  outline: 2px solid var(--suite-focus, #83c7c8);
}

.suite-link.active,
.suite-link.active:visited {
  background: var(--suite-active, var(--app-accent-dark, #245f63));
  color: #fff;
  box-shadow: inset 3px 0 0 var(--suite-active-marker, var(--app-accent, #67c4c6));
}

.suite-link.unavailable {
  color: #8e8995;
  cursor: not-allowed;
}

@media (max-width: 720px) {
  .suite-links {
    gap: 4px;
    padding: 5px;
  }

  .suite-link,
  .suite-link:visited {
    min-height: 49px;
    font-size: 9px;
  }

  .suite-link svg {
    width: 21px;
    height: 21px;
  }
}
