:root{--scarlet:#a00000;--scarlet-dark:#7a0000;--cream:#fefdfa;--light-cream:#fefdfa;--ink:#242423;--muted:#6b6b68;color:var(--ink);background:var(--cream);font-synthesis:none;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{background:0 0;min-width:320px;min-height:100dvh;margin:0}#root{z-index:1;position:relative}body:before,body:after{content:"";pointer-events:none;position:fixed;inset:-24px}body:before{z-index:0;filter:blur(3px);background:url(/images/fountain-and-greenspace.jpg) 50%/cover no-repeat;transform:scale(1.015)}body:after{z-index:0;background:linear-gradient(#fefdfa8f,#fefdfac2),radial-gradient(circle at 10% 10%,#f5f1e738,#0000 38%)}main{max-width:860px;margin:auto;padding:42px 24px 80px}header{color:#fff;border-top:5px solid var(--scarlet);background:linear-gradient(135deg,#424240,#242423 78%);border-radius:22px 22px 10px 10px;margin-bottom:18px;padding:42px;position:relative;overflow:hidden;box-shadow:0 18px 50px #24242338}header:after{content:"N";color:#ffffff12;pointer-events:none;font-family:Georgia,serif;font-size:11rem;font-weight:700;line-height:1;position:absolute;bottom:-42px;right:24px}header.compact{padding:28px 36px}h1{letter-spacing:-.025em;text-wrap:balance;z-index:1;margin:10px 0 16px;font-family:Georgia,serif;font-size:clamp(2.2rem,6vw,4rem);font-weight:500;line-height:1.02;position:relative}header.compact h1{font-size:2.5rem}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--cream);z-index:1;font-size:.75rem;font-weight:700;position:relative}.card{border:1px solid #ffffffbd;border-top:3px solid var(--scarlet);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fefdfaf5;border-radius:10px 10px 18px 18px;padding:32px;box-shadow:0 22px 60px #2424232e,inset 0 1px #ffffffb3}.start{max-width:580px;margin:auto}h2{font-family:Georgia,serif;font-weight:500}label{margin:22px 0;font-weight:650;display:block}input,select,textarea{width:100%;font:inherit;background:var(--light-cream);color:var(--ink);border:1px solid #bdb5b3;border-radius:6px;margin-top:8px;padding:13px 14px;transition:border-color .18s,box-shadow .18s,background-color .18s}input:hover,select:hover,textarea:hover{border-color:#8e8482}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline-offset:2px;outline:3px solid #a0000033}input:focus,select:focus,textarea:focus{border-color:var(--scarlet);background:#fff;box-shadow:0 0 0 3px #a0000017}textarea{min-height:110px}.choices{gap:24px;margin-top:10px;display:flex}.choices label,.checklist label{margin:8px 0;font-weight:400}.choices input,.checklist input{width:auto;margin-right:8px}.checklist{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;margin-top:8px;display:grid}.checklist label{overflow-wrap:anywhere;align-items:flex-start;min-width:0;display:flex}.checklist input{flex:none;margin-top:3px}.other-detail{margin:12px 0 0;font-weight:650;display:block}button{background:var(--scarlet);color:#fff;cursor:pointer;border:0;border-radius:999px;margin:8px 8px 0 0;padding:12px 20px;font-weight:750;transition:background-color .18s,transform .18s,box-shadow .18s;box-shadow:0 6px 18px #7a000029}button:hover:not(:disabled){background:var(--scarlet-dark);transform:translateY(-1px);box-shadow:0 8px 22px #7a000038}button:active:not(:disabled){transform:translateY(1px)}.secondary{color:#424240;box-shadow:none;background:#ebebea}.secondary:hover:not(:disabled){background:#e3e3e2}button:disabled{opacity:.45}.actions{justify-content:flex-end;margin-top:30px;display:flex}.required-note{color:var(--muted);margin:24px 0 0;font-size:.9rem}.question-guidance{color:var(--muted);margin:7px 0 11px;font-size:.9rem;font-weight:400;line-height:1.5;display:block}.section-empty{color:var(--muted);text-align:center;background:#f6f6f5;border-radius:8px;margin:24px 0;padding:18px}.progress{gap:6px;margin:0 8px 20px;display:flex}.progress span{background:#ffffffa6;border-radius:9px;flex:1;height:5px;box-shadow:inset 0 0 0 1px #765c5c26}.progress .active{background:var(--scarlet);box-shadow:none}.step,.muted{color:var(--muted);font-size:.9rem}.error{color:var(--scarlet-dark);margin-top:6px;display:block}.message{text-align:center;color:#5f5556;font-weight:500}.review dl{border-bottom:1px solid #e8dfd8;grid-template-columns:1fr 1fr;margin:0;padding:8px 0;display:grid}.review dt{font-weight:650}.review dd{margin:0}.reviewer-shell{max-width:1240px}.reviewer-header{padding:34px 40px}.reviewer-header h1{margin-bottom:10px;font-size:clamp(2.2rem,5vw,3.5rem)}.reviewer-header p{max-width:62ch;margin-bottom:0}.reviewer-tabs{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fefdfae6;border-radius:10px;align-items:center;gap:8px;margin:0 0 18px;padding:6px;display:flex;box-shadow:0 8px 28px #2424231f}.reviewer-tabs button{color:#424240;box-shadow:none;background:0 0;border-radius:6px;margin:0}.reviewer-tabs button:hover:not(:disabled){color:#242423;box-shadow:none;background:#ebebea}.reviewer-tabs button.active{background:var(--scarlet);color:#fff}.reviewer-tabs a{color:var(--scarlet);margin-left:auto;padding:10px 14px;font-size:.9rem;font-weight:700;text-decoration:none}.reviewer-controls{border-top-width:1px;border-radius:10px;grid-template-columns:minmax(0,1fr) minmax(210px,.32fr);gap:20px;margin-bottom:18px;padding:18px 22px;display:grid}.reviewer-controls label{margin:0;font-size:.86rem}.reviewer-controls input,.reviewer-controls select{margin-top:6px}.reviewer-grid{grid-template-columns:minmax(310px,.72fr) minmax(0,1.45fr);align-items:start;gap:18px;display:grid}.reviewer-list,.reviewer-detail{border-top-width:1px;border-radius:12px;padding:24px}.reviewer-detail{min-height:360px}.list-title,.detail-title,.result-heading,.student-result-title{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.list-title{border-bottom:1px solid #e3e3e2;align-items:baseline;padding-bottom:14px}.list-title h2,.detail-title h2,.result-heading h3{margin:0}.list-title span,.detail-title>span,.student-result-title span{color:var(--muted);font-size:.84rem}.reviewer-row{color:#242423;text-align:left;width:100%;box-shadow:none;background:0 0;border-bottom:1px solid #ebebea;border-radius:0;justify-content:space-between;align-items:center;gap:16px;margin:0;padding:15px 12px;display:flex}.reviewer-row:hover:not(:disabled),.reviewer-row.selected{color:#242423;box-shadow:inset 3px 0 var(--scarlet);background:#f6f6f5;transform:none}.reviewer-row>span:first-child{min-width:0}.reviewer-row strong,.reviewer-row small{display:block}.reviewer-row strong{line-height:1.3}.reviewer-row small{color:var(--muted);margin-top:4px;font-weight:500}.reviewer-row>b{min-width:54px;color:var(--scarlet);text-align:right;font-size:1.4rem}.reviewer-row>b small{text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:.68rem}.eyebrow-dark{color:var(--scarlet);letter-spacing:.13em;text-transform:uppercase;margin-bottom:5px;font-size:.7rem;font-weight:800;display:block}.detail-title{border-bottom:1px solid #e3e3e2;padding-bottom:18px}.detail-title p{color:var(--muted);margin:6px 0 0;font-size:.86rem}.detail-search{margin:16px 0 8px;font-size:.82rem}.student-result{margin-top:22px}.student-result-title{align-items:baseline;margin-bottom:10px}.result-panel{background:#fff;border:1px solid #e3e3e2;border-radius:8px;margin-top:16px;padding:18px}.result-heading{align-items:center}.result-heading h3{font-family:Georgia,serif;font-size:1.15rem;font-weight:500}.result-heading p{color:var(--muted);margin:4px 0 0;font-size:.8rem}.result-panel details{border-top:1px solid #ebebea;margin-top:14px;padding-top:12px}.result-panel summary{cursor:pointer;color:#424240;font-weight:700}.criteria-list{gap:8px;margin-top:10px;display:grid}.criterion{background:#f6f6f5;border-radius:6px;padding:12px}.criterion>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.criterion p{color:#6b6b68;margin:5px 0 0;font-size:.78rem}.status-badge{color:#424240;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:#ebebea;border-radius:4px;align-items:center;width:fit-content;padding:5px 7px;font-size:.65rem;font-weight:800;display:inline-flex}.status-badge.eligible,.status-badge.pass,.status-badge.met,.status-badge.evaluated{color:#145d3e;background:#e7f1ea}.status-badge.not-eligible,.status-badge.fail,.status-badge.not-met,.status-badge.error{color:#7a0000;background:#f6e6e3}.status-badge.incomplete,.status-badge.pending-review{color:#635b45;background:#f5f1e7}.status-badge.not-applicable{color:#6b6b68}.student-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0;display:grid}.student-summary div{background:#f6f6f5;border-radius:8px;padding:16px}.student-summary b,.student-summary span{display:block}.student-summary b{font-family:Georgia,serif;font-size:1.8rem}.student-summary span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:3px;font-size:.75rem}.reviewer-empty,.reviewer-alert{color:#6b6b68;text-align:center;background:#f6f6f5;border-radius:8px;margin:22px 0 0;padding:18px}.reviewer-alert{color:#424240;background:#f5f1e7}.reviewer-alert.error-state{color:#7a0000;background:#f6e6e3}.reviewer-loading{grid-template-columns:.72fr 1.45fr;gap:18px;display:grid}.reviewer-loading span{background:linear-gradient(100deg,#f6f6f5d9 20%,#fefdfaeb 40%,#f6f6f5d9 60%) 0 0/200% 100%;border-radius:12px;min-height:280px;animation:1.2s ease-in-out infinite reviewer-pulse;display:block}.reviewer-loading span:nth-child(2){min-height:380px}.reviewer-loading span:last-child{display:none}@keyframes reviewer-pulse{to{background-position-x:-200%}}@media (width<=600px){main{padding:16px}header{border-radius:16px 16px 8px 8px;padding:28px}.card{padding:22px}.checklist{grid-template-columns:1fr}.actions{flex-wrap:wrap}.review dl{grid-template-columns:1fr}.review dd{margin-top:4px}.reviewer-tabs{flex-wrap:wrap}.reviewer-tabs a{width:100%;margin-left:0}.reviewer-controls,.reviewer-grid,.reviewer-loading{grid-template-columns:1fr}.reviewer-list,.reviewer-detail{padding:18px}.detail-title,.result-heading{flex-direction:column;align-items:flex-start}}
