/* PMY Academy — Sprint A8.4 Global Layout Contract */
:root{
  --pmy-shell-sidebar:248px;
  --pmy-shell-sidebar-collapsed:78px;
  --pmy-shell-topbar:64px;
  --pmy-shell-gap:18px;
  --pmy-shell-content-max:1680px;
  --pmy-shell-radius:16px;
}
html{scroll-padding-top:calc(var(--pmy-shell-topbar) + 12px)}
.pmy-skip-link{position:fixed;left:12px;top:-60px;z-index:10000;padding:10px 14px;border-radius:10px;background:var(--pmy-gold,#d6ad49);color:#111!important;font-weight:800;transition:top .16s ease}
.pmy-skip-link:focus{top:12px}
.pmy-shell{display:grid!important;grid-template-columns:var(--pmy-shell-sidebar) minmax(0,1fr)!important;min-height:100dvh!important;width:100%!important;align-items:stretch!important}
.pmy-sidebar{position:sticky!important;top:0!important;height:100dvh!important;min-width:0!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;padding-bottom:18px!important;z-index:60!important}
.pmy-main{min-width:0!important;width:100%!important;overflow:clip!important}
.pmy-topbar{position:sticky!important;top:0!important;z-index:50!important;min-height:var(--pmy-shell-topbar)!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;padding:10px clamp(14px,2vw,28px)!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.pmy-topbar-left,.pmy-top-actions{display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important}.pmy-topbar-left{flex:1 1 auto!important}.pmy-top-actions{flex:0 0 auto!important;justify-content:flex-end!important;flex-wrap:wrap!important}
.pmy-content{width:min(100%,var(--pmy-shell-content-max))!important;margin-inline:auto!important;padding:clamp(16px,2vw,30px)!important}
.pmy-breadcrumb{display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important;white-space:nowrap!important;overflow:hidden!important}.pmy-breadcrumb>*{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important}.pmy-breadcrumb a{flex:0 1 auto!important}.pmy-breadcrumb span:last-child{flex:1 1 auto!important}
.pmy-logo-block{display:flex!important;align-items:center!important;gap:10px!important;min-height:56px!important;text-decoration:none!important}.pmy-logo-block img{flex:0 0 auto!important}.pmy-logo-block b{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.pmy-side-link{display:flex!important;align-items:center!important;gap:10px!important;min-height:42px!important;width:100%!important}.pmy-side-icon{display:grid!important;place-items:center!important;flex:0 0 28px!important}.pmy-side-text{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.pmy-side-user{position:sticky!important;bottom:0!important;display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important}.pmy-side-user>div:last-child{min-width:0!important}.pmy-side-user b,.pmy-side-user small{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.pmy-layout-menu-btn{display:inline-grid!important;place-items:center!important;width:38px!important;height:38px!important;min-width:38px!important;padding:0!important;border-radius:10px!important}
.pmy-layout-overlay{display:none;position:fixed;inset:0;z-index:55;background:rgba(0,0,0,.58);border:0;padding:0}
html.pmy-sidebar-collapsed .pmy-shell{grid-template-columns:var(--pmy-shell-sidebar-collapsed) minmax(0,1fr)!important}
html.pmy-sidebar-collapsed .pmy-sidebar{padding-inline:10px!important}
html.pmy-sidebar-collapsed .pmy-logo-block b,html.pmy-sidebar-collapsed .pmy-side-title,html.pmy-sidebar-collapsed .pmy-side-text,html.pmy-sidebar-collapsed .pmy-side-user>div:last-child{display:none!important}
html.pmy-sidebar-collapsed .pmy-logo-block,html.pmy-sidebar-collapsed .pmy-side-link,html.pmy-sidebar-collapsed .pmy-side-user{justify-content:center!important}
html.pmy-sidebar-collapsed .pmy-side-link{padding-inline:8px!important}
.pmy-panel,.pmy-card,.card,.panel{min-width:0}.pmy-table-wrap,.table-wrap{max-width:100%;overflow:auto;overscroll-behavior-inline:contain}.pmy-actions-row,.pmy-section-header{min-width:0}.pmy-actions-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.pmy-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
[data-pmy-layout-active="true"],.pmy-side-link.active,.pmy-side-link.is-active{aria-current:page}
@media(max-width:1100px){:root{--pmy-shell-sidebar:220px}.pmy-content{padding:16px!important}.pmy-topbar{padding-inline:16px!important}}
@media(max-width:820px){
  .pmy-shell{display:block!important}.pmy-main{width:100%!important}
  .pmy-sidebar{position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:min(86vw,290px)!important;height:100dvh!important;transform:translateX(-105%);transition:transform .2s ease;box-shadow:0 18px 60px rgba(0,0,0,.45)!important;z-index:70!important}
  html.pmy-mobile-nav-open .pmy-sidebar{transform:translateX(0)}html.pmy-mobile-nav-open .pmy-layout-overlay{display:block}
  html.pmy-sidebar-collapsed .pmy-logo-block b,html.pmy-sidebar-collapsed .pmy-side-title,html.pmy-sidebar-collapsed .pmy-side-text,html.pmy-sidebar-collapsed .pmy-side-user>div:last-child{display:initial!important}
  html.pmy-sidebar-collapsed .pmy-logo-block,html.pmy-sidebar-collapsed .pmy-side-link,html.pmy-sidebar-collapsed .pmy-side-user{justify-content:flex-start!important}
  .pmy-topbar{min-height:58px!important;align-items:flex-start!important}.pmy-topbar-left{align-items:flex-start!important}.pmy-top-actions{gap:6px!important}.pmy-public-link{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .pmy-breadcrumb{white-space:normal!important;flex-wrap:wrap!important}.pmy-page-kicker{font-size:.72rem!important}
}
@media(max-width:560px){.pmy-topbar{flex-wrap:wrap!important}.pmy-topbar-left{width:100%!important}.pmy-top-actions{width:100%!important;justify-content:flex-start!important}.pmy-content{padding:12px!important}.pmy-actions-row>*{flex:1 1 auto}.pmy-section-header>*{width:100%}}
@media(prefers-reduced-motion:reduce){.pmy-sidebar,.pmy-layout-overlay,.pmy-skip-link{transition:none!important}}
@media(forced-colors:active){.pmy-sidebar,.pmy-topbar,.pmy-layout-menu-btn{border:1px solid CanvasText!important}.pmy-layout-overlay{background:Canvas!important;opacity:.7}}

/* A9.1.3 runtime/UI corrections */
.pmy-side-user-link{color:inherit!important;text-decoration:none!important;border-radius:12px;padding:10px 8px!important;margin-inline:-4px;transition:background .16s ease,border-color .16s ease;border:1px solid transparent}
.pmy-side-user-link:hover,.pmy-side-user-link:focus-visible{background:rgba(212,175,55,.10);border-color:rgba(212,175,55,.28);outline:none}
.pmy-metric{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:0!important}
.pmy-metric>.pmy-badge{margin-bottom:10px!important}
.pmy-metric>b{display:block!important;width:100%!important;margin:0 0 10px!important;line-height:1.05!important}
.pmy-metric>p,.pmy-metric>.pmy-muted{display:block!important;width:100%!important;margin:0!important;line-height:1.45!important}
.v10-mobile-top,.v10-mobile-scrim,[data-side-toggle].pmy-side-toggle{display:none!important}
@media(min-width:821px){.pmy-layout-menu-btn{display:inline-grid!important}}


/* A9.1.5 — shell geometry, Stripe actions and admin navigation hardening */
.pmy-shell{grid-template-columns:var(--pmy-shell-sidebar) minmax(0,1fr)!important}
.pmy-main{margin-left:0!important;padding-left:0!important;max-width:none!important;width:auto!important;min-width:0!important;justify-self:stretch!important}
.pmy-content{margin-left:0!important;margin-right:0!important;max-width:none!important;width:100%!important}
.pmy-topbar{margin-left:0!important;width:100%!important}
.pmy-primary-btn,.pmy-secondary-btn,.pmy-btn-gold,.pmy-public-link,button{max-width:100%;min-width:0;overflow-wrap:anywhere}
[data-stripe-settings-form]{grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:end!important}
[data-stripe-settings-form]>label{min-width:0!important}
[data-stripe-settings-form]>button{width:100%!important;min-height:44px!important;height:auto!important;padding:10px 14px!important;white-space:normal!important;line-height:1.25!important;text-align:center!important}
[data-stripe-settings-form]>[data-stripe-settings-message]{grid-column:1/-1!important}
@media(max-width:1100px){[data-stripe-settings-form]{grid-template-columns:1fr!important}}
@media(min-width:821px){html.pmy-sidebar-collapsed .pmy-main{margin-left:0!important;width:auto!important}}


/* A9.1.8 — temporary global test scale controller */
.pmy-scale-btn{
  min-width:52px!important;
  padding-inline:10px!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
}
@supports not (zoom:1){
  html[data-pmy-ui-scale="0.8"] body{
    transform:scale(.8);
    transform-origin:top left;
    width:125%;
    min-height:125vh;
  }
}


/* A9.1.9 — compensate viewport height while the interface is scaled to 80% */
html[data-pmy-ui-scale="0.8"] .pmy-shell{
  min-height:125dvh!important;
}
html[data-pmy-ui-scale="0.8"] .pmy-sidebar{
  height:125dvh!important;
  min-height:125dvh!important;
}
html[data-pmy-ui-scale="0.8"] .pmy-main{
  min-height:125dvh!important;
}
.pmy-scale-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:54px!important;
  min-height:42px!important;
  padding:8px 10px!important;
  border:1px solid rgba(214,173,73,.32)!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.035)!important;
  color:inherit!important;
  font:900 12px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  letter-spacing:.04em!important;
  cursor:pointer!important;
}
.pmy-scale-btn:hover{
  border-color:rgba(214,173,73,.72)!important;
  background:rgba(214,173,73,.09)!important;
}


/* KL6.1 — expanded administrative navigation and long-label contract */
@media (min-width:1101px){
  :root{--pmy-shell-sidebar:320px!important}
  .pmy-sidebar{width:auto!important}
}
@media (min-width:821px) and (max-width:1100px){
  :root{--pmy-shell-sidebar:300px!important}
  .pmy-sidebar{width:auto!important}
}
@media (min-width:821px){
  .pmy-side-link{padding-inline:12px!important}
  .pmy-side-icon{flex-basis:30px!important}
  .pmy-side-text{white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important}
  .pmy-logo-block b{overflow:visible!important;text-overflow:clip!important}
}

/* KL6.2 — reference-aligned admin shell */
@media (min-width:1101px){
  :root{--pmy-shell-sidebar:360px!important}
}
@media (min-width:821px) and (max-width:1100px){
  :root{--pmy-shell-sidebar:330px!important}
}
@media (min-width:821px){
  .pmy-sidebar{width:auto!important;overflow-x:hidden!important}
  .pmy-side-link{padding:10px 16px!important;gap:12px!important;min-height:46px!important}
  .pmy-side-icon{flex:0 0 32px!important;font-size:18px!important}
  .pmy-side-text{display:block!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;font-size:14px!important}
  .pmy-logo-block b{white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important}
}


/* KL7 — definitive long-label administrative sidebar */
@media (min-width:1101px){
  :root{--pmy-shell-sidebar:410px!important}
  html[data-pmy-ui-scale="0.8"]{--pmy-shell-sidebar:410px!important}
}
@media (min-width:821px) and (max-width:1100px){
  :root{--pmy-shell-sidebar:370px!important}
  html[data-pmy-ui-scale="0.8"]{--pmy-shell-sidebar:370px!important}
}
@media (min-width:821px){
  .pmy-shell{grid-template-columns:var(--pmy-shell-sidebar) minmax(0,1fr)!important}
  .pmy-sidebar{min-width:var(--pmy-shell-sidebar)!important;max-width:var(--pmy-shell-sidebar)!important;width:var(--pmy-shell-sidebar)!important}
  .pmy-side-section{padding-inline:14px!important}
  .pmy-side-link{padding:10px 14px!important;gap:12px!important}
  .pmy-side-text{font-size:14px!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important}
}

/* KL7.1 — sidebar width at 80%/compact viewports */
@media (max-width:820px){
  .pmy-sidebar{
    width:min(94vw,380px)!important;
    max-width:min(94vw,380px)!important;
    min-width:min(94vw,380px)!important;
    padding-inline:14px!important;
  }
  .pmy-side-section{padding-inline:4px!important}
  .pmy-side-link{
    padding:10px 12px!important;
    gap:12px!important;
    min-height:46px!important;
  }
  .pmy-side-icon{flex:0 0 30px!important}
  .pmy-side-text{
    display:block!important;
    min-width:0!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    overflow-wrap:anywhere!important;
    line-height:1.25!important;
    font-size:14px!important;
  }
  .pmy-logo-block b{
    display:block!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
}
@media (max-width:430px){
  .pmy-sidebar{
    width:min(96vw,360px)!important;
    max-width:min(96vw,360px)!important;
    min-width:min(96vw,360px)!important;
  }
}


/* KL8 — persistent readable administrative navigation */
@media (min-width:821px){
  :root,html[data-pmy-ui-scale="0.8"]{--pmy-shell-sidebar:430px!important}
  .pmy-shell{grid-template-columns:430px minmax(0,1fr)!important}
  .pmy-sidebar{width:430px!important;min-width:430px!important;max-width:430px!important}
  .pmy-side-link{grid-template-columns:24px minmax(0,1fr)!important;align-items:start!important}
  .pmy-side-text{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.25!important}
}


/* KL9 — deterministic administrative sidebar width across zoom and breakpoints */
:root{--pmy-shell-sidebar:430px!important}
@media (min-width:821px){
 .pmy-shell{grid-template-columns:430px minmax(0,1fr)!important}
 .pmy-sidebar,.pmy-sidebar-panel{width:430px!important;min-width:430px!important;max-width:430px!important}
 .pmy-side-link{grid-template-columns:28px minmax(0,1fr)!important;gap:12px!important;padding-left:18px!important;padding-right:18px!important}
 .pmy-side-text{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.28!important;word-break:normal!important}
}
@media (max-width:820px){
 .pmy-sidebar,.pmy-sidebar-panel{width:min(88vw,390px)!important;max-width:min(88vw,390px)!important}
 .pmy-side-text{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
}

.pmy-nav-group{margin:6px 0;border:1px solid transparent;border-radius:12px;overflow:hidden}.pmy-nav-group.is-open{border-color:color-mix(in srgb,var(--border,#333) 78%,transparent)}.pmy-nav-group-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:0;background:transparent;color:inherit;font:inherit;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.pmy-nav-group-toggle span:last-child{transition:transform .18s ease}.pmy-nav-group.is-open .pmy-nav-group-toggle span:last-child{transform:rotate(180deg)}.pmy-nav-group-items{display:none;padding:0 5px 6px}.pmy-nav-group.is-open .pmy-nav-group-items{display:block}.pmy-nav-group .pmy-side-link{margin:2px 0}

/* WBS8: prevent the compact builder eyebrow from flexing into a blank spacer. */
body:has(#lbCreate) .v10-hero-main>.v10-eyebrow{flex:0 0 auto!important;height:auto!important;min-height:0!important}
