:root{--bg: #f6f6f4;--panel: #ffffff;--ink: #1b1b1a;--muted: #6a6a66;--line: #e2e2dd;--accent: #8a3324;--accent-soft: #f3e7e4;--radius: 10px;--shadow: 0 1px 2px rgb(0 0 0 / 6%);color-scheme:light dark}@media (prefers-color-scheme: dark){:root{--bg: #17171a;--panel: #1f1f23;--ink: #ececea;--muted: #9a9a95;--line: #32323a;--accent: #e08b7a;--accent-soft: #33241f;--shadow: none}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}a{color:inherit}.shell{display:grid;grid-template-columns:200px 1fr;min-height:100vh}.sidebar{border-right:1px solid var(--line);padding:20px 14px;display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100vh;overflow:hidden}.mobile-nav-bar,.sidebar-backdrop,.drawer-close{display:none}.skip-link{position:fixed;z-index:100;top:8px;left:8px;padding:8px 12px;border:2px solid var(--accent);border-radius:7px;background:var(--panel);color:var(--ink);font-weight:600;text-decoration:none;transform:translateY(calc(-100% - 12px))}.skip-link:focus{transform:translateY(0)}.sidebar-head{display:flex;align-items:flex-start;justify-content:space-between;flex:0 0 auto}.brand{font-weight:650;letter-spacing:-.01em;padding:0 10px 18px}.brand small{display:block;font-weight:400;color:var(--muted);font-size:12px}.sidebar-sections{display:flex;flex-direction:column;gap:15px;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.nav-section{display:grid;gap:3px}.nav-heading{margin:0;padding:0 10px 3px;color:var(--muted);font-size:11px;font-weight:650;letter-spacing:.08em;line-height:1.4;text-transform:uppercase}.nav{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border-radius:7px;text-decoration:none;color:var(--muted)}.nav:hover{background:var(--line);color:var(--ink)}.nav.active{background:var(--accent-soft);color:var(--accent);font-weight:550}.sidebar-foot{margin-top:auto;padding:10px;font-size:12px;color:var(--muted);border-top:1px solid var(--line);flex:0 0 auto;background:var(--bg)}.sidebar-foot a{overflow-wrap:anywhere}.main{padding:26px 30px 60px;min-width:0}h1{font-size:21px;margin:0 0 4px;letter-spacing:-.01em}h2{font-size:15px;margin:26px 0 10px}.lede{color:var(--muted);margin:0 0 22px;max-width:70ch}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px;margin-bottom:14px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spread{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.settings-tabs{margin:0 0 22px}.settings-tabs a{color:var(--muted);text-decoration:none;padding:6px 9px;border-radius:6px}.settings-tabs a.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.preview-button{background:#e8f1ff;border-color:#8aacdb;color:#183d70}.preview-result{border-color:#8aacdb;background:#f5f9ff}.settings-plan{border-top:1px solid var(--line);padding:10px 0}.settings-plan:first-child{border-top:0}.tutor-student-list{display:grid;gap:8px}.tutor-student-row{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:left;color:var(--text);background:transparent;border:1px solid var(--line);border-radius:8px;padding:11px 13px;cursor:pointer}.tutor-student-row:hover,.tutor-student-row.is-selected{border-color:var(--accent);background:var(--accent-soft)}.tutor-student-row>span:first-child{display:grid;gap:3px}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:550;padding:0 10px 8px}td{padding:9px 10px;border-top:1px solid var(--line);vertical-align:top}tbody tr:hover td{background:var(--bg)}tfoot th{font-size:inherit;font-weight:600;text-transform:none;letter-spacing:normal;color:inherit;padding:9px 10px;border-top:2px solid var(--line)}.tabular{font-variant-numeric:tabular-nums}input,select,button{font:inherit;color:inherit}input,select{background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:7px 9px}input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}button{background:var(--accent);color:#fff;border:1px solid transparent;border-radius:7px;padding:7px 13px;cursor:pointer}button:disabled{opacity:.55;cursor:default}button.quiet{background:transparent;color:var(--muted);border-color:var(--line)}button.quiet:hover:not(:disabled){color:var(--ink)}button.link{background:transparent;border:0;border-radius:0;padding:0;color:inherit;font:inherit;text-decoration-line:underline;text-decoration-style:dotted;text-underline-offset:3px}button.link:hover:not(:disabled){color:var(--accent)}.panel.session{display:flex;flex-direction:column;gap:10px}.attachments{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}.attachment{margin:0;max-width:220px}.attachment img,.attachment video,.attachment iframe{display:block;width:220px;max-width:100%;max-height:165px;border:1px solid var(--line);border-radius:7px;background:#000;object-fit:cover}.attachment iframe{height:124px;border:0}.attachment figcaption{margin-top:4px;overflow-wrap:anywhere}.muted{color:var(--muted)}.small{font-size:13px}.tag{display:inline-block;font-size:11px;padding:2px 7px;border-radius:20px;background:var(--line);color:var(--muted)}.tag.warn{background:var(--accent-soft);color:var(--accent)}.error{background:var(--accent-soft);color:var(--accent);border-radius:7px;padding:9px 12px;margin-bottom:12px}.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px 14px;max-width:940px}.fields label{display:flex;flex-direction:column;gap:3px}.fields input,.fields select{width:100%}.notice{background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:11px 13px;margin-bottom:12px}.fold>summary{cursor:pointer;padding:8px 2px;font-weight:600;list-style-position:inside}.fold>summary::marker{color:var(--muted)}.fold>summary:hover{color:var(--accent)}.fold>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.datefield{display:flex;flex-direction:column;gap:3px;position:relative}.datefield-box{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:7px;background:var(--panel);overflow:hidden}.datefield-box:focus-within{border-color:var(--accent)}.datefield-input{font:inherit;flex:1;min-width:0;padding:7px 10px;border:0;background:none;color:var(--ink)}.datefield-input:focus{outline:none}.datefield-open{display:flex;align-items:center;padding:0 9px;border:0;border-left:1px solid var(--line);border-radius:0;background:none;color:var(--muted);cursor:pointer}.datefield-open:hover,.datefield-open[aria-expanded=true]{color:var(--accent);background:var(--accent-soft)}.datepicker{position:absolute;top:100%;left:0;z-index:20;margin-top:6px;min-width:330px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:var(--shadow)}.datepicker-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:8px}.datepicker-bar.is-footer{justify-content:flex-start;padding:8px 0 0;border-top:1px solid var(--line)}.datepicker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.datepicker-weekday{padding-bottom:4px;font-size:11px;color:var(--muted);text-align:center;text-transform:uppercase;letter-spacing:.04em}.datepicker-day{font:inherit;font-size:15px;aspect-ratio:1;min-width:40px;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:7px;background:none;color:var(--ink);cursor:pointer}.datepicker-day:hover{background:var(--accent-soft)}.datepicker-day.is-outside{color:var(--muted)}.datepicker-day.is-today{border-color:var(--accent)}.datepicker-day.is-chosen{background:var(--accent);color:var(--panel);font-weight:600}.empty{color:var(--muted);padding:26px 0;text-align:center}.family{max-width:680px;margin:0 auto;padding:22px 18px 60px}.family-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;margin-bottom:20px;border-bottom:1px solid var(--line)}.notes{white-space:pre-wrap;margin:8px 0 0}.sync{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}.sync button{margin-top:6px}.sync-error{color:var(--accent);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.signin{min-height:100vh;display:grid;place-items:center;padding:20px}.signin form{width:320px;display:flex;flex-direction:column;gap:10px}.signin input{width:100%}.day-heading{margin:22px 0 8px;font-size:13px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.slot{border:1px solid var(--line);border-radius:8px;padding:9px 12px;margin-bottom:6px;background:var(--panel);display:flex;gap:14px;align-items:baseline}.slot time{font-variant-numeric:tabular-nums;font-weight:550;min-width:46px}.notes-link{color:var(--muted);text-decoration:none;border:1px solid var(--line);border-radius:6px;padding:3px 9px;white-space:nowrap}.notes-link:hover{color:var(--accent);border-color:var(--accent)}textarea{font:inherit;color:inherit;background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:9px;resize:vertical}textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media (max-width: 720px){.shell{grid-template-columns:1fr}.sidebar{position:fixed;z-index:30;inset:0 auto 0 0;width:min(86vw,320px);height:100dvh;border-right:1px solid var(--line);background:var(--bg);box-shadow:8px 0 28px #0000002e;transform:translate(-105%);visibility:hidden;transition:transform .18s ease,visibility .18s}.sidebar[data-open=true]{transform:translate(0);visibility:visible}.mobile-nav-bar{position:sticky;z-index:20;top:0;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:10px 16px;border-bottom:1px solid var(--line);background:var(--bg)}.mobile-brand{padding:0}.drawer-close{display:grid;width:38px;height:38px;place-items:center;flex:0 0 auto;padding:0;color:var(--muted);font-size:24px;line-height:1}.menu-toggle{display:grid;width:42px;height:42px;place-items:center;flex:0 0 auto;padding:0;border-color:var(--line);background:var(--panel);color:var(--ink)}.menu-toggle:hover{border-color:var(--accent)}.menu-icon{display:grid;gap:4px;width:18px}.menu-icon span{display:block;height:2px;border-radius:2px;background:currentColor}.sidebar-backdrop{position:fixed;z-index:25;top:0;right:0;bottom:0;left:0;display:block;background:#00000061}.sidebar-foot{padding:14px 10px 4px}.main{padding:18px 16px 50px}}@media (prefers-reduced-motion: reduce){.sidebar{transition:none}}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:14px}.stat-value{font-size:26px;font-weight:600;line-height:1.2}.slot-grid{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.availability-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-bottom:12px}.availability-window{flex:0 0 auto;width:min(19rem,55vw);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.availability-day+.availability-day{border-top:1px solid var(--line)}.availability-day .day-heading{margin-top:16px}.stack{display:flex;flex-direction:column;gap:3px;max-width:420px}.reasons{margin:6px 0 0;padding-left:18px}.change-lesson{border-left:3px solid var(--accent);margin:4px 0 14px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.cal-bar{flex-wrap:wrap}.cal-views{display:flex;gap:0;border:1px solid var(--line);border-radius:7px;overflow:hidden}.cal-view{font:inherit;color:var(--muted);background:var(--panel);border:0;border-right:1px solid var(--line);padding:5px 12px;cursor:pointer}.cal-view:last-child{border-right:0}.cal-view.is-on{color:var(--panel);background:var(--accent)}.cal-period{flex:0 0 auto;width:min(17rem,50vw);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-week,.cal-month{overflow-x:auto}.cal-week-head,.cal-week-body{display:grid;grid-template-columns:54px repeat(var(--columns, 7),minmax(116px,1fr));min-width:calc(54px + var(--columns, 7) * 116px)}.cal-week.is-whole-day{max-height:72vh;overflow-y:auto}.cal-week.is-whole-day .cal-week-head{position:sticky;top:0;z-index:1;background:var(--bg)}.cal-day-head{padding:6px 8px;border-left:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}.cal-gutter-head{border-bottom:1px solid var(--line)}.cal-daynum{color:var(--ink);font-weight:600}.cal-day-head.is-today{color:var(--accent);background:var(--accent-soft)}.cal-day-head.is-today .cal-daynum{color:var(--accent)}.cal-week-body{--slot-h: 20px}.cal-gutter{display:grid}.cal-hour{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;padding-right:6px;transform:translateY(-6px)}.cal-day{display:grid;grid-template-columns:1fr;border-left:1px solid var(--line);background-image:repeating-linear-gradient(to bottom,var(--line) 0 1px,transparent 1px calc(var(--slot-h) * 4))}.cal-day.is-today{background-color:var(--accent-soft)}.rota{display:grid;gap:12px;padding:12px 0 4px;min-width:460px}.rota-week{display:grid;gap:5px}.rota-day{display:grid;grid-template-columns:84px 1fr auto;gap:10px;align-items:center;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}.rota-day-head{display:flex;flex-direction:column;line-height:1.3}.rota-periods{display:flex;flex-wrap:wrap;gap:6px 14px}.rota-period{display:flex;align-items:center;gap:5px}.rota-period input{width:112px;padding:4px 6px;font-size:13px}@media (max-width: 620px){.rota{min-width:0}.rota-day{grid-template-columns:1fr;justify-items:start}}.cal-closed{grid-column:1;background:color-mix(in srgb,var(--muted) 13%,transparent);z-index:0}.cal-session{position:relative;z-index:1;display:block;grid-column:1;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:6px;background:var(--panel);padding:1px 5px;font-size:11px;line-height:1.45;text-decoration:none;overflow:hidden}.cal-session:hover{border-color:var(--accent);border-left-color:var(--accent);box-shadow:var(--shadow)}.cal-session.is-done{border-left-color:var(--line)}.cal-session.is-draft{border-left-style:dashed}.cal-session-line{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-session-line time{font-variant-numeric:tabular-nums;color:var(--muted)}.cal-session-who{font-weight:600}.cal-session.is-unmatched .cal-session-who{font-weight:400;font-style:italic;color:var(--muted)}.cal-session-detail{display:block;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-session-detail a{color:var(--ink)}.cal-month{display:grid;grid-template-columns:repeat(7,minmax(88px,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line);min-width:640px}.cal-month-head{padding:5px 8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.cal-cell{display:flex;flex-direction:column;align-items:stretch;gap:2px;min-height:92px;padding:4px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel)}.cal-cell.is-outside{background:var(--bg)}.cal-cell.is-outside .cal-cell-day{color:var(--muted)}.cal-cell.is-today{background:var(--accent-soft)}.cal-cell-day{font:inherit;font-size:12px;font-weight:600;color:inherit;background:none;border:0;padding:0;text-align:left;cursor:pointer}.cal-cell.is-today .cal-cell-day{color:var(--accent)}.cal-entry,.cal-more{font:inherit;font-size:11px;line-height:1.4;color:inherit;background:var(--bg);border:0;border-left:2px solid var(--accent);border-radius:3px;padding:1px 4px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.cal-entry time{font-variant-numeric:tabular-nums;color:var(--muted)}.cal-more{border-left:0;background:none;color:var(--muted)}.cal-entry:hover,.cal-more:hover,.cal-cell-day:hover{color:var(--accent)}.cal-session.is-other{border-left-color:var(--line);background:var(--bg);color:var(--muted);cursor:default}.cal-session.is-other .cal-session-who{font-weight:500;color:var(--muted)}.cal-entry.is-other{border-left-color:var(--line);color:var(--muted)}.slot.is-other{border-style:dashed;background:none}.cal-whose{flex-basis:100%;display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;margin-top:4px;padding-top:11px;border-top:1px solid var(--line)}.cal-tick{display:flex;align-items:center;gap:5px;font-size:13px;cursor:pointer;white-space:nowrap}.cal-tick input{margin:0;accent-color:var(--accent);cursor:pointer}.swatches{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.swatch{width:20px;height:20px;padding:0;border:2px solid transparent;border-radius:5px;cursor:pointer}.swatch.is-on{border-color:var(--ink)}.swatch.is-none{background:var(--panel);border:1px dashed var(--line)}.swatch.is-none.is-on{border:2px solid var(--ink)}.cal-session.has-colour,.cal-entry.has-colour,.slot.has-colour{border-left-color:hsl(var(--hue) var(--sat) calc(38% + var(--shade) * 8%))}.cal-session.has-colour{background:hsl(var(--hue) calc(var(--sat) * .55) calc(96% - var(--shade) * 2%))}.cal-entry.has-colour{background:hsl(var(--hue) calc(var(--sat) * .4) calc(96% - var(--shade) * 2%))}@media (prefers-color-scheme: dark){.cal-session.has-colour,.cal-entry.has-colour,.slot.has-colour{border-left-color:hsl(var(--hue) var(--sat) calc(60% + var(--shade) * 6%))}.cal-session.has-colour{background:hsl(var(--hue) calc(var(--sat) * .35) calc(19% + var(--shade) * 2%))}.cal-entry.has-colour{background:hsl(var(--hue) calc(var(--sat) * .3) calc(19% + var(--shade) * 2%))}}.cal-session.is-other.has-colour{background:hsl(var(--hue) calc(var(--sat) * .25) calc(97% - var(--shade) * 1%))}@media (prefers-color-scheme: dark){.cal-session.is-other.has-colour{background:hsl(var(--hue) calc(var(--sat) * .2) calc(17% + var(--shade) * 1%))}}.slot.has-colour{border-left-width:3px;border-left-style:solid}.tabs{display:flex;gap:2px;margin-bottom:18px;border-bottom:1px solid var(--line)}.tab{padding:8px 14px;text-decoration:none;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}.tab:hover{color:var(--ink)}.tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:550}.swatch.is-taken{opacity:.3;cursor:not-allowed}.filters{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);gap:6px 14px}.filters select.is-on{border-color:var(--accent);color:var(--accent)}.family-shell{grid-template-columns:13.5em minmax(0,1fr);background:var(--bg);color:var(--ink)}.family-shell h1{font-size:1.4em}.family-shell h2{font-size:1em}.family-shell .small{font-size:.87em}.family-shell .brand small,.family-shell .sidebar-foot,.family-shell th{font-size:.8em}.family-shell .tag,.family-shell .datepicker-weekday{font-size:.74em}.family-shell .datepicker-day{font-size:1em}.family-shell .nav,.family-shell button,.family-shell input,.family-shell select{min-height:2.5em}.family-shell .nav{overflow-wrap:anywhere}.family-shell[data-student-spacing=increased] .brand,.family-shell[data-student-spacing=increased] h1,.family-shell[data-student-spacing=increased] th,.family-shell[data-student-spacing=increased] .datepicker-weekday,.family-shell[data-student-spacing=extra] .brand,.family-shell[data-student-spacing=extra] h1,.family-shell[data-student-spacing=extra] th,.family-shell[data-student-spacing=extra] .datepicker-weekday{letter-spacing:inherit}.family-shell.has-student-colours :focus-visible{outline-color:var(--ink)}.family-shell.has-student-colours .nav.active{background:var(--line);color:var(--ink)}.family-shell.has-student-colours .nav:hover{background:var(--panel);color:var(--ink)}.accessibility-settings h2,.accessibility-preview h2{margin-top:0}.accessibility-fields,.accessibility-colour-fields{margin-top:12px}.accessibility-palettes{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 16px}.accessibility-palettes button{display:inline-flex;align-items:center;gap:7px}.accessibility-swatch{display:inline-flex;width:2em;height:2em;align-items:center;justify-content:center;border:1px solid currentColor;border-radius:5px;font-weight:700;line-height:1}.accessibility-colour-fields input[type=color]{width:100%;min-height:3em;padding:3px;cursor:pointer}.accessibility-contrast{margin-bottom:0}.accessibility-preview{background:var(--bg);color:var(--ink);max-width:70ch}.accessibility-preview p{max-width:58ch}.accessibility-actions{margin-bottom:24px}@media (max-width: 760px){.family-shell{display:block;min-width:0}.family-shell .sidebar{position:static;width:100%;height:auto;max-height:none;border-right:0;border-bottom:1px solid var(--line);padding:14px}.family-shell .sidebar-foot{margin-top:12px}.family-shell .main{padding:20px 16px 48px}.accessibility-palettes button{flex:1 1 11em;justify-content:flex-start}.accessibility-actions>button{flex:1 1 12em}}.cal-day-interactive{cursor:cell}.cal-day-interactive .cal-closed{cursor:not-allowed}.cal-session-button{color:inherit;font-family:inherit;text-align:left;cursor:pointer}.cal-session-button[draggable=true]{cursor:grab}.cal-session-button[draggable=true]:active{cursor:grabbing}.cal-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;justify-content:flex-end;background:#00000057}.cal-lesson-drawer{width:min(430px,92vw);height:100dvh;overflow-y:auto;background:var(--panel);border-left:1px solid var(--line);box-shadow:var(--shadow);padding:18px}.cal-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--line)}.cal-drawer-head h2{margin:2px 0 4px;font-size:1.2rem}.cal-drawer-head>button{flex:0 0 auto;min-width:42px;min-height:42px;padding:4px 10px;font-size:24px;line-height:1}.cal-drawer-status{min-height:24px;margin-top:12px}.cal-booking-drawer-body{padding-top:14px}.cal-booking-drawer .book-one-lesson>.panel:first-child{margin-top:0}.cal-lesson-primary-actions,.cal-payment-actions{display:grid;gap:8px;margin-top:10px}.cal-lesson-primary-actions button,.cal-payment-actions button{width:100%;text-align:left}.cal-drawer-links{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.cal-drawer-back{margin:12px 0 2px}.cal-drawer-operation{margin-top:12px}.cal-credit-select{margin-top:16px}.cal-credit-select select{width:100%}.cal-late-cancel-warning{border-left:4px solid var(--accent)}.cal-list-appointment{cursor:pointer}.cal-list-appointment:hover,.cal-list-appointment:focus-visible{outline:1px solid var(--accent);box-shadow:var(--shadow)}.cal-slot-summary{margin-top:2px}.cal-blank-actions{display:grid;gap:10px;margin-top:18px}.cal-blank-actions .button,.cal-blank-actions button{width:100%;text-align:left}.cal-blank-actions p,.cal-block-target{margin:2px 0 0}.cal-blank-drawer .notice,.cal-blank-drawer .schedule-block-form .panel{margin-top:12px}@media (max-width: 620px){.cal-drawer-backdrop{align-items:flex-end}.cal-lesson-drawer{width:100%;height:auto;max-height:88dvh;border-left:0;border-top:1px solid var(--line);border-radius:16px 16px 0 0}}.cal-block{grid-column:1;z-index:0;min-width:0;border:1px dashed color-mix(in srgb,var(--muted) 42%,transparent);border-left:3px solid color-mix(in srgb,var(--muted) 65%,transparent);background:color-mix(in srgb,var(--muted) 13%,transparent);color:var(--muted);padding:2px 5px;text-align:left;font:inherit;font-size:11px;line-height:1.35;cursor:pointer;overflow:hidden}.cal-block:hover,.cal-block:focus-visible{background:color-mix(in srgb,var(--muted) 20%,transparent);border-color:var(--muted);outline:none}.cal-block-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
