:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#17202a;font-synthesis:none;text-rendering:optimizelegibility;background:#eef2f6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.sidebar{color:#f7fafc;background:#152026;flex-direction:column;gap:12px;padding:24px 18px;display:flex}.brand{align-items:center;gap:12px;margin-bottom:18px;display:flex}.brand strong{font-size:18px;display:block}.brand span,.sidebar-footer span,.session-main p,.assignment-row span{color:#8ea0ad;font-size:13px}.brand.large{color:#17202a;margin-bottom:26px}.brand.large span{color:#60717d}.nav{color:#dce7ee;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;padding:11px 12px;display:flex}.nav.active,.nav:hover{color:#fff;background:#253641}.sidebar-footer{border-top:1px solid #31424e;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:18px;display:flex}.workspace{padding:28px;overflow:auto}.topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}h1,h2,h3,p{margin:0}h1{font-size:28px}h2{font-size:18px}h3{font-size:17px}.topbar p{color:#60717d;margin-top:5px}.primary-button,.secondary-button,.danger-button,.icon-button{border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:38px;font-weight:700;display:inline-flex}.primary-button{color:#fff;background:#286b5f;padding:0 14px}.secondary-button{color:#26343d;background:#fff;border-color:#d7e0e7;padding:0 12px}.danger-button{color:#be123c;background:#fff1f2;border-color:#fecdd3;padding:0 12px}.icon-button{color:#26343d;background:#fff;border-color:#d7e0e7;flex:none;width:38px}button:disabled,select:disabled{cursor:not-allowed;opacity:.55}.notice{background:#fff;border:1px solid #d7e0e7;border-radius:8px;align-items:center;gap:10px;margin-bottom:18px;padding:12px 14px;display:flex}.notice.error{color:#7c2d12;background:#fff7ed;border-color:#fed7aa}.schedule-view,.schedule-admin-shell{gap:16px;display:grid}.schedule-subpages{flex-wrap:wrap;width:fit-content}.schedule-overview-grid{grid-template-columns:repeat(2,minmax(280px,1fr));gap:16px;display:grid}.overview-row>div{gap:2px;display:grid}.overview-row span{color:#60717d;font-size:13px}.schedule-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.schedule-clear-panel{gap:12px}.schedule-clear-controls{flex-wrap:wrap;gap:16px;display:flex}.schedule-clear-option{color:#26343d;align-items:center;gap:8px;font-weight:700;display:inline-flex}.schedule-clear-option input{width:auto;min-height:auto}.month-controls{align-items:center;gap:10px;display:flex}.month-controls strong{text-transform:capitalize;min-width:185px;font-size:18px}.segmented-control{background:#dfe8ee;border:1px solid #cbd7df;border-radius:8px;gap:3px;padding:3px;display:inline-flex}.segmented-control button{color:#485863;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;min-height:34px;padding:0 10px;font-weight:800;display:inline-flex}.segmented-control button.active{color:#17202a;background:#fff;box-shadow:0 1px 3px #17202a1f}.month-calendar{gap:12px;display:grid;overflow-x:auto}.public-calendar-page{width:100%;max-width:1500px;min-height:100vh;margin:0 auto;padding:22px}.public-calendar-header,.public-calendar-title{align-items:center;display:flex}.public-calendar-header{justify-content:space-between;gap:20px;margin-bottom:16px}.public-calendar-controls{justify-content:flex-end;align-items:center;gap:12px;display:flex}.public-calendar-title{color:#286b5f;gap:10px}.public-calendar-title h1{color:#17202a;font-size:23px}.public-calendar-title p{color:#60717d;margin-top:2px;font-size:13px}.public-calendar-state,.public-calendar-empty{color:#485863;text-align:center;background:#fffc;border:1px solid #d7e0e7;border-radius:8px;padding:18px}.public-calendar-state.error{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.public-calendar-empty{text-align:left;min-width:700px}.public-calendar .calendar-class{cursor:default}.public-calendar.week-calendar-view .calendar-day,.public-calendar.week-calendar-view .calendar-week-number{min-height:360px}.calendar-class.cancelled{background-image:repeating-linear-gradient(-45deg,#0000,#0000 6px,#ffffff6b 6px 12px);border-left-style:dashed}.calendar-class.cancelled strong,.calendar-class.cancelled>span:not(.calendar-cancelled-label){text-decoration:line-through;text-decoration-thickness:1px}.calendar-class .calendar-cancelled-label{color:#9f1239;text-transform:uppercase;background:#fff1f2;border-radius:4px;width:fit-content;margin-top:3px;padding:2px 5px;font-size:10px;font-weight:900;line-height:1.2;text-decoration:none}.class-legend{background:#ffffffb8;border:1px solid #d7e0e7;border-radius:8px;align-items:center;gap:14px;min-width:700px;padding:10px 12px;display:flex}.class-legend-heading{gap:2px;min-width:128px;display:grid}.class-legend-heading strong{color:#26343d;font-size:13px}.class-legend-heading span{color:#60717d;font-size:11px}.class-legend-items{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.class-legend-item,.class-legend-reset{color:#485863;background:#fffc;border:1px solid #d7e0e7;border-radius:999px;align-items:center;gap:7px;min-height:32px;padding:0 10px;font-size:12px;font-weight:800;transition:opacity .16s,background-color .16s,box-shadow .16s,transform .16s;display:inline-flex}.class-legend-item{border-color:var(--class-color-ring);background:var(--class-color-soft)}.class-legend-swatch{background:var(--class-color);width:9px;height:9px;box-shadow:0 0 0 3px var(--class-color-soft);border-radius:50%}.class-legend-item:hover,.class-legend-item:focus-visible,.class-legend-item.active{background:var(--class-color-strong);box-shadow:0 0 0 2px var(--class-color-ring);outline:none}.class-legend-item.active{color:#17202a;transform:translateY(-1px)}.class-legend-item.dimmed{opacity:.42}.class-legend-reset.active,.class-legend-reset:hover,.class-legend-reset:focus-visible{color:#1f5d55;background:#edf8f5;border-color:#9bc8be;outline:none}.calendar-grid{background:#d7e0e7;border:1px solid #d7e0e7;border-radius:8px;grid-template-columns:58px repeat(7,minmax(112px,1fr));gap:1px;min-width:900px;display:grid;overflow:hidden;box-shadow:0 14px 30px #17202a0f}.weekday-heading,.weeknumber-heading{color:#485863;text-align:center;background:#f7fafc;min-height:36px;padding:10px;font-size:12px;font-weight:900}.weeknumber-heading{color:#286b5f}.calendar-week-number{color:#286b5f;background:#f2f7f6;justify-content:center;align-items:flex-start;min-height:145px;padding-top:12px;font-size:13px;font-weight:900;display:flex}.frequency-toggle{color:#485863;background:#fff;border:1px solid #cbd7df;border-radius:8px;min-height:38px;font-weight:800}.frequency-toggle.active{color:#1f5d55;background:#dff1ec;border-color:#286b5f}.field-help{color:#60717d;margin:-8px 0 0;font-size:13px}.calendar-day{background:#fff;flex-direction:column;gap:7px;min-height:145px;padding:8px;display:flex}.calendar-day.outside-month{background:#f2f5f8}.day-number{color:#26343d;font-size:13px;font-weight:900}.outside-month .day-number{color:#8ea0ad}.calendar-class-list{align-content:start;gap:6px;display:grid}.calendar-class{text-align:left;border-left:3px solid var(--class-color,#286b5f);background:var(--class-color-soft,#eef8f5);cursor:pointer;border-top:0;border-bottom:0;border-right:0;border-radius:6px;gap:2px;width:100%;min-height:58px;padding:6px 7px;transition:opacity .16s,background-color .16s,box-shadow .16s,transform .16s;display:grid;overflow:hidden}.calendar-class:hover,.calendar-class:focus-visible{background:var(--class-color-strong,#dff2ed);outline:2px solid var(--class-color-ring,#78b6aa);outline-offset:1px}.calendar-class.highlighted{background:var(--class-color-strong,#dff2ed);box-shadow:0 5px 12px #17202a1f, 0 0 0 1px var(--class-color-ring,#78b6aa);transform:translateY(-1px)}.calendar-class.dimmed{opacity:.26}.calendar-class.dimmed:hover,.calendar-class.dimmed:focus-visible{opacity:.72}@media (prefers-reduced-motion:reduce){.class-legend-item,.class-legend-reset,.calendar-class{transition:none}}.calendar-class strong,.calendar-class span{overflow-wrap:anywhere;line-height:1.25;display:block}.calendar-class strong{color:#17202a;font-size:13px}.calendar-class span{color:#485863;font-size:12px}.calendar-class.cancelled .instructor-role-row{text-decoration:line-through;text-decoration-thickness:1px}.instructor-role-rows{gap:1px;min-width:0;display:grid}.instructor-role-row{color:#485863;align-items:baseline;gap:4px;min-width:0;min-height:14px;font-size:12px;line-height:1.15;display:flex}.instructor-role-marker{flex:0 0 13px;font-weight:900;color:#1f5d55!important}.instructor-role-names{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.modal-backdrop{z-index:20;background:#15202680;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.editor-modal{background:#fff;border:1px solid #d7e0e7;border-radius:8px;width:min(760px,100%);max-height:min(860px,100vh - 40px);overflow:auto;box-shadow:0 24px 70px #17202a47}.editor-header,.editor-actions{justify-content:space-between;align-items:center;gap:14px;padding:16px;display:flex}.editor-header{border-bottom:1px solid #d7e0e7}.editor-header p{color:#60717d;margin-top:4px}.editor-body{gap:14px;padding:16px;display:grid}.editor-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.editor-grid label{color:#26343d;gap:6px;font-weight:800;display:grid}.editor-actions{border-top:1px solid #d7e0e7;justify-content:flex-end}.schedule-list{gap:22px;display:grid}.day-band{gap:12px;display:grid}.day-heading{color:#26343d;justify-content:space-between;align-items:end;display:flex}.day-heading span{color:#60717d;font-size:13px}.session-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px;display:grid}.session-card,.panel,.login-panel{background:#fff;border:1px solid #d7e0e7;border-radius:8px;box-shadow:0 14px 30px #17202a0f}.session-card{gap:14px;padding:16px;display:grid}.session-main{justify-content:space-between;gap:12px;display:flex}.session-time{color:#286b5f;margin-bottom:4px;font-weight:800}.status-pair{flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:8px;display:flex}.pill{color:#1f5d55;background:#e6f4f1;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.pill.draft{color:#485863;background:#eef2f6}.pill.published{color:#1f5d55;background:#e6f4f1}.pill.neutral{color:#485863;background:#eef2f6}.assignment-list{gap:8px;display:grid}.assignment-role-sections,.assignment-role-section,.coverage-role-grid,.coverage-role{gap:10px;display:grid}.assignment-role-sections{gap:16px}.assignment-role-section{background:#f9fbfc;border:1px solid #d7e0e7;border-radius:8px;padding:12px}.assignment-role-section h3,.coverage-role>span{margin:0;font-size:14px;font-weight:800}.coverage-role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.missing-instructor{font-weight:800;color:#b42318!important}.assignment-row,.coverage-add,.list-row,.inline-form{align-items:center;gap:10px;display:flex}.assignment-row{background:#f7fafc;border-radius:8px;min-height:44px;padding:8px}.assignment-row>div{min-width:130px;margin-right:auto}.assignment-row strong,.assignment-row span{display:block}.assignment-controls,.self-service-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.assignment-controls select{min-width:118px}.danger-icon{color:#be123c;background:#fff1f2;border-color:#fecdd3}.self-remove-button{color:#9f1239}.self-join-button{justify-self:start}.inline-notice{color:#1f5d55;background:#edf8f5;border:1px solid #b8d7d0;border-radius:8px;padding:9px 11px;font-size:13px;font-weight:700}.inline-notice.error{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.coverage-add select{flex:1}.publish-rotation-modal{width:min(620px,100%)}.publish-rotation-list,.publish-rotation-row{gap:8px;display:grid}.publish-rotation-row{border-bottom:1px solid #e1e7eb;grid-template-columns:minmax(140px,.7fr) minmax(220px,1.3fr);align-items:center;padding-bottom:12px}.publish-rotation-row>span{font-weight:700}.publish-rotation-list small{color:#60717d}@media (width<=600px){.publish-rotation-row{grid-template-columns:1fr}}.coverage-add-button{white-space:nowrap;flex:none}.note-field{color:#26343d;gap:6px;font-weight:700;display:grid}input,select,textarea{color:#17202a;background:#fff;border:1px solid #cbd7df;border-radius:8px;width:100%;min-height:38px;padding:8px 10px}textarea{resize:vertical;min-height:72px}.admin-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.admin-shell{gap:16px;display:grid}.class-types-page{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);align-items:start;gap:16px;display:grid}.class-types-list-panel{min-width:0}.class-type-summary{gap:12px}.class-type-summary>div{flex:1;gap:3px;min-width:0;display:grid}.class-type-summary>div span{color:#60717d;font-size:13px}.class-type-color-swatch{border:1px solid var(--class-color-ring);background:var(--class-color);width:18px;height:36px;box-shadow:inset 0 0 0 4px var(--class-color-soft);border-radius:6px;flex:none}.class-color-field,.class-color-field>div{gap:10px;display:flex}.class-color-field{flex-direction:column;align-items:stretch}.class-color-field>div{align-items:center}.class-color-field input[type=color]{cursor:pointer;flex:none;width:52px;min-height:42px;padding:3px}.class-color-preview{border:1px solid var(--class-color-ring);border-left:4px solid var(--class-color);background:var(--class-color-soft);color:#26343d;border-radius:8px;flex:1;align-items:center;gap:7px;min-height:42px;padding:8px 10px;font-weight:800;display:inline-flex}.class-color-field small{color:#60717d;font-size:12px}.season-layout{grid-template-columns:minmax(250px,320px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.season-row{width:100%;color:inherit;text-align:left;border:1px solid #0000}.season-row:hover,.season-row.selected{background:#eef8f5;border-color:#7db5a8}.season-row>span:first-child{gap:3px;display:grid}.season-row small{color:#60717d}.holiday-heading{justify-content:space-between;align-items:end;gap:12px;padding-top:6px;display:flex}.holiday-heading h3,.holiday-heading p{margin:0}.holiday-heading p{color:#60717d;margin-top:4px}.holiday-list{gap:10px;display:grid}.holiday-row{background:#f7fafc;border:1px solid #d8e0e6;border-radius:8px;grid-template-columns:minmax(180px,1fr) minmax(140px,.65fr) minmax(140px,.65fr) auto;align-items:end;gap:10px;padding:12px;display:grid}.holiday-row label,.season-editor-panel form>label,.season-editor-panel .split label{color:#26343d;gap:6px;font-weight:700;display:grid}.holiday-remove{margin-bottom:2px}.season-rollout-summary{color:#285b52;background:#eef8f5;border:1px solid #a8cec5;border-radius:8px;gap:6px;padding:12px;display:grid}.season-rollout-summary>span,.season-rollout-summary>small{color:#486b65}.season-holiday-summary{flex-wrap:wrap;gap:6px;display:flex}.users-page{grid-template-columns:minmax(280px,340px) minmax(320px,1fr) minmax(320px,1fr);align-items:start;gap:16px;display:grid}.my-user-page{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.calendar-subscription-panel{gap:16px}.calendar-subscription-panel p{color:#60717d;margin-top:6px;line-height:1.55}.calendar-subscription-actions{flex-wrap:wrap;gap:8px;display:flex}.calendar-subscription-link{gap:6px;display:grid}.calendar-subscription-link input{color:#48616f;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.calendar-subscription-instructions{background:#f7fafc;border:1px solid #dce6eb;border-radius:9px;padding:14px 16px}.calendar-subscription-instructions ol{color:#485863;margin:8px 0 0;padding-left:20px;line-height:1.55}.calendar-link-reset{color:#60717d;background:0 0;border:0;justify-self:start;align-items:center;gap:6px;padding:0;font-weight:700;text-decoration:underline;display:inline-flex}.team-overview-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));align-items:start;gap:16px;display:grid}.team-overview-card{padding:0;overflow:hidden}.team-overview-heading{border-bottom:1px solid #e1e7eb;align-items:center;gap:12px;padding:18px;display:flex}.team-overview-heading p,.team-overview-role-heading span,.team-overview-empty,.open-class-heading>span,.open-class-date-copy span,.open-classes-empty p{color:#60717d;font-size:13px}.team-color{border-radius:999px;flex:0 0 11px;width:11px;height:36px}.team-overview-roles{grid-template-columns:1fr 1fr;min-height:170px;display:grid}.team-overview-role{padding:18px}.team-overview-role+.team-overview-role{border-left:1px solid #e1e7eb}.team-overview-role-heading{margin-bottom:12px}.team-overview-role-heading h3{margin-bottom:3px;font-size:14px}.team-overview-members{gap:8px;display:grid}.team-overview-member{background:#f5f8f9;border-radius:8px;align-items:center;gap:9px;min-width:0;padding:8px 10px;display:flex}.team-overview-member strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.member-avatar{color:#1f5d55;background:#dcefeb;border-radius:50%;flex:0 0 28px;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:850;display:inline-flex}.team-overview-empty{align-items:center;gap:7px;padding:9px 0;display:flex}.open-classes-page,.open-class-groups{gap:16px;display:grid}.open-class-group{gap:0;padding:0;overflow:hidden}.open-class-heading{border-bottom:1px solid #e1e7eb;justify-content:space-between;align-items:center;gap:20px;min-height:62px;padding:14px 18px;display:flex}.open-class-heading>div{align-items:center;gap:11px;display:flex}.open-class-heading .team-color{flex-basis:8px;width:8px;height:28px}.open-class-dates{display:grid}.open-class-date{justify-content:space-between;align-items:center;gap:20px;min-height:68px;padding:12px 18px;display:flex}.open-class-date+.open-class-date{border-top:1px solid #edf1f3}.open-class-date-copy{gap:4px;display:grid}.open-class-date-copy strong{font-size:14px}.open-class-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.assigned-label{color:#286b5f;background:#e6f4f1;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:750}.open-classes-empty{text-align:center;color:#286b5f;align-content:center;place-items:center;min-height:260px}.open-classes-empty h2{color:#17202a}.panel{align-content:start;gap:14px;padding:16px;display:grid}.panel.wide,.availability-panel{grid-column:1/-1}.stack{gap:12px;display:grid}.stack.compact{gap:10px}.split{grid-template-columns:1fr 1fr;gap:8px;display:grid}.list,.payment-table{gap:8px;display:grid}.list-row{background:#f7fafc;border-radius:8px;justify-content:space-between;min-height:42px;padding:8px 10px}.user-row>div{text-align:left;gap:2px;min-width:0;display:grid}.user-row span{color:#60717d;overflow-wrap:anywhere;font-size:13px}.user-row select{max-width:180px}.user-row>.user-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.user-name-editor,.user-email-editor{grid-template-columns:minmax(150px,1fr) auto;gap:6px;display:grid}.user-delete-button{white-space:nowrap}.user-controls select{max-width:180px}.user-row{width:100%;color:inherit;text-align:inherit;cursor:pointer;border:0}.user-row:hover,.user-row.selected{background:#eef8f5}.availability-row{align-items:center;gap:12px}.availability-toggle{align-items:center;gap:10px;display:flex}.availability-time-range{min-width:min(320px,100%)}.class-type-checklist{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.class-type-option{background:#f7fafc;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;display:flex}.upcoming-class-row>div{gap:2px;display:grid}.upcoming-class-row span{color:#60717d;font-size:13px}@media (width<=1500px){.admin-grid{grid-template-columns:repeat(2,minmax(280px,1fr))}}@media (width<=1180px){.admin-grid,.users-page,.my-user-page,.season-layout,.class-types-page{grid-template-columns:1fr}.holiday-row{grid-template-columns:1fr 1fr}.panel.wide{grid-column:auto}.schedule-overview-grid,.setup-workspace{grid-template-columns:1fr}}.inline-form{flex-wrap:wrap}.inline-form>*{flex:160px}.login-screen{background:radial-gradient(circle at 8% 8%,#286b5f33,#0000 30%),radial-gradient(circle at 92% 92%,#ad7e371f,#0000 28%),#eef2f6;place-items:center;min-height:100vh;padding:32px;display:grid}.login-layout{background:#fff;border:1px solid #1520261a;border-radius:18px;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);width:min(960px,100%);min-height:590px;display:grid;overflow:hidden;box-shadow:0 30px 80px #17202a26}.login-intro{isolation:isolate;color:#f7fafc;background:linear-gradient(145deg,#286b5feb,#152026fa),#152026;flex-direction:column;padding:46px;display:flex;position:relative}.login-intro:after{content:"";z-index:-1;border:1px solid #ffffff1f;border-radius:50%;width:330px;height:330px;position:absolute;bottom:-130px;right:-90px;box-shadow:0 0 0 48px #ffffff09,0 0 0 96px #ffffff06}.login-brand,.privacy-brand{align-items:center;gap:11px;font-size:18px;display:inline-flex}.login-mark{color:#fff;background:#286b5f;border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.login-intro .login-mark{color:#17483f;background:#d9eee8}.login-intro-copy{max-width:470px;margin:auto 0}.login-eyebrow{color:#286b5f;letter-spacing:.13em;text-transform:uppercase;margin-bottom:12px;font-size:12px;font-weight:850;display:block}.login-intro .login-eyebrow{color:#a7d8cd}.login-intro h1{letter-spacing:-.035em;max-width:440px;font-size:clamp(35px,4.4vw,53px);line-height:1.04}.login-intro-copy>p{color:#c8d8d6;max-width:460px;margin-top:20px;font-size:16px;line-height:1.65}.login-benefits{border-top:1px solid #ffffff24;grid-template-columns:1fr 1fr;gap:18px;padding-top:26px;display:grid}.login-benefits>div{color:#a7d8cd;align-items:flex-start;gap:10px;display:flex}.login-benefits span,.login-benefits strong{display:block}.login-benefits span{color:#aebfbd;font-size:12px;line-height:1.5}.login-benefits strong{color:#fff;margin-bottom:2px;font-size:13px}.login-layout .login-panel{box-shadow:none;border:0;border-radius:0;flex-direction:column;justify-content:center;padding:54px 46px;display:flex}.login-screen>.login-panel{width:min(420px,100%);padding:24px}.login-panel-copy h2{letter-spacing:-.02em;font-size:27px}.login-panel-copy p{color:#60717d;margin-top:10px;line-height:1.55}.login-actions{margin-top:30px}.login-button{width:100%;min-height:48px}.login-help{color:#60717d;border-top:1px solid #e2e8ed;margin-top:28px;padding-top:22px;font-size:13px;line-height:1.5}.login-help a,.privacy-document a{color:#1f665a;text-underline-offset:3px;font-weight:750;text-decoration-thickness:1px}.login-help a{margin-top:12px;display:inline-block}.privacy-page{background:#f5f7f8;min-height:100vh}.privacy-header{background:#fffffff0;border-bottom:1px solid #dfe6ea;justify-content:space-between;align-items:center;gap:24px;min-height:76px;padding:14px max(24px,50vw - 460px);display:flex}.privacy-brand{color:#17202a;text-decoration:none}.privacy-back{color:#40515c;align-items:center;gap:7px;font-size:14px;font-weight:750;text-decoration:none;display:inline-flex}.privacy-document{background:#fff;border:1px solid #dfe6ea;border-radius:14px;width:min(820px,100% - 40px);margin:48px auto 80px;padding:48px 56px;box-shadow:0 18px 45px #17202a0f}.privacy-title{border-bottom:1px solid #dfe6ea;padding-bottom:30px}.privacy-title h1{letter-spacing:-.035em;font-size:clamp(34px,5vw,48px)}.privacy-title p{color:#60717d;margin-top:10px;font-size:17px;line-height:1.55}.privacy-updated{color:#7b8a93;margin-top:18px;font-size:13px;display:block}.privacy-document section{padding-top:30px}.privacy-document section h2{color:#1c2d35;margin-bottom:12px;font-size:20px}.privacy-document section p,.privacy-document section li{color:#495b66;line-height:1.72}.privacy-document section p+p{margin-top:12px}.privacy-document ul{margin:0 0 14px;padding-left:22px}.privacy-document li+li{margin-top:7px}.privacy-note{color:#52656f;background:#edf6f3;border-left:3px solid #286b5f;border-radius:0 8px 8px 0;margin-top:34px;padding:18px 20px;font-size:13px;line-height:1.6}@media (width<=860px){.login-layout{grid-template-columns:1fr;max-width:580px}.login-intro{min-height:410px;padding:34px}.login-intro h1{font-size:39px}.login-layout .login-panel{padding:42px 34px}.app-shell{grid-template-columns:1fr}.sidebar{z-index:3;flex-direction:row;align-items:center;padding:12px;position:sticky;top:0;overflow-x:auto}.brand,.sidebar-footer{border:0;margin:0;padding:0}.nav{white-space:nowrap;width:auto}.workspace{padding:18px}.public-calendar-page{padding:14px}.public-calendar-header,.public-calendar-controls,.topbar,.session-main{flex-direction:column;align-items:stretch}.schedule-toolbar{align-items:stretch}.month-controls,.segmented-control{width:100%}.month-controls strong{text-align:center;flex:1;min-width:0}.segmented-control button{flex:1}.calendar-grid{grid-template-columns:48px repeat(7,minmax(91px,1fr));min-width:700px}.calendar-day{min-height:126px}.modal-backdrop{align-items:end;padding:12px}.editor-modal{max-height:calc(100vh - 24px)}.editor-header,.editor-actions{align-items:stretch}.editor-actions{flex-direction:column-reverse}.session-grid,.users-page,.my-user-page{grid-template-columns:1fr}.list-row,.inline-form,.availability-row,.upcoming-class-row{flex-direction:column;align-items:stretch}.user-row{align-items:stretch}.user-row select,.user-controls select,.availability-time-range{min-width:0;max-width:none}.user-controls{justify-content:stretch}.user-name-editor,.user-email-editor{grid-template-columns:1fr;width:100%}.assignment-row,.assignment-controls,.self-service-actions,.coverage-add{flex-direction:column;align-items:stretch}.coverage-add-button,.assignment-controls select,.assignment-controls button,.self-service-actions button{width:100%}.split{grid-template-columns:1fr}}@media (width<=640px){.login-screen{padding:14px}.login-layout{border-radius:13px;min-height:0}.login-intro{min-height:370px;padding:28px 24px}.login-intro h1{font-size:34px}.login-benefits{grid-template-columns:1fr;gap:12px}.login-layout .login-panel{padding:34px 24px}.privacy-header{min-height:68px;padding:12px 16px}.privacy-header .login-mark{width:38px;height:38px}.privacy-back{font-size:0}.privacy-back svg{width:20px;height:20px}.privacy-document{width:calc(100% - 28px);margin:24px auto 42px;padding:30px 22px}.workspace{padding:14px}.team-overview-grid,.team-overview-roles{grid-template-columns:1fr}.team-overview-role+.team-overview-role{border-top:1px solid #e1e7eb;border-left:0}.open-class-heading,.open-class-date{flex-direction:column;align-items:stretch;gap:10px}.open-class-actions{justify-content:stretch}.open-class-actions .secondary-button{width:100%}.panel,.login-panel{padding:14px}.topbar{gap:12px}.class-type-checklist,.editor-grid{grid-template-columns:1fr}.schedule-subpages{width:100%}.schedule-subpages button{flex:1}.calendar-grid{grid-template-columns:40px repeat(7,minmax(81px,1fr));min-width:620px}}.template-panel{grid-column:1/-1}.panel-header,.template-layout,.template-session-header,.template-assistant-row,.preview-row,.template-row{gap:12px;display:flex}.panel-header,.template-session-header,.preview-row,.template-row{justify-content:space-between;align-items:center}.template-layout{align-items:start}.template-list{gap:12px;width:240px;min-width:240px;display:grid}.template-row{text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;gap:4px;width:100%;padding:0}.template-row.selected{background:#edf8f5;border-color:#9bc8be}.template-list-heading,.template-select-button{gap:3px;display:grid}.template-list-heading span,.template-select-button span,.template-publish-heading p{color:#60717d;font-size:13px}.template-select-button,.template-publish-link{cursor:pointer;background:0 0;border:0}.template-select-button{text-align:left;flex:1;min-width:0;padding:10px 8px}.template-publish-link{color:#286b5f;border-left:1px solid #d7e0e7;align-self:stretch;align-items:center;gap:4px;padding:8px;font-weight:700;display:inline-flex}.template-publish-link:hover,.template-publish-link:focus-visible{background:#dff1ec;outline:none}.template-editor,.template-publish-card{gap:16px;display:grid}.template-publish-card{background:#f5fbf9;border:1px solid #b8d7d0;border-radius:16px;padding:18px;scroll-margin-top:20px}.template-publish-heading{justify-content:space-between;align-items:start;gap:16px;display:flex}.template-publish-heading p{margin:4px 0 0}.saved-template-badge{white-space:nowrap;color:#286b5f;background:#dff1ec;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700}.setup-workspace{grid-template-columns:minmax(0,1.6fr) minmax(320px,.9fr);align-items:start;gap:16px;display:grid}.setup-calendar-card,.setup-side-panel{gap:16px;display:grid}.setup-calendar-card{background:#f9fbfd;border:1px solid #d7e0e7;border-radius:16px;padding:16px}.setup-calendar-header{justify-content:space-between;align-items:start;gap:16px;display:flex}.setup-calendar-header p{color:#60717d;margin-top:4px}.setup-calendar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.calendar-lock-status{color:#1f5d55;background:#e6f4f1;border:1px solid #b8d7d0;border-radius:999px;align-items:center;gap:6px;min-height:32px;padding:0 9px;font-size:12px;font-weight:800;display:inline-flex}.calendar-lock-status.locked{color:#485863;background:#eef2f6;border-color:#d7e0e7}.week-calendar{min-width:0;overflow-x:auto}.week-calendar-header,.week-calendar-body{min-width:860px}.week-calendar-header{grid-template-columns:72px repeat(7,minmax(100px,1fr));gap:8px;margin-bottom:8px;display:grid}.week-time-label,.week-day-label{color:#485863;background:#eef2f6;border-radius:10px;place-items:center;min-height:36px;font-size:12px;font-weight:900;display:grid}.week-calendar-body{grid-template-columns:72px repeat(7,minmax(100px,1fr));align-items:start;gap:8px;display:grid}.week-time-column{display:grid}.week-time-slot{color:#60717d;text-align:right;padding-top:2px;font-size:12px}.week-day-column{background:linear-gradient(#fffffff0,#f5f9fcf0),#fff;border:1px solid #d7e0e7;border-radius:14px;position:relative;overflow:hidden}.week-day-column.drop-target{background:#eaf6f3;border-color:#286b5f;box-shadow:inset 0 0 0 2px #286b5f33}.calendar-locked .week-day-column{background:#f4f6f8}.week-grid-line{border-top:1px solid #e5edf3;position:absolute;left:0;right:0}.week-drop-indicator{z-index:4;pointer-events:none;border-top:2px solid #167c68;height:0;position:absolute;left:0;right:0}.week-drop-indicator:before{content:"";background:#167c68;border-radius:50%;width:8px;height:8px;position:absolute;top:-5px;left:-1px}.week-drop-indicator span{color:#fff;background:#167c68;border-radius:5px;padding:2px 5px;font-size:11px;font-weight:900;line-height:1.25;position:absolute;top:auto;bottom:4px;left:5px;box-shadow:0 2px 5px #17202a33}.week-session-card{color:#17202a;text-align:left;background:#e6f4f1;border:0;border-left:4px solid #286b5f;border-radius:12px;padding:4px 7px;position:absolute;left:8px;right:8px;overflow:hidden;box-shadow:0 10px 18px #17202a14}.week-session-card.draggable{cursor:grab}.week-session-card.draggable:active{cursor:grabbing}.calendar-locked .week-session-card{box-shadow:none;background:#e9edf0;border-left-color:#7f919d}.calendar-locked .week-session-card.active,.calendar-locked .week-session-card:hover,.calendar-locked .week-session-card:focus-visible{background:#dde4e8;outline-color:#aab8c1}.week-session-card.active,.week-session-card:hover,.week-session-card:focus-visible{outline-offset:0;background:#d7eee8;outline:2px solid #78b6aa}.week-session-card strong,.week-session-card span{line-height:1.25;display:block}.week-session-card strong{font-size:13px}.week-session-card span{color:#485863;margin-top:1px;font-size:11px}.week-session-card .instructor-role-row{min-height:11px;font-size:10px;line-height:1}.week-session-card .instructor-role-marker{flex-basis:10px}.template-editor{flex:1}.template-settings-row{grid-template-columns:minmax(220px,1fr) minmax(190px,auto);align-items:end;gap:12px;display:grid}.template-week-tabs{justify-self:start}.template-session-card{border:1px solid var(--border-color,#0f172a1f);background:#fffc;border-radius:16px;gap:16px;padding:16px;display:grid}.class-type-palette{border:1px solid var(--border-color,#0f172a1f);background:#fffc;border-radius:16px;min-height:220px;padding:16px}.class-type-palette p{color:#60717d;margin:4px 0 14px}.class-type-drag-list{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.class-type-drag-card{color:#17202a;cursor:grab;text-align:left;background:#e6f4f1;border:1px solid #b8d7d0;border-left:4px solid #286b5f;border-radius:12px;gap:4px;padding:12px;display:grid}.class-type-drag-card:hover,.class-type-drag-card:focus-visible{background:#d7eee8;outline:2px solid #78b6aa}.class-type-drag-card:active{cursor:grabbing}.class-type-drag-card span{color:#60717d;font-size:12px}.template-candidate-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.template-assistant-row{align-items:center}.template-assistant-row select,.template-copy-row input{flex:1}.preview-list{max-height:280px;overflow:auto}@media (width<=960px){.template-layout,.template-candidate-grid{grid-template-columns:1fr;display:grid}.template-list{width:auto;min-width:0}.week-calendar-header,.week-calendar-body{min-width:720px}.setup-calendar-header{flex-direction:column;align-items:stretch}.setup-calendar-actions{justify-content:flex-start}.template-settings-row{grid-template-columns:1fr}}.teams-layout{grid-template-columns:minmax(220px,.7fr) minmax(0,2.3fr);align-items:stretch;gap:16px;height:max(360px,100dvh - 194px);min-height:0;display:grid}.instructor-pool{grid-template-rows:auto auto minmax(0,1fr);min-height:0;position:sticky;top:16px}.team-member-list,.team-class-grid{scrollbar-gutter:stable;align-content:start;gap:12px;min-height:0;display:grid;overflow-y:auto}.team-class-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.team-member{cursor:grab;text-align:left;background:#f7fafc;border:1px solid #d8e0e6;border-radius:10px;flex-direction:column;align-items:flex-start;gap:3px;padding:10px 12px;display:flex}.team-member span,.team-empty{color:#60717d;font-size:12px}.team-role-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.team-drop-column{background:#f7fafc;border:1px dashed #b7c5ce;border-radius:10px;min-height:130px;padding:12px}.team-drop-column h3{margin-top:0}.team-assignment{background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:6px;margin-top:7px;padding:7px 8px;display:flex}.team-link-editor{border-top:1px solid #d8e0e6;gap:10px;margin-top:16px;padding-top:16px;display:grid}.team-link-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.team-link-heading h3,.team-link-heading p{margin:0}.team-link-heading p{color:#60717d;margin-top:3px;font-size:12px}.team-link-row{grid-template-columns:minmax(90px,1fr) minmax(44px,.55fr) minmax(120px,1fr);align-items:center;gap:0;display:grid}.team-link-person{background:#fff;border:1px solid #d8e0e6;border-radius:8px;padding:8px 10px;font-weight:700}.team-link-line{color:#8798a3;background:#c9d4da;justify-content:center;align-items:center;height:2px;display:flex;position:relative}.team-link-line svg{box-sizing:content-box;background:#f7fafc;border-radius:999px;padding:3px;position:relative}.team-link-line.active{color:#2d7a6b;background:#2d7a6b;height:3px}.team-link-row select{background:#fff;border-color:#d8e0e6;min-width:0}.class-teams-layout{grid-template-columns:minmax(280px,.85fr) minmax(0,1.65fr);align-items:start;gap:16px;display:grid}.class-teams-layout>form{position:sticky;top:16px}.class-teams-layout label,.team-class-picker legend{color:#26343d;font-weight:700}.team-class-picker{border:1px solid #d8e0e6;border-radius:10px;gap:8px;min-width:0;margin:0;padding:12px;display:grid}.team-class-picker label,.checkbox-row{align-items:center;gap:9px;display:flex}.team-class-picker input,.checkbox-row input{width:auto;min-height:auto}.team-class-picker label>span:last-child{gap:2px;display:grid}.team-class-picker small{color:#60717d;font-size:11px;font-weight:500}.team-directory{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;display:grid}.team-directory-card{align-content:start}.team-class-chips{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.team-class-chips span{color:#455762;background:#f1f5f7;border-radius:999px;align-items:center;gap:6px;padding:6px 9px;font-size:13px;display:inline-flex}.team-class-chips i{border-radius:999px;width:9px;height:9px}.team-card-actions{gap:8px;margin-top:16px;display:flex}.cleaning-admin-layout,.cleaning-page{grid-template-columns:minmax(280px,.85fr) minmax(0,1.65fr);align-items:start;gap:16px;display:grid}.cleaning-admin-layout>form,.cleaning-form{position:sticky;top:16px}.cleaning-admin-layout label,.cleaning-form>label,.cleaning-checklist legend{color:#26343d;font-weight:700}.cleaning-task-list,.cleaning-history,.cleaning-task-editor{gap:12px;display:grid}.cleaning-task-settings{grid-template-columns:minmax(100px,.4fr) minmax(140px,1fr);align-items:end;gap:12px;display:grid}.cleaning-form{gap:14px;display:grid}.cleaning-checklist{border:1px solid #d8e0e6;border-radius:10px;gap:8px;min-width:0;margin:0;padding:12px;display:grid}.cleaning-checklist label,.cleaning-result-list label{background:#f7fafc;border-radius:8px;align-items:flex-start;gap:9px;padding:9px;display:flex}.cleaning-checklist input,.cleaning-result-list input{width:auto;min-height:auto;margin-top:3px}.cleaning-checklist label>span{gap:2px;display:grid}.cleaning-checklist small,.cleaning-record .panel-header p{color:#60717d;font-size:12px;font-weight:500}.cleaning-history>h2{margin-bottom:2px}.cleaning-record{gap:14px;display:grid}.cleaning-result-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px;display:grid}.cleaning-result-list label.completed{color:#286b5f;background:#edf7f3}.cleaning-notes{color:#455762;white-space:pre-wrap;border-top:1px solid #e2e8ec;padding-top:12px}@media (width<=760px){.teams-layout,.class-teams-layout,.cleaning-admin-layout,.cleaning-page,.team-role-grid{grid-template-columns:1fr}.team-link-row{grid-template-columns:1fr;gap:6px}.team-link-line{justify-self:center;width:3px;height:22px}.instructor-pool{grid-template-rows:auto auto minmax(0,1fr);max-height:55dvh;position:static}.teams-layout{height:auto;min-height:0}.class-teams-layout>form,.cleaning-admin-layout>form,.cleaning-form{position:static}.team-class-grid{max-height:70dvh}.coverage-role-grid{grid-template-columns:1fr}}
