/* V12.1 — substantive diagnostic assessment refinements */
.assessment-instruction{margin:0 0 18px;padding:14px 16px;border:1px solid #bfd4e2;border-left:5px solid var(--blue);border-radius:12px;background:#f2f8fc;color:#244154}
.scale-key{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 16px}.scale-key span{padding:6px 10px;border:1px solid #cfdae2;border-radius:999px;background:#f7fafc;font-size:.88rem;font-weight:750;color:#38566a}
.readiness-section>.likert{display:block;padding:15px 0;border:0;border-bottom:1px solid #e1e9ee}.readiness-section>.likert legend{width:100%;padding:0;margin:0 0 10px;color:#20384a;font-weight:800;line-height:1.45}.likert-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.likert-choice{position:relative;min-height:62px;display:flex;align-items:center;justify-content:center;border:1.5px solid #cad8e1;border-radius:12px;background:#f7fafc;cursor:pointer}.likert-choice input{position:absolute;opacity:0;pointer-events:none}.likert-number{display:grid;place-items:center;width:34px;height:34px;border:2px solid #7890a0;border-radius:50%;font-weight:900;color:#1d4e70;background:#fff}.likert-choice:has(input:checked){border-color:#1e79a7;background:#eaf6fc;box-shadow:0 0 0 3px rgba(30,121,167,.12)}.likert-choice:has(input:checked) .likert-number{border-color:#1e79a7;background:#1e79a7;color:#fff}.support-field{margin-top:18px}.support-field textarea{width:100%;min-height:110px}
.diagnostic-domain{margin:22px 0 30px;padding:0 0 6px;border:1px solid #d3e0e8;border-radius:16px;background:#fbfdfe;overflow:hidden}.domain-header{padding:17px 18px;background:linear-gradient(135deg,#153f61,#246889);color:#fff}.domain-header h3{margin:5px 0 4px;color:#fff;font-size:clamp(1.16rem,2.4vw,1.5rem)}.domain-header p{margin:0;max-width:900px;color:rgba(255,255,255,.88)}.domain-badge{display:inline-flex;padding:4px 9px;border-radius:999px;background:#f4c33b;color:#382b06;font-weight:900;font-size:.8rem}.diagnostic-domain>.question{margin:14px 15px;padding:15px 16px;background:#fff}.diagnostic-item legend{display:flex;gap:8px;align-items:flex-start;width:100%;font-size:1.02rem;line-height:1.48}.item-number{flex:0 0 auto;color:#1c6d97}.item-stem{display:block}.item-hint{margin:6px 0 10px;color:#687986;font-size:.83rem}.diagnostic-item .options{gap:9px}.diagnostic-item .option{position:relative;display:grid;grid-template-columns:auto auto 1fr;align-items:flex-start;gap:10px;min-height:58px;padding:11px 12px;border:1.5px solid #d7e1e7;background:#fff}.diagnostic-item .option input{margin:7px 0 0;width:20px;height:20px}.option-letter{display:grid;place-items:center;min-width:30px;height:30px;margin-top:1px;border-radius:8px;background:#edf3f7;color:#21445c;font-weight:900}.option-text{padding-top:3px;line-height:1.48}.diagnostic-item .option:has(input:checked){border-color:#1c78a5;background:#eef8fd;box-shadow:0 0 0 3px rgba(28,120,165,.11)}.diagnostic-item .option:has(input:checked) .option-letter{background:#1c78a5;color:#fff}
.confidence-check{margin:15px;border:1.5px dashed #9cb8c9;border-radius:14px;padding:15px;background:#f0f7fb}.confidence-check legend{padding:0 5px;color:#173f60;font-weight:900}.confidence-check p{margin:5px 0 12px;color:#5b6f7d;font-size:.9rem}.confidence-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.confidence-choice{position:relative;display:flex;min-height:68px;align-items:center;justify-content:center;gap:7px;padding:9px;border:1.5px solid #c7d6df;border-radius:12px;background:#fff;text-align:center;cursor:pointer}.confidence-choice input{position:absolute;opacity:0}.confidence-choice strong{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e8f0f5;color:#1a4f70}.confidence-choice span{font-size:.84rem;font-weight:750;color:#4d6372}.confidence-choice:has(input:checked){border-color:#68419b;background:#f5f0fb;box-shadow:0 0 0 3px rgba(104,65,155,.11)}.confidence-choice:has(input:checked) strong{background:#68419b;color:#fff}
.profile table td:nth-child(4){font-weight:750}.profile table td:nth-child(5),.profile table td:nth-child(6){min-width:260px}.priority p{margin:6px 0 0}.profile .metric small{display:block;line-height:1.35}
@media(max-width:760px){.assessment-instruction{padding:12px 13px}.scale-key{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.scale-key span{text-align:center}.likert-options,.confidence-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.likert-choice{min-height:56px}.diagnostic-domain{margin:17px 0 22px;border-radius:13px}.domain-header{padding:14px}.diagnostic-domain>.question{margin:10px 8px;padding:12px 10px}.diagnostic-item legend{font-size:.96rem}.diagnostic-item .option{grid-template-columns:auto auto 1fr;padding:10px 9px;gap:8px}.option-letter{min-width:28px;height:28px}.confidence-check{margin:10px 8px;padding:12px 9px}.confidence-choice{min-height:62px;display:grid;gap:2px}.confidence-choice span{font-size:.72rem}.readiness-section>.likert legend{font-size:.94rem}.profile table{min-width:1040px}}
@media(max-width:430px){.likert-options,.confidence-options{grid-template-columns:repeat(2,minmax(0,1fr))}.confidence-choice{display:flex}.diagnostic-item .option{grid-template-columns:auto 1fr}.diagnostic-item .option input{grid-row:1}.option-letter{display:none}.item-hint{display:none}}
@media print{.confidence-check,.scale-key{break-inside:avoid}.diagnostic-domain{break-inside:auto}.diagnostic-item{break-inside:avoid}.domain-header{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* V12.2 — mobile layout correction for readiness scale and floating controls */
.assessment-form .readiness-section > fieldset.likert.readiness-item{
  display:block!important;
  grid-template-columns:none!important;
  align-items:initial!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:16px 0!important;
  border:0!important;
  border-bottom:1px solid #e1e9ee!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  font-size:inherit!important;
}
.assessment-form .readiness-section > fieldset.likert.readiness-item:last-of-type{
  border-bottom:0!important;
}
.assessment-form .readiness-section > fieldset.likert.readiness-item > legend{
  display:block!important;
  float:none!important;
  width:100%!important;
  max-width:none!important;
  margin:0 0 12px!important;
  padding:0!important;
  color:#20384a!important;
  font-size:1rem!important;
  font-weight:800!important;
  line-height:1.5!important;
}
.assessment-form .readiness-section .likert-options{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  gap:8px!important;
  margin:0!important;
  padding:0!important;
}
.assessment-form .readiness-section .likert-choice{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  min-height:54px!important;
  margin:0!important;
  padding:6px!important;
  border:1.5px solid #cad8e1!important;
  border-radius:12px!important;
  background:#f7fafc!important;
  box-shadow:none!important;
  text-align:center!important;
  cursor:pointer!important;
}
.assessment-form .readiness-section .likert-choice::before,
.assessment-form .readiness-section .likert-choice::after{
  content:none!important;
  display:none!important;
}
.assessment-form .readiness-section .likert-choice input[type="radio"]{
  position:absolute!important;
  inset:auto!important;
  width:1px!important;
  height:1px!important;
  min-width:1px!important;
  min-height:1px!important;
  margin:-1px!important;
  padding:0!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  border:0!important;
  opacity:0!important;
  pointer-events:none!important;
}
.assessment-form .readiness-section .likert-number{
  display:grid!important;
  place-items:center!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  max-width:34px!important;
  max-height:34px!important;
  margin:0!important;
  padding:0!important;
  border:2px solid #7890a0!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#1d4e70!important;
  font-size:1rem!important;
  font-weight:900!important;
  line-height:1!important;
}
.assessment-form .readiness-section .likert-choice:has(input:checked){
  border-color:#1e79a7!important;
  background:#eaf6fc!important;
  box-shadow:0 0 0 3px rgba(30,121,167,.12)!important;
}
.assessment-form .readiness-section .likert-choice:has(input:checked) .likert-number{
  border-color:#1e79a7!important;
  background:#1e79a7!important;
  color:#fff!important;
}
.assessment-form .readiness-section .likert-choice:focus-within{
  outline:3px solid #f3bd31!important;
  outline-offset:2px!important;
}

@media(max-width:760px){
  .readiness-section{padding:14px 12px!important}
  .readiness-section>p{margin-bottom:10px!important;line-height:1.55!important}
  .scale-key{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;margin:10px 0 8px!important}
  .scale-key span{padding:6px 7px!important;font-size:.78rem!important;line-height:1.25!important}
  .assessment-form .readiness-section > fieldset.likert.readiness-item{padding:14px 0!important}
  .assessment-form .readiness-section > fieldset.likert.readiness-item > legend{font-size:.95rem!important;line-height:1.45!important;margin-bottom:10px!important}
  .assessment-form .readiness-section .likert-options{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important}
  .assessment-form .readiness-section .likert-choice{min-height:52px!important;padding:5px!important}
  .assessment-form .readiness-section .likert-number{width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;max-width:32px!important;max-height:32px!important;font-size:.95rem!important}
  .support-field{margin-top:14px!important}
  .support-field label{font-size:.96rem!important;line-height:1.4!important}
  .support-field textarea{min-height:96px!important}
}

@media(max-width:380px){
  .assessment-form .readiness-section .likert-options{gap:5px!important}
  .assessment-form .readiness-section .likert-choice{min-height:48px!important;border-radius:10px!important}
  .assessment-form .readiness-section .likert-number{width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;max-width:30px!important;max-height:30px!important;font-size:.9rem!important}
}

@media(max-width:760px){
  .roster-quick-access{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    min-height:48px!important;
    left:12px!important;
    bottom:14px!important;
    padding:0!important;
    border-radius:50%!important;
  }
  .roster-quick-access__icon{font-size:21px!important}
  .roster-quick-access__label{display:none!important}
  [data-back-to-top],.back-to-top,#backToTop,.to-top{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    min-height:48px!important;
    right:12px!important;
    bottom:14px!important;
    padding:0!important;
    border-radius:50%!important;
  }
  body{padding-bottom:68px!important}
}
