/* Recruitment 1.5.6: one compact control and responsive layout layer. */
:root{--ori-control-height:34px;--ori-control-small:30px}
.btn,.btn.compact,.icon-btn,.action-link{
  transition:background .16s ease,border-color .16s ease,color .16s ease,opacity .16s ease!important;
}
.btn{
  width:auto!important;min-width:0!important;min-height:var(--ori-control-height)!important;
  height:auto!important;padding:0 14px!important;border-radius:999px!important;
  font-size:11px!important;font-weight:700!important;line-height:1.25!important;
  letter-spacing:.025em!important;white-space:nowrap;
  flex:0 0 auto!important;box-sizing:border-box;
}
.btn.compact{min-height:var(--ori-control-small)!important;padding:0 12px!important;font-size:10px!important}
.icon-btn{width:32px!important;height:32px!important;min-height:32px!important}
.btn.primary{box-shadow:none!important}
.btn:before,.btn:after,.candidate-edit:before,.candidate-edit:after,.action-link:before,.action-link:after{
  content:none!important;display:none!important;
}
.btn:hover{transform:none!important;box-shadow:none!important}
.btn:focus-visible,.icon-btn:focus-visible{outline:2px solid #A87ADF;outline-offset:3px}
.btn:disabled{cursor:not-allowed;opacity:.45}
.dialog-actions>.btn,.candidate-dialog-actions>.btn{flex:0 0 auto!important;width:auto!important}
.candidate-table .candidate-actions>.btn,.candidate-table .candidate-actions>.candidate-edit{
  min-height:var(--ori-control-height)!important;padding:0 13px!important;
  flex:0 0 auto!important;width:auto!important;min-width:max-content!important;
  white-space:nowrap!important;overflow:visible!important;box-shadow:none!important;
}
.candidate-table .candidate-actions>.candidate-edit{background:transparent!important;border:1px solid transparent!important}
.candidate-table .candidate-actions>.candidate-edit:hover{background:rgba(255,255,255,.055)!important;border-color:rgba(255,255,255,.1)!important}
.candidate-table .candidate-actions{gap:10px!important;overflow:visible!important}
.candidate-table .candidate-grid-row{overflow:visible!important}
.candidate-table .candidate-grid-row:before,.candidate-table .candidate-grid-row:after{pointer-events:none}
.candidate-table .candidate-grid-row:hover{background:rgba(255,255,255,.02)}
.candidate-dialog-head{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important}
.candidate-modal-panel .candidate-dialog-head:before,.candidate-modal-panel .candidate-dialog-head:after{content:none!important;display:none!important}
.candidate-form-section-last{padding-bottom:20px!important;margin-bottom:12px!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
.candidate-form-section-last .form-section-label{margin-bottom:16px!important}
.notes-photo-grid{gap:18px!important}
.photo-field-copy>span{font-size:11px!important;color:var(--muted);line-height:1.4}
.photo-field-copy{gap:8px!important}
.edit-sync-note{padding-bottom:18px!important}
.edit-sync-note .form-grid{align-items:end}
#editWorkflowStatus{width:100%}
.record-management-actions>.btn{min-height:var(--ori-control-height)!important}
#deleteRecordForm .dialog-actions>.btn{min-height:var(--ori-control-height)!important}
#deleteNotionChoice[hidden]{display:none!important}
.question-packages-main{min-width:0}
.packages-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:22px 0 18px}
.packages-heading h2{margin:4px 0 8px}
.packages-heading p{margin:0}
.packages-layout{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(0,1.7fr);gap:16px;align-items:start}
.packages-list,.package-editor{min-width:0;padding:20px}
.package-list{display:grid;gap:8px}
.package-list-item{text-align:left;display:grid;gap:6px;padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:transparent;color:inherit;cursor:pointer}
.package-list-item.active{background:rgba(136,59,210,.12);border-color:rgba(136,59,210,.45)}
.package-list-item strong{font-size:13px}.package-list-item span{font-size:11px;color:var(--muted)}
.package-editor-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}
.package-editor-head h2{font-size:20px;margin:4px 0 0}
.package-question-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:22px 0 14px}
.package-question-heading h3{margin:0 0 6px;font-size:16px}
.package-question-heading p{margin:0;font-size:12px}
.package-question-list{display:grid;gap:12px}
.package-question{display:grid;gap:12px;padding:16px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(255,255,255,.02);min-width:0}
.package-question-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.package-question-actions{display:flex;gap:5px;flex-wrap:wrap}
.package-question label{display:grid;gap:6px;font-size:12px}
.package-question textarea{resize:vertical;min-height:64px}
.package-question input,.package-question textarea,.package-question select{width:100%;box-sizing:border-box}
.package-question .question-time{max-width:180px}
.package-editor-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:20px}
.package-editor-footer #packageStatus{margin-right:auto}
#packageStatus[data-state="error"]{color:#F4A4A4}
#packageStatus[data-state="success"]{color:#72D9A5}

