@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-canvas:var(--signal-canvas);--color-surface:var(--signal-surface);--color-surface-subtle:var(--signal-surface-soft);--color-surface-strong:var(--ct-navy-100);--color-ink:var(--signal-ink);--color-ink-muted:var(--signal-ink-muted);--color-ink-faint:var(--signal-ink-faint);--color-line:var(--signal-line);--color-line-strong:var(--signal-line-strong);--color-brand:var(--signal-action);--color-brand-strong:var(--signal-action-hover);--color-brand-violet:var(--signal-action);--color-brand-soft:var(--ct-color-primary-soft);--color-brand-soft-strong:var(--ct-navy-200)}@supports (color:color-mix(in lab, red, red)){:root{--color-brand-soft-strong:color-mix(in srgb, var(--ct-navy-200) 50%, var(--ct-color-primary-soft))}}:root{--color-on-brand:var(--ct-color-on-primary);--color-focus:var(--signal-focus);--color-scrim:var(--ct-color-overlay);--color-success:var(--ct-color-success);--color-success-soft:var(--ct-color-success-soft);--color-available:#216e39;--color-available-soft:#e8f5e9;--color-info:var(--ct-color-info);--color-info-soft:var(--ct-color-info-soft);--color-group:#8a4a0a;--color-group-soft:#fff0df;--color-warning:var(--ct-color-warning);--color-warning-soft:var(--ct-color-warning-soft);--color-danger:var(--ct-color-error);--color-danger-soft:var(--ct-color-error-soft);--color-unavailable:#5d6472;--color-unavailable-soft:#eceef2;--gradient-brand:var(--signal-action);--shadow-card:var(--ct-shadow-xs);--shadow-overlay:var(--ct-shadow-lg);--text-micro:.6875rem;--motion-fast:.12s;--motion-base:.18s;--motion-slow:.26s;--ease-standard:cubic-bezier(.2, .8, .2, 1);--ease-exit:cubic-bezier(.4, 0, 1, 1);--bg:var(--color-canvas);--surface:var(--color-surface);--surface-raised:var(--color-surface);--surface-muted:var(--color-surface-subtle);--ink:var(--color-ink);--ink-soft:var(--color-ink-muted);--line:var(--color-line);--brand:var(--color-brand);--brand-strong:var(--color-brand-strong);--accent:var(--color-brand);--accent-soft:var(--color-brand-soft);--gold:var(--color-warning);--gold-soft:var(--color-warning-soft);--positive:var(--color-success);--positive-soft:var(--color-success-soft);--danger:var(--color-danger);--danger-soft:var(--color-danger-soft);--shadow:var(--shadow-overlay);--shadow-small:var(--shadow-card);--radius-xl:16px;--radius-lg:12px;--radius-md:10px;--radius-sm:8px;--radius-xs:6px;--radius-pill:999px;--header-height:56px}.student-preference{color:var(--color-ink);gap:24px;display:grid}.student-preference__intro,.student-preference__section p,.student-preference__state p,.student-preference__preview p{color:var(--color-ink-muted);margin:0;line-height:1.5}.student-preference__student{font-family:var(--font-ui);margin:0 0 16px;font-weight:700}.student-preference__calendar-selection{border:1px solid var(--color-line-strong);border-radius:var(--radius-md);background:var(--color-brand-soft);gap:12px;margin-bottom:20px;padding:16px;display:grid}.student-preference__calendar-selection h3,.student-preference__calendar-selection p{margin:0}.student-preference__calendar-selection>div:first-child{gap:4px;display:grid}.student-preference__calendar-selection-eyebrow{color:var(--color-brand-strong);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:800}.student-preference__calendar-kind-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.student-preference__calendar-kind-actions .ui-button{white-space:normal;min-height:44px}.student-preference__calendar-selection-help{color:var(--color-ink-muted);line-height:1.5}.student-preference__calendar-direct-kind{border-radius:var(--radius-pill);background:var(--color-success-soft);width:fit-content;min-height:32px;color:var(--color-available);align-items:center;gap:8px;padding:4px 10px;font-weight:750;display:inline-flex}.student-preference__calendar-direct-kind i{background:currentColor;border-radius:50%;width:9px;height:9px}.student-preference__calendar-direct-kind--preferred{background:var(--color-brand-soft);color:var(--color-brand-strong)}.student-preference__calendar-direct-kind--blocked{background:var(--color-danger-soft);color:var(--color-danger)}.student-preference__calendar-direct-kind--clear{background:var(--color-surface-strong);color:var(--color-ink-muted)}.student-preference-paint{border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface-subtle);align-items:stretch;gap:2px;min-height:42px;padding:2px;display:inline-flex}.student-preference-paint__option{border-radius:var(--radius-xs);min-width:42px;min-height:36px;color:var(--color-ink-muted);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:5px 8px;font-size:.75rem;font-weight:750;display:inline-flex}.student-preference-paint__option i{background:currentColor;border-radius:50%;flex:none;width:10px;height:10px}.student-preference-paint__option--available{color:var(--color-available)}.student-preference-paint__option--preferred{color:var(--color-brand-strong)}.student-preference-paint__option--blocked{color:var(--color-danger)}.student-preference-paint__option--clear{color:var(--color-ink-muted)}.student-preference-paint__option[aria-pressed=true]{background:var(--color-surface);box-shadow:var(--shadow-card);border-color:currentColor}.student-preference-paint__option:disabled{cursor:not-allowed;opacity:.5}@media (max-width:639px){.student-preference-paint__option span{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.student-preference__section{border:0;min-width:0;margin:0;padding:0}.student-preference__settings{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-subtle)}.student-preference__settings summary{cursor:pointer;min-height:48px;color:var(--color-ink);align-items:center;padding:10px 14px;font-weight:750;display:flex}.student-preference__settings-body{gap:20px;padding:4px 14px 14px;display:grid}.student-preference__section>legend,.student-preference__section-heading h3,.student-preference__preview h3,.student-preference__preview h4,.student-preference__state h3{font-family:var(--font-ui);color:var(--color-ink);margin:0;font-weight:700}.student-preference__section>legend,.student-preference__section-heading h3,.student-preference__preview h3,.student-preference__state h3{font-size:1rem}.student-preference__section-heading{justify-content:space-between;align-items:start;gap:16px;display:flex}.student-preference__section-heading>div{gap:4px;display:grid}.student-preference__target-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.student-preference__target-fields label,.student-preference__window label{min-width:0;color:var(--color-ink-muted);gap:4px;font-size:.875rem;font-weight:600;display:grid}.student-preference__target-fields input,.student-preference__target-fields select,.student-preference__window input[type=time],.student-preference__window select{border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;min-width:0;min-height:44px;color:var(--color-ink);font:inherit;font-variant-numeric:tabular-nums;padding:0 12px}.student-preference__target-fields input:focus-visible,.student-preference__target-fields select:focus-visible,.student-preference__window input:focus-visible,.student-preference__window select:focus-visible{border-color:var(--color-brand);outline:3px solid var(--color-focus);outline-offset:2px}.student-preference__flexibility{gap:8px;display:grid}.student-preference__flexibility>legend{margin-bottom:4px}.student-preference__flexibility>label{border:1px solid var(--color-line);border-radius:var(--radius-md);cursor:pointer;grid-template-columns:44px minmax(0,1fr);align-items:center;min-height:64px;padding:8px 12px;display:grid}.student-preference__flexibility>label:has(input:checked){border-color:var(--color-brand);background:var(--color-brand-soft);box-shadow:inset 2px 0 0 var(--color-brand)}.student-preference__flexibility input{width:20px;height:20px;margin:0}.student-preference__flexibility label>span{gap:2px;display:grid}.student-preference__flexibility small{color:var(--color-ink-muted);font-size:.875rem;line-height:1.4}.student-preference__legend{flex-wrap:wrap;gap:8px 16px;margin:16px 0 12px;display:flex}.student-preference__kind{min-height:24px;color:var(--color-ink-muted);align-items:center;gap:8px;font-size:.875rem;font-weight:600;display:inline-flex}.student-preference__kind i{border-radius:var(--radius-xs);border:1px solid;width:24px;height:12px}.student-preference__kind--available i{color:var(--color-available);background:var(--color-available-soft)}.student-preference__kind--preferred i{color:var(--color-brand);background:repeating-linear-gradient(135deg, var(--color-brand-soft), var(--color-brand-soft) 3px, var(--color-brand-soft-strong) 3px, var(--color-brand-soft-strong) 6px)}.student-preference__kind--blocked i{color:var(--color-danger);background:repeating-linear-gradient(45deg, var(--color-danger-soft), var(--color-danger-soft) 3px, var(--color-surface) 3px, var(--color-surface) 6px)}.student-preference__windows,.student-preference__results{border-block:1px solid var(--color-line);gap:0;margin:0;padding:0;list-style:none;display:grid}.student-preference__window{border-bottom:1px solid var(--color-line);background:var(--color-surface)}.student-preference__window:last-child{border-bottom:0}.student-preference__window fieldset{border:0;border-left:4px solid var(--color-line-strong);grid-template-columns:minmax(120px,1.15fr) minmax(104px,1fr) repeat(2,minmax(96px,1fr));gap:12px;margin:0;padding:16px 12px 12px 16px;display:grid}.student-preference__window--available fieldset{border-left-color:var(--color-available)}.student-preference__window--preferred fieldset{border-left-color:var(--color-brand);background-image:linear-gradient(90deg, var(--color-brand-soft), transparent 48px)}.student-preference__window--blocked fieldset{border-left-color:var(--color-danger);background-image:linear-gradient(90deg, var(--color-danger-soft), transparent 48px)}.student-preference__window legend{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.student-preference__remove{grid-column:1/-1;justify-self:end;min-height:44px}.student-preference__empty{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-subtle);padding:16px;margin-top:12px!important}.student-preference__notice{border-radius:var(--radius-md);background:var(--color-surface-subtle);color:var(--color-ink-muted);margin:0;padding:12px 16px}.student-preference__notice p{color:inherit;margin:0}.student-preference__notice .ui-button{margin-top:12px}.student-preference__notice--error,.student-preference__state--error{background:var(--color-danger-soft);color:var(--color-danger)}.student-preference__notice--success{background:var(--color-success-soft);color:var(--color-success)}.student-preference__state{border-radius:var(--radius-md);background:var(--color-surface-subtle);gap:12px;padding:16px;display:grid}.student-preference__preview{border-top:1px solid var(--color-line);gap:12px;padding-top:20px;display:grid}.student-preference__totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.student-preference__totals div{border-radius:var(--radius-sm);background:var(--color-surface-subtle);gap:2px;padding:12px;display:grid}.student-preference__totals dt{color:var(--color-ink-muted);font-size:.75rem}.student-preference__totals dd{font-family:var(--font-ui);font-variant-numeric:tabular-nums;margin:0;font-weight:700}.student-preference__results li{border-bottom:1px solid var(--color-line);grid-template-columns:minmax(0,1fr) max-content;gap:4px 12px;min-height:64px;padding:12px 4px;display:grid}.student-preference__results li>div{gap:4px;min-width:0;display:grid}.student-preference__result-actions{align-self:center;justify-items:stretch}.student-preference__result-actions .ui-button{min-width:132px;min-height:44px}.student-preference__move-editor{border:1px dashed var(--color-brand);border-radius:var(--radius-sm);background:var(--color-brand-soft);grid-column:1/-1;grid-template-columns:minmax(0,1fr) max-content;align-items:end;gap:12px;padding:12px;display:grid}.student-preference__move-editor label{gap:6px;min-width:0;display:grid}.student-preference__move-editor select{width:100%;min-height:44px}.student-preference__move-actions{gap:8px!important;display:flex!important}.student-preference__results li>.ui-button{align-self:center;min-width:132px;min-height:44px}.student-preference__results li>div>span,.student-preference__results li>div>small{display:block}.student-preference__results li:last-child{border-bottom:0}.student-preference__results small,.student-preference__results--rejected span{color:var(--color-ink-muted);grid-column:1/-1}.student-preference__results--rejected strong{color:var(--color-danger)}.student-preference__footer{flex-wrap:wrap}@media (max-width:639px){.student-preference__calendar-kind-actions{grid-template-columns:minmax(0,1fr)}.student-preference__section-heading{flex-direction:column;align-items:stretch}.student-preference__section-heading .ui-button{width:100%}.student-preference__window fieldset{grid-template-columns:repeat(2,minmax(0,1fr))}.student-preference__window label:first-of-type,.student-preference__window label:nth-of-type(2){grid-column:span 1}.student-preference__footer .ui-button{flex:100%}.student-preference__results li,.student-preference__move-editor{grid-template-columns:minmax(0,1fr)}.student-preference__result-actions,.student-preference__move-actions,.student-preference__result-actions .ui-button,.student-preference__move-actions .ui-button{width:100%}}@media (max-width:380px){.student-preference__window fieldset,.student-preference__target-fields,.student-preference__totals{grid-template-columns:minmax(0,1fr)}}:root[data-theme=dark]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth;min-width:min(320px,100%)}body{background:var(--color-canvas);min-height:100vh;color:var(--ink);font-family:var(--font-ui);text-rendering:optimizelegibility;margin:0;font-size:1rem;line-height:1.55}a{color:inherit;text-decoration:none}button,select,input{font:inherit}button,a,select,input{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}::selection{background:var(--accent-soft)}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.skip-link{z-index:1000;background:var(--brand);color:var(--surface);border-radius:0 0 10px 10px;padding:.75rem 1rem;font-weight:800;position:fixed;inset:0 auto auto 1rem;transform:translateY(-140%)}.skip-link:focus{transform:translateY(0)}.section-shell{width:min(1160px,100% - 2rem);margin-inline:auto}.site-header{z-index:50;border-bottom:1px solid var(--line);position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.site-header{border-bottom:1px solid color-mix(in srgb, var(--line) 75%, transparent)}}.site-header{background:var(--bg)}@supports (color:color-mix(in lab, red, red)){.site-header{background:color-mix(in srgb, var(--bg) 82%, transparent)}}.site-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.site-header__inner{width:min(1240px,100% - 2rem);min-height:var(--header-height);align-items:center;gap:2rem;margin-inline:auto;display:flex}.brand{min-height:44px;font-family:var(--font-ui);letter-spacing:-.02em;align-items:center;gap:.7rem;font-size:1.32rem;font-weight:800;display:inline-flex}.brand__mark{background:var(--gradient-brand);border-radius:11px;place-items:center;width:35px;height:35px;display:inline-grid;position:relative;overflow:hidden}.brand__mark:before,.brand__mark span{content:"";background:var(--surface);border-radius:5px 5px 2px 2px;width:8px;height:19px;transform:translate(-4px)rotate(-7deg)}.brand__mark span{background:#ffffffb8;position:absolute;transform:translate(5px)rotate(7deg)}.desktop-navigation{align-items:center;gap:.25rem;margin-inline:auto;display:flex}.desktop-navigation a{min-height:44px;color:var(--ink-soft);border-radius:10px;align-items:center;padding:.5rem .85rem;font-size:.92rem;font-weight:700;display:inline-flex}.desktop-navigation a:hover{background:var(--surface);color:var(--ink)}.site-header__actions{align-items:center;gap:.4rem;display:flex}.locale-switcher{border:1px solid var(--line);background:var(--surface);border-radius:12px;align-items:center;gap:.4rem;min-height:44px;padding-inline:.7rem .35rem;display:inline-flex}.locale-switcher svg{width:18px}.locale-switcher select{max-width:8.8rem;min-height:40px;color:var(--ink);background:0 0;border:0;font-size:.88rem;font-weight:700}.main-content{min-height:calc(100vh - var(--header-height));padding-block:3.5rem 6rem}.main-content--landing{padding-block:0 5rem}.legal-footer{padding:16px max(1rem, env(safe-area-inset-right)) 24px max(1rem, env(safe-area-inset-left));border-top:1px solid var(--color-line);background:var(--color-surface)}.legal-footer--app{margin-left:164px}.legal-footer nav{flex-wrap:wrap;justify-content:center;gap:4px 12px;width:min(720px,100%);margin-inline:auto;display:flex}.legal-footer a{border-radius:var(--radius-sm);min-height:44px;color:var(--color-ink-muted);align-items:center;padding-inline:6px;font-size:.875rem;font-weight:700;display:inline-flex}.legal-footer a:hover,.legal-footer a[aria-current=page]{color:var(--color-brand-strong);text-underline-offset:3px;text-decoration:underline}.legal-footer a:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.ui-button{cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:.55rem;min-height:44px;padding:.64rem 1rem;font-weight:800;line-height:1.2;transition:transform .18s,background-color .18s,border-color .18s;display:inline-flex}.ui-button svg{width:19px;height:19px}.ui-button:hover:not(:disabled){transform:translateY(-1px)}.ui-button:disabled{cursor:wait;opacity:.6}.ui-button--primary{background:var(--brand);color:var(--surface);box-shadow:0 8px 18px var(--brand)}@supports (color:color-mix(in lab, red, red)){.ui-button--primary{box-shadow:0 8px 18px color-mix(in srgb, var(--brand) 20%, transparent)}}:root[data-theme=dark] .ui-button--primary{color:var(--bg)}.ui-button--primary:hover:not(:disabled){background:var(--brand-strong)}.ui-button--secondary{border-color:var(--line);background:var(--surface);color:var(--ink)}.ui-button--quiet{color:var(--ink);background:0 0}.ui-button--quiet:hover:not(:disabled){background:var(--surface-muted)}.ui-button--danger{border-color:var(--color-danger);background:var(--color-danger-soft);color:var(--color-danger)}.ui-button--danger:hover:not(:disabled){border-color:var(--color-danger);background:var(--color-danger)}@supports (color:color-mix(in lab, red, red)){.ui-button--danger:hover:not(:disabled){background:color-mix(in srgb, var(--color-danger) 14%, var(--color-danger-soft))}}.ui-button--large{border-radius:14px;min-height:52px;padding:.85rem 1.25rem}.ui-button--square{width:44px;padding:0}.ui-card{border:1px solid var(--line)}@supports (color:color-mix(in lab, red, red)){.ui-card{border:1px solid color-mix(in srgb, var(--line) 88%, transparent)}}.ui-card{border-radius:var(--radius-lg);background:var(--surface-raised)}@supports (color:color-mix(in lab, red, red)){.ui-card{background:color-mix(in srgb, var(--surface-raised) 95%, transparent)}}.ui-card{box-shadow:var(--shadow-small)}.ui-status{border-radius:var(--radius-pill);background:var(--surface-muted);width:fit-content;min-height:28px;color:var(--ink-soft);align-items:center;padding:.24rem .62rem;font-size:.76rem;font-weight:800;line-height:1.2;display:inline-flex}.ui-status--accent{background:var(--accent-soft);color:var(--accent)}.ui-status--positive{background:var(--positive-soft);color:var(--positive)}.ui-status--warning{background:var(--gold-soft);color:var(--gold)}@supports (color:color-mix(in lab, red, red)){.ui-status--warning{color:color-mix(in srgb, var(--gold) 78%, var(--ink))}}.eyebrow{color:var(--accent);letter-spacing:.11em;text-transform:uppercase;align-items:center;gap:.45rem;margin:0 0 .75rem;font-size:.78rem;font-weight:900;display:flex}.eyebrow svg{width:18px}.landing-page{gap:clamp(1.5rem,4vw,2.5rem);padding-block:clamp(1.5rem,4vw,2.25rem) clamp(2rem,5vw,3rem);display:grid}.landing-page .hero{grid-template-columns:minmax(0,.95fr) minmax(320px,.85fr);align-items:center;gap:clamp(1.75rem,5vw,3.5rem);min-height:0;padding-block:clamp(2rem,6vw,3.5rem);display:grid}.landing-page .hero h1{max-width:18ch;font-family:var(--font-ui);letter-spacing:-.035em;color:var(--color-ink);margin:0;font-size:clamp(2rem,4.4vw,3.1rem);font-weight:700;line-height:1.08}.landing-page .hero__lead{max-width:56ch;color:var(--color-ink-muted);margin:1.25rem 0 0;font-size:clamp(1rem,1.4vw,1.125rem);line-height:1.5}.landing-page .hero__actions{flex-wrap:wrap;gap:.75rem;margin-top:1.75rem;display:flex}.landing-page .hero__trust{color:var(--color-ink-muted);align-items:center;gap:.5rem;margin:1.25rem 0 0;font-size:.86rem;font-weight:600;display:flex}.landing-page .hero__trust svg{width:18px}.landing-page .hero__visual{isolation:isolate;place-items:center;min-height:0;padding:.75rem;display:grid;position:relative}.landing-page .hero__visual:before{content:"";z-index:-2;aspect-ratio:1;background:var(--color-brand-soft);border-radius:50%;width:min(38%,180px);position:absolute;inset:auto -8% -10% auto}.landing-page .hero__visual:after{content:"";z-index:-1;aspect-ratio:1;border:1px solid var(--color-brand-soft-strong);border-radius:50%;width:min(34%,140px);position:absolute;inset:-6% auto auto -6%}.landing-page .ui-button--primary{background:var(--gradient-brand);color:var(--color-on-brand);box-shadow:0 10px 22px var(--color-brand)}@supports (color:color-mix(in lab, red, red)){.landing-page .ui-button--primary{box-shadow:0 10px 22px color-mix(in srgb, var(--color-brand) 22%, transparent)}}.landing-page .ui-button--primary:hover:not(:disabled){background:var(--gradient-brand);filter:brightness(.96)}.landing-page .schedule-preview{border-radius:var(--radius-lg);border:1px solid var(--color-line);background:var(--color-surface);width:100%;max-width:360px;box-shadow:var(--shadow-card);padding:1.15rem;transform:none}.landing-page .schedule-preview__top{color:var(--color-ink-muted);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;align-items:center;font-size:.78rem;font-weight:800;display:flex}.landing-page .schedule-preview__avatar{background:var(--color-brand-soft);width:32px;height:32px;color:var(--color-brand);border-radius:50%;place-items:center;display:grid}.landing-page .schedule-preview__avatar svg{width:17px}.landing-page .schedule-preview__time{color:var(--color-ink-muted);font-variant-numeric:tabular-nums;margin-block:1.1rem .6rem;font-size:.85rem;font-weight:700}.landing-page .schedule-preview__event{border-radius:var(--radius-md);border:1px solid var(--color-brand-soft-strong);background:var(--color-brand-soft);align-items:center;gap:.75rem;padding:.75rem;display:flex}.landing-page .schedule-preview__event div{gap:.15rem;display:grid}.landing-page .schedule-preview__event strong{color:var(--color-ink);font-size:.95rem;font-weight:700}.landing-page .schedule-preview__event span:last-child{color:var(--color-ink-muted);font-size:.78rem}.landing-page .schedule-preview__dot{background:var(--color-brand);border-radius:4px;width:8px;height:36px}.landing-page .schedule-preview__bars{gap:.5rem;margin-top:1rem;display:grid}.landing-page .schedule-preview__bars span{background:var(--color-brand-soft-strong);border-radius:999px;height:6px}.landing-page .schedule-preview__bars span:first-child{width:68%}.landing-page .schedule-preview__bars span:nth-child(2){width:88%}.landing-page .schedule-preview__bars span:nth-child(3){width:52%}.landing-page .feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.25rem,3vw,2rem);display:grid}.landing-page .feature-card{border-top:1px solid var(--color-line);background:0 0;grid-template-columns:44px minmax(0,1fr);align-items:start;column-gap:.95rem;padding:1.4rem 0;display:grid}.landing-page .feature-card__icon{background:var(--color-brand-soft);width:44px;height:44px;color:var(--color-brand);border-radius:12px;grid-row:1/span 2;place-items:center;display:grid}.landing-page .feature-card__icon svg{width:22px}.landing-page .feature-card h2{font-family:var(--font-ui);letter-spacing:-.015em;color:var(--color-ink);margin:0;font-size:1.05rem;font-weight:700;line-height:1.3}.landing-page .feature-card p{color:var(--color-ink-muted);margin:.3rem 0 0;font-size:.92rem;line-height:1.5}.page-heading{margin-bottom:2rem}.page-heading h1{max-width:19ch;font-size:clamp(2.25rem,5vw,4rem)}.page-heading>p:last-child,.page-heading>div>p:last-child{max-width:62ch;color:var(--ink-soft);margin:1rem 0 0;font-size:1.05rem}.page-heading--centered{text-align:center;max-width:760px;margin-inline:auto}.page-heading--centered h1,.page-heading--centered p{margin-inline:auto}.page-heading--centered .eyebrow{justify-content:center}.page-heading--with-date{justify-content:space-between;align-items:end;gap:1rem;display:flex}.page-heading--with-date time{border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);border-radius:999px;flex:none;padding:.65rem .9rem;font-size:.86rem;font-weight:750}.dashboard-page{gap:20px;padding-block:8px 24px;display:grid}.dashboard-page__header{gap:8px;display:grid}.dashboard-page__title{max-width:22ch;color:var(--color-ink);font-family:var(--font-ui);letter-spacing:-.025em;margin:0;font-size:clamp(1.55rem,2.2vw,2rem);font-weight:700;line-height:1.15}.dashboard-page__lead{max-width:62ch;color:var(--color-ink-muted);margin:0;font-size:.95rem;line-height:1.5}.dashboard-grid{grid-template-columns:1fr;align-items:start;gap:16px;display:grid}.dashboard-grid__side{gap:16px;display:grid}.card-label{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.45rem;font-size:.78rem;font-weight:900;display:flex}.card-label svg{width:18px}.next-lesson-card,.progress-card,.quick-actions-card,.messages-card{padding:clamp(1.1rem,2.4vw,1.6rem)}.next-lesson-card{gap:8px;display:grid}.next-lesson-card .card-label{margin-bottom:4px}.next-lesson-card__title{max-width:22ch;color:var(--color-ink);font-family:var(--font-ui);letter-spacing:-.015em;margin:0;font-size:clamp(1.25rem,1.6vw,1.5rem);font-weight:700;line-height:1.25}.next-lesson-card__when{color:var(--color-ink);font-family:var(--font-ui);font-variant-numeric:tabular-nums;margin:0;font-size:.95rem;font-weight:700;line-height:1.3}.next-lesson-card__meta{color:var(--color-ink-muted);margin:0;font-size:.88rem;line-height:1.45}.next-lesson-card__footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;display:flex}.next-lesson-card__time{background:var(--color-brand-soft);min-height:34px;color:var(--color-brand);font-family:var(--font-ui);font-variant-numeric:tabular-nums;letter-spacing:-.01em;border-radius:8px;align-items:center;padding:.35rem .75rem;font-size:.95rem;font-weight:700;line-height:1.2;display:inline-flex}.next-lesson-card__link{width:fit-content;min-height:44px;color:var(--color-brand);transition:color var(--motion-base) var(--ease-standard);align-items:center;gap:.45rem;margin-top:4px;font-size:.9rem;font-weight:700;display:inline-flex}.next-lesson-card__link svg{width:18px;transition:transform var(--motion-base) var(--ease-standard)}.next-lesson-card__link:hover{color:var(--color-brand-strong)}.next-lesson-card__link:hover svg{transform:translate(2px)}.progress-card{gap:8px;display:grid}.progress-card__bar{background:var(--color-surface-subtle);border-radius:999px;width:100%;height:6px;margin-top:4px;display:block;overflow:hidden}.progress-card__bar-fill{border-radius:inherit;background:var(--color-brand);width:33.333%;height:100%;display:block}.progress-card__numeric{color:var(--color-ink);font-family:var(--font-ui);letter-spacing:-.02em;font-variant-numeric:tabular-nums;align-items:baseline;gap:2px;font-size:clamp(1.5rem,3vw,1.85rem);font-weight:700;line-height:1.1;display:inline-flex}.progress-card__numeric span[aria-hidden=true]{color:var(--color-ink-faint);font-weight:600}.progress-card__label{color:var(--color-ink-muted);margin:0;font-size:.88rem;line-height:1.45}.quick-actions-card__title{color:var(--color-ink);font-family:var(--font-ui);letter-spacing:-.01em;margin:0 0 12px;font-size:1rem;font-weight:650;line-height:1.3}.quick-actions{margin:0;padding:0;list-style:none;display:grid}.quick-actions li+li{border-top:1px solid var(--color-line)}.quick-actions a{min-height:48px;color:var(--color-ink);transition:background-color var(--motion-base) var(--ease-standard), color var(--motion-base) var(--ease-standard);grid-template-columns:20px minmax(0,1fr) 18px;align-items:center;gap:12px;padding:10px 4px;font-size:.92rem;font-weight:600;display:grid}.quick-actions a:hover{color:var(--color-brand);background:var(--color-surface-subtle)}.quick-actions svg{width:20px;height:20px;color:var(--color-ink-muted);transition:color var(--motion-base) var(--ease-standard)}.quick-actions a:hover svg{color:var(--color-brand)}.quick-actions a>span:not([aria-hidden]){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.messages-card{gap:8px;display:grid}.messages-card__count{color:var(--color-ink);font-family:var(--font-ui);letter-spacing:-.015em;margin:4px 0 0;font-size:clamp(1.25rem,1.8vw,1.5rem);font-weight:700;line-height:1.25;display:block}.messages-card__link{width:fit-content;min-height:44px;color:var(--color-brand);transition:color var(--motion-base) var(--ease-standard);align-items:center;gap:.45rem;margin-top:4px;font-size:.9rem;font-weight:700;display:inline-flex}.messages-card__link svg{width:18px;transition:transform var(--motion-base) var(--ease-standard)}.messages-card__link:hover{color:var(--color-brand-strong)}.messages-card__link:hover svg{transform:translate(2px)}.text-link{width:fit-content;min-height:44px;color:var(--accent);align-items:center;gap:.45rem;font-weight:850;display:inline-flex}.text-link svg{width:18px}.sample-workspace-banner--calm{border-color:var(--color-brand)}@supports (color:color-mix(in lab, red, red)){.sample-workspace-banner--calm{border-color:color-mix(in srgb, var(--color-brand) 28%, var(--color-line))}}.sample-workspace-banner--calm{background:var(--color-brand-soft)}@supports (color:color-mix(in lab, red, red)){.sample-workspace-banner--calm{background:color-mix(in srgb, var(--color-brand-soft) 60%, var(--color-surface))}}.sample-workspace-banner--calm>span:first-child{background:var(--color-brand-soft);color:var(--color-brand)}.today-page{gap:20px;padding-block:0 24px;display:grid}.today-page__header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.today-page__intro{gap:8px;min-width:0;display:grid}.today-page__title{letter-spacing:-.025em;max-width:22ch;color:var(--color-ink);margin:0;font-family:IBM Plex Sans Variable,Noto Sans,Segoe UI,sans-serif;font-size:1.375rem;font-weight:700;line-height:1.75rem}.today-page__summary{max-width:62ch;color:var(--color-ink-muted);margin:0;font-size:.95rem;line-height:1.5}.today-page__date{border:1px solid var(--color-line);border-radius:var(--radius-pill);background:var(--color-surface);min-height:36px;color:var(--color-ink-muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;align-items:center;padding:.5rem .9rem;font-size:.82rem;font-weight:700;display:inline-flex}.today-page__layout{grid-template-columns:minmax(0,1.5fr) minmax(0,.9fr);align-items:start;gap:16px;display:grid}.today-page__side{align-content:start;gap:16px;display:grid}.today-page__agenda,.today-page__attention,.today-page__revenue{padding:16px}.today-page__card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.today-timeline{margin:0;padding:0;list-style:none}.today-timeline__item{border-bottom:1px solid var(--color-line);grid-template-columns:96px 18px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:64px;padding:10px 10px 10px 0;display:grid}.today-timeline__item:last-child{border-bottom:0}.today-timeline__item--featured{border-radius:var(--radius-md);background:var(--color-brand-soft);border-bottom:0;padding-inline:14px;position:relative}.today-timeline__item--featured:before{content:"";background:var(--color-brand);border-radius:2px;width:2px;position:absolute;inset:10px auto 10px 0}.today-timeline__time{font-family:var(--font-ui);font-variant-numeric:tabular-nums;color:var(--color-ink);font-size:.85rem;font-weight:700}.today-timeline__marker{place-items:center;width:18px;height:32px;display:grid;position:relative}.today-timeline__marker:before{content:"";background:var(--color-line);width:1px;height:100%;position:absolute}.today-timeline__marker i{z-index:1;border:2px solid var(--color-surface);background:var(--color-brand);width:10px;height:10px;box-shadow:none;border-radius:50%}.today-timeline__body{gap:2px;min-width:0;display:grid}.today-timeline__body strong{overflow-wrap:anywhere;color:var(--color-ink);font-size:.95rem;font-weight:700}.today-timeline__body span{color:var(--color-ink-muted);font-size:.84rem}.today-timeline__status{font-variant-numeric:tabular-nums}.today-attention{gap:8px;margin:0;padding:0;list-style:none;display:grid}.today-attention__item{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);min-height:56px;transition:background-color var(--motion-base) var(--ease-standard), border-color var(--motion-base) var(--ease-standard);grid-template-columns:36px minmax(0,1fr);align-items:center;gap:12px;padding:10px 12px;display:grid}.today-attention__item:hover{background:var(--color-surface-subtle);border-color:var(--color-line-strong)}.today-attention__icon{background:var(--color-brand-soft);width:36px;height:36px;color:var(--color-brand);border-radius:5px;place-items:center;display:grid}.today-attention__icon svg{width:18px;height:18px}.today-attention__copy strong{color:var(--color-ink);font-size:.9rem;font-weight:600;line-height:1.3}.today-page__revenue{gap:4px;display:grid}.today-page__amount{font-family:var(--font-ui);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--color-ink);margin:8px 0 0;font-size:clamp(1.5rem,3vw,1.85rem);font-weight:700;display:block}.booking-page,.install-page{padding-bottom:2rem}.install-page .page-heading h1{font-family:var(--font-ui);letter-spacing:-.03em;color:var(--color-ink);font-weight:700;line-height:1.08}.booking-form{max-width:900px;margin-inline:auto}.booking-form__steps{gap:1rem;display:grid}.ui-field-group{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-raised);min-width:0;box-shadow:var(--shadow-small);margin:0;padding:clamp(1.2rem,3vw,1.7rem)}.ui-field-group__legend{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;padding-inline:.4rem;font-size:.76rem;font-weight:900}.field-prompt{margin:0 0 .9rem;font-family:Georgia,Times New Roman,serif;font-size:1.3rem;font-weight:700}.ui-field-group__error{color:var(--danger);align-items:center;gap:.45rem;margin:.8rem 0 0;font-weight:750;display:flex}.ui-field-group__error span{font-size:.6rem}.ui-error-summary{border:2px solid var(--danger);background:var(--danger-soft);color:var(--danger);border-radius:14px;margin-bottom:1rem;padding:1rem}.ui-error-summary strong,.ui-error-summary a,.ui-error-summary>span{display:block}.ui-error-summary>span{margin-top:.35rem}.ui-error-summary a{min-height:44px;padding-top:.45rem;text-decoration:underline}.choice-grid{grid-template-columns:repeat(2,1fr);gap:.7rem;display:grid}.choice-card,.time-choice{border:1.5px solid var(--line);cursor:pointer;min-height:72px;color:var(--ink);border-radius:14px;align-items:center;gap:.7rem;padding:.8rem;font-weight:750;display:flex;position:relative}.choice-card:hover,.time-choice:hover{border-color:var(--accent)}:is(.choice-card:has(input:focus-visible),.time-choice:has(input:focus-visible)){outline:3px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){:is(.choice-card:has(input:focus-visible),.time-choice:has(input:focus-visible)){outline:3px solid color-mix(in srgb, var(--accent) 78%, white)}}:is(.choice-card:has(input:focus-visible),.time-choice:has(input:focus-visible)){outline-offset:3px}:is(.choice-card:has(input:checked),.time-choice:has(input:checked)){border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.choice-card input,.time-choice input{cursor:pointer;opacity:0;width:100%;height:100%;margin:0;position:absolute;inset:0}.choice-card__icon{background:var(--surface-muted);width:40px;height:40px;color:var(--ink-soft);border-radius:12px;flex:none;place-items:center;display:grid}.choice-card__icon svg{width:20px}.choice-card__check{border:1px solid var(--line);background:var(--surface);color:#0000;border-radius:50%;flex:none;place-items:center;width:23px;height:23px;margin-left:auto;display:grid}label:has(input:checked) .choice-card__check{border-color:var(--accent);background:var(--accent);color:#fff}.choice-card__check svg{width:14px}.time-choice-list{gap:.7rem;display:grid}.time-choice{grid-template-columns:minmax(150px,1fr) minmax(170px,1fr) auto 26px;display:grid}.time-choice__date,.time-choice__meta,.time-choice__price{gap:.2rem;min-width:0;display:grid}.time-choice__date span,.time-choice__meta>span,.time-choice__price small{color:var(--ink-soft);font-size:.76rem;font-weight:650}.time-choice__price{justify-items:end;font-size:1.05rem}.policy-card{background:var(--gold-soft);gap:1rem;margin-top:1rem;padding:1.25rem;display:flex}@supports (color:color-mix(in lab, red, red)){.policy-card{background:color-mix(in srgb, var(--gold-soft) 52%, var(--surface-raised))}}.policy-card__icon{background:var(--gold-soft);width:42px;height:42px;color:var(--gold);border-radius:12px;flex:none;place-items:center;display:grid}.policy-card__icon svg{width:21px}.policy-card h2{margin:0 0 .35rem;font-family:Georgia,Times New Roman,serif;font-size:1.2rem}.policy-card p{color:var(--ink-soft);margin:.25rem 0;font-size:.86rem}.policy-card .ui-status{margin-top:.65rem}.booking-submit{width:100%;margin-top:1rem}.booking-review{text-align:center;max-width:680px;margin-inline:auto;padding:clamp(1.4rem,4vw,2.2rem)}.install-card__icon,.booking-review__icon,.offline-page__icon{background:var(--accent-soft);width:46px;height:46px;color:var(--accent);border-radius:14px;place-items:center;display:grid}.install-card__icon svg,.offline-page__icon svg{width:23px}.booking-review__icon{background:var(--positive-soft);color:var(--positive);margin-inline:auto}.booking-review .eyebrow{justify-content:center;margin-top:1rem}.booking-review h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:2rem}.booking-review>p:not(.eyebrow){color:var(--ink-soft)}.booking-review dl{text-align:left;margin:1.5rem 0}.booking-review dl div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 0;display:flex}.booking-review dt{color:var(--ink-soft);font-size:.83rem}.booking-review dd{text-align:right;margin:0;font-weight:800}.booking-review__actions{flex-wrap:wrap;justify-content:center;gap:.7rem;display:flex}.demo-notice{background:var(--gold-soft);border-radius:10px;padding:.8rem;font-weight:750;color:var(--ink)!important}.install-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.install-card{padding:1.25rem}.install-card p{color:var(--color-ink-muted);margin:0;font-size:.92rem;line-height:1.5}.install-card h2{font-family:var(--font-ui);letter-spacing:-.015em;color:var(--color-ink);margin:1rem 0 .35rem;font-size:1.05rem;font-weight:700;line-height:1.3}.push-card{grid-template-columns:.65fr 1fr;margin-top:1rem;display:grid;overflow:hidden}.push-card__visual{background:var(--color-brand);min-height:320px;color:var(--color-on-brand);place-items:center;display:grid;position:relative;overflow:hidden}.push-card__visual:after{content:"";z-index:1;border:1px solid var(--color-on-brand);width:168px;height:168px;position:absolute}@supports (color:color-mix(in lab, red, red)){.push-card__visual:after{border:1px solid color-mix(in srgb, var(--color-on-brand) 28%, transparent)}}.push-card__visual:after{border-radius:50%}.push-card__visual>span{z-index:2;background:var(--color-surface);width:84px;height:84px;color:var(--color-brand);border-radius:22px;place-items:center;display:grid;box-shadow:0 18px 38px #0f172a2e}.push-card__visual svg{width:38px}.push-card__content{align-self:center;gap:.65rem;padding:clamp(1.5rem,4.5vw,2.6rem);display:grid}.push-card__content h2{font-family:var(--font-ui);letter-spacing:-.02em;color:var(--color-ink);margin:0;font-size:clamp(1.5rem,2.6vw,1.9rem);font-weight:700;line-height:1.2}.push-card__content>p:not(.eyebrow):not(.push-result):not(.privacy-note){color:var(--color-ink-muted);margin:0;font-size:.95rem;line-height:1.5}.push-result{background:var(--color-surface-subtle);border-radius:12px;margin:0;padding:.7rem .9rem;font-size:.92rem;font-weight:700;line-height:1.4;color:var(--color-ink)!important}.push-result--granted{background:var(--positive-soft);color:var(--positive)!important}.push-result--failed,.push-result--denied{background:var(--danger-soft);color:var(--danger)!important}.push-result--unsupported,.push-result--missing-config{background:var(--color-info-soft);color:var(--color-info)!important}.privacy-note{border:1px solid var(--color-info);align-items:flex-start;gap:.55rem;margin:0;padding:.75rem .9rem;display:flex}@supports (color:color-mix(in lab, red, red)){.privacy-note{border:1px solid color-mix(in srgb, var(--color-info) 28%, var(--color-line))}}.privacy-note{background:var(--color-info-soft);border-radius:12px}@supports (color:color-mix(in lab, red, red)){.privacy-note{background:color-mix(in srgb, var(--color-info-soft) 60%, var(--color-surface))}}.privacy-note{color:var(--color-ink);font-size:.85rem;line-height:1.45}.privacy-note svg{width:18px;color:var(--color-info);flex:none;margin-top:1px}.offline-page{place-items:center;min-height:calc(100vh - 200px);display:grid}.offline-page .ui-card{text-align:center;justify-items:center;width:min(100%,620px);padding:clamp(1.5rem,6vw,3.5rem);display:grid}.offline-page h1{font-family:var(--font-ui);letter-spacing:-.025em;color:var(--color-ink);margin:1rem 0 .5rem;font-size:clamp(1.6rem,4vw,2.2rem);font-weight:700;line-height:1.18}.offline-page p{color:var(--color-ink-muted);margin:0 0 1.25rem;font-size:.95rem;line-height:1.5}.offline-indicator{z-index:100;background:var(--danger-soft);min-height:38px;color:var(--danger);box-shadow:var(--shadow-small);border-radius:999px;align-items:center;gap:.45rem;padding:.5rem .8rem;font-size:.82rem;font-weight:800;display:flex;position:fixed;top:.7rem;left:50%;transform:translate(-50%)}.offline-indicator span{background:var(--danger);border-radius:50%;width:8px;height:8px}.update-banner{z-index:100;border:1px solid var(--line);background:var(--surface-raised);max-width:calc(100% - 2rem);box-shadow:var(--shadow);border-radius:14px;align-items:center;gap:1rem;padding:.8rem;font-weight:750;display:flex;position:fixed;bottom:1rem;right:1rem}.mobile-navigation{display:none}@media (max-width:900px){.desktop-navigation{display:none}.landing-page .hero{grid-template-columns:1fr;gap:2rem}.landing-page .hero__visual{order:2;padding:.5rem}.dashboard-grid,.today-page__layout{grid-template-columns:1fr}.today-page__side{grid-template-columns:1fr 1fr}.push-card{grid-template-columns:.8fr 1fr}}@media (max-width:720px){:root{--header-height:66px}body{padding-bottom:74px}.section-shell{width:min(100% - 1.2rem,1160px)}.site-header__inner{gap:.65rem;width:min(100% - 1.2rem,1240px)}.brand{margin-right:auto}.brand>span:last-child{display:none}.locale-switcher{justify-content:center;width:48px;padding:0}.locale-switcher select{opacity:0;width:44px;position:absolute}.main-content{padding-block:2rem 5.5rem}.main-content--landing{padding-block:0 4rem}.landing-page .hero{grid-template-columns:1fr;min-height:0;padding-block:1.5rem}.landing-page .hero__visual{order:2;padding:.5rem}.landing-page .hero__actions{display:grid}.landing-page .feature-grid,.install-grid{grid-template-columns:1fr}.landing-page .feature-card{grid-template-columns:44px minmax(0,1fr);column-gap:.8rem}.landing-page .feature-card__icon{grid-row:1/span 2}.landing-page .feature-card h2{margin:0}.landing-page .feature-card p{grid-column:2}.page-heading--with-date{flex-direction:column;align-items:start}.today-page__header{flex-direction:column;align-items:flex-start;gap:12px}.today-page__date{align-self:flex-start}.today-page__side{grid-template-columns:1fr}.today-timeline__item{grid-template-columns:80px 14px minmax(0,1fr)}.today-timeline__item .today-timeline__status{grid-column:3;justify-self:start}.choice-grid{grid-template-columns:1fr}.time-choice{grid-template-columns:1fr auto 26px}.time-choice__meta{grid-column:1}.time-choice__price{grid-area:1/2/span 2}.time-choice>.choice-card__check{grid-area:1/3/span 2}.booking-review dl div{flex-direction:column;align-items:start;gap:.2rem}.booking-review dd{text-align:left}.booking-review__actions{display:grid}.push-card{grid-template-columns:1fr}.push-card__visual{min-height:230px}.mobile-navigation{z-index:45;min-height:70px;padding:.35rem max(.25rem, env(safe-area-inset-right)) calc(.35rem + env(safe-area-inset-bottom)) max(.25rem, env(safe-area-inset-left));border-top:1px solid var(--line);background:var(--surface);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0}@supports (color:color-mix(in lab, red, red)){.mobile-navigation{background:color-mix(in srgb, var(--surface) 95%, transparent)}}.mobile-navigation{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mobile-navigation a{min-width:0;min-height:58px;color:var(--ink-soft);text-align:center;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;font-size:clamp(.58rem,2.5vw,.72rem);font-weight:750;line-height:1.1;display:flex}.mobile-navigation a[aria-current=page]{background:var(--accent-soft);color:var(--accent)}.mobile-navigation svg{width:21px;height:21px}.update-banner{justify-content:space-between;bottom:84px;left:.6rem;right:.6rem}}@media (max-width:420px){.landing-page .hero h1{font-size:clamp(1.85rem,9vw,2.2rem)}.landing-page .schedule-preview{padding:.95rem}.today-timeline__item{border-bottom:1px solid var(--color-line);grid-template-columns:1fr;gap:4px;padding:12px 0}.today-timeline__item--featured{padding:12px}.today-timeline__marker{display:none}.today-timeline__item .today-timeline__status{grid-column:1;justify-self:start}.policy-card{flex-direction:column}.time-choice{grid-template-columns:1fr 26px}.time-choice__price{grid-area:auto/1;justify-items:start}.time-choice>.choice-card__check{grid-area:1/2/span 3}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.desktop-navigation a[aria-current=page]{background:var(--accent-soft);color:var(--accent)}.module-page{padding-bottom:2rem}.module-heading{justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:1.4rem;display:flex}.module-heading h1{letter-spacing:-.05em;max-width:20ch;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.25rem,5vw,4rem);font-weight:700;line-height:1.02}.module-heading>div>p:last-child{max-width:68ch;color:var(--ink-soft);margin:1rem 0 0}.module-heading__actions{flex:none;padding-bottom:.35rem}.module-heading__actions .ui-status{gap:.4rem;min-height:34px}.module-heading__actions svg{width:17px}.module-tabs{border:1px solid var(--line);background:var(--surface);border-radius:13px;gap:.35rem;width:fit-content;margin-bottom:1rem;padding:.3rem;display:flex}.module-tabs a,.view-switcher a{min-height:44px;color:var(--ink-soft);border-radius:10px;justify-content:center;align-items:center;padding:.55rem .9rem;font-size:.86rem;font-weight:800;display:inline-flex}.module-tabs a[aria-current=page],.view-switcher a[aria-current=page]{background:var(--brand);color:var(--surface)}.read-only-notice,.owner-boundary{border:1px solid var(--line);background:var(--positive-soft);border-radius:14px;align-items:flex-start;gap:.8rem;margin-bottom:1rem;padding:.9rem 1rem;display:flex}@supports (color:color-mix(in lab, red, red)){.read-only-notice,.owner-boundary{background:color-mix(in srgb, var(--positive-soft) 45%, var(--surface))}}.read-only-notice>span,.owner-boundary>span{background:var(--positive-soft);width:32px;height:32px;color:var(--positive);border-radius:10px;flex:none;place-items:center;display:grid}.read-only-notice svg,.owner-boundary svg{width:17px}.read-only-notice strong,.owner-boundary strong{font-size:.9rem;display:block}.read-only-notice p,.owner-boundary p{color:var(--ink-soft);margin:.15rem 0 0;font-size:.82rem}.module-state{text-align:center;border-color:var(--color-line);width:min(100%,620px);min-height:360px;box-shadow:var(--shadow-card);align-content:center;place-items:center;margin-inline:auto;padding:clamp(1.5rem,6vw,3.5rem);display:grid}.module-state__icon{background:var(--color-brand-soft);width:56px;height:56px;color:var(--color-brand);border-radius:16px;place-items:center;display:grid}.module-state--loading .module-state__icon{background:var(--color-info-soft);color:var(--color-info)}.module-state--permission .module-state__icon,.module-state--error .module-state__icon{background:var(--color-danger-soft);color:var(--color-danger)}.module-state__icon svg{width:26px}.module-state h2{max-width:22ch;font-family:var(--font-ui);letter-spacing:-.02em;color:var(--color-ink);margin:1rem 0 .4rem;font-size:clamp(1.4rem,3.2vw,1.75rem);font-weight:700;line-height:1.2}.module-state p{max-width:54ch;color:var(--color-ink-muted);margin:0 0 1.4rem;font-size:.95rem;line-height:1.5}.module-state__skeleton{gap:.65rem;width:min(100%,440px);display:grid}.module-state__skeleton span{background:var(--color-surface-subtle);border-radius:999px;height:14px}.module-state__skeleton span:nth-child(2){width:78%}.module-state__skeleton span:nth-child(3){width:56%}@media (prefers-reduced-motion:reduce){.module-state__skeleton span{transition:none;animation:none}}.placeholder-page{place-items:center;min-height:calc(100vh - 200px);display:grid}.placeholder-page .ui-card{text-align:center;border-color:var(--color-line);width:min(100%,620px);box-shadow:var(--shadow-card);justify-items:center;padding:clamp(1.5rem,6vw,3.5rem);display:grid}.placeholder-page__icon{background:var(--color-brand-soft);width:56px;height:56px;color:var(--color-brand);border-radius:16px;place-items:center;display:grid}.placeholder-page__icon svg{width:26px}.placeholder-page h1{max-width:22ch;font-family:var(--font-ui);letter-spacing:-.025em;color:var(--color-ink);margin:1rem 0 .5rem;font-size:clamp(1.55rem,3.6vw,2.05rem);font-weight:700;line-height:1.2}.placeholder-page p{max-width:56ch;color:var(--color-ink-muted);margin:0 0 1.5rem;font-size:.95rem;line-height:1.5}.placeholder-page .ui-button--large{min-height:48px}.filter-bar{border:1px solid var(--line);background:var(--surface);border-radius:16px;grid-template-columns:minmax(250px,1fr) minmax(180px,.35fr);gap:.75rem;margin-bottom:1rem;padding:1rem;display:grid}.filter-bar label{min-width:0;color:var(--ink-soft);gap:.35rem;font-size:.78rem;font-weight:800;display:grid}.filter-control{border:1px solid var(--line);background:var(--surface-raised);border-radius:11px;align-items:center;gap:.5rem;min-height:44px;padding-inline:.75rem;display:flex}.filter-control svg{flex:none;width:18px}.filter-control input{width:100%;min-width:0;min-height:40px;color:var(--ink);background:0 0;border:0;outline:0}.filter-bar select{border:1px solid var(--line);background:var(--surface-raised);width:100%;min-height:46px;color:var(--ink);border-radius:11px;padding:.6rem 2rem .6rem .75rem}.data-list{border:1px solid var(--line);background:var(--surface-raised);box-shadow:var(--shadow-small);border-radius:18px;overflow:hidden}.data-list__header,.data-list li{grid-template-columns:minmax(220px,1.25fr) minmax(120px,.7fr) minmax(140px,.75fr) minmax(190px,1fr) minmax(110px,.5fr);align-items:center;gap:1rem;padding:.9rem 1rem;display:grid}.data-list__header{background:var(--surface-muted);min-height:48px;color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:900}.data-list ul{margin:0;padding:0;list-style:none}.data-list li+li{border-top:1px solid var(--line)}.data-list li>div:not(.person-cell){min-width:0;color:var(--ink-soft);gap:.2rem;font-size:.84rem;display:grid}.data-list time{overflow-wrap:anywhere}.person-cell{align-items:center;gap:.7rem;min-width:0;display:flex}.person-cell>span:last-child{min-width:0;display:grid}.person-cell strong{overflow-wrap:anywhere}.person-cell small{color:var(--ink-soft)}.person-avatar,.conversation-avatar{background:var(--accent-soft);width:42px;height:42px;color:var(--accent);border-radius:13px;flex:none;place-items:center;display:grid}.person-avatar svg,.conversation-avatar svg{width:20px}.mobile-cell-label{color:var(--ink-soft);text-transform:uppercase;font-size:.7rem;font-weight:850;display:none}.groups-page{gap:20px;padding-block:0 24px;display:grid}.groups-page .module-heading h1{letter-spacing:-.025em;max-width:22ch;color:var(--color-ink);margin:0;font-family:IBM Plex Sans Variable,Noto Sans,Segoe UI,sans-serif;font-size:1.375rem;font-weight:700;line-height:1.75rem}.groups-page .module-heading>div>p:last-child{max-width:62ch;color:var(--color-ink-muted);margin:.75rem 0 0;font-size:.95rem;line-height:1.5}.groups-page__workspace{gap:12px;padding:0;display:grid}.groups-page__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.groups-page__count{color:var(--color-ink-muted);letter-spacing:.04em;text-transform:uppercase;font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:800}.group-roster{margin:0;padding:0;list-style:none}.group-roster__row{border-top:1px solid var(--color-line);grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:stretch;gap:16px;padding:16px 12px;display:grid}.group-roster__row:last-child{border-bottom:1px solid var(--color-line)}.group-roster__primary{grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;display:grid}.group-roster__avatar{background:var(--color-brand-soft);width:42px;height:42px;color:var(--color-brand);border-radius:6px;flex:none;place-items:center;display:grid}.group-roster__avatar svg{width:20px;height:20px}.group-roster__heading{gap:2px;min-width:0;display:grid}.group-roster__heading strong{overflow-wrap:anywhere;color:var(--color-ink);font-size:.95rem;font-weight:700}.group-roster__heading small{color:var(--color-ink-muted);font-size:.82rem}.group-roster__status{justify-self:end}.group-roster__metrics{grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:8px;margin:0;display:grid}.group-roster__metric{border-radius:var(--radius-md);background:var(--color-surface-subtle);gap:2px;min-width:0;padding:8px 10px;display:grid}.group-roster__metric dt{color:var(--color-ink-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.68rem;font-weight:850}.group-roster__metric dd{overflow-wrap:anywhere;color:var(--color-ink);font-variant-numeric:tabular-nums;margin:0;font-size:.9rem;font-weight:600}.group-roster__footer{border-top:1px dashed var(--color-line);color:var(--color-ink-muted);grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;padding-top:10px;font-size:.82rem;font-weight:650;display:flex}.group-roster__minimum{color:var(--color-success);align-items:center;gap:6px;display:inline-flex}.group-roster__minimum svg{flex:none;width:16px;height:16px}.group-roster__waitlist{color:var(--color-ink-muted);font-variant-numeric:tabular-nums}@media (max-width:960px){.group-roster__row{grid-template-columns:minmax(0,1fr);row-gap:12px}.group-roster__metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.group-roster__footer{flex-wrap:wrap}}@media (max-width:720px){.group-roster__row{padding:14px 12px}.group-roster__primary{grid-template-columns:38px minmax(0,1fr) auto;align-items:start}.group-roster__avatar{width:38px;height:38px}.group-roster__status{grid-area:1/3}.group-roster__metrics{grid-template-columns:1fr 1fr}}@media (max-width:440px){.group-roster__primary{grid-template-columns:38px minmax(0,1fr)}.group-roster__status{grid-area:2/2;justify-self:start;margin-top:4px}.group-roster__metrics{grid-template-columns:1fr}.group-roster__footer{flex-direction:column;align-items:flex-start;gap:6px}}.groups-directory{grid-template-columns:minmax(0,1fr);align-items:start;gap:18px;display:grid}.groups-directory--split{grid-template-columns:minmax(0,1fr) minmax(320px,410px)}.groups-page__head-actions,.groups-directory__form-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.group-roster__row--real .group-roster__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.group-roster__footer--real .ui-button{min-height:40px;padding:.55rem .72rem;text-decoration:none}.group-roster__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.groups-directory__empty{border:1px dashed var(--color-line);background:var(--color-surface-subtle);text-align:center;border-radius:7px;align-content:center;place-items:center;gap:10px;min-height:260px;padding:32px;display:grid}.groups-directory__empty>span,.groups-directory__create>header>span{background:var(--color-brand-soft);width:46px;height:46px;color:var(--color-brand);border-radius:6px;place-items:center;display:grid}.groups-directory__empty svg,.groups-directory__create>header>span svg{width:22px;height:22px}.groups-directory__empty h2,.groups-directory__empty p,.groups-directory__create h2,.groups-directory__create p{margin:0}.groups-directory__empty p,.groups-directory__create p{color:var(--color-ink-muted);line-height:1.55}.groups-directory__more{justify-self:center}.groups-directory__create{border-color:var(--color-brand);gap:18px;padding:16px;display:grid;position:sticky;top:86px}@supports (color:color-mix(in lab, red, red)){.groups-directory__create{border-color:color-mix(in srgb, var(--color-brand) 35%, var(--color-line))}}.groups-directory__create{box-shadow:none}.group-manager{border-color:var(--color-brand);gap:18px;max-height:calc(100vh - 108px);padding:16px;display:grid;position:sticky;top:86px;overflow:auto}@supports (color:color-mix(in lab, red, red)){.group-manager{border-color:color-mix(in srgb, var(--color-brand) 35%, var(--color-line))}}.group-manager{box-shadow:none}.group-manager__header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.group-manager__header>div{gap:6px;min-width:0;display:grid}.group-manager__header h2,.group-manager__header p,.group-manager__state p,.group-manager__section h3,.group-manager__empty,.group-manager__hint{margin:0}.group-manager__header h2{overflow-wrap:anywhere;color:var(--color-ink);font-size:1.2rem}.group-manager__header p,.group-manager__hint,.group-manager__empty{color:var(--color-ink-muted);font-size:.84rem;line-height:1.5}.group-manager__state{border:1px dashed var(--color-line);min-height:150px;color:var(--color-ink-muted);text-align:center;border-radius:6px;align-content:center;place-items:center;gap:10px;padding:24px;display:grid}.group-manager__state>svg{width:28px;height:28px;color:var(--color-brand)}.group-manager__state--error>svg{color:var(--color-danger)}.group-manager__add{background:var(--color-surface-subtle);border-radius:6px;grid-template-columns:minmax(0,1fr) minmax(138px,.55fr);gap:10px;padding:14px;display:grid}.group-manager__add label,.group-manager__members label{color:var(--color-ink-muted);gap:6px;font-size:.72rem;font-weight:800;display:grid}.group-manager__add select,.group-manager__add input,.group-manager__members input{border:1px solid var(--color-line);background:var(--color-surface);width:100%;min-height:42px;color:var(--color-ink);font:inherit;border-radius:5px;padding:.58rem .65rem}.group-manager__add .ui-button{grid-column:1/-1}.group-manager__section{gap:10px;display:grid}.group-manager__section>header{justify-content:space-between;align-items:center;gap:8px;display:flex}.group-manager__section h3{color:var(--color-ink);font-size:.9rem}.group-manager__members,.group-manager__history{gap:8px;margin:0;padding:0;list-style:none;display:grid}.group-manager__members li,.group-manager__history li{border:1px solid var(--color-line);background:var(--color-surface);border-radius:6px;gap:9px;padding:12px;display:grid}.group-manager__member-name,.group-manager__history li{min-width:0}.group-manager__member-name{gap:3px;display:grid}.group-manager__member-name strong,.group-manager__history strong{overflow-wrap:anywhere;color:var(--color-ink);font-size:.88rem}.group-manager__member-name span,.group-manager__history span{color:var(--color-ink-muted);font-variant-numeric:tabular-nums;font-size:.76rem}.groups-directory__create>header{align-items:flex-start;gap:12px;display:flex}.groups-directory__create>header>div{gap:5px;display:grid}.groups-directory__form{gap:14px;display:grid}.groups-directory__form label{color:var(--color-ink-muted);gap:7px;font-size:.78rem;font-weight:800;display:grid}.groups-directory__form input{border:1px solid var(--color-line);background:var(--color-surface);width:100%;min-height:44px;color:var(--color-ink);font:inherit;border-radius:5px;padding:.65rem .75rem;font-weight:600}.groups-directory__form input:focus-visible{outline:3px solid var(--color-brand)}@supports (color:color-mix(in lab, red, red)){.groups-directory__form input:focus-visible{outline:3px solid color-mix(in srgb, var(--color-brand) 24%, transparent)}}.groups-directory__form input:focus-visible{outline-offset:2px;border-color:var(--color-brand)}.groups-directory__live{min-height:1.4em;color:var(--color-success);grid-column:1/-1;margin:0;font-weight:750}.groups-directory__live--error{color:var(--color-danger)}@media (max-width:1180px){.groups-directory--split{grid-template-columns:1fr}.groups-directory__create,.group-manager{grid-row:1;max-height:none;position:static}}@media (max-width:720px){.groups-page__head-actions{justify-content:stretch;width:100%}.groups-page__head-actions .ui-button{flex:1}.group-roster__footer--real .ui-button,.group-roster__actions{width:100%}.group-manager__add{grid-template-columns:1fr}.group-manager__add .ui-button{grid-column:auto}}.view-switcher{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:.25rem;padding:.25rem;display:flex}.filter-bar--calendar{grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr))}.calendar-days{grid-template-columns:repeat(6,minmax(0,1fr));gap:.55rem;display:grid;overflow:hidden}.calendar-day{border:1px solid var(--line);background:var(--surface);border-radius:15px;min-width:0}@supports (color:color-mix(in lab, red, red)){.calendar-day{background:color-mix(in srgb, var(--surface) 70%, transparent)}}.calendar-day>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.4rem;min-height:62px;padding:.7rem;display:flex}.calendar-day>header span{color:var(--ink-soft);font-size:.72rem;font-weight:850}.calendar-day>header strong{background:var(--surface-muted);border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.calendar-day ol{gap:.45rem;margin:0;padding:.45rem;list-style:none;display:grid}.session-card{border-left:4px solid var(--accent);min-width:0;box-shadow:none;border-radius:11px;padding:.7rem}.session-card--positive{border-left-color:var(--positive)}.session-card--warning{border-left-color:var(--gold)}.session-card--neutral{border-left-color:var(--ink-soft)}.session-card time{color:var(--ink-soft);align-items:center;gap:.25rem;font-size:.72rem;font-weight:800;display:flex}.session-card time svg{width:14px}.session-card h2{overflow-wrap:anywhere;margin:.45rem 0 .3rem;font-size:.88rem;line-height:1.25}.session-card p{overflow-wrap:anywhere;color:var(--ink-soft);margin:.1rem 0;font-size:.7rem}.session-card>div{flex-wrap:wrap;gap:.25rem;margin-top:.55rem;display:flex}.session-card .ui-status{min-height:23px;padding:.15rem .4rem;font-size:.62rem}.messaging-layout{grid-template-columns:minmax(280px,.42fr) minmax(0,1fr);gap:16px;display:grid}.conversation-list,.conversation-panel{border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.conversation-search{border-bottom:1px solid var(--color-line);min-width:0;color:var(--color-ink-muted);gap:6px;padding:12px 16px;font-size:.78rem;font-weight:800;display:grid}.conversation-search>span:last-child{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-subtle);min-height:44px;color:var(--color-ink-muted);transition:border-color var(--motion-base) var(--ease-standard), background-color var(--motion-base) var(--ease-standard);align-items:center;gap:8px;padding-inline:12px;display:flex}.conversation-search>span:last-child:hover{border-color:var(--color-line-strong)}.conversation-search>span:last-child:focus-within{border-color:var(--color-brand);background:var(--color-surface)}.conversation-search svg{flex:none;width:18px;height:18px}.conversation-search input{width:100%;min-width:0;min-height:40px;color:var(--color-ink);background:0 0;border:0;outline:0;font-size:.9rem}.conversation-list ul,.message-stream{margin:0;padding:0;list-style:none}.conversation-list li+li{border-top:1px solid var(--color-line)}.conversation-row{width:100%;min-height:72px;color:var(--color-ink);text-align:left;cursor:pointer;transition:background-color var(--motion-base) var(--ease-standard);background:0 0;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 16px;display:grid;position:relative}.conversation-row:hover{background:var(--color-surface-subtle)}.conversation-row[aria-current=true]{background:var(--color-brand-soft)}.conversation-row[aria-current=true]:before{content:"";background:var(--color-brand);border-radius:0 3px 3px 0;width:3px;position:absolute;inset:10px auto 10px 0}.conversation-row:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.conversation-copy{gap:2px;min-width:0;display:grid}.conversation-copy strong,.conversation-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.conversation-copy strong{color:var(--color-ink);letter-spacing:-.005em;font-size:.92rem;font-weight:700}.conversation-copy small{color:var(--color-ink-muted);font-size:.82rem}.conversation-row[aria-current=true] .conversation-copy strong{color:var(--color-brand-strong)}.conversation-meta{justify-items:end;gap:6px;display:grid}.conversation-meta time{color:var(--color-ink-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.7rem}.messages-page__unread.ui-status{border-radius:var(--radius-pill);background:var(--color-brand);min-width:20px;min-height:20px;color:var(--color-on-brand);letter-spacing:0;text-transform:none;font-variant-numeric:tabular-nums;padding:0 8px;font-size:.7rem;font-weight:700}.conversation-panel{flex-direction:column;min-height:560px;display:flex}.conversation-panel>header{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.conversation-panel>header>div{min-width:0}.conversation-panel h2{font-family:var(--font-ui);letter-spacing:-.01em;color:var(--color-ink);margin:0;font-size:1.15rem;font-weight:700}.conversation-panel header p{color:var(--color-ink-muted);margin:2px 0 0;font-size:.8rem}.conversation-privacy{border:1px solid var(--color-info);align-items:flex-start;gap:12px;margin:16px;padding:12px 14px;display:flex}@supports (color:color-mix(in lab, red, red)){.conversation-privacy{border:1px solid color-mix(in srgb, var(--color-info) 32%, var(--color-line))}}.conversation-privacy{border-radius:var(--radius-md);background:var(--color-info-soft);color:var(--color-info);font-size:.85rem;line-height:1.45}.conversation-privacy svg{flex:none;width:18px;height:18px;margin-top:2px}.conversation-privacy span{color:var(--color-ink);gap:2px;display:grid}.conversation-privacy strong{color:var(--color-ink);font-size:.85rem;font-weight:700}.message-stream{flex:1;align-content:start;gap:12px;padding:8px 20px 16px;display:grid}.message-stream li{gap:4px;max-width:78%;display:grid}.message-stream__item--outgoing{text-align:right;justify-self:end}.message-bubble{border:1px solid var(--color-line);border-radius:var(--radius-md) var(--radius-md) var(--radius-md) 4px;background:var(--color-surface);color:var(--color-ink);padding:12px 14px}.message-bubble p{margin:0;font-size:.92rem;line-height:1.5}.message-bubble span{color:var(--color-ink-muted);letter-spacing:.04em;text-transform:uppercase;margin-top:8px;font-size:.7rem;font-weight:700;display:block}.message-bubble--outgoing{border-radius:var(--radius-md) var(--radius-md) 4px var(--radius-md);background:var(--color-brand-soft);color:var(--color-ink);border-color:#0000}.message-stream time{color:var(--color-ink-muted);font-variant-numeric:tabular-nums;padding-inline:4px;font-size:.72rem;display:block}.message-composer{border-top:1px solid var(--color-line);background:var(--color-surface-subtle);padding:16px}.message-composer>span{color:var(--color-ink-muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px;font-size:.78rem;font-weight:800;display:block}.message-composer textarea{resize:vertical;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);width:100%;min-height:84px;color:var(--color-ink);padding:12px;font-size:.92rem;line-height:1.5}.message-composer textarea:disabled{cursor:not-allowed;background:var(--color-surface-subtle);color:var(--color-ink-muted);opacity:.7}.message-composer textarea::placeholder{color:var(--color-ink-faint)}.message-composer textarea:disabled::placeholder{color:var(--color-ink-muted)}.private-note-card{border:1px solid var(--color-info);grid-column:1/-1;grid-template-columns:40px 1fr auto;align-items:center;gap:16px;padding:14px 16px;display:grid}@supports (color:color-mix(in lab, red, red)){.private-note-card{border:1px solid color-mix(in srgb, var(--color-info) 35%, var(--color-line))}}.private-note-card{border-radius:var(--radius-md);background:var(--color-info-soft)}.private-note-card>span:first-child{background:var(--color-info);border-radius:12px;place-items:center;width:40px;height:40px;display:grid}@supports (color:color-mix(in lab, red, red)){.private-note-card>span:first-child{background:color-mix(in srgb, var(--color-info) 18%, var(--color-surface))}}.private-note-card>span:first-child{color:var(--color-info)}.private-note-card svg{width:20px;height:20px}.private-note-card h2{font-family:var(--font-ui);color:var(--color-ink);margin:0;font-size:.95rem;font-weight:700}.private-note-card p{color:var(--color-ink-muted);margin:2px 0 0;font-size:.82rem;line-height:1.45}.private-note-card .ui-status{align-self:center}.metric-grid{grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1rem;display:grid}.metric-card{padding:1.15rem}.metric-card>span{background:var(--accent-soft);width:36px;height:36px;color:var(--accent);border-radius:11px;place-items:center;display:grid}.metric-card--positive>span{background:var(--positive-soft);color:var(--positive)}.metric-card--gold>span{background:var(--gold-soft);color:var(--gold)}.metric-card--neutral>span{background:var(--surface-muted);color:var(--ink-soft)}.metric-card svg{width:19px}.metric-card p{color:var(--ink-soft);margin:.8rem 0 .15rem;font-size:.78rem}.metric-card strong{font-family:Georgia,Times New Roman,serif;font-size:1.65rem}.ledger-section{overflow:hidden}.ledger-section>header,.nutrition-entries>header,.settings-section>header,.admin-members>header,.audit-card>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.2rem;display:flex}.ledger-section header .eyebrow,.nutrition-entries header .eyebrow,.settings-section header .eyebrow{margin-bottom:.2rem}.ledger-section h2,.nutrition-entries h2,.settings-section h2,.admin-members h2,.audit-card h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.4rem}.ledger-section header .ui-status{gap:.35rem}.ledger-section header svg{width:15px}.ledger-permission{background:var(--gold-soft);color:var(--ink-soft);align-items:center;gap:.5rem;padding:.7rem 1.2rem;font-size:.78rem;font-weight:750;display:flex}.ledger-permission svg{flex:none;width:17px}.ledger-list__header,.ledger-list li{grid-template-columns:minmax(110px,.7fr) minmax(180px,1.2fr) minmax(170px,1fr) minmax(100px,.65fr) minmax(110px,.7fr);align-items:center;gap:1rem;padding:.85rem 1.2rem;display:grid}.ledger-list__header{background:var(--surface-muted);color:var(--ink-soft);text-transform:uppercase;font-size:.7rem;font-weight:850}.ledger-list ol{margin:0;padding:0;list-style:none}.ledger-list li+li{border-top:1px solid var(--line)}.ledger-list li>div{display:grid}.ledger-list small{color:var(--ink-soft)}.ledger-amount{justify-self:end}.ledger-amount--credit{color:var(--positive)}.ledger-section>footer{border-top:1px solid var(--line);color:var(--ink-soft);padding:.8rem 1.2rem;font-size:.76rem}.owner-boundary{border-color:var(--gold)}@supports (color:color-mix(in lab, red, red)){.owner-boundary{border-color:color-mix(in srgb, var(--gold) 45%, var(--line))}}.owner-boundary{background:var(--gold-soft)}@supports (color:color-mix(in lab, red, red)){.owner-boundary{background:color-mix(in srgb, var(--gold-soft) 55%, var(--surface))}}.owner-boundary>span{background:var(--gold-soft);color:var(--gold)}.nutrition-page{gap:20px;padding-block:8px 40px;display:grid}.nutrition-page .module-heading h1{max-width:22ch;font-family:var(--font-ui);letter-spacing:-.025em;color:var(--color-ink);margin:0;font-size:clamp(1.55rem,2.2vw,2rem);font-weight:700;line-height:1.15}.nutrition-page .module-heading>div>p:last-child{max-width:62ch;color:var(--color-ink-muted);margin:.75rem 0 0;font-size:.95rem;line-height:1.5}.nutrition-page .owner-boundary{border-color:var(--color-info)}@supports (color:color-mix(in lab, red, red)){.nutrition-page .owner-boundary{border-color:color-mix(in srgb, var(--color-info) 28%, var(--color-line))}}.nutrition-page .owner-boundary{background:var(--color-info-soft)}@supports (color:color-mix(in lab, red, red)){.nutrition-page .owner-boundary{background:color-mix(in srgb, var(--color-info-soft) 60%, var(--color-surface))}}.nutrition-page .owner-boundary{color:var(--color-ink)}.nutrition-page .owner-boundary>span{background:var(--color-info-soft);color:var(--color-info)}.nutrition-page .owner-boundary strong{color:var(--color-ink)}.nutrition-page .owner-boundary p{color:var(--color-ink-muted)}.nutrition-page .nutrition-entries h2{font-family:var(--font-ui);letter-spacing:-.015em;color:var(--color-ink);font-size:1.25rem;font-weight:700;line-height:1.25}.nutrition-summary{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:16px;margin-bottom:0;display:grid}.calorie-ring-card{border:1px solid var(--color-line);background:var(--color-surface);box-shadow:none;border-radius:16px;grid-template-columns:180px minmax(0,1fr);align-items:center;gap:1.6rem;padding:20px;display:grid}.calorie-ring{--progress:50%;aspect-ratio:1;background:radial-gradient(circle, var(--color-surface) 60%, transparent 62%), conic-gradient(var(--color-brand) 0% 70%, var(--color-brand-violet) 70% var(--progress), var(--color-surface-subtle) var(--progress) 100%);border-radius:50%;align-content:center;place-items:center;width:170px;display:grid}.calorie-ring__value{z-index:1;font-family:var(--font-ui);font-variant-numeric:tabular-nums;color:var(--color-ink);justify-items:center;gap:2px;display:grid}.calorie-ring__value strong{letter-spacing:-.02em;font-size:clamp(1.45rem,2.2vw,1.85rem);font-weight:700;line-height:1}.calorie-ring__value small{color:var(--color-ink-muted);font-size:.78rem;font-weight:600}.calorie-ring__percent{color:var(--color-brand);font-family:var(--font-ui);font-variant-numeric:tabular-nums;letter-spacing:.01em;margin-top:2px;font-size:.82rem;font-weight:700}.calorie-ring-card dl{margin:0}.calorie-ring-card dl>div{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:baseline;gap:1rem;padding:10px 0;display:flex}.calorie-ring-card dl>div:last-child{border-bottom:0}.calorie-ring-card dt{color:var(--color-ink-muted);font-size:.875rem}.calorie-ring-card dd{font-family:var(--font-ui);font-variant-numeric:tabular-nums;color:var(--color-ink);margin:0;font-size:.95rem;font-weight:700}.nutrition-accuracy-card{border:1px solid var(--color-line);background:var(--color-surface);color:var(--color-ink);box-shadow:none;border-radius:16px;padding:20px}.nutrition-accuracy-card>span{background:var(--color-info-soft);width:38px;height:38px;color:var(--color-info);border-radius:10px;place-items:center;display:grid}.nutrition-accuracy-card svg{width:18px;height:18px}.nutrition-accuracy-card h2{font-family:var(--font-ui);letter-spacing:-.015em;color:var(--color-ink);margin:12px 0 6px;font-size:1.1rem;font-weight:700;line-height:1.3}.nutrition-accuracy-card p{color:var(--color-ink-muted);margin:0 0 12px;font-size:.875rem;line-height:1.5}.nutrition-entries{border:1px solid var(--color-line);background:var(--color-surface);box-shadow:none;border-radius:16px;overflow:hidden}.nutrition-entries ol{margin:0;padding:0;list-style:none}.nutrition-entries li{grid-template-columns:76px 38px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:68px;padding:14px 24px;display:grid}.nutrition-entries li+li{border-top:1px solid var(--color-line)}.nutrition-entries time{color:var(--color-ink-muted);font-family:var(--font-ui);font-variant-numeric:tabular-nums;font-size:.82rem;font-weight:700}.meal-icon{background:var(--color-brand-soft);width:36px;height:36px;color:var(--color-brand);border-radius:11px;place-items:center;display:grid}.meal-icon svg{width:18px;height:18px}.nutrition-entries li>div{gap:2px;min-width:0;display:grid}.nutrition-entries li>div strong{color:var(--color-ink);overflow-wrap:anywhere;font-size:.95rem;font-weight:650}.nutrition-entries li>div span,.nutrition-entries li>div small{color:var(--color-ink-muted);font-size:.82rem}.nutrition-entries li>div small{overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.nutrition-entries li>strong{font-family:var(--font-ui);font-variant-numeric:tabular-nums;color:var(--color-ink);font-size:.95rem;font-weight:700}.settings-page{gap:20px;padding-block:8px 40px;display:grid}.settings-page .module-heading h1{max-width:22ch;font-family:var(--font-ui);letter-spacing:-.025em;color:var(--color-ink);margin:0;font-size:clamp(1.55rem,2.2vw,2rem);font-weight:700;line-height:1.15}.settings-page .module-heading>div>p:last-child{max-width:62ch;color:var(--color-ink-muted);margin:.75rem 0 0;font-size:.95rem;line-height:1.5}.settings-page .role-managed-notice{border:1px solid var(--color-info);align-items:flex-start;gap:12px;padding:12px 14px;display:flex}@supports (color:color-mix(in lab, red, red)){.settings-page .role-managed-notice{border:1px solid color-mix(in srgb, var(--color-info) 28%, var(--color-line))}}.settings-page .role-managed-notice{border-radius:var(--radius-md);background:var(--color-info-soft)}@supports (color:color-mix(in lab, red, red)){.settings-page .role-managed-notice{background:color-mix(in srgb, var(--color-info-soft) 60%, var(--color-surface))}}.settings-page .role-managed-notice{color:var(--color-ink)}.settings-page .role-managed-notice>span{background:var(--color-info-soft);width:32px;height:32px;color:var(--color-info);border-radius:10px;flex:none;place-items:center;display:grid}.settings-page .role-managed-notice svg{width:17px;height:17px}.settings-page .role-managed-notice strong{color:var(--color-ink);font-size:.92rem;font-weight:700;line-height:1.35;display:block}.settings-page .settings-section h2{font-family:var(--font-ui);letter-spacing:-.015em;color:var(--color-ink);font-size:1.25rem;font-weight:700;line-height:1.25}.settings-layout{grid-template-columns:.65fr 1.35fr;gap:16px;display:grid}.settings-profile-card{align-self:start;padding:clamp(1.1rem,2.4vw,1.6rem)}.settings-profile-card__identity{grid-template-columns:56px minmax(0,1fr);align-items:center;gap:14px;display:grid}.settings-profile-card__avatar{background:var(--color-brand-soft);width:56px;height:56px;color:var(--color-brand);border-radius:16px;place-items:center;display:grid}.settings-profile-card__avatar svg{width:26px;height:26px}.settings-profile-card__identity .eyebrow{margin:0 0 4px}.settings-profile-card h2{font-family:var(--font-ui);letter-spacing:-.015em;color:var(--color-ink);margin:0;font-size:1.25rem;font-weight:700;line-height:1.25}.settings-profile-card__identity>div>p:last-child{color:var(--color-ink-muted);margin:2px 0 0;font-size:.85rem}.settings-profile-card__facts{margin:18px 0 0}.settings-profile-card__facts>div{border-top:1px solid var(--color-line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.settings-profile-card__facts dt{color:var(--color-ink-muted);font-size:.875rem}.settings-profile-card__facts dd{font-family:var(--font-ui);font-variant-numeric:tabular-nums;color:var(--color-ink);margin:0;font-weight:700}.settings-profile-card__facts .ui-status{gap:4px}.settings-profile-card__facts .ui-status svg{width:14px;height:14px}.settings-section{overflow:hidden}.settings-section>header{align-items:flex-start}.settings-section header .ui-status{text-align:left;white-space:normal;background:var(--color-brand-soft);max-width:280px;min-height:auto;color:var(--color-brand);border-radius:10px;gap:4px}.settings-section header .ui-status svg{flex:none;width:14px;height:14px}.settings-list{margin:0}.settings-list>div{justify-content:space-between;align-items:center;gap:1rem;min-height:64px;padding:14px 24px;display:flex}.settings-list>div+div{border-top:1px solid var(--color-line)}.settings-list dt{color:var(--color-ink-muted);align-items:center;gap:12px;font-size:.9rem;display:flex}.settings-list dt>span{background:var(--color-brand-soft);width:36px;height:36px;color:var(--color-brand);border-radius:10px;flex:none;place-items:center;display:grid}.settings-list dt>span svg{width:18px;height:18px}.settings-list dd{font-family:var(--font-ui);font-variant-numeric:tabular-nums;color:var(--color-ink);text-align:right;margin:0;font-size:.92rem;font-weight:700}.admin-page{gap:20px;padding-block:8px 40px;display:grid}.admin-page .module-heading h1{max-width:22ch;font-family:var(--font-ui);letter-spacing:-.025em;color:var(--color-ink);margin:0;font-size:clamp(1.55rem,2.2vw,2rem);font-weight:700;line-height:1.15}.admin-page .module-heading>div>p:last-child{max-width:62ch;color:var(--color-ink-muted);margin:.75rem 0 0;font-size:.95rem;line-height:1.5}.admin-access-boundary{border:1px solid var(--color-info);align-items:flex-start;gap:12px;padding:12px 14px;display:flex}@supports (color:color-mix(in lab, red, red)){.admin-access-boundary{border:1px solid color-mix(in srgb, var(--color-info) 28%, var(--color-line))}}.admin-access-boundary{border-radius:var(--radius-md);background:var(--color-info-soft)}@supports (color:color-mix(in lab, red, red)){.admin-access-boundary{background:color-mix(in srgb, var(--color-info-soft) 60%, var(--color-surface))}}.admin-access-boundary{color:var(--color-ink)}.admin-access-boundary>span{background:var(--color-info-soft);width:32px;height:32px;color:var(--color-info);border-radius:10px;flex:none;place-items:center;display:grid}.admin-access-boundary>span svg{width:17px;height:17px}.admin-access-boundary strong{color:var(--color-ink);font-size:.92rem;font-weight:700;line-height:1.35;display:block}.admin-access-boundary p{color:var(--color-ink-muted);margin:4px 0 0;font-size:.85rem;line-height:1.45}.admin-page .admin-members h2,.admin-page .audit-card h2{font-family:var(--font-ui);letter-spacing:-.015em;color:var(--color-ink);font-size:1.25rem;font-weight:700;line-height:1.25}.admin-grid{grid-template-columns:1.25fr .75fr;gap:16px;display:grid}.admin-members,.audit-card{overflow:hidden}.admin-members>header,.audit-card>header{border-bottom:1px solid var(--color-line)}.admin-members>header .ui-status{gap:4px}.admin-members>header .ui-status svg{width:14px;height:14px}.admin-member-list>div,.admin-member-list li{grid-template-columns:1fr .7fr .7fr;align-items:center;gap:.8rem;padding:14px 24px;display:grid}.admin-member-list>div{background:var(--color-surface-subtle);color:var(--color-ink-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:850}.admin-member-list ul{margin:0;padding:0;list-style:none}.admin-member-list li+li{border-top:1px solid var(--color-line)}.admin-member-list li strong{color:var(--color-ink);font-family:var(--font-ui);overflow-wrap:anywhere;font-size:.95rem;font-weight:700}.admin-member-list li>span{color:var(--color-ink-muted);font-size:.85rem}.admin-security-card{border:1px solid var(--color-info);padding:20px}@supports (color:color-mix(in lab, red, red)){.admin-security-card{border:1px solid color-mix(in srgb, var(--color-info) 28%, var(--color-line))}}.admin-security-card{border-radius:var(--radius-lg);background:var(--color-info-soft)}@supports (color:color-mix(in lab, red, red)){.admin-security-card{background:color-mix(in srgb, var(--color-info-soft) 60%, var(--color-surface))}}.admin-security-card{color:var(--color-ink)}.admin-security-card>span{background:var(--color-info-soft);width:38px;height:38px;color:var(--color-info);border-radius:10px;place-items:center;display:grid}.admin-security-card>span svg{width:18px;height:18px}.admin-page .admin-security-card h2{font-family:var(--font-ui);letter-spacing:-.015em;color:var(--color-ink);margin:12px 0 10px;font-size:1.1rem;font-weight:700;line-height:1.3}.admin-security-card ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.admin-security-card li{color:var(--color-ink);padding-left:22px;font-size:.88rem;line-height:1.45;position:relative}.admin-security-card li:before{content:"";background:var(--color-info);width:12px;height:1px;position:absolute;top:.55em;left:0}.audit-card ol{margin:0;padding:4px 24px 8px;list-style:none}.audit-card li{border-bottom:1px solid var(--color-line);grid-template-columns:18px minmax(0,1fr);gap:12px;min-height:76px;padding:14px 0;display:grid}.audit-card li:last-child{border-bottom:0}.audit-dot{background:var(--color-brand);width:8px;height:8px;box-shadow:0 0 0 3px var(--color-brand-soft);border-radius:50%;margin-top:.5rem;position:relative}.audit-dot:after{content:"";background:var(--color-line);width:1px;height:56px;position:absolute;top:13px;left:3px}.audit-card li:last-child .audit-dot:after{display:none}.audit-card li>div{align-content:start;gap:4px;min-width:0;display:grid}.audit-card li strong{color:var(--color-ink);font-family:var(--font-ui);font-size:.95rem;font-weight:700;line-height:1.3}.audit-card time,.audit-card small{color:var(--color-ink-muted);font-family:var(--font-ui);font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:600;line-height:1.35}.audit-card small{color:var(--color-ink-faint)}.integration-card{border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface);align-items:flex-start;gap:14px;padding:20px;display:flex}.integration-card>span{background:var(--color-brand-soft);width:38px;height:38px;color:var(--color-brand);border-radius:10px;flex:none;place-items:center;display:grid}.integration-card>span svg{width:18px;height:18px}.admin-page .integration-card h2{font-family:var(--font-ui);letter-spacing:-.015em;color:var(--color-ink);margin:0 0 4px;font-size:1.05rem;font-weight:700;line-height:1.3}.integration-card p{color:var(--color-ink-muted);margin:0;font-size:.88rem;line-height:1.45}.module-link-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.module-link-card{flex-direction:column;min-height:240px;padding:1.35rem;transition:transform .18s,border-color .18s;display:flex}.module-link-card:hover{border-color:var(--accent);transform:translateY(-2px)}.module-link-card__icon{background:var(--accent-soft);width:44px;height:44px;color:var(--accent);border-radius:13px;place-items:center;display:grid}.module-link-card__icon svg{width:22px}.module-link-card h2{margin:1rem 0 .35rem;font-family:Georgia,Times New Roman,serif;font-size:1.35rem}.module-link-card p{color:var(--ink-soft);margin:0;font-size:.86rem}.module-link-card__action{color:var(--accent);align-items:center;gap:.4rem;margin-top:auto;padding-top:1rem;font-weight:850;display:flex}.module-link-card__action svg{width:17px}@media (max-width:1050px){.calendar-days{grid-template-columns:repeat(3,1fr)}.metric-grid{grid-template-columns:repeat(2,1fr)}.data-list__header,.data-list li{grid-template-columns:minmax(190px,1.2fr) minmax(100px,.65fr) minmax(130px,.7fr) minmax(160px,.9fr) minmax(100px,.5fr);gap:.65rem}}@media (max-width:900px){.filter-bar--calendar{grid-template-columns:repeat(2,1fr)}.messaging-layout{grid-template-columns:1fr}.conversation-list ul{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.conversation-list li+li{border-top:0;border-left:1px solid var(--color-line)}.conversation-row{grid-template-columns:36px minmax(0,1fr);min-height:64px;padding:10px 12px}.conversation-meta{display:none}.conversation-avatar{width:36px;height:36px}.conversation-avatar svg{width:18px;height:18px}.settings-layout,.admin-grid{grid-template-columns:1fr}.module-link-grid{grid-template-columns:repeat(2,1fr)}.ledger-list__header{display:none}.ledger-list li{grid-template-columns:1fr 1fr auto}.ledger-list li>div{grid-column:1/span 2}.ledger-list .ledger-amount{grid-area:1/3/span 2}}@media (max-width:720px){.module-heading{flex-direction:column;align-items:flex-start;gap:.7rem}.module-heading__actions{padding:0}.module-tabs,.view-switcher{width:100%;overflow-x:auto}.module-tabs a,.view-switcher a{flex:1 0 auto}.filter-bar{grid-template-columns:1fr}.data-list__header{display:none}.data-list li{grid-template-columns:1fr 1fr;gap:.9rem;padding:1rem}.person-cell{border-bottom:1px solid var(--line);grid-column:1/-1;padding-bottom:.75rem}.mobile-cell-label{display:block}.nutrition-summary{grid-template-columns:1fr}.nutrition-page{gap:16px}.calorie-ring-card{grid-template-columns:1fr;justify-items:center;gap:1.25rem;padding:18px}.calorie-ring-card dl{width:100%}.nutrition-entries li{grid-template-columns:64px 34px minmax(0,1fr);gap:12px;padding:14px 18px}.nutrition-entries li>strong{grid-column:3;justify-self:end}.calendar-days{grid-template-columns:1fr}.calendar-day>header{min-height:52px}.calendar-day ol{grid-template-columns:repeat(2,1fr)}.messaging-layout{gap:12px}.conversation-list ul{grid-template-columns:1fr}.conversation-list li+li{border-left:0;border-top:1px solid var(--color-line)}.conversation-row{grid-template-columns:40px minmax(0,1fr) auto;padding:12px 16px}.conversation-meta{display:grid}.conversation-panel{min-height:480px}.conversation-panel>header{flex-wrap:wrap;padding:14px 16px}.conversation-privacy{margin:12px;padding:10px 12px}.message-stream{padding:8px 16px 12px}.message-stream li{max-width:88%}.message-composer{padding:12px}.private-note-card{grid-template-columns:40px 1fr;gap:12px;padding:12px}.private-note-card .ui-status{grid-column:2;justify-self:start}.metric-grid{grid-template-columns:1fr 1fr}.ledger-section>header,.nutrition-entries>header,.settings-section>header,.admin-members>header,.audit-card>header{flex-direction:column;align-items:flex-start}.ledger-list li{grid-template-columns:1fr auto}.ledger-list li>div{grid-column:1}.ledger-list .ledger-amount{grid-area:1/2}.settings-list>div{flex-direction:column;align-items:flex-start;gap:6px;padding:14px 18px}.settings-list dd{text-align:left;padding-left:48px}.admin-member-list>div{display:none}.admin-member-list li{grid-template-columns:1fr auto}.admin-member-list li .ui-status{grid-area:1/2/span 2}.admin-page{gap:16px;padding-block:8px 32px}.admin-page .module-heading h1{max-width:100%}.admin-access-boundary{padding:12px}.audit-card ol{padding-inline:18px}.audit-card li{padding:14px 0}.admin-security-card,.integration-card{padding:18px}.module-link-grid{grid-template-columns:1fr}}@media (max-width:440px){.data-list li{grid-template-columns:1fr}.person-cell{grid-column:1}.filter-bar--calendar,.calendar-day ol{grid-template-columns:1fr}.conversation-row{grid-template-columns:36px minmax(0,1fr);min-height:60px}.conversation-meta{display:none}.conversation-avatar{width:32px;height:32px}.conversation-avatar svg{width:16px;height:16px}.message-stream li{max-width:100%}.metric-grid,.ledger-list li{grid-template-columns:1fr}.ledger-list .ledger-amount{grid-area:auto/1;justify-self:start}.nutrition-entries li{grid-template-columns:36px minmax(0,1fr);row-gap:6px;padding:14px 16px}.nutrition-entries time{grid-column:1/-1}.nutrition-entries li>strong{grid-column:2;justify-self:start}.calorie-ring{width:150px}.admin-member-list li{grid-template-columns:1fr;gap:6px}.admin-member-list li .ui-status{grid-area:auto/1;justify-self:start}}.booking-setup-card{text-align:left;padding:clamp(1.3rem,3vw,1.9rem)}.booking-setup-card .eyebrow{margin-top:0}.booking-setup-card h2{margin:0 0 .6rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.45rem,2.6vw,1.85rem)}.booking-setup-card>p{max-width:60ch;color:var(--ink-soft);margin:0 0 1.2rem;font-size:.95rem}.setup-prefill{background:var(--positive-soft);color:var(--positive);border-radius:999px;align-items:center;gap:.4rem;margin:0 0 1.2rem;padding:.45rem .75rem;font-size:.82rem;font-weight:750;display:inline-flex}.setup-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.setup-field{border:0;gap:.35rem;min-width:0;margin:0;padding:0;display:grid}.setup-field>span,.setup-field>legend{color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;font-weight:900}.setup-field input[type=text]{border:1px solid var(--line);background:var(--surface-raised);width:100%;min-height:44px;color:var(--ink);font-family:var(--font-ui);border-radius:11px;padding:.55rem .75rem;font-size:.92rem}.setup-field input[type=text]:focus-visible{outline:3px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.setup-field input[type=text]:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 78%, white)}}.setup-field input[type=text]:focus-visible{outline-offset:2px}.setup-field input[type=text][aria-invalid=true]{border-color:var(--danger)}.setup-field small{color:var(--ink-soft);font-size:.78rem}.setup-field__error{color:var(--danger);margin:0;font-size:.82rem;font-weight:750}.setup-field--inline{grid-column:1/-1}.setup-guardian{flex-wrap:wrap;gap:.6rem;display:flex}.setup-guardian label{border:1px solid var(--line);background:var(--surface-raised);cursor:pointer;border-radius:11px;flex:220px;align-items:center;gap:.55rem;min-height:44px;padding:.55rem .85rem;font-weight:750;display:inline-flex}.setup-guardian label:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.setup-guardian input[type=radio]{width:18px;height:18px;accent-color:var(--accent);margin:0}.booking-review code{font-family:var(--font-ui);word-break:break-all;font-size:.86rem}.booking-review dd.booking-review__technical{color:var(--ink-soft);font-size:.82rem;font-weight:650}.booking-review small{color:var(--ink-soft);margin-top:.2rem;font-size:.78rem;display:block}@media (max-width:720px){.setup-grid{grid-template-columns:1fr}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.portal-section-page{padding-bottom:2rem}.portal-section-page .page-heading{margin-bottom:1.5rem}.sample-workspace-note{border:1px solid var(--gold);align-items:flex-start;gap:.9rem;margin-bottom:1.5rem;padding:1rem 1.25rem;display:flex}@supports (color:color-mix(in lab, red, red)){.sample-workspace-note{border:1px solid color-mix(in srgb, var(--gold) 45%, var(--line))}}.sample-workspace-note{background:var(--gold-soft);border-radius:16px}@supports (color:color-mix(in lab, red, red)){.sample-workspace-note{background:color-mix(in srgb, var(--gold-soft) 50%, var(--surface))}}.sample-workspace-note__icon{background:var(--gold);width:38px;height:38px;color:var(--surface);border-radius:12px;flex:none;place-items:center;display:grid}.sample-workspace-note__icon svg{width:19px;height:19px}.sample-workspace-note strong{font-size:.95rem;display:block}.sample-workspace-note p{color:var(--ink-soft);margin:.15rem 0 0;font-size:.85rem}.portal-calendar-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.6rem;margin-bottom:2rem;display:grid}.portal-calendar-day{border:1px solid var(--line);background:var(--surface);border-radius:14px;min-height:140px}@supports (color:color-mix(in lab, red, red)){.portal-calendar-day{background:color-mix(in srgb, var(--surface) 70%, transparent)}}.portal-calendar-day{flex-direction:column;gap:.5rem;padding:.65rem;display:flex}.portal-calendar-day>header{justify-content:space-between;align-items:center;display:flex}.portal-calendar-day>header span{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:800}.portal-calendar-day>header strong{font-family:Georgia,Times New Roman,serif;font-size:1.1rem}.portal-calendar-day ol{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.portal-agenda{gap:.75rem;display:grid}.portal-agenda__header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.portal-agenda__header h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.5rem}.portal-agenda__list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.portal-agenda__row{border:1px solid var(--line);background:var(--surface-raised);border-radius:14px;grid-template-columns:minmax(200px,.9fr) minmax(0,1.4fr) auto;align-items:center;gap:1rem;padding:.9rem 1.1rem;display:grid}.portal-agenda__date{gap:.3rem;display:grid}.portal-agenda__date time{color:var(--ink-soft);font-size:.82rem;font-weight:700}.portal-agenda__row strong{font-weight:800;display:block}.portal-agenda__row span{color:var(--ink-soft);font-size:.85rem}.portal-profile-page{gap:20px;padding-block:8px 24px;display:grid}.portal-profile-page .page-heading{margin-bottom:0}.portal-profile-page .page-heading h1{max-width:22ch;color:var(--color-ink);font-family:var(--font-ui);letter-spacing:-.025em;margin:0;font-size:clamp(1.55rem,2.2vw,2rem);font-weight:700;line-height:1.15}.portal-profile-page .page-heading>p:last-child,.portal-profile-page .page-heading>div>p:last-child{max-width:62ch;color:var(--color-ink-muted);margin:.75rem 0 0;font-size:.95rem;line-height:1.5}.portal-profile-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1.25fr);align-items:stretch;gap:16px;display:grid}.portal-profile-card{gap:14px;padding:clamp(1.05rem,2.4vw,1.5rem);display:grid}.portal-profile-card>header{grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.portal-profile-avatar{background:var(--color-brand-soft);width:56px;height:56px;color:var(--color-brand);border-radius:14px;place-items:center;display:grid}.portal-profile-avatar--violet{background:var(--color-brand-violet)}@supports (color:color-mix(in lab, red, red)){.portal-profile-avatar--violet{background:color-mix(in srgb, var(--color-brand-violet) 14%, var(--color-brand-soft))}}.portal-profile-avatar--violet{color:var(--color-brand-violet)}.portal-profile-avatar--small{border-radius:13px;width:44px;height:44px}.portal-profile-avatar svg{width:24px;height:24px}.portal-profile-card .eyebrow{margin:0 0 4px}.portal-profile-card h2{max-width:22ch;color:var(--color-ink);font-family:var(--font-ui);letter-spacing:-.015em;margin:0;font-size:clamp(1.2rem,1.6vw,1.45rem);font-weight:700;line-height:1.25}.portal-profile-card>header span,.portal-profile-card>header time{color:var(--color-ink-muted);font-size:.88rem;line-height:1.4}.portal-profile-card>header time{font-variant-numeric:tabular-nums;font-weight:600}.portal-profile-card dl{margin:0;display:grid}.portal-profile-card dl div{border-top:1px solid var(--color-line);justify-content:space-between;align-items:baseline;gap:16px;padding:10px 0;display:flex}.portal-profile-card dl div:first-child{border-top:0}.portal-profile-card dt{color:var(--color-ink-muted);font-size:.85rem;line-height:1.4}.portal-profile-card dd{color:var(--color-ink);text-align:right;font-variant-numeric:tabular-nums;margin:0;font-size:.92rem;font-weight:700}.portal-profile-card .text-link{min-height:36px;margin-top:4px;font-weight:700}.portal-profile-section{gap:12px;display:grid}.portal-profile-section__header{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.portal-profile-section__header>div{min-width:0}.portal-profile-section__header h2{max-width:22ch;color:var(--color-ink);font-family:var(--font-ui);letter-spacing:-.015em;margin:0;font-size:1.25rem;font-weight:700;line-height:1.25}.portal-profile-section__header span{color:var(--color-ink-muted);text-align:right;max-width:30ch;font-size:.82rem;font-weight:700}.portal-profile-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.portal-profile-student{gap:12px;padding:clamp(1rem,2vw,1.35rem);display:grid}.portal-profile-student__head{grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.portal-profile-student__head strong{color:var(--color-ink);font-size:1rem;font-weight:700;line-height:1.3;display:block}.portal-profile-student__head span{color:var(--color-ink-muted);margin-top:2px;font-size:.82rem;line-height:1.3;display:block}.portal-profile-student dl{margin:0;display:grid}.portal-profile-student dl div{border-top:1px solid var(--color-line);justify-content:space-between;align-items:baseline;gap:16px;padding:8px 0;display:flex}.portal-profile-student dl div:first-child{border-top:0}.portal-profile-student dt{color:var(--color-ink-muted);font-size:.82rem;line-height:1.4}.portal-profile-student dd{color:var(--color-ink);text-align:right;font-variant-numeric:tabular-nums;margin:0;font-size:.88rem;font-weight:700}.portal-profile-preferences-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.portal-profile-preferences{gap:8px;margin:0;padding:0;list-style:none;display:grid}.portal-profile-preferences li{border:1px solid var(--color-line);background:var(--color-surface);border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px;display:grid}.portal-profile-preferences>div{min-width:0}.portal-profile-preferences strong{color:var(--color-ink);font-size:.92rem;font-weight:700;line-height:1.3;display:block}.portal-profile-preferences span{color:var(--color-ink-muted);margin-top:2px;font-size:.82rem;display:block}.portal-messages-page{gap:20px;padding-block:8px 24px;display:grid}.portal-messages-page .page-heading{margin-bottom:0}.portal-messages-page .page-heading h1{max-width:22ch;color:var(--color-ink);font-family:var(--font-ui);letter-spacing:-.025em;margin:0;font-size:clamp(1.55rem,2.2vw,2rem);font-weight:700;line-height:1.15}.portal-messages-page .page-heading>p:last-child,.portal-messages-page .page-heading>div>p:last-child{max-width:62ch;color:var(--color-ink-muted);margin:.75rem 0 0;font-size:.95rem;line-height:1.5}.portal-messages-page__unread.ui-status{border-radius:var(--radius-pill);background:var(--color-brand);min-width:20px;min-height:20px;color:var(--color-on-brand);letter-spacing:0;text-transform:none;font-variant-numeric:tabular-nums;padding:0 8px;font-size:.7rem;font-weight:700}.portal-conversation{min-height:560px}.portal-conversation>header{padding-block:18px}.message-composer>label.message-composer__label{color:var(--color-ink-muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px;font-size:.78rem;font-weight:800;display:block}.message-composer__action{flex:none}@media (max-width:720px){.portal-messages-page{gap:16px;padding-block:4px 16px}.portal-conversation{min-height:0}.message-composer__footer{flex-direction:column;align-items:stretch;gap:8px}.message-composer__action{justify-content:center;width:100%}}.completed-lesson-card,.profile-card{padding:clamp(1.25rem,3vw,1.8rem)}.completed-lesson-card__body{justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;display:flex}.completed-lesson-card h2{margin:0 0 .25rem;font-family:Georgia,Times New Roman,serif;font-size:1.45rem}.completed-lesson-card p{color:var(--ink-soft);margin:0}.profile-card__body{align-items:center;gap:.9rem;margin-top:1rem;display:flex}.profile-card__avatar{background:var(--accent-soft);width:50px;height:50px;color:var(--accent);border-radius:16px;place-items:center;display:grid}.profile-card__avatar svg{width:24px;height:24px}.profile-card h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.35rem}.profile-card p{color:var(--ink-soft);margin:.15rem 0 0;font-size:.85rem}.booking-setup-card .choice-card{min-height:88px}.choice-card__copy{gap:.2rem;min-width:0;display:grid}.choice-card__copy strong{font-weight:800}.choice-card__copy small{color:var(--ink-soft);font-size:.8rem}.booking-review--left{text-align:left;max-width:720px;margin-inline:auto}.booking-review--left .eyebrow,.booking-review--left h2{text-align:left}.booking-review__actions--left{justify-content:flex-start;max-width:720px;margin-inline:auto}@media (max-width:1100px){.portal-calendar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-profile-grid,.portal-profile-list{grid-template-columns:1fr}}@media (max-width:720px){.portal-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-agenda__row{grid-template-columns:1fr;gap:.5rem}.portal-profile-section__header,.completed-lesson-card__body{flex-direction:column;align-items:flex-start}}@media (max-width:480px){.portal-calendar-grid{grid-template-columns:1fr}}.sample-workspace-banner{border:1px solid var(--positive);align-items:flex-start;gap:.85rem;margin-bottom:1.5rem;padding:.85rem 1rem;display:flex}@supports (color:color-mix(in lab, red, red)){.sample-workspace-banner{border:1px solid color-mix(in srgb, var(--positive) 35%, var(--line))}}.sample-workspace-banner{background:var(--positive-soft);border-radius:14px}@supports (color:color-mix(in lab, red, red)){.sample-workspace-banner{background:color-mix(in srgb, var(--positive-soft) 60%, var(--surface))}}.sample-workspace-banner{color:var(--ink)}.sample-workspace-banner--warning{border-color:var(--gold)}@supports (color:color-mix(in lab, red, red)){.sample-workspace-banner--warning{border-color:color-mix(in srgb, var(--gold) 45%, var(--line))}}.sample-workspace-banner--warning{background:var(--gold-soft)}@supports (color:color-mix(in lab, red, red)){.sample-workspace-banner--warning{background:color-mix(in srgb, var(--gold-soft) 55%, var(--surface))}}.sample-workspace-banner>span:first-child{background:var(--positive-soft);width:36px;height:36px;color:var(--positive);border-radius:11px;flex:none;place-items:center;display:grid}.sample-workspace-banner--warning>span:first-child{background:var(--gold-soft);color:var(--gold)}.sample-workspace-banner>span:first-child svg{width:19px;height:19px}.sample-workspace-banner strong{font-size:.92rem;font-weight:800;display:block}.sample-workspace-banner p{color:var(--ink-soft);margin:.2rem 0 0;font-size:.85rem}.sample-workspace-banner>span:last-child{min-width:0;display:grid}.portal-agenda__title{margin:0 0 .75rem;font-family:Georgia,Times New Roman,serif;font-size:1.5rem}.portal-agenda__list>li{display:grid}.portal-data-list{overflow:hidden}.portal-data-list__header,.portal-data-list li{grid-template-columns:minmax(220px,1.25fr) minmax(120px,.7fr) minmax(160px,.85fr) minmax(110px,.5fr);align-items:center;gap:1rem;padding:.9rem 1rem;display:grid}.portal-data-list__header{background:var(--surface-muted);min-height:48px;color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:900}.portal-data-list ul{margin:0;padding:0;list-style:none}.portal-data-list li+li{border-top:1px solid var(--line)}.portal-data-list li>div:not(.person-cell){min-width:0;color:var(--ink-soft);gap:.2rem;font-size:.84rem;display:grid}.booking-sample{gap:1rem;display:grid}.sample-step-fields{border:0;min-width:0;margin:0;padding:0}.booking-setup-card__empty{border:1px dashed var(--line);background:var(--surface-muted);color:var(--ink-soft);border-radius:12px;margin:.4rem 0 0;padding:.85rem 1rem;font-size:.9rem}.booking-setup-card .choice-grid{margin-top:.5rem}.policy-card.booking-setup-card--policy{align-items:flex-start}.policy-card.booking-setup-card--policy .sample-policy-meta{color:var(--ink-soft);margin-top:.4rem;font-size:.85rem}@media (max-width:720px){.portal-data-list__header{display:none}.portal-data-list li{grid-template-columns:1fr 1fr;gap:.9rem}.portal-data-list li>.person-cell{border-bottom:1px solid var(--line);grid-column:1/-1;padding-bottom:.75rem}.sample-workspace-banner{align-items:flex-start}}@media (max-width:480px){.portal-data-list li{grid-template-columns:1fr}}.portal-calendar-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin-bottom:1rem;display:grid}.portal-calendar-stat{min-height:76px;box-shadow:none;justify-content:space-between;align-items:center;gap:.8rem;padding:.9rem 1rem;display:flex}.portal-calendar-stat span{color:var(--ink-soft);font-size:.78rem;font-weight:800}.portal-calendar-stat strong{font-family:Georgia,Times New Roman,serif;font-size:1.7rem}.portal-calendar-stat--positive strong{color:var(--positive)}.portal-calendar-stat--accent strong{color:var(--accent)}.portal-calendar-stat--warning strong{color:var(--gold)}.portal-calendar-stat--neutral strong{color:var(--ink-soft)}.portal-calendar-weekdays,.portal-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.55rem;display:grid}.portal-calendar-weekdays{color:var(--ink-soft);text-align:center;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.45rem;font-size:.72rem;font-weight:850}.portal-calendar-weekdays span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.portal-calendar{margin-bottom:2rem}.portal-calendar-grid{margin-bottom:0}.portal-calendar-day{min-height:164px}.portal-calendar-day__empty{background:var(--surface-muted);border-radius:10px;min-height:82px}@supports (color:color-mix(in lab, red, red)){.portal-calendar-day__empty{background:color-mix(in srgb, var(--surface-muted) 48%, transparent)}}.session-card__capacity{font-size:.68rem!important}.session-card__link{min-height:44px;color:var(--accent);align-items:center;gap:.3rem;margin-top:.35rem;font-size:.72rem;font-weight:850;display:inline-flex}.session-card__link svg{width:15px}@media (max-width:900px){.portal-calendar-weekdays,.portal-calendar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:720px){.portal-calendar-stats,.portal-calendar-weekdays,.portal-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-calendar-weekdays span:nth-child(n+6){display:none}}@media (max-width:440px){.portal-calendar-weekdays,.portal-calendar-grid{grid-template-columns:1fr}.portal-calendar-weekdays{display:none}}:root{--sched-workspace:var(--color-canvas);--sched-surface:var(--color-surface);--sched-ink:var(--color-ink);--sched-ink-soft:var(--color-ink-muted);--sched-line:var(--color-line);--sched-line-strong:var(--color-line-strong);--sched-cta:var(--color-brand);--sched-cta-strong:var(--color-brand-strong);--sched-cta-on:var(--color-on-brand);--sched-free-fg:var(--color-available);--sched-free-bg:var(--color-available-soft);--sched-individual-fg:var(--color-info);--sched-individual-bg:var(--color-info-soft);--sched-group-fg:var(--color-group);--sched-group-bg:var(--color-group-soft);--sched-pending-fg:var(--color-warning);--sched-pending-bg:var(--color-warning-soft);--sched-unavailable-fg:var(--color-unavailable);--sched-unavailable-bg:var(--color-unavailable-soft);--sched-danger-fg:var(--color-danger);--sched-danger-bg:var(--color-danger-soft);--sched-overlay-shadow:var(--shadow-overlay)}.scheduling-page{background:var(--sched-workspace);color:var(--sched-ink);font-family:var(--font-ui);--radius-button:8px;--radius-event:6px;--radius-panel:12px;--radius-sheet:20px;gap:.85rem;padding-bottom:4rem;font-size:.95rem;line-height:1.45;display:grid}.scheduling-page h1,.scheduling-page h2,.scheduling-page h3{font-family:var(--font-ui);color:var(--sched-ink);text-wrap:balance;margin:0}.scheduling-page__skip{z-index:1000;background:var(--sched-cta);color:var(--sched-cta-on);border-radius:0 0 8px 8px;align-items:center;min-height:44px;padding:.55rem .9rem;font-size:.88rem;font-weight:700;display:inline-flex;position:absolute;inset:0 auto auto 1rem;transform:translateY(-140%)}.scheduling-page__skip:focus-visible{transform:translateY(0)}.scheduling-page__header{gap:.3rem;padding-block:.5rem;display:grid}.scheduling-page__eyebrow span{color:var(--sched-cta);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.2rem;font-size:.7rem;font-weight:700;display:inline-block}.scheduling-page__eyebrow h1{letter-spacing:-.01em;font-size:clamp(1.5rem,2.4vw,2rem);font-weight:700}.scheduling-page__lead{max-width:64ch;color:var(--sched-ink-soft);margin:0;font-size:.95rem}.scheduling-page__offline{border:1px solid var(--sched-line);background:var(--sched-pending-bg);color:var(--sched-pending-fg);border-radius:999px;align-items:center;gap:.4rem;margin:0;padding:.45rem .85rem;font-size:.78rem;font-weight:700;display:inline-flex}.scheduling-live-region{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.scheduling-save-feedback{right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));z-index:45;border:1px solid var(--color-success);background:var(--color-surface);max-width:min(29rem,100vw - 2rem);box-shadow:var(--shadow-overlay);color:var(--color-ink);border-radius:.85rem;align-items:flex-start;gap:1rem;padding:.85rem 1rem;display:flex;position:fixed}.scheduling-save-feedback p{margin:0;line-height:1.45}.scheduling-save-feedback button{color:var(--color-brand);cursor:pointer;background:0 0;border:0;flex:none;font-weight:700}.scheduling-save-feedback button:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.scheduling-toolbar{border:1px solid var(--sched-line);border-radius:var(--radius-panel);background:var(--sched-surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.85rem;min-height:68px;padding:.5rem .85rem;display:flex}.scheduling-toolbar__range,.scheduling-toolbar__cta{align-items:center;gap:.55rem;display:flex}.scheduling-toolbar__range-label{color:var(--sched-ink);font-size:.95rem;font-weight:700}.scheduling-toolbar__filter-count{border:1px solid var(--sched-line-strong);background:var(--sched-surface);color:var(--sched-ink-soft);border-radius:999px;align-items:center;padding:.3rem .6rem;font-size:.78rem;font-weight:600;display:inline-flex}.scheduling-toolbar__cta .ui-button--primary{border-radius:var(--radius-button);background:var(--sched-cta);min-height:40px;color:var(--sched-cta-on);letter-spacing:.005em;border-color:#0000;padding:.55rem .95rem;font-size:.88rem;font-weight:700;transition:background-color .18s,border-color .18s}.scheduling-toolbar__cta .ui-button--primary:hover:not(:disabled){background:var(--sched-cta-strong)}.scheduling-toolbar__cta .ui-button:disabled{opacity:.5;cursor:not-allowed}.scheduling-toolbar__student select{border:1px solid var(--sched-line-strong);border-radius:var(--radius-button);background:var(--sched-surface);min-height:36px;color:var(--sched-ink);padding:.4rem .6rem;font-size:.85rem}.scheduling-toolbar__student span{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.scheduling-date-stepper{align-items:center;gap:.4rem;display:inline-flex}.scheduling-date-stepper strong{color:var(--sched-ink);font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:700}.scheduling-date-stepper .ui-button{border-radius:var(--radius-button);min-height:36px;padding:.4rem .65rem;font-size:.85rem;font-weight:600}.scheduling-view-switcher{border:1px solid var(--sched-line);background:var(--sched-surface);border-radius:999px;align-items:center;gap:.25rem;padding:.25rem;display:inline-flex}.scheduling-view-switcher__option{min-height:32px;color:var(--sched-ink-soft);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:.3rem .75rem;font-size:.82rem;font-weight:600;transition:background-color .18s,color .18s}.scheduling-view-switcher__option.is-selected{background:var(--sched-cta);color:var(--sched-cta-on)}.scheduling-view-switcher__option:focus-visible{outline:2px solid var(--sched-cta);outline-offset:2px}.scheduling-mode-switcher{flex:0 12rem;align-content:center;gap:.3rem;min-width:0;max-width:100%;display:grid}.scheduling-mode-switcher__group{border:1px solid var(--sched-line);border-radius:var(--radius-button);background:var(--sched-surface);gap:.25rem;width:100%;min-height:44px;padding:.25rem;display:flex}.scheduling-mode-switcher__option{min-width:44px;min-height:44px;color:var(--sched-ink-soft);font:inherit;text-align:center;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex:1 1 0;justify-content:center;align-items:center;padding:.45rem .7rem;font-size:.82rem;font-weight:700;line-height:1.2;transition:background-color .18s,border-color .18s,color .18s;display:inline-flex}.scheduling-mode-switcher__option:hover:not(:disabled){border-color:var(--sched-line-strong);background:var(--color-surface-subtle);color:var(--sched-cta)}.scheduling-mode-switcher__option:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.scheduling-mode-switcher__option.is-selected,.scheduling-mode-switcher__option[aria-pressed=true]{border-color:var(--sched-cta);background:var(--color-brand-soft-strong);box-shadow:inset 0 -2px 0 var(--sched-cta);color:var(--sched-cta-strong)}.scheduling-mode-switcher__option.is-selected:hover:not(:disabled),.scheduling-mode-switcher__option[aria-pressed=true]:hover:not(:disabled){border-color:var(--sched-cta-strong);background:var(--color-brand-soft-strong);color:var(--sched-cta-strong)}.scheduling-mode-switcher__option:disabled{background:var(--color-surface-subtle);color:var(--sched-ink-soft);cursor:not-allowed;opacity:.48;border-color:#0000}.scheduling-mode-switcher__hint{max-width:34ch;color:var(--sched-ink-soft);margin:0;font-size:.75rem;line-height:1.35}.scheduling-agenda-add{border:1px dashed var(--sched-cta);border-radius:var(--radius-button);background:var(--color-brand-soft);width:100%;min-height:44px;color:var(--sched-cta-strong);font:inherit;text-align:center;cursor:pointer;justify-content:center;align-items:center;gap:.45rem;padding:.55rem .85rem;font-weight:700;line-height:1.25;transition:background-color .18s,border-color .18s,color .18s;display:flex}.scheduling-agenda-add:hover{border-color:var(--sched-cta-strong);background:var(--color-brand-soft-strong)}.scheduling-agenda-add:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.scheduling-agenda-add__plus{flex:none;font-size:1.15rem;line-height:1}.scheduling-mini-week{gap:.4rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.scheduling-mini-week__day{border:1px solid var(--sched-line);border-radius:var(--radius-button);background:var(--sched-surface);min-width:56px;min-height:56px;color:var(--sched-ink);font-family:var(--font-ui);cursor:pointer;flex-direction:column;flex:1 0 56px;justify-content:center;align-items:center;gap:.2rem;padding:.45rem .55rem;transition:background-color .18s,border-color .18s;display:inline-flex;position:relative}.scheduling-mini-week__day.is-today .scheduling-mini-week__day-number{color:var(--sched-cta);border-bottom:1px solid var(--sched-cta)}.scheduling-mini-week__day.is-selected{background:var(--sched-cta)}@supports (color:color-mix(in lab, red, red)){.scheduling-mini-week__day.is-selected{background:color-mix(in srgb, var(--sched-cta) 10%, var(--sched-surface))}}.scheduling-mini-week__day.is-selected{border-color:var(--sched-cta)}.scheduling-mini-week__day:hover:not(:disabled){border-color:var(--sched-line-strong)}.scheduling-mini-week__day:focus-visible{outline:2px solid var(--sched-cta);outline-offset:2px}.scheduling-mini-week__weekday{color:var(--sched-ink-soft);letter-spacing:.06em;text-transform:uppercase;font-size:.7rem;font-weight:700}.scheduling-mini-week__weekday--compact,.scheduling-date-stepper__label-compact{display:none}.scheduling-mini-week__day-number{font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:600}.scheduling-mini-week__dot{background:var(--sched-free-fg);border-radius:999px;width:5px;height:5px;position:absolute;bottom:.5rem;left:.7rem}.scheduling-canvas{grid-template-columns:1fr;align-items:start;gap:1rem;display:grid}.scheduling-canvas--teacher{grid-template-columns:240px minmax(0,1fr)}@media (max-width:1023px){.scheduling-canvas--teacher{grid-template-columns:1fr}.scheduling-sidebar{display:none}}@media (min-width:1024px){.scheduling-page__header{gap:.1rem;padding-block:.2rem}.scheduling-page__lead{display:none}}.scheduling-main{gap:.65rem;min-width:0;display:grid}.scheduling-main--family{gap:1rem}.scheduling-sidebar{border:1px solid var(--sched-line);border-radius:var(--radius-panel);background:var(--sched-surface);color:var(--sched-ink);gap:1rem;padding:.85rem;font-size:.82rem;display:grid}.scheduling-filters{border:1px solid var(--sched-line);border-radius:10px;gap:.55rem;margin:0;padding:.65rem;display:grid}.scheduling-filters__legend{color:var(--sched-ink-soft);letter-spacing:.06em;text-transform:uppercase;padding:0 .4rem;font-size:.7rem;font-weight:700}.scheduling-filters label{gap:.25rem;display:grid}.scheduling-filters label>span{color:var(--sched-ink-soft);font-size:.78rem;font-weight:600}.scheduling-filters select,.scheduling-filters input{border:1px solid var(--sched-line-strong);border-radius:var(--radius-button);background:var(--sched-surface);min-height:36px;color:var(--sched-ink);padding:.4rem .55rem;font-size:.85rem;font-weight:500}.scheduling-filters select:focus-visible,.scheduling-filters input:focus-visible{outline:2px solid var(--sched-cta);outline-offset:2px}.scheduling-filters__search input{width:100%}.scheduling-summary{border:1px solid var(--sched-line);background:var(--sched-workspace);border-radius:10px;gap:.45rem;margin:0;padding:.65rem;display:grid}.scheduling-summary>div{border-top:1px solid var(--sched-line);justify-content:space-between;align-items:baseline;gap:.5rem;padding:.2rem 0;display:flex}.scheduling-summary dt{color:var(--sched-ink-soft);font-size:.78rem;font-weight:600}.scheduling-summary dd{color:var(--sched-ink);font-variant-numeric:tabular-nums;margin:0;font-size:1rem;font-weight:700}.scheduling-mini-month{border:1px solid var(--sched-line);background:var(--sched-workspace);border-radius:10px;overflow:hidden}.scheduling-mini-month__header{border-bottom:1px solid var(--sched-line);justify-content:center;align-items:center;padding:.45rem;display:flex}.scheduling-mini-month__title{color:var(--sched-ink);letter-spacing:-.005em;font-size:.82rem;font-weight:700}.scheduling-mini-month__grid{grid-template-columns:repeat(7,1fr);gap:0;padding:.25rem;display:grid}.scheduling-mini-month__row,.scheduling-mini-month__row--weekdays{display:contents}.scheduling-mini-month__cell{aspect-ratio:1;color:var(--sched-ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;min-width:0;padding:0;font-size:.72rem;font-weight:600;display:flex}.scheduling-mini-month__cell:hover{background:var(--sched-cta)}@supports (color:color-mix(in lab, red, red)){.scheduling-mini-month__cell:hover{background:color-mix(in srgb, var(--sched-cta) 8%, transparent)}}.scheduling-mini-month__cell:focus-visible{outline:2px solid var(--sched-cta);outline-offset:1px;z-index:1}.scheduling-mini-month__cell--weekday{color:var(--sched-ink-soft);text-transform:uppercase;cursor:default;letter-spacing:.06em;font-size:.65rem;font-weight:700}.scheduling-mini-month__cell--weekday:hover{background:0 0}.scheduling-mini-month__cell--empty{cursor:default}.scheduling-mini-month__cell--empty:hover{background:0 0}.scheduling-mini-month__cell.is-today{color:var(--sched-cta);font-weight:700}.scheduling-mini-month__cell.is-selected{background:var(--sched-cta);color:var(--sched-cta-on);border-color:var(--sched-cta);font-weight:700}.scheduling-publish-summary{border:1px solid var(--sched-line);background:var(--sched-workspace);border-radius:10px;gap:.45rem;margin:0;padding:.65rem;display:grid}.scheduling-publish-summary>div{border-top:1px solid var(--sched-line);justify-content:space-between;align-items:baseline;gap:.5rem;padding:.2rem 0;display:flex}.scheduling-publish-summary dt{color:var(--sched-ink-soft);font-size:.78rem;font-weight:600}.scheduling-publish-summary dd{color:var(--sched-ink);margin:0;font-size:.85rem;font-weight:600}.scheduling-publish-lead{color:var(--sched-ink-soft);margin:0;font-size:.82rem;font-weight:500;line-height:1.4}.scheduling-publish-error{color:var(--sched-danger-fg);background:var(--sched-danger-bg);border:1px solid var(--sched-danger-fg);border-radius:6px;margin:0;padding:.45rem .65rem;font-size:.78rem;font-weight:600}@supports (color:color-mix(in lab, red, red)){.scheduling-publish-error{border:1px solid color-mix(in srgb, var(--sched-danger-fg) 20%, transparent)}}.scheduling-publish-actions{gap:.65rem;margin-top:.65rem;display:flex}.scheduling-detail-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.45rem;padding:2rem 1rem;display:flex}.scheduling-detail-empty__icon{background:var(--sched-workspace);border:1px solid var(--sched-line);width:40px;height:40px;color:var(--sched-ink-soft);border-radius:8px;justify-content:center;align-items:center;font-size:1.2rem;display:flex}.scheduling-detail-empty__title{color:var(--sched-ink);margin:0;font-size:.88rem;font-weight:700}.scheduling-detail-empty__body{color:var(--sched-ink-soft);margin:0;font-size:.78rem;font-weight:500;line-height:1.4}.scheduling-week-grid{border:1px solid var(--sched-line);border-radius:var(--radius-panel);background:var(--sched-surface);min-width:0;display:grid;position:relative;overflow:hidden}.scheduling-week-grid__rail{z-index:2;background:var(--sched-surface);border-right:1px solid var(--sched-line);position:sticky;left:0}.scheduling-week-grid__rail-header{border-bottom:1px solid var(--sched-line);height:var(--sched-day-header-h,52px)}.scheduling-week-grid__rail-canvas{height:calc(14 * var(--sched-hour-row,64px));position:relative}.scheduling-week-grid__rail-tick{color:var(--sched-ink-soft);letter-spacing:.04em;text-transform:uppercase;font-variant-numeric:tabular-nums;padding-inline:.45rem;font-size:.72rem;font-weight:600;position:absolute;left:0;right:0}.scheduling-week-grid__day-header{z-index:2;border-bottom:1px solid var(--sched-line);background:var(--sched-surface);justify-content:space-between;align-items:center;padding:.55rem .75rem;display:flex;position:sticky;top:0}.scheduling-week-grid__day-header.is-today .scheduling-week-grid__day-number{color:var(--sched-cta);border-bottom:1px solid var(--sched-cta)}.scheduling-week-grid__weekday{color:var(--sched-ink-soft);letter-spacing:.06em;text-transform:uppercase;font-size:.7rem;font-weight:700}.scheduling-week-grid__day-number{font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:600}.scheduling-week-grid__column{border-left:1px solid var(--sched-line);background:var(--sched-workspace);position:relative}.scheduling-week-grid__column-canvas{grid-template-rows:repeat(var(--sched-quarter-rows,56), var(--sched-quarter-h,16px));display:grid}.scheduling-event-slot{pointer-events:none;position:absolute;left:0;right:0}.scheduling-week-grid.is-edit-mode .scheduling-week-grid__create-layer{z-index:1;pointer-events:none;position:absolute;inset:0}.scheduling-week-grid.is-edit-mode .scheduling-week-grid__create-slot{min-width:44px;min-height:44px;color:var(--sched-cta);font:inherit;cursor:crosshair;opacity:0;pointer-events:auto;background:0 0;border:1px solid #0000;padding:.25rem;transition:background-color .18s,border-color .18s,opacity .18s;position:absolute;left:0;right:0}.scheduling-week-grid.is-edit-mode .scheduling-week-grid__create-slot:hover,.scheduling-week-grid.is-edit-mode .scheduling-week-grid__create-slot:focus-visible{border-color:var(--sched-cta)}@supports (color:color-mix(in lab, red, red)){.scheduling-week-grid.is-edit-mode .scheduling-week-grid__create-slot:hover,.scheduling-week-grid.is-edit-mode .scheduling-week-grid__create-slot:focus-visible{border-color:color-mix(in srgb, var(--sched-cta) 40%, transparent)}}.scheduling-week-grid.is-edit-mode .scheduling-week-grid__create-slot:hover,.scheduling-week-grid.is-edit-mode .scheduling-week-grid__create-slot:focus-visible{background:var(--sched-cta)}@supports (color:color-mix(in lab, red, red)){.scheduling-week-grid.is-edit-mode .scheduling-week-grid__create-slot:hover,.scheduling-week-grid.is-edit-mode .scheduling-week-grid__create-slot:focus-visible{background:color-mix(in srgb, var(--sched-cta) 9%, transparent)}}.scheduling-week-grid.is-edit-mode .scheduling-week-grid__create-slot:hover,.scheduling-week-grid.is-edit-mode .scheduling-week-grid__create-slot:focus-visible{opacity:1}.scheduling-week-grid.is-edit-mode .scheduling-week-grid__create-slot:focus-visible{outline:3px solid var(--color-focus);outline-offset:-3px}.scheduling-week-grid__create-plus{background:var(--sched-surface);width:28px;height:28px;color:inherit;pointer-events:none;border:1px solid;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;font-weight:700;line-height:1;display:inline-flex;transform:translateY(-1px)}.scheduling-week-grid.is-edit-mode .scheduling-event-block{z-index:3}.scheduling-week-grid__tick{border-bottom:1px solid var(--sched-line);color:var(--sched-ink-soft);font-variant-numeric:tabular-nums;padding:0 .4rem;font-size:.6rem}.scheduling-week-grid__tick.is-hour{border-bottom-color:var(--sched-line-strong)}.scheduling-week-grid__now{pointer-events:none;height:1px;position:absolute;left:0;right:4px}.scheduling-week-grid__now-line{background:var(--sched-cta);height:1px;display:block}.scheduling-week-grid__now-dot{background:var(--sched-cta);border-radius:50%;width:6px;height:6px;position:absolute;top:-2px;left:0}.scheduling-event-block{z-index:3;border:1px solid var(--sched-free-fg);flex-direction:column;gap:.1rem;padding:.35rem .5rem;display:flex;position:absolute;inset:0 4px}@supports (color:color-mix(in lab, red, red)){.scheduling-event-block{border:1px solid color-mix(in srgb, var(--sched-free-fg) 20%, transparent)}}.scheduling-event-block{border-radius:var(--radius-event);background:var(--sched-free-bg);color:var(--sched-free-fg);font-family:var(--font-ui);text-align:left;cursor:pointer;pointer-events:auto;overflow:hidden}.scheduling-event-block--individual{background:var(--sched-individual-bg);color:var(--sched-individual-fg);border-color:var(--sched-individual-fg)}@supports (color:color-mix(in lab, red, red)){.scheduling-event-block--individual{border-color:color-mix(in srgb, var(--sched-individual-fg) 20%, transparent)}}.scheduling-event-block--group{background:var(--sched-group-bg);color:var(--sched-group-fg);border-color:var(--sched-group-fg)}@supports (color:color-mix(in lab, red, red)){.scheduling-event-block--group{border-color:color-mix(in srgb, var(--sched-group-fg) 20%, transparent)}}.scheduling-event-block--unavailable{background:var(--sched-unavailable-bg);color:var(--sched-unavailable-fg);border-color:var(--sched-unavailable-fg)}@supports (color:color-mix(in lab, red, red)){.scheduling-event-block--unavailable{border-color:color-mix(in srgb, var(--sched-unavailable-fg) 20%, transparent)}}.scheduling-event-block--danger{background:var(--sched-danger-bg);color:var(--sched-danger-fg);border-color:var(--sched-danger-fg)}@supports (color:color-mix(in lab, red, red)){.scheduling-event-block--danger{border-color:color-mix(in srgb, var(--sched-danger-fg) 20%, transparent)}}.scheduling-event-block:hover{filter:brightness(.97)}.scheduling-event-block:focus-visible{outline:2px solid var(--sched-cta);outline-offset:2px}.scheduling-event-block.is-selected{outline:2px solid var(--sched-cta);outline-offset:0;z-index:1}.scheduling-event-block__time{color:var(--color-ink-muted);font-variant-numeric:tabular-nums;align-items:center;gap:.25rem;font-size:.7rem;font-weight:500;display:flex}.scheduling-event-block__title{color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:600;overflow:hidden}.scheduling-event-block__meta{color:var(--color-ink-muted);font-size:.7rem;font-weight:500}.scheduling-event-block__location{color:var(--color-ink-muted);font-size:.7rem}.scheduling-event-block__menu-trigger,.scheduling-range-menu-trigger{z-index:6;border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);background:var(--color-surface);place-items:center;width:44px;height:44px;display:inline-grid;position:absolute}@supports (color:color-mix(in lab, red, red)){.scheduling-event-block__menu-trigger,.scheduling-range-menu-trigger{background:color-mix(in srgb, var(--color-surface) 94%, transparent)}}.scheduling-event-block__menu-trigger,.scheduling-range-menu-trigger{color:var(--color-brand);cursor:pointer;opacity:.92;pointer-events:auto;transition:opacity var(--motion-base) var(--ease-standard), background-color var(--motion-base) var(--ease-standard)}.scheduling-event-block__menu-trigger{top:4px;right:4px}.scheduling-event-block__menu-trigger:hover,.scheduling-event-block__menu-trigger:focus-visible,.scheduling-range-menu-trigger:hover,.scheduling-range-menu-trigger:focus-visible{background:var(--color-brand-soft);opacity:1}.scheduling-event-slot:hover .scheduling-event-block__menu-trigger,.scheduling-event-block:focus-visible+.scheduling-event-block__menu-trigger,.scheduling-range-menu-trigger{opacity:1}.scheduling-event-block__menu-trigger:focus-visible,.scheduling-range-menu-trigger:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.scheduling-event-block__move-handle,.scheduling-event-block__resize-handle{z-index:5;border-radius:var(--radius-event);min-width:44px;min-height:44px;color:var(--color-brand);font:inherit;cursor:pointer;pointer-events:auto;transition:background-color var(--motion-base) var(--ease-standard), border-color var(--motion-base) var(--ease-standard), opacity var(--motion-base) var(--ease-standard);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:.25rem;display:inline-flex;position:absolute}.scheduling-event-block__move-handle{cursor:grab;opacity:.76;width:44px;top:0;bottom:0;left:4px}.scheduling-event-block__move-handle:active{cursor:grabbing}.scheduling-event-block__resize-handle{border-top-color:var(--color-brand);height:44px;bottom:0;left:4px;right:4px}@supports (color:color-mix(in lab, red, red)){.scheduling-event-block__resize-handle{border-top-color:color-mix(in srgb, var(--color-brand) 72%, transparent)}}.scheduling-event-block__resize-handle{border-radius:0 0 var(--radius-event) var(--radius-event);background:var(--color-brand-soft)}@supports (color:color-mix(in lab, red, red)){.scheduling-event-block__resize-handle{background:color-mix(in srgb, var(--color-brand-soft) 86%, transparent)}}.scheduling-event-block__resize-handle{opacity:.94}.scheduling-event-block__move-handle:hover,.scheduling-event-block__resize-handle:hover,.scheduling-event-block__move-handle.is-staged,.scheduling-event-block__resize-handle.is-staged{border-color:var(--color-brand);background:var(--color-brand-soft)}@supports (color:color-mix(in lab, red, red)){.scheduling-event-block__move-handle:hover,.scheduling-event-block__resize-handle:hover,.scheduling-event-block__move-handle.is-staged,.scheduling-event-block__resize-handle.is-staged{background:color-mix(in srgb, var(--color-brand-soft) 88%, var(--color-surface))}}.scheduling-event-block__move-handle:hover,.scheduling-event-block__resize-handle:hover,.scheduling-event-block__move-handle.is-staged,.scheduling-event-block__resize-handle.is-staged{opacity:1}.scheduling-event-block__move-handle:focus-visible,.scheduling-event-block__resize-handle:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.scheduling-event-block__move-grip,.scheduling-event-block__resize-grip{color:currentColor;justify-content:center;align-items:center;gap:3px;display:inline-flex}.scheduling-event-block__move-grip{flex-direction:column}.scheduling-event-block__move-grip span,.scheduling-event-block__resize-grip span{background:currentColor;border-radius:50%;width:4px;height:4px;display:block}.scheduling-event-block__resize-grip{position:absolute;bottom:.35rem;left:50%;transform:translate(-50%)}.scheduling-event-block__resize-grip span{border-radius:1px;width:18px;height:2px}.scheduling-event-block__move-label,.scheduling-event-block__resize-label{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.scheduling-event-block__resize-label{clip:auto;color:currentColor;text-overflow:ellipsis;white-space:nowrap;width:auto;max-width:calc(100% - 1.5rem);height:auto;font-size:.68rem;font-weight:700;line-height:1.1;position:static;overflow:hidden}.scheduling-event-slot.is-draft-staged .scheduling-event-block{opacity:.62}.scheduling-draft-ghost{z-index:4;border:2px dashed var(--color-brand);border-radius:var(--radius-event);background-color:var(--color-brand-soft);background-image:repeating-linear-gradient(135deg, var(--color-brand) 0 3px, transparent 3px 8px);flex-direction:column;gap:.1rem;min-height:44px;padding:.35rem .5rem;display:flex;position:absolute;left:4px;right:4px;overflow:visible}@supports (color:color-mix(in lab, red, red)){.scheduling-draft-ghost{background-image:repeating-linear-gradient(135deg, color-mix(in srgb, var(--color-brand) 18%, transparent) 0 3px, transparent 3px 8px)}}.scheduling-draft-ghost{color:var(--color-brand-strong);font-family:var(--font-ui);pointer-events:none}.scheduling-draft-ghost__time,.scheduling-draft-ghost__title,.scheduling-draft-ghost__detail,.scheduling-draft-resize-ghost__time,.scheduling-draft-resize-ghost__title,.scheduling-draft-resize-ghost__detail,.scheduling-draft-move-ghost__time,.scheduling-draft-move-ghost__title,.scheduling-draft-move-ghost__detail{max-width:100%;color:inherit;white-space:nowrap;line-height:1.2;display:block;overflow:visible}.scheduling-draft-ghost__time,.scheduling-draft-resize-ghost__time,.scheduling-draft-move-ghost__time{font-variant-numeric:tabular-nums;font-size:.68rem;font-weight:700}.scheduling-draft-ghost__title,.scheduling-draft-resize-ghost__title,.scheduling-draft-move-ghost__title{font-size:.74rem;font-weight:700}.scheduling-draft-ghost__detail,.scheduling-draft-resize-ghost__detail,.scheduling-draft-move-ghost__detail{font-size:.68rem}.scheduling-draft-adjustment-bar{border:1px solid var(--color-brand);border-radius:var(--radius-md);background:var(--color-brand-soft);color:var(--color-ink);justify-content:space-between;align-items:center;gap:1rem;margin-block:0 .75rem;padding:.75rem 1rem;display:flex}.scheduling-draft-adjustment-bar__copy{gap:.2rem;min-width:0;display:grid}.scheduling-draft-adjustment-bar__title{color:var(--color-brand-strong);font-family:var(--font-ui)}.scheduling-draft-adjustment-bar__detail,.scheduling-draft-adjustment-bar__error{font-size:.82rem;line-height:1.35}.scheduling-draft-adjustment-bar__error{color:var(--color-danger);font-weight:650}.scheduling-draft-adjustment-bar__actions{flex:none;align-items:center;gap:.5rem;display:flex}.scheduling-provisional-block{z-index:2;border:1px dashed var(--sched-cta);border-radius:var(--radius-event);background-color:var(--color-brand-soft);background-image:repeating-linear-gradient(135deg, var(--sched-cta) 0 3px, transparent 3px 7px);flex-direction:column;gap:.1rem;min-width:0;padding:.25rem .45rem;display:flex;position:absolute;left:4px;right:4px;overflow:visible}@supports (color:color-mix(in lab, red, red)){.scheduling-provisional-block{background-image:repeating-linear-gradient(135deg, color-mix(in srgb, var(--sched-cta) 15%, transparent) 0 3px, transparent 3px 7px)}}.scheduling-provisional-block{color:var(--sched-cta-strong);font-family:var(--font-ui);pointer-events:none}.scheduling-provisional-block__time,.scheduling-provisional-block__title{max-width:100%;color:inherit;white-space:nowrap;line-height:1.2;display:block;overflow:visible}.scheduling-provisional-block__time{font-variant-numeric:tabular-nums;font-size:.68rem;font-weight:700}.scheduling-provisional-block__title{font-size:.74rem;font-weight:700}.scheduling-provisional-block__cancel{border:1px solid var(--color-danger);background:var(--color-surface);min-width:44px;max-width:min(12rem,100%);min-height:44px;color:var(--color-danger);font:inherit;text-align:center;white-space:normal;cursor:pointer;pointer-events:auto;border-radius:6px;justify-content:center;align-items:center;padding:.35rem .5rem;font-size:.7rem;font-weight:700;line-height:1.15;transition:background-color .18s,border-color .18s,color .18s;display:inline-flex;position:absolute;top:.25rem;right:.25rem}.scheduling-provisional-block__cancel:hover{border-color:var(--color-danger);background:var(--color-danger-soft)}.scheduling-provisional-block__cancel:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}@media (max-width:1023px){.scheduling-event-block__resize-handle{display:none}.scheduling-draft-adjustment-bar{flex-direction:column;align-items:stretch}.scheduling-draft-adjustment-bar__actions{justify-content:flex-end}.scheduling-toolbar__range{flex-wrap:wrap;min-width:0}.scheduling-mode-switcher{flex-basis:100%}}@media (max-width:899px){.scheduling-toolbar__range,.scheduling-toolbar__cta{width:100%;max-width:100%}.scheduling-mode-switcher,.scheduling-mode-switcher__group{width:100%}.scheduling-toolbar__cta .ui-button,.scheduling-agenda-add{max-width:100%}}@media (max-width:479px){.scheduling-date-stepper{flex-wrap:wrap;max-width:100%}.scheduling-date-stepper strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.scheduling-mode-switcher__option{padding-inline:.5rem}.scheduling-mode-switcher__hint{max-width:none}}.scheduling-mode-switcher,.scheduling-tool-switcher{max-width:100%}.scheduling-week-grid{overflow:auto}.scheduling-week-grid:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.scheduling-week-grid__column-canvas{grid-template-rows:repeat(56,16px);height:896px;position:absolute;inset:0}.scheduling-week-grid__selection-layer{z-index:1;cursor:crosshair;touch-action:none;position:absolute;inset:0}.scheduling-week-grid__selection-layer[role=grid]{overflow:hidden}.scheduling-week-grid__time-cell{cursor:crosshair;min-height:16px;font:inherit;touch-action:none;background:0 0;border:0;border-bottom:1px solid #0000;padding:0;position:absolute;left:0;right:0}.scheduling-week-grid__time-cell:hover,.scheduling-week-grid__time-cell:focus-visible,.scheduling-week-grid__time-cell.is-selected{border-bottom-color:var(--color-brand)}@supports (color:color-mix(in lab, red, red)){.scheduling-week-grid__time-cell:hover,.scheduling-week-grid__time-cell:focus-visible,.scheduling-week-grid__time-cell.is-selected{border-bottom-color:color-mix(in srgb, var(--color-brand) 30%, transparent)}}.scheduling-week-grid__time-cell:hover,.scheduling-week-grid__time-cell:focus-visible,.scheduling-week-grid__time-cell.is-selected{background:var(--color-brand)}@supports (color:color-mix(in lab, red, red)){.scheduling-week-grid__time-cell:hover,.scheduling-week-grid__time-cell:focus-visible,.scheduling-week-grid__time-cell.is-selected{background:color-mix(in srgb, var(--color-brand) 9%, transparent)}}.scheduling-week-grid__time-cell:focus-visible{z-index:3;outline:2px solid var(--color-focus);outline-offset:-2px}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]){--sched-time-rail-width:48px;--sched-day-header-height:52px;--sched-hour-row-height:64px;--sched-quarter-row-height:16px;min-width:0;max-width:100%;overflow-x:clip}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar__cta .ui-button--primary{background:var(--gradient-brand);min-width:44px;max-width:100%;min-height:44px;color:var(--color-on-brand);writing-mode:horizontal-tb;white-space:nowrap;border-color:#0000}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar__filter-count{min-height:28px}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-week-grid{overscroll-behavior:contain;scrollbar-gutter:stable both-edges;width:100%;max-width:100%;max-height:min(720px,max(360px,100dvh - 224px));overflow:auto;grid-template-columns:[time-axis] var(--sched-time-rail-width) repeat(7, minmax(176px, 1fr))!important;grid-template-rows:[day-header] var(--sched-day-header-height) repeat(56, var(--sched-quarter-row-height))!important}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-week-grid__rail{z-index:11;width:var(--sched-time-rail-width);min-width:var(--sched-time-rail-width);max-width:var(--sched-time-rail-width);background:var(--color-surface)}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-week-grid__rail-header,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-week-grid__day-header{height:var(--sched-day-header-height);min-height:var(--sched-day-header-height);max-height:var(--sched-day-header-height);box-sizing:border-box}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-week-grid__day-header{z-index:10;background:var(--color-surface);padding:8px 12px;top:0}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-week-grid__day-header.is-today{background:var(--color-brand-soft)}@supports (color:color-mix(in lab, red, red)){.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-week-grid__day-header.is-today{background:color-mix(in srgb, var(--color-brand-soft) 58%, var(--color-surface))}}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-week-grid__column{background:var(--color-surface);width:100%;min-width:0}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-week-grid__column-canvas{height:calc(14 * var(--sched-hour-row-height))!important;grid-template-rows:repeat(56, var(--sched-quarter-row-height))!important}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-event-slot{min-height:0}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-event-block{border-width:1px;min-height:0;max-height:100%;inset:0 4px;overflow:hidden}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-event-block:focus-visible,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-event-block.is-selected{z-index:6;outline:3px solid var(--color-focus);outline-offset:1px;box-shadow:inset 0 0 0 2px var(--color-surface)}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-day-timeline{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);min-width:0;max-width:100%;padding:16px}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-agenda{gap:8px}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-agenda__entry{border-radius:var(--radius-sm);background:var(--color-surface);grid-template-columns:minmax(140px,.7fr) minmax(0,1.3fr) auto;min-height:64px;padding:10px 12px}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-agenda__entry:hover{border-color:var(--color-brand);background:var(--color-surface-subtle)}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-agenda__entry:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-agenda__entry--individual{border-inline-start:4px solid var(--color-info)}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-agenda__entry--group{border-inline-start:4px solid var(--color-group)}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-agenda__entry--unavailable{border-inline-start:4px solid var(--color-unavailable)}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-agenda__entry--danger{border-inline-start:4px solid var(--color-danger)}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-agenda__badge{border-radius:var(--radius-xs);letter-spacing:normal;text-transform:none;min-height:28px;padding-inline:8px}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-agenda-add,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-filter-trigger,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-view-switcher__option,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-mode-switcher__option,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-tool-switcher__option,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-calendar-context-menu>button,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-detail__close{min-height:44px}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-agenda-add{border:1px solid var(--color-brand);background:var(--color-brand-soft);color:var(--color-brand-strong)}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-agenda-add:hover:not(:disabled),.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-filter-trigger:hover{border-color:var(--color-brand-strong);background:var(--color-brand-soft-strong)}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-agenda-add:focus-visible,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-filter-trigger:focus-visible,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-view-switcher__option:focus-visible,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-mode-switcher__option:focus-visible,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-tool-switcher__option:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}@media (max-width:767px){.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-day-timeline{border-inline:0;border-radius:0;padding:12px}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-agenda__entry{grid-template-columns:92px minmax(0,1fr);min-height:72px}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-agenda__badge{grid-column:2;width:fit-content}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-detail--overlay{border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-height:92dvh;inset:auto 0 0}}@media (min-width:768px){.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-page__command-shell{width:100%;max-height:none;display:block;overflow:visible}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-page__header{display:none}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .teacher-calendar-edit-paints{flex-wrap:nowrap;align-items:center;gap:8px;overflow:hidden}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-student-preference--inline{flex:0 auto;min-width:0;max-width:220px}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-student-preference--inline .scheduling-student-preference__picker-label{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .teacher-availability-paint,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .student-preference-paint{flex:0 auto;min-width:0;overflow:hidden}}@media (max-width:1023px) and (min-width:768px){.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar__range{grid-template-columns:minmax(0,1fr) max-content}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-view-switcher__option{padding-inline:8px}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .teacher-availability-paint__label{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (max-width:767px){.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-page__command-shell{width:100%}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .teacher-calendar-edit-paints{grid-template-columns:minmax(0,auto) minmax(0,1fr);gap:8px;width:100%;display:grid;overflow:visible}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .teacher-calendar-paint-target,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .teacher-availability-paint,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .student-preference-paint{width:100%;min-width:0;max-width:none;overflow:visible}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .teacher-availability-paint,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .student-preference-paint{background:0 0;border:0;grid-template-columns:repeat(4,minmax(44px,1fr));gap:8px;padding:0;display:grid}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .teacher-availability-paint__option,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .student-preference-paint__option{border:1px solid var(--color-line);background:var(--color-surface);width:100%;min-width:44px;min-height:44px;padding:8px}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-student-preference--inline{grid-column:1/-1;width:100%;max-width:none}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-student-preference--inline .scheduling-student-preference__picker,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-student-preference--inline select{width:100%}}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]){gap:8px;padding-bottom:16px}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar__range{grid-template-columns:minmax(260px,1fr) max-content;align-items:center;gap:12px;width:100%;min-width:0;display:grid}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-view-switcher,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-mode-switcher__group,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-tool-switcher__group{border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface-subtle);align-items:stretch;min-width:0;min-height:44px;padding:3px;display:inline-flex}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-mode-switcher__group,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-tool-switcher__group{width:auto}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-date-stepper__previous svg{transform:rotate(180deg)}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-view-switcher__option,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-mode-switcher__option,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-tool-switcher__option{white-space:nowrap;border:0;border-radius:6px;min-width:0;min-height:36px;padding:6px 12px}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-view-switcher__option.is-selected,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-mode-switcher__option.is-selected,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-tool-switcher__option.is-selected{background:var(--color-surface);box-shadow:0 1px 2px #1518211a}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-mode-switcher__label,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-tool-switcher__label{color:var(--color-ink-muted);letter-spacing:.025em;font-size:.6875rem;font-weight:700;line-height:1.2;display:block}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-filter-trigger,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar__cta .ui-button{white-space:nowrap;min-height:44px}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__bar{min-height:44px;padding-block:0}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__scroller{height:clamp(520px,100dvh - 294px,760px)}.calendar-command-week[data-calendar-day-count="1"] .calendar-command-week__grid{grid-template-columns:56px minmax(0,1fr);min-width:0}.calendar-command-week[data-calendar-day-count="1"] .calendar-command-week__event{max-width:none;left:12px;right:12px}@media (min-width:768px) and (max-width:1023px){.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-page__header{min-height:40px;padding-block:2px}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-page__lead,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-page__eyebrow>span{display:none}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-page__eyebrow h1{font-size:1.25rem}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-date-stepper__label-full{display:none}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-date-stepper__label-compact{display:inline}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-view-switcher__option{padding-inline:9px}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__bar p{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__bar{justify-content:end}}@media (min-width:1200px){.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar__range{grid-template-columns:minmax(250px,1fr) max-content}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__scroller{height:clamp(560px,100dvh - 238px,800px)}}@media (min-width:768px) and (max-width:1199px){.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .teacher-calendar-edit-paints{flex-wrap:wrap;overflow:visible}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-view-switcher,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-mode-switcher__group,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-tool-switcher__group{min-height:44px;padding:3px}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-view-switcher__option,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-mode-switcher__option,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-tool-switcher__option{min-height:36px;padding-block:4px}}.calendar-command-week{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);min-width:0;display:grid;position:relative;overflow:clip}.calendar-command-week__horizontal-controls{z-index:20;pointer-events:none;height:52px;position:absolute;top:0;left:0;right:0}.calendar-command-week__horizontal-controls button{border:1px solid var(--color-line-strong);background:var(--color-surface);width:44px;height:44px;color:var(--color-ink);cursor:pointer;pointer-events:auto;border-radius:8px;place-items:center;display:grid;position:absolute;top:4px;box-shadow:0 1px 4px #1518211f}.calendar-command-week__horizontal-controls button[data-scroll-direction=earlier]{left:6px}.calendar-command-week__horizontal-controls button[data-scroll-direction=later]{right:8px}.calendar-command-week__horizontal-controls button:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.calendar-command-week__bar{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:center;gap:16px;min-width:0;min-height:52px;padding:4px 8px 4px 16px;display:flex}.calendar-command-week__bar p{min-width:0;color:var(--color-ink-muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.8125rem;line-height:1.35;overflow:hidden}.calendar-command-week__bar-content{flex:auto;align-items:center;gap:12px;min-width:0;display:flex;overflow:hidden}.calendar-command-week__preference-legend{min-width:0;color:var(--color-ink-muted);font-size:var(--text-micro);scrollbar-width:none;flex:0 auto;align-items:center;gap:10px;margin:0;padding:0;font-weight:650;list-style:none;display:flex;overflow-x:auto}.calendar-command-week__preference-legend::-webkit-scrollbar{display:none}.calendar-command-week__preference-legend li{white-space:nowrap;flex:none;align-items:center;gap:5px;display:inline-flex}.calendar-command-week__preference-swatch{border:1px solid;border-radius:3px;flex:none;width:18px;height:12px;display:inline-block}.calendar-command-week__preference-swatch.is-teacher-available{border-color:var(--color-available);background:var(--color-available-soft);color:var(--color-available)}.calendar-command-week__preference-swatch.is-teacher-preferred{border-color:var(--color-warning);background:repeating-linear-gradient(135deg, var(--color-warning-soft) 0 5px, var(--color-surface) 5px 10px);color:var(--color-warning)}.calendar-command-week__preference-swatch.is-teacher-blocked,.calendar-command-week__preference-swatch.is-teacher-unavailable{border-color:var(--color-danger)}@supports (color:color-mix(in lab, red, red)){.calendar-command-week__preference-swatch.is-teacher-blocked,.calendar-command-week__preference-swatch.is-teacher-unavailable{border-color:color-mix(in srgb, var(--color-danger) 65%, var(--color-line))}}.calendar-command-week__preference-swatch.is-teacher-blocked,.calendar-command-week__preference-swatch.is-teacher-unavailable{background:repeating-linear-gradient(45deg, var(--color-danger-soft) 0 4px, var(--color-danger-soft) 4px 8px)}@supports (color:color-mix(in lab, red, red)){.calendar-command-week__preference-swatch.is-teacher-blocked,.calendar-command-week__preference-swatch.is-teacher-unavailable{background:repeating-linear-gradient(45deg, var(--color-danger-soft) 0 4px, color-mix(in srgb, var(--color-danger-soft) 36%, var(--color-surface)) 4px 8px)}}.calendar-command-week__preference-swatch.is-teacher-blocked,.calendar-command-week__preference-swatch.is-teacher-unavailable{color:var(--color-danger)}.calendar-command-week__preference-swatch.is-student-available{border-color:var(--color-available)}@supports (color:color-mix(in lab, red, red)){.calendar-command-week__preference-swatch.is-student-available{border-color:color-mix(in srgb, var(--color-available) 70%, var(--color-brand))}}.calendar-command-week__preference-swatch.is-student-available{background:repeating-linear-gradient(135deg, var(--color-available-soft) 0 4px, var(--color-surface) 4px 8px);color:var(--color-available)}.calendar-command-week__preference-swatch.is-student-preferred{border:2px solid var(--color-available);background:var(--color-available-soft)}@supports (color:color-mix(in lab, red, red)){.calendar-command-week__preference-swatch.is-student-preferred{background:color-mix(in srgb, var(--color-available-soft) 74%, var(--color-surface))}}.calendar-command-week__preference-swatch.is-student-preferred{color:var(--color-available)}.calendar-command-week__preference-swatch.is-student-blocked{border-color:var(--color-danger);background:repeating-linear-gradient(45deg, var(--color-danger-soft) 0 4px, var(--color-surface) 4px 8px);color:var(--color-danger)}.calendar-command-week__actions{border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);background:var(--color-surface);min-width:112px;min-height:44px;color:var(--color-brand-strong);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:8px 12px;font-weight:700;display:inline-flex}.calendar-command-week__actions svg,.calendar-command-week__event-actions svg,.calendar-command-week__draft-handles svg{width:18px;height:18px}.calendar-command-week__actions:hover:not(:disabled),.calendar-command-week__event-actions:hover:not(:disabled){border-color:var(--color-brand);background:var(--color-brand-soft)}.calendar-command-week__actions:focus-visible,.calendar-command-week__cell:focus-visible,.calendar-command-week__event-main:focus-visible,.calendar-command-week__event-actions:focus-visible,.calendar-command-week__draft-handles button:focus-visible,.calendar-command-menu button:focus-visible{z-index:8;outline:3px solid var(--color-focus);outline-offset:2px}.calendar-command-week__scroller{overscroll-behavior:contain;scrollbar-gutter:stable;width:100%;min-width:0;height:clamp(480px,100dvh - 360px,720px);overflow:auto}.calendar-command-week__grid{grid-template-columns:48px repeat(7,minmax(90px,1fr));grid-template-rows:52px var(--calendar-day-height,1536px);width:100%;min-width:700px;display:grid;position:relative}.calendar-command-week__header-row{display:contents}.calendar-command-week__corner,.calendar-command-week__day-header{z-index:12;border-bottom:1px solid var(--color-line);background:var(--color-surface);position:sticky;top:0}.calendar-command-week__corner{z-index:13;border-right:1px solid var(--color-line);left:0}.calendar-command-week__day-header{border-right:1px solid var(--color-line);min-width:0;color:var(--color-ink-muted);text-transform:uppercase;justify-content:center;align-items:center;gap:6px;font-size:.75rem;display:flex}.calendar-command-week__day-header strong{color:var(--color-ink);font-family:var(--font-ui);font-size:.9375rem}.calendar-command-week__weekday-compact{display:none}.calendar-command-week__day-header.is-today{background:var(--signal-app-soft);color:var(--signal-app)}.calendar-command-week__day-header.is-today strong{color:var(--signal-app)}.calendar-command-week__time-rail{z-index:9;height:var(--calendar-day-height,1536px);border-right:1px solid var(--color-line);background:var(--color-surface);position:sticky;left:0}.calendar-command-week__time-rail span{color:var(--color-ink-muted);font-variant-numeric:tabular-nums;font-size:.6875rem;position:absolute;right:6px;transform:translateY(-50%)}.calendar-command-week__time-rail span:last-child{transform:translateY(-100%)}.calendar-command-week__day{min-width:0;height:var(--calendar-day-height,1536px);border-right:1px solid var(--color-line);background:var(--color-surface);position:relative}.calendar-command-week__day.is-today{background:var(--signal-app-soft)}@supports (color:color-mix(in lab, red, red)){.calendar-command-week__day.is-today{background:color-mix(in srgb, var(--signal-app-soft) 42%, var(--color-surface))}}.calendar-command-week__cells{grid-template-rows:repeat(96, var(--calendar-quarter-row-px,16px));display:grid;position:absolute;inset:0}.calendar-command-week__cell{width:100%;min-width:0;height:var(--calendar-quarter-row-px,16px);border:0;border-top:1px solid var(--color-line);padding:0}@supports (color:color-mix(in lab, red, red)){.calendar-command-week__cell{border-top:1px solid color-mix(in srgb, var(--color-line) 55%, transparent)}}.calendar-command-week__cell{cursor:crosshair;background:0 0;border-radius:0}.calendar-command-week__cell:nth-child(4n+1){border-top-color:var(--color-line)}.calendar-command-week__cell:hover{background:var(--color-brand-soft)}@supports (color:color-mix(in lab, red, red)){.calendar-command-week__cell:hover{background:color-mix(in srgb, var(--color-brand-soft) 68%, transparent)}}.calendar-command-week__ranges{z-index:8;pointer-events:none;position:absolute;inset:0}.calendar-command-week__now-line{z-index:5;border-radius:var(--radius-pill);background:var(--color-danger);height:2px;box-shadow:0 0 0 1px var(--color-danger);position:absolute;left:0;right:0}@supports (color:color-mix(in lab, red, red)){.calendar-command-week__now-line{box-shadow:0 0 0 1px color-mix(in srgb, var(--color-danger) 18%, transparent)}}.calendar-command-week__now-line{pointer-events:none}.calendar-command-week__range,.calendar-command-week__provisional{border-radius:var(--radius-xs);position:absolute;left:3px;right:3px}button.calendar-command-week__range{appearance:none;font:inherit;cursor:pointer}button.calendar-command-week__range:hover{filter:saturate(1.12)brightness(.98)}button.calendar-command-week__range:focus-visible{z-index:3;outline:3px solid var(--color-focus);outline-offset:2px}.calendar-command-week__range.is-selected{border:2px solid var(--color-brand);background:var(--color-brand-soft)}@supports (color:color-mix(in lab, red, red)){.calendar-command-week__range.is-selected{background:color-mix(in srgb, var(--color-brand-soft) 78%, transparent)}}.calendar-command-week__range.is-teacher-available,.calendar-command-week__range.is-availability,.calendar-command-week__range.is-slot{border:1px solid var(--color-available);background:var(--color-available-soft)}@supports (color:color-mix(in lab, red, red)){.calendar-command-week__range.is-teacher-available,.calendar-command-week__range.is-availability,.calendar-command-week__range.is-slot{background:color-mix(in srgb, var(--color-available-soft) 94%, var(--color-surface))}}.calendar-command-week__range.is-teacher-preferred{border:1px solid var(--color-warning);background:repeating-linear-gradient(135deg, var(--color-warning-soft) 0 8px, var(--color-warning-soft) 8px 16px)}@supports (color:color-mix(in lab, red, red)){.calendar-command-week__range.is-teacher-preferred{background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--color-warning-soft) 86%, var(--color-surface)) 0 8px, color-mix(in srgb, var(--color-warning-soft) 46%, transparent) 8px 16px)}}.calendar-command-week__range.is-teacher-blocked,.calendar-command-week__range.is-teacher-unavailable{border:1px solid var(--color-danger)}@supports (color:color-mix(in lab, red, red)){.calendar-command-week__range.is-teacher-blocked,.calendar-command-week__range.is-teacher-unavailable{border:1px solid color-mix(in srgb, var(--color-danger) 65%, var(--color-line))}}.calendar-command-week__range.is-teacher-blocked,.calendar-command-week__range.is-teacher-unavailable{background:repeating-linear-gradient(45deg, var(--color-danger-soft) 0 8px, var(--color-danger-soft) 8px 16px)}@supports (color:color-mix(in lab, red, red)){.calendar-command-week__range.is-teacher-blocked,.calendar-command-week__range.is-teacher-unavailable{background:repeating-linear-gradient(45deg, color-mix(in srgb, var(--color-danger-soft) 82%, var(--color-surface)) 0 8px, color-mix(in srgb, var(--color-danger-soft) 58%, var(--color-surface)) 8px 16px)}}.calendar-command-week__range.is-student-available,.calendar-command-week__range.is-student-preferred,.calendar-command-week__range.is-student-blocked{border-style:dashed;left:7px;right:7px}.calendar-command-week__range.is-student-available{border:1px dashed var(--color-available)}@supports (color:color-mix(in lab, red, red)){.calendar-command-week__range.is-student-available{border:1px dashed color-mix(in srgb, var(--color-available) 70%, var(--color-brand))}}.calendar-command-week__range.is-student-available{background:repeating-linear-gradient(135deg, var(--color-available-soft) 0 7px, var(--color-available-soft) 7px 14px)}@supports (color:color-mix(in lab, red, red)){.calendar-command-week__range.is-student-available{background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--color-available-soft) 88%, var(--color-surface)) 0 7px, color-mix(in srgb, var(--color-available-soft) 42%, transparent) 7px 14px)}}.calendar-command-week__range.is-student-preferred{border:2px solid var(--color-available);background:var(--color-available-soft)}@supports (color:color-mix(in lab, red, red)){.calendar-command-week__range.is-student-preferred{background:color-mix(in srgb, var(--color-available-soft) 68%, transparent)}}.calendar-command-week__range.is-student-blocked{border:1px dashed var(--color-danger);background:repeating-linear-gradient(45deg, var(--color-danger-soft) 0 7px, var(--color-danger-soft) 7px 14px)}@supports (color:color-mix(in lab, red, red)){.calendar-command-week__range.is-student-blocked{background:repeating-linear-gradient(45deg, color-mix(in srgb, var(--color-danger-soft) 88%, var(--color-surface)) 0 7px, color-mix(in srgb, var(--color-danger-soft) 42%, transparent) 7px 14px)}}.calendar-command-week__range.is-slot{border-style:dashed;left:7px;right:7px}.calendar-command-week__provisional{z-index:3;border:1px solid var(--color-brand);background:var(--color-brand-soft);color:var(--color-brand-strong);pointer-events:none;align-content:start;gap:2px;padding:5px;font-size:.75rem;display:grid}.calendar-command-week__event{z-index:4;border-radius:var(--radius-xs);background:var(--color-info-soft);min-height:20px;color:var(--color-info);transition:transform var(--motion-base) var(--ease-standard), box-shadow var(--motion-base) var(--ease-standard), border-color var(--motion-base) var(--ease-standard);will-change:transform;border:1px solid;position:absolute;left:3px;right:3px;overflow:visible}.calendar-command-week__event:hover{box-shadow:var(--shadow-card);transform:translateY(-1px)}.calendar-command-week__event.scheduling-event-block--group{background:var(--color-group-soft);color:var(--color-group)}.calendar-command-week__event.scheduling-event-block--free{background:var(--color-available-soft);color:var(--color-available)}.calendar-command-week__event.scheduling-event-block--unavailable,.calendar-command-week__event.scheduling-event-block--draft{background:var(--color-unavailable-soft);color:var(--color-unavailable)}.calendar-command-week__event.scheduling-event-block--danger,.calendar-command-week__event.scheduling-event-block--cancelled{background:var(--color-danger-soft);color:var(--color-danger)}.calendar-command-week__event.is-selected{box-shadow:0 0 0 2px var(--color-brand), var(--shadow-card);border-color:var(--color-brand)}.calendar-command-week__event.is-short{padding-top:2px;padding-bottom:2px}.calendar-command-week__event.is-short .calendar-command-week__event-location{display:none}.calendar-command-week__event.is-compact .calendar-command-week__event-meta,.calendar-command-week__event.is-compact .calendar-command-week__event-main strong,.calendar-command-week__event.is-compact .calendar-command-week__event-main small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (prefers-reduced-motion:reduce){.calendar-command-week__event,.calendar-command-week__event:hover{transition:none;transform:none}}.calendar-command-week__event.is-placement-proposal{border-color:var(--color-brand);box-shadow:0 0 0 2px var(--color-brand-soft);border-style:dashed}.calendar-command-week__placement-proposal{z-index:7;border:1px dashed var(--color-brand);border-radius:var(--radius-xs);background:var(--color-brand-soft);min-width:0;color:var(--color-brand-strong);box-shadow:var(--shadow-card);pointer-events:none;gap:1px;padding:3px 5px;display:grid;position:absolute;bottom:4px;left:4px;right:4px;overflow:hidden}.calendar-command-week__placement-proposal strong,.calendar-command-week__placement-proposal span,.calendar-command-week__placement-proposal small{text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem;line-height:1.15;overflow:hidden}.calendar-command-week__event-main{z-index:1;border-radius:inherit;width:100%;height:100%;min-height:20px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-content:start;gap:1px;padding:3px 46px 4px 5px;display:grid;position:relative;overflow:hidden}.calendar-command-week__event-recurrence{max-width:100%;color:var(--color-ink-muted);pointer-events:none;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;border-radius:0;align-items:center;gap:3px;padding:0;font-size:.6875rem;font-weight:650;line-height:1.1;display:inline-flex;position:static;overflow:hidden}.calendar-command-week__event-recurrence svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;flex:none;width:11px;height:11px}.calendar-command-week__event-recurrence span{text-overflow:ellipsis;overflow:hidden}.calendar-command-week__event[data-calendar-direct-move=true] .calendar-command-week__event-main{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.calendar-command-week__event[data-calendar-direct-move=true] .calendar-command-week__event-main:active{cursor:grabbing}.calendar-command-week__event-meta{align-items:center;gap:4px;min-width:0;display:flex}.calendar-command-week__event-meta time{font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem;line-height:1.15;overflow:hidden}.calendar-command-week__event-status{border:1px solid;align-items:center;min-width:0;min-height:14px;padding:1px 6px;display:inline-flex;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.calendar-command-week__event-status{border:1px solid color-mix(in srgb, currentColor 24%, transparent)}}.calendar-command-week__event-status{background:currentColor;border-radius:999px}@supports (color:color-mix(in lab, red, red)){.calendar-command-week__event-status{background:color-mix(in srgb, currentColor 14%, transparent)}}.calendar-command-week__event-status{color:inherit;letter-spacing:.02em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.625rem;font-weight:700;line-height:1.1}.calendar-command-week__event-status.is-status-cancelled,.calendar-command-week__event-status.is-status-danger{color:var(--color-danger)}.calendar-command-week__event-status.is-status-completed,.calendar-command-week__event-status.is-status-archived{color:var(--color-success)}.calendar-command-week__event-status.is-status-draft{color:var(--color-unavailable)}.calendar-command-week__event-main small,.calendar-command-week__event-main span:not(.calendar-command-week__event-meta):not(.calendar-command-week__event-status){text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem;line-height:1.15;overflow:hidden}.calendar-command-week__event-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1.15;overflow:hidden}.calendar-command-week__event.is-short .calendar-command-week__event-meta{gap:3px}.calendar-command-week__event.is-short .calendar-command-week__event-status{padding:0 5px;font-size:.5625rem}.calendar-command-week__event-actions{z-index:9;border-radius:var(--radius-xs);width:44px;height:44px;color:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:0;right:0}.calendar-command-week__draft-handles{z-index:8;opacity:0;pointer-events:none;transition:opacity var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);gap:4px;display:flex;position:absolute;bottom:-22px;right:0;transform:translateY(-2px)}.calendar-command-week__event:hover .calendar-command-week__draft-handles,.calendar-command-week__event:focus-within .calendar-command-week__draft-handles,.calendar-command-week__event.is-selected .calendar-command-week__draft-handles,.calendar-command-week__event.is-adjusting .calendar-command-week__draft-handles{opacity:1;transform:translateY(0)}.calendar-command-week__event:hover .calendar-command-week__draft-handles button,.calendar-command-week__event:focus-within .calendar-command-week__draft-handles button,.calendar-command-week__event.is-selected .calendar-command-week__draft-handles button,.calendar-command-week__event.is-adjusting .calendar-command-week__draft-handles button{pointer-events:auto}.calendar-command-week__draft-handles button{border:1px solid var(--color-brand);border-radius:var(--radius-sm);background:var(--color-surface);width:44px;height:44px;color:var(--color-brand-strong);pointer-events:none;touch-action:none;justify-content:center;align-items:center;display:inline-flex}.calendar-command-week__draft-handles button.is-move{cursor:grab}.calendar-command-week__draft-handles button.is-move:active{cursor:grabbing}.calendar-command-week__draft-handles button.is-resize{cursor:ns-resize}.calendar-command-week__draft-handles button.is-resize svg{transform:rotate(90deg)}.calendar-command-week__event.is-adjusting{z-index:7;opacity:.92;outline:2px dashed var(--color-brand-strong);box-shadow:var(--shadow-card);transition:none}.calendar-command-week__event.is-adjusting.is-adjustment-good{outline:2px solid var(--color-available);box-shadow:0 0 0 4px var(--color-available), var(--shadow-card)}@supports (color:color-mix(in lab, red, red)){.calendar-command-week__event.is-adjusting.is-adjustment-good{box-shadow:0 0 0 4px color-mix(in srgb, var(--color-available) 18%, transparent), var(--shadow-card)}}.calendar-command-week__event.is-adjusting.is-adjustment-warning{outline:2px dashed var(--color-danger);background-image:repeating-linear-gradient(135deg, transparent 0 8px, var(--color-danger) 8px 14px)}@supports (color:color-mix(in lab, red, red)){.calendar-command-week__event.is-adjusting.is-adjustment-warning{background-image:repeating-linear-gradient(135deg, transparent 0 8px, color-mix(in srgb, var(--color-danger) 16%, transparent) 8px 14px)}}.calendar-command-week__event.is-adjusting.is-adjustment-warning{box-shadow:0 0 0 4px var(--color-danger), var(--shadow-card)}@supports (color:color-mix(in lab, red, red)){.calendar-command-week__event.is-adjusting.is-adjustment-warning{box-shadow:0 0 0 4px color-mix(in srgb, var(--color-danger) 18%, transparent), var(--shadow-card)}}.calendar-command-week__event.is-adjusting.is-adjustment-checking{outline:2px dashed var(--color-brand);box-shadow:0 0 0 4px var(--color-brand), var(--shadow-card)}@supports (color:color-mix(in lab, red, red)){.calendar-command-week__event.is-adjusting.is-adjustment-checking{box-shadow:0 0 0 4px color-mix(in srgb, var(--color-brand) 16%, transparent), var(--shadow-card)}}.calendar-command-week__event.is-adjusting.is-adjustment-unknown{outline:2px dotted var(--color-unavailable);background-image:repeating-linear-gradient(135deg, transparent 0 10px, var(--color-unavailable) 10px 12px)}@supports (color:color-mix(in lab, red, red)){.calendar-command-week__event.is-adjusting.is-adjustment-unknown{background-image:repeating-linear-gradient(135deg, transparent 0 10px, color-mix(in srgb, var(--color-unavailable) 11%, transparent) 10px 12px)}}.calendar-command-week__event.is-adjusting.is-adjustment-unknown{box-shadow:0 0 0 4px var(--color-unavailable), var(--shadow-card)}@supports (color:color-mix(in lab, red, red)){.calendar-command-week__event.is-adjusting.is-adjustment-unknown{box-shadow:0 0 0 4px color-mix(in srgb, var(--color-unavailable) 14%, transparent), var(--shadow-card)}}.calendar-command-week__event.is-adjusting .calendar-command-week__event-main{cursor:grab;touch-action:none}.calendar-command-week__event.is-adjusting .calendar-command-week__event-main:active{cursor:grabbing}.calendar-command-week__conflict{border-bottom:1px solid var(--color-danger);background:var(--color-danger-soft);color:var(--color-danger);margin:0;padding:8px 12px}.calendar-command-week__conflict.is-good{border-bottom-color:var(--color-available);background:var(--color-available-soft);color:var(--color-available)}.calendar-command-week__conflict.is-checking{border-bottom-color:var(--color-brand);background:var(--color-brand-soft);color:var(--color-brand-strong)}.calendar-command-week__conflict.is-unknown{border-bottom-color:var(--color-unavailable);background:var(--color-unavailable-soft);color:var(--color-unavailable)}.calendar-command-menu-layer{z-index:200;pointer-events:none;position:fixed;inset:0}.calendar-command-menu__scrim{pointer-events:auto;background:0 0;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.calendar-command-menu{z-index:1;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);width:min(280px,100vw - 16px);max-height:min(70dvh,520px);box-shadow:var(--shadow-overlay);pointer-events:auto;gap:2px;padding:6px;display:grid;position:fixed;overflow-y:auto}.calendar-command-menu button{border-radius:var(--radius-sm);min-height:44px;color:var(--color-ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-content:center;gap:2px;padding:7px 10px;display:grid}.calendar-command-menu button:hover:not(:disabled){background:var(--color-brand-soft);color:var(--color-brand-strong)}.calendar-command-menu button:disabled{color:var(--color-ink-muted);cursor:not-allowed;opacity:.62}.calendar-command-menu button small{color:var(--color-ink-muted);font-size:.75rem}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-main,.scheduling-page--family .scheduling-main--family{width:100%;min-width:0;max-width:none}@media (min-width:768px){.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-desktop-view,.scheduling-page--family .scheduling-desktop-view{display:block!important}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-mobile-view,.scheduling-page--family .scheduling-mobile-view{display:none!important}.scheduling-page--teacher:not([data-calendar-design=signal-grid]),.scheduling-page--family{min-width:0;overflow-x:clip}.scheduling-portal-week-grid{width:100%}}@media (min-width:768px) and (max-width:1023px){.calendar-command-week__grid{grid-template-columns:48px repeat(7,minmax(90px,1fr));min-width:700px}.calendar-command-week__bar p{max-width:52ch}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar,.main-content--portal .scheduling-page--family .scheduling-toolbar{min-width:0}}@media (min-width:1440px){.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-page__header{padding-bottom:8px}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-page__lead{max-width:64ch}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__scroller{height:clamp(560px,100dvh - 340px,760px)}}.teacher-calendar-edit-paints{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.teacher-calendar-paint-target{border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface-subtle);align-items:stretch;min-height:44px;padding:3px;display:inline-flex}.teacher-calendar-paint-target button{border-radius:var(--radius-xs);min-height:36px;color:var(--color-ink-muted);font:inherit;font-size:var(--text-label);white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:6px 10px;font-weight:600}.teacher-calendar-paint-target button[aria-pressed=true]{background:var(--color-surface);color:var(--color-brand-strong);box-shadow:0 1px 2px #1518211a}.teacher-calendar-paint-target button:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.teacher-calendar-paint-target button:disabled{cursor:not-allowed;opacity:.48}.teacher-availability-paint{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);align-items:center;gap:4px;min-width:0;padding:3px;display:inline-flex}.teacher-availability-paint__label{color:var(--color-ink-muted);font-size:var(--text-caption);white-space:nowrap;padding-inline:8px 4px;font-weight:600}.teacher-availability-paint__option{border-radius:var(--radius-sm);min-width:44px;min-height:44px;color:var(--color-ink);font:inherit;font-size:var(--text-label);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:8px 10px;font-weight:600;display:inline-flex}.teacher-availability-paint__option i{border-radius:var(--radius-xs);border:1px solid;flex:0 0 18px;width:18px;height:18px}.teacher-availability-paint__option.is-available i{background:var(--color-available-soft);color:var(--color-available)}.teacher-availability-paint__option.is-preferred i{background:repeating-linear-gradient(135deg, var(--color-warning-soft) 0 4px, var(--color-surface) 4px 8px);color:var(--color-warning)}.teacher-availability-paint__option.is-blocked i{background:repeating-linear-gradient(-45deg, transparent 0 4px, var(--color-danger) 4px 6px), var(--color-danger-soft)}@supports (color:color-mix(in lab, red, red)){.teacher-availability-paint__option.is-blocked i{background:repeating-linear-gradient(-45deg, transparent 0 4px, color-mix(in srgb, var(--color-danger) 24%, transparent) 4px 6px), var(--color-danger-soft)}}.teacher-availability-paint__option.is-blocked i{color:var(--color-danger)}.teacher-availability-paint__option.is-clear i{background:var(--color-surface);color:var(--color-ink-muted)}.teacher-availability-paint__option:hover:not(:disabled){background:var(--color-surface-subtle)}.teacher-availability-paint__option[aria-pressed=true]{border-color:var(--color-brand);background:var(--color-brand-soft);color:var(--color-brand-strong)}.teacher-availability-paint__option:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.teacher-availability-paint__option:disabled{cursor:not-allowed;opacity:.48}.scheduling-edit-batch-bar{z-index:35;border-color:var(--color-brand);background:var(--color-surface);box-shadow:var(--shadow-card);margin:8px 16px;position:sticky;top:8px}.scheduling-edit-batch-bar__count{color:var(--color-brand-strong)}.scheduling-edit-batch-review{gap:20px;display:grid}.scheduling-edit-batch-review__lead,.scheduling-edit-batch-review__notice{color:var(--color-ink-muted);margin:0;line-height:1.5}.scheduling-edit-batch-review__notice{border-left:3px solid var(--color-warning);background:var(--color-warning-soft);color:var(--color-warning);padding:12px 16px}.scheduling-edit-batch-review__error{margin:0}.scheduling-edit-batch-review__error-code{font-size:var(--text-caption);color:var(--color-ink-muted);overflow-wrap:anywhere}.scheduling-edit-batch-review__empty{min-height:56px;color:var(--color-success);background:var(--color-success-soft);border-radius:var(--radius-md);align-items:center;gap:10px;margin:0;padding:12px 16px;font-weight:700;display:flex}.scheduling-edit-batch-review__empty svg{width:20px;height:20px}.scheduling-edit-batch-review__group{gap:8px;display:grid}.scheduling-edit-batch-review__proposal{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);gap:8px;padding:10px 12px;display:grid}.scheduling-edit-batch-review__proposal>label{align-items:flex-start;gap:8px;min-width:0;display:flex}.scheduling-edit-batch-review__alternative{color:var(--color-ink-muted);font-size:var(--text-label);font-weight:650}.scheduling-edit-batch-review__proposal select{width:100%;min-height:44px}.scheduling-edit-batch-review__group h3{font-family:var(--font-display);font-size:var(--text-card-title);margin:0}.scheduling-edit-batch-review__group ul{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);gap:0;margin:0;padding:0;list-style:none;display:grid}.scheduling-edit-batch-review__group li{border-bottom:1px solid var(--color-line);grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:8px 16px;min-height:52px;padding:10px 12px;display:grid}.scheduling-edit-batch-review__group li:last-child{border-bottom:0}.scheduling-edit-batch-review__operations{color:var(--color-ink-muted);font-size:var(--text-caption);flex-wrap:wrap;gap:4px 12px;display:flex}.scheduling-edit-batch-review__item-copy{gap:4px;min-width:0;display:grid}.scheduling-edit-batch-review__discard{min-height:40px;color:var(--color-danger);border:1px solid var(--color-danger);background:0 0;justify-content:center;align-items:center;gap:6px;padding:6px 10px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.scheduling-edit-batch-review__discard{border:1px solid color-mix(in srgb, var(--color-danger) 35%, var(--color-line))}}.scheduling-edit-batch-review__discard{border-radius:var(--radius-pill);font:inherit;font-size:var(--text-label);cursor:pointer;font-weight:650}.scheduling-edit-batch-review__discard svg{width:16px;height:16px}.scheduling-edit-batch-review__discard:hover:not(:disabled){background:var(--color-danger-soft);border-color:var(--color-danger)}.scheduling-edit-batch-review__discard:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.scheduling-edit-batch-review__discard:disabled{cursor:not-allowed;opacity:.48}.scheduling-edit-batch-review__actions{padding-block:12px max(12px, env(safe-area-inset-bottom));border-top:1px solid var(--color-line);background:var(--color-surface);justify-content:flex-end;gap:8px;display:flex;position:sticky;bottom:0}@media (max-width:767px){.teacher-calendar-edit-paints{width:100%}.teacher-availability-paint,.student-preference-paint{max-width:100%;overflow-x:auto}.teacher-availability-paint__label,.teacher-availability-paint__option span{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.scheduling-edit-batch-bar{margin-inline:8px;top:4px}.scheduling-edit-batch-bar__actions,.scheduling-edit-batch-review__actions{width:100%}.scheduling-edit-batch-bar__actions .ui-button,.scheduling-edit-batch-review__actions .ui-button{flex:1 1 0}}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__actions{min-height:44px}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__event-actions{background:var(--color-surface);width:44px;height:44px;top:0;right:0}@supports (color:color-mix(in lab, red, red)){.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__event-actions{background:color-mix(in srgb, var(--color-surface) 94%, transparent)}}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__event-actions{opacity:1;-webkit-backdrop-filter:none;backdrop-filter:none}.calendar-command-week__event.is-adjusting{left:0;right:0}@media (pointer:coarse){.calendar-command-week__draft-handles{gap:8px}}@media (max-width:767px){.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-desktop-view,.scheduling-page--family .scheduling-desktop-view{display:none!important}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-mobile-view,.scheduling-page--family .scheduling-mobile-view{display:block!important}}@media (prefers-reduced-motion:reduce){.calendar-command-week *,.calendar-command-menu *{scroll-behavior:auto!important;transition:none!important}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-week-grid,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-detail__body{scroll-behavior:auto}}.scheduling-week-grid__range-selection{z-index:2;border:2px solid var(--color-brand);border-radius:var(--radius-event);background:var(--color-brand);position:absolute;left:4px;right:4px}@supports (color:color-mix(in lab, red, red)){.scheduling-week-grid__range-selection{background:color-mix(in srgb, var(--color-brand) 12%, transparent)}}.scheduling-week-grid__range-selection{pointer-events:none}.scheduling-range-menu-trigger{pointer-events:auto;top:4px;right:4px}.scheduling-event-block{left:52px;right:52px}.scheduling-event-block__move-handle{width:44px;left:4px;right:auto}.scheduling-event-block__resize-handle{border:1px solid var(--color-brand);width:44px;height:44px;inset:0 4px auto auto}@supports (color:color-mix(in lab, red, red)){.scheduling-event-block__resize-handle{border:1px solid color-mix(in srgb, var(--color-brand) 72%, transparent)}}.scheduling-event-block__resize-handle{border-radius:var(--radius-event)}.scheduling-calendar-context-menu{z-index:1000;border:1px solid var(--color-line-strong);border-radius:var(--radius-md);background:var(--color-surface);min-width:240px;max-width:min(320px,100vw - 16px);box-shadow:var(--shadow-overlay);gap:4px;padding:8px;display:grid;position:fixed}.scheduling-calendar-context-menu__range{border-bottom:1px solid var(--color-line);color:var(--color-ink-muted);font-variant-numeric:tabular-nums;margin:0;padding:4px 8px 8px;font-size:.8rem;font-weight:650}.scheduling-calendar-context-menu>button{border-radius:var(--radius-sm);min-height:44px;color:var(--color-ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;padding:8px 10px}.scheduling-calendar-context-menu>button:hover{background:var(--color-surface-subtle)}.scheduling-calendar-context-menu>button:focus-visible{outline:3px solid var(--color-focus);outline-offset:1px;background:var(--color-brand-soft)}.scheduling-calendar-context-menu>button:last-child{border-top:1px solid var(--color-line);color:var(--color-danger);margin-top:4px}@media (max-width:899px){.scheduling-toolbar__cta{margin-inline-start:0}}@media (prefers-reduced-motion:reduce){.scheduling-mode-switcher__option,.scheduling-agenda-add,.scheduling-week-grid.is-edit-mode .scheduling-week-grid__create-slot,.scheduling-provisional-block__cancel,.scheduling-event-block__move-handle,.scheduling-event-block__resize-handle{transition:none}.scheduling-week-grid__create-plus{transform:none}}.scheduling-week-grid--skeleton{grid-template-columns:48px repeat(7,minmax(96px,1fr));grid-auto-rows:32px}.scheduling-week-grid__skeleton-rail{background:var(--sched-line);grid-area:1/1/-1/2}@supports (color:color-mix(in lab, red, red)){.scheduling-week-grid__skeleton-rail{background:color-mix(in srgb, var(--sched-line) 60%, transparent)}}.scheduling-week-grid__skeleton-column{border-left:1px solid var(--sched-line);background:var(--sched-line);height:100%;display:block}@supports (color:color-mix(in lab, red, red)){.scheduling-week-grid__skeleton-column{background:color-mix(in srgb, var(--sched-line) 50%, transparent)}}.scheduling-week-grid__skeleton-column{animation:1.4s linear infinite scheduling-pulse}@keyframes scheduling-pulse{0%{opacity:.6}50%{opacity:.9}to{opacity:.6}}.scheduling-agenda{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.scheduling-agenda li{list-style:none}.scheduling-agenda__entry{border:1px solid var(--sched-line);border-radius:var(--radius-event);background:var(--sched-surface);min-height:44px;color:var(--sched-ink);text-align:left;cursor:pointer;grid-template-columns:minmax(140px,1fr) minmax(0,1fr) auto;align-items:center;gap:.85rem;padding:.55rem .75rem;font-family:inherit;transition:border-color .18s,background-color .18s;display:grid}.scheduling-agenda__entry:hover{border-color:var(--sched-line-strong)}.scheduling-agenda__time{flex-direction:column;gap:.15rem;display:flex}.scheduling-agenda__date{color:var(--sched-ink-soft);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:600}.scheduling-agenda__hours{font-variant-numeric:tabular-nums;color:var(--sched-ink);font-size:.95rem;font-weight:700}.scheduling-agenda__body{gap:.15rem;min-width:0;display:grid}.scheduling-agenda__title{color:var(--sched-ink);text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:600;overflow:hidden}.scheduling-agenda__meta{color:var(--sched-ink-soft);font-size:.78rem}.scheduling-agenda__badge{background:var(--sched-free-bg);min-height:20px;color:var(--sched-free-fg);letter-spacing:.04em;text-transform:uppercase;border-radius:4px;align-items:center;padding:.1rem .45rem;font-size:.7rem;font-weight:700;display:inline-flex}.scheduling-agenda__entry--individual .scheduling-agenda__badge{background:var(--sched-individual-bg);color:var(--sched-individual-fg)}.scheduling-agenda__entry--group .scheduling-agenda__badge{background:var(--sched-group-bg);color:var(--sched-group-fg)}.scheduling-agenda__entry--unavailable .scheduling-agenda__badge{background:var(--sched-unavailable-bg);color:var(--sched-unavailable-fg)}.scheduling-agenda__entry--danger .scheduling-agenda__badge{background:var(--sched-danger-bg);color:var(--sched-danger-fg)}.scheduling-agenda--empty{border:1px dashed var(--sched-line);border-radius:var(--radius-panel);background:var(--sched-workspace);color:var(--sched-ink-soft);padding:1rem}.scheduling-legend{border:1px solid var(--sched-line);border-radius:var(--radius-panel);background:var(--sched-workspace);gap:.5rem;padding:.65rem;display:grid}.scheduling-legend__header{justify-content:space-between;align-items:center;gap:.4rem;display:flex}.scheduling-legend__eyebrow{color:var(--sched-ink-soft);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:.7rem;font-weight:700}.scheduling-legend__title{color:var(--sched-ink);margin:0;font-size:.85rem;font-weight:700}.scheduling-legend__close{border:1px solid var(--sched-line);color:var(--sched-ink-soft);cursor:pointer;background:0 0;border-radius:999px;min-width:44px;min-height:44px;padding:0 .5rem;font-size:.9rem;line-height:1}.scheduling-legend__list{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.scheduling-legend__item{color:var(--sched-ink);align-items:center;gap:.5rem;font-size:.82rem;display:flex}.scheduling-legend__swatch{border:1px solid var(--sched-free-fg);border-radius:4px;width:14px;height:14px}@supports (color:color-mix(in lab, red, red)){.scheduling-legend__swatch{border:1px solid color-mix(in srgb, var(--sched-free-fg) 20%, transparent)}}.scheduling-legend__swatch{background:var(--sched-free-bg)}.scheduling-legend__swatch--individual{background:var(--sched-individual-bg);border-color:var(--sched-individual-fg)}@supports (color:color-mix(in lab, red, red)){.scheduling-legend__swatch--individual{border-color:color-mix(in srgb, var(--sched-individual-fg) 20%, transparent)}}.scheduling-legend__swatch--group{background:var(--sched-group-bg);border-color:var(--sched-group-fg)}@supports (color:color-mix(in lab, red, red)){.scheduling-legend__swatch--group{border-color:color-mix(in srgb, var(--sched-group-fg) 20%, transparent)}.scheduling-legend__swatch--unavailable{border-color:color-mix(in srgb, var(--sched-unavailable-fg) 20%, transparent)}.scheduling-legend__swatch--danger{border-color:color-mix(in srgb, var(--sched-danger-fg) 20%, transparent)}}.scheduling-detail__scrim{z-index:70;background:#17324d52;position:fixed;inset:0}.scheduling-detail{z-index:80;isolation:isolate;background:var(--sched-surface);color:var(--sched-ink);font-family:var(--font-ui);flex-direction:column;display:flex;position:fixed}.scheduling-detail--persistent{z-index:auto;border:1px solid var(--sched-line);border-radius:var(--radius-panel);background:var(--sched-surface);position:relative}.scheduling-detail--overlay{top:var(--header-height,76px);border:1px solid var(--sched-line);border-radius:var(--radius-panel);width:min(320px,92vw);box-shadow:var(--sched-overlay-shadow);bottom:1rem;right:1rem}.scheduling-detail--sheet{border-top-left-radius:var(--radius-sheet);border-top-right-radius:var(--radius-sheet);max-height:92vh;box-shadow:var(--sched-overlay-shadow);padding-bottom:env(safe-area-inset-bottom);bottom:0;left:0;right:0}.scheduling-detail__header{border-bottom:1px solid var(--sched-line);justify-content:space-between;align-items:flex-start;gap:1rem;padding:.85rem 1rem;display:flex}.scheduling-detail__eyebrow{color:var(--sched-cta);letter-spacing:.06em;text-transform:uppercase;margin:0 0 .3rem;font-size:.7rem;font-weight:700}.scheduling-detail__title{letter-spacing:-.01em;margin:0;font-size:1.1rem;font-weight:700}.scheduling-detail__close{border:1px solid var(--sched-line);border-radius:var(--radius-button);width:36px;height:36px;color:var(--sched-ink-soft);cursor:pointer;background:0 0;justify-content:center;align-items:center;display:inline-flex}.scheduling-detail__close:focus-visible{outline:2px solid var(--sched-cta);outline-offset:2px}.scheduling-detail__close svg{width:16px;height:16px}.scheduling-detail__body{scroll-behavior:smooth;padding:.85rem 1rem;overflow-y:auto}.scheduling-detail__footer{border-top:1px solid var(--sched-line);background:var(--sched-workspace);padding:.85rem 1rem}.scheduling-detail__footer-stack{gap:.55rem;display:grid}.scheduling-detail__action-grid{border-top:1px solid var(--sched-line);grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:.85rem;padding-top:.85rem;display:grid}.scheduling-detail__action-grid .ui-button{white-space:normal;width:100%;min-width:0}@media (max-width:479px){.scheduling-detail__action-grid{grid-template-columns:minmax(0,1fr)}}.scheduling-detail__footer-error{color:var(--sched-danger-fg);margin:0;font-size:.82rem;font-weight:700}.scheduling-detail__footer-note{color:var(--sched-ink-soft);margin:0;font-size:.78rem}.scheduling-minimum-decision{border:1px solid var(--sched-pending-fg);gap:.6rem;padding:.85rem;display:grid}@supports (color:color-mix(in lab, red, red)){.scheduling-minimum-decision{border:1px solid color-mix(in srgb, var(--sched-pending-fg) 35%, var(--sched-line))}}.scheduling-minimum-decision{border-radius:var(--radius-button);background:var(--sched-pending-bg);color:var(--sched-ink)}.scheduling-minimum-decision p{color:var(--sched-ink-soft);margin:0;font-size:.82rem}.scheduling-minimum-decision label{font-weight:700}.scheduling-minimum-decision textarea{resize:vertical;width:100%;min-height:88px}.scheduling-minimum-decision__actions{flex-wrap:wrap;gap:.55rem;display:flex}.scheduling-detail__status{background:var(--sched-free-bg);min-height:20px;color:var(--sched-free-fg);letter-spacing:.04em;text-transform:uppercase;border-radius:4px;align-items:center;padding:.1rem .45rem;font-size:.7rem;font-weight:700;display:inline-flex}.scheduling-detail__status--individual{background:var(--sched-individual-bg);color:var(--sched-individual-fg)}.scheduling-detail__status--group{background:var(--sched-group-bg);color:var(--sched-group-fg)}.scheduling-detail__status--unavailable{background:var(--sched-unavailable-bg);color:var(--sched-unavailable-fg)}.scheduling-detail__status--danger{background:var(--sched-danger-bg);color:var(--sched-danger-fg)}.scheduling-detail__meta dl{gap:.55rem;margin:.85rem 0 0;display:grid}.scheduling-detail__meta dl>div{border-top:1px solid var(--sched-line);justify-content:space-between;gap:.85rem;padding-top:.5rem;display:flex}.scheduling-detail__meta dt{color:var(--sched-ink-soft);font-size:.82rem}.scheduling-detail__meta dd{text-align:right;font-variant-numeric:tabular-nums;margin:0;font-weight:700}.scheduling-session-cancellation{gap:16px;display:grid}.scheduling-session-cancellation__summary,.scheduling-session-cancellation__success dl{gap:8px;margin:0;display:grid}.scheduling-session-cancellation__summary>div,.scheduling-session-cancellation__success dl>div{border-top:1px solid var(--sched-line);justify-content:space-between;gap:12px;padding-top:8px;display:flex}.scheduling-session-cancellation__summary dt,.scheduling-session-cancellation__success dt{color:var(--sched-ink-soft)}.scheduling-session-cancellation__summary dd,.scheduling-session-cancellation__success dd{text-align:right;margin:0;font-weight:700}.scheduling-session-cancellation__consequence,.scheduling-session-cancellation__success{border:1px solid var(--sched-danger-fg);padding:12px}@supports (color:color-mix(in lab, red, red)){.scheduling-session-cancellation__consequence,.scheduling-session-cancellation__success{border:1px solid color-mix(in srgb, var(--sched-danger-fg) 24%, var(--sched-line))}}.scheduling-session-cancellation__consequence,.scheduling-session-cancellation__success{border-radius:var(--radius-button);background:var(--sched-danger-bg);color:var(--sched-danger-fg)}.scheduling-session-cancellation__success{border-color:var(--sched-line);background:var(--color-success-soft,#e7f5e9);color:var(--sched-ink);gap:8px;display:grid}.scheduling-session-cancellation__details>summary{min-height:36px;color:var(--sched-ink-soft);cursor:pointer;font-weight:600}.scheduling-session-cancellation__form,.scheduling-session-cancellation__form fieldset{gap:10px;display:grid}.scheduling-session-cancellation__form fieldset{border:1px solid var(--sched-line);border-radius:var(--radius-button);margin:0;padding:12px}.scheduling-session-cancellation__form fieldset label{align-items:center;gap:8px;min-height:44px;display:flex}.scheduling-session-cancellation__form textarea{resize:vertical;min-height:112px}.scheduling-session-cancellation__form>label{font-weight:700}.scheduling-session-cancellation__actions{flex-wrap:wrap;gap:8px;display:flex}.scheduling-detail .ui-button{border-radius:var(--radius-button);border:1px solid #0000;min-height:36px;padding:.45rem .95rem;font-size:.88rem;font-weight:700}.scheduling-detail .ui-button--primary{background:var(--sched-cta);color:var(--sched-cta-on)}.scheduling-detail .ui-button--primary:hover:not(:disabled){background:var(--sched-cta-strong)}.scheduling-detail .ui-button--secondary{background:var(--sched-surface);color:var(--sched-cta);border-color:var(--sched-line-strong)}.scheduling-detail .ui-button--secondary:hover:not(:disabled){background:var(--sched-cta)}@supports (color:color-mix(in lab, red, red)){.scheduling-detail .ui-button--secondary:hover:not(:disabled){background:color-mix(in srgb, var(--sched-cta) 10%, var(--sched-surface))}}.scheduling-detail .ui-button--quiet{color:var(--sched-ink-soft);background:0 0}.scheduling-detail .ui-button--danger{border-color:var(--sched-danger-fg);background:var(--sched-danger-bg);color:var(--sched-danger-fg)}.scheduling-detail .ui-button--danger:hover:not(:disabled){border-color:var(--sched-danger-fg);background:var(--sched-danger-fg)}@supports (color:color-mix(in lab, red, red)){.scheduling-detail .ui-button--danger:hover:not(:disabled){background:color-mix(in srgb, var(--sched-danger-fg) 14%, var(--sched-danger-bg))}}.scheduling-detail .ui-button:focus-visible{outline:2px solid var(--sched-cta);outline-offset:2px}.scheduling-new-time-form{gap:.85rem;display:grid}.scheduling-new-time-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.scheduling-new-time-grid input:not([type=radio]):not([type=checkbox]),.scheduling-new-time-grid select{box-sizing:border-box;inline-size:100%;min-inline-size:0}.scheduling-new-time-grid label{min-width:0;color:var(--sched-ink-soft);letter-spacing:.06em;text-transform:uppercase;gap:.25rem;font-size:.7rem;font-weight:700;display:grid}.scheduling-new-time-grid input,.scheduling-new-time-grid select{border:1px solid var(--sched-line-strong);border-radius:var(--radius-button);background:var(--sched-surface);min-height:36px;color:var(--sched-ink);text-transform:none;letter-spacing:normal;padding:.4rem .55rem;font-size:.85rem;font-weight:500}.scheduling-new-time-form__hint{color:var(--sched-ink-soft);margin:0;font-size:.78rem}.scheduling-new-time-form__checkbox{border:1px solid var(--sched-line-strong);border-radius:var(--radius-button);background:var(--sched-surface);min-height:44px;color:var(--sched-ink);cursor:pointer;align-items:center;gap:.75rem;padding:.5rem .75rem;font-weight:600;display:flex}.scheduling-new-time-form__checkbox input{block-size:20px;inline-size:20px;accent-color:var(--sched-cta);flex:none;margin:0}.scheduling-new-time-form__checkbox:focus-within{outline:2px solid var(--sched-cta);outline-offset:2px}.scheduling-new-time-form__audience,.scheduling-new-time-form__student-picker{border:0;min-width:0;margin:0;padding:0}.scheduling-new-time-form__audience{border:1px solid var(--sched-line-strong);border-radius:var(--radius-card);background:var(--sched-surface);grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;padding:.75rem;display:grid}@supports (color:color-mix(in lab, red, red)){.scheduling-new-time-form__audience{background:color-mix(in srgb, var(--sched-surface) 88%, var(--sched-accent-soft))}}.scheduling-new-time-form__audience>legend,.scheduling-new-time-form__student-picker>legend{color:var(--sched-ink);letter-spacing:.04em;text-transform:uppercase;padding:0 .3rem;font-size:.78rem;font-weight:800}.scheduling-new-time-grid .scheduling-new-time-form__choice{border:1px solid var(--sched-line-strong);border-radius:var(--radius-button);background:var(--sched-surface);min-height:44px;color:var(--sched-ink);letter-spacing:normal;text-transform:none;cursor:pointer;align-items:center;gap:.65rem;padding:.55rem .7rem;font-size:.82rem;font-weight:650;line-height:1.25;display:flex}.scheduling-new-time-grid .scheduling-new-time-form__choice:has(input:checked){border-color:var(--sched-cta);background:var(--sched-accent-soft)}.scheduling-new-time-grid .scheduling-new-time-form__choice:focus-within{outline:2px solid var(--sched-cta);outline-offset:2px}.scheduling-new-time-grid .scheduling-new-time-form__choice input{block-size:20px;inline-size:20px;min-height:0;accent-color:var(--sched-cta);border:0;flex:none;margin:0;padding:0}.scheduling-new-time-form__student-picker{grid-column:1/-1;gap:.5rem;padding-top:.25rem;display:grid}.scheduling-new-time-form__student-options{overscroll-behavior:contain;scrollbar-gutter:stable;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:.45rem;max-height:min(18rem,38dvh);display:grid;overflow-y:auto}@media (max-width:560px){.scheduling-new-time-form__audience{grid-template-columns:1fr}}.scheduling-new-time-form__error{color:var(--sched-danger-fg);margin:0;font-size:.78rem;font-weight:700}.scheduling-new-time-form__actions{flex-wrap:wrap;gap:.4rem;display:flex}.scheduling-recurrence-edit,.scheduling-recurrence-edit__form-step{gap:1rem;display:grid}.scheduling-recurrence-edit h3,.scheduling-recurrence-edit__lead,.scheduling-recurrence-edit__scope-summary{margin:0}.scheduling-recurrence-edit__lead{color:var(--sched-ink-soft)}.scheduling-recurrence-edit__choices{border:0;gap:.5rem;margin:0;padding:0;display:grid}.scheduling-recurrence-edit__choices legend{color:var(--sched-ink);margin-bottom:.5rem;font-weight:700}.scheduling-recurrence-edit__choice{border:1px solid var(--sched-line-strong);border-radius:var(--radius-md);background:var(--sched-surface);cursor:pointer;grid-template-columns:1.25rem minmax(0,1fr);align-items:start;gap:.75rem;min-height:44px;padding:.75rem;display:grid}.scheduling-recurrence-edit__choice.is-selected{border-color:var(--color-brand);background:var(--color-brand-soft)}.scheduling-recurrence-edit__choice input{width:1.15rem;height:1.15rem;accent-color:var(--color-brand);margin:.15rem 0 0}.scheduling-recurrence-edit__choice:focus-within{outline:3px solid var(--color-focus);outline-offset:2px}.scheduling-recurrence-edit__choice span{gap:.2rem;display:grid}.scheduling-recurrence-edit__choice small{color:var(--sched-ink-soft);font-size:.875rem;line-height:1.45}.scheduling-recurrence-edit__actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.scheduling-recurrence-edit__scope-summary{border:1px solid var(--color-brand);border-radius:var(--radius-md);background:var(--color-brand-soft);color:var(--sched-ink);padding:.75rem}.scheduling-new-time-grid input[readonly]{background:var(--color-surface-subtle);color:var(--sched-ink-soft);cursor:default}.scheduling-publish-confirm{gap:.5rem;display:grid}.scheduling-publish-confirm h3{margin:0;font-size:1.05rem;font-weight:700}.scheduling-publish-summary__audience{flex-wrap:wrap;gap:.35rem;margin:.45rem 0 0;padding:0;list-style:none;display:flex}.scheduling-publish-summary__audience li{border:1px solid var(--sched-line-strong);background:var(--sched-accent-soft);color:var(--sched-ink);border-radius:999px;padding:.25rem .5rem;font-size:.78rem;font-weight:700}.scheduling-publish-confirm p{color:var(--sched-ink-soft);margin:0;font-size:.85rem}.scheduling-publish-confirm dl{gap:.4rem;margin:0;display:grid}.scheduling-publish-confirm dl>div{border-top:1px solid var(--sched-line);justify-content:space-between;gap:.85rem;padding-top:.35rem;display:flex}.scheduling-publish-confirm dt{color:var(--sched-ink-soft);font-size:.78rem}.scheduling-publish-confirm dd{text-align:right;margin:0;font-weight:700}.scheduling-publish-confirm__actions{flex-wrap:wrap;gap:.5rem;display:flex}.scheduling-book-sheet{gap:.85rem;padding-bottom:1rem;display:grid}.scheduling-book-sheet>section{border-bottom:1px solid var(--sched-line);gap:.35rem;padding-bottom:.85rem;display:grid}.scheduling-book-sheet>section:last-child{border-bottom:0}.scheduling-book-sheet h3{letter-spacing:.06em;text-transform:uppercase;color:var(--sched-cta);margin:0;font-size:.78rem;font-weight:700}.scheduling-book-sheet__lesson{color:var(--sched-ink);margin:0;font-size:1rem;font-weight:700}.scheduling-book-sheet__meta{color:var(--sched-ink-soft);align-items:center;gap:.4rem;margin:0;font-size:.85rem;display:flex}.scheduling-book-sheet__policy,.scheduling-book-sheet__policy-time{color:var(--sched-ink-soft);margin:0;font-size:.82rem}.scheduling-book-sheet__hint{color:var(--sched-pending-fg);margin:0;font-size:.82rem;font-weight:600}.scheduling-book-sheet__summary{justify-content:space-between;align-items:center;gap:.5rem;margin:0;font-size:.85rem;display:flex}.scheduling-book-sheet__summary strong{font-weight:700}.scheduling-book-sheet__children{border:1px solid var(--sched-line);border-radius:var(--radius-button);margin:0;padding:.5rem .65rem}.scheduling-book-sheet__children legend{color:var(--sched-ink-soft);letter-spacing:.06em;text-transform:uppercase;padding-inline:.4rem;font-size:.7rem;font-weight:700}.scheduling-book-sheet__children-row{flex-wrap:wrap;gap:.4rem;display:flex}.portal-booking-detail-page{max-width:760px}.portal-booking-detail-page__header{padding-bottom:.25rem}.portal-booking-detail__back{width:fit-content;min-height:44px;color:var(--sched-cta);align-items:center;gap:.45rem;font-weight:700;display:inline-flex}.portal-booking-detail__back svg,.scheduling-book-sheet__detail-link svg{width:18px;height:18px}.portal-booking-detail__back svg{transform:rotate(180deg)}.portal-booking-detail__back:focus-visible,.scheduling-book-sheet__detail-link:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;border-radius:6px}.portal-booking-detail__offline{border:1px solid var(--sched-pending-fg);margin:0;padding:.65rem .8rem}@supports (color:color-mix(in lab, red, red)){.portal-booking-detail__offline{border:1px solid color-mix(in srgb, var(--sched-pending-fg) 30%, var(--sched-line))}}.portal-booking-detail__offline{border-radius:var(--radius-event);background:var(--sched-pending-bg);color:var(--sched-pending-fg);font-weight:700}.portal-booking-detail__reconfirmation{border:1px solid var(--color-warning);gap:.65rem;margin:0;padding:.85rem;display:grid}@supports (color:color-mix(in lab, red, red)){.portal-booking-detail__reconfirmation{border:1px solid color-mix(in srgb, var(--color-warning) 35%, var(--sched-line))}}.portal-booking-detail__reconfirmation{border-radius:var(--radius-event);background:var(--color-warning-soft);color:var(--color-warning)}.portal-booking-detail__transfer{border:1px solid var(--sched-pending-fg);gap:.7rem;margin:0;padding:1rem;display:grid}@supports (color:color-mix(in lab, red, red)){.portal-booking-detail__transfer{border:1px solid color-mix(in srgb, var(--sched-pending-fg) 35%, var(--sched-line))}}.portal-booking-detail__transfer{border-radius:var(--radius-event);background:var(--sched-pending-bg);color:var(--sched-ink)}.portal-booking-detail__transfer h3,.portal-booking-detail__transfer p{margin:0}.portal-booking-detail__transfer h3{color:var(--sched-pending-fg)}.portal-booking-detail__transfer .ui-button{justify-self:start;min-height:44px}.portal-booking-detail__reconfirmation h3{margin:0;font-weight:800}.portal-booking-detail__reconfirmation-title{margin:0;font-weight:700}.portal-booking-detail__reconfirmation-body{color:var(--sched-ink);margin:0;font-weight:600}.portal-booking-detail__reconfirmation .ui-button{align-self:start;min-height:44px}@media (max-width:480px){.portal-booking-detail__reconfirmation{padding:.75rem}.portal-booking-detail__reconfirmation .ui-button{align-self:stretch;width:100%}}.portal-booking-detail__card{border:1px solid var(--sched-line);border-radius:var(--radius-panel);background:var(--sched-surface);box-shadow:var(--shadow-card);gap:0;display:grid;overflow:hidden}.portal-booking-detail__card-header{border-bottom:1px solid var(--sched-line);background:var(--color-brand-soft);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.1rem;display:flex}@supports (color:color-mix(in lab, red, red)){.portal-booking-detail__card-header{background:color-mix(in srgb, var(--color-brand-soft) 44%, var(--sched-surface))}}.portal-booking-detail__kicker,.portal-booking-detail__meta,.portal-booking-detail__card-header h2{margin:0}.portal-booking-detail__kicker{color:var(--sched-cta);font-size:.78rem;font-weight:700}.portal-booking-detail__card-header h2{font-family:var(--font-ui);margin-top:.2rem;font-size:clamp(1.35rem,3vw,1.8rem);line-height:1.2}.portal-booking-detail__meta{color:var(--sched-ink-soft);font-variant-numeric:tabular-nums;margin-top:.35rem}.portal-booking-detail__status{border-radius:var(--radius-xs);flex:none;align-items:center;min-height:28px;padding:.2rem .6rem;font-size:.76rem;font-weight:700;display:inline-flex}.portal-booking-detail__status--positive{background:var(--color-success-soft);color:var(--color-success)}.portal-booking-detail__status--accent{background:var(--color-brand-soft-strong);color:var(--sched-cta-strong)}.portal-booking-detail__status--warning{background:var(--sched-pending-bg);color:var(--sched-pending-fg)}.portal-booking-detail__status--danger{background:var(--sched-danger-bg);color:var(--sched-danger-fg)}.portal-booking-detail__status--neutral{background:var(--sched-unavailable-bg);color:var(--sched-unavailable-fg)}.portal-booking-detail__section{border-bottom:1px solid var(--sched-line);gap:.75rem;padding:1rem 1.1rem;display:grid}.portal-booking-detail__section:last-child{border-bottom:0}.portal-booking-detail__section h3{color:var(--sched-cta);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:700}.portal-booking-detail__facts{gap:0;margin:0;display:grid}.portal-booking-detail__facts>div{border-top:1px solid var(--sched-line);grid-template-columns:minmax(8rem,.8fr) minmax(0,1.2fr);gap:1rem;padding:.65rem 0;display:grid}.portal-booking-detail__facts dt{color:var(--sched-ink-soft)}.portal-booking-detail__facts dd{text-align:right;font-variant-numeric:tabular-nums;gap:.15rem;margin:0;font-weight:700;display:grid}.portal-booking-detail__facts dd span{color:var(--sched-ink-soft);font-size:.82rem;font-weight:600}.portal-booking-detail__cancellation{gap:.85rem}.portal-booking-detail__cancellation>.ui-button{width:fit-content}.portal-booking-detail__error{border:1px solid var(--sched-danger-fg);margin:0;padding:.65rem .75rem}@supports (color:color-mix(in lab, red, red)){.portal-booking-detail__error{border:1px solid color-mix(in srgb, var(--sched-danger-fg) 28%, var(--sched-line))}}.portal-booking-detail__error{border-radius:var(--radius-event);background:var(--sched-danger-bg);color:var(--sched-danger-fg);font-weight:700}.portal-booking-detail__quote,.portal-booking-detail__pending,.portal-booking-detail__success{border:1px solid var(--sched-line);border-radius:var(--radius-event);background:var(--sched-workspace);gap:.65rem;padding:.85rem;display:grid}.portal-booking-detail__quote>p,.portal-booking-detail__success>p{margin:0}.portal-booking-detail__quote-title{color:var(--sched-cta);font-weight:800}.portal-booking-detail__terms{color:var(--sched-ink-soft);font-weight:600}.portal-booking-detail__pending{background:var(--sched-pending-bg);color:var(--sched-pending-fg)}.portal-booking-detail__success{border-color:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.portal-booking-detail__success{border-color:color-mix(in srgb, var(--color-success) 28%, var(--sched-line))}}.portal-booking-detail__success{background:var(--color-success-soft);color:var(--color-success)}.portal-booking-detail__success .portal-booking-detail__facts{color:var(--sched-ink)}.portal-booking-detail__actions{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.portal-booking-detail__state{border:1px solid var(--sched-line);border-radius:var(--radius-panel);background:var(--sched-surface);text-align:center;justify-items:center;gap:.65rem;min-height:260px;padding:2rem 1.2rem;display:grid}.portal-booking-detail__state-icon{border-radius:var(--radius-md);background:var(--sched-workspace);width:48px;height:48px;color:var(--sched-cta);justify-content:center;align-items:center;display:inline-flex}.portal-booking-detail__state-icon svg{width:24px;height:24px}.portal-booking-detail__state h2,.portal-booking-detail__state p{max-width:42rem;margin:0}.portal-booking-detail__state p{color:var(--sched-ink-soft)}.portal-booking-detail__state--error .portal-booking-detail__state-icon,.portal-booking-detail__state--not-found .portal-booking-detail__state-icon{background:var(--sched-danger-bg);color:var(--sched-danger-fg)}.portal-booking-detail__state--offline .portal-booking-detail__state-icon,.portal-booking-detail__state--loading .portal-booking-detail__state-icon{background:var(--sched-pending-bg);color:var(--sched-pending-fg)}.scheduling-book-sheet__detail-link{border:1px solid var(--sched-line);border-radius:var(--radius-button);background:var(--sched-surface);min-height:44px;color:var(--sched-cta);justify-content:space-between;align-items:center;gap:.55rem;margin-top:.75rem;padding:.55rem .7rem;font-weight:700;display:inline-flex}@media (max-width:767px){.portal-booking-detail-page{padding-bottom:calc(6.5rem + env(safe-area-inset-bottom))}.portal-booking-detail__card-header{display:grid}.portal-booking-detail__status{width:fit-content}.portal-booking-detail__facts>div{grid-template-columns:1fr;gap:.2rem}.portal-booking-detail__facts dd{text-align:left}.portal-booking-detail__actions{display:grid}.portal-booking-detail__actions>.ui-button,.portal-booking-detail__success>.ui-button{width:100%}}.scheduling-slot-row{border:1px solid var(--sched-line);border-radius:var(--radius-event);background:var(--sched-surface);min-height:64px;color:var(--sched-ink);text-align:left;cursor:pointer;grid-template-columns:88px minmax(0,1fr) auto 24px;align-items:center;gap:.85rem;padding:.55rem .85rem;font-family:inherit;transition:border-color .18s,background-color .18s;display:grid}.scheduling-slot-row:hover{border-color:var(--sched-line-strong)}.scheduling-slot-row.is-selected{border-color:var(--sched-cta);color:var(--sched-cta)}.scheduling-slot-row:focus-visible{outline:2px solid var(--sched-cta);outline-offset:2px}.scheduling-slot-row__time{color:inherit;font-variant-numeric:tabular-nums;align-items:center;gap:.4rem;font-size:.88rem;font-weight:700;display:flex}.scheduling-slot-row__time svg{width:14px}.scheduling-slot-row__body{gap:.15rem;min-width:0;display:grid}.scheduling-slot-row__title{color:inherit;font-size:.95rem;font-weight:600}.scheduling-slot-row__meta{color:var(--sched-ink-soft);font-size:.78rem}.scheduling-slot-row__badge{background:var(--sched-free-bg);min-height:20px;color:var(--sched-free-fg);letter-spacing:.04em;text-transform:uppercase;border-radius:4px;align-items:center;padding:.1rem .45rem;font-size:.7rem;font-weight:700;display:inline-flex}.scheduling-slot-row__cta{color:inherit;font-size:1.2rem;font-weight:600}.scheduling-day-accordion{gap:.45rem;display:grid}.scheduling-day-accordion__toggle{border:1px solid var(--sched-line);border-radius:var(--radius-button);background:var(--sched-surface);width:100%;min-height:44px;color:var(--sched-ink);text-align:left;cursor:pointer;align-items:center;gap:.85rem;padding:.55rem .85rem;font-family:inherit;display:flex}.scheduling-day-accordion__toggle:focus-visible{outline:2px solid var(--sched-cta);outline-offset:2px}.scheduling-day-accordion__weekday{letter-spacing:.06em;text-transform:uppercase;color:var(--sched-ink-soft);font-size:.78rem;font-weight:700}.scheduling-day-accordion__date{font-size:.95rem;font-weight:600}.scheduling-day-accordion__summary{color:var(--sched-ink-soft);margin-left:auto;font-size:.82rem}.scheduling-day-accordion__icon{color:var(--sched-ink-soft);font-size:1.1rem}.scheduling-day-accordion__panel{gap:.45rem;padding:.45rem 0;display:grid}.scheduling-day-accordion__panel[hidden]{display:none}.scheduling-day-header{border-bottom:1px solid var(--sched-line);justify-content:space-between;align-items:baseline;gap:.85rem;padding-bottom:.4rem;display:flex}.scheduling-day-header h2{letter-spacing:-.005em;color:var(--sched-ink);margin:0;font-size:1.1rem;font-weight:700}.scheduling-day-header span{color:var(--sched-ink-soft);font-size:.82rem}.scheduling-empty{border:1px dashed var(--sched-line);border-radius:var(--radius-panel);background:var(--sched-workspace);text-align:center;color:var(--sched-ink-soft);gap:.55rem;padding:1.5rem;display:grid}.scheduling-empty h2{color:var(--sched-ink);margin:0;font-size:1.05rem;font-weight:700}.scheduling-empty p{margin:0;font-size:.88rem}.scheduling-page--family{max-width:760px;margin-inline:auto;padding-inline:0}.scheduling-page--family .scheduling-page__header{padding-inline:0}.scheduling-page--family .scheduling-page__lead{display:none}.scheduling-page--family .scheduling-toolbar{flex-direction:column;align-items:stretch;gap:.65rem;padding:.65rem .85rem}.scheduling-page--family .scheduling-toolbar__range{justify-content:space-between;width:100%}.scheduling-page--family .scheduling-toolbar__cta{justify-content:flex-end;width:100%}.scheduling-page--family .scheduling-main--family{gap:1rem}.scheduling-page--family .scheduling-day-header,.scheduling-page--family .scheduling-agenda{padding-inline:0}.scheduling-page--family .scheduling-legend--family{background:0 0;border:0;padding-block:.5rem 0;padding-inline:0}.scheduling-page--portal-permission,.scheduling-page--portal-state{max-width:720px}.scheduling-page--portal-permission .scheduling-main--family,.scheduling-page--portal-state .scheduling-main--family{padding:0}@media (max-width:1023px){.scheduling-page--family .scheduling-toolbar__range{flex:none}}@media (min-width:1024px){.scheduling-page--family{padding-inline:0}.scheduling-page--family .scheduling-toolbar{flex-direction:row;align-items:center;gap:.85rem}.scheduling-page--family .scheduling-toolbar__range{justify-content:flex-start;width:auto}.scheduling-page--family .scheduling-toolbar__cta{width:auto}.scheduling-page--family .scheduling-detail--sheet{border-top-left-radius:16px;border-top-right-radius:16px;width:min(400px,92vw);max-height:none;inset:5.5rem 1.25rem 1.25rem auto}.scheduling-page--family .scheduling-detail__footer{padding:.85rem 1rem}}@media (min-width:1440px){.scheduling-page--family{max-width:820px}.scheduling-page--family .scheduling-detail--sheet{width:min(440px,36vw)}}@media (min-width:1024px){.dashboard-page{gap:24px;max-width:920px}.dashboard-grid{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:20px}}@media (max-width:767px){.scheduling-page--family{padding-bottom:calc(6.5rem + env(safe-area-inset-bottom))}.scheduling-page--family .scheduling-empty{min-height:220px;padding:1.25rem}.scheduling-page--family .scheduling-page__header{padding-block:.4rem .5rem}.scheduling-page--family .scheduling-toolbar{border-radius:12px;padding:.6rem .75rem}.scheduling-page--family .scheduling-detail--sheet{border-radius:24px 24px 0 0;width:100%;max-height:92dvh;inset:auto 0 0}}.scheduling-agenda__entry{border:1px solid var(--color-line);background:var(--color-surface);min-height:72px;color:var(--color-ink);text-align:left;cursor:pointer;border-radius:12px;grid-template-columns:minmax(140px,1fr) minmax(0,1fr) auto;align-items:center;gap:.85rem;padding:.7rem .9rem;font-family:inherit;transition:border-color .18s cubic-bezier(.2,.8,.2,1),background-color .18s cubic-bezier(.2,.8,.2,1),transform .18s cubic-bezier(.2,.8,.2,1);display:grid}.scheduling-agenda__entry:hover{border-color:var(--color-line-strong);background:var(--color-surface-subtle)}.scheduling-agenda__entry:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.scheduling-agenda__entry:active{transform:scale(.99)}.scheduling-agenda__entry--selected{border-color:var(--color-brand);background:var(--color-brand-soft)}.scheduling-filter-chip{border:1px solid var(--color-line);background:var(--color-surface);min-height:44px;color:var(--color-ink);cursor:pointer;border-radius:999px;padding:.5rem .95rem;font-size:.875rem;font-weight:600;transition:background-color .18s cubic-bezier(.2,.8,.2,1),border-color .18s cubic-bezier(.2,.8,.2,1),color .18s cubic-bezier(.2,.8,.2,1)}.scheduling-filter-chip:hover{border-color:var(--color-line-strong)}.scheduling-filter-chip:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.scheduling-filter-chip.is-selected{background:var(--color-brand);border-color:var(--color-brand);color:var(--color-on-brand)}.scheduling-book-sheet>section{border-bottom:1px solid var(--color-line);padding-bottom:1rem}.scheduling-book-sheet__children{border:1px solid var(--color-line);border-radius:12px;padding:.65rem .85rem}.scheduling-book-sheet__facts{border-top:1px solid var(--color-line);gap:0;margin:.25rem 0 0;display:grid}.scheduling-book-sheet__facts>div{border-bottom:1px solid var(--color-line);grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:.75rem;padding:.6rem 0;display:grid}.scheduling-book-sheet__facts dt,.scheduling-book-sheet__facts dd{min-width:0;margin:0;font-size:.82rem;line-height:1.4}.scheduling-book-sheet__facts dt{color:var(--color-ink-muted)}.scheduling-book-sheet__facts dd{color:var(--color-ink);text-align:right;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;font-weight:650}.scheduling-book-sheet__facts--review{margin-top:.75rem}.scheduling-book-sheet__price-explanation{border:1px solid var(--sched-cta);gap:.28rem;margin:.85rem 0 0;padding:.78rem .9rem .8rem 1rem;display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.scheduling-book-sheet__price-explanation{border:1px solid color-mix(in srgb, var(--sched-cta) 30%, var(--color-line))}}.scheduling-book-sheet__price-explanation{background:linear-gradient(135deg, var(--sched-cta) 0%, var(--sched-cta) 100%);border-radius:16px}@supports (color:color-mix(in lab, red, red)){.scheduling-book-sheet__price-explanation{background:linear-gradient(135deg, color-mix(in srgb, var(--sched-cta) 10%, var(--color-surface)) 0%, color-mix(in srgb, var(--sched-cta) 3%, var(--color-surface)) 100%)}}.scheduling-book-sheet__price-explanation{color:var(--color-ink)}.scheduling-book-sheet__price-explanation:before{background:var(--sched-cta);content:"";width:4px;position:absolute;inset:0 auto 0 0}.scheduling-book-sheet__price-explanation[data-state=FINAL]{border-color:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.scheduling-book-sheet__price-explanation[data-state=FINAL]{border-color:color-mix(in srgb, var(--color-success) 34%, var(--color-line))}}.scheduling-book-sheet__price-explanation[data-state=FINAL]{background:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.scheduling-book-sheet__price-explanation[data-state=FINAL]{background:color-mix(in srgb, var(--color-success) 7%, var(--color-surface))}}.scheduling-book-sheet__price-explanation[data-state=FINAL]:before{background:var(--color-success)}.scheduling-book-sheet__price-explanation strong,.scheduling-book-sheet__price-explanation p,.scheduling-book-sheet__price-explanation small{margin:0}.scheduling-book-sheet__price-explanation strong{letter-spacing:-.01em;font-size:.84rem}.scheduling-book-sheet__price-explanation p{color:var(--color-ink-muted);font-size:.8rem;line-height:1.48}.scheduling-book-sheet__price-explanation small{color:var(--color-ink-soft);font-variant-numeric:tabular-nums;font-size:.75rem}.scheduling-book-sheet__cancellation-policy{border:1px solid var(--color-line);background:var(--sched-workspace);border-radius:16px;gap:.38rem;margin:.7rem 0 0;padding:.78rem .9rem;display:grid}@supports (color:color-mix(in lab, red, red)){.scheduling-book-sheet__cancellation-policy{background:color-mix(in srgb, var(--sched-workspace) 54%, var(--sched-surface))}}.scheduling-book-sheet__cancellation-policy[data-state=unavailable]{border-color:var(--sched-pending-fg)}@supports (color:color-mix(in lab, red, red)){.scheduling-book-sheet__cancellation-policy[data-state=unavailable]{border-color:color-mix(in srgb, var(--sched-pending-fg) 30%, var(--color-line))}}.scheduling-book-sheet__cancellation-policy[data-state=unavailable]{background:var(--sched-pending-bg)}@supports (color:color-mix(in lab, red, red)){.scheduling-book-sheet__cancellation-policy[data-state=unavailable]{background:color-mix(in srgb, var(--sched-pending-bg) 42%, var(--sched-surface))}}.scheduling-book-sheet__cancellation-policy strong,.scheduling-book-sheet__cancellation-policy p,.scheduling-book-sheet__cancellation-policy ul{margin:0}.scheduling-book-sheet__cancellation-policy strong{color:var(--color-ink);font-size:.84rem}.scheduling-book-sheet__cancellation-policy p,.scheduling-book-sheet__cancellation-policy li{color:var(--color-ink-muted);font-size:.79rem;line-height:1.48}.scheduling-book-sheet__cancellation-policy ul{gap:.2rem;padding-inline-start:1.1rem;display:grid}.scheduling-book-sheet__review-lead,.scheduling-book-sheet__success-body,.scheduling-book-sheet__progress p{color:var(--color-ink-muted);margin:0;font-size:.9rem;line-height:1.5}.scheduling-book-sheet__progress{border:1px solid var(--color-brand-soft-strong);background:var(--color-brand-soft);border-radius:12px;padding:.9rem}.scheduling-book-sheet__success{border:1px solid var(--color-success);padding:.9rem}@supports (color:color-mix(in lab, red, red)){.scheduling-book-sheet__success{border:1px solid color-mix(in srgb, var(--color-success) 24%, var(--color-line))}}.scheduling-book-sheet__success{background:var(--color-success-soft);border-radius:12px}.scheduling-book-sheet__success-eyebrow{color:var(--color-success);letter-spacing:.05em;text-transform:uppercase;margin:0 0 .3rem;font-size:.72rem;font-weight:700}.scheduling-book-sheet__success h3,.scheduling-book-sheet__success-body{color:var(--color-ink)}.scheduling-book-sheet__facts--success{border-top-color:var(--color-success);margin-top:1rem}@supports (color:color-mix(in lab, red, red)){.scheduling-book-sheet__facts--success{border-top-color:color-mix(in srgb, var(--color-success) 24%, var(--color-line))}}.scheduling-book-sheet__facts--success>div{border-bottom-color:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.scheduling-book-sheet__facts--success>div{border-bottom-color:color-mix(in srgb, var(--color-success) 24%, var(--color-line))}}@media (max-width:479px){.scheduling-book-sheet__facts>div{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:.5rem}.scheduling-book-sheet__facts dt,.scheduling-book-sheet__facts dd{font-size:.8rem}}.scheduling-legend--family{background:var(--color-surface);border-color:var(--color-line)}.scheduling-legend--family .scheduling-legend__title{color:var(--color-ink)}.scheduling-legend__swatch--free{background:var(--color-available-soft);border-color:var(--color-available)}@supports (color:color-mix(in lab, red, red)){.scheduling-legend__swatch--free{border-color:color-mix(in srgb, var(--color-available) 28%, transparent)}}.scheduling-legend__swatch--unavailable{background:var(--color-unavailable-soft);border-color:var(--color-unavailable)}@supports (color:color-mix(in lab, red, red)){.scheduling-legend__swatch--unavailable{border-color:color-mix(in srgb, var(--color-unavailable) 28%, transparent)}}.scheduling-legend__swatch--danger{background:var(--color-danger-soft);border-color:var(--color-danger)}@supports (color:color-mix(in lab, red, red)){.scheduling-legend__swatch--danger{border-color:color-mix(in srgb, var(--color-danger) 28%, transparent)}}.scheduling-page--portal-permission .module-state h2,.scheduling-page--portal-state .module-state h2{font-family:var(--font-ui);letter-spacing:-.02em;color:var(--color-ink)}.scheduling-page--portal-permission .module-state p,.scheduling-page--portal-state .module-state p{color:var(--color-ink-muted)}.scheduling-page--portal-permission .module-state__icon,.scheduling-page--portal-state .module-state__icon{background:var(--color-danger-soft);color:var(--color-danger)}@media (max-width:1023px){.scheduling-page{padding-bottom:5rem}}@media (max-width:899px){.scheduling-toolbar{flex-direction:column;align-items:stretch}.scheduling-toolbar__range{justify-content:space-between}.scheduling-week-grid{overflow-x:auto}.scheduling-detail--overlay{width:min(360px,92vw)}}@media (max-width:719px){.scheduling-page{padding-bottom:5rem}.scheduling-mini-week{flex-wrap:nowrap;overflow-x:auto}.scheduling-mini-week__day{flex:1 0 56px}.scheduling-week-grid{overflow-x:auto}.scheduling-toolbar{flex-direction:column}.scheduling-toolbar__cta{justify-content:flex-end}.scheduling-slot-row{grid-template-columns:76px minmax(0,1fr) auto 20px;padding:.45rem .7rem}.scheduling-detail--overlay{border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;border:1px solid var(--sched-line);width:100%;max-height:82dvh;box-shadow:var(--sched-overlay-shadow);inset:auto 0 0}}@media (prefers-reduced-motion:reduce){.scheduling-page *,.scheduling-page :before,.scheduling-page :after{transition:none!important;animation:none!important}}.scheduling-desktop-view{min-width:0;display:block}.scheduling-mobile-view{display:none}.scheduling-sidebar__filters{min-width:0}.scheduling-filter-panel{border:0;gap:12px;min-width:0;margin:0;padding:0;display:grid}.scheduling-filter-panel__legend{color:var(--color-ink);font-family:var(--font-ui);margin:0;padding:0;font-size:.9rem;font-weight:700}.scheduling-filter-panel label{gap:4px;min-width:0;display:grid}.scheduling-filter-panel label>span{color:var(--color-ink-muted);font-size:.8rem;font-weight:650}.scheduling-filter-panel input,.scheduling-filter-panel select{border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;min-width:0;min-height:44px;color:var(--color-ink);font:inherit;padding:8px 12px}.scheduling-filter-panel input:focus-visible,.scheduling-filter-panel select:focus-visible{border-color:var(--color-brand);outline:3px solid var(--color-focus);outline-offset:2px}.scheduling-filter-panel__search{order:-1}.scheduling-filter-panel__result{color:var(--color-ink-muted);white-space:nowrap;overflow-wrap:normal;word-break:normal;min-width:fit-content;font-size:.875rem;font-weight:650}.scheduling-filter-panel__chips{flex-wrap:wrap;gap:8px;display:flex}.scheduling-filter-chip--removable{overflow-wrap:anywhere;align-items:center;gap:8px;max-width:100%;min-height:44px;padding-inline:12px 8px;display:inline-flex}.scheduling-filter-chip--removable svg{flex:none;width:16px;height:16px}.scheduling-filter-panel__clear,.scheduling-filter-trigger{border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface);min-height:44px;color:var(--color-brand);font:inherit;cursor:pointer;padding:8px 12px;font-weight:700}.scheduling-filter-panel__clear{justify-self:start}.scheduling-filter-trigger{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.scheduling-filter-trigger:hover,.scheduling-filter-panel__clear:hover{border-color:var(--color-brand);background:var(--color-brand-soft)}.scheduling-filter-trigger:focus-visible,.scheduling-filter-panel__clear:focus-visible,.scheduling-filter-surface__close:focus-visible,.scheduling-filter-surface__scrim:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.scheduling-filter-trigger__count{border-radius:var(--radius-pill);background:var(--color-brand-soft-strong);min-width:22px;min-height:22px;color:var(--color-brand-strong);font-variant-numeric:tabular-nums;place-items:center;padding-inline:5px;font-size:.75rem;display:inline-grid}.scheduling-filter-surface{z-index:90;position:fixed;inset:0}.scheduling-filter-surface__scrim{background:var(--color-scrim);cursor:default;border:0;width:100%;position:absolute;inset:0}.scheduling-filter-surface__panel{background:var(--color-surface);width:min(400px,100vw);box-shadow:var(--shadow-overlay);flex-direction:column;display:flex;position:absolute;top:0;bottom:0;right:0}.scheduling-filter-surface__header{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:center;gap:16px;min-height:72px;padding:12px 20px;display:flex}.scheduling-filter-surface__header h2{font-size:1.125rem}.scheduling-filter-surface__close{border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface);width:44px;height:44px;color:var(--color-ink-muted);cursor:pointer;place-items:center;display:inline-grid}.scheduling-filter-surface__close svg{width:20px;height:20px}.scheduling-filter-surface__body{padding:20px;overflow:auto}.scheduling-month-grid{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);min-width:0;overflow:hidden}.scheduling-month-grid__weekdays,.scheduling-month-grid__cells{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.scheduling-month-grid__weekdays{border-bottom:1px solid var(--color-line);background:var(--color-surface-subtle)}.scheduling-month-grid__weekdays span{min-width:0;color:var(--color-ink-muted);text-align:center;text-transform:uppercase;padding:12px 8px;font-size:.75rem;font-weight:700}.scheduling-month-grid__cell{border-right:1px solid var(--color-line);border-bottom:1px solid var(--color-line);background:var(--color-surface);min-width:0;min-height:116px;padding:8px}.scheduling-month-grid__cell:nth-child(7n){border-right:0}.scheduling-month-grid__cell.is-outside{background:var(--color-surface-subtle)}.scheduling-month-grid__cell.is-outside>*{opacity:.62}.scheduling-month-grid__cell.is-today{box-shadow:inset 0 3px 0 var(--signal-app)}.scheduling-month-grid__date{border-radius:var(--radius-sm);min-width:44px;min-height:44px;color:var(--color-ink);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:6px 8px;font-weight:700;display:inline-flex}.scheduling-month-grid__date:hover,.scheduling-month-grid__date:focus-visible{border-color:var(--color-brand);background:var(--color-brand-soft);outline:3px solid var(--color-focus);outline-offset:1px}.scheduling-month-grid__count{border-radius:var(--radius-pill);background:var(--color-brand-soft-strong);min-width:20px;min-height:20px;color:var(--color-brand-strong);place-items:center;font-size:.7rem;display:inline-grid}.scheduling-month-grid__sessions{gap:4px;min-width:0;display:grid}.scheduling-month-grid__session-row{grid-template-columns:minmax(0,1fr) 44px;align-items:stretch;gap:4px;min-width:0;display:grid}.scheduling-month-grid__session-actions{border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-surface);width:44px;min-height:44px;color:var(--color-ink-muted);cursor:pointer;place-items:center;padding:0;display:grid}.scheduling-month-grid__session-actions:hover,.scheduling-month-grid__session-actions:focus-visible{border-color:var(--color-brand);color:var(--color-brand-strong);outline:3px solid var(--color-focus);outline-offset:1px}.scheduling-month-grid__session{border-radius:var(--radius-xs);background:var(--color-info-soft);min-width:0;min-height:44px;color:var(--color-info);font:inherit;text-align:left;cursor:pointer;border:1px solid #0000;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:5px;padding:5px 6px;font-size:.75rem;display:grid;overflow:hidden}.scheduling-month-grid__session--group{background:var(--color-group-soft);color:var(--color-group)}.scheduling-month-grid__session--danger{background:var(--color-danger-soft);color:var(--color-danger)}.scheduling-month-grid__session--unavailable,.scheduling-month-grid__session--neutral{background:var(--color-unavailable-soft);color:var(--color-unavailable)}.scheduling-month-grid__session:hover,.scheduling-month-grid__session:focus-visible{outline:3px solid var(--color-focus);outline-offset:1px;border-color:currentColor}.scheduling-month-grid__session time,.scheduling-month-grid__session span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.scheduling-month-grid__session time{font-variant-numeric:tabular-nums;font-weight:700}.scheduling-month-grid__more{color:var(--color-ink-muted);font-size:.75rem;font-weight:650}.scheduling-day-timeline{gap:16px;min-width:0;display:grid}.scheduling-day-timeline__header{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:end;gap:16px;padding:4px 0 12px;display:flex}.scheduling-day-timeline__weekday{color:var(--color-brand);margin:0 0 4px;font-size:.8rem;font-weight:700}.scheduling-day-timeline__header h2{font-size:clamp(1.15rem,2vw,1.5rem)}.scheduling-day-timeline__count{color:var(--color-ink-muted);text-align:right;font-size:.875rem;font-weight:650}.scheduling-day-timeline__actions{border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);background:var(--color-surface);min-width:44px;min-height:44px;color:var(--color-brand-strong);font:inherit;cursor:pointer;justify-content:center;align-items:center;padding:8px 12px;font-weight:700;display:inline-flex}.scheduling-day-timeline__actions:hover{background:var(--color-brand-soft)}.scheduling-day-timeline__header-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.scheduling-block-time__time-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.scheduling-block-time__time-fields label{min-width:0;color:var(--color-ink-muted);gap:6px;font-size:.875rem;font-weight:700;display:grid}.scheduling-block-time__time-fields input,.scheduling-block-time__time-fields select{min-width:0;min-height:44px}@media (max-width:1023px){.scheduling-sidebar__filters,.scheduling-sidebar,.main-content--app .scheduling-canvas--teacher .scheduling-sidebar,.scheduling-desktop-view{display:none}.scheduling-mobile-view{display:block}.scheduling-filter-trigger{display:inline-flex}}@media (min-width:1024px){.scheduling-filter-trigger,.scheduling-filter-surface{display:block}.scheduling-filter-trigger{display:inline-flex}}@media (min-width:1024px) and (max-width:1439px){.scheduling-sidebar__filters{display:none}}@media (max-width:767px){.scheduling-page{min-width:0;overflow-x:clip}.scheduling-month-grid__cell{min-height:72px;padding:4px}.scheduling-month-grid__session{min-height:44px;display:block}.scheduling-month-grid__session time{display:block}.scheduling-month-grid__session span{display:none}.scheduling-month-grid__weekdays span{padding-inline:2px;font-size:.65rem}.scheduling-filter-surface__panel{border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:92dvh;top:auto}.scheduling-filter-surface__scrim{background:var(--color-scrim)}.scheduling-day-timeline__header{flex-direction:column;align-items:start}.scheduling-day-timeline__count{text-align:left}.scheduling-day-timeline__header-actions{justify-content:space-between;width:100%}.scheduling-block-time__time-fields{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.scheduling-filter-panel *,.scheduling-filter-surface *{scroll-behavior:auto;transition:none}}.ui-status--danger{background:var(--danger-soft);color:var(--danger)}.login-page{justify-items:center;gap:clamp(1.5rem,3vw,2.25rem);min-width:0;padding-block:clamp(2rem,5vw,3rem) clamp(2.5rem,6vw,4rem);display:grid}.login-page__intro{text-align:center;width:100%;max-width:32rem;margin-inline:auto}.login-page__intro .eyebrow{justify-content:center;margin:0 0 .65rem}.login-page__intro h1{color:var(--color-ink);font-family:var(--font-ui);letter-spacing:-.025em;margin:0;font-size:clamp(1.55rem,2.2vw,2rem);font-weight:700;line-height:1.15}.login-page__intro>p:last-child{max-width:38ch;color:var(--color-ink-muted);margin:.7rem auto 0;font-size:.98rem;line-height:1.5}.login-card{gap:1rem;width:min(400px,100%);padding:clamp(1.35rem,3vw,1.75rem);display:grid}.login-card__form{gap:.95rem;margin:0;display:grid}.login-card__challenge-heading{gap:.4rem;display:grid}.login-card__challenge-heading h2,.login-card__challenge-heading p{margin:0}.login-card__challenge-heading h2{color:var(--color-ink);font-size:1.2rem;line-height:1.25}.login-card__challenge-heading p{color:var(--color-ink-muted);font-size:.9rem;line-height:1.5}.login-card__field{gap:.4rem;min-width:0;display:grid}.login-card__field>span{color:var(--color-ink);font-family:var(--font-ui);font-size:.875rem;font-weight:600;line-height:1.3}.login-card__field input{border:1px solid var(--color-line);background:var(--color-surface);width:100%;min-height:48px;color:var(--color-ink);border-radius:8px;padding:.6rem .85rem;font-family:inherit;font-size:1rem;line-height:1.4;transition:border-color .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s cubic-bezier(.2,.8,.2,1)}.login-card__field input::placeholder{color:var(--color-ink-faint)}.login-card__field input:hover:not(:focus-visible):not([aria-invalid=true]){border-color:var(--color-line-strong)}.login-card__field input:focus-visible{border-color:var(--color-brand);box-shadow:0 0 0 3px var(--color-brand)}@supports (color:color-mix(in lab, red, red)){.login-card__field input:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-brand) 22%, transparent)}}.login-card__field input:focus-visible{outline:none}.login-card__field input[aria-invalid=true]{border-color:var(--color-danger)}.login-card__field input[aria-invalid=true]:focus-visible{box-shadow:0 0 0 3px var(--color-danger)}@supports (color:color-mix(in lab, red, red)){.login-card__field input[aria-invalid=true]:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-danger) 22%, transparent)}}.login-card__forgot-password{min-height:44px;color:var(--color-brand-strong);border-radius:6px;justify-self:start;align-items:center;padding-inline:.2rem;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-flex}.login-card__forgot-password:hover{text-underline-offset:.2em;text-decoration:underline}.login-card__forgot-password:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.login-card__remember{min-height:44px;color:var(--color-ink);cursor:pointer;align-items:center;gap:.6rem;font-size:.92rem;font-weight:500;display:inline-flex}.login-card__remember input[type=checkbox]{cursor:pointer;width:20px;height:20px;accent-color:var(--color-brand);margin:0}.login-card__hint{color:var(--color-ink-muted);margin:0;font-size:.82rem;line-height:1.45}.login-card__offline{border:1px solid var(--color-warning);margin:0;padding:.7rem .85rem}@supports (color:color-mix(in lab, red, red)){.login-card__offline{border:1px solid color-mix(in srgb, var(--color-warning) 40%, var(--color-line))}}.login-card__offline{background:var(--color-warning-soft);color:var(--color-warning);border-radius:8px;font-size:.85rem;font-weight:600;line-height:1.4}.login-card__secondary-actions{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.login-card__secondary-actions .ui-button{min-height:44px}.login-card__submit{background:var(--gradient-brand);width:100%;min-height:48px;color:var(--color-on-brand);box-shadow:0 10px 24px var(--color-brand);border-color:#0000;font-size:.98rem}@supports (color:color-mix(in lab, red, red)){.login-card__submit{box-shadow:0 10px 24px color-mix(in srgb, var(--color-brand) 24%, transparent)}}.login-card__submit{transition:transform .18s cubic-bezier(.2,.8,.2,1),background-color .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s cubic-bezier(.2,.8,.2,1)}.login-card__submit:hover:not(:disabled){background:var(--color-brand-strong);box-shadow:0 12px 28px var(--color-brand)}@supports (color:color-mix(in lab, red, red)){.login-card__submit:hover:not(:disabled){box-shadow:0 12px 28px color-mix(in srgb, var(--color-brand) 30%, transparent)}}.login-card__submit:hover:not(:disabled){transform:translateY(-1px)}.login-card__submit:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.login-card__submit:disabled{cursor:not-allowed;opacity:.65;box-shadow:none;transform:none}@media (max-width:480px){.login-page__intro h1{font-size:clamp(1.4rem,6.4vw,1.65rem)}.login-card{padding:1.2rem 1.1rem}.login-card__secondary-actions{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.login-card__field input,.login-card__submit{transition:none}.login-card__submit:hover:not(:disabled){transform:none}}.app-sidebar{z-index:60;border-right:1px solid var(--color-line);background:var(--color-surface);flex-direction:column;width:164px;padding:20px 12px 12px;display:flex;position:fixed;inset:0 auto 0 0}.app-sidebar__brand{padding-inline:8px;font-size:1.05rem}.app-sidebar__brand .brand__mark{border-radius:8px;width:30px;height:30px}.app-sidebar__navigation{gap:4px;margin-top:28px;display:grid}.app-sidebar__navigation a{min-height:44px;color:var(--color-ink-muted);border-radius:12px;align-items:center;gap:10px;padding:8px 12px;font-size:.875rem;font-weight:600;transition:color .18s cubic-bezier(.2,.8,.2,1),background-color .18s cubic-bezier(.2,.8,.2,1);display:flex}.app-sidebar__navigation a:hover{background:var(--color-surface-subtle);color:var(--color-ink)}.app-sidebar__navigation a[aria-current=page]{background:var(--color-brand-soft);color:var(--color-brand)}.app-sidebar__navigation svg{flex:none;width:20px;height:20px}.app-sidebar__footer{border-top:1px solid var(--color-line);gap:8px;margin-top:auto;padding-top:12px;display:grid}.app-sidebar__footer .locale-switcher,.app-sidebar__footer .ui-button{width:100%}.app-mobile-header{display:none}.main-content--app{background:var(--color-canvas);min-height:100dvh;margin-left:164px;padding:24px}.main-content--app .section-shell{width:100%}.main-content--app .scheduling-page{background:0 0;gap:12px;padding:0}.main-content--app .scheduling-page__header{justify-content:space-between;align-items:center;gap:24px;min-height:60px;padding:0 4px;display:flex}.main-content--app .scheduling-page__eyebrow span{color:var(--color-ink-muted);font-family:var(--font-ui);letter-spacing:.025em;margin:0 0 4px}.main-content--app .scheduling-page__eyebrow h1{color:var(--color-ink);font-family:var(--font-ui);letter-spacing:-.025em;font-size:clamp(1.55rem,2.2vw,2rem);font-weight:700}.main-content--app .scheduling-toolbar{border-color:var(--color-line);background:var(--color-surface);border-radius:12px;min-height:72px;padding:10px 12px}.main-content--app .scheduling-toolbar__cta .ui-button--primary,.main-content--app .scheduling-empty .ui-button,.scheduling-detail .ui-button--primary{background:var(--gradient-brand);min-height:44px;color:var(--color-on-brand);box-shadow:none;border-radius:12px}.main-content--app .scheduling-toolbar__cta .ui-button--primary:hover:not(:disabled),.main-content--app .scheduling-empty .ui-button:hover:not(:disabled),.scheduling-detail .ui-button--primary:hover:not(:disabled){background:linear-gradient(135deg, var(--color-brand-strong), #563ac9);transform:none}.scheduling-toolbar__filter-count{border-color:var(--color-line);background:var(--color-surface-subtle);min-height:36px;color:var(--color-ink-muted)}.scheduling-date-stepper{gap:8px}.scheduling-date-stepper .ui-button,.scheduling-view-switcher__option{min-height:44px;box-shadow:none;border-radius:8px;transform:none}.scheduling-view-switcher{border:0;border-bottom:1px solid var(--color-line);border-radius:0;gap:0;padding:0}.scheduling-view-switcher__option{border-radius:0;padding-inline:12px;position:relative}.scheduling-view-switcher__option.is-selected{color:var(--color-brand);background:0 0}.scheduling-view-switcher__option.is-selected:after{content:"";background:var(--color-brand);height:2px;position:absolute;inset:auto 8px -1px}.main-content--app .scheduling-canvas--teacher{grid-template-columns:240px minmax(0,1fr);gap:12px}.main-content--app .scheduling-sidebar{border-color:var(--color-line);background:var(--color-surface);border-radius:12px;gap:16px;padding:16px}.scheduling-mini-month,.scheduling-legend,.scheduling-summary{border-color:var(--color-line);background:var(--color-surface)}.scheduling-mini-month__cell:hover,.scheduling-mini-month__cell.is-selected,.scheduling-mini-week__day.is-selected{background:var(--signal-app-soft);border-color:var(--signal-app);color:var(--signal-app)}.scheduling-filters{border:0;gap:12px;padding:0}.scheduling-filters select,.scheduling-filters input{border-color:var(--color-line);border-radius:8px;min-height:44px;padding-inline:12px}.scheduling-filters select:hover,.scheduling-filters input:hover{border-color:var(--color-line-strong)}.scheduling-week-grid{border-color:var(--color-line);background:var(--color-surface);border-radius:12px}.scheduling-week-grid__column{background:var(--color-surface)}.scheduling-week-grid__day-header.is-today{background:var(--color-brand-soft)}.scheduling-week-grid__day-header.is-today .scheduling-week-grid__day-number{color:var(--color-brand);border-color:var(--color-brand)}.scheduling-week-grid__tick{border-bottom-color:var(--color-line);opacity:.72}.scheduling-week-grid__tick:not(.is-hour){border-bottom-color:var(--color-line)}@supports (color:color-mix(in lab, red, red)){.scheduling-week-grid__tick:not(.is-hour){border-bottom-color:color-mix(in srgb, var(--color-line) 55%, transparent)}}.scheduling-event-block{border-color:var(--color-available)}@supports (color:color-mix(in lab, red, red)){.scheduling-event-block{border-color:color-mix(in srgb, var(--color-available) 28%, transparent)}}.scheduling-event-block{background:var(--color-available-soft);color:var(--color-available);transition:filter .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s cubic-bezier(.2,.8,.2,1)}.scheduling-event-block--individual{border-color:var(--color-info)}@supports (color:color-mix(in lab, red, red)){.scheduling-event-block--individual{border-color:color-mix(in srgb, var(--color-info) 28%, transparent)}}.scheduling-event-block--individual{background:var(--color-info-soft);color:var(--color-info)}.scheduling-event-block--group{border-color:var(--color-group)}@supports (color:color-mix(in lab, red, red)){.scheduling-event-block--group{border-color:color-mix(in srgb, var(--color-group) 28%, transparent)}}.scheduling-event-block--group{background:var(--color-group-soft);color:var(--color-group)}.scheduling-event-block--unavailable{border-color:var(--color-unavailable)}@supports (color:color-mix(in lab, red, red)){.scheduling-event-block--unavailable{border-color:color-mix(in srgb, var(--color-unavailable) 24%, transparent)}}.scheduling-event-block--unavailable{background:var(--color-unavailable-soft);color:var(--color-unavailable)}.scheduling-event-block--danger{border-color:var(--color-danger)}@supports (color:color-mix(in lab, red, red)){.scheduling-event-block--danger{border-color:color-mix(in srgb, var(--color-danger) 28%, transparent)}}.scheduling-event-block--danger{background:var(--color-danger-soft);color:var(--color-danger)}.scheduling-event-block:hover{filter:brightness(.985)saturate(1.04);box-shadow:0 4px 12px #15182117}.scheduling-event-block:focus-visible,.scheduling-event-block.is-selected{outline:3px solid var(--color-focus);outline-offset:2px}.scheduling-detail__scrim{background:#1518216b}.scheduling-detail{border-color:var(--color-line);background:var(--color-surface);color:var(--color-ink);font-family:var(--font-ui);border-radius:16px}.scheduling-detail__title{font-family:var(--font-ui);letter-spacing:-.015em}.scheduling-detail__eyebrow{color:var(--color-brand)}.scheduling-detail__close{border-color:var(--color-line);border-radius:12px;width:44px;height:44px}.scheduling-detail__footer{background:var(--color-surface)}.scheduling-empty{border-style:solid;border-color:var(--color-line);background:var(--color-surface);align-content:center;min-height:320px}@media (min-width:1440px){.scheduling-detail--persistent{border-radius:16px}}@media (min-width:768px) and (max-width:1023px){.app-sidebar{width:72px;padding-inline:8px}.app-sidebar__brand{justify-content:center;padding:0}.app-sidebar__brand>span:last-child,.app-sidebar__navigation a span,.app-sidebar__footer{display:none}.app-sidebar__navigation a{justify-content:center;padding-inline:0}.main-content--app{margin-left:72px;padding:20px}.legal-footer--app{margin-left:72px}}@media (max-width:1023px){.main-content--app .scheduling-canvas--teacher{grid-template-columns:1fr}.main-content--app .scheduling-sidebar{order:0;display:block}.main-content--app .scheduling-sidebar>.scheduling-mini-month,.main-content--app .scheduling-sidebar>.scheduling-legend,.main-content--app .scheduling-sidebar>.scheduling-summary{display:none}.main-content--app .scheduling-filters{grid-template-columns:repeat(5,minmax(120px,1fr));padding-bottom:4px;display:grid;overflow-x:auto}.main-content--app .scheduling-main{order:1}}@media (max-width:767px){body{padding-bottom:calc(58px + env(safe-area-inset-bottom))}.legal-footer--app{margin-left:0}.app-sidebar{display:none}.app-mobile-header{z-index:50;border-bottom:1px solid var(--color-line);background:var(--color-surface);min-height:56px;display:block;position:sticky;top:0}.app-mobile-header .site-header__inner{grid-template-columns:48px minmax(0,1fr) 48px;gap:8px;width:100%;min-height:56px;padding-inline:8px;display:grid}.app-mobile-header .brand{justify-content:center;margin:0}.app-mobile-header .brand>span:last-child{display:none}.app-mobile-header .brand__mark{border-radius:8px;width:28px;height:28px}.app-mobile-header__title{color:var(--color-ink);font-family:var(--font-ui);text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;overflow:hidden}.app-mobile-header .site-header__actions{justify-content:flex-end}.app-mobile-header .locale-switcher{justify-content:center;width:44px;min-height:44px;padding:0}.app-mobile-header .locale-switcher select{opacity:0;width:44px;height:44px;min-height:44px;position:absolute}.main-content--app{min-height:calc(100dvh - 56px);margin-left:0;padding:12px 12px 24px}.main-content--app .scheduling-page__header{min-height:auto;padding:4px}.main-content--app .scheduling-page__eyebrow span,.main-content--app .scheduling-page__lead{display:none}.main-content--app .scheduling-page__eyebrow h1{font-size:1.25rem}.main-content--app .scheduling-toolbar{align-items:stretch;padding:10px}.main-content--app .scheduling-toolbar__range{flex-wrap:wrap;justify-content:space-between}.main-content--app .scheduling-toolbar__cta{justify-content:space-between}.main-content--app .scheduling-toolbar__cta .ui-button{flex:1}.main-content--app .scheduling-filters{grid-template-columns:repeat(5,minmax(148px,1fr))}.main-content--app .scheduling-sidebar{border-inline:0;border-radius:0;margin-inline:-12px;padding:12px}.scheduling-mini-week__day{border-radius:8px;min-width:48px;min-height:56px}.scheduling-agenda__entry{border-radius:12px;grid-template-columns:92px minmax(0,1fr);min-height:72px}.scheduling-agenda__badge{grid-column:2;width:fit-content}.scheduling-detail--overlay{border-radius:24px 24px 0 0;max-height:92dvh}.mobile-navigation{min-height:calc(58px + env(safe-area-inset-bottom));padding:0 max(4px, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(4px, env(safe-area-inset-left));border-color:var(--color-line);background:var(--color-surface);-webkit-backdrop-filter:none;backdrop-filter:none;display:grid}.mobile-navigation a{min-height:58px;color:var(--color-ink-muted);background:0 0;border-radius:0;position:relative}.mobile-navigation a[aria-current=page]{color:var(--color-brand);background:0 0}.mobile-navigation a[aria-current=page]:before{content:"";background:var(--color-brand);height:2px;position:absolute;inset:0 12px auto}}.students-page{gap:20px;padding-block:0 24px;display:grid}.students-page .module-heading h1{letter-spacing:-.025em;max-width:24ch;color:var(--color-ink);margin:0;font-family:IBM Plex Sans Variable,Noto Sans,Segoe UI,sans-serif;font-size:1.375rem;font-weight:700;line-height:1.75rem}.students-page .module-heading>div>p:last-child{max-width:62ch;color:var(--color-ink-muted);margin-top:.75rem;font-size:.95rem;line-height:1.5}.students-page__workspace{gap:16px;padding:0;display:grid}.students-page__workspace.ui-card{background:var(--color-surface);box-shadow:none;border-radius:8px}.students-page__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.students-page__count{color:var(--color-ink-muted);letter-spacing:.04em;text-transform:uppercase;font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:800}.students-page__filters{background:var(--color-surface-subtle);margin:0}.student-roster{margin:0;padding:0;list-style:none}.student-roster__row{border-top:1px solid var(--color-line);grid-template-columns:minmax(220px,1.3fr) minmax(120px,.7fr) minmax(140px,.8fr) minmax(180px,1fr) minmax(120px,.5fr);align-items:center;gap:16px;min-height:76px;padding:14px 12px;display:grid}.student-roster__row:last-child{border-bottom:1px solid var(--color-line)}.student-roster__person{align-items:center;gap:12px;min-width:0;display:flex}.student-roster__avatar{background:var(--color-brand-soft);width:42px;height:42px;color:var(--color-brand);border-radius:6px;flex:none;place-items:center;display:grid}.student-roster__avatar svg{width:20px;height:20px}.student-roster__name{gap:2px;min-width:0;display:grid}.student-roster__name strong{overflow-wrap:anywhere;color:var(--color-ink);font-size:.95rem;font-weight:700}.student-roster__name small{color:var(--color-ink-muted);font-size:.82rem}.student-roster__cell{gap:4px;min-width:0;display:grid}.student-roster__label{color:var(--color-ink-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.68rem;font-weight:850;display:none}.student-roster__value{min-width:0;color:var(--color-ink);overflow-wrap:anywhere;font-size:.9rem;font-weight:600}.student-roster__cell--next .student-roster__value{font-variant-numeric:tabular-nums;color:var(--color-ink)}.student-roster__cell--status{justify-items:start}@media (max-width:1050px){.student-roster__row{grid-template-columns:minmax(200px,1.2fr) minmax(100px,.65fr) minmax(120px,.7fr) minmax(160px,.9fr) minmax(110px,.5fr);gap:12px}}@media (max-width:720px){.student-roster__row{grid-template-columns:1fr 1fr;align-items:start;gap:12px 16px;padding:16px 12px}.student-roster__person{border-bottom:1px solid var(--color-line);grid-column:1/-1;padding-bottom:12px}.student-roster__label{display:block}.student-roster__cell--status{grid-column:1/-1;justify-items:start}}@media (max-width:440px){.student-roster__row{grid-template-columns:1fr}.student-roster__cell,.student-roster__cell--status{grid-column:1}}.students-directory{grid-template-columns:minmax(0,1fr);align-items:start;gap:18px;display:grid}.students-directory--creating{grid-template-columns:minmax(0,1fr) minmax(320px,410px)}.students-page__head-actions,.students-page__search-actions,.students-directory__form-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.students-page__filters{grid-template-columns:minmax(220px,1fr) auto;align-items:end;display:grid}.student-roster__row--real{grid-template-columns:minmax(190px,1.2fr) minmax(90px,.5fr) minmax(135px,.7fr) minmax(90px,.4fr) minmax(190px,.75fr)}.student-roster__row--archived{background:var(--color-surface-subtle)}@supports (color:color-mix(in lab, red, red)){.student-roster__row--archived{background:color-mix(in srgb, var(--color-surface-subtle) 76%, var(--color-surface))}}.student-roster__row--archived .student-roster__avatar,.student-roster__row--archived .student-roster__value,.student-roster__row--archived .student-roster__name small{color:var(--color-ink-muted)}.student-roster__header{background:var(--color-surface-subtle);min-height:38px;color:var(--color-ink-muted);letter-spacing:.055em;text-transform:uppercase;border-top:0;padding-block:8px;font-size:.7rem;font-weight:800}.student-roster__actions{gap:4px;min-width:0;display:grid}.student-roster__calendar{white-space:nowrap;justify-content:flex-start;min-height:44px;padding:.55rem .72rem;text-decoration:none}.student-roster__calendar svg{width:18px;height:18px}.students-directory__empty{border:1px dashed var(--color-line);background:var(--color-surface-subtle);text-align:center;border-radius:7px;align-content:center;place-items:center;gap:10px;min-height:260px;padding:32px;display:grid}.students-directory__empty>span,.students-directory__create-icon{background:var(--color-brand-soft);width:46px;height:46px;color:var(--color-brand);border-radius:6px;place-items:center;display:grid}.students-directory__empty svg,.students-directory__create-icon svg{width:22px;height:22px}.students-directory__empty h2,.students-directory__empty p,.students-directory__create h2,.students-directory__create p{margin:0}.students-directory__empty p,.students-directory__create p{color:var(--color-ink-muted);line-height:1.55}.students-directory__more{justify-self:center}.students-directory__create{border-color:var(--color-brand);gap:18px;padding:16px;display:grid;position:sticky;top:86px}@supports (color:color-mix(in lab, red, red)){.students-directory__create{border-color:color-mix(in srgb, var(--color-brand) 35%, var(--color-line))}}.students-directory__create{box-shadow:none}.students-directory__create>header{align-items:flex-start;gap:12px;display:flex}.students-directory__create>header>div:last-child{gap:5px;display:grid}.students-directory__form{grid-template-columns:1fr 1fr;gap:14px;display:grid}.students-directory__form label{min-width:0;color:var(--color-ink-muted);gap:7px;font-size:.78rem;font-weight:800;display:grid}.students-directory__form input,.students-directory__form select,.students-directory__form textarea{border:1px solid var(--color-line);background:var(--color-surface);width:100%;min-height:44px;color:var(--color-ink);font:inherit;border-radius:5px;padding:.65rem .75rem;font-weight:600}.students-directory__form textarea{resize:vertical;line-height:1.5}.students-directory__form input:focus-visible,.students-directory__form select:focus-visible,.students-directory__form textarea:focus-visible{outline:3px solid var(--color-brand)}@supports (color:color-mix(in lab, red, red)){.students-directory__form input:focus-visible,.students-directory__form select:focus-visible,.students-directory__form textarea:focus-visible{outline:3px solid color-mix(in srgb, var(--color-brand) 24%, transparent)}}.students-directory__form input:focus-visible,.students-directory__form select:focus-visible,.students-directory__form textarea:focus-visible{outline-offset:2px;border-color:var(--color-brand)}.students-directory__checkbox{grid-template-columns:auto 1fr;align-self:end;align-items:center;min-height:44px}.students-directory__checkbox input{width:20px;min-height:20px;accent-color:var(--color-brand)}.students-directory__archive-filter{color:var(--color-ink-muted);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;font-size:.78rem;font-weight:750;display:grid}.students-directory__status-confirmation{grid-template-columns:1fr}.students-directory__status-confirmation>*{grid-column:1}.students-directory__wide,.students-directory__form-actions{grid-column:1/-1}.students-directory__live{min-height:1.4em;color:var(--color-success);grid-column:1/-1;margin:0;font-weight:750}.students-directory__live--error{color:var(--color-danger)}@media (max-width:1180px){.students-directory--creating{grid-template-columns:1fr}.students-directory__create{grid-row:1;position:static}}@media (max-width:720px){.student-roster__header{display:none}.students-page__head-actions,.students-page__search-actions{justify-content:stretch;width:100%}.students-page__head-actions .ui-button,.students-page__search-actions .ui-button{flex:1}.students-page__filters{grid-template-columns:1fr}.student-roster__row--real{grid-template-columns:1fr 1fr}.student-roster__calendar{grid-column:1/-1}.student-roster__actions{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.student-roster__actions .student-roster__calendar{grid-column:auto;justify-content:center}}@media (max-width:440px){.student-roster__actions{grid-template-columns:minmax(0,1fr)}}@media (max-width:520px){.students-directory__form{grid-template-columns:1fr}.students-directory__form label,.students-directory__form-actions{grid-column:1}.students-directory__form-actions .ui-button{flex:1}}.messages-page{gap:24px;padding-block:8px 24px;display:grid}.messages-page .module-heading h1{max-width:22ch;font-family:var(--font-ui);letter-spacing:-.025em;color:var(--color-ink);margin:0;font-size:clamp(1.55rem,2.2vw,2rem);font-weight:700;line-height:1.15}.messages-page .module-heading>div>p:last-child{max-width:62ch;color:var(--color-ink-muted);margin:.75rem 0 0;font-size:.95rem;line-height:1.5}@media (max-width:720px){.messages-page{gap:16px;padding-block:4px 16px}}.finance-page{gap:24px;padding-block:8px 40px}.finance-page .module-heading h1,.finance-page .ledger-section h2{font-family:var(--font-ui);letter-spacing:-.025em;font-weight:700}.finance-page .module-heading h1{font-size:clamp(1.55rem,2.2vw,2rem);line-height:1.15}.finance-page .module-heading>div>p:last-child{max-width:62ch;color:var(--color-ink-muted)}.finance-page .metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}.finance-page .metric-card{border:1px solid var(--color-line);background:var(--color-surface);min-width:0;box-shadow:none;border-radius:12px;padding:20px}.finance-page .metric-card>span{background:var(--color-brand-soft);width:36px;height:36px;color:var(--color-brand);border-radius:8px}.finance-page .metric-card--violet>span{background:var(--color-brand-violet)}@supports (color:color-mix(in lab, red, red)){.finance-page .metric-card--violet>span{background:color-mix(in srgb, var(--color-brand-violet) 12%, var(--color-surface))}}.finance-page .metric-card--violet>span{color:var(--color-brand-violet)}.finance-page .metric-card--positive>span{background:var(--color-success-soft);color:var(--color-success)}.finance-page .metric-card--neutral>span{background:var(--color-surface-subtle);color:var(--color-ink-muted)}.finance-page .metric-card p{color:var(--color-ink-muted);margin:16px 0 4px;font-size:.875rem;line-height:1.35}.finance-page .metric-card strong,.finance-page .ledger-amount{font-family:var(--font-ui);font-variant-numeric:tabular-nums}.finance-page .metric-card strong{color:var(--color-ink);font-size:clamp(1.35rem,2.2vw,1.8rem);line-height:1.1}.finance-page .ledger-section{border:1px solid var(--color-line);background:var(--color-surface);box-shadow:none;border-radius:16px;overflow:hidden}.finance-page .ledger-section>header{border-bottom:1px solid var(--color-line);padding:20px 24px}.finance-page .ledger-section header .eyebrow{color:var(--color-brand)}.finance-page .ledger-section h2{font-size:1.25rem;line-height:1.25}.finance-page .ledger-section header .ui-status{background:var(--color-success-soft);color:var(--color-success)}.finance-page .ledger-permission{background:var(--color-info-soft);color:var(--color-info);padding:12px 24px;font-size:.875rem;font-weight:600}.finance-page .ledger-list__header,.finance-page .ledger-list li{grid-template-columns:minmax(112px,.75fr) minmax(180px,1.25fr) minmax(150px,1fr) minmax(112px,.7fr) minmax(124px,.75fr);gap:16px;padding:14px 24px}.finance-page .ledger-list__header{background:var(--color-surface-subtle);color:var(--color-ink-muted);letter-spacing:.01em;text-transform:none;font-size:.75rem}.finance-page .ledger-list li{min-height:72px;color:var(--color-ink)}.finance-page .ledger-list li:hover{background:var(--color-surface-subtle)}.finance-page .ledger-cell{min-width:0}.finance-page .ledger-cell--date,.finance-page .ledger-cell--student{color:var(--color-ink-muted);font-size:.875rem}.finance-page .ledger-cell--type{gap:2px;display:grid}.finance-page .ledger-cell--type strong{overflow-wrap:anywhere;font-weight:650}.finance-page .ledger-list small{color:var(--color-ink-faint);font-family:var(--font-ui);font-size:.75rem}.finance-page .ledger-cell__label{display:none}.finance-page .ledger-amount{color:var(--color-ink);text-align:right;justify-self:end;font-size:1rem;font-weight:700}.finance-page .ledger-amount--credit{color:var(--color-success)}.finance-page .ledger-section>footer{border-top:1px solid var(--color-line);color:var(--color-ink-muted);padding:14px 24px;font-size:.8125rem}@media (max-width:1050px){.finance-page .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.finance-page .ledger-list__header{display:none}.finance-page .ledger-list li{grid-template-columns:minmax(0,1fr) auto;gap:12px 16px;padding:16px 20px}.finance-page .ledger-cell__label{color:var(--color-ink-muted);margin-bottom:3px;font-size:.6875rem;font-weight:600;line-height:1.25;display:block}.finance-page .ledger-cell--type,.finance-page .ledger-cell--student,.finance-page .ledger-cell--status{grid-column:1}.finance-page .ledger-amount{grid-area:1/2/span 2}}@media (max-width:720px){.finance-page{gap:16px;padding-block:4px 24px}.finance-page .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.finance-page .metric-card{padding:16px}.finance-page .ledger-section>header{flex-direction:column;align-items:flex-start;padding:16px 20px}.finance-page .ledger-permission{align-items:flex-start;padding:12px 20px}}@media (max-width:440px){.finance-page .metric-grid{grid-template-columns:1fr}.finance-page .ledger-list li{grid-template-columns:1fr;padding:16px}.finance-page .ledger-amount{text-align:left;grid-area:auto/1;justify-self:start}}.more-page{gap:20px;padding-block:0 40px;display:grid}.more-page .module-heading h1{letter-spacing:-.025em;max-width:22ch;color:var(--color-ink);margin:0;font-family:IBM Plex Sans Variable,Noto Sans,Segoe UI,sans-serif;font-size:1.375rem;font-weight:700;line-height:1.75rem}.more-page .module-heading>div>p:last-child{max-width:62ch;color:var(--color-ink-muted);margin:.75rem 0 0;font-size:.95rem;line-height:1.5}.more-page .module-link-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.more-page .module-link-card{min-height:96px;color:var(--color-ink);grid-template-rows:auto auto;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:4px 14px;padding:14px 16px;transition:background-color .18s,border-color .18s;display:grid}.more-page .module-link-card:hover{background:var(--color-surface-subtle);border-color:var(--color-line-strong);transform:none}.more-page .module-link-card__icon{background:var(--color-brand-soft);width:44px;height:44px;color:var(--color-brand);border-radius:5px;grid-row:1/-1}.more-page .module-link-card__icon svg{width:22px}.more-page .module-link-card h2{letter-spacing:-.01em;color:var(--color-ink);grid-column:2;margin:0;font-family:IBM Plex Sans Variable,Noto Sans,Segoe UI,sans-serif;font-size:1rem;font-weight:650;line-height:1.3}.more-page .module-link-card p{color:var(--color-ink-muted);grid-column:2;margin:0;font-size:.875rem;line-height:1.45}.more-page .module-link-card__action{border-top:0;border-inline-start:1px solid var(--color-line);letter-spacing:.01em;color:var(--color-brand);grid-area:1/3/-1;align-self:stretch;margin:0;padding:0 0 0 14px;font-size:.8rem;font-weight:700}.more-page .module-link-card__action svg{width:16px;transition:transform .18s}.more-page .module-link-card:hover .module-link-card__action svg{transform:translate(2px)}@media (max-width:720px){.more-page{gap:16px;padding-block:4px 24px}.more-page .module-link-grid{grid-template-columns:1fr}.more-page .module-link-card{grid-template-columns:40px minmax(0,1fr)}.more-page .module-link-card__icon{width:40px;height:40px}.more-page .module-link-card__action{border:0;grid-area:3/2;justify-self:start;padding:6px 0 0}}.scheduling-tool-switcher{flex:0 12rem;gap:4px;min-width:0;display:grid}.scheduling-tool-switcher__label{color:var(--color-ink-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.7rem;font-weight:700}.scheduling-tool-switcher__group{border:1px solid var(--color-line);background:var(--color-surface);border-radius:8px;gap:2px;min-height:44px;padding:2px;display:flex}.scheduling-tool-switcher__option{min-width:44px;min-height:40px;color:var(--color-ink-muted);font:inherit;cursor:pointer;transition:background-color var(--motion-base) var(--ease-standard), color var(--motion-base) var(--ease-standard), border-color var(--motion-base) var(--ease-standard);background:0 0;border:1px solid #0000;border-radius:6px;flex:1 1 0;padding:6px 10px;font-size:.82rem;font-weight:700}.scheduling-tool-switcher__option:hover{border-color:var(--color-line-strong);background:var(--color-surface-subtle);color:var(--color-brand)}.scheduling-tool-switcher__option.is-selected,.scheduling-tool-switcher__option[aria-checked=true]{border-color:var(--color-brand);background:var(--color-brand-soft);color:var(--color-brand-strong);box-shadow:inset 0 -2px 0 var(--color-brand)}.scheduling-tool-switcher__option:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.scheduling-tool-switcher__hint{max-width:34ch;color:var(--color-ink-muted);margin:0;font-size:.75rem;line-height:1.35}.scheduling-week-grid__availability-paint{z-index:1;cursor:crosshair;touch-action:none;min-height:44px;position:absolute;inset:0}.scheduling-week-grid__availability-paint:hover{background:var(--color-available)}@supports (color:color-mix(in lab, red, red)){.scheduling-week-grid__availability-paint:hover{background:color-mix(in srgb, var(--color-available) 4%, transparent)}}.scheduling-availability-window{z-index:2;border:2px dashed var(--color-available);border-radius:var(--radius-event);background:var(--color-available-soft);min-width:0;min-height:16px;color:var(--color-available);font-variant-numeric:tabular-nums;pointer-events:none;flex-direction:column;gap:1px;padding:3px 6px;display:flex;position:absolute;left:4px;right:4px;overflow:visible}.scheduling-availability-window__slot{z-index:-1;border:1px solid var(--color-available);min-height:4px;position:absolute;left:4px;right:4px}@supports (color:color-mix(in lab, red, red)){.scheduling-availability-window__slot{border:1px solid color-mix(in srgb, var(--color-available) 48%, transparent)}}.scheduling-availability-window__slot{background:var(--color-available);border-radius:4px}@supports (color:color-mix(in lab, red, red)){.scheduling-availability-window__slot{background:color-mix(in srgb, var(--color-available) 18%, var(--color-surface))}}.scheduling-availability-window__label,.scheduling-availability-window__time,.scheduling-availability-window__count{z-index:1;white-space:nowrap;max-width:100%;display:block;position:relative;overflow:visible}.scheduling-availability-window__label{font-size:.62rem;font-weight:700}.scheduling-availability-window__time{font-size:.7rem;font-weight:800}.scheduling-availability-window__count{font-size:.62rem;font-weight:600}.scheduling-availability-panel,.scheduling-availability-empty{gap:12px;min-width:0;display:grid}.scheduling-availability-panel__notice{border:1px solid var(--color-available);padding:10px 12px}@supports (color:color-mix(in lab, red, red)){.scheduling-availability-panel__notice{border:1px solid color-mix(in srgb, var(--color-available) 34%, var(--color-line))}}.scheduling-availability-panel__notice{background:var(--color-available-soft);color:var(--color-ink);border-radius:8px}.scheduling-availability-panel__notice strong{color:var(--color-available);font-family:var(--font-ui);font-size:.88rem;display:block}.scheduling-availability-panel__notice p,.scheduling-availability-panel__summary p,.scheduling-availability-panel__lead,.scheduling-availability-panel__precision,.scheduling-availability-results__header p,.scheduling-availability-empty p{color:var(--color-ink-muted);margin:4px 0 0;font-size:.82rem;line-height:1.45}.scheduling-availability-panel__lead,.scheduling-availability-panel__precision{margin:0}.scheduling-availability-panel__summary{border:1px solid var(--color-available);gap:2px;padding:10px 12px;display:grid}@supports (color:color-mix(in lab, red, red)){.scheduling-availability-panel__summary{border:1px solid color-mix(in srgb, var(--color-available) 34%, var(--color-line))}}.scheduling-availability-panel__summary{background:var(--color-available-soft);border-radius:10px}.scheduling-availability-panel__summary strong{color:var(--color-available);font:700 .86rem/1.25 Manrope Variable,Manrope,Noto Sans,sans-serif}.scheduling-availability-panel__summary span{color:var(--color-ink);font-variant-numeric:tabular-nums;font-size:.82rem}.scheduling-availability-panel__selection{border:1px solid var(--color-line);border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0;margin:0;padding:10px;display:grid}.scheduling-availability-panel__selection label:first-of-type{grid-column:1/-1}.scheduling-availability-panel__selection legend{color:var(--color-ink);padding-inline:4px;font:700 .86rem/1.25 Manrope Variable,Manrope,Noto Sans,sans-serif}.scheduling-availability-panel__selection label{min-width:0;color:var(--color-ink-muted);gap:4px;font-size:.75rem;font-weight:700;display:grid}.scheduling-availability-panel__selection input{border:1px solid var(--color-line);background:var(--color-surface);width:100%;min-width:0;min-height:44px;color:var(--color-ink);font-variant-numeric:tabular-nums;border-radius:8px;padding:8px 10px;font-size:.88rem}.scheduling-availability-panel__selection input:focus-visible{border-color:var(--color-brand);outline:3px solid var(--color-focus);outline-offset:2px}.scheduling-availability-panel__staged{border:1px solid var(--color-line);background:var(--color-surface);border-radius:12px;gap:8px;padding:10px;display:grid}.scheduling-availability-panel__staged-heading{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.scheduling-availability-panel__staged-heading h3{color:var(--color-ink);margin:0;font:700 .86rem/1.25 Manrope Variable,Manrope,Noto Sans,sans-serif}.scheduling-availability-panel__staged-heading span{color:var(--color-ink-muted);font-size:.75rem}.scheduling-availability-panel__staged ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.scheduling-availability-panel__staged li{background:var(--color-available-soft);min-height:40px;color:var(--color-ink);font-variant-numeric:tabular-nums;border-radius:8px;grid-template-columns:minmax(0,1fr) 36px;align-items:center;gap:8px;padding:5px 6px 5px 10px;font-size:.78rem;display:grid}.scheduling-availability-panel__staged li button{min-width:36px;min-height:36px;color:var(--color-danger);cursor:pointer;background:0 0;border:0;border-radius:8px;font-size:1.1rem}.scheduling-availability-panel__staged li button:hover{background:var(--color-danger-soft)}.scheduling-availability-panel__staged li button:focus-visible{outline:3px solid var(--color-focus);outline-offset:1px}.scheduling-availability-panel__advanced{border:1px solid var(--color-line);background:var(--color-surface);border-radius:10px;overflow:clip}.scheduling-availability-panel__advanced>summary{min-height:44px;color:var(--color-ink);cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 10px;padding:9px 12px;font-size:.82rem;font-weight:700;display:grid}.scheduling-availability-panel__advanced>summary:after{content:"+";color:var(--color-brand);grid-area:1/2/span 2;font-size:1.2rem;line-height:1}.scheduling-availability-panel__advanced[open]>summary:after{content:"−"}.scheduling-availability-panel__advanced>summary small{color:var(--color-ink-muted);font-size:.72rem;font-weight:500}.scheduling-availability-panel__advanced-body{gap:10px;padding:0 10px 10px;display:grid}.scheduling-availability-panel__draft-actions{flex-wrap:wrap;gap:8px;display:flex}.scheduling-availability-panel__draft-actions .ui-button{flex:160px}.scheduling-availability-panel__precision{border-left:2px solid var(--color-brand);padding-left:10px}.scheduling-availability-panel__fields,.scheduling-availability-panel__buffers{border:1px solid var(--color-line);border-radius:12px;gap:8px;min-width:0;margin:0;padding:10px;display:grid}.scheduling-availability-panel__fields legend,.scheduling-availability-panel__buffers legend{color:var(--color-ink);font-family:var(--font-ui);padding-inline:4px;font-size:.86rem;font-weight:700}.scheduling-availability-panel__fields label{min-width:0;color:var(--color-ink-muted);gap:4px;font-size:.75rem;font-weight:700;display:grid}.scheduling-availability-panel__fields input,.scheduling-availability-panel__fields select{border:1px solid var(--color-line);background:var(--color-surface);width:100%;min-width:0;min-height:44px;color:var(--color-ink);font-variant-numeric:tabular-nums;border-radius:8px;padding:8px 10px;font-size:.88rem}.scheduling-availability-panel__fields input:hover,.scheduling-availability-panel__fields select:hover{border-color:var(--color-line-strong)}.scheduling-availability-panel__fields input:focus-visible,.scheduling-availability-panel__fields select:focus-visible{border-color:var(--color-brand);outline:3px solid var(--color-focus);outline-offset:2px}.scheduling-availability-panel__buffer-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.scheduling-availability-panel__buffer-option{border:1px solid var(--color-line);background:var(--color-surface);min-width:0;min-height:44px;color:var(--color-ink-muted);text-align:center;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:8px 6px;font-size:.78rem;font-weight:700;display:flex;position:relative}.scheduling-availability-panel__buffer-option:has(input:checked){border-color:var(--color-brand);background:var(--color-brand-soft);color:var(--color-brand-strong);box-shadow:inset 0 0 0 1px var(--color-brand)}.scheduling-availability-panel__buffer-option:has(input:focus-visible){outline:3px solid var(--color-focus);outline-offset:2px}.scheduling-availability-panel__buffer-option input{cursor:pointer;opacity:0;width:100%;height:100%;margin:0;position:absolute;inset:0}.scheduling-availability-panel__actions{z-index:2;border-top:1px solid var(--color-line);background:var(--color-surface);flex-wrap:wrap;gap:8px;padding:10px 0 2px;display:flex;position:sticky;bottom:0}.scheduling-availability-panel__actions .ui-button{flex:140px;min-height:44px}.scheduling-availability-create{border-top:1px solid var(--color-line);gap:8px;min-width:0;padding-top:10px;display:grid}.scheduling-availability-create__button{width:100%;min-height:48px}.scheduling-availability-create__helper{color:var(--color-ink-muted);margin:0;font-size:.78rem;line-height:1.4}.scheduling-availability-create__alert{border-left:2px solid var(--color-warning);background:var(--color-warning-soft);color:var(--color-warning);margin:0;padding:8px 10px;font-size:.78rem;font-weight:700;line-height:1.4}.scheduling-availability-panel__status{min-height:20px;color:var(--color-ink-muted);font-size:.8rem;line-height:1.4}.scheduling-availability-panel__status p{margin:0}.scheduling-availability-panel__error,.scheduling-availability-alternative__invalid{font-weight:700;color:var(--color-danger)!important}.scheduling-availability-results{border-top:1px solid var(--color-line);gap:10px;min-width:0;padding-top:4px;display:grid}.scheduling-availability-results__header h3,.scheduling-availability-empty h3{color:var(--color-ink);font-family:var(--font-ui);margin:0;font-size:.98rem;font-weight:700}.scheduling-availability-alternatives{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}.scheduling-availability-alternative{border:1px solid var(--color-line);background:var(--color-surface);min-width:0;min-height:44px;color:var(--color-ink);cursor:pointer;border-radius:12px;padding:10px 10px 10px 38px;display:block;position:relative}.scheduling-availability-alternative:hover{border-color:var(--color-line-strong);background:var(--color-surface-subtle)}.scheduling-availability-alternative.is-selected{border-color:var(--color-brand);background:var(--color-brand-soft);box-shadow:inset 0 0 0 1px var(--color-brand)}.scheduling-availability-alternative>input{width:18px;height:18px;margin:0;position:absolute;top:14px;left:12px}.scheduling-availability-alternative:has(input:focus-visible){outline:3px solid var(--color-focus);outline-offset:2px}.scheduling-availability-alternative__content{gap:6px;min-width:0;display:grid}.scheduling-availability-alternative__heading{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.scheduling-availability-alternative__heading strong{overflow-wrap:anywhere;min-width:0;font-family:var(--font-ui);font-size:.84rem}.scheduling-availability-alternative__state{background:var(--color-unavailable-soft);color:var(--color-unavailable);border-radius:6px;flex:none;padding:3px 6px;font-size:.68rem;font-weight:700}.scheduling-availability-alternative__state--ok{background:var(--color-available-soft);color:var(--color-available)}.scheduling-availability-alternative__details,.scheduling-availability-alternative__invalid{color:var(--color-ink-muted);margin:0;font-size:.78rem;line-height:1.4}.scheduling-availability-alternative__details>p{margin:0}.scheduling-availability-alternative__details dl{gap:4px;margin:6px 0 0;display:grid}.scheduling-availability-alternative__details dl>div{border-top:1px solid var(--color-line);grid-template-columns:minmax(0,auto) minmax(0,1fr);gap:8px;padding-top:4px;display:grid}.scheduling-availability-alternative__details dt{color:var(--color-ink-muted)}.scheduling-availability-alternative__details dd{min-width:0;color:var(--color-ink);text-align:right;margin:0;font-weight:700}.scheduling-availability-slots{flex-wrap:wrap;justify-content:flex-end;gap:4px;margin:0;padding:0;list-style:none;display:flex}.scheduling-availability-slots li{background:var(--color-available-soft);color:var(--color-available);font-variant-numeric:tabular-nums;border-radius:4px;padding:3px 5px;font-size:.72rem}.scheduling-availability-warning{border-left:2px solid var(--color-warning);background:var(--color-warning-soft);color:var(--color-warning);margin:6px 0 0;padding:6px 8px;font-size:.75rem;font-weight:700}.scheduling-availability-empty{border:1px dashed var(--color-line-strong);background:var(--color-surface-subtle);border-radius:12px;align-content:center;min-height:240px;padding:16px}.scheduling-availability-empty .ui-button{width:fit-content;min-height:44px}@media (max-width:1023px){.scheduling-tool-switcher{flex-basis:100%}}@media (max-width:479px){.scheduling-page,.scheduling-page__header,.scheduling-toolbar,.scheduling-toolbar__range,.scheduling-toolbar__cta,.scheduling-mini-week,.scheduling-date-stepper,.scheduling-detail--sheet,.scheduling-detail--sheet .scheduling-detail__header,.scheduling-detail--sheet .scheduling-detail__body,.scheduling-detail--sheet .scheduling-detail__footer,.scheduling-availability-panel,.scheduling-availability-empty{width:100%;min-width:0;max-width:100%}.scheduling-toolbar>*,.scheduling-toolbar__range>*{min-width:0;max-width:100%}.scheduling-date-stepper{flex-wrap:wrap;flex:100%}.scheduling-date-stepper strong{flex:1 1 0;min-width:0}.scheduling-date-stepper .ui-button{min-height:44px}.scheduling-mini-week{flex-wrap:nowrap;overflow-x:auto}.scheduling-mini-week__day{flex:0 0 56px}.scheduling-detail--sheet .scheduling-detail__body{overflow-x:hidden}.scheduling-tool-switcher__option{padding-inline:6px}.scheduling-availability-panel__fields,.scheduling-availability-panel__selection,.scheduling-availability-panel__buffer-options{grid-template-columns:1fr}.scheduling-availability-panel__actions{display:grid;position:static}.scheduling-availability-panel__actions .ui-button,.scheduling-availability-create__button{width:100%}.scheduling-availability-alternative__heading{flex-direction:column;align-items:flex-start}.scheduling-availability-alternative__details dl>div{grid-template-columns:1fr;gap:2px}.scheduling-availability-alternative__details dd{text-align:left}.scheduling-availability-slots{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){.scheduling-tool-switcher__option{transition:none}}.main-content--app,.main-content--app .scheduling-page,.main-content--app .scheduling-toolbar,.main-content--app .scheduling-canvas,.main-content--app .scheduling-main{min-width:0;max-width:100%}.main-content--app .scheduling-page{overflow-x:clip}.main-content--app .scheduling-event-slot{z-index:3}.main-content--app .scheduling-event-block{left:4px;right:4px}.main-content--app .scheduling-week-grid{overscroll-behavior-x:contain;width:100%;max-width:100%;overflow:auto hidden}.main-content--app .scheduling-date-stepper .ui-button{min-width:44px;min-height:44px}.main-content--app .scheduling-mini-month__cell:not(.scheduling-mini-month__cell--weekday):not(.scheduling-mini-month__cell--empty){min-height:44px;position:relative}.main-content--app .scheduling-mini-month__cell:not(.scheduling-mini-month__cell--weekday):not(.scheduling-mini-month__cell--empty):before{content:"";pointer-events:auto;border-radius:6px;width:44px;height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (max-width:767px){.main-content--app .scheduling-toolbar__range,.main-content--app .scheduling-toolbar__cta{width:100%;min-width:0;max-width:100%}.main-content--app .scheduling-mini-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;padding-bottom:0;display:grid;overflow:visible}.main-content--app .scheduling-mini-week__day{width:100%;min-width:44px;min-height:56px;padding-inline:2px}.main-content--app .scheduling-mini-week__weekday--full,.main-content--app .scheduling-date-stepper__label-full{display:none}.main-content--app .scheduling-mini-week__weekday--compact,.main-content--app .scheduling-date-stepper__label-compact{display:inline}.main-content--app .scheduling-toolbar__range{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.main-content--app .scheduling-date-stepper,.main-content--app .scheduling-view-switcher,.main-content--app .scheduling-mode-switcher,.main-content--app .scheduling-tool-switcher{width:100%;min-width:0;max-width:100%}.main-content--app .scheduling-date-stepper{grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;display:grid}.main-content--app .scheduling-date-stepper strong{text-align:center;text-overflow:ellipsis;white-space:nowrap;grid-area:1/2;min-width:0;overflow:hidden}.main-content--app .scheduling-date-stepper .ui-button:first-child{grid-area:1/1}.main-content--app .scheduling-date-stepper .ui-button:nth-of-type(2){grid-area:1/3}.main-content--app .scheduling-date-stepper .ui-button:last-child{grid-area:2/1/auto/-1;width:100%}.main-content--app .scheduling-view-switcher{display:flex}.main-content--app .scheduling-view-switcher__option{flex:1 1 0;min-width:0;padding-inline:4px}.main-content--app .scheduling-toolbar__cta{grid-template-columns:auto minmax(0,1fr);gap:8px;margin-inline-start:0;display:grid}.main-content--app .scheduling-toolbar__cta .ui-button{grid-column:1/-1;width:100%;min-width:0}}@media (max-width:359px){.main-content--app .scheduling-mini-week{gap:4px;display:flex;overflow-x:auto}.main-content--app .scheduling-mini-week__day{flex:0 0 44px}}@media (min-width:1024px){.main-content--app .scheduling-toolbar{grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.main-content--app .scheduling-toolbar__range{align-items:center;gap:8px 12px;min-width:0;display:flex}.main-content--app .scheduling-toolbar__range>*{min-width:0}.main-content--app .scheduling-date-stepper{flex:220px;min-width:0}.main-content--app .scheduling-date-stepper strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.main-content--app .scheduling-view-switcher{flex:0 auto;min-width:0}.main-content--app .scheduling-view-switcher__option{white-space:nowrap}.main-content--app .scheduling-mode-switcher{flex:0 180px;min-width:150px}.main-content--app .scheduling-toolbar__cta{justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.main-content--app .scheduling-toolbar__filter-count{white-space:nowrap}}.scheduling-pending{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);gap:16px;min-width:0;padding:16px;display:grid}.scheduling-pending__header{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:start;gap:16px;min-width:0;padding-bottom:12px;display:flex}.scheduling-pending__eyebrow{color:var(--color-brand);letter-spacing:.04em;text-transform:uppercase;margin-bottom:4px;font-size:.75rem;font-weight:700;display:block}.scheduling-pending__header h2{font-size:1.15rem}.scheduling-pending__hint{max-width:34ch;color:var(--color-ink-muted);text-align:right;font-size:.875rem;line-height:1.4}.scheduling-pending__state{border-radius:var(--radius-sm);background:var(--color-surface-subtle);min-width:0;color:var(--color-ink-muted);gap:6px;padding:16px;display:grid}.scheduling-pending__state strong{color:var(--color-ink);font-family:var(--font-ui)}.scheduling-pending__state p{margin:0;line-height:1.45}.scheduling-pending__state--error{border:1px solid var(--color-danger)}@supports (color:color-mix(in lab, red, red)){.scheduling-pending__state--error{border:1px solid color-mix(in srgb, var(--color-danger) 28%, var(--color-line))}}.scheduling-pending__state--error{background:var(--color-danger-soft);color:var(--color-danger)}.scheduling-pending__state--error strong{color:var(--color-danger)}.scheduling-pending__state--offline{border:1px solid var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.scheduling-pending__state--offline{border:1px solid color-mix(in srgb, var(--color-warning) 28%, var(--color-line))}}.scheduling-pending__state--offline{background:var(--color-warning-soft)}.scheduling-pending__skeletons{gap:8px;margin-top:6px;display:grid}.scheduling-pending__skeletons span{border-radius:var(--radius-pill);background:var(--color-line);height:12px;display:block}.scheduling-pending__skeletons span:first-child{width:42%}.scheduling-pending__skeletons span:last-child{width:68%}.scheduling-pending__list{gap:8px;min-width:0;margin:0;padding:0;list-style:none;display:grid}.scheduling-pending__item{border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;min-width:0;padding:12px;display:grid}.scheduling-pending__details{gap:2px;min-width:0;display:grid}.scheduling-pending__details strong{overflow-wrap:anywhere;color:var(--color-ink);font-family:var(--font-ui)}.scheduling-pending__details span,.scheduling-pending__details time{overflow-wrap:anywhere;color:var(--color-ink-muted);font-size:.875rem;line-height:1.4}.scheduling-pending__details time{font-variant-numeric:tabular-nums}.scheduling-pending__timezone{color:var(--color-ink-muted)!important;font-size:.75rem!important}.scheduling-pending__item-error,.scheduling-pending__load-more-error{font-weight:650;color:var(--color-danger)!important;font-size:.8125rem!important}.scheduling-pending__actions{flex-wrap:wrap;flex:none;align-items:center;gap:8px;display:flex}.scheduling-pending__actions button,.scheduling-pending__retry,.scheduling-pending__load-more{border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);background:var(--color-surface);min-height:44px;color:var(--color-ink);font:inherit;cursor:pointer;padding:8px 12px;font-weight:700}.scheduling-pending__actions button:hover:not(:disabled),.scheduling-pending__retry:hover:not(:disabled),.scheduling-pending__load-more:hover:not(:disabled){border-color:var(--color-brand);background:var(--color-brand-soft);color:var(--color-brand-strong)}.scheduling-pending__actions button:focus-visible,.scheduling-pending__retry:focus-visible,.scheduling-pending__load-more:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.scheduling-pending__actions button:disabled,.scheduling-pending__retry:disabled,.scheduling-pending__load-more:disabled{cursor:not-allowed;opacity:.52}.scheduling-pending__actions .scheduling-pending__approve{border-color:var(--color-brand);background:var(--gradient-brand);color:var(--color-on-brand)}.scheduling-pending__actions .scheduling-pending__approve:hover:not(:disabled){border-color:var(--color-brand-strong);background:var(--color-brand-strong);color:var(--color-on-brand)}.scheduling-pending__actions .scheduling-pending__reject{border-color:var(--color-danger)}@supports (color:color-mix(in lab, red, red)){.scheduling-pending__actions .scheduling-pending__reject{border-color:color-mix(in srgb, var(--color-danger) 38%, var(--color-line))}}.scheduling-pending__actions .scheduling-pending__reject{color:var(--color-danger)}.scheduling-pending__load-more-error{margin:0}.scheduling-pending__load-more,.scheduling-pending__retry{justify-self:start}.scheduling-reschedule-panel{border:1px solid var(--color-brand);border-radius:var(--radius-md);background:var(--color-brand-soft);min-width:0;box-shadow:var(--shadow-card);gap:16px;padding:16px;display:grid}.scheduling-reschedule-panel>h3,.scheduling-reschedule-panel__hint{margin:0}.scheduling-reschedule-panel>h3:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}.scheduling-reschedule-panel__hint{max-width:70ch;color:var(--color-ink-muted);line-height:1.5}@media (max-width:767px){.scheduling-pending{padding:12px}.scheduling-pending__header{flex-direction:column}.scheduling-pending__hint{text-align:left;max-width:none}.scheduling-pending__item{grid-template-columns:minmax(0,1fr)}.scheduling-pending__actions{width:100%}.scheduling-pending__actions button{flex:140px}}.scheduling-reschedule-candidates{gap:8px;margin:16px 0 0;padding:0;list-style:none;display:grid}.scheduling-reschedule-candidates button{text-align:start;flex-direction:column;align-items:flex-start;gap:2px;width:100%;min-height:44px;display:flex}.scheduling-reschedule-candidates small{color:var(--color-ink-muted);font-size:.875rem}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]){gap:8px;min-width:0;max-width:100%;padding-bottom:16px;overflow-x:clip}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-page__command-shell{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);min-width:0;display:grid;overflow:visible;box-shadow:0 1px 2px #1518210a}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-page__header{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:center;gap:16px;min-width:0;min-height:48px;padding:8px 12px;display:flex}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-page__eyebrow{min-width:0}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-page__eyebrow>span,.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-page__lead{display:none}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-page__eyebrow h1{text-overflow:ellipsis;white-space:nowrap;font-size:1.25rem;line-height:1.2;overflow:hidden}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-date-stepper{grid-template-columns:44px minmax(0,1fr) 44px auto;align-items:center;gap:6px;width:100%;min-width:0;display:grid}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-date-stepper strong{text-align:center;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-date-stepper .ui-button,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-filter-trigger,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar__cta .ui-button{min-width:44px;min-height:44px}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-view-switcher,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-mode-switcher__group,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-tool-switcher__group{border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface-subtle);align-items:stretch;gap:2px;min-width:0;min-height:44px;padding:3px;display:inline-flex}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-view-switcher{border-bottom:1px solid var(--color-line);width:max-content}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-view-switcher__option,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-mode-switcher__option,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-tool-switcher__option{white-space:nowrap;background:0 0;border:0;border-radius:6px;min-width:0;min-height:36px;padding:6px 10px}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-view-switcher__option.is-selected,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-mode-switcher__option.is-selected,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-tool-switcher__option.is-selected{background:var(--color-surface);color:var(--color-brand-strong);box-shadow:0 1px 2px #1518211a}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-view-switcher__option.is-selected:after{display:none}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-mode-switcher,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-tool-switcher{flex:none;gap:3px;width:auto;min-width:0;max-width:none;display:grid}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-mode-switcher__label,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-tool-switcher__label{color:var(--color-ink-muted);letter-spacing:.025em;font-size:.6875rem;font-weight:700;line-height:1.2}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-mode-switcher__hint,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-tool-switcher__hint{display:none}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-sidebar{display:none!important}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-canvas--teacher{grid-template-columns:minmax(0,1fr)!important}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-main{width:100%;min-width:0;max-width:none;overflow-x:clip}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week{border-radius:var(--radius-md);box-shadow:0 1px 2px #1518210a}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__bar{background:var(--color-surface-subtle);min-height:44px;padding:0 6px 0 12px}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__actions{background:0 0;border-color:#0000;min-height:36px}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__scroller{height:clamp(520px,100dvh - 288px,896px)}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__event{border-color:currentColor;left:4px;right:4px}@supports (color:color-mix(in lab, red, red)){.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__event{border-color:color-mix(in srgb, currentColor 22%, transparent)}}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__event{box-shadow:inset 3px 0}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__event:hover{box-shadow:inset 3px 0 0 currentColor, var(--shadow-card)}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__event.is-selected{border-color:var(--color-brand);box-shadow:inset 3px 0 0 currentColor, 0 0 0 2px var(--color-brand), var(--shadow-card)}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__event-main{padding-inline:8px 46px}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__event-actions{background:var(--color-surface)}@supports (color:color-mix(in lab, red, red)){.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__event-actions{background:color-mix(in srgb, var(--color-surface) 72%, transparent)}}.scheduling-page--loading .scheduling-loading-toolbar{grid-template-columns:minmax(220px,1fr) minmax(180px,.45fr) minmax(120px,.3fr);align-items:center;gap:12px;min-height:64px;padding:10px 12px;display:grid}.scheduling-page--loading .scheduling-loading-toolbar span{border-radius:var(--radius-sm);background:var(--color-surface-subtle);height:40px;display:block}.scheduling-loading-stage{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);min-height:clamp(520px,100dvh - 174px,896px);position:relative;overflow:hidden}.scheduling-loading-grid{opacity:.72;grid-template-columns:48px repeat(7,minmax(90px,1fr));display:grid;position:absolute;inset:0}.scheduling-loading-grid__rail,.scheduling-loading-grid__day{border-right:1px solid var(--color-line);border-bottom:1px solid var(--color-line);background:var(--color-surface)}.scheduling-loading-grid__rail{background:var(--color-surface-subtle)}.scheduling-loading-stage>.module-state{z-index:2;border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface);width:min(420px,100% - 32px);min-height:240px;position:absolute;top:50%;left:50%}@supports (color:color-mix(in lab, red, red)){.scheduling-loading-stage>.module-state{background:color-mix(in srgb, var(--color-surface) 96%, transparent)}}.scheduling-loading-stage>.module-state{box-shadow:var(--shadow-card);transform:translate(-50%,-50%)}.scheduling-detail--float{top:calc(var(--ct-shell-offset,var(--header-height,56px)) + 12px);width:min(360px,100vw - 24px);max-height:min(calc(100dvh - var(--ct-shell-offset,var(--header-height,56px)) - 32px), 640px);border:1px solid var(--color-line-strong);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-overlay);position:fixed;bottom:auto;right:clamp(12px,2vw,28px);overflow:hidden}.scheduling-detail--float .scheduling-detail__body{overflow-y:auto}@media (min-width:1440px){.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-page__command-shell{grid-template-columns:210px minmax(0,1fr)}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-page__header{border-right:1px solid var(--color-line);border-bottom:0;min-height:72px}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__scroller{height:clamp(620px,100dvh - 226px,896px)}}@media (min-width:768px){.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-desktop-view,.scheduling-page--family .scheduling-desktop-view{display:block!important}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-mobile-view,.scheduling-page--family .scheduling-mobile-view{display:none!important}.scheduling-page--teacher:not([data-calendar-design=signal-grid]),.scheduling-page--family,.scheduling-page--family .scheduling-main--family{min-width:0;max-width:none;overflow-x:clip}}@media (min-width:768px) and (max-width:1023px){.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar__range{grid-template-columns:minmax(0,1fr);gap:8px}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-view-switcher{width:100%}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-view-switcher__option{flex:1 1 0}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar__editing{flex-wrap:wrap}.calendar-command-week__grid{grid-template-columns:48px repeat(7,minmax(90px,1fr));min-width:700px}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__bar p{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__bar{justify-content:flex-end}}@media (max-width:767px){.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]){padding-bottom:calc(74px + env(safe-area-inset-bottom));gap:8px}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-page__command-shell{border-inline:0;border-radius:0}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-page__header{min-height:44px;padding-inline:16px}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-page__eyebrow h1{font-size:1.125rem}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar__range{grid-template-columns:minmax(0,1fr);gap:8px}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-date-stepper{grid-template-columns:44px minmax(0,1fr) 44px}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-date-stepper .ui-button:last-child{grid-column:1/-1;width:100%}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-view-switcher{width:100%}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-view-switcher__option{flex:1 1 0;min-width:44px;padding-inline:4px}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-student-preference{width:100%}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-desktop-view,.scheduling-page--family .scheduling-desktop-view{display:none!important}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-mobile-view,.scheduling-page--family .scheduling-mobile-view{display:block!important}.scheduling-detail--float{border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-height:92dvh;inset:auto 0 0}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-mobile-view{width:calc(100% + 24px);min-width:0;margin-inline:-12px;overflow-x:clip}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-day-timeline{width:100%;min-width:0;padding:0 0 calc(16px + env(safe-area-inset-bottom));border:0;border-block:1px solid var(--color-line);background:var(--color-surface);border-radius:0;gap:0;display:grid}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-day-timeline__header{z-index:5;border-bottom:1px solid var(--color-line);background:var(--color-surface);flex-direction:row;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:12px 16px;display:flex;position:sticky;top:56px}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-day-timeline__header>div{gap:2px;min-width:0;display:grid}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-day-timeline__weekday{color:var(--color-brand-strong);margin:0;font-size:.75rem;font-weight:700;line-height:1.2}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-day-timeline__header h2{min-width:0;color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.125rem;line-height:1.25;overflow:hidden}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-day-timeline__count{border-radius:var(--radius-xs);background:var(--color-surface-subtle);min-height:28px;color:var(--color-ink-muted);text-align:right;white-space:nowrap;flex:none;padding:5px 8px;font-size:.75rem;line-height:1.4}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-agenda{gap:0;width:100%;min-width:0;display:grid}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-agenda__entry{border:0;border-bottom:1px solid var(--color-line);background:var(--color-surface);width:100%;min-width:0;min-height:80px;box-shadow:none;color:var(--color-ink);touch-action:manipulation;border-radius:0;grid-template-columns:72px minmax(0,1fr);grid-template-areas:"time body""time badge";align-items:center;gap:4px 12px;padding:12px 16px 12px 12px;display:grid}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-agenda__entry:hover,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-agenda__entry:active{border-bottom-color:var(--color-line-strong);background:var(--color-brand-soft)}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-agenda__entry:focus-visible{z-index:1;outline:3px solid var(--color-focus);outline-offset:-3px}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-agenda__entry--individual{border-inline-start:4px solid var(--color-info)}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-agenda__entry--group{border-inline-start:4px solid var(--color-group)}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-agenda__entry--unavailable{border-inline-start:4px solid var(--color-unavailable)}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-agenda__entry--danger{border-inline-start:4px solid var(--color-danger)}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-agenda__time{grid-area:time;align-self:start;padding-top:2px}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-agenda__date{display:none}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-agenda__hours{color:var(--color-ink);font-family:var(--font-ui);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.9375rem;font-weight:700;line-height:1.35}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-agenda__body{grid-area:body;align-self:end}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-agenda__title,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-agenda__meta{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-agenda__title{color:var(--color-ink);font-family:var(--font-ui);font-size:1rem;font-weight:700;line-height:1.3}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-agenda__meta{color:var(--color-ink-muted);font-size:.8125rem;line-height:1.35}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-agenda__badge{border-radius:var(--radius-xs);letter-spacing:.025em;grid-area:badge;place-self:start;width:fit-content;min-height:24px;padding:4px 6px;font-size:.6875rem;line-height:1.25}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-agenda--empty{border:1px dashed var(--color-line-strong);border-radius:var(--radius-md);background:var(--color-surface-subtle);width:auto;min-height:220px;color:var(--color-ink-muted);margin:16px;padding:24px 16px}}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-student-preference{border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface);align-items:stretch;min-width:0;min-height:44px;display:inline-flex;overflow:hidden}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-student-preference__picker{align-items:stretch;min-width:0;display:flex}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-student-preference__picker-label{color:var(--color-ink-muted);text-transform:uppercase;letter-spacing:.04em;align-items:center;padding-inline:10px 4px;font-size:.75rem;font-weight:750;display:inline-flex}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-student-preference>.student-preference-paint{border:0;border-inline-start:1px solid var(--color-line);border-radius:0;min-height:42px;padding:2px}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-student-preference .student-preference-paint__option{min-width:38px;padding-inline:6px}@media (max-width:1199px){.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-student-preference .student-preference-paint__option span{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-student-preference select{background-color:var(--color-surface);width:clamp(132px,11vw,184px);min-width:0;min-height:42px;color:var(--color-ink);font:inherit;text-overflow:ellipsis;cursor:pointer;border:0;padding:8px 28px 8px 10px;font-size:.875rem;font-weight:650}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-student-preference select:focus-visible{z-index:1;outline:3px solid var(--color-focus);outline-offset:-3px}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-student-preference__name{min-width:112px;max-width:184px;color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;align-items:center;padding:8px 10px;font-size:.875rem;font-weight:650;display:inline-flex;overflow:hidden}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-student-preference__trigger{border:0;border-inline-start:1px solid var(--color-line);background:var(--color-surface-subtle);min-width:44px;min-height:42px;color:var(--color-brand-strong);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-size:.8125rem;font-weight:700;display:inline-flex}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-student-preference__trigger svg{flex:none;width:18px;height:18px}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-student-preference__trigger-label{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-student-preference__trigger:hover:not(:disabled){background:var(--color-brand-soft)}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-student-preference__trigger:focus-visible{z-index:1;outline:3px solid var(--color-focus);outline-offset:-3px}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-student-preference__trigger:disabled{color:var(--color-ink-muted);cursor:not-allowed;opacity:.62}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-filter-trigger{border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface);min-width:44px;min-height:44px;color:var(--color-brand-strong);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:.875rem;font-weight:700;display:inline-flex}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-filter-trigger__count{border-radius:var(--radius-pill);background:var(--color-brand);min-width:22px;min-height:22px;color:var(--color-on-brand);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;padding-inline:5px;font-size:.6875rem;display:inline-flex}@media (min-width:1440px){.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-page__command-shell{grid-template-columns:188px minmax(0,1fr)}}@media (max-width:767px){.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-page__header{display:none}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-date-stepper{grid-template-columns:44px minmax(0,1fr) 44px auto}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-date-stepper .ui-button:last-child{grid-column:auto;width:auto;padding-inline:10px}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-student-preference{width:auto}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-student-preference__picker,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-student-preference select{width:100%}}@media (min-width:768px){.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-page__command-shell{border-color:var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:none;overflow:visible}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-page__header{background:var(--color-surface)}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-page__eyebrow h1{color:var(--color-ink);letter-spacing:-.015em;font-size:1.25rem;font-weight:700}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar{background:var(--color-surface)}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-date-stepper strong{color:var(--color-ink);font-family:var(--font-ui);letter-spacing:-.015em;font-size:.9375rem;font-weight:740}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-date-stepper .ui-button,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-filter-trigger,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-student-preference,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-view-switcher,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-mode-switcher__group,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-tool-switcher__group{border-color:var(--color-line);box-shadow:none}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week{border-color:var(--color-line);border-radius:var(--radius-md);box-shadow:none;overflow:hidden}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__bar{border-bottom-color:var(--color-line);background:var(--color-surface-subtle);min-height:48px;padding-inline:14px 8px}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__bar p{color:var(--color-ink-muted);font-weight:500}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__actions{border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);background:var(--color-surface);min-width:112px;min-height:44px;color:var(--color-brand-strong)}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__grid{grid-template-rows:52px var(--calendar-day-height,1536px)}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__corner,.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__day-header{border-bottom-color:var(--color-line);background:var(--color-surface)}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__day-header{color:var(--color-ink-muted);letter-spacing:.025em;flex-direction:column;gap:1px;padding-block:7px;font-size:.6875rem;font-weight:600;line-height:1.1}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__day-header strong{border-radius:var(--radius-xs);justify-content:center;align-items:center;min-width:28px;min-height:28px;font-size:.9375rem;line-height:1;display:inline-flex}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__day-header.is-today{background:var(--signal-app-soft)}@supports (color:color-mix(in lab, red, red)){.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__day-header.is-today{background:color-mix(in srgb, var(--signal-app-soft) 78%, var(--color-surface))}}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__day-header.is-today{color:var(--signal-app)}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__day-header.is-today strong{background:var(--signal-app);color:var(--color-on-brand);box-shadow:none}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__time-rail{background:var(--color-surface)}@supports (color:color-mix(in lab, red, red)){.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__time-rail{background:color-mix(in srgb, var(--color-surface) 94%, var(--color-canvas))}}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__time-rail span{color:var(--color-ink-muted);font-size:.6875rem;font-weight:620;right:8px}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__day.is-today{background:var(--signal-app-soft)}@supports (color:color-mix(in lab, red, red)){.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__day.is-today{background:color-mix(in srgb, var(--signal-app-soft) 28%, var(--color-surface))}}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__cell:nth-child(4n+1){border-top-color:var(--color-line-strong)}@supports (color:color-mix(in lab, red, red)){.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__cell:nth-child(4n+1){border-top-color:color-mix(in srgb, var(--color-line-strong) 64%, var(--color-line))}}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__event{border-color:currentColor;left:4px;right:4px;overflow:visible}@supports (color:color-mix(in lab, red, red)){.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__event{border-color:color-mix(in srgb, currentColor 24%, var(--color-line))}}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__event{border-radius:var(--radius-xs);box-shadow:inset 3px 0}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__event:hover{border-color:currentColor;box-shadow:inset 3px 0}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__event.is-selected{box-shadow:inset 3px 0 0 currentColor, 0 0 0 2px var(--color-brand)}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__event-main{gap:2px;padding:6px 52px 6px 10px}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__event-meta{gap:6px}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__event-meta time{font-size:.75rem;font-weight:700}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__event-status{background:currentColor;min-height:17px;padding-inline:6px}@supports (color:color-mix(in lab, red, red)){.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__event-status{background:color-mix(in srgb, currentColor 10%, var(--color-surface))}}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__event-status{letter-spacing:.035em;font-size:.5625rem}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__event-main strong{font-family:var(--font-ui);letter-spacing:-.012em;font-size:.78125rem;font-weight:700;line-height:1.18}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__event-location{color:currentColor}@supports (color:color-mix(in lab, red, red)){.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__event-location{color:color-mix(in srgb, currentColor 78%, var(--color-ink-muted))}}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__event-location{font-weight:500}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__event-actions{border:1px solid;width:44px;height:44px;top:0;right:0}@supports (color:color-mix(in lab, red, red)){.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__event-actions{border:1px solid color-mix(in srgb, currentColor 22%, var(--color-line))}}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__event-actions{border-radius:var(--radius-sm);background:var(--color-surface);opacity:1}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__event-actions:hover,.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__event-actions:focus-visible{opacity:1}}@media (min-width:768px) and (max-width:1023px){.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__event{left:2px;right:2px}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__event-main{gap:1px;padding:5px 28px 5px 6px}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__event-status,.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__event-location{display:none}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__event-actions{background:0 0;border:0;width:44px;height:44px;display:inline-flex}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__event-main strong{text-overflow:clip;white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.75rem;line-height:1.1;display:-webkit-box;overflow:hidden}}@media (min-width:1440px){.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-page__command-shell{grid-template-columns:212px minmax(0,1fr)}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-page__header{border-right:1px solid var(--color-line);border-bottom:0;padding-inline:18px}}@media (min-width:768px) and (max-width:1439px){.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-page__header{display:none}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-page__command-shell{width:100%;max-height:none;display:block;overflow:visible}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .teacher-calendar-edit-paints{flex-wrap:nowrap;align-items:center;gap:8px;overflow:hidden}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-student-preference--inline{flex:0 auto;min-width:0;max-width:220px}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-student-preference--inline .scheduling-student-preference__picker-label{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (max-width:767px){.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-page__command-shell{width:100%}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .teacher-calendar-edit-paints{grid-template-columns:minmax(0,auto) minmax(0,1fr);gap:8px;width:100%;display:grid;overflow:visible}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .teacher-calendar-paint-target,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .teacher-availability-paint,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .student-preference-paint{width:100%;min-width:0;max-width:none;overflow:visible}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .teacher-availability-paint,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .student-preference-paint{background:0 0;border:0;grid-template-columns:repeat(4,minmax(44px,1fr));gap:8px;padding:0;display:grid}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .teacher-availability-paint__option,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .student-preference-paint__option{border:1px solid var(--color-line);background:var(--color-surface);width:100%;min-width:44px;min-height:44px;padding:8px}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-student-preference--inline{grid-column:1/-1;width:100%;max-width:none}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-student-preference--inline .scheduling-student-preference__picker,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-student-preference--inline select{width:100%}}@media (min-width:768px) and (max-width:1439px){.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar .ui-button,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-filter-trigger,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-view-switcher__option,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-mode-switcher__option,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-date-stepper .ui-button,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-pending button{height:34px;min-height:0}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-mode-switcher{flex-flow:wrap;align-items:center;gap:4px 8px;display:inline-flex}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-mode-switcher__label{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-mode-switcher__hint{display:none}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar .scheduling-pending{background:0 0;border:0;align-items:start;gap:0;height:auto;min-height:0;padding:0}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-view-switcher,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-mode-switcher__group{border:0;gap:2px;height:auto;min-height:0;padding:0}.scheduling-page--teacher:not([data-calendar-design=signal-grid]) .calendar-command-week__scroller{height:clamp(480px,100dvh - 300px,900px)}}.scheduling-block-time__publish{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;min-height:44px;font-weight:700;display:flex}.scheduling-block-time__publish input{flex:none}.scheduling-block-time__publish span{word-break:normal;overflow-wrap:break-word;-webkit-hyphens:none;hyphens:none;min-width:0}.scheduling-session-archive{gap:16px;min-width:0;display:grid}.scheduling-session-archive>*,.scheduling-session-cancellation__scope{min-width:0}.scheduling-session-cancellation__scope label{align-items:flex-start}.scheduling-session-cancellation__scope label>span{word-break:normal;overflow-wrap:break-word;-webkit-hyphens:none;hyphens:none;gap:2px;min-width:0;display:grid}.scheduling-session-cancellation__scope small{color:var(--sched-ink-soft);font-weight:400}.scheduling-session-cancellation__explanation{width:100%;min-width:0}.scheduling-detail__footer-stack.scheduling-session-cancellation__action{border-top:1px solid var(--sched-line);min-width:0;margin-top:.85rem;padding-top:.85rem}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar__filter-count{writing-mode:horizontal-tb;white-space:nowrap;word-break:normal;overflow-wrap:normal;-webkit-hyphens:none;hyphens:none;flex-flow:row;flex:none;justify-content:center;align-items:center;min-width:fit-content;max-width:100%;display:inline-flex}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar{background:0 0;border:0;border-radius:0;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"navigation navigation""editing actions";align-items:end;gap:8px 12px;min-width:0;max-width:100%;min-height:0;padding:10px 12px;display:grid;overflow:visible}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar__range{grid-area:navigation;min-width:0;max-width:100%}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar__editing,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar__cta{flex-wrap:wrap;align-items:center;min-width:0;max-width:100%;margin:0;display:flex}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar__editing{grid-area:editing;justify-content:flex-start;align-items:end;gap:8px}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar__cta{grid-area:actions;justify-content:flex-end;gap:8px}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar__cta>*,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar__editing>*{flex:none;min-width:fit-content;max-width:100%}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-pending{flex:none;min-width:fit-content}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-pending button{writing-mode:horizontal-tb;white-space:nowrap;word-break:normal;overflow-wrap:normal;-webkit-hyphens:none;hyphens:none;min-width:fit-content;max-width:100%}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-filter-trigger{writing-mode:horizontal-tb;white-space:nowrap;word-break:normal;overflow-wrap:normal;-webkit-hyphens:none;hyphens:none;flex:none;min-width:fit-content;max-width:100%}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar__cta .ui-button{writing-mode:horizontal-tb;white-space:nowrap;flex:none;min-width:fit-content;max-width:100%}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar__inspect{flex-flow:wrap;flex:0 auto;justify-content:flex-end;align-items:center;gap:8px;min-width:0;max-width:100%;display:inline-flex}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar__inspect>*{flex:none;min-width:fit-content;max-width:100%}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-filter-trigger__count{white-space:nowrap;flex:none;min-width:fit-content}@media (min-width:1200px){.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar{min-height:72px}}@media (min-width:1440px){.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar{grid-template-columns:minmax(0,auto) minmax(0,1fr) minmax(0,auto);grid-template-areas:"range editing actions";align-items:center;padding-block:8px}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar__range{grid-area:range}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar__editing{grid-area:editing}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar__cta{grid-area:actions}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar__range,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar__editing,.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar__cta{align-items:center}}@media (max-width:767px){.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar{grid-template-columns:minmax(0,1fr);grid-template-areas:"navigation""editing""actions";align-items:stretch;gap:8px;padding:8px 12px 10px}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar__cta{justify-content:flex-start}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar__cta .ui-button{flex:auto}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar__inspect{row-gap:4px}}.calendar-command-week__now-marker{z-index:6;pointer-events:none;height:0;position:absolute;left:0;right:0}.calendar-command-week__now-line{background:var(--color-brand);height:1px;box-shadow:none;border-radius:0;position:absolute;top:0;left:0;right:0}.calendar-command-week__now-label{border:1px solid var(--color-brand);border-radius:var(--radius-pill);background:var(--color-surface);min-height:20px;font-size:var(--text-micro);color:var(--color-brand);white-space:nowrap;align-items:center;padding-inline:6px;font-weight:800;line-height:1;display:inline-flex;position:absolute;top:0;left:6px;transform:translateY(-50%)}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar__inspect{grid-area:inspect}@media (min-width:768px) and (max-width:1439px){.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"navigation navigation""inspect actions";align-items:center;row-gap:6px}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar__inspect{justify-content:flex-start}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar__cta{flex-wrap:nowrap}}@media (min-width:1440px){.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar{grid-template-columns:minmax(0,auto) minmax(0,1fr) minmax(0,auto);grid-template-areas:"range inspect actions"}.main-content--app .scheduling-page--teacher:not([data-calendar-design=signal-grid]) .scheduling-toolbar__inspect{justify-content:flex-start}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}
