:root{--cal-card: #d8ebe0;--cal-card-border: #9fc9b6;--cal-line: #f0f0ee;--cal-line-soft: #f7f7f5;--cal-leading: 1.1;--cal-card-gutter: 2px;--z-cal-card: 10;--z-cal-conflict: 5;--z-cal-header: 20}body.scheduler-shell{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}body.scheduler-shell>astro-island{display:contents}body.scheduler-shell nav{padding:var(--space-1) var(--space-3)}body.scheduler-shell .nav-back{display:block;text-decoration:none;color:inherit;font-size:1.125rem;line-height:1}body.scheduler-shell .nav-title{display:block;font-size:var(--text-base)}body.scheduler-shell .nav-right{flex:0;margin-left:auto;flex-direction:column;align-items:flex-end;gap:0}body.scheduler-shell .nav-email{font-size:var(--text-base)}body.scheduler-shell .btn-signout{font-size:var(--text-base);padding:0}.scheduler-page{padding:var(--space-6) var(--space-4)}body.scheduler-shell .scheduler-page{flex:1;min-height:0;overflow:hidden;padding:var(--space-2) var(--space-3);gap:var(--space-2)}.scheduler-layout{display:flex;flex-direction:row;gap:var(--space-4);flex:1;min-height:0;user-select:none;-webkit-user-select:none}.scheduler-sidebar{width:12rem;flex-shrink:0;overflow-y:auto}.scheduler-sidebar h3{margin-bottom:var(--space-2)}#room-select{max-width:12rem}.room-select-row{gap:var(--space-2)}.calendar-wrapper{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0}.calendar-nav{margin-top:var(--space-2)}.calendar-scroll{flex:1;min-height:0;overflow-x:auto;overflow-y:auto;border:var(--border-width) solid var(--border);border-radius:var(--radius);background:var(--surface)}.student-card{cursor:grab;border-radius:var(--radius);padding:var(--space-2);background:var(--surface-hover);border:var(--border-width) solid var(--border-control);user-select:none;touch-action:none;overflow-wrap:anywhere}.student-card.dragging{opacity:.5}.student-card p:first-child{font-weight:500}.cal-grid{display:grid;grid-template-columns:var(--cal-grid-cols);grid-template-rows:var(--cal-grid-rows)}.cal-grid-split .cal-cell-right{border-right:var(--border-width) solid var(--border)}.cal-corner{border-bottom:var(--border-width) solid var(--border);border-right:var(--border-width) solid var(--border);background:var(--cal-line-soft);grid-column:1;grid-row:1;position:sticky;top:0;z-index:var(--z-cal-header)}.cal-day-header{border-bottom:var(--border-width) solid var(--border);border-right:var(--border-width) solid var(--border);background:var(--cal-line-soft);padding:var(--space-2);text-align:center;font-size:var(--text-base);font-weight:600;color:var(--ink-2);grid-row:1;grid-column:var(--cal-col) / span var(--cal-col-span);position:sticky;top:0;z-index:var(--z-cal-header)}.cal-day-date{display:block}.cal-day-rooms{display:flex;margin:var(--space-1) calc(-1 * var(--space-2)) calc(-1 * var(--space-2));font-size:.8125rem;font-weight:500;color:var(--ink-muted)}.cal-day-room{flex:1 1 0;min-width:0;padding:var(--space-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-day-room+.cal-day-room{border-left:var(--hairline) solid var(--cal-line)}.cal-hour-label{border-right:var(--hairline) solid var(--cal-line);padding-right:var(--space-2);text-align:right;font-size:var(--text-base);color:var(--border-control);grid-column:1;grid-row:var(--cal-row);transform:translateY(var(--cal-label-shift, -.5em))}.cal-cell{border-right:var(--hairline) solid var(--cal-line);border-top:var(--hairline) solid var(--cal-line-soft);grid-column:var(--cal-col);grid-row:var(--cal-row)}.cal-cell.hour-boundary{border-top-color:var(--border)}.cal-cell.last-col{border-right:none}.cal-cell.cell-active{background:var(--cal-line);box-shadow:inset 0 0 0 1px var(--border-control)}.lesson-card,.conflict-overlay{grid-column:var(--cal-col);grid-row:var(--cal-row-start) / span var(--cal-row-span)}.lesson-card{--lane-w: calc((100% - 2 * var(--cal-card-gutter)) / var(--cal-lanes, 1));justify-self:start;width:var(--lane-w);margin-left:calc(var(--cal-card-gutter) + var(--lane-w) * var(--cal-lane, 0));margin-right:0;border-radius:var(--radius);background:var(--cal-card);border:var(--border-width) solid var(--cal-card-border);padding:var(--space-1);overflow:hidden;z-index:var(--z-cal-card);cursor:grab;position:relative;touch-action:none}.lesson-ghost{opacity:.6;pointer-events:none}.conflict-overlay{border-radius:var(--radius);margin:0 var(--cal-card-gutter);background:var(--cal-line);border:var(--hairline) solid var(--border);padding:var(--space-1);overflow:hidden;opacity:.7;pointer-events:none;z-index:var(--z-cal-conflict)}.lesson-delete{position:absolute;top:var(--cal-card-gutter);right:var(--cal-card-gutter);color:var(--border-control);font-size:var(--text-lg);line-height:1;background:none;border:none;cursor:pointer;padding:var(--space-1)}.lesson-delete:hover{color:var(--danger)}.lesson-resize-handle{position:absolute;bottom:0;left:0;right:0;height:6px;cursor:ns-resize;touch-action:none}.lesson-resize-handle:hover{background:#0000001f;border-radius:0 0 4px 4px}.cal-label,.cal-sublabel,.cal-room{font-size:var(--text-base);margin:0;line-height:var(--cal-leading)}.cal-label{font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-sublabel{color:var(--ink-2)}.cal-room{color:var(--ink-muted)}.lesson-card .cal-label{padding-right:var(--space-4)}.conflict-overlay .cal-label{color:var(--ink-2)}.conflict-overlay .cal-sublabel{color:var(--ink-muted)}@media(min-width:601px){.cal-grid{min-width:700px}.cal-grid-split{min-width:980px}}@media(max-width:600px){.scheduler-layout{flex-direction:column}.scheduler-sidebar{width:100%}.scheduler-sidebar .stack-sm{display:flex;flex-direction:row;gap:var(--space-2);overflow-x:auto}.scheduler-sidebar .student-card{flex-shrink:0;max-width:12rem;touch-action:auto;cursor:pointer}.lesson-resize-handle{height:12px}.lesson-delete{min-height:0;padding:var(--space-2);font-size:1.15rem}body.scheduler-shell .btn-signout{min-height:44px;padding:var(--space-2) var(--space-3)}}