/* Desktop interview: fixed viewport shell, independently shrinking video and notes. */
@media(min-width:1000px){
  body.interview-body.manager-page{
    height:100dvh!important;min-height:0!important;overflow:hidden!important;
    display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;
  }
  .manager-page .interview-minibar{min-height:0!important;height:48px!important;padding:6px 14px!important;margin:8px auto 0!important}
  .manager-page .manager-shell{
    height:100%!important;min-height:0!important;max-height:none!important;
    display:grid!important;grid-template-columns:minmax(0,1fr) minmax(295px,340px)!important;
    gap:12px!important;padding:10px 12px 12px!important;overflow:hidden!important;
  }
  .manager-page .manager-main{display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;gap:10px!important;min-height:0!important;overflow:hidden!important}
  .manager-page .question-workspace{
    display:grid!important;grid-template-columns:minmax(130px,.7fr) minmax(0,1.6fr) auto!important;
    gap:16px!important;padding:14px!important;min-height:0!important;
  }
  .manager-page .candidate-mini{min-width:0;gap:10px!important}
  .manager-page .candidate-mini .avatar{width:42px!important;height:42px!important;flex:0 0 42px!important}
  .manager-page .candidate-mini h2{font-size:15px!important;line-height:1.2!important}
  .manager-page .candidate-mini p,.manager-page .candidate-mini small{font-size:10px!important}
  .manager-page .question-main{min-height:0!important;align-content:center!important;overflow:hidden!important}
  .manager-page .question-main h1{font-size:clamp(16px,1.35vw,21px)!important;line-height:1.2!important;margin:8px 0!important}
  .manager-page .question-actions{min-width:0;align-self:center;gap:7px!important}
  .manager-page .question-actions .nav-row{display:flex;gap:6px;justify-content:flex-end}
  .manager-page .question-actions .private-total{justify-content:flex-end}
  .manager-page .question-actions .private-total strong{font-size:28px!important}
  .manager-page .question-actions .text-action{font-size:10px}
  .manager-page .meeting-card{display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;min-height:0!important;overflow:hidden!important;padding:12px!important}
  .manager-page .meeting-card:not(.no-transcript){grid-template-rows:auto auto minmax(0,1fr)!important}
  .manager-page .meeting-head{min-height:0!important;margin:0 0 8px!important;gap:10px}
  .manager-page .meeting-head h2{font-size:16px!important}
  .manager-page .meeting-presence{flex-wrap:wrap;justify-content:flex-end;gap:5px!important}
  .manager-page .meeting-presence .pill{font-size:10px!important;padding:5px 8px!important}
  .manager-page .meeting-frame{height:100%!important;min-height:0!important;overflow:hidden!important}
  .manager-page .jitsi-frame,.manager-page .jitsi-frame iframe{width:100%!important;height:100%!important;min-height:0!important}
  .manager-page .assessment-panel{
    height:100%!important;min-height:0!important;overflow:hidden!important;
    display:flex!important;flex-direction:column!important;gap:0!important;padding:14px!important;
  }
  .manager-page .assessment-head{flex:0 0 auto;margin-bottom:10px!important}
  .manager-page .assessment-head h2{font-size:17px!important}
  .manager-page .active-dimension{flex:0 0 auto;padding:10px!important;margin-bottom:10px!important}
  .manager-page .active-dimension small{font-size:10px!important;line-height:1.4!important}
  .manager-page .score-sliders{flex:0 0 auto;min-width:0}
  .manager-page .rating-status{flex:0 0 auto;margin:7px 0!important}
  .manager-page .rating-scale{gap:4px!important}
  .manager-page .rating-option{min-width:0!important;padding:7px 2px!important}
  .manager-page .question-notes{flex:1 1 auto;min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain;padding-right:4px}
  .manager-page .question-notes textarea{min-height:54px!important;resize:vertical}
  .manager-page .assessment-footer{flex:0 0 auto;padding-top:9px!important;gap:6px!important}
  .manager-page .assessment-footer .btn{width:100%!important}
}
.recruitment-notice{
  position:fixed!important;z-index:80!important;top:68px!important;right:24px!important;
  left:auto!important;max-width:min(440px,calc(100vw - 32px))!important;
  width:max-content!important;margin:0!important;padding:12px 12px 12px 15px!important;
  display:flex!important;align-items:start;gap:12px;box-shadow:0 10px 35px rgba(0,0,0,.35);
}
.recruitment-notice .icon-btn{flex:0 0 28px!important;width:28px!important;height:28px!important;min-height:28px!important}
.recruitment-notice[hidden]{display:none!important}
.recruitment-notice span{font-size:12px;line-height:1.5}

