.eop-shell{display:grid;gap:14px}
.eop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.eop-month-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.eop-month-controls input[type="month"]{min-width:170px;font-weight:800}
.eop-access{display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface,#fff);font-weight:800}
.eop-access.editor{border-color:#f59e0b;background:#fff8ea;color:#9a5700}
.eop-access.viewer{border-color:#cbd5e1;background:#f8fafc;color:#475569}
.eop-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.eop-kpi{border:1px solid var(--line);border-radius:14px;background:#fff;padding:13px 15px}
.eop-kpi small{display:block;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.eop-kpi b{display:block;font-size:24px;margin-top:4px;color:#0b3658}
.eop-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fff}
.eop-table{border-collapse:separate;border-spacing:0;min-width:1240px;width:100%}
.eop-table th,.eop-table td{border-right:1px solid #d8e4ee;border-bottom:1px solid #d8e4ee;padding:10px 9px;vertical-align:middle}
.eop-table thead th{position:sticky;top:0;z-index:4;background:#eaf5fc;color:#0b3658;font-size:12px;text-align:center}
.eop-table th:first-child,.eop-table td:first-child{position:sticky;left:0;z-index:3;background:#fff;text-align:center;min-width:54px}
.eop-table th:nth-child(2),.eop-table td:nth-child(2){position:sticky;left:54px;z-index:3;background:#fff;min-width:220px}
.eop-table thead th:first-child,.eop-table thead th:nth-child(2){z-index:6;background:#eaf5fc}
.eop-table td:nth-child(2){font-weight:800;color:#123f63}
.eop-criterion-desc{display:block;margin-top:4px;color:#6b7f90;font-weight:500;font-size:11px;line-height:1.4}
.eop-score-select{width:68px;min-width:68px;text-align:center;font-weight:900;padding:7px 5px}
.eop-score-view{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:34px;border-radius:9px;background:#f1f6fa;border:1px solid #d8e4ee;font-weight:900;color:#0b3658}
.eop-total-row td{background:#f7fbfe!important;font-weight:900}
.eop-rating-row td{background:#fffaf0!important;font-weight:900}
.eop-rating{display:inline-block;padding:5px 8px;border-radius:999px;border:1px solid #d7e3ec;background:#fff;font-size:11px;white-space:nowrap}
.eop-rating.excellent{background:#eafaf2;border-color:#a8e2c3;color:#087044}
.eop-rating.very-good{background:#eef8ff;border-color:#abd6f0;color:#0b679b}
.eop-rating.good{background:#f4f7ff;border-color:#c9d4ff;color:#4856a7}
.eop-rating.acceptable{background:#fff7e8;border-color:#f1c97b;color:#945a00}
.eop-rating.poor{background:#fff0f1;border-color:#f0b1b8;color:#a52a37}
.eop-rating.incomplete{background:#f8fafc;border-color:#d7e0e7;color:#607180}
.eop-notes-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.eop-note-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px}
.eop-note-card h3{margin:0 0 8px;color:#0b3658}
.eop-note-card textarea{width:100%;min-height:110px;resize:vertical}
.eop-signatures{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:2px}
.eop-signature{border:1px dashed #a9bbc9;border-radius:12px;background:#fbfdff;text-align:center;padding:15px 12px}
.eop-signature b{display:block;color:#0b3658;margin-top:5px}
.eop-scale{display:flex;gap:8px;flex-wrap:wrap;align-items:center;color:#536b7e;font-size:12px}
.eop-scale span{padding:4px 8px;border-radius:999px;border:1px solid #d7e3ec;background:#fff}
.eop-warning{border:1px solid #f4c978;background:#fff9e9;color:#76520d;border-radius:12px;padding:12px 14px}
@media(max-width:900px){.eop-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.eop-notes-grid,.eop-signatures{grid-template-columns:1fr}.eop-table th:nth-child(2),.eop-table td:nth-child(2){position:static}.eop-table th:first-child,.eop-table td:first-child{position:static}}

/* V240 — explicit workbook grading table + Admin state */
.eop-access.admin{border-color:#0b6b4d;background:#ecfdf5;color:#075b41}
.eop-percent-row td{background:#eef8ff!important;font-weight:900;color:#0b5c8e}
.eop-grade-card{padding:0!important;overflow:hidden}
.eop-grade-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#eef2f5;border-bottom:1px solid #cad6df;color:#0b3658}
.eop-grade-heading b{font-size:17px}.eop-grade-heading span{font-size:12px;color:#667b8c}
.eop-grade-table{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));width:100%}
.eop-grade{min-height:94px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border-inline-start:1px solid rgba(0,0,0,.12);padding:10px 8px;color:#102f49}
.eop-grade:first-child{border-inline-start:0}.eop-grade b{font-size:18px}.eop-grade strong{font-size:18px;margin-top:5px}.eop-grade small{font-size:11px;margin-top:4px;opacity:.85}
.eop-grade.excellent{background:#08b65b;color:#062f1c}.eop-grade.very-good{background:#a8cf8c}.eop-grade.good{background:#6bd1eb}.eop-grade.acceptable{background:#ffd06a}.eop-grade.poor{background:#cb610b;color:#251005}
@media(max-width:900px){.eop-grade-table{grid-template-columns:1fr}.eop-grade{min-height:72px;border-inline-start:0;border-top:1px solid rgba(0,0,0,.12)}.eop-grade:first-child{border-top:0}.eop-grade-heading{align-items:flex-start;flex-direction:column}}
