/* Collection navigation and narrow-viewport compatibility for bundled demos. */
/* A classic scrollbar leaves less than 320 CSS px in a 320 px viewport. */
@media(max-width:360px){
  html,html body{min-width:0!important}
  /* Weekday cells must shrink with their single-column learning panel. */
  html body .dashboard-aside{grid-template-columns:minmax(0,1fr)}
  .week-dots>div{min-width:0}
  .week-dots>div>span{max-width:100%}
  /* Keep the demo disclosure readable beside a long status pill. */
  .demo-banner{flex-wrap:wrap}
  .header-inner:has(.header-badges){flex-wrap:wrap;padding-block:8px}
  /* MyMemberBD: retain all header controls when font metrics exceed the narrow row. */
  body:has(#mklab-return a[href="/apps/mymemberbd-demo/"]) .topbar{height:auto;min-height:63px;flex-basis:auto;flex-wrap:wrap;gap:4px 8px;padding:8px 12px}
}
/* Let the role controls wrap when platform fonts exceed the available header width. */
.topbar:has(.role-picker){flex-wrap:wrap}
/* Evidence references must shrink inside narrow dashboard cards at every viewport. */
.expiry-row{grid-template-columns:auto minmax(0,1fr) auto}
.expiry-row>span:nth-child(2){min-width:0;overflow-wrap:anywhere}
#mklab-return{all:initial;position:fixed;z-index:1000;right:12px;bottom:12px;display:block;font:13px/1.5 system-ui,sans-serif;color:#172f29;text-align:left;max-width:calc(100vw - 24px);color-scheme:light}
#mklab-return>summary{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;border:1px solid #688272;border-radius:24px;background:#fffefa;color:#173f35;box-shadow:0 2px 12px #0002;font:600 13px/1.5 system-ui,sans-serif;cursor:pointer;list-style:none}
#mklab-return>summary::-webkit-details-marker{display:none}
#mklab-return>summary::after{content:'+';margin-left:8px}
#mklab-return[open]>summary::after{content:'−'}
#mklab-return>nav{all:unset;box-sizing:border-box;display:flex;flex-direction:column;position:absolute;right:0;bottom:54px;width:260px;max-width:calc(100vw - 24px);padding:12px;background:#fffefa;color:#172f29;border:1px solid #688272;border-radius:14px;box-shadow:0 8px 30px #0003;font:14px/1.5 system-ui,sans-serif;text-align:left}
#mklab-return:not([open])>nav{display:none}
#mklab-return strong{all:unset;display:block;font-weight:650;padding:8px;overflow-wrap:anywhere}
#mklab-return a{all:unset;box-sizing:border-box;display:flex;align-items:center;min-height:44px;padding:8px;border-radius:7px;color:#173f35;font:14px/1.5 system-ui,sans-serif;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
#mklab-return a:hover{background:#ecefe7}
#mklab-return summary:focus-visible,#mklab-return a:focus-visible{outline:3px solid #173f35;outline-offset:3px}
/* Leave the application's fixed mobile tab bar fully clickable. */
@media(max-width:768px){#mklab-return{bottom:calc(96px + env(safe-area-inset-bottom,0px))}}
@media print{#mklab-return{display:none}}
@media(forced-colors:active){#mklab-return>summary,#mklab-return>nav{background:Canvas;color:CanvasText;border:1px solid CanvasText}#mklab-return a{color:LinkText}}
