/* V157 Universal Mobile Responsive Portal Fix - Safe overlay only */
html,body{max-width:100%!important;overflow-x:hidden!important}
img,video,iframe{max-width:100%!important;height:auto}
*{box-sizing:border-box}

/* Public header mobile stability */
@media(max-width:930px){
  .hs-site-header{position:sticky!important;top:0!important;z-index:9999!important;width:100%!important}
  .hs-nav-container{width:100%!important;max-width:100%!important;padding:10px 14px!important;gap:10px!important;min-height:74px!important}
  .hs-brand{flex:1 1 auto!important;min-width:0!important;max-width:calc(100% - 76px)!important}
  .hs-brand span{min-width:0!important;overflow:hidden!important}
  .hs-brand strong{font-size:14px!important;line-height:1.12!important;word-break:normal!important}
  .hs-brand small{font-size:7px!important;letter-spacing:.12em!important;white-space:nowrap!important}
  .hs-brand img{width:48px!important;height:48px!important;min-width:48px!important;max-width:48px!important;object-fit:contain!important;background:#fff!important}
  .hs-menu-toggle{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:58px!important;height:58px!important;border-radius:20px!important;margin-left:8px!important;flex:0 0 58px!important;background:#062452!important;color:#fff!important;border:0!important;box-shadow:0 16px 40px rgba(6,36,82,.16)!important}
  .hs-actions{display:none!important}
  .hs-nav{right:-88vw!important;width:86vw!important;max-width:360px!important;height:100dvh!important;top:0!important;padding:92px 18px 24px!important;overflow-y:auto!important;overflow-x:hidden!important}
  .hs-nav.open{right:0!important}
}

/* Admin / dashboard universal layout */
.admin-section,.admin-shell,.admin-main{max-width:100%!important;min-width:0!important}
.admin-main{overflow-x:hidden!important}
.admin-main table,.portal-content-pro table,.table table{min-width:720px!important}
.table-wrap,.wrap,.v146-table-wrap,.admin-table-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;width:100%!important}
.admin-hero,.hero,.card,.dash-panel,.metric-card,.candidate-card,.quick-card,.action,.table{max-width:100%!important}

/* Mobile admin: real off-canvas sidebar instead of broken half page */
.hsc-admin-mobile-btn,.hsc-portal-mobile-btn{display:none}
.hsc-admin-overlay,.hsc-portal-overlay{display:none}
@media(max-width:900px){
  body{padding-bottom:0!important}
  .admin-shell{display:block!important;width:100%!important;max-width:100%!important;grid-template-columns:1fr!important;overflow:visible!important}
  .admin-main{width:100%!important;max-width:100%!important;margin:0!important;padding:16px!important;min-width:0!important}
  .admin-sidebar{
    position:fixed!important;
    left:-92vw!important;
    top:0!important;
    width:88vw!important;
    min-width:88vw!important;
    max-width:360px!important;
    height:100dvh!important;
    max-height:100dvh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    border-radius:0 28px 28px 0!important;
    z-index:2147482500!important;
    transition:left .28s ease, transform .28s ease!important;
    box-shadow:22px 0 70px rgba(0,0,0,.28)!important;
  }
  body.hsc-admin-sidebar-open .admin-sidebar{left:0!important;transform:none!important}
  body.hsc-admin-sidebar-open{overflow:hidden!important}
  .hsc-admin-overlay{display:block;position:fixed;inset:0;background:rgba(2,12,32,.58);z-index:2147482400;opacity:0;pointer-events:none;transition:.25s}
  body.hsc-admin-sidebar-open .hsc-admin-overlay{opacity:1;pointer-events:auto}
  .hsc-admin-mobile-btn{
    display:flex!important;
    position:sticky!important;
    top:84px!important;
    z-index:2147482000!important;
    width:calc(100% - 28px)!important;
    margin:12px auto 14px!important;
    min-height:60px!important;
    border:0!important;
    border-radius:22px!important;
    background:#062452!important;
    color:#fff!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
    font-weight:1000!important;
    font-size:20px!important;
    box-shadow:0 18px 48px rgba(6,36,82,.18)!important;
  }
  .side-toggle-wrap{padding:12px 16px!important}
  .admin-hero{border-radius:22px!important;padding:22px!important;margin:0 0 16px!important}
  .admin-hero h1{font-size:28px!important;line-height:1.08!important;word-break:normal!important}
  .dash-top,.quick-dashboard,.hr-stat-grid,.stats-grid,.cards,.grid,.dashboard-cards{grid-template-columns:1fr!important;gap:12px!important}
  .dash-grid-main,.candidate-head,.candidate-body{grid-template-columns:1fr!important;max-width:100%!important}
  .candidate-card{width:100%!important;max-width:100%!important;margin:14px 0!important;border-radius:22px!important;overflow:hidden!important}
  .candidate-head,.candidate-body{padding:16px!important;gap:12px!important}
  .action-stack,.hr-toolbar,.bulk-bar{justify-content:flex-start!important;min-width:0!important;width:100%!important;gap:8px!important}
  .btn,.btn-primary,.btn-soft,button,.hs-btn{max-width:100%!important;white-space:normal!important;text-align:center!important}
  input,select,textarea{max-width:100%!important}
}

/* Applicant / alumni / portal sidebars mobile */
@media(max-width:980px){
  .portal-shell-pro{display:block!important;width:100%!important;max-width:100%!important;padding:0!important;overflow:hidden!important}
  .portal-content-pro{width:100%!important;max-width:100%!important;padding:18px 14px!important;overflow-x:hidden!important}
  .portal-content-pro>h1{font-size:30px!important;line-height:1.08!important}
  .portal-sidebar-pro{
    position:fixed!important;
    top:0!important;
    left:-92vw!important;
    width:88vw!important;
    max-width:360px!important;
    min-width:0!important;
    height:100dvh!important;
    max-height:100dvh!important;
    overflow-y:auto!important;
    border-radius:0 28px 28px 0!important;
    z-index:2147482200!important;
    transition:left .28s ease!important;
  }
  body.hsc-portal-sidebar-open .portal-sidebar-pro{left:0!important}
  .hsc-portal-overlay{display:block;position:fixed;inset:0;background:rgba(2,12,32,.58);z-index:2147482100;opacity:0;pointer-events:none;transition:.25s}
  body.hsc-portal-sidebar-open .hsc-portal-overlay{opacity:1;pointer-events:auto}
  .hsc-portal-mobile-btn{
    display:flex!important;
    position:sticky!important;
    top:84px!important;
    z-index:2147481900!important;
    width:calc(100% - 28px)!important;
    margin:12px auto 14px!important;
    min-height:58px!important;
    border:0!important;
    border-radius:22px!important;
    background:#062452!important;
    color:#fff!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
    font-weight:1000!important;
    font-size:19px!important;
    box-shadow:0 18px 48px rgba(6,36,82,.18)!important;
  }
}

/* Student standalone portal responsiveness */
@media(max-width:820px){
  .top{height:auto!important;min-height:76px!important;padding:10px 14px!important;gap:8px!important;overflow:hidden!important}
  .top .brand{min-width:0!important;flex:1!important}.top .brand b{font-size:14px!important;line-height:1.12!important}.top .brand img{width:48px!important;height:48px!important;min-width:48px!important}
  .top .nav{display:none!important}
  .shell{display:block!important;min-height:auto!important;width:100%!important;overflow:hidden!important}
  .side{position:relative!important;width:100%!important;padding:14px!important;border-radius:0 0 24px 24px!important;display:flex!important;gap:8px!important;flex-wrap:wrap!important;align-items:center!important;overflow-x:auto!important;background:#062452!important}
  .side .brand{width:100%!important;margin-bottom:4px!important}.side a{margin:0!important;display:inline-flex!important;white-space:nowrap!important}
  .main{padding:16px!important;width:100%!important;overflow-x:hidden!important}
  .hero{border-radius:22px!important;padding:22px!important}.hero h1{font-size:26px!important}
  .cards{grid-template-columns:1fr!important}.action{display:block!important}
  .wrap{overflow-x:auto!important;width:100%!important}.wrap table{min-width:720px!important}
}

@media(max-width:520px){
  .admin-main,.portal-content-pro,.main{padding-left:12px!important;padding-right:12px!important}
  .hsc-admin-mobile-btn,.hsc-portal-mobile-btn{top:76px!important;width:calc(100% - 22px)!important;font-size:18px!important;min-height:56px!important}
  .admin-hero h1,.portal-content-pro>h1{font-size:26px!important}
  .metric-card b{font-size:26px!important}
}
