.calendar-title{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:30px 0 20px}.calendar-title h2{margin:0 0 6px;font-size:25px}.calendar-title p{font-size:13px;color:#67808a;margin:0}.period-links{display:flex;gap:8px}.period-links a{background:#fff;border:1px solid #d7e2e5;padding:9px 13px;border-radius:6px;text-decoration:none;color:#28645e;font-size:13px}.calendar-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:#6b7c83;margin:22px 0}.calendar-legend span{padding:7px 11px;border-radius:5px}.attendance-calendar{table-layout:fixed;min-width:1200px;white-space:normal}.attendance-calendar th{text-align:center;font-size:12px}.attendance-calendar td{vertical-align:top;padding:13px 10px;border-right:1px solid #e1e8eb;min-height:230px}.attendance-calendar tbody tr:hover{background:transparent}.day-heading{display:flex;justify-content:space-between;align-items:start;gap:5px}.day-heading strong{font-size:15px}.day-heading small{font-size:10px;line-height:1.5;text-align:right;max-width:90px}.schedule-name{font-size:10px;line-height:1.6;color:#627981;margin:10px 0}.day-marks{font-size:11px;font-variant-numeric:tabular-nums;margin:12px 0}.day-marks>div{display:flex;justify-content:space-between;gap:4px;margin:9px 0;flex-wrap:wrap}.day-marks dt{color:#667d85}.day-marks dd{margin:0;font-weight:600;font-size:11px}.day-alert{border-left:3px solid #c25c49;background:#fff1ed;color:#913e31;padding:7px 8px;font-size:10px;line-height:1.6;border-radius:3px}.day-alert.is-justified{border-color:#6c9e7e;background:#edf7ed;color:#4b7155}.day-note{font-size:10px;line-height:1.6;color:#546e66}.break-total{font-size:10px;color:#687d83;line-height:1.5}.raw-marks{font-size:10px;margin-top:14px;color:#496f76}.raw-marks summary{cursor:pointer}.raw-marks span{display:inline-block;margin:7px 6px 0 0;padding:4px;background:#edf2f3;border-radius:3px}.status-alert{background:#fff8f5}.status-ok{background:#f1f8f5}.status-justified{background:#f0f5ec}.status-neutral{background:#fff}.outside-month{background:#f3f5f6;color:#a4b1b5}.is-today{box-shadow:inset 0 3px #17635e}.month-view td{padding:12px 10px}.calendar-day{height:230px}@media(max-width:650px){.attendance-calendar{min-width:1160px}.calendar-title h2{font-size:21px}.period-links a{font-size:12px}}
.attendance-summary{margin-top:24px}.incident-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:12px 0}.incident-summary>div{min-width:0;background:#fff;border:1px solid #d7e2e5;border-radius:7px;padding:12px;display:flex;flex-direction:column;gap:6px}.incident-summary strong{font-size:23px;line-height:1.2;color:#913e31;font-variant-numeric:tabular-nums}.incident-summary span{font-size:12px;line-height:1.4}.incident-summary small{font-size:10px;color:#4b7155;line-height:1.4}.meal-count{display:flex;align-items:baseline;gap:7px}.meal-count strong{font-size:19px}@media(max-width:900px){.incident-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:500px){.incident-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.status-extra{background:#f0f6fb}.calendar-day.status-extra .day-heading small{color:#346684}
