:root{--bg: #0a0a0a;--bg-elevated: #141414;--bg-raised: #1a1a1a;--bg-raised-hover: #222222;--bg-panel: #f5f5f5;--surface: #ffffff;--surface-sunken: #f0f0f0;--surface-muted: #ececec;--surface-pressed: #e2e2e2;--overlay: #000000;--ink: #111111;--ink-muted: #5c5c5c;--ink-faint: #8a8a8a;--ink-on-dark: #f2f2f2;--on-accent: #ffffff;--accent: #c8102e;--accent-hover: #a00d25;--danger: #c8102e;--danger-on-dark: #f0a0ab;--success: #1b7a3d;--success-on-dark: #6dca8c;--success-ink-on-dark: #e8f8ee;--info: #175cd3;--border: #d6d6d6;--border-on-dark: #cfcfcf;--radius: 12px;--shadow: 0 18px 40px color-mix(in srgb, var(--overlay) 28%, transparent);--font-display: "Outfit", system-ui, sans-serif;--font-body: "DM Sans", system-ui, sans-serif}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}a{color:var(--accent);font-weight:600;text-decoration:none}a:hover{text-decoration:underline}.brand{margin:0;font-family:var(--font-display);font-size:1.15rem;font-weight:700;letter-spacing:-.02em;color:var(--ink)}.muted{color:var(--ink-muted)}.subnote{margin:.35rem 0 0;font-size:.8rem;line-height:1.4;color:var(--ink-muted)}.page{min-height:100dvh;padding:1.25rem}.page--center{display:grid;place-items:center;color:var(--ink-on-dark)}.auth-shell{min-height:100dvh;display:grid;place-items:center;padding:1.25rem}.auth-panel{width:min(100%,420px);background:var(--bg-panel);border-radius:calc(var(--radius) + 4px);padding:1.75rem 1.5rem 1.5rem;box-shadow:var(--shadow)}.auth-panel--wide{width:min(100%,560px)}.auth-title{margin:.75rem 0 .35rem;font-family:var(--font-display);font-size:clamp(1.75rem,4vw,2rem);letter-spacing:-.03em}.auth-subtitle{margin:0 0 1.5rem;color:var(--ink-muted);line-height:1.45}.auth-form{display:grid;gap:1rem}.auth-footer{margin:1.25rem 0 0;text-align:center;color:var(--ink-muted)}.auth-forgot{margin:-.35rem 0 0;text-align:right;font-size:.9rem}.field{display:grid;gap:.4rem}.field--inline{display:flex;flex-direction:row;align-items:center;gap:.75rem}.field--inline .field__label{flex-shrink:0}.field--inline .select-dropdown{flex:1;min-width:0}.field__label{font-size:.9rem;font-weight:600}.check{display:inline-flex;align-items:center;gap:.7rem;min-height:48px;width:fit-content;margin:0;color:inherit;font:inherit;font-size:.9rem;font-weight:600;line-height:1.2;cursor:pointer;-webkit-user-select:none;user-select:none}.check__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box;width:1.2rem;height:1.2rem;margin:0;padding:0;flex-shrink:0;border:1px solid var(--border);border-radius:4px;background-color:var(--surface);background-image:none;background-repeat:no-repeat;background-position:50% 50%;background-size:.7rem .7rem;cursor:pointer}.check__input:checked{background-color:var(--accent);border-color:var(--accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M2.4 6.2l2.5 2.5 4.7-5.2'/%3E%3C/svg%3E")}.check__input:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 45%,var(--surface));outline-offset:2px}.check:has(.check__input:disabled){opacity:.65;cursor:not-allowed}.check:has(.check__input:disabled) .check__input{cursor:not-allowed}.field__error,.form-error{margin:0;color:var(--danger);font-size:.875rem}.form-info{margin:0;color:var(--info);font-size:.875rem}.form-success{margin:0;color:var(--success);font-size:.875rem;font-weight:600}.input{width:100%;min-height:48px;border:1px solid var(--border);border-radius:var(--radius);padding:.7rem .9rem;font:inherit;background:var(--surface);color:var(--ink)}.input:focus{outline:2px solid color-mix(in srgb,var(--accent) 45%,var(--surface));outline-offset:1px;border-color:var(--accent)}.password-input{position:relative}.password-input__field{padding-right:2.75rem}.password-input__toggle{position:absolute;top:50%;right:.45rem;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:none;border-radius:8px;background:transparent;color:var(--ink-muted);cursor:pointer}.password-input__toggle:hover{color:var(--ink);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.password-input__toggle:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 45%,var(--surface));outline-offset:1px}.toggle-group{display:grid;grid-template-columns:repeat(2,1fr);gap:.4rem;padding:.3rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.toggle-group__option{min-height:42px;border:none;border-radius:calc(var(--radius) - 4px);padding:.55rem .75rem;font:inherit;font-weight:600;color:var(--ink-muted);background:transparent;cursor:pointer}.toggle-group__option:hover{color:var(--ink);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.toggle-group__option.is-selected{color:var(--on-accent);background:var(--accent)}.toggle-group__option:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 45%,var(--surface));outline-offset:1px}.toggle-group.is-disabled{background:var(--surface-muted)}.toggle-group__option:disabled,.toggle-group.is-disabled .toggle-group__option{cursor:not-allowed;color:var(--ink-faint);background:transparent}.toggle-group__option:disabled:hover,.toggle-group.is-disabled .toggle-group__option:hover{color:var(--ink-faint);background:transparent}.toggle-group__option.is-selected:disabled,.toggle-group.is-disabled .toggle-group__option.is-selected{color:var(--ink-on-dark);background:var(--ink-muted)}.btn{min-height:48px;border:none;border-radius:var(--radius);padding:.7rem 1rem;font:inherit;font-weight:600;cursor:pointer}.btn:disabled{opacity:.65;cursor:not-allowed}.btn--primary{background:var(--accent);color:var(--on-accent)}.btn--primary:hover:not(:disabled){background:var(--accent-hover)}.btn--ghost{background:transparent;color:var(--ink-on-dark);border:1px solid color-mix(in srgb,var(--ink-on-dark) 35%,transparent)}.btn--danger{background:transparent;color:var(--danger-on-dark);border:1px solid color-mix(in srgb,var(--danger-on-dark) 55%,transparent)}.btn--danger:hover:not(:disabled){color:#fff;background:color-mix(in srgb,var(--danger) 22%,transparent);border-color:var(--danger-on-dark)}.auth-panel .btn--ghost{color:var(--ink-muted);border-color:var(--border)}.auth-panel .btn--ghost:hover:not(:disabled){color:var(--ink);background:color-mix(in srgb,var(--ink) 4%,transparent)}.btn--social{width:100%;background:var(--surface);color:var(--ink);border:1px solid var(--border)}.btn--social:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.btn--compact{min-height:0;padding:.35rem .75rem;font-size:.85rem}.social-auth{display:grid;gap:.85rem;margin-top:1.25rem}.social-auth__divider{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;color:var(--ink-muted);font-size:.85rem}.social-auth__divider:before,.social-auth__divider:after{content:"";height:1px;background:var(--border)}.social-auth__buttons{display:grid;gap:.65rem}.home{color:var(--ink-on-dark);max-width:960px;margin:0 auto}.home__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:2rem}.home__header .brand{color:var(--ink-on-dark)}.home__profile-trigger{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;border:1px solid color-mix(in srgb,var(--ink-on-dark) 22%,transparent);border-radius:50%;background:color-mix(in srgb,var(--ink-on-dark) 12%,transparent);color:var(--ink-on-dark);text-decoration:none;font-weight:700;overflow:hidden}.home__profile-trigger:hover{background:color-mix(in srgb,var(--ink-on-dark) 20%,transparent);text-decoration:none;color:var(--ink-on-dark)}.home__profile-trigger:focus-visible{outline:2px solid color-mix(in srgb,var(--ink-on-dark) 45%,transparent);outline-offset:2px}.home__profile-avatar{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:.8rem;font-weight:700;letter-spacing:.02em;line-height:1;text-transform:uppercase;-webkit-user-select:none;user-select:none}.home__profile-page-actions{margin-top:1.5rem}.home__text-action{display:inline;margin:0;padding:0;border:0;background:none;color:color-mix(in srgb,var(--ink-on-dark) 75%,transparent);font:inherit;font-size:.95rem;text-decoration:underline;text-underline-offset:.15em;cursor:pointer}.home__text-action:hover:not(:disabled){color:var(--ink-on-dark)}.home__text-action:disabled{opacity:.5;cursor:not-allowed}.home__text-action:focus-visible{outline:2px solid color-mix(in srgb,var(--ink-on-dark) 45%,transparent);outline-offset:2px}.home__title{margin:0 0 .5rem;font-family:var(--font-display);font-size:clamp(1.8rem,5vw,2.4rem);letter-spacing:-.03em}.home__main .muted{color:color-mix(in srgb,var(--ink-on-dark) 70%,transparent)}.home__card{margin-top:1.75rem;padding:1.25rem;border-radius:var(--radius);background:color-mix(in srgb,var(--bg-elevated) 92%,var(--surface) 4%);border:1px solid color-mix(in srgb,var(--ink-on-dark) 12%,transparent)}.home__card--success{background:color-mix(in srgb,var(--success) 28%,var(--bg-elevated));border-color:color-mix(in srgb,var(--success) 55%,transparent)}.home .home__card--success .home__section-title,.home .home__card--success .form-info,.home .home__card--success .form-success,.home .home__card--success .muted,.home .home__card--success a{color:var(--success-ink-on-dark)}.home .home__card--success .form-info,.home .home__card--success .form-success{font-size:.95rem}.home__section-title{margin:0 0 .75rem;font-size:1rem;font-weight:600}.home__section-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.home__section-header .home__section-title{margin:0}.home__section-header-toggle{width:auto;flex:1;min-width:0}.home__section-header:not(:has(+*)){margin-bottom:0}.home__section-copy{margin:0 0 1.25rem}.home__back{margin:1.25rem 0 0}.home__back a{color:color-mix(in srgb,var(--ink-on-dark) 75%,transparent);text-decoration:none;font-size:.95rem}.home__back a:hover{color:var(--ink-on-dark);text-decoration:underline}.home__actions{margin:0;padding:0;list-style:none;display:grid;gap:.5rem}.home__action{display:block;width:100%;padding:.85rem 1rem;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--ink-on-dark) 18%,transparent);background:var(--bg-raised);color:var(--ink-on-dark);text-align:left;text-decoration:none;font:inherit;font-weight:600;cursor:pointer}.home__action:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--ink-on-dark));background:var(--bg-raised-hover)}.home__action--stack{display:grid;gap:.25rem}.home__action-title{font-weight:600}.home__action-meta{font-size:.9rem;font-weight:400;color:color-mix(in srgb,var(--ink-on-dark) 65%,transparent);word-break:break-all}.home__search{margin:0 0 1.25rem;display:grid;gap:.4rem}.home__pagination{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1.25rem}.home__detail-list{margin:0;display:grid;gap:1rem}.home__detail-list dt{margin:0;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:color-mix(in srgb,var(--ink-on-dark) 55%,transparent)}.home__detail-list dd{margin:.25rem 0 0;color:var(--ink-on-dark);word-break:break-word}.home__detail-list .availability-list-header{margin-bottom:0}.coach-pref-label-row{display:flex;align-items:center;gap:.35rem}.coach-pref-label-row dt{margin:0}.coach-pref-label-row .availability-form-actions{gap:.35rem}.coach-pref-booking-btn.btn--compact{min-height:0;padding:.15rem .5rem;font-size:.75rem}.home__detail-list dd .input,.home__detail-list dd .select-dropdown{margin-top:.15rem}.session-detail__recurring-link{display:inline;margin:0;padding:0;border:none;background:none;font:inherit;color:color-mix(in srgb,var(--ink-on-dark) 55%,transparent);text-decoration:none;cursor:pointer}.session-detail__recurring-link:hover,.session-detail__recurring-link:focus-visible{color:color-mix(in srgb,var(--ink-on-dark) 75%,transparent);outline:none}.home__member-list{margin:0 0 1.25rem;padding:0;list-style:none;display:grid;gap:.65rem}.home__member{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--ink-on-dark) 14%,transparent);background:var(--bg-raised)}.home__member--button{width:100%;margin:0;text-align:left;color:inherit;font:inherit;cursor:pointer}.home__member--button:hover{border-color:color-mix(in srgb,var(--ink-on-dark) 28%,transparent);background:var(--bg-raised-hover)}.home__member--button:focus-visible{outline:2px solid color-mix(in srgb,var(--ink-on-dark) 45%,transparent);outline-offset:2px}.home__member-main{display:grid;gap:.15rem;min-width:0}.home__member-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:.45rem .65rem;min-width:0}.home__member-name{font-weight:600}.home__member-role{font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:color-mix(in srgb,var(--ink-on-dark) 55%,transparent)}.home__member-email{font-size:.9rem;color:color-mix(in srgb,var(--ink-on-dark) 65%,transparent);word-break:break-all}.home__link-form{margin-top:.25rem}.home__unlink-option{display:flex;align-items:flex-start;gap:.65rem;margin:0 0 1rem;color:var(--ink-on-dark);font-size:.95rem;line-height:1.4;cursor:pointer}.home__unlink-option input{margin-top:.2rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:1.25rem;background:color-mix(in srgb,var(--overlay) 62%,transparent)}.modal{width:min(100%,28rem);max-height:min(90vh,44rem);overflow:auto;padding:1.25rem;border-radius:var(--radius);background:var(--bg-elevated);border:1px solid color-mix(in srgb,var(--ink-on-dark) 14%,transparent);box-shadow:var(--shadow);color:var(--ink-on-dark)}.modal--wide{width:min(100%,34rem)}.modal__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.modal__title{margin:0;font-size:1.1rem;font-weight:600}.modal__tabs{display:flex;align-items:stretch;gap:.25rem;min-width:0}.modal__tab{margin:0;padding:.2rem .55rem .55rem;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--ink-faint);cursor:pointer;font:inherit;font-size:1.1rem;font-weight:600;line-height:1.2}.modal__tab:hover{color:var(--ink-on-dark)}.modal__tab.is-selected{color:var(--ink-on-dark);border-bottom-color:var(--accent)}.modal__tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.modal__tab:disabled{cursor:not-allowed;opacity:.55}.modal__actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}.modal .home__action{width:100%;text-align:left;cursor:pointer;font:inherit;color:inherit}.modal .home__section-copy{margin-top:0}.availability-booking-list{list-style:none;margin:.75rem 0 0;padding:0;display:grid;gap:.65rem;max-height:12rem;overflow-y:auto}.availability-booking-list li{display:grid;gap:.15rem}.availability-booking-list__title{font-weight:600}.availability-booking-list__meta{font-size:.9rem}.home__form-row{display:grid;gap:1rem}@media(min-width:560px){.home__form-row{grid-template-columns:1fr 1fr}}.home .field__label{color:color-mix(in srgb,var(--ink-on-dark) 85%,transparent)}.home .check{color:var(--ink-on-dark)}.home .check__input{border-color:color-mix(in srgb,var(--ink-on-dark) 28%,transparent);background-color:var(--bg-raised)}.home .check__input:checked{background-color:var(--accent);border-color:var(--accent)}.home .check__input:focus-visible{outline-color:color-mix(in srgb,var(--ink-on-dark) 45%,transparent)}.home .input,.home .password-input__field{background:var(--bg-raised);border-color:color-mix(in srgb,var(--ink-on-dark) 18%,transparent);color:var(--ink-on-dark)}.home .input::placeholder{color:color-mix(in srgb,var(--ink-on-dark) 40%,transparent)}.home .input[type=date],.home .input[type=time],.home .input[type=datetime-local]{color-scheme:light}.home select.input{color-scheme:dark;cursor:pointer}.home .input[type=date]::-webkit-calendar-picker-indicator,.home .input[type=time]::-webkit-calendar-picker-indicator,.home .input[type=datetime-local]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:1;filter:invert(1)}.home .password-input__toggle{color:color-mix(in srgb,var(--ink-on-dark) 70%,transparent)}.home .password-input__toggle:hover{color:var(--ink-on-dark);background:color-mix(in srgb,var(--ink-on-dark) 14%,transparent)}.home .password-input__toggle:focus-visible{outline-color:color-mix(in srgb,var(--accent) 55%,var(--ink-on-dark))}.home .form-info{color:var(--danger-on-dark)}.home .form-success{color:var(--success-on-dark)}.home__dl{margin:0;display:grid;gap:.75rem}.home__dl dt{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:color-mix(in srgb,var(--ink-on-dark) 55%,transparent)}.home__dl dd{margin:.2rem 0 0;word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9rem}@media(min-width:640px){.auth-panel{padding:2rem}}.availability-timezone{margin:0;font-size:.9rem}.availability-timezone strong,.availability-timezone__button{font:inherit;font-weight:600;color:inherit}.availability-timezone__button{display:inline;padding:0;border:none;background:none;text-decoration:underline;text-underline-offset:.15em;cursor:pointer}.availability-timezone__button:hover{color:var(--accent)}.availability-list-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.availability-list-header .home__section-title{margin-bottom:0}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;min-height:2.25rem;padding:0}.icon-btn svg{display:block;width:1.2rem;height:1.2rem}.icon-btn.is-busy svg{animation:availability-calendar-spin .7s linear infinite}.session-list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.session-list__item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem .75rem;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--ink-on-dark) 12%,transparent);background:color-mix(in srgb,var(--bg) 55%,transparent)}.session-list__open{flex:1;min-width:0;display:grid;gap:.2rem;margin:0;padding:.35rem .4rem;border:0;border-radius:calc(var(--radius) - 2px);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.session-list__open:hover,.session-list__open:focus-visible{background:color-mix(in srgb,var(--ink-on-dark) 8%,transparent);outline:none}.session-list__title{margin:0;font-weight:600}.session-list__item.is-cancelled{opacity:.72}.event-log{display:grid;gap:1.25rem;margin:.75rem 0 0;padding:0}.event-log__day-title{margin:0 0 .15rem;font-size:.95rem;font-weight:650}.event-log__list{list-style:none;margin:0;padding:0}.event-log__item{display:grid;grid-template-columns:4.75rem minmax(0,1fr) auto;align-items:start;column-gap:1rem;padding:.7rem 0;border-bottom:1px solid color-mix(in srgb,var(--ink-on-dark) 12%,transparent)}.event-log__item:last-child{border-bottom:0}.event-log__time{margin-top:.12rem;font-size:.85rem;line-height:1.45;font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--ink-on-dark) 58%,transparent);white-space:nowrap}.event-log__body{min-width:0}.event-log__line{margin:0;font-size:.95rem;line-height:1.45}.event-log__line--detail{margin-top:.15rem;color:color-mix(in srgb,var(--ink-on-dark) 72%,transparent)}.event-log__body a{color:inherit;text-decoration:underline;text-underline-offset:.12em}.event-log__open{flex-shrink:0;display:inline-flex;align-items:center;margin-top:.15rem;color:color-mix(in srgb,var(--ink-on-dark) 55%,transparent);text-decoration:none}.event-log__open:hover,.event-log__open:focus-visible{color:var(--ink-on-dark);outline:none}@media(max-width:40rem){.event-log__item{grid-template-columns:minmax(0,1fr) auto;row-gap:.2rem}.event-log__time{grid-column:1 / -1;margin-top:0}}.session-list__status{margin-left:.5rem;font-size:.75rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:color-mix(in srgb,var(--ink-on-dark) 60%,transparent)}.session-list__meta{margin:0;font-size:.9rem}.session-detail__person{display:inline-flex;align-items:center;gap:.4rem}.session-detail__new-tab-link{display:inline-flex;align-items:center;margin:0;padding:0;border:0;background:none;color:color-mix(in srgb,var(--ink-on-dark) 55%,transparent);text-decoration:none;cursor:pointer;font:inherit}.session-detail__new-tab-link:hover,.session-detail__new-tab-link:focus-visible{color:var(--ink-on-dark);outline:none}.session-detail__profile-icon{display:block}.session-detail__meet-link{display:inline-flex;align-items:center;gap:.4rem;font-weight:400;text-decoration:none;color:var(--info)}.session-detail__notes{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid color-mix(in srgb,var(--ink-on-dark) 12%,transparent)}.session-detail__note-count{margin:.55rem 0 .75rem;text-align:right;font-size:.85rem}.modal textarea.input{min-height:8rem;resize:vertical}.modal textarea.input.input--fixed-rows{min-height:0;resize:none;overflow-y:auto}.session-notes{list-style:none;margin:0;padding:0;display:grid;gap:.85rem}.session-notes__item{margin:0}.session-notes__header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.35rem .75rem}.session-notes__meta{margin:0 0 .25rem;font-size:.85rem}.session-notes__actions{display:flex;align-items:center;gap:.1rem;margin:-.2rem -.2rem 0 0}.session-notes__icon-btn{display:inline-flex;align-items:center;justify-content:center;width:1.45rem;min-height:1.45rem;padding:0;border:none}.session-notes__icon-btn:hover:not(:disabled){background:color-mix(in srgb,var(--ink-on-dark) 10%,transparent)}.session-notes__icon-btn svg{display:block;width:.85rem;height:.85rem}.session-notes__body{margin:0;white-space:pre-wrap}.session-attachments-picker{display:grid;gap:.5rem;margin-top:.5rem}.session-attachments-picker__header{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.session-attachments-picker__header .field__label{margin:0}.session-attachments-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.session-attachments-list__item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin:0}.session-attachments-list__info{min-width:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.session-list__footer{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem}.session-list__toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.session-list__options{margin:0 0 0 auto}.session-list__options .check{min-height:0}.session-list__past{margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid color-mix(in srgb,var(--ink-on-dark) 12%,transparent)}.toggle-group--compact{display:inline-grid;grid-template-columns:repeat(auto-fit,minmax(0,auto));width:fit-content;max-width:100%;gap:.2rem;padding:.2rem;border-radius:.55rem}.toggle-group--compact .toggle-group__option{min-height:0;padding:.3rem .7rem;font-size:.85rem;font-weight:600;border-radius:.4rem}.availability-view-toggle{margin-bottom:.85rem}.availability-calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.availability-calendar-nav__center{display:grid;justify-items:center;gap:.25rem;min-width:0}.availability-calendar-nav__title{margin:0;font-family:var(--font-display);font-size:1.1rem;font-weight:650;text-align:center}.availability-calendar{display:grid;gap:0}.availability-calendar-frame{position:relative}.availability-calendar__loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:grid;place-items:center;background:color-mix(in srgb,var(--surface) 62%,transparent)}.availability-calendar__spinner{width:2.25rem;height:2.25rem;border:3px solid color-mix(in srgb,var(--accent) 22%,var(--surface));border-top-color:var(--accent);border-radius:50%;animation:availability-calendar-spin .7s linear infinite}@keyframes availability-calendar-spin{to{transform:rotate(360deg)}}.availability-calendar__weekdays,.availability-calendar__days--month,.availability-calendar__days--week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0}.availability-calendar__days--day{display:grid;grid-template-columns:1fr;gap:0}.availability-calendar__weekdays{border-top:1px solid var(--border-on-dark);border-left:1px solid var(--border-on-dark)}.availability-calendar__weekday{text-align:center;font-size:.8rem;font-weight:600;color:var(--ink-on-dark);padding:.35rem 0;border-right:1px solid var(--border-on-dark);border-bottom:1px solid var(--border-on-dark)}.availability-calendar__days--month,.availability-calendar__days--week,.availability-calendar__days--day{border-left:1px solid var(--border-on-dark)}.availability-calendar__day{min-height:6.5rem;border:none;border-right:1px solid var(--border-on-dark);border-bottom:1px solid var(--border-on-dark);border-radius:0;background:var(--surface);color:var(--ink);padding:.35rem;display:flex;flex-direction:column;gap:.3rem}.availability-calendar__day--week{min-height:12rem}.availability-calendar__day--day{min-height:16rem;padding:.75rem}.availability-calendar__day.is-outside{background:var(--surface-sunken);color:var(--ink);opacity:.7}.availability-calendar__day.is-past{background:var(--surface-muted);color:var(--ink-faint);opacity:.72}.availability-calendar__day.is-past .availability-calendar__day-number,.availability-calendar__day.is-past .availability-calendar__slot{color:var(--ink-faint);cursor:default}.availability-calendar__day.is-past .availability-calendar__slots.is-overlay .availability-calendar__slot{cursor:pointer}.availability-calendar__day.is-past .availability-calendar__slot{background:var(--surface-pressed);border-color:var(--border)}.availability-calendar__day.is-today{box-shadow:inset 0 0 0 1px var(--accent)}.select-dropdown{position:relative;box-sizing:border-box;max-width:100%}.select-dropdown__control{position:relative}.select-dropdown__trigger,.select-dropdown__input{box-sizing:border-box;width:100%;height:48px;min-height:48px;padding-right:2.5rem;line-height:1.25}.select-dropdown__trigger{display:flex;align-items:center;text-align:left;cursor:pointer}.select-dropdown__value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-dropdown__chevron{position:absolute;top:50%;right:.7rem;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;transform:translateY(-50%);color:var(--ink-muted);pointer-events:none}.select-dropdown__chevron svg{display:block;width:1.15rem;height:1.15rem;transition:transform .15s ease}.select-dropdown__chevron.is-open svg{transform:rotate(180deg)}.home .select-dropdown__chevron{color:color-mix(in srgb,var(--ink-on-dark) 70%,transparent)}.select-dropdown__menu{position:absolute;z-index:20;top:calc(100% + .35rem);left:0;right:0;max-height:14rem;overflow:auto;margin:0;padding:.35rem;list-style:none;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.select-dropdown__menu--portal{position:fixed;z-index:50;right:auto;overflow:auto}.select-dropdown__option{width:100%;display:block;text-align:left;border:none;border-radius:calc(var(--radius) - 4px);background:transparent;color:var(--ink);font:inherit;padding:.55rem .65rem;cursor:pointer}.select-dropdown__option:hover,.select-dropdown__option.is-active{background:color-mix(in srgb,var(--accent) 12%,var(--surface))}.select-dropdown__option.is-selected{font-weight:650}.select-dropdown__empty{margin:0;padding:.55rem .65rem}.availability-calendar__day-header{display:flex;align-items:center;justify-content:flex-end;gap:.5rem}.availability-calendar__day--day .availability-calendar__day-header{justify-content:space-between;margin-bottom:.35rem}.availability-calendar__day-heading{margin:0;font-weight:650;font-size:.95rem}.availability-calendar__day-number{min-width:1.6rem;height:1.6rem;border:none;border-radius:0;background:transparent;color:var(--ink);font:inherit;font-size:.85rem;font-weight:700;cursor:pointer}.availability-calendar__day--day .availability-calendar__day-number{min-width:2.25rem;height:2.25rem;font-size:1.1rem}.availability-calendar__day-number:hover{background:color-mix(in srgb,var(--accent) 14%,var(--surface));color:var(--ink)}.availability-calendar__day.is-today .availability-calendar__day-number{background:var(--accent);color:var(--on-accent)}.availability-calendar__empty-day{margin:.5rem 0}.availability-calendar__timeline{display:grid;grid-template-columns:4.6rem minmax(0,1fr);min-width:0;flex:1}.availability-calendar__hours{position:relative}.availability-calendar__hour-label{box-sizing:border-box;padding-right:.45rem;font-size:.68rem;font-weight:650;line-height:1;color:var(--ink-muted);transform:translateY(-.35rem);text-align:right}.availability-calendar__slots{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.2rem;min-height:0;overflow:auto}.availability-calendar__day--day .availability-calendar__slots{gap:.4rem}.availability-calendar__slots.is-overlay{position:relative;display:block;overflow:hidden;gap:0}.availability-calendar__slots.is-overlay>li{position:absolute;left:.15rem;right:.15rem;margin:0;padding:0}.availability-calendar__slots.is-overlay>li.is-booked{left:.55rem;right:.2rem}.availability-calendar__slots.is-overlay>li.availability-calendar__hour-line{left:0;right:0;height:0;z-index:0;pointer-events:none;border-top:1px solid color-mix(in srgb,var(--border) 80%,transparent)}.availability-calendar__slots.is-overlay .availability-calendar__slot{box-sizing:border-box;width:100%;height:100%;min-height:0;overflow:hidden;padding:.12rem .3rem;font-size:.68rem;line-height:1.2;white-space:nowrap}.availability-calendar__slots.is-overlay .availability-calendar__slot.is-booked{box-shadow:0 1px 3px color-mix(in srgb,var(--ink) 12%,transparent)}.availability-calendar__day--day .availability-calendar__slots.is-overlay .availability-calendar__slot{flex-direction:row;align-items:flex-start;gap:0;padding:.12rem .35rem;font-size:.72rem}.availability-calendar__slot{width:100%;box-sizing:border-box;border:1px solid var(--border);border-radius:0;padding:.2rem .3rem;font:inherit;font-size:.7rem;font-weight:600;line-height:1.2;text-align:left;cursor:pointer;color:var(--ink);background:var(--surface-muted)}.availability-calendar__slot-label{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.availability-calendar__day--day .availability-calendar__slot{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .75rem;font-size:.9rem}.availability-calendar__day--day .availability-calendar__slots:not(.is-overlay) .availability-calendar__slot-label{white-space:normal;overflow:visible;text-overflow:unset}.availability-calendar__slot-type{flex-shrink:0;font-size:.75rem;font-weight:600;opacity:.8}.availability-calendar__slot-detail{display:grid;gap:.85rem;margin:0 0 1rem}.availability-calendar__slot-detail div{display:grid;gap:.2rem}.availability-calendar__slot-detail dt{font-size:.75rem;font-weight:650;opacity:.72}.availability-calendar__slot-detail dd{margin:0;font-weight:600;overflow-wrap:anywhere}.availability-calendar__slot.is-one-time{background:color-mix(in srgb,var(--accent) 18%,var(--surface));color:var(--ink)}.availability-calendar__slot.is-recurring{background:var(--ink);color:var(--on-accent)}.availability-calendar__slot.is-booked{background:color-mix(in srgb,var(--info) 22%,var(--surface));color:var(--ink)}.availability-calendar__meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem 1.25rem;margin:0 0 .85rem}.availability-calendar__legend{display:flex;flex-wrap:wrap;align-items:center;gap:.85rem 1.1rem;margin:0;padding:0;list-style:none;font-size:.85rem;font-weight:600;color:var(--border-on-dark)}.availability-calendar__legend li{display:flex;align-items:center;gap:.4rem}.availability-calendar__legend-swatch{width:.75rem;height:.75rem;flex-shrink:0;box-sizing:border-box;border:1px solid var(--border-on-dark)}.availability-calendar__legend-swatch.is-one-time{background:var(--accent);border-color:var(--border-on-dark)}.availability-calendar__legend-swatch.is-recurring{background:var(--ink);border-color:var(--border-on-dark)}.availability-calendar__legend-swatch.is-booked{background:var(--info);border-color:var(--border-on-dark)}.availability-calendar__slot.is-editing{outline:1px solid var(--accent);outline-offset:-1px}.availability-calendar__slot:hover{filter:brightness(.97)}.availability-calendar__slot.is-readonly{cursor:default}.availability-calendar__slot.is-readonly:hover{filter:none}@media(max-width:720px){.availability-calendar__day{min-height:4.75rem;padding:.25rem}.availability-calendar__day--week{min-height:7.5rem}.availability-calendar__day--day{min-height:12rem;padding:.6rem}.availability-calendar__slot{font-size:.68rem;padding:.25rem .3rem}.availability-calendar__day--day .availability-calendar__slot{font-size:.85rem;padding:.5rem .6rem}.availability-calendar-nav{flex-wrap:wrap}.availability-calendar-nav__center{order:-1;width:100%}}.availability-weekdays{border:none;margin:0 0 1rem;padding:0}.availability-weekdays__options{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.4rem}.availability-weekday{min-width:2.75rem;padding:.45rem .55rem;border:1px solid var(--border);border-radius:.4rem;background:transparent;color:inherit;font:inherit;font-size:.85rem;cursor:pointer}.availability-weekday:hover{border-color:var(--accent)}.availability-weekday.is-selected{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.availability-form-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.filter-collapse__toggle{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;margin:0;padding:0;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.filter-collapse__toggle .home__section-title{margin:0}.filter-collapse__chevron{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;color:var(--ink-muted);line-height:1}.filter-collapse__chevron svg{display:block;width:1.25rem;height:1.25rem;transition:transform .15s ease}.filter-collapse__chevron.is-expanded svg{transform:rotate(90deg)}.home .filter-collapse__toggle{color:inherit}.home .filter-collapse__chevron{color:color-mix(in srgb,var(--ink-on-dark) 85%,transparent)}.course-name-list{display:inline;margin:0;padding:0;list-style:none}.course-name-list li{display:inline}.course-name{display:inline;margin:0;padding:0;border:0;background:none;color:var(--ink-on-dark);font:inherit;text-decoration:underline;text-underline-offset:.15em;cursor:pointer}.course-name:hover{color:#fff}.course-name:focus-visible{outline:2px solid color-mix(in srgb,var(--ink-on-dark) 45%,transparent);outline-offset:2px}
