/* The SVG and rail share one progress value, including on interrupted closes. */
@media (min-width: 801px) {
  .shell {
    grid-template-columns: var(--sidebar-width, 72px) minmax(0, 1fr);
    transition: grid-template-columns 220ms ease;
  }
  .shell.sidebar-expanded {
    grid-template-columns: var(--sidebar-width, 238px) minmax(0, 1fr);
  }
  .shell.has-sidebar-logo { transition: none; }
  .shell > .sidebar, .shell.sidebar-expanded > .sidebar {
    min-width: 0;
    padding: 24px 12px;
    border-right: 0;
    box-shadow: inset -1px 0 var(--rule, #e3e9e6);
    overflow: hidden;
    transition: none;
  }
  .shell > .sidebar > .brand {
    position: relative;
    display: block;
    flex: 0 0 58px;
    width: 100%;
    height: 58px;
    padding: 0;
    gap: 0;
    overflow: hidden;
  }
  .sidebar .sidebar-logo {
    position: absolute;
    inset: 0 auto auto 0;
    display: block;
    width: 214px;
    height: 58px;
    pointer-events: none;
  }
  .sidebar .sidebar-logo > svg {
    display: block;
    width: 214px;
    height: 58px;
    max-width: none;
    overflow: visible;
  }
  .sidebar .sidebar-logo-fallback {
    position: absolute;
    top: 9px;
    left: 4px;
    width: 40px;
    height: 40px;
    margin: 0;
  }
  .shell > .sidebar .nav { width: 100%; min-width: 0; }
  .shell > .sidebar .nav > button {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    align-items: center;
    justify-content: initial;
    gap: 0;
    width: 100%;
    min-width: 0;
    min-height: 48px;
    padding: 0;
    border: 0;
    overflow: hidden;
  }
  .shell > .sidebar .nav > button > svg {
    grid-column: 1;
    grid-row: 1;
    justify-self: center;
    width: 20px;
    height: 20px;
    margin: 0;
  }
  .shell > .sidebar .nav > button > .nav-label {
    grid-column: 2;
    grid-row: 1;
    display: block;
    min-width: 0;
    max-width: none;
    padding: 0 12px 0 4px;
    overflow: hidden;
    white-space: nowrap;
    text-align: left;
    opacity: var(--sidebar-label-opacity, 0);
    visibility: hidden;
    transition: none;
  }
  .shell.has-sidebar-logo > .sidebar .nav > button > .nav-label {
    visibility: visible;
  }
  .shell.sidebar-expanded > .sidebar .nav > button > .nav-label {
    opacity: var(--sidebar-label-opacity, 1);
    visibility: visible;
  }
}
@media (min-width: 801px) and (prefers-reduced-motion: reduce) {
  .shell { transition: none; }
}
@media (max-width: 800px) {
  .sidebar > .brand {
    justify-content: center;
    height: 44px;
    padding: 0;
  }
  .sidebar .sidebar-logo {
    display: block;
    position: relative;
    width: 160.5px;
    height: 43.5px;
    pointer-events: none;
  }
  .sidebar .sidebar-logo > svg {
    transform: scale(.75);
    transform-origin: left top;
  }
}
