.pupil-availability{min-width:0;margin-top:22px}.pupil-calendar-controls,.pupil-calendar-nav,.pupil-calendar-views{display:flex;align-items:center;gap:6px}.pupil-calendar-controls{justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:22px}.pupil-calendar-nav select{width:180px;margin:0;font-size:14px}.pupil-calendar-nav>button{font-size:22px;padding:4px 12px}.pupil-calendar-views button{font-size:13px}.pupil-calendar-views button[aria-pressed=true]{background:#c87a3b;color:#100c09;border-color:#c87a3b}.pupil-date-grid{display:grid;gap:7px;margin:12px 0 25px}.pupil-date-week{grid-template-columns:repeat(auto-fit,minmax(60px,1fr));max-width:520px}.pupil-date-month{grid-template-columns:repeat(7,minmax(0,1fr));max-width:620px}.pupil-date-grid button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:9px 4px;border-color:#3f5845;min-height:62px;background:#17221b;color:#e2ede4}.pupil-date-grid button span{font-size:11px;font-weight:400}.pupil-date-grid button strong{font-size:20px;font-weight:550}.pupil-date-grid button:disabled{background:transparent;border-color:#292522;color:#8e857e;opacity:.48}.pupil-date-grid button[aria-pressed=true]{border-color:#db9a69;background:#302217;color:#ffd9bb}.pupil-times-title{font-size:17px;font-weight:500;margin:0 0 13px}.pupil-time-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(75px,1fr));gap:9px;max-width:620px}.pupil-time-grid button{color:#e0f2e5;background:#1c2b21;border-color:#466950;font-variant-numeric:tabular-nums}.pupil-time-grid button:hover,.pupil-time-grid button[aria-pressed=true]{background:#36523e;border-color:#a7ceb2}.pupil-availability>.small{margin-top:16px}@media(max-width:600px){.pupil-calendar-nav select{width:166px}.pupil-calendar-controls{gap:10px}.pupil-calendar-views{margin-left:auto}.pupil-date-month{gap:3px}.pupil-date-month button{min-height:56px;padding:6px 1px}.pupil-date-month button strong{font-size:17px}.pupil-time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pupil-date-grid button span{font-size:10px}}

.pupil-selection-hint{font-size:14px;margin:0 0 20px;color:#d8cbbf}.pupil-day-count{font-size:10px;color:#f0c19b;white-space:nowrap}.pupil-selection{max-width:620px;border-top:1px solid #493629;margin-top:24px;padding-top:18px}.pupil-selection-count{color:#f0ede9;font-size:17px;font-weight:550;margin:0 0 12px}.pupil-selection-list,.pupil-confirm-list{list-style:none;margin:0;padding:0;max-height:255px;overflow:auto}.pupil-selection-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #292522;padding:5px 0;font-size:14px;font-variant-numeric:tabular-nums}.pupil-selection-list button{flex:0 0 42px;min-height:42px;padding:6px;font-size:22px;border-color:transparent;color:#ccbcad}.pupil-selection .pupil-clear{border:0;color:#c2a182;font-size:12px;padding:8px 0;min-height:40px}.pupil-review{width:100%;margin-top:4px}.pupil-confirm-list li{padding:10px 0;border-bottom:1px solid #39312a;font-size:15px}.pupil-time-grid button:disabled{opacity:.35}.pupil-time-grid button[aria-pressed=true]{background:#c88a54;color:#130e09;border-color:#e4b68e}@media(max-width:600px){.pupil-selection-list li{font-size:13px}.pupil-day-count{font-size:9px}.pupil-confirm-list li{font-size:14px}}

.pupil-repeat{margin:24px 0;border:1px solid #ffffff22;border-radius:10px;padding:16px}.pupil-repeat summary{cursor:pointer;font-weight:600}.pupil-repeat-fields{display:flex;gap:14px}.pupil-repeat-fields label{flex:1;min-width:0}.pupil-repeat-fields input,.pupil-repeat-fields select{width:100%;box-sizing:border-box}.pupil-sticky-selection{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);z-index:15;width:min(680px,calc(100% - 32px));box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 22px;background:#f3e9df;color:#151515;border:1px solid #dc995f;border-radius:12px;box-shadow:0 8px 40px #0008}.pupil-sticky-selection[hidden]{display:none}.pupil-sticky-selection strong,.pupil-sticky-selection span{display:block}.pupil-sticky-selection span{font-size:.8rem;margin-top:5px}.pupil-sticky-selection button{background:#141414;color:white;white-space:nowrap}.pupil-availability:has(.pupil-sticky-selection:not([hidden])){padding-bottom:90px}@media(max-width:650px){.pupil-sticky-selection{padding:13px 15px;bottom:max(10px,env(safe-area-inset-bottom));gap:10px}.pupil-sticky-selection span{display:none}.pupil-sticky-selection strong{font-size:.9rem}.pupil-sticky-selection button{font-size:.9rem;padding:12px}.pupil-repeat-fields{gap:10px}}
