:root{
  --n100-nav-green:#065540;
  --n100-nav-green-deep:#043d31;
  --n100-nav-gold:#c89a3b;
  --n100-nav-gold-name:#cda03f;
  --n100-nav-ink:#153f34;
}

/* Final student shell geometry is already present in source HTML before first paint. */
.shell:has(> .rail > .nav[data-nav-context="student"]){
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-areas:"content"!important;
  direction:rtl!important;
}
.shell > .rail:has(> .nav[data-nav-context="student"]){
  display:none!important;
  position:absolute!important;
  inline-size:0!important;
  block-size:0!important;
  min-inline-size:0!important;
  min-block-size:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
.shell:has(.n100-top-nav[data-student-top-nav-mount]) .student-mobile-head{display:none!important}
.shell:has(> .rail > .nav[data-nav-context="student"]) #studentPill{display:none!important}
.shell:has(> .rail > .nav[data-nav-context="student"]) > .content{grid-area:content;min-width:0;width:100%;max-width:none}

/* The identity row and navigation share the same four-column geometry. */
.n100-student-identity-row{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:stretch;
  gap:6px;
  width:100%;
  min-width:0;
  margin:14px 0 0;
  padding:6px;
  border:1px solid transparent;
  box-sizing:border-box;
  direction:rtl;
}
.n100-student-identity-block,
.n100-student-points-block{
  position:relative;
  min-width:0;
  height:52px;
  min-height:52px;
  padding:8px 16px;
  border:1px solid rgba(203,166,75,.78);
  border-radius:13px;
  background:linear-gradient(145deg,var(--n100-nav-green),var(--n100-nav-green-deep));
  color:#fffbea;
  box-shadow:0 8px 18px rgba(4,61,49,.13);
  box-sizing:border-box;
  overflow:hidden;
}
.n100-student-identity-block{
  grid-column:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.n100-student-identity-block::after{
  content:"";
  position:absolute;
  inset-inline:18%;
  bottom:5px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,var(--n100-nav-gold),transparent);
}
.n100-student-identity-name{
  display:block;
  min-width:0;
  overflow:hidden;
  color:var(--n100-nav-gold-name);
  font-size:clamp(18px,1.15vw,21px);
  font-weight:900;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.n100-student-identity-meta{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  color:rgba(255,253,247,.82);
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}
.n100-student-identity-meta [data-student-identity-badge-slot]:empty{display:none}
.n100-student-identity-meta .student-contributor-badge{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  max-width:none;
  padding:0;
  border:0;
  border-radius:50%;
  background:#2097e7;
  color:#fff;
  box-shadow:none;
  filter:none;
  overflow:visible;
}
.n100-student-identity-meta .student-contributor-badge > span{
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  color:#fff!important;
  font-family:Arial,"Segoe UI Symbol",sans-serif!important;
  font-size:18px!important;
  font-weight:900!important;
  line-height:1!important;
  transform:none!important;
}
.n100-student-points-block{
  grid-column:4;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}
.n100-student-points-content{
  display:inline-flex;
  min-width:0;
  align-items:center;
  justify-content:center;
  gap:6px;
  direction:rtl;
  white-space:nowrap;
}
.n100-student-points-label{color:rgba(255,253,247,.82);font-size:12px;font-weight:800}
.n100-student-points-block strong{display:inline-flex;align-items:center;gap:5px;color:var(--n100-nav-gold-name);font-size:18px;font-weight:900;direction:rtl}
.n100-student-points-gem{font-size:17px;line-height:1}

.n100-top-nav{
  position:relative!important;
  inset:auto!important;
  z-index:70!important;
  display:block!important;
  width:100%!important;
  min-height:66px;
  max-width:none!important;
  margin:8px 0 22px!important;
  padding:6px;
  overflow:visible!important;
  border:1px solid rgba(177,137,45,.55);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(255,253,247,.98),rgba(247,241,222,.98));
  box-shadow:0 14px 34px rgba(15,70,55,.12),inset 0 1px rgba(255,255,255,.9);
  color:var(--n100-nav-ink);
  box-sizing:border-box;
}
.n100-top-nav-menu{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:6px}
.n100-top-nav-home,.n100-top-nav-group{position:relative;min-width:0}
.n100-top-nav-home>.n100-top-nav-link,.n100-top-nav-parent{
  position:relative;
  width:100%;
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid transparent;
  border-radius:13px;
  background:transparent;
  color:var(--n100-nav-ink);
  padding:10px 16px;
  font:inherit;
  font-weight:800;
  line-height:1.35;
  text-align:center;
  text-decoration:none;
  cursor:pointer;
  transition:background-color 190ms ease,color 190ms ease,border-color 190ms ease,box-shadow 190ms ease;
}
.n100-top-nav-home>.n100-top-nav-link::after,.n100-top-nav-parent::after{
  content:"";
  position:absolute;
  inset-inline:18%;
  bottom:5px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,var(--n100-nav-gold),transparent);
  opacity:0;
  transform:scaleX(.35);
  transition:opacity 190ms ease,transform 190ms ease;
}
.n100-top-nav-home>.n100-top-nav-link:hover,.n100-top-nav-parent:hover{background:rgba(7,87,68,.07);border-color:rgba(7,87,68,.12)}
.n100-top-nav-home>.n100-top-nav-link:is(.is-active,:focus-visible),.n100-top-nav-parent:is(.is-active,:focus-visible),.n100-top-nav-group.is-open>.n100-top-nav-parent{
  background:linear-gradient(145deg,var(--n100-nav-green),var(--n100-nav-green-deep));
  border-color:rgba(203,166,75,.78);
  color:#fffbea;
  box-shadow:0 8px 18px rgba(4,61,49,.18);
  outline:none;
}
.n100-top-nav-home>.n100-top-nav-link.is-active::after,.n100-top-nav-parent.is-active::after,.n100-top-nav-group.is-open>.n100-top-nav-parent::after{opacity:1;transform:scaleX(1)}
.n100-top-nav-caret{font-size:15px;color:var(--n100-nav-gold);transition:transform 190ms ease}
.n100-top-nav-group.is-open .n100-top-nav-caret{transform:rotate(180deg)}
.n100-top-nav-panel{
  position:absolute;
  inset-inline:0;
  top:calc(100% - 1px);
  z-index:100;
  min-width:100%;
  padding:9px;
  border:1px solid rgba(177,137,45,.55);
  border-radius:0 0 15px 15px;
  background:rgba(255,253,247,.99);
  box-shadow:0 20px 40px rgba(4,46,37,.2);
}
.n100-top-nav-panel[hidden]{display:none!important}
.n100-top-nav-panel .n100-top-nav-link,.n100-top-nav-logout{
  width:100%;
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent;
  color:var(--n100-nav-ink);
  padding:10px 13px;
  font:inherit;
  font-weight:750;
  text-align:right;
  text-decoration:none;
  cursor:pointer;
  box-sizing:border-box;
  transition:background-color 180ms ease,border-color 180ms ease,color 180ms ease;
}
.n100-top-nav-panel .n100-top-nav-link:hover,.n100-top-nav-panel .n100-top-nav-link:focus-visible,.n100-top-nav-logout:hover,.n100-top-nav-logout:focus-visible{background:#f5ecd2;border-color:rgba(177,137,45,.34);color:#043d31;outline:none}
.n100-top-nav-panel .n100-top-nav-link.is-active{background:#e7f2ec;color:#054b3b;font-weight:900}
.n100-top-nav-separator{height:1px;margin:7px 5px;background:linear-gradient(90deg,transparent,rgba(177,137,45,.55),transparent)}
.n100-top-nav-logout{color:#714b20}
.n100-top-nav-menu-toggle{display:none}
.n100-top-nav .nav-unread-badge{display:inline-grid;min-width:20px;height:20px;place-items:center;border-radius:999px;background:var(--n100-nav-gold);color:#173c31;font-size:11px;font-style:normal;font-weight:900}

@media(max-width:980px) and (min-width:768px){
  .n100-student-identity-name{font-size:18px}
  .n100-student-identity-meta{font-size:11px}
  .n100-student-identity-block,.n100-student-points-block{padding-inline:11px}
  .n100-student-points-label{font-size:11px}
  .n100-student-points-block strong{font-size:17px}
  .n100-top-nav-home>.n100-top-nav-link,.n100-top-nav-parent{min-height:50px;padding-inline:10px;font-size:13px}
  .n100-top-nav-panel{font-size:13px}
}

@media(max-width:767px){
  .n100-student-identity-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin:10px 0 0;padding:0;border:0}
  .n100-student-identity-block{grid-column:1;height:52px;min-height:52px;padding:8px 10px;gap:7px}
  .n100-student-points-block{grid-column:2;height:52px;min-height:52px;padding:8px 10px}
  .n100-student-identity-name{font-size:18px}
  .n100-student-identity-meta{gap:5px;font-size:11px}
  .n100-student-identity-meta .student-contributor-badge{width:25px;height:25px}
  .n100-student-identity-meta .student-contributor-badge > span{font-size:16px!important}
  .n100-student-points-content{gap:4px}
  .n100-student-points-label{font-size:11px}
  .n100-student-points-block strong{font-size:17px}
  .n100-top-nav{position:relative!important;top:auto!important;min-height:60px;margin:6px 0 18px!important;padding:6px;border-radius:16px}
  .n100-top-nav-menu-toggle{width:100%;min-height:48px;display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(203,166,75,.7);border-radius:12px;background:linear-gradient(145deg,var(--n100-nav-green),var(--n100-nav-green-deep));color:#fffbea;padding:10px 15px;font:inherit;font-weight:850;cursor:pointer}
  .n100-top-nav-menu{display:none;grid-template-columns:1fr;gap:5px;padding-top:6px}
  .n100-top-nav.is-menu-open .n100-top-nav-menu{display:grid}
  .n100-top-nav-home>.n100-top-nav-link,.n100-top-nav-parent{min-height:46px;justify-content:space-between;padding:9px 13px;text-align:right}
  .n100-top-nav-home>.n100-top-nav-link::after,.n100-top-nav-parent::after{display:none}
  .n100-top-nav-panel{position:static;min-width:0;margin-top:4px;border-radius:12px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}
  .n100-top-nav-panel .n100-top-nav-link,.n100-top-nav-logout{min-height:46px}

  /* Mobile contrast contract: the accordion stays structurally unchanged. */
  .n100-top-nav{
    background:linear-gradient(145deg,var(--n100-nav-green),var(--n100-nav-green-deep));
    color:#fffbea;
  }
  .n100-top-nav.is-menu-open{padding-bottom:max(6px,env(safe-area-inset-bottom))}
  .n100-top-nav-home>.n100-top-nav-link,
  .n100-top-nav-parent{
    border-color:rgba(203,166,75,.48);
    background:rgba(255,255,255,.035);
    color:#fffbea;
  }
  .n100-top-nav-home>.n100-top-nav-link:hover,
  .n100-top-nav-home>.n100-top-nav-link:focus-visible,
  .n100-top-nav-parent:hover,
  .n100-top-nav-parent:focus-visible{
    border-color:rgba(225,194,112,.82);
    background:rgba(255,255,255,.09);
    color:#fff;
    outline:2px solid rgba(225,194,112,.35);
    outline-offset:1px;
  }
  .n100-top-nav-panel{
    display:grid;
    gap:4px;
    height:auto;
    min-height:0;
    padding:6px;
    border-color:rgba(203,166,75,.55);
    background:#fffdf7;
    color:#063f33;
    box-shadow:inset 0 0 0 1px rgba(203,166,75,.12);
  }
  .n100-top-nav-panel[hidden]{display:none!important}
  .n100-top-nav-panel .n100-top-nav-link,
  .n100-top-nav-logout{
    min-height:42px;
    padding:8px 12px;
    background:transparent;
    color:#063f33!important;
    opacity:1;
  }
  .n100-top-nav-panel .n100-top-nav-link:hover,
  .n100-top-nav-panel .n100-top-nav-link:focus-visible,
  .n100-top-nav-logout:hover,
  .n100-top-nav-logout:focus-visible{
    border-color:rgba(177,137,45,.38);
    background:#f5ecd2;
    color:#043d31!important;
    outline:2px solid rgba(177,137,45,.25);
    outline-offset:1px;
  }
  .n100-top-nav-panel .n100-top-nav-link.is-active{
    border-color:rgba(7,87,68,.2);
    background:#e7f2ec;
    color:#054b3b!important;
    opacity:1;
  }
  .n100-top-nav-separator{margin:4px 5px}
  .n100-top-nav-logout{color:#714b20!important}
}

@media(max-width:520px){
  .n100-student-identity-row{gap:6px}
  .n100-student-identity-block,.n100-student-points-block{padding-inline:8px}
  .n100-student-identity-name{font-size:16px}
  .n100-student-identity-meta>span:first-child{display:none}
  .n100-student-points-label{font-size:10px}
  .n100-student-points-block strong{font-size:15px}
}

@media(prefers-reduced-motion:reduce){.n100-top-nav *{transition:none!important}}

/* The professional title remains visible on small screens without changing student identities. */
@media(max-width:520px){
  .n100-student-identity-block.has-trainer-accreditation{flex-direction:column;align-items:stretch;justify-content:center;gap:2px;padding-block:6px}
  .has-trainer-accreditation .n100-student-identity-meta{justify-content:flex-start;font-size:11px}
  .has-trainer-accreditation .n100-student-identity-meta>span:first-child{display:inline}
  .has-trainer-accreditation .n100-student-identity-meta .student-contributor-badge{width:18px;height:18px}
  .has-trainer-accreditation .n100-student-identity-meta .student-contributor-badge>span{font-size:12px!important}
}
