#viewOverview .student-calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:18px;padding:18px 24px 24px;align-items:start}
#viewOverview .timetable-navigation select{height:32px;border:1px solid #d8e1da;border-radius:8px;background:#fff;color:#496052;font:inherit;padding:0 8px}
#viewOverview .timetable-navigation .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#viewOverview .student-calendar-month{border:1px solid #e3e7e1;border-radius:10px;overflow:hidden;min-width:0}
#viewOverview .student-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
#viewOverview .student-calendar-weekday{padding:10px 3px;text-align:center;background:#eaf0eb;border-bottom:1px solid #dce4dc;color:#637368;font-size:11px;font-weight:600}
#viewOverview .student-calendar-day,#viewOverview .student-calendar-blank{min-height:112px;min-width:0;border:0;border-right:1px solid #edf0eb;border-bottom:1px solid #edf0eb;background:#fff;padding:7px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;text-align:left;font-family:inherit}
#viewOverview .student-calendar-day{cursor:pointer;color:#52655a}
#viewOverview .student-calendar-day:nth-child(7n),#viewOverview .student-calendar-blank:nth-child(7n){border-right:0}
#viewOverview .student-calendar-day:hover{background:#f6f8f4}
#viewOverview .student-calendar-blank{background:#fafbf8}
#viewOverview .student-calendar-day.is-selected{background:#eef4ee;box-shadow:inset 0 0 0 1px #aac0af}
#viewOverview .student-calendar-day:focus-visible{outline:2px solid #729780;outline-offset:-2px}
#viewOverview .student-calendar-number{display:flex;align-items:center;justify-content:center;align-self:flex-start;width:24px;height:24px;font-size:12px;border-radius:7px;margin-bottom:5px;flex:none}
#viewOverview .student-calendar-day.is-today .student-calendar-number{background:#dce9df;color:#28554a;font-weight:600}
#viewOverview .student-calendar-chip{display:flex;align-items:center;gap:5px;min-width:0;background:#eef1ed;color:#496553;border-radius:4px;padding:3px 4px;margin-bottom:3px;font-size:10px;line-height:1.5}
#viewOverview .student-calendar-chip time{flex:none;font-variant-numeric:tabular-nums;color:#8b7952}
#viewOverview .student-calendar-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#viewOverview .student-calendar-more{font-size:10px;color:#8a968c;padding-top:2px}
#viewOverview .student-calendar-detail{border:1px solid #e3e7e1;border-radius:10px;padding:16px;min-width:0;background:#fff}
#viewOverview .student-calendar-detail-title{font-size:13px;font-weight:600;color:#3f5547;margin:0;padding-bottom:12px;border-bottom:1px solid #edf0eb}
#viewOverview .student-calendar-event{display:grid;grid-template-columns:40px minmax(0,1fr);gap:8px 10px;padding:16px 0;border-bottom:1px solid #edf0eb}
#viewOverview .student-calendar-event:last-child{border-bottom:0;padding-bottom:0}
#viewOverview .student-calendar-time{font-size:12px;color:#89754c;font-weight:500}
#viewOverview .student-calendar-event-info{display:grid;gap:5px}
#viewOverview .student-calendar-event-info strong{font-size:12px;line-height:1.6;color:#354c3d;font-weight:600;overflow-wrap:anywhere}
#viewOverview .student-calendar-event-info span{font-size:11px;line-height:1.6;color:#859187}
#viewOverview .student-calendar-entry,#viewOverview .student-calendar-status{grid-column:2;font-size:11px;justify-self:start}
#viewOverview .student-calendar-entry{background:#edf3ee;color:#28554a;padding:5px 9px;border-radius:7px;text-decoration:none}
#viewOverview .student-calendar-status,#viewOverview .student-calendar-empty{color:#8b968d;font-size:12px;line-height:1.7}
#viewOverview .student-calendar-empty{padding:24px 0;margin:0;text-align:center}
@media(max-width:1000px){#viewOverview .student-calendar-layout{grid-template-columns:1fr}#viewOverview .student-calendar-day,#viewOverview .student-calendar-blank{min-height:96px}}
@media(max-width:600px){#viewOverview .student-calendar-layout{padding:12px;gap:12px}#viewOverview .student-calendar-day,#viewOverview .student-calendar-blank{min-height:80px;padding:4px 2px}#viewOverview .student-calendar-chip{font-size:9px;padding:2px;gap:0}#viewOverview .student-calendar-chip time{display:none}#viewOverview .student-calendar-weekday{font-size:10px}#viewOverview .student-calendar-more{font-size:8px}}

#viewOverview .student-calendar-layout{grid-template-columns:minmax(0,1fr)}

/* One focus border, matching the site's shared filter controls. */
.student-top-layout #viewOverview .workspace-timetable .timetable-navigation select:is(:focus,:focus-visible){outline:none!important;outline-offset:0!important;box-shadow:none!important;border-color:#729780;background-color:#fff}
#viewOverview .student-calendar-layout{padding:14px 20px 20px}
#viewOverview .student-week-grid{min-width:700px}
#viewOverview .student-calendar-month{overflow-x:auto}
#viewOverview .student-week-grid .student-calendar-weekday{display:grid;gap:4px;font-size:11px}
#viewOverview .student-week-grid .student-calendar-weekday small{font-size:10px;font-weight:400;color:#8b968d}
#viewOverview .student-week-grid .student-calendar-weekday.is-today{background:#dce9df;color:#28554a}
#viewOverview .student-week-day{min-width:0;min-height:135px;padding:9px 7px;border-right:1px solid #edf0eb;background:#fff;display:flex;flex-direction:column;gap:8px}
#viewOverview .student-week-day:last-child{border-right:0}
#viewOverview .student-week-day.is-today{background:#fafcf8}
#viewOverview .student-week-event{display:grid;gap:4px;padding:8px 7px;background:#eef3ed;border-radius:7px;line-height:1.6}
#viewOverview .student-week-event time{color:#89754c;font-size:11px;font-weight:600}
#viewOverview .student-week-event strong{font-size:11px;color:#354c3d;font-weight:600;overflow-wrap:anywhere}
#viewOverview .student-week-event>span{font-size:10px;color:#859187;overflow-wrap:anywhere}
#viewOverview .student-week-event a{font-size:10px;color:#28554a;text-decoration:none;justify-self:start;margin-top:2px}
#viewOverview .student-week-empty{font-size:10px;color:#a2aba4;text-align:center;padding:18px 0}
@media(max-width:600px){#viewOverview .student-calendar-layout{padding:10px 12px 12px}}

/* One fixed-height week row. Multiple classes within a day scroll sideways. */
#viewOverview .student-week-day{height:190px;min-height:190px;max-height:190px;box-sizing:border-box;display:flex;flex-direction:row;align-items:flex-start;gap:8px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#bdccbf transparent}
#viewOverview .student-week-event{flex:0 0 100%;width:100%;min-width:0;box-sizing:border-box;height:164px;max-height:164px;overflow-y:auto;scroll-snap-align:start;align-content:start;scrollbar-width:thin}
#viewOverview .student-week-empty{flex:0 0 100%;box-sizing:border-box}
#viewOverview .student-week-day::-webkit-scrollbar{height:5px}
#viewOverview .student-week-day::-webkit-scrollbar-thumb{background:#bdccbf;border-radius:4px}
#viewOverview .student-week-day:has(.student-week-event:nth-child(2)){cursor:ew-resize}

/* One card per date, with all lessons listed inside that same card. */
#viewOverview .student-week-day{display:block;overflow:hidden;cursor:default;height:220px;min-height:220px;max-height:220px}
#viewOverview .student-week-day:has(.student-week-event:nth-child(2)){cursor:default}
#viewOverview .student-week-day-card{height:100%;box-sizing:border-box;border-radius:8px;background:#eef3ed;padding:0 8px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#bdccbf transparent}
#viewOverview .student-week-event{display:grid;gap:3px;width:auto;min-width:0;height:auto;max-height:none;overflow:visible;box-sizing:border-box;background:transparent;border-radius:0;padding:10px 0;border-bottom:1px solid #dce5db;scroll-snap-align:none}
#viewOverview .student-week-event:last-child{border-bottom:0}
#viewOverview .student-week-empty{display:block;padding-top:20px}

/* Match the course-detail calendar: one date cell, compact plain lesson entries. */
#viewOverview .student-week-grid{column-gap:4px;row-gap:4px;padding:4px;align-items:stretch}
#viewOverview .student-week-grid .student-calendar-weekday{border:0;border-radius:6px;padding:8px 3px;background:#f2f5f0}
#viewOverview .student-week-grid .student-calendar-weekday.is-today{background:#dce9df}
#viewOverview .student-week-day{height:auto;min-height:145px;max-height:none;padding:7px 8px;overflow:visible;border:1px solid #e0e6dd;border-radius:6px;background:#f8faf6;display:block;cursor:default}
#viewOverview .student-week-day.is-today{background:#f0f5ed;border-color:#a9bea9}
#viewOverview .student-week-day:last-child{border-right:1px solid #e0e6dd}
#viewOverview .student-week-day-card{height:auto;max-height:none;padding:0;border:0;border-radius:0;background:transparent;overflow:visible}
#viewOverview .student-week-event{height:auto;min-height:0;max-height:none;padding:0;margin:0 0 11px;gap:2px;border:0;border-radius:0;background:transparent;overflow:visible;line-height:1.35}
#viewOverview .student-week-event:last-child{margin-bottom:0}
#viewOverview .student-week-event strong{font-size:11px;line-height:1.4}
#viewOverview .student-week-event time,#viewOverview .student-week-event>span{font-size:10px;line-height:1.4}
#viewOverview .student-week-event a{margin-top:1px;font-size:10px}
#viewOverview .student-calendar-month{border:0;border-radius:0}

#viewOverview .student-week-nav-group{display:inline-flex;align-items:center;border:1px solid #d8e1da;border-radius:9px;overflow:hidden;background:#fff;margin-left:4px}
#viewOverview .student-week-nav-group button{border:0;border-radius:0;margin:0;min-width:32px;height:30px;box-shadow:none}
#viewOverview .student-week-nav-group button+button{border-left:1px solid #e4eae3}
#viewOverview .student-week-nav-group [data-week-today]{padding:0 11px}

/* Compact inset lesson cards inside each date column. */
#viewOverview .student-week-day{padding:7px;background:#fff;border-color:#e4e9e1}
#viewOverview .student-week-day.is-today{background:#f7faf4}
#viewOverview .student-week-day-card{display:grid;gap:7px;align-content:start;background:transparent;padding:0}
#viewOverview .student-week-event{margin:0;padding:8px;background:#edf3eb;border:0;border-radius:7px;gap:3px}
#viewOverview .student-week-event:last-child{margin:0}
#viewOverview .student-week-empty{padding:20px 0;background:transparent}
