/* ISU theme additions: maroon / white / gray, stepper, OTP boxes, review */
:root{
  --isu-maroon:var(--color-primary); --isu-maroon-dark:var(--color-primary-hover); --isu-gold:#d4a017;
  --isu-gray:var(--color-surface-soft); --isu-line:var(--color-border); --isu-text:var(--color-text);
}
.isu-hero{background:var(--isu-maroon);color:#fff;border-radius:var(--radius-card);padding:24px;margin-bottom:20px}
.isu-hero h2{margin:0 0 4px;font-size:1.35rem}
.isu-hero p{margin:0;opacity:.92;font-size:.95rem}
.isu-badge{display:inline-block;background:#fff;color:var(--isu-maroon);font-weight:700;font-size:.75rem;padding:3px 10px;border-radius:999px;margin-bottom:8px}
.stepper{display:flex;gap:6px;margin:14px 0 18px;flex-wrap:wrap}
.stepper .step{flex:1;min-width:140px;background:#fff;border:1px solid var(--isu-line);border-radius:10px;padding:10px 12px;font-size:.85rem;color:#777;position:relative}
.stepper .step b{display:block;font-size:.9rem;color:#999}
.stepper .step.active{border-color:var(--isu-maroon);color:var(--isu-maroon)}
.stepper .step.active b{color:var(--isu-maroon)}
.stepper .step.done{border-color:#1e7e34;color:#1e7e34}
.stepper .step.done b{color:#1e7e34}
.field-err{color:#b3261e;font-size:.85rem;margin:-6px 0 10px;display:none}
.field-err.show{display:block}
.field-ok{color:#1e7e34;font-size:.85rem;margin:-6px 0 10px;display:none}
.field-ok.show{display:block}
.otp-row{display:flex;gap:8px;justify-content:flex-start;margin:8px 0 12px}
.otp-row input{width:46px;height:52px;text-align:center;font-size:1.4rem;font-weight:700;border:1.5px solid #bbb;border-radius:8px}
.otp-row input:focus{border-color:var(--isu-maroon);outline:2px solid #6b0f1a33}
.btn-isu{background:var(--isu-maroon);border:0;color:#fff;padding:10px 18px;border-radius:8px;cursor:pointer;font-weight:600}
.btn-isu:hover{background:var(--isu-maroon-dark)}
.btn-isu:disabled{opacity:.55;cursor:not-allowed}
.btn-ghost{background:#fff;border:1px solid var(--isu-line);color:var(--isu-text);padding:10px 18px;border-radius:8px;cursor:pointer}
.btn-ghost:disabled{opacity:.55;cursor:not-allowed}
.timer{font-variant-numeric:tabular-nums;font-weight:700;color:var(--isu-maroon)}
.review-box{background:var(--isu-gray);border:1px solid var(--isu-line);border-radius:10px;padding:14px;margin-bottom:14px}
.review-box dt{font-size:.78rem;color:#666;text-transform:uppercase;letter-spacing:.04em}
.review-box dd{margin:2px 0 12px;font-weight:600;color:var(--isu-text)}
.rate-scale{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 14px}
.rate-scale label{border:1px solid var(--isu-line);border-radius:8px;padding:8px 14px;cursor:pointer;background:#fff}
.rate-scale input{margin-right:6px}
.evaluation-form-container{width:100%;margin:0 0 28px;color:#111;font-family:inherit}
body:has(.evaluation-form-container) .wrap{max-width:none;padding-right:24px;padding-left:24px}
.evaluation-form-heading{margin:0 0 4px;font-size:22px;font-weight:600;color:#111}
.evaluation-form-description{margin:0 0 22px;color:#666;font-size:16px}
.evaluation-layout-title{margin:0 0 28px;font-size:24px;font-weight:700;color:#111}
.evaluation-form-container h4{margin:24px 0 14px;padding-bottom:8px;border-bottom:1px solid #eceef0;color:#343a40}
.evaluation-criterion-card{width:100%;margin:0 0 12px;padding:24px;border:1px solid #e0e0e0;border-radius:18px;background:#fff}
.evaluation-question{border:0;margin:0;padding:0;min-width:0}
.evaluation-question legend{margin:0 0 8px;padding:0;color:#111}
.evaluation-criterion-title{font-size:23px;font-weight:600}
.evaluation-criterion-description{margin:0 0 18px;color:#666;font-size:20px;line-height:1.4}
.evaluation-rating-options{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.evaluation-rating-choice{display:grid;grid-template-columns:36px 24px minmax(0,1fr);align-items:center;gap:12px;width:100%;min-height:68px;box-sizing:border-box;padding:12px 14px;border:1px solid #a0a9b8;border-radius:13px;background:#fff;color:#222;cursor:pointer;transition:background-color .15s,border-color .15s,box-shadow .15s}
.evaluation-rating-choice:hover{background:#fafbfc;border-color:#667085}
.evaluation-rating-choice:has(input:checked),.evaluation-rating-choice.is-selected{background:#f5f7fa;border-color:#667085;box-shadow:inset 3px 0 0 #667085}
.evaluation-rating-choice input{appearance:none;display:grid;place-items:center;width:36px;height:36px;margin:0;padding:0;border:2px solid #a0a9b8;border-radius:50%;background:#fff;cursor:pointer}
.evaluation-rating-choice input::before{width:16px;height:16px;border-radius:50%;background:#344054;content:"";transform:scale(0);transition:transform .12s ease-in-out}
.evaluation-rating-choice input:checked{border-color:#344054}
.evaluation-rating-choice input:checked::before{transform:scale(1)}
.evaluation-rating-number{font-size:24px;font-weight:700;color:#111}
.evaluation-rating-description{min-width:0;font-size:23px;line-height:1.25;overflow-wrap:anywhere}
.evaluation-rating-choice:focus-within{outline:3px solid #667085;outline-offset:2px}
.success-hero{text-align:center;padding:26px 10px}
.success-hero .check{font-size:3rem}
.dev-code{background:#fff8d6;border:1px dashed var(--isu-gold);border-radius:8px;padding:10px;margin:10px 0;font-size:.9rem}
@media(max-width:560px){.otp-row input{width:40px;height:48px}.stepper .step{min-width:45%}.evaluation-criterion-card{padding:16px}.evaluation-criterion-title{font-size:20px}.evaluation-criterion-description{font-size:18px}.evaluation-rating-choice{grid-template-columns:30px 22px minmax(0,1fr);gap:9px;min-height:62px;padding:10px}.evaluation-rating-choice input{width:30px;height:30px}.evaluation-rating-choice input::before{width:13px;height:13px}.evaluation-rating-number{font-size:20px}.evaluation-rating-description{font-size:18px}}
