@page{size:A4 portrait;margin:9mm}
*{box-sizing:border-box}
body{margin:0;color:#202b32;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;background:#eef1f2}
body{print-color-adjust:exact;-webkit-print-color-adjust:exact}
.print-toolbar{padding:12px 20px;background:#203e4b;color:#fff;display:flex;justify-content:space-between;align-items:center}
.print-toolbar button{padding:7px 16px;border:0;border-radius:5px;cursor:pointer}
.sheet{background:#fff;width:210mm;min-height:297mm;padding:9mm;margin:14px auto;box-shadow:0 5px 30px #1737432b}
.sheet+.sheet{break-before:page}
.sheet-head{border-bottom:2px solid #264e61;padding-bottom:9px;display:flex;justify-content:space-between;align-items:flex-end;gap:15px}
.sheet-head h1{font-size:16px;margin:0}
.sheet-head p{font-size:9px;margin:3px 0 0}
.sheet-head .student{font-size:10px;text-align:right}
.subhead{font-size:8px;color:#677780;margin:10px 0}
.subhead span{display:inline-block;margin-right:7px;font-weight:700;padding:2px 4px}
.legend-confirmed{background:#dceef3;color:#14546b}
.legend-candidate{color:#4a5961;border:1px solid #9fadb4}
.calendar-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:9px;line-height:1.38}
.calendar-table th{background:#dce9ee;text-align:left;font-size:9px}
.calendar-table th,.calendar-table td{border:1px solid #c7d4d9;padding:5px 3px;vertical-align:top;overflow-wrap:anywhere}
.calendar-table td.date{font-weight:bold;white-space:nowrap}
.calendar-table td.university strong{display:block}
.calendar-table .state-label{display:block;width:max-content;margin-top:3px;font-size:7px;line-height:1.2;font-weight:700}
.calendar-table tr.confirmed td:not(.date){background:#e8f3f6}
.calendar-table tr.confirmed td.university{border-left:3px solid #17617a}
.calendar-table tr.confirmed .state-label{background:#17617a;color:#fff;padding:2px 3px}
.calendar-table tr.candidate .state-label{color:#54636b}
.calendar-table td.note{font-size:8.5px}
.calendar-table tbody tr{break-inside:avoid}
.calendar-table tbody.date-group{break-inside:avoid;page-break-inside:avoid}
.calendar-table thead{display:table-header-group}
.calendar-table td.date[rowspan]{vertical-align:middle}
.calendar-table tr.saturday td.date{background:#e8f1fb;color:#1565c0}
.calendar-table tr.sunday td.date{background:#fcebec;color:#c62828}
.sheet-foot{margin-top:12px;font-size:8px;color:#536873}
.muted{color:#6c7c83}
@media print{body{background:#fff}
.print-toolbar{display:none}
.sheet{box-shadow:none;margin:0;padding:0;width:auto;min-height:0}
.sheet+.sheet{break-before:page}
}
