:root{font-family:Arial,Helvetica,sans-serif;color:#2e3043;background:#f1f2f4;color-scheme:light;font-synthesis:none}*{box-sizing:border-box}body{margin:0}.masthead{background:#fff;border-bottom:1px solid #e9e9ed;display:flex;align-items:center;justify-content:space-between;padding:25px max(28px,calc((100vw - 1400px)/2));color:#536b79;font-size:17px}.masthead>div{display:flex;align-items:center;gap:18px}.brand{font-family:Georgia,serif;font-size:29px;letter-spacing:1px;color:#0098ed;font-weight:700}.test-label{font-size:14px;color:#596875;border-left:1px solid #d8dfe4;padding-left:18px}main{padding:34px 24px 60px}.schedule-shell{max-width:1400px;margin:auto;padding:38px 54px 48px;background:#fff;border:1px solid #d9dce0}.heading{display:flex;justify-content:space-between;align-items:center;gap:28px;margin-bottom:20px}h1{font-size:27px;font-weight:500;margin:0 0 10px}.group{margin:0;font-size:20px;font-weight:700}nav{display:flex;border:1px solid #d2dce4}button{font:inherit;font-size:15px;color:#4b6474;background:#fff;border:0;padding:12px 20px;cursor:pointer;min-height:60px}button+button{border-left:1px solid #d2dce4}button span{display:block;font-size:13px;margin-top:5px;font-weight:400}button[aria-pressed=true]{background:#e6f0f8;color:#243f50;font-weight:700}button:focus-visible,.table-scroll:focus-visible{outline:3px solid #098cd3;outline-offset:3px}.notice{font-size:13px;line-height:1.5;color:#727984;margin:0 0 26px;max-width:850px}#status{font-size:15px;color:#647480;margin:14px 0}#status:empty{display:none}.table-scroll{overflow-x:auto}table{width:100%;min-width:850px;border-collapse:collapse;table-layout:fixed;font-size:17px;line-height:1.17}caption{text-align:left;color:#566c7a;font-size:18px;padding:0 0 15px}th,td{border:1px solid #eceef1;padding:17px 27px;text-align:left;vertical-align:middle;overflow-wrap:break-word}th{font-weight:500;background:#fafafa;color:#5b6470;font-size:15px}col{width:20%}td.subject{font-weight:700}td.teacher,td.room{color:#8d8f99}td.time{white-space:nowrap}tr.day th{background:#e6f0f8;font-size:19px;color:#5d7786;font-weight:400;padding:17px 27px}.version{font-size:12px;color:#7e8790;margin:20px 0 0}.empty-day{color:#8d8f99;font-size:15px}a{color:#007ebd}@media(min-width:1600px){.schedule-shell{max-width:81.2vw;padding:45px 3.1vw 62px}table{font-size:clamp(17px,1vw,25px)}th,td{padding:21px 1.7vw}tr.day th{font-size:23px;padding:20px 1.7vw}}@media(max-width:800px){main{padding:18px 12px 32px}.masthead{padding:17px 20px}.masthead>span{display:none}.schedule-shell{padding:24px 18px}.heading{display:block}nav{margin-top:22px;width:max-content;max-width:100%}button{padding:10px 12px;font-size:14px}h1{font-size:24px}.notice{margin-top:18px}table{font-size:16px;min-width:1080px}th,td{padding:15px 20px}}

.edit-lesson{padding:0;min-height:44px;text-align:left;color:#2e3043;font-size:inherit;font-weight:700;line-height:inherit;text-decoration:underline;text-decoration-color:#c6d9e7;text-underline-offset:4px}.edit-lesson:hover{color:#007ebd}dialog{border:1px solid #d2dce4;padding:28px;width:min(640px,calc(100% - 24px));max-height:90dvh;color:#2e3043}dialog::backdrop{background:#202d3a80}dialog h2{font-size:21px;line-height:1.35;margin:0 0 16px}#lesson-form{display:grid;gap:14px}#lesson-form p{font-size:13px;line-height:1.5;color:#677580;margin:0}#lesson-form label{display:grid;gap:6px;font-size:14px}input{font:inherit;font-size:16px;padding:10px;border:1px solid #bbc8d1;min-width:0;width:100%;background:#fff;color:#202b33}fieldset{display:grid;gap:12px;border:1px solid #d8e2e9;padding:14px;margin:0}legend{font-size:13px;color:#5c7382}input:focus-visible{outline:2px solid #098cd3}.editor-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.editor-actions button{min-height:44px;border:1px solid #ccd8e0}.editor-actions button:last-child{background:#157eae;color:white}button:disabled{opacity:.5;cursor:wait}#edit-status{color:#a73220;font-size:14px;line-height:1.4}#editor-note:empty{display:none}
/* Keep title and actions visible while long subgroup forms scroll inside the dialog. */
dialog[open]{display:flex;flex-direction:column}dialog h2,.editor-actions,#edit-status{flex-shrink:0}#lesson-form{overflow-y:auto;min-height:0;padding:2px}.editor-actions{flex-wrap:wrap}@media(max-width:480px){dialog{padding:18px}dialog h2{font-size:19px}.editor-actions button{flex:1;padding:10px;font-size:14px}}
