/* LessonInc tutor sidebar — canonical final layer.
   This file is intentionally loaded last on tutor pages so page-level CSS
   cannot change tutor navigation geometry or visual states. */

body.tutor-dashboard-shell{--tc-tutor-sidebar-width:248px;--tc-tutor-header-height:56px}
body.tutor-modern-active{--tc-tutor-sidebar-width:248px;--tc-tutor-header-height:56px}
body.tc-portal-shell.tc-portal-tutor:not(.tc-portal-public){--tc-tutor-sidebar-width:248px;--tc-tutor-header-height:56px}
body.tutor-dashboard-shell .tutor-sidebar-universal,
body.tutor-modern-active .tutor-sidebar-universal,
body.tc-portal-shell.tc-portal-tutor .tutor-sidebar-universal{
  width:var(--tc-tutor-sidebar-width)!important;
  min-width:var(--tc-tutor-sidebar-width)!important;
  max-width:var(--tc-tutor-sidebar-width)!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  height:100vh!important;
  height:100dvh!important;
  position:fixed!important;
  inset:0 auto 0 0!important;
  z-index:100!important;
  overflow:hidden!important;
  background:#eaf0f8!important;
  border-right:1px solid #d5e0ef!important;
  box-shadow:3px 0 16px rgba(20,48,85,.045)!important;
}

