.schedule-toolbar{flex-wrap:wrap;gap:20px}.schedule-display-controls{display:flex;align-items:center;gap:12px;margin-left:auto;color:#65748a;font-size:13px;font-weight:600}.time-segment{position:relative;display:grid;grid-template-columns:1fr 1fr;isolation:isolate;padding:4px;background:#edf0f5;border:1px solid #e2e6ee;border-radius:28px;min-width:184px}.time-segment-thumb{position:absolute;z-index:-1;left:4px;top:4px;bottom:4px;width:calc(50% - 4px);background:#d5ff19;border-radius:22px;box-shadow:0 2px 5px #071d3b12;transition:transform .22s ease}.time-segment[data-half="true"] .time-segment-thumb{transform:translateX(100%)}.time-segment button{background:transparent;border:0;border-radius:22px;padding:10px 16px;color:#65748a;font-size:14px;font-weight:700;white-space:nowrap}.time-segment button[aria-pressed="true"]{color:#071d3b}.time-segment button:focus-visible{outline:2px solid #071d3b;outline-offset:-2px}.time-segment[data-busy="true"]{opacity:.65}.menu-order-hint{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#9baac0;font-size:11px;margin:0 0 14px}.menu-order-hint button{padding:4px 0;background:transparent;border:0;color:#c9de76;font-size:11px;white-space:nowrap}.sidebar .side-link[data-view]{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.sidebar .side-link.menu-dragging{background:#d5ff19;color:#071d3b;box-shadow:0 0 0 2px #fff8;cursor:grabbing;transform:scale(.98)}.menu-order-live{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:760px){.schedule-display-controls{width:100%;justify-content:space-between;margin-left:0}}@media(prefers-reduced-motion:reduce){.time-segment-thumb{transition:none}}

.sidebar .side-link[data-view]{cursor:pointer}.menu-reordering,.menu-reordering *{cursor:grabbing!important}

dialog.management-dialog.cancel-dialog{position:fixed;inset:0;margin:auto;max-height:calc(100dvh - 32px);height:fit-content;overflow:auto;box-sizing:border-box;overscroll-behavior:contain}dialog.cancel-dialog .form-stack{display:flex;flex-direction:column;justify-content:flex-start;min-height:0;box-sizing:border-box}dialog.cancel-dialog .form-stack>*{flex-shrink:0}.cancel-error{padding:12px 16px;background:#fff0eb;border:1px solid #edb4a3;border-radius:10px;color:#a92e10!important;line-height:1.6}.cancel-actions{position:sticky;bottom:-28px;background:white;padding-bottom:14px;z-index:1}.cancel-actions button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:700px){.cancel-actions{bottom:-20px}}

.academy-secondary{margin:20px 0;padding:16px;border:1px solid #e1e6ee;border-radius:14px;background:#fff}.academy-secondary>summary{cursor:pointer;font-weight:700;color:#071d3b}.academy-secondary[open]>summary{margin-bottom:18px}.course-history-list{display:grid;gap:12px;margin-bottom:18px}[data-workspace=cards] .management-search{width:min(100%,440px);margin-bottom:18px;box-sizing:border-box}[data-workspace=products] #academyProgramForm{margin:20px 0}

.fixed-student-options{display:flex;flex-wrap:wrap;gap:12px}.fixed-student-option{display:flex;align-items:center;gap:8px;padding:12px;background:#f4f6f9;border-radius:12px}.fixed-student-option input{width:20px!important;height:20px!important}.schedule-error{color:#a53016}.timetable-panel{margin:20px 0}.timetable-panel td{vertical-align:top}

.schedule-calendar{border:1px solid #dce3cf;border-radius:18px;padding:20px;background:#f6f8f0}.schedule-calendar h3{margin:0 0 8px}.schedule-calendar p{margin:8px 0;color:#63728a}.schedule-calendar-tools{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.schedule-calendar-nav{display:flex;align-items:center;justify-content:space-between;margin:16px 0}.schedule-calendar-week,.schedule-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.schedule-calendar-week span{text-align:center;padding:8px;color:#63728a}.schedule-calendar-days button{border:1px solid #dae1e9;border-radius:10px;min-height:48px;background:white;color:#071d3d;cursor:pointer;font:inherit;padding:8px}.schedule-calendar-days button.selected{background:#d4ff00;color:#071d3d;border-color:#9bb900;font-weight:700}.schedule-calendar-days button:disabled{opacity:.4;cursor:default}.schedule-calendar-days button.outside{background:transparent;border-color:transparent}.schedule-calendar-days button:focus-visible{outline:2px solid #071d3d;outline-offset:2px}.schedule-calendar .schedule-calendar-selection{padding:14px;background:#eaf0dc;border-radius:10px;overflow-wrap:anywhere}.schedule-calendar .calendar-error{color:#a53016}@media(max-width:600px){.schedule-calendar{padding:10px}.schedule-calendar-days{gap:4px}.schedule-calendar-days button{padding:4px;min-height:40px}}

/* Keep long booking details scrollable without moving the calendar underneath. */
html.admin-detail-open, body.admin-detail-open { overflow: hidden !important; overscroll-behavior: none; }
#detailDrawer { box-sizing: border-box; display: flex; flex-direction: column; overflow: hidden; }
#drawerContent { flex: 1 1 auto; min-height: 0; overflow-y: auto; overflow-x: hidden; overscroll-behavior-y: contain; -webkit-overflow-scrolling: touch; touch-action: pan-y; padding: 24px 8px 32px 0; overflow-wrap: anywhere; }
#closeDrawer { z-index: 2; cursor: pointer; }
#drawerMask { touch-action: none; overscroll-behavior: none; }
