:root{font:16px/1.45 system-ui,sans-serif;color:#18354a;background:#f2f6f8}*{box-sizing:border-box}body{margin:0}header{display:flex;align-items:center;gap:12px;background:#19394f;color:white;padding:10px 18px;flex-wrap:wrap}header img{width:38px;height:38px;object-fit:contain}h1{font-size:24px;margin:0}header span{font-size:14px}#account{margin-left:auto}button,input,select{font:inherit;padding:7px 10px;border:1px solid #aebfc9;border-radius:5px}button{cursor:pointer;background:white;color:#19394f}button:disabled{opacity:.5;cursor:default}button.primary,nav button[aria-current]{background:#1a5976;color:white}nav{display:flex;gap:8px;padding:10px 16px;background:white;border-bottom:1px solid #d2dce2}#status,#signin{margin:10px 18px}#status.error{color:#a52121}main{padding:4px 16px 24px}h2{margin:10px 0}h3{margin:12px 0 6px}section,form,details{background:white;border:1px solid #d2dce2;border-radius:7px;padding:14px;margin:12px 0}.fields,.tools{display:flex;gap:12px;flex-wrap:wrap;align-items:end}label{display:flex;flex-direction:column;gap:4px}label.check{display:inline-flex;flex-direction:row;align-items:center;margin:4px 12px 4px 0}.wide{min-width:280px;flex:1}.hint{font-size:14px;color:#51616c}.banner{padding:9px 12px;background:#fff3d3}table{border-collapse:collapse;width:100%;background:white}th,td{border:1px solid #ccd7df;padding:6px 8px;text-align:left;vertical-align:top}th{background:#1a5068;color:white}td.number{text-align:center}.table-scroll{overflow-x:auto}.timetable{min-width:850px;table-layout:fixed}.timetable th:first-child{width:95px}.timetable td{font-size:13px;white-space:pre-line;overflow-wrap:anywhere;min-height:45px}.timetable td.blank{background:#f6f9fb}.timetable small{display:block;font-weight:normal}.guide-image{position:relative;width:min(503px,100%)}.guide-image img{width:100%;display:block}.guide-image svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.teacher-options{max-width:100%;display:flex;flex-wrap:wrap}.teacher-options label{width:240px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #d88900;outline-offset:2px}[hidden]{display:none!important}@media print{@page{size:A4 landscape;margin:10mm}body{background:white}header,nav,#status,#signin,.tools,.banner,.hint,button{display:none!important}main{padding:0}.week-sheet{break-after:page;border:0;padding:0;margin:0}.week-sheet:last-child{break-after:auto}.table-scroll{overflow:visible}.timetable{min-width:0;width:100%}.timetable td{font-size:8pt}.timetable th{font-size:9pt}th{color:black;background:#e9eef1}}
