/* Cashbook Finance v2.8.7 — secure portal progress and mobile hero spacing refinements */

/* Keep the desktop application progress card fixed beside the active form
   section. The card itself must never become a horizontal or internal scroll
   container; the page performs all scrolling. */
body[data-page="portal"] .portal-layout{
  overflow:visible!important;
}

@media (min-width:821px){
  html:has(body[data-page="portal"]){
    overflow-x:clip!important;
    overflow-y:auto!important;
  }
  body[data-page="portal"]{
    overflow-x:clip!important;
    overflow-y:visible!important;
  }
  body[data-page="portal"] main,
  body[data-page="portal"] .page.active{
    overflow:visible!important;
  }
  body[data-page="portal"] .portal-rail{
    position:sticky!important;
    top:96px!important;
    align-self:start!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:max-content!important;
    max-height:none!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
    scrollbar-width:none!important;
    background-image:radial-gradient(circle at 105% -5%,rgba(61,155,233,.16),rgba(61,155,233,0) 44%)!important;
  }
  body[data-page="portal"] .portal-rail::-webkit-scrollbar{
    display:none!important;
    width:0!important;
    height:0!important;
  }
  body[data-page="portal"] .portal-rail::before{
    display:none!important;
    content:none!important;
  }
  body[data-page="portal"] .portal-steps{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:visible!important;
    overscroll-behavior:none!important;
  }
  body[data-page="portal"] .portal-step{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
}

/* Balance the secure-portal hero vertically on mobile. A global subhero rule
   previously added a large top offset; portal-specific spacing is now equal
   above and below the hero content. */
@media (max-width:820px){
  body[data-page="portal"] .subhero{
    padding-top:34px!important;
    padding-bottom:34px!important;
  }
}
@media (max-width:560px){
  body[data-page="portal"] .subhero{
    padding-top:28px!important;
    padding-bottom:28px!important;
  }
}
