@charset "UTF-8";@keyframes slot-flash{0%,to{box-shadow:0 0 0 0 transparent}25%,60%{box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 55%,transparent)}}@keyframes ghost-breathe{0%,to{opacity:.5;transform:scale(.97)}50%{opacity:1;transform:scale(1)}}.dl-item.flash{animation:slot-flash 1.5s ease-out}.dl-add.ghost{animation:ghost-breathe 2.4s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.dl-item.flash{animation:none}.dl-add.ghost{animation:none;opacity:1}}.app-sheet.mat-bottom-sheet-container{border-radius:22px 22px 0 0;padding:12px 20px calc(16px + env(safe-area-inset-bottom,0px));max-height:88vh;background:var(--surface);color:var(--ink)}.sheet{display:flex;flex-direction:column}.sheet-handle{width:36px;height:4px;border-radius:999px;background:var(--line);margin:0 auto 12px}.sheet-head{display:flex;align-items:flex-start;gap:8px;margin-bottom:4px}.sheet-head>div{flex:1;min-width:0}.sheet-head h3{margin:0;font-family:var(--serif, Georgia, serif);font-size:1.25rem;font-weight:600;letter-spacing:-.01em}.sheet-head p{margin:.15rem 0 0;font-size:.85rem;color:var(--ink-2)}.rs-label{font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin:12px 0 6px}.rs-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.rs-day{min-height:48px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-family:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;padding:0}.rs-day .wd{font-size:.66rem;font-weight:600;text-transform:uppercase;color:var(--ink-3)}.rs-day .num{font-size:1rem;font-weight:700;line-height:1.1}.rs-day.on{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.rs-day.on .wd{color:inherit}.rs-day:disabled{opacity:.45;cursor:default}.rs-day:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.rs-range{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stepper{height:52px;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;justify-content:space-between;padding:0 4px}.stepper b{font-family:var(--serif, Georgia, serif);font-size:1.35rem;font-weight:600;font-variant-numeric:tabular-nums}.rs-preview{margin-top:12px;padding:10px 14px;background:var(--warn-weak);border-radius:10px;color:var(--warn);font-size:.88rem;display:flex;align-items:center;gap:8px}.rs-preview .dot{flex:none}.rs-cta{width:100%;margin-top:14px;--mdc-filled-button-container-height: 48px;--mdc-filled-button-container-shape: 12px}.mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:19;display:flex;gap:8px;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:var(--surface);border-top:1px solid var(--line);--mdc-filled-button-container-height: 48px;--mdc-outlined-button-container-height: 48px;--mdc-filled-button-container-shape: 12px;--mdc-outlined-button-container-shape: 12px}.mobile-bar .mb-range{flex:none;min-width:48px;padding:0 12px}.mobile-bar .mb-range.solo,.mobile-bar .mb-publish{flex:1}.cal-has-bar{padding-bottom:6.5rem}.dl-ico.mat-mdc-icon-button{flex:none;width:36px;height:36px;padding:6px;border:1px solid color-mix(in srgb,currentColor 30%,transparent);border-radius:50%}.dl-ico.mat-mdc-icon-button .mat-icon{font-size:18px;width:18px;height:18px}.dl-range.mat-mdc-button-base{align-self:flex-start;height:40px;border-radius:var(--radius-pill)}.band-more{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:38px;margin-top:8px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink-2);font:inherit;font-size:.84rem;cursor:pointer;box-sizing:border-box}.band-more small{color:var(--ink-3);font-size:.78rem}.band-more mat-icon{width:18px;height:18px;font-size:18px;line-height:18px}.band-more:hover{background:color-mix(in srgb,var(--brand) 8%,var(--surface-2));color:var(--ink)}.day-empty{margin:0;font-size:.85rem;color:var(--ink-3)}.ws-acts{display:inline-flex;align-items:center;gap:.25rem}.ws-btn.mat-mdc-button-base{height:30px;padding:0 .7rem;border-radius:var(--radius-pill);font-size:.8rem}.ws-btn.mat-mdc-button-base .mat-icon{font-size:16px;width:16px;height:16px;margin-right:.2rem}.day-body{display:flex;flex-direction:column;gap:.75rem;touch-action:pan-y}.day-sum{display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day-sum .ds-name{font-family:var(--serif, Georgia, serif);font-size:1rem;font-weight:600;color:var(--ink);text-transform:capitalize}.day-sum .ds-sep{color:var(--line)}.day-sum b{color:var(--ink);font-variant-numeric:tabular-nums}.day-list{display:flex;flex-direction:column;gap:6px}.dl-row{display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:stretch;min-height:44px;position:relative}.dl-row:has(>.dl-past){min-height:22px}.dl-row:has(>.dl-past) .dl-hour{padding-top:.15rem}.dl-row.now .dl-hour{color:var(--danger);font-weight:700}.dl-row.now:after{content:"";position:absolute;left:44px;right:0;top:-3px;border-top:2px solid var(--danger);opacity:.65;pointer-events:none}.dl-hour{font-size:.76rem;color:var(--ink-3);text-align:right;padding-top:.55rem;font-variant-numeric:tabular-nums}.dl-past{align-self:center;border-top:1px dashed var(--line)}.dl-item{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:6px 8px 6px 12px;border-radius:10px;border:1px solid var(--line);border-left-width:4px;background:var(--surface-2);color:var(--ink);font-family:inherit;text-align:left;cursor:pointer;box-sizing:border-box}.dl-item.static{cursor:default}.dl-item:focus-visible{outline:2px dashed var(--ink-3);outline-offset:-2px}.dl-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.dl-title{font-size:.95rem;font-weight:600;display:flex;align-items:center;gap:6px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dl-title small{font-weight:400;font-size:.8rem;opacity:.85}.dl-title mat-icon{font-size:16px;width:16px;height:16px;flex:none}.dl-sub{font-size:.8rem;display:flex;align-items:center;gap:4px;color:var(--ink-2)}.dl-sub mat-icon{font-size:14px;width:14px;height:14px}.dl-chev{color:var(--ink-3);flex:none}.dl-act{font-size:.78rem;font-weight:600;flex:none}.dl-add{min-height:44px;width:100%;border:1px dashed color-mix(in srgb,var(--ink-3) 55%,transparent);border-radius:10px;background:transparent;color:var(--ink-3);font:inherit;font-size:.85rem;display:flex;align-items:center;gap:6px;padding:0 12px;cursor:pointer;box-sizing:border-box}.dl-add mat-icon{font-size:18px;width:18px;height:18px}.dl-add:hover:not(:disabled),.dl-add:focus-visible{border-color:var(--brand-soft);background:var(--brand-weak);color:var(--brand);outline:none}.dl-add:disabled{opacity:.6;cursor:default}.dl-gap{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:0 10px 0 12px;border:1px dashed color-mix(in srgb,var(--ink-3) 45%,transparent);border-radius:var(--radius-sm);background:transparent;color:var(--ink-3);font:inherit;cursor:pointer;box-sizing:border-box}.dl-gap .dg-time{font-size:.78rem;font-variant-numeric:tabular-nums}.dl-gap .dg-fill{flex:1 1 auto}.dl-gap .dg-word{font-size:.75rem}.dl-gap .dg-ic{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:var(--radius-pill);background:var(--surface-2);color:var(--brand);flex:none}.dl-gap .dg-ic mat-icon{font-size:17px;width:17px;height:17px}.dl-gap:hover:not(:disabled),.dl-gap:focus-visible{border-color:var(--brand-soft);color:var(--brand);outline:none}.dl-gap.open{border-style:solid;border-color:var(--line);background:var(--surface-2);color:var(--ink-2)}.dl-gap.past{min-height:20px;border:0;border-top:1px dashed var(--line);border-radius:0;padding:0 12px;cursor:default;opacity:.75}.day-body.agenda .day-list{gap:8px}.day-body.agenda .dl-row{display:block;position:relative;min-height:0}.day-body.agenda .dl-row.now:after{left:0}.day-body.agenda .dl-hour{position:absolute;left:0;top:50%;transform:translateY(-50%);width:46px;padding-top:0;text-align:right;font-size:.9rem;font-weight:700;color:var(--ink);z-index:1;pointer-events:none}.day-body.agenda .dl-row.now .dl-hour{color:var(--danger)}.day-body.agenda .dl-item,.day-body.agenda .dl-add,.day-body.agenda .dl-cont,.day-body.agenda .dl-tight{padding-left:58px}.day-body.agenda .dl-past{display:block;margin:10px 0 10px 58px}.day-body.agenda .dl-item{min-height:68px;padding-top:10px;padding-bottom:10px;padding-right:10px;border-radius:12px;background:var(--surface);box-shadow:var(--shadow-1)}.day-body.agenda .dl-title{font-size:.94rem}.day-body.agenda .dl-title small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-body.agenda .dl-main{gap:5px}.day-body.agenda .dl-sub{align-self:flex-start;padding:2px 8px;border-radius:var(--radius-pill);background:var(--surface-2);font-size:.72rem;font-weight:600}.dl-cont,.dl-tight{align-self:center;font-size:.8rem;color:var(--ink-3);padding:0 12px}.dl-cont{border-left:4px solid var(--line);padding-left:8px;font-variant-numeric:tabular-nums}.dl-run{display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:0}.dl-run .dl-cont{align-self:stretch}.dl-run .dl-add{min-height:34px}.day-sum b.fr{color:var(--slot-free-ink)}.day-sum b.aw{color:var(--brand)}.day-sum b.dr{color:var(--warn)}.dl-item.selected{outline:3px solid var(--ink);outline-offset:-3px}.dl-item.dimmed{opacity:.35}.dl-item.draft{background:var(--slot-draft-weak);border-color:var(--slot-draft-line);border-style:dashed;border-left-color:var(--slot-draft-ink);color:var(--slot-draft-ink)}.dl-item.free{background:var(--slot-free-weak);border-color:var(--slot-free-weak);border-left-color:var(--slot-free-ink);border-left-style:dotted;color:var(--slot-free-ink)}.dl-item.taken,.dl-item.offapp{background:var(--slot-taken-weak);border-color:var(--slot-taken-weak);border-left-color:var(--slot-taken-ink);color:var(--slot-taken-ink)}.dl-item.await{background:var(--slot-await-weak);border-color:var(--slot-await-weak);border-left-color:var(--slot-await-ink)}.dl-item.await .dl-sub{color:var(--slot-await-ink)}.dl-item.paid{background:var(--success-weak);border-color:var(--success-weak);border-left-color:var(--success)}.dl-item.paid .dl-sub{color:var(--success)}.dl-item.pending{border-left-color:var(--ink-3)}.dl-item.expired{background:var(--line);border-color:var(--line);color:var(--ink-3)}.dl-item.group.g-empty{border-left-color:var(--ink-3);color:var(--ink-2)}.dl-item.group.g-under{background:var(--brand-weak);border-color:var(--brand-weak);border-left-color:var(--brand);color:var(--brand-deep, var(--brand))}.dl-item.group.g-under .dl-sub{color:var(--brand)}.dl-item.group.g-draft{background:var(--slot-draft-weak);border-color:var(--slot-draft-line);border-style:dashed;border-left-color:var(--slot-draft-ink);color:var(--slot-draft-ink)}.dl-item.group.g-go{background:var(--success-weak);border-color:var(--success-weak);border-left-color:var(--success);color:var(--success)}.dl-item.group.g-go .dl-sub{color:var(--success)}.dl-item.group.g-full{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.dl-item.group.g-full .dl-sub,.dl-item.group.g-full .dl-chev{color:inherit}.dl-item.group.g-off{background:var(--danger-weak, var(--surface-2));border-color:var(--danger-weak, var(--line));border-left-color:var(--danger);color:var(--danger);text-decoration:line-through}.dl-add.ghost{border-color:var(--warn);background:var(--warn-weak);color:var(--warn)}.wg-ev{position:absolute;left:0;right:0;padding:2px 3px;pointer-events:auto;box-sizing:border-box;display:flex}.wg-overlay .wg-ev .wg-slot{min-height:0;overflow:hidden}.wg-overlay .wg-ev.short .wg-slot{gap:0;padding:0 2px}.wg-overlay .wg-ev.short .wg-slot .wg-name,.wg-overlay .wg-ev.short .wg-slot .wg-tag{display:none}.wgrid.tight .wg-overlay .wg-ev .wg-slot{flex-direction:row;flex-wrap:nowrap;justify-content:center;align-items:center;gap:4px;padding-top:0;padding-bottom:0;white-space:nowrap}.wgrid.tight .wg-overlay .wg-ev .wg-slot .wg-time{flex:none}.wgrid.tight .wg-overlay .wg-ev .wg-slot .wg-name{min-width:0;overflow:hidden;text-overflow:ellipsis}.wg-ev.ghost{pointer-events:none;opacity:.75}.wg-ev.ghost .wg-slot{border-style:dashed;border-width:2px}.wg-busy{position:absolute;left:0;right:0;z-index:0;border-radius:4px;pointer-events:none;background:repeating-linear-gradient(45deg,#78787829,#78787829 5px,#7878780a 5px 10px)}.trial-tag{margin-left:.4rem;padding:1px 7px;border-radius:var(--radius-pill);background:var(--accent-teal-wash, var(--surface-2));color:var(--accent-teal, var(--ink-2));font-size:.68rem;font-weight:700;letter-spacing:.01em;vertical-align:middle;white-space:nowrap}.course-tag{margin-left:.4rem;padding:1px 7px;border-radius:var(--radius-pill);background:var(--brand-weak, var(--surface-2));color:var(--brand, var(--ink-2));font-size:.68rem;font-weight:700;letter-spacing:.01em;vertical-align:middle;white-space:nowrap}.wg-mini-stack{display:flex;flex-direction:column;gap:2px;width:100%;height:100%;min-height:22px}.wg-mini-stack>.wg-mini{flex:1 1 0;min-height:0}.wg-mini{display:block;width:100%;height:100%;min-height:22px;padding:0;border-radius:4px;border:1px solid transparent;background:transparent;cursor:pointer;box-sizing:border-box}.wg-mini:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.wg-mini.draft{background:var(--slot-draft-weak);border-color:var(--slot-draft-line);border-style:dashed}.wg-mini.free{background:var(--slot-free-weak);border-color:var(--slot-free-line);border-left:3px dotted var(--slot-free-ink)}.wg-mini.taken,.wg-mini.offapp{background:var(--slot-taken-weak);border-color:var(--slot-taken-line);border-left:3px solid var(--slot-taken-ink)}.wg-mini.await{background:var(--slot-await-weak);border-color:var(--slot-await-line);border-left:3px solid var(--slot-await-ink)}.wg-mini.paid{background:var(--success-weak);border-color:var(--success);border-left:3px solid var(--success)}.wg-mini.pending{background:var(--surface-2);border-color:var(--line);border-left:3px solid var(--ink-3)}.wg-mini.expired{background:var(--line)}.wg-mini.group.g-empty{background:var(--surface-2);border-color:var(--ink-3)}.wg-mini.group.g-under{background:var(--brand-weak);border-color:var(--brand)}.wg-mini.group.g-go{background:var(--success-weak);border-color:var(--success)}.wg-mini.group.g-full{background:var(--brand);border-color:var(--brand)}.wg-mini.group.g-off{background:var(--danger-weak);border-color:var(--danger)}.type-bar,.ap-types{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.type-bar{margin-top:.75rem}.ap-types{margin-top:.5rem}.tb-label,.ap-types-label{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.tchip{font:inherit;font-size:.82rem;padding:.3rem .75rem;border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer;display:inline-flex;align-items:baseline;gap:.35rem}.tchip:hover{border-color:var(--brand-soft);color:var(--ink)}.tchip:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.tchip.on{background:var(--brand);border-color:var(--brand);color:var(--on-brand);font-weight:700}.tchip .pr{font-size:.74rem;opacity:.8;font-variant-numeric:tabular-nums}.tchip.either{align-items:center;gap:3px}.tchip .tc-ic{font-size:14px;width:14px;height:14px}.tchip.locked{opacity:.55;border-style:dashed;cursor:not-allowed}.tchip .tc-ic.lock{margin-left:2px}.tchip.grp{align-items:center}.tchip.grp .tc-ic{color:var(--accent-blue)}.tchip.grp.on .tc-ic{color:inherit}.tchip.ghost{border-style:dashed;color:var(--brand);text-decoration:none;align-items:center}.tb-sep{width:1px;height:1.25rem;background:var(--line);margin:0 .2rem}.form-seg{display:inline-flex;gap:2px;padding:3px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-pill)}.form-seg button{font:inherit;font-size:.82rem;border:0;background:transparent;color:var(--ink-2);border-radius:var(--radius-pill);padding:.3rem .85rem;min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:4px;cursor:pointer}.form-seg button:hover{color:var(--ink)}.form-seg button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.form-seg button.on{background:var(--brand);color:var(--on-brand);font-weight:700}.form-seg button.locked{opacity:.55;cursor:not-allowed}.form-seg button mat-icon{font-size:16px;width:16px;height:16px}.form-seg button .fs-lock{font-size:14px;width:14px;height:14px}.form-seg .fs-ic{display:inline-flex;align-items:center;gap:2px}.form-seg .fs-or{font-size:.74rem;opacity:.8}.dur-chips{display:contents}@media(max-width:640px){.form-seg{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);width:100%;border-radius:var(--radius)}.form-seg button{flex-direction:column;gap:2px;min-height:44px;padding:.25rem;border-radius:var(--radius-sm);font-size:.75rem}.type-bar .fs-sep{display:none}.type-bar .dur-chips{display:flex;flex-wrap:wrap;gap:.4rem;width:100%}.type-bar .dur-chips .tchip{flex:0 0 auto;min-height:44px;flex-direction:column;align-items:center;justify-content:center;gap:0}}.fill-btn .fb-caret{font-size:18px;width:18px;height:18px;opacity:.65}.cal-menu.mat-mdc-menu-panel{min-width:320px;max-width:min(380px,100vw - 2rem)}.cal-menu.mat-mdc-menu-panel .mat-mdc-menu-content{padding:.35rem 0}.cal-menu.mat-mdc-menu-panel .cm-head{padding:.55rem 1rem .2rem;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.cal-menu.mat-mdc-menu-panel .mat-mdc-menu-item.cm-item{height:auto;min-height:56px;padding:.6rem 1rem}.cal-menu.mat-mdc-menu-panel .mat-mdc-menu-item.cm-item .mat-mdc-menu-item-text{display:flex;align-items:flex-start;gap:.75rem;white-space:normal}.cal-menu.mat-mdc-menu-panel .cm-ic{flex:none;display:grid;place-items:center;width:2.15rem;height:2.15rem;border-radius:10px;background:var(--wash, var(--surface-2))}.cal-menu.mat-mdc-menu-panel .cm-ic .mat-icon{margin:0;font-size:1.25rem;width:1.25rem;height:1.25rem;color:var(--accent, var(--ink-2))}.cal-menu.mat-mdc-menu-panel .cm-txt{display:flex;flex-direction:column;gap:1px;min-width:0}.cal-menu.mat-mdc-menu-panel .cm-txt b{font-size:.92rem;font-weight:600;line-height:1.25;color:var(--ink)}.cal-menu.mat-mdc-menu-panel .cm-txt small{font-size:.78rem;line-height:1.3;color:var(--ink-2)}.cal-menu.mat-mdc-menu-panel .tone-blue{--accent: var(--accent-blue);--wash: var(--accent-blue-wash)}.cal-menu.mat-mdc-menu-panel .tone-indigo{--accent: var(--accent-indigo);--wash: var(--accent-indigo-wash)}.cal-menu.mat-mdc-menu-panel .tone-violet{--accent: var(--accent-violet);--wash: var(--accent-violet-wash)}.cal-menu.mat-mdc-menu-panel .cm-item.danger{--accent: var(--danger);--wash: var(--danger-weak)}.cal-menu.mat-mdc-menu-panel .cm-item.danger .cm-txt b{color:var(--danger)}.lesson{display:flex;flex-direction:column}.l-band{display:flex;align-items:center;gap:.5rem;padding:.45rem .4rem .45rem 1.05rem;font-size:.82rem;font-weight:700;letter-spacing:.3px}.l-band .l-dot{flex:none;width:9px;height:9px;border-radius:999px;background:currentColor}.l-band mat-icon{flex:none;font-size:17px;width:17px;height:17px}.l-band button{color:inherit;opacity:.75;--mdc-icon-button-state-layer-size: 32px;--mat-icon-button-state-layer-size: 32px;width:32px;height:32px;padding:0;display:inline-grid;place-items:center;line-height:0}.l-band.await{background:var(--slot-await-weak);color:var(--slot-await-ink)}.l-band.paid{background:var(--success-weak);color:var(--success)}.l-band.offapp{background:var(--slot-taken-weak);color:var(--slot-taken-ink)}.l-band.notheld,.l-band.hold{background:var(--surface-2);color:var(--ink-2)}.sheet .l-band{border-radius:var(--radius-sm)}.l-body{display:flex;flex-direction:column;gap:.875rem;padding:1rem 1.125rem 1.125rem}.l-when{display:flex;flex-direction:column;gap:.3rem}.l-time{font-size:1.4rem;font-weight:600;line-height:1.75rem;letter-spacing:-.3px;font-variant-numeric:tabular-nums}.l-daterow{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.l-date{font-size:.81rem;color:var(--ink-2)}.l-date:first-letter{text-transform:uppercase}.l-student{display:flex;align-items:center;gap:.75rem}.l-avatar{flex:none;width:38px;height:38px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--brand-weak);color:var(--on-brand-weak);font-size:.84rem;font-weight:700;letter-spacing:.4px}.l-who{display:flex;flex-direction:column;min-width:0}.l-name{font-size:.94rem;font-weight:600;line-height:1.25rem}.l-email{font-size:.81rem;line-height:1.15rem;color:var(--ink-2);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.l-email:hover{color:var(--brand);text-decoration:underline}.note-title{display:block;color:var(--ink);font-weight:700}.note-view{display:flex;align-items:flex-start;gap:.35rem;padding:.6rem .4rem .6rem .75rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper)}.note-text{flex:1 1 auto;min-width:0;color:var(--ink-2);font-size:.85rem}.add-note{display:flex;align-items:center;gap:.55rem;width:100%;padding:.7rem .75rem;border:1.5px dashed var(--line);border-radius:var(--radius-sm);background:none;color:var(--ink-3);font:inherit;font-size:.85rem;text-align:left;cursor:pointer}.add-note:hover{border-color:var(--brand-soft);color:var(--ink-2)}.add-note mat-icon{flex:none;font-size:18px;width:18px;height:18px}.add-note.tell{border:1.5px solid var(--brand);background:var(--brand-weak);color:var(--brand);font-weight:600}.add-note.tell:hover{background:var(--brand);color:var(--on-brand)}.badge.st-CONFIRMED{background:var(--brand-weak);color:var(--brand)}.badge.st-CANCELLED{background:var(--surface-2);color:var(--ink-3)}.badge.st-REFUNDED{background:var(--brand-weak);color:var(--brand)}.badge.resch{background:var(--warn-weak);color:var(--warn);display:inline-flex;align-items:center;gap:.2rem}.badge.resch mat-icon{font-size:14px;width:14px;height:14px}.badge.override{background:var(--success-weak);color:var(--success);display:inline-flex;align-items:center;gap:.2rem}.badge.override mat-icon{font-size:14px;width:14px;height:14px}.l-hint{color:var(--ink-3);font-size:.8rem;margin-top:-.5rem}.l-course{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem .7rem;border-radius:10px;background:var(--brand-weak, #f4f6ff);border:1px solid var(--line);font-size:.86rem;line-height:1.45}.l-course mat-icon{color:var(--brand);font-size:18px;width:18px;height:18px}.l-course-topic{display:block;color:var(--ink-3);font-size:.8rem}.l-course-acts{display:flex;gap:.4rem;flex-wrap:wrap}.l-danger{color:var(--danger)}.l-invoice{display:flex;align-items:center;gap:.55rem;padding:.6rem .75rem;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink-2);font-size:.81rem;line-height:1.15rem}.l-invoice mat-icon{flex:none;font-size:18px;width:18px;height:18px}.l-invoice.ok{background:var(--success-weak);color:var(--success)}.l-invoice.bad{background:var(--danger-weak);color:var(--danger)}.l-invoice.muted{background:var(--surface-2);color:var(--ink-2)}.l-primary{width:100%;--mdc-filled-button-container-height: 46px;--mdc-filled-button-container-shape: 12px}.l-actions{display:flex;align-items:center;gap:.625rem;--mdc-outlined-button-container-height: 44px;--mdc-outlined-button-container-shape: 12px}.l-grow{flex:1 1 auto;min-width:0}.l-address{width:100%}.l-hint-ic{font-size:1rem;width:1rem;height:1rem;vertical-align:-3px;color:var(--success)}.l-more{flex:none;width:44px;height:44px;border:1px solid var(--line);border-radius:12px;color:var(--ink-2)}.l-actions mat-spinner{margin:0 auto}html{--mat-sys-background: light-dark(#fef8fc, #151316);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#f5eff4, #323033);--mat-sys-inverse-primary: light-dark(#d5baff, #7d00fa);--mat-sys-inverse-surface: light-dark(#323033, #e6e1e6);--mat-sys-on-background: light-dark(#1d1b1e, #e6e1e6);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #42008a);--mat-sys-on-primary-container: light-dark(#5f00c0, #ecdcff);--mat-sys-on-primary-fixed: light-dark(#270057, #270057);--mat-sys-on-primary-fixed-variant: light-dark(#5f00c0, #5f00c0);--mat-sys-on-secondary: light-dark(#ffffff, #352d40);--mat-sys-on-secondary-container: light-dark(#4b4357, #eadef7);--mat-sys-on-secondary-fixed: light-dark(#1f182a, #1f182a);--mat-sys-on-secondary-fixed-variant: light-dark(#4b4357, #4b4357);--mat-sys-on-surface: light-dark(#1d1b1e, #e6e1e6);--mat-sys-on-surface-variant: light-dark(#49454e, #e8e0eb);--mat-sys-on-tertiary: light-dark(#ffffff, #5b005b);--mat-sys-on-tertiary-container: light-dark(#810081, #ffd7f5);--mat-sys-on-tertiary-fixed: light-dark(#380038, #380038);--mat-sys-on-tertiary-fixed-variant: light-dark(#810081, #810081);--mat-sys-outline: light-dark(#7b757f, #958e99);--mat-sys-outline-variant: light-dark(#cbc4cf, #49454e);--mat-sys-primary: light-dark(#7d00fa, #d5baff);--mat-sys-primary-container: light-dark(#ecdcff, #5f00c0);--mat-sys-primary-fixed: light-dark(#ecdcff, #ecdcff);--mat-sys-primary-fixed-dim: light-dark(#d5baff, #d5baff);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#645b70, #cec2db);--mat-sys-secondary-container: light-dark(#eadef7, #4b4357);--mat-sys-secondary-fixed: light-dark(#eadef7, #eadef7);--mat-sys-secondary-fixed-dim: light-dark(#cec2db, #cec2db);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#fef8fc, #151316);--mat-sys-surface-bright: light-dark(#fef8fc, #3b383c);--mat-sys-surface-container: light-dark(#f2ecf1, #211f22);--mat-sys-surface-container-high: light-dark(#ede6eb, #2b292d);--mat-sys-surface-container-highest: light-dark(#e6e1e6, #363437);--mat-sys-surface-container-low: light-dark(#f8f2f6, #1d1b1e);--mat-sys-surface-container-lowest: light-dark(#ffffff, #0f0d11);--mat-sys-surface-dim: light-dark(#ded8dd, #151316);--mat-sys-surface-tint: light-dark(#7d00fa, #d5baff);--mat-sys-surface-variant: light-dark(#e8e0eb, #49454e);--mat-sys-tertiary: light-dark(#a900a9, #ffabf3);--mat-sys-tertiary-container: light-dark(#ffd7f5, #810081);--mat-sys-tertiary-fixed: light-dark(#ffd7f5, #ffd7f5);--mat-sys-tertiary-fixed-dim: light-dark(#ffabf3, #ffabf3);--mat-sys-neutral-variant20: #332f37;--mat-sys-neutral10: #1d1b1e;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem Roboto;--mat-sys-body-large-font: Roboto;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Roboto;--mat-sys-body-medium-font: Roboto;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Roboto;--mat-sys-body-small-font: Roboto;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Roboto;--mat-sys-display-large-font: Roboto;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Roboto;--mat-sys-display-medium-font: Roboto;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Roboto;--mat-sys-display-small-font: Roboto;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Roboto;--mat-sys-headline-large-font: Roboto;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Roboto;--mat-sys-headline-medium-font: Roboto;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Roboto;--mat-sys-headline-small-font: Roboto;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Roboto;--mat-sys-label-large-font: Roboto;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Roboto;--mat-sys-label-medium-font: Roboto;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Roboto;--mat-sys-label-small-font: Roboto;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Roboto;--mat-sys-title-large-font: Roboto;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Roboto;--mat-sys-title-medium-font: Roboto;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Roboto;--mat-sys-title-small-font: Roboto;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12;--mat-sys-primary: light-dark(#3d4fc0, #9fabf4);--mat-sys-on-primary: light-dark(#ffffff, #10173a);--mat-sys-primary-container: light-dark(#e5ebfc, #29305c);--mat-sys-on-primary-container: light-dark(#2b3897, #dbe1ff);--mat-sys-tertiary: light-dark(#b78a2e, #dcb85f);--mat-sys-on-tertiary: light-dark(#2a1e05, #2a1e05);--mat-sys-tertiary-container: light-dark(#f7efd9, #4a3708);--mat-sys-on-tertiary-container: light-dark(#4a3708, #f7efd9);color-scheme:light}:root{--brand: var(--mat-sys-primary);--on-brand: var(--mat-sys-on-primary);--brand-weak: var(--mat-sys-primary-container);--on-brand-weak: var(--mat-sys-on-primary-container);--brand-deep: light-dark(#2b3897, #c3cbff);--brand-soft: light-dark(#6070d4, #7d8ce6);--gold: light-dark(#b78a2e, #d9b65e);--gold-weak: light-dark(#f7efd9, #33280f);--ink: light-dark(#182031, #e7eaf3);--ink-2: light-dark(#556079, #aeb6c9);--ink-3: light-dark(#8d97ac, #808aa0);--ink-head: var(--ink);--line: light-dark(#dfe6f3, #2c3350);--surface: light-dark(#ffffff, #1a2030);--surface-2: light-dark(#eef2fb, #232a3d);--panel-col: light-dark(#f6f7fc, #20273a);--paper: light-dark(#f6f8fd, #0f1420);--page-max: 1600px;--success: light-dark(#2f7d5b, #5cc08d);--success-weak: light-dark(#e6f4ec, #14301f);--warn: light-dark(#b26a00, #e0a552);--warn-weak: light-dark(#fbeede, #33240f);--danger: light-dark(#c0392b, #ef8b7f);--danger-weak: light-dark(#fbe9e7, #3a1c18);--slot-free-line: light-dark(#90caf9, #4a7ab5);--slot-free-weak: light-dark(#e3f2fd, #12263a);--slot-free-ink: light-dark(#0b6bb8, #90caf9);--slot-taken-line: light-dark(#c98fc6, #8f5c93);--slot-taken-weak: light-dark(#f7eaf7, #2f1730);--slot-taken-ink: light-dark(#8a2f86, #e2a3e0);--slot-draft-line: light-dark(#f2d15a, #8a6d12);--slot-draft-weak: light-dark(#fff9d6, #2e2710);--slot-draft-ink: light-dark(#7a5b00, #f2d15a);--slot-await-line: light-dark(#eeab84, #96552f);--slot-await-weak: light-dark(#fdeee4, #391f10);--slot-await-ink: light-dark(#c4490c, #f2a179);--accent-indigo: light-dark(#4f46e5, #8b85f0);--accent-indigo-wash: light-dark(#eef0fd, #262b52);--accent-teal: light-dark(#0f766e, #4fd1c5);--accent-teal-wash: light-dark(#e2f4f1, #143330);--accent-amber: light-dark(#b45309, #e0a552);--accent-amber-wash: light-dark(#fbeede, #33240f);--accent-pink: light-dark(#be185d, #e87fb0);--accent-pink-wash: light-dark(#fce7f0, #3a1830);--accent-blue: light-dark(#1d6fb8, #6cb6f0);--accent-blue-wash: light-dark(#e5f0fa, #14293f);--accent-green: light-dark(#2f7d5b, #5cc08d);--accent-green-wash: light-dark(#e6f4ec, #14301f);--accent-violet: light-dark(#7c3aed, #b79cf5);--accent-violet-wash: light-dark(#f2ecfd, #2a1f45);--accent-gold: light-dark(#a3781f, #d9b65e);--accent-gold-wash: light-dark(#f7efd9, #33280f);--accent-orange: light-dark(#c2410c, #f0a075);--accent-orange-wash: light-dark(#fdeee4, #3a1d10);--serif: "Source Serif 4", Constantia, Georgia, "Times New Roman", serif;--radius: 14px;--radius-sm: 10px;--radius-pill: 999px;--shadow-1: 0 1px 2px light-dark(rgba(20, 25, 55, .07), rgba(0, 0, 0, .4));--shadow-2: 0 10px 30px -14px light-dark(rgba(30, 40, 100, .28), rgba(0, 0, 0, .62))}body{background:radial-gradient(65% 55% at 12% -5%,color-mix(in srgb,var(--brand) 16%,transparent),transparent 68%),radial-gradient(55% 45% at 92% 4%,color-mix(in srgb,var(--gold) 16%,transparent),transparent 70%),var(--paper);background-attachment:fixed;color:var(--mat-sys-on-surface);font:var(--mat-sys-body-medium);line-height:1.4286;margin:0}html,body{height:100%}body{margin:0;font-family:Roboto,Helvetica Neue,sans-serif}input::-ms-reveal,input::-ms-clear{display:none}h1,h2,h3,h4,h5,h6{line-height:1.2}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}@media print{.app-toolbar,app-footer,app-assistant-widget{display:none!important}.app-content{padding:0!important}}.mat-mdc-dialog-surface{overflow-x:hidden}.mat-mdc-button-base.danger-action{--mat-button-filled-container-color: var(--danger);--mat-button-filled-label-text-color: light-dark(#fff, #3a1c18);background-color:var(--danger);color:light-dark(#fff,#3a1c18)}.mat-mdc-button-base.danger-action .mat-icon,.mat-mdc-button-base.danger-action .mat-mdc-button-persistent-ripple:before{color:inherit}.mat-mdc-button-base.danger-text{color:var(--danger)}.mat-mdc-button-base.danger-text .mat-icon{color:inherit}.mat-mdc-button-base.danger-outline{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,transparent)}.mat-mdc-button-base.danger-outline .mat-icon{color:inherit}.dlg-highlight{margin:0 0 .9rem;padding:.6rem .85rem;background:var(--surface-2);border-radius:10px;font-weight:600;font-size:.95rem;color:var(--ink);font-variant-numeric:tabular-nums}.dlg-facts{list-style:none;margin:1rem 0 .25rem;padding:0;display:flex;flex-direction:column;gap:.7rem}.dlg-facts li{display:flex;gap:.65rem;align-items:flex-start;font-size:.9rem;line-height:1.45;color:var(--ink-2)}.dlg-facts b{color:var(--ink)}.dlg-facts .mat-icon{flex:none;font-size:1.15rem;width:1.15rem;height:1.15rem;margin-top:.1rem;color:var(--ink-3)}.dlg-facts .warn .mat-icon{color:var(--warn)}.dlg-facts .ok .mat-icon{color:var(--success)}.mat-mdc-dialog-actions{padding:.75rem 1.5rem 1.25rem;gap:.4rem}.mat-mdc-form-field .mat-mdc-form-field-subscript-wrapper{height:auto;min-height:1.25em}.mat-mdc-form-field .mat-mdc-form-field-subscript-wrapper.mat-mdc-form-field-bottom-align:before{content:unset}.mat-mdc-form-field .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-hint-wrapper,.mat-mdc-form-field .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-error-wrapper{position:static}.mat-mdc-form-field .mat-mdc-form-field-subscript-wrapper:has(.mat-mdc-form-field-hint,.mat-mdc-form-field-error){padding-bottom:.6rem}.mat-mdc-form-field .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-hint-wrapper{flex-wrap:wrap;column-gap:.75rem}.mat-mdc-button-base .mdc-button__label:has(>.mat-icon,>mat-spinner){display:inline-flex;align-items:center;gap:8px}.side-sheet .mat-mdc-dialog-surface{border-radius:0!important}.time-menu.mat-mdc-menu-panel{background:var(--surface);border-radius:14px;max-width:none}.mat-datepicker-content{background-color:var(--surface)!important;border-radius:16px!important;border:1px solid var(--line);box-shadow:0 18px 44px -12px #18203147,0 2px 6px #18203114!important}.rp-pane .mat-mdc-dialog-surface{border-radius:20px 0 0 20px}@media(max-width:600px){.rp-pane .mat-mdc-dialog-surface{border-radius:0}}
