:root{--ink:#12202a;--muted:#63717a;--line:#dfe7e8;--surface:#fff;--canvas:#f2f6f5;--navy:#102b3a;--teal:#0a7f78;--teal-dark:#08655f;--teal-soft:#dff3ef;--coral:#f07a62;--shadow:0 18px 45px #14323c14}*{box-sizing:border-box}html{background:var(--canvas);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{margin:0}.public-home{background:#f6faf9;width:100%;max-width:100%;min-height:100vh;overflow:hidden}.public-header{z-index:10;grid-template-columns:auto 1fr auto;align-items:center;gap:32px;width:min(1180px,100% - 40px);margin:0 auto;padding:22px 0;display:grid;position:relative}.public-brand{color:var(--navy);align-items:center;gap:11px;text-decoration:none;display:flex}.public-brand-icon{object-fit:cover;border-radius:14px;width:44px;height:44px;display:block}.public-brand strong,.public-brand small{display:block}.public-brand strong{letter-spacing:-.03em;font-size:18px}.public-brand small{color:var(--muted);margin-top:1px;font-size:11px}.public-header nav{justify-content:center;gap:clamp(16px,3vw,34px);display:flex}.public-header nav a,.public-login{color:var(--navy);font-size:14px;font-weight:650;text-decoration:none}.public-login{background:#fff;border:1px solid #bdd6d5;border-radius:999px;padding:11px 17px}.public-hero{grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);align-items:center;gap:clamp(40px,8vw,100px);width:min(1180px,100% - 40px);min-height:590px;margin:0 auto;padding:70px 0 90px;display:grid;position:relative}.public-hero-copy h1,.public-section-heading h2,.public-contact h2,.public-document-page h1{letter-spacing:-.045em;font-family:Georgia,Times New Roman,serif;font-weight:500}.public-hero-copy h1{max-width:760px;color:var(--navy);margin:10px 0 22px;font-size:clamp(48px,6vw,78px);line-height:.98}.public-hero-copy>p:not(.public-kicker){max-width:610px;color:var(--muted);margin:0;font-size:18px;line-height:1.65}.public-kicker{color:var(--teal);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:11px;font-weight:850}.public-hero-actions{flex-wrap:wrap;gap:12px;margin-top:31px;display:flex}.public-primary,.public-secondary{border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:0 22px;font-size:14px;font-weight:750;text-decoration:none;display:inline-flex}.public-primary{color:#fff;background:var(--teal);box-shadow:0 12px 28px #0a7f7833}.public-secondary{color:var(--navy);background:#fff;border:1px solid #bed4d3}.public-water-card{aspect-ratio:.9;color:#fff;background:radial-gradient(circle at 70% 22%,#ffffff59,#0000 19%),linear-gradient(145deg,#31a9a1,#0b5d67 70%);border-radius:48% 48% 44% 56%/46% 42% 58% 54%;position:relative;overflow:hidden;box-shadow:0 35px 70px #0f535b40}.public-hero-photo{aspect-ratio:.9;background:#d9e8e6;border-radius:48px;position:relative;overflow:hidden;box-shadow:0 35px 70px #0f535b33}.public-hero-photo img{object-fit:cover}.public-water-card:before,.public-water-card:after{content:"";border:2px solid #ffffff40;border-radius:50%;width:130%;height:38%;position:absolute;left:-15%}.public-water-card:before{top:26%;transform:rotate(-12deg)}.public-water-card:after{top:41%;transform:rotate(9deg)}.public-water-card>div{z-index:2;text-align:right;gap:4px;display:grid;position:absolute;bottom:13%;right:12%}.public-water-card strong{font-family:Georgia,Times New Roman,serif;font-size:clamp(38px,5vw,64px);font-weight:500}.public-water-card span{color:#d5f2ef}.water-orbit{background:#ffffff29;border-radius:50%;position:absolute}.water-orbit-one{width:92px;height:92px;top:18%;left:18%}.water-orbit-two{width:34px;height:34px;top:12%;left:48%}.public-numbers{border:1px solid var(--line);width:min(1020px,100% - 40px);box-shadow:var(--shadow);background:#fff;border-radius:20px;grid-template-columns:repeat(3,1fr);margin:-20px auto 105px;padding:25px;display:grid}.public-numbers div{text-align:center;gap:3px;display:grid}.public-numbers div+div{border-left:1px solid var(--line)}.public-numbers strong{color:var(--teal);font-family:Georgia,Times New Roman,serif;font-size:34px;font-weight:500}.public-numbers span{color:var(--muted);font-size:13px}.public-section{width:min(1080px,100% - 40px);margin:0 auto;padding:0 0 110px}.public-section-heading{max-width:680px;margin-bottom:34px}.public-section-heading h2,.public-contact h2{color:var(--navy);margin:8px 0 12px;font-size:clamp(34px,4vw,52px);line-height:1.05}.public-section-heading>p:last-child,.public-contact p:last-child{color:var(--muted);margin:0;line-height:1.6}.public-levels{grid-template-columns:repeat(4,1fr);gap:15px;display:grid}.public-levels article{border:1px solid var(--line);background:#fff;border-radius:18px;min-height:260px;padding:26px;position:relative}.public-levels article>span{color:var(--coral);font-size:12px;font-weight:850}.public-levels h3{color:var(--navy);margin:42px 0 10px;font-size:23px}.public-levels p{color:var(--muted);line-height:1.55}.public-levels small{color:var(--teal);font-weight:750;position:absolute;bottom:24px;left:26px}.public-lifeguard{color:#fff;background:var(--navy);border-radius:18px;justify-content:space-between;align-items:center;gap:28px;margin-top:16px;padding:27px 30px;display:flex}.public-lifeguard h3{margin:7px 0 6px;font-size:23px}.public-lifeguard>div>p:last-child{color:#c9d8dd;margin:0;line-height:1.5}.public-lifeguard a{color:var(--navy);background:#fff;border-radius:999px;flex:none;padding:13px 18px;font-weight:800;text-decoration:none}.public-instructor-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;display:grid}.public-instructor-list article{border:1px solid var(--line);background:#fff;border-radius:18px;gap:22px;min-width:0;padding:24px;display:grid}.public-instructor-list article>span{color:#fff;background:var(--teal);border-radius:20px;place-items:center;width:62px;height:62px;font-weight:850;display:grid}.public-instructor-list small{color:var(--coral);font-weight:800}.public-instructor-list h3{color:var(--navy);margin:6px 0 8px;font-size:20px}.public-instructor-list p{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.public-instructor-list .is-placeholder{background:0 0;border-style:dashed}.public-groups-section{background:#e7f3f1;width:100%;max-width:none;padding:92px max(20px,50% - 540px) 110px}.public-group-list{gap:10px;display:grid}.public-group-list article{background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:24px;padding:20px 22px;display:flex}.public-group-list h3{color:var(--navy);margin:4px 0 6px;font-size:19px}.public-group-list div>span{color:var(--teal);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.public-group-list p{color:var(--muted);margin:2px 0;font-size:13px}.public-group-list>article>strong{border-radius:999px;flex:none;padding:9px 12px;font-size:12px}.places-open{color:#08655f;background:var(--teal-soft)}.places-full{color:#8a5548;background:#f7e8e3}.public-empty{background:#fff;border-radius:16px;padding:28px}.public-install-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(28px,5vw,64px);display:grid}.public-install-grid figure{margin:0}.public-install-grid figure h3{color:var(--navy);margin:0 0 14px;font-size:25px}.public-install-grid figure img{border:1px solid var(--line);border-radius:18px;width:100%;height:auto;display:block;box-shadow:0 18px 50px #102b3a1a}.public-install-grid figcaption{color:var(--muted);margin-top:10px;font-size:13px}.public-install-action{width:fit-content;margin-top:28px}.public-steps{grid-template-columns:repeat(3,1fr);gap:20px;margin:0 0 30px;padding:0;list-style:none;display:grid}.public-steps li{gap:15px;display:flex}.public-steps li>span{color:#fff;background:var(--coral);border-radius:50%;flex:none;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.public-steps h3{color:var(--navy);margin:3px 0 7px}.public-steps p{color:var(--muted);margin:0;font-size:14px;line-height:1.55}.public-contact{color:#fff;background:var(--navy);border-radius:22px;grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);align-items:start;gap:clamp(30px,6vw,70px);width:min(1080px,100% - 40px);margin:0 auto 80px;padding:38px 42px;display:grid}.public-contact h2{color:#fff}.public-contact a{color:var(--navy);background:#fff;border-radius:999px;flex:none;padding:14px 20px;font-weight:750;text-decoration:none}.public-contact-intro{max-width:390px}.public-contact-intro>p:last-child{color:#c9d8dd}.public-contact-details{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:16px;min-width:0;padding:23px 25px}.public-contact-details dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;margin:0;display:grid}.public-contact-details dt{color:#9eb4bd;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;font-size:11px;font-weight:750}.public-contact-details dd{overflow-wrap:anywhere;margin:0;font-weight:700}.public-contact-details a{color:#fff;background:0 0;padding:0;display:inline}.public-contact-details .public-bank-account{grid-column:1/-1}.public-example-warning{border-top:1px solid #ffffff1f;padding-top:14px;font-size:12px;color:#f5b7a9!important;margin:20px 0 0!important}.public-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;width:min(1180px,100% - 40px);margin:0 auto;padding:28px 0 38px;display:flex}.public-footer div,.public-footer nav{align-items:center;gap:18px;display:flex}.public-footer span,.public-footer a{color:var(--muted);font-size:13px;text-decoration:none}.public-document-page{width:min(860px,100% - 32px);margin:0 auto;padding:40px 0 80px}.public-document-page>a{color:var(--teal);font-weight:700;text-decoration:none}.public-document-page article{border:1px solid var(--line);background:#fff;border-radius:20px;margin-top:30px;padding:clamp(24px,5vw,54px)}.public-document-page h1{color:var(--navy);margin:8px 0 22px;font-size:clamp(36px,6vw,58px)}.public-document-page h2{color:var(--navy);margin-top:30px}.public-document-page p{color:var(--muted);line-height:1.65}.document-warning{border-left:4px solid var(--coral);background:#fff3ef;padding:14px 16px}.login-page{background:radial-gradient(circle at 8% 12%,#32a9a11f,#0000 26%),#eef5f3;place-items:center;min-height:100vh;padding:32px;display:grid}.login-shell{background:#fff;border:1px solid #102b3a14;border-radius:28px;grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);width:min(1080px,100%);min-height:680px;display:grid;overflow:hidden;box-shadow:0 30px 80px #102b3a21}.login-brand-panel{color:#fff;background:linear-gradient(145deg,#143746,#0b6f70);flex-direction:column;min-width:0;padding:44px 48px;display:flex;position:relative;overflow:hidden}.login-brand{z-index:2;color:#fff;align-items:center;gap:12px;width:fit-content;text-decoration:none;display:flex;position:relative}.login-brand>span{background:var(--coral);border-radius:15px;place-items:center;width:46px;height:46px;font-weight:900;display:grid}.login-brand>img{object-fit:cover;border-radius:16px;width:52px;height:52px;display:block;box-shadow:0 12px 28px #115c6f33}.login-brand>strong{letter-spacing:-.03em;font-size:20px}.login-brand-copy{z-index:2;max-width:470px;margin:auto 0;position:relative}.login-brand-copy .public-kicker{color:#8edbd6}.login-brand-copy h1{letter-spacing:-.045em;margin:12px 0 22px;font-family:Georgia,Times New Roman,serif;font-size:clamp(42px,4.2vw,62px);font-weight:500;line-height:1}.login-brand-copy>p:last-child{color:#c4dcdf;max-width:410px;margin:0;font-size:16px;line-height:1.65}.login-brand-panel>small{z-index:2;color:#b5d0d3;position:relative}.login-water-mark,.login-water-mark span{border:1px solid #ffffff29;border-radius:50%;position:absolute}.login-water-mark{width:570px;height:360px;bottom:-150px;right:-190px;transform:rotate(-13deg)}.login-water-mark span:first-child{height:190px;inset:58px -70px auto 20px}.login-water-mark span:last-child{height:220px;inset:-28px 50px auto -80px}.login-form-panel{flex-direction:column;justify-content:center;min-width:0;padding:64px clamp(38px,5vw,68px);display:flex}.login-form-heading h2{color:var(--navy);letter-spacing:-.045em;margin:8px 0 11px;font-family:Georgia,Times New Roman,serif;font-size:46px;font-weight:500}.login-form-heading>p:last-child{color:var(--muted);margin:0;line-height:1.55}.login-messages:empty{display:none}.login-messages{gap:8px;margin-top:20px;display:grid}.login-message{border-radius:10px;margin:0;padding:12px 14px;font-size:13px;line-height:1.45}.login-message.success{color:#126152;background:#e5f5f1}.login-message.error{color:#8a3025;background:#fff0ec}.login-form{gap:18px;margin-top:30px;display:grid}.login-form>label{gap:7px;display:grid}.login-form>label>span{color:var(--navy);font-size:13px;font-weight:750}.login-password-label{justify-content:space-between;align-items:center;gap:12px;display:flex}.login-password-label a{color:var(--teal);font-size:11px;font-weight:800;text-decoration:none}.login-form input{width:100%;min-height:52px;color:var(--ink);background:#fbfdfd;border:1px solid #cbd9da;border-radius:11px;outline:none;padding:0 15px;font-size:16px}.login-form input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0a7f781f}.login-password-field{position:relative}.login-password-field input{padding-right:72px}.login-password-field button{color:var(--teal);cursor:pointer;background:0 0;border:0;padding:6px;font-size:12px;font-weight:800;position:absolute;top:50%;right:13px;transform:translateY(-50%)}.login-submit{color:#fff;background:var(--teal);cursor:pointer;border:0;border-radius:11px;min-height:52px;font-weight:800;box-shadow:0 12px 28px #0a7f7833}.login-submit:disabled{cursor:wait;opacity:.65}.login-account-note{color:var(--muted);text-align:center;margin:-5px 0 0;font-size:11px;line-height:1.45}.login-register{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:14px;margin-top:28px;padding-top:22px;font-size:13px;display:flex}.login-register a,.login-back{color:var(--teal);font-weight:800;text-decoration:none}.recovery-card{background:#fff;border:1px solid #102b3a14;border-radius:24px;align-content:start;width:min(540px,100%);padding:clamp(30px,6vw,58px);display:grid;box-shadow:0 24px 70px #102b3a1f}.recovery-brand{color:var(--navy);margin-bottom:48px}.recovery-card .login-form-heading h1{color:var(--navy);letter-spacing:-.045em;margin:8px 0 12px;font-family:Georgia,Times New Roman,serif;font-size:clamp(38px,6vw,49px);font-weight:500;line-height:1.02}.recovery-form{margin-top:30px}.recovery-result{color:#126152;background:#e5f5f1;border-radius:12px;gap:9px;margin-top:28px;padding:20px;display:grid}.recovery-result.error{color:#8a3025;background:#fff0ec}.recovery-result p{margin:0;line-height:1.55}.recovery-result a{width:fit-content;margin-top:8px}.login-back{width:fit-content;margin-top:27px;font-size:13px}@media (max-width:820px){.login-page{background:#fff;padding:0;display:block}.login-shell{width:100%;min-height:100vh;box-shadow:none;border:0;border-radius:0;grid-template-columns:1fr}.login-brand-panel{min-height:210px;padding:25px 24px 30px}.login-brand-copy{margin:30px 0 0}.login-brand-copy h1{max-width:520px;margin:8px 0 0;font-size:clamp(30px,8.8vw,42px)}.login-brand-copy>p:last-child,.login-brand-panel>small{display:none}.login-water-mark{bottom:-210px;right:-300px}.login-form-panel{padding:38px 24px 44px}.recovery-page{background:#eef5f3;place-items:center;min-height:100vh;padding:18px;display:grid}.recovery-card{border-radius:20px}}@media (max-width:420px){.login-brand-panel{min-height:196px;padding:20px 18px 27px}.login-brand-copy{margin-top:25px}.login-brand-copy h1{font-size:32px}.login-form-panel{padding:32px 18px 38px}.login-form-heading h2{font-size:39px}.login-register{flex-direction:column;align-items:flex-start}.recovery-page{background:#fff;padding:0;display:block}.recovery-card{width:100%;min-height:100vh;box-shadow:none;border:0;border-radius:0;padding:30px 18px}.recovery-brand{margin-bottom:54px}}@media (max-width:820px){.public-header{grid-template-columns:1fr auto}.public-header nav{display:none}.public-hero{grid-template-columns:1fr;min-height:0;padding:50px 0 75px}.public-water-card,.public-hero-photo{justify-self:center;width:min(470px,90%)}.public-levels,.public-steps,.public-instructor-list,.public-install-grid{grid-template-columns:1fr}.public-levels article{min-height:215px}.public-contact{grid-template-columns:1fr}.public-lifeguard{display:grid}.public-contact a{width:fit-content}.public-contact-details{min-width:0}}@media (min-width:821px) and (max-width:1050px){.public-levels{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.public-header,.public-hero,.public-numbers,.public-section,.public-contact,.public-footer{width:calc(100% - 28px);max-width:1180px}.public-header{padding:14px 0}.public-brand small{display:none}.public-login{padding:10px 13px;font-size:12px}.public-hero{gap:34px;padding:34px 0 55px}.public-hero-copy h1{margin-bottom:18px;font-size:clamp(36px,11.5vw,43px);line-height:1}.public-hero-copy>p:not(.public-kicker){font-size:16px}.public-hero-actions{display:grid}.public-primary,.public-secondary{width:100%}.public-water-card,.public-hero-photo{aspect-ratio:1.05;border-radius:38px;width:min(92%,330px)}.public-water-card>div{max-width:82%;bottom:10%;right:9%}.public-water-card>div span{font-size:13px}.public-numbers{margin-bottom:80px;padding:18px 8px}.public-numbers strong{font-size:28px}.public-numbers span{font-size:11px}.public-section{padding-bottom:80px}.public-lifeguard{gap:18px;padding:23px 21px}.public-lifeguard a{width:fit-content;max-width:100%}.public-groups-section{width:100%;padding:68px 14px 80px}.public-group-list article{gap:14px;padding:17px;display:grid}.public-group-list>article>strong{width:fit-content}.public-contact{gap:23px;margin-bottom:45px;padding:27px 20px 20px}.public-contact a{overflow-wrap:anywhere;max-width:100%}.public-contact-details dl{grid-template-columns:1fr;gap:14px}.public-contact-details{padding:20px 17px}.public-contact-details .public-bank-account{grid-column:1}.public-footer,.public-footer nav{align-items:start;display:grid}}@media (max-width:360px){.public-header,.public-brand{gap:8px}.public-brand-icon{width:40px;height:40px}.public-login{padding:9px 11px}.public-numbers span{overflow-wrap:anywhere}}a{color:inherit}button,input{font:inherit}.admin-shell{grid-template-columns:248px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--navy);color:#e8f2f2;flex-direction:column;padding:28px 20px;display:flex}.brand{color:#fff;align-items:center;gap:12px;margin-bottom:48px;text-decoration:none;display:flex}.brand-mark{background:var(--coral);color:#fff;letter-spacing:-.04em;border-radius:14px;place-items:center;width:44px;height:44px;font-weight:800;display:grid;box-shadow:0 8px 22px #f07a6240}.brand-mark-image{object-fit:cover;padding:0;display:block}.brand strong,.brand small{display:block}.brand strong{font-size:17px}.brand small{color:#a9bec4;margin-top:2px;font-size:11px}.sidebar nav{gap:8px;display:grid}.nav-link{color:#bdd0d4;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;font-size:14px;text-decoration:none;display:flex}.nav-link.active{color:#fff;background:#ffffff1a}.nav-link.disabled{opacity:.48}.nav-update-badge{color:#17343d;background:#f4c96b;border-radius:999px;margin-left:auto;padding:3px 6px;font-size:9px;font-weight:800}.schedule-update-notice{background:#fff8e7;border:1px solid #e3bd62;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:14px 16px;display:flex}.schedule-update-notice>div{gap:3px;display:grid}.schedule-update-notice span{color:var(--muted);font-size:12px}.sidebar-footer{border-top:1px solid #ffffff1f;gap:12px;margin-top:auto;padding-top:20px;display:grid}.sidebar-footer a,.sidebar-footer button{color:#bdd0d4;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px}.admin-main{min-width:0;padding:38px clamp(28px,5vw,72px) 72px;overflow:hidden}[data-admin-module][hidden]{display:none!important}.admin-dashboard{gap:20px;display:grid}.dashboard-intro{color:#fff;background:linear-gradient(135deg,#123b43 0%,#17666a 100%);border-radius:18px;justify-content:space-between;align-items:flex-start;gap:24px;padding:32px;display:flex;box-shadow:0 18px 45px #123b432e}.dashboard-intro h2{margin:5px 0 9px;font-family:Georgia,Times New Roman,serif;font-size:clamp(28px,4vw,42px);font-weight:500}.dashboard-intro p:last-child{color:#d2e6e7;max-width:620px;margin:0}.dashboard-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.dashboard-stats a,.dashboard-action{border:1px solid var(--line);color:inherit;background:#fff;border-radius:14px;text-decoration:none;transition:transform .16s,box-shadow .16s}.dashboard-stats a{gap:5px;padding:20px;display:grid}.dashboard-stats strong{color:var(--teal);font-size:28px}.dashboard-stats span,.dashboard-action small{color:var(--muted)}.dashboard-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.dashboard-attention{border:1px solid var(--line);background:#fff;border-radius:16px;gap:14px;padding:24px;display:grid}.dashboard-attention-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.dashboard-attention-heading h3{margin:3px 0 0;font-size:20px}.dashboard-attention-heading>span{color:#fff;background:var(--teal);border-radius:999px;place-items:center;min-width:42px;height:42px;padding:0 10px;font-weight:700;display:grid}.dashboard-attention-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.dashboard-attention-list a{border:1px solid var(--line);border-left:4px solid var(--teal);min-width:0;color:inherit;background:#fbfdfd;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:15px 16px;text-decoration:none;display:flex}.dashboard-attention-list a[data-level=alert]{border-left-color:#c84d3a}.dashboard-attention-list a[data-level=warning]{border-left-color:#d0922d}.dashboard-attention-list a[data-level=ok]{opacity:.72}.dashboard-attention-list a:hover{background:#f3f8f8}.dashboard-attention-list strong,.dashboard-attention-list span{display:block}.dashboard-attention-list span{color:var(--muted);margin-top:3px;font-size:13px}.dashboard-attention-list b{color:var(--teal);font-size:22px}.dashboard-action{align-items:center;gap:14px;padding:20px;display:flex}.dashboard-action>span{color:#fff;background:var(--teal);border-radius:50%;flex:none;place-items:center;width:38px;height:38px;font-size:11px;display:grid}.dashboard-action strong,.dashboard-action small{display:block}.dashboard-stats a:hover,.dashboard-action:hover{transform:translateY(-2px);box-shadow:0 12px 28px #123b431a}@media (max-width:900px){.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-actions,.dashboard-attention-list{grid-template-columns:1fr}}@media (max-width:560px){.admin-main:has(.admin-dashboard:not([hidden])){padding:18px 12px 36px}.admin-main:has(.admin-dashboard:not([hidden])) .topbar{margin-bottom:16px}.admin-main:has(.admin-dashboard:not([hidden])) .topbar h1{font-size:28px}.admin-dashboard{gap:12px}.dashboard-intro{border-radius:14px;gap:14px;padding:20px 18px;display:grid}.dashboard-intro h2{margin:3px 0 7px;font-size:29px;line-height:1.05}.dashboard-intro p:last-child{font-size:14px;line-height:1.45}.dashboard-intro .badge{width:fit-content;max-width:100%}.dashboard-stats{order:2;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dashboard-stats a{align-content:center;min-height:96px;padding:14px}.dashboard-stats strong{font-size:25px}.dashboard-stats span{font-size:12px;line-height:1.3}.dashboard-attention{border-radius:14px;order:1;gap:11px;padding:16px 14px}.dashboard-attention-heading h3{font-size:18px}.dashboard-attention-heading>span{min-width:36px;height:36px;font-size:14px}.dashboard-attention-list{gap:8px}.dashboard-attention-list a{gap:10px;min-height:62px;padding:11px 12px}.dashboard-attention-list span{font-size:12px;line-height:1.35}.dashboard-attention-list b{font-size:19px}.dashboard-actions{order:3;gap:8px}.dashboard-action{min-height:64px;padding:12px 14px}.dashboard-action>span{width:34px;height:34px}.dashboard-action small{margin-top:2px;font-size:12px}}.family-preview-link{width:fit-content;text-decoration:none}.family-directory{gap:18px;display:grid}.family-directory-toolbar{justify-content:space-between;align-items:end;gap:16px;display:flex}.family-search{width:min(560px,100%)}.family-search span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px;font-size:11px;font-weight:700;display:block}.family-search input{width:100%}.family-create{position:relative}.family-create>summary{white-space:nowrap;cursor:pointer;list-style:none}.family-create>summary::-webkit-details-marker{display:none}.family-create-form{z-index:5;border:1px solid var(--line);background:#fff;border-radius:14px;width:min(430px,100vw - 48px);padding:20px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 55px #123b432e}.family-directory-list{border:1px solid var(--line);background:#fff;border-radius:14px;display:grid;overflow:hidden}.family-directory-row+.family-directory-row{border-top:1px solid var(--line)}.family-directory-row.open{background:#fbfdfd}.family-directory-summary{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:46px minmax(0,1fr) auto 30px;align-items:center;gap:14px;padding:15px 18px;display:grid}.family-directory-summary:hover{background:#f5f9f9}.family-avatar{width:42px;height:42px;color:var(--teal);background:#e7f3f3;border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid}.family-directory-name{min-width:0}.family-directory-name strong,.family-directory-name small{display:block}.family-directory-name strong{margin-bottom:3px}.family-directory-name small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.family-child-count{color:var(--teal);background:#eaf4f4;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:700}.family-chevron{color:var(--teal);text-align:center;font-size:22px}.family-directory-details{gap:16px;padding:4px 18px 20px 78px;display:grid}.participant-birth-date-list{gap:8px;display:grid}.participant-birth-date{border:1px solid var(--line);background:#f8fbfa;border-radius:10px;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:10px;padding:11px 12px;display:grid}.participant-birth-date label{grid-template-columns:minmax(130px,1fr) auto minmax(150px,190px);align-items:center;gap:10px;display:grid}.participant-birth-date label>span{font-weight:700}.participant-birth-date label>small{color:var(--muted)}.participant-birth-date input{width:100%;min-width:0}.group-directory{gap:18px;display:grid}.group-directory-toolbar{justify-content:space-between;align-items:end;gap:16px;display:flex}.group-search{width:min(560px,100%)}.group-search span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px;font-size:11px;font-weight:700;display:block}.group-search input{width:100%}.group-create{position:relative}.group-create>summary{white-space:nowrap;cursor:pointer;list-style:none}.group-create>summary::-webkit-details-marker{display:none}.group-create-form{z-index:5;border:1px solid var(--line);background:#fff;border-radius:14px;width:min(520px,100vw - 48px);padding:20px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 55px #123b432e}.group-create-form .group-form{grid-template-columns:minmax(0,1fr)}.group-create-form .field,.group-create-form .form-actions{grid-column:1;min-width:0}.group-create-form input,.group-create-form select{border:1px solid var(--line);width:100%;min-width:0;min-height:45px;color:var(--ink);font:inherit;background:#fbfdfc;border-radius:10px;padding:10px 12px}.group-create-form select{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.group-directory-list{border:1px solid var(--line);background:#fff;border-radius:14px;display:grid;overflow:hidden}.group-directory-row+.group-directory-row{border-top:1px solid var(--line)}.group-directory-row.group-day-band-light{background:#fff}.group-directory-row.group-day-band-shade{background:#f1f6f6}.group-directory-row.open{box-shadow:inset 3px 0 0 var(--teal)}.group-directory-summary{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:46px minmax(0,1fr) auto 30px;align-items:center;gap:14px;padding:15px 18px;display:grid}.group-directory-summary:hover{background:#f5f9f9}.group-directory-mark{color:#fff;background:var(--teal);border-radius:12px;place-items:center;width:42px;height:42px;font-size:22px;display:grid}.group-directory-name{min-width:0}.group-directory-name strong,.group-directory-name small{display:block}.group-directory-name strong{margin-bottom:3px}.group-directory-name small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.group-capacity{color:var(--teal);background:#eaf4f4;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:700}.group-directory-details{gap:14px;padding:4px 18px 22px 78px;display:grid}.group-service{gap:14px;min-width:0;display:grid}.enrollment-directory{gap:18px;display:grid}.enrollment-directory-toolbar{justify-content:space-between;align-items:end;gap:16px;display:flex}.enrollment-search{width:min(560px,100%)}.enrollment-search span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px;font-size:11px;font-weight:700;display:block}.enrollment-search input{width:100%}.enrollment-create{position:relative}.enrollment-create>summary{white-space:nowrap;cursor:pointer;list-style:none}.enrollment-create>summary::-webkit-details-marker{display:none}.enrollment-create-form{z-index:5;border:1px solid var(--line);background:#fff;border-radius:14px;width:min(500px,100vw - 48px);padding:20px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 55px #123b432e}.enrollment-create-form .enrollment-form{grid-template-columns:minmax(0,1fr)}.enrollment-create-form .field,.enrollment-create-form button{grid-column:1;min-width:0}.enrollment-create-form select{width:100%;min-width:0}.enrollment-directory-list{border:1px solid var(--line);background:#fff;border-radius:14px;display:grid;overflow:hidden}.enrollment-directory-row+.enrollment-directory-row{border-top:1px solid var(--line)}.enrollment-directory-row.open{background:#fbfdfd}.enrollment-directory-summary{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:46px minmax(0,1fr) auto 30px;align-items:center;gap:14px;padding:15px 18px;display:grid}.enrollment-directory-summary:hover{background:#f5f9f9}.enrollment-occupancy{color:var(--teal);background:#eaf4f4;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:700}.enrollment-directory-details{padding:4px 18px 22px 78px}.enrollment-participant-list{gap:10px;display:grid}.communication-manager{gap:18px;display:grid}.communication-toolbar{justify-content:space-between;align-items:end;gap:16px;display:flex}.communication-search{width:min(560px,100%)}.communication-search span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px;font-size:11px;font-weight:700;display:block}.communication-search input{width:100%}.communication-create{position:relative}.communication-create>summary{white-space:nowrap;cursor:pointer;list-style:none}.communication-create>summary::-webkit-details-marker{display:none}.communication-create-form{z-index:5;border:1px solid var(--line);background:#fff;border-radius:14px;gap:14px;width:min(560px,100vw - 48px);padding:20px;display:grid;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 55px #123b432e}.communication-create-form input,.communication-create-form select,.communication-create-form textarea{width:100%;min-width:0}.communication-group-options{flex-wrap:wrap;gap:8px;display:flex}.communication-group-options label{background:#f3f8f7;border-radius:8px;padding:7px 9px}.communication-group-options input{width:auto}.communication-form-actions,.communication-send-actions{flex-wrap:wrap;gap:9px;display:flex}.communication-history-list{border:1px solid var(--line);background:#fff;border-radius:14px;display:grid;overflow:hidden}.communication-history-row+.communication-history-row{border-top:1px solid var(--line)}.communication-history-row.open{background:#fbfdfd}.communication-history-row{position:relative}.communication-row-select{z-index:2;position:absolute;top:28px;left:9px}.communication-row-select input,.communication-select-all input{width:auto}.communication-list-actions,.communication-bulk-actions,.communication-view-switch{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.communication-list-actions{border:1px solid var(--line);background:#f7faf9;border-radius:12px;justify-content:space-between;padding:10px 12px}.communication-select-all{align-items:center;gap:7px;display:flex}.communication-bulk-confirm{background:#fff7f5;border:1px solid #e4b7b0;border-radius:12px;padding:16px}.communication-history-summary{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:46px minmax(0,1fr) auto auto 30px;align-items:center;gap:14px;padding:15px 18px 15px 34px;display:grid}.communication-history-summary:hover{background:#f5f9f9}.communication-icon{color:#fff;background:var(--teal);border-radius:12px;place-items:center;width:42px;height:42px;font-size:18px;display:grid}.communication-history-name{min-width:0}.communication-history-name strong,.communication-history-name small{display:block}.communication-history-name small{color:var(--muted);margin-top:3px}.communication-count,.communication-read{color:var(--teal);background:#eaf4f4;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:700}.communication-history-details{gap:15px;padding:4px 18px 22px 78px;display:grid}.communication-body{white-space:pre-wrap;background:#f5f8f8;border-radius:10px;margin:0;padding:14px}.communication-confirm{max-width:520px}.communication-recipient-list{border-top:1px solid var(--line);gap:6px;padding-top:12px;display:grid}.communication-recipient-list p{background:#fff;border-radius:8px;margin:0;padding:9px 11px;font-size:11px}@media (max-width:650px){.family-directory-toolbar,.group-directory-toolbar,.enrollment-directory-toolbar,.communication-toolbar{align-items:stretch;display:grid}.family-create>summary,.group-create>summary,.enrollment-create>summary,.communication-create>summary{text-align:center;width:100%}.family-create-form,.group-create-form,.enrollment-create-form,.communication-create-form{width:100%;margin-top:10px;position:static}.family-directory-summary,.group-directory-summary,.enrollment-directory-summary,.communication-history-summary{grid-template-columns:42px minmax(0,1fr) 24px;padding:13px}.family-child-count,.group-capacity,.enrollment-occupancy,.communication-count,.communication-read{grid-column:2;width:fit-content}.family-chevron{grid-area:1/3/span 2}.family-directory-details,.group-directory-details,.enrollment-directory-details,.communication-history-details{padding:4px 13px 18px}.participant-birth-date,.participant-birth-date label{grid-template-columns:1fr;align-items:stretch}.communication-read{grid-column:2}.communication-list-actions,.communication-bulk-actions{flex-direction:column;align-items:stretch}.communication-list-actions>*,.communication-bulk-actions button{width:100%}}.parent-preview-shell{width:min(1180px,100% - 32px);margin:0 auto;padding:40px 0 72px}.parent-preview-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:20px;display:flex}.parent-preview-header h1{margin:6px 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(28px,4vw,42px);font-weight:500}.parent-preview-header p:last-child{color:var(--muted);margin:0}.parent-quick-nav{scrollbar-width:thin;gap:8px;margin-bottom:18px;display:flex;overflow-x:auto}.parent-quick-nav a{border:1px solid var(--line);color:var(--ink);background:var(--surface);border-radius:999px;flex:none;padding:9px 13px;font-size:12px;font-weight:750;text-decoration:none}.parent-recruitment{margin-bottom:18px}.parent-recruitment>details>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;list-style:none;display:flex}.parent-recruitment>details>summary::-webkit-details-marker{display:none}.parent-recruitment>details>summary h2{margin:5px 0 0}.parent-recruitment>details>summary>span{color:var(--teal);font-size:12px;font-weight:750}.parent-recruitment-toggle .when-expanded,.parent-recruitment>details[open] .parent-recruitment-toggle .when-collapsed{display:none}.parent-recruitment>details[open] .parent-recruitment-toggle .when-expanded{display:inline}.parent-recruitment-content{padding-top:18px}.inbox-message-body{white-space:pre-wrap;overflow-wrap:anywhere;background:#f6f8f8;border-radius:.7rem;margin:.65rem 0 0;padding:.9rem 1rem;line-height:1.55}.parent-payment-list details .inbox-message-body{color:var(--ink);margin:.65rem 0 0;font-size:.82rem}.group-proposal-message{border-left:3px solid var(--teal);white-space:normal;gap:.22rem;display:grid}.group-proposal-message>span{display:block}.group-proposal-assignment{border:1px solid var(--line);background:#fff;border-radius:.55rem;margin:.25rem 0;padding:.65rem .75rem;font-weight:700}.parent-preview-grid>#messages{min-width:0}.parent-preview-grid>#messages>.panel-card{height:100%}.preview-warning{color:#72551f;background:#fff9e9;border:1px solid #ecd7a5;border-radius:9px;margin-bottom:18px;padding:12px 15px;font-size:12px}.parent-preview-grid{grid-template-columns:minmax(280px,.8fr) minmax(420px,1.5fr);gap:18px;display:grid}.parent-preview-grid h2{margin:6px 0 18px}.parent-child-card{border-top:1px solid var(--line);gap:5px;padding:12px 0;display:grid}.parent-child-card span{color:var(--muted);font-size:12px}.parent-payment-list{gap:8px;display:grid}.parent-payment-list details{border:1px solid var(--line);border-radius:9px;padding:10px 12px}.parent-payment-list summary{cursor:pointer;grid-template-columns:minmax(130px,1fr) 80px 100px minmax(120px,auto);align-items:center;gap:8px;display:grid}.parent-payment-list details p{color:var(--muted);margin:9px 0 0;font-size:11px}.parent-payment-list .inbox-older-messages>summary{display:block}.inbox-older-list{gap:8px;margin-top:10px;display:grid}.parent-schedule-card{grid-column:1/-1}.parent-lesson-row{grid-template-columns:110px 100px minmax(120px,1fr) minmax(180px,auto);align-items:center}.parent-lesson-row .button-small{justify-self:end}.parent-lesson-identity{gap:2px;display:grid}.parent-lesson-identity small{color:var(--muted)}.parent-absence-scroll{overscroll-behavior:contain;max-height:32rem;padding-right:4px;overflow-y:auto}.absence-status{color:var(--teal);font-size:10px}.absence-action{justify-items:start;gap:4px;display:grid}.absence-action small{color:var(--muted);font-size:9px}.absence-message{color:#873d25;background:#fff0ea;border:1px solid #edc9ba;border-radius:8px;margin:12px 0 0;padding:10px 12px;font-size:12px;position:sticky;bottom:12px}.makeup-credit-list{gap:10px;display:grid}.makeup-credit{border:1px solid var(--line);border-radius:9px;padding:13px}.makeup-credit>header{justify-content:space-between;gap:12px;display:flex}.makeup-credit>header div,.makeup-credit>header strong,.makeup-credit>header span{display:block}.makeup-credit>header span,.makeup-credit p{color:var(--muted);font-size:11px}.makeup-opportunities{gap:6px;margin-top:10px;display:grid}.makeup-opportunities>div{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-top:7px;font-size:11px;display:flex}.balance-warning{color:#9b452a}.balance-ok{color:var(--teal)}.topbar{justify-content:space-between;align-items:center;margin-bottom:30px;display:flex}.topbar h1{letter-spacing:-.035em;margin:4px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(30px,4vw,43px);font-weight:500}.eyebrow{color:var(--teal);text-transform:uppercase;letter-spacing:.13em;margin:0;font-size:11px;font-weight:800}.user-chip{align-items:center;gap:10px;display:flex}.user-chip>span{color:#fff;background:var(--teal);border-radius:50%;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.user-chip strong,.user-chip small{display:block}.user-chip strong{font-size:13px}.user-chip small{color:var(--muted);font-size:11px}.hero-card{color:#fff;box-shadow:var(--shadow);background:radial-gradient(circle at 75% 15%,#65d2c647,#0000 29%),linear-gradient(120deg,#0c7772,#115161);border-radius:22px;justify-content:space-between;align-items:center;gap:30px;padding:30px 34px;display:flex;position:relative;overflow:hidden}.hero-card:after{content:"";border:18px solid #ffffff0f;border-radius:50%;width:170px;height:170px;position:absolute;bottom:-65px;right:16%}.hero-card h2{margin:12px 0 8px;font-size:25px}.hero-card p{color:#d2e9e8;max-width:660px;margin:0;font-size:14px;line-height:1.55}.badge{letter-spacing:.1em;text-transform:uppercase;background:#ffffff24;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:800;display:inline-flex}.hero-stat{text-align:center;z-index:1;min-width:130px}.hero-stat strong,.hero-stat span{display:block}.hero-stat strong{font-family:Georgia,serif;font-size:46px;line-height:1}.hero-stat span{color:#c9e3e2;margin-top:6px;font-size:11px}.content-grid{grid-template-columns:minmax(360px,.95fr) minmax(420px,1.2fr);gap:22px;min-width:0;margin-top:22px;display:grid}.panel-card{background:var(--surface);border:1px solid #d5e0e1d9;border-radius:18px;min-width:0;padding:26px;box-shadow:0 10px 30px #14323c0b}.section-heading{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.section-heading h2{margin:5px 0 0;font-family:Georgia,serif;font-size:23px;font-weight:500}.step-number{color:#cbd8d8;font-family:Georgia,serif;font-size:27px}.year-form{grid-template-columns:1fr 1fr;gap:18px;display:grid}.field{gap:7px;min-width:0;display:grid}.field-wide,.form-actions{grid-column:1/-1}.field label{font-size:12px;font-weight:750}.field-help{color:var(--muted);font-size:10px;line-height:1.4}.field input,.field select{border:1px solid var(--line);width:100%;min-width:0;min-height:45px;color:var(--ink);font:inherit;background:#fbfdfc;border-radius:10px;outline:none;padding:10px 12px}.field input:focus,.field select:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0a7f781f}.form-actions{align-items:center;gap:14px;margin-top:4px;display:flex}.form-actions p{color:var(--muted);margin:0;font-size:12px}.button-primary{color:#fff;background:var(--teal);cursor:pointer;border:0;border-radius:10px;padding:12px 18px;font-weight:750;box-shadow:0 7px 18px #0a7f7833}.button-primary:hover{background:var(--teal-dark)}.button-primary:disabled{opacity:.65;cursor:wait}.button-secondary{border:1px solid var(--teal);color:var(--teal-dark);cursor:pointer;background:#fff;border-radius:10px;padding:11px 16px;font-weight:750}.families-layout{grid-template-columns:minmax(280px,.9fr) minmax(340px,1.1fr);gap:24px;display:grid}.family-form,.children-fields{gap:14px;display:grid}.child-fields{background:#f5fafa;border-radius:12px;grid-template-columns:1fr 1fr;gap:12px;padding:14px;display:grid}.family-list{gap:12px;display:grid}.family-row{border:1px solid var(--line);border-radius:12px;gap:12px;padding:16px;display:grid}.participant-list{flex-wrap:wrap;gap:8px;display:flex}.participant-chip{color:var(--teal-dark);background:#f5fafa;border-radius:999px;padding:6px 10px;font-weight:700}.family-discounts{gap:8px;display:grid}.family-discount-row{background:#f5fafa;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.group-enrollment-lists{gap:16px;display:grid}.group-enrollment-card{border:1px solid var(--line);border-radius:14px;gap:12px;padding:16px;display:grid}.group-enrollment-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;gap:16px;padding-bottom:10px;display:flex}.group-enrollment-heading>strong{color:var(--teal-dark);font-size:1.1rem}.enrollment-actions{gap:8px;display:grid}.suspension-label{color:#8a5a00;margin-top:6px;font-weight:700}.checkbox-field{align-items:center;gap:8px;font-weight:700;display:flex}.checkbox-field input{width:18px;height:18px}.billing-list,.billing-items{gap:10px;display:grid}.payment-reminder,.payment-refund{border-top:1px solid var(--line);justify-items:start;gap:8px;padding-top:10px;display:grid}.form-note{color:var(--muted);font-size:11px}.payment-reminder small{color:var(--muted)}.reminder-preview{border:1px solid var(--line);background:#f8faf9;border-radius:10px;gap:10px;width:min(100%,640px);padding:16px;display:grid}.reminder-preview label{gap:5px;display:grid}.reminder-preview textarea{resize:vertical}.reminder-preview p{color:var(--muted);margin:0;font-size:11px}.inline-actions{flex-wrap:wrap;gap:8px;display:flex}.billing-toolbar{background:#f5fafa;border-radius:12px;justify-content:space-between;align-items:end;gap:18px;min-width:0;margin-bottom:18px;padding:16px;display:flex}.billing-toolbar label{gap:6px;min-width:230px;font-weight:750;display:grid}.billing-totals{flex-wrap:wrap;justify-content:end;gap:14px;display:flex}.billing-filters{grid-template-columns:minmax(240px,1fr) 220px auto;align-items:end;gap:12px;min-width:0;margin-bottom:16px;display:grid}.billing-toolbar>*,.billing-filters>*,.billing-row summary>*,.billing-items,.payment-form>*{min-width:0}.arrears-summary{background:#fff8f5;border:1px solid #edc9ba;border-radius:10px;gap:10px;margin:14px 0;padding:14px;display:grid}.arrears-summary>div:first-child{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.arrears-summary h3{margin:0;font-size:14px}.arrears-list{gap:5px;display:grid}.arrears-row{width:100%;color:inherit;text-align:left;cursor:pointer;background:#fff;border:0;border-radius:7px;grid-template-columns:minmax(160px,1fr) 150px 150px;gap:10px;padding:8px 10px;display:grid}.arrears-row:hover{background:#fff0ea}.arrears-row strong{color:#9b452a}.billing-filters label{gap:6px;font-weight:700;display:grid}.billing-filters>strong{padding-bottom:10px}.billing-row{border:1px solid var(--line);border-radius:12px;overflow:hidden}.billing-row summary{cursor:pointer;overflow-wrap:anywhere;grid-template-columns:minmax(180px,1fr) 100px 120px 110px;align-items:center;gap:12px;padding:14px 16px;display:grid}.payment-form{border-top:1px solid var(--line);grid-template-columns:160px minmax(180px,1fr) auto;align-items:end;gap:10px;padding-top:10px;display:grid}.payment-form input,.payment-form select,.payment-form textarea{width:100%;max-width:100%}.billing-items p{overflow-wrap:anywhere;max-width:100%}.payment-status{font-weight:750}.payment-settled{color:#147a4b}.payment-underpaid{color:#a95d00}.payment-overpaid{color:#3159a6}.reminder-status{color:var(--teal);font-size:10px;font-weight:700}.billing-items{color:var(--muted);padding:0 16px 14px}@media (max-width:1100px){.billing-filters{grid-template-columns:minmax(0,1fr) minmax(180px,.55fr)}.billing-filters>strong{padding-bottom:0}.billing-row summary{grid-template-columns:minmax(0,1fr) auto}.payment-form{grid-template-columns:minmax(140px,.55fr) minmax(0,1fr)}.payment-form button,.payment-form [role=status]{grid-column:1/-1;justify-self:start}}@media (max-width:700px){.billing-toolbar{flex-direction:column;align-items:stretch}.billing-totals{justify-content:start}.billing-filters{grid-template-columns:1fr}.billing-row summary{grid-template-columns:1fr 1fr}.payment-form,.arrears-row{grid-template-columns:1fr}}@media (max-width:900px){.families-layout,.child-fields{grid-template-columns:1fr}}.empty-state{text-align:center;min-height:190px;color:var(--muted);background:#fafcfb;border:1px dashed #d6e1e1;border-radius:14px;align-content:center;place-items:center;display:grid}.empty-state>span{color:var(--teal);font-size:30px}.empty-state h3{color:var(--ink);margin:8px 0 3px;font-size:15px}.empty-state p{margin:0;font-size:12px}.year-list{gap:10px;display:grid}.year-row{border:1px solid var(--line);border-radius:13px;grid-template-columns:42px 1fr auto;align-items:center;gap:13px;padding:14px;display:grid}.year-row h3,.year-row p{margin:0}.year-row h3{font-size:15px}.year-row p{color:var(--muted);margin-top:4px;font-size:12px}.year-icon{background:var(--teal-soft);width:42px;height:42px;color:var(--teal);border-radius:11px;place-items:center;display:grid}.status{border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800}.status-draft{color:#80552c;background:#fff1d8}.status-active{color:#08655f;background:var(--teal-soft)}.status-archived{color:#56636b;background:#edf1f2}.editor{border-top:1px solid var(--line);grid-column:1/-1;padding-top:10px}.editor summary{width:max-content;color:var(--teal);cursor:pointer;font-size:12px;font-weight:800}.editor form{grid-template-columns:1.2fr 1fr 1fr auto;align-items:end;gap:10px;margin-top:12px;display:grid}.editor label{color:var(--muted);gap:5px;font-size:10px;font-weight:800;display:grid}.editor input{border:1px solid var(--line);background:#fbfdfc;border-radius:8px;width:100%;min-width:0;padding:8px 9px}.editor p{color:var(--muted);grid-column:1/-1;margin:0;font-size:11px}.year-closing{border-top:1px solid var(--line);grid-column:1/-1;padding-top:10px}.year-closing-confirmation{background:#fff9f8;border:1px solid #e7c8c3;border-radius:12px;gap:10px;max-width:680px;margin-top:12px;padding:14px;display:grid}.year-closing-confirmation h4,.year-closing-confirmation p{margin:0}.year-closing-confirmation label{gap:6px;font-size:12px;font-weight:700;display:grid}.year-closing-confirmation .checkbox-row{align-items:flex-start;display:flex}.year-closing-confirmation textarea{border:1px solid var(--line);resize:vertical;border-radius:8px;min-height:76px;padding:9px}.button-small{color:#fff;background:var(--teal);cursor:pointer;white-space:nowrap;border:0;border-radius:8px;padding:9px 12px;font-weight:750}.groups-panel{margin-top:18px}.groups-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px;display:grid}.context-label{color:var(--muted);margin:0 0 16px;font-size:12px}.context-label strong{color:var(--ink)}.group-form{grid-template-columns:minmax(0,1fr) 130px;gap:14px;display:grid}.group-form .form-actions{grid-column:1/-1}.empty-state.compact{min-height:135px}.group-list{gap:10px;display:grid}.group-row{border:1px solid var(--line);border-radius:13px;grid-template-columns:42px 1fr;align-items:center;gap:13px;padding:14px;display:grid}.group-row .group-editor{grid-column:1/-1}.group-editor form{grid-template-columns:minmax(0,1fr) 130px auto}.group-row h3,.group-row p{margin:0}.group-row h3{font-size:15px}.group-row p{color:var(--muted);margin-top:4px;font-size:12px}.group-icon{width:42px;height:42px;color:var(--teal);background:var(--teal-soft);border-radius:11px;place-items:center;font-size:20px;display:grid}.patterns{border-top:1px solid var(--line);grid-column:1/-1;padding-top:13px}.patterns h4{margin:0 0 9px;font-size:12px}.pattern-empty,.pattern-message{color:var(--muted);margin:6px 0;font-size:11px}.pattern-list{gap:6px;margin-bottom:8px;display:grid}.pattern-row{background:#f7faf9;border-radius:9px}.pattern-row summary{cursor:pointer;grid-template-columns:130px 100px 1fr;gap:8px;padding:9px 11px;font-size:11px;display:grid}.pattern-row summary span{color:var(--muted)}.add-pattern>summary{width:max-content;color:var(--teal);cursor:pointer;font-size:11px;font-weight:800}.pattern-form{grid-template-columns:135px 90px 90px minmax(150px,1fr) auto;align-items:end;gap:8px;padding:10px 0;display:grid}.pattern-row .pattern-form{padding:8px 11px 11px}.pattern-form label{color:var(--muted);gap:4px;font-size:10px;font-weight:800;display:grid}.pattern-form input,.pattern-form select{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;min-width:0;padding:8px}.exclusions{border-top:1px solid var(--line);grid-column:1/-1;padding-top:13px}.exclusions h4{margin:0 0 9px;font-size:12px}.exclusion-row{background:#fff9f0;border-radius:9px;margin-bottom:6px}.exclusion-row summary{cursor:pointer;grid-template-columns:110px 1fr;gap:10px;padding:9px 11px;font-size:11px;display:grid}.exclusion-row summary span{color:var(--muted)}.exclusion-row form,.exclusion-form{grid-template-columns:150px minmax(180px,1fr) auto;align-items:end;gap:8px;display:grid}.exclusion-row form{padding:0 11px 11px}.exclusion-form{margin-top:9px}.exclusion-form label{color:var(--muted);gap:4px;font-size:10px;font-weight:800;display:grid}.exclusion-row input,.exclusion-form input{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;min-width:0;padding:8px}.preview-panel{margin-top:18px}.preview-total{text-align:right;display:grid}.preview-total strong{color:var(--teal);font-size:26px}.preview-total span{color:var(--muted);font-size:10px}.preview-total small{color:var(--muted);margin-top:3px;font-size:8px}.preview-filters{flex-wrap:wrap;gap:16px;margin-bottom:18px;display:flex}.preview-filters label{min-width:220px;color:var(--muted);gap:6px;font-size:.82rem;font-weight:700;display:grid}.preview-filters select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;padding:10px 12px}.test-tools{background:snow;border-color:#f0c7c7}.test-tools>p{color:var(--muted)}.test-tool-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.audit-list{gap:10px;display:grid}.audit-row{border:1px solid var(--line);border-radius:12px;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto;align-items:center;gap:16px;padding:14px 16px;display:grid}.audit-row>div{gap:3px;display:grid}.audit-row span,.audit-row small,.audit-row details{color:var(--muted);font-size:.8rem}.audit-row details p{margin:8px 0 0}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.metric-grid>div{border:1px solid var(--line);border-radius:12px;gap:4px;padding:16px;display:grid}.metric-grid strong{font-size:1.25rem}.metric-grid span{color:var(--muted);font-size:.8rem}.month-table-wrap{overflow-x:auto}.month-table{border-collapse:collapse;width:100%;font-size:11px}.month-table th,.month-table td{border-bottom:1px solid var(--line);text-align:center;white-space:nowrap;padding:9px}.month-table th:first-child{text-align:left}.month-table thead th{color:var(--muted);text-transform:uppercase;font-size:9px}.month-table tbody tr.schedule-day-band-light>*{background:#fff}.month-table tbody tr.schedule-day-band-shade>*{background:#f1f6f6}.preview-groups{gap:8px;margin-top:18px;display:grid}.preview-groups details{border:1px solid var(--line);border-radius:10px}.preview-groups details.schedule-day-band-light{background:#fff}.preview-groups details.schedule-day-band-shade{background:#f1f6f6}.preview-groups summary{cursor:pointer;justify-content:space-between;gap:12px;padding:11px;font-size:11px;display:flex}.preview-groups summary span{color:var(--muted)}.lesson-list{border-top:1px solid var(--line);max-height:340px;overflow-y:auto}.lesson-row{grid-template-columns:110px 100px 1fr;gap:10px;padding:8px 11px;font-size:11px;display:grid}.cancellable-lesson-row{grid-template-columns:110px 100px minmax(120px,1fr) auto;align-items:center}.cancel-lesson-form{flex-wrap:wrap;grid-column:1/-1;gap:8px;display:flex}.cancel-lesson-form input{flex:1;min-width:min(280px,100%)}.cancel-lesson-form small{color:#9b452a;width:100%}@media (max-width:720px){.cancellable-lesson-row{grid-template-columns:1fr}.cancellable-lesson-row>button,.cancel-lesson-form>button{width:100%}}@media (max-width:760px){.admin-shell{width:100%;min-height:100dvh;display:block;overflow-x:clip}.sidebar{z-index:30;width:100%;padding:10px 12px 8px;display:grid;position:sticky;top:0;box-shadow:0 8px 24px #08232e2e}.brand{gap:9px;margin:0 0 8px}.brand-mark{border-radius:11px;width:36px;height:36px}.brand strong{font-size:15px}.brand small{font-size:10px}.sidebar nav{overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:none;gap:6px;margin:0 -12px;padding:0 12px 7px;display:flex;overflow-x:auto}.sidebar nav::-webkit-scrollbar{display:none}.nav-link{white-space:nowrap;scroll-snap-align:start;border:1px solid #ffffff1a;flex:none;gap:6px;min-height:40px;padding:9px 11px;font-size:12px}.nav-link.active{color:var(--navy);background:#fff}.nav-update-badge{margin-left:2px}.schedule-update-notice{flex-direction:column;align-items:stretch}.schedule-update-notice .button-small{justify-content:center;width:100%}.sidebar-footer{border:0;gap:6px;margin:0;padding:0;display:flex;position:absolute;top:10px;right:12px}.sidebar-footer a,.sidebar-footer button{color:#fff;background:#ffffff1a;border-radius:8px;min-height:36px;padding:7px 8px;font-size:0}.sidebar-footer a:after{content:"Konto";font-size:11px}.sidebar-footer button:after{content:"Wyloguj";font-size:11px}:is(.admin-main,.admin-main:has(.admin-dashboard:not([hidden]))){width:100%;padding:18px 12px 40px;overflow:visible}.topbar{align-items:center;gap:12px;margin-bottom:16px}.admin-main:has(.admin-dashboard:not([hidden])) .topbar{align-items:center;gap:12px;margin-bottom:16px}.topbar h1{font-size:27px;line-height:1.05}.admin-main:has(.admin-dashboard:not([hidden])) .topbar h1{font-size:27px;line-height:1.05}.user-chip>span{width:34px;height:34px;font-size:12px}.panel-card,.parent-preview-shell .panel-card{border-radius:14px;padding:17px 14px}.hero-card{border-radius:15px;padding:20px 17px}.hero-card h2{font-size:26px;line-height:1.08}.section-heading{gap:10px;margin-bottom:16px}.section-heading h2{font-size:21px;line-height:1.15}.step-number{font-size:22px}.content-grid,.groups-layout,.families-layout,.year-form,.group-form,.child-fields,.pattern-form,.pattern-row summary,.exclusion-form,.exclusion-row form,.exclusion-row summary,.editor form,.metric-grid,.audit-row,.instructor-details-form{grid-template-columns:minmax(0,1fr)}.field,.field-wide,.form-actions,.admin-main form,.admin-main label,.admin-main input,.admin-main select,.admin-main textarea,.admin-main details,.admin-main summary{min-width:0;max-width:100%}.admin-main input:not([type=checkbox]):not([type=radio]),.admin-main select,.admin-main textarea{width:100%;font-size:16px}.form-actions,.inline-actions,.publish-actions,.public-settings-actions,.communication-form-actions,.communication-send-actions{flex-direction:column;align-items:stretch}.form-actions .button-primary,.form-actions .button-secondary,.publish-actions button,.public-settings-actions button,.communication-form-actions button,.communication-send-actions button{justify-content:center;width:100%;min-height:44px}.family-directory-toolbar,.group-directory-toolbar,.enrollment-directory-toolbar,.communication-toolbar,.instructor-manager-toolbar,.billing-toolbar{gap:10px}.family-create-form,.group-create-form,.enrollment-create-form,.communication-create-form,.instructor-create-form{border-radius:12px;padding:14px}.family-directory-summary,.group-directory-summary,.enrollment-directory-summary,.communication-history-summary,.instructor-directory-summary,.recruitment-history-summary{gap:9px}.family-directory-details,.group-directory-details,.enrollment-directory-details,.communication-history-details,.instructor-directory-details,.recruitment-history-details{overflow-wrap:anywhere}.billing-toolbar label,.instructor-filters label,.makeup-month-filter{width:100%;min-width:0;max-width:none}.billing-totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.billing-row summary{grid-template-columns:minmax(0,1fr);gap:6px;padding:13px}.billing-items{padding:0 13px 13px}.group-enrollment-heading,.family-discount-row,.publish-actions{flex-direction:column;align-items:flex-start}.month-table-wrap{overscroll-behavior-inline:contain;margin-inline:-14px;padding-inline:14px}.month-table th,.month-table td{padding:8px 7px}.recruitment-publication,.recruitment-card,.group-enrollment-card,.family-row{padding:13px}.button-primary,.button-secondary,.button-small,button,summary{touch-action:manipulation}}@media (max-width:380px){.sidebar-footer a{display:none}.topbar .eyebrow{text-overflow:ellipsis;white-space:nowrap;max-width:230px;overflow:hidden}.billing-totals{grid-template-columns:1fr}}.lesson-row:nth-child(2n){background:#f8faf9}.lesson-row span{color:var(--muted)}.readiness-card{border-left:4px solid;margin-top:18px}.readiness-card.is-ready{border-left-color:var(--teal)}.readiness-card.not-ready{border-left-color:#ca6c46}.readiness-header{justify-content:space-between;align-items:center;gap:20px;display:flex}.readiness-header h2,.readiness-header p{margin:0}.readiness-header h2{font-size:18px}.readiness-header>div>p:last-child{color:var(--muted);margin-top:5px;font-size:10px}.readiness-symbol{color:#fff;background:var(--teal);border-radius:50%;place-items:center;width:38px;height:38px;font-size:20px;font-weight:900;display:grid}.not-ready .readiness-symbol{background:#ca6c46}.issue-list{gap:7px;margin-top:16px;display:grid}.issue{border-radius:9px;grid-template-columns:90px 1fr;gap:10px;padding:10px 12px;font-size:11px;display:grid}.issue-error{color:#873d25;background:#fff0ea}.issue-warning{color:#80552c;background:#fff6e5}.readiness-ok{color:var(--muted);margin:14px 0 0;font-size:11px}.publish-actions{align-items:center;gap:12px;margin-top:16px;display:flex}.publish-actions p{color:var(--muted);margin:0;font-size:11px}@media (max-width:900px){.admin-shell{grid-template-columns:1fr}.sidebar{padding:16px 20px}.brand{margin-bottom:14px}.sidebar nav{display:flex;overflow-x:auto}.sidebar-footer{justify-content:space-between;align-items:center;gap:16px;margin-top:12px;padding-top:12px;display:flex}.sidebar-footer a,.sidebar-footer button{align-items:center;min-height:40px;padding:6px 0;display:inline-flex}.content-grid,.groups-layout{grid-template-columns:1fr}.pattern-form,.exclusion-row form,.exclusion-form,.editor form{grid-template-columns:1fr 1fr}}@media (max-width:760px){.admin-main{padding:24px 16px 48px}.topbar{align-items:flex-start}.user-chip div{display:none}.hero-card{align-items:flex-start;padding:24px}.hero-stat{display:none}.year-form,.group-form,.pattern-form,.pattern-row summary,.exclusion-row form,.exclusion-form,.exclusion-row summary,.editor form,.metric-grid,.audit-row{grid-template-columns:1fr}.field,.field-wide,.form-actions{grid-column:1}.arrears-summary>div:first-child{flex-direction:column;align-items:flex-start}.arrears-row{grid-template-columns:1fr}.parent-preview-header{flex-direction:column}.parent-preview-grid,.parent-payment-list summary,.parent-lesson-row{grid-template-columns:1fr}.parent-lesson-row .button-small{justify-self:start}}.instructor-filters{align-items:end;gap:12px;margin-bottom:16px;display:flex}.instructor-filters label{gap:5px;min-width:190px;font-size:11px;display:grid}.instructor-day-list{gap:8px;display:grid}.instructor-lesson-card{gap:0;display:grid}.attendance-preview{border:1px solid var(--line);background:#f8faf9;border-top:0;border-radius:0 0 9px 9px;grid-template-columns:1fr 1fr;gap:16px;padding:14px;display:grid}.group-birthdays{color:#6f531e;background:#fff8e6;border:1px solid #efd99e;border-radius:10px;gap:6px;margin-bottom:14px;padding:12px;display:grid}.group-birthdays span{font-size:12px}.attendance-preview>div{align-content:start;gap:6px;display:grid}.attendance-preview p{border-bottom:1px solid var(--line);justify-content:space-between;gap:10px;margin:0;padding:7px 0;font-size:11px;display:flex}.attendance-absence{color:#9a3412}.attendance-actions{justify-content:flex-end;align-items:center;gap:5px;display:flex}.attendance-actions em{color:#9a3412;font-size:9px}.attendance-saved,.attendance-saving,.attendance-unmarked{white-space:nowrap;border-radius:999px;padding:4px 7px;font-size:9px}.attendance-saved.present{color:#065f46;background:#d1fae5}.attendance-saved.absent{color:#991b1b;background:#fee2e2}.attendance-saving{color:#475569;background:#e2e8f0}.instructor-connection-status{color:#17623a;background:#e7f6ed;border-radius:.75rem;margin:0 0 1rem;padding:.65rem .85rem;font-size:.9rem;font-weight:700}.instructor-connection-status.is-offline{color:#7a4a00;background:#fff1d6}.attendance-unmarked{color:#64748b;background:#f1f5f9}.attendance-actions .selected{color:#fff;background:var(--teal);border-color:var(--teal);opacity:1}.attendance-close{grid-column:1/-1;justify-content:flex-end;padding-top:6px;display:flex}.instructor-day-list article{border:1px solid var(--line);border-radius:9px;grid-template-columns:120px 1fr 1fr auto;align-items:center;gap:12px;padding:12px;display:grid}.instructor-self-service .instructor-day-list{gap:5px;margin-bottom:10px}.instructor-self-service .instructor-day-list article{border-radius:7px;grid-template-columns:92px 84px minmax(110px,1fr) minmax(70px,.7fr) auto;gap:8px;min-height:44px;padding:7px 9px;font-size:11px}.instructor-self-service .instructor-day-list article>strong:first-child{color:var(--muted);font-size:10px}.instructor-self-service>.button-small{margin:4px 8px 4px 0}.instructor-next-list{padding:4px 13px}.instructors-layout{grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr);gap:18px;display:grid}.instructor-manager{gap:18px;display:grid}.instructor-manager-toolbar{justify-content:space-between;align-items:end;gap:16px;display:flex}.instructor-search{width:min(560px,100%)}.instructor-search span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px;font-size:11px;font-weight:700;display:block}.instructor-search input{width:100%}.instructor-create{position:relative}.instructor-create>summary{white-space:nowrap;cursor:pointer;list-style:none}.instructor-create>summary::-webkit-details-marker{display:none}.instructor-create-form{z-index:5;border:1px solid var(--line);background:#fff;border-radius:14px;gap:14px;width:min(430px,100vw - 48px);padding:20px;display:grid;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 55px #123b432e}.instructor-directory-list{border:1px solid var(--line);background:#fff;border-radius:14px;display:grid;overflow:hidden}.instructor-directory-row+.instructor-directory-row{border-top:1px solid var(--line)}.instructor-directory-row.open{background:#fbfdfd}.instructor-directory-summary{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:46px minmax(0,1fr) auto 30px;align-items:center;gap:14px;padding:15px 18px;display:grid}.instructor-directory-summary:hover{background:#f5f9f9}.instructor-directory-name{min-width:0}.instructor-directory-name strong,.instructor-directory-name small{display:block}.instructor-directory-name small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;overflow:hidden}.instructor-directory-name .instructor-groups-summary{color:var(--teal)}.instructor-assigned-groups{border:1px solid var(--line);background:#f7fbfa;border-radius:10px;gap:8px;padding:13px;display:grid}.instructor-assigned-groups>div{flex-wrap:wrap;gap:7px;display:flex}.instructor-assigned-groups span{color:var(--teal);background:var(--teal-soft);border-radius:999px;padding:6px 9px;font-size:11px;font-weight:700}.instructor-assigned-groups .context-label{margin:0}.instructor-status{color:#7b4d3c;background:#f8ece7;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:700}.instructor-status.active{color:var(--teal);background:#eaf4f4}.instructor-directory-details{gap:16px;padding:4px 18px 22px 78px;display:grid}.instructor-account-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.instructor-account-actions form{flex-wrap:wrap;gap:8px;display:flex}.family-delete{border-top:1px solid #fecaca;margin-top:8px;padding-top:12px}.family-archive{border-top:1px solid var(--line);margin-top:8px;padding-top:12px}.family-archive>summary{width:fit-content;color:var(--teal);cursor:pointer;font-size:11px;font-weight:700}.family-archive form,.family-archive-info{border:1px solid var(--line);background:#f8faf9;border-radius:9px;gap:10px;max-width:620px;margin-top:12px;padding:14px;display:grid}.family-archive form p,.family-archive-info p{margin:0;font-size:11px}.family-delete>summary{color:#991b1b;cursor:pointer;width:fit-content;font-size:11px;font-weight:700}.family-delete form{color:#7f1d1d;background:#fff7f7;border:1px solid #fecaca;border-radius:9px;gap:10px;max-width:620px;margin-top:12px;padding:14px;display:grid}.family-delete form p{margin:0;font-size:11px}.button-danger{color:#fff;cursor:pointer;width:fit-content;font:inherit;background:#b91c1c;border:1px solid #b91c1c;border-radius:7px;padding:8px 12px;font-size:11px;font-weight:700}.button-danger:disabled{cursor:not-allowed;opacity:.45}.registration-honeypot{width:1px!important;height:1px!important;position:absolute!important;left:-10000px!important;overflow:hidden!important}.parent-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:760px;display:grid}.registration-card{max-width:840px;margin-inline:auto}.registration-card .parent-form{max-width:none}.registration-card .field{align-content:start}.registration-card .field input{width:100%}.registration-header>a{flex:none}.parent-form-wide,.parent-form-actions,.parent-form>h2,.parent-form>.context-label,.parent-form>fieldset,.parent-form>.button-secondary{grid-column:1/-1}.parent-form-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.form-message{color:var(--muted);margin:0;line-height:1.45}.form-message.success{color:#17643a}.form-message.error{color:#a12626}.recruitment-parent-form{max-width:none;margin-top:20px}.recruitment-child-form{border:1px solid var(--line);background:#fbfdfc;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;padding:20px;display:grid}.recruitment-child-form legend{padding:0 8px;font-weight:800}.recruitment-child-form .balance-warning,.recruitment-child-form .selected-group-summary,.recruitment-child-form>button{grid-column:1/-1}.selected-group-summary{color:var(--muted);background:#eef7f5;border-radius:9px;margin:-4px 0 0;padding:10px 12px}.parent-billing{gap:16px;margin-top:18px;display:grid}.parent-payment-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.parent-payment-details p{background:#eef7f5;border-radius:10px;gap:5px;margin:0;padding:13px 14px;display:grid}.parent-payment-details span{color:var(--muted);font-size:11px}.parent-payment-details strong{overflow-wrap:anywhere}.parent-billing-current{border:1px solid var(--line);background:#fbfdfc;border-radius:14px;gap:16px;padding:18px;display:grid}.parent-transfer-details{border-top:1px solid var(--line);margin-top:1rem;padding-top:.85rem}.parent-transfer-details>summary,.parent-transfer-qr>summary{cursor:pointer;color:var(--ink);font-weight:800}.parent-transfer-content{gap:1rem;margin-top:.9rem;display:grid}.parent-transfer-values{gap:.55rem;display:grid}.parent-transfer-row{background:#f1f7f6d1;border-radius:.8rem;grid-template-columns:minmax(8rem,.55fr) minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.7rem;display:grid}.parent-transfer-row span{color:var(--muted);font-size:.84rem}.parent-transfer-row strong{overflow-wrap:anywhere}.parent-transfer-row button{min-height:2.35rem;padding:.45rem .75rem}.parent-transfer-qr>div{text-align:center;justify-items:center;gap:.45rem;margin-top:.8rem;display:grid}.parent-transfer-qr img{border-radius:.65rem;width:min(250px,100%);height:auto}.parent-transfer-qr p,.parent-transfer-qr small{max-width:34rem;margin:0}.parent-billing-heading,.parent-billing-history article{justify-content:space-between;align-items:center;gap:16px;display:flex}.parent-billing-heading span,.parent-billing-totals span,.parent-billing-history span{color:var(--muted);font-size:11px;display:block}.parent-billing-heading h3{text-transform:capitalize;margin:3px 0 0}.parent-billing-totals{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.parent-billing-totals>div{background:#eef7f5;border-radius:10px;padding:12px}.parent-billing-totals strong{margin-top:5px;font-size:16px;display:block}.parent-billing-children{gap:7px;display:grid}.parent-billing-children>div{border-bottom:1px solid var(--line);grid-template-columns:1fr auto auto;gap:14px;padding:9px 0;display:grid}.parent-discount-label{color:#236b59;background:#e5f4ef;border-radius:999px;width:fit-content;margin-top:.25rem;padding:.15rem .45rem;font-size:.68rem;font-weight:750;display:block}.parent-billing-history{border:1px solid var(--line);border-radius:12px;overflow:hidden}.parent-billing-history summary{cursor:pointer;padding:14px 16px;font-weight:750}.parent-billing-history>div{border-top:1px solid var(--line)}.parent-billing-history article{padding:12px 16px}.parent-billing-history article+article{border-top:1px solid var(--line)}.parent-account-card{grid-column:1/-1}.parent-account-data{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 16px;display:grid}.parent-account-data>div{background:#f3f8f7;border-radius:10px;padding:12px}.parent-account-data dt{color:var(--muted);font-size:11px}.parent-account-data dd{overflow-wrap:anywhere;margin:4px 0 0;font-weight:750}.parent-account-section{border-top:1px solid var(--line)}.parent-account-section>summary{cursor:pointer;align-items:center;min-height:44px;font-weight:750;display:flex}.parent-account-section form{gap:13px;max-width:560px;padding:4px 0 18px;display:grid}.parent-account-section form>button{width:fit-content}.parent-account-section form>p{color:var(--muted);margin:0}.parent-install-card{grid-column:1/-1}.parent-install-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0;display:grid}.parent-install-options details{border:1px solid var(--line);background:var(--canvas);border-radius:14px;padding:14px 16px}.parent-install-options summary{cursor:pointer;color:var(--navy);font-weight:750}.parent-install-options ol{margin:14px 0 0;padding-left:22px}.parent-install-options li+li{margin-top:8px}.parent-install-image{border:1px solid var(--line);border-radius:14px;width:min(100%,520px);height:auto;margin:18px auto 0;display:block}.terms-checkbox{align-items:start}.public-settings-form{gap:24px;margin-top:20px;display:grid}.public-settings-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.public-settings-fields label,.public-instructor-settings label{gap:6px;font-size:11px;font-weight:700;display:grid}.public-settings-wide{grid-column:1/-1}.public-hero-image-settings{border:1px solid var(--line);background:#f8faf9;border-radius:12px;gap:14px;max-width:720px;padding:18px;display:grid}.public-hero-image-settings h3,.public-hero-image-settings p{margin:0}.public-hero-image-settings p,.public-hero-image-settings small{color:var(--muted)}.public-hero-image-settings>img,.public-hero-image-empty{object-fit:cover;border-radius:10px;width:100%;height:auto;max-height:320px}.public-hero-image-empty{min-height:150px;color:var(--muted);background:#fff;border:1px dashed #b8c9c8;place-items:center;display:grid}.public-hero-image-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.public-hero-image-actions input{flex:260px;min-width:0}.public-instructor-settings{border:1px solid var(--line);border-radius:12px;gap:10px;margin:0;padding:18px;display:grid}.public-instructor-settings legend{padding:0 7px;font-weight:800}.public-instructor-settings>div{background:#f7faf9;border-radius:9px;gap:10px;padding:12px;display:grid}.public-instructor-settings .checkbox-row{align-items:center;display:flex}.public-instructor-settings textarea{resize:vertical;width:100%;font:inherit}.public-settings-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.public-settings-actions p{width:100%;margin:0}@media (max-width:720px){.parent-preview-shell{width:calc(100% - 20px);padding-top:20px}.parent-preview-shell .panel-card{border-radius:14px;padding:18px}.parent-quick-nav{margin-right:-10px;padding-right:10px}.parent-quick-nav a,.parent-recruitment>details>summary{min-height:44px}.parent-recruitment>details>summary{flex-direction:column;align-items:flex-start;gap:8px}.parent-recruitment>details>summary h2{font-size:21px}.parent-preview-grid{gap:12px}.parent-install-options{grid-template-columns:1fr}.parent-preview-grid>#messages{order:-4}#schedule{order:-1}#makeups{order:-3}#payments{order:-2}.parent-schedule-card .month-table-wrap{display:none}.makeup-opportunities>div{flex-direction:column;align-items:stretch}.makeup-opportunities .button-small,.parent-lesson-row .button-small,.absence-action .button-small{justify-content:center;width:100%;min-height:44px}.parent-billing-children>div{grid-template-columns:1fr auto}.parent-payment-details{grid-template-columns:1fr}.parent-transfer-row{grid-template-columns:minmax(0,1fr) auto}.parent-transfer-row span{grid-column:1/-1}.parent-transfer-row button{min-width:6.4rem;min-height:44px}.parent-billing-children>div>span:nth-child(2){color:var(--muted);grid-area:2/1;font-size:11px}.parent-billing-children>div>strong{grid-area:1/2/3;align-self:center}.parent-form,.recruitment-child-form{grid-template-columns:1fr}.parent-form>*,.recruitment-child-form>*{grid-column:1}.registration-header{flex-direction:column;align-items:stretch;gap:14px}.registration-header>a,.registration-card .parent-form-actions .button-primary,.registration-card .parent-form-actions .button-secondary{text-align:center;justify-content:center;width:100%;min-height:44px}.registration-card .parent-form-actions{flex-direction:column;align-items:stretch}.parent-billing-totals,.parent-account-data{grid-template-columns:1fr}.parent-account-section form>button{width:100%;min-height:44px}.public-settings-fields{grid-template-columns:1fr}.public-settings-wide{grid-column:1}.public-settings-actions>a,.public-settings-actions>button{justify-content:center;width:100%}.public-hero-image-actions{display:grid}.public-hero-image-actions input,.public-hero-image-actions button{width:100%}.parent-billing-heading,.parent-billing-history article{flex-direction:column;align-items:flex-start}}.instructor-portal{width:min(1180px,100% - 32px);margin:0 auto;padding:24px 0 60px}.instructor-directory{align-content:start;gap:8px;display:grid}.instructor-directory article{border:1px solid var(--line);border-radius:9px;grid-template-columns:minmax(320px,1fr) auto auto;align-items:center;gap:10px;padding:11px;display:grid}.instructor-directory article div{display:grid}.instructor-details-form{grid-template-columns:repeat(2,minmax(120px,1fr));gap:6px;display:grid}.admin-availability{border-top:1px solid var(--line);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:6px;padding-top:8px;display:flex!important}.admin-availability span{background:var(--teal-soft);border-radius:999px;padding:4px 7px;font-size:10px}@media (max-width:760px){.instructor-filters{display:grid}.instructor-day-list article,.instructor-self-service .instructor-day-list article,.attendance-preview,.instructors-layout{grid-template-columns:1fr}.instructor-manager-toolbar{display:grid}.instructor-create>summary{text-align:center;width:100%}.instructor-create-form{width:100%;margin-top:10px;position:static}.instructor-directory-summary{grid-template-columns:42px minmax(0,1fr) 24px;padding:13px}.instructor-status{grid-column:2;width:fit-content}.instructor-directory-details{padding:4px 13px 18px}.instructor-details-form{grid-template-columns:1fr}}.makeup-metrics{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px;display:grid}.makeup-metrics>div{background:var(--teal-soft);border-radius:9px;padding:13px}.makeup-metrics strong,.makeup-metrics span{display:block}.makeup-metrics strong{font-size:22px}.makeup-metrics span{color:var(--muted);font-size:10px}.makeup-admin-block{border:1px solid var(--line);border-radius:9px;margin-top:8px;overflow:hidden}.makeup-admin-block>summary{cursor:pointer;background:#f8faf9;justify-content:space-between;padding:11px 13px;display:flex}.makeup-admin-list>div{border-top:1px solid var(--line);grid-template-columns:repeat(5,minmax(100px,1fr));gap:8px;padding:9px 13px;font-size:10px;display:grid}.makeup-admin-list>div span{color:var(--muted)}.makeup-admin-list>p,.makeup-month-filter{margin:10px 13px}.makeup-month-filter{gap:5px;max-width:220px;font-size:10px;display:grid}@media (max-width:760px){.makeup-metrics,.makeup-admin-list>div{grid-template-columns:1fr}}.terms-content{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.6}.document-section-divider{border-top:1px solid var(--line);gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;display:grid}.document-section-divider>h3,.document-section-divider>p{margin:0}.recruitment-list{gap:1rem;display:grid}.recruitment-publication{border:1px solid var(--line);background:var(--surface-soft);border-radius:1rem;gap:.65rem;margin-bottom:1rem;padding:1rem;display:grid}.recruitment-publication p,.recruitment-publication small{margin:.25rem 0 0}.recruitment-publication .button-primary,.recruitment-publication .button-secondary{justify-self:start}.recruitment-publication .button-secondary.proposal-changed{background:#e4f3ef}.draft-assignments-preview{border:1px solid var(--line);background:#fff;border-radius:1rem;margin-bottom:1rem}.draft-assignments-preview>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.draft-assignments-preview>summary span,.draft-assignments-preview>summary small{display:block}.draft-assignments-preview>summary small{color:var(--muted);margin-top:.25rem}.draft-assignment-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;padding:0 1rem 1rem;display:grid}.draft-assignment-day-heading{background:#f5f8f8;border-radius:.7rem;grid-column:1/-1;margin:0;padding:.65rem .8rem;font-size:.95rem}.draft-assignment-day-heading.is-even{background:#e5eeee}.draft-assignment-groups article{border:1px solid var(--line);background:var(--surface-soft);border-radius:.75rem;min-width:0;padding:.85rem}.draft-assignment-groups header{justify-content:space-between;gap:.75rem;display:flex}.draft-assignment-groups header span,.draft-assignment-groups header small{display:block}.draft-assignment-groups header small,.draft-assignment-groups li span,.draft-assignment-groups article>p{color:var(--muted);font-size:.75rem}.draft-assignment-groups ul{gap:.45rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.draft-assignment-groups li{border-top:1px solid var(--line);padding-top:.45rem;display:grid}.draft-assignment-groups li.draft-assignment-pending{background:#eef1f3;border:1px solid #d9dee3;border-radius:.5rem;margin-top:.1rem;padding:.5rem .55rem}.draft-assignment-groups article>p{margin:.75rem 0 0}.draft-unassigned{background:#fff6e5;border-radius:.75rem;margin:0 1rem 1rem;padding:.8rem}.draft-unassigned p{margin:.35rem 0 0}.recruitment-list-toolbar{grid-template-columns:minmax(220px,1fr) minmax(170px,.45fr) auto;align-items:end;gap:12px;display:grid}.recruitment-list-toolbar label{gap:6px;min-width:0;font-size:12px;font-weight:700;display:grid}.recruitment-list-toolbar input,.recruitment-list-toolbar select{width:100%;min-width:0}.recruitment-list-toolbar>strong{white-space:nowrap;padding-bottom:10px}.recruitment-history-row{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.recruitment-history-row.open{background:#fbfdfd}.recruitment-history-summary{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:46px minmax(150px,1fr) auto auto 30px;align-items:center;gap:14px;padding:14px 16px;display:grid}.recruitment-history-summary:hover{background:#f5f9f9}.recruitment-history-name{min-width:0}.recruitment-history-name strong,.recruitment-history-name small{display:block}.recruitment-history-name small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;overflow:hidden}.recruitment-history-date{color:var(--muted);font-size:11px}.recruitment-history-details{padding:0 16px 16px 76px}.recruitment-history-details .recruitment-card{box-shadow:none}.recruitment-card{border:1px solid var(--line);background:var(--surface);border-radius:18px;gap:1rem;padding:1.25rem;display:grid}.recruitment-card-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.recruitment-contact{flex-wrap:wrap;gap:.75rem 1.5rem;margin:.75rem 0 0;display:flex}.recruitment-contact div{gap:.15rem;display:grid}.recruitment-contact dt{color:var(--muted);font-size:.78rem}.recruitment-contact dd{margin:0;font-weight:650}.recruitment-children{background:#f5f8f8;border-radius:14px;gap:.75rem;padding:1rem;display:grid}.recruitment-child{grid-template-columns:minmax(180px,.8fr) minmax(260px,1.2fr);align-items:end;gap:1rem;display:grid}.recruitment-child>div,.recruitment-decision{gap:.25rem;display:grid}.recruitment-child span,.recruitment-decision span{color:var(--muted)}.recruitment-child-editor{border:1px solid var(--line);background:#fff;border-radius:.75rem;grid-column:1/-1;padding:.65rem .75rem}.recruitment-child-editor>summary{cursor:pointer;font-weight:750}.recruitment-child-editor form{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:.65rem;margin-top:.75rem;display:grid}.recruitment-child>.recruitment-group-selection{grid-area:1/2}.recruitment-cancellation{background:#fff9f7;border:1px solid #e6c9c4;border-radius:.75rem;grid-column:1/-1;padding:.7rem}.recruitment-cancellation>summary{color:#8f3025;cursor:pointer;font-weight:750}.recruitment-cancellation-preview{gap:.65rem;margin-top:.75rem;display:grid}.recruitment-actions{border-top:1px solid var(--line);gap:.75rem;padding-top:.25rem;display:grid}.recruitment-group-selection{border:1px solid var(--line);border-radius:.75rem;gap:.4rem;min-width:0;margin:0;padding:.75rem;display:grid}.recruitment-group-selection legend{padding:0 .25rem;font-size:.75rem;font-weight:750}.recruitment-group-selection label{cursor:pointer;background:#f5fafa;border-radius:.5rem;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:.5rem;padding:.45rem;display:grid}.recruitment-group-day{border-radius:.65rem;gap:.4rem;padding:.55rem;display:grid}.recruitment-group-day:nth-of-type(2n){background:#eaf1f1}.recruitment-group-day>strong{color:var(--ink);font-size:.8rem}.recruitment-group-selection input{width:18px;height:18px;margin:0}@media (max-width:720px){.draft-assignments-preview>summary{flex-direction:column;align-items:flex-start}.draft-assignment-groups,.recruitment-list-toolbar{grid-template-columns:1fr}.recruitment-list-toolbar>strong{padding-bottom:0}.recruitment-history-summary{grid-template-columns:42px minmax(0,1fr) 24px;padding:13px}.recruitment-history-summary .status,.recruitment-history-date{grid-column:2;width:fit-content}.recruitment-history-summary .family-chevron{grid-area:1/3/span 3}.recruitment-history-details{padding:0 12px 12px}.recruitment-card-header,.recruitment-child{grid-template-columns:1fr;display:grid}.recruitment-child>.recruitment-group-selection{grid-area:auto/1}.recruitment-child-editor form{grid-template-columns:1fr}}@media (max-width:760px){.sidebar{padding:10px 12px 8px}.brand{margin-bottom:8px}.sidebar-footer{margin:0;padding:0}:is(.admin-main,.admin-main:has(.admin-dashboard:not([hidden]))){padding:18px 12px 40px}.topbar{align-items:center;margin-bottom:16px}.admin-main:has(.admin-dashboard:not([hidden])) .topbar{align-items:center;margin-bottom:16px}.hero-card{padding:20px 17px}.panel-card{padding:17px 14px}}
