
/* SSRP v0.13.1 — Full-system UI stabilization */
html,body{max-width:100%;overflow-x:hidden}
img,video,iframe,canvas,svg{max-width:100%}
main{min-width:0}
.section,.admin-page,.panel,.card,.row,.detail-grid>div,.form-grid>*{min-width:0}
.panel,.card,.row,.detail-grid>div{overflow-wrap:anywhere}
pre,code{max-width:100%;overflow:auto}
table{min-width:640px}
.table-wrap{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}

/* Shared classes used across legacy/new modules */
.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#182029;border:1px solid #2a3540;color:#c9d2dc;font-size:.76rem;font-weight:800}
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.compact-list{display:grid;gap:12px}
.compact-list>.panel{margin:0}
.achievement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.achievement-card{min-width:0}

/* Main navigation: never hide links before the menu button appears */
@media(max-width:1180px){
  .site-nav-toggle{display:inline-flex!important;align-items:center;gap:8px;margin-left:auto}
  .nav{height:auto;min-height:76px;position:sticky!important;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}
  .nav .site-nav{display:none!important;width:100%;flex-direction:column;align-items:stretch;gap:3px;padding:10px 0 0;overflow:visible}
  .nav .site-nav.is-open{display:flex!important}
  .nav .site-nav a,.nav nav a:not(.btn){display:block!important;width:100%;padding:10px 12px;border-radius:8px}
  .nav .site-nav a:hover{background:#111820}
}
@media(min-width:1181px){
  .site-nav-toggle{display:none!important}
  .nav .site-nav{display:flex!important;gap:17px;white-space:nowrap}
  .nav .site-nav a{font-size:.88rem}
}

/* Admin navigation containment */
.admin-nav-shell{max-width:100%;min-width:0}
.admin-nav{max-width:100%;min-width:0}
.admin-nav-group,.admin-nav-links{min-width:0}
@media(max-width:980px){
  .admin-nav-toggle{display:flex!important;width:100%;align-items:center;justify-content:space-between}
  .admin-nav{display:none!important;max-height:68vh;overflow:auto!important;flex-direction:column!important;align-items:stretch!important}
  .admin-nav.is-open{display:flex!important}
  .admin-nav-links{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;white-space:normal!important}
}
@media(max-width:520px){
  .admin-nav-links{grid-template-columns:1fr!important}
}

/* Consistent page containers for Immersion */
.immersion-page,.immersion-admin-page{
  width:min(1180px,90vw)!important;
  max-width:min(1180px,90vw)!important;
  margin:0 auto!important;
  padding:64px 0!important;
}
.newspaper-shell{
  width:min(1120px,90vw)!important;
  max-width:min(1120px,90vw)!important;
  margin:0 auto!important;
  padding:64px 0!important;
}

/* Applications: contain arbitrary applicant content */
.application-answer-text,.application-response,.note p{
  white-space:pre-wrap!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  max-width:100%!important;
}
.application-review-layout{min-width:0}
.application-review-main,.application-review-layout aside{min-width:0}
.application-review-page input,
.application-review-page textarea,
.application-review-page select{min-width:0;max-width:100%}
@media(max-width:820px){
  .application-review-layout{grid-template-columns:1fr!important}
  .application-review-layout .sticky-panel{position:static!important}
}

/* Recruitment */
.recruitment-center,.application-dashboard,.application-form-page,.interview-booking-page{min-width:0}
@media(max-width:900px){
  .card-grid,.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  .card-grid,.achievement-grid{grid-template-columns:1fr}
}

/* Forms */
input,select,textarea,button{max-width:100%}
.form-grid>*{min-width:0}
.inline-filter,.inline-form,.section-actions,.vacancy-actions{max-width:100%}

/* Footer */
footer{max-width:100%;overflow:hidden}
