/* ITPlugg v20.92 – release audit UX layer.
   Final responsive/navigation guard loaded after all historical UI layers. */
:root{
  --v2092-sidebar-full:252px;
  --v2092-sidebar-slim:190px;
  --v2092-sidebar-compact:78px;
  --v2092-page-max:1180px;
}
html,body{max-width:100%;overflow-x:hidden}
.home-screen,#portalShell,.itp83-screen{box-sizing:border-box;max-width:var(--v2092-page-max);margin-inline:auto}

/* Desktop: preserve the familiar sidebar at roomy widths. */
@media (min-width:1240px){
  html[data-itplugg-navigation="desktop"] body:not(.v1919-nav-collapsed):not(.v1923-auto-compact){padding-left:var(--v2092-sidebar-full)!important}
  html[data-itplugg-navigation="desktop"] body:not(.v1919-nav-collapsed):not(.v1923-auto-compact) .v1919-dev-sidebar{width:var(--v2092-sidebar-full)!important}
}

/* Split-view / normal laptop widths: same sidebar, less wasted width. */
html[data-itplugg-navigation="desktop"] body.v2092-auto-slim:not(.v1919-nav-collapsed):not(.v1923-auto-compact){padding-left:var(--v2092-sidebar-slim)!important}
html[data-itplugg-navigation="desktop"] body.v2092-auto-slim:not(.v1919-nav-collapsed):not(.v1923-auto-compact) .v1919-dev-sidebar{width:var(--v2092-sidebar-slim)!important;padding-inline:9px!important}
body.v2092-auto-slim .v1919-dev-sidebar nav button,body.v2092-auto-slim .v1919-dev-sidebar footer>button{grid-template-columns:26px minmax(0,1fr) auto!important;gap:0 6px!important;padding-inline:8px!important}
body.v2092-auto-slim .v1919-dev-sidebar button>b{font-size:11px!important}
body.v2092-auto-slim .v1919-dev-sidebar button>small{display:none!important}
body.v2092-auto-slim .v1919-dev-brand b{font-size:13px!important}
body.v2092-auto-slim .v1919-dev-brand small{display:none!important}
body.v2092-auto-slim .v1919-dev-sidebar,body.v2092-auto-compact .v1919-dev-sidebar{transition:none!important}

/* Narrow desktop / Mac split-view: compact icon rail instead of crushing content. */
html[data-itplugg-navigation="desktop"] body.v1919-nav-active.v2092-auto-compact:not(.v1919-nav-collapsed):not(.v1923-auto-compact),
html[data-itplugg-navigation="desktop"] body.v2092-auto-compact{padding-left:var(--v2092-sidebar-compact)!important;padding-bottom:0!important}
html[data-itplugg-navigation="desktop"] body.v2092-auto-compact .v1919-dev-sidebar,
body.v2092-auto-compact .v1919-dev-sidebar{display:flex!important;visibility:visible!important;opacity:1!important;transform:none!important;width:var(--v2092-sidebar-compact)!important;padding:12px 9px!important}
body.v2092-auto-compact .v1919-dev-brand>div,
body.v2092-auto-compact .v1919-dev-lock,
body.v2092-auto-compact .v1919-nav-group,
body.v2092-auto-compact .v1919-dev-sidebar button>b,
body.v2092-auto-compact .v1919-dev-sidebar button>small,
body.v2092-auto-compact .v1919-dev-sidebar button>em,
body.v2092-auto-compact .v1919-dev-sidebar button>kbd,
body.v2092-auto-compact .v1919-sidebar-pulse,
body.v2092-auto-compact .v1919-dev-footer-actions{display:none!important}
body.v2092-auto-compact .v1919-dev-sidebar>header{display:block!important;padding-inline:0!important}
body.v2092-auto-compact .v1919-dev-brand>span{margin:auto!important}
body.v2092-auto-compact .v1919-dev-sidebar>header>button{display:none!important}
body.v2092-auto-compact .v1919-dev-sidebar nav button,
body.v2092-auto-compact .v1919-dev-sidebar footer>button{display:grid!important;grid-template-columns:1fr!important;grid-template-areas:"icon"!important;place-items:center!important;min-height:48px!important;padding:8px!important;gap:0!important}
body.v2092-auto-compact .v1919-dev-sidebar button>span{grid-area:icon!important;align-self:center!important}
body.v2092-auto-compact .v1939-main-nav{display:none!important}

/* Undo v20.91's 220px forced split-view rail. The final layer owns this range. */
@media (hover:hover) and (pointer:fine) and (min-width:620px) and (max-width:759px){
  html body.v2092-auto-compact{padding-left:var(--v2092-sidebar-compact)!important}
  html body.v2092-auto-compact .v1919-dev-sidebar{width:var(--v2092-sidebar-compact)!important}
  html body.v2092-auto-compact .v1939-main-nav{display:none!important}
}

/* Real mobile/touch keeps the proven bottom navigation. */
@media (max-width:619px){
  body.v2092-auto-compact,body.v2092-auto-slim{padding-left:0!important}
  body.v2092-auto-compact .v1919-dev-sidebar,body.v2092-auto-slim .v1919-dev-sidebar{display:none!important}
}

