.calendar-legend{font-size:13px;line-height:1.8;color:#44534b}
.leave-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
[data-calendar="20"] .leave-months{grid-template-columns:minmax(0,460px)}
.reading-body table.leave-calendar{min-width:0;width:100%;table-layout:fixed;margin:0;font-size:14px;border-collapse:separate;border-spacing:3px}
.reading-body .leave-calendar caption{text-align:left;font-size:18px;font-weight:700;color:#244f47;padding:0 0 12px}
.leave-calendar caption span{font-size:13px;font-weight:400;margin-left:12px}
.reading-body .leave-calendar th,.reading-body .leave-calendar td{padding:6px 1px;text-align:center;border:0;vertical-align:top;line-height:1.4}
.reading-body .leave-calendar th{background:#fff;color:#526358;font-weight:500;font-size:13px}
.reading-body .leave-calendar td{height:76px;border-radius:4px;background:#faf8f3}
.reading-body .leave-calendar .is-leave{background:#e1ede3;color:#244f47}
.reading-body .leave-calendar .is-off{background:#f0f0ed;color:#66675d}
.reading-body .leave-calendar .is-last{background:#f6e4bb;color:#65481c;box-shadow:inset 0 0 0 1px #bc8e40}
.reading-body .leave-calendar .is-empty{background:transparent}
.calendar-day,.calendar-state,.calendar-retire{display:block}
.calendar-day{font-size:16px;font-weight:600}
.calendar-state{font-size:12px;margin-top:4px;white-space:nowrap}
.calendar-retire{font-size:10px;font-weight:700;white-space:nowrap;margin-top:3px}
@media(max-width:600px){.leave-months{grid-template-columns:1fr;gap:24px}.reading-body .leave-calendar td{height:76px}.calendar-legend{font-size:12px}}
@media print{.leave-calendar-block{break-inside:avoid}.leave-months{grid-template-columns:repeat(2,minmax(0,1fr))}.reading-body table.leave-calendar{font-size:10pt}.reading-body .leave-calendar td{height:54px;border:1px solid #ccc}.calendar-day{font-size:11pt}.calendar-state{font-size:9pt}.calendar-retire{font-size:8pt}}
