
/* SSRP v0.12.2 targeted layout repair */

/* -----------------------------
   IMMERSION LANDING PAGE
   ----------------------------- */
body .immersion-hero{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  min-height:430px !important;
  display:flex !important;
  align-items:center !important;
  position:relative !important;
  overflow:hidden !important;
  border-bottom:1px solid #27303a !important;
  background:
    radial-gradient(circle at 78% 30%,rgba(217,45,45,.22),transparent 30%),
    linear-gradient(135deg,#0b0e12,#101820 60%,#07090c) !important;
}
body .immersion-hero .immersion-hero-inner{
  width:min(1180px,90vw) !important;
  max-width:min(1180px,90vw) !important;
  margin:0 auto !important;
  padding:72px 0 !important;
  position:relative !important;
  left:auto !important;
  right:auto !important;
  transform:none !important;
}
body .immersion-hero .eyebrow{
  display:block !important;
  margin:0 0 18px !important;
}
body .immersion-hero h1{
  max-width:1000px !important;
  margin:0 !important;
  padding:0 !important;
  font-size:clamp(3rem,7vw,6.4rem) !important;
  line-height:.94 !important;
  letter-spacing:-.055em !important;
  white-space:normal !important;
  overflow:visible !important;
}
body .immersion-hero h1 em{
  display:inline !important;
}
body .immersion-hero p{
  width:auto !important;
  max-width:700px !important;
  margin:24px 0 0 !important;
  font-size:1.1rem !important;
  line-height:1.65 !important;
  color:#aeb9c4 !important;
}

body .immersion-feature-section{
  width:min(1180px,90vw) !important;
  max-width:min(1180px,90vw) !important;
  margin:0 auto !important;
  padding:64px 0 82px !important;
}
body .immersion-feature-section .section-head{
  width:100% !important;
  margin:0 0 28px !important;
}
body .immersion-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
  width:100% !important;
  margin:0 !important;
}
body .immersion-grid .immersion-tile{
  display:flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;
  align-items:flex-start !important;
  width:100% !important;
  min-width:0 !important;
  min-height:220px !important;
  padding:24px !important;
  margin:0 !important;
  border:1px solid #27303a !important;
  border-radius:16px !important;
  background:linear-gradient(155deg,rgba(255,255,255,.025),transparent 60%),#10151b !important;
  color:#f3f6f8 !important;
  text-decoration:none !important;
  overflow:hidden !important;
}
body .immersion-grid .immersion-tile .tile-icon{
  width:48px !important;
  height:48px !important;
  display:grid !important;
  place-items:center !important;
  margin:0 0 24px !important;
  padding:0 !important;
  border:1px solid #29333e !important;
  border-radius:12px !important;
  background:#0c1116 !important;
  font-size:1.4rem !important;
  line-height:1 !important;
  color:#f3f6f8 !important;
}
body .immersion-grid .immersion-tile h3{
  margin:0 0 8px !important;
  font-size:1.2rem !important;
  line-height:1.25 !important;
}
body .immersion-grid .immersion-tile p{
  min-height:48px !important;
  margin:0 !important;
  line-height:1.55 !important;
  color:#98a6b5 !important;
}
body .immersion-grid .tile-cta{
  display:block !important;
  margin-top:18px !important;
  color:#ff746d !important;
  font-size:.78rem !important;
  font-weight:850 !important;
}

/* -----------------------------
   APPLICATION REVIEW PAGE
   ----------------------------- */
body .application-review-page{
  width:min(1180px,92vw) !important;
  max-width:min(1180px,92vw) !important;
  margin:0 auto !important;
  padding:34px 0 70px !important;
  overflow:visible !important;
}
body .application-review-head{
  display:flex !important;
  justify-content:space-between !important;
  align-items:flex-end !important;
  gap:20px !important;
  width:100% !important;
  margin:0 0 18px !important;
}
body .application-review-head h1{
  margin:4px 0 5px !important;
  font-size:clamp(2.6rem,5vw,4.6rem) !important;
  line-height:.98 !important;
  letter-spacing:-.045em !important;
}
body .application-review-page .admin-nav{
  width:100% !important;
  max-width:100% !important;
  overflow:hidden !important;
}
body .application-review-page .admin-nav-links{
  max-width:100% !important;
  min-width:0 !important;
  flex-wrap:wrap !important;
}
body .application-review-layout{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 340px !important;
  align-items:start !important;
  gap:18px !important;
  width:100% !important;
  max-width:100% !important;
}
body .application-review-layout > div,
body .application-review-layout > aside{
  min-width:0 !important;
  max-width:100% !important;
}
body .application-review-page .panel{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
}
body .application-review-page .detail-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px !important;
  width:100% !important;
  max-width:100% !important;
}
body .application-review-page .detail-grid > div{
  min-width:0 !important;
  max-width:100% !important;
  overflow:hidden !important;
}
body .application-review-page .detail-grid b,
body .application-review-page .detail-grid span{
  max-width:100% !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
}

body .application-answer-block{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
  margin:20px 0 0 !important;
}
body .application-answer-label{
  display:block !important;
  margin:0 0 8px !important;
  font-weight:800 !important;
  color:#f3f6f8 !important;
}
body .application-answer-text{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:14px 15px !important;
  border:1px solid rgba(255,255,255,.065) !important;
  border-radius:9px !important;
  background:#0b0f13 !important;
  color:#d9e0e6 !important;
  line-height:1.65 !important;
  white-space:pre-wrap !important;
  overflow-wrap:anywhere !important;
  word-wrap:break-word !important;
  word-break:break-all !important;
  overflow:hidden !important;
}
body .application-review-page .score-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px !important;
  width:100% !important;
}
body .application-review-page input,
body .application-review-page select,
body .application-review-page textarea{
  max-width:100% !important;
  min-width:0 !important;
}
body .application-review-layout .sticky-panel{
  position:sticky !important;
  top:96px !important;
  min-width:0 !important;
}
body .application-review-page .note,
body .application-review-page .history-item,
body .application-review-page .score-card{
  max-width:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
}
body .application-review-page .note p,
body .application-review-page .history-item p,
body .application-review-page .score-card p{
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
}