/* Compact laptop: retain the same interviewer layout without clipping the video. */
@media(min-width:1000px) and (max-width:1250px){
  .manager-page .manager-shell{grid-template-columns:minmax(0,1fr) 300px!important}
  .manager-page .question-workspace{grid-template-columns:minmax(105px,.6fr) minmax(0,1.4fr) auto!important;gap:10px!important}
  .manager-page .question-actions .nav-row{flex-wrap:wrap}
  .manager-page .candidate-mini .avatar{width:34px!important;height:34px!important;flex-basis:34px!important}
}
@media(max-width:999px){
  body.interview-body.manager-page,body.interview-body.candidate-page{height:auto!important;min-height:100dvh!important;overflow-y:auto!important}
  .manager-page .manager-shell{height:auto!important;min-height:0!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;padding:12px!important;gap:12px!important;overflow:visible!important}
  .manager-page .manager-main{min-height:0!important;display:grid!important;grid-template-rows:auto auto!important;overflow:visible!important}
  .manager-page .question-workspace{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;padding:16px!important}
  .manager-page .question-main{min-height:0!important}
  .manager-page .question-main h1{font-size:clamp(16px,3vw,21px)!important}
  .manager-page .question-actions{display:flex!important;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
  .manager-page .meeting-card{min-height:0!important;padding:12px!important}
  .manager-page .meeting-frame{height:clamp(260px,50vw,520px)!important;min-height:260px!important}
  .manager-page .assessment-panel{position:static!important;display:flex!important;flex-direction:column!important;min-height:0!important;height:auto!important;max-height:none!important;overflow:visible!important}
  .manager-page .question-notes{overflow:visible!important}
  .manager-page .assessment-toggle,.manager-page .assessment-close{display:none!important}
  .manager-page .assessment-footer .btn{width:auto!important}
  .recruitment-notice{top:60px!important;right:12px!important;max-width:calc(100vw - 24px)!important}
}
@media(max-width:560px){
  .packages-layout{grid-template-columns:minmax(0,1fr)}
  .packages-heading{align-items:start;flex-direction:column}
  .packages-list,.package-editor{padding:14px}
  .package-question-top{align-items:start;flex-direction:column}
  .package-editor-footer{justify-content:flex-start}
  .manager-page .meeting-head{flex-direction:column;align-items:start}
  .manager-page .meeting-presence{justify-content:flex-start}
  .manager-page .question-actions .nav-row{flex-wrap:wrap}
  .candidate-modal-panel{width:100%!important;max-height:calc(100dvh - 16px)!important}
  .candidate-dialog-actions{gap:8px!important}
  .candidate-dialog-actions>.btn{flex:1 1 auto!important}
  .notes-photo-grid{grid-template-columns:minmax(0,1fr)!important}
  .candidate-share-controls{display:flex;flex-wrap:wrap;min-width:0}
  .candidate-share-controls input{flex:1 1 100%!important;min-width:0}
}
@media(prefers-reduced-motion:reduce){.btn,.icon-btn{transition:none!important}}

/* Final narrow-screen layout: override the old off-canvas assessment drawer. */
.manager-page .meeting-card,.manager-page .meeting-head,.manager-page .meeting-presence,
.manager-page .meeting-frame,.manager-page .jitsi-frame,.manager-page .manager-main{
  min-width:0!important;max-width:100%!important;box-sizing:border-box;
}
.manager-page .meeting-head{width:100%;display:flex;flex-wrap:wrap}
.manager-page .meeting-presence{display:flex;flex-wrap:wrap;min-width:0;max-width:100%;width:auto}
.manager-page .meeting-presence .pill{max-width:100%;overflow-wrap:anywhere;white-space:normal;line-height:1.3}
@media(max-width:999px){
  .manager-page .assessment-panel{
    position:static!important;transform:none!important;left:auto!important;right:auto!important;
    top:auto!important;bottom:auto!important;width:100%!important;max-width:100%!important;
    margin:0!important;z-index:auto!important;box-shadow:none!important;
    visibility:visible!important;pointer-events:auto!important;
  }
  .manager-page .meeting-frame,.manager-page .jitsi-frame{width:100%!important;max-width:100%!important;min-width:0!important}
  .manager-page .manager-main,.manager-page .manager-shell{width:100%!important;min-width:0!important;box-sizing:border-box}
  .manager-page .meeting-head{flex-direction:column!important;align-items:stretch!important}
  .manager-page .meeting-presence{justify-content:flex-start!important}
}

@media(min-width:1000px){
  .manager-page .assessment-panel{
    position:relative!important;top:0!important;bottom:auto!important;
    left:auto!important;right:auto!important;transform:none!important;
    margin:0!important;width:100%!important;max-width:100%!important;
    box-sizing:border-box!important;
  }
}

/* V1.5.7: a solid, bottom-centred notice. It never participates in the meeting grid. */
body.interview-body .recruitment-notice{
  position:fixed!important;
  top:auto!important;right:auto!important;bottom:20px!important;left:50%!important;
  transform:translateX(-50%)!important;
  z-index:10000!important;
  width:max-content!important;max-width:min(520px,calc(100vw - 24px))!important;
  max-height:50dvh!important;
  box-sizing:border-box!important;
  padding:12px 14px!important;margin:0!important;
  display:flex!important;align-items:center!important;gap:12px!important;
  background:#1B2028!important;background-color:#1B2028!important;
  background-image:none!important;color:#F4F5F7!important;
  border:1px solid #4B333B!important;border-radius:14px!important;
  box-shadow:0 10px 30px rgba(0,0,0,.35)!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  opacity:1!important;filter:none!important;
  overflow:auto!important;
}
body.interview-body .recruitment-notice:before,
body.interview-body .recruitment-notice:after{content:none!important;display:none!important}
body.interview-body .recruitment-notice span{min-width:0;overflow-wrap:anywhere}
body.interview-body .recruitment-notice .icon-btn{
  appearance:none!important;flex:0 0 28px!important;width:28px!important;height:28px!important;
  padding:0!important;margin:0!important;border:0!important;border-radius:8px!important;
  background:transparent!important;color:#E5E7EB!important;box-shadow:none!important;
  font-size:18px!important;line-height:1!important;display:grid!important;place-items:center!important;
}
body.interview-body .recruitment-notice .icon-btn:hover{background:#303640!important}
body.interview-body .recruitment-notice[hidden]{display:none!important}
@media(max-width:560px){
  body.interview-body .recruitment-notice{bottom:12px!important;max-width:calc(100vw - 24px)!important}
}
