body.summary-open{overflow:hidden}#review:not(.hidden){position:fixed;inset:0;z-index:1000;background:rgba(20,30,26,.64);display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:24px 16px}
.summary-dialog{width:min(960px,100%);background:#f7f5ee;border-radius:18px;box-shadow:0 18px 60px #0004;padding:22px}
.summary-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.summary-dialog-head h2{margin:0;font-size:1.25rem}.summary-dialog-head p{margin:5px 0 0;color:#68736e;font-size:.9rem}.summary-status{border-radius:999px;background:#fff1c2;color:#775300;padding:6px 11px;font-size:.78rem;font-weight:700;white-space:nowrap}
.summary-sheet{background:#fff;border:1px solid #d4d8d4;padding:32px;color:#1a2420}.summary-heading{text-align:center;border-bottom:2px solid #253c30;padding-bottom:18px}.summary-kicker{color:#9a7111;font-size:.72rem;font-weight:800;letter-spacing:.13em;margin:0 0 6px}.summary-title{font-size:1.35rem;margin:0}.summary-subtitle{font-weight:700;margin:3px 0 8px}.summary-purpose-note{color:#8b493e;font-size:.84rem;margin:0}.summary-person{display:grid;grid-template-columns:2fr 1.5fr 1fr 1fr;gap:14px 20px;margin:24px 0}.summary-field{min-width:0}.summary-label{display:block;font-size:.75rem;color:#66726b;margin-bottom:3px}.summary-value{display:block;font-size:.92rem;overflow-wrap:anywhere}.summary-field-wide{grid-column:1/-1}.summary-table-wrap{overflow-x:auto}.summary-table{border-collapse:collapse;width:100%;min-width:590px;font-size:.88rem}.summary-table th,.summary-table td{border:1px solid #9aa59d;padding:10px 9px;text-align:left;vertical-align:top}.summary-table th{background:#f0f4ef;font-weight:700}.summary-table th:first-child,.summary-table td:first-child,.summary-table th:nth-child(3),.summary-table td:nth-child(3){text-align:center}.summary-table td:last-child{color:#718078;font-size:.79rem}.summary-remarks{color:#6f625b;font-size:.78rem;margin-top:18px}.summary-remarks strong{color:#9b4539}.summary-remarks p{margin:3px 0}.summary-dates{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;border-top:1px solid #d8dfd8;margin-top:20px;padding-top:16px}.summary-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:16px}.summary-actions button{width:auto;min-width:150px;margin:0}.summary-dialog .notice{margin-top:15px}.summary-dialog #submitError{margin:10px 0 0}
.summary-sheet .summary-heading{background:#fff;color:#1a2420;border-color:#253c30}.summary-sheet .summary-title{color:#1a2420}.summary-scroll-hint{display:none}
@media(max-width:640px){#review:not(.hidden){padding:10px}.summary-dialog{padding:14px;border-radius:14px}.summary-dialog-head{flex-direction:column;gap:8px}.summary-sheet{padding:20px 15px}.summary-person{grid-template-columns:1fr 1fr;gap:14px}.summary-scroll-hint{display:block;color:#66726b;font-size:.75rem;margin:0 0 8px}.summary-dates{grid-template-columns:1fr;gap:10px}.summary-actions{flex-direction:column-reverse}.summary-actions button{width:100%}}
.teacher-choice{margin:20px 0;padding:18px;border:1px solid #dfe9e1;border-radius:12px;background:#f7faf8}.teacher-choice label{display:block;font-weight:700}.teacher-choice p{margin:5px 0 10px;color:#526a5c;font-size:14px}.teacher-choice select{width:100%;max-width:520px}
.teacher-choice select[hidden]{display:none!important}
.teacher-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.teacher-choice .teacher-card{display:flex;align-items:center;gap:12px;padding:10px;background:#fff;border:1px solid #d6e4da;border-radius:10px;cursor:pointer;font-weight:400;min-width:0}.teacher-card:has(input:checked){border-color:#17684e;box-shadow:0 0 0 2px #b6dcca}.teacher-card:has(input:focus-visible){outline:2px solid #17684e;outline-offset:2px}.teacher-card input{flex:none;accent-color:#17684e}.teacher-photo{width:58px;height:58px;flex:none;border-radius:50%;overflow:hidden;background:#dceae1;display:grid;place-items:center;font-weight:700;color:#17684e}.teacher-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 13%;transform:scale(2.1);transform-origin:50% 13%}.teacher-info{min-width:0}.teacher-info strong,.teacher-info small{display:block;overflow-wrap:anywhere}.teacher-info small{font-size:12px;color:#526a5c;margin-top:3px}@media(max-width:640px){.teacher-cards{grid-template-columns:1fr}}
