/* FISD TSIA2 essay practice */
.es-dir{font-style:italic;margin:0 0 12px}
.es-psg{border:1.5px solid #222;padding:12px 16px;margin:0 0 12px;line-height:1.55}
.es-asg{margin:0 0 14px}
.es-note{font-size:14px;background:#fdf6e3;border-left:4px solid #fbb829;padding:8px 12px}
.es-small{font-size:12.5px;color:#555}
.es-rub{width:100%;border-collapse:collapse;font:14px/1.45 "Segoe UI",Arial,sans-serif;margin:10px 0}
.es-rub th,.es-rub td{border:1px solid #bbb;padding:6px 8px;text-align:left;vertical-align:top}
.es-rub th{background:#efe8fb}.es-rub tr.cr td:first-child{background:#e3f3e8}
.es-tr{font:14px/1.5 "Segoe UI",Arial,sans-serif;padding-left:20px}
.es-plan div{border:1px solid #999;min-height:.75in;padding:6px 8px;margin:0 0 8px;font:13px "Segoe UI",Arial,sans-serif}
.ln{height:.33in;border-bottom:1px solid #9a9a9a}
.es-model{width:100%;border-collapse:collapse;font-size:14px;line-height:1.55}
.es-model th,.es-model td{border:1px solid #bbb;padding:8px 10px;vertical-align:top;text-align:left}
.es-model th{background:#efe8fb;font-family:"Segoe UI",Arial,sans-serif}
.es-model td.nt{width:32%;background:#fdf6e3;font:13px/1.45 "Segoe UI",Arial,sans-serif;color:#333}
.es-doc{max-width:7.4in}
/* student screen */
.es-card{max-width:820px;margin:50px auto;padding:30px 36px;border:1px solid #ccc;border-radius:6px;background:#fff;font:19px/1.5 Arial,sans-serif;color:#222}
.es-card input[type=text]{font:inherit;padding:8px 10px;width:100%;margin:6px 0 18px;box-sizing:border-box}
.es-wrap{max-width:1500px;margin:0 auto;padding:16px 30px 40px;font-family:Arial,Helvetica,sans-serif;color:#222}
.es-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:30px;margin-top:20px}
.es-left{font-size:17px;line-height:1.55}
.es-left .inst{font-size:21px;margin:0 0 8px}
.es-pl{margin:12px 0;border:1px solid #ddd;border-radius:6px;padding:8px 12px;background:#fafafa}
.es-pl summary{cursor:pointer;font-weight:700}
.es-pl textarea{width:100%;box-sizing:border-box;margin-top:8px;font:15px/1.5 Arial,sans-serif;padding:8px}
.es-lab{display:block;font-weight:700;font-size:18px;margin-bottom:6px}
#txt{width:100%;box-sizing:border-box;height:calc(100vh - 290px);min-height:360px;resize:vertical;padding:14px 16px;font:18px/1.7 Arial,Helvetica,sans-serif;border:2px solid #555;border-radius:4px;color:#111;background:#fff}
#txt:focus{outline:3px solid #6aa6ff;outline-offset:1px}
.es-meter{margin-top:10px}
.es-track{position:relative;height:14px;background:#e6e6e6;border-radius:7px;overflow:visible}
.es-fill{height:100%;width:0;background:#c0392b;border-radius:7px;transition:width .2s}
.es-fill.min{background:#e0a100}.es-fill.goal{background:#1f8a4c}
.es-mk{position:absolute;top:-4px;width:3px;height:22px;background:#222}
.es-stat{margin-top:6px;font-size:16px}
.es-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}
.es-rev{max-width:1000px;margin:20px auto;font-size:17px;line-height:1.5}
.es-nums{display:flex;gap:14px;flex-wrap:wrap}
.es-nums div{flex:1;min-width:140px;border:1px solid #ddd;border-radius:6px;padding:12px;text-align:center;color:#555;font-size:14px}
.es-nums b{display:block;font-size:30px;color:#222}
.es-tips{background:#fff4d6;border-left:4px solid #fbb829;padding:10px 14px 10px 30px}
.es-good{background:#e3f3e8;border-left:4px solid #1f8a4c;padding:10px 14px}
.es-chk label{display:flex;gap:10px;align-items:flex-start;margin:8px 0;cursor:pointer}
.es-chk input{width:18px;height:18px;margin-top:3px;flex:none}
.es-fbk{font-weight:700;color:#1f7a3f;min-height:1.4em}
.es-out{max-width:7.4in;margin:20px auto;padding:.5in;border:1px solid #ddd;background:#fff;font:15px/1.7 Georgia,"Times New Roman",serif}
.es-text p{text-indent:2em;margin:0 0 .6em}
.es-score{margin-top:24px;border-top:2px solid #45286f;padding-top:10px;font:13px/1.6 "Segoe UI",Arial,sans-serif}
@media (max-width:900px){.es-cols{grid-template-columns:1fr}#txt{height:60vh}.es-wrap{padding:10px 14px}}
@media print{.es-wrap{padding:0}.es-out{border:0;margin:0;padding:0;max-width:none}.tbar{display:none}}
/* teacher essays page */
.ew{max-width:1200px;margin:0 auto;padding:18px}
.ew-top{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.ew-top h2{flex:1;margin:0;font-size:20px}
.ew-set{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px 16px;margin-bottom:16px;color:var(--text)}
.ew-set label{display:flex;flex-direction:column;font-weight:700;font-size:14px}
.ew-set input{margin-top:4px;padding:7px 9px;border-radius:6px;border:1px solid #bbb;font:15px "Segoe UI",Arial,sans-serif;width:110px}
.ew-set input.wide{width:300px}
.ew-card{background:#fff;color:#1d1d24;border-radius:10px;margin-bottom:16px;border:1px solid var(--line);overflow:hidden}
.ew-h{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:var(--panel-2);color:var(--text);padding:8px 14px}
.ew-h b{font-size:17px}.ew-h .id{margin-left:auto;font-size:13.5px;color:var(--text-2)}
.ew-b{padding:16px 22px;font-size:17px;line-height:1.55}
.ew-b .es-psg{font-size:16px}
.ew-act{display:flex;gap:10px;flex-wrap:wrap;padding:0 22px 16px}
.ew-ideas{margin:0 22px 16px;padding:10px 14px;background:#fdf6e3;border-left:5px solid #fbb829;font-size:15px}
.ew-ideas ul{margin:4px 0 8px;padding-left:20px}
body:not(.es-printpage) .pagewm{display:none}
@media print{body .pagewm{display:block!important}}
/* score contrast */
.cx-doc{max-width:10in}
.cx-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:12px 0}
.cx-h{margin:0 0 8px;padding:6px 10px;border-radius:5px;font:700 15px "Segoe UI",Arial,sans-serif;color:#fff}
.cx-h.s4{background:#b45309}.cx-h.s6{background:#1f7a3f}
.cx-p{border:1px solid #ddd;border-radius:5px;margin:0 0 8px;font-size:13.5px;line-height:1.5}
.cx-p p{margin:0;padding:8px 10px}
.cx-p .cx-n{background:#fdf6e3;border-top:1px solid #eadfbf;font:12.5px/1.45 "Segoe UI",Arial,sans-serif;color:#333}
.cx-sum{font:13px/1.5 "Segoe UI",Arial,sans-serif;background:#f3eefb;padding:8px 10px;border-radius:5px}
@media (max-width:760px){.cx-grid{grid-template-columns:1fr}}
@media print{.cx-p{break-inside:avoid}.cx-h,.cx-p .cx-n,.cx-sum{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
/* scoring sheet + roster (v2.1) */
.sc-top{display:grid;grid-template-columns:2fr 2fr 1fr 1fr;gap:10px;margin:6px 0 12px;font:13px "Segoe UI",Arial,sans-serif}
.sc-ln{display:block;border-bottom:1px solid #555;min-height:20px;font-weight:700}
.sc-t{width:100%;border-collapse:collapse;font:12.5px/1.35 "Segoe UI",Arial,sans-serif}
.sc-t th,.sc-t td{border:1px solid #999;padding:5px 6px;vertical-align:top}
.sc-t th{background:#efe8fb;font-size:12px}
.sc-t td small{display:block;color:#555;font-size:11px;margin-top:2px}
.sc-t td:last-child{width:22%}
.sc-box{text-align:center;font-size:18px;width:9%}
.sc-hol{margin:12px 0;font:14px "Segoe UI",Arial,sans-serif;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.sc-n{display:inline-grid;place-items:center;width:28px;height:28px;border:1.5px solid #333;border-radius:50%;font-weight:700}
.sc-n.cr{border-color:#1f7a3f;color:#1f7a3f}
.sc-gg{display:grid;grid-template-columns:1fr 1fr;gap:12px;font:13px "Segoe UI",Arial,sans-serif}
.sc-area{border:1px solid #999;height:1.1in;margin-top:4px}
.sc-stems{margin-top:10px;display:grid;grid-template-columns:auto 1fr 1fr;gap:10px;font:11.5px/1.4 "Segoe UI",Arial,sans-serif;color:#333}
.sc-stems ul{margin:2px 0;padding-left:16px}
.es-out .es-score{border-top:0;margin-top:0;padding-top:0}
@media screen{.es-out .es-score{margin-top:28px;border-top:2px dashed #ccc;padding-top:18px}}
.ro-doc{max-width:10in}
.ro{width:100%;border-collapse:collapse;font:12px "Segoe UI",Arial,sans-serif}
.ro th,.ro td{border:1px solid #999;padding:4px 5px;height:22px}
.ro th{background:#efe8fb;font-size:11px}
.ro td:first-child{width:24px;text-align:center}.ro td:nth-child(2){width:24%}
@media print{.sc-t th,.ro th{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
