:root{
  --reach-sidebar-expanded:280px;
  --reach-sidebar-collapsed:80px;
  --reach-sidebar-speed:220ms;
  --reach-sidebar-accent:#1F5E3E;
  --reach-sidebar-light:#FCFBF8;
  --reach-sidebar-dark:#101827;
}

.app-shell{
  grid-template-columns:var(--reach-sidebar-expanded) minmax(0,1fr);
  transition:grid-template-columns var(--reach-sidebar-speed) ease-out;
}

.reach-sidebar{
  position:sticky;
  top:0;
  z-index:40;
  width:100%;
  height:100vh;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:0;
  padding:12px 14px;
  overflow:hidden;
  color:#1E293B;
  background:var(--reach-sidebar-light);
  border-right:1px solid rgba(30,41,59,.08);
  box-shadow:6px 0 22px rgba(30,41,59,.045);
  transition:padding var(--reach-sidebar-speed) ease-out,background-color var(--reach-sidebar-speed) ease-out;
}

.sidebar-brand{
  position:relative;
  flex:0 0 76px;
  min-width:0;
  overflow:hidden;
}

.sidebar-brand-image,
.sidebar-publisher-image{
  position:absolute;
  inset:50% auto auto 50%;
  display:block;
  width:auto;
  height:auto;
  object-fit:contain;
  transform:translate(-50%,-50%);
  transition:opacity 150ms ease-out,transform var(--reach-sidebar-speed) ease-out;
}

.sidebar-brand-horizontal{width:100%;max-height:68px;opacity:1}
.sidebar-brand-compact{width:56px;max-height:56px;opacity:0;transform:translate(-50%,-50%) scale(.88)}
.sidebar-asset-dark{display:none}

.sidebar-collapse-row{
  flex:0 0 32px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  margin-bottom:3px;
}

