:root{color:#292b27;font-synthesis:none;--green:#526849;--muted:#697064;--line:#dedfd4;--pale:#eaf0e4;background:#fbf9ef;font-family:PingFang TC,sans-serif;font-size:18px;line-height:1.75}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.5}a{color:var(--green);text-underline-offset:4px}button{border:0}h1,h2,h3,p,figure{margin:0}h1,h2,h3{word-break:normal;overflow-wrap:anywhere;line-height:1.4}h1{letter-spacing:.01em;font-size:41px;font-weight:700}h2{font-size:26px}h3{font-size:20px}p{color:var(--muted)}small{font-size:16px}button:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #b5812d}input:focus,select:focus,textarea:focus{outline:2px solid var(--green);outline-offset:2px}.button{background:var(--green);color:#fff;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:12px;min-height:50px;padding:12px 23px;font-weight:500;display:inline-flex}.button:hover:not(:disabled){background:#40533a}.button.secondary{color:var(--green);background:0 0;border:1px solid #b6c1ae}.button.secondary:hover:not(:disabled){background:var(--pale)}.text-button{color:var(--green);background:0 0;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:6px 0;font-size:16px;font-weight:500;text-decoration:none;display:inline-flex}.text-button:hover{text-decoration:underline}.icon-button{background:0 0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;min-width:44px;min-height:44px;display:inline-flex}.icon-button:hover:not(:disabled){background:var(--pale)}.demo-banner{color:#554a31;background:#ece5cb;justify-content:center;gap:24px;padding:8px 24px;font-size:15px;display:flex}.demo-banner a{color:inherit;white-space:nowrap}.site-header{border-bottom:1px solid var(--line);align-items:center;gap:28px;max-width:1200px;min-height:105px;margin:auto;padding:14px 40px;display:flex}.brand{text-align:left;background:0 0;flex-shrink:0;align-items:center;gap:12px;padding:0;display:flex}.brand img{object-fit:contain;mix-blend-mode:multiply;width:66px;height:66px}.brand>span{letter-spacing:.15em;font-size:26px;font-weight:700}.brand small{letter-spacing:1px;font-size:9px;font-weight:500;display:block}.desktop-nav{gap:24px;margin-left:auto;display:flex}.desktop-nav button{color:var(--muted);white-space:nowrap;background:0 0;padding:10px 0;font-size:16px}.desktop-nav button[aria-current]{color:var(--green);border-bottom:2px solid var(--green)}.header-actions{align-items:center;gap:8px;display:flex}.admin-link span{font-size:15px}.header-login{background:var(--green);color:#fff;white-space:nowrap;border-radius:8px;padding:10px 17px;font-size:16px}.page-content{max-width:1200px;min-height:60vh;margin:auto;padding:0 40px 64px}.home-intro{grid-template-columns:.9fr 1.3fr;align-items:center;gap:40px;padding:64px 0 58px;display:grid}.intro-copy h1{letter-spacing:.035em;font-size:clamp(34px,3vw,45px);line-height:1.65}.intro-copy h1 span{color:var(--green)}.intro-copy>p{margin:20px 0 28px;line-height:1.95}.intro-actions{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.intro-details{color:var(--muted);flex-wrap:wrap;gap:8px 22px;margin-top:26px;font-size:15px;display:flex}.intro-details span{align-items:center;gap:6px;display:flex}.hero-cover{background:#fffef6;border:1px solid #ded9c6;border-radius:4px;min-width:0;padding:10px;transform:rotate(-1.2deg);box-shadow:0 7px #eeeadb}.hero-cover img{width:100%;height:auto;display:block}.hero-cover figcaption{color:var(--muted);justify-content:space-between;padding:12px 5px 2px;font-size:14px;display:flex}.section-heading{justify-content:space-between;align-items:center;gap:24px;margin:0 0 24px;display:flex}.section-heading p{margin-top:7px;font-size:16px}.month-switch{white-space:nowrap;align-items:center;gap:9px;font-size:16px;display:flex}.schedule-section{border-top:1px solid var(--line);padding-top:36px}.activity-list{border-top:1px solid var(--line)}.activity-row{border-bottom:1px solid var(--line);align-items:center;gap:24px;padding:25px 0;display:flex}.theme-number{background:#e8eadc;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:54px;font-size:23px;font-weight:700;display:flex}.theme-1{color:#756226;background:#f3e9c7}.theme-2{color:#466383;background:#e3e9f0}.theme-3{color:#915239;background:#f4dfd3}.activity-name{flex:1}.theme-caption{color:var(--muted);letter-spacing:.09em;margin-bottom:4px;font-size:14px;display:block}.activity-name h3{font-size:24px}.activity-price{color:var(--muted);margin-top:6px;font-size:15px;display:block}.date-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.date-option{text-align:left;background:#fffef8;border:1px solid #ced3c3;border-radius:10px;min-height:86px;padding:12px 17px}.date-option:hover:not(:disabled){border-color:var(--green);background:var(--pale)}.date-top{align-items:center;gap:10px;font-size:24px;font-weight:700;line-height:1.5;display:flex}.date-top small{font-size:15px;font-weight:400}.date-top svg{margin-left:auto}.date-time{color:var(--muted);align-items:center;gap:6px;margin-top:4px;font-size:16px;display:flex}.date-time em{margin-left:auto;font-size:14px;font-style:normal}.date-option.selected{border:2px solid var(--green);background:var(--pale);padding:11px 16px}.ended .theme-number,.ended .activity-name{opacity:.6}.schedule-bottom{justify-content:space-between;align-items:center;gap:24px;padding:25px 0 10px;display:flex}.schedule-bottom p{font-size:16px}.visit-strip{background:var(--pale);border-radius:12px;justify-content:space-between;align-items:center;gap:25px;margin-top:48px;padding:25px 28px;display:flex}.visit-strip>div:first-child{align-items:center;gap:18px;display:flex}.visit-strip p{margin-top:5px;font-size:15px}.visit-time{white-space:nowrap;gap:20px;font-size:16px;display:flex}.visit-time strong{margin-left:7px}.site-footer{border-top:1px solid var(--line);max-width:1120px;color:var(--muted);gap:25px;margin:0 auto;padding:26px 0 32px;font-size:14px;display:flex}.site-footer a:last-child{margin-left:auto}.mobile-nav{display:none}.page-title{padding:28px 0 30px}.page-title h1{margin-top:10px}.page-title p{margin-top:12px}.back{min-height:40px}.panel{border:1px solid var(--line);background:#fffef9;border-radius:14px;padding:32px}.narrow{max-width:560px;margin-left:auto;margin-right:auto}.empty{text-align:center;padding:60px 24px}.empty img{object-fit:contain;mix-blend-mode:multiply;width:110px;height:110px;margin-bottom:20px}.empty h2{margin-bottom:12px}.empty p{margin-bottom:24px}.form-stack{flex-direction:column;gap:20px;margin-top:24px;display:flex}label,.form-label{flex-direction:column;gap:8px;font-size:16px;font-weight:500;display:flex}label>span,.form-label>span{color:var(--muted);font-weight:400}input,select,textarea{width:100%;min-height:48px;color:inherit;background:#fffef9;border:1px solid #cbd0c3;border-radius:8px;padding:11px 13px;font-size:18px}textarea{resize:vertical}.form-two{grid-template-columns:1fr 1fr;gap:16px;min-width:0;display:grid}.form-two>*{min-width:0}.form-hint{color:var(--muted);font-size:15px;font-weight:400;line-height:1.8}.modal{border:1px solid var(--line);width:calc(100% - 32px);max-width:540px;max-height:calc(100dvh - 40px);color:inherit;background:#fbf9ef;border-radius:16px;padding:28px;overflow-y:auto}.modal::backdrop{background:#242b2566}.modal-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.modal-heading h2{font-size:25px}.modal-actions{flex-wrap:wrap;gap:12px;margin:24px 0 8px;display:flex}.children-list{border-top:1px solid var(--line)}.child-row{border-bottom:1px solid var(--line);align-items:center;gap:20px;padding:24px 0;display:flex}.child-row>.icon-button{margin-left:auto}.child-row p{margin-top:6px;font-size:16px}.child-notes{overflow-wrap:anywhere;max-width:620px}.initial,.small-initial{color:#546349;background:#e3eacf;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:54px;height:54px;font-size:25px;font-weight:500;display:flex}.avatar-1{color:#836334;background:#f1dfca}.avatar-2{color:#436778;background:#dce8ec}.family-parents{margin-top:44px}.parent-row{border-bottom:1px solid var(--line);align-items:center;gap:16px;padding:20px 0;display:flex}.parent-row>span:last-child{color:var(--muted);align-items:center;gap:5px;margin-left:auto;font-size:15px;display:flex}.invite-banner{background:var(--pale);border-radius:10px;align-items:center;gap:18px;margin-bottom:32px;padding:20px;display:flex}.invite-banner p{font-size:16px}.invite-banner .button{margin-left:auto}.steps{border-bottom:1px solid var(--line);color:var(--muted);gap:28px;margin:0 0 24px;padding:0 0 20px;font-size:16px;list-style:none;display:flex}.steps li{align-items:center;gap:9px;display:flex}.steps li>span{background:#e5e6db;border-radius:50%;justify-content:center;align-items:center;width:25px;height:25px;font-size:14px;display:inline-flex}.steps .active{color:var(--green);font-weight:500}.steps .active>span{background:var(--green);color:#fff}.booking-layout{grid-template-columns:minmax(0,1fr) 280px;gap:48px;display:grid}.child-picker{flex-wrap:wrap;gap:12px;display:flex}.child-chip{border:1px solid var(--line);background:#fffef7;border-radius:12px;align-items:center;gap:11px;min-height:72px;padding:12px 16px;display:flex}.child-chip.selected{border:2px solid var(--green);background:var(--pale);padding:11px 15px}.child-chip small{color:var(--muted);text-align:left;font-size:14px;display:block}.small-initial{width:36px;height:36px;font-size:19px}.selection-toolbar{justify-content:space-between;align-items:flex-end;gap:16px;margin:28px 0 10px;display:flex}.selection-toolbar label{max-width:190px}.booking-activity{border-bottom:1px solid var(--line);padding:24px 0}.booking-theme{align-items:center;gap:14px;margin-bottom:18px;display:flex}.booking-theme>span:last-child{white-space:nowrap;margin-left:auto;font-size:17px}.booking-theme>span:last-child small{color:var(--muted);font-size:14px}.booking-summary{background:var(--pale);border-radius:14px;align-self:start;padding:24px;position:sticky;top:24px}.booking-summary h2{margin-bottom:20px;font-size:23px}.summary-child{border-bottom:1px solid #cfd8c7;justify-content:space-between;padding:12px 0;display:flex}.booking-summary>.form-hint{margin:20px 0}.checkout-bar{margin-top:24px}.checkout-bar>div>span{color:var(--muted);font-size:15px;display:block}.checkout-bar strong{margin:3px 0 18px;font-size:34px;line-height:1.5;display:block}.checkout-bar .button{width:100%}.estimate-note{color:var(--muted);margin-top:15px;font-size:14px;display:block}.waiting-text{color:#806329;font-size:16px}.review-list>section{margin-bottom:28px}.review-list h2{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding-bottom:15px;display:flex}.review-list h2 span{color:var(--muted);font-size:15px;font-weight:400}.review-line{border-bottom:1px solid var(--line);justify-content:space-between;gap:15px;padding:20px 0;display:flex}.review-line p{margin-top:6px;font-size:16px}.review-line>span{white-space:nowrap}.payment-method{border:0;margin:36px 0;padding:0}.payment-method legend{margin-bottom:16px;font-weight:500}.payment-method label{border:1px solid var(--line);border-radius:10px;flex-direction:row;align-items:center;gap:14px;margin-bottom:12px;padding:17px}.payment-method input,input[type=checkbox]{width:20px;height:20px;min-height:20px;accent-color:var(--green);flex-shrink:0}.payment-method strong{color:#292b27;font-weight:500}.payment-method small{margin-top:5px;font-size:15px;display:block}.form-label+.form-hint{margin-top:16px}.success{text-align:center;padding:72px 0 20px}.success>svg{color:var(--green);margin-bottom:24px}.success h1{margin-bottom:16px;font-size:33px}.receipt{background:var(--pale);border-radius:12px;margin:30px 0;padding:28px}.receipt strong{margin:6px 0 14px;font-size:41px;display:block}.receipt p{font-size:16px}.home-registration-notice{overflow-wrap:anywhere;margin:24px 0;padding-inline:4px;font-size:18px;line-height:1.8}.home-registration-notice p{margin:8px 0}.success-notice{border-block:1px solid var(--line);text-align:left;overflow-wrap:anywhere;margin:30px 0;padding:24px 0;font-size:18px;line-height:1.8}.success-notice h2{margin:0 0 16px;font-size:23px}.success-notice ol{margin:0;padding-left:1.6em}.success-notice li{padding-left:4px}.success-notice li+li{margin-top:12px}.registrations-list{max-width:780px;margin:auto}.registration-card{border:1px solid var(--line);background:#fffef8;border-radius:12px;margin-bottom:24px;padding:26px}.registration-card>header{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;padding-bottom:18px;font-size:15px;display:flex}.badge{background:var(--pale);color:#526149;border-radius:5px;padding:3px 9px;font-size:14px;font-weight:400;display:inline-block}.badge.waiting{color:#7a6027;background:#f3e9ce}.registration-line{border-bottom:1px solid var(--line);justify-content:space-between;gap:18px;padding:22px 0;display:flex}.registration-line p{margin:5px 0 9px;font-size:16px}.registration-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;display:flex}.registration-actions a{padding:10px 0;font-size:15px}.registration-line.cancelled{opacity:.55}.registration-total{justify-content:space-between;margin:22px 0 6px;display:flex}.registration-total strong{font-size:27px}.bank-details{background:var(--pale);border-radius:8px;margin-top:22px;padding:22px}.bank-details p{margin:10px 0 17px;font-size:16px}.account-number{letter-spacing:1px;word-break:break-all;color:#292b27;font-size:25px}.contact{max-width:780px;margin:40px auto 0;font-size:16px}.contact span,.contact a{align-items:center;gap:8px;display:flex}.contact p{margin:6px 0 10px}.contact a{display:inline-flex}.auth-layout{grid-template-columns:1fr 1fr;gap:90px;max-width:950px;margin:60px auto 0;display:grid}.auth-story>img{mix-blend-mode:multiply;width:140px;margin-bottom:24px}.auth-story h1{color:var(--green);margin-bottom:18px;font-size:47px;line-height:1.6}.auth-story .contact{margin-top:42px}.auth-form>p{margin-top:12px;font-size:16px}.auth-links{justify-content:space-between;gap:20px;margin:14px 0 20px;display:flex}.service-notice{background:#f1e9d0;border-radius:8px;margin:22px 0;padding:16px}.service-notice p{color:#6f6145;margin-top:7px;font-size:16px}.tabs{border-bottom:1px solid var(--line);gap:28px;margin-bottom:26px;display:flex;overflow-x:auto}.tabs button{white-space:nowrap;background:0 0;min-height:48px;padding:13px 0}.tabs button[aria-current]{border-bottom:3px solid var(--green);color:var(--green);font-weight:500}.admin-session{border-bottom:1px solid var(--line);align-items:center;gap:24px;padding:22px 0;display:flex}.admin-session h3{margin:9px 0 5px}.admin-session p{font-size:16px}.admin-session>.capacity{min-width:80px;margin-left:auto}.capacity strong{font-size:26px;display:block}.capacity small{color:var(--muted);font-weight:400}.capacity>span{color:var(--muted);font-size:14px}.admin-filters{align-items:flex-end;gap:20px;display:flex}.admin-filters>label{flex:1;min-width:0}.result-count{border-bottom:1px solid var(--line);padding:24px 0;font-size:16px}.admin-reg{border-bottom:1px solid var(--line);justify-content:space-between;gap:25px;padding:24px 0;display:flex}.admin-reg p{margin-top:6px;font-size:16px}.admin-reg h3{align-items:center;gap:12px;display:flex}.admin-reg-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:flex}.admin-reg-actions .button{min-height:44px;padding:10px 15px;font-size:16px}.family-select{min-width:240px}.check-label{flex-direction:row;align-items:center;gap:12px}.error-banner{z-index:50;color:#873e29;overflow-wrap:anywhere;background:#fae4db;justify-content:center;align-items:center;gap:20px;padding:10px 20px;display:flex;position:sticky;top:0}.toast{z-index:60;color:#fff;background:#35472f;border-radius:10px;width:max-content;max-width:calc(100% - 32px);padding:13px 22px;font-size:16px;position:fixed;top:20px;left:50%;transform:translate(-50%);box-shadow:0 4px 18px #0002}.skip-link{z-index:100;background:#fff;padding:12px;position:absolute;top:-100px;left:10px}.skip-link:focus{top:10px}@media (width>=1450px){.home-intro{padding-top:76px;padding-bottom:72px}}@media (width<=1000px){.site-header{gap:16px;padding-left:28px;padding-right:28px}.brand small{display:none}.desktop-nav{gap:18px}.admin-link span{display:none}.page-content{padding-left:28px;padding-right:28px}.home-intro{gap:28px}.intro-actions{gap:8px}.intro-copy h1{font-size:34px}.activity-row>.date-options{width:340px}.site-footer{margin:0 28px}.booking-layout{grid-template-columns:minmax(0,1fr) 250px;gap:28px}.auth-layout{gap:40px}}@media (width<=760px){h1{font-size:33px}h2{font-size:25px}body{padding-bottom:calc(74px + env(safe-area-inset-bottom))}.demo-banner{align-items:center;gap:12px;padding:7px 16px;font-size:12px;line-height:1.6}.site-header{gap:10px;min-height:82px;padding:10px 20px}.brand{gap:8px}.brand img{width:51px;height:51px}.brand>span{font-size:24px}.desktop-nav{display:none}.header-actions{gap:2px;margin-left:auto}.header-login{padding:10px 13px;font-size:15px}.page-content{padding:0 20px 40px}.home-intro{flex-direction:column;align-items:stretch;gap:32px;padding:36px 0;display:flex}.intro-copy h1{letter-spacing:.025em;font-size:34px;line-height:1.65}.intro-copy>p{margin:17px 0 23px;font-size:18px;line-height:1.85}.intro-actions{gap:18px}.intro-actions .button{padding-left:20px;padding-right:20px}.intro-details{gap:8px 16px;margin-top:19px;font-size:14px}.hero-cover{padding:7px;transform:rotate(-.8deg)}.hero-cover figcaption{padding:9px 4px 1px;font-size:12px}.hero-cover figcaption span:last-child{display:none}.schedule-section{padding-top:30px}.section-heading{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:20px}.section-heading p{font-size:16px;line-height:1.7}.month-switch{background:#f2f1e6;border-radius:9px;justify-content:space-between;align-self:stretch;padding:0 4px}.activity-row{grid-template-columns:44px minmax(0,1fr);gap:16px;padding:24px 0;display:grid}.theme-number{border-radius:9px;width:44px;height:48px;font-size:20px}.activity-name h3{font-size:24px}.theme-caption{font-size:14px}.activity-price{margin-top:5px;font-size:15px}.activity-row>.date-options{grid-column:1/-1;gap:12px;width:100%}.date-option{min-height:86px;padding:12px 14px}.date-option.selected{padding:11px 13px}.date-top{gap:8px;font-size:24px}.date-top small{font-size:15px}.date-time{gap:5px;font-size:16px}.date-time em{font-size:14px}.schedule-bottom{flex-direction:column;align-items:stretch;gap:17px;padding-top:23px}.schedule-bottom p{text-align:center;font-size:15px}.visit-strip{flex-direction:column;align-items:flex-start;gap:18px;margin-top:35px;padding:22px 20px}.visit-strip>div:first-child{align-items:flex-start;gap:13px}.visit-strip svg{flex-shrink:0;margin-top:3px}.visit-strip h3{font-size:19px}.visit-strip p{font-size:15px;line-height:1.8}.visit-time{margin-left:36px}.site-footer{flex-wrap:wrap;gap:8px 20px;margin:0 20px;padding:25px 0 30px;font-size:14px}.site-footer a:last-child{width:100%;margin-left:0}.mobile-nav{z-index:30;padding:8px 16px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fffef8;grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{color:var(--muted);background:0 0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:51px;font-size:14px;display:flex}.mobile-nav button[aria-current]{background:var(--pale);color:var(--green)}.page-title{padding:20px 0 27px}.page-title h1{margin-top:6px;font-size:32px;line-height:1.5}.page-title p{margin-top:10px;font-size:17px;line-height:1.8}.empty{padding:42px 5px}.empty h2{font-size:25px}.empty p{font-size:17px}.panel{padding:24px 20px}.modal{max-height:calc(100dvh - 32px);padding:21px}.modal-heading h2{font-size:23px}.form-two{gap:12px}.form-stack{gap:18px;margin-top:22px}.form-hint{font-size:15px}.child-row{gap:14px;padding:22px 0}.initial{width:48px;height:48px}.child-row h3{font-size:23px}.child-row p{font-size:15px}.child-row>div:nth-child(2){min-width:0}.family-parents{margin-top:36px}.parent-row{gap:11px}.parent-row>span:last-child{font-size:14px}.invite-banner{flex-wrap:wrap;gap:12px;padding:18px}.invite-banner>div{flex:1;min-width:200px}.invite-banner .button{width:100%}.steps{gap:24px;margin-bottom:24px;padding-bottom:17px}.booking-layout{display:block}.child-picker{gap:10px}.child-chip{flex:1;gap:9px;min-width:136px;padding:11px 13px}.child-chip.selected{padding:10px 12px}.selection-toolbar{gap:12px;margin-top:24px}.selection-toolbar label{max-width:160px;font-size:14px}.selection-toolbar .text-button{text-align:right;max-width:125px;font-size:14px}.selection-toolbar select{padding:10px;font-size:16px}.booking-activity{padding:23px 0}.booking-theme{align-items:flex-start;gap:12px}.booking-theme h2{font-size:23px}.booking-theme .theme-number{width:38px;height:43px;font-size:19px}.booking-theme>span:last-child{padding-top:4px;font-size:16px}.booking-theme>span:last-child small{text-align:right;display:block}.booking-summary{background:0 0;border-radius:0;padding:24px 0 0;position:static}.booking-summary h2,.summary-child{display:none}.booking-summary>.form-hint{margin:0;font-size:15px}.checkout-bar{z-index:35;border-top:1px solid var(--line);padding:13px 20px calc(13px + env(safe-area-inset-bottom));background:#fffef8;justify-content:space-between;align-items:center;gap:20px;margin:0;display:flex;position:fixed;bottom:0;left:0;right:0}.checkout-bar>div>span{font-size:14px}.checkout-bar strong{margin:3px 0 0;font-size:28px;line-height:1.35}.checkout-bar .button{width:auto;min-width:132px;padding:12px 19px}.page-book{padding-bottom:30px}.page-book+.site-footer{padding-bottom:50px}.estimate-note{margin-top:10px}.review-line{padding:19px 0}.review-line strong{font-size:18px}.review-line p{font-size:15px}.payment-method{margin:30px 0}.success{padding:42px 0 20px}.success h1{font-size:28px}.success p{font-size:17px}.receipt{padding:23px 18px}.registration-card{margin-bottom:20px;padding:20px 17px}.registration-line{gap:12px}.registration-line strong{font-size:17px}.registration-line p{font-size:15px}.registration-actions .text-button{font-size:14px}.registration-line .badge{font-size:12px}.registration-total strong{font-size:25px}.bank-details{padding:18px 15px}.bank-details p{font-size:15px}.account-number{font-size:23px}.auth-layout{margin:28px 0 0;display:block}.auth-story{margin-bottom:26px}.auth-story>img{display:none}.auth-story h1{margin-bottom:12px;font-size:33px;line-height:1.5}.auth-story h1 br{display:none}.auth-story>p{font-size:17px}.auth-story .contact{display:none}.auth-form{padding:24px 20px}.auth-form h2{font-size:25px}.auth-links{gap:15px}.auth-links .text-button{font-size:15px}.tabs{gap:22px;font-size:16px}.admin-session{flex-wrap:wrap;gap:13px}.admin-session>div:first-child{flex:1;min-width:180px}.admin-session h3{font-size:19px}.admin-session p{font-size:15px}.admin-session>.capacity{min-width:65px}.capacity strong{font-size:24px}.capacity>span{font-size:12px}.admin-filters{flex-wrap:wrap;gap:16px}.admin-filters>label{flex-basis:100%}.admin-reg{display:block}.admin-reg-actions{flex-flow:wrap;align-items:center;gap:8px 16px;margin-top:16px}.admin-reg-actions>strong{margin-right:auto}.admin-reg h3{font-size:23px}.family-select{width:100%}.error-banner{justify-content:space-between;padding:10px 16px;font-size:16px}.contact{font-size:15px}}@media (width<=360px){.brand>span{font-size:20px}.intro-actions{gap:10px}.intro-actions .text-button{font-size:14px}.intro-copy h1{font-size:30px}.date-option{padding-left:10px;padding-right:10px}.date-option.selected{padding-left:9px;padding-right:9px}.date-top{font-size:21px}.date-top small{font-size:14px}.form-two{grid-template-columns:1fr}.booking-theme{gap:10px}.booking-theme h2{font-size:20px}.child-chip{min-width:125px}.checkout-bar{gap:10px}.checkout-bar .button{min-width:122px}.header-actions .icon-button{min-width:40px}}@media (prefers-reduced-motion:no-preference){.button,.date-option,.child-chip{transition:background-color .15s,border-color .15s}.toast{animation:.18s ease-out appear}@keyframes appear{0%{opacity:0;translate:0 -6px}to{opacity:1;translate:0}}}:root{color:#222131;font-synthesis:weight;--green:#4d6844;--muted:#64636c;--pale:#eef1e5;background:#fdfcf5;font-family:Huninn,PingFang TC,sans-serif}h1,h2,h3{font-family:Huninn,PingFang TC,sans-serif}h1,h2{letter-spacing:.035em;font-weight:700}.site-header{border:0;max-width:1200px;min-height:116px}.desktop-nav{gap:12px}.desktop-nav button{color:#222131;border-radius:14px;padding:10px 18px;font-size:18px;font-weight:700}.desktop-nav button[aria-current]{background:var(--green);color:#fff;border:0}.header-login{border:2px solid var(--green);color:var(--green);background:0 0;padding:9px 18px;font-size:18px}.brand>span{letter-spacing:.09em;font-family:Huninn,sans-serif;font-size:35px}.brand img{object-fit:contain;width:99px;height:82px}.brand small{display:none}.home-heading{justify-content:space-between;align-items:center;gap:24px;padding:30px 0 27px;display:flex}.home-heading h1{color:#222131;letter-spacing:.04em;font-size:clamp(34px,3.4vw,54px);line-height:1.5}.home-heading p{letter-spacing:.025em;margin-top:7px;font-size:23px}.home-heading .month-switch{background:0 0;border:1px solid #d8dfcd;border-radius:32px;gap:8px;padding:5px 10px;font-size:23px}.monthly-cover{margin:0}.monthly-cover img{border-radius:13px;width:100%;height:auto;display:block}.monthly-cover figcaption{text-align:right;color:var(--muted);margin-top:5px;font-size:12px}.activity-info{background:var(--pale);border-radius:12px;justify-content:space-around;align-items:center;gap:20px;margin-top:17px;padding:15px 20px;display:flex}.activity-info span{color:#262632;align-items:center;gap:14px;font-size:20px;display:flex}.activity-info svg{color:var(--green);flex-shrink:0}.schedule-section{border:0;padding-top:36px}.schedule-section h2{font-size:36px}.schedule-section .section-heading p{font-size:20px}.activity-list{background:#fff;border:0;border-radius:12px;padding:0 22px}.activity-row{gap:24px;padding:19px 0}.activity-row:last-child{border:0}.week-label{white-space:nowrap;border-right:1px solid var(--line);letter-spacing:.015em;flex-shrink:0;width:155px;font-size:32px;font-weight:700;line-height:1.5}.activity-name h3{font-size:21px;font-weight:700;line-height:1.6}.activity-name h3 span{color:var(--muted);font-weight:400}.activity-row .date-option{border:1.5px solid var(--green);background:0 0;border-radius:9px;min-height:70px;padding:8px 12px}.activity-row .date-time{font-size:15px}.activity-row .date-time em{font-size:12px}.schedule-bottom{flex-direction:column;gap:5px;padding:28px 0 4px}.schedule-bottom .button{border-radius:19px;min-width:300px;min-height:60px;font-size:24px}.schedule-bottom .text-button{font-size:18px}.home-close{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:40px;margin-top:28px;padding-top:26px;display:flex}.home-close>p{color:#92958a;font-size:16px}.home-close>div{font-size:18px}.home-close>div p{margin-top:5px;font-size:16px}.month-placeholder{background:var(--pale);text-align:center;border-radius:14px;padding:35px}.month-placeholder img{mix-blend-mode:multiply;width:110px}.month-placeholder h2{font-size:32px}.month-placeholder p{margin-top:10px}.family-next{background:var(--pale);border-radius:12px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;padding:20px;display:flex}.family-next p{font-size:16px}.choosing-label{color:var(--muted);padding:14px 0 2px;font-size:16px}.choosing-label strong{color:var(--green)}.review-list>section{border:1px solid var(--line);background:#fff;border-radius:12px;padding:22px}.review-list h2{font-size:28px}.booking-summary{background:var(--pale)}.booking-theme h2{font-size:25px}.page-title h1{font-size:38px}.button{border-radius:13px}.registration-line strong{font-size:20px}@media (width<=1000px){.home-heading{flex-wrap:wrap}.home-heading h1{font-size:43px}.home-heading p{font-size:20px}.home-heading .month-switch{font-size:19px}.activity-row{gap:18px}.week-label{width:125px;font-size:27px}.activity-name h3{font-size:19px}.activity-row>.date-options{width:250px}.brand>span{font-size:30px}.desktop-nav button{padding:9px 12px;font-size:16px}.brand img{width:80px;height:72px}.activity-info span{font-size:18px}}@media (width<=760px){.site-header{min-height:86px;padding-top:7px;padding-bottom:7px}.brand img{width:75px;height:62px}.brand>span{font-size:27px}.header-login{padding:8px 11px;font-size:15px}.home-heading{gap:18px;padding:24px 0 22px;display:block}.home-heading h1{letter-spacing:.025em;font-size:34px;line-height:1.5}.home-heading p{margin-top:10px;font-size:18px;line-height:1.75}.home-heading .month-switch{border-radius:25px;justify-content:space-between;gap:5px;max-width:255px;margin-top:20px;padding:1px 9px;font-size:18px}.monthly-cover img{border-radius:9px}.monthly-cover figcaption{text-align:left;margin-top:6px;font-size:11px}.activity-info{border-radius:10px;flex-direction:column;align-items:flex-start;gap:10px;margin-top:16px;padding:16px 18px}.activity-info span{gap:10px;font-size:16px}.activity-info svg{width:22px;height:22px}.schedule-section{padding-top:30px}.schedule-section h2{letter-spacing:.02em;font-size:28px}.schedule-section .section-heading p{font-size:17px;line-height:1.8}.activity-list{border-radius:12px;padding:0 17px}.activity-row{grid-template-columns:1fr;gap:11px;padding:22px 0;display:grid}.week-label{width:auto;color:var(--green);border:0;font-size:25px;line-height:1.4}.activity-name h3{font-size:21px;line-height:1.7}.activity-name h3 span{font-size:17px}.activity-row>.date-options{grid-column:1;gap:10px;width:100%;margin-top:3px}.activity-row .date-option{min-height:81px;padding:10px 12px}.activity-row .date-top{font-size:21px}.activity-row .date-time{font-size:16px}.activity-row .date-time em{font-size:12px}.schedule-bottom{align-items:center;gap:8px;padding-top:25px}.schedule-bottom .button{border-radius:15px;width:100%;min-width:0;min-height:54px;font-size:23px}.home-close{flex-direction:column;align-items:flex-start;gap:18px;margin-top:27px;padding-top:24px}.home-close>div{font-size:17px}.home-close>div p{font-size:15px}.family-next{flex-direction:column;align-items:stretch;gap:12px;padding:18px}.page-title h1{font-size:33px}.choosing-label{z-index:10;border-bottom:1px solid var(--line);background:#fdfcf5;margin-top:10px;padding:12px 0;position:sticky;top:0}.review-list>section{margin-bottom:20px;padding:20px 17px}.review-list h2{font-size:26px}.booking-summary{background:0 0}.booking-theme h2{font-size:24px}.registration-line strong{font-size:18px}.month-placeholder{padding:25px 18px}.month-placeholder h2{font-size:26px}}@media (width<=360px){.brand img{width:64px}.brand>span{font-size:25px}.home-heading h1{font-size:30px}.activity-info{padding:14px}.activity-info span{font-size:15px}.activity-list{padding:0 13px}.activity-name h3{font-size:20px}.activity-row .date-option{padding:9px 10px}}.activity-description{margin:0 0 15px;font-size:16px;line-height:1.8}.admin-reg-actions>strong>small{color:var(--muted);font-size:14px;font-weight:400;display:block}@media (width<=760px){.activity-description{font-size:16px}}@media (width>=761px){.home-heading h1{font-size:clamp(45px,5.2vw,65px)}.home-heading p{font-size:25px}.home-heading{gap:20px}.home-heading .month-switch{flex-shrink:0;font-size:20px}.schedule-section h2{font-size:45px}.schedule-section .section-heading p{font-size:24px}.activity-row{padding:17px 0}.activity-row .date-option{justify-content:center;align-items:center;gap:7px;min-height:48px;padding:8px 10px;display:flex}.activity-row .date-top{gap:0;font-size:0}.activity-row .date-top small{font-size:18px}.activity-row .date-time{margin:0;font-size:18px}.activity-row .date-time em,.activity-row .date-option:disabled{display:none}.activity-row.ended .date-options:after{content:"已結束";color:#696969;background:#ededed;border-radius:20px;grid-column:1/-1;margin-left:auto;padding:5px 22px;font-size:16px}.week-label{font-size:33px}.activity-row>.date-options{width:280px}.home-close{margin-top:22px}.site-footer{padding-top:20px}.page-home{padding-bottom:32px}}@media (width>=761px) and (width<=1050px){.home-heading h1{font-size:53px}.home-heading .month-switch{padding:3px 4px;font-size:19px}.home-heading p{font-size:24px}.activity-row{gap:18px}.activity-name h3{font-size:20px}.week-label{width:160px;font-size:32px}.activity-row>.date-options{width:250px}.activity-row .date-time,.activity-row .date-top small{font-size:16px}.schedule-section h2{font-size:41px}}.activity-description summary{cursor:pointer;color:var(--green);min-height:36px;list-style-position:inside;display:list-item}.activity-description p{padding:8px 0 12px;font-size:18px;line-height:1.75}.payment-confirm-total{padding:15px 0;font-size:23px}@media (width<=760px){.page-book .steps{display:none}.page-book .page-title{padding-bottom:22px}.page-book .page-title p{font-size:18px}.page-book .selection-toolbar{margin-top:18px}.page-book .selection-toolbar label{font-size:15px}.booking-theme{margin-bottom:5px}.booking-activity{padding-top:19px;padding-bottom:20px}.activity-description{margin-bottom:8px;font-size:16px}.choosing-label{padding-top:9px;padding-bottom:9px;font-size:16px}.date-time,.date-top small{color:#55535d}}.brand img.brand-lockup{object-fit:contain;mix-blend-mode:normal;width:256px;height:auto;display:block}.empty img{mix-blend-mode:normal;width:200px;height:auto}.auth-story>img{mix-blend-mode:normal;width:260px;height:auto}.month-placeholder img{mix-blend-mode:normal;width:200px;height:auto}@media (width<=1000px){.brand img.brand-lockup{width:216px}}@media (width<=760px){.brand img.brand-lockup{width:184px}}@media (width<=360px){.brand img.brand-lockup{width:158px}}.multiline,.home-intro,.pause-reason,.session-description{white-space:pre-line}.home-heading{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 24px;display:grid}.home-heading .home-intro{grid-column:1/-1;margin-top:0}.home-heading .month-switch{white-space:nowrap;grid-area:1/2}.site-footer{flex-wrap:wrap;align-items:center;gap:18px 32px;padding-top:28px;font-size:19px;line-height:1.7;display:flex}.footer-place{flex:320px}.footer-place strong{color:var(--ink);font-size:21px}.footer-place p{margin:5px 0 0;font-size:19px}.session-choice{min-width:0}.session-choice .date-option{width:100%;height:auto}.pause-reason{color:#8b482d;overflow-wrap:anywhere;margin:8px 0;font-size:17px;line-height:1.65}.date-option.paused{opacity:1;color:#7c513e;background:#f7f0e7;border-color:#b4937b}.session-description,.session-location{overflow-wrap:anywhere;color:var(--muted);margin:6px 0 0;font-size:16px;line-height:1.6}.activity-row>.date-options{width:340px}.activity-row .date-time{flex-wrap:wrap;gap:4px 8px;display:flex}.page-admin .tabs{flex-wrap:wrap;gap:6px;display:flex}.page-admin .tabs button{min-height:44px;padding:10px 14px;font-size:18px}.content-editor{max-width:860px;margin:28px 0}.editor-intro{margin-bottom:24px}.editor-intro h2{font-size:29px}.editor-intro p{margin:8px 0;line-height:1.75}.editor-section{border:1px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;gap:18px;min-width:0;padding:24px;display:flex}.editor-section legend{padding:0 8px;font-size:23px;font-weight:700}.wide-field{grid-column:1/-1}.weekly-slot{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:18px;padding:10px 0;display:flex}.weekly-slot>label{flex:1;min-width:100px}.weekly-slot>.check-label{flex:0 0 90px}.editor-save,.batch-toolbar{flex-wrap:wrap;align-items:center;gap:12px;padding:18px 0;display:flex}.editor-save>span{color:var(--muted);flex-basis:100%;font-size:16px}.month-editor-picker{max-width:300px;margin-bottom:26px}.cover-editor-preview img,.month-content-preview img{border-radius:12px;width:100%;height:auto;margin:12px 0;display:block}.month-content-preview{border:1px solid var(--line);background:#fdfcf5;border-radius:16px;padding:24px}.month-content-preview p{white-space:pre-line}.content-editor input[type=file]{white-space:normal;max-width:100%;height:auto;padding:14px}.session-toolbar{flex-wrap:wrap;align-items:end;gap:12px;margin:20px 0;display:flex}.session-toolbar label{min-width:180px}.batch-toolbar{background:var(--pale);border-radius:12px;margin:16px 0;padding:14px 18px}.pause-notice{color:#6f452e;background:#f7f0e7;border-radius:10px;padding:16px;line-height:1.75}.batch-session-list{max-height:200px;padding-left:24px;line-height:1.8;overflow:auto}.admin-session>input[type=checkbox]{flex:0 0 20px;width:20px;height:20px}.admin-session>div:first-of-type{flex:1;min-width:0}.generated-session{border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:14px;min-width:0;margin:16px 0;padding:16px;display:flex}.template-title{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.template-title label{flex:220px}@media (width<=1000px){.home-heading h1{font-size:34px}.home-heading .month-switch{gap:0;padding:2px;font-size:18px}.home-heading .month-switch .icon-button{width:38px;min-width:38px}.home-heading{gap:8px 16px}.activity-row>.date-options{width:100%}}@media (width<=760px){.editor-section{padding:18px 16px}.page-admin .section-heading{flex-wrap:wrap}.admin-session{flex-wrap:wrap;gap:14px}.admin-session>div:first-of-type{flex-basis:calc(100% - 50px)}.weekly-slot{gap:12px}.weekly-slot>.check-label{flex-basis:100%}.site-footer{gap:12px 22px;font-size:19px}.footer-place{flex-basis:100%}.footer-place strong{font-size:20px}.home-heading .home-intro{font-size:19px}.home-heading h1{font-size:32px}}@media (width<=560px){.home-heading{grid-template-columns:1fr}.home-heading .month-switch{grid-area:3/1;justify-self:end}.home-heading h1{font-size:33px}.home-heading .home-intro{grid-column:1}.editor-save .button{flex:140px}}.home-heading .home-intro{gap:0;padding:0;display:block}.home-heading .month-switch{margin-top:0}.activity-row .date-option,.activity-row .date-option:disabled{display:block}.activity-row .date-top{gap:8px;font-size:19px}.activity-row .date-top small{font-size:15px}.activity-row .date-time{margin-top:4px;font-size:16px}.activity-row .date-time em{font-size:14px;display:inline}.activity-row.ended .date-options:after{display:none}.session-description summary{cursor:pointer;min-height:32px;padding-top:7px}.session-description p{margin:4px 0}.current-month{white-space:nowrap;color:var(--muted);justify-self:end;font-size:19px}@media (width<=560px){.current-month{grid-row:1;justify-self:start;font-size:16px}}.week-pause{color:#683d21;background:#fbf0df;border:1px solid #dfb48f;border-left:6px solid #ac622e;border-radius:14px;align-items:flex-start;gap:18px;margin:20px 0;padding:24px;display:flex}.week-pause>svg{flex-shrink:0;margin-top:4px}.week-pause h3{color:#683d21;margin:5px 0 10px;font-size:28px;line-height:1.4}.week-pause .pause-reason{color:#683d21;font-size:19px;line-height:1.8}.pause-dates{margin:0;font-size:20px;font-weight:700}.pause-status{margin-top:12px;font-size:16px;display:block}@media (width<=560px){.week-pause{gap:12px;padding:20px 16px}.week-pause h3{font-size:25px}.pause-dates,.week-pause .pause-reason{font-size:18px}}.session-price{color:var(--green);margin:6px 0 0;font-size:16px;font-weight:700}.child-selection{border:0;min-width:0;margin:0 0 24px;padding:0}.child-selection legend{margin-bottom:12px;font-size:20px}.child-selection legend small{color:var(--muted);margin-left:8px;font-size:16px}.child-selection .child-picker{flex-wrap:wrap;margin:0}.child-selection .child-chip{cursor:pointer;border-width:2px;flex-direction:row;align-items:center;gap:10px;min-height:64px;padding:12px 16px;font-size:18px;display:flex}.child-selection .child-chip input{appearance:auto;accent-color:#4c6741;flex:0 0 20px;width:20px;height:20px;margin:0;padding:0}.child-selection .child-chip:focus-within{outline-offset:3px;outline:2px solid #4c6741}.review-line-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.review-line-actions .text-button{min-height:44px;font-size:16px}.staff-portal-label{margin-left:auto;font-size:23px}.mobile-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.child-selection .child-chip>span{color:var(--ink)}.child-selection .child-chip>span:nth-child(2){overflow-wrap:anywhere;flex:1;min-width:0}.child-selection .child-chip .small-initial{color:var(--green);flex:0 0 36px}@media (width<=760px){.child-selection .child-chip{flex:145px;gap:8px;min-width:0;padding:12px 10px}.booking-theme>span:last-child{white-space:nowrap}.booking-theme>span:last-child small{display:inline}}.child-selection legend{width:100%}.select-all-children{float:right;min-width:76px;min-height:44px;margin-top:-8px;font-size:16px}.registration-header-actions{justify-content:flex-end;align-items:center;gap:14px;display:flex}.registration-header-actions .button{min-height:42px;padding:8px 14px;font-size:17px}.registration-help{margin:32px 0 0;font-size:19px;line-height:1.8}.registration-help a{white-space:nowrap}.cancelled-history{color:var(--muted);margin-top:20px;font-size:16px}.cancelled-history summary{cursor:pointer;padding:8px 0}.cancelled-history p{margin:6px 0}.registration-empty{padding-top:20px}.booking-edit-intro{font-size:18px;line-height:1.8}.booking-edit-day{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.booking-edit-day>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.booking-edit-day h3{margin:0;font-size:21px}.booking-edit-row{justify-content:space-between;align-items:center;gap:16px;padding:16px 0;display:flex}.booking-edit-row>div{min-width:0}.booking-edit-row strong{font-size:18px}.booking-edit-row p{color:var(--muted);margin:5px 0;font-size:16px}.booking-edit-row .text-button,.booking-edit-day header .text-button{flex-shrink:0;min-height:44px;font-size:16px}.remove-action{color:#9a4128}.pending-removal strong{color:var(--muted);text-decoration:line-through}.booking-edit-checkout{border-top:1px solid var(--line);margin-top:12px;padding-top:4px}@media (width<=420px){.registration-card>header{flex-wrap:wrap;gap:12px}.registration-header-actions{gap:10px}.booking-edit-day>header{flex-wrap:wrap;gap:4px}.booking-edit-day header .text-button{margin-left:auto}}@media (width<=760px){.booking-summary{border:0;margin:0;padding:0}}.bank-transfer{border:1px solid var(--line);text-align:left;background:#fffef8;border-radius:12px;margin:24px 0;padding:24px}.bank-transfer h2{margin:0 0 16px;font-size:25px}.bank-transfer h3{margin:0;font-size:20px}.transfer-destination dl{margin:0}.transfer-destination dl>div{grid-template-columns:48px minmax(0,1fr);gap:14px;padding:6px 0;display:grid}.transfer-destination dt{color:var(--muted);font-size:17px}.transfer-destination dd{overflow-wrap:anywhere;margin:0}.transfer-destination .account-number{font-size:25px}.transfer-report-form,.transfer-reported{border-top:1px solid var(--line);margin-top:24px;padding-top:22px}.transfer-report-form .form-two{margin:0}.transfer-reported p{margin:8px 0;font-size:18px}.transfer-reported .button{margin-top:12px}.transfer-form-actions{flex-wrap:wrap;gap:12px;display:flex}.transfer-form-actions .button{flex:1}.payment-transfer-reference{background:var(--pale);border-radius:8px;margin:18px 0;padding:12px 16px}@media (width<=760px){.bank-transfer{padding:20px 16px}.bank-transfer h2{font-size:24px}.transfer-report-form .form-two{grid-template-columns:1fr;gap:18px}}.onboarding-steps{flex-wrap:wrap;gap:1rem;margin:0 0 2rem;padding:0;list-style:none;display:flex}.onboarding-steps li{border-bottom:2px solid var(--line,#ddd);color:var(--muted,#666);padding:.65rem 1rem}.onboarding-steps li[aria-current]{color:#364c2d;border-color:#526346;font-weight:700}.service-notice input{width:100%;min-width:0}.parent-row>span{overflow-wrap:anywhere;min-width:0}@media (width<=760px){.child-selection .child-picker{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;display:grid}.child-selection .child-chip{width:100%;min-width:0;margin:0}}.admin-family-group{border:1px solid var(--line);background:#fffef7;border-radius:14px;margin:16px 0}.admin-family-group>summary{cursor:pointer;align-items:center;gap:16px;padding:20px;list-style:none;display:flex}.admin-family-group>summary::-webkit-details-marker{display:none}.admin-family-group>summary:before{content:"";border-right:2px solid var(--green);border-bottom:2px solid var(--green);flex:0 0 9px;width:9px;height:9px;transform:rotate(-45deg)}.admin-family-group[open]>summary:before{transform:rotate(45deg)}.admin-family-summary{flex:1;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:24px;min-width:0;display:grid}.admin-family-summary p{color:var(--muted);margin:6px 0 0;font-size:16px}.admin-family-summary strong{font-size:20px}.admin-family-amounts{gap:4px;display:grid}.admin-family-amounts span{color:var(--muted);font-size:16px}.admin-family-toggle{color:var(--green);font-weight:700}.admin-family-group .when-open{display:none}.admin-family-group[open] .when-open{display:inline}.admin-family-group[open] .when-closed{display:none}.admin-family-group>summary:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:14px}.admin-family-details{padding:0 20px}@media (width<=760px){.admin-family-summary{grid-template-columns:minmax(0,1fr);gap:12px}.admin-family-amounts{grid-template-columns:1fr 1fr;align-items:center}.admin-family-group>summary{padding:16px}.admin-family-details{padding:0 16px}}.admin-family-details .admin-reg{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 20px;padding:16px 0;display:grid}.admin-family-details .admin-reg>div{overflow-wrap:anywhere;min-width:0}.admin-family-details .admin-reg-actions{flex-flow:wrap;justify-content:flex-end;align-items:center;gap:8px 12px;margin-top:0}.admin-family-details .admin-reg-actions>strong{margin-right:4px}.admin-family-details .admin-reg:last-child{border-bottom:0}@media (width<=1000px){.admin-family-details .admin-reg{grid-template-columns:minmax(0,1fr)}.admin-family-details .admin-reg-actions{justify-content:flex-start}.admin-family-details .admin-reg-actions>strong{margin-right:auto}}.guest-booking{max-width:860px;margin:0 auto}.guest-booking .panel{min-width:0;margin-bottom:20px;padding:24px}.guest-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.guest-session{border-bottom:1px solid var(--line);flex-direction:row;align-items:flex-start;gap:14px;padding:16px 0;display:flex}.guest-session>span{gap:6px;display:grid}.guest-session>span>span{color:var(--muted);font-size:16px}.guest-session input{flex-shrink:0;margin-top:4px}.guest-receipt{overflow-wrap:anywhere}.guest-receipt-row{border-bottom:1px solid var(--line);padding:14px 0}.admin-family-summary .badge{margin-left:8px}.admin-family-payment-actions .button{min-height:44px;padding:8px 12px;font-size:16px}@media (width<=600px){.guest-fields{grid-template-columns:minmax(0,1fr);gap:16px}.guest-booking .panel{padding:16px}}.family-directory-summary{grid-template-columns:minmax(0,1fr) auto}.family-directory-header-actions{white-space:nowrap;justify-content:flex-end;align-items:center;gap:24px;display:flex}.family-directory-details{padding-bottom:20px}@media (width<=600px){.family-directory-summary{grid-template-columns:minmax(0,1fr)}.family-directory-header-actions{gap:20px}}.add-child-shortcut{vertical-align:middle;min-width:44px;min-height:44px;margin-left:4px;display:inline-flex}.auth-guest-entry{margin-bottom:24px}.auth-guest-entry .button{width:100%;min-height:60px;font-size:24px;font-weight:700}.registration-period-bar{flex-wrap:wrap;align-items:center;gap:16px;margin:24px 0;display:flex}.registration-period-title{flex-wrap:wrap;align-items:center;gap:12px;margin-right:auto;display:flex}.registration-period-title h2{margin:0;font-size:24px}.registration-period-bar .button{min-height:44px;padding:9px 15px;font-size:16px}.registration-history-picker{flex-direction:row;align-items:center;gap:10px;font-size:16px;display:flex}.registration-history-picker select{width:auto;min-width:155px}@media (width<=760px){.registration-period-title h2{font-size:22px}.registration-history-picker{order:3;width:100%}.registration-history-picker select{flex:1;min-width:0}}.child-meta{color:var(--muted);white-space:nowrap;font-size:16px;font-weight:400;display:inline-block}.child-chip-name{flex-direction:column;align-items:flex-start;gap:3px;display:flex}.child-selection .child-chip .child-meta{white-space:normal;font-size:14px}.child-selection .child-chip{min-width:0}.guest-edit-details{margin-bottom:16px}.auth-form .form-stack>.button,.auth-guest-entry .button{min-height:60px;font-size:24px;font-weight:700}.admin-child-group{border-top:1px solid var(--line)}.admin-child-group>summary{cursor:pointer;grid-template-columns:18px minmax(0,1fr) 170px 88px;align-items:center;gap:12px;padding:16px 0;list-style:none;display:grid}.admin-child-group>summary::-webkit-details-marker{display:none}.admin-child-group>summary:before{content:"";border-right:2px solid var(--green);border-bottom:2px solid var(--green);width:8px;height:8px;transform:rotate(-45deg)}.admin-child-group[open]>summary:before{transform:rotate(45deg)}.admin-child-group>summary>span:first-of-type>small:last-child{color:var(--muted);margin-top:4px;font-size:16px;display:block}.admin-child-due{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.admin-child-toggle{color:var(--green);text-align:right;font-size:16px}.admin-child-group .child-open,.admin-child-group[open]>summary .child-closed{display:none}.admin-child-group[open]>summary .child-open{display:inline}.admin-child-group>div{padding-left:30px}@media (width>=761px){.admin-payment-summary .admin-family-amounts{text-align:right;font-variant-numeric:tabular-nums}}@media (width<=760px){.admin-child-group>summary{grid-template-columns:16px minmax(0,1fr) auto;gap:8px}.admin-child-toggle{display:none}.admin-child-due{font-size:16px}.admin-child-group>div{padding-left:0}.child-selection .child-chip{gap:6px;padding:10px 8px}}.admin-payment-summary .family-amount-line{gap:16px;width:auto;display:inline-flex}.admin-payment-summary .family-amount-line>span:first-child{text-align:left}.admin-payment-summary .family-amount-line>span:last-child{text-align:right;font-variant-numeric:tabular-nums}.admin-payment-summary .family-amount-line>span{font-size:inherit;color:inherit}.parent-child-registrations{gap:14px;margin:28px 0 36px;display:grid}.parent-child-group,.registration-payment-record{border:1px solid var(--line);border-radius:14px}.parent-child-group>summary{cursor:pointer;grid-template-columns:16px minmax(0,1fr) 170px 44px;align-items:center;gap:16px;padding:20px;list-style:none;display:grid}.parent-child-group>summary::-webkit-details-marker{display:none}.parent-child-group>summary:before{content:"";border-bottom:2px solid var(--green);border-right:2px solid var(--green);width:8px;height:8px;transform:rotate(-45deg)}.parent-child-group[open]>summary:before{transform:rotate(45deg)}.parent-child-group summary strong{font-size:22px}.parent-child-group summary p{color:var(--muted);margin:5px 0 0;font-size:16px}.parent-child-total{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.parent-child-toggle{color:var(--green);text-align:right;font-size:16px}.parent-child-group .parent-open{display:none}.parent-child-group[open]>summary .parent-open{display:inline}.parent-child-group[open]>summary .parent-closed{display:none}.parent-child-details{padding:0 20px 8px}.parent-child-details .registration-line:first-child{border-top:1px solid var(--line)}.payment-records-heading{margin:32px 0 24px;font-size:24px}.registration-payment-record>summary{cursor:pointer;color:var(--green);flex-wrap:wrap;justify-content:space-between;gap:12px;padding:18px 20px;display:flex}.registration-payment-record .registration-card{border:0;width:100%;margin:0}@media (width<=600px){.parent-child-group>summary{grid-template-columns:14px minmax(0,1fr) auto;gap:10px;padding:16px}.parent-child-toggle{display:none}.parent-child-total{font-size:16px}.parent-child-details{padding:0 16px 8px}}.parent-child-total{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.child-payment-status{border-radius:6px;padding:4px 9px;font-size:16px;line-height:1.5;display:inline-block}.child-payment-status.confirmed{background:var(--pale);color:var(--green)}.child-payment-status.pending{color:#77571e;background:#f5ecd5}.child-payment-status.neutral{background:var(--pale);color:var(--muted)}@media (width<=600px){.parent-child-group>summary{grid-template-columns:14px minmax(0,1fr)}.parent-child-total{flex-flow:wrap;grid-column:2;justify-content:space-between;align-items:center;gap:8px}}@media (width<=760px){:root{font-size:16px}h1,.page-title h1,.home-heading h1{font-size:28px}h2,.section-heading h2,.booking-theme h2,.bank-transfer h2{font-size:21px}h3,.child-row h3,.admin-session h3{font-size:18px}.page-title p,.page-book .page-title p,.home-heading .home-intro,.section-heading p,.activity-description p,.notice{font-size:16px;line-height:1.65}.page-title{margin-bottom:22px}.button{gap:8px;min-height:46px;padding:10px 16px;font-size:16px}input,select,textarea{font-size:16px}.form-stack label,.form-label{font-size:15px}.form-hint,.choosing-label,.pause-reason,.session-location,.text-button,.child-meta,.child-row p,.result-count,.admin-family-summary p,.admin-child-group>summary>span:first-of-type>small:last-child{font-size:14px}.auth-form .form-stack>.button,.auth-guest-entry .button,.schedule-bottom .button{min-height:52px;font-size:20px}.auth-story h1{font-size:28px}.child-selection legend{font-size:17px}.child-selection legend small{font-size:14px}.child-selection .child-chip{gap:6px;min-height:64px;padding:10px 8px;font-size:16px}.child-selection .child-chip .small-initial{flex-basis:28px;width:28px;height:28px;font-size:16px}.child-selection .child-chip .child-meta{font-size:13px}.booking-theme{gap:8px}.booking-theme>span:last-child{font-size:14px}.booking-theme>span:last-child small{font-size:12px;display:inline}.session-choice .date-option{padding:10px}.session-choice .date-top{gap:6px;font-size:19px}.session-choice .date-top small{white-space:nowrap;font-size:13px}.session-choice .date-time{white-space:nowrap;gap:4px;font-size:14px}.session-choice .date-time em{white-space:nowrap;font-size:12px}.checkout-bar{padding:10px 16px calc(10px + env(safe-area-inset-bottom));gap:12px}.checkout-bar strong{font-size:26px}.checkout-bar>div>span{font-size:13px}.checkout-bar .button{min-width:108px;min-height:46px;padding:10px 15px;font-size:17px}.review-list h2{flex-wrap:wrap;gap:8px;font-size:20px}.review-line strong,.registration-line strong{font-size:17px}.review-line p,.registration-line p{font-size:14px}.parent-child-group summary strong,.admin-family-summary strong{font-size:18px}.parent-child-group summary p,.parent-child-total,.child-payment-status,.admin-child-due,.admin-family-amounts span{font-size:14px}.registration-period-title h2,.payment-records-heading{font-size:21px}.registration-payment-record>summary{font-size:15px}.admin-family-payment-actions .button{padding:8px 10px;font-size:14px}.staff-portal-label{font-size:20px}.site-footer,.footer-place p{font-size:15px}.footer-place strong{font-size:17px}.mobile-nav button{font-size:14px}}.guest-fields>.staff-identity-field{align-self:end;min-height:54px;margin:0}@media (width<=600px){.guest-fields>.staff-identity-field{min-height:44px}}.family-overview-actions{justify-content:space-between;align-items:center;gap:16px;margin:-12px 0 28px;display:flex}.family-editor{max-width:900px;margin-inline:auto}.family-editor fieldset{min-width:0;margin:0;padding:24px}.family-editor fieldset>label{margin-top:20px}.family-editor .staff-identity-field{align-self:end;min-height:54px;margin:0}.family-editor-actions{justify-content:flex-end;gap:12px;padding:16px 0;display:flex}@media (width<=600px){.family-editor fieldset{padding:16px}.family-editor .staff-identity-field{min-height:44px}.family-overview-actions{gap:10px;margin:0 0 24px}.family-editor-actions>.button{flex:1}}.family-overview-identity{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.family-overview-phone{color:var(--muted);font-size:16px}.family-overview-actions>.button{flex-shrink:0}@media (width<=600px){.family-overview-phone{flex-basis:100%;font-size:14px}.family-editor .staff-identity-field{grid-column:1/-1}}.page-title-row{justify-content:space-between;align-items:center;gap:16px;margin-top:10px;display:flex}.page-title-identity{flex-wrap:wrap;align-items:center;gap:8px 14px;min-width:0;display:flex}.page-title-row h1{margin:0}.page-title-identity>.badge,.page-title-row>.button{flex-shrink:0}@media (width<=600px){.page-title-row{flex-wrap:wrap;gap:14px}.page-title-identity{gap:8px 10px}}.phone-auth .pause-notice{margin-bottom:20px}.phone-auth>h2{margin-bottom:24px}.relationship-field{align-content:start;gap:12px;display:grid}.parent-security-setting{justify-content:space-between;align-items:center;gap:16px;padding:0 4px;display:flex}.admin-parent-access{border-top:1px solid var(--line);margin:28px 0;padding-top:24px}.admin-parent-row{align-items:center;gap:20px;padding:12px 0;display:flex}.admin-parent-row>div{flex:1;min-width:0}.admin-parent-row p{margin:6px 0 0}@media (width<=600px){.parent-security-setting,.admin-parent-row{flex-wrap:wrap;gap:12px}.admin-parent-row>div{flex-basis:100%}.phone-auth>h2{margin-bottom:20px}}.payment-record-children{color:var(--muted);margin-top:5px;font-weight:400;display:block}.payment-booked-sessions{margin:16px 0 24px}.payment-booked-sessions>summary{color:var(--green);cursor:pointer}.booking-summary>.text-button{margin-bottom:12px}@media (width<=600px){.family-editor-actions{background:var(--cream,#fffdf3);z-index:2;padding:12px 0;position:sticky;bottom:66px}}.button.danger{color:#fff;background:#a4352d;border-color:#a4352d}.button.danger:hover:not(:disabled){background:#852920}.text-button.danger{color:#a4352d}.staff-discount-note{color:var(--green,#4c6642);font-size:.9em;line-height:1.6}.admin-payment-amount{white-space:nowrap;justify-content:space-between;align-items:center;gap:8px;display:inline-flex}.admin-payment-amount.is-paid{color:#426139;background:#e7f0dc;border-radius:8px;padding:6px 10px}.admin-child-due .admin-payment-amount{font:inherit}.admin-registration-family{border:1px solid #cbd2c2;margin:22px 0}.admin-registration-family>summary{border-radius:13px;grid-template-columns:9px minmax(0,1fr);gap:14px 16px;display:grid}.admin-registration-family .admin-family-summary{grid-column:2}.admin-family-payments{background:#f3f5ee;border:1px solid #e0e5d8;border-radius:9px;gap:8px;min-width:0;padding:12px 16px;font-size:15px;font-weight:400;line-height:1.65;display:grid}.admin-registration-family>summary>.admin-family-payments{grid-column:2}.family-payment-record+.family-payment-record{border-top:1px solid #dce2d3;padding-top:10px}.family-payment-record-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 16px;display:flex}.family-payment-record-heading>span:first-child{font-weight:700}.family-payment-state{color:var(--muted);font-size:14px}.family-payment-state.confirmed{color:#426139}.family-payment-state.pending{color:#795418}.family-payment-reference{color:var(--muted);flex-wrap:wrap;gap:4px 28px;display:flex}.family-payment-reference>span{flex-wrap:wrap;gap:8px;display:inline-flex}.family-payment-reference strong{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:700}.family-payment-confirmed{min-width:0;color:var(--muted);gap:4px;font-size:13px;display:grid}.family-payment-confirmed>p{white-space:nowrap;font-variant-numeric:tabular-nums;margin:0;overflow-x:auto}.admin-registration-family[open]{border:2px solid #6e855c;border-left-width:5px;box-shadow:0 3px 12px #4c664210}.admin-registration-family[open]>summary{background:#eaf0e2;border-bottom:1px solid #cbd5c0;border-radius:11px 11px 0 0}.admin-registration-family[open]>.admin-family-details{padding:16px 20px 20px}.admin-registration-family .admin-child-group{background:#fffef9;border:1px solid #e0e4d7;border-radius:10px;margin:12px 0 0}.admin-registration-family .admin-child-group:first-child{margin-top:0}.admin-registration-family .admin-child-group>summary{padding:16px}.admin-registration-family .admin-child-group>div{border-top:1px solid var(--line);padding:0 16px}@media (width<=760px){.admin-registration-family>summary>.admin-family-payments{grid-column:1/-1}.admin-family-payments{padding:10px 12px;font-size:14px}.family-payment-record-heading{align-items:flex-start}.admin-registration-family[open]>.admin-family-details,.admin-registration-family .admin-child-group>summary{padding:12px}.admin-registration-family .admin-child-group>div{padding:0 12px}}.family-directory-actions{gap:8px;margin:14px 0 4px}.family-directory-actions .button{border-radius:9px;gap:8px;min-height:40px;padding:7px 12px;font-size:15px}@media (width<=760px){.family-directory-actions .button{min-height:44px}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.admin-registration-family .admin-child-register{border:0;border-top:1px solid var(--line);background:0 0;border-radius:0;margin-top:20px}.admin-registration-family .admin-child-register:first-child{border-top:0}.admin-registration-family .admin-child-register>summary{grid-template-columns:18px minmax(0,1fr) 140px auto;padding:16px 4px}.admin-registration-family .admin-child-register>.admin-child-register-body{border-top:0;padding:0}.admin-child-header-actions{justify-content:flex-end;align-items:center;gap:20px;display:flex}.admin-child-header-actions>button{white-space:nowrap;font-size:14px}.admin-care-note{color:var(--muted);overflow-wrap:anywhere;white-space:pre-wrap;margin:0 0 12px;font-size:15px}.admin-care-note strong{color:var(--ink)}.admin-registration-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:15px}.admin-registration-table th{text-align:left;color:var(--muted);background:var(--pale);border-block:1px solid var(--line);padding:8px 12px;font-size:13px;font-weight:400}.admin-registration-table th:first-child{width:120px}.admin-registration-table th:nth-child(3){width:94px}.admin-registration-table th:nth-child(4){text-align:right;width:104px}.admin-session-row>td{border-bottom:1px solid var(--line);vertical-align:middle;padding:12px}.admin-session-row small{color:var(--muted);font-size:13px;font-weight:400;display:block}.admin-session-date{white-space:nowrap;font-variant-numeric:tabular-nums}.admin-session-date>strong{font-size:17px}.admin-session-title{overflow-wrap:anywhere}.admin-session-title>strong{font-size:16px}.admin-session-title p{margin:4px 0 0;font-size:14px;line-height:1.55}.admin-session-title .admin-latest-note{color:var(--muted);white-space:pre-wrap;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.admin-session-amount{text-align:right;font-variant-numeric:tabular-nums}.admin-session-amount>strong{white-space:nowrap}.admin-session-manage{text-align:right}.admin-session-manage .text-button{white-space:nowrap;font-size:14px}.registration-state{white-space:nowrap;border-radius:5px;padding:3px 8px;font-size:13px;line-height:1.5;display:inline-block}.registration-state.unpaid,.registration-state.waiting{color:#77571e;background:#f5ecd5}.registration-state.settled{color:#426139;background:#e7f0dc}.registration-state.cancelled{color:var(--muted);background:#eeeee8}.admin-session-row.is-managing>td{background:#f3f5ee;border-bottom-color:#0000}.admin-session-management-row>td{padding:0}.admin-session-management{border-bottom:1px solid var(--line);background:#f3f5ee;padding:4px 16px 16px}.admin-note-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px 16px;display:grid}.admin-note-form label{grid-column:1/-1;font-size:15px}.admin-note-form textarea{resize:vertical;width:100%;min-width:0;font-size:16px}.admin-note-form .button,.admin-session-management-actions .button{min-height:44px;padding:8px 14px;font-size:14px}.admin-note-history{margin:16px 0 0;padding:0;list-style:none}.admin-note-history li{border-bottom:1px solid var(--line);grid-template-columns:150px minmax(0,1fr);gap:8px 16px;padding:8px 0;display:grid}.admin-note-history time{color:var(--muted);font-size:13px}.admin-note-history p{overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:15px}.admin-session-management-actions{align-items:center;gap:20px;margin-top:12px;display:flex}.admin-session-management-actions .text-button{font-size:14px}.admin-session-management-actions .danger{margin-left:auto}.family-payment-status-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px 16px;display:flex}.family-payment-status-actions .text-button{font-size:14px}.family-booking-note{color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 0}@media (width<=760px){.admin-registration-family .admin-child-register>summary{grid-template-columns:16px minmax(0,1fr) auto}.admin-child-header-actions{grid-column:2/-1}.admin-registration-table,.admin-registration-table tbody{display:block}.admin-registration-table thead{display:none}.admin-session-row{border-top:1px solid var(--line);grid-template-columns:80px minmax(0,1fr) auto;gap:4px 8px;padding:12px 0;display:grid}.admin-session-row>td{border:0;padding:0}.admin-session-date{grid-area:1/1/3}.admin-session-title{grid-area:1/2/auto/-1}.admin-session-status{grid-area:2/2;align-self:center}.admin-session-amount{grid-area:2/3;align-self:center}.admin-session-manage{grid-column:2/-1}.admin-session-management-row,.admin-session-management-row>td{display:block}.admin-session-management{padding:12px}.admin-note-form{grid-template-columns:minmax(0,1fr)}.admin-note-form .button{justify-self:end}.admin-note-history li{grid-template-columns:minmax(0,1fr);gap:2px}.family-payment-status-actions{justify-content:flex-start}}.action-icon{color:var(--green)}.action-icon.danger{color:var(--danger,#a92c25)}.action-icon.danger:hover:not(:disabled){background:#faece8}.admin-payment-summary{grid-template-columns:minmax(0,1fr) max-content max-content;gap:16px 24px}.admin-family-identity{overflow-wrap:anywhere;min-width:0}.admin-payment-summary .admin-family-amounts{grid-template-columns:minmax(0,1fr);justify-items:end;gap:6px}.admin-family-payment-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.admin-family-payment-actions button{white-space:nowrap;flex-shrink:0}.admin-family-payment-reference{min-width:0;color:var(--muted);overflow-wrap:anywhere;grid-column:2;gap:4px;margin:0;font-size:14px;display:grid}.admin-family-payment-tools{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 24px;margin-bottom:4px;padding:0 0 12px;display:flex}.admin-family-payment-tools>.text-button{white-space:nowrap;min-height:44px;margin-left:auto;font-size:14px}.admin-payment-history{min-width:0;max-width:100%;font-size:14px}.admin-payment-history>summary{cursor:pointer;color:var(--green);align-content:center;min-height:44px}.admin-payment-history ul{gap:8px;margin:4px 0 12px;padding:0;list-style:none;display:grid;overflow-x:auto}.admin-payment-history li{white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums}.admin-registration-family .admin-child-register{margin-top:8px}.admin-registration-family .admin-family-payment-tools+.admin-child-register{border-top:0;margin-top:0}.admin-registration-family .admin-child-register>summary{grid-template-columns:16px minmax(0,1fr) max-content 44px;gap:12px}.admin-child-due{grid-area:1/3}.admin-child-header-actions{grid-area:1/4;gap:0}.admin-child-booking-history{color:var(--muted);flex-wrap:wrap;gap:8px 20px;padding:4px 0 16px;font-size:13px;display:flex}.admin-child-booking-history>span{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.admin-child-booking-history time{white-space:nowrap}.admin-registration-table th:last-child{width:108px}.admin-row-actions{justify-content:flex-end;align-items:center;gap:4px;display:flex}.deletion-registration-list{max-height:280px;margin:0;padding:0;list-style:none;overflow-y:auto}.deletion-registration-list li{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:8px 0;font-size:15px;display:flex}.deletion-registration-list li>span:last-child{white-space:nowrap}@media (width<=900px){.admin-payment-summary{grid-template-columns:minmax(0,1fr) max-content}.admin-family-identity{grid-column:1/-1}.admin-payment-summary .admin-family-amounts{text-align:left;grid-area:2/1;justify-items:start}.admin-family-payment-actions{grid-area:2/2}}@media (width<=600px){.admin-registration-family>summary{gap:12px;padding:16px 12px}.admin-registration-family>summary:before{align-self:start;margin-top:9px}.admin-payment-summary{grid-template-columns:minmax(0,1fr) max-content;gap:10px 8px}.admin-payment-summary .admin-family-amounts{display:contents}.admin-payment-summary .family-amount-line{grid-area:2/1;justify-self:start;gap:8px;font-size:18px}.admin-payment-summary .family-payment-confirmer{grid-area:3/1/auto/-1}.admin-family-payment-actions{grid-area:2/2;gap:4px}.admin-family-payment-actions .button{padding-inline:10px;font-size:14px}.admin-family-payment-reference{grid-column:1/-1;font-size:13px}.admin-registration-family .admin-child-register>summary{grid-template-columns:12px minmax(0,1fr) 44px;gap:6px 8px}.admin-child-due{text-align:left;grid-area:2/2}.admin-child-header-actions{grid-area:1/3/3}.admin-child-booking-history{font-size:13px}.deletion-registration-list li{flex-direction:column;gap:2px}}@media (width<=360px){.admin-payment-summary .family-amount-line{grid-column:1/-1}.admin-family-payment-actions{grid-area:4/1/auto/-1;justify-content:flex-start}.admin-family-payment-actions>.action-icon{margin-left:auto}}.badge.duplicate-badge{color:#715313;background:#faebba;margin-left:8px}.badge.payment-method-badge{vertical-align:middle;padding:3px 8px;font-size:13px;line-height:1.5}.badge.payment-method-badge.transfer{color:#315a7d;background:#e3edf8}.badge.payment-method-badge.cash{color:#694679;background:#eee5f3}.admin-family-summary .badge{margin-top:4px;margin-bottom:4px}.action-icon[aria-expanded=true]{background:var(--pale)}.admin-payment-filters{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:16px;margin-top:16px;display:grid}.admin-payment-filters label{min-width:0;font-size:14px}.admin-payment-filters select{min-height:44px;padding:9px 12px;font-size:16px}.admin-payment-filters>button{white-space:nowrap;min-height:44px;font-size:14px}@media (width<=760px){.admin-payment-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-payment-filters>button{justify-self:end}}.registration-filter-main{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.registration-search{flex:260px}.registration-search input{width:100%;margin:0}.payment-segments{border:1px solid var(--line,#dedfd4);border-radius:10px;gap:3px;padding:3px;display:flex}.payment-segments button{color:var(--green);min-height:44px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:8px 16px}.payment-segments button[aria-pressed=true]{color:#fff;background:var(--green)}.payment-segments button:hover:not([aria-pressed=true]){background:var(--pale)}.registration-extra-filters{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding-top:20px;display:grid}.registration-extra-filters label{min-width:0;font-size:14px}.registration-extra-filters select{width:100%;font-size:16px}.active-filter-chips{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.active-filter-chips>button:not(.text-button){background:var(--pale);color:var(--green);font:inherit;cursor:pointer;border:0;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;display:inline-flex}.registration-period-title{flex:auto;gap:8px 20px}.registration-period-title h2{white-space:nowrap}.registration-period-title .result-count{border:0;min-height:0;margin:0;padding:0;font-size:14px}.registration-period-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.registration-period-actions .button{white-space:nowrap}.family-summary-meta{flex-wrap:wrap;align-items:center;gap:4px 18px;margin-top:6px;display:flex}.admin-family-summary .family-summary-meta p{margin:0}.family-summary-meta .family-contacts-compact{flex-direction:row;gap:4px 14px;margin:0;font-size:14px}.family-contacts-compact a{align-items:center;gap:5px;padding:3px 0;display:inline-flex}.family-contacts-compact svg{flex-shrink:0}.family-contacts{color:var(--muted);flex-wrap:wrap;gap:4px 24px;margin:8px 0;font-size:15px;display:flex}.family-contacts a{font-variant-numeric:tabular-nums;white-space:nowrap;text-decoration:none}.admin-registration-family>summary>.family-contacts,.admin-registration-family>summary>.family-credit{grid-column:2;min-width:0;margin:0}.family-credit{color:var(--green);flex-wrap:wrap;align-items:baseline;gap:4px 16px;margin:16px 0;display:flex}.family-credit span{font-size:14px}.payment-confirmation{color:var(--muted);margin-top:6px;font-size:12px;display:block}.payment-confirmation time{white-space:nowrap;display:block}.payment-calculation{background:var(--pale);color:var(--green);border-radius:10px;padding:16px 20px}.payment-calculation p{margin:4px 0}.payment-settlement{border:1px solid var(--line,#dedfd4);border-radius:10px;gap:16px;padding:16px;display:grid}.payment-settlement legend{padding:0 8px;font-weight:700}.payment-settlement label{gap:6px;display:grid}.payment-settlement select{width:100%}.collection-summary{clear:both;border-top:1px solid var(--line,#dedfd4);margin-top:40px;padding-top:24px}.collection-summary h2{margin-bottom:4px;font-size:24px}.collection-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 20px;display:flex}.collection-heading h2{margin:0;font-size:20px}.collection-heading>p{color:var(--muted);margin:0;font-size:14px}.collection-heading>p strong{color:var(--green);font-variant-numeric:tabular-nums;margin-left:8px;font-size:22px}.collection-people{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-top:16px;display:grid}.collection-person{border-left:1px solid var(--line);min-width:0;padding:0 20px}.collection-person:first-child{border-left:0;padding-left:0}.collection-person h3{margin:0;font-size:15px;font-weight:400}.collection-person-total{color:var(--green);font-variant-numeric:tabular-nums;margin:2px 0 8px;font-size:24px;display:block}.collection-person dl{color:var(--muted);margin:0;font-size:14px}.collection-person dl>div{justify-content:space-between;gap:8px;display:flex}.collection-person dd{font-variant-numeric:tabular-nums;margin:0}@media (width<=650px){.collection-people{grid-template-columns:1fr;gap:12px}.collection-person,.collection-person:first-child{border:0;border-top:1px solid var(--line);grid-template-columns:1fr auto;align-items:baseline;padding:10px 0 0;display:grid}.collection-person-total{margin:0;font-size:20px}.collection-person dl{flex-wrap:wrap;grid-column:1/-1;gap:4px 24px;margin-top:4px;display:flex}}.finance-table-scroll{width:100%;overflow-x:auto}.finance-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:15px}.finance-table th,.finance-table td{border-bottom:1px solid var(--line,#dedfd4);text-align:right;white-space:nowrap;padding:14px 12px}.finance-table th:first-child{text-align:left}.finance-table thead{background:var(--pale)}.finance-table tfoot{font-weight:700}.receipt-history{margin-top:20px}.receipt-history>summary{color:var(--green);cursor:pointer;padding:12px 0;font-size:16px}.receipt-line{border-top:1px solid var(--line,#dedfd4);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;padding:8px 0;font-size:14px;display:grid}.receipt-line-summary{flex-wrap:wrap;align-items:baseline;gap:4px 12px;min-width:0;display:flex}.receipt-line-summary>span{white-space:nowrap}.receipt-line-summary .receipt-confirmation{color:var(--muted);white-space:normal;font-size:13px}.receipt-line-actions{align-items:center;gap:4px;display:flex}.receipt-line-actions .text-button{padding:8px 4px;font-size:14px}.receipt-line-details{color:var(--muted);grid-column:1/-1;padding:0 0 8px}.deleted-receipts>summary{color:var(--muted);cursor:pointer;padding:12px 0;font-size:14px}.receipt-line p{margin:4px 0}.receipt-line time{font-variant-numeric:tabular-nums;white-space:nowrap}.receipt-line details summary{color:var(--green);cursor:pointer;padding:8px 0}.receipt-line>button{flex-shrink:0}.receipt-balance{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}@media (width<=760px){.registration-filter-main{gap:12px}.registration-search{flex-basis:100%}.payment-segments{flex:1}.payment-segments button{white-space:nowrap;flex:1;padding:6px;font-size:15px}.registration-filter-main>.button{min-height:48px;padding:8px 12px;font-size:14px}.registration-extra-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.family-contacts{flex-direction:column;gap:4px;font-size:14px}.admin-registration-family>summary>.family-contacts,.admin-registration-family>summary>.family-credit{grid-column:1/-1}.registration-period-bar{gap:12px}.registration-period-title{flex-basis:100%;gap:6px}.registration-period-title .result-count{flex-basis:100%;font-size:13px}.registration-period-actions{width:100%}.registration-history-picker{flex-basis:100%}.registration-period-actions .button{flex:1;padding:8px 10px;font-size:14px}.family-summary-meta{gap:4px 12px}.family-summary-meta .family-contacts-compact{font-size:13px}.receipt-line{gap:4px 6px}.receipt-line-summary{gap:3px 8px}.receipt-line-actions{flex-wrap:wrap;justify-content:flex-end;max-width:92px}.receipt-line-actions .text-button{min-height:40px}.collection-summary h2{font-size:21px}.finance-table th,.finance-table td{padding:12px 10px}}@media (width<=380px){.registration-filter-main>.button{width:100%}}.family-contacts-compact>span{white-space:nowrap;align-items:baseline;gap:5px;display:inline-flex}.parent-registration-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.parent-registration-actions .text-button{white-space:nowrap;min-height:44px}.parent-edit-selection{background:var(--pale);border-radius:8px;max-height:240px;padding:8px 12px;overflow-y:auto}.parent-edit-selection p{margin:8px 0;font-size:16px}@media (width<=600px){.parent-child-group>summary{grid-template-columns:14px minmax(0,1fr) auto}.parent-child-group>summary>.parent-registration-actions{flex-wrap:nowrap;grid-area:1/3;gap:2px}.parent-child-group>summary>.parent-child-total{grid-column:2/-1}.parent-child-details .registration-line{flex-wrap:wrap;gap:8px}.parent-child-details .registration-actions{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}}.family-phone{color:var(--green);white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.family-credit{align-items:center;gap:8px;display:flex}.parent-role{margin-left:8px}.family-payment-confirmer{max-width:100%;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:13px;display:block;overflow-x:auto}.receipt-history-toolbar{justify-content:flex-end;margin:8px 0;display:flex}.registration-month-label{color:var(--green);white-space:nowrap;font-size:22px}.registration-month-picker{white-space:nowrap;align-items:center;gap:8px;display:flex}.registration-month-picker select{width:auto}.payment-record-summary-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px 14px;margin-left:auto;display:flex}.payment-record-summary-actions>span{white-space:nowrap}.payment-record-summary-actions .text-button{white-space:nowrap;min-height:44px}@media (width<=600px){.registration-month-label{font-size:18px}.payment-record-summary-actions{justify-content:space-between;width:100%;margin-left:0}}.activity-log-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.activity-log-heading h2{margin:16px 0}.activity-log-filters{grid-template-columns:minmax(180px,2fr) minmax(120px,1fr) 160px 160px auto;align-items:end;gap:12px;margin:16px 0;display:grid}.activity-log-filters label{min-width:0;font-size:15px}.activity-log-filters input,.activity-log-filters select{min-width:0}.activity-log-list{border:1px solid var(--line);border-radius:12px;margin:16px 0;overflow:hidden}.activity-entry+.activity-entry{border-top:1px solid var(--line)}.activity-entry>summary{cursor:pointer;grid-template-columns:152px 140px 144px minmax(0,1fr) 32px;align-items:center;gap:12px;min-height:48px;padding:8px 16px;font-size:15px;list-style:none;display:grid}.activity-entry>summary:hover,.activity-entry[open]>summary{background:var(--pale)}.activity-entry-actor{align-items:baseline;gap:6px;min-width:0;display:flex}.activity-entry-actor strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.activity-entry>summary .activity-entry-actor small{white-space:nowrap;margin:0;font-size:12px;display:inline}.activity-entry-target{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:14px;overflow:hidden}.activity-entry-targets{color:var(--muted);overflow-wrap:anywhere;margin:12px 0;font-size:14px}.activity-entry>summary::-webkit-details-marker{display:none}.activity-entry-time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:14px}.activity-entry small{color:var(--muted);margin-top:4px;font-size:14px;display:block}.activity-entry-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.activity-entry-disclosure{color:var(--green);font-size:14px}.activity-entry[open] .activity-entry-disclosure{font-weight:700}.activity-entry-details{border-top:1px solid var(--line);padding:0 18px 18px}.activity-entry-details h3{margin:18px 0 10px;font-size:17px}.activity-entry-details h3 small{margin-left:8px;display:inline}.activity-change-scroll{overflow-x:auto}.activity-entry table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:15px}.activity-entry td,.activity-entry th{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;white-space:pre-wrap;overflow-wrap:anywhere;padding:8px}.activity-entry th:first-child{width:22%}.activity-original{margin-top:14px;font-size:15px}.activity-original p{overflow-wrap:anywhere;margin:4px 0}@media (width<=900px){.activity-log-filters{grid-template-columns:1fr 1fr}.activity-log-filters>label:first-child{grid-column:1/-1}}@media (width<=1000px) and (width>=761px){.activity-entry>summary{grid-template-columns:142px 112px 120px minmax(0,1fr) 28px;gap:8px;padding-inline:12px}}@media (width<=760px){.activity-entry>summary{grid-template-columns:minmax(0,1fr) auto 28px;gap:2px 8px;padding:8px 12px}.activity-entry-time{grid-area:1/1;font-size:12px}.activity-entry-actor{grid-area:1/2;justify-content:flex-end;font-size:13px}.activity-entry-title{grid-area:2/1}.activity-entry-disclosure{grid-area:1/3/4;font-size:12px}.activity-entry-target{grid-area:3/1/auto/3;font-size:13px}.activity-entry-target:empty{display:none}.activity-entry-details{padding:0 12px 14px}.activity-log-filters{gap:10px}.activity-log-heading h2{font-size:22px}}.activity-log-views{width:fit-content;margin:12px 0}.activity-receipts>label{max-width:400px;display:block}@media (width<=600px){.activity-log-filters>label:nth-child(2),.activity-log-filters>button{grid-column:1/-1}}.child-chip-name>small{color:var(--muted);font-size:12px;display:block}.booking-session-card{border:1px solid var(--line);border-radius:12px;min-width:0;padding:16px}.booking-session-card header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:5px 12px;display:flex}.booking-session-card header strong{font-size:22px}.booking-session-card header small{font-size:14px;font-weight:400}.booking-session-card header>span{white-space:nowrap;font-size:14px}.booking-session-card .session-location{margin:7px 0 12px;font-size:13px}.session-bulk-select{min-height:36px;margin:0 0 8px auto;display:block}.session-child-list{gap:8px;display:grid}.session-child-state{border:1px solid var(--line);border-radius:8px;grid-template-columns:1fr auto;gap:3px 10px;padding:10px 12px;font-size:14px;display:grid}.session-child-state strong{font-size:16px}.session-child-state>span,.session-child-state>small{grid-column:1}.session-child-state>small{font-size:12px}.session-child-state input{grid-area:1/2/3;align-self:center;width:21px;height:21px;margin:0}.session-child-state.selectable{cursor:pointer;background:#fffef8}.session-child-state.newly-added{background:#e6efde;border-color:#537047}.session-child-state.already-booked{color:#495662;background:#edf0f2;border-color:#0000}.month-account{border:1px solid var(--line);background:#f3f5ed;border-radius:12px;margin:20px 0;padding:20px}.month-account h2{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;margin:0 0 14px;font-size:18px;display:flex}.month-account h2 small{color:var(--muted);font-size:12px;font-weight:400}.month-account dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;display:grid}.month-account dl>div{min-width:0}.month-account dt{margin-bottom:5px;font-size:14px}.month-account dd{white-space:nowrap;font-variant-numeric:tabular-nums;margin:0;font-size:24px;font-weight:700}.month-account-due dd{color:var(--green)}.month-account.compact{background:0 0;border:0;margin:0;padding:0}.month-account.compact dl{grid-template-columns:repeat(2,minmax(0,1fr))}.month-account.compact dt{font-size:13px}.month-account.compact dd{font-size:23px}.checkout-action{margin-top:18px}.checkout-action>span{margin-bottom:9px;font-size:13px;display:block}.payment-scope{border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;gap:12px 22px;padding:16px;display:flex}.payment-scope label{flex-direction:row;align-items:center;gap:8px;margin:0;display:flex}.payment-scope input,.payment-registration-option input{flex-shrink:0;width:20px;height:20px;margin:0}.payment-registration-picker{max-height:340px;padding-right:4px;overflow-y:auto}.payment-registration-picker h3{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin:12px 0 8px;font-size:18px;display:flex}.payment-registration-picker h3 button{font-size:14px}.payment-registration-option{border-bottom:1px solid var(--line);flex-direction:row;align-items:center;gap:10px;margin:0;padding:12px;display:flex}.payment-registration-option.selected{background:#f1f5eb}.payment-registration-option>span{flex:1}.payment-registration-option small{color:var(--muted);margin-top:5px;font-size:12px;line-height:1.5;display:block}.payment-registration-option strong{white-space:nowrap}.payment-confirm-total small{margin-top:8px;font-size:15px;font-weight:400;display:block}@media (width<=760px){.booking-account-summary h2,.booking-account-summary .summary-child{display:flex}.monthly-checkout{padding:12px 18px calc(12px + env(safe-area-inset-bottom));display:block}.monthly-checkout .month-account h2{margin-bottom:8px;font-size:14px}.monthly-checkout .month-account dl{gap:7px 20px}.monthly-checkout .month-account dl>div{justify-content:space-between;align-items:baseline;gap:6px;display:flex}.monthly-checkout .month-account dt{margin:0;font-size:12px}.monthly-checkout .month-account dd{font-size:18px}.monthly-checkout .checkout-action{justify-content:space-between;align-items:center;gap:12px;margin-top:10px;display:flex}.monthly-checkout .checkout-action>span{margin:0}.page-book{padding-bottom:220px}.page-book+.site-footer{padding-bottom:210px}.month-account{padding:16px}.month-account dd{font-size:21px}.month-account dt{font-size:12px}.booking-activity>.date-options{grid-template-columns:1fr}}@media (width<=420px){.monthly-checkout .month-account dl>div{display:block}.monthly-checkout .month-account dd{margin-top:2px;font-size:20px}.page-book{padding-bottom:250px}.page-book+.site-footer{padding-bottom:240px}}.checkout-registrations{justify-content:center;align-items:center;gap:8px;margin-top:3px;padding:6px 0;font-size:14px;display:flex}.session-child-state.already-booked{white-space:nowrap;align-items:baseline;gap:8px;display:flex}.month-payments{border:1px solid var(--line);background:#f3f5ed;border-radius:12px;margin:20px 0;padding:20px}.month-payments .month-account dl{grid-template-columns:repeat(3,minmax(0,1fr))}.month-payment-options{margin-top:14px}.month-payment-options .registration-payment-record{border:0;border-top:1px solid var(--line);border-radius:0}.month-payment-options .registration-payment-record>summary{gap:8px;padding:12px 0;font-size:15px}.month-payment-options summary>span:first-child small{color:var(--muted);font-size:12px;display:block}.month-payment-options .registration-card{box-shadow:none;background:0 0;padding:4px 0 0}.month-payment-options .bank-transfer{margin:0;padding:14px}.transfer-destination .account-number{white-space:nowrap;overflow-wrap:normal;word-break:normal;letter-spacing:0;font-size:clamp(18px,5vw,25px)}@media (width<=760px){.page-book{padding-bottom:240px}.page-book+.site-footer{padding-bottom:230px}.month-payments{padding:14px}.month-payments .month-account dd{font-size:20px}.month-payments .month-account dl{gap:8px}.transfer-destination dl>div{grid-template-columns:36px minmax(0,1fr);gap:8px}.transfer-destination dt{font-size:14px}}@media (width<=420px){.page-book{padding-bottom:270px}.page-book+.site-footer{padding-bottom:260px}}.payment-method-title{align-items:center;gap:6px;display:inline-flex}.registration-payment-record[open] .payment-method-title svg{transform:rotate(180deg)}.month-payments .month-account dt{white-space:nowrap}.month-payment-options .registration-payment-record>summary{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.month-payment-options .payment-method-title{white-space:nowrap;gap:4px;font-size:clamp(12px,3.1vw,15px)}.month-payment-options .payment-method-title svg{flex-shrink:0}.month-payment-options .payment-record-summary-actions{flex-shrink:0;width:auto;margin-left:auto}.month-payment-options .payment-record-summary-actions .text-button{padding-inline:0;font-size:clamp(12px,3.1vw,15px)}.transfer-reported{grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:8px;display:grid}.transfer-reported>p{grid-column:1;margin:3px 0}.transfer-reported>.action-icon{grid-area:1/2/3}.payment-record-detail{color:var(--muted);margin:0 0 10px;font-size:14px}.parent-child-details .registration-line{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 8px;padding:10px 0;display:grid}.parent-child-details .registration-session-title{grid-column:1/-1;font-size:16px;line-height:1.5}.registration-session-time{color:var(--muted);white-space:nowrap;grid-area:2/1;font-size:13px}.registration-session-time .badge{width:fit-content;margin-top:2px;font-size:11px;display:block}.parent-child-details .registration-actions{flex-direction:row;grid-area:2/2;align-items:center;gap:6px;width:auto}.parent-child-details .registration-actions>strong{white-space:nowrap;font-size:14px}.parent-child-details .parent-registration-actions{flex-wrap:nowrap;gap:0}.parent-child-details .registration-line .pause-reason{grid-area:3/1/auto/-1;margin:4px 0 0;font-size:13px}.site-footer .footer-links{flex-wrap:nowrap;align-items:center;gap:18px;display:flex}.site-footer .footer-links a{white-space:nowrap;margin:0}.site-footer .footer-facebook{justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}@media (width<=360px){.parent-child-details .registration-actions{gap:2px}.parent-child-details .registration-actions>strong{font-size:13px}.registration-session-time{font-size:12px}}.booking-fee-details{margin-top:20px}.booking-added-count{color:var(--muted);margin:12px 0 0;font-size:14px}.monthly-checkout .checkout-action{gap:10px;display:flex}.monthly-checkout .checkout-action .button{white-space:nowrap;flex:1;margin:0}.monthly-checkout .checkout-registrations{border:2px solid var(--green);background:var(--pale);color:var(--green);font-weight:700}.session-child-state.already-booked{flex-wrap:wrap;gap:4px 8px}.session-child-state.already-booked strong{white-space:normal}.site-footer .footer-links .footer-phone,.site-footer .footer-links .footer-facebook{flex:0 0 44px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}@media (width<=760px){.monthly-checkout{padding:8px 16px calc(8px + env(safe-area-inset-bottom))}.monthly-checkout .checkout-action{gap:10px;width:100%;margin:0}.monthly-checkout .checkout-action .button{min-width:0;min-height:46px;padding:9px 10px;font-size:16px}.booking-fee-details{border:1px solid var(--line);background:#f3f5ed;border-radius:12px;padding:16px}.page-book{padding-bottom:24px}.page-book+.site-footer{padding-bottom:calc(88px + env(safe-area-inset-bottom))}}.parent-child-details .registration-session-title{grid-area:1/1;font-size:15px}.parent-child-details .registration-actions{grid-area:1/2}.parent-child-details .registration-actions .action-icon{width:32px;min-width:32px;height:32px;min-height:32px;padding:7px}.parent-child-details .registration-actions .action-icon svg{width:16px;height:16px}.parent-child-details .registration-session-price{text-align:right;white-space:nowrap;grid-area:2/2;font-size:14px}.payment-confirmations{color:#3f6038;background:#e6efde;border-radius:8px;margin-top:8px;padding:8px 10px;font-size:15px;line-height:1.5}.payment-confirmations p{margin:2px 0}.payment-confirmations time{white-space:nowrap}.transfer-reported{border-top:0;margin-top:10px;padding-top:0}.transfer-reported:first-child{margin-top:0}.transfer-reported p{font-size:15px;line-height:1.5}.month-account-paid.has-payment dd{color:#3f6038}.month-account-due.has-balance dd{color:#88530d}.parent-child-group>summary{grid-template-columns:14px minmax(0,1fr) 32px;gap:10px;padding:14px 16px}.parent-child-group>summary>.parent-registration-actions{grid-area:1/3}.parent-child-group .parent-child-meta{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 12px;font-size:14px;display:flex}.parent-child-amount{white-space:nowrap}.parent-child-amount.confirmed{color:#3f6038}.parent-child-amount.pending{color:#88530d}.parent-child-group>summary .action-icon{width:32px;min-width:32px;height:32px;min-height:32px;padding:7px}.parent-child-group>summary{grid-template-columns:14px minmax(0,1fr)}.parent-child-details .registration-session-title{grid-column:1/-1}.modal.modal-compact{width:min(420px,100% - 32px)}.booking-month-options{gap:12px;display:grid}.booking-month-option{border:1px solid var(--line);text-align:left;background:0 0;border-radius:12px;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;display:flex}.booking-month-option:hover{background:var(--pale)}.booking-month-option span{gap:4px;display:grid}.booking-month-option small{color:var(--muted);font-size:14px}.walkin-mode{gap:8px;display:flex}.walkin-mode button{border:1px solid var(--line);background:0 0;border-radius:10px;flex:1;min-height:44px}.walkin-mode button[aria-pressed=true]{background:var(--green);color:#fff}.walkin-form>.muted{margin:0}.walkin-child{border-bottom:1px solid var(--line);padding-bottom:12px}.walkin-child-name{align-items:flex-end;gap:8px;display:flex}.walkin-child-name label{flex:1;min-width:0}.walkin-extra summary{color:var(--green);cursor:pointer;padding:10px 0;font-size:15px}.walkin-extra .form-stack{padding-top:8px}.walkin-add-child{justify-self:start}.walkin-sessions{border:0;min-width:0;margin:0;padding:0}.walkin-sessions legend{margin-bottom:8px}.walkin-session{border-bottom:1px solid var(--line);cursor:pointer;align-items:start;gap:12px;padding:12px 0;display:flex!important}.walkin-session input,.walkin-children input{flex:0 0 20px;width:20px;height:20px;margin:3px 0 0}.walkin-session span{gap:4px;min-width:0;display:grid}.walkin-session small{color:var(--muted);font-size:14px}.walkin-children{flex-wrap:wrap;gap:16px;display:flex}.walkin-submit{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding-top:16px;display:flex}.walkin-submit span{gap:4px;font-size:14px;display:grid}.walkin-form{gap:16px}.walkin-session{flex-direction:row}.walkin-children .check-row{flex-direction:row;align-items:center;gap:8px;min-height:44px;display:flex}.walkin-add-child{align-self:flex-start}.sr-only-input,.bk-child input,.bk-kid input{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;position:absolute}.home-heading{padding:26px 0 20px;display:block}.home-heading .current-month{color:var(--muted);letter-spacing:.04em;font-size:16px;display:block}.home-heading .home-intro{white-space:pre-line;margin-top:8px;font-size:18px}.home-actions.schedule-bottom{padding:24px 0 0}.home-registration-notice{border:1px solid var(--line);background:#fffef8;border-radius:12px;margin:24px 0 8px;padding:16px 18px;font-size:16px;line-height:1.75}.home-registration-notice p{color:#4c5047;margin:4px 0}.page-book .page-title{padding-bottom:8px}.bk-children{border:0;min-width:0;margin:0 0 8px;padding:0;position:relative}.bk-children legend{margin-bottom:10px;padding:0;font-size:18px;font-weight:700}.bk-select-all{min-height:36px;font-size:15px;position:absolute;top:-4px;right:0}.bk-child-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;display:grid}.bk-child{border:1.5px solid var(--line);cursor:pointer;text-align:left;background:#fffef8;border-radius:12px;align-items:center;gap:10px;min-height:62px;padding:10px 12px;display:flex;position:relative}.bk-child .small-initial{width:32px;height:32px;font-size:17px}.bk-child-name{gap:1px;min-width:0;font-size:17px;font-weight:700;line-height:1.35;display:grid}.bk-child-name .child-meta{color:var(--muted);margin:0;font-size:13px;font-weight:400}.bk-check{color:#0000;border:1.5px solid #b9bdaf;border-radius:6px;flex:0 0 22px;place-items:center;width:22px;height:22px;margin-left:auto;display:grid}.bk-child.on{border-color:var(--green);background:var(--pale)}.bk-child.on .bk-check{background:var(--green);border-color:var(--green);color:#fff}.bk-child:focus-within{outline-offset:2px;outline:3px solid #b5812d}.bk-child-add{color:var(--green);background:0 0;border-style:dashed;justify-content:center;font-size:15px;font-weight:500}.page-book .booking-theme{flex-wrap:wrap;align-items:center;gap:4px 16px;margin-bottom:4px;display:flex}.bk-activity-all{white-space:nowrap;min-height:44px;margin-left:auto;padding:6px 0 6px 8px;font-size:15px}.bk-activity-all:disabled{opacity:1;color:var(--muted);cursor:default}.page-book .activity-description{margin:0 0 8px;font-size:15px}.bk-sessions{gap:10px;margin-top:10px;display:grid}.bk-session{border:1px solid var(--line);background:#fffef8;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:12px 14px;display:flex}.bk-when{flex-wrap:wrap;align-items:baseline;gap:2px 10px;min-width:0;display:flex}.bk-when strong{white-space:nowrap;font-size:20px}.bk-when strong small{color:var(--muted);margin:0;font-size:14px;font-weight:400}.bk-when>span{color:var(--muted);white-space:nowrap;font-size:15px}.bk-when>.bk-full{color:#88530d;background:#f6ecd6;border-radius:5px;padding:0 7px;font-size:13px}.bk-kids{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.bk-kid{cursor:pointer;white-space:nowrap;color:#3b3f37;background:#fff;border:1.5px solid #c9cfbf;border-radius:999px;align-items:center;gap:5px;min-height:40px;padding:6px 13px 6px 10px;font-size:16px;display:inline-flex;position:relative}.bk-kid svg{color:var(--green);flex-shrink:0}.bk-kid small{color:inherit;opacity:.85;margin:0;font-size:12px}.bk-kid.on{background:var(--green);border-color:var(--green);color:#fff;font-weight:700}.bk-kid.on svg{color:#fff}.bk-kid:focus-within{outline-offset:2px;outline:3px solid #b5812d}.bk-kid.booked{cursor:pointer;color:#495662;background:#edf0f2;border-color:#0000}.bk-kid.booked:hover{border-color:#8c9b8a}.bk-kid.booked:focus-visible{outline-offset:3px;outline:3px solid #bd892f}.bk-kid.booked svg{color:#495662}.bk-checkout{background:var(--pale);border-radius:14px;align-self:start;gap:14px;padding:20px;display:grid;position:sticky;top:24px}.bk-checkout-text{gap:2px;display:grid}.bk-checkout-text strong{font-variant-numeric:tabular-nums;font-size:30px;line-height:1.3}.bk-checkout-text span{color:#4c5047;font-size:15px}.bk-checkout-text small{color:var(--muted);margin:0;font-size:13px}.bk-checkout .button{width:100%}.page-book .review-list h2{justify-content:flex-start}.page-book .review-list>section{margin-bottom:18px}.page-book .review-line{padding:14px 0}.bk-review-total{color:#292b27;justify-content:space-between;align-items:baseline;padding:6px 0 0;font-size:18px;display:flex}.bk-review-total strong{font-variant-numeric:tabular-nums;font-size:26px}.bk-review-month{margin-top:4px;font-size:14px}.page-book .payment-method{margin:28px 0}.bk-success-list{text-align:left;gap:14px;margin:26px 0 0;display:grid}.bk-success-list section{border:1px solid var(--line);background:#fffef8;border-radius:12px;padding:14px 16px}.bk-success-list h2{margin-bottom:6px;font-size:19px}.bk-success-list ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.bk-success-list li{flex-wrap:wrap;align-items:baseline;gap:2px 10px;font-size:16px;display:flex}.bk-success-list li span{color:var(--muted)}.success .receipt{margin:18px 0}.success .receipt strong{margin:2px 0 8px;font-size:36px}.bk-month-due{margin-top:6px;font-size:14px}@media (width<=760px){.page-book .booking-layout{display:block}.bk-checkout{z-index:35;border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fffef8;border-radius:0;justify-content:space-between;align-items:center;gap:12px;display:flex;position:fixed;inset:auto 0 0;box-shadow:0 -6px 20px #282d230f}.bk-checkout-text{min-width:0}.bk-checkout-text strong{font-size:22px}.bk-checkout-text span{font-size:13px}.bk-checkout-text small{font-size:12px}.bk-checkout .button{flex-shrink:0;width:auto;min-width:118px;min-height:48px;padding:10px 16px;font-size:17px}.page-book{padding-bottom:16px}.page-book+.site-footer{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.bk-child-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bk-session{padding:10px 12px}.bk-kids{width:100%;margin-left:0}.bk-when strong{font-size:19px}.home-heading{padding-top:18px}}label.bk-child,label.bk-kid{flex-direction:row}label.bk-child>span{color:inherit}label.bk-child .bk-child-name{color:#292b27;font-weight:700}label.bk-kid>small{color:inherit}label.bk-child>.bk-check{color:#0000}label.bk-child.on>.bk-check{color:#fff}.bk-children-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.bk-children-head legend,.bk-children legend{float:left;margin:0}.bk-children-tools{align-items:center;gap:4px;margin-left:auto;display:flex}.bk-children-tools .text-button{min-height:36px;padding:0 6px;font-size:15px}.bk-children .bk-child-grid{clear:both;padding-top:10px}.bk-children-tools{float:right;margin-top:-2px}.bk-child:focus-within,.bk-kid:focus-within{outline:none}:is(.bk-child:has(input:focus-visible),.bk-kid:has(input:focus-visible)){outline-offset:2px;outline:3px solid #b5812d}.page-book .review-list>section{padding:14px 18px 4px}.page-book .review-list h2{padding-bottom:10px;font-size:20px}.page-book .review-line{align-items:center;padding:12px 0}.page-book .review-line:last-child{border-bottom:0}.page-book .review-line strong{font-size:16px}.page-book .review-line p{margin-top:2px;font-size:14px}.page-book .review-line-actions{flex-direction:row;align-items:center;gap:4px}.page-book .form-label{display:block}.page-book .form-label>span{margin-left:6px;font-size:14px}.page-book .form-label textarea{margin-top:8px}.page-registrations .page-title{padding-bottom:14px}.page-registrations .page-title-row{align-items:center}.my-payment-summary{border:1px solid var(--line);background:#fffef8;border-radius:14px;padding:18px 20px}.my-payment-summary-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.my-payment-summary-heading h2{margin:0;font-size:20px}.my-payment-summary-heading>span{color:var(--green);font-size:14px}.my-payment-totals{background:var(--pale);border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0 0;padding:16px;display:grid}.my-payment-totals dt{color:var(--muted);font-size:14px}.my-payment-totals dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:4px 0 0;font-size:clamp(18px,2.3vw,24px);font-weight:700}.my-payment-totals .due dd{color:#88530d}.my-payment-totals .clear dd{color:#3f6038}.my-sessions{border:1px solid var(--line);background:#fffef8;border-radius:14px;margin:0 0 28px;padding:0;list-style:none}.my-session{grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px;display:grid}.my-session+.my-session{border-top:1px solid var(--line)}.my-session-when{justify-items:center;line-height:1.25;display:grid}.my-session-when strong{white-space:nowrap;font-size:19px}.my-session-when small{color:var(--muted);margin:0;font-size:13px}.my-session-body{min-width:0}.my-session-title{color:#292b27;margin:0;font-size:16px;font-weight:700}.my-session-title span{color:var(--muted);white-space:nowrap;margin-left:8px;font-size:14px;font-weight:400}.my-session-kids{flex-wrap:wrap;gap:6px;margin:6px 0 0;display:flex}.my-session-kids span{background:var(--pale);color:#3f5536;border-radius:999px;align-items:center;gap:4px;padding:1px 10px;font-size:14px;display:inline-flex}.my-session-kids span.waiting{color:#7a6027;background:#f3e9ce}.my-session-kids small{margin:0;font-size:12px}.my-session .pause-reason{margin:6px 0 0;font-size:13px}.my-session-price{white-space:nowrap;font-variant-numeric:tabular-nums;justify-items:end;font-size:15px;font-weight:700;display:grid}.my-session-price small{color:#3f6038;margin:0;font-size:12px;font-weight:400}.my-payments{display:grid}.my-payment{padding:16px 0}.my-payment+.my-payment{border-top:1px solid var(--line)}.my-payment>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.my-payment>header strong{font-size:16px;display:grid}.my-payment>header small{color:var(--muted);margin:0;font-size:13px;font-weight:400}.my-payment>header .text-button{min-height:36px;font-size:15px}.my-payment>p{margin:6px 0 0;font-size:15px}.my-payment .bank-transfer{background:0 0;border:0;border-radius:0;margin:12px 0 0;padding:0}.my-payment .bank-transfer h2{margin-bottom:8px;font-size:18px}.my-payment .cancelled-history{margin-top:10px;font-size:14px}.my-payment-summary .registration-help{border-top:1px solid var(--line);margin:0;padding-top:14px;font-size:15px}@media (width<=760px){.my-session{grid-template-columns:60px minmax(0,1fr) auto;gap:16px;padding:12px}.my-session-title span{margin:0;display:block}.my-payment-summary{padding:16px}.my-payment-totals{gap:8px;padding:12px}}.page-family .page-title{padding-bottom:12px}.family-block{border:1px solid var(--line);background:#fffef8;border-radius:14px;margin-bottom:16px;padding:16px 18px}.family-block-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.family-block-head h2{font-size:19px}.family-block-head .text-button{align-items:center;gap:4px;min-height:40px;font-size:15px;display:inline-flex}.family-block-hint{margin:0 0 8px;font-size:14px}.family-children{display:grid}.family-child{grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 0;display:grid}.family-child+.family-child{border-top:1px solid var(--line)}.family-child .small-initial{width:36px;height:36px;font-size:18px}.family-child h3{font-size:17px}.family-child h3 .child-meta{color:var(--muted);margin:0;font-size:13px;font-weight:400}.family-child p{margin:0;font-size:14px}.family-child .child-notes{color:#7a6027;margin-top:2px}.family-facts{margin:0;display:grid}.family-facts>div{grid-template-columns:76px minmax(0,1fr);gap:10px;padding:8px 0;font-size:15px;display:grid}.family-facts>div+div{border-top:1px solid var(--line)}.family-facts dt{color:var(--muted)}.family-facts dd{flex-wrap:wrap;align-items:center;gap:4px 10px;margin:0;display:flex}.family-facts dd .text-button{align-items:center;gap:4px;min-height:32px;padding:0;font-size:14px;display:inline-flex}.family-members{margin:0;padding:0;list-style:none}.family-members li{flex-wrap:wrap;align-items:center;gap:4px 10px;padding:8px 0;font-size:15px;display:flex}.family-members li+li{border-top:1px solid var(--line)}.family-members svg{color:var(--green)}.family-members small{color:var(--muted);margin:0;font-size:13px;font-weight:400}.family-members span{color:var(--muted);font-size:14px}.family-members .text-button{margin-left:auto;font-size:14px}.payment-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.payment-head p{margin:2px 0 0;font-size:14px}.payment-head .text-button{white-space:nowrap;min-height:36px;font-size:14px}.walkin-past summary{cursor:pointer;color:var(--muted);padding:10px 0;font-size:14px}.walkin-session .badge{margin-left:6px;padding:0 6px;font-size:12px}.page-admin{padding-top:8px}.page-admin .tabs.admin-tabs{scrollbar-width:none;flex-wrap:nowrap;gap:4px;margin-bottom:14px;overflow-x:auto}.page-admin .tabs.admin-tabs::-webkit-scrollbar{display:none}.page-admin .tabs.admin-tabs button{flex:none;padding:10px 14px;font-size:17px}.admin-month-bar{flex-wrap:wrap;align-items:center;gap:8px 20px;margin-bottom:16px;display:flex}.admin-month-switch{border:1px solid var(--line);background:#fffef8;border-radius:12px;align-items:center;gap:2px;padding:2px;display:inline-flex}.admin-month-switch select{background:0 0;border:0;width:auto;min-height:40px;padding:6px 4px;font-size:19px;font-weight:700}.admin-month-switch .icon-button{width:40px;min-width:40px;height:40px}.admin-open-month{flex-wrap:wrap;align-items:baseline;gap:2px 10px;margin:0;font-size:15px;display:flex}.admin-open-month strong{color:var(--green)}.admin-open-month small{color:var(--muted);margin:0;font-size:13px}.admin-open-month .text-button{min-height:32px;font-size:14px}.admin-month-bar .result-count{margin:0;font-size:15px}.page-admin .registration-period-bar{margin-bottom:12px}.admin-month-content{border:1px solid var(--line);background:#fffef8;border-radius:14px;margin-bottom:18px}.admin-month-content>summary{cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:2px 12px;padding:14px 18px;display:flex}.admin-month-content>summary span{color:var(--muted);font-size:14px}.admin-month-content>form{padding:0 18px 18px}.admin-month-content .editor-section{border:0;margin:0;padding:0}.page-admin .admin-sessions-heading{flex-flow:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.admin-sessions-heading h2{margin:0;font-size:20px}.session-create-actions{align-items:center;gap:8px;display:flex}.admin-sessions-heading .button,.session-batch-actions .button{white-space:nowrap;min-height:44px;padding:8px 12px;font-size:14px}.session-batch-actions{background:var(--pale);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:4px 8px;display:flex}.session-batch-actions>strong{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:13px;font-weight:400}.session-batch-actions .button{background:0 0;border-color:#0000}.session-batch-actions .button:hover:not(:disabled){border-color:var(--green)}.admin-session-head{color:var(--muted);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:0 0 8px;font-size:13px;display:flex}.admin-session-head .admin-session-capacity-label{margin-right:58px}@media (width<=600px){.admin-sessions-heading .button{padding:8px;font-size:13px}.session-batch-actions{gap:4px 8px}.session-batch-actions .button{padding:8px}.admin-session-head .admin-session-capacity-label{display:none}}.admin-session-select-all{cursor:pointer;min-height:44px;color:var(--green);flex-direction:row;grid-column:1/3;justify-self:start;align-items:center;gap:14px;font-size:14px;display:inline-flex}.admin-session-select-all input,.page-admin .admin-session>input[type=checkbox]{width:20px;height:20px;accent-color:var(--green);margin:0}.admin-session-capacity-label{text-align:center;grid-column:3;align-self:center}.session-roster-tools{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:4px 0 10px;font-size:14px;display:flex}.session-roster-tools .button{min-height:44px;padding:8px 12px;font-size:14px}.page-admin .admin-session{grid-template-columns:20px minmax(0,1fr) 96px 44px;align-items:center;gap:6px 14px;padding:12px 0;display:grid}.page-admin .admin-session>.admin-session-main{min-width:0}.page-admin .admin-session h3{flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin:0;font-size:17px;display:flex}.page-admin .admin-session h3 small{color:var(--muted);font-size:14px;font-weight:400}.page-admin .admin-session h3 .badge{padding:0 7px;font-size:12px}.page-admin .admin-session p{margin:2px 0 0;font-size:14px}.page-admin .admin-session>.capacity{background:0 0;border:1px solid #0000;border-radius:10px;justify-items:center;gap:0;min-width:0;margin:0;padding:4px 6px;line-height:1.3;display:grid}.page-admin .admin-session>.capacity:hover,.page-admin .admin-session.is-open>.capacity{border-color:var(--line);background:var(--pale)}.page-admin .admin-session>.capacity strong{font-size:21px}.page-admin .admin-session>.capacity span{color:var(--green);font-size:12px}.page-admin .admin-session>.capacity.is-full strong{color:#88530d}.session-roster{background:#f6f7f1;border-radius:10px;grid-column:2/-1;padding:8px 12px 4px;overflow-x:auto}.session-roster table{border-collapse:collapse;width:100%;font-size:14px}.session-roster th{text-align:left;color:var(--muted);white-space:nowrap;padding:4px 8px;font-weight:500}.session-roster td{border-top:1px solid var(--line);vertical-align:top;padding:6px 8px}.session-roster td:first-child,.session-roster td:nth-child(3){white-space:nowrap}.session-roster .child-meta{color:var(--muted);margin:0;font-size:12px}.session-roster .badge{padding:0 7px;font-size:12px}.admin-danger-zone{justify-content:flex-end;padding:8px 0 0;display:flex}.text-button.danger-text{color:#9a3b2c;font-size:14px}.amount-scope{color:var(--muted);margin:0;font-size:12px}.admin-family-search{flex:240px;align-items:center;max-width:360px;margin-left:auto;display:flex;position:relative}.admin-family-search svg{color:var(--muted);position:absolute;left:12px}.admin-family-search input{padding-left:38px}.family-directory-summary .family-contacts-compact{margin-top:2px}@media (width<=760px){.page-admin .admin-session,.admin-session-head{grid-template-columns:20px minmax(0,1fr) 72px 40px;gap:6px 10px}.admin-session-select-all{gap:10px}.admin-session-capacity-label{white-space:nowrap;font-size:12px}.session-roster{grid-column:1/-1}.session-roster thead{display:none}.session-roster tr{border-top:1px solid var(--line);grid-template-columns:1fr auto;gap:0 8px;padding:6px 0;display:grid}.session-roster td{border:0;padding:0 4px}.session-roster td:nth-child(2){color:var(--muted);grid-row:2;font-size:13px}.session-roster td:nth-child(3){grid-area:1/2}.session-roster td:nth-child(4){color:#7a6027;grid-column:1/-1;font-size:13px}.admin-month-switch select{font-size:17px}.admin-family-search{flex-basis:100%;max-width:none;margin-left:0}}.admin-month-bar .result-count{border:0;padding:0}.admin-month-actions{gap:8px;margin-left:auto;display:flex}.admin-month-actions .button{min-height:42px;padding:8px 14px;font-size:15px}@media (width<=760px){.admin-month-actions{width:100%;margin-left:0}.admin-month-actions .button{flex:1}}.admin-month-content>summary{list-style:none}.admin-month-content>summary::-webkit-details-marker{display:none}.admin-month-content>summary:after{content:"展開編輯";color:var(--green);margin-left:auto;font-size:14px}.admin-month-content[open]>summary:after{content:"收起"}label.admin-family-search{flex-direction:row;gap:0}.admin-family-search svg{top:50%;transform:translateY(-50%)}@media (width<=760px){label.admin-family-search{width:100%}}.activity-info .activity-times{flex-wrap:wrap;gap:0 14px;display:flex}.dir-list{border:1px solid var(--line);background:#fffef8;border-radius:14px;overflow:hidden}.dir-head,.dir-row{grid-template-columns:minmax(120px,1.1fr) minmax(0,2fr) 150px 20px;align-items:center;gap:14px;padding:0 18px;display:grid}.dir-head{color:var(--muted);border-bottom:1px solid var(--line);padding-top:10px;padding-bottom:8px;font-size:13px}.dir-family+.dir-family{border-top:1px solid var(--line)}.dir-row{text-align:left;width:100%;min-height:52px;color:inherit;background:0 0;padding-top:8px;padding-bottom:8px}.dir-row:hover,.dir-family.is-open>.dir-row{background:var(--pale)}.dir-row>svg{color:var(--muted)}.dir-name{color:#222131;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0;font-size:17px;font-weight:700;display:flex}.dir-staff{color:#7a6027;background:#f3e9ce;border-radius:5px;padding:0 7px;font-size:12px;font-weight:400}.dir-kids{color:#4c5047;overflow-wrap:anywhere;font-size:15px}.dir-kids.is-empty{color:#88530d;font-size:14px}.dir-phone{color:var(--green);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:15px}.dir-phone small{color:var(--muted);margin:0;font-size:12px}.dir-detail{background:var(--surface-warm,#fffef9);border-top:1px solid var(--line);padding:12px 18px 14px}.dir-contacts{flex-wrap:wrap;gap:4px 18px;margin:0 0 6px;font-size:14px;display:flex}.dir-contacts a{text-decoration:none}.dir-children{background:#fffef8;border-radius:10px;padding:0 12px}.dir-child{color:var(--muted);grid-template-columns:minmax(70px,1fr) 56px 92px 72px 104px 36px;align-items:center;gap:2px 12px;padding:6px 0;font-size:14px;display:grid}.dir-child+.dir-child{border-top:1px solid var(--line)}.dir-child strong{color:#222131;overflow-wrap:anywhere;font-size:16px}.dir-child .dir-relation{color:var(--green)}.dir-child .child-meta{color:var(--muted);margin:0;font-size:14px}.dir-child time{font-variant-numeric:tabular-nums}.dir-child .action-icon{justify-self:end}.dir-notes{color:#7a6027;grid-column:1/-1;margin:0 0 4px;font-size:13px}.dir-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.dir-actions .button{border-radius:9px;gap:6px;min-height:40px;padding:7px 14px;font-size:15px}.dir-actions-end{align-items:center;gap:4px;margin-left:auto;display:flex}.dir-actions .directory-credit{min-height:36px;font-size:14px}.dir-more{position:relative}.dir-more>summary{cursor:pointer;width:40px;height:40px;color:var(--muted);border-radius:9px;place-items:center;list-style:none;display:grid}.dir-more>summary::-webkit-details-marker{display:none}.dir-more>summary:hover,.dir-more[open]>summary{background:#fffef8}.dir-more>div{z-index:5;border:1px solid var(--line);white-space:nowrap;background:#fffef8;border-radius:10px;padding:6px 10px;position:absolute;top:44px;right:0;box-shadow:0 6px 18px #282d2314}@media (width<=760px){.dir-head{display:none}.dir-row{grid-template-columns:minmax(0,1fr) auto 18px;grid-template-areas:"name phone chev""kids kids chev";gap:2px 10px;padding:10px 14px}.dir-name{grid-area:name;font-size:16px}.dir-phone{grid-area:phone;font-size:14px}.dir-kids{grid-area:kids;font-size:14px}.dir-row>svg{grid-area:chev}.dir-detail{padding:10px 12px 12px}.dir-child{grid-template-columns:minmax(0,1fr) auto 36px;gap:0 8px}.dir-child strong{grid-column:1}.dir-child .dir-relation{grid-area:1/2}.dir-child .action-icon{grid-area:1/3/span 2}.dir-child .child-meta,.dir-child>span:not(.dir-relation),.dir-child time{grid-row:2;font-size:13px}.dir-child .child-meta{grid-column:1}.dir-child>span:not(.dir-relation){display:none}.dir-child time{grid-column:2}.dir-actions .button{flex:calc(50% - 8px)}.dir-actions-end{justify-content:space-between;width:100%}}@media (width>=761px){.dir-child{grid-template-columns:120px 56px 92px 72px 104px minmax(0,1fr) 36px}.dir-child .action-icon{grid-column:-2/-1}}.dir-head,.dir-row{grid-template-columns:minmax(120px,1fr) minmax(0,2.4fr) 20px}.dir-contacts a{align-items:center;gap:4px;display:inline-flex}.reg-list .reg-head,.reg-list .reg-row{grid-template-columns:minmax(120px,1fr) minmax(0,2fr) 180px 92px 20px;gap:14px}.reg-list .reg-family{background:0 0;border:0;border-radius:0;margin:0}.reg-list .reg-family+.reg-family{border-top:1px solid var(--line)}.reg-list .reg-row{background:0 0;border-radius:0;align-items:center;min-height:60px;padding:8px 18px;display:grid}.reg-list .reg-row:hover,.reg-list .reg-family[open]>.reg-row{background:var(--pale)}.reg-list .reg-family[open]>.reg-row{border-radius:0}.reg-meta{gap:1px;min-width:0;display:grid}.reg-meta small{color:var(--muted);margin:0;font-size:13px}.reg-list .staff-weekly-pay .admin-payment-amount>span+span{font-size:20px}.reg-list .staff-weekly-chevron{color:var(--muted)}.reg-list .reg-detail{background:var(--surface-warm,#fffef9);border-top:1px solid var(--line);padding:12px 18px 16px}.reg-detail-top{flex-wrap:wrap;align-items:center;gap:4px 18px;margin-bottom:10px;font-size:14px;display:flex}.reg-detail-top .family-contacts{color:var(--green);flex-wrap:wrap;gap:4px 18px;margin:0;display:flex}.reg-detail-top .family-credit{margin:0}@media (width<=760px){.dir-row{grid-template-columns:minmax(0,1fr) 18px;grid-template-areas:"name chev""kids chev"}.reg-list .reg-row{grid-template-columns:minmax(0,1fr) auto 18px;grid-template-areas:"name pay chev""meta meta chev""act act act";gap:4px 10px;padding:12px 14px}.reg-list .reg-row .dir-name{grid-area:name}.reg-list .reg-row .reg-meta{grid-area:meta}.reg-list .reg-row .staff-weekly-pay{text-align:right;grid-area:pay}.reg-list .reg-row .staff-weekly-action{grid-area:act}.reg-list .reg-row .staff-weekly-action:empty{display:none}.reg-list .reg-row .staff-weekly-chevron{grid-area:chev;align-self:center;margin:0}.reg-meta .dir-kids{grid-area:auto}.reg-list .reg-detail{padding:10px 12px 12px}}.reg-list .reg-row{transition:background-color .14s ease-out}.reg-list .staff-weekly-chevron{transition:transform .18s cubic-bezier(.16,1,.3,1)}.reg-list .staff-weekly-header .staff-weekly-action .button{border-radius:9px;width:92px;min-height:36px;padding:5px 10px;font-size:13px;line-height:1.5}.reg-list .staff-weekly-action{min-width:0}@supports (interpolate-size:allow-keywords){@media (prefers-reduced-motion:no-preference){.reg-family{interpolate-size:allow-keywords}.reg-family::details-content{transition-behavior:allow-discrete;block-size:0;transition:block-size .2s cubic-bezier(.16,1,.3,1),content-visibility .2s;overflow:clip}.reg-family[open]::details-content{block-size:auto}}}@media (prefers-reduced-motion:reduce){.reg-list .staff-weekly-chevron{transition:none}}@media (width<=760px){.reg-list .reg-row{grid-template-columns:minmax(0,1fr) 172px 18px}.reg-list .staff-weekly-action{justify-self:end}.reg-list .staff-weekly-header .staff-weekly-action .button{min-height:44px}}.family-edit-danger{border-top:1px solid var(--line);margin-top:16px;padding-top:8px}.child-edit-form{gap:16px}.child-edit-form label{gap:6px}.child-edit-form input,.child-edit-form select{height:48px;min-height:48px;font-size:16px;line-height:1.5}.child-edit-form textarea{font-size:16px;line-height:1.5}.child-edit-form .form-two{align-items:start}.modal.walkin-modal{max-width:900px;height:min(800px,100dvh - 40px);padding:24px;overflow:hidden}.modal.walkin-modal[open]{flex-direction:column;display:flex}.walkin-modal>.modal-heading,.walkin-modal>.pause-notice{flex-shrink:0}.walkin-modal .walkin-form{flex:1;min-height:0;margin-top:0}.walkin-layout{scrollbar-gutter:stable;flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-content:start;align-items:start;gap:24px;min-height:0;padding:4px;display:grid;overflow-y:auto}.walkin-person,.walkin-activity{flex-direction:column;gap:12px;min-width:0;display:flex}.walkin-person>.muted{margin:0;font-size:14px}.walkin-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;padding-top:4px;display:grid}.walkin-fields>label{min-width:0}.walkin-wide-field{grid-column:1/-1}.walkin-form label{gap:4px;font-size:14px}.walkin-form input:not([type=checkbox]):not([type=radio]),.walkin-form select{height:44px;min-height:44px;padding:8px 10px;font-size:16px}.walkin-child-name>.action-icon{width:44px;min-width:44px;height:44px;min-height:44px}.walkin-activity-controls{flex-wrap:wrap;align-items:start;gap:10px 12px;display:flex}.walkin-activity-controls>label{flex:140px;min-width:0}.walkin-payment{border:0;flex:208px;min-width:0;margin:0;padding:0}.walkin-payment legend{margin-bottom:4px;padding:0;font-size:14px}.walkin-payment-options{gap:6px;display:flex}.walkin-payment-options label{border:1px solid var(--line);cursor:pointer;white-space:nowrap;border-radius:8px;flex-direction:row;flex:1;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:8px 6px}.walkin-payment-options label:has(:checked){border-color:var(--green);background:var(--pale);color:var(--green)}.walkin-payment input{width:16px;height:16px;min-height:16px;accent-color:var(--green);flex-shrink:0;margin:0;padding:0}.walkin-form textarea{min-height:68px;padding:8px 10px;font-size:16px;line-height:1.5}.walkin-form .walkin-extra>summary{min-height:36px;padding:6px 0}.walkin-form .walkin-child{padding-bottom:8px}.walkin-form .walkin-add-child{min-height:36px;padding:4px 0}.walkin-session-options{scrollbar-gutter:stable;max-height:290px;padding:4px;overflow-y:auto}.walkin-form .walkin-session{gap:10px;min-height:52px;padding:8px 0}.walkin-session input{min-height:20px}.walkin-form .walkin-session span{gap:0}.walkin-form .walkin-session strong{color:var(--ink,#222131);font-weight:400}.walkin-form .walkin-session small{font-size:12px}.walkin-form .walkin-sessions legend{margin-bottom:2px;font-size:14px}.walkin-submit{z-index:1;background:#fbf9ef;flex-shrink:0;margin:0 -24px -24px;padding:12px 24px;position:static}.walkin-submit span{gap:0}.walkin-submit strong{font-size:18px}@media (width<=760px){.modal.walkin-modal{padding:16px}.walkin-layout{grid-template-columns:minmax(0,1fr);gap:16px}.walkin-activity{border-top:1px solid var(--line);padding-top:12px}.walkin-session-options{max-height:none;overflow:visible}.walkin-submit{margin:0 -16px -16px;padding:12px 16px}.walkin-submit .button{padding:10px 14px}.child-edit-form .form-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}@media (width>=761px){.reg-list .staff-weekly-pay{padding-right:18px}.reg-list .reg-head>span:nth-child(3){text-align:right;padding-right:18px}}.registration-extra-filters{grid-template-columns:1.4fr repeat(3,minmax(0,1fr));gap:12px;padding-top:12px}.registration-extra-filters label{white-space:nowrap;flex-direction:row;align-items:center;gap:8px;font-size:13px;display:flex}.registration-extra-filters select{flex:1;min-width:0;min-height:40px;margin:0;padding:7px 10px;font-size:14px}.bk-month-toggle{min-height:44px;padding:10px 18px}.bk-heading-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.bk-month-choice select{height:44px;min-height:44px;padding:8px 10px;font-size:16px}.child-course-setting{border:1px solid var(--line);background:var(--pale);border-radius:10px;gap:10px;padding:12px;display:grid}.child-course-setting .check-label{flex-direction:row;align-items:center;gap:10px;display:flex}.child-course-setting .check-label input{flex-shrink:0;width:20px;height:20px;min-height:20px}.child-course-setting .form-hint{margin:0}@media (width<=760px){.registration-extra-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.registration-extra-filters label{gap:4px;display:grid}.registration-extra-filters select{min-height:44px;font-size:16px}}.bk-page-heading .page-title{margin-bottom:0;padding:8px 0 16px}.bk-page-heading .page-title-row{gap:12px;margin-top:4px}.bk-page-heading .bk-month-toggle{white-space:nowrap;margin-left:auto}.page-book .booking-layout{column-gap:24px}.page-book .booking-activity{padding:12px 0}.page-book .booking-activity:first-child{padding-top:0}.bk-activity-heading{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;column-gap:12px;display:grid}.page-book .bk-activity-heading .booking-theme{flex:1;align-items:baseline;gap:4px 12px;min-width:0;margin:0}.page-book .booking-theme .bk-theme-location{color:var(--muted);white-space:normal;margin-left:0;font-size:14px;font-weight:400}.bk-description-toggle{white-space:nowrap;gap:4px;min-height:44px;padding:0}.bk-description-toggle[aria-expanded=true] svg{transform:rotate(90deg)}.bk-description-content{color:var(--muted);white-space:pre-line;grid-column:1/-1;margin:0 0 8px;font-size:15px}.page-book .bk-sessions{gap:8px;margin-top:4px}@media (width<=760px){.bk-page-heading .page-title-row{flex-wrap:wrap;gap:8px}.bk-page-heading .bk-month-toggle{gap:6px;min-height:44px;padding:8px 12px;font-size:14px}}.registration-filter-bar{margin:16px 0}.registration-primary-filters{grid-template-columns:minmax(0,1fr) 156px auto;align-items:end;gap:12px;margin-bottom:8px;display:grid}.registration-primary-filters>label,.registration-payment-filter{gap:4px;min-width:0;font-size:13px;display:grid}.registration-primary-filters select{width:100%;min-height:50px;margin:0;padding:8px 12px;font-size:15px}.registration-filter-main{flex-wrap:nowrap;gap:12px}.registration-filter-main input{min-height:44px;padding:8px 12px;font-size:15px}.registration-filter-main>.text-button{flex-shrink:0;min-height:44px}.page-admin .admin-family-heading{flex-flow:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.admin-family-heading .button{min-height:44px;padding:8px 12px;font-size:14px}.admin-family-heading h2{font-size:22px}.admin-family-filters{align-items:center;gap:8px;margin:0 0 12px;display:flex}.admin-family-filters .admin-family-search{flex:1;min-width:0;max-width:none;margin:0}.admin-family-filters input,.admin-family-filters select{min-height:44px;margin:0;padding-top:8px;padding-bottom:8px;font-size:15px}.admin-family-filters>label:not(.admin-family-search){flex:0 152px;min-width:0}.admin-family-filters select{width:100%;padding-left:10px;padding-right:24px}.admin-family-filters>.text-button{flex-shrink:0;min-height:44px}@media (width<=600px){.registration-primary-filters{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}.registration-primary-filters>label:first-child{grid-column:1/-1}.registration-primary-filters select,.registration-filter-main input{font-size:16px}.registration-payment-filter .payment-segments button{padding:8px 12px}.admin-family-filters{grid-template-columns:minmax(0,1fr) auto;display:grid}.admin-family-filters .admin-family-search{grid-column:1/-1}.admin-family-filters>.text-button{grid-column:2;justify-self:end}.admin-family-filters input,.admin-family-filters select{font-size:16px}}