body.tutor-dashboard-shell .main,
body.tutor-modern-active .main{
  margin-left:var(--tc-tutor-sidebar-width)!important;
  width:auto!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
body.tc-portal-shell.tc-portal-tutor:not(.tc-portal-public){margin-left:var(--tc-tutor-sidebar-width)!important}

body.tutor-dashboard-shell .tutor-sidebar-universal .sb-logo,
body.tutor-modern-active .tutor-sidebar-universal .sb-logo,
body.tc-portal-shell.tc-portal-tutor .tutor-sidebar-universal .sb-logo{
  flex:0 0 var(--tc-tutor-header-height,56px)!important;
  height:var(--tc-tutor-header-height,56px)!important;
  min-height:var(--tc-tutor-header-height,56px)!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  background:#fff!important;
  border-bottom:1px solid #dbe4ef!important;
  padding:7px 15px 6px!important;
}
body.tutor-dashboard-shell .tutor-sidebar-universal .sb-brand-stack,
body.tutor-modern-active .tutor-sidebar-universal .sb-brand-stack,
body.tc-portal-shell.tc-portal-tutor .tutor-sidebar-universal .sb-brand-stack{
  width:min(218px,100%)!important;
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  min-width:0!important;
}
body.tutor-dashboard-shell .tutor-sidebar-universal .sb-logo-mark,
body.tutor-modern-active .tutor-sidebar-universal .sb-logo-mark,
body.tc-portal-shell.tc-portal-tutor .tutor-sidebar-universal .sb-logo-mark{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
}
body.tutor-dashboard-shell .tutor-sidebar-universal .sb-brand-tag,
body.tutor-modern-active .tutor-sidebar-universal .sb-brand-tag,
body.tc-portal-shell.tc-portal-tutor .tutor-sidebar-universal .sb-brand-tag{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:0!important;
  box-sizing:border-box!important;
  width:86.37%!important;
  max-width:86.37%!important;
  margin:1px 0 0 13.49%!important;
  padding:0!important;
  color:#edc967!important;
  font-size:9px!important;
  font-weight:750!important;
  line-height:1.15!important;
  letter-spacing:0!important;
  text-transform:none!important;
  white-space:nowrap!important;
}
body.tutor-dashboard-shell .tutor-sidebar-universal .sb-brand-tag>span,
body.tutor-modern-active .tutor-sidebar-universal .sb-brand-tag>span,
body.tc-portal-shell.tc-portal-tutor .tutor-sidebar-universal .sb-brand-tag>span{display:inline-block!important;flex:0 0 auto!important}

body.tutor-dashboard-shell .tutor-sidebar-universal .sb-profile,
body.tutor-modern-active .tutor-sidebar-universal .sb-profile,
body.tc-portal-shell.tc-portal-tutor .tutor-sidebar-universal .sb-profile{
  flex:0 0 auto!important;
  padding:14px 16px 12px!important;
  border-bottom:1px solid #d7e2ef!important;
}
body.tutor-dashboard-shell .tutor-sidebar-universal .sb-av,
body.tutor-modern-active .tutor-sidebar-universal .sb-av,
body.tc-portal-shell.tc-portal-tutor .tutor-sidebar-universal .sb-av{
  width:38px!important;height:38px!important;border-radius:10px!important;
  flex:0 0 auto!important;overflow:hidden!important;
  border:1px solid #d9e3ef!important;
  background:linear-gradient(135deg,#C9A84C,#E8C96A)!important;
  color:#0B1D3A!important;font-size:.95rem!important;font-weight:800!important;
}
body.tutor-dashboard-shell .tutor-sidebar-universal .sb-av>img,
body.tutor-modern-active .tutor-sidebar-universal .sb-av>img,
body.tc-portal-shell.tc-portal-tutor .tutor-sidebar-universal .sb-av>img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center!important;
}
body.tutor-dashboard-shell .tutor-sidebar-universal .sb-name,
body.tutor-modern-active .tutor-sidebar-universal .sb-name,
body.tc-portal-shell.tc-portal-tutor .tutor-sidebar-universal .sb-name{color:#183353!important;font-size:.84rem!important;font-weight:700!important}
body.tutor-dashboard-shell .tutor-sidebar-universal .sb-sub,
body.tutor-modern-active .tutor-sidebar-universal .sb-sub,
body.tc-portal-shell.tc-portal-tutor .tutor-sidebar-universal .sb-sub{color:#627895!important;font-size:.68rem!important}
body.tutor-dashboard-shell .tutor-sidebar-universal .sb-coins,
body.tutor-modern-active .tutor-sidebar-universal .sb-coins,
body.tc-portal-shell.tc-portal-tutor .tutor-sidebar-universal .sb-coins{
  margin-top:10px!important;padding:6px 10px!important;
  background:#fff8e7!important;border:1px solid #ecd9a2!important;border-radius:8px!important;
}
body.tutor-dashboard-shell .tutor-sidebar-universal .sb-coins-val,
body.tutor-modern-active .tutor-sidebar-universal .sb-coins-val,
body.tc-portal-shell.tc-portal-tutor .tutor-sidebar-universal .sb-coins-val{color:#866214!important;font-size:.84rem!important;font-weight:800!important}
body.tutor-dashboard-shell .tutor-sidebar-universal .sb-coins-lbl,
body.tutor-modern-active .tutor-sidebar-universal .sb-coins-lbl,
body.tc-portal-shell.tc-portal-tutor .tutor-sidebar-universal .sb-coins-lbl{color:#806b41!important;font-size:.68rem!important}

body.tutor-dashboard-shell .tutor-sidebar-universal .sb-nav,
body.tutor-modern-active .tutor-sidebar-universal .sb-nav,
body.tc-portal-shell.tc-portal-tutor .tutor-sidebar-universal .sb-nav{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:6px 10px!important;
  scrollbar-width:none!important;
}
body.tutor-dashboard-shell .tutor-sidebar-universal .sb-nav::-webkit-scrollbar,
body.tutor-modern-active .tutor-sidebar-universal .sb-nav::-webkit-scrollbar,
body.tc-portal-shell.tc-portal-tutor .tutor-sidebar-universal .sb-nav::-webkit-scrollbar{display:none!important}
body.tutor-dashboard-shell .tutor-sidebar-universal .nav-section,
body.tutor-modern-active .tutor-sidebar-universal .nav-section,
body.tc-portal-shell.tc-portal-tutor .tutor-sidebar-universal .nav-section{
  padding:10px 10px 4px!important;
  color:#7186a3!important;font-size:.59rem!important;font-weight:800!important;
  letter-spacing:1.2px!important;text-transform:uppercase!important;
}
body.tutor-dashboard-shell .tutor-sidebar-universal .nav-item,
body.tutor-modern-active .tutor-sidebar-universal .nav-item,
body.tc-portal-shell.tc-portal-tutor .tutor-sidebar-universal .nav-item{
  display:flex!important;align-items:center!important;gap:9px!important;
  min-height:0!important;padding:8px 10px!important;margin:0 0 1px!important;
  border-radius:8px!important;text-decoration:none!important;
  color:#405976!important;background:transparent!important;
  font-size:.82rem!important;font-weight:600!important;line-height:1.5!important;
  box-shadow:none!important;
}
body.tutor-dashboard-shell .tutor-sidebar-universal .nav-item:hover,
body.tutor-modern-active .tutor-sidebar-universal .nav-item:hover,
body.tc-portal-shell.tc-portal-tutor .tutor-sidebar-universal .nav-item:hover{
  background:#dae6f5!important;color:#193c67!important;
}
body.tutor-dashboard-shell .tutor-sidebar-universal .nav-item.active,
body.tutor-modern-active .tutor-sidebar-universal .nav-item.active,
body.tc-portal-shell.tc-portal-tutor .tutor-sidebar-universal .nav-item.active{
  background:#fff!important;color:#163c6c!important;
  box-shadow:0 1px 7px rgba(21,51,91,.08)!important;font-weight:750!important;
}
body.tutor-dashboard-shell .tutor-sidebar-universal .nav-item.active::before,
body.tutor-modern-active .tutor-sidebar-universal .nav-item.active::before,
body.tc-portal-shell.tc-portal-tutor .tutor-sidebar-universal .nav-item.active::before{
  content:''!important;position:absolute!important;left:0!important;top:20%!important;bottom:20%!important;
  width:3px!important;background:#C9A84C!important;border-radius:0 2px 2px 0!important;
}
body.tutor-dashboard-shell .tutor-sidebar-universal .nav-icon,
body.tutor-modern-active .tutor-sidebar-universal .nav-icon,
body.tc-portal-shell.tc-portal-tutor .tutor-sidebar-universal .nav-icon{width:18px!important;flex:0 0 18px!important;text-align:center!important;font-size:.88rem!important}
body.tutor-dashboard-shell .tutor-sidebar-universal .nav-label,
body.tutor-modern-active .tutor-sidebar-universal .nav-label,
body.tc-portal-shell.tc-portal-tutor .tutor-sidebar-universal .nav-label{flex:1 1 auto!important;min-width:0!important}
body.tutor-dashboard-shell .tutor-sidebar-universal .nav-divider,
body.tutor-modern-active .tutor-sidebar-universal .nav-divider,
body.tc-portal-shell.tc-portal-tutor .tutor-sidebar-universal .nav-divider{height:1px!important;background:#d6e1ef!important;margin:6px 10px!important}

body.tutor-dashboard-shell .tutor-sidebar-universal .sb-bottom,
body.tutor-modern-active .tutor-sidebar-universal .sb-bottom,
body.tc-portal-shell.tc-portal-tutor .tutor-sidebar-universal .sb-bottom{
  flex:0 0 auto!important;margin-top:auto!important;padding:10px!important;
  border-top:1px solid #d6e1ef!important;background:#eaf0f8!important;
}
body.tutor-dashboard-shell .tutor-sidebar-universal .sb-bottom-btn,
body.tutor-modern-active .tutor-sidebar-universal .sb-bottom-btn,
body.tc-portal-shell.tc-portal-tutor .tutor-sidebar-universal .sb-bottom-btn{
  display:flex!important;align-items:center!important;gap:9px!important;width:100%!important;
  padding:8px 10px!important;border-radius:8px!important;
  color:#516883!important;background:transparent!important;border:0!important;
  font-size:.8rem!important;font-weight:500!important;text-decoration:none!important;
}
body.tutor-dashboard-shell .tutor-sidebar-universal .sb-bottom-btn:hover,
body.tutor-modern-active .tutor-sidebar-universal .sb-bottom-btn:hover,
body.tc-portal-shell.tc-portal-tutor .tutor-sidebar-universal .sb-bottom-btn:hover{background:#dae6f5!important;color:#173e69!important}

/* Landscape tablets use a compact fixed tutor sidebar to preserve content space. */
@media (orientation:landscape) and (min-width:768px) and (min-height:600px) and (max-width:1366px){
  body.tutor-dashboard-shell,
  body.tutor-modern-active,
  body.tc-portal-shell.tc-portal-tutor:not(.tc-portal-public){--tc-tutor-sidebar-width:220px}
  body.tutor-dashboard-shell .tutor-sidebar-universal,
body.tutor-modern-active .tutor-sidebar-universal,
  body.tc-portal-shell.tc-portal-tutor:not(.tc-portal-public) .tutor-sidebar-universal{
    width:var(--tc-tutor-sidebar-width)!important;min-width:var(--tc-tutor-sidebar-width)!important;max-width:var(--tc-tutor-sidebar-width)!important;
    transform:none!important;box-shadow:3px 0 16px rgba(20,48,85,.045)!important;z-index:100!important;
  }
  body.tutor-dashboard-shell .main,
  body.tutor-modern-active .main,
  body.tc-portal-shell.tc-portal-tutor:not(.tc-portal-public){margin-left:var(--tc-tutor-sidebar-width)!important}
  body.tutor-dashboard-shell #menu-btn,
  body.tutor-modern-active #menu-btn,
  body.tc-portal-shell.tc-portal-tutor:not(.tc-portal-public) .tc-portal-menu{display:none!important}
  body.tc-portal-shell.tc-portal-tutor.tc-portal-open .tc-portal-overlay{display:none!important}

  body.tutor-dashboard-shell .tutor-sidebar-universal .sb-logo,
  body.tutor-modern-active .tutor-sidebar-universal .sb-logo,
  body.tc-portal-shell.tc-portal-tutor:not(.tc-portal-public) .tutor-sidebar-universal .sb-logo{padding-left:12px!important;padding-right:12px!important}
  body.tutor-dashboard-shell .tutor-sidebar-universal .sb-profile,
  body.tutor-modern-active .tutor-sidebar-universal .sb-profile,
  body.tc-portal-shell.tc-portal-tutor:not(.tc-portal-public) .tutor-sidebar-universal .sb-profile{padding-left:12px!important;padding-right:12px!important}
  body.tutor-dashboard-shell .tutor-sidebar-universal .sb-nav,
  body.tutor-modern-active .tutor-sidebar-universal .sb-nav,
  body.tc-portal-shell.tc-portal-tutor:not(.tc-portal-public) .tutor-sidebar-universal .sb-nav{padding-left:8px!important;padding-right:8px!important}
}

/* Portrait tablet/mobile keeps the roomy drawer. */
@media (max-width:767px), (orientation:portrait) and (max-width:1200px), (orientation:landscape) and (max-height:599px){
  body.tutor-dashboard-shell,
  body.tutor-modern-active,
  body.tc-portal-shell.tc-portal-tutor:not(.tc-portal-public){--tc-tutor-sidebar-width:280px}
  body.tutor-dashboard-shell .tutor-sidebar-universal,
body.tutor-modern-active .tutor-sidebar-universal,
  body.tc-portal-shell.tc-portal-tutor:not(.tc-portal-public) .tutor-sidebar-universal{
    width:var(--tc-tutor-sidebar-width)!important;min-width:var(--tc-tutor-sidebar-width)!important;max-width:var(--tc-tutor-sidebar-width)!important;
    transform:translateX(-105%)!important;z-index:1000!important;
    box-shadow:4px 0 24px rgba(0,0,0,.25)!important;
  }
  body.tutor-dashboard-shell .tutor-sidebar-universal.open,
  body.tutor-modern-active .tutor-sidebar-universal.open,
  body.tc-portal-shell.tc-portal-tutor.tc-portal-open .tutor-sidebar-universal,
  body.tc-tutor-drawer-open .tutor-sidebar-universal,
  .tutor-sidebar-universal.open{transform:translateX(0)!important;visibility:visible!important;opacity:1!important;z-index:1001!important}
  body.tutor-dashboard-shell .main,
  body.tutor-modern-active .main,
  body.tc-portal-shell.tc-portal-tutor:not(.tc-portal-public){margin-left:0!important}
  body.tutor-dashboard-shell #menu-btn,
  body.tutor-modern-active #menu-btn,
  body.tc-portal-shell.tc-portal-tutor:not(.tc-portal-public) .tc-portal-menu{display:inline-flex!important}
}

/* Dashboard's /dashboard/tutor route must not inherit the shared feature-page body offset.
   The main panel already reserves the fixed sidebar width; a body offset would double it. */
body.tutor-dashboard-shell.tc-portal-shell.tc-portal-tutor:not(.tc-portal-public){margin-left:0!important}

/* Keep the fixed sidebar mount from becoming a second flex column on dashboard first paint. */
body.tutor-dashboard-shell > #tutor-sidebar-mount{display:contents!important}

/* v5: universal tutor shell first-paint contract. The tutor component owns all geometry. */
html.tc-tutor-shell-ready body.tc-portal-tutor .tutor-sidebar-universal,
body.tc-tutor-shell-bootstrapped .tutor-sidebar-universal{visibility:visible!important;opacity:1!important}
body.tutor-dashboard-shell,body.tc-tutor-shell-bootstrapped{--tc-tutor-sidebar-width:248px}
@media (orientation:landscape) and (min-width:768px) and (min-height:600px) and (max-width:1366px){body.tutor-dashboard-shell,body.tc-tutor-shell-bootstrapped{--tc-tutor-sidebar-width:220px}}
@media (max-width:767px), (orientation:portrait) and (max-width:1200px), (orientation:landscape) and (max-height:599px){body.tutor-dashboard-shell,body.tc-tutor-shell-bootstrapped{--tc-tutor-sidebar-width:280px}}