.sidebar-collapse-control{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(30,41,59,.12);
  border-radius:9px;
  background:transparent;
  color:#52606F;
  font-size:22px;
  line-height:1;
  transition:background-color 150ms ease,color 150ms ease,transform var(--reach-sidebar-speed) ease-out;
}
.sidebar-collapse-control:hover{background:#F0F3EF;color:#1E293B}
.sidebar-collapse-control:focus-visible{outline:3px solid rgba(31,94,62,.28);outline-offset:2px}

.reach-sidebar .nav{
  min-height:0;
  display:flex;
  flex:0 1 auto;
  flex-direction:column;
  gap:4px;
  overflow-x:hidden;
  overflow-y:auto;
  scrollbar-width:thin;
}

/* The authorised menu is resolved before it is revealed. Rather than exposing
   a broad menu and then removing destinations, show a calm branded placeholder
   in the same space while Reach prepares the member's workspace. */
html[data-navigation-access="loading"] .reach-sidebar .nav{
  position:relative;
  flex:0 0 222px;
  overflow:hidden;
  padding:16px;
  border:1px solid rgba(30,41,59,.1);
  border-radius:14px;
  background:linear-gradient(145deg,#F7FAF7,#EFF5F0);
}
html[data-navigation-access="loading"] .reach-sidebar .nav>*{visibility:hidden}
html[data-navigation-access="loading"] .reach-sidebar .nav::before{
  content:'Preparing your workspace';
  position:absolute;
  inset:18px 16px auto;
  color:#52606F;
  font-size:11px;
  font-weight:750;
  letter-spacing:.12em;
  line-height:1;
  text-transform:uppercase;
}
html[data-navigation-access="loading"] .reach-sidebar .nav::after{
  content:'';
  position:absolute;
  inset:48px 16px 16px;
  border-radius:10px;
  background:
    linear-gradient(90deg,transparent 0%,rgba(255,255,255,.72) 48%,transparent 100%) -180% 0/180% 100% no-repeat,
    linear-gradient(#D9E7DB,#D9E7DB) 0 0/68% 12px no-repeat,
    linear-gradient(#E7EFE8,#E7EFE8) 0 34px/92% 12px no-repeat,
    linear-gradient(#E7EFE8,#E7EFE8) 0 68px/76% 12px no-repeat,
    linear-gradient(#E7EFE8,#E7EFE8) 0 102px/88% 12px no-repeat,
    linear-gradient(#E7EFE8,#E7EFE8) 0 136px/58% 12px no-repeat;
  animation:reach-sidebar-loading-shimmer 1.35s ease-in-out infinite;
}
@keyframes reach-sidebar-loading-shimmer{to{background-position:180% 0,0 0,0 34px,0 68px,0 102px,0 136px}}
@media(prefers-reduced-motion:reduce){html[data-navigation-access="loading"] .reach-sidebar .nav::after{animation:none}}

.sidebar-section-label,
.sidebar-footer-label{
  display:flex;
  align-items:center;
  min-height:24px;
  padding:0 14px;
  overflow:hidden;
  color:#85909B;
  font-size:11px;
  font-weight:750;
  letter-spacing:.13em;
  line-height:1;
  text-transform:uppercase;
  white-space:nowrap;
  transition:opacity 120ms ease-out;
}
.sidebar-section-label--management{margin-top:6px;padding-top:6px;border-top:1px solid rgba(30,41,59,.09)}

.reach-sidebar .nav button{
  position:relative;
  flex:0 0 48px;
  width:100%;
  min-height:48px;
  display:grid;
  grid-template-columns:22px minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  padding:0 15px;
  overflow:hidden;
  border:0;
  border-radius:9px;
  background:transparent;
  box-shadow:none;
  color:#344254;
  opacity:1;
  font-size:15px;
  font-weight:560;
  text-align:left;
  white-space:nowrap;
  transition:background-color 150ms ease,color 150ms ease,padding var(--reach-sidebar-speed) ease-out,gap var(--reach-sidebar-speed) ease-out;
}
.reach-sidebar .nav button::before{
  content:'';
  position:absolute;
  left:0;
  top:50%;
  width:4px;
  height:38px;
  border-radius:0 4px 4px 0;
  background:var(--reach-sidebar-accent);
  opacity:0;
  transform:translateY(-50%);
  transition:opacity 150ms ease;
}
.reach-sidebar .nav button::after{display:none!important}
.reach-sidebar .nav button:hover{background:#F1F4F0;color:#1E293B}
.reach-sidebar .nav button.active,
.reach-sidebar .nav button.active:hover{
  background:#EBF1EC;
  box-shadow:none;
  color:#1E293B;
}
.reach-sidebar .nav button.active::before{opacity:1}
.reach-sidebar .nav button:focus-visible{outline:3px solid rgba(31,94,62,.28);outline-offset:-3px}

.sidebar-nav-icon{
  width:22px;
  height:22px;
  display:block;
  flex:0 0 auto;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.sidebar-nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;transition:opacity 120ms ease-out}
.reach-sidebar .message-nav-badge{justify-self:end;min-width:20px;padding:2px 6px;border-radius:999px;background:#1F5E3E;color:#fff;font-size:10px;text-align:center}

.sidebar-spacer{flex:1 1 24px;min-height:14px}

.sidebar-publisher{
  position:relative;
  flex:0 0 76px;
  margin:8px 0 0;
  overflow:hidden;
  padding:0;
  border-top:1px solid rgba(30,41,59,.09);
  border-right:0;
  border-bottom:0;
  border-left:0;
  background:transparent;
  cursor:pointer;
}
.sidebar-publisher-horizontal{width:100%;max-height:70px;opacity:1}
.sidebar-publisher-compact{width:56px;max-height:56px;opacity:0;transform:translate(-50%,-50%) scale(.88)}
.sidebar-publisher:focus-visible{outline:3px solid rgba(31,94,62,.35);outline-offset:3px;border-radius:8px}
.sidebar-publisher-ducks-layer{pointer-events:none;clip-path:inset(0 49% 0 20%);opacity:0}
.sidebar-publisher.is-duck-dance .sidebar-publisher-horizontal.sidebar-publisher-ducks-layer{opacity:1;animation:sidebar-duck-dance 900ms cubic-bezier(.22,.8,.28,1)}
@keyframes sidebar-duck-dance{
  0%,100%{transform:translate(-50%,-50%) rotate(0)}
  15%{transform:translate(calc(-50% - 3px),calc(-50% - 5px)) rotate(-3deg)}
  32%{transform:translate(calc(-50% + 4px),calc(-50% - 9px)) rotate(3deg)}
  50%{transform:translate(calc(-50% - 3px),calc(-50% - 5px)) rotate(-2deg)}
  68%{transform:translate(calc(-50% + 3px),calc(-50% - 7px)) rotate(2deg)}
  84%{transform:translate(calc(-50% - 1px),calc(-50% - 2px)) rotate(-1deg)}
}

.reach-sidebar .sidebar-footer{
  position:relative;
  flex:0 0 auto;
  display:grid;
  gap:6px;
  margin:0;
  padding:10px 0 0!important;
  border:0;
  background:none!important;
}
.reach-sidebar .sidebar-footer::before{display:none!important}
.sidebar-footer-label{min-height:23px;padding-inline:10px}
.reach-sidebar .sidebar-identity{min-width:0;color:#1E293B;opacity:1}
.reach-sidebar .sidebar-account-button{
  width:100%;
  min-width:0;
  min-height:58px;
  grid-template-columns:42px minmax(0,1fr) auto;
  gap:11px;
  padding:8px 9px!important;
  border:0!important;
  border-radius:10px;
  background:transparent!important;
  color:#1E293B!important;
  box-shadow:none;
  transition:background-color 150ms ease,padding var(--reach-sidebar-speed) ease-out;
}
.reach-sidebar .sidebar-account-button:hover{background:#F1F4F0!important}
.reach-sidebar .sidebar-account-button:focus-visible{outline:3px solid rgba(31,94,62,.28);outline-offset:-2px}
.reach-sidebar .sidebar-account-button span strong{font-size:13px}.reach-sidebar .sidebar-account-button span small{color:#76818D;font-size:11px}
.reach-sidebar .sidebar-account-button i{color:#76818D}
.reach-sidebar .sidebar-account-avatar{width:42px;height:42px}
.reach-sidebar #signOutBtn:not(.account-signout-replaced){min-height:42px;border:1px solid rgba(30,41,59,.12);background:transparent;color:#1E293B}

html[data-sidebar="collapsed"] .app-shell{grid-template-columns:var(--reach-sidebar-collapsed) minmax(0,1fr)}
html[data-sidebar="collapsed"] .reach-sidebar{padding-inline:12px}
html[data-sidebar="collapsed"] .sidebar-brand-horizontal{opacity:0;transform:translate(-50%,-50%) scale(.9)}
html[data-sidebar="collapsed"] .sidebar-brand-compact{opacity:1;transform:translate(-50%,-50%) scale(1)}
html[data-sidebar="collapsed"] .sidebar-collapse-row{justify-content:center}
html[data-sidebar="collapsed"] .sidebar-collapse-control{transform:rotate(180deg)}
html[data-sidebar="collapsed"] .sidebar-section-label,
html[data-sidebar="collapsed"] .sidebar-footer-label{padding-inline:0;opacity:0}
html[data-sidebar="collapsed"] .reach-sidebar .nav button{grid-template-columns:22px 0 0;gap:0;padding-inline:17px}
html[data-sidebar="collapsed"] .sidebar-nav-label{width:0;opacity:0}
html[data-sidebar="collapsed"] .reach-sidebar .message-nav-badge{position:absolute;top:7px;right:6px;min-width:16px;padding:1px 4px}
html[data-sidebar="collapsed"] .sidebar-publisher{margin-inline:0}
html[data-sidebar="collapsed"] .sidebar-publisher-horizontal{opacity:0;transform:translate(-50%,-50%) scale(.9)}
html[data-sidebar="collapsed"] .sidebar-publisher-compact{opacity:1;transform:translate(-50%,-50%) scale(1)}
html[data-sidebar="collapsed"] .sidebar-publisher.is-duck-dance .sidebar-publisher-horizontal.sidebar-publisher-ducks-layer{opacity:0}
html[data-sidebar="collapsed"] .sidebar-publisher.is-duck-dance .sidebar-publisher-compact.sidebar-publisher-ducks-layer{opacity:1;clip-path:none;animation:sidebar-duck-dance 900ms cubic-bezier(.22,.8,.28,1)}
html[data-sidebar="collapsed"] .reach-sidebar .sidebar-account-button{width:52px!important;min-width:0!important;grid-template-columns:42px 0 0;gap:0;justify-content:center;padding-inline:5px!important}
html[data-sidebar="collapsed"] .reach-sidebar .sidebar-account-button>span:not(.sidebar-account-avatar),
html[data-sidebar="collapsed"] .reach-sidebar .sidebar-account-button>i{width:0;overflow:hidden;opacity:0}
html[data-sidebar="collapsed"] .reach-sidebar #signOutBtn:not(.account-signout-replaced){width:48px;margin-inline:auto;overflow:hidden;color:transparent}

html[data-theme="dark"] .reach-sidebar{
  color:#FCFBF8;
  background:var(--reach-sidebar-dark);
  border-right-color:rgba(252,251,248,.08);
  box-shadow:6px 0 22px rgba(3,8,18,.16);
}
html[data-theme="dark"] .sidebar-asset-light{display:none}
html[data-theme="dark"] .sidebar-asset-dark{display:block}
html[data-theme="dark"] .sidebar-collapse-control{border-color:rgba(252,251,248,.13);color:#AAB4C0}
html[data-theme="dark"] .sidebar-collapse-control:hover{background:#1B2739;color:#FCFBF8}
html[data-theme="dark"] .sidebar-section-label,
html[data-theme="dark"] .sidebar-footer-label{color:#8390A0}
html[data-theme="dark"] .sidebar-section-label--management{border-top-color:rgba(252,251,248,.09)}
html[data-theme="dark"] .reach-sidebar .nav button{color:#C8D0D9}
html[data-theme="dark"] .reach-sidebar .nav button:hover{background:#182438;color:#FCFBF8}
html[data-theme="dark"] .reach-sidebar .nav button.active,
html[data-theme="dark"] .reach-sidebar .nav button.active:hover{background:#202C40;color:#FCFBF8}
html[data-theme="dark"] .sidebar-publisher{border-top-color:rgba(252,251,248,.09)}
html[data-theme="dark"] .reach-sidebar .sidebar-identity{color:#FCFBF8}
html[data-theme="dark"] .reach-sidebar .sidebar-account-button{color:#FCFBF8!important}
html[data-theme="dark"] .reach-sidebar .sidebar-account-button:hover{background:#182438!important}
html[data-theme="dark"] .reach-sidebar .sidebar-account-button span small,
html[data-theme="dark"] .reach-sidebar .sidebar-account-button i{color:#929DAA}
html[data-theme="dark"] .reach-sidebar #signOutBtn:not(.account-signout-replaced){border-color:rgba(252,251,248,.13);color:#FCFBF8}

@media(max-width:1100px) and (min-width:901px){
  .app-shell{grid-template-columns:var(--reach-sidebar-collapsed) minmax(0,1fr)}
  .reach-sidebar{padding-inline:12px}
  .sidebar-brand-horizontal{opacity:0;transform:translate(-50%,-50%) scale(.9)}
  .sidebar-brand-compact{opacity:1;transform:translate(-50%,-50%) scale(1)}
  .sidebar-collapse-row{justify-content:center}.sidebar-collapse-control{visibility:hidden}
  .sidebar-section-label,.sidebar-footer-label{padding-inline:0;opacity:0}
  .reach-sidebar .nav button{grid-template-columns:22px 0 0;gap:0;padding-inline:17px}
  .sidebar-nav-label{width:0;opacity:0}
  .reach-sidebar .message-nav-badge{position:absolute;top:7px;right:6px;min-width:16px;padding:1px 4px}
  .sidebar-publisher{margin-inline:0}.sidebar-publisher-horizontal{opacity:0}.sidebar-publisher-compact{opacity:1;transform:translate(-50%,-50%) scale(1)}
  .sidebar-publisher.is-duck-dance .sidebar-publisher-horizontal.sidebar-publisher-ducks-layer{opacity:0}
  .sidebar-publisher.is-duck-dance .sidebar-publisher-compact.sidebar-publisher-ducks-layer{opacity:1;clip-path:none;animation:sidebar-duck-dance 900ms cubic-bezier(.22,.8,.28,1)}
  .reach-sidebar .sidebar-account-button{width:52px!important;min-width:0!important;grid-template-columns:42px 0 0;gap:0;justify-content:center;padding-inline:5px!important}
  .reach-sidebar .sidebar-account-button>span:not(.sidebar-account-avatar),.reach-sidebar .sidebar-account-button>i{width:0;overflow:hidden;opacity:0}
}

@media(max-width:900px){
  .app-shell,html[data-sidebar="collapsed"] .app-shell{grid-template-columns:1fr}
  .reach-sidebar,html[data-sidebar="collapsed"] .reach-sidebar{
    position:sticky;
    top:0;
    align-self:start;
    width:100%;
    height:auto;
    min-height:72px;
    display:grid;
    grid-template-columns:52px minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
    padding:9px 13px;
    overflow:visible;
    border-right:0;
    border-bottom:1px solid rgba(30,41,59,.1);
  }
  .sidebar-brand{grid-column:1;grid-row:1;flex:none;height:52px}.sidebar-brand-horizontal{opacity:0}.sidebar-brand-compact{width:46px;opacity:1;transform:translate(-50%,-50%) scale(1)}
  .sidebar-collapse-row,.sidebar-cycle,.sidebar-spacer,.sidebar-publisher,.sidebar-section-label,.sidebar-footer-label{display:none!important}
  .reach-sidebar .nav{grid-column:2;grid-row:1;min-width:0;display:flex;flex-direction:row;gap:3px;overflow-x:auto;overflow-y:hidden}
  .reach-sidebar .nav button,html[data-sidebar="collapsed"] .reach-sidebar .nav button{flex:0 0 50px;width:50px;min-height:50px;grid-template-columns:22px 0 0;gap:0;padding:0 14px}
  .reach-sidebar .nav button::before{left:0;height:34px}
  .sidebar-nav-label{width:0;opacity:0}
  .reach-sidebar .message-nav-badge{position:absolute;top:5px;right:4px;min-width:16px;padding:1px 4px}
  .reach-sidebar .sidebar-footer{grid-column:3;grid-row:1;padding:0!important}
  .reach-sidebar .sidebar-account-button,html[data-sidebar="collapsed"] .reach-sidebar .sidebar-account-button{width:50px!important;min-width:0!important;min-height:50px;grid-template-columns:38px 0 0;gap:0;padding:6px!important}
  .reach-sidebar .sidebar-account-avatar{width:38px;height:38px}
  .reach-sidebar .sidebar-account-button>span:not(.sidebar-account-avatar),.reach-sidebar .sidebar-account-button>i{display:none}
  .reach-sidebar #signOutBtn:not(.account-signout-replaced){display:none}
  .main{padding-top:28px}
}

@media(prefers-reduced-motion:reduce){
  .app-shell,.reach-sidebar,.sidebar-brand-image,.sidebar-publisher-image,.sidebar-collapse-control,.reach-sidebar .nav button,.sidebar-nav-label,.reach-sidebar .sidebar-account-button{transition:none!important}
  .sidebar-publisher.is-duck-dance .sidebar-publisher-ducks-layer{animation:none}
}
