@font-face{font-family:GradingSans;src:url('fonts/FiraSans-Regular.ttf');font-display:swap}*{box-sizing:border-box}body{margin:0;background:#fafafa;color:#272a30;font:16px/1.55 GradingSans,system-ui,sans-serif}.grading-shell{max-width:790px;margin:24px auto;background:#fff;border:1px solid #e1e3e6;border-radius:16px;padding:28px 36px}.brand{margin-bottom:12px}.brand img{object-fit:contain}h1{font-size:30px;line-height:1.2;margin:14px 0}h2,legend{font-size:20px;font-weight:700}h3{font-size:16px}p{margin:10px 0 18px}fieldset{margin:30px 0;padding:0;border:0;min-width:0}legend{padding:0;margin-bottom:12px}label{display:block;margin:10px 0 5px;font-size:14px;font-weight:600}input:not([type=checkbox]),select,textarea{width:100%;min-width:0;padding:11px 12px;border:1px solid #cdd1d6;border-radius:8px;background:white;color:inherit;font:inherit;font-size:16px}input[type=file]{font-size:12px;padding:8px}input[type=file]::file-selector-button{padding:8px;border:1px solid #cdd1d6;border-radius:5px;background:#f5f5f5;color:#25282d;cursor:pointer}textarea{resize:vertical}input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #868c95;outline-offset:3px}.two,.photos{display:grid;grid-template-columns:1fr 1fr;gap:16px}.card{border:1px solid #dfe2e6;padding:18px;border-radius:10px;margin-bottom:16px}.card header{display:flex;justify-content:space-between;align-items:center;gap:10px}.card h3{margin:0}.card header button{padding:6px 10px;font-size:12px;min-height:36px}.photos{margin:14px 0}.photo-slot{min-width:0}.photo-slot img{display:block;width:100%;max-height:240px;object-fit:contain;background:#f7f7f7;border:1px solid #e1e3e6;margin-top:8px;border-radius:6px}.photo-status,.hint{font-size:12px;color:#626872;display:block}.photo-status{min-height:18px}button,.button{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;min-height:46px;border:1px solid #2d3137;border-radius:8px;background:#2d3137;color:white;font:inherit;font-size:15px;font-weight:600;text-decoration:none;cursor:pointer}.secondary{background:white;color:#2d3137;border-color:#d4d8dc}button:disabled{opacity:.5;cursor:wait}a{color:#303844;text-underline-offset:3px}.totals{background:#f6f7f8;padding:18px;border-radius:8px;margin:24px 0}.totals>div{display:flex;justify-content:space-between;gap:15px;margin:8px 0}.total{font-size:21px;border-top:1px solid #d9dce1;padding-top:12px}.totals p{margin-bottom:0}details{border:1px solid #dde0e4;border-radius:8px;padding:14px;margin:20px 0}summary{cursor:pointer;font-weight:600}details p{font-size:14px}.check{display:flex;gap:10px;align-items:flex-start;font-weight:400;margin:18px 0;line-height:1.6}.check input{flex-shrink:0;width:20px;height:20px;margin:2px 0;accent-color:#2d3137}#submit-grading{width:100%;margin-top:14px}.error{padding:14px;background:#fff1f0;color:#a1251b;border:1px solid #e8b4ae;border-radius:8px;margin:20px 0}.error:focus{outline:0}footer{display:flex;gap:20px;flex-wrap:wrap;font-size:12px;margin-top:36px;padding-top:16px;border-top:1px solid #e8e9ec}[hidden]{display:none!important}@media(max-width:560px){body{background:white}.grading-shell{margin:0;border:0;border-radius:0;padding:20px 16px}h1{font-size:27px}.two{grid-template-columns:1fr;gap:0}.card{padding:14px}.photos{gap:10px}.total{font-size:19px}input[type=file]{font-size:11px;overflow:hidden}input[type=file]::file-selector-button{display:block;margin-bottom:5px}footer{gap:18px}}@media print{body{background:white}.grading-shell{border:0;margin:0;padding:0;max-width:none}.brand,footer{display:none}h2{break-after:avoid}p{orphans:3;widows:3}}

.grading-shell{max-width:600px}.step-status{font-size:13px;color:#626872;margin:24px 0 10px}fieldset{margin:20px 0}.card{border:0;padding:0}.card header{margin:20px 0 14px}.card header h2{margin:0}.card header button{font-size:14px;min-height:44px}.actions{display:flex;flex-direction:column;gap:10px;margin:22px 0}.actions button{width:100%}.text-button{background:transparent;color:#343940;border-color:transparent;font-weight:400;text-decoration:underline;text-underline-offset:3px}.photo-slot{border:1px solid #dfe2e6;border-radius:8px;padding:10px}.photo-slot h3{margin:0 0 10px}.photo-slot button{width:100%;padding:10px 4px;font-size:14px;min-height:44px}.photo-slot img{width:100%;height:auto;aspect-ratio:3/4;max-height:none;object-fit:contain;margin:0 0 8px}.photo-status{margin-top:6px}.review-contact p{white-space:pre-line;overflow-wrap:anywhere}.review-card{margin-top:20px;padding:16px 0;border-bottom:1px solid #e1e3e6;overflow-wrap:anywhere}.review-card h3{margin:0}.review-photos{display:flex;gap:12px;margin:14px 0}.review-photos img{width:90px;height:120px;object-fit:contain;background:#f7f7f7}.camera-open{overflow:hidden}.camera-panel{position:fixed;inset:0;z-index:1000;background:#fff;overflow-y:auto;overscroll-behavior:contain}.camera-content{max-width:520px;margin:auto;padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom))}.camera-content h2{margin:4px 0 14px}.camera-content video{display:block;width:min(100%,40.5vh);width:min(100%,40.5svh);height:auto;aspect-ratio:3/4;object-fit:cover;object-position:center;margin:0 auto;background:#181818;border-radius:8px}.camera-content p{font-size:14px}.camera-content .actions{margin:12px 0}.camera-content .actions button{min-height:46px}#completed-card{overflow-wrap:anywhere}#save-status{margin-top:20px}