/* Subject mode: global navigation is predictable and the internal course navigator
   stops creating a three-column squeeze in ordinary laptop windows. */
body.itp83-mode #v1919DevSidebar [data-dev-nav="terms"]{display:grid!important}
body.itp83-mode #v1919DevSidebar [data-dev-nav="progress"],
body.itp83-mode #v1919DevSidebar [data-dev-nav="awards"],
body.itp83-mode #v1919DevSidebar [data-dev-nav="focus"]{display:none!important}
body.itp83-mode .itp83-screen{width:min(calc(100% - 24px),var(--v2092-page-max))!important}
@media(max-width:1180px){
  body.itp83-mode .itp83-layout{grid-template-columns:1fr!important}
  body.itp83-mode .itp83-nav{position:static!important;max-height:none!important;display:grid!important;grid-template-columns:1fr!important}
  body.itp83-mode .itp83-levels{display:flex!important;max-height:none!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:thin}
  body.itp83-mode .itp83-levels button{min-width:170px!important}
  body.itp83-mode .itp83-units{height:auto!important;max-height:250px!important}
}
@media(max-width:900px){
  body.itp83-mode .itp83-hero{min-height:0!important;padding:24px!important;grid-template-columns:1fr!important}
  body.itp83-mode .itp83-lesson{padding:22px 18px!important}
}

/* Consistent page rhythm. Home is a dashboard, course pages are workspaces. */
.home-screen,#portalShell,.itp83-screen{padding-bottom:72px}
.home-screen>.v1919-home-stage,.home-screen>.v1939-home-focus{margin-bottom:16px!important}
#portalShell.v2091-clean-portal>.portal-topbar{margin-bottom:10px!important}
#portalShell.v2091-clean-portal>nav[role="tablist"]{top:8px!important}
#portalShell [role="tabpanel"]{min-width:0!important}
.v2091-course-actions>button{overflow:hidden}
.v2091-course-actions>button>div{min-width:0}
.v2091-course-actions>button b,.v2091-course-actions>button small{overflow-wrap:anywhere}

/* The top subject picker should be useful, not dominate small desktop headers. */
@media(min-width:760px) and (max-width:1180px){
  .site-header{gap:10px!important}
  .itp83-picker{flex:1 1 260px!important;max-width:420px!important;min-width:220px!important;margin-left:auto!important}
  .itp83-current{min-height:46px!important}
}

/* Lab overlays must always win over site chrome. */
body.itplugg-cisco-active .v1919-dev-sidebar,
body.itplugg-cisco-active .v1939-main-nav,
body.itplugg-cisco-active .v1919-mobile-menu,
body.itplugg-lab-active .v1919-dev-sidebar,
body.itplugg-lab-active .v1939-main-nav,
body.itplugg-lab-active .v1919-mobile-menu{display:none!important}
body.itplugg-cisco-active,body.itplugg-lab-active{padding-left:0!important;padding-bottom:0!important;overflow:hidden!important}

/* Stop stale/duplicate runtime disclosures from visually stacking. */
.v2091-home-more+.v2091-home-more{display:none!important}

/* Better density without shrinking type into unreadability. */
@media(max-width:900px){
  .v2091-course-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .v2091-course-actions>button{min-height:78px!important}
}
@media(max-width:560px){
  .v2091-course-actions{grid-template-columns:1fr!important}
  .itp91-subject-tabs{position:static!important}
}

@media(prefers-reduced-motion:reduce){
  .v1919-dev-sidebar,.itp83-screen,.v2091-course-actions>button{transition:none!important;animation:none!important}
}
/* Fresh Focus intentionally hides Begrepp in normal IT mode. In a curriculum
   subject this same row is the primary "Lär" destination, so it must exist. */
body.itp83-mode.v2019-fresh-nav #v1919DevSidebar nav [data-dev-nav="terms"]{display:grid!important}
/* The original site-header is intentionally hidden by the modern app shell.
   Keep the subject selector in its own visible dock instead of depending on that
   historical header. */
.itp92-subject-dock{box-sizing:border-box;width:min(calc(100% - 28px),var(--v2092-page-max));margin:10px auto 0;display:flex;justify-content:flex-end;position:relative;z-index:140}
.itp92-subject-dock .itp83-picker{width:min(100%,360px);max-width:360px;min-width:240px;margin:0!important}
body.itplugg-cisco-active .itp92-subject-dock,body.itplugg-lab-active .itp92-subject-dock,body.itp-teacher-open .itp92-subject-dock{display:none!important}
@media(max-width:760px){.itp92-subject-dock{width:min(calc(100% - 16px),var(--v2092-page-max));margin-top:8px}.itp92-subject-dock .itp83-picker{max-width:none;width:100%;min-width:0}}
/* Compact rail must be a clean icon rail, not clipped text/status cards. */
body.v2092-auto-compact .v1919-dev-sidebar>header,
body.v2092-auto-compact .v2068-sidebar-status,
body.v2092-auto-compact .v1919-dev-lock{display:none!important}
body.v2092-auto-compact .v1919-dev-sidebar>nav{padding-top:10px!important}
