: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:absolute;top:1.35rem;right:-16px;z-index:40;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{right:auto;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-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 img.sidebar-logo-plated{padding:.3rem;border:1px solid var(--sidebar-border);background:var(--sidebar-logo-well)}.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-brand-logos .sidebar-institute-logo.sidebar-logo-plated{border:1px solid var(--sidebar-border);background:var(--sidebar-logo-well)}.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-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{flex-shrink:0;align-self:flex-start}.root-disabled-register-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;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}.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))}.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-badge{flex-shrink:0;min-width:1.35rem;padding:.12rem .42rem;border-radius:999px;font-size:.72rem;font-weight:700;line-height:1.2;background:#f97316;color:#fff}.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}.card h3,.card h4{margin:0;font-family:inherit;font-size:var(--portal-title-sm);font-weight:600;line-height:1.3;color:#0f172a}.kpi-grid .card strong{display:inline-block;margin-top:.7rem;font-size:1.4rem}.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}.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}.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:.35rem;padding:0;font-size:inherit;font-weight:500}.discount-policy-charge-type-option{display:flex;align-items:center;gap:.45rem;margin:.25rem 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-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{overflow-x:auto}table.individualized-milestone-grid{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0}table.individualized-milestone-grid th,table.individualized-milestone-grid td{padding-top:.4rem;padding-bottom:.4rem}.individualized-milestone-topic-col-def{width:auto}.individualized-milestone-mark-col-def{width:5.5rem}.individualized-milestone-topic-col{position:sticky;left:0;z-index:2;width:auto;min-width:0;background:#fff;vertical-align:middle;white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.35;padding-inline-start:calc(.9rem + (var(--milestone-depth, 1) - 1) * 1.2rem)}thead .individualized-milestone-topic-col{z-index:3;background:#f9fafb;font-weight:600}.individualized-milestone-participant-col,.individualized-milestone-mark-col{width:5.5rem;min-width:5.5rem;max-width:5.5rem;text-align:center;vertical-align:middle;white-space:normal;overflow-wrap:anywhere;line-height:1.25}.individualized-milestone-unit-row .individualized-milestone-topic-col,.individualized-milestone-unit-row .individualized-milestone-mark-col{background:#f8fafc;font-weight:600;border-top:1px solid #e2e8f0}.individualized-milestone-unit-row:first-child .individualized-milestone-topic-col,.individualized-milestone-unit-row:first-child .individualized-milestone-mark-col{border-top:0}.individualized-milestone-topic-title{display:inline;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;align-items:center;justify-content: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-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}.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}.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{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:170px minmax(0,1fr);align-items:center;gap:.7rem;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{display:flex;gap:.35rem;align-items:center}.password-toggle-btn{white-space:nowrap}.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-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-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}.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-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-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>.chip{margin-left:0;flex-shrink:0}@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}.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}.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}.learner-calendar-day--time-grid{min-height:0;padding:.45rem;display:flex;flex-direction:column;gap:.35rem;background:#f8fafc}.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-grid-main{min-width:0}.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-canvas{position:relative;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.calendar-day-time-gridline{position:absolute;left:0;right:0;border-top:1px solid #f1f5f9;pointer-events:none}.calendar-day-time-event{position:absolute;z-index:1;min-width:0;overflow:visible}.calendar-day-time-event:has(.calendar-event--appointment-booked){z-index:2;height:auto!important}.calendar-day-time-event:has(.is-selected){z-index:4}.calendar-day-time-event .calendar-event{height:100%;position:relative}.calendar-day-time-event .calendar-event--appointment-booked{height:auto}.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}.calendar-view-toggle{display:flex;gap:.5rem;margin-top:.5rem}.calendar-nav-row{margin-top:.65rem;display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.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 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{pointer-events:auto;z-index:2}.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--selectable.is-selected{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f638;background:#eff6ff}.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{border-color:#6ee7b7;background:#ecfdf5}.calendar-event--appointment-booked strong{color:#047857}.calendar-event--selectable.is-selected.calendar-event--appointment-booked{border-color:#10b981;box-shadow:0 0 0 2px #10b98147;background:#d1fae5}.calendar-event-blocked-badge{color:#b91c1c;font-weight:600;font-size:.68rem}.calendar-event-booked-badge{color:#047857;font-weight:600;font-size:.68rem}.calendar-event-appointment-org{color:#475569}.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;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}.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}.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}.calendar-session-detail-title{margin:0;font-size:1.05rem;color:#0f172a}.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-location-section{margin-top:0;padding-top:0;border-top: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-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-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{pointer-events:auto;z-index:2}.calendar-month-session-wrap:hover{background:#f1f5f9}.calendar-month-session-wrap.is-selected{background:#dbeafe;outline:1px solid #93c5fd}.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-session-btn--booked:hover,.calendar-month-session-btn--booked.is-selected:hover{background:#d1fae5}.calendar-month-session-wrap--booked,.calendar-month-session-btn--booked{background:#ecfdf5}.calendar-month-session-wrap--booked:hover,.calendar-month-session-wrap.is-selected.calendar-month-session-wrap--booked{background:#d1fae5}.calendar-month-session-wrap.is-selected.calendar-month-session-wrap--booked{outline-color:#6ee7b7}.calendar-month-session-btn--booked.is-selected{outline:1px solid #6ee7b7}.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-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}.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{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:280px;border:0}.address-map-preview-pending{display:flex;align-items:center;justify-content:center;height:280px;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}.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-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-wrap:wrap;align-items:center;gap:.35rem}.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-enroll>.program-detail-enroll-btn{margin-top:.35rem}.program-detail-enroll-hint{color:#64748b;font-size:.92rem;line-height:1.45}.program-detail-enroll .learner-calendar-card{margin-top:.85rem}.public-booking-selected-summary{margin:0;color:#334155;font-size:.9rem}.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{height:110px;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}.program-catalog-scope-shell .parent-child-tabbar-tabs{width:100%}.program-mgmt-list{display:flex;flex-direction:column;gap:1rem}.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{width:100%}.staff-payments-tab-panel{display:flex;flex-direction:column;gap:.75rem}.staff-billing-invoices-tabs{margin-top:.35rem}.staff-billing-invoices-tablist{width:100%}.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 .program-mgmt-title-col{width:14%;min-width:6rem}.program-mgmt-list .program-mgmt-date-col{width:2.5rem}.program-mgmt-list th.program-mgmt-date-col,.program-mgmt-date-cell{padding-left:.35rem;padding-right:.35rem}.program-mgmt-list .program-mgmt-schedule-col{width:7.75rem}.program-mgmt-list th.program-mgmt-schedule-col,.program-mgmt-schedule-cell{padding-left:.4rem;padding-right:.4rem}.program-mgmt-schedule-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-type-col{width:11rem}.program-mgmt-type-cell{white-space:normal;word-break:break-word;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:7.25rem}.program-mgmt-list .program-mgmt-narrow-meta-col{width:5.5rem}.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{max-width:10rem;vertical-align:top}.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-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-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-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.35rem}.public-booking-link-url{font-size:.875rem;word-break:break-all}.public-booking-link-inline{margin:0 0 .75rem}.public-booking-link-inline-label{display:block;font-size:.8rem;font-weight:600;color:#334155;margin-bottom:.2rem}.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-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--program){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-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:4 / 3;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-weekly-toolbar{margin:.35rem 0 .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-weekly-slot-row select,.program-form-weekly-slot-row input[type=time]{font:inherit;font-size:.85rem;padding:.35rem .45rem;border:1px solid #cbd5e1;border-radius:8px;background:#fff}.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-grid--3col>.program-form-program-type{grid-column:span 2}.program-form-hide-tuition-field{justify-content:flex-end}.program-form-hide-tuition-field .section-title-with-help{align-items:center;min-height:2.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:.65rem 0 0;padding:.55rem .65rem .45rem;border:1px solid #e2e8f0;border-radius:8px}.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}.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-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-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-location-section{grid-column:1 / -1}.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-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-program-type,.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--wide:not(.admin-row-edit-modal--program) .admin-row-edit-modal-body{display:block}.admin-org-edit-checkboxes{display:flex;flex-direction:column;gap:.45rem;grid-column:1 / -1}.admin-row-edit-modal--program{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-program-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:.15rem}.admin-row-edit-modal-program-actions{flex-shrink:0;justify-content:space-between;align-items:flex-end;gap:.75rem 1rem}.admin-row-edit-modal-program-sync{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;min-width:0;flex:1 1 auto}.admin-row-edit-modal-program-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-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-identity{display:flex;flex-wrap:wrap;align-items:baseline;gap:.45rem}.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}.announcement-read-list strong{font-weight:600}.announcement-read-list li{margin-bottom:.65rem}.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;max-width:36rem}.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}.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}.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}.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 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{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;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-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--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-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}.guest-attendance-participant-col,.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-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:1 1 auto;justify-content:center;margin-left:0}.org-open-roster-section .org-open-roster-toolbar{margin:.75rem 0 .5rem}.org-open-roster-search{max-width:28rem}.org-open-roster-initials{display:flex;flex-wrap:wrap;gap:.35rem;margin:.75rem 0 1rem}.org-open-roster-table-wrap{overflow-x:auto}.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-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-totals{margin: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}.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-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-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}.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-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.staff-linked-providers-table{min-width:0}.staff-linked-providers-table .staff-linked-provider-status,.staff-linked-providers-table .staff-linked-provider-actions-cell{white-space:normal}table.individualized-milestone-grid{min-width:0}.app-shell .individualized-milestone-topic-col,.app-shell thead .individualized-milestone-topic-col,.app-shell .individualized-milestone-unit-row .individualized-milestone-topic-col,.app-shell .individualized-milestone-unit-row .individualized-milestone-mark-col{position:static;left:auto;z-index:auto;min-width:0;max-width:none;width:auto;padding-inline-start:.8rem;background:transparent;border-top:0;font-weight:inherit}.app-shell .individualized-milestone-participant-col,.app-shell .individualized-milestone-mark-col{min-width:0;width:auto;text-align:left}.app-shell .individualized-milestone-mark{flex-direction:row;justify-content:flex-start;gap:.4rem}.app-shell table.individualized-milestone-grid tbody .individualized-milestone-topic-col{grid-template-columns:minmax(0,1fr);padding-bottom:.25rem}.app-shell table.individualized-milestone-grid tbody .individualized-milestone-topic-col:before{content:none}.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 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.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}.app-shell .program-mgmt-schedule-cell,.app-shell .program-mgmt-date-cell,.app-shell .program-mgmt-title-col,.app-shell .program-mgmt-type-col,.app-shell .program-mgmt-meta-col,.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-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}.learner-calendar-week,.calendar-week-time-layout,.learner-calendar-monthly{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.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-program-type,.program-form-field-span2{grid-column:1 / -1}.program-form-program-type-row{flex-direction:column;align-items:flex-start}.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--program{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}}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-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}
