/* Moshaverr v221 final UX / privacy / responsive guard */
:root{--msh-v221-touch:44px}
.msh-portal a,.msh-portal button,.msh-account-shell a,.msh-account-shell button{touch-action:manipulation}
.msh-portal input,.msh-portal select,.msh-portal textarea,.msh-account-shell input,.msh-account-shell select,.msh-account-shell textarea{max-width:100%}
.msh-portal img,.msh-account-shell img,.msh-service-page img{height:auto;max-width:100%}
.msh-portal table,.msh-account-shell table{max-width:100%}
.msh-private-security-note{border:1px solid rgba(201,162,39,.22);background:#fffaf0;border-radius:14px;padding:14px 16px;color:#5f4a0f}
@media(max-width:782px){.msh-account-shell,.msh-portal{overflow-x:clip}.msh-account-shell button,.msh-account-shell .msh-button,.msh-portal button,.msh-portal .msh-button{min-height:var(--msh-v221-touch)}.msh-portal table,.msh-account-shell table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.msh-admin .widefat{display:block;overflow-x:auto}}
@media(max-width:430px){.msh-portal,.msh-account-shell{--msh-card-radius:16px}.msh-portal .msh-grid,.msh-account-shell .msh-grid{grid-template-columns:1fr!important}.msh-portal input:not([type=checkbox]):not([type=radio]),.msh-account-shell input:not([type=checkbox]):not([type=radio]){font-size:16px}}
@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}.msh-portal *,.msh-account-shell *{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}


/* v221 production polish: safe modern defaults without overriding component design. */
:where(.msh-account-shell,.msh-portal,.msh-service-page,.home-iecc-app) :where(h1,h2,h3){
  text-wrap:balance;
}
:where(.msh-account-shell,.msh-portal,.msh-service-page,.home-iecc-app) :where(p,li,a,button,label,td,th){
  overflow-wrap:anywhere;
}
:where(.msh-account-shell,.msh-portal,.msh-service-page,.home-iecc-app) :where(section,[id]){
  scroll-margin-top:clamp(84px,10vw,132px);
}
:where(.msh-account-shell,.msh-portal,.home-iecc-app) :where(input,select,textarea,button){
  min-width:0;
}
:where(.msh-account-shell,.msh-portal,.home-iecc-app) :where(iframe,video){
  max-inline-size:100%;
}
@supports (height:100dvh){
  :where(.site-navigation.is-open,.msh-mobile-drawer,.msh-account-mobile-nav){
    max-block-size:100dvh;
  }
}
@media (max-width:782px){
  :where(.msh-mobile-dock,.msh-account-mobile-nav){
    padding-bottom:max(8px,env(safe-area-inset-bottom));
  }
  :where(.msh-account-shell,.msh-portal,.home-iecc-app) :where(.msh-actions,.msh-cta-row){
    flex-wrap:wrap;
  }
}

/* v222: customer account UI continuity */
.msh-account--app { border-radius: 24px; }
.msh-account--app :is(button,a,input,select,textarea):focus-visible { outline: 3px solid rgba(185,144,52,.50); outline-offset: 3px; }
@media (max-width: 640px) { .msh-account--app .msh-account-nav { overscroll-behavior-inline: contain; } }
