/* v0.13.5 controlled layout integration. Appended AFTER existing CSS. */
/* ADMIN: existing native sidebar/content architecture takes precedence over
   ad-hoc component placement and legacy responsive table styling. */
body.v135-admin-integrity main.admin-shell{
 display:grid!important;
 grid-template-columns:minmax(250px,290px) minmax(0,1fr)!important;
 align-items:start!important;
 width:100%!important;
 max-width:100%!important;
 min-width:0!important;
 gap:0!important;
}
body.v135-admin-integrity main.admin-shell>.admin-sidebar{
 grid-column:1!important;grid-row:1!important;
 width:auto!important;min-width:0!important;
 box-sizing:border-box!important;
 position:sticky!important;top:var(--site-header-height,70px)!important;
 height:calc(100vh - var(--site-header-height,70px))!important;
 max-height:calc(100vh - var(--site-header-height,70px))!important;
 overflow-y:auto!important;overscroll-behavior:contain;
}
body.v135-admin-integrity main.admin-shell>.admin-main{
 grid-column:2!important;grid-row:1!important;
 width:100%!important;min-width:0!important;
 padding:clamp(1rem,2.4vw,2rem)!important;
 box-sizing:border-box!important;
}
body.v135-admin-integrity #v135-admin-books{margin:1.25rem 0 0;max-width:none!important;width:100%!important}
body.v135-admin-integrity [data-admin-panel="catalog"][data-v135-catalog-ready="true"] #admin-catalog-list{display:none!important}
body.v135-admin-integrity #admin-catalog-list[hidden]{display:none!important}
.v135-sidebar-ops-link{display:block;margin:.8rem .35rem;padding:.7rem .75rem;border:1px solid #40627b;border-radius:8px;color:#f7d279;text-decoration:none;line-height:1.35;font-size:.9rem}
.v135-sidebar-ops-link:hover,.v135-sidebar-ops-link:focus-visible{background:#19354b;outline:2px solid #bda14f;outline-offset:2px}
.v135-admin-catalog-integrated .v135-catalog-title h2{margin:.15rem 0 .3rem}
.v135-admin-catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1rem;align-items:start}
.v135-admin-catalog-grid .v135-admin-book{min-width:0;overflow-wrap:anywhere;padding:1.15rem}
.v135-admin-book>header{display:flex;justify-content:space-between;gap:.75rem;align-items:start}
.v135-admin-book>header h3{font-size:1.05rem;line-height:1.32;margin:.25rem 0 .4rem}
.v135-code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.73rem;opacity:.82;overflow-wrap:anywhere}
.v135-state{font-size:.72rem;border:1px solid #436075;border-radius:6px;padding:.22rem .48rem;white-space:nowrap;color:#b8d2e7}
.v135-state.warning{border-color:#a8852c;color:#f1cf74}
.v135-description-teaser{font-size:.91rem;line-height:1.5;color:#c7d9e7;margin:1rem 0;min-height:3rem}
.v135-catalog-safeguards{font-size:.79rem;color:#adcadb}
.v135-catalog-safeguards strong{color:#eaf1f8}
.v135-admin-catalog-grid .v135-admin-book.is-expanded{grid-column:1 / -1}
.v135-book-details:not([hidden]){margin-top:1rem;padding-top:1rem;border-top:1px solid #35576e;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem}
.v135-catalog-fact{min-width:0}.v135-catalog-fact strong{display:block;font-size:.8rem;color:#f1ca63}
.v135-catalog-fact p{overflow-wrap:anywhere;margin:.3rem 0 0;white-space:pre-wrap;line-height:1.6}
.v135-catalog-fact:nth-child(3){grid-column:1 / -1}.v135-catalog-fact:nth-child(3) p{max-width:94ch}
.v135-catalog-edit-form{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,285px),1fr));gap:.85rem}
.v135-catalog-edit-form>label{display:grid;gap:.3rem;min-width:0;font-weight:600}
.v135-catalog-edit-form input,.v135-catalog-edit-form textarea{width:100%!important;min-width:0;box-sizing:border-box;color:#eaf3f9;background:#0a283d;border:1px solid #547087;border-radius:8px;padding:.65rem .8rem}
.v135-catalog-edit-form>label:has(textarea),.v135-catalog-form-note{grid-column:1 / -1}
.v135-catalog-edit-form textarea{min-height:11rem;resize:vertical}
.v135-catalog-edit-form input:focus-visible,.v135-catalog-edit-form textarea:focus-visible{outline:2px solid #e5bf5d;outline-offset:2px}
.v135-admin-book [data-details][hidden]{display:none!important}
/* MARKET COMMONS: center navigation in same content width as forum and header.
   Keep its own navigation; do not leave it floating against viewport left edge. */
body.v135-commons-integrity #v134-commons-member-nav{
 width:calc(100% - 44px)!important;max-width:calc(var(--max,1180px) - 44px)!important;
 margin: .7rem auto 1rem!important;
 padding:.5rem .65rem!important;
 box-sizing:border-box!important;
 position:relative!important;top:auto!important;
 gap:.1rem .3rem!important;overflow-x:auto;
}
body.v135-commons-integrity #v134-commons-member-nav a{flex:0 0 auto;white-space:nowrap}
body.v135-commons-integrity main>.wrap{max-width:var(--max,1180px);margin-inline:auto!important}
body.v135-commons-integrity .fe-page-head{gap:1rem;align-items:start}
body.v135-commons-integrity .fe-page-actions{flex:0 0 auto;align-self:center}
body.v135-commons-integrity .v132-forum-search{width:100%}
body.v135-commons-integrity .v132-forum-search input{width:min(100%,680px)!important;max-width:100%!important;min-height:44px}
body.v135-commons-integrity .v132-forum-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;justify-content:flex-end;margin:1rem 0}
body.v135-commons-integrity .v133-commons-guide-callout{margin-block:1rem;gap:1rem}
@media(max-width:850px){
 body.v135-admin-integrity main.admin-shell{grid-template-columns:minmax(0,1fr)!important;}
 body.v135-admin-integrity main.admin-shell>.admin-sidebar{grid-column:1!important;grid-row:1!important;height:auto!important;max-height:40vh!important;position:relative!important;top:auto!important;overflow-y:auto!important;border-right:0;border-bottom:1px solid #304d65}
 body.v135-admin-integrity main.admin-shell>.admin-main{grid-column:1!important;grid-row:2!important;padding:1rem!important}
 body.v135-commons-integrity #v134-commons-member-nav{width:calc(100% - 28px)!important;max-width:calc(100% - 28px)!important}
}
@media(max-width:500px){.v135-admin-catalog-grid{grid-template-columns:minmax(0,1fr)}.v135-book-details:not([hidden]){grid-template-columns:1fr}.v135-admin-book>header{flex-wrap:wrap}}

/* v0.13.5.7.3: the canonical navigation is the ONLY header navigation.
 * Give the brand a non-overlapping footprint and constrain header utilities. */
@media(min-width:901px){
 .site-header>.nav,.site-header .wrap.nav{display:flex;align-items:center;gap:clamp(10px,1.15vw,18px);min-width:0}
 .site-header .brand{flex:0 0 clamp(180px,19vw,240px);min-width:0;line-height:1.17;overflow-wrap:normal}
 .site-header .navlinks.v11-nav{display:flex;flex:1 1 auto;min-width:0;align-items:center;justify-content:flex-end;gap:clamp(7px,.8vw,12px)!important;margin-left:auto}
 .site-header .fe-header-tools{flex:0 0 auto;min-width:0;max-width:230px}
}
@media(min-width:901px) and (max-width:1200px){
 .site-header .brand{flex-basis:195px;font-size:.88rem}
 .site-header .fe-command-button kbd{display:none}
 .site-header .navlinks.v11-nav{gap:7px!important}
}
@media(min-width:901px) and (max-width:1023px){
 /* Keep the full keyboard-reachable menu at small desktop widths. Collapse the
  * labeled utilities to accessible icon-only buttons before brand/nav collide. */
 .site-header .fe-header-tools{max-width:88px!important;gap:4px!important}
 .site-header .fe-command-button,.site-header .fe-notify-button{
   min-width:40px;width:40px;padding:.4rem;justify-content:center;font-size:0!important;
 }
 .site-header .fe-command-button::before{content:"⌕";font-size:1.25rem;line-height:1}
 .site-header .fe-notify-button::before{content:"●";font-size:.9rem;line-height:1}
 .site-header .fe-notify-button span{display:none!important}
}
@media(max-width:900px){.site-header .brand{line-height:1.14;max-width:calc(100% - 65px)}}
/* v0.13.5.7.5: dashboard navigation is a complete, non-scrolling grid.
 * Every tab stays visible; keyboard and pointer users reach Activity on all widths. */
#v1322-member-hub .v1322-member-tabs,
#v1322-member-hub .v13-member-tabs.v1322-member-tabs{
 display:grid!important;
 grid-template-columns:repeat(auto-fit,minmax(min(100%,155px),1fr))!important;
 gap:7px!important;
 flex-wrap:wrap!important;
 width:100%!important;
 max-width:100%!important;
 height:auto!important;
 max-height:none!important;
 overflow:visible!important;
 white-space:normal!important;
 padding:.5rem!important;
 box-sizing:border-box!important;
}
#v1322-member-hub .v1322-member-tabs button{
 flex:initial!important;
 min-width:0!important;
 white-space:normal!important;
 overflow-wrap:anywhere;
 text-align:center;
 line-height:1.35;
 min-height:44px;
}
#v1322-member-hub .v1322-member-tabs button:focus-visible{outline:2px solid #f0c65c;outline-offset:2px}
@media(max-width:600px){#v1322-member-hub .v1322-member-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
/* Account Management is a primary Admin sidebar destination, not a detached footer link. */
#admin-tabs [data-v1352-menu]{display:block!important}
#admin-tabs .v13-admin-group [data-v1352-menu].active{background:#173e59;border-left:3px solid #edbe4f;color:#fff}
/* Consistent contrast for admin section and Lab collection filters. */
.admin-shell .admin-main input[type="search"],.admin-shell .admin-main input[placeholder="Filter this section..."]{
 color:#eff7ff;background:#0a263b;border:1px solid #65859d;border-radius:8px;
 min-height:44px;padding:.65rem .85rem;max-width:100%;box-sizing:border-box}
.admin-shell .admin-main input[type="search"]::placeholder,.admin-shell .admin-main input[placeholder="Filter this section..."]::placeholder{color:#aec4d5}
.admin-shell .admin-main input[type="search"]:focus-visible{outline:2px solid #e6bb58;outline-offset:2px}

/* Market Commons: bounded, explicit pagination; no fabricated total forum counts. */
.v13575-forum-pages{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px;margin:15px 0 25px}
.v13575-forum-pages span{color:#d5e5f0;font-weight:650}

/* Market Commons: graphic category marker without replacing the forum's real content. */
.v132-category-head h2{display:flex;align-items:center;gap:.5rem}
.commons-category-illustration{flex:none;width:40px;height:40px;border:1px solid #375a74;border-radius:8px}
.v13575-forum-pages{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;justify-content:flex-start;margin:1rem 0}
.v13575-forum-pages span{color:#d4e2ea}


/* v0.14.0.138 — Header alert/search utilities must NEVER expand the viewport.
 * Browser diagnosis showed .fe-notify-count at x=1295 in a 1250px viewport,
 * on 14/15 Store detail pages. Product cards themselves were within bounds.
 * Preserve both real clickable controls and their existing accessible labels.
 */
@media (min-width:1024px) and (max-width:1600px) {
 .site-header .fe-header-tools{
  flex:0 0 auto!important;min-width:0!important;max-width:115px!important;
  gap:5px!important;margin-left:0!important;
 }
 .site-header .fe-command-button,
 .site-header .fe-command-button.v132-search-wide{
  flex:0 0 46px!important;width:46px!important;min-width:46px!important;
  max-width:46px!important;min-height:44px!important;padding:.45rem!important;
  justify-content:center!important;font-size:0!important;
 }
 .site-header .fe-command-button>span,
 .site-header .fe-command-button>kbd{display:none!important}
 .site-header .fe-command-button::before{
  content:"⌕";font-size:1.35rem;line-height:1;color:inherit;
 }
 .site-header .fe-notify-button{
  flex:0 0 46px!important;width:46px!important;min-width:46px!important;
  max-width:46px!important;min-height:44px!important;padding:.45rem!important;
  justify-content:center!important;font-size:0!important;
 }
 .site-header .fe-notify-button>span:not(.fe-notify-count){display:none!important}
 .site-header .fe-notify-button::before{
  content:"●";font-size:.95rem;line-height:1;color:inherit;
 }
}
/* Existing 901–1023px icon rule hid even the unread badge. Preserve a readable
 * numeric count when nonzero, and avoid exposing hidden zero-count elements. */
@media (min-width:901px) and (max-width:1600px) {
 .site-header .fe-notify-button .fe-notify-count:not([hidden]){
  display:grid!important;font-size:.65rem!important;line-height:1!important;
 }
}

/* v138 narrow desktop search: older .v132-search-wide min-width:230px!important
 * overrides the base 901–1023px compact search rule unless explicitly reset.
 * Preserve the labelled accessible control with its existing CSS icon. */
@media (min-width:901px) and (max-width:1023px){
 .site-header .fe-command-button.v132-search-wide{
  flex:0 0 40px!important;width:40px!important;min-width:40px!important;
  max-width:40px!important;min-height:44px!important;
  padding:.4rem!important;justify-content:center!important;font-size:0!important;
 }
 .site-header .fe-command-button.v132-search-wide>span,
 .site-header .fe-command-button.v132-search-wide>kbd{display:none!important}
}
