/* LAKANA SOS Capstone Professor Review submission + human-readable receipt
   report styling. Scoped entirely under #capstoneProfessorReviewSubmission /
   .pr-review-* to avoid any collision with existing protected page styles. */

#capstoneProfessorReviewSubmission .pr-review-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:20px;
  align-items:start;
}

.pr-review-card{
  background:#fff;
  border:1px solid rgba(13,115,119,.18);
  border-radius:22px;
  padding:22px;
  box-shadow:0 12px 34px rgba(10,22,37,.06);
}

.pr-review-card h3{
  margin:0 0 14px;
  font-size:1.05rem;
  color:var(--cap-ink);
}

.pr-review-field{
  margin-bottom:16px;
}

.pr-review-field label{
  display:block;
  font-weight:700;
  color:var(--cap-ink);
  margin-bottom:6px;
  font-size:.92rem;
}

.pr-review-field small{
  display:block;
  color:var(--cap-slate);
  margin-top:4px;
  font-size:.8rem;
}

.pr-review-field input[type="text"],
.pr-review-field input[type="email"],
.pr-review-field select,
.pr-review-field textarea{
  width:100%;
  box-sizing:border-box;
  min-height:44px;
  padding:10px 12px;
  border:1px solid rgba(13,27,42,.22);
  border-radius:10px;
  font:inherit;
  color:var(--cap-ink);
  background:#fff;
}

.pr-review-field textarea{
  resize:vertical;
  min-height:96px;
}

.pr-review-field input:focus-visible,
.pr-review-field select:focus-visible,
.pr-review-field textarea:focus-visible{
  outline:3px solid var(--cap-teal);
  outline-offset:2px;
}

.pr-review-required,
.pr-required{
  color:#8a2a2a;
  font-weight:700;
  font-size:.78rem;
}

.pr-review-receipt-state{
  border:1px solid rgba(13,27,42,.16);
  border-radius:12px;
  padding:12px 14px;
}

.pr-review-receipt-state legend{
  font-weight:700;
  color:var(--cap-ink);
  padding:0 4px;
}

.pr-review-receipt-state label{
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:500;
  min-height:44px;
}

.pr-review-consent label{
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-weight:500;
  line-height:1.5;
}

.pr-review-consent input[type="checkbox"]{
  width:20px;
  height:20px;
  min-width:20px;
  margin-top:2px;
}

/* Honeypot: visually and non-visually hidden from legitimate users, but
   still present in the DOM/tab order-free so it only trips automated bots
   that fill every field. */
.pr-review-honeypot{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
}

#prSubmitReview{
  min-height:44px;
  min-width:44px;
  border:none;
  cursor:pointer;
}

.pr-review-status{
  min-height:1.4em;
  margin:12px 0 0;
  font-weight:700;
  color:var(--cap-ink);
}

.pr-review-status[data-state="error"]{color:#8a2a2a;}
.pr-review-status[data-state="success"]{color:#0D7377;}

.pr-review-receipt-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  margin-bottom:12px;
}

.pr-review-receipt-actions .capstone-btn{
  min-height:44px;
}

.pr-review-file-label{
  font-weight:700;
  color:var(--cap-ink);
  display:inline-flex;
  align-items:center;
  min-height:44px;
}

#prImportReceiptFile{
  min-height:44px;
}

.pr-review-summary{
  display:grid;
  grid-template-columns:minmax(160px,1fr) 2fr;
  gap:6px 14px;
  margin:12px 0;
  font-size:.92rem;
}

.pr-review-summary dt{
  font-weight:700;
  color:var(--cap-ink);
}

.pr-review-summary dd{
  margin:0 0 6px;
  color:var(--cap-slate);
}

.pr-review-report{
  border-top:1px solid rgba(13,27,42,.14);
  margin-top:16px;
  padding-top:16px;
}

.pr-review-report h4{
  margin:0 0 10px;
  color:var(--cap-ink);
}

.pr-review-report dl{
  display:grid;
  grid-template-columns:minmax(160px,1fr) 2fr;
  gap:6px 14px;
  font-size:.92rem;
}

.pr-review-report dt{
  font-weight:700;
  color:var(--cap-ink);
}

.pr-review-report dd{
  margin:0 0 6px;
  color:var(--cap-slate);
}

.pr-review-download-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:16px;
}

.pr-review-download-actions .capstone-btn{
  min-height:44px;
}

@media (max-width:520px){
  #capstoneProfessorReviewSubmission .pr-review-grid{
    grid-template-columns:1fr;
  }
  .pr-review-summary,
  .pr-review-report dl{
    grid-template-columns:1fr;
  }
}

/* ---------- dedicated print-only region for the review report ---------- */
.pr-review-print-only{
  display:none;
}

@media print{
  body.pr-review-printing *{
    visibility:hidden!important;
  }
  body.pr-review-printing #prReviewPrintOnly{
    display:block!important;
    visibility:visible!important;
    position:absolute;
    left:0;
    top:0;
    width:100%;
    padding:24px;
    background:#fff;
    color:#0D1B2A;
  }
  body.pr-review-printing #prReviewPrintOnly *{
    visibility:visible!important;
    color:#0D1B2A!important;
    background:#fff!important;
  }
  #prReviewPrintOnly h2,
  #prReviewPrintOnly h3{
    break-after:avoid;
  }
  #prReviewPrintOnly section{
    break-inside:avoid;
    margin-bottom:14px;
  }
}