/* Force containment of arbitrary user content */
body .application-review-page *{
  box-sizing:border-box !important;
}
body .application-review-page img,
body .application-review-page video,
body .application-review-page iframe{
  max-width:100% !important;
}

@media(max-width:950px){
  body .immersion-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  body .application-review-layout{
    grid-template-columns:minmax(0,1fr) 300px !important;
  }
}
@media(max-width:780px){
  body .application-review-head{
    align-items:flex-start !important;
    flex-direction:column !important;
  }
  body .application-review-layout{
    grid-template-columns:1fr !important;
  }
  body .application-review-layout .sticky-panel{
    position:static !important;
  }
}
@media(max-width:650px){
  body .immersion-hero .immersion-hero-inner{
    width:min(1180px,90vw) !important;
    padding:52px 0 !important;
  }
  body .immersion-hero h1{
    font-size:clamp(2.6rem,13vw,4.2rem) !important;
  }
  body .immersion-grid{
    grid-template-columns:1fr !important;
  }
  body .application-review-page .detail-grid,
  body .application-review-page .score-grid{
    grid-template-columns:1fr !important;
  }
}

@media print{
  body .application-review-page{
    width:94% !important;
    max-width:94% !important;
    overflow:visible !important;
  }
  body .application-review-layout{
    display:block !important;
  }
  body .application-review-layout > aside{
    margin-top:18px !important;
  }
  body .application-review-layout .sticky-panel{
    position:static !important;
  }
  body .application-answer-text{
    word-break:break-all !important;
    overflow-wrap:anywhere !important;
  }
}


/* v0.13 Recruitment & Applicant Experience */
.recruitment-hero{width:100%;border-bottom:1px solid #27303a;background:radial-gradient(circle at 78% 22%,rgba(217,45,45,.19),transparent 30%),linear-gradient(135deg,#090c10,#111820 60%,#07090c)}
.recruitment-hero-inner{width:min(1180px,90vw);margin:0 auto;padding:76px 0}
.recruitment-hero h1{font-size:clamp(3rem,6.7vw,6rem);line-height:.94;letter-spacing:-.055em;margin:.15em 0;max-width:880px}
.recruitment-hero p{font-size:1.12rem;line-height:1.65;color:#aeb9c4;max-width:680px}
.hero-actions,.section-actions,.application-form-actions,.vacancy-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.recruitment-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:54px}
.recruitment-summary-grid .metric{display:block;font-size:3rem;line-height:1;margin:12px 0 8px}
.vacancy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.vacancy-card{min-width:0;display:flex;flex-direction:column;padding:22px;border:1px solid #27303a;border-radius:16px;background:#10151b}
.vacancy-card h3{font-size:1.25rem;margin:18px 0 7px}.vacancy-card p{color:#a6b1bc;overflow-wrap:anywhere}.vacancy-card details{margin:8px 0 18px}.vacancy-card .vacancy-actions{margin-top:auto;padding-top:20px}.vacancy-actions form{margin:0}
.application-form-actions{justify-content:space-between;margin-top:24px;padding-top:18px;border-top:1px solid #27303a}
.draft-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:42px}.draft-card{min-width:0}.draft-card h3{margin:12px 0 6px}
.application-tracking-list{display:grid;gap:16px}.application-tracking-card{overflow:hidden}.application-tracking-card .panel-head{align-items:flex-start}
.application-progress{display:grid;grid-template-columns:repeat(4,1fr);margin:26px 0}.application-progress>div{position:relative;text-align:center;color:#697783;font-size:.78rem}.application-progress>div:before{content:"";height:2px;background:#27303a;position:absolute;left:0;right:0;top:8px}.application-progress>div:first-child:before{left:50%}.application-progress>div:last-child:before{right:50%}.application-progress i{position:relative;z-index:1;display:block;width:18px;height:18px;margin:0 auto 8px;border-radius:50%;background:#27303a;border:3px solid #10151b}.application-progress .done{color:#e7edf2}.application-progress .done:before,.application-progress .done i{background:#d92d2d}
.interview-callout{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 16px;border:1px solid rgba(56,174,105,.25);background:rgba(56,174,105,.07);border-radius:10px}.interview-callout span{color:#aeb9c4}
.interview-slot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.interview-slot{min-width:0}.interview-slot strong{font-size:1.35rem;display:block;margin-bottom:8px}.interview-slot form{margin-top:18px}.booked-interview{border-color:rgba(56,174,105,.35);background:linear-gradient(140deg,rgba(56,174,105,.08),#10151b)}.booked-interview strong{font-size:1.5rem}
.recruitment-slot-admin{grid-template-columns:minmax(0,1fr) 380px}
@media(max-width:980px){.vacancy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recruitment-summary-grid,.draft-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recruitment-slot-admin{grid-template-columns:minmax(0,1fr) 330px}}
@media(max-width:760px){.recruitment-summary-grid,.vacancy-grid,.draft-grid,.interview-slot-grid,.recruitment-slot-admin{grid-template-columns:1fr}.interview-callout{align-items:flex-start;flex-direction:column}.recruitment-slot-admin .sticky-panel{position:static!important}.application-form-actions{align-items:stretch;flex-direction:column-reverse}.application-form-actions .btn{width:100%}.application-progress span{font-size:.68rem}}
