/* FILE-O academic templates and DOCX norm-control interface. */
body[data-utility="norm-control"] .ut-main,
body[data-utility="academic-toc"] .ut-main{max-width:1220px}
body[data-utility="norm-control"] .ut-grid{grid-template-columns:minmax(0,1.6fr) minmax(290px,.7fr)}
body[data-utility="norm-control"] .ut-card:first-child{min-width:0}
.academic-report-top{border:1px solid #e2ddeb;background:#f8f6ff;
  padding:17px 19px;border-radius:12px;margin-bottom:17px}
.academic-report-top strong{font-size:16px;color:#342959}
.academic-report-top p{color:#605977;line-height:1.6;font-size:12px;margin:9px 0 0}
.academic-issues{display:flex;flex-direction:column;gap:9px;max-height:680px;
 overflow-y:auto;list-style:none;margin:0;padding:2px 4px 2px 0}
.academic-issue{border:1px solid #e4e0eb;border-left:4px solid #b6a7d6;
 border-radius:10px;padding:12px 14px;background:#fff;
 display:grid;gap:5px}
.academic-issue.high{border-left-color:#ce5d75}
.academic-issue.medium{border-left-color:#dba65e}
.academic-issue.low{border-left-color:#9080d6}
.academic-place{font-size:11px;font-weight:830;color:#6d5cba}
.academic-message{font-size:13px;color:#302b4d;line-height:1.5}
.academic-issue small{font-size:10.5px;color:#857d98}
.academic-disclaimer{font-size:12px;color:#867d95;margin:14px 0;line-height:1.6}
.academic-actions{display:flex;gap:9px;margin-top:14px}
#academicFix{border:1px solid #8c74e3;background:#f2edff;color:#6750bc}
#academicFix[hidden]{display:none!important}
.ut-result .academic-issues{white-space:normal}
@media(max-width:760px){
 body[data-utility="norm-control"] .ut-grid{grid-template-columns:1fr}
 .academic-issues{max-height:550px}
}

/* Distinguish contact, registration and opt-in banking details in letter forms. */
.academic-letter-only[hidden],
.academic-bank-field[hidden],
.ut-field.academic-letter-only[hidden],
.ut-field.academic-bank-field[hidden]{display:none!important}
#utForm>h3.academic-letter-only{margin-top:22px}
#utForm>.ut-field.academic-bank-field{padding-left:11px;border-left:3px solid #e2d9f4}
#utForm>.ut-field.academic-letter-only{margin-bottom:12px}

/* Shared editable-DOCX preview. Canvas rendering avoids PDF iframes blocked
   by browser CSP and never triggers a file download on its own. */
.academic-preview{
  margin:16px 0 19px;
  padding:14px;
  border:1px solid #ded8f0;
  border-radius:14px;
  background:linear-gradient(140deg,#f8f6ff,#f5f7fd);
  box-shadow:0 6px 20px rgba(48,34,93,.05);
}
.academic-preview-head{
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;flex-wrap:wrap;margin-bottom:12px;
}
.academic-preview-head strong{font-size:14px;color:#332955;line-height:1.4}
.academic-preview-count{font-size:11px;font-weight:740;color:#6c5bb2}
.academic-preview-body{
  display:flex;align-items:flex-start;justify-content:center;
  min-height:190px;overflow:auto;padding:12px;
  background:#e9e7f1;border:1px solid #e0dae9;
  border-radius:10px;
}
.academic-preview-canvas{
  display:block;max-width:100%;height:auto;
  background:#fff;border:1px solid #d2ccdc;
  box-shadow:0 6px 18px rgba(28,23,53,.18);
}
.academic-preview-placeholder{
  text-align:center;margin:auto;color:#686079;
  font-size:12px;line-height:1.65;padding:25px 8px;
}
.academic-preview-footer{
  display:flex;align-items:center;justify-content:space-between;
  gap:10px;flex-wrap:wrap;margin-top:12px;
}
.academic-preview-footer button{
  cursor:pointer;border-radius:9px;min-height:35px;padding:7px 12px;
  background:#fff;border:1px solid #d7ceeb;color:#604bbb;
  font:750 11px/1.35 system-ui,sans-serif;
}
.academic-preview-footer button:hover:not(:disabled){
  background:#eee8fc;border-color:#b9aae5;
}
.academic-preview-footer button:disabled{opacity:.42;cursor:default}
.academic-preview-footer span{
  color:#847d92;font-size:10.5px;line-height:1.5;
  text-align:center;flex:1;min-width:130px;
}
body[data-utility="norm-control"] #utDownload:not([hidden]){
  background:#7057d9;color:#fff;border:1px solid #7057d9;
  font-weight:850;
}
body[data-utility="norm-control"] #utDownload:hover:not([hidden]){
  background:#5b44bb;
}
@media(max-width:600px){
  .academic-preview{padding:10px;margin:13px 0 16px}
  .academic-preview-head strong{font-size:13px}
  .academic-preview-body{padding:8px;min-height:120px}
  .academic-preview-footer{gap:7px}
  .academic-preview-footer button{padding:8px 9px;font-size:10px}
  .academic-preview-footer span{order:3;flex-basis:100%;min-width:0}
}
