:root{--portal-font: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--portal-text: #111827;--portal-text-muted: #64748b;--portal-title-sm: .95rem;--portal-body: .9rem;--portal-lead: .84rem;--portal-page-gap: 1rem;font-family:var(--portal-font);color:var(--portal-text);background-color:#f3f4f6}*{box-sizing:border-box}button,input,select,textarea{font-family:inherit}body{margin:0}.app-shell{min-height:100vh;display:flex;flex-direction:column}.maintenance-banner{position:sticky;top:0;z-index:90;flex-shrink:0;padding:.7rem 1.25rem;padding-top:max(.7rem,env(safe-area-inset-top,0px));background:#fffbeb;border-bottom:1px solid #f59e0b;color:#78350f;box-shadow:0 1px #ffffffb3 inset}.maintenance-banner-copy{margin:0 auto;max-width:72rem;display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem;font-size:.92rem;line-height:1.45}.maintenance-banner-title{font-weight:700;letter-spacing:-.01em}.maintenance-banner-message{color:#92400e}.app-view-root{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.app-shell .layout,.app-shell .public-layout{flex:1;min-height:0}.app-shell .portal-sidebar-shell{min-height:100%}.app-shell:has(.layout .portal-sidebar-shell){--sidebar-width: 260px;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;align-items:stretch}.app-shell:has(.layout.layout--sidebar-collapsed .portal-sidebar-shell){--sidebar-width: 0px}.app-shell:has(.layout .portal-sidebar-shell) .app-view-root,.app-shell:has(.layout .portal-sidebar-shell) .layout{display:contents}.app-shell:has(.layout .portal-sidebar-shell) .maintenance-banner{grid-column:1 / -1;grid-row:1}.app-shell:has(.layout .portal-sidebar-shell) .portal-sidebar-shell{grid-column:1;grid-row:2 / -1;min-height:0;height:auto;align-self:stretch}.app-shell:has(.layout .portal-sidebar-shell) .content{grid-column:2;grid-row:2;min-width:0}.app-shell:has(.layout .portal-sidebar-shell) .castpo-site-footer{grid-column:2;grid-row:3;margin-top:0}@media (max-width: 767px){.app-shell:has(.layout .portal-sidebar-shell){--sidebar-width: 0px}}.castpo-site-footer{flex-shrink:0;margin-top:auto;background:#f3f4f6;color:#475569}.castpo-site-footer-inner{max-width:72rem;margin:0 auto;padding:1.15rem 1.5rem 1.25rem}.castpo-site-footer-brand{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 1.75rem}.castpo-site-footer-brand-primary{display:flex;align-items:center;gap:1rem;min-width:0}.castpo-site-footer-mark{width:3rem;height:3rem;border-radius:.85rem;display:inline-flex;align-items:center;justify-content:center;font-size:1.35rem;font-weight:800;letter-spacing:-.03em;color:#fff;background:linear-gradient(135deg,#3b82f6,#6366f1);box-shadow:0 4px 14px #3b82f638;border:1px solid rgb(255 255 255 / .65)}.castpo-site-footer-title-line{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:.45rem}.castpo-site-footer-company{margin:0;font-size:1.2rem;font-weight:700;letter-spacing:-.02em;color:#1e293b}.castpo-site-footer-tagline{margin:0;font-size:.92rem;color:#64748b}.castpo-site-footer-legal-block{flex:1 1 18rem;min-width:min(100%,18rem);max-width:42rem}.castpo-site-footer-links{display:flex;flex-wrap:wrap;gap:.55rem 1.1rem;margin-bottom:.55rem;font-size:.84rem}.castpo-site-footer-links a{color:#334155;font-weight:600;text-decoration:none}.castpo-site-footer-links a:hover{color:#1d4ed8;text-decoration:underline}.castpo-site-footer-links a:focus-visible{outline:2px solid #3b82f6;outline-offset:2px;border-radius:.2rem}.castpo-site-footer-legal{margin:0;font-size:.84rem;line-height:1.5;color:#64748b}.castpo-language-switcher{display:inline-flex;flex-direction:row;align-items:center;gap:.45rem;min-width:0}.castpo-language-switcher select{max-width:14rem;min-width:8.5rem;padding:.28rem .45rem;border:1px solid #cbd5e1;border-radius:.4rem;background:#fff;color:#0f172a;font-size:.84rem}.public-top-language-switcher,.profile-language-switcher,.portal-header-language-switcher{flex-shrink:0}.public-top-language-switcher{margin-inline-start:auto;align-self:flex-start}html[dir=rtl] .castpo-site-footer-brand,html[dir=rtl] .castpo-site-footer-brand-primary,html[dir=rtl] .castpo-site-footer-title-line,html[dir=rtl] .castpo-site-footer-links,html[dir=rtl] .castpo-language-switcher{flex-direction:row}html[dir=rtl] .sidebar,html[dir=rtl] .public-auth-rail{text-align:start}html[dir=rtl] .sidebar{border-right:0;border-left:1px solid var(--sidebar-border)}.legal-document-page{flex:1;min-height:0;padding:2rem 1.5rem 2.5rem;background:linear-gradient(180deg,#fff7ed,#eff6ff 45%,#f8fafc)}.legal-document-card{max-width:46rem;margin:0 auto;padding:1.75rem 1.85rem 2rem;border-radius:1rem;border:1px solid #e2e8f0;background:#fff;box-shadow:0 10px 30px #0f172a0f;color:#334155}.legal-document-header{margin-bottom:1.35rem;padding-bottom:1rem;border-bottom:1px solid #e2e8f0}.legal-document-eyebrow{margin:0 0 .35rem;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#64748b}.legal-document-header h1{margin:0;font-size:1.85rem;line-height:1.2;letter-spacing:-.02em;color:#0f172a}.legal-document-updated{margin:.55rem 0 0;font-size:.9rem;color:#64748b}.legal-document-body h2{margin:1.45rem 0 .55rem;font-size:1.08rem;color:#0f172a}.legal-document-body p,.legal-document-body ul{margin:.65rem 0 0;font-size:.96rem;line-height:1.65}.legal-document-body ul{padding-left:1.25rem}.legal-document-body li+li{margin-top:.35rem}.legal-document-body a{color:#1d4ed8;font-weight:600}.legal-document-body a:hover{text-decoration:underline}.sms-opt-in-mockup{margin:1rem 0 0}.sms-opt-in-mockup-panel{max-width:28rem;padding:.85rem .95rem;border:1px solid #cbd5e1;border-radius:12px;background:#fff;box-shadow:0 8px 24px #0f172a0f}.sms-opt-in-mockup-label{margin:.55rem 0 .2rem;font-size:.84rem;font-weight:600;color:#475569}.sms-opt-in-mockup-label:first-child{margin-top:0}.sms-opt-in-mockup-select,.sms-opt-in-mockup-input{border:1px solid #94a3b8;border-radius:8px;padding:.4rem .5rem;font-size:.9rem;color:#0f172a;background:#fff}.sms-opt-in-mockup-notifications{margin:.75rem 0 0;padding:.75rem .85rem;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;min-width:0}.sms-opt-in-mockup-notifications legend{padding:0 .25rem;font-size:.84rem;font-weight:700;color:#334155}.sms-opt-in-mockup-checkbox{display:flex;flex-direction:row;align-items:flex-start;gap:.55rem;margin:.55rem 0 0;font-size:.84rem;line-height:1.45;color:#475569}.sms-opt-in-mockup-checkbox input[type=checkbox]{width:auto;min-width:auto;margin-top:.2rem;flex:0 0 auto}.sms-opt-in-mockup-checkbox>span{flex:1 1 auto;min-width:0}.sms-opt-in-mockup-link{color:#1d4ed8;font-weight:600}.sms-opt-in-mockup-caption{margin:.55rem 0 0;font-size:.84rem;color:#64748b;line-height:1.45}.sms-opt-in-mockup-hint{margin:.75rem 0 0;padding:.65rem .75rem;border-radius:8px;border:1px solid #e2e8f0;background:#f8fafc;font-size:.84rem;line-height:1.45;color:#64748b}.sms-opt-in-quote{margin:.85rem 0 0;padding:.75rem .95rem;border-left:3px solid #cbd5e1;background:#f8fafc;font-size:.92rem;line-height:1.55;color:#475569}.castpo-site-footer-established{margin-top:.75rem;display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;font-size:.84rem;color:#64748b}.castpo-site-footer-badge{display:inline-flex;align-items:center;padding:.18rem .55rem;border-radius:999px;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.layout{--sidebar-width: 260px;--sidebar-bg: #e8e6e1;--sidebar-text: #1c1917;--sidebar-text-muted: #57534e;--sidebar-border: #d4d0c8;--sidebar-hover: #ddd9d2;--sidebar-active: #d2cec6;--sidebar-logo-well: #f4f3f0;min-height:100vh;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);align-items:stretch;transition:grid-template-columns .2s ease}.layout--sidebar-collapsed{--sidebar-width: 0px}.portal-sidebar-shell{position:relative;display:flex;flex-direction:column;align-self:stretch;min-height:100vh;min-width:0;overflow:visible;background:var(--sidebar-bg)}.portal-sidebar-shell--collapsed .sidebar{width:0;min-width:0;padding:0;margin:0;opacity:0;visibility:hidden;overflow:hidden;pointer-events:none;border:0}.sidebar-edge-toggle{position:fixed;top:1.35rem;left:max(0px,calc(var(--sidebar-width, 260px) - 16px));right:auto;z-index:100;width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#334155;box-shadow:0 1px 4px #0f172a24;cursor:pointer;font:inherit;line-height:1}.sidebar-edge-toggle:hover{background:#f8fafc;border-color:#94a3b8;color:#0f172a}.sidebar-edge-toggle:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.sidebar-edge-toggle-icon{font-size:1.45rem;font-weight:700;line-height:1}.portal-sidebar-shell--collapsed .sidebar-edge-toggle{left:0;border-top-left-radius:0;border-bottom-left-radius:0;border-left-width:0;box-shadow:2px 0 6px #0f172a1a}.sidebar{color:var(--sidebar-text);padding:1.5rem 1rem;display:flex;flex-direction:column;flex:1 1 auto;min-height:100%;min-width:0;width:100%;overflow:hidden;background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border)}.sidebar-nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.sidebar h1{margin:0;font-size:1rem;line-height:1.2;overflow-wrap:anywhere}.sidebar-brand{display:flex;align-items:center;gap:.55rem;min-width:0}.sidebar-brand-mark{flex:0 1 auto;min-width:0;max-width:55%}.sidebar-brand--logo-primary{flex-direction:column;align-items:stretch;gap:.4rem}.sidebar-brand--logo-primary .sidebar-brand-mark{flex:1 1 auto;max-width:100%}.sidebar-brand--logo-primary .sidebar-brand-mark img.sidebar-brand-logo-solo{max-height:72px;max-width:min(22rem,100%)}.sidebar-brand--logo-primary .sidebar-brand-text{flex:0 0 auto}.sidebar-brand-text{min-width:0;flex:1 1 5.5rem}.sidebar-brand-text h1,.sidebar-brand>h1{max-width:100%}.sidebar-brand img.sidebar-brand-logo-solo,.sidebar-brand>img{display:block;flex-shrink:0;width:auto;height:auto;max-height:56px;max-width:100%;object-fit:contain;object-position:left center;border-radius:12px}.sidebar-brand-logos{display:flex;flex-wrap:wrap;gap:.35rem;max-width:148px}.sidebar-brand-logos .sidebar-institute-logo{width:auto;height:auto;max-height:44px;max-width:100%;border-radius:10px;object-fit:contain}.sidebar-institute-initial{box-sizing:border-box;width:44px;height:44px;border-radius:10px;border:1px solid var(--sidebar-border);background:var(--sidebar-logo-well);color:var(--sidebar-text);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;line-height:1}.sidebar-brand-mark .sidebar-institute-initial{width:56px;height:56px;border-radius:12px;font-size:1.2rem}.hint{margin-top:.3rem;color:#94a3b8;font-size:.85rem}.content{padding:1.5rem;min-width:0;font-family:var(--portal-font);font-size:var(--portal-body);line-height:1.5;color:var(--portal-text)}.portal-main{min-width:0;display:flex;flex-direction:column;gap:var(--portal-page-gap)}.portal-page{display:flex;flex-direction:column;gap:var(--portal-page-gap);min-width:0}.portal-page-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem}.portal-page-toolbar .portal-lead{flex:1 1 12rem;min-width:0;margin-right:auto}.portal-page-toolbar .primary-btn{flex-shrink:0}.portal-lead,.payment-detail,.muted,.announcements-scope-hint{margin:0;font-size:var(--portal-lead);line-height:1.45;color:var(--portal-text-muted)}.public-layout{min-height:100vh;padding:1.5rem 2rem 2rem;background:#f3f4f6}.public-hero{background:transparent;color:#1e293b;border-radius:16px;padding:.15rem 28.4rem .2rem 0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.4rem;align-items:flex-start;border:0;position:relative;overflow:visible}.public-hero p{margin:.2rem 0 0;color:#475569}@media (max-width: 1120px){.public-hero{padding-right:0}}.public-grid{margin-top:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.root-access-disabled{flex:1;min-height:0;margin:0;position:relative;display:flex;flex-direction:column;align-items:stretch;padding:1.25rem 1.5rem 2rem;text-align:center;color:#475569;font-size:1rem;line-height:1.5}.root-disabled-top-bar{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:flex-end;gap:.75rem 1rem;width:100%}.root-disabled-language-switcher,.root-disabled-language-slot{flex-shrink:0}.root-disabled-language-switcher select{padding:.3rem .7rem;font-size:.9rem;line-height:1.25;font-family:inherit}.root-disabled-register-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;align-items:center}.root-disabled-register-actions:has(.root-disabled-help-panel),.root-disabled-register-actions:has(.root-disabled-register-panel){align-items:flex-start}.root-disabled-org-register{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.root-disabled-register-panel.root-disabled-register-panel{width:22rem;max-width:calc(100vw - 2.5rem);text-align:left}.root-disabled-help-panel{width:min(36rem,calc(100vw - 2.5rem));text-align:left}.root-disabled-help-panel .portal-help-card{margin:0;box-shadow:none}.org-subdomain-preview-field{display:flex;flex-direction:column;gap:.25rem;padding:.5rem .625rem;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:.375rem}.org-subdomain-preview-row{font-family:monospace;font-size:.875rem;color:#0f172a;word-break:break-all}.org-subdomain-preview-value{font-weight:600}.org-subdomain-preview-placeholder{font-weight:400;font-style:italic;color:#94a3b8}.org-subdomain-hint{margin:.25rem 0 0;font-size:.75rem;color:#64748b;line-height:1.5}.org-subdomain-check-status{font-size:.75rem;font-weight:600;font-family:sans-serif}.org-subdomain-checking{color:#64748b}.org-subdomain-available{color:#16a34a}.org-subdomain-taken{color:#dc2626}.org-subdomain-check-error{margin:.2rem 0 0;font-size:.75rem;color:#dc2626;line-height:1.4}.root-access-disabled-copy{flex:1;display:flex;flex-direction:column;justify-content:center;max-width:28rem;margin:0 auto;width:100%}.root-access-disabled-title{margin:0 0 .75rem;color:#0f172a;font-size:1.125rem;font-weight:600;line-height:1.4}.root-access-disabled-copy>p:last-child{margin:0}.root-access-disabled code{font-size:.95em}@media (max-width: 767px){.castpo-site-footer-inner{padding:1rem .85rem 1.15rem}.legal-document-page{padding:1rem .75rem 1.5rem}.legal-document-card{padding:1.1rem 1rem 1.25rem}.legal-document-header h1{font-size:1.45rem}.layout{grid-template-columns:minmax(0,1fr);min-height:100dvh}.layout:has(.portal-sidebar-shell)>.portal-sidebar-shell{position:fixed;top:0;left:0;bottom:0;z-index:80;width:min(18rem,86vw);min-height:100%;box-shadow:8px 0 28px #0f172a47}.layout.layout--sidebar-collapsed:has(.portal-sidebar-shell)>.portal-sidebar-shell{width:0;min-width:0;box-shadow:none;background:transparent}.sidebar-edge-toggle{width:44px;height:44px;top:max(.35rem,env(safe-area-inset-top,0px))}.portal-sidebar-shell:not(.portal-sidebar-shell--collapsed) .sidebar-edge-toggle{left:calc(min(18rem,86vw) - 22px)}.portal-sidebar-shell--collapsed .sidebar-edge-toggle{left:0}.layout:not(:has(.portal-sidebar-shell)){grid-template-rows:auto minmax(0,1fr)}.layout:not(:has(.portal-sidebar-shell))>.sidebar{min-height:0;width:100%;padding:.75rem .85rem}.layout:not(:has(.portal-sidebar-shell))>.sidebar nav{display:flex;flex-wrap:wrap;gap:.35rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.content{padding:.65rem .75rem calc(.85rem + env(safe-area-inset-bottom,0px))}.layout:has(.portal-sidebar-shell)>.content{padding-top:0}.public-layout{padding:.85rem 1.15rem calc(1rem + env(safe-area-inset-bottom,0px))}.root-access-disabled{padding:1rem .75rem;justify-content:flex-start}.root-disabled-org-register{align-items:stretch;max-width:100%}}.portal-sidebar-backdrop{display:none}@media (max-width: 767px){.portal-sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;border:0;padding:0;margin:0;background:#0f172a6b;cursor:pointer}.layout:has(.portal-sidebar-shell)>.portal-sidebar-shell .sidebar{position:relative;z-index:2}}.section-head h2{margin:0}.section-head p{margin:.4rem 0 1.2rem;color:#4b5563}.nav-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.45rem;border:0;border-radius:8px;margin-top:.5rem;padding:.7rem .8rem;text-align:left;cursor:pointer;color:var(--sidebar-text, #1c1917);background:transparent}.nav-item{position:relative;display:flex;align-items:center;gap:.1rem;margin-top:.5rem;border-radius:8px}.nav-item .nav-btn{margin-top:0;flex:1;min-width:0}.nav-item.active,.nav-item:hover{background:var(--sidebar-hover, #ddd9d2)}.nav-item.active{background:var(--sidebar-active, #d2cec6)}.nav-item.active .nav-btn,.nav-item.active .nav-btn.active,.nav-item:hover .nav-btn,.nav-item:hover .nav-btn.active{background:transparent}.nav-item-disabled,.nav-item-disabled:hover{background:var(--sidebar-hover, #ddd9d2)}.nav-btn-label{min-width:0}.nav-update-dot-hit{position:relative;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:.55rem .65rem .55rem .2rem}.nav-update-dot{display:block;width:.55rem;height:.55rem;padding:0;border:0;border-radius:999px;background:#ea580c;cursor:pointer}.nav-update-tooltip{position:absolute;inset-inline-end:.4rem;top:calc(100% - .1rem);z-index:6;box-sizing:border-box;width:max-content;max-width:14rem;padding:.35rem .5rem;border-radius:6px;background:#1c1917;color:#fafaf9;font-size:.75rem;font-weight:600;line-height:1.3;box-shadow:0 6px 16px #1c19172e;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-2px)}.nav-update-dot-hit:hover .nav-update-tooltip,.nav-update-dot-hit:focus-within .nav-update-tooltip{opacity:1;visibility:visible;transform:none}.nav-badge{flex-shrink:0;min-width:1.35rem;padding:.12rem .42rem;border-radius:999px;font-size:.72rem;font-weight:700;line-height:1.2;text-align:center;background:#f97316;color:#fff}.nav-waiting-list-count{flex-shrink:0;font-size:.82rem;font-weight:700;line-height:1.2;color:#ea580c}.nav-btn.active,.nav-btn:hover{background:var(--sidebar-hover, #ddd9d2)}.nav-btn.active{background:var(--sidebar-active, #d2cec6)}.nav-btn:disabled,.nav-btn:disabled:hover,.nav-btn.nav-btn-disabled,.nav-btn.nav-btn-disabled:hover{cursor:not-allowed;opacity:.5;color:var(--sidebar-text-muted, #57534e);background:var(--sidebar-hover, #ddd9d2);filter:grayscale(1)}.portal-row-is-new>td,tr.portal-row-is-new td.message-thread-cell{background:linear-gradient(90deg,rgba(251,191,36,.28) 0%,transparent 85%);box-shadow:inset 3px 0 #f59e0b}.message-thread-hitbox{display:block;width:100%;box-sizing:border-box}.message-thread-hitbox--new{cursor:pointer}ul.announcement-read-list>li.portal-row-is-new{background:linear-gradient(90deg,rgba(251,191,36,.28) 0%,transparent 85%);box-shadow:inset 3px 0 #f59e0b;padding-left:.5rem;margin-left:-.5rem;border-radius:6px}.kpi-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1rem}.list-card-hit{cursor:pointer;-webkit-tap-highlight-color:rgba(37,99,235,.12)}.card h3,.card h4{margin:0;font-family:inherit;font-size:var(--portal-title-sm);font-weight:600;line-height:1.3;color:#0f172a}.portal-help-card p{margin:0 0 .75rem}.portal-help-card p:last-child{margin-bottom:0}.portal-help-lead{font-weight:700;color:#0f172a}.portal-help-ways{margin:0;padding-left:1.25rem;list-style:decimal}.portal-help-way{margin-bottom:1.25rem}.portal-help-way:last-child{margin-bottom:0}.portal-help-way-title{margin:0 0 .45rem;font-family:inherit;font-size:1rem;font-weight:700;line-height:1.35;color:#0f172a}.portal-help-card .portal-help-examples-label{font-weight:700;margin-bottom:.35rem}.portal-help-examples{margin:0 0 .85rem;padding-left:1.2rem;color:#64748b}.portal-help-examples li+li{margin-top:.25rem}.kpi-grid .card strong{display:inline-block;margin-top:.7rem;font-size:1.4rem}.admin-programs-table{min-width:70rem}.admin-programs-table .admin-programs-enrollment-col{min-width:9.5rem;white-space:nowrap;font-variant-numeric:tabular-nums}.admin-programs-table .admin-programs-enrollment-col.is-full{color:#059669;font-weight:600}.admin-programs-table th.admin-programs-tuition-col,.admin-programs-table td.admin-programs-tuition-cell{white-space:nowrap}.admin-programs-table .admin-programs-visibility-col{min-width:7.5rem;max-width:11rem;white-space:normal;line-height:1.25;font-size:.92em}.admin-programs-table .admin-programs-discount-eligible-col{min-width:5.5rem;max-width:7.5rem;white-space:nowrap;text-align:center;font-variant-numeric:tabular-nums}.admin-programs-table .admin-programs-assignment-col{min-width:4.75rem;white-space:nowrap;text-align:center;font-variant-numeric:tabular-nums}.admin-programs-sort-th{display:inline-flex;align-items:center;gap:.38rem;margin:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;line-height:1.25;text-align:inherit;cursor:pointer;border-radius:.15rem}.admin-programs-sort-th:hover{color:#374151}.admin-programs-sort-th:hover .admin-programs-sort-th-label{text-decoration:underline;text-decoration-color:#9ca3af;text-underline-offset:.18em}.admin-programs-sort-th.is-sorted{color:#374151}.admin-programs-sort-th.is-sorted .admin-programs-sort-th-label{font-weight:600}.admin-programs-sort-th:focus-visible{outline:2px solid #6b7280;outline-offset:2px}.admin-programs-sort-th-label{min-width:0}.admin-programs-sort-th-glyphs{display:inline-flex;flex-direction:column;flex-shrink:0;align-items:center;justify-content:center;gap:.1rem;width:.7rem;line-height:1;font-size:.52rem}.admin-programs-sort-th-glyph{display:block;transform:scaleX(1.15)}.admin-programs-sort-th-glyph.is-available{color:#9ca3af}.admin-programs-sort-th:hover .admin-programs-sort-th-glyph.is-available{color:#6b7280}.admin-programs-sort-th-glyph.is-off{color:#cbd5e1}.admin-programs-sort-th-glyph.is-on{color:#374151;font-size:.58rem}.admin-usage-stats{display:flex;flex-direction:column;gap:1.25rem}.admin-usage-stats .program-mgmt-toolbar{align-items:center}.admin-usage-stats .kpi-grid .hint{margin:.35rem 0 0}.admin-usage-block{display:flex;flex-direction:column;gap:.5rem}.admin-usage-block h3{margin:0;font-size:var(--portal-title-sm);font-weight:600;color:#0f172a}.admin-usage-section-title{margin:.35rem 0 0;font-size:1.05rem;font-weight:600;color:#0f172a}.admin-free-class-fee-panel .admin-free-class-fee-heading-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .75rem;margin-left:auto}.admin-free-class-fee-estimate-controls{display:flex;flex-direction:column;align-items:stretch;gap:.55rem;width:100%;margin-bottom:.35rem}.admin-free-class-fee-estimate-controls .admin-free-class-fee-month-field{--admin-seller-billing-control-width: min(15rem, 100%)}.admin-seller-billing-action-toolbar{display:flex;flex-wrap:nowrap;align-items:center;gap:.65rem .75rem;width:100%;min-width:0}.admin-seller-billing-action-toolbar .admin-seller-billing-inline-field{flex:0 0 auto;flex-wrap:nowrap;width:auto;max-width:none}.admin-seller-billing-action-toolbar-feedback{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:.35rem .75rem;flex:0 1 auto;min-width:0}.admin-seller-billing-action-toolbar-feedback .program-form-error,.admin-seller-billing-action-toolbar-feedback .admin-seller-billing-action-toolbar-notice{margin:0;flex:0 1 auto;min-width:0}.admin-seller-billing-action-toolbar-feedback .program-form-error{padding:.35rem .55rem;font-size:.82rem;line-height:1.35;white-space:nowrap}.admin-seller-billing-action-toolbar-feedback .admin-seller-billing-action-toolbar-notice{font-size:.82rem;line-height:1.35;white-space:nowrap;color:#065f46;font-weight:500}.admin-seller-billing-action-toolbar-actions{display:inline-flex;flex-shrink:0;align-items:center;gap:.35rem}.admin-seller-billing-action-toolbar-actions .primary-btn{margin-bottom:0}.admin-free-class-fee-refresh-with-help{align-items:center;gap:.35rem}.admin-free-class-fee-panel .admin-free-class-fee-bucket-section+.admin-free-class-fee-bucket-section{margin-top:1rem;padding-top:1rem;border-top:1px solid #e2e8f0}.admin-free-class-fee-collapsible-section>summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem;font-weight:600;color:#0f172a}.admin-free-class-fee-collapsible-section>summary::-webkit-details-marker{display:none}.admin-free-class-fee-collapsible-section>summary:before{content:"▸";display:inline-block;width:1rem;color:#64748b;transition:transform .15s ease}.admin-free-class-fee-collapsible-section[open]>summary:before{transform:rotate(90deg)}.admin-free-class-fee-section-summary-title{font-size:1.05rem}.admin-free-class-fee-section-summary-meta{flex:1 1 100%;font-weight:400;font-size:.875rem;line-height:1.45}.admin-free-class-fee-section-body{margin-top:.65rem;padding-left:1rem;border-left:2px solid #e2e8f0}.admin-free-class-fee-panel .admin-free-class-fee-section-status{margin:0 0 .65rem}.admin-free-class-fee-teacher-groups{display:flex;flex-direction:column;gap:.65rem}.admin-free-class-fee-teacher-group-title{font-size:.9rem;font-weight:600;color:#334155}.admin-free-class-fee-teacher-group>summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .5rem}.admin-free-class-fee-teacher-group>summary::-webkit-details-marker{display:none}.admin-free-class-fee-teacher-group>summary:before{content:"▸";display:inline-block;width:.85rem;color:#64748b;transition:transform .15s ease}.admin-free-class-fee-teacher-group[open]>summary:before{transform:rotate(90deg)}.admin-free-class-fee-teacher-group-summary{margin-bottom:.25rem}.admin-free-class-fee-teacher-group-meta{font-size:.8125rem;font-weight:400}.admin-castpo-platform-invoice-subsection{margin-top:.25rem}.admin-castpo-platform-invoice-subsection-title{margin:0 0 .5rem;font-size:.95rem;font-weight:600;color:#334155}.admin-castpo-platform-invoice-estimate-preview{margin-top:.75rem}.admin-castpo-platform-invoice-estimate-preview.billing-invoice-item{border:1px solid #e2e8f0;border-radius:.5rem;padding:.75rem 1rem}.admin-castpo-platform-invoice-estimate-empty{margin-top:.75rem}.admin-castpo-platform-invoice-estimate-period{margin:.25rem 0 0;font-size:.8125rem}.admin-castpo-platform-invoice-free-fee-details{margin-top:1rem}.admin-free-class-fee-teacher-group ul{margin:.35rem 0 0 1.1rem;padding-left:1.25rem}.admin-free-class-fee-hour-sessions{margin-top:.35rem}.admin-free-class-fee-hour-sessions summary{cursor:pointer;color:var(--portal-text-muted, #64748b)}.admin-free-class-fee-hour-sessions ul{margin:.35rem 0 0;padding-left:1.25rem}.admin-free-class-fee-panel .admin-free-class-fee-bucket-warnings{margin:.5rem 0 0}.admin-seller-billing-panel{display:flex;flex-direction:column;gap:1rem}.admin-seller-billing-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.65rem .75rem;margin:0}.admin-seller-billing-panel .admin-seller-billing-filters .profile-inline-field{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .65rem;grid-template-columns:unset}.admin-seller-billing-panel .admin-seller-billing-filters .profile-inline-field select{flex:0 0 auto;width:auto;min-width:12rem;max-width:min(20rem,100%)}.admin-seller-billing-scope-note{flex:1 1 100%}.admin-seller-billing-sections{display:flex;flex-direction:column;gap:1.25rem}.admin-seller-billing-sections-top{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 2.5rem;align-items:start;padding-top:.25rem;border-top:1px solid #e2e8f0}@media (max-width: 960px){.admin-seller-billing-sections-top{grid-template-columns:1fr}}.admin-seller-billing-sections-top .admin-seller-billing-section{padding-top:0;border-top:none;min-width:0}.admin-seller-billing-section{padding-top:.25rem;border-top:1px solid #e2e8f0}.admin-seller-billing-section-title{margin:0 0 .65rem;font-size:1.05rem;font-weight:600;color:#0f172a}.admin-seller-billing-section-title-inner{display:inline-flex;align-items:center;flex-wrap:nowrap;gap:.2rem}.admin-seller-billing-section-title-inner .context-help{margin-left:.15rem}.admin-seller-billing-section-lead{margin:0 0 .75rem;font-size:.8125rem;line-height:1.45}.admin-seller-billing-section-body .admin-seller-billing-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 2.5rem;margin:0;align-items:center;--admin-seller-billing-control-width: 15rem}@media (max-width: 960px){.admin-seller-billing-section-body .admin-seller-billing-fields{grid-template-columns:1fr}}.admin-seller-billing-sections-top .admin-seller-billing-section-body .admin-seller-billing-fields,.admin-seller-billing-fields--stacked{grid-template-columns:1fr;gap:.55rem}.admin-seller-billing-field-span-all{grid-column:1 / -1}.admin-seller-billing-panel .admin-seller-billing-inline-field,.admin-seller-billing-panel .login-account-label.admin-seller-billing-inline-field{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.45rem .65rem;width:100%;min-width:0;grid-template-columns:unset}.admin-seller-billing-panel .login-account-label.admin-seller-billing-inline-field .admin-seller-billing-field-label{grid-column:unset;flex:0 1 auto}.admin-seller-billing-panel .login-account-label.admin-seller-billing-inline-field input:not([type=checkbox]),.admin-seller-billing-panel .login-account-label.admin-seller-billing-inline-field select{grid-column:unset}.admin-seller-billing-inline-field{display:grid;grid-template-columns:minmax(0,1fr) var(--admin-seller-billing-control-width, 15rem);align-items:center;gap:.65rem .85rem;width:100%;min-width:0}.login-account-label.admin-seller-billing-inline-field{display:grid;flex-direction:row;grid-template-columns:minmax(0,1fr) var(--admin-seller-billing-control-width, 15rem);align-items:center;gap:.65rem .85rem}.login-account-label.admin-seller-billing-inline-field .admin-seller-billing-field-label{grid-column:1}.login-account-label.admin-seller-billing-inline-field input:not([type=checkbox]),.login-account-label.admin-seller-billing-inline-field select{grid-column:2}.admin-seller-billing-field-label{margin:0;min-width:0;font-size:.8rem;font-weight:500;color:#475569;line-height:1.3}.admin-seller-billing-inline-field .section-title-with-help{display:inline-flex;align-items:center;flex-wrap:nowrap;gap:.2rem;max-width:100%}.admin-seller-billing-inline-field .section-title-with-help .context-help{margin-left:.15rem;flex-shrink:0}.admin-seller-billing-panel .admin-seller-billing-inline-field input:not([type=checkbox]),.admin-seller-billing-panel .admin-seller-billing-inline-field select,.admin-seller-billing-panel .login-account-label.admin-seller-billing-inline-field input:not([type=checkbox]),.admin-seller-billing-panel .login-account-label.admin-seller-billing-inline-field select{flex:0 0 auto;width:auto;min-width:8rem;max-width:var(--admin-seller-billing-control-width, 15rem);justify-self:unset}.admin-seller-billing-panel .admin-seller-billing-action-toolbar .admin-seller-billing-inline-field,.admin-seller-billing-panel .admin-seller-billing-action-toolbar .login-account-label.admin-seller-billing-inline-field{width:auto;flex:0 0 auto;flex-wrap:nowrap}.admin-seller-billing-inline-field input:not([type=checkbox]),.admin-seller-billing-inline-field select,.login-account-label.admin-seller-billing-inline-field input:not([type=checkbox]),.login-account-label.admin-seller-billing-inline-field select{width:100%;min-width:0;max-width:var(--admin-seller-billing-control-width, 15rem);box-sizing:border-box;justify-self:end}.admin-seller-billing-fields .admin-seller-billing-checkbox-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:.45rem;padding:.15rem 0;font-size:.8rem;font-weight:500;color:#475569;line-height:1.3;min-width:0}.admin-seller-billing-fields .admin-seller-billing-checkbox-row input[type=checkbox]{margin:0}.admin-seller-billing-fields .admin-seller-billing-checkbox-row .section-title-with-help{display:inline-flex;align-items:center;flex-wrap:nowrap;gap:.2rem;font:inherit;color:inherit;font-weight:inherit;min-width:0}.admin-seller-billing-fields .admin-seller-billing-checkbox-row .context-help{margin-left:.15rem;flex-shrink:0}.admin-seller-billing-fields .admin-free-class-fee-panel--embedded{margin-top:.35rem;padding:.75rem .85rem;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.admin-free-class-fee-panel-placeholder{margin:.25rem 0 0;font-size:.8125rem}.admin-free-class-fee-embedded-subtitle{margin:0 0 .5rem;font-size:.9rem;font-weight:600;color:#334155}.admin-free-class-fee-embedded-heading{margin-bottom:.5rem}.admin-seller-billing-actions{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;padding-top:.25rem;border-top:1px solid #e2e8f0}.admin-categories-table{width:100%}.admin-categories-table .admin-categories-col-id{min-width:8.5rem;width:9.5rem;font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:.85rem;white-space:nowrap;vertical-align:middle}.admin-categories-table .admin-categories-col-description{max-width:9rem;width:18%}.admin-categories-table .admin-categories-description-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-categories-table .admin-categories-col-actions{width:1%;white-space:nowrap;vertical-align:middle}.admin-categories-table .admin-categories-actions{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:.35rem}.admin-categories-table .admin-categories-col-image{max-width:14rem}.admin-categories-image-cell{display:flex;align-items:center;gap:.5rem;min-width:0}.admin-categories-image-thumb-btn{flex-shrink:0;padding:.15rem;line-height:0;cursor:zoom-in}.admin-categories-image-thumb{display:block;width:36px;height:24px;object-fit:cover;border-radius:6px;border:1px solid rgba(0,0,0,.08)}.admin-categories-image-link{flex-shrink:0;font-size:.85rem;white-space:nowrap}.admin-top-banner{-webkit-user-select:text;user-select:text;cursor:text}.admin-category-tree-name{display:flex;align-items:center;gap:.35rem;min-width:12rem}.admin-category-tree-guides{display:flex;flex-shrink:0;align-items:stretch;align-self:stretch;min-height:1.35rem}.admin-category-tree-guide{flex:0 0 .85rem;margin-right:.1rem;border-left:2px solid rgba(15,23,42,.1);border-radius:1px}.admin-category-tree-guide--active{border-left-color:#2563eb73}.admin-category-tree-toggle{flex-shrink:0;padding:.1rem .35rem}.admin-category-tree-toggle-spacer{flex-shrink:0;width:1.85rem;display:inline-block}.admin-category-tree-label{min-width:0}.payout-setup-panel{margin-bottom:1.25rem}.payout-setup-panel h3{margin-bottom:.5rem}.payout-setup-status-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:nowrap;margin-top:.5rem}.payout-setup-status{margin:0;flex:1 1 auto;min-width:0}.payout-setup-actions{margin-top:0}.card-heading-row{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin-bottom:.5rem}.card-heading-row h3,.card-heading-row h4{margin:0}.card-heading-row--compact{flex-wrap:nowrap}.staff-panel-header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0;margin:0;padding:0;border-top:0}.staff-coupons-panel-header{align-items:center}.discount-policies-columns,.staff-coupon-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-top:.5rem}.staff-coupon-list .educator-achievement-item{margin:0;padding:.75rem;border:1px solid #e2e8f0;border-radius:.5rem;background:#fff}.staff-coupon-item{align-items:flex-start;justify-content:space-between;gap:.75rem}.staff-coupon-item .educator-achievement-body{min-width:0;flex:1 1 auto}.staff-coupon-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;flex:0 0 auto;margin-left:auto}.staff-coupon-action-row{display:flex;flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:.35rem}.staff-coupon-actions .chip{white-space:nowrap}.staff-coupon-actions .staff-coupon-delete{border-color:#fecaca;color:#b91c1c}.staff-coupon-actions .staff-coupon-delete:hover:not(:disabled){background:#fef2f2}.discount-policies-column h4{margin:0}.discount-policies-column-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.discount-policies-column-header .primary-btn{flex-shrink:0;white-space:nowrap}.discount-policy-charge-types{border:none;margin:0;padding:0}.discount-policy-charge-types legend{margin-bottom:0;padding:0;font-size:inherit;font-weight:500}.discount-policy-charge-types-options{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem}.discount-policy-charge-type-option{display:flex;flex-direction:row;align-items:center;gap:.45rem;margin:0;font-weight:400}.discount-policy-charge-type-option input[type=checkbox]{margin:0}.tuition-scale-tier-editor{display:flex;flex-wrap:nowrap;align-items:flex-end;gap:.65rem;padding:.75rem 0;border-top:1px solid #e5e7eb}.tuition-scale-tier-editor .tuition-scale-tier-field{flex:1 1 0;min-width:0;margin:0}.tuition-scale-tier-editor .tuition-scale-tier-field input{width:100%}.tuition-scale-tier-remove{flex-shrink:0;margin-bottom:.1rem}.staff-imminent-attendance-backdrop{align-items:center;background:#0f172a73}.staff-imminent-attendance-modal{width:min(480px,100%);margin:auto;padding:1.25rem 1.5rem;box-shadow:0 18px 48px #0f172a38;display:flex;flex-direction:column;gap:.5rem}.staff-imminent-attendance-modal h2{margin:0;font-size:1.125rem;font-weight:700;line-height:1.3;color:#0f172a}.staff-imminent-attendance-lead{margin:0;color:#64748b;font-size:1rem;line-height:1.45}.staff-imminent-attendance-list{list-style:none;margin:.25rem 0 0;padding:0;display:flex;flex-direction:column;gap:.375rem}.staff-imminent-attendance-option{width:100%;text-align:left;padding:.75rem 1rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff;cursor:pointer;font:inherit;-webkit-tap-highlight-color:rgba(37,99,235,.12)}.staff-imminent-attendance-option:hover{border-color:#94a3b8;background:#f8fafc}.staff-imminent-attendance-program{display:block;font-weight:600;color:#0f172a}.staff-imminent-attendance-session{display:block;margin-top:.25rem;font-size:.8125rem;color:#64748b}.staff-imminent-attendance-actions{margin-top:.75rem;display:flex;justify-content:flex-end}.staff-imminent-attendance-dismiss{border:none;background:transparent;padding:.5rem;margin:0;font:inherit;color:#0f172a;cursor:pointer}.staff-imminent-attendance-dismiss:hover{color:#2563eb}.staff-payments-modal-backdrop{align-items:center;overflow-y:auto;scrollbar-gutter:stable;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.staff-payments-modal{width:min(720px,100%);height:auto;max-height:none;margin:auto;flex:0 0 auto;align-self:center;box-shadow:0 18px 48px #0f172a38}.staff-payments-modal h4,.staff-payments-modal .staff-payments-modal-title{margin:0 0 .75rem;font-size:1.25rem;color:#0f172a}.staff-payments-modal-form{display:flex;flex-direction:column;gap:.35rem;max-width:none}.staff-payments-modal .program-form-actions{margin-top:.75rem;padding-top:.75rem}.staff-payments-modal .program-form-grid{margin-top:0}.staff-payments-modal .tuition-scale-tier-editor:first-of-type{border-top:0;padding-top:.35rem}.billing-invoice-amount-cell{display:inline-flex;flex-wrap:wrap;gap:.35rem;align-items:baseline}.billing-invoice-amount-detail{font-size:.88rem;line-height:1.35}.billing-invoice-item--staff{gap:.75rem}.billing-invoice-staff-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem 1rem;align-items:start}.billing-invoice-staff-main{display:grid;gap:.35rem;min-width:0}.billing-invoice-staff-side{display:grid;gap:.45rem;justify-items:end;align-content:start}.billing-invoice-details-toggle{justify-self:start;width:fit-content}@media (max-width: 900px){.discount-policies-columns,.staff-coupon-list{grid-template-columns:1fr}.payout-setup-status-row{flex-wrap:wrap}.billing-invoice-staff-top{grid-template-columns:1fr}.billing-invoice-staff-side{justify-items:start}}.split-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.table-wrap{background:#fff;border-radius:12px;border:1px solid #e5e7eb;overflow-x:auto}.individualized-milestone-attendance-table{width:100%;min-width:0;max-width:100%;box-sizing:border-box}.individualized-milestone-outline{--milestone-participant-count: 1;--milestone-visible-students: 3;--milestone-topic-col: minmax(10rem, 22%);width:100%;min-width:0;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;background:#fff;box-sizing:border-box}.individualized-milestone-outline--scroll{--milestone-topic-col-fixed: 12rem;--milestone-student-slot: calc((100% - var(--milestone-topic-col-fixed)) / var(--milestone-visible-students));overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%;max-width:100%}.individualized-milestone-outline--scroll .individualized-milestone-header,.individualized-milestone-outline--scroll .individualized-milestone-row{width:max(100%,calc(var(--milestone-topic-col-fixed) + var(--milestone-participant-count) * var(--milestone-student-slot)));grid-template-columns:var(--milestone-topic-col-fixed) repeat(var(--milestone-participant-count),var(--milestone-student-slot))}.individualized-milestone-outline--scroll .individualized-milestone-topic-col{position:sticky;left:0;z-index:1;background:#fff;box-shadow:4px 0 8px -4px #0f172a14}.individualized-milestone-outline--scroll .individualized-milestone-header .individualized-milestone-topic-col{background:#f9fafb}.individualized-milestone-outline--scroll .individualized-milestone-unit-row .individualized-milestone-topic-col{background:#f8fafc}.individualized-milestone-header,.individualized-milestone-row{display:grid;width:100%;box-sizing:border-box;grid-template-columns:var(--milestone-topic-col) repeat(var(--milestone-participant-count),minmax(0,1fr));gap:.65rem 1rem;align-items:start;padding:.45rem .75rem}.individualized-milestone-header{background:#f1f5f9;border-bottom:2px solid #e2e8f0;font-size:.875rem}.individualized-milestone-colheader-label{display:block;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#64748b;line-height:1.25}.individualized-milestone-colheader-label--participant{text-transform:none;letter-spacing:normal;font-size:.78rem;color:#475569}.individualized-milestone-header .individualized-milestone-topic-col--header{padding-inline-start:0;font-weight:inherit}.individualized-milestone-row{border-bottom:1px solid #f1f5f9}.individualized-milestone-row:last-child{border-bottom:0}.individualized-milestone-topic-col{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.35;padding-inline-start:calc((var(--milestone-depth, 1) - 1) * 1.1rem)}.individualized-milestone-participant-col{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25;text-align:start}.individualized-milestone-mark-cell{min-width:0}.individualized-milestone-unit-row{background:#f8fafc}.individualized-milestone-unit-row .individualized-milestone-topic-col{font-weight:600}.individualized-milestone-unit-row+.individualized-milestone-unit-row{border-top:1px solid #e2e8f0}.individualized-milestone-topic-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650;color:#0f172a}.individualized-milestone-topic-title--nested{font-weight:400;color:#334155}.individualized-milestone-topic-title--nested:before{content:"•";display:inline-block;margin-inline-end:.4rem;color:#94a3b8}.individualized-milestone-mark{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:flex-start;align-self:center;margin:0;cursor:pointer}.individualized-milestone-mark input{width:1.05rem;height:1.05rem;margin:0;accent-color:#2563eb}.individualized-milestone-mark--readonly{cursor:default}.individualized-milestone-mark--readonly input{cursor:default;opacity:1}.individualized-milestone-cell{display:flex;flex-flow:row wrap;align-items:center;gap:.5rem;width:100%;min-width:0}.individualized-milestone-comment-field{display:block;margin:0;flex:1 1 auto;min-width:0}.individualized-milestone-comment-input{width:100%;min-height:2rem;max-height:4.5rem;resize:vertical;font:inherit;font-size:.8125rem;line-height:1.35;padding:.35rem .45rem;border:1px solid var(--border-subtle, #d1d5db);border-radius:6px;background:var(--surface-elevated, #fff);box-sizing:border-box}.individualized-milestone-comment-input:focus{outline:2px solid #2563eb;outline-offset:1px}.individualized-milestone-comment--readonly{margin:0;flex:1 1 auto;min-width:0;font-size:.8125rem;line-height:1.35;color:var(--text-muted, #4b5563);white-space:pre-wrap}.individualized-milestone-work-doc{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.35rem .5rem;margin-left:auto;flex:0 0 auto;max-width:100%}.individualized-milestone-work-doc .upload-shrink-guidance,.individualized-milestone-work-doc>.program-form-error{flex:1 1 100%;min-width:100%;margin-top:.15rem}.individualized-milestone-empty-hint{margin:.75rem .9rem .35rem}table{width:100%;border-collapse:collapse}th,td{padding:.75rem .9rem;border-bottom:1px solid #f3f4f6;text-align:left;font-size:.9rem}th{background:#f9fafb;color:#6b7280}.payments-by-program tbody .payments-group-row th.payments-group-heading{text-align:left;background:#f1f5f9;color:#0f172a;font-weight:600;border-top:1px solid #e2e8f0;border-bottom:1px solid #e0e7ff;padding:.7rem .9rem;vertical-align:middle}.payments-by-program tbody:first-of-type .payments-group-row th.payments-group-heading{border-top:0}.institute-lead-group-row th.payments-group-heading,.institute-lead-group-row th{text-align:left;background:#e0e7ff;color:#1e1b4b;font-weight:700;font-size:.9rem;border-top:1px solid #c7d2fe;border-bottom:1px solid #a5b4fc;padding:.65rem .9rem}.payments-by-program tbody .institute-lead-group-row+tr .payments-group-heading{border-top:0}.institute-program-lead-block{display:flex;flex-direction:column;gap:.85rem;margin-bottom:1.5rem}.institute-program-lead-block:last-child{margin-bottom:0}.institute-program-lead-heading{margin:0;font-size:.95rem;font-weight:700;color:#312e81;padding:.35rem 0 .15rem;border-bottom:2px solid #c7d2fe}.institute-programs-directory{display:flex;flex-direction:column;gap:1.25rem;width:100%}.institute-programs-directory-header{padding-bottom:.35rem}.institute-programs-directory-title{margin:0 0 .25rem;font-size:1.15rem;font-weight:700;color:#0f172a}.institute-programs-directory-summary{margin:0;font-size:1rem;font-weight:600;color:#334155}.institute-educator-tabs-heading-wrap{padding:.55rem 1rem .5rem;background:#f8fafc;border-bottom:1px solid #e2e8f0}.institute-educator-tabs-heading{margin:0 0 .2rem;font-size:.95rem;font-weight:700;color:#0f172a}.institute-educator-tabs-summary{margin:0;font-size:.8rem;color:#64748b;line-height:1.35}.institute-educator-section{border:1px solid #c7d2fe;border-radius:10px;background:linear-gradient(180deg,#f8fafc,#fff 48%);padding:.85rem 1rem 1rem}.institute-educator-section-head{margin-bottom:.65rem;padding-bottom:.5rem;border-bottom:1px solid #e0e7ff}.institute-educator-section-title{margin:0;font-size:1rem;font-weight:700;color:#312e81}.institute-educator-section-meta{margin:.2rem 0 0;font-size:.82rem;color:#64748b}.institute-educator-program-cards{display:flex;flex-direction:column;gap:.85rem;padding-left:.5rem;border-left:3px solid #a5b4fc}.institute-programs-directory .institute-programs-cards-panel{border-left:none;padding:.85rem 1rem 1rem;margin:0}.institute-lead-heading-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.35rem .75rem}.payments-group-lead-badge{font-size:.75rem;font-weight:700;color:#3730a3;background:#e0e7ff;padding:.15rem .55rem;border-radius:999px;white-space:nowrap}.institute-cal-lead-block{margin-top:.5rem}.institute-cal-lead-block:first-child{margin-top:0}.institute-cal-lead-label{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:#6366f1;font-weight:700;margin:.4rem 0 .25rem;padding:0 .1rem}.payments-group-title{display:block;font-size:.95rem;color:#0f172a}.payments-group-meta{display:block;margin-top:.2rem;font-size:.8rem;font-weight:500;color:#64748b}.payments-group-empty{color:#94a3b8;font-size:.88rem;background:#fafafa;font-style:italic}.status{border-radius:999px;font-size:.75rem;padding:.2rem .55rem;font-weight:600}.status.paid{background:#dcfce7;color:#166534}.status.due,.status.pending{background:#fef3c7;color:#92400e}.status.overdue{background:#fee2e2;color:#b91c1c}.status.refunded{background:#e2e8f0;color:#334155}.enrollment-status-row{display:flex;align-items:center;gap:.5rem;flex-wrap:nowrap;white-space:nowrap}.guest-enrollment-participant-line{display:inline;white-space:nowrap}.guest-enrollment-participant-org{font-weight:inherit;color:inherit}table.guest-enrollment-roster-table tr.enrollment-roster-row--single-line td{vertical-align:middle;white-space:nowrap}table.guest-enrollment-roster-table.guest-enrollment-roster-table--appointments{width:100%;table-layout:fixed}table.guest-enrollment-roster-table--appointments .guest-enrollment-name-col{width:28%;min-width:9rem;max-width:none}table.guest-enrollment-roster-table--appointments .guest-enrollment-appointment-col{width:15%;min-width:10.5rem}table.guest-enrollment-roster-table--appointments .guest-enrollment-contact-col{width:32%;min-width:9rem;overflow:hidden;text-overflow:ellipsis}table.guest-enrollment-roster-table--appointments .guest-enrollment-status-col{width:25%;min-width:14rem}.enrollment-disenroll-modal-dialog{width:min(28rem,100%)}.enrollment-disenroll-refund-choices{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem;margin:.85rem 0 0;padding:0;border:0}.enrollment-disenroll-refund-choices legend{font-size:.85rem;font-weight:600;color:#334155;margin-bottom:.2rem;padding:0}.enrollment-disenroll-refund-choices .program-form-radio{flex-direction:row;align-items:center;gap:.45rem}.enrollment-disenroll-refund-choices .program-form-radio input[type=radio]{width:auto;margin:0;padding:0;accent-color:#2563eb}.booking-list{list-style:none;padding:0;margin:0;display:grid;gap:.8rem}.booking-list li{border:1px solid #e5e7eb;border-radius:8px;padding:.65rem;display:flex;flex-direction:column;gap:.2rem}.booking-list span{color:#4b5563;font-size:.9rem}.category-meta{color:#334155;font-weight:600;font-size:.88rem}.filter-row{display:flex;gap:.6rem;margin-top:.7rem;flex-wrap:wrap}.sub-filter-row{margin-top:.55rem}.filter-row.public-segment-search-line{flex-wrap:nowrap;align-items:center;gap:.5rem .55rem;width:100%;min-width:0;box-sizing:border-box;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;padding-right:0}.public-hero{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:start;gap:.6rem}.public-segment-chips{display:flex;flex-wrap:nowrap;flex:0 0 auto;align-items:center;gap:.45rem;white-space:nowrap}.public-category-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:.28rem .12rem;flex:1 1 auto;min-width:0;margin:0}.public-category-breadcrumb-sep{color:#94a3b8;font-size:.82rem;padding:0 .06rem;-webkit-user-select:none;user-select:none}.filter-row.public-segment-search-line .ai-portal-form{flex:0 0 48ch;width:48ch;min-width:48ch;max-width:48ch;flex-shrink:0;margin:0 0 0 auto}.ai-portal-form{min-width:0;margin:0}.ai-portal-input-wrap{display:flex;align-items:stretch;position:relative;width:100%;min-height:2.2rem;border:1px solid #c7d2fe;border-radius:10px;background:#f8fafc;box-shadow:0 0 0 1px #6366f11f;padding-right:.25rem}.ai-portal-icon-slot{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:auto;min-width:2.1rem;align-self:stretch;border-right:1px solid #e0e7ff;background:linear-gradient(135deg,#f0f4ff,#f5f3ff);border-radius:9px 0 0 9px;padding:0}.ai-portal-solid-star{display:inline-flex;align-items:center;justify-content:center;font-size:1.02rem;line-height:1;color:#6d28d9}.ai-portal-gemini-icon{display:block;flex:0 0 auto;width:auto;height:82%;max-height:100%;aspect-ratio:1;min-width:0}.ai-portal-input{box-sizing:border-box;flex:1 1 0;min-width:0;width:100%;border:0;background:transparent;padding:.45rem .35rem .45rem .2rem;font-size:.92rem;line-height:1.3;outline:none;border-radius:0 9px 9px 0;align-self:center;min-height:0}.ai-portal-input:focus{box-shadow:none}.ai-portal-input::placeholder{color:#64748b}.ai-portal-input[type=search]{-webkit-appearance:none;-moz-appearance:none;appearance:none}.ai-portal-input[type=search]::-webkit-search-cancel-button,.ai-portal-input[type=search]::-webkit-search-decoration{-webkit-appearance:none;-moz-appearance:none;appearance:none}.ai-portal-input-clear{flex:0 0 auto;align-self:center;display:inline-flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;margin:0 .1rem 0 .05rem;padding:0;border:0;border-radius:999px;background:#e2e8f0;color:#475569;font-size:1.1rem;line-height:1;cursor:pointer}.ai-portal-input-clear:hover{background:#cbd5e1;color:#1e293b}.category-search-input{box-sizing:border-box;min-width:0;border:1px solid #d1d5db;border-radius:10px;padding:.5rem .75rem;font-size:.92rem;background:#fff;outline:none}.chip{border:1px solid #d1d5db;border-radius:999px;padding:.3rem .7rem;background:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.25rem;font-size:.9rem;line-height:1.25;color:#0f172a;text-decoration:none}button.chip,label.chip{-moz-appearance:none;appearance:none;-webkit-appearance:none;margin:0;font:inherit;font-weight:inherit}label.chip{-webkit-user-select:none;user-select:none}.active-chip{background:#e2e8f0;border-color:#94a3b8;color:#1e293b}.role-picker{margin-top:1rem}.role-picker select{margin-top:.3rem}.public-link-btn{margin-top:.7rem;width:100%;border:1px solid var(--sidebar-border, #d4d0c8);border-radius:8px;background:transparent;color:var(--sidebar-text, #1c1917);padding:.55rem .65rem;cursor:pointer}.public-link-btn:hover:not(:disabled):not(.public-link-btn-disabled){background:var(--sidebar-hover, #ddd9d2)}.public-link-btn:disabled,.public-link-btn.public-link-btn-disabled{cursor:not-allowed;opacity:.5;color:var(--sidebar-text-muted, #57534e);background:var(--sidebar-hover, #ddd9d2);filter:grayscale(1)}.hero-brand{flex:1;height:56px;border-radius:10px;overflow:hidden;border:1px solid #d1d5db;position:relative}.hero-logo-slot{width:56px;height:56px;border-radius:12px;overflow:hidden;flex:0 0 56px}.hero-logo-slot img{width:100%;height:100%;object-fit:cover;display:block}.hero-program-strip{width:100%;height:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;background:#e2e8f0}.hero-program-panel{margin:0;position:relative;overflow:hidden}.hero-program-panel img{width:100%;height:calc(var(--hero-scale, 1.4) * 100%);object-fit:cover;display:block;filter:saturate(1.02) contrast(1.03);transform:translateY(var(--hero-shift, -20%))}.hero-program-panel:nth-child(1) img{--hero-shift: -34%}.hero-program-panel:nth-child(2) img{--hero-shift: -24%}.hero-program-panel:nth-child(3) img{--hero-shift: -32%}.hero-program-panel:nth-child(4) img{--hero-scale: 1.15;--hero-shift: -8%}.hero-program-panel:nth-child(5) img{--hero-scale: 1.22;--hero-shift: -18%}.hero-program-panel span{position:absolute;left:6px;top:6px;width:18px;height:18px;border-radius:999px;background:#ffffffe0;border:1px solid #cbd5e1;color:#334155;font-size:.68rem;font-weight:700;display:grid;place-items:center}.login-panel{margin:0;width:28rem;max-width:28rem;background:#ffffffbf;border:1px solid #cbd5e1;border-radius:12px;padding:.3rem .45rem;color:#1f2937;display:grid;grid-template-columns:minmax(0,1fr);align-content:center;min-height:7.25rem;gap:.4rem;position:absolute;right:.2rem;top:.35rem;z-index:4}.login-label{font-size:.84rem;color:#475569;font-weight:600;display:inline-flex;align-items:center;line-height:1}.login-panel select,.login-panel input{min-width:120px;width:100%;border-color:#94a3b8;padding:.4rem .5rem;box-sizing:border-box;max-width:100%;border-style:solid;border-width:1px;border-radius:8px;background:#fff;color:#0f172a}.login-account-label{display:flex;flex-direction:column;gap:.15rem;min-width:0}.login-field{width:100%}.login-account-label select{min-width:0}.login-account-label.profile-inline-field{display:grid;grid-template-columns:170px minmax(0,1fr);align-items:center;gap:.7rem}.login-account-label.profile-inline-field .profile-inline-label{margin:0}.profile-logo-upload-field,.login-account-label.profile-inline-field.profile-summary-field{align-items:start}.profile-logo-field-body{display:flex;flex-direction:column;gap:.55rem;min-width:0}.profile-logo-url-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.45rem;margin:0}.profile-logo-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;min-width:0}.profile-logo-preview{width:44px;height:44px;object-fit:cover;border-radius:8px;border:1px solid #cbd5e1;flex-shrink:0}.profile-logo-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0;flex:1 1 12rem}.profile-logo-actions input[type=file]{max-width:100%;min-width:0}.password-input-row{position:relative;display:flex;align-items:center;width:100%;min-width:0}.password-input-row>input{flex:1 1 auto;min-width:0;width:100%;padding-right:2.4rem}.password-toggle-btn{position:absolute;right:2px;top:0;bottom:0;display:inline-flex;align-items:center;justify-content:center;width:32px;margin:0;padding:0;border:0;border-radius:6px;background:transparent;color:#000;cursor:pointer;flex-shrink:0}.password-toggle-btn:hover{color:#000}.password-toggle-btn:focus-visible{outline:2px solid #93c5fd;outline-offset:1px}.password-toggle-btn svg{width:22px;height:22px;display:block;shape-rendering:geometricPrecision}.password-rules-list{margin:0;padding-left:1rem;font-size:.78rem;line-height:1.35;color:#64748b}.password-rules-list .ok{color:#166534}.password-rules-list .todo{color:#64748b}.login-submit-btn{align-self:stretch;justify-self:stretch;grid-column:1 / -1}.auth-panel{padding:.85rem;gap:.55rem}.auth-login-panel{width:100%;max-width:100%;background:#ffffffbf;min-height:auto;flex:0 0 auto;flex-shrink:0;position:static;right:auto;top:auto;z-index:auto;align-content:start}.auth-login-panel .program-form-error{margin:0;grid-column:1 / -1}.auth-signed-in-panel.auth-login-panel{align-content:start}.auth-signed-in-lead{margin:0;grid-column:1 / -1;font-size:.84rem;font-weight:600;color:#475569;line-height:1.45}.auth-signed-in-lead strong{font-weight:700;color:#1f2937}.auth-signed-in-panel .auth-actions-row{grid-column:1 / -1}.auth-restore-hint{margin:0}.public-portal-resume-bar{display:flex;justify-content:flex-end;align-items:center;gap:.5rem;padding:.45rem 1rem;border-bottom:1px solid #e5e7eb;background:#f9fafb}.public-layout-with-auth{display:grid;grid-template-columns:minmax(0,1fr) 25rem;grid-template-rows:auto auto auto;gap:.65rem .85rem;align-items:start;position:relative;padding-right:2rem}.public-layout-with-auth>.public-hero{grid-column:1;grid-row:1;padding-right:0;align-self:start}.public-layout-with-auth>.public-auth-rail{grid-column:2;grid-row:1 / -1;align-self:start;justify-self:stretch;height:0;min-height:0;overflow:visible}.public-auth-rail-inner{display:flex;flex-direction:column;gap:.65rem;position:sticky;top:.75rem;width:100%;min-width:0;max-height:calc(100vh - 1.5rem);overflow-y:auto}.public-auth-rail .login-panel{width:100%;max-width:100%;min-width:0;min-height:auto;flex:0 0 auto;flex-shrink:0;align-content:start;position:static;overflow:visible}.public-layout-with-auth>.public-main-below{grid-column:1;grid-row:2;min-width:0;align-self:start;display:flex;flex-direction:column;gap:0}.public-layout-institute-home{display:grid;grid-template-columns:minmax(0,1fr) 25rem;grid-template-rows:auto auto auto;gap:1rem 1.5rem;align-items:start;align-content:start;position:relative;min-height:calc(100vh - 1rem)}.public-layout.public-layout-institute-home{--institute-home-gutter: 2.75rem;padding:1.75rem var(--institute-home-gutter) 2.25rem;background:#f3f4f6}.public-layout-institute-home>.institute-public-top-bar{grid-column:1;grid-row:1;min-width:0;width:100%;align-self:start;padding:0;margin:0}.institute-public-top-bar{display:flex;align-items:flex-start;justify-content:flex-start;width:100%;padding:0}.public-layout-institute-home>.public-auth-rail{grid-column:2;grid-row:1 / -1;align-self:start;justify-self:stretch;height:0;min-height:0;overflow:visible}.public-layout-institute-home .public-auth-rail-inner{gap:.45rem;padding-top:0;top:0}.public-layout-institute-home>.public-main-below{grid-column:1;grid-row:2;min-width:0;min-height:0;display:flex;flex-direction:column;justify-content:flex-start;gap:0}.public-browse-layout-institute-tiles-only{margin-top:0}.public-browse-layout-institute-tiles-only .public-browse-main{flex:1 1 100%;width:100%;min-width:0}.institute-home-section-head{margin-bottom:.35rem}.public-layout-institute-home .institute-home-programs.public-browse-main{flex:0 1 auto}.institute-auth-brand-block{display:flex;flex-direction:column;gap:.7rem;width:100%;max-width:100%;min-width:0}.institute-auth-brand-summary-shell{position:relative;width:100%}.institute-auth-brand-summary-html{--summary-line-height: 1.55;font-size:.95rem;line-height:var(--summary-line-height);color:#475569;width:100%}.institute-auth-brand-summary-html.is-collapsed,.expandable-clamped-text-html.is-collapsed{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--clamp-lines, 2);overflow:hidden}.institute-auth-brand-summary-flow{--summary-line-height: 1.55;margin:.15rem 0 0;font-size:.95rem;line-height:var(--summary-line-height);color:#475569;width:100%;max-width:none}.institute-auth-brand-summary-suffix--inline{display:inline;white-space:nowrap;vertical-align:baseline}.institute-auth-brand-achievements-measure{display:inline-flex;width:1.35rem;justify-content:center}.institute-auth-brand-summary-ellipsis,.institute-auth-brand-summary-show-less,.expandable-clamped-text-ellipsis,.expandable-clamped-text-show-less{display:inline;vertical-align:baseline;white-space:nowrap;margin-left:.1em;border:0;background:transparent;color:#1d4ed8;cursor:pointer;font-size:inherit;line-height:inherit;padding:0}.institute-auth-brand-summary-ellipsis,.expandable-clamped-text-ellipsis{font-weight:600}.institute-auth-brand-summary-ellipsis:hover,.institute-auth-brand-summary-show-less:hover,.expandable-clamped-text-ellipsis:hover,.expandable-clamped-text-show-less:hover{color:#1e3a8a;text-decoration:underline}.institute-auth-brand-summary-show-less,.expandable-clamped-text-show-less{font-weight:500}.institute-auth-brand-achievements-btn{border:0;background:transparent;color:#b45309;cursor:pointer;padding:0 0 0 .15em;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;border-radius:6px;line-height:1}.institute-auth-brand-achievements-btn:hover,.institute-auth-brand-achievements-btn:focus-visible{background:#fffbeb;color:#92400e}.institute-auth-brand-award-icon{display:inline-block;font-size:1.05em;line-height:1}.institute-achievements-modal{max-width:36rem}.institute-achievements-modal-list{margin:0;padding:0;max-height:min(60vh,28rem);overflow-y:auto}.institute-auth-brand{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;padding:0;margin:0;min-width:0}.institute-auth-brand img{width:auto;height:auto;max-height:72px;max-width:min(22rem,100%);border-radius:14px;object-fit:contain;object-position:left center;flex-shrink:0}.institute-auth-brand-fallback{box-sizing:border-box;width:72px;height:72px;border-radius:14px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:1.65rem;line-height:1;letter-spacing:-.02em;color:#0f172a;background:linear-gradient(145deg,#e2e8f0,#cbd5e1);border:1px solid rgba(15,23,42,.12)}.institute-auth-brand-name{flex:1 1 8rem;min-width:0;font-size:1.75rem;font-weight:650;color:#0f172a;line-height:1.15;letter-spacing:-.02em;overflow-wrap:anywhere}.institute-org-home-browse-shell{grid-column:1 / -1;margin-top:.35rem;scroll-margin-top:1rem}.public-layout-institute-home #institute-org-home-catalog{scroll-margin-top:1.25rem}.institute-org-home-browse-tabbar{margin-bottom:.65rem}.institute-home-schedule-calendar{padding:.75rem .85rem 1rem;border:none;box-shadow:none;background:transparent}.institute-home-schedule-calendar .portal-calendar-shell{margin-top:0}.institute-home-schedule-status{grid-column:1 / -1;margin:.5rem 0 0}.institute-org-home-programs-panel{margin-top:0}.institute-home-programs{width:100%}.institute-genre-strip{margin:0;padding:0;margin-bottom:.75rem}.institute-genre-strip .filter-row.sub-filter-row{margin-top:0}.institute-genre-strip .sub-filter-row{flex-wrap:wrap}.institute-home-empty{margin:1rem 0}.unclaimed-public-subdomain{max-width:28rem;margin:1.25rem 0 2rem}.unclaimed-public-subdomain-title{margin:0 0 .5rem;font-size:1.35rem;font-weight:650}.unclaimed-public-subdomain-copy{margin:0;color:#475569;line-height:1.5}.unclaimed-public-subdomain-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.15rem;align-items:center}.unclaimed-public-subdomain code{font-size:.92em}.public-layout-unclaimed{display:flex;flex-direction:column;align-items:center;padding:3.5rem 1.25rem 2.5rem;min-height:calc(100vh - 4rem)}.public-layout-unclaimed>.unclaimed-public-subdomain{order:1;margin:0;text-align:center;width:100%}.public-layout-unclaimed .unclaimed-public-subdomain-actions{justify-content:center}.public-layout-unclaimed>.public-auth-rail{order:2;width:100%;max-width:25rem;height:auto;margin-top:1.5rem}.public-layout-unclaimed .public-auth-rail-inner{position:static;max-height:none;overflow-y:visible}.unclaimed-register-heading{margin:0 0 .35rem;font-size:1rem;font-weight:650}.public-hero-with-auth{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.public-hero-leading{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:start;gap:.6rem;width:100%;min-width:0}.auth-register-panel{position:static;right:auto;top:auto;width:100%;max-width:100%;min-width:0;margin:.65rem 0 0;background:#fff;grid-template-columns:minmax(0,1fr);align-content:start;flex:0 0 auto;flex-shrink:0;overflow:visible;overflow-wrap:anywhere}.auth-register-panel>*{min-width:0;max-width:100%}.register-main{padding:1rem 0 .35rem}.register-main-head{max-width:62rem;margin:0 auto .65rem}.register-main-head h2{margin:0}.register-main-head p{margin:.25rem 0 0;color:#64748b}.auth-register-panel .login-role-slot,.auth-register-panel .login-submit-btn,.auth-register-panel .program-form-error,.auth-register-panel .password-rules-list,.auth-register-panel .login-hint,.auth-register-panel .notification-prefs-fieldset,.auth-register-panel .notification-prefs-hint,.auth-register-panel .register-educator-org-association,.auth-register-panel .register-institute-learner-hint,.auth-register-panel .register-institute-educator-hint{grid-column:1 / -1}.login-panel .notification-prefs-option input[type=checkbox]{width:auto;min-width:auto;padding:0}.login-hint{margin:0 0 .35rem;font-size:.85rem;line-height:1.35;color:#64748b}.checkin-password-hint{display:block;margin-top:.35rem;padding:.5rem .65rem;border-radius:8px;border:1px solid transparent;font-weight:600}.checkin-password-hint--short{background:#fef2f2;border-color:#fecaca;color:#991b1b}.checkin-password-hint--ok{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.register-educator-org-association{grid-column:1 / -1;display:grid;gap:.45rem;min-width:0}.login-account-label.register-educator-org-toggle{display:flex;flex-direction:row;align-items:flex-start;gap:.55rem;min-width:0}.register-educator-org-toggle .login-label{flex:1 1 auto;min-width:0;white-space:normal;line-height:1.45}.register-educator-org-toggle input[type=checkbox]{width:auto;min-width:auto;margin:.15rem 0 0;flex:0 0 auto}.register-educator-org-results{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}.register-educator-org-result--selected{border-color:#2563eb;background:#eff6ff}.profile-summary-field textarea,.profile-summary-field .rich-text-editor{width:100%;min-height:7rem;font:inherit;line-height:1.45;padding:.55rem .65rem;border-radius:8px;border:1px solid #cbd5e1}.profile-summary-field textarea{resize:vertical}.profile-summary-field .rich-text-editor{min-height:0;padding:0}.rich-text-editor{display:flex;flex-direction:column;width:100%;box-sizing:border-box;border:1px solid #d1d5db;border-radius:8px;background:#fff;overflow:hidden}.rich-text-editor-toolbar{display:flex;flex-wrap:wrap;gap:.25rem;padding:.3rem .35rem;border-bottom:1px solid #e2e8f0;background:#f8fafc}.rich-text-editor-btn{min-width:1.7rem;height:1.7rem;padding:0 .4rem;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#334155;font:inherit;font-size:.78rem;font-weight:700;line-height:1;cursor:pointer}.rich-text-editor-btn.is-active{background:#e2e8f0;border-color:#94a3b8;color:#0f172a}.rich-text-editor-btn:disabled{opacity:.55;cursor:default}.rich-text-editor-toolbar-sep{width:1px;align-self:stretch;margin:.15rem .2rem;background:#cbd5e1}.rich-text-editor-swatches{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:.25rem}.rich-text-editor-swatch{width:1.7rem;height:1.7rem;padding:0;border:1px solid #cbd5e1;border-radius:999px;cursor:pointer}.rich-text-editor-swatch.is-active{outline:2px solid #0f172a;outline-offset:1px}.rich-text-editor-swatch:disabled{opacity:.55;cursor:default}.rich-text-editor .ProseMirror,.rich-text-editor-content{min-height:var(--rich-text-min-height, 6.5rem);padding:.5rem .65rem;outline:none;font-size:.9rem;font-weight:400;line-height:1.45;color:#0f172a}.rich-text-editor .ProseMirror p{margin:0 0 .4em}.rich-text-editor .ProseMirror p:last-child{margin-bottom:0}.rich-text-editor .ProseMirror ul,.rich-text-editor .ProseMirror ol{margin:.2em 0 .45em;padding-left:1.25em}.rich-text-editor .ProseMirror p.is-empty:first-child:before{content:attr(data-placeholder);float:left;height:0;color:#94a3b8;pointer-events:none}.rich-text-editor-count{margin:0;padding:.15rem .55rem .3rem;text-align:right;font-size:.75rem;font-weight:500;color:#64748b}.rich-text-editor-count.is-over-limit{color:#b91c1c;font-weight:600}.rich-text-editor-limit-error{margin:0;padding:0 .55rem .45rem;font-size:.8125rem;line-height:1.35;color:#b91c1c}.rich-text-html p{margin:0 0 .4em}.rich-text-html p:last-child{margin-bottom:0}.rich-text-html ul,.rich-text-html ol{margin:.2em 0 .4em;padding-left:1.25em}.rich-text-html a{color:#1d4ed8;text-decoration:underline}.auth-actions-row{display:grid;grid-template-columns:1fr;gap:.45rem}.auth-register-btn{width:100%}.auth-forgot-link{display:block;width:100%;border:0;background:transparent;color:#2563eb;font:inherit;font-size:.82rem;font-weight:600;text-align:center;cursor:pointer;padding:.15rem 0}.auth-forgot-link:hover{text-decoration:underline}.password-reset-card{max-width:28rem}.password-reset-form{display:grid;gap:.7rem}.password-reset-login-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.staff-families-section{display:grid;gap:1rem}.staff-families-empty{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.staff-families-empty .hint{margin:0}.staff-bulk-import-panel{margin-bottom:.75rem;display:grid;gap:.65rem}.staff-bulk-import-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.staff-bulk-import-header h3{margin:0;font-size:1.05rem}.staff-bulk-import-file-label{display:inline-flex;align-items:center;cursor:pointer;margin:0}.staff-bulk-import-file-label input[type=file]{display:none}.staff-bulk-import-row-error td{background:#fef2f2}.staff-bulk-import-post-note{margin:0}.staff-bulk-import-result{display:grid;gap:.65rem}.staff-bulk-import-status-cell{display:grid;gap:.35rem}.staff-bulk-import-issue-detail{margin:0;font-size:.88rem}.staff-bulk-import-issue-list{margin:0;padding-left:1.1rem;font-size:.86rem;color:#334155}.staff-bulk-setup-actions{margin-bottom:.75rem;display:grid;gap:.65rem}.staff-bulk-setup-actions .section-subtitle{margin:0}.staff-families-form,.staff-families-grid,.staff-families-learner{display:grid;gap:.7rem}.staff-families-grid{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}.staff-families-learner+.staff-families-learner{padding-top:.75rem;border-top:1px solid #e5e7eb}.staff-families-learner-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.staff-families-learner-title{font-weight:600}.staff-families-links,.staff-families-list{display:grid;gap:.75rem}.staff-families-url{word-break:break-all;font-size:.85rem}.staff-families-item .chip,.staff-families-link-row .chip{margin-left:.5rem}.staff-families-item .setup-status{margin-left:.15rem}.setup-status{font-weight:600}.setup-status-active{color:#047857}.setup-status-pending{color:#b45309}.staff-families-item-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.staff-families-item-heading>p{margin:0}.staff-families-item-heading>.staff-families-item-actions{margin-left:0;flex-shrink:0;display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}.staff-families-table-wrap{overflow-x:auto}table.staff-families-table{min-width:56rem}.staff-families-table tbody tr.staff-families-family-start:not(:first-child) td{border-top:1px solid #e2e8f0}.staff-families-parent-name{font-weight:700}.staff-families-student-name{display:inline-block;padding-inline-start:1.15rem}.staff-families-member-role{margin-inline-start:.4rem;color:#64748b;font-size:.78rem;font-weight:500}.staff-families-table .staff-families-member-status,.staff-families-table .staff-families-member-actions-cell{white-space:nowrap}.staff-families-member-actions{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}.staff-families-member-actions-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.staff-families-row-notice{margin:0;max-width:22rem;white-space:normal}.staff-families-link-code-wrap{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.35rem}.staff-families-link-code-wrap code{font-size:.82rem}.staff-families-link-code-copy{padding:.15rem .45rem;font-size:.72rem}@media (max-width: 767px){.password-reset-card{max-width:100%}.password-reset-form input{font-size:16px}.staff-families-grid{grid-template-columns:minmax(0,1fr)}}.login-role-slot,.login-account-slot,.login-password-slot{grid-column:1 / -1}@media (max-width: 1120px){.filter-row.public-segment-search-line{padding-right:0}.login-panel{width:100%;max-width:100%;grid-template-columns:minmax(0,1fr);min-height:0;position:static}.public-auth-rail .login-panel{min-height:auto;flex-shrink:0;align-content:start}.auth-register-panel{width:100%;max-width:100%;margin-top:.5rem;grid-template-columns:minmax(0,1fr);flex-shrink:0}.public-layout-with-auth{grid-template-columns:1fr;grid-template-rows:auto auto auto auto;gap:.65rem;padding-right:1.5rem}.public-layout-with-auth>.public-hero{grid-column:1;grid-row:1}.public-layout-with-auth>.omnibar-catalog-moment,.public-layout-institute-home>.omnibar-catalog-moment{grid-column:1;grid-row:2}.public-layout-with-auth>.public-auth-rail{grid-column:1;grid-row:3;height:auto;overflow:visible}.public-auth-rail-inner{position:static;max-height:none;overflow-y:visible}.public-layout-institute-home>.public-auth-rail{grid-column:1;grid-row:3;height:auto;overflow:visible}.public-layout-institute-home .public-auth-rail-inner{padding-top:0}.public-layout-with-auth>.public-main-below{grid-column:1;grid-row:4}.public-layout-institute-home{grid-template-columns:1fr;grid-template-rows:auto auto auto auto;min-height:auto}.public-layout.public-layout-institute-home{--institute-home-gutter: 2rem;padding:1.35rem var(--institute-home-gutter) 1.85rem;gap:.9rem}.public-layout-institute-home>.institute-public-top-bar{grid-column:1;grid-row:1}.public-layout-institute-home>.public-main-below{grid-column:1;grid-row:4}.public-hero-leading,.public-hero{grid-template-columns:1fr;gap:.65rem}.hero-logo-slot{width:48px;height:48px;flex:0 0 48px}.login-password-input,.login-panel button,.login-field{grid-column:1 / -1}.auth-login-panel{width:100%;max-width:100%;min-height:auto;flex:0 0 auto;flex-shrink:0;position:static}.public-hero-with-auth{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.filter-row.public-segment-search-line .ai-portal-form{flex-shrink:0;flex:0 0 48ch;width:48ch;min-width:48ch;max-width:48ch}}.parent-child-tabs{display:flex;flex-wrap:wrap;gap:.45rem;margin:0 0 1rem}.parent-child-tab-shell{display:flex;flex-direction:column;align-items:stretch;gap:0;margin-top:.15rem;border:1px solid #e2e8f0;border-radius:10px;background:#fff;overflow:hidden;margin-bottom:.85rem;box-shadow:0 1px 2px #0f172a0a}.parent-child-tabbar{padding:.35rem .55rem 0;background:#f1f5f9}.parent-child-tabbar-tabs{display:flex;flex-wrap:nowrap;align-items:flex-end;gap:.25rem;margin:0;padding:0;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;background:transparent;border-top:none}.parent-child-tabbar-tabs::-webkit-scrollbar{display:none}.parent-child-tabbar-help{flex:0 0 auto;align-self:center;margin:0 0 .2rem}.parent-child-tabbar-actions{flex:0 0 auto;align-self:center;margin:0 0 .2rem .35rem;margin-left:auto}.parent-child-tabbar-actions .primary-btn{white-space:nowrap;padding:.35rem .85rem;font-size:.84rem}.parent-child-tabbar-help .context-help{margin-left:0}.parent-child-tabbar .context-help-trigger{font-size:.88rem;font-weight:600;width:1.35rem;height:1.35rem}.parent-child-tabs--sheet{display:flex;flex-wrap:nowrap;gap:.25rem;margin:0;padding:.15rem .15rem 0;background:#f1f5f9;border-radius:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}.parent-child-tabs--sheet::-webkit-scrollbar{display:none}.parent-child-tabbar .parent-child-tabs--sheet:not(.parent-child-tabbar-tabs),.parent-child-tabbar .parent-child-tabs--nested:not(.parent-child-tabbar-tabs){padding:0;background:transparent;overflow:visible;border-top:none}.parent-child-tab-shell>.parent-child-tabs--sheet{padding:.35rem .55rem 0}.parent-child-tabbar .parent-child-tabbar-tabs{padding:0;background:transparent;border-top:none}.parent-child-tab{flex:0 1 auto;margin:0;padding:.5rem .95rem;border:none;border-radius:6px 6px 0 0;background:#e2e8f0;color:#64748b;font-size:.88rem;font-weight:500;line-height:1.25;cursor:pointer;white-space:nowrap;transition:background .12s ease,color .12s ease}.parent-child-tab:hover:not(.parent-child-tab--active):not(:disabled):not(.parent-child-tab--disabled){background:#d8e0ea;color:#475569}.parent-child-tab:disabled,.parent-child-tab:disabled:hover,.parent-child-tab.parent-child-tab--disabled,.parent-child-tab.parent-child-tab--disabled:hover{cursor:not-allowed;opacity:.55;color:#94a3b8;background:#e2e8f0;filter:grayscale(.35)}.parent-child-tab--active{background:#fff;color:#334155;font-weight:600;border-radius:6px 6px 0 0;position:relative;z-index:1;margin-bottom:-1px;padding-bottom:calc(.5rem + 1px)}.parent-child-tab:focus-visible{outline:2px solid #93b4d9;outline-offset:1px}.parent-child-tab-panel{margin:0;padding:.85rem 1rem 1rem;background:#fff;border:none;border-radius:0;box-shadow:none;border-top:none}.attendance-history-show-more{margin:.35rem 0 .65rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.parent-child-tab-panel .parent-child-announcements-heading{margin-top:.15rem}.parent-child-tabs--nested{margin:0;padding:.15rem .15rem 0;border-top:none;background:#f8fafc}.parent-child-tab-panel--nested{padding:.75rem .85rem .95rem;border-top:none}.sidebar-account{margin:.5rem 0 0;font-size:.86rem;color:var(--sidebar-text-muted, #57534e);font-weight:500;line-height:1.35}.program-form-account-line{margin:0 0 .5rem;font-size:.85rem;line-height:1.45;color:#64748b;grid-column:1 / -1}.learner-enroll-browse-card,.learner-enroll-mine-card{margin-bottom:1rem}.learner-enroll-for{margin:.65rem 0 .85rem;max-width:22rem}.family-enrollment-status-cell{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .65rem}.enrollment-by-program--compact-mobile .enrollment-mobile-head,.enrollment-by-program--compact-mobile .enrollment-summary-chips,.enrollment-by-program--compact-mobile .enrollment-mobile-inline-chip,.enrollment-by-program--compact-mobile .enrollment-mobile-actions,.enrollment-by-program--compact-mobile .enrollment-mobile-action-error{display:none}.enrollment-by-program--compact-mobile .enrollment-desktop-title{display:inline}.enrollment-by-program--compact-mobile .enrollment-desktop-assigned-note{margin-top:.35rem}.learner-enroll-summary-cell{max-width:28rem;font-size:.85rem;vertical-align:top}.learner-enroll-summary-text{display:block;color:#475569;line-height:1.4}button.learner-enroll-btn{white-space:nowrap;padding:.35rem .75rem;font-size:.8rem}.public-program-enroll-cta{margin-top:1rem}.public-program-enroll-first-touch-hint{margin-top:.65rem;max-width:40rem}.public-browse-layout{display:flex;align-items:flex-start;gap:1.5rem;margin-top:.5rem}.public-filter-aside{flex:0 0 205px;position:sticky;top:.75rem;align-self:flex-start;padding:.9rem 1rem;border:1px solid #e5e7eb;border-radius:12px;background:#fafafa;max-height:min(80vh,720px);overflow:auto}.public-filter-heading{margin:0 0 .9rem;font-size:.95rem;color:#1e293b}.filter-pill-group{margin-bottom:1rem}.filter-pill-group h4{margin:0 0 .4rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-weight:600}.filter-pill-row{display:flex;flex-wrap:wrap;gap:.35rem}.filter-pill-row .chip{font-size:.78rem;padding:.2rem .55rem}.public-filter-clear{width:100%;margin-top:.25rem;padding:.5rem .65rem;font-size:.8rem;border-radius:8px;border:1px dashed #94a3b8;background:#fff;color:#475569;cursor:pointer}.catalog-location-fields{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.catalog-location-input{width:100%;min-height:1.9rem;padding:.2rem .45rem;border:1px solid #cbd5e1;border-radius:8px;font-size:.78rem}.catalog-location-active{margin:.35rem 0 0;font-size:.75rem;color:#475569}.catalog-distance-line{color:#0f766e}.catalog-studio-address{margin:.35rem 0 0;font-size:.8rem}.catalog-studio-thumb img{object-fit:contain;background:#fff}.public-browse-main{flex:1 1 0;min-width:0}@media (max-width: 900px){.public-browse-layout{flex-direction:column}.public-filter-aside{position:static;max-height:none;width:100%}}.programs-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));justify-content:start}.programs-grid>.program-card,.programs-grid>.public-program-family-group{min-width:0}.program-card{overflow:hidden;background:transparent;border:0;padding:0}.program-card-btn{all:unset;display:block;width:100%;box-sizing:border-box;cursor:pointer;position:relative}.program-card-open-hit{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;border:0;padding:0;margin:0;background:transparent;cursor:pointer}.program-card-open-hit:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.expandable-clamped-text-shell{position:relative;width:100%;margin:.35rem 0 0}.expandable-clamped-text-html{--summary-line-height: 1.55;margin:0;color:#334155;line-height:var(--summary-line-height);width:100%}.expandable-clamped-text-suffix--inline{display:inline;white-space:nowrap;vertical-align:baseline}.expandable-clamped-text-ellipsis,.expandable-clamped-text-show-less{position:relative;z-index:2}.provider-line{margin:.55rem 0 .25rem;display:flex;align-items:center;gap:.45rem;font-size:.88rem;color:#334155}.program-educator-line{margin-top:.2rem}.provider-tag{display:inline-flex;align-items:center;border:1px solid #cbd5e1;border-radius:999px;padding:.1rem .45rem;font-size:.72rem;font-weight:700;color:#475569;background:#f8fafc}.program-card-meta{margin:.35rem 0 .5rem;font-size:.8rem;line-height:1.35;color:#64748b}.provider-highlights{display:block;color:#64748b;margin-bottom:.35rem}.portal-attendance-program-card{margin-top:1rem}.portal-attendance-program-card:first-of-type{margin-top:.75rem}.portal-attendance-program-title{margin:0 0 .65rem;font-size:var(--portal-title-sm);font-weight:600;color:#0f172a}.learner-calendar-card{margin-top:0;min-width:0;max-width:100%}.learner-calendar-week{margin-top:.7rem;display:grid;grid-template-columns:repeat(7,minmax(140px,1fr));gap:.7rem}.calendar-week-time-layout{margin-top:.7rem;display:grid;grid-template-columns:repeat(7,minmax(108px,1fr));gap:.5rem;overflow-x:auto;overscroll-behavior-x:contain}.calendar-week-staff-layout{margin-top:.7rem;display:grid;grid-template-columns:3.5rem minmax(0,1fr);gap:.3rem;width:100%;min-width:0;align-items:start;box-sizing:border-box}.calendar-week-axis-gutter{width:3.5rem;min-width:3.5rem;max-width:3.5rem;flex-shrink:0}.calendar-week-axis-header-spacer{min-height:2.35rem;margin-bottom:.35rem}.calendar-week-body-axis{position:relative}.calendar-week-scroll-x{width:100%;min-width:0;overflow-x:auto;overflow-y:visible;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.calendar-week-time-layout.calendar-week-time-layout--staff-days{margin-top:0;overflow-x:visible;width:100%;min-width:calc(756px + 3rem);box-sizing:border-box}.calendar-week-time-layout .calendar-day-time-event{isolation:isolate}.calendar-week-time-layout .calendar-day-time-event:has(.calendar-event--slot-block-ui-active.calendar-event--appointment-blocked),.calendar-week-time-layout .calendar-day-time-event:has(.calendar-event--slot-block-ui-active.calendar-event--appointment-availability){overflow:hidden;z-index:4}.calendar-week-time-layout .calendar-event--slot-block-ui-active.calendar-event--appointment-blocked,.calendar-week-time-layout .calendar-event--slot-block-ui-active.calendar-event--appointment-availability{height:100%;min-height:0;max-height:100%;overflow:hidden;box-shadow:none}.calendar-week-time-layout .calendar-day-time-event .calendar-event--compact .calendar-event-title,.calendar-week-time-layout .calendar-day-time-event .calendar-event-title--truncate,.calendar-week-time-layout .calendar-day-time-event .calendar-event-row>strong,.calendar-week-time-layout .calendar-day-time-event .calendar-event-row-main>small,.calendar-week-time-layout .calendar-day-time-event .calendar-event-row-main>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-week-time-layout .calendar-week-day-more{margin-top:.1rem;flex-shrink:0;align-self:flex-start}.calendar-week-time-layout .calendar-day-time-canvas{position:relative}.calendar-week-time-layout .calendar-week-overlap-more{position:absolute;z-index:3;margin:0;text-align:center;box-sizing:border-box;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.calendar-week-day-grid-host{position:relative;flex:0 0 auto;min-width:0}.calendar-week-time-layout .calendar-week-day-more--anchored{position:absolute;left:0;right:0;margin-top:0;z-index:3}.calendar-week-time-layout .learner-calendar-day--time-grid{align-items:stretch}.calendar-week-time-layout .learner-calendar-day--time-grid .calendar-day-time-grid{flex:0 0 auto}.learner-calendar-day--time-grid{min-height:0;padding:.45rem;display:flex;flex-direction:column;gap:.35rem;background:#f8fafc}.learner-calendar-day--no-sessions{min-height:0}.learner-calendar-day--drill-down-daily,.learner-calendar-day--drill-down-daily .calendar-event--selectable{cursor:pointer}.calendar-day-time-grid{display:grid;grid-template-columns:3.1rem 1fr;gap:.3rem;min-width:0}.calendar-day-time-grid--no-axis{grid-template-columns:1fr}.calendar-day-time-canvas{position:relative;background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:visible}.calendar-day-time-grid-main{min-width:0;overflow:visible}.calendar-day-time-axis{position:relative;font-size:.62rem;line-height:1;color:#64748b}.calendar-day-time-axis-label{position:absolute;left:0;transform:translateY(-50%);white-space:nowrap}.calendar-day-time-gridline{position:absolute;left:0;right:0;border-top:1px solid #f1f5f9;pointer-events:none}.calendar-day-time-gridline--hour{border-top-color:#cbd5e1}.calendar-day-time-gridline--half-hour{border-top-color:#e8edf3}.calendar-day-time-canvas--quick-create{cursor:crosshair}.calendar-week-time-layout .calendar-day-time-canvas--quick-create,.learner-calendar-daily--time-grid .calendar-day-time-canvas--quick-create{min-height:560px}.calendar-day-time-event{position:absolute;z-index:1;min-width:0;overflow:visible;container-type:inline-size;container-name:calendar-time-event}.calendar-day-time-event:has(.calendar-event--appointment-booked){z-index:2}.learner-calendar-daily--educator-columns .calendar-day-time-event--overlap-layer .calendar-event{box-shadow:0 1px 4px #0f172a1f,0 0 0 1px #0f172a0f}.learner-calendar-daily--educator-columns .calendar-day-time-event .calendar-event--merged-time-slot,.learner-calendar-daily--educator-columns .calendar-day-time-event .calendar-event-merged-class-list{overflow:auto;overscroll-behavior:contain}.learner-calendar-daily--educator-columns .calendar-day-time-event--overlap-layer:has(.is-selected){z-index:6}.calendar-day-time-event.calendar-day-time-event--enclosed-overlay{z-index:7}.calendar-day-time-event--enclosed-overlay:has(.is-selected){z-index:7}.calendar-week-time-layout .calendar-day-time-event.calendar-day-time-event--enclosed-overlay,.calendar-week-time-layout .calendar-day-time-event--enclosed-overlay:has(.is-selected){z-index:7}.calendar-day-time-event--enclosed-overlay .calendar-event{box-sizing:border-box;border-left:3px solid #2563eb;box-shadow:0 2px 6px #0f172a29,0 0 0 1px #2563eb59;background-color:var(--surface-elevated, #fff)}.calendar-day-time-event--enclosed-overlay-merged .calendar-event-merged-class-list{max-height:none}.calendar-day-time-event--enclosed-overlay-overflow{display:flex;flex-direction:column;overflow:hidden}.calendar-day-time-event--enclosed-overlay-overflow .calendar-event{flex:1 1 auto;min-height:0}.calendar-enclosed-overlay-more{flex:0 0 auto;position:relative;margin:2px 0 0;width:100%;max-width:none;box-sizing:border-box}.calendar-day-time-event--overlap-overflow-anchor{overflow:hidden;box-sizing:border-box}.calendar-day-time-event--overlap-overflow-anchor>.calendar-event,.calendar-day-time-event--overlap-overflow-anchor>.calendar-event.calendar-event--merged-time-slot{position:absolute;top:0;left:0;right:0;bottom:22px;width:auto;height:auto;min-height:0;max-height:none;margin:0;box-sizing:border-box}.calendar-day-time-event--overlap-overflow-anchor .calendar-week-overlap-more--in-event{position:absolute;left:2px;right:2px;bottom:2px;margin:0;align-self:auto;width:auto;max-width:none;box-sizing:border-box;text-align:center;z-index:3}.calendar-day-time-event:has(.is-selected){z-index:4}.calendar-week-time-layout .calendar-day-time-event:not(.calendar-day-time-event--enclosed-overlay):has(.is-same-program),.calendar-week-time-layout .calendar-day-time-event:not(.calendar-day-time-event--enclosed-overlay):has(.is-selected){z-index:auto}.calendar-day-time-event .calendar-event{box-sizing:border-box;height:auto;min-height:100%;max-height:none;position:relative;overflow:visible}.calendar-day-time-event .calendar-event--compact .calendar-event-title,.calendar-day-time-event .calendar-event-title--truncate,.calendar-day-time-event .calendar-event-row>strong,.calendar-day-time-event .calendar-event-row-main>small,.calendar-day-time-event .calendar-event-row-main>span{overflow:visible;text-overflow:unset;white-space:normal;overflow-wrap:anywhere}.calendar-day-time-event .calendar-event-row,.calendar-day-time-event .calendar-event-row-main{flex-wrap:wrap;align-items:flex-start}.calendar-day-time-event .calendar-event--compact .calendar-event-topic--compact{display:block;-webkit-line-clamp:unset;overflow:visible}.calendar-event--merged-time-slot{gap:.2rem;height:100%;max-height:100%;overflow:hidden;box-sizing:border-box;display:flex;flex-direction:column;position:relative;align-items:stretch}.calendar-event--merged-time-slot>.calendar-event-merged-class-list{flex:0 1 auto;min-height:0;overflow:visible}.calendar-event--merged-time-slot>.calendar-event-merged-class-list{pointer-events:none}.calendar-event-merged-slot-click-zone{flex:1 1 0;min-height:2rem;position:relative;z-index:2;pointer-events:auto;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;width:100%;box-sizing:border-box;cursor:pointer;border-radius:0 0 4px 4px;background:#f8fafceb;box-shadow:inset 0 1px #e2e8f0;border:1px dashed #94a3b8;border-top:none;display:flex;align-items:center;justify-content:center;padding:.35rem;font:inherit;color:inherit}.calendar-event-merged-slot-click-zone:hover{background:#f1f5f9;border-color:#64748b}.calendar-event-merged-slot-click-zone:focus-visible{outline:2px solid #2563eb;outline-offset:1px}.calendar-event--merged-time-slot>.calendar-event-merged-slot-click-zone{pointer-events:auto}.calendar-event-merged-slot-click-zone-label{font-size:.62rem;font-weight:600;letter-spacing:.01em;color:#64748b;text-align:center;line-height:1.25;pointer-events:none}.calendar-event--merged-time-slot:has(.calendar-event-merged-slot-click-zone){cursor:default}.calendar-event--merged-time-slot:has(.calendar-event-merged-slot-click-zone) .calendar-event-merged-slot-click-zone{cursor:pointer}.calendar-event-merged-class{cursor:pointer}.calendar-event-merged-class:not(.is-selected):has(.calendar-event-merged-class-hit:hover){background:#f8fafc}.calendar-event-merged-time-label{flex-shrink:0}.calendar-event-merged-class-head{display:flex;flex-direction:column;gap:.1rem;min-width:0}.calendar-event-merged-class-time{font-size:.72rem;font-weight:600;color:#64748b;line-height:1.2}.calendar-event-merged-class-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.28rem;width:100%}.calendar-event-merged-class{position:relative;border-radius:6px;border:1px solid #e2e8f0;background:#fff;padding:.18rem .28rem}.calendar-event-merged-class--private-seat{border-width:2px;border-color:#2563eb}.calendar-event-merged-class--public-catalog{border-width:2px;border-color:#059669}.calendar-event-merged-class.is-selected{background:#dbeafe}.calendar-event-merged-class.is-same-program{background:#eff6ff}.calendar-event-merged-class-body{position:relative;z-index:1;display:flex;flex-direction:column;gap:.06rem;pointer-events:none}.calendar-event-merged-class-body .calendar-event-title,.calendar-event-merged-class-body small{overflow:visible;text-overflow:unset;white-space:normal;overflow-wrap:anywhere}.calendar-event-merged-class-hit{border-radius:6px;pointer-events:auto;z-index:1}.calendar-event-merged-class-hit:focus-visible{outline:2px solid #2563eb;outline-offset:1px}.appointment-range-status{margin:0 0 .5rem;min-height:1.35em;font-size:.82rem;line-height:1.35;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appointment-range-in-place-hint{position:absolute;left:0;right:0;bottom:2px;z-index:2;padding:.1rem .25rem;font-size:.62rem;font-weight:700;line-height:1.15;text-align:center;color:#9a3412;background:#fff7edf2;border-top:1px solid #fdba74;pointer-events:none}.calendar-event--appointment-range-cap-in-place{box-shadow:inset 0 0 0 2px #ea580c,0 0 0 2px #ea580c59}.calendar-day-time-event:has(.calendar-event--appointment-range-cap-in-place){z-index:8;overflow:visible}.calendar-day-time-canvas--appointment-range-picking{touch-action:pan-x pan-y}.calendar-day-time-canvas--appointment-range-picking .calendar-event--appointment-availability .calendar-event-hit{cursor:cell;touch-action:none}.calendar-day-time-canvas--appointment-range-picking:has(.calendar-event--appointment-range-preview) .calendar-event--appointment-availability:not(.calendar-event--appointment-range-preview,.calendar-event--appointment-range-anchor,.calendar-event--appointment-range-selected){opacity:.42}.calendar-day-time-event:has(.calendar-event--appointment-range-preview),.calendar-day-time-event:has(.calendar-event--appointment-range-anchor),.calendar-day-time-event:has(.calendar-event--appointment-range-selected){z-index:6}.calendar-event--appointment-range-preview{border-color:#0284c7;background:linear-gradient(180deg,#e0f2fe,#bae6fd);box-shadow:inset 0 0 0 2px #0ea5e9,0 0 0 2px #0ea5e973}.calendar-event--appointment-range-preview:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border:2px dashed #0369a1;border-radius:5px;pointer-events:none}.calendar-event--appointment-range-anchor{border-color:#0369a1;background:#f0f9ff;box-shadow:inset 0 0 0 2px #0284c7,0 0 0 3px #0284c759}.calendar-event--appointment-range-selected{border-color:#047857;background:linear-gradient(180deg,#ecfdf5,#a7f3d0);box-shadow:inset 0 0 0 2px #059669}.public-booking-duration-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-bottom:.5rem}.public-booking-duration-row label{display:flex;align-items:center;gap:.4rem;font-size:.88rem}.calendar-day-time-event .calendar-event--compact:is(.calendar-event--appointment-availability,.calendar-event--appointment-blocked,.calendar-event--appointment-booked){padding:.12rem .22rem;gap:.02rem;font-size:.7rem;line-height:1.15}.calendar-day-time-event .calendar-event--compact:is(.calendar-event--appointment-availability,.calendar-event--appointment-blocked,.calendar-event--appointment-booked) strong,.calendar-day-time-event .calendar-event--compact:is(.calendar-event--appointment-availability,.calendar-event--appointment-blocked,.calendar-event--appointment-booked) small{font-size:.7rem;line-height:1.15}.calendar-event-row--booked-summary{align-items:center}.calendar-event-booked-summary-main{display:flex;align-items:center;gap:.3rem;min-width:0}.calendar-event-booked-summary-main .calendar-event-appointment-guest{flex:1 1 auto;min-width:0}.calendar-event-booked-summary-status{flex:0 0 auto}.calendar-event-title--truncate{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-appointment-booking-detail .calendar-session-detail-head{margin-bottom:.35rem}.calendar-appointment-booking-detail-summary{margin:0 0 .35rem}.calendar-appointment-booking-detail-guest{margin:.2rem 0 0}.calendar-appointment-booking-detail-notes{margin:.1rem 0 0;color:#64748b;font-size:.85rem}.calendar-day-time-untimed{margin-top:.45rem}.calendar-day-time-untimed-label{margin:0 0 .25rem;font-size:.72rem;font-weight:600;color:#64748b}.calendar-day-time-untimed-list{display:flex;flex-direction:column;gap:.35rem}.learner-calendar-daily--time-grid{display:flex;flex-direction:column;gap:.5rem}.learner-calendar-daily--time-grid .calendar-day-time-grid{grid-template-columns:3.5rem 1fr}.learner-calendar-daily--educator-columns{min-width:0}.calendar-daily-educator-sticky-head{position:sticky;z-index:24;top:0;margin:0 0 .35rem;padding-bottom:.1rem;background:#fff;box-shadow:0 1px #e2e8f0}.calendar-daily-educator-date-heading{margin:0 0 .45rem;color:#334155}.calendar-daily-educator-layout--sticky-band{margin-bottom:0}.calendar-daily-educator-header-track{min-width:0;overflow:hidden}.calendar-daily-educator-columns-pane--header{will-change:transform}.calendar-daily-educator-layout{--calendar-educator-cols: 1;--calendar-educator-col-min: 11.25rem;display:grid;grid-template-columns:3.5rem minmax(0,1fr);gap:.3rem;min-width:0;align-items:start}.calendar-daily-educator-axis-gutter{min-width:0}.calendar-daily-educator-axis-header-spacer{min-height:2.35rem;margin-bottom:.35rem}.calendar-daily-educator-scroll-x{min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.calendar-daily-educator-scroll-x.calendar-horizontal-scroll-pan,.calendar-week-scroll-x.calendar-horizontal-scroll-pan,.calendar-week-time-layout.calendar-horizontal-scroll-pan{cursor:grab;touch-action:pan-x pan-y}.calendar-daily-educator-scroll-x.calendar-horizontal-scroll-pan.is-scroll-grabbing,.calendar-week-scroll-x.calendar-horizontal-scroll-pan.is-scroll-grabbing,.calendar-week-time-layout.calendar-horizontal-scroll-pan.is-scroll-grabbing{cursor:grabbing}.calendar-daily-educator-scroll-x.calendar-horizontal-scroll-pan.is-scroll-panning,.calendar-week-scroll-x.calendar-horizontal-scroll-pan.is-scroll-panning,.calendar-week-time-layout.calendar-horizontal-scroll-pan.is-scroll-panning{-webkit-user-select:none;user-select:none}.calendar-daily-educator-scroll-x.calendar-horizontal-scroll-pan.is-scroll-panning .calendar-event-hit,.calendar-week-scroll-x.calendar-horizontal-scroll-pan.is-scroll-panning .calendar-event-hit,.calendar-week-time-layout.calendar-horizontal-scroll-pan.is-scroll-panning .calendar-event-hit{pointer-events:none}.calendar-daily-educator-columns-pane{min-width:max(100%,calc(var(--calendar-educator-cols) * var(--calendar-educator-col-min)))}.calendar-daily-educator-header-row,.calendar-daily-educator-body-row{display:grid;grid-template-columns:repeat(var(--calendar-educator-cols),minmax(var(--calendar-educator-col-min),1fr));gap:.3rem}.calendar-daily-educator-header-row{padding:.15rem 0 .35rem;border-bottom:1px solid #e2e8f0}.calendar-daily-educator-header-cell{min-width:0;padding:.4rem .45rem;font-size:.78rem;font-weight:700;line-height:1.25;color:#0f172a;text-align:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;text-overflow:ellipsis}.calendar-daily-educator-body-row{align-items:start}.calendar-daily-educator-body-axis{margin-top:0}.calendar-daily-educator-column{min-width:0}.calendar-daily-educator-column .calendar-day-time-grid{grid-template-columns:1fr}.calendar-session-color-legend{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;line-height:1.25;color:#475569;white-space:nowrap;flex-shrink:0}.calendar-session-color-legend-swatch{width:.85rem;height:.85rem;border-radius:4px;border:2px solid #cbd5e1;background:#fff;flex-shrink:0}.calendar-session-color-legend-swatch--private-seat{border-color:#2563eb;background:#fff}.calendar-session-color-legend-swatch--public-catalog{border-color:#059669;background:#fff}.calendar-session-color-legend--list{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;align-content:flex-start;white-space:normal;width:100%;max-width:100%;list-style:none;margin:0;padding:0;gap:.35rem .75rem}.calendar-session-color-legend-item{display:flex;align-items:center;gap:.35rem;flex:0 1 auto;min-width:0;max-width:100%}.calendar-chrome-meta .calendar-session-color-legend--list{flex:1 1 100%}.calendar-session-color-legend--stacked{flex-direction:column;align-items:flex-start;white-space:normal;max-width:min(100%,22rem)}.calendar-session-color-legend-row{display:inline-flex;align-items:center;gap:.35rem}.calendar-event.calendar-event--private-seat,.calendar-event.calendar-event--public-catalog{border-width:2px}.calendar-event.calendar-event--selectable.calendar-event--public-catalog{border-color:#059669;background:#fff}.calendar-event.calendar-event--selectable.calendar-event--public-catalog:hover{border-color:#047857;box-shadow:0 1px 3px #0596692e}.calendar-event.calendar-event--selectable.is-selected.calendar-event--public-catalog{border-color:#059669}.calendar-day-time-event .calendar-event.calendar-event--public-catalog{border-color:#059669;background:#fff}.calendar-month-session-wrap.calendar-month-session-wrap--public-catalog{outline:2px solid #059669}.calendar-month-session-wrap.calendar-month-session-wrap--public-catalog:hover:not(.is-same-program){background:#f8fafc}.calendar-month-session-wrap.is-selected.calendar-month-session-wrap--public-catalog{outline-color:#059669}.learner-calendar-chrome{display:flex;flex-direction:column;gap:.45rem;margin-top:.45rem}.calendar-chrome-meta{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.5rem .75rem;width:100%}.calendar-chrome-controls{display:flex;flex-direction:column;gap:.3rem;width:100%}.calendar-chrome-controls .calendar-view-toolbar--modes,.calendar-chrome-controls .calendar-nav-row{margin-top:0}@media (min-width: 768px){.learner-calendar-chrome{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto auto;column-gap:.75rem;row-gap:.65rem;margin-top:.5rem}.calendar-chrome-meta{grid-column:1 / -1;grid-row:1;align-self:stretch;justify-content:flex-start;width:100%}.calendar-chrome-controls{display:contents}.calendar-chrome-controls .calendar-view-toolbar--modes{grid-column:1;grid-row:2}.calendar-chrome-controls .calendar-nav-row{grid-column:1 / -1;grid-row:3}}.calendar-view-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .75rem;margin-top:.5rem}.calendar-view-toolbar--modes{justify-content:flex-start}.calendar-view-toggle{display:flex;flex-wrap:wrap;gap:.5rem}.calendar-view-toolbar-end{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem .75rem;margin-left:auto}.calendar-sync-from-schedule-controls{display:inline-flex;align-items:center;gap:.35rem}.calendar-sync-from-schedule-controls .context-help{margin-left:0;align-self:center}.calendar-sync-from-schedule-controls .chip{align-self:center}.calendar-view-toolbar-status{margin-top:.35rem;text-align:right}.calendar-view-toolbar-status .form-error{margin:0}.calendar-nav-row{margin-top:.65rem;display:flex;align-items:center;justify-content:space-between;gap:.45rem .75rem;flex-wrap:wrap}.calendar-nav-row-controls{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;flex:1 1 auto;min-width:0}.learner-calendar-nav-row-aside{flex:0 0 auto;margin-left:auto;text-align:right;font-size:.92rem;font-weight:600;color:#334155;line-height:1.35;max-width:min(100%,20rem)}.calendar-nav-label{color:#475569;font-size:.85rem;margin:0 .2rem}.learner-calendar-day{border:1px solid #e2e8f0;border-radius:10px;padding:.65rem;display:flex;flex-direction:column;gap:.45rem;background:#f8fafc;min-height:180px}.learner-calendar-day.learner-calendar-day--no-sessions{min-height:0}.learner-calendar-day header{font-weight:700;color:#334155}.calendar-day-link{border:0;background:transparent;padding:0;cursor:pointer;font-weight:700;color:#334155}.calendar-event{border:1px solid #cbd5e1;border-radius:8px;padding:.4rem;display:flex;flex-direction:column;gap:.15rem;background:#fff}.calendar-event--compact{padding:.3rem .35rem;gap:.08rem;font-size:.78rem;text-align:left}.calendar-event--compact strong{font-size:.8rem;line-height:1.2}.calendar-event-title{display:block;min-width:0;overflow-wrap:anywhere}.calendar-event--compact .calendar-event-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event--compact small{font-size:.68rem;line-height:1.2}.calendar-event-topic--compact{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}button.calendar-event{font:inherit;width:100%;box-sizing:border-box}.calendar-event-hit{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:0;margin:0;position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;width:auto;height:auto;cursor:pointer}.calendar-event>:not(.calendar-event-hit){position:relative;z-index:1;pointer-events:none}.calendar-event-row{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:.3rem;min-width:0;width:100%}.calendar-event-row>strong,.calendar-event-row-main{flex:1 1 auto;min-width:0}.calendar-event-row>strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-line-clamp:unset}.calendar-event-row-main{display:flex;flex-direction:row;align-items:center;gap:.35rem;min-width:0}.calendar-event-row-main>small,.calendar-event-row-main>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event-row-action{flex:0 0 auto;position:relative;display:inline-flex;align-items:center}.calendar-event-row>.calendar-event-block-btn,.calendar-event-row>a.calendar-event-join-btn,.calendar-event-row>.calendar-event-row-action{flex:0 0 auto}.calendar-event-action-error{position:absolute;top:calc(100% + .1rem);right:.35rem;z-index:3;max-width:11rem;text-align:right}.calendar-event a,.calendar-event .calendar-event-block-btn,.calendar-event .calendar-event-action-error,.calendar-event .calendar-event-row-action,.calendar-event .calendar-event-block-reason-inline-trigger,.calendar-event .calendar-event-block-reason-inline-input,.calendar-event .calendar-event-open-block-note,.calendar-event .calendar-event-open-block-note-input,.calendar-event .calendar-event-merged-slot-click-zone,.calendar-event .calendar-event-merged-class-hit{pointer-events:auto;z-index:2}.calendar-day-time-event:has(.calendar-event--slot-block-ui-active.calendar-event--appointment-blocked),.calendar-day-time-event:has(.calendar-event--slot-block-ui-active.calendar-event--appointment-availability){overflow:visible;z-index:7}.calendar-event--slot-block-ui-active.calendar-event--appointment-blocked,.calendar-event--slot-block-ui-active.calendar-event--appointment-availability{overflow:visible;height:auto;min-height:100%;max-height:none;background:#fff7f7;box-shadow:0 2px 8px #0f172a1f}.calendar-event-block-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #b91c1c;background:#fff;color:#991b1b;border-radius:999px;font:inherit;font-size:.7rem;font-weight:600;line-height:1.2;padding:.15rem .55rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.calendar-event-block-btn:hover:not(:disabled){background:#fee2e2}.calendar-event-block-btn:disabled{opacity:.7;cursor:wait}a.calendar-event-join-btn{display:inline-block;text-decoration:none;border-color:#047857;background:#047857;color:#fff}a.calendar-event-join-btn:hover{background:#065f46;color:#fff}.calendar-event--selectable{cursor:pointer;text-align:left;position:relative;width:100%;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.calendar-event--selectable:hover{border-color:#94a3b8;box-shadow:0 1px 3px #0f172a14}.calendar-event--private-seat{border-color:#2563eb;background:#fff}.calendar-event--selectable.calendar-event--private-seat:hover{border-color:#1d4ed8;box-shadow:0 1px 3px #2563eb2e}.calendar-event--selectable.is-selected.calendar-event--private-seat{border-color:#2563eb}.custom-schedule-session-label{display:inline-block;padding:.16rem .55rem;border-radius:4px;border:1px solid #4338ca;background:#4f46e5;color:#fff;font-size:.74rem;font-weight:700;line-height:1.2;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;box-shadow:0 1px 2px #4338ca47}.custom-schedule-session-label--parenthetical{font-size:.72rem;margin-left:.35rem;vertical-align:middle}.calendar-event-custom-inline-end{flex-shrink:0;margin-left:auto;padding-left:.35rem;align-self:center}.calendar-event-badge-inline-end{display:inline-flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.25rem;flex-shrink:0;margin-left:auto;padding-left:.35rem;align-self:center}.substitute-session-label{display:inline-block;padding:.16rem .55rem;border-radius:4px;border:1px solid transparent;font-size:.74rem;font-weight:700;line-height:1.2;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.substitute-session-label--calendar-inline,.custom-schedule-session-label--calendar-inline{font-size:.66rem;padding:.12rem .42rem;letter-spacing:.05em;line-height:1.2}.substitute-session-label--substituting{border-color:#c2410c;background:#ea580c;color:#fff;box-shadow:0 1px 2px #ea580c52}.substitute-session-label--covered{border-color:#7dd3fc;border-style:dashed;background:#f0f9ff73;color:#0369a1;opacity:.92}.substitute-session-label--neutral{border-color:#c2410c;background:#ea580c;color:#fff;box-shadow:0 1px 2px #ea580c52}.substitute-session-line{display:inline}.substitute-session-tone--substituting{color:#c2410c;font-weight:700}.substitute-session-tone--covered{color:#0369a1;font-weight:500;opacity:.88}.substitute-session-tone--neutral{color:#475569;font-weight:500;opacity:.9}.calendar-event-substitute{display:inline}.calendar-event-substitute .substitute-session-tone--substituting,.calendar-event-merged-class-body .substitute-session-tone--substituting{color:#c2410c;font-weight:700}.calendar-event-substitute .substitute-session-tone--covered,.calendar-event-merged-class-body .substitute-session-tone--covered,.calendar-session-substitute-meta .substitute-session-tone--covered{color:#0369a1;font-weight:500;opacity:.88}.calendar-event-substitute .substitute-session-tone--neutral,.calendar-event-merged-class-body .substitute-session-tone--neutral{color:#475569;font-weight:500;opacity:.9}.calendar-session-quick-view-badges{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.25rem;margin-left:auto;flex-shrink:0}.calendar-session-quick-view-title-row{display:flex;align-items:flex-start;gap:.35rem}.calendar-event-row--time-header{flex-wrap:nowrap;align-items:flex-start}.calendar-event-row--time-header .calendar-event-merged-time-label{flex:1 1 auto;min-width:0}.calendar-event-merged-class-head{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:flex-start;gap:.3rem;width:100%;min-width:0}.calendar-event-merged-class-head .calendar-event-title{flex:1 1 auto;min-width:0}.calendar-event-merged-class-body .calendar-event-custom-inline-end{align-self:flex-start;margin-top:.05rem}.calendar-session-quick-view{box-sizing:border-box;border-radius:8px;border:1px solid #cbd5e1;background:#fff;box-shadow:0 10px 22px #0f172a1f,0 2px 5px #0f172a0f;overflow:hidden;font-size:.78rem;line-height:1.3;color:#0f172a}.calendar-session-quick-view-body{padding:.45rem .55rem .35rem;display:flex;flex-direction:column;gap:.22rem}.calendar-merged-slot-overview-body{padding:.55rem .65rem;display:flex;flex-direction:column;gap:.4rem}.calendar-merged-slot-overview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;min-width:0}.calendar-merged-slot-overview-header-text{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:.15rem}.calendar-merged-slot-overview-close{flex:0 0 auto;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:-.15rem -.15rem 0 0;padding:0;width:1.75rem;height:1.75rem;border:none;border-radius:6px;background:transparent;color:#64748b;font:inherit;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;pointer-events:auto}.calendar-merged-slot-overview-close span{font-size:1.35rem;font-weight:400;line-height:1}.calendar-merged-slot-overview-close:hover{background:#f1f5f9;color:#0f172a}.calendar-merged-slot-overview-close:focus-visible{outline:2px solid #2563eb;outline-offset:1px}.calendar-merged-slot-overview{box-sizing:border-box;border-radius:8px;border:1px solid #cbd5e1;background:#fff;box-shadow:0 10px 22px #0f172a1f,0 2px 5px #0f172a0f;overflow:visible;font-size:.78rem;line-height:1.3;color:#0f172a;max-width:calc(100vw - 24px)}.calendar-merged-slot-overview-session.calendar-session-quick-view{position:absolute;z-index:1;box-sizing:border-box;margin:0;overflow:visible;box-shadow:none;min-height:0;max-height:none}.calendar-merged-slot-overview-session .calendar-session-quick-view-title{overflow:visible;text-overflow:unset;white-space:normal;overflow-wrap:anywhere}.calendar-merged-slot-overview-session .calendar-session-quick-view-when{overflow-wrap:anywhere}.calendar-merged-slot-overview-session .calendar-session-quick-view-attendee-line{flex-wrap:wrap;align-items:flex-start}.calendar-merged-slot-overview-session .calendar-session-quick-view-attendee-names{flex:1 1 100%;min-width:0;white-space:normal;overflow:visible;text-overflow:unset;overflow-wrap:anywhere}.calendar-merged-slot-overview-session .calendar-session-quick-view-actions{flex-wrap:wrap}.calendar-merged-slot-overview-session .calendar-session-quick-view-action-btn{flex:1 1 calc(50% - .2rem);min-width:7.25rem;overflow:visible;text-overflow:unset;white-space:nowrap}.calendar-merged-slot-overview-title{margin:0;font-size:.88rem;font-weight:650;color:#0f172a}.calendar-merged-slot-overview-range{margin:0;font-size:.72rem;font-weight:600;color:#64748b}.calendar-merged-slot-overview-hint{margin:0;font-size:.68rem;color:#64748b}.calendar-merged-slot-overview-grid-scroll{min-width:0;width:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;padding-block:.35rem;box-sizing:border-box}.calendar-merged-slot-overview-grid-scroll--no-vertical{overflow-y:hidden}.calendar-merged-slot-overview-grid{display:grid;gap:.35rem;min-width:0;width:100%;overflow:visible}.calendar-merged-slot-overview-axis{position:relative;border-right:1px solid #e2e8f0}.calendar-merged-slot-overview-axis-label{position:absolute;right:.25rem;transform:translateY(-50%);font-size:.62rem;line-height:1;color:#94a3b8;white-space:nowrap}.calendar-merged-slot-overview-axis-label--range-start{transform:translateY(0)}.calendar-merged-slot-overview-axis-label--range-end{transform:translateY(-100%)}.calendar-merged-slot-overview-canvas{position:relative;min-width:0;height:100%;overflow:visible}.calendar-merged-slot-overview-canvas-scroll{position:relative;min-width:0;height:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;background:#f8fafc;border-radius:6px;border:1px solid #e2e8f0}.calendar-merged-slot-overview-canvas-scroll--fit{overflow-x:hidden;width:100%;max-width:100%}.calendar-merged-slot-overview-canvas-frame{position:relative}.calendar-merged-slot-overview-gridline{position:absolute;left:0;right:0;border-top:1px solid #eef2f7;pointer-events:none}.calendar-session-quick-view-title-row{display:flex;flex-direction:row;align-items:flex-start;gap:.3rem}.calendar-session-quick-view-title{margin:0;flex:1 1 auto;min-width:0;font-size:.86rem;font-weight:700;line-height:1.22}.calendar-session-quick-view-educator{margin:0;color:#64748b;font-size:.74rem}.calendar-session-quick-view-educator strong{color:#0d9488;font-weight:700}.calendar-session-quick-view-closed{margin:0;color:#b91c1c;font-size:.72rem;font-weight:600}.calendar-session-quick-view-when{margin:0;color:#475569;font-size:.72rem}.calendar-session-quick-view-when-sep{color:#94a3b8}.calendar-session-quick-view-attendee-line{margin:0;font-size:.72rem;line-height:1.35;min-width:0;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:baseline;gap:.2rem}.calendar-session-quick-view-attendee-label{flex-shrink:0;font-weight:700;color:#334155}.calendar-session-quick-view-attendee-names{flex:1 1 auto;min-width:0;color:#0d9488;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-session-quick-view-empty{color:#64748b;font-weight:400}.calendar-session-quick-view-actions{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:stretch;gap:.35rem;padding:.35rem .55rem .45rem;border-top:1px solid #e2e8f0}.calendar-session-quick-view-action-btn{flex:1 1 0;min-width:0;justify-content:center;padding-left:.35rem;padding-right:.35rem;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event--compact .custom-schedule-session-label--calendar-inline,.calendar-event--compact .substitute-session-label--calendar-inline{font-size:.58rem;padding:.1rem .36rem;letter-spacing:.05em;line-height:1.2}.calendar-event-row--topic{align-items:flex-end}.calendar-event-row--topic .calendar-event-row-main{min-width:0}.program-form-class-session-line{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem}.program-form-class-session-custom-label{margin-left:.35rem}.calendar-event--selectable.is-same-program{background:#eff6ff}.calendar-event--selectable.is-same-program:hover{background:#e8f2ff}.calendar-event--selectable.is-selected,.calendar-event--selectable.is-selected.is-same-program{background:#dbeafe}.calendar-event--selectable:focus{outline:2px solid #3b82f6;outline-offset:2px}.calendar-event-hint{color:#64748b;font-size:.7rem;font-style:italic}.calendar-event-topic{color:#0f172a}.calendar-event-educator{color:#475569;font-weight:600}.calendar-event--closed{border-color:#fca5a5;background:#fef2f2;opacity:.92}.calendar-event--closed strong{text-decoration:line-through;color:#991b1b}.calendar-event--appointment-blocked{border-color:#fca5a5;background:#fef2f2}.calendar-event--appointment-blocked strong{color:#991b1b}.calendar-event--selectable.is-selected.calendar-event--appointment-blocked{border-color:#ef4444;box-shadow:0 0 0 2px #ef444440;background:#fee2e2}.calendar-event--appointment-booked{color:#047857;border-color:#059669}.calendar-event--appointment-booked strong,.calendar-event--appointment-booked small,.calendar-event--appointment-booked .calendar-event-title,.calendar-event--appointment-booked .calendar-event-educator,.calendar-event--appointment-booked .calendar-event-booked-badge,.calendar-event--appointment-booked .calendar-event-booked-label,.calendar-event--appointment-booked .calendar-event-appointment-guest,.calendar-event--appointment-booked .calendar-event-appointment-org,.calendar-event--appointment-booked .calendar-event-row-main,.calendar-event--selectable.is-selected.calendar-event--appointment-booked strong,.calendar-event--selectable.is-selected.calendar-event--appointment-booked small,.calendar-event--selectable.is-selected.calendar-event--appointment-booked .calendar-event-title,.calendar-event--selectable.is-selected.calendar-event--appointment-booked .calendar-event-educator,.calendar-event--selectable.is-selected.calendar-event--appointment-booked .calendar-event-booked-badge,.calendar-event--selectable.is-selected.calendar-event--appointment-booked .calendar-event-booked-label,.calendar-event--selectable.is-selected.calendar-event--appointment-booked .calendar-event-appointment-guest,.calendar-event--selectable.is-selected.calendar-event--appointment-booked .calendar-event-appointment-org,.calendar-event--selectable.is-selected.calendar-event--appointment-booked .calendar-event-row-main{color:#047857}.calendar-event-blocked-badge,.calendar-month-session-blocked{color:#b91c1c;font-weight:600;font-size:.68rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event-block-reason-inline{font-weight:500}.calendar-event-block-reason-inline-trigger{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:0;margin:0;font:inherit;font-size:inherit;font-weight:inherit;color:inherit;background:transparent;cursor:text;text-align:left;max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline}.calendar-event-block-reason-inline--empty{font-weight:500;opacity:.85}.calendar-event-block-reason-inline-input{font:inherit;font-size:inherit;font-weight:500;color:inherit;border:0;border-bottom:1px solid #b91c1c;background:transparent;padding:0;margin:0;min-width:3rem;max-width:min(100%,14rem);box-sizing:border-box;vertical-align:baseline}.calendar-event-block-reason-inline-input:focus{outline:none;border-bottom-color:#991b1b}.calendar-event-blocked-badge.calendar-event-blocked-status--editing,.calendar-month-session-blocked.calendar-event-blocked-status--editing{overflow:visible;white-space:normal}.calendar-event-blocked-badge.calendar-event-blocked-status--wrap,.calendar-month-session-blocked.calendar-event-blocked-status--wrap{white-space:normal;overflow:visible;text-overflow:unset;overflow-wrap:anywhere;line-height:1.3}.calendar-event-blocked-status--wrap .calendar-event-block-reason-inline-trigger{white-space:normal;overflow:visible;text-overflow:unset;overflow-wrap:anywhere;max-width:100%}.calendar-event-blocked-status--wrap .calendar-event-block-reason-inline-input{max-width:100%;width:100%;display:block;margin-top:.1rem}.calendar-event-row:has(.calendar-event-blocked-status--wrap){flex-wrap:wrap;align-items:flex-start}.calendar-event-row:has(.calendar-event-blocked-status--wrap) .calendar-event-row-main{white-space:normal;overflow:visible;text-overflow:unset;flex:1 1 100%;min-width:0}@container calendar-time-event (min-height: 3.25rem){.calendar-event-blocked-badge:not(.calendar-event-blocked-status--editing),.calendar-month-session-blocked:not(.calendar-event-blocked-status--editing){white-space:normal;overflow:visible;text-overflow:unset;overflow-wrap:anywhere;line-height:1.3}.calendar-event-blocked-badge .calendar-event-block-reason-inline-trigger,.calendar-month-session-blocked .calendar-event-block-reason-inline-trigger{white-space:normal;overflow:visible;text-overflow:unset;overflow-wrap:anywhere}.calendar-event-row:has(.calendar-event-blocked-badge,.calendar-month-session-blocked){flex-wrap:wrap;align-items:flex-start}.calendar-event-row:has(.calendar-event-blocked-badge,.calendar-month-session-blocked) .calendar-event-row-main{white-space:normal;overflow:visible;text-overflow:unset;flex:1 1 100%;min-width:0}}.calendar-month-session-wrap .calendar-event-block-reason-inline-trigger,.calendar-month-session-wrap .calendar-event-block-reason-inline-input,.calendar-month-session-wrap .calendar-event-open-block-note,.calendar-month-session-wrap .calendar-event-open-block-note-input{pointer-events:auto;z-index:2}.calendar-event-open-block-note{width:100%;margin-top:.12rem;pointer-events:auto}.calendar-event-open-block-note-input{width:100%;display:block}.staff-calendar-toolbar-stack{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.75rem}.staff-appointment-block-range-program-label{display:flex;flex-direction:column;gap:.2rem;font-size:.78rem;font-weight:600;color:#475569}.staff-appointment-block-range-program-select{min-width:12rem;max-width:20rem;padding:.35rem .5rem;font-size:.85rem;border:1px solid #cbd5e1;border-radius:6px}.staff-appointment-block-range-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.65rem 1rem;margin-bottom:.75rem}.staff-appointment-block-range-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;flex:1 1 16rem}.staff-appointment-block-range-note-label{font-size:.78rem;font-weight:600;color:#475569}.staff-appointment-block-range-note-input{flex:1 1 12rem;min-width:10rem;max-width:22rem;padding:.35rem .5rem;font-size:.85rem;border:1px solid #cbd5e1;border-radius:6px}.staff-appointment-block-range-panel .calendar-session-detail-section{gap:.35rem}.staff-appointment-block-range-panel .staff-appointment-block-range-note-input{flex:none;width:100%;max-width:28rem;height:2.125rem;min-height:0;box-sizing:border-box}.staff-appointment-block-range-panel .calendar-session-notes-actions{margin-top:.35rem}.calendar-event-booked-badge,.calendar-event-booked-label{font-weight:600;font-size:.68rem}.calendar-event-appointment-org{color:#475569}.calendar-event--appointment-booked .calendar-event-appointment-org{color:#047857}.calendar-event-appointment-guest,.calendar-event-appointment-org{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event-closure-badge{color:#b91c1c;font-weight:600;font-size:.68rem}.calendar-session-closed-notice{padding:.5rem .65rem;border-radius:8px;background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.parent-makeup-panel h3,.parent-makeup-panel h4{margin:0}.parent-makeup-panel{padding:1rem 1.1rem}.parent-makeup-section-title{margin-top:1.25rem;margin-bottom:.5rem}.parent-makeup-list{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.85rem}.parent-makeup-pending-row,.parent-makeup-scheduled-row{display:flex;flex-direction:column;align-items:stretch;gap:.85rem;padding:.95rem 1rem;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}@media (min-width: 640px){.parent-makeup-pending-row{flex-direction:row;flex-wrap:wrap;align-items:flex-start;justify-content:space-between}.parent-makeup-scheduled-row{flex-direction:row;align-items:flex-start;justify-content:space-between;gap:1rem}}.parent-makeup-credit-body{display:flex;flex-direction:column;gap:.4rem;flex:1 1 auto;min-width:0}.parent-makeup-credit-title{font-size:1rem;line-height:1.4}.parent-makeup-credit-detail,.parent-makeup-credit-when{margin:0;line-height:1.45}.parent-makeup-credit-detail{color:#0f172a;font-weight:500}.parent-makeup-credit-when{color:#334155}.parent-makeup-credit-meta{margin:0;line-height:1.4}.parent-makeup-credit-educator{margin:0;line-height:1.4;color:#475569}.calendar-session-makeup-learners{color:#334155}.calendar-session-enrolled-learners{margin-top:0}.calendar-session-enrolled-learners-list{margin:0;padding:0;list-style:none;display:grid;gap:.55rem}.calendar-session-enrolled-learner-name{font-weight:600;font-size:.95rem;overflow-wrap:anywhere;word-break:break-word}.calendar-session-enrolled-learner-row{display:grid;gap:.1rem;min-width:0;color:#334155}.calendar-session-enrolled-learner-row-main{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.35rem .75rem}.calendar-session-enrolled-learner-intent{font-size:.9rem;color:#64748b;white-space:nowrap}.calendar-session-enrolled-learner-intent--yes{color:#15803d}.calendar-session-enrolled-learner-intent--no{color:#b45309}.calendar-session-enrolled-learner-intent--pending{color:#64748b;font-style:italic}.calendar-session-enrolled-learner-sms{font-size:.9rem}.calendar-session-enrolled-learner-sms--ready{color:#15803d}.calendar-session-enrolled-learner-sms--skipped{color:#b45309}.calendar-session-enrolled-learner-sep{color:#94a3b8;font-weight:400}.calendar-session-enrolled-learners-notes{margin:.45rem 0 0;padding:0;list-style:none;display:grid;gap:.35rem}.calendar-session-enrolled-learner-note-row{display:grid;gap:.1rem;color:#334155}.calendar-session-activity-reminder{margin-top:0}.calendar-session-activity-reminder-body{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem}.calendar-session-activity-reminder-feedback{margin:0}.calendar-session-activity-reminder-btn{align-self:flex-start;white-space:normal;text-align:center}.calendar-session-activity-reminder-hint{margin:0}.calendar-session-activity-reminder-actions{margin-top:0}.calendar-session-enrolled-learner-status{font-weight:500;color:#64748b}.calendar-session-enrolled-learner-status--session{color:#1d4ed8;font-weight:600}.calendar-session-activity-reminder-hint--enabled{color:#166534}.calendar-session-enrolled-learner-attendance,.calendar-session-enrolled-learner-parent{display:block;margin:0;line-height:1.4}.parent-makeup-slots{flex:1 1 100%;margin-top:.35rem}.parent-credit-balance-banner{border-left:4px solid #2563eb;background:#eff6ff}.parent-credit-balance-banner strong{color:#1e40af}.parent-makeup-actions{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;flex-shrink:0}@media (min-width: 640px){.parent-makeup-actions{align-items:flex-end}}.makeup-slot-card-body{display:flex;flex-direction:column;gap:.2rem}.staff-makeup-slots-panel{margin-bottom:0}.program-calendar-stack{display:flex;flex-direction:column;gap:.65rem}.program-calendar-stack .program-workspace-panel,.program-calendar-stack .learner-calendar-card{margin-top:0}.staff-makeup-slots-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem}.staff-makeup-slot-list{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.75rem}.staff-makeup-slot-row{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;padding:.75rem;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.staff-makeup-slot-actions{display:flex;flex-wrap:wrap;gap:.35rem;align-items:flex-start}.staff-makeup-waitlist{list-style:none;margin:.5rem 0 0;padding:0;flex:1 1 100%;display:flex;flex-direction:column;gap:.35rem}.staff-makeup-waitlist li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.35rem;padding:.35rem .5rem;border-radius:6px;background:#fff;border:1px solid #e2e8f0}.staff-makeup-slot-form{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem}.staff-makeup-slot-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.staff-makeup-slot-form-span{grid-column:1 / -1}.staff-makeup-slot-form label{display:flex;flex-direction:column;gap:.25rem;min-width:0}.staff-makeup-slot-form-row{display:contents}.staff-makeup-slot-checkbox-group{border:1px solid #e2e8f0;border-radius:8px;padding:.5rem .75rem;text-align:left}.staff-makeup-slot-form .staff-makeup-slot-picker-search{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;align-self:flex-start;gap:.5rem;margin:.5rem 0 .65rem;width:auto;max-width:100%}.staff-makeup-slot-form .staff-makeup-slot-picker-search label{display:block;flex:0 0 auto;margin:0;font-size:.8rem;color:#475569;white-space:nowrap}.staff-makeup-slot-form .staff-makeup-slot-picker-search input{display:block;flex:0 1 auto;width:min(18rem,60vw);min-width:8rem;margin:0}.staff-makeup-slot-picker-empty{margin:.35rem 0 0}.staff-makeup-slot-checkbox-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem .75rem}.staff-makeup-slot-checkbox{display:flex;align-items:center;gap:.35rem;margin:.25rem 0}.combined-calendar-toolbar{display:flex;flex-direction:column;gap:.65rem;margin-bottom:.65rem}.combined-calendar-filters{display:flex;flex-wrap:wrap;gap:.65rem}.combined-calendar-filter-fieldset{flex:1 1 16rem;min-width:0}.combined-calendar-toolbar-actions{display:flex;flex-wrap:wrap;gap:.5rem}.combined-calendar-share-modal{width:min(40rem,100%)}.combined-calendar-filter-options{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .9rem}.combined-calendar-filter-option{display:inline-flex;flex-direction:row;align-items:center;gap:.35rem;margin:0;white-space:nowrap;max-width:100%}.combined-calendar-filter-option span{line-height:1.25}.combined-calendar-share-link-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.75rem 0}.combined-calendar-share-link-input{flex:1 1 12rem;min-width:0;font-size:.85rem}.combined-calendar-share-link-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;flex:0 0 auto}.public-shared-combined-calendar{margin-top:0;padding:.75rem .9rem .9rem;border:1px solid #e2e8f0;box-shadow:none}.public-shared-combined-calendar .portal-calendar-shell{margin-top:.35rem}.combined-calendar-toolbar-public{gap:.5rem;margin-bottom:.5rem}.public-shared-calendar-toolbar-hint{margin:0;font-size:.82rem;line-height:1.35}.public-shared-calendar-expiry{margin:0 0 .5rem;padding:.4rem .55rem;font-size:.8rem;line-height:1.35;color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px}.combined-calendar-prospect-share{margin:0;padding:.55rem .65rem;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.combined-calendar-prospect-share-label{margin:0 0 .2rem;font-size:.8rem;font-weight:600;color:#334155}.combined-calendar-prospect-share-lead{margin:0 0 .45rem;font-size:.78rem;line-height:1.35}.combined-calendar-toolbar-public .combined-calendar-share-link-row{margin:0}.public-shared-calendar-header-prospect{margin:0 0 .5rem;padding-bottom:.45rem;border-bottom:1px solid #e2e8f0}.public-shared-calendar-title{margin:0;font-size:1.05rem;font-weight:600;color:#0f172a;line-height:1.25}.public-shared-calendar-prospect-lead{margin:.25rem 0 0;font-size:.78rem;line-height:1.35}.public-shared-calendar-status{margin:.5rem 0;padding:0 .25rem}.staff-makeup-slot-modal{max-width:760px;width:min(96vw,760px);padding:1.1rem 1.25rem}.staff-makeup-slot-modal h3{margin:0 0 .25rem;font-size:1.05rem;color:#0f172a}.calendar-session-detail-wrap{margin-top:.75rem;display:flex;flex-direction:column;gap:.85rem;scroll-margin-top:4.5rem}.calendar-session-detail-banner{margin:0}.calendar-session-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.5rem;align-items:start}.calendar-session-detail-col{display:flex;flex-direction:column;gap:.85rem;min-width:0}.calendar-session-detail-section{display:flex;flex-direction:column;gap:.55rem}.calendar-session-detail-full{padding-top:.15rem;border-top:1px solid #e2e8f0}.calendar-session-detail-section-title{margin:0;font-weight:600;font-size:.9rem;color:#334155}.calendar-session-topic-list{margin:0;padding-left:1.1rem;color:#334155}.calendar-session-topic-list>li{margin-bottom:.65rem}.calendar-session-topic-list>li:last-child{margin-bottom:0}.calendar-session-overview-scroll{max-height:14rem}@media (max-width: 768px){.calendar-session-detail-grid{grid-template-columns:1fr}}.calendar-session-detail{display:flex;flex-direction:column;gap:.65rem}.calendar-session-detail-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .75rem}.calendar-session-detail-head-actions{flex-shrink:0;margin-left:auto}.calendar-session-detail-title{margin:0;font-size:1.05rem;color:#0f172a}.calendar-session-detail-program-title{font-weight:600;color:#0f172a}.calendar-session-detail-program-link{margin:0;padding:0;border:0;background:none;font:inherit;font-weight:600;color:#2563eb;text-align:left;cursor:pointer;overflow-wrap:anywhere}.calendar-session-detail-program-link:hover{color:#1d4ed8;text-decoration:underline}.calendar-session-detail-program-link:focus-visible{outline:2px solid #3b82f6;outline-offset:2px;border-radius:4px}.calendar-session-detail-summary{display:flex;flex-direction:column;gap:.3rem}.calendar-session-detail-meta{margin:0;color:#334155;font-size:.9rem;line-height:1.45}.calendar-session-detail-meta--prewrap{white-space:pre-wrap}.calendar-session-topic-title{margin:0 0 .35rem;font-size:.9rem;font-weight:600;color:#334155}.calendar-session-calendar-note{margin-top:0}.calendar-session-notes-field{margin:0}.calendar-session-notes-field textarea{width:100%;min-height:4.5rem;resize:vertical}.calendar-session-notes-actions{margin-top:.5rem}.calendar-session-notes-actions .primary-btn,.calendar-session-location-edit .guest-kiosk-pin-actions .primary-btn{padding:.3rem .85rem;border-radius:999px;font-size:.9rem;line-height:1.25}.calendar-session-save-notes-btn{min-width:6.75rem}.calendar-session-save-notes-btn[aria-busy=true]{opacity:.72;cursor:wait}.calendar-session-pdf-upload-with-help{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.2rem}.calendar-session-notes-actions .calendar-session-legal-doc-inline-errors{flex:1 1 100%;margin:0}.calendar-session-legal-doc-inline-wrap{margin-top:.35rem}.calendar-session-legal-doc-inline-wrap .calendar-session-notes-actions{margin-bottom:.5rem}.calendar-session-legal-doc-list{list-style:none;margin:0 0 .5rem;padding:0;display:flex;flex-direction:column;gap:.35rem}.calendar-session-legal-doc-item{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;font-size:.85rem}.calendar-session-legal-doc-name{flex:1 1 8rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-session-legal-doc-item-actions{display:inline-flex;flex-wrap:wrap;gap:.25rem}.calendar-session-legal-doc-limit-hint{margin:.35rem 0 0}.calendar-session-legal-doc-upload-row{margin:0}.calendar-session-location-section{margin-top:0;padding-top:0;border-top:0}.calendar-session-location-display-row{margin-bottom:.45rem}.calendar-session-location-display-row .program-location-list-entry{display:inline}.calendar-session-location-inline-row{display:flex;flex-wrap:nowrap;align-items:center;gap:.5rem .75rem;min-width:0}.calendar-session-location-inline-row .program-location-list-entry{flex:0 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-session-location-inline-row .calendar-session-location-empty{flex:0 1 auto;white-space:nowrap}.calendar-session-location-inline-row .calendar-session-location-field{flex:1 1 10rem;min-width:6rem}.calendar-session-location-controls-row{display:flex;flex-wrap:nowrap;align-items:center;gap:.5rem .75rem;min-width:0}.calendar-session-location{margin:0;font-size:.85rem;color:#475569}.calendar-session-location-edit-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.calendar-session-location-link{flex:0 1 auto;min-width:0;font-size:.9rem;color:#1d4ed8;text-decoration:underline}.calendar-session-location-link:hover{color:#1e40af}.calendar-session-location-empty{flex:0 1 auto;min-width:0}.calendar-session-location-field{flex:1 1 12rem;margin:0;min-width:0}.calendar-session-location-controls-row .calendar-session-location-field{flex:1 1 auto}.calendar-session-location-edit-row .calendar-session-location-actions,.calendar-session-location-controls-row .calendar-session-location-actions,.calendar-session-location-inline-row .calendar-session-location-actions{margin-top:0;flex:0 0 auto;display:inline-flex;flex-wrap:nowrap;align-items:center;gap:.5rem}.calendar-session-location-inline-row .calendar-session-location-actions .primary-btn{white-space:nowrap}.calendar-session-location-map.address-map-preview{margin-top:.65rem}.calendar-empty{color:#94a3b8}.learner-calendar-daily,.learner-calendar-monthly{margin-top:.8rem;display:grid;gap:.7rem}.learner-calendar-daily h4{margin:0;color:#334155}.learner-calendar-monthly{grid-template-columns:repeat(7,minmax(120px,1fr));overflow-x:auto;overscroll-behavior-x:contain}.calendar-month-header{font-weight:700;color:#334155;font-size:.85rem}.calendar-month-cell{border:1px solid #e2e8f0;border-radius:10px;padding:.45rem;min-height:105px;display:flex;flex-direction:column;gap:.2rem;text-align:left;background:#fff}.calendar-month-cell-event{min-width:0}.calendar-month-cell-event .calendar-event--selectable{width:100%}.calendar-month-cell--no-sessions{min-height:0}.calendar-month-cell-empty{display:block;margin-top:.15rem;line-height:1.3}.calendar-month-cell--drill-down-weekly{cursor:pointer}.calendar-month-day-link{align-self:flex-start;border:none;background:transparent;padding:0;margin:0;cursor:pointer;border-radius:4px}.calendar-month-day-link:hover strong{color:#1d4ed8}.calendar-month-session-btn{border:none;background:transparent;padding:.15rem .2rem;margin:0;border-radius:6px;text-align:left;cursor:pointer;width:100%}.calendar-month-session-btn:hover{background:#f1f5f9}.calendar-month-session-btn--blocked:hover,.calendar-month-session-btn--blocked.is-selected:hover{background:#fee2e2}.calendar-month-session-btn.is-selected{background:#dbeafe;outline:1px solid #93c5fd}.calendar-month-session-wrap{display:flex;flex-direction:column;align-items:stretch;gap:.05rem;position:relative;padding:.15rem .2rem;border-radius:6px}.calendar-month-session-wrap>:not(.calendar-event-hit){position:relative;z-index:1;pointer-events:none}.calendar-month-session-wrap .calendar-event-block-btn,.calendar-month-session-wrap a.calendar-event-join-btn,.calendar-month-session-wrap .calendar-event-action-error,.calendar-month-session-wrap .calendar-event-row-action,.calendar-month-session-wrap .calendar-event-block-reason-inline-trigger,.calendar-month-session-wrap .calendar-event-block-reason-inline-input{pointer-events:auto;z-index:2}.calendar-month-session-wrap--slot-block-ui-active.calendar-month-session-wrap--blocked{overflow:visible;z-index:3;background:#fff7f7;box-shadow:0 1px 4px #0f172a1a}.calendar-month-session-wrap:hover:not(.is-same-program):not(.is-selected){background:#f1f5f9}.calendar-month-session-wrap--private-seat{outline:2px solid #2563eb}.calendar-month-session-wrap--private-seat:hover:not(.is-same-program){background:#f8fafc}.calendar-month-session-wrap.is-selected.calendar-month-session-wrap--private-seat{outline-color:#2563eb}.calendar-month-session-wrap.is-same-program{background:#eff6ff}.calendar-month-session-wrap.is-same-program:hover{background:#e8f2ff}.calendar-month-session-wrap.is-selected{background:#dbeafe}.calendar-month-session-wrap--blocked,.calendar-month-session-btn--blocked{background:#fef2f2}.calendar-month-session-wrap--blocked:hover,.calendar-month-session-wrap.is-selected.calendar-month-session-wrap--blocked{background:#fee2e2}.calendar-month-session-wrap.is-selected.calendar-month-session-wrap--blocked{outline-color:#fca5a5}.calendar-month-session-btn--blocked.is-selected{outline:1px solid #fca5a5}.calendar-month-more{align-self:flex-start;border:none;background:transparent;padding:0;margin:0;cursor:pointer;color:#64748b;font-size:.75rem}.calendar-month-more:hover{color:#1d4ed8;text-decoration:underline}.calendar-month-cell strong{color:#334155}.calendar-month-cell small{color:#64748b}.calendar-month-session{display:flex;flex-direction:column;gap:.05rem;line-height:1.25}.calendar-month-session-title{color:#334155;font-weight:600;overflow-wrap:anywhere}.calendar-month-session-time{color:#64748b;font-size:.72rem}.calendar-month-session-educator{color:#475569;font-size:.72rem;font-weight:600}.calendar-month-session-closure,.calendar-month-session-blocked{color:#b91c1c;font-size:.72rem;font-weight:600}.calendar-month-session-booked{color:#047857;font-size:.72rem;font-weight:600}.calendar-month-session-guest{color:#0f172a;font-size:.72rem;font-weight:500}.calendar-month-session-wrap--appointment-booked .calendar-month-session-title,.calendar-month-session-wrap--appointment-booked .calendar-month-session-time,.calendar-month-session-wrap--appointment-booked .calendar-month-session-booked,.calendar-month-session-wrap--appointment-booked .calendar-month-session-guest{color:#047857}.calendar-month-session-org{color:#475569;font-size:.72rem}.calendar-month-session--closed .calendar-month-session-title{color:#991b1b;text-decoration:line-through}.calendar-month-session--appointment-blocked .calendar-month-session-title{color:#991b1b}.calendar-month-session--selected .calendar-month-session-title{color:#1d4ed8}.calendar-month-session--appointment-blocked.calendar-month-session--selected .calendar-month-session-title{color:#991b1b}.calendar-month-session--appointment-booked .calendar-month-session-title,.calendar-month-session--appointment-booked.calendar-month-session--selected .calendar-month-session-title{color:#047857}.muted-month-cell{background:#f8fafc}.payment-method-form{display:grid;gap:.5rem;margin-bottom:.8rem}.payment-method-type-toggle{display:flex;flex-wrap:wrap;gap:.4rem}.payment-method-type-toggle-btn.is-active{background:#dbeafe;border-color:#93c5fd;color:#1d4ed8}.default-payment-method-list{margin-top:.65rem}.default-payment-method-row{gap:.75rem}.parent-payment-methods-column-title{margin:0 0 .5rem;font-size:.95rem}.auto-pay-title-with-toggle{gap:.45rem}.auto-pay-heading-checkbox{margin:0}.auto-pay-status-text{font-size:.92rem;font-weight:500;color:#374151;white-space:nowrap}.payment-method-auto-pay-badge{font-size:.72rem;padding:.1rem .45rem}.payment-method-auto-pay-field{display:inline-flex;flex-direction:row;align-items:center;gap:.35rem;margin:0;font-size:.88rem;font-weight:500;white-space:nowrap;flex-wrap:nowrap;width:fit-content;max-width:100%}.payment-method-auto-pay-field input[type=checkbox]{width:1rem;height:1rem;margin:0;padding:0;flex:0 0 auto}.payment-method-form-actions{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.payment-method-item--editing{background:#eff6ff;border-radius:8px;padding:.35rem .45rem}.payment-method-list li{gap:0;overflow-x:auto}.payment-method-item{display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem}.payment-method-item--saved-row{align-items:center;flex-wrap:nowrap;width:100%;min-width:min-content}.payment-method-saved-name{flex:0 0 auto;white-space:nowrap}.payment-method-saved-kind{flex:0 0 auto;white-space:nowrap;font-size:.78rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.03em}.payment-method-saved-details{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#4b5563;font-size:.9rem}.payment-method-actions{display:flex;flex:0 0 auto;gap:.4rem;white-space:nowrap}.payment-method-edit{display:grid;gap:.45rem}.program-detail{margin-top:1rem;background:transparent;border:0;padding:0}.public-layout-with-auth .program-detail{margin-top:.2rem;padding:.35rem .4rem 1.1rem .15rem}.program-detail-head{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;margin-bottom:.75rem}.program-detail-head h2{margin:0;line-height:1.25}.public-program-successor-banner{margin:0 0 .85rem;padding:.65rem .85rem;border-radius:.5rem;background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent)}.public-program-successor-banner p{margin:0;font-size:.92rem;line-height:1.45}.public-program-successor-expired{margin-top:1rem;padding:1rem 1.1rem}.public-program-successor-expired h2{margin:0 0 .5rem;font-size:1.15rem}.public-program-successor-expired p{margin:0;line-height:1.5}.public-program-successor-loading{margin:0 0 .75rem;font-size:.9rem;color:var(--muted)}.program-mgmt-successor-gap{display:inline-block;margin-left:.45rem;padding:.1rem .4rem;border-radius:.35rem;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;background:color-mix(in srgb,var(--warning, #b45309) 14%,transparent);color:var(--warning, #b45309)}.program-mgmt-title-cell .program-mgmt-title-button{display:inline;vertical-align:baseline}.program-mgmt-successor-help{display:inline-flex;vertical-align:middle;margin-left:.35rem}.program-mgmt-successor-open-link{padding:0;border:none;background:none;font:inherit;color:var(--link, var(--accent));cursor:pointer;text-decoration:underline}.program-form-grid--3col>.program-form-field-col-span-2{grid-column:span 2}.program-form-grid--3col .program-form-successor-field,.program-form-grid--3col .program-form-enrollment-access{min-width:0}.program-detail-floating-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem 1.25rem;align-items:start;margin-top:.15rem}.program-detail-floating-main{min-width:0;display:flex;flex-direction:column;gap:.9rem}.program-detail-floating-aside{min-width:0}.program-detail-floating-aside .program-detail-tile-image{margin-bottom:0}.program-detail-floating-aside-footer{margin-top:.75rem;display:flex;justify-content:center}.program-overview-enrollment-share-row,.program-overview-location-block,.program-overview-location-content{display:flex;flex-direction:column;gap:.9rem;min-width:0}.public-booking-link-qr--corner-align{display:block;width:100%;aspect-ratio:1;object-fit:contain;border:1px solid #e2e8f0;border-radius:8px;background:#fff;padding:.35rem;box-sizing:border-box}@media (min-width: 42rem){.program-detail-floating-layout--with-aside{grid-template-columns:minmax(0,1fr) min(18rem,34%)}.program-detail-floating-layout--corner-share-qr.program-detail-floating-layout--with-aside{--program-detail-aside-width: min(18rem, 34%);grid-template-columns:minmax(0,1fr) var(--program-detail-aside-width)}.program-detail-floating-aside{position:sticky;top:1rem;align-self:start}.program-detail-floating-layout--corner-share-qr .program-detail-floating-main{display:contents}.program-detail-floating-layout--corner-share-qr>:not(.program-detail-floating-aside):not(.program-overview-enrollment-share-row):not(.program-overview-location-block):not(.program-detail-floating-main-below),.program-detail-floating-layout--corner-share-qr .program-detail-floating-main>:not(.program-overview-enrollment-share-row):not(.program-overview-location-block):not(.program-detail-floating-main-below){grid-column:1;min-width:0}.program-detail-floating-layout--corner-share-qr .program-detail-floating-main-below,.program-detail-floating-layout--corner-share-qr .program-overview-location-block{grid-column:1 / -1;min-width:0}.program-detail-floating-layout--corner-share-qr .program-detail-floating-main-below{display:flex;flex-direction:column;gap:.9rem}.program-detail-floating-layout--corner-share-qr .program-overview-enrollment-share-row{--address-map-preview-iframe-height: 280px;--program-detail-map-visual-height: calc(var(--address-map-preview-iframe-height) + 2px);grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) var(--program-detail-aside-width);column-gap:1.25rem;align-items:start}.program-overview-enrollment-share-main{grid-column:1;min-width:0}.program-detail-floating-layout--corner-share-qr .program-detail-floating-aside{grid-column:2;grid-row:1 / -1;align-self:start}.program-overview-enrollment-share-qr-aside{grid-column:2;grid-row:1;display:flex;justify-content:flex-end;align-items:flex-start;justify-self:end;overflow:visible;pointer-events:none;box-sizing:border-box;width:min(var(--program-detail-map-visual-height),100%);aspect-ratio:1;height:auto;max-width:100%;flex-shrink:0}.program-overview-enrollment-share-qr-aside .public-booking-link-qr--corner-align{pointer-events:auto;display:block;box-sizing:border-box;width:100%;height:100%;aspect-ratio:auto;max-width:none;padding:.15rem;object-fit:contain}}@media (max-width: 41.99rem){.program-detail-floating-aside{order:-1;max-width:22rem}}.program-location-list-entry{display:inline}.program-location-venue-label{color:#0f172a;font-weight:600}.program-detail-below-tile{display:flex;flex-direction:column;gap:.9rem;width:100%;margin-top:1rem}.program-detail-below-tile>.program-detail-section,.program-detail-below-tile>.program-detail-enroll-hint{margin:0}.program-detail-below-tile>.program-detail-section{padding:.75rem .85rem;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.program-detail-body--with-tile{margin-top:.35rem}.program-detail-intro{margin:0 0 .25rem}.program-detail-intro .category-meta{margin:0 0 .35rem}.program-detail-meta{margin:0 0 .5rem;color:#64748b;font-size:.92rem}.program-detail-summary{margin:.5rem 0 0;color:#334155;line-height:1.5}.program-detail-summary .rich-text-html,.program-mgmt-card-summary .rich-text-html{color:inherit;line-height:inherit}.program-detail-facts{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem 1.35rem;margin:.45rem 0 0;font-size:.9rem;font-weight:500;color:#0f172a;line-height:1.4}.program-detail-facts-label{margin-right:.4rem;font-size:.8rem;font-weight:500;color:#64748b}.program-detail-section{margin:1.1rem 0 0;padding:0}.program-detail-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem 1rem;align-items:start;margin-top:.9rem}.program-detail-body>.program-detail-section{margin:0;min-width:0;padding:.75rem .85rem;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.program-detail-section--wide,.program-detail-location-section{grid-column:1 / -1}.program-detail-body>.program-detail-enroll{border-top:0}@media (min-width: 56rem){.program-detail-body{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 36rem){.program-detail-body{grid-template-columns:1fr}}.program-detail-section>h3{margin:0 0 .45rem;font-size:1.05rem;font-weight:600;color:#0f172a}.program-detail-section>p,.program-detail-section>ul,.program-detail-section>ol{margin:0}.program-detail-section strong{display:inline;margin:0;font-size:inherit;font-weight:600}.program-detail-host .provider-line{margin:0 0 .35rem}.program-detail-section .program-detail-list{margin:0;padding-left:1.15rem;line-height:1.45}.program-detail-section .program-detail-list li+li{margin-top:.25rem}.program-detail-section .program-detail-list a{color:#1d4ed8;text-decoration:underline}.program-detail-section .program-detail-list a:hover{color:#1e40af}.address-map-preview{--address-map-preview-iframe-height: 280px;margin-top:.65rem;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;background:#f8fafc}.address-map-preview-caption{margin:0;padding:.55rem .75rem 0;font-size:.82rem;font-weight:600;color:#334155}.address-map-preview iframe{display:block;width:100%;height:var(--address-map-preview-iframe-height);border:0}.address-map-preview-pending{display:flex;align-items:center;justify-content:center;height:var(--address-map-preview-iframe-height);font-size:.85rem;color:#64748b;background:#f1f5f9}.address-map-preview-hint{margin:0;padding:.5rem .75rem;font-size:.82rem;color:#64748b}.address-map-preview-hint a{color:#1d4ed8;text-decoration:underline}.address-map-preview-hint a:hover{color:#1e40af}.program-location-section .address-map-preview+.address-map-preview{margin-top:.75rem}.program-form-map-preview{grid-column:1 / -1}.program-location-section .address-map-preview{margin-top:.75rem}.program-mgmt-detail-list a{color:#1d4ed8;text-decoration:underline}.program-mgmt-detail-list a:hover{color:#1e40af}.program-detail-subheading{margin:.75rem 0 .35rem;font-size:.95rem;font-weight:600;color:#334155}.program-detail-achievements{margin:0;padding-left:1.15rem;line-height:1.45}.program-detail-achievements li+li{margin-top:.45rem}.program-detail-achievement-date{font-weight:400;color:#64748b;font-size:.9rem}.program-detail-achievement-description{margin:.2rem 0 0;color:#475569;font-size:.92rem}.program-detail-achievement-image{display:block;width:min(100%,16rem);max-height:10rem;border-radius:.5rem;border:1px solid #e2e8f0;object-fit:cover}.credential-image-thumb-btn{display:block;margin-top:.4rem;padding:0;border:none;background:none;cursor:zoom-in;text-align:left;border-radius:.5rem}.credential-image-thumb-btn:hover .program-detail-achievement-image,.credential-image-thumb-btn:focus-visible .program-detail-achievement-image{border-color:#94a3b8;box-shadow:0 0 0 2px #3b82f640}.credential-image-thumb-btn:focus-visible{outline:none}.credential-image-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:1rem;box-sizing:border-box;background:#0f172a99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}.credential-image-modal-dialog{width:min(960px,100%);max-height:min(92vh,900px);max-height:min(92dvh,900px);overflow:auto;margin:auto;box-shadow:0 18px 48px #0f172a38;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.credential-image-modal-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.65rem;margin-bottom:.75rem}.credential-image-modal-title{margin:0;font-size:1.1rem;color:#0f172a}.credential-image-modal-img{display:block;width:100%;max-height:min(75vh,720px);object-fit:contain;border-radius:.35rem;background:#f8fafc}.saved-venues-card{overflow:visible}.saved-venues-edit-block{width:100%;overflow:visible}.saved-venues-map-preview{width:100%;margin-top:.5rem}.saved-venues-list{list-style:none;margin:0;padding:0}.saved-venues-list-item{border-bottom:1px solid var(--border, #e2e8f0);padding:.5rem 0}.saved-venues-list-item:last-child{border-bottom:none}.saved-venues-inline-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;width:100%}.saved-venues-inline-title{display:inline-flex;align-items:center;gap:.4rem;flex-shrink:0;min-width:5rem}.saved-venues-default-badge{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.02em}.saved-venues-inline-label{flex:0 1 16rem;width:16rem;max-width:17rem;min-width:10rem;padding:.35rem .5rem;border:1px solid var(--border, #e2e8f0);border-radius:.35rem;font:inherit}.saved-venues-inline-address{flex:1 1 12rem;min-width:0;padding:.35rem .5rem;border:1px solid var(--border, #e2e8f0);border-radius:.35rem;font:inherit}.saved-venues-inline-row .address-autocomplete{flex:1 1 0;min-width:8rem;max-width:100%}.saved-venues-add-row{display:grid;grid-template-columns:auto minmax(0,3fr) minmax(0,7fr) auto;align-items:center;width:100%;column-gap:.7rem}.saved-venues-edit-row{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,7fr) auto auto;align-items:center;width:100%;column-gap:.7rem}.saved-venues-add-row .saved-venues-inline-label,.saved-venues-edit-row .saved-venues-inline-label{width:100%;max-width:none;min-width:0;flex:none}.saved-venues-add-row .saved-venues-field-address,.saved-venues-edit-row .saved-venues-field-address{min-width:0;width:100%;max-width:none}.saved-venues-add-row .address-autocomplete,.saved-venues-edit-row .address-autocomplete{flex:none;min-width:0;width:100%;max-width:none}.saved-venues-submit-btn{justify-self:end;margin:0;white-space:nowrap}.saved-venues-edit-row .saved-venues-cancel-btn{justify-self:end}.address-autocomplete{position:relative}.address-autocomplete-input{width:100%;box-sizing:border-box}.address-autocomplete-status{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);font-size:.75rem;color:var(--muted, #64748b);pointer-events:none}.address-autocomplete-list{position:absolute;z-index:250;left:0;right:0;top:calc(100% + .2rem);margin:0;padding:.25rem;list-style:none;max-height:14rem;overflow:auto;border:1px solid var(--border, #e2e8f0);border-radius:.4rem;background:var(--surface, #fff);box-shadow:0 8px 24px #0f172a1f}.address-autocomplete-option{width:100%;text-align:left;display:flex;flex-direction:column;gap:.1rem;padding:.45rem .55rem;border:none;border-radius:.3rem;background:transparent;font:inherit;cursor:pointer}.address-autocomplete-option-active,.address-autocomplete-option:hover{background:var(--chip-bg, #f1f5f9)}.address-autocomplete-option-primary{font-size:.9rem;line-height:1.3}.address-autocomplete-option-secondary{font-size:.78rem;color:var(--muted, #64748b)}.catalog-location-fields .address-autocomplete{flex:1 1 12rem;min-width:0}.saved-venues-address-text{border:none;padding:0;color:#475569;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-venues-row-actions{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;gap:.35rem;margin-left:auto}.saved-venues-add-form{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border, #e2e8f0)}.saved-venues-form-error{margin:.35rem 0 0;grid-column:1 / -1}.saved-venues-add-heading{font-weight:600;flex-shrink:0}.saved-venues-add-btn{flex-shrink:0;white-space:nowrap}.saved-venues-empty{margin:.35rem 0 0}@media (max-width: 640px){.saved-venues-address-text{white-space:normal;flex-basis:100%}.saved-venues-row-actions{margin-left:0}}.educator-achievements-list{list-style:none;margin:0 0 1.25rem;padding:0}.educator-achievement-item{display:flex;gap:1rem;justify-content:space-between;align-items:flex-start;padding:.75rem 0;border-bottom:1px solid #e2e8f0}.educator-achievement-item-body p{margin:.35rem 0 0;color:#475569}.educator-achievement-credential-image{display:block;margin-top:.45rem;width:min(100%,13rem);max-height:8rem;border-radius:.5rem;border:1px solid #e2e8f0;object-fit:cover}.educator-achievement-date{display:block;margin-top:.15rem;font-size:.88rem;color:#64748b;font-weight:400}.educator-achievement-item-actions{display:flex;flex-shrink:0;gap:.35rem}.staff-org-linked-staff-lead{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem}.staff-org-linked-staff-help{flex-shrink:0}.staff-linked-provider-form{position:relative;padding:.65rem .85rem}.staff-linked-provider-form-title{margin:0 0 .4rem;font-size:.82rem;font-weight:600;color:#0f172a}.staff-linked-provider-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:.35rem .65rem;align-items:end}.staff-linked-provider-form .program-form-field{gap:.18rem;font-size:.72rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:#64748b}.staff-linked-provider-form .program-form-field input{min-height:2.05rem;padding:.3rem .55rem;font-size:.9rem;font-weight:400;letter-spacing:0;text-transform:none;color:#0f172a}.staff-linked-provider-form-actions{display:flex;align-items:center;gap:.4rem}.staff-linked-provider-form-actions .primary-btn{min-height:2.05rem;padding:.3rem .8rem;white-space:nowrap}.staff-linked-provider-form .program-form-error{grid-column:1 / -1;margin:0}@media (max-width: 1100px){.staff-linked-provider-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-linked-provider-form-actions{grid-column:1 / -1;justify-content:flex-end}}@media (max-width: 640px){.staff-linked-provider-form-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 520px){.staff-coupon-item{flex-direction:column;align-items:stretch}.staff-coupon-actions{width:100%}.staff-coupon-actions .chip{padding:.28rem .55rem;font-size:.82rem}}.staff-linked-providers-table-wrap{overflow-x:auto}table.staff-linked-providers-table{min-width:56rem}.staff-linked-providers-table .staff-linked-provider-status,.staff-linked-providers-table .staff-linked-provider-actions-cell{white-space:nowrap}.staff-linked-provider-actions{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}.staff-linked-provider-actions-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.staff-linked-provider-row-notice{margin:0;max-width:22rem;white-space:normal}.educator-achievement-form{display:flex;flex-direction:column;gap:.65rem;max-width:32rem}.staff-coupon-create-form{max-width:none}.staff-coupon-create-form .program-form-grid{margin-top:0}.staff-coupons-panel-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.65rem;margin-bottom:.75rem}.staff-coupons-panel-header h3{margin:0}.discount-policy-list,.tuition-scale-list{margin-top:.25rem}.discount-policy-item .status,.tuition-scale-item .status{margin-left:.5rem}.discount-policy-label{margin:.25rem 0 0}.discount-policy-details,.discount-policy-meta{margin:.25rem 0 0;font-size:.88rem;line-height:1.45}.discount-policy-meta{color:#64748b}.educator-achievement-form label,.educator-achievement-image-field{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}.educator-achievement-form-actions{display:flex;gap:.5rem}.educator-achievement-add-form{margin-top:1.25rem;padding-top:1rem;border-top:1px solid #e2e8f0}.educator-achievement-add-form h3{margin:0 0 .25rem;font-size:var(--portal-title-sm)}.program-detail-enroll{border-top:1px solid #e2e8f0}.program-detail-open-enroll{margin-top:.9rem;padding:.85rem .95rem 1rem;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.program-detail-open-enroll>p{margin:0 0 .85rem;max-width:46rem;color:#475569;font-size:.9rem;line-height:1.45}.program-detail-open-enroll-form{display:flex;flex-direction:column;gap:.85rem}.program-detail-open-enroll-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:.7rem .85rem;align-items:end}.program-detail-open-enroll-form .legal-agreement-fields,.program-detail-open-enroll-form .program-form-error,.program-detail-open-enroll-form .program-form-success{margin:0}.program-detail-open-enroll-actions{grid-column:-2 / -1;display:flex;justify-content:flex-end;align-self:end}@media (max-width: 40rem){.program-detail-open-enroll-fields{grid-template-columns:1fr}.program-detail-open-enroll-actions{grid-column:1 / -1;justify-content:flex-start}}.public-booking-form{display:flex;flex-direction:column;gap:.85rem;min-width:0;width:100%}.public-booking-form-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,1fr) minmax(0,.95fr) auto;gap:.7rem .85rem;align-items:end}.public-booking-form .legal-agreement-fields,.public-booking-form .program-form-error,.public-booking-form .program-form-success,.public-booking-form-status{margin:0}.program-form-field-error{margin:0;color:#991b1b;font-size:.82rem;line-height:1.35}.public-booking-submit{display:flex;flex-direction:row;align-items:center;gap:.35rem;justify-content:flex-end;align-self:end;margin:0;padding:0;border:0}.public-booking-submit .chip{white-space:nowrap}.public-booking-extra-actions{margin-top:.35rem;padding-top:.65rem}@media (max-width: 56rem){.public-booking-form-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.public-booking-submit{grid-column:1 / -1;justify-content:flex-start}}@media (max-width: 40rem){.public-booking-form-fields{grid-template-columns:1fr}}.program-detail-enroll>.program-detail-enroll-btn{margin-top:.35rem}.program-detail-enroll-hint{color:#64748b;font-size:.92rem;line-height:1.45}.program-detail-enroll-child-select{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.4rem .55rem;width:fit-content;max-width:100%;margin:0 0 .7rem;font-size:.78rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:#64748b}.program-detail-enroll-child-select select{width:auto;min-width:10.5rem;max-width:min(16rem,100%);padding:.28rem 1.65rem .28rem .55rem;font-size:.84rem;font-weight:500;letter-spacing:0;text-transform:none;line-height:1.25;color:#0f172a;border:1px solid #cbd5e1;border-radius:6px;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2364748b' d='M1.2.6 6 5.4 10.8.6 12 1.8 6 7.8 0 1.8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:.62rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.program-detail-enroll-child-select select:disabled{cursor:not-allowed;opacity:.65}.program-detail-enroll-inline-link{display:inline;margin:0 .12em;padding:.05em .45em;border:1px solid #93c5fd;border-radius:6px;background:#eff6ff;color:#1d4ed8;font:inherit;font-weight:700;line-height:inherit;cursor:pointer}.program-detail-enroll-inline-link:hover{background:#dbeafe;border-color:#60a5fa;color:#1e3a8a}.program-detail-enroll-inline-link:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.program-detail-enroll .learner-calendar-card{margin-top:.85rem;margin-bottom:.35rem}.program-detail-enroll>.public-booking-form{margin-top:1.15rem}.learner-calendar-heading-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.5rem 1rem;margin-bottom:.15rem}.learner-calendar-heading-row h3{margin:0}.learner-calendar-heading-aside{margin-left:auto;text-align:right;font-size:.92rem;color:#475569;line-height:1.35;max-width:min(100%,16rem)}.public-appointment-paid-sign-in-callout{margin:1.05rem 0 .75rem;padding:.9rem 1rem;border-radius:10px;border:1px solid #93c5fd;background:linear-gradient(180deg,#eff6ff,#dbeafe);box-shadow:0 1px 2px #2563eb14}.public-appointment-paid-sign-in-callout__title{margin:0 0 .4rem;font-weight:700;font-size:1.02rem;line-height:1.35;color:#1e3a8a}.public-appointment-paid-sign-in-callout__steps{margin:0 0 .5rem;font-size:.98rem;font-weight:600;line-height:1.45;color:#1e40af}.public-appointment-paid-sign-in-callout__detail{margin:0;font-size:.92rem;line-height:1.45;color:#1e3a5f}.public-appointment-paid-below-calendar{margin:.65rem 0 0;width:100%;max-width:100%;line-height:1.45}.public-booking-form-fields--paid{display:flex;flex-direction:column;align-items:stretch;gap:.75rem}.public-booking-paid-checkout-row{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:.55rem .75rem;width:100%;min-width:0}.public-booking-form-fields--paid .public-booking-paid-participant{margin:0;flex:0 1 auto;min-width:0}.public-booking-form-fields--paid .public-booking-submit{align-self:center;flex:0 0 auto;justify-content:flex-start;margin-left:0;gap:.5rem}.public-booking-form-fields--paid .public-booking-submit .primary-btn{white-space:nowrap}.program-detail-tabs{display:flex;flex-wrap:wrap;gap:.45rem;margin:.55rem 0 .35rem}.program-detail-panel{border:1px solid #e2e8f0;background:#f8fafc;border-radius:10px;padding:.65rem .75rem;margin:.45rem 0 .7rem}.program-detail-panel p{margin:.35rem 0}.program-detail-empty{margin:0;color:#64748b}.program-detail-calendar-range{margin:.15rem 0 .35rem;font-size:.92rem}.program-detail-weekly-slots{margin:.15rem 0 .5rem;padding-left:1.1rem}.program-thumb-skeleton{animation:program-thumb-skeleton-pulse 1.15s ease-in-out infinite}@keyframes program-thumb-skeleton-pulse{0%,to{opacity:1}50%{opacity:.72}}.program-thumb{width:100%;aspect-ratio:3 / 2;border-radius:10px;display:block;position:relative;overflow:hidden;margin-bottom:.85rem;color:#f8fafc;font-weight:700;letter-spacing:.04em}.program-thumb img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(1.05) contrast(1.02)}.program-thumb span{position:absolute;left:.45rem;bottom:.45rem;right:auto;z-index:2;max-width:calc(100% - .9rem);background:#0f172ab8;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:.22rem .6rem;font-size:.72rem;line-height:1.25;text-align:left;text-shadow:0 1px 2px rgba(0,0,0,.45);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.image-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.22rem .65rem .22rem .3rem}.image-chip img{width:22px;height:22px;object-fit:cover;border-radius:999px;border:1px solid #cbd5e1}.thumb-blue{background:linear-gradient(135deg,#334155,#475569)}.thumb-green{background:linear-gradient(135deg,#3f3f46,#52525b)}.thumb-purple{background:linear-gradient(135deg,#1f2937,#374151)}.thumb-orange{background:linear-gradient(135deg,#44403c,#57534e)}.thumb-pink{background:linear-gradient(135deg,#0f172a,#334155)}.program-management{display:flex;flex-direction:column;gap:1.25rem}.program-mgmt-toolbar{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem 1rem}.program-mgmt-toolbar--actions-only{justify-content:flex-end}.program-mgmt-lead{margin:0;flex:1 1 0;min-width:0;max-width:none;color:var(--portal-text-muted);font-size:var(--portal-lead);line-height:1.45}.program-catalog-scope-shell{display:flex;flex-direction:column;gap:.75rem}.program-catalog-hierarchy-nav{display:flex;flex-direction:column;gap:.15rem}.program-catalog-hierarchy-top{width:100%}.program-catalog-hierarchy-actions{flex:0 0 auto;margin-left:auto}.program-catalog-hierarchy-root-label{color:#64748b;font-size:.88rem;font-weight:600}.program-catalog-hierarchy-current{color:#1e293b;font-size:.88rem;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.program-catalog-hierarchy-sub{margin-top:.35rem;align-items:center}.program-catalog-hierarchy-chips{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.program-catalog-hierarchy-workspace-path{flex-wrap:wrap;min-width:0}.program-catalog-hierarchy-workspace-path .public-category-breadcrumb-sep{display:inline-flex;align-items:center;align-self:center;line-height:1}.program-catalog-hierarchy-workspace-path .program-catalog-hierarchy-current{align-self:center;font-size:.9rem;line-height:1.25}.program-catalog-scope-shell .parent-child-tabbar-tabs{width:100%}.program-mgmt-list{display:flex;flex-direction:column;gap:1rem}@media (min-width: 768px){table.staff-portal-list-table{table-layout:fixed;width:100%;border-collapse:collapse}table.staff-portal-list-table th,table.staff-portal-list-table td{padding:.55rem .22rem;border-bottom:1px solid #f3f4f6;text-align:left;font-size:.9rem;vertical-align:top}table.staff-portal-list-table th:first-child,table.staff-portal-list-table td:first-child{padding-left:.45rem;padding-right:.4rem}table.staff-portal-list-table th{background:#f9fafb;color:#6b7280;font-weight:600}table.staff-portal-list-table tbody tr.program-mgmt-row,table.staff-portal-list-table tbody tr.staff-portal-list-row{cursor:pointer}table.staff-portal-list-table tbody tr.program-mgmt-row.is-selected td,table.staff-portal-list-table tbody tr.staff-portal-list-row.is-selected td{background:#dbeafe;border-top:1px solid #93c5fd;border-bottom:1px solid #93c5fd}table.staff-portal-list-table tbody tr.program-mgmt-row.is-selected td:first-child,table.staff-portal-list-table tbody tr.staff-portal-list-row.is-selected td:first-child{box-shadow:inset 4px 0 #1d4ed8}}@media (min-width: 768px) and (hover: hover){table.staff-portal-list-table tbody tr.program-mgmt-row:hover>td,table.staff-portal-list-table tbody tr.staff-portal-list-row:hover>td,table.staff-portal-list-table tbody tr:hover>td{background-color:#f8fafc}table.staff-portal-list-table tbody tr.program-mgmt-row.is-selected:hover>td,table.staff-portal-list-table tbody tr.staff-portal-list-row.is-selected:hover>td{background:#dbeafe}}.program-workspace{display:flex;flex-direction:column;gap:0}.program-workspace-tabs{margin-top:.25rem}.program-workspace-tabs.parent-child-tab-shell{margin-bottom:0}.program-workspace-panel{margin-top:0}.staff-payments-shell .parent-child-tabbar-tabs,.staff-attendance-overview-shell .parent-child-tabbar-tabs{width:100%}.staff-payments-tab-panel,.staff-attendance-overview-shell .parent-child-tab-panel,.staff-teaching-hours-panel{display:flex;flex-direction:column;gap:.75rem}.staff-teaching-hours-header{margin:0}.staff-teaching-hours-title{margin:0 0 .25rem}.staff-teaching-hours-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem}.staff-teaching-hours-field{display:flex;flex-direction:column;gap:.25rem}.staff-teaching-hours-search{flex:1 1 12rem;min-width:10rem}.staff-teaching-hours-toolbar-actions{display:flex;flex-wrap:wrap;gap:.35rem}.staff-teaching-hours-summary{margin:0}.staff-teaching-hours-num{text-align:right;white-space:nowrap}.staff-teaching-hours-toggle{display:inline-flex;align-items:center;gap:.35rem;border:none;background:transparent;padding:0;font:inherit;cursor:pointer;text-align:left}.staff-teaching-hours-session-row td{background:var(--surface-muted, #f6f7f8);padding-top:.35rem;padding-bottom:.35rem}.staff-teaching-hours-session{padding:.35rem .25rem .35rem 1.25rem}.staff-teaching-hours-session-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem}.staff-teaching-hours-session-program{font-weight:500}.staff-teaching-hours-session-sub{margin:.2rem 0 0}.staff-billing-invoices-tabs{margin-top:.35rem}.staff-billing-invoices-tablist{width:100%}.staff-billing-paid-records-toolbar{display:flex;flex-wrap:nowrap;align-items:center;gap:.5rem;margin-bottom:.75rem}.staff-billing-paid-records-year-label{flex-shrink:0;font-size:.92rem;white-space:nowrap}.staff-billing-paid-records-year-select{flex-shrink:0;min-width:5.5rem}.payments-checkout-records-toolbar .staff-billing-paid-records-year-select{min-width:4.25rem}.payments-checkout-records-month-select{min-width:7.5rem;max-width:8.5rem}.payments-checkout-records-error{margin:-.35rem 0 .75rem}.staff-billing-paid-records-download{flex-shrink:0;white-space:nowrap}@media (max-width: 520px){.staff-billing-paid-records-toolbar:not(.payments-checkout-records-toolbar){flex-wrap:wrap;row-gap:.5rem}}@media (min-width: 768px){table.staff-portal-list-table .program-mgmt-family-summary-chips,table.staff-portal-list-table .program-mgmt-family-mobile-status{display:none}}.program-mgmt-row{cursor:pointer}.program-mgmt-list--family-portal .program-mgmt-family-summary-chips,.program-mgmt-list--family-portal .program-mgmt-family-mobile-status,.program-mgmt-list--compact-mobile .program-mgmt-family-summary-chips,.program-mgmt-list--compact-mobile .program-mgmt-mobile-enrollment-chip{display:none}.program-mgmt-mobile-enrollment-chip{flex-shrink:0;margin:0;padding:.14rem .5rem;border:0;border-radius:999px;background:#eff6ff;color:#1d4ed8;font:inherit;font-size:.72rem;font-weight:600;line-height:1.35;cursor:pointer;-webkit-tap-highlight-color:rgba(37,99,235,.12)}.program-mgmt-mobile-enrollment-chip.is-full{background:#ecfdf5;color:#059669}.program-mgmt-mobile-enrollment-chip:hover{text-decoration:underline}.program-mgmt-summary-chip{display:inline-block;max-width:100%;padding:.14rem .5rem;border-radius:999px;background:#f1f5f9;color:#475569;font-size:.72rem;font-weight:500;line-height:1.35;vertical-align:top}.program-mgmt-summary-chip.setup-status-active{background:#ecfdf5;color:#047857;font-weight:600}.program-mgmt-summary-chip.setup-status-pending{background:#fffbeb;color:#b45309;font-weight:600}@media (hover: hover){table tbody tr:hover>td,table tbody tr:hover>th{background-color:#f8fafc}.program-mgmt-row.is-selected:hover td{background:#dbeafe}}.program-mgmt-row.is-selected td{background:#dbeafe;border-top:1px solid #93c5fd;border-bottom:1px solid #93c5fd}.program-mgmt-row.is-selected td:first-child{box-shadow:inset 4px 0 #1d4ed8}.program-mgmt-row.is-selected .program-mgmt-title-button{color:#1e3a8a;font-weight:700}.program-mgmt-list table{table-layout:fixed}.program-mgmt-list th.program-mgmt-title-col,.program-mgmt-list td.program-mgmt-title-cell{padding:.55rem .4rem .55rem .45rem}.program-mgmt-list table th:not(.program-mgmt-title-col),.program-mgmt-list table td:not(.program-mgmt-title-cell){padding:.55rem .1rem .55rem .22rem}.program-mgmt-list .program-mgmt-title-col{width:13rem;max-width:13rem}.program-mgmt-list .program-mgmt-lead-col,.program-mgmt-list .program-mgmt-lead-cell{padding-left:.15rem;padding-right:.12rem}.program-mgmt-list .program-mgmt-date-col{width:2.15rem}.program-mgmt-list th.program-mgmt-date-col,.program-mgmt-date-cell{padding-left:.1rem;padding-right:.1rem}.program-mgmt-list .program-mgmt-schedule-col{width:8.75rem}.program-mgmt-list th.program-mgmt-schedule-col,.program-mgmt-schedule-cell{padding-left:.1rem;padding-right:.1rem}.program-mgmt-schedule-cell{overflow:visible;white-space:normal;word-break:break-word;line-height:1.35;font-size:.875rem;color:#475569;vertical-align:top}.program-mgmt-list .program-mgmt-enrollment-col{width:8.5rem}.program-mgmt-list th.program-mgmt-enrollment-col{padding-left:.1rem;padding-right:.5rem;line-height:1.25}.program-mgmt-enrollment-cell{padding-left:.1rem;padding-right:.5rem;font-size:.875rem;color:#475569;white-space:nowrap;vertical-align:top}.program-mgmt-enrollment-cell.is-full{color:#059669;font-weight:600}.program-mgmt-list .program-mgmt-assignment-col{width:4.75rem}.program-mgmt-list th.program-mgmt-assignment-col{padding-left:.1rem;padding-right:.35rem;line-height:1.25;text-align:left}.program-mgmt-assignment-cell{padding-left:.1rem;padding-right:.35rem;font-size:.875rem;color:#475569;white-space:nowrap;vertical-align:top;text-align:left}.program-mgmt-assignment-cell.is-full{color:#059669;font-weight:600}.program-mgmt-list .program-mgmt-billing-period-col{width:5.5rem}.program-mgmt-billing-period-cell{text-transform:capitalize}.program-mgmt-list .program-mgmt-type-col{width:5.5rem}.program-mgmt-list th.program-mgmt-type-col{padding-left:.45rem;padding-right:.08rem}.program-mgmt-type-cell{padding-left:.45rem;padding-right:.08rem;white-space:nowrap;word-break:normal;font-size:.875rem;color:#475569;vertical-align:top;line-height:1.35}.program-mgmt-list .program-mgmt-actions-col{width:12.75rem;min-width:11.5rem}.program-mgmt-list .program-mgmt-meta-col{width:6.25rem}.program-mgmt-list .program-mgmt-category-col{width:8rem}.program-mgmt-list th.program-mgmt-category-col,.program-mgmt-category-cell{padding-left:0;padding-right:.1rem}.program-mgmt-list .program-mgmt-level-col{width:7rem}.program-mgmt-list th.program-mgmt-default-sort-col{vertical-align:bottom}.program-mgmt-list .admin-programs-sort-th{font-size:inherit;font-weight:inherit;color:inherit;padding:0}.program-mgmt-list th.admin-programs-sort-col{vertical-align:bottom}.program-mgmt-sort-th{display:inline-flex;align-items:center;gap:.35rem;max-width:100%}.program-mgmt-sort-th-label{min-width:0}.program-mgmt-sort-th-markers{display:inline-flex;flex-shrink:0;align-items:center;gap:.1rem;font-size:.68rem;line-height:1;font-weight:700;color:#64748b}.program-mgmt-sort-th-priority{display:inline-flex;align-items:center;justify-content:center;min-width:1rem;padding:.1rem .2rem;border-radius:.2rem;background:#e2e8f0;color:#334155}.program-mgmt-sort-th-arrow{font-size:.75rem;color:#0f766e}.program-mgmt-level-cell{max-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;color:#475569;vertical-align:top}.program-mgmt-list .program-mgmt-narrow-meta-col{width:5.25rem}.program-mgmt-meta-cell{max-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;color:#475569;vertical-align:top}.program-mgmt-title-cell,.program-mgmt-actions-cell{vertical-align:top}.program-mgmt-date-cell{white-space:nowrap;font-size:.875rem;color:#475569;vertical-align:top}.program-mgmt-title-button{border:0;background:transparent;color:#1d4ed8;cursor:pointer;padding:0;font:inherit;text-align:left;text-decoration:underline;white-space:normal;word-break:break-word;line-height:1.35;display:inline}.program-mgmt-title-button:hover{color:#1e40af}.program-mgmt-row-actions{display:flex;flex-wrap:wrap;gap:.35rem;align-items:flex-start;width:max-content;max-width:100%}.program-mgmt-row-actions .chip{flex:0 0 auto}.program-mgmt-family-header-row td{background:#f8fafc;border-top:1px solid #e2e8f0;padding:.45rem .65rem}.program-mgmt-family-toggle{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .75rem;width:100%;border:0;background:transparent;text-align:left;padding:0;font:inherit;color:#0f172a;cursor:pointer}.program-mgmt-family-caret{color:#64748b;width:1rem}.program-mgmt-family-title{font-weight:600}.program-mgmt-family-dates,.program-mgmt-family-count{color:#64748b;font-size:.88rem}.program-mgmt-option-kind{display:block;font-size:.78rem;color:#64748b;font-weight:500}.program-mgmt-option-title{display:block}.program-family-options-summary-list{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:.45rem}.program-family-options-summary .program-form-hint{margin:.35rem 0 0}.program-family-options-summary-list li{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.program-schedule-option-context{margin-bottom:.35rem}.program-schedule-option-context p{margin:.2rem 0}.public-program-family-group{display:flex;flex-direction:column;gap:.65rem;min-width:0}.public-program-family-shared-body{cursor:default}.public-program-family-options{display:flex;flex-direction:column;gap:.35rem;padding:.55rem .6rem .45rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.public-program-family-options-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem .45rem;margin-bottom:.2rem}.public-program-family-options-label{font-size:.78rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#475569}.public-program-family-options-dates{font-size:.8rem;color:#64748b}.public-program-family-options-rows{display:flex;flex-direction:column}.public-program-family-option-row{all:unset;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.12rem .5rem;align-items:baseline;width:100%;box-sizing:border-box;padding:.38rem .15rem;border-bottom:1px solid #e2e8f0;cursor:pointer}.public-program-family-option-row:last-child{border-bottom:0}.public-program-family-option-row:hover,.public-program-family-option-row:focus-visible{background:#eef2ff;border-radius:6px}.public-program-family-option-row-label{font-size:.84rem;font-weight:600;color:#0f172a;min-width:0}.public-program-family-option-row-tuition{font-size:.82rem;font-weight:600;color:#1e40af;white-space:nowrap}.public-program-family-option-row-slots{grid-column:1 / -1;font-size:.78rem;color:#64748b;min-width:0}.public-program-family-options-toggle{all:unset;margin-top:.15rem;font-size:.8rem;font-weight:600;color:#1d4ed8;cursor:pointer}.public-program-family-options-toggle:hover,.public-program-family-options-toggle:focus-visible{text-decoration:underline}.program-catalog-schedule-line{margin:.2rem 0 0;line-height:1.35}.program-catalog-schedule-lines{margin-top:.15rem}.program-catalog-schedule-lines .program-card-meta{margin:.12rem 0 0}.program-mgmt-empty{color:#64748b;font-size:.92rem;margin:0;padding:1.5rem 1.25rem}.program-mgmt-card{text-align:left}.program-mgmt-card-head{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.35rem;padding-bottom:.35rem;border-bottom:1px solid #e5e7eb}.program-mgmt-card-head--with-floating-tile{margin-bottom:0;padding-bottom:0;border-bottom:none}.program-mgmt-card-head-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .75rem}.program-mgmt-card-actions{flex:0 0 auto;margin-left:auto}.program-mgmt-card-title,.card h3.program-mgmt-card-title{margin:0;flex:1 1 auto;min-width:0;font-family:inherit;font-size:1.15rem;font-weight:700;line-height:1.3;color:#0f172a}.program-mgmt-card-meta{margin:0;font-family:inherit;font-size:.8rem;font-weight:500;line-height:1.4;color:#64748b}.program-overview-staff-facts{display:flex;flex-direction:column;gap:.15rem}.program-overview-staff-facts-line{display:flex;flex-wrap:wrap;gap:.25rem .4rem}.program-overview-staff-facts-label{font-weight:600;color:#475569}.program-overview-staff-facts-value{min-width:0}.program-mgmt-card-summary{margin:.35rem 0 0;font-family:inherit;font-size:.875rem;font-weight:400;color:#475569;line-height:1.45;max-width:52rem}.program-mgmt-card-summary--preline{white-space:pre-line}.program-mgmt-detail-sections{display:flex;flex-direction:column;gap:.9rem;margin-top:.15rem;margin-bottom:1rem}.program-mgmt-subtitle{margin:0;font-family:inherit;font-size:.95rem;font-weight:600;line-height:1.3;color:#0f172a;text-transform:none;letter-spacing:normal}.program-mgmt-detail-list{margin:.35rem 0 0;padding-left:1.1rem;font-family:inherit;font-size:.875rem;font-weight:400;line-height:1.45;color:#334155}.public-booking-link-section{margin:0}.public-booking-link-share{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.5rem 1rem}.public-booking-link-main{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;min-width:0;flex:1 1 14rem}.public-booking-link-hint{margin:0;font-size:.8rem;line-height:1.3;color:#64748b}.public-booking-link-line{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;max-width:100%}.public-booking-link-actions{display:flex;flex-wrap:wrap;gap:.35rem}.public-booking-link-actions .chip{padding:.2rem .6rem;font-size:.8rem;line-height:1.3}.public-booking-link-url{flex:0 1 auto;min-width:0;max-width:100%;padding:0;font-size:.8rem;line-height:1.3;word-break:break-all}.public-booking-link-qr{width:min(16rem,100%);height:auto;aspect-ratio:1;flex:0 0 auto;border:1px solid #e2e8f0;border-radius:8px;background:#fff;padding:.35rem;object-fit:contain}.program-mgmt-detail-floating-qr{--public-booking-float-qr-size: min(14rem, 36%)}.program-mgmt-detail-floating-qr--with-share-qr{display:grid;grid-template-columns:minmax(0,1fr) var(--public-booking-float-qr-size);column-gap:1rem;align-items:stretch}.program-mgmt-detail-floating-qr-main{grid-column:1;min-width:0}.program-mgmt-detail-floating-qr-aside{grid-column:2;grid-row:1;align-self:stretch;container-type:size;display:grid;align-items:center;justify-items:end;min-height:0}.program-mgmt-detail-floating-qr-aside .public-booking-link-qr--float{display:block;width:min(100cqw,100cqh);height:auto;aspect-ratio:1;object-fit:contain;margin:0}.program-mgmt-detail-location-maps .program-location-section .address-map-preview:first-child{margin-top:0}.program-mgmt-detail-floating-qr .public-booking-link-section{margin:0}.program-mgmt-detail-floating-qr-main>section:first-child~.public-booking-link-section,.program-mgmt-detail-floating-qr-main>.public-booking-link-section+section,.program-mgmt-detail-floating-qr-main>section+section{margin-top:.9rem}@media (max-width: 40rem){.program-mgmt-detail-floating-qr--with-share-qr{display:block}.program-mgmt-detail-floating-qr-aside{margin-top:.75rem}.program-mgmt-detail-floating-qr-aside .public-booking-link-qr--float{display:block;width:min(12rem,100%);margin-inline-start:auto}}.program-mgmt-detail-list li+li{margin-top:.15rem}.program-mgmt-session-list,.expandable-session-list{margin-top:.5rem}.program-mgmt-session-toggle,.expandable-session-list-toggle{margin:.45rem 0 0;padding:0;border:none;background:none;color:#2563eb;font-size:.84rem;font-weight:500;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.program-mgmt-session-toggle:hover,.expandable-session-list-toggle:hover{color:#1d4ed8}.program-mgmt-session-toggle:focus-visible,.expandable-session-list-toggle:focus-visible{outline:2px solid #93b4d9;outline-offset:2px;border-radius:2px}.program-mgmt-card-actions{display:flex;flex-wrap:wrap;gap:.4rem}button.program-mgmt-delete{color:#b91c1c;border-color:#fecaca;background:#fef2f2}button.program-mgmt-delete:hover{background:#fee2e2}button.program-mgmt-delete.is-disabled,button.program-mgmt-delete:disabled{cursor:not-allowed;opacity:.5;color:#9ca3af;background:#f3f4f6;border-color:#e5e7eb}button.program-mgmt-delete.is-disabled:hover,button.program-mgmt-delete:disabled:hover{background:#f3f4f6}.program-mgmt-delete-tooltip{position:relative;display:inline-flex}.program-mgmt-delete-tooltip button[disabled]{pointer-events:none}.program-mgmt-delete-tooltip-bubble{position:absolute;bottom:calc(100% + .4rem);left:50%;z-index:30;box-sizing:border-box;width:max-content;max-width:18rem;padding:.45rem .6rem;border-radius:8px;background:#1c1917;color:#fafaf9;font-size:.78rem;font-weight:500;line-height:1.35;text-align:center;box-shadow:0 6px 16px #1c191733;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%) translateY(2px);transition:opacity .12s ease,transform .12s ease,visibility .12s}.program-mgmt-delete-tooltip:hover .program-mgmt-delete-tooltip-bubble,.program-mgmt-delete-tooltip:focus-within .program-mgmt-delete-tooltip-bubble{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.program-stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));gap:.65rem 1rem}.program-stat-label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;font-weight:600;margin-bottom:.15rem}.program-stat-grid strong{font-size:.95rem;color:#0f172a;font-weight:700}html.modal-scroll-lock,html.modal-scroll-lock body{overscroll-behavior:none}.program-form-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0f172a73;display:flex;align-items:flex-start;justify-content:center;padding:1.5rem 1rem;overflow:auto;scrollbar-gutter:stable;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;box-sizing:border-box}.program-form-backdrop:has(.program-form-modal--staff),.program-form-backdrop:has(.admin-row-edit-modal--scrollable){overflow:clip}.program-form-modal{width:100%;min-width:0;max-width:min(32rem,calc(100vw - 2rem));margin:2rem auto;z-index:201;box-shadow:0 20px 50px #0f172a33;box-sizing:border-box;overflow-x:hidden;overflow-y:auto;max-height:calc(100vh - 4rem);max-height:calc(100dvh - 4rem);overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.program-form-title{display:flex;align-items:baseline;justify-content:flex-start;flex-wrap:wrap;gap:.35rem .55rem;margin:0 0 .85rem;font-family:inherit;font-size:1.15rem;font-weight:700;line-height:1.3;color:#0f172a}.required-mark{color:#dc2626;font-weight:700;margin-left:.12em}.program-form-required-legend{margin:0;font-size:.78rem;font-weight:500;line-height:1.3;color:#64748b;white-space:nowrap}.program-form-required-legend .required-mark{margin-left:0;margin-right:.15em}.program-form-secondary-instructors .program-form-hint{margin-bottom:.35rem}.program-form-secondary-options{display:flex;flex-wrap:wrap;gap:.45rem .9rem}.program-form-secondary-option{display:inline-flex;align-items:center;gap:.4rem;font-weight:500}.program-form-hint{margin:0 0 1rem;font-size:.82rem;color:#64748b;line-height:1.4}.program-form-tile-image-row{display:flex;gap:1rem;align-items:flex-start;flex-wrap:wrap}.program-form-tile-image-preview{flex:0 0 7.5rem;width:7.5rem;aspect-ratio:3 / 2;border-radius:10px;overflow:hidden;border:1px solid #e2e8f0;background:#f1f5f9;display:flex;align-items:center;justify-content:center}.program-form-tile-image-preview img{width:100%;height:100%;object-fit:cover;display:block}.program-form-tile-image-controls{flex:1 1 12rem;min-width:12rem}.program-form-tile-image-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.program-form-section{margin:0 0 1rem;padding:.65rem .75rem;border:1px solid #e2e8f0;border-radius:10px;background:#fafafa}.program-form-section-title,.card h3.program-form-section-title{margin:0 0 .35rem;font-family:inherit;font-size:.95rem;font-weight:600;line-height:1.3;color:#0f172a}.program-form-subsection-title{margin:0;font-family:inherit;font-size:.8rem;font-weight:500;line-height:1.3;color:#475569}.program-form-modal.card .program-form-schedule-preview strong.program-form-subsection-title{display:inline-block;margin-top:0;font-size:.8rem;font-weight:500;color:#475569}.program-form-section-hint{margin:0 0 .65rem;font-size:.78rem;color:#64748b;line-height:1.4}.program-form-schedule-block{margin-top:1rem;padding:.85rem 1rem 1rem;border-radius:12px;border:1px solid #e2e8f0;background:#fff}.program-form-schedule-block--weekly{border-color:#93c5fd;background:#f0f9ff;box-shadow:inset 4px 0 #3b82f6}.program-form-schedule-block--custom{margin-top:1.25rem;border-color:#fbbf24;border-style:dashed;background:#fffbeb;box-shadow:inset 4px 0 #f59e0b}.program-form-schedule-block-head{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem}.program-form-schedule-block-kicker{margin:0;font-size:.78rem;line-height:1.45;color:#64748b}.program-form-schedule-block-dates{margin-bottom:.65rem;padding-bottom:.65rem;border-bottom:1px solid #f1f5f9}.program-form-schedule-dates-outside{margin-top:.35rem;padding-bottom:0;border-bottom:none}.program-form-weekly-slot-card-title{font-size:.85rem;font-weight:600;color:#0f172a}.program-form-weekly-slot-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.35rem}.program-form-schedule-block-body{display:flex;flex-direction:column;gap:.35rem}.program-form-schedule-block--custom .program-form-custom-session-row{padding:.55rem .6rem;border:1px solid #fde68a;border-radius:10px;background:#fff}.program-form-schedule-block--custom .program-form-custom-session-row input[type=date],.program-form-schedule-block--custom .program-form-custom-session-row input[type=time]{font:inherit;font-size:.85rem;padding:.35rem .45rem;border:1px solid #cbd5e1;border-radius:8px;background:#fff;min-width:7.5rem}.program-form-weekly-toolbar{margin:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}.program-form-weekly-slot-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.program-form-weekly-slot-row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.program-form-custom-session-feedback{margin:0;font-size:.88rem;line-height:1.35}.program-form-custom-session-feedback--success{color:#047857}.program-form-custom-session-feedback--error{color:#991b1b}.program-form-weekly-slot-row--grouped{flex-direction:column;align-items:stretch;gap:.45rem;padding:.55rem .6rem;border:1px solid #bfdbfe;border-radius:10px;background:#fff}.program-form-weekly-days{display:flex;flex-wrap:wrap;gap:.3rem}.program-form-weekly-days .chip{font-size:.78rem;padding:.28rem .55rem;min-width:2.45rem}.program-form-weekly-days .chip.active-chip{background:#0f172a;border-color:#0f172a;color:#fff}.program-form-weekly-slot-times{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.program-form-weekly-slot-row select,.program-form-weekly-slot-row input[type=time],.program-form-schedule-block--custom .program-form-custom-session-row input[type=date],.program-form-schedule-block--custom .program-form-custom-session-row input[type=time]{font:inherit;font-size:.85rem;padding:.35rem .45rem;border:1px solid #cbd5e1;border-radius:8px;background:#fff;min-width:7.5rem}.program-form-weekly-slot-sep{font-size:.8rem;color:#64748b}.program-form-schedule-preview{margin:.65rem 0 0;font-size:.8rem;color:#334155}.program-form-program-type-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;width:100%}.program-form-program-type-label{display:inline-flex;align-items:center;flex-shrink:0;font-family:inherit;font-size:.8rem;color:#475569;font-weight:500;line-height:1.3}.program-form-program-type-value{font-size:.85rem;font-weight:400;color:#334155}.program-form-program-type .program-form-syllabus-kind{margin-bottom:0}.program-form-hide-tuition-field{justify-content:flex-end}.program-form-hide-tuition-field .program-form-checkbox-label-with-help{display:flex;align-items:flex-start;gap:.35rem;width:100%;min-height:2.15rem;font-weight:inherit;color:inherit;cursor:pointer}.program-form-hide-tuition-field .program-form-checkbox-label-caption{display:inline;line-height:1.35;min-width:0}.program-form-hide-tuition-field .program-form-checkbox-label-caption .context-help{display:inline-flex;vertical-align:middle;margin-left:.15rem}.program-form-hide-tuition-field .program-form-checkbox-label-with-help input[type=checkbox]{margin-top:.15rem}.program-form-syllabus-kind{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.65rem}.program-form-radio:has(input:disabled){opacity:.55;cursor:not-allowed}.program-form-radio{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;color:#334155;cursor:pointer}.program-form-radio-option{display:inline-flex;align-items:center;gap:.1rem}.program-form-radio-option .context-help{margin-left:.1rem}.program-form-syllabus-item-list{list-style:none;margin:.45rem 0 0;padding:0;display:flex;flex-direction:column;gap:.4rem}.program-form-syllabus-item-list-nested{margin-top:.35rem;padding-left:1.5rem}.program-form-syllabus-topic-row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.program-form-syllabus-topic-field .program-form-syllabus-topic-row input:not([type=checkbox]):not([type=radio]){flex:1 1 12rem;width:auto;max-width:none;min-width:0}.program-form-syllabus-item-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;flex:0 0 auto}.program-form-syllabus-item-action-group{display:flex;flex-wrap:nowrap;align-items:center;gap:.2rem}.program-form-syllabus-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;padding:0;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#334155;cursor:pointer;flex:0 0 auto}.program-form-syllabus-icon-btn:hover:not(:disabled),.program-form-syllabus-icon-btn:focus-visible:not(:disabled){background:#f1f5f9;border-color:#94a3b8;outline:none}.program-form-syllabus-icon-btn:disabled{opacity:.38;cursor:not-allowed}.program-form-syllabus-icon-btn svg{width:1rem;height:1rem;display:block}.program-form-syllabus-icon-btn-danger:hover:not(:disabled),.program-form-syllabus-icon-btn-danger:focus-visible:not(:disabled){color:#b91c1c;border-color:#fca5a5;background:#fef2f2}[dir=rtl] .program-form-syllabus-icon-btn-logical{transform:scaleX(-1)}.program-form-individual-sharing{margin:0;padding:.55rem .65rem .45rem;border:1px solid #e2e8f0;border-radius:8px;min-width:0}.program-form-individual-sharing legend{padding:0 .2rem;font-size:.82rem;font-weight:600;color:#334155}.individual-program-assignment-panel{margin:0 0 1rem;padding:.75rem .85rem;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;display:flex;flex-direction:column;gap:.55rem}.individual-program-assignment-panel h3{margin:0;font-size:.95rem;font-weight:650}.individual-program-assignment-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.55rem}.individual-program-assignment-form .program-form-field{flex:1 1 16rem;margin:0}.individual-program-assignment-matches{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.individual-program-assignment-match-btn{width:100%;text-align:left;display:flex;justify-content:space-between;gap:.75rem;padding:.45rem .65rem;border:1px solid #e2e8f0;border-radius:.5rem;background:#fff;cursor:pointer}.individual-program-assignment-match-btn:hover{border-color:#2f6fed}.individual-program-assignment-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.individual-program-assignment-list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.45rem;padding:.4rem .5rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.individual-program-assignment-fulfillment-warning{margin:.5rem 0 0;padding:.55rem .65rem;border-radius:8px;border:1px solid #fcd34d;background:#fffbeb;color:#92400e;font-size:.88rem;line-height:1.45}.program-form-syllabus-item-card{padding:0;border:0;background:transparent;display:flex;flex-direction:column;gap:.35rem}.program-form-syllabus-sessions{margin:0;padding:0;border:0}.program-form-syllabus-sessions legend{font-family:inherit;font-size:.8rem;font-weight:500;line-height:1.3;color:#475569;margin-bottom:.35rem}.program-form-syllabus-sessions-empty{margin:0;font-size:.8rem;color:#64748b}.program-form-syllabus-session-checks{list-style:none;margin:0;padding:0;max-height:12rem;overflow:auto;display:flex;flex-direction:column;gap:.3rem;border:1px solid #e2e8f0;border-radius:8px;padding:.45rem .55rem;background:#f8fafc}.program-form-check{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:.45rem;font-size:.82rem;font-weight:400;color:#334155;cursor:pointer}.program-form-check input[type=checkbox]{width:auto;min-width:1rem;max-width:none;margin:0;padding:0;border:none;border-radius:0;flex-shrink:0}.program-form-check span{min-width:0;line-height:1.35}.program-detail-syllabus-general{margin-bottom:.9rem}.program-detail-syllabus-grid{list-style:none;margin:.35rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(15.5rem,1fr));gap:.65rem .85rem}.program-detail-syllabus-card{min-width:0;margin:0;padding:.55rem .7rem;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;line-height:1.4;color:#334155}.program-detail-syllabus-card .program-detail-syllabus-slot{margin:0 0 .3rem}.program-detail-syllabus-card .program-detail-syllabus-items{margin:0;padding-left:1.05rem}@media (max-width: 32rem){.program-detail-syllabus-grid{grid-template-columns:1fr}}.program-form-ai-disabled-note{margin:.5rem 0 0;font-size:.78rem;color:#64748b}.program-detail-syllabus-items{margin:.25rem 0 0;padding-left:1.1rem}.program-detail-syllabus-slot{color:#64748b;font-weight:500}.program-form-ai-assist{margin:0 0 .9rem;padding:.65rem .7rem;border:1px solid #dbeafe;background:#f8fbff;border-radius:10px}.program-form-ai-prompt{display:flex;flex-direction:column;gap:.35rem;font-size:.8rem;color:#334155;font-weight:600}.program-form-ai-prompt-row{display:block}.program-form-ai-prompt-row textarea{display:block;width:100%;box-sizing:border-box;flex:1 1 auto;min-width:0;font:inherit;font-size:.88rem;padding:.45rem .55rem;border:1px solid #bfdbfe;border-radius:8px;color:#0f172a;background:#fff;resize:vertical}.program-form-ai-syllabus-field{display:flex;flex-direction:column;gap:.35rem;margin-top:.65rem;font-size:.8rem;color:#334155;font-weight:600}.program-form-ai-syllabus-field textarea{width:100%;min-height:8rem;box-sizing:border-box;font:inherit;font-size:.86rem;font-weight:400;line-height:1.45;color:#0f172a;border:1px solid #cbd5e1;border-radius:8px;padding:.55rem .6rem;background:#fff;resize:vertical}.program-form-ai-prompt-row .chip{white-space:nowrap}.program-form-ai-generate-actions{margin-top:.5rem;display:flex;flex-wrap:wrap;gap:.45rem}.program-form-ai-error{margin:.5rem 0 0;color:#b91c1c;font-size:.8rem}.program-form-ai-output{display:flex;flex-direction:column;gap:.35rem;margin-top:.65rem;font-size:.8rem;color:#334155;font-weight:600}.program-form-ai-output textarea{width:100%;min-height:9.5rem;box-sizing:border-box;font:inherit;font-size:.86rem;font-weight:400;line-height:1.45;color:#0f172a;border:1px solid #cbd5e1;border-radius:8px;padding:.55rem .6rem;background:#fff;resize:vertical}.program-form-ai-actions{margin-top:.55rem;display:flex;justify-content:flex-start;flex-wrap:wrap;gap:.4rem}.program-syllabus-preview{display:block;margin-top:.35rem;color:#64748b}.program-syllabus-preview--muted{font-style:italic;opacity:.92}.program-mgmt-syllabus-block{margin-top:.35rem}.program-mgmt-syllabus-list{margin:.2rem 0 0;padding-left:1.15rem;font-family:inherit;font-size:.875rem;font-weight:400;color:#334155;line-height:1.45}.program-mgmt-syllabus-list li{margin:.12rem 0}.program-mgmt-syllabus-overview-text{margin:0;font-size:.82rem;color:#475569;line-height:1.4;white-space:pre-wrap;max-height:4.5rem;overflow-y:auto}.program-mgmt-syllabus-scroll{margin:0;font-size:.82rem;color:#475569;line-height:1.45;white-space:pre-wrap;max-height:10rem;overflow-y:auto;padding:.35rem .5rem;border-radius:8px;background:#f8fafc;border:1px solid #e2e8f0}.program-mgmt-syllabus-topic-items li{margin:.2rem 0 .28rem}.program-mgmt-syllabus-topic-items-nested{margin:.15rem 0 .05rem;padding-left:1.15rem}.program-mgmt-syllabus-topic-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .6rem}.program-mgmt-syllabus-session{font-family:inherit;font-size:.8rem;font-weight:500;color:#64748b}.program-mgmt-syllabus-topic-untitled{font-family:inherit;font-size:.875rem;font-weight:400;font-style:italic;color:#64748b}.card .program-mgmt-syllabus-topic-title,.program-mgmt-syllabus-topic-title{display:inline;margin:0;font-family:inherit;font-size:.875rem;font-weight:600;line-height:1.35;color:#0f172a}.program-mgmt-syllabus-empty{margin:.35rem 0 0;font-size:.875rem}.program-overview-sessions{margin-top:.5rem}.program-overview-sessions-pagination.list-pagination{margin-top:.35rem}.program-overview-session-list{margin:.5rem 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:1rem}.program-overview-session{padding:.75rem .85rem;border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc}.program-overview-session-when{margin:0 0 .65rem;font-size:.92rem;font-weight:600;color:#0f172a}.program-overview-session-columns{display:grid;grid-template-columns:minmax(0,1fr);gap:.85rem 1.25rem;align-items:start}@media (min-width: 48rem){.program-overview-session-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}}.program-overview-session-col{min-width:0}.program-overview-session-col .program-mgmt-card-summary,.program-overview-session-col .calendar-session-topic-list{margin:0}.program-overview-session-label{margin:0 0 .25rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:#64748b}.program-overview-session-untitled{font-style:italic}.program-detail-multiline{white-space:pre-wrap;line-height:1.45;color:#334155}.program-support-row{background:#f8fafc;color:#334155}.program-support-line{margin:.2rem 0}.program-form-error{margin:0 0 .75rem;padding:.6rem .75rem;border-radius:8px;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;font-size:.88rem;line-height:1.4}.program-form-error.upload-shrink-guidance p{margin:0}.program-form-error.upload-shrink-guidance p+p{margin-top:.45rem}.program-form-success{margin:0 0 .75rem;padding:.6rem .75rem;border-radius:8px;background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46;font-size:.88rem;line-height:1.4}.program-form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.75rem .9rem;min-width:0;width:100%;box-sizing:border-box}.program-form-grid--3col{grid-template-columns:repeat(3,minmax(0,1fr))}.program-form-grid--3col .program-form-field-span2,.program-form-grid--3col .program-form-field-span3,.program-form-grid--3col .program-form-field-full{grid-column:1 / -1}.program-form-grid--3col>.program-form-schedule-section,.program-form-grid--3col>.program-form-overview-legal-section,.program-form-grid--3col>.program-form-location-section{grid-column:1 / -1}.program-form-location-tab .program-form-field-full{grid-column:auto;width:100%}.program-form-location-tab .program-form-map-preview{margin-top:.15rem}.program-form-overview-legal-section,.program-form-location-section{display:flex;flex-direction:column;gap:.65rem}.program-form-class-sessions-panel{margin-top:.65rem}.class-sessions-grid{list-style:none;margin:.35rem 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem .9rem}.class-session-card{padding:.45rem .55rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-size:.8rem;color:#334155;min-width:0;line-height:1.35;word-break:break-word}.program-form-class-session-item{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}.program-form-class-session-item span{line-height:1.35;word-break:break-word}.program-form-class-session-feedback{font-weight:500;min-width:0}.program-form-class-session-feedback--success{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.program-form-class-session-feedback--error{color:#991b1b;background:#fef2f2;border-color:#fecaca}.program-form-class-sessions-panel .class-sessions-grid+.expandable-session-list-toggle{margin-top:.85rem}.program-detail-schedule-section .expandable-session-list{margin-top:.15rem}@media (max-width: 40rem){.program-form-grid--3col{grid-template-columns:repeat(2,minmax(0,1fr))}.program-form-grid--3col>.program-form-field-col-span-2{grid-column:1 / -1}.program-form-grid--3col .program-form-field-span2,.program-form-grid--3col .program-form-field-span3,.program-form-grid--3col .program-form-field-full{grid-column:1 / -1}.class-sessions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.program-form-field{display:flex;flex-direction:column;gap:.3rem;font-family:inherit;font-size:.8rem;color:#475569;font-weight:500;line-height:1.3;min-width:0}.program-form-field-span2{grid-column:span 2}.program-form-field-full,.program-form-field-span3{grid-column:1 / -1;width:100%;min-width:0}.program-form-field .rich-text-editor{width:100%;min-width:0;max-width:100%;box-sizing:border-box}.program-form-field input:not([type=checkbox]):not([type=radio]),.program-form-field select,.program-form-field textarea{width:100%;min-width:0;max-width:100%;box-sizing:border-box;font:inherit;font-size:.9rem;font-weight:400;padding:.5rem .55rem;border:1px solid #d1d5db;border-radius:8px;color:#0f172a}.program-form-field select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.program-form-field textarea{resize:vertical;min-height:4.5rem;overflow:auto}.castpo-autofill-decoy,.admin-autofill-decoy{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.guest-kiosk-exit-gate{position:relative}.admin-row-edit-modal--wide{max-width:min(44rem,calc(100vw - 2rem))}.admin-row-edit-modal--category-edit.admin-row-edit-modal--wide{max-width:min(56rem,calc(100vw - 2rem))}.admin-row-edit-modal--category-edit.admin-row-edit-modal--scrollable{max-width:min(62rem,calc(100vw - 2rem))}.admin-row-edit-modal--wide:not(.admin-row-edit-modal--scrollable) .admin-row-edit-modal-body{display:block}.admin-org-edit-checkboxes{display:flex;flex-direction:column;gap:.45rem;grid-column:1 / -1}.profile-settings-check-row{width:100%;align-items:flex-start}.profile-save-feedback{display:grid;gap:.5rem;margin-top:.65rem}.profile-save-feedback .program-form-error{margin:0}.profile-save-success{margin:0;color:#047857;font-size:.88rem;line-height:1.4;font-weight:600}.admin-row-edit-modal--scrollable{max-width:min(56rem,calc(100vw - 2rem));max-height:min(100%,calc(100vh - 3rem));max-height:min(100%,calc(100dvh - 3rem));min-height:0;margin-top:0;margin-bottom:0;display:flex;flex-direction:column;overflow:hidden}.admin-row-edit-modal-scrollable-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:.15rem}.admin-row-edit-modal-scrollable-actions{flex-shrink:0;justify-content:space-between;align-items:flex-end;gap:.75rem 1rem}.admin-row-edit-modal-scrollable-sync{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;min-width:0;flex:1 1 auto}.admin-row-edit-modal-scrollable-sync-notice{margin:0;max-width:28rem}.admin-row-edit-modal-primary-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;flex-shrink:0}.program-form-modal--wide{max-width:min(56rem,calc(100vw - 2rem))}.program-form-modal--staff{max-height:min(100%,calc(100vh - 3rem));max-height:min(100%,calc(100dvh - 3rem));min-height:0;margin-top:0;margin-bottom:0;display:flex;flex-direction:column;overflow:hidden}.program-form-modal-staff-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:.15rem}.program-form-tab-shell{display:flex;flex-direction:column;gap:.65rem;min-height:0}.program-form-tab-shell .program-form-tablist{flex-shrink:0;position:sticky;top:0;z-index:1;background:var(--card-bg, #fff);padding-bottom:.25rem}.program-form-tab-panel{min-height:0}.profile-tab-shell{display:flex;flex-direction:column;gap:.65rem;min-height:0}.profile-tab-shell .profile-tablist{flex-shrink:0}.profile-tab-panel{min-height:0}.profile-tab-columns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.profile-tab-column-stack{display:flex;flex-direction:column;gap:1rem;min-width:0}.profile-tab-columns-span-all{grid-column:1 / -1}.profile-tab-columns>:only-child{grid-column:1 / -1}.program-form-tab-panel>.program-form-grid{margin-top:0}.program-form-modal-staff-actions{flex-shrink:0;justify-content:space-between;align-items:flex-end;gap:.75rem 1rem}.admin-program-edit-schedule{grid-column:1 / -1;margin-top:.35rem}.admin-program-edit-schedule .program-form-section{margin:0}.program-form-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.5rem;margin-top:1.1rem;padding-top:.9rem;border-top:1px solid #e5e7eb}.announcements-portal{display:flex;flex-direction:column;gap:1rem}.parent-messages-portal{display:flex;flex-direction:column;gap:.65rem}.parent-linked-learner-row{align-items:center;flex-wrap:nowrap}.parent-linked-learner-identity{display:flex;flex-direction:row;align-items:center;gap:.5rem;min-width:0;flex:1 1 auto}.parent-linked-learner-identity strong{flex-shrink:0}.parent-linked-learner-identity small{color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.parent-linked-learner-row .payment-method-actions{flex-shrink:0}.parent-linked-learners-list{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width: 767px){.parent-linked-learners-list{grid-template-columns:1fr}}.parent-link-participant-panel{margin-top:1.15rem}.parent-link-participant-heading{margin:0 0 .65rem;font-size:1rem;font-weight:600;color:#0f172a}.parent-link-participant-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:1rem 1.35rem;align-items:end;padding:1rem 1.15rem;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.parent-link-participant-field{display:flex;flex-direction:column;gap:.4rem;min-width:0;margin:0}.parent-link-participant-field .login-label{margin:0;font-size:.88rem}.parent-link-participant-field input{width:100%;min-width:0}.parent-link-participant-submit{display:flex;align-items:flex-end;padding-bottom:1px}.parent-link-participant-submit .primary-btn{white-space:nowrap}@media (max-width: 767px){.parent-link-participant-row{grid-template-columns:1fr;align-items:stretch}.parent-link-participant-submit{padding-bottom:0}.parent-link-participant-submit .primary-btn{width:100%}}.educator-portal-messages-wrap{display:flex;flex-direction:column;gap:.65rem}.parent-announcements-institute-region{display:flex;flex-direction:column;gap:1rem;padding-bottom:1.35rem;margin-bottom:.15rem;border-bottom:1px solid #e2e8f0}.parent-announcements-program-region{display:flex;flex-direction:column;gap:.35rem;padding-top:.15rem}.parent-announcements-program-region .parent-child-tab-shell .parent-child-tabs--sheet{margin:0}.parent-announcements-program-region .parent-child-announcements-heading{margin:.2rem 0 .25rem}.announcements-scope-hint{max-width:52rem;margin-bottom:.75rem}.announcement-institute-block{margin-bottom:0}.announcement-program-block{margin:0 0 1.1rem;padding-bottom:.85rem;border-bottom:1px solid #e2e8f0}.announcement-program-block:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.announcement-meta{display:block;font-size:.78rem;color:#64748b;margin:.15rem 0 .35rem}.announcement-body-read{margin:0;color:#334155;font-size:.92rem;white-space:pre-wrap}.announcement-read-list{margin:0;padding-left:1.1rem;color:#334155;width:100%;max-width:none;box-sizing:border-box}.announcement-read-list strong{display:block;width:100%;max-width:none;font-weight:600}.announcement-read-list li{margin-bottom:.65rem;width:100%;max-width:none;min-width:0}.announcement-body-read.rich-text-html{display:block;width:100%;max-width:none;min-width:0;white-space:normal}.announcement-staff-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.35rem}.announcement-staff-actions .chip{font-weight:600;color:#0f172a}.announcement-staff-actions .announcement-delete-btn{border-color:#dc2626;color:#b91c1c}.message-program-heading-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}.message-program-heading-bar--actions-only{justify-content:flex-end}.message-program-heading-bar .chip{flex-shrink:0}.message-thread-cell{vertical-align:top}.messages-by-program td.message-thread-cell{padding-top:.2rem;padding-bottom:.2rem}.messages-by-program tr.message-thread-msg-row:not(.portal-row-is-new)>td.message-thread-cell{background-color:#fff}.messages-by-program tr.message-thread-msg-row.message-thread-msg-row--alt:not(.portal-row-is-new)>td.message-thread-cell{background-color:#f1f5f9}.message-thread-branch{padding-left:.45rem;border-left:2px solid #e2e8f0}.message-thread-line{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.35rem .75rem;justify-content:flex-start}.message-thread-line--compact{align-items:baseline;gap:.35rem .75rem}.message-thread-line--compact .message-thread-body{flex:1 1 auto;min-width:0}.message-thread-tail{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.45rem;flex:0 0 auto;margin-left:auto}.message-thread-inline-actions{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.25rem}.message-thread-inline-actions .chip{padding:.12rem .4rem;font-size:.78rem;line-height:1.25}.message-thread-line--edit{justify-content:flex-end;margin-bottom:.35rem}.message-thread-body{margin:0;white-space:pre-wrap;word-break:break-word}.message-thread-meta-inline{flex:0 0 auto;font-size:.82rem;color:#64748b;white-space:nowrap}.message-reply-badge{display:inline-block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#475569;margin-right:.45rem}.message-compose-panel{margin-top:.65rem;padding-top:.65rem;border-top:1px solid #e2e8f0}.message-compose-actions{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.announcement-manage-card{margin-top:.15rem}.announcement-manage-card h4{margin:0 0 .65rem;font-size:.95rem;color:#475569}.announcement-manage-form{display:flex;flex-direction:column;gap:.65rem;width:100%;max-width:none;min-width:0}.announcement-manage-form input[type=text],.announcement-manage-form .rich-text-editor{width:100%;min-width:0;max-width:100%;box-sizing:border-box}.announcement-manage-card,.announcement-institute-block{width:100%;min-width:0;box-sizing:border-box}.parent-child-announcements-heading{margin:0;font-size:var(--portal-title-sm);font-weight:600;line-height:1.3;color:#0f172a}.institute-announcements-lead{margin:.75rem 0 .25rem;font-size:.95rem;color:#475569}.announcements-subheading{margin:.25rem 0;font-size:1.1rem}.guest-kiosk-launch-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.5rem}.guest-kiosk-launch-checkout{background:#1e3a5f;border-color:#1e3a5f}.guest-kiosk-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:stretch;justify-content:center;padding:.75rem;box-sizing:border-box;background:#0f172a8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}.program-delete-backdrop{z-index:2500}.guest-kiosk-modal-dialog{width:min(72rem,100%);max-height:min(92vh,900px);max-height:min(92dvh,900px);overflow:auto;margin:auto;box-shadow:0 18px 48px #0f172a38;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.guest-kiosk-checkin-modal-backdrop{align-items:flex-start}.guest-kiosk-checkin-modal-backdrop .guest-kiosk-modal-dialog{margin:0 auto;max-height:min(calc(100vh - 1.5rem),900px)}.guest-kiosk-modal-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.65rem;margin-bottom:.75rem}.guest-kiosk-modal-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.4rem;flex-shrink:0}.guest-kiosk-modal-title{margin:0;font-size:1.25rem;color:#0f172a}.staff-internal-appointment-dialog{width:min(26rem,100%);max-height:min(88vh,640px);max-height:min(88dvh,640px);padding:1.15rem 1.25rem 1.25rem}.staff-internal-appointment-form{display:flex;flex-direction:column;gap:.85rem;margin-top:.35rem}.staff-internal-appointment-summary{margin:0;padding:.55rem .75rem;font-size:.9rem;font-weight:500;color:#0f172a;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px}.staff-internal-appointment-time-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;align-items:end}@media (max-width: 520px){.staff-internal-appointment-time-row{grid-template-columns:1fr}}.staff-internal-appointment-conflicts-panel{display:flex;flex-direction:column;gap:.75rem;margin-top:.35rem}.staff-internal-appointment-conflicts-lead{margin:0;color:#475569}.staff-internal-appointment-conflicts{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.5rem;max-height:min(40vh,280px);overflow:auto}.staff-internal-appointment-conflicts li{display:flex;flex-direction:column;gap:.15rem;padding:.55rem .65rem;font-size:.85rem;color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.staff-internal-appointment-conflicts li strong{color:#0f172a;font-weight:600}.staff-internal-appointment-actions{margin-top:.25rem;padding-top:.85rem;border-top:1px solid #e2e8f0}.staff-internal-appointment-actions .primary-btn{min-width:8.5rem;padding:.45rem 1rem;font-size:.9rem;border-radius:999px}.staff-internal-appointment-actions .chip{min-width:5.5rem;justify-content:center}.guest-roster-form-modal .payment-method-form{margin-bottom:0}.guest-roster-form-grid{display:grid;gap:.85rem}.guest-roster-form-section,.guest-roster-parent-fieldset{margin:0;padding:.75rem .85rem;border:1px solid #dbeafe;border-radius:.65rem;background:#f8fbff}.guest-roster-parent-legend{padding:0 .35rem;font-size:.92rem;font-weight:600;color:#1e3a5f}.guest-roster-add-parent-btn,.guest-roster-remove-parent-btn{justify-self:start}.guest-roster-second-parent-wrap{display:grid;gap:.5rem}.guest-roster-form-actions{display:flex;flex-wrap:wrap;gap:.5rem}.guest-roster-required-missing-cell{background-color:#fecaca}.guest-legal-doc-cell-missing{background-color:#ffedd5}.legal-agreement-fields{display:flex;flex-direction:column;gap:.75rem;margin:.35rem 0 .85rem}.legal-agreement-doc{border:1px solid #e2e8f0;border-radius:8px;padding:.75rem 1rem}.legal-agreement-body{font-family:inherit;font-size:.9rem;line-height:1.45;max-height:12rem;overflow:auto;background:#f8fafc;padding:.75rem;border-radius:6px}.legal-doc-pdf-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}.program-form-field-checkbox{display:block;margin:.35rem 0}.program-form-legal-docs .program-form-legal-status{margin:.15rem 0 0}.program-form-legal-attach-list{margin-top:.15rem}.program-form-legal-attach-list .program-form-field-checkbox{margin:.2rem 0}.program-form-legal-add{display:flex;flex-direction:column;gap:.45rem;margin-top:.55rem;padding-top:.55rem;border-top:1px solid #e2e8f0}.guest-roster-medical-concerns-col{width:5.25rem;min-width:5.25rem;max-width:5.25rem;white-space:normal;text-align:center;vertical-align:middle;line-height:1.25;padding-left:.5rem;padding-right:.75rem;box-sizing:border-box;overflow:hidden}thead .guest-roster-medical-concerns-col{vertical-align:bottom;padding-top:.55rem;padding-bottom:.55rem}.guest-roster-medical-concerns-header{display:block;font-size:.8em;font-weight:600;line-height:1.2;overflow-wrap:anywhere}.guest-roster-action-col{width:1%;white-space:nowrap;vertical-align:top}.guest-roster-action-stack{display:flex;flex-direction:column;gap:.35rem}.guest-roster-action-line{display:flex;flex-wrap:nowrap;gap:.35rem}.guest-roster-note-col{width:8.5rem;min-width:6.5rem;max-width:10rem;padding-left:.5rem;padding-right:.5rem;box-sizing:border-box;overflow-wrap:anywhere;line-height:1.25}.guest-roster-medical-concern-checkbox{justify-self:start;margin:0}.guest-legal-doc-modal-dialog{width:min(960px,calc(100vw - 1.5rem));height:min(85vh,900px);min-width:420px;min-height:320px;max-width:calc(100vw - 1.5rem);max-height:calc(100vh - 1.5rem);resize:both;overflow:hidden;display:flex;flex-direction:column}.guest-legal-doc-modal-dialog .guest-kiosk-modal-header{flex-shrink:0}.guest-legal-doc-modal-body{flex:1;min-height:0;display:flex}.guest-legal-doc-modal-body iframe{flex:1;width:100%;height:100%;border:none;display:block}.guest-name-tag-modal-dialog{width:min(360px,calc(100vw - 1.5rem))}.guest-name-tag-modal-preview{display:flex;justify-content:center;padding:.75rem;min-height:280px;max-height:min(70vh,520px);overflow:auto;border:1px solid #e2e8f0;border-radius:8px;background:#e2e8f0}.guest-name-tag-modal-preview iframe{width:240px;min-height:344px;height:344px;border:none;display:block;background:transparent}.guest-kiosk-exit{font-weight:600}.guest-kiosk-session-summary{display:block;margin:0 0 .65rem;font-weight:600;color:#0f172a}.guest-kiosk-session-field{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.65rem}.guest-kiosk-session-field select{max-width:100%}.guest-kiosk-hint{margin:.35rem 0 0}.guest-kiosk-progress{margin:.35rem 0 .65rem;font-size:.98rem;color:#334155}.guest-kiosk-progress-done{color:#15803d;font-weight:600}.guest-kiosk-alpha{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin:.5rem 0 .35rem}.guest-kiosk-name-search{flex:0 1 8rem;min-width:5.5rem;max-width:8rem;margin:0}.guest-kiosk-name-search-input{width:100%}.guest-kiosk-list-pagination.list-pagination{margin-top:.35rem;margin-bottom:.5rem;padding-bottom:0;border-bottom:none}.guest-kiosk-alpha-muted{opacity:.55}.guest-kiosk-list-hint{margin:.25rem 0 .5rem}.guest-kiosk-name-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem}.guest-kiosk-name-grid>.hint{grid-column:1 / -1}@media (max-width: 56rem){.guest-kiosk-name-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (max-width: 40rem){.guest-kiosk-name-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 32rem){.guest-kiosk-name-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.guest-kiosk-name-btn{width:100%;text-align:left;padding:.45rem .5rem;border-radius:8px;border:1px solid #bfdbfe;background:linear-gradient(180deg,#f8fafc,#eff6ff);color:#1e4e8c;font-weight:600;font-size:.86rem;cursor:pointer;line-height:1.25}.guest-kiosk-name-btn:hover:not(:disabled){border-color:#2563eb}.guest-kiosk-name-btn:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.guest-kiosk-name-btn--required-missing{background:#fecaca;border-color:#f87171;color:#7f1d1d}.guest-kiosk-name-btn--legal-doc-missing{background:#ffedd5;border-color:#fdba74;color:#78350f}.guest-kiosk-name-btn--legal-doc-missing:disabled{background:#ffedd5;border-color:#fdba74;color:#92400e;opacity:.85}.guest-kiosk-name-btn--attended{background:#dcfce7;border-color:#86efac;color:#14532d}.guest-kiosk-name-btn--attended:disabled{opacity:.92;cursor:not-allowed}.guest-kiosk-name-btn--segmented{position:relative;isolation:isolate;background:transparent;overflow:hidden}.guest-kiosk-name-btn-bg{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:row;z-index:0;pointer-events:none}.guest-kiosk-name-btn-segment{flex:1 1 0;min-width:0}.guest-kiosk-name-btn-segment--required-missing{background:#fecaca}.guest-kiosk-name-btn-segment--legal-doc-missing{background:#ffedd5}.guest-kiosk-name-btn-segment--status-default{background:linear-gradient(180deg,#f8fafc,#eff6ff)}.guest-kiosk-name-btn-segment--status-attended{background:#dcfce7}.guest-kiosk-name-btn-label{position:relative;z-index:1}.guest-kiosk-name-btn--segmented-accent-required-missing{border-color:#f87171;color:#7f1d1d}.guest-kiosk-name-btn--segmented-accent-legal-doc-missing{border-color:#fdba74;color:#78350f}.guest-kiosk-name-btn--segmented-accent-attended{border-color:#86efac;color:#14532d}.guest-kiosk-name-btn--segmented-accent-default{border-color:#bfdbfe;color:#1e4e8c}.guest-kiosk-name-btn--segmented:disabled{cursor:not-allowed;opacity:.92}.guest-kiosk-color-legend{display:flex;flex-wrap:nowrap;align-items:center;gap:.65rem 1.1rem;margin:0 0 .5rem;padding:0;list-style:none;font-size:.78rem;color:#475569;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.guest-kiosk-color-legend li{display:flex;flex:0 0 auto;align-items:center;gap:.35rem;min-width:0;line-height:1.25;white-space:nowrap}.guest-kiosk-legend-swatch{display:inline-block;width:.85rem;height:.85rem;border-radius:3px;border:1px solid rgba(15,23,42,.12);flex-shrink:0}.guest-kiosk-legend-swatch--default{background:linear-gradient(180deg,#f8fafc,#eff6ff);border:1px solid #bfdbfe}.guest-kiosk-legend-swatch--required{background:#fecaca}.guest-kiosk-legend-swatch--legal{background:#ffedd5}.guest-kiosk-legend-swatch--attended{background:#dcfce7}.guest-kiosk-pin-panel{margin-top:1rem;padding-top:.85rem;border-top:1px solid #e2e8f0}.guest-kiosk-pin-title{margin:0 0 .35rem;font-size:1.05rem;color:#0f172a}.guest-kiosk-pin-field{display:flex;flex-direction:column;gap:.25rem;margin-top:.5rem;max-width:12rem}.guest-kiosk-pin-field.guest-kiosk-password-field{max-width:22rem}.guest-kiosk-pin-field.guest-kiosk-password-field input{letter-spacing:normal;font-variant-numeric:normal;font-size:1rem}.guest-kiosk-pin-field input{font-size:1.15rem;letter-spacing:.15em;font-variant-numeric:tabular-nums}.guest-kiosk-pin-row{display:flex;align-items:flex-end;gap:.75rem}.guest-kiosk-pin-panel .program-form-error{background:none;border:none;padding:0;margin:0 0 .55rem;flex:1;min-width:0;color:#b91c1c;font-size:.9rem}.guest-kiosk-pin-actions{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin-top:.65rem}.calendar-session-closure-makeup-summary{margin-top:.5rem}.calendar-session-closure-makeup-summary .hint{margin:.15rem 0 0}.guest-attendance-kiosk-hint{margin:0 0 .75rem}.attendance-session-tabbar{width:100%}.guest-kiosk-session-status{margin:0 0 .75rem;padding:.55rem .65rem;border-radius:8px;background:#f8fafc;border:1px solid #e2e8f0}.guest-kiosk-session-status-row{display:grid;grid-template-columns:5.5rem 1fr;gap:.35rem .65rem;align-items:baseline;margin:0}.guest-kiosk-session-status-row+.guest-kiosk-session-status-row{margin-top:.35rem}.guest-kiosk-session-status-row dt{margin:0;font-size:.78rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.03em}.guest-kiosk-session-status-row dd{margin:0;font-size:.88rem;color:#0f172a}.context-help-tooltip p{margin:0 0 .5rem}.context-help-tooltip p:last-child{margin-bottom:0}.context-help-tooltip .processing-fee-help-lead{margin-top:.65rem;font-weight:600}.context-help-tooltip .processing-fee-help-list{margin:.35rem 0 0;padding-left:1.1rem;font-size:.84rem}.context-help-tooltip .processing-fee-help-list li{margin-bottom:.25rem}.context-help{position:relative;display:inline-flex;vertical-align:middle;margin-left:.35rem}.context-help-trigger{display:inline-flex;align-items:center;justify-content:center;width:1.15rem;height:1.15rem;padding:0;border:1px solid rgba(30,58,95,.35);border-radius:50%;background:#fffffff2;color:#1e3a5f;font-size:.72rem;font-weight:700;line-height:1;cursor:pointer}.context-help-trigger:hover,.context-help-trigger:focus-visible{background:#e8f1fb;border-color:#3b6ea8;outline:none}.context-help-tooltip{padding:.55rem .65rem;border-radius:8px;border:1px solid rgba(30,58,95,.2);background:#fff;color:#334155;font-size:.82rem;font-weight:400;line-height:1.45;text-align:left;box-shadow:0 8px 24px #0f172a24}.context-help-tooltip--floating{z-index:10050;max-height:min(70vh,22rem);overflow-y:auto;pointer-events:auto;-webkit-overflow-scrolling:touch}.section-title-with-help{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.15rem}.parent-child-tab-panel .parent-child-tab-shell{margin-top:0;margin-bottom:.65rem}.parent-child-tab-panel .parent-child-tab-shell:last-child{margin-bottom:0}.parent-child-tab-panel .guest-kiosk-launch{margin-bottom:.75rem;border-color:#e2e8f0;box-shadow:none}.attendance-history-sessions-pagination{margin-bottom:.65rem}.attendance-history-sessions{display:flex;flex-direction:column;gap:.4rem}.attendance-history-session{border:1px solid #e2e8f0;border-radius:8px;background:#fff;overflow:hidden}.attendance-history-session-summary{display:flex;align-items:center;gap:.45rem;justify-content:space-between;padding:.55rem .75rem;cursor:pointer;font-weight:600;font-size:.88rem;color:#334155;background:#f8fafc;list-style:none}.attendance-history-session-summary::-webkit-details-marker{display:none}.attendance-history-session-summary:before{content:"▸";flex:0 0 auto;color:#64748b;font-size:.82rem;line-height:1;transition:transform .12s ease}.attendance-history-session[open]>.attendance-history-session-summary:before{transform:rotate(90deg)}.attendance-history-session-summary:hover{background:#f1f5f9}.attendance-history-session-summary-main{display:flex;align-items:center;gap:.45rem;min-width:0}.attendance-history-session-summary-count{flex:0 0 auto;font-weight:600;font-size:.82rem;color:#2563eb}.attendance-history-session-panel{margin-bottom:0;padding:.5rem .65rem .65rem;border-top:1px solid #e2e8f0}.guest-attendance-session-header-inner{display:flex;flex-wrap:wrap;gap:.5rem .75rem;align-items:center;justify-content:space-between}.guest-attendance-print-medical-concerns-btn{margin-left:auto}.guest-attendance-check-col{width:4.5rem;min-width:4.5rem;max-width:4.5rem;box-sizing:border-box;text-align:center;vertical-align:middle;line-height:1.25;padding-left:.35rem;padding-right:.35rem}.guest-attendance-check-col--attended{background-color:#dcfce7}.guest-attendance-check-col--absent{background-color:#fef3c7}.guest-attendance-check-col--pending{background:linear-gradient(180deg,#f8fafc,#eff6ff)}.guest-attendance-check-col .guest-attendance-time-header-line{display:inline-block}.guest-attendance-check-flag{display:block;font-weight:600;color:#1e3a5f;white-space:nowrap}.guest-attendance-status-badge{display:inline-block;font-weight:800;font-size:.8rem;line-height:1.2;border-radius:8px;padding:.2rem .5rem;min-width:4.5rem;text-align:center;box-sizing:border-box}.guest-attendance-status-badge--present{color:#047857;background:transparent}.guest-attendance-status-badge--absent{color:#b45309;background:transparent}.guest-attendance-check-col.guest-attendance-check-col--markable{width:13.5rem;min-width:13.5rem;max-width:13.5rem}.guest-attendance-mark-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.35rem}.guest-attendance-mark-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #cbd5e1;background:#fff;border-radius:8px;padding:.28rem .55rem;min-height:2rem;font-size:.75rem;font-weight:650;color:#1e293b;cursor:pointer;line-height:1.2}.guest-attendance-mark-btn:disabled{opacity:.6;cursor:default}.guest-attendance-mark-btn--present[aria-pressed=true]{border-color:#047857;color:#047857;background:#fff}.guest-attendance-mark-btn--absent[aria-pressed=true]{border-color:#b45309;color:#b45309;background:#fff}.guest-attendance-check-time{display:block;font-size:.8rem;font-weight:500;color:#475569;white-space:nowrap}.guest-attendance-time-header{display:inline-flex;flex-direction:column;align-items:center;line-height:1.2}.guest-attendance-time-header-line{white-space:nowrap}.guest-enrollment-name-col{width:8rem;min-width:8rem;max-width:8rem;box-sizing:border-box;overflow-wrap:anywhere;line-height:1.25;padding-left:.4rem;padding-right:.4rem}.guest-enrollment-phone-col{width:7.5rem;min-width:7.5rem;max-width:7.5rem;box-sizing:border-box;line-height:1.25;white-space:normal;vertical-align:top;padding-left:.35rem;padding-right:.35rem}.guest-enrollment-email-col{width:10rem;min-width:8rem;max-width:12rem;box-sizing:border-box;line-height:1.25;white-space:normal;vertical-align:top;overflow-wrap:anywhere;padding-left:.35rem;padding-right:.35rem}.guest-enrollment-phone-lines{display:flex;flex-direction:column;gap:.2rem}.guest-enrollment-phone-line{display:block;white-space:nowrap}.enrollment-by-program.table-wrap{max-width:100%;min-width:0;-webkit-overflow-scrolling:touch}table.guest-enrollment-roster-table{width:max-content;min-width:100%}table.guest-enrollment-roster-table .guest-roster-action-col{width:auto;min-width:10.5rem}.guest-enrollment-participant-link{display:inline;margin:0;padding:0;border:none;background:transparent;font:inherit;font-weight:inherit;color:#1d4ed8;text-align:inherit;cursor:pointer;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:.12em}.guest-enrollment-participant-link:hover{color:#1e40af}.guest-enrollment-view-modal{width:min(640px,calc(100vw - 1.5rem));max-height:min(85vh,900px);overflow-y:auto}.guest-enrollment-view-details{display:grid;grid-template-columns:minmax(7rem,9rem) minmax(0,1fr);gap:.35rem .75rem;margin:0}.guest-enrollment-view-detail{display:contents}.guest-enrollment-view-label{margin:0;font-size:.85rem;font-weight:600;color:#64748b}.guest-enrollment-view-value{margin:0;font-size:.92rem;color:#0f172a;overflow-wrap:anywhere}.guest-enrollment-view-guardians{display:grid;gap:.75rem;margin-top:.85rem}.guest-enrollment-view-guardian{margin:0;padding:.75rem .85rem;border:1px solid #dbeafe;border-radius:.65rem;background:#f8fbff}.guest-enrollment-view-guardian-title{margin:0 0 .5rem;font-size:.92rem;font-weight:600;color:#1e3a5f}table.guest-enrollment-roster-table th:not([class]),table.guest-enrollment-roster-table td:not([class]){min-width:4.5rem;white-space:nowrap}table.guest-enrollment-roster-table .guest-enrollment-name-col,table.guest-enrollment-roster-table .guest-enrollment-phone-col,table.guest-enrollment-roster-table .guest-enrollment-email-col,table.guest-enrollment-roster-table .guest-roster-note-col{white-space:normal}table.guest-enrollment-roster-table .guest-enrollment-legal-doc-col{min-width:7.5rem;white-space:normal}table.guest-attendance-roster-table{table-layout:fixed}.attendance-participation-grid-wrap{overflow-x:auto;max-width:100%}table.attendance-participation-grid-table{table-layout:fixed;min-width:max-content}table.attendance-participation-grid-table col.attendance-participation-session-col{width:3.5rem}table.attendance-participation-grid-table th.attendance-participation-sticky-col,table.attendance-participation-grid-table td.attendance-participation-sticky-col{position:sticky;left:0;z-index:1;background:#fff;width:8rem;min-width:8rem;max-width:10rem;white-space:normal;vertical-align:middle}table.attendance-participation-grid-table th.attendance-participation-session-cell,table.attendance-participation-grid-table td.attendance-participation-session-cell{width:3.5rem;min-width:3.5rem;max-width:3.5rem;text-align:center;vertical-align:middle;padding:.35rem .2rem;box-sizing:border-box}table.attendance-participation-grid-table .attendance-participation-session-col{display:block;margin:0 auto;white-space:normal;font-size:.78rem;line-height:1.2;font-weight:600}.attendance-participation-mark{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:1.25rem}.attendance-participation-mark--present{color:#15803d;font-size:1.15rem;font-weight:700;line-height:1}.attendance-participation-mark--absent{color:#94a3b8;font-size:1rem;font-weight:400;line-height:1}.guest-attendance-participant-col{width:5.5rem;min-width:5.5rem;max-width:5.5rem;box-sizing:border-box;overflow-wrap:anywhere;line-height:1.25;padding-left:.4rem;padding-right:.4rem}.guest-attendance-roster-row--combined-sibling{background:color-mix(in srgb,var(--muted-surface, #f1f5f9) 72%,transparent)}.guest-attendance-roster-row--combined-sibling .guest-attendance-participant-col{color:var(--text-muted, #64748b)}.guest-attendance-combined-program-label{display:block;margin-top:.15rem;font-size:.78rem;font-weight:500;color:var(--text-muted, #64748b);line-height:1.2}.guest-attendance-roster-slice-header td{padding:.55rem .4rem .35rem;font-size:.72rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted, #64748b);background:color-mix(in srgb,var(--muted-surface, #f1f5f9) 55%,transparent);border-bottom:1px solid var(--border-subtle, #e2e8f0)}.guest-attendance-roster-slice-header--primary td{padding:.65rem .4rem .5rem;font-size:inherit;font-weight:inherit;letter-spacing:normal;text-transform:none;color:inherit;background:transparent;border-bottom:1px solid var(--border-subtle, #e2e8f0)}.guest-attendance-parent-col{width:5.5rem;min-width:5.5rem;max-width:5.5rem;box-sizing:border-box;overflow-wrap:anywhere;line-height:1.25;padding-left:.4rem;padding-right:.4rem}.guest-attendance-phone-col{width:5rem;min-width:5rem;max-width:5rem;box-sizing:border-box;overflow-wrap:anywhere;line-height:1.25;padding-left:.4rem;padding-right:.4rem}.guest-attendance-grade-col{width:2.5rem;min-width:2.5rem;max-width:2.5rem;box-sizing:border-box;text-align:center;white-space:nowrap;padding-left:.35rem;padding-right:.35rem}.guest-attendance-email-col{width:5rem;min-width:5rem;max-width:5rem;box-sizing:border-box;overflow-wrap:anywhere;line-height:1.25;padding-left:.4rem;padding-right:.4rem}.guest-attendance-legal-doc-col{width:2.5rem;min-width:2.5rem;max-width:2.5rem;box-sizing:border-box;text-align:center;vertical-align:middle;line-height:1.2;font-size:.8rem;white-space:nowrap;overflow:hidden;padding:.35rem .15rem}.guest-attendance-legal-doc-header{display:block;font-size:.75rem;line-height:1.15;font-weight:600;color:inherit}.guest-attendance-inline-edit-trigger{display:block;width:100%;margin:0;padding:0;border:none;background:transparent;text-align:inherit;font:inherit;color:inherit;cursor:pointer;overflow-wrap:anywhere}.guest-attendance-inline-edit-trigger:hover:not(:disabled){text-decoration:underline}.guest-attendance-inline-edit-trigger:disabled{cursor:default}.guest-attendance-inline-input{width:100%;max-width:100%;box-sizing:border-box;font:inherit;font-size:.85rem;padding:.1rem .15rem}.guest-attendance-grade-col .guest-attendance-inline-input{padding:.05rem 0}.guest-attendance-inline-edit-error{display:block;margin-top:.2rem;font-size:.7rem;line-height:1.2;color:#b91c1c;overflow-wrap:anywhere}.list-pagination{display:flex;flex-wrap:wrap;gap:.65rem 1rem;align-items:center;justify-content:flex-start;margin-bottom:.75rem;padding-bottom:.65rem;border-bottom:1px solid rgba(15,23,42,.08)}.list-pagination-search{flex:1 1 12rem;min-width:10rem;max-width:18rem;margin:0}.list-pagination-search-input{width:100%;min-height:2.1rem}.list-pagination-controls{display:flex;flex-wrap:wrap;gap:.65rem 1rem;align-items:center;margin-left:auto}.list-pagination-range{color:#4b5563;font-size:.9rem}.list-pagination-size{display:inline-flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:.45rem;font-size:.9rem;color:#374151;white-space:nowrap}.list-pagination-size-label{flex-shrink:0}.list-pagination-size select{min-width:4.5rem;flex-shrink:0}.list-pagination-nav{display:inline-flex;align-items:center;gap:.5rem}.list-pagination-trailing{display:inline-flex;align-items:center;flex-shrink:0}.list-pagination-page{font-size:.9rem;color:#374151;min-width:6.5rem;text-align:center}.public-grid .list-pagination{grid-column:1 / -1}.enrollment-roster-toolbar-block{margin-bottom:.75rem;padding-bottom:.65rem;border-bottom:1px solid rgba(15,23,42,.08)}.enrollment-roster-initial-index{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin:0 0 .55rem}.enrollment-roster-initial-muted{opacity:.55}.enrollment-roster-toolbar{display:flex;align-items:center;gap:.75rem 1rem;margin-bottom:0;padding-bottom:0;border-bottom:none}.enrollment-roster-toolbar .enrollment-roster-pagination{flex:1 1 auto;min-width:0;margin-bottom:0;padding-bottom:0;border-bottom:none}.enrollment-roster-toolbar .enrollment-roster-pagination .list-pagination-search{flex:0 0 auto;width:14rem;max-width:18rem}.enrollment-roster-toolbar .enrollment-roster-pagination .list-pagination-controls{flex:0 1 auto;justify-content:flex-end;margin-left:auto}.org-open-roster-section .org-open-roster-initials{display:flex;flex-wrap:wrap;gap:.35rem;margin:0 0 .55rem}.org-open-roster-section .org-open-roster-pagination.list-pagination{flex-wrap:nowrap;align-items:center;width:100%;margin-bottom:.75rem}.org-open-roster-section .org-open-roster-pagination .list-pagination-search{flex:0 0 auto;width:14rem;max-width:18rem}.org-open-roster-section .org-open-roster-pagination .list-pagination-controls{flex:0 1 auto;justify-content:flex-end;margin-left:auto}.org-open-roster-table-wrap{overflow-x:auto}table.guest-enrollment-roster-table.org-open-roster-table{width:100%;min-width:42rem;table-layout:fixed}table.org-open-roster-table th,table.org-open-roster-table td{vertical-align:top;box-sizing:border-box}table.org-open-roster-table .org-open-roster-name-col{width:30%;white-space:normal;overflow-wrap:break-word}table.org-open-roster-table .org-open-roster-code-col{width:9rem;white-space:nowrap;font-variant-numeric:tabular-nums}table.org-open-roster-table .org-open-roster-phone-col{width:13rem;min-width:0;max-width:none;white-space:normal;line-height:1.25}table.org-open-roster-table .org-open-roster-email-col{min-width:0;max-width:none;white-space:normal;line-height:1.25;overflow-wrap:anywhere}.guest-roster-participant-matches{list-style:none;margin:.35rem 0 .75rem;padding:0;display:grid;gap:.35rem}.guest-roster-participant-match-btn{width:100%;text-align:left;display:flex;justify-content:space-between;gap:.75rem;padding:.45rem .65rem;border:1px solid var(--border, #d6dbe3);border-radius:.5rem;background:var(--surface-muted, #f7f8fa);cursor:pointer}.guest-roster-participant-match-btn:hover{border-color:var(--accent, #2f6fed)}.guest-roster-participant-match-btn>span:first-child{display:flex;flex-direction:column;gap:.15rem}.guest-enrollment-toolbar{flex:0 0 auto;margin:0}.billing-invoices-panel{margin-bottom:1rem}.cart-totals-block,.billing-invoice-summary-block{display:grid;gap:.35rem;margin:.75rem 0 1rem}.cart-discount-breakdown{list-style:none;padding:0;margin:0;display:grid;gap:.2rem}.cart-discount-line{color:#374151}.cart-pass-through-fees{display:grid;gap:.2rem;margin:0}.cart-pass-through-line,.cart-totals{margin:0}.cart-coupon-form{display:grid;gap:.65rem;margin:.75rem 0 1rem}.cart-coupon-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .65rem}.cart-coupon-label{margin:0;white-space:nowrap}.cart-coupon-row input{flex:1 1 10rem;min-width:0;max-width:18rem}.cart-coupon-messages{display:grid;gap:.45rem;width:100%}.cart-coupon-inactive{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;color:var(--muted-text, #5c5c5c)}.cart-coupon-actions{display:flex;flex-wrap:wrap;gap:.5rem}.cart-coupon-feedback{margin:0}.cart-coupon-feedback-error{color:#991b1b}.cart-coupon-applied{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.cart-coupon-exclusive{margin:.75rem 0 1rem}.commerce-cart-item-schedule,.commerce-cart-item-session{margin-top:.35rem}.commerce-cart-table .cart-item-participant-name{min-width:0}.commerce-cart-table .cart-item-only-mobile{display:none}.commerce-cart-table .cart-item-mobile-footer{min-width:0}.family-checkout-pay-btn{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border:1px solid transparent;border-radius:8px;padding:.45rem .75rem;font-size:.9rem;font-weight:600;line-height:1.2;white-space:nowrap;cursor:pointer}.family-checkout-pay-btn--primary{border-color:#2563eb;background:#2563eb;color:#fff}.family-checkout-pay-btn--primary:hover{border-color:#1d4ed8;background:#1d4ed8}.family-checkout-pay-btn--secondary{border-color:#64748b;background:#64748b;color:#fff}.family-checkout-pay-btn--secondary:hover{border-color:#475569;background:#475569}.family-checkout-pay-btn:disabled,.family-checkout-pay-btn:disabled:hover{cursor:not-allowed;opacity:.55}.billing-invoice-lines th .section-title-with-help{color:inherit;font-size:inherit;font-weight:inherit}.payment-method-fee-table td.is-cheaper,.payment-method-fee-table td.is-faster{color:#047857;font-weight:600}.payment-method-fee-table td.is-costlier,.payment-method-fee-table td.is-slower{color:#b45309;font-weight:600}.payments-records-panel .payments-records-search{margin-bottom:.75rem}.payments-records-category-tabs{margin-top:.35rem}.payments-records-category-tablist{width:100%}.payments-records-panel.parent-messages-portal{gap:.35rem}.payments-records-panel.parent-messages-portal .payments-records-search{margin-bottom:0}.payments-records-panel .payments-records-section-title{margin:1.25rem 0 .5rem;font-size:1rem;font-weight:700}.payments-records-panel .payments-records-section-title:first-of-type{margin-top:.75rem}.payments-records-panel.parent-messages-portal .payments-records-section-title:first-of-type{margin-top:0}.payments-records-panel .billing-invoice-lines-meta{margin-top:.5rem}.billing-invoice-list{list-style:none;padding:0;margin:0;display:grid;gap:1rem}.billing-invoice-item{border:1px solid #e5e7eb;border-radius:8px;padding:.75rem;display:grid;gap:.65rem}.billing-invoice-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;flex-wrap:wrap}.billing-invoice-total{font-weight:600}.billing-invoice-lines table{font-size:.9rem}.billing-invoice-summary{margin:0}.auto-pay-settings-panel{margin-bottom:1rem}.auto-pay-settings-panel h3{margin-bottom:.75rem}.auto-pay-settings-panel .staff-castpo-auto-pay-toggle{margin-top:.15rem}.auto-pay-settings-panel .auto-pay-status-line{margin-top:.65rem}.staff-castpo-auto-pay-panel{margin-bottom:1rem}.staff-castpo-auto-pay-panel h3{margin-bottom:.5rem}.staff-castpo-auto-pay-panel .chip{margin-top:.5rem}.staff-castpo-auto-pay-toggle{display:flex;flex-direction:row;align-items:center;gap:.5rem;margin:0;font-weight:500}.staff-castpo-auto-pay-toggle input{flex-shrink:0;margin:0;cursor:pointer}.staff-castpo-auto-pay-toggle span{cursor:default;-webkit-user-select:text;user-select:text}.auto-pay-toggle{display:flex;align-items:center;gap:.5rem;margin:.75rem 0;font-weight:500}@media (max-width: 720px){.default-payment-method-row{flex-wrap:wrap}}.staff-billing-panel{margin-bottom:1rem}.staff-billing-panel .billing-top-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.25rem 1.5rem;align-items:start;margin-bottom:1rem}.staff-billing-panel .billing-monthly-column,.staff-billing-panel .billing-secondary-column{min-width:0}.staff-billing-panel .billing-monthly-column{display:flex;flex-direction:column;gap:1rem}.staff-billing-panel .billing-column-title{margin:0;font-size:1rem;line-height:1.35}.staff-billing-panel .billing-secondary-column{display:flex;flex-direction:column;gap:1.25rem;border-left:1px solid #e2e8f0;padding-left:1.5rem}.staff-billing-panel .billing-secondary-column .billing-session-closure-default{margin-top:0;padding-top:0;border-top:0}.staff-billing-panel .billing-secondary-column .billing-session-closure-default+.billing-fee-titles-row{padding-top:1.25rem;border-top:1px solid #e2e8f0}@media (max-width: 960px){.staff-billing-panel .billing-top-columns{grid-template-columns:1fr}.staff-billing-panel .billing-secondary-column{border-left:0;padding-left:0;padding-top:1rem;border-top:1px solid #e2e8f0}.staff-billing-panel .billing-secondary-column .billing-session-closure-default+.billing-fee-titles-row{padding-top:1rem}}.billing-schedule-form,.billing-manual-run,.billing-session-closure-default{margin-bottom:0}.billing-session-closure-default{margin-top:1.25rem;padding-top:1rem;border-top:1px solid #e2e8f0}.staff-billing-panel .billing-section-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.65rem 1rem}.staff-billing-panel .billing-section-title{margin:0;flex:0 0 auto;font-size:1rem;line-height:1.35;white-space:nowrap}.staff-billing-panel .billing-section-row .billing-inline-actions{margin-top:0;flex:1 1 auto;min-width:min(100%,20rem)}.staff-billing-panel .billing-section-note{margin:.5rem 0 0}.staff-billing-panel .billing-inline-actions{display:flex;flex-wrap:nowrap;align-items:flex-end;gap:.65rem;margin-top:.75rem}.staff-billing-panel .billing-schedule-actions{margin-top:0}.staff-billing-panel .billing-schedule-toggle{margin:0;flex:0 0 auto;white-space:nowrap;align-self:flex-end;padding-bottom:.45rem}.staff-billing-panel .billing-inline-actions label{flex:0 1 auto;min-width:0;gap:.3rem;font-size:.85rem}.staff-billing-panel .billing-inline-actions label input,.staff-billing-panel .billing-inline-actions label select{padding:.4rem .5rem;font-size:.875rem}.staff-billing-panel .billing-schedule-actions label:nth-child(2) input,.staff-billing-panel .billing-schedule-actions label:nth-child(3) input{width:4.25rem}.staff-billing-panel .billing-schedule-actions label:nth-child(4) select{min-width:10.5rem;max-width:12rem}.staff-billing-panel .billing-inline-actions .chip,.staff-billing-panel .billing-inline-actions .primary-btn{flex-shrink:0;margin-bottom:0;padding:.45rem .75rem;font-size:.875rem;white-space:nowrap}.staff-billing-panel .billing-manual-run-actions label input{min-width:9.5rem}.staff-billing-panel .billing-fee-titles-row{flex-direction:column;align-items:stretch;gap:.5rem}.staff-billing-panel .billing-fee-titles-row .billing-section-title{white-space:normal}.staff-billing-panel .billing-fee-titles-editor{display:grid;gap:.65rem;width:100%;max-width:none}.staff-billing-panel .billing-fee-titles-label{display:grid;gap:.35rem;width:100%}.staff-billing-panel .billing-fee-titles-label textarea{width:100%;max-width:100%;min-width:min(100%,20rem);min-height:6.5rem;box-sizing:border-box;resize:both}.staff-ad-hoc-invoice-form .staff-ad-hoc-form-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.25rem 1.5rem;align-items:start}.staff-ad-hoc-form-fields-column{display:flex;flex-direction:column;gap:.75rem;min-width:0}.staff-ad-hoc-form-fields-column label{min-width:0}.staff-ad-hoc-form-fields-column label select,.staff-ad-hoc-form-fields-column label input{width:100%;min-width:0;box-sizing:border-box;font:inherit;font-size:.9rem;font-weight:400;padding:.5rem .55rem;border:1px solid #d1d5db;border-radius:8px;color:#0f172a}.staff-ad-hoc-form-fields-column label select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.staff-ad-hoc-field-label-row{display:inline-flex;align-items:center;gap:.35rem;font-weight:600;margin-bottom:.25rem}.staff-ad-hoc-learner-picker{border:1px solid var(--border, #d1d5db);border-radius:.5rem;padding:.65rem .75rem;margin:0;min-width:0;min-height:100%;box-sizing:border-box}@media (max-width: 960px){.staff-ad-hoc-invoice-form .staff-ad-hoc-form-columns{grid-template-columns:1fr}}.staff-ad-hoc-learner-picker legend{padding:0 .25rem;font-weight:600}.staff-ad-hoc-learner-list{list-style:none;margin:.35rem 0 0;padding:0;display:grid;gap:.35rem}.staff-ad-hoc-learner-option{display:flex;flex-direction:row;align-items:center;gap:.45rem;margin:0;width:auto;font-weight:400;cursor:pointer}.staff-ad-hoc-learner-option input[type=checkbox]{margin:0;flex:0 0 auto}.staff-ad-hoc-select-all{margin-bottom:.15rem}.omnibar{position:fixed;z-index:12000;pointer-events:auto;box-sizing:border-box;font-family:inherit}.omnibar-expanded{display:flex;flex-direction:column;align-items:stretch;gap:.35rem;width:min(32rem,calc(100vw - 2rem));padding:.5rem .75rem .55rem;overflow:hidden;border:1px solid rgba(167,139,250,.28);border-radius:16px;background:linear-gradient(135deg,#0f172a,#1e1b4b 62%,#134e4a 160%);box-shadow:0 8px 24px #0f172a2e;cursor:grab;touch-action:none}.omnibar-expanded.omnibar-overlay-docked{flex-direction:row;flex-wrap:wrap;align-items:center;gap:.45rem .65rem;right:auto;bottom:auto;max-width:none;padding:.5rem 1.5rem;overflow:hidden;border-radius:0;border-left:0;border-right:0;border-top:0;border-bottom:1px solid rgba(167,139,250,.28);box-shadow:0 8px 24px #0f172a2e;cursor:default;touch-action:auto}.omnibar-expanded.omnibar-overlay-docked .omnibar-inline-form{flex:1 1 14rem}body:has(.omnibar-overlay-docked) .portal-top-chrome{visibility:hidden}body:has(.omnibar-overlay-docked) .program-form-backdrop,body:has(.omnibar-overlay-docked) .guest-kiosk-modal-backdrop,body:has(.omnibar-overlay-docked) .staff-payments-modal-backdrop,body:has(.omnibar-overlay-docked) .credential-image-modal-backdrop{padding-top:max(.75rem,calc(var(--omnibar-overlay-inset, 0px) + .35rem))}.omnibar-expanded .omnibar-inline-form{flex:1 1 auto;width:100%}.omnibar-expanded .omnibar-inline-status{flex:0 0 auto}.omnibar-pill{width:auto}.omnibar-dragging{-webkit-user-select:none;user-select:none}.omnibar-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem .7rem .6rem;background:linear-gradient(135deg,#0f172a,#1e1b4b 58%,#134e4a 160%);cursor:grab;touch-action:none}.omnibar-expanded.omnibar-dragging,.omnibar-pill.omnibar-dragging{cursor:grabbing}.omnibar-title{display:inline-flex;align-items:center;gap:.45rem;min-width:0;font-size:.88rem;font-weight:800;color:#f8fafc}.omnibar-product{font-size:.88rem;font-weight:800;letter-spacing:.01em;color:#fff}.omnibar-ai-badge{flex:0 0 auto;padding:.12rem .5rem;border-radius:999px;background:linear-gradient(135deg,#fde68a,#f59e0b);color:#1e1b4b;font-size:.72rem;font-weight:800;letter-spacing:.04em;line-height:1.35;white-space:nowrap}.omnibar-mark{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:1.95rem;height:1.95rem;border-radius:50%;color:#fbbf24;background:linear-gradient(135deg,#2563eb,#7c3aed 55%,#16a34a);box-shadow:0 0 0 1.5px #fde68a8c,0 4px 12px #7c3aed73}.omnibar-mark-sm{width:1.2rem;height:1.2rem;box-shadow:0 0 0 1px #fde68a73}.omnibar-spark{width:58%;height:58%;display:block;filter:drop-shadow(0 1px 1px rgba(15,23,42,.45))}.omnibar-mark-busy{animation:omnibar-mark-pulse 1.4s ease-in-out infinite}@keyframes omnibar-mark-pulse{0%,to{box-shadow:0 0 0 1.5px #ffffff61,0 4px 12px #7c3aed73}50%{box-shadow:0 0 0 4px #fde68a73,0 6px 18px #7c3aedb3}}.omnibar-icon-btn{border:1px solid rgba(255,255,255,.18);background:#ffffff14;color:#e2e8f0;border-radius:8px;width:1.85rem;height:1.85rem;font-size:1.1rem;line-height:1;cursor:pointer}.omnibar-icon-btn:hover,.omnibar-icon-btn:focus-visible{border-color:#fde68a8c;background:#ffffff29;color:#fff;outline:none}.omnibar-body{padding:.7rem .75rem .75rem}.omnibar-form{display:flex;align-items:center;gap:.4rem;margin:0}.omnibar-input{flex:1 1 auto;min-width:0;border:1px solid #c7d2fe;border-radius:10px;background:#f8fafc;padding:.5rem .65rem;font:inherit;font-size:.88rem;color:#0f172a}.omnibar-input:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed2e}.omnibar-input[type=search]::-webkit-search-cancel-button,.omnibar-input[type=search]::-webkit-search-decoration{-webkit-appearance:none;-moz-appearance:none;appearance:none}.omnibar-submit{flex:0 0 auto;padding:.45rem .85rem;min-width:3.1rem;border:0;border-radius:10px;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;font:inherit;font-size:.85rem;font-weight:700;cursor:pointer}.omnibar-submit:hover:not(:disabled),.omnibar-submit:focus-visible:not(:disabled){filter:brightness(1.06);outline:none}.omnibar-submit:disabled{opacity:.5;cursor:default}.omnibar-reply,.omnibar-hint{margin:.5rem 0 0;font-size:.8rem;line-height:1.4;color:#475569}.omnibar-reply-error{color:#b91c1c}.omnibar-candidates{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}.omnibar-candidate-btn{border:1px solid #c7d2fe;background:#eef2ff;color:#312e81;border-radius:999px;padding:.28rem .65rem;font:inherit;font-size:.78rem;font-weight:600;cursor:pointer}.omnibar-candidate-btn:hover,.omnibar-candidate-btn:focus-visible{border-color:#7c3aed;outline:none}.omnibar-prefilled-field{background:#7c3aed14!important;border-width:1px;border-style:solid;border-color:#7c3aed!important;box-shadow:0 0 0 1px #2563eb24;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}.omnibar-pill-btn{display:inline-flex;align-items:center;gap:.45rem;border:1px solid rgba(167,139,250,.45);border-radius:999px;padding:.35rem .4rem .35rem .75rem;background:linear-gradient(180deg,#1e1b4b,#0f172a);color:#fff;font:inherit;font-size:.88rem;font-weight:700;box-shadow:0 12px 28px #312e8161,0 0 0 1px #2563eb2e,0 0 24px #7c3aed38;cursor:pointer;touch-action:none}.omnibar-pill-btn:hover,.omnibar-pill-btn:focus-visible{border-color:#fde68a8c;outline:none}.omnibar-kbd{display:none;margin-left:.1rem;padding:.12rem .35rem;border-radius:6px;border:1px solid rgba(255,255,255,.16);background:#ffffff14;color:#cbd5e1;font-family:inherit;font-size:.68rem;font-weight:700;letter-spacing:.02em}.omnibar-catalog-filter-chip{display:inline-flex;align-items:center;gap:.4rem;margin-left:auto;max-width:min(28ch,100%);padding:.22rem .3rem .22rem .28rem;border:1px solid rgba(124,58,237,.28);border-radius:999px;background:#0f172a;color:#e2e8f0;font-size:.78rem;font-weight:600}.omnibar-catalog-filter-chip span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.omnibar-catalog-filter-clear{border:0;background:transparent;color:#fde68a;font-size:1rem;line-height:1;cursor:pointer;padding:0 .25rem}@media (min-width: 768px) and (pointer: fine){.omnibar-kbd{display:inline-block}}@media (max-width: 767px){.omnibar-expanded:not(.omnibar-overlay-docked),.omnibar-pill{left:.75rem!important;right:.75rem;top:max(.5rem,env(safe-area-inset-top,0px))!important;bottom:auto;width:auto}.omnibar-expanded[data-omnibar-overlay=true]:not(.omnibar-overlay-docked){left:0!important;right:0;top:0!important;width:100%;max-width:none;max-height:none;border-radius:0;overflow:visible;padding:max(.45rem,env(safe-area-inset-top,0px)) .75rem .5rem}.omnibar-expanded.omnibar-overlay-docked{padding:.4rem .75rem}body:has(.layout .portal-sidebar-shell) .omnibar-overlay-docked{padding:max(.4rem,env(safe-area-inset-top,0px)) .7rem .4rem 3.05rem}.omnibar-expanded .omnibar-inline-form{flex-wrap:nowrap}.omnibar-expanded .omnibar-ask-btn{flex:0 0 auto;width:auto}.omnibar-expanded .omnibar-inline-status{display:none}.omnibar-expanded{cursor:default;touch-action:auto}.omnibar-pill-btn{touch-action:auto;width:100%;justify-content:center}}@media (prefers-reduced-motion: reduce){.omnibar-mark-busy{animation:none}}.omnibar-inline{box-sizing:border-box;min-width:0}.omnibar-inline-locked{opacity:.55;pointer-events:none}.omnibar-inline-controls{border:0;margin:0;padding:0;min-width:0;min-inline-size:0;flex:1 1 auto;display:flex;align-items:center;gap:.5rem;width:100%}.omnibar-inline-title{display:inline-flex;align-items:center;gap:.4rem;min-width:0}.omnibar-ask-btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:.4rem;margin:0;padding:.2rem .12rem .2rem .45rem;border:0;border-radius:999px;background:transparent;color:#fff;font:inherit;cursor:pointer}.omnibar-ask-btn:hover:not(:disabled),.omnibar-ask-btn:focus-visible:not(:disabled){outline:none;background:#ffffff14}.omnibar-ask-btn:disabled{cursor:default}.omnibar-inline-form{display:flex;align-items:center;gap:.5rem;margin:0;min-width:0;flex:1 1 12rem}.omnibar-inline-input{flex:1 1 auto;min-width:0;border:1px solid #c7d2fe;border-radius:10px;background:#f8fafc;padding:.5rem .7rem;font:inherit;font-size:.92rem;color:#0f172a}.omnibar-inline-input:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed2e}.omnibar-inline-input[type=search]::-webkit-search-cancel-button,.omnibar-inline-input[type=search]::-webkit-search-decoration{-webkit-appearance:none;-moz-appearance:none;appearance:none}.omnibar-inline-status{margin:0;font-size:.82rem;line-height:1.4;color:#cbd5e1;flex:1 0 100%}.omnibar-inline-status.omnibar-reply-error{color:#fecaca}.omnibar-inline-hero{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .65rem;padding:.65rem .75rem .7rem;border-radius:16px;border:1px solid transparent;background:linear-gradient(#0f172a,#0f172a) padding-box,linear-gradient(135deg,#2563eb,#7c3aed 52%,#22c55e) border-box;box-shadow:0 8px 24px #0f172a2e}.omnibar-inline-hero .omnibar-inline-input{min-height:2.55rem;font-size:.98rem;padding:.55rem .8rem}.portal-top-chrome{display:flex;align-items:center;flex-wrap:nowrap;gap:.5rem .65rem;position:sticky;top:0;z-index:30;min-width:0;margin:-1.5rem -1.5rem 1rem;padding:.5rem 1.5rem;background:linear-gradient(135deg,#0f172a,#1e1b4b 62%,#134e4a 160%);border-bottom:1px solid rgba(167,139,250,.28);box-shadow:0 8px 24px #0f172a2e}.portal-top-chrome .omnibar-inline-header{display:flex;align-items:center;flex-wrap:wrap;flex:1 1 auto;min-width:0;gap:.45rem .65rem}.omnibar-inline-header .omnibar-inline-form{flex:1 1 14rem}.portal-header-language-switcher{margin-inline-start:auto;align-self:center}.portal-header-language-switcher select{min-width:7.25rem;max-width:10.5rem;color-scheme:dark;background:#0f172a73;color:#f8fafc;border-color:#c7d2fe6b}.omnibar-catalog-moment{min-width:0}.public-layout-with-auth>.session-attend-moment,.public-layout-institute-home>.session-attend-moment{grid-column:1;grid-row:2;min-width:0}.public-layout.public-layout-shared-calendar{grid-template-columns:minmax(0,1fr);max-width:80rem;margin-inline:auto;width:100%;box-sizing:border-box;padding-right:var(--institute-home-gutter, 2.75rem);padding-top:1rem;gap:.45rem}.public-layout-shared-calendar .institute-public-top-bar-shared-calendar{align-items:center;padding-bottom:0}.public-layout-shared-calendar .institute-public-top-bar-shared-calendar .institute-auth-brand-block{gap:0}.public-layout-shared-calendar .institute-public-top-bar-shared-calendar .institute-auth-brand-name{font-size:1.05rem;line-height:1.2}.public-layout-shared-calendar .institute-public-top-bar-shared-calendar .institute-auth-brand img{max-height:44px}.public-layout-shared-calendar>.institute-public-top-bar{grid-column:1 / -1;grid-row:1}.public-layout-shared-calendar>.public-shared-calendar-moment{grid-column:1 / -1;grid-row:2;min-width:0;width:100%}.public-shared-combined-calendar{max-width:none;width:100%}.public-shared-combined-calendar .combined-calendar-filters{flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:.5rem}.public-shared-combined-calendar .combined-calendar-filter-fieldset{flex:1 1 14rem;max-width:100%;padding:.4rem .6rem;margin:0}.public-shared-combined-calendar .combined-calendar-filter-fieldset legend{font-size:.78rem;font-weight:600;padding:0 .15rem}.public-shared-combined-calendar .combined-calendar-filter-options{gap:.3rem .65rem}.public-shared-combined-calendar .combined-calendar-filter-option{font-size:.85rem}.public-shared-combined-calendar .portal-calendar-shell,.public-shared-combined-calendar .calendar-week-grid,.public-shared-combined-calendar .calendar-daily-educator-scroll-x{max-width:100%}.omnibar-catalog-moment:not(:has(.omnibar-inline)){display:none}@media (min-width: 1121px){.public-layout-with-auth{grid-template-rows:auto auto auto}.public-layout-with-auth>.omnibar-catalog-moment,.public-layout-institute-home>.omnibar-catalog-moment{grid-column:1;grid-row:2;min-width:0}.public-layout-shared-calendar>.public-shared-calendar-moment{grid-column:1;grid-row:2;min-width:0}.public-layout-with-auth>.public-main-below,.public-layout-institute-home>.public-main-below{grid-row:3}}@media (max-width: 767px){.portal-top-chrome{flex-wrap:wrap;margin:-1rem -.75rem .55rem;padding:.4rem .75rem}.layout:has(.portal-sidebar-shell) .portal-top-chrome{margin:0 -.75rem .4rem;padding:max(.4rem,env(safe-area-inset-top,0px)) .7rem .4rem 3.05rem}.portal-top-chrome .omnibar-inline-header{flex:1 1 100%}.portal-header-language-switcher{margin-inline-start:auto}.portal-header-language-switcher select{min-width:6.75rem;max-width:9.5rem}.omnibar-inline-header .omnibar-inline-form,.omnibar-inline-hero .omnibar-inline-form{flex:1 1 auto;width:auto;min-width:0}.omnibar-inline-hero{align-items:center}.omnibar-inline-header .omnibar-inline-controls,.omnibar-inline-hero .omnibar-inline-controls{flex-wrap:nowrap;width:100%}.omnibar-inline-header .omnibar-inline-input,.omnibar-inline-hero .omnibar-inline-input{flex:1 1 auto;width:auto;min-width:0}.omnibar-inline-header .omnibar-ask-btn,.omnibar-inline-hero .omnibar-ask-btn{flex:0 0 auto;width:auto;justify-content:center;padding:.2rem .12rem .2rem .35rem}.omnibar-catalog-moment{width:100%;min-width:0}.institute-auth-brand img{max-height:52px;border-radius:12px}.institute-auth-brand-fallback{width:52px;height:52px;border-radius:12px}.institute-auth-brand-name{font-size:1.28rem}.institute-auth-brand-fallback{font-size:1.35rem}.public-layout.public-layout-institute-home{--institute-home-gutter: 1.25rem;padding:1rem var(--institute-home-gutter) calc(1.25rem + env(safe-area-inset-bottom,0px));gap:.75rem}.filter-row.public-segment-search-line{flex-wrap:wrap;overflow-x:visible}.filter-row.public-segment-search-line .ai-portal-form{flex:1 1 100%;width:100%;min-width:0;max-width:100%;margin-left:0}.login-account-label.profile-inline-field,.profile-logo-url-row{grid-template-columns:minmax(0,1fr);gap:.35rem;align-items:start}.list-pagination{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:.45rem;margin-bottom:.55rem;padding-bottom:.5rem}.list-pagination-search{max-width:none;width:100%;min-width:0;flex:0 0 auto;height:auto}.list-pagination-controls{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.35rem .65rem;margin-left:0;flex:0 0 auto}.list-pagination-size{justify-content:flex-start;width:auto}.list-pagination-nav{justify-content:flex-end;width:auto;margin-left:auto}.list-pagination-page{min-width:0;flex:1 1 auto}.programs-grid,.public-grid{grid-template-columns:minmax(0,1fr)}.table-wrap,.org-open-roster-table-wrap{overflow-x:visible}table.guest-enrollment-roster-table.org-open-roster-table{min-width:0;table-layout:auto}table.org-open-roster-table .org-open-roster-name-col,table.org-open-roster-table .org-open-roster-code-col,table.org-open-roster-table .org-open-roster-phone-col,table.org-open-roster-table .org-open-roster-email-col{width:auto}table.staff-linked-providers-table,table.staff-families-table{min-width:0}.staff-linked-providers-table .staff-linked-provider-status,.staff-linked-providers-table .staff-linked-provider-actions-cell,.staff-families-table .staff-families-member-status,.staff-families-table .staff-families-member-actions-cell{white-space:normal}.app-shell .individualized-milestone-header{display:none}.app-shell .individualized-milestone-outline{border:0;border-radius:0;background:transparent}.app-shell .individualized-milestone-row{display:flex;flex-direction:column;gap:.5rem;padding:.65rem .75rem;margin-bottom:.55rem;border:1px solid #e5e7eb;border-radius:12px;background:#fff}.app-shell .individualized-milestone-row.individualized-milestone-unit-row{background:#fff}.app-shell .individualized-milestone-topic-col{padding-inline-start:calc((var(--milestone-depth, 1) - 1) * .85rem)}.app-shell .individualized-milestone-mark-cell:before{content:attr(data-participant-label);display:block;font-size:.72rem;font-weight:700;color:#64748b;margin-bottom:.2rem}.app-shell .individualized-milestone-mark{justify-content:flex-start}.app-shell table{display:block;width:100%;min-width:0;max-width:100%;height:auto;table-layout:auto;border-collapse:separate;border-spacing:0 .45rem}table.guest-enrollment-roster-table,table.guest-attendance-roster-table{width:100%;min-width:0;max-width:100%}.app-shell table thead{display:none}.app-shell table tbody,.app-shell table tbody tr,.app-shell table tbody td,.app-shell table tbody th{display:block;width:100%;max-width:100%;box-sizing:border-box}.app-shell table tbody tr{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:.2rem 0;overflow:hidden}.app-shell table.guest-attendance-roster-table tbody tr.guest-attendance-roster-row--combined-sibling{background:color-mix(in srgb,var(--muted-surface, #f1f5f9) 72%,transparent);border-color:var(--border-subtle, #e2e8f0)}.app-shell table.guest-attendance-roster-table tbody tr.guest-attendance-roster-slice-header:not(.guest-attendance-roster-slice-header--primary){background:color-mix(in srgb,var(--muted-surface, #f1f5f9) 55%,transparent);border-color:var(--border-subtle, #e2e8f0);padding:0}.app-shell table.guest-attendance-roster-table tbody tr.guest-attendance-roster-slice-header:not(.guest-attendance-roster-slice-header--primary) td{display:block;grid-template-columns:minmax(0,1fr);padding:.55rem .8rem .35rem;font-size:.72rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted, #64748b);border:0;background:transparent}.app-shell table.guest-attendance-roster-table tbody tr.guest-attendance-roster-slice-header:not(.guest-attendance-roster-slice-header--primary) td:before{content:none}.app-shell table tbody td,.app-shell table tbody th{display:grid;grid-template-columns:minmax(6.25rem,34%) minmax(0,1fr);gap:.35rem .75rem;align-items:start;padding:.5rem .8rem;border:0;border-bottom:1px solid #f1f5f9;text-align:left;background:transparent;white-space:normal;overflow:visible;text-overflow:unset;max-width:none;min-width:0}.app-shell table tbody td:last-child,.app-shell table tbody th:last-child{border-bottom:0}.app-shell table tbody td:before,.app-shell table tbody th:before{content:attr(data-label);font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#64748b;line-height:1.35;padding-top:.12rem}.app-shell table tbody td:not([data-label]),.app-shell table tbody th:not([data-label]){grid-template-columns:minmax(0,1fr)}.app-shell table tbody td:not([data-label]):before,.app-shell table tbody th:not([data-label]):before{content:none}.app-shell table tbody tr.table-card-span-row,.app-shell table tbody tr.payments-group-row,.app-shell table tbody tr.program-mgmt-family-header-row,.app-shell table tbody tr.institute-lead-group-row{background:#f8fafc;padding:0}.app-shell table tbody tr.table-card-span-row td,.app-shell table tbody tr.table-card-span-row th,.app-shell table tbody tr.payments-group-row th,.app-shell table tbody tr.payments-group-row td,.app-shell table tbody tr.program-mgmt-family-header-row td,.app-shell table tbody tr.institute-lead-group-row th{display:block;border:0;padding:.7rem .85rem;background:transparent}.app-shell .program-mgmt-row{cursor:pointer;-webkit-tap-highlight-color:rgba(37,99,235,.12)}.app-shell .program-mgmt-row.is-selected{box-shadow:inset 4px 0 #1d4ed8;background:#eff6ff}.app-shell .program-mgmt-row.is-selected td,.app-shell .program-mgmt-row.is-selected td:first-child{background:transparent;border:0;box-shadow:none}.program-mgmt-list--family-portal thead,.program-mgmt-list--compact-mobile thead{display:none}.program-mgmt-list--family-portal tbody tr.program-mgmt-row,.program-mgmt-list--compact-mobile tbody tr.program-mgmt-row{padding:.5rem .75rem}.program-mgmt-list--family-portal tbody td.program-mgmt-family-desktop-cell,.program-mgmt-list--compact-mobile tbody td.program-mgmt-family-desktop-cell{display:none}.program-mgmt-list--family-portal tbody td.program-mgmt-title-cell,.program-mgmt-list--compact-mobile tbody td.program-mgmt-title-cell{display:block;border:0;padding:0;grid-template-columns:minmax(0,1fr)}.program-mgmt-list--family-portal tbody td.program-mgmt-title-cell:before,.program-mgmt-list--compact-mobile tbody td.program-mgmt-title-cell:before{content:none;display:none}.program-mgmt-list--family-portal .program-mgmt-family-mobile-head,.program-mgmt-list--compact-mobile .program-mgmt-family-mobile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.45rem .65rem}.program-mgmt-list--family-portal .program-mgmt-family-mobile-status,.program-mgmt-list--compact-mobile .program-mgmt-mobile-enrollment-chip{display:inline-flex;flex-shrink:0;margin-top:.05rem}.program-mgmt-list--family-portal .program-mgmt-family-summary-chips,.program-mgmt-list--compact-mobile .program-mgmt-family-summary-chips{display:flex;flex-wrap:wrap;gap:.28rem .38rem;margin-top:.35rem}.program-mgmt-list--family-portal .program-mgmt-title-button,.program-mgmt-list--compact-mobile .program-mgmt-title-button{flex:1 1 auto;min-width:0;text-align:left}.program-mgmt-list--family-portal .program-mgmt-option-title,.program-mgmt-list--compact-mobile .program-mgmt-option-title{font-size:.92rem;line-height:1.3}table.staff-portal-list-table thead{display:none}table.staff-portal-list-table tbody tr.program-mgmt-row,table.staff-portal-list-table tbody tr.staff-portal-list-row{padding:.5rem .75rem}table.staff-portal-list-table td.staff-portal-list-desktop-cell{display:none}table.staff-portal-list-table td.staff-portal-list-primary-cell,table.staff-portal-list-table td.program-mgmt-title-cell{display:block;border:0;padding:0;grid-template-columns:minmax(0,1fr)}table.staff-portal-list-table td.staff-portal-list-primary-cell:before,table.staff-portal-list-table td.program-mgmt-title-cell:before{content:none;display:none}table.staff-portal-list-table .program-mgmt-family-mobile-head{display:flex;align-items:flex-start;justify-content:flex-start;flex-wrap:wrap;gap:.28rem .38rem}table.staff-portal-list-table .program-mgmt-family-mobile-status{display:inline-flex;flex-shrink:0;align-items:center;margin-top:.05rem;font-size:.72rem;font-weight:600;line-height:1.35}table.staff-portal-list-table .program-mgmt-family-summary-chips{display:flex;flex-wrap:wrap;gap:.28rem .38rem;margin-top:.35rem}table.staff-portal-list-table .program-mgmt-title-button{flex:1 1 auto;min-width:0;text-align:left}table.staff-portal-list-table .program-mgmt-option-title{font-size:.92rem;line-height:1.3}table.staff-portal-list-table .staff-portal-list-desktop-only{display:none}table.staff-portal-list-table td.staff-portal-list-actions-cell{display:block;grid-template-columns:minmax(0,1fr);padding:.35rem 0 0;border:0}table.staff-portal-list-table td.staff-portal-list-actions-cell:before{content:none;display:none}table.staff-portal-list-table .staff-portal-list-actions-cell .staff-families-member-actions-buttons,table.staff-portal-list-table .staff-portal-list-actions-cell .staff-linked-provider-actions-buttons{flex-wrap:wrap;gap:.35rem}.enrollment-by-program--compact-mobile thead{display:none}.app-shell .enrollment-by-program--compact-mobile table tbody td:before{content:none;display:none}.enrollment-by-program--compact-mobile tbody tr.enrollment-program-row,.enrollment-by-program--compact-mobile tbody tr.enrollment-browse-row{padding:.38rem .65rem}.app-shell .enrollment-by-program--compact-mobile table{border-spacing:0 .32rem}.enrollment-by-program--compact-mobile tbody td.enrollment-desktop-cell{display:none}.enrollment-by-program--compact-mobile tbody td.enrollment-title-cell,.enrollment-by-program--compact-mobile tbody td.guest-enrollment-name-col.enrollment-title-cell{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:.55rem .75rem;width:100%;max-width:100%;box-sizing:border-box;border:0;padding:.12rem .05rem;overflow:visible}.enrollment-by-program--compact-mobile tbody td.enrollment-title-cell:before,.enrollment-by-program--compact-mobile tbody td.guest-enrollment-name-col.enrollment-title-cell:before{content:none;display:none}.enrollment-by-program--compact-mobile .enrollment-desktop-title,.enrollment-by-program--compact-mobile .enrollment-desktop-assigned-note{display:none}.enrollment-by-program--compact-mobile .enrollment-mobile-head{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;flex:0 1 auto;min-width:0;max-width:42%;gap:.28rem .4rem}.enrollment-by-program--compact-mobile .enrollment-mobile-title-block{flex:1 1 auto;min-width:0}.enrollment-by-program--compact-mobile .enrollment-mobile-title{display:block;font-size:.88rem;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.enrollment-by-program--compact-mobile button.enrollment-mobile-title{max-width:100%;overflow:hidden;text-overflow:ellipsis}.enrollment-by-program--compact-mobile .enrollment-mobile-status{display:inline-flex;flex-shrink:0;margin-top:0;font-size:.68rem;padding:.1rem .4rem}.enrollment-by-program--compact-mobile .enrollment-mobile-action,.enrollment-by-program--compact-mobile .enrollment-mobile-actions{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;flex:0 0 auto;gap:.35rem;max-width:none;margin-top:0}.enrollment-by-program--compact-mobile .enrollment-mobile-actions--trailing{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-end;margin-left:auto;padding-left:.5rem;gap:.35rem .45rem}.enrollment-by-program--compact-mobile .enrollment-mobile-actions--trailing>.enrollment-status-row{justify-content:flex-end;width:auto}.enrollment-by-program--compact-mobile .enrollment-mobile-disenroll-btn{flex-shrink:0}.enrollment-by-program--compact-mobile .guest-enrollment-name-col.enrollment-title-cell .enrollment-mobile-actions{margin-left:auto;padding-left:.35rem}.enrollment-by-program--compact-mobile .enrollment-summary-chips{display:flex;flex-wrap:nowrap;align-items:center;gap:.4rem .55rem;margin-top:0;flex:1 1 auto;min-width:0;justify-content:flex-start}.enrollment-by-program--compact-mobile .enrollment-summary-status-chip{flex-shrink:0;font-size:.68rem;padding:.12rem .45rem;line-height:1.25}.enrollment-by-program--compact-mobile .program-mgmt-summary-chip{white-space:nowrap;max-width:none;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto;min-width:0}.enrollment-by-program--compact-mobile .enrollment-summary-chip--wide{flex:0 1 auto;max-width:9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.enrollment-by-program--compact-mobile .enrollment-status-row{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:.35rem;margin-top:0}.enrollment-by-program--compact-mobile .enrollment-status-row--external{margin-top:.15rem}.enrollment-by-program--compact-mobile .enrollment-mobile-action-error{margin-top:.2rem;font-size:.72rem;text-align:right;max-width:12rem}.enrollment-by-program--compact-mobile .guest-roster-action-stack{flex-direction:row;flex-wrap:nowrap;align-items:center;gap:.22rem}.enrollment-by-program--compact-mobile .guest-roster-action-line{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:.22rem}.enrollment-by-program--compact-mobile button.chip,.enrollment-by-program--compact-mobile button.primary-btn{padding:.22rem .45rem;font-size:.68rem;white-space:nowrap}.enrollment-by-program--compact-mobile .program-form-error{flex:1 0 100%;margin-top:.2rem;font-size:.72rem}.enrollment-by-program--compact-mobile .enrollment-mobile-inline-chip{display:inline-block;margin-top:0}.enrollment-by-program--compact-mobile button.learner-enroll-btn{max-width:none;white-space:nowrap;text-align:center;padding:.22rem .45rem;font-size:.68rem;line-height:1.15}.enrollment-by-program--compact-mobile tbody .payments-group-row th.payments-group-heading{padding:.45rem .75rem;font-size:.88rem}.commerce-cart-section .commerce-cart-item-schedule{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .55rem}.commerce-cart-section .commerce-cart-item-schedule-line{margin:0;min-width:0}.commerce-cart-section .commerce-cart-item-schedule-line--summary{grid-column:1 / -1}.commerce-cart-section .commerce-cart-table tbody tr td.cart-item-program-cell{display:block}.app-shell table.commerce-cart-table tbody td:before,.app-shell .billing-invoice-lines table tbody td:before,.app-shell table.responsive-table-no-row-labels tbody td:before{content:none;display:none}.app-shell table.commerce-cart-table tbody td,.app-shell .billing-invoice-lines table tbody td,.app-shell table.responsive-table-no-row-labels tbody td{grid-template-columns:minmax(0,1fr)}.commerce-cart-section .commerce-cart-table .commerce-cart-item-schedule{width:100%}.commerce-cart-section .commerce-cart-table .cart-item-only-desktop{display:none}.commerce-cart-section .commerce-cart-table .cart-item-only-mobile{display:inline-block}.commerce-cart-section .commerce-cart-table tbody tr td.cart-item-participant-cell{display:block;border-bottom:0}.commerce-cart-section .commerce-cart-table tbody tr td.cart-item-participant-cell:before{content:none;display:none}.commerce-cart-section .commerce-cart-table .cart-item-mobile-footer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);align-items:center;gap:.35rem .5rem;width:100%}.commerce-cart-section .commerce-cart-table .cart-item-name-price{display:contents}.commerce-cart-section .commerce-cart-table .cart-item-participant-name{min-width:0;justify-self:start;text-align:left;overflow-wrap:anywhere}.commerce-cart-section .commerce-cart-table .cart-item-unit-price{justify-self:center;text-align:center;font-weight:600;color:#0f172a;white-space:nowrap}.commerce-cart-section .commerce-cart-table .cart-item-remove-wrap{justify-self:end;max-width:100%}.commerce-cart-section .commerce-cart-table .cart-item-remove-wrap.cart-item-only-mobile{display:flex;align-items:center;justify-content:flex-end}.commerce-cart-section .commerce-cart-table .cart-item-remove-wrap .chip{max-width:100%;padding-left:.55rem;padding-right:.55rem}.commerce-cart-section .commerce-cart-table .cart-item-remove-wrap .cart-item-locked-note{font-size:.78rem}.payment-method-fee-table--checkout{--payment-fee-mobile-cols: minmax(2.5rem, .78fr) minmax(2.35rem, .62fr) minmax(2.65rem, .7fr) minmax(2.85rem, .92fr) minmax( 4.15rem, 1fr )}.payment-method-fee-table--summary{--payment-fee-mobile-cols: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr)}.app-shell .payment-method-fee-table table{display:block;width:100%}.app-shell .payment-method-fee-table thead,.app-shell .payment-method-fee-table tbody{display:block}.app-shell .payment-method-fee-table thead tr{display:grid;grid-template-columns:var(--payment-fee-mobile-cols);gap:.2rem .35rem;align-items:end;padding:.15rem .8rem .35rem;border-bottom:1px solid #e5e7eb;margin-bottom:.25rem;background:transparent;border-radius:0}.app-shell .payment-method-fee-table thead th{display:block;width:auto;padding:0;border:0;font-size:.68rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#64748b;line-height:1.25;text-align:left;white-space:normal}.app-shell .payment-method-fee-table thead th .section-title-with-help{font-size:inherit;font-weight:inherit;gap:.15rem}.app-shell .payment-method-fee-table tbody tr{display:grid;grid-template-columns:var(--payment-fee-mobile-cols);gap:.25rem .35rem;align-items:center;padding:.55rem .8rem;font-size:.8rem;line-height:1.3;margin-bottom:.35rem}.app-shell .payment-method-fee-table tbody tr td{display:block;width:auto;max-width:none;border:0;padding:0;grid-template-columns:unset;white-space:normal;min-width:0}.app-shell .payment-method-fee-table tbody tr td:before{content:none;display:none}.app-shell .payment-method-fee-table tbody tr td:first-child{font-weight:600;color:#0f172a}.app-shell .payment-method-fee-table .family-checkout-pay-btn{width:100%;min-width:0;box-sizing:border-box;padding:.32rem .35rem;font-size:.72rem;line-height:1.15;white-space:normal;text-align:center}.app-shell .program-mgmt-schedule-cell,.app-shell .program-mgmt-date-cell,.app-shell .program-mgmt-enrollment-col,.app-shell .program-mgmt-enrollment-cell,.app-shell .program-mgmt-title-col,.app-shell .program-mgmt-type-col,.app-shell .program-mgmt-meta-col,.app-shell .program-mgmt-category-col,.app-shell .program-mgmt-level-col,.app-shell .program-mgmt-level-cell,.app-shell .program-mgmt-narrow-meta-col{width:auto;min-width:0;max-width:none;overflow:visible;white-space:normal;text-overflow:unset}.app-shell .guest-attendance-check-col,.app-shell .guest-attendance-check-col.guest-attendance-check-col--markable,.app-shell .guest-attendance-participant-col,.app-shell .guest-attendance-parent-col,.app-shell .guest-attendance-phone-col,.app-shell .guest-attendance-grade-col,.app-shell .guest-attendance-email-col,.app-shell .guest-attendance-legal-doc-col,.app-shell .guest-enrollment-email-col,.app-shell .guest-roster-note-col,.app-shell .guest-roster-action-col{width:auto;min-width:0}.app-shell .guest-attendance-check-col.guest-attendance-check-col--markable{max-width:none}.app-shell .guest-attendance-mark-actions{justify-content:flex-start}.app-shell .guest-attendance-mark-btn{min-height:2.75rem;padding:.4rem .85rem;font-size:.9rem}.app-shell table.guest-attendance-roster-table{border-spacing:0 .28rem}.app-shell table.guest-attendance-roster-table tbody tr:not(.guest-attendance-roster-slice-header){border-radius:10px;padding:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.app-shell table.guest-attendance-roster-table tbody tr:not(.guest-attendance-roster-slice-header)>td.guest-attendance-participant-col{grid-column:1;grid-row:1;grid-template-columns:minmax(0,1fr);padding-top:.38rem;padding-bottom:.28rem;border-bottom-color:transparent}.app-shell table.guest-attendance-roster-table tbody tr:not(.guest-attendance-roster-slice-header)>td.guest-attendance-participant-col:before,.app-shell table.guest-attendance-roster-table tbody tr:not(.guest-attendance-roster-slice-header)>td.guest-attendance-participant-col+td.guest-attendance-check-col:before{content:none;display:none}.app-shell table.guest-attendance-roster-table tbody tr:not(.guest-attendance-roster-slice-header)>td.guest-attendance-participant-col+td.guest-attendance-check-col{grid-column:2;grid-row:1;grid-template-columns:minmax(0,1fr);justify-self:end;padding-top:.38rem;padding-bottom:.28rem;border-bottom-color:transparent}.app-shell table.guest-attendance-roster-table tbody tr:not(.guest-attendance-roster-slice-header)>td.guest-attendance-participant-col+td.guest-attendance-check-col+td.guest-attendance-check-col{grid-column:1 / -1;grid-row:auto;justify-self:stretch;border-bottom-color:#f3f4f6}.app-shell table.guest-attendance-roster-table tbody tr:not(.guest-attendance-roster-slice-header)>td.guest-attendance-participant-col~td:not(.guest-attendance-check-col){grid-column:1 / -1}.app-shell table.guest-attendance-roster-table tbody tr:not(.guest-attendance-roster-slice-header) td{padding:.32rem .6rem;gap:.2rem .45rem;grid-template-columns:minmax(5.25rem,30%) minmax(0,1fr);border-bottom-color:#f3f4f6}.app-shell table.guest-attendance-roster-table tbody tr:not(.guest-attendance-roster-slice-header) td:before{font-size:.65rem;letter-spacing:.02em;line-height:1.25;padding-top:.04rem}.app-shell table.guest-attendance-roster-table .guest-attendance-participant-col{font-size:.93rem;line-height:1.22}.app-shell table.guest-attendance-roster-table .guest-attendance-combined-program-label{margin-top:.08rem;font-size:.72rem}.app-shell table.guest-attendance-roster-table .guest-attendance-mark-btn{min-height:2.1rem;padding:.22rem .55rem;font-size:.78rem;border-radius:6px}.app-shell table.guest-attendance-roster-table .guest-attendance-mark-actions{gap:.25rem}.app-shell table.guest-attendance-roster-table .guest-attendance-check-time,.app-shell table.guest-attendance-roster-table .guest-attendance-check-flag{font-size:.76rem}.app-shell table.guest-attendance-roster-table .guest-attendance-status-badge{font-size:.74rem;min-width:0;padding:.12rem .35rem}.app-shell table.guest-attendance-roster-table .guest-attendance-inline-edit-trigger,.app-shell table.guest-attendance-roster-table .guest-roster-note-col,.app-shell table.guest-attendance-roster-table .guest-roster-medical-concerns-col{font-size:.85rem;line-height:1.25}.app-shell table.guest-attendance-roster-table tbody tr.guest-attendance-roster-slice-header--primary td{padding:.5rem .6rem .4rem}.learner-calendar-week,.calendar-week-time-layout:not(.calendar-week-time-layout--staff-days),.learner-calendar-monthly{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.calendar-week-staff-layout .calendar-week-scroll-x{overflow-x:auto;overflow-y:visible}.learner-calendar-chrome{gap:.45rem;margin-top:.45rem}.calendar-chrome-meta{align-items:center;gap:.5rem}.calendar-chrome-meta .calendar-sync-from-schedule-controls{flex-shrink:0}.calendar-chrome-controls{gap:.3rem}.calendar-chrome-controls .calendar-view-toggle{gap:.4rem}.calendar-chrome-controls .calendar-nav-row{gap:.35rem;flex-direction:column;align-items:stretch;flex-wrap:nowrap}.calendar-chrome-controls .calendar-nav-row-controls{width:100%;flex-wrap:nowrap}.calendar-chrome-controls .learner-calendar-nav-row-aside{width:100%;max-width:100%;margin-left:0;text-align:right;flex:0 0 auto;align-self:stretch}.calendar-chrome-controls .calendar-nav-label{flex:1 1 auto;min-width:0;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.78rem;line-height:1.2}.calendar-chrome-controls .calendar-nav-row .chip{flex-shrink:0;padding-left:.45rem;padding-right:.45rem}.split-grid,.form-grid,.program-form-grid,.program-form-grid--3col{grid-template-columns:minmax(0,1fr);grid-auto-columns:minmax(0,1fr)}.program-form-grid--3col>.program-form-field-col-span-2{grid-column:1 / -1}.program-form-field-span2{grid-column:1 / -1}.program-form-tile-image-controls{min-width:0}.program-form-weekly-slot-row select,.program-form-weekly-slot-row input[type=time],.program-form-weekly-slot-row input[type=date]{min-width:0;max-width:100%;flex:1 1 7rem}.program-form-field input:not([type=checkbox]):not([type=radio]),.program-form-field select,.program-form-field textarea,.program-form-weekly-slot-row select,.program-form-weekly-slot-row input{font-size:16px}.class-sessions-grid,.staff-makeup-slot-form-grid{grid-template-columns:minmax(0,1fr);grid-auto-columns:minmax(0,1fr)}.staff-makeup-slot-checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-makeup-slot-form input:not([type=checkbox]):not([type=radio]),.staff-makeup-slot-form select,.staff-makeup-slot-form textarea{font-size:16px}.tuition-scale-tier-editor{flex-wrap:wrap}.guest-enrollment-view-details{grid-template-columns:minmax(0,1fr)}.program-mgmt-toolbar,.program-catalog-hierarchy-actions{margin-left:0}body:has(.omnibar-expanded[data-omnibar-overlay=true]:not(.omnibar-overlay-docked)) .program-form-backdrop,body:has(.omnibar-expanded[data-omnibar-overlay=true]:not(.omnibar-overlay-docked)) .guest-kiosk-modal-backdrop,body:has(.omnibar-expanded[data-omnibar-overlay=true]:not(.omnibar-overlay-docked)) .staff-payments-modal-backdrop,body:has(.omnibar-expanded[data-omnibar-overlay=true]:not(.omnibar-overlay-docked)) .credential-image-modal-backdrop{padding-top:calc(3.65rem + env(safe-area-inset-top,0px))}.program-form-backdrop{padding-top:.5rem;padding-bottom:max(.5rem,env(safe-area-inset-bottom,0px));padding-left:.65rem;padding-right:.65rem;align-items:stretch;overflow:hidden}.program-form-modal,.program-form-modal--staff{margin:0 auto;max-height:100%;height:auto;min-height:0}.program-form-modal{overflow-y:auto}.program-form-modal--staff,.admin-row-edit-modal--scrollable{overflow:hidden;min-height:0}.layout:not(:has(.portal-sidebar-shell)) .nav-btn{width:auto;margin-top:0;padding:.45rem .7rem;background:var(--sidebar-hover, #ddd9d2)}.layout:not(:has(.portal-sidebar-shell)) .nav-btn.active,.layout:not(:has(.portal-sidebar-shell)) .nav-btn:hover{background:var(--sidebar-active, #d2cec6)}.staff-payments-modal,.guest-kiosk-modal-dialog,.credential-image-modal-dialog,.guest-legal-doc-modal-dialog{width:min(100%,calc(100vw - 1.5rem));max-width:100%;min-width:0}.parent-child-tabbar .parent-child-tabbar-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}}.staff-attendance-overview,.staff-attendance-overview .parent-child-tab-shell,.staff-attendance-overview .parent-child-tab-panel,.staff-attendance-overview-shell{width:100%;max-width:none}.staff-attendance-overview-search{display:block;flex:0 0 auto;width:100%;max-width:18rem;margin:0}.staff-attendance-overview .attendance-stats-grid,.staff-attendance-overview .staff-attendance-latest-table-wrap{margin-top:0}.attendance-stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}@media (min-width: 1200px){.attendance-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 767px){.attendance-stats-grid{grid-template-columns:minmax(0,1fr)}}.attendance-stats-card{min-width:0;padding:.75rem .85rem}.attendance-stats-card-title{margin:0 0 .5rem;font-size:.95rem;font-weight:600;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.check-in-trend-chart-wrap{position:relative;width:100%;min-width:0}.check-in-trend-chart-wrap--scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.check-in-trend-chart{display:block;height:auto;color:#334155}.check-in-trend-chart-hit{fill:transparent;cursor:default}.check-in-trend-chart-hit:focus{outline:none}.check-in-trend-chart-hit:focus-visible{stroke:#2563eb;stroke-width:1}.check-in-trend-chart-tooltip{position:fixed;z-index:60;transform:translate(-50%,calc(-100% - 8px));max-width:min(18rem,90vw);padding:.35rem .5rem;border-radius:6px;background:#0f172a;color:#f8fafc;font-size:.75rem;line-height:1.35;pointer-events:none;white-space:normal;text-align:center;box-shadow:0 4px 12px #0f172a33}.check-in-trend-chart-axis{stroke:#cbd5e1;stroke-width:1}.check-in-trend-chart-bar{fill:#3b82f6}.check-in-trend-chart-bar--active{fill:#1d4ed8}.check-in-trend-chart-tick,.check-in-trend-chart-label{fill:#64748b;font-size:9px}.check-in-trend-chart-empty-label{fill:#94a3b8;font-size:12px}.staff-attendance-stats-panel{margin-top:.35rem}.staff-attendance-subpanel-title{margin:0;font-size:1rem;font-weight:600}.staff-attendance-participation-table-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.35rem 1rem;margin:0}.staff-attendance-participation-table-toolbar .list-pagination{margin-bottom:0;padding-bottom:0;border-bottom:none}.staff-attendance-participation-table-toolbar+.staff-attendance-participation-table-block{margin-top:.125rem}.staff-attendance-participation-toolbar-search{margin-bottom:0;padding-bottom:0;border-bottom:none;flex:1 1 18rem;min-width:14rem;max-width:min(36rem,100%)}.staff-attendance-participation-toolbar-search .list-pagination-search{flex:1 1 100%;max-width:100%;min-width:0}.staff-attendance-participation-table-toolbar .staff-attendance-subpanel-title{flex:1 1 auto;min-width:10rem}.staff-attendance-participation-table-pagination{margin-bottom:0;padding-bottom:0;border-bottom:none;flex:1 1 20rem;justify-content:flex-end}.staff-attendance-participation-table-pagination .list-pagination-controls{margin-left:0}.staff-attendance-participation-table-block{border:1px solid rgba(15,23,42,.1);border-radius:8px;background:#fff;overflow:hidden}.staff-attendance-participation-period-tabs{margin:0;padding:.35rem .5rem 0;border-bottom:1px solid rgba(15,23,42,.08)}.staff-attendance-participation-table-block .attendance-participation-grid-wrap{margin:0;border:none;border-radius:0}.staff-attendance-participation-table-empty{margin:0;padding:.85rem .75rem 1rem}.attendance-participation-search-top{margin-bottom:.65rem}.staff-attendance-participation-panel .attendance-participation-search-top .list-pagination-search,.staff-attendance-participation-panel .attendance-participation-toolbar-search .list-pagination-search{flex:1 1 100%;max-width:100%}.staff-attendance-latest-table-wrap{margin-top:.65rem}.staff-attendance-latest-table-count{text-align:right;width:5.5rem;white-space:nowrap}.screen-report-host{position:relative;z-index:12050}.screen-report-fab{position:fixed;right:1rem;bottom:1rem;z-index:12050;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;border-radius:999px;border:1px solid rgba(15,23,42,.12);background:#f8fafc;color:#475569;font-weight:800;font-size:1.05rem;box-shadow:0 4px 14px #0f172a24;cursor:pointer}.screen-report-fab:disabled{opacity:.85;cursor:wait}.screen-report-fab--sent{color:#047857;border-color:#86efac}.screen-report-fab--error{border-color:#fca5a5}.screen-report-fab-bang{line-height:1;color:#334155}.screen-report-fab--cooldown{width:2.5rem;height:2.5rem;opacity:.72;cursor:not-allowed;border-color:#cbd5e1;background:#e2e8f0;color:#94a3b8;animation:none;box-shadow:0 2px 8px #0f172a14}.screen-report-fab-bang--muted{color:#94a3b8}.screen-report-fab--alert-high{width:3rem;height:3rem;border-color:#fca5a5;background:#fef2f2;box-shadow:0 0 0 4px #f8717140;animation:screen-report-pulse 1.6s ease-in-out infinite}.screen-report-fab--alert-medium{width:2.75rem;height:2.75rem;border-color:#fcd34d;background:#fffbeb}.screen-report-fab-bang--high{color:#b91c1c;font-size:1.35rem}.screen-report-fab-bang--medium{color:#b45309;font-size:1.2rem}@keyframes screen-report-pulse{0%,to{box-shadow:0 0 0 4px #f8717133}50%{box-shadow:0 0 0 7px #f8717159}}.screen-report-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:.75rem 0}.screen-report-chip{border:1px solid #cbd5e1;background:#fff;border-radius:999px;padding:.35rem .65rem;font-size:.82rem;cursor:pointer}.screen-report-chip--on{border-color:#2563eb;background:#eff6ff;color:#1d4ed8}.screen-report-toast--muted{background:#475569}.screen-report-fab-spinner{width:1.1rem;height:1.1rem;border:2px solid #cbd5e1;border-top-color:#2563eb;border-radius:50%;animation:screen-report-spin .7s linear infinite}.screen-report-fab-check{color:#047857;font-size:1.1rem;padding:0 .35rem}@keyframes screen-report-spin{to{transform:rotate(360deg)}}.screen-report-toast{position:fixed;right:1rem;bottom:3.25rem;z-index:12000;margin:0;padding:.4rem .65rem;border-radius:.5rem;background:#0f172a;color:#fff;font-size:.8rem;font-weight:600;box-shadow:0 4px 12px #0f172a33}.screen-report-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12051;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:1rem}.screen-report-dialog{width:min(28rem,100%);max-height:90vh;overflow:auto;padding:1.25rem}.screen-report-dialog h2{margin:0 0 .5rem;font-size:1.15rem}.screen-report-lead,.screen-report-privacy,.screen-report-alt{font-size:.9rem;color:#475569}.screen-report-field{display:flex;flex-direction:column;gap:.35rem;margin:.75rem 0}.screen-report-field textarea{width:100%;resize:vertical}.screen-report-checkbox{display:flex;gap:.5rem;align-items:flex-start;font-size:.9rem;margin-bottom:.75rem}.screen-report-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.5rem}.screen-report-feedback{font-size:.9rem;margin:.5rem 0 0}.screen-report-feedback--err{color:#b91c1c}.combined-session-checkin-panel{margin-bottom:1rem}.combined-session-checkin-embedded{margin-bottom:.75rem;text-align:center}.session-attend-qr-header{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:.75rem;text-align:center}.session-attend-qr-layout{display:grid;grid-template-columns:minmax(0,18rem) auto;gap:1.25rem;align-items:start;text-align:center;width:fit-content;max-width:100%;margin-inline:auto}.session-attend-qr-copy{min-width:0;max-width:18rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center}.session-attend-qr-copy .guest-checkin-title{width:100%;text-align:center}.session-attend-qr-visual{display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.session-attend-qr-class-names{list-style:none;margin:.25rem 0 0;padding:0;display:flex;flex-direction:column;align-items:center;gap:.4rem;width:100%}.session-attend-qr-class-name{box-sizing:border-box;width:100%;max-width:18rem;padding:.45rem .9rem;border:2px solid #334155;border-radius:10px;background:#fff;font-size:1.125rem;font-weight:700;line-height:1.3;color:#0f172a;text-align:center;overflow-wrap:anywhere}.session-attend-qr-when{margin:.35rem 0 0;font-size:.85rem;text-align:center;width:100%}.session-attend-qr-combined-actions{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;gap:.15rem .5rem;font-size:.8rem;width:100%;text-align:center}.session-attend-qr-combined-actions .session-attend-inline-sep{display:inline;margin:0 .1rem;color:#94a3b8;font-size:.8rem}.session-attend-qr-combined-settings{margin-top:1rem;padding-top:.65rem;border-top:1px solid #e2e8f0;width:100%;text-align:center}.session-attend-qr-combined-settings-summary{display:inline-block;font-size:.78rem;color:#94a3b8;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.session-attend-qr-combined-settings-summary::-webkit-details-marker{display:none}.session-attend-qr-combined-settings[open] .session-attend-qr-combined-settings-summary{margin-bottom:.4rem}.session-attend-inline-action--subtle{color:#64748b;font-size:.8rem}.session-attend-inline-action--subtle:hover:not(:disabled){color:#475569}.session-attend-inline-action--subtle:disabled{opacity:.55;cursor:not-allowed}@media (max-width: 720px){.session-attend-qr-layout{grid-template-columns:1fr;text-align:center;width:100%}.session-attend-qr-copy,.session-attend-qr-class-name{max-width:100%}}.session-attend-qr-header-text{min-width:0;width:100%}.session-attend-qr-combine-link{flex-shrink:0}.session-attend-qr-body{display:flex;flex-direction:column;align-items:center;gap:.75rem}.combined-session-checkin-compact{margin:0 0 .75rem;text-align:center}.combined-session-checkin-suggest--compact .combined-session-checkin-actions{justify-content:center}.combined-session-checkin-suggest--compact{text-align:center}.session-attend-inline-action{background:none;border:none;padding:0;font:inherit;color:var(--link, #2563eb);cursor:pointer;text-decoration:underline;text-align:center}.session-attend-inline-sep{margin:0 .35rem;color:var(--muted, #64748b)}.combined-session-checkin-suggest{margin-top:.75rem;padding:.75rem;border-radius:8px;background:var(--sidebar-well, #f4f3f0);border:1px solid var(--border, #e2e8f0)}.combined-session-checkin-suggest--compact{margin-top:0;margin-bottom:.75rem}.combined-session-checkin-suggest-lead{margin:0 0 .75rem;font-size:.95rem}.combined-session-checkin-list{margin:.5rem 0 .75rem;padding-left:1.25rem}.combined-session-checkin-actions{display:flex;flex-wrap:wrap;gap:.5rem}.combined-session-checkin-candidates{list-style:none;margin:.75rem 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.combined-session-checkin-candidate{display:flex;gap:.5rem;align-items:flex-start}.admin-category-terminology{min-width:0}.admin-category-terminology-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.admin-terminology-table-scroll{overflow-x:auto;max-width:100%}.admin-terminology-table{min-width:960px}.admin-terminology-table .admin-terminology-col-id{font-family:var(--font-mono, ui-monospace, monospace);font-size:.85rem;white-space:nowrap}.admin-terminology-cell-input{width:100%;min-width:7rem;box-sizing:border-box}.admin-terminology-cell--differs{background:#ffc1071f;box-shadow:inset 0 0 0 1px #ffc10759}.admin-category-edit-form{display:flex;flex-direction:column;gap:.85rem;width:100%;min-width:0}.admin-category-edit-section.program-form-section{margin:0}.admin-form-section-label{margin:0 0 .65rem}.admin-form-section-label .program-form-section-title.section-title-with-help{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.2rem .35rem}.admin-form-section-block{grid-column:1 / -1}.admin-category-edit-grid{width:100%;min-width:0}.program-form-modal.admin-category-create-modal{max-width:min(68rem,calc(100vw - 2rem));width:100%}.admin-category-edit-grid>.program-form-field,.admin-category-edit-grid>.admin-form-inline-field,.admin-category-edit-grid>.admin-form-readonly-info{min-width:0}.admin-form-inline-field{display:flex;flex-direction:row;align-items:center;gap:.5rem .65rem;min-width:0;width:100%}.admin-form-inline-label-row{flex:0 0 auto;display:inline-flex;align-items:center;flex-wrap:nowrap;gap:.15rem;max-width:42%}.admin-form-inline-label-row .context-help{flex-shrink:0}.admin-form-inline-label-text{white-space:nowrap}.admin-form-inline-control{flex:1 1 auto;min-width:0}.admin-category-terminology-meta,.admin-category-terminology-slots{grid-column:1 / -1;width:100%;min-width:0}.admin-category-terminology-slots{margin-top:.35rem}.admin-category-terminology-slots .admin-form-inline-field{gap:.5rem .85rem}.admin-category-terminology-slots .admin-form-inline-label-row{flex:0 1 auto;max-width:10.25rem;min-width:0}.admin-category-terminology-slots .admin-form-inline-label-text{white-space:normal;line-height:1.25}.admin-category-terminology-slots .admin-form-inline-control{flex:1 1 6.5rem;min-width:0}.admin-category-edit-grid .admin-form-inline-field,.admin-category-edit-grid .admin-form-readonly-info,.admin-category-terminology-slots .admin-form-inline-field{width:100%;max-width:100%;min-width:0}.admin-form-inline-field.program-form-field-full{grid-column:1 / -1;max-width:none}.admin-form-inline-field.program-form-field-full .admin-form-inline-label-row{max-width:none;flex:0 0 auto}.admin-form-inline-control input,.admin-form-inline-control select,.admin-form-inline-field>.admin-form-inline-control input,.admin-form-inline-field>.admin-form-inline-control select{width:100%;min-width:0}.admin-form-readonly-info .admin-form-readonly-value{flex:1 1 auto;min-width:0;font-size:.88rem;line-height:1.4;color:#334155;word-break:break-word}.admin-form-readonly-info.program-form-field-full{grid-column:1 / -1;max-width:none}.section-header-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem 1rem;margin-bottom:1rem}.maintenance-job-stats{margin:.35rem 0 0;padding:.35rem .5rem;max-width:28rem;font-size:.72rem;line-height:1.35;white-space:pre-wrap;word-break:break-word;background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px}.maintenance-job-actions-inner{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}.admin-category-terminology-resolved-program{display:none}.org-checkin-qr-wall-kiosk-open{overflow:hidden}.org-checkin-qr-wall-kiosk{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12000;display:flex;flex-direction:column;gap:1rem;padding:1rem 1.25rem 1.5rem;background:var(--surface-page, #f8fafc);overflow:auto}.org-checkin-qr-wall-kiosk-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem 1rem;flex-shrink:0}.org-checkin-qr-wall-kiosk-header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem .75rem;margin-left:auto}.org-checkin-qr-wall-legend{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .75rem;margin:0;padding:0;list-style:none;font-size:.78rem;line-height:1.35;color:var(--text-muted, #64748b);max-width:min(28rem,100%)}.org-checkin-qr-wall-legend li{display:inline-flex;align-items:center;gap:.35rem}.org-checkin-qr-wall-legend-swatch{display:inline-block;width:.65rem;height:.65rem;border-radius:3px;flex-shrink:0;border:1px solid rgba(15,23,42,.08)}.org-checkin-qr-wall-legend-swatch--present{background:#047857}.org-checkin-qr-wall-legend-swatch--absent{background:#b45309}.org-checkin-qr-wall-kiosk-meta{display:grid;gap:.25rem}.org-checkin-qr-wall-kiosk-hint,.org-checkin-qr-wall-kiosk-updated,.org-checkin-qr-wall-kiosk-status{margin:0}.org-checkin-qr-wall-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr));gap:1rem;align-content:start}.org-checkin-qr-wall-tile{display:flex;flex-direction:column;gap:.5rem;padding:1rem}.org-checkin-qr-wall-tile-when,.org-checkin-qr-wall-tile-instructor{margin:0}.org-checkin-qr-wall-students{margin:0;padding-left:1.1rem;columns:2;column-gap:1rem;font-size:.92rem;line-height:1.45}.org-checkin-qr-wall-student-name{break-inside:avoid;margin:.1rem 0;font-weight:600}.org-checkin-qr-wall-student-name--present{color:#047857}.org-checkin-qr-wall-student-name--absent{color:#b45309}.org-checkin-qr-wall-tile-qr{display:flex;justify-content:center;align-items:center;flex-shrink:0;min-height:12rem;margin-bottom:.15rem}.org-checkin-qr-wall-tile-qr .session-attend-qr{width:min(100%,16rem);height:auto;display:block}.org-checkin-qr-wall-tab{display:grid;gap:.75rem;max-width:42rem}.org-checkin-qr-wall-open-btn{justify-self:start}.org-checkin-qr-wall-exit-backdrop{z-index:12010}label{display:flex;flex-direction:column;gap:.4rem;color:#374151;font-size:.9rem}input,select{border:1px solid #d1d5db;border-radius:8px;padding:.55rem .65rem;background:#fff}input:focus,select:focus{outline:2px solid #bfdbfe;border-color:#60a5fa}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1rem}.form-stack{display:flex;flex-direction:column;gap:.8rem}.primary-btn{border:0;border-radius:8px;background:#2563eb;color:#fff;padding:.65rem .8rem;font-weight:600;cursor:pointer}.primary-btn:hover{background:#1d4ed8}.primary-btn:disabled,.primary-btn:disabled:hover,.primary-btn.is-disabled,.primary-btn.is-disabled:hover{cursor:not-allowed;opacity:.55;background:#2563eb;filter:grayscale(.35)}.notification-prefs-fieldset{margin:.35rem 0 .15rem;padding:.75rem .85rem;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;min-width:0;max-width:100%;box-sizing:border-box}.notification-prefs-fieldset legend{padding:0 .25rem;font-size:.84rem;font-weight:700;color:#334155}.notification-prefs-option{display:flex;flex-direction:row;align-items:flex-start;gap:.55rem;margin:.55rem 0 0;font-size:.84rem;line-height:1.45;color:#475569;min-width:0;max-width:100%}.notification-prefs-option input[type=checkbox]{width:auto;min-width:auto;max-width:none;margin-top:.2rem;flex:0 0 auto;flex-shrink:0}.notification-prefs-option>span{flex:1 1 auto;min-width:0}.notification-prefs-hint{margin:.35rem 0 0;min-width:0;max-width:100%;line-height:1.45}.org-sms-program-pricing-note{margin:.65rem 0 .15rem}.org-sms-feature-cost{color:#1d4ed8;font-weight:600;white-space:nowrap}.org-sms-feature-option{margin-left:.35rem}.org-notification-catalog .org-notification-feature-header,.org-notification-catalog .org-notification-feature-row{display:grid;column-gap:.75rem;row-gap:.35rem}.org-notification-catalog .org-notification-feature-header>:not(:first-child),.org-notification-catalog .org-notification-feature-row>:not(:first-child){justify-self:center;width:100%;max-width:4.5rem}.org-notification-feature-header{margin:.75rem 0 .35rem;padding:0 .15rem;align-items:end}.org-notification-feature-header-type{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#64748b}.org-notification-feature-header-channel{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:.2rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#64748b;min-width:0;text-align:center}.org-notification-channel-header-title{justify-content:center;line-height:1.25}.org-notification-channel-header-cost{font-size:.7rem;font-weight:600;text-transform:none;letter-spacing:normal;line-height:1.25;text-align:center}.org-notification-feature-row{align-items:center;margin:.5rem 0 0;padding:.35rem .15rem 0;border-top:1px solid #e2e8f0}.org-notification-feature-label{font-weight:600;font-size:.84rem;color:#334155}.org-notification-channel-cell{display:flex;justify-content:center;align-items:center;margin:0;min-width:0;min-height:1.25rem}.org-notification-channel-cell input[type=checkbox]{margin:0;flex:0 0 auto}.org-notification-org-email-pricing{margin:.35rem 0 .55rem}.org-notification-org-email-pricing .org-notification-feature-header-channel{align-items:flex-start}.org-notification-activity-options{margin:.1rem 0 .35rem}.org-notification-suboption-row{border-top-style:dashed;margin-top:.35rem;padding-top:.25rem}.org-notification-suboption-label{font-size:.8rem;font-weight:500;padding-left:.75rem;border-left:2px solid #e2e8f0}.org-notification-lead-row .org-sms-activity-reminder-lead{margin:0;padding-left:.75rem;border-left:2px solid #e2e8f0}.org-notification-channel-spacer{display:block;min-height:1px}.org-sms-activity-reminder-options{margin:.15rem 0 .35rem 1.55rem;display:grid;gap:.2rem}.org-sms-activity-reminder-lead{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin:.05rem 0 .2rem 1.65rem}.org-sms-activity-reminder-lead-field{display:flex;flex-direction:row;align-items:center;margin:0;gap:0}.org-sms-activity-reminder-lead-field select{width:auto;min-width:0;padding:.35rem .5rem;font-size:.84rem}@media (max-width: 767px){.form-grid{grid-template-columns:minmax(0,1fr);grid-auto-columns:minmax(0,1fr);padding:.75rem}}.profile-org-settings-column{margin-bottom:.35rem}.profile-org-settings-divider{margin:1.1rem 0 .85rem;border-top:1px solid #e2e8f0}.profile-two-column{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}@media (max-width: 767px){.profile-two-column{grid-template-columns:minmax(0,1fr)}}.profile-second-column{display:grid;gap:1rem;min-width:0;align-content:start}.profile-section-card{display:flex;flex-direction:column;gap:.75rem}.profile-section-title{margin:0;font-family:inherit;font-size:1.125rem;font-weight:600;letter-spacing:-.015em;line-height:1.25;color:#0f172a}.profile-subsection-title{margin:0;font-family:inherit;font-size:.95rem;font-weight:600;line-height:1.3;color:#0f172a}.profile-section-card>.hint{margin:0}.profile-section-card>.payment-method-form{margin-bottom:0}.profile-section-card .notification-prefs-fieldset{margin:0;padding:0;border:none;background:transparent;border-radius:0}.profile-section-card .notification-prefs-fieldset>legend{display:block;width:100%;margin:0 0 .5rem;padding:0;font-family:inherit;font-size:1.125rem;font-weight:600;letter-spacing:-.015em;line-height:1.25;color:#0f172a}.profile-section-card .notification-prefs-option:first-of-type{margin-top:0}.profile-section-card .cart-due-invoices-notice,.commerce-cart-section .cart-due-invoices-notice{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem;margin:0 0 1rem;padding:.75rem .85rem;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.commerce-cart-section .cart-due-invoices-notice .payment-detail{margin:0;flex:1 1 12rem}.profile-section-card .notification-prefs-profile-row{align-items:center}.profile-section-card .profile-notification-inline-label{display:inline-flex;flex-direction:row;align-items:center;gap:.55rem;margin:0;min-width:0;cursor:pointer}.profile-section-card .profile-notification-inline-label input[type=checkbox]{margin:0;flex:0 0 auto}.profile-section-card .profile-notification-inline-label .profile-inline-label{margin:0}.profile-section-card .notification-prefs-profile-field-spacer{min-height:0}.profile-section-card .org-sms-program-pricing-note{margin-top:.35rem}.legal-doc-add-form .legal-doc-title-field{grid-template-columns:auto minmax(0,1fr);align-items:center}.legal-doc-add-form .legal-doc-body-field>.login-label.profile-inline-label{padding-top:0}.legal-doc-body-field.login-account-label.profile-inline-field,.legal-doc-body-field.profile-summary-field{display:flex;flex-direction:column;align-items:stretch;gap:.45rem}.legal-doc-body-field .profile-logo-field-body,.legal-doc-body-field .rich-text-editor{width:100%;max-width:100%}@media (max-width: 767px){.legal-doc-add-form .legal-doc-title-field{grid-template-columns:auto minmax(0,1fr);align-items:center}}.profile-page-stack{display:flex;flex-direction:column;gap:1rem;min-width:0}.portal-identity-merge-username{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .65rem;min-width:0;font-weight:500;color:#0f172a}.portal-identity-merge-enrollment-hint{font-weight:400}.portal-identity-merge-password-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0}.portal-identity-merge-password-actions .password-input-row{flex:1 1 10rem;min-width:0}.portal-identity-merge-submit{flex:0 0 auto;white-space:nowrap}@media (max-width: 640px){.portal-identity-merge-password-row.profile-inline-field{align-items:start}.portal-identity-merge-password-actions{flex-direction:column;align-items:stretch}.portal-identity-merge-submit{width:100%}}.profile-join-link-body{display:flex;flex-direction:column;gap:.5rem;min-width:0}.profile-join-link-body a{color:inherit;word-break:break-all}.profile-join-actions{display:flex;flex-wrap:wrap;gap:.5rem}.profile-join-qr{width:12rem;height:12rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff;padding:.4rem}.session-attend-qr-panel{display:flex;flex-direction:column;align-items:center;min-width:0}.session-attend-qr-panel .guest-checkin-title{margin-bottom:0}.session-attend-qr{display:block;box-sizing:border-box;width:20rem;max-width:100%;height:auto;margin:0;border:1px solid #e2e8f0;border-radius:8px;background:#fff;padding:.4rem}@media (max-width: 767px),(max-height: 700px){.session-attend-qr{width:min(20rem,85vw,62dvh)}}.session-attend-embedded{width:100%}.session-attend-embedded .session-attend-card{width:min(100%,36rem)}.session-attend-page{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:2rem 1rem}.session-attend-card{width:min(100%,28rem);padding:1.25rem}
