.app-shell{background:#f4f7fb;color:#142033}.sidebar{background:#ffffff;border-right:1px solid rgba(15,23,42,.08);box-shadow:8px 0 28px rgba(15,23,42,.04)}.brand-row{border-bottom:1px solid rgba(15,23,42,.07)}.brand-mark{background:#ffffff;box-shadow:none}.nav-group p{color:#64748b;font-weight:900}.nav-item{border:1px solid transparent;background:transparent;color:#334155;box-shadow:none}.nav-item:hover{background:#f1f5f9;border-color:rgba(148,163,184,.24)}.nav-item.active{background:#102033;border-color:#102033;color:#ffffff;box-shadow:0 10px 24px rgba(15,23,42,.16)}.nav-item.active .nav-copy em,.nav-item.active .nav-count{color:rgba(255,255,255,.74)}.nav-icon{background:#eef2f7;color:#334155}.nav-item.active .nav-icon{background:rgba(255,255,255,.14);color:#ffffff}.nav-count{background:#e8eef6;color:#334155}.main-workspace{background:#f4f7fb}.class-detail-panel,.class-list-panel,.logic-board,.modal-sheet,.profile-modal,.schedule-setup-page,.self-service-panel,.student-list-card,.students-page,.team-panel,.top-toolbar{border-color:rgba(15,23,42,.08);background:#ffffff;box-shadow:0 12px 30px rgba(15,23,42,.05)}.top-toolbar{-webkit-backdrop-filter:none;backdrop-filter:none}.global-search,.global-search input{background:#f8fafc}.weekday-tabs{gap:7px}.weekday-tabs button{min-height:34px;border:1px solid rgba(148,163,184,.22);background:#eef2f7;color:#334155;font-weight:900}.weekday-tabs button.active{background:#e8f5ee;border-color:rgba(22,101,52,.22);color:#166534;box-shadow:inset 0 0 0 1px rgba(22,101,52,.08)}.weekday-tabs strong{font-size:12px;font-weight:950}.weekday-tabs span{background:#ffffff;color:#2563eb;font-size:11px;font-weight:950}.class-card,.class-item,.class-tile,.roster-row,.schedule-row,.student-index-row{border-color:rgba(15,23,42,.08);background:#ffffff;box-shadow:0 6px 16px rgba(15,23,42,.035)}.class-card:hover,.class-item:hover,.roster-row:hover,.schedule-row:hover,.student-index-row:hover{background:#f8fafc;border-color:rgba(37,99,235,.18)}.class-card.active,.class-item.active,.roster-row.active{background:#eff6ff;border-color:rgba(37,99,235,.28);box-shadow:inset 3px 0 0 #2563eb,0 8px 18px rgba(37,99,235,.07)}.class-tile-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:9px}.class-tile{min-height:72px;padding:9px 10px}.class-tile strong{font-size:13px;line-height:1.18;white-space:normal}.class-tile em{font-size:12px}.mobile-tabs button,.week-tabs button,.weekday-rail button{background:#eef2f7;color:#475569;font-weight:900}.mobile-tabs button.active,.week-tabs button.active,.weekday-rail button.active{background:#102033;color:#ffffff;box-shadow:0 8px 20px rgba(15,23,42,.14)}.add-student-submit,.receive-button,.setup-actions .add-class-button,.term3-enrol-button{background:#102033;box-shadow:0 10px 22px rgba(15,23,42,.12)}.makeup-cell,.payment-cell,.selected-class-metrics button,.selected-class-metrics span{background:#f1f5f9;color:#334155}@media (max-width:900px){.weekday-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}.portal-hero{padding:10px 16px;margin-bottom:8px;border-radius:18px;align-items:center}.portal-hero h1{font-size:20px;margin:2px 0 0}.portal-workspace-title{margin:0 auto 8px;max-width:1180px}.portal-workspace-title span{font-size:11px}.portal-workspace-title strong{font-size:15px}.portal-identity-card{padding:10px 14px;margin-bottom:8px;border-radius:16px}.portal-identity-card strong{font-size:15px}.portal-identity-card em{font-size:12px}.portal-identity-form{grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) auto}.portal-status-strip{margin-bottom:8px}.portal-status-strip span{min-height:46px;padding:7px 12px}.portal-status-strip strong{font-size:17px}.portal-mode-switch{background:#eef2f7}.portal-mode-switch button{color:#475569}.portal-mode-switch button.active{background:#102033;color:#ffffff;box-shadow:0 10px 24px rgba(15,23,42,.16)}.portal-days{grid-template-columns:repeat(7,minmax(96px,1fr));gap:8px}.portal-days button{min-height:46px;padding:0 10px;border:1px solid rgba(148,163,184,.32);background:#ffffff;color:#24406d;box-shadow:0 8px 22px rgba(15,23,42,.05)}.portal-days button span{color:#24406d;font-size:18px;font-weight:800}.portal-days button.active{border-color:#f97316;background:#fff7ed;color:#9a3412;box-shadow:0 10px 24px rgba(249,115,22,.13)}.portal-class-list{gap:10px}.portal-class-list button{min-height:68px;border:1px solid rgba(148,163,184,.3);background:#ffffff;color:#102033;box-shadow:0 10px 26px rgba(15,23,42,.06)}.portal-class-list button.active{border-color:#f97316;background:#fff7ed;color:#102033;box-shadow:0 14px 30px rgba(249,115,22,.16)}.portal-class-list button strong{font-size:17px}.portal-class-list button em{color:#64748b;font-size:13px}.portal-class-location-alert{display:inline-flex;align-items:center;gap:4px;margin-top:5px;color:#dc2626;font-size:12px;font-weight:900}.portal-class-list button b{min-width:36px;height:36px;border-radius:999px;background:#e8f5ee;color:#166534;font-size:16px;font-weight:950}.portal-selected{background:#f8fafc;border-color:rgba(148,163,184,.3)}.portal-selected-list{display:grid;grid-gap:8px;gap:8px;list-style:none;margin:12px 0 0;padding:0}.portal-selected-list li{display:grid;grid-template-columns:86px minmax(0,1fr) 38px auto;grid-gap:10px;gap:10px;align-items:center;border-radius:12px;background:#ffffff;padding:9px 10px}.portal-selected-list em,.portal-selected-list span,.portal-selected-list strong{min-width:0;background:transparent;padding:0;font-size:13px;font-style:normal}.portal-selected-list span{display:block;overflow-wrap:anywhere}.portal-selected-list small{display:inline-flex;align-items:center;gap:4px;margin-top:5px;color:#dc2626;font-size:12px;font-weight:900}.portal-selected-list em{justify-self:end;font-weight:800;color:#0f766e}.portal-selected-remove{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;justify-self:end;border:1px solid #fecaca;border-radius:999px;background:#fee2e2;color:#b91c1c;cursor:pointer;box-shadow:0 8px 18px rgba(185,28,28,.12)}.portal-selected-remove svg{pointer-events:none;stroke-width:3}.portal-selected-remove:focus-visible,.portal-selected-remove:hover{background:#dc2626;color:#ffffff;outline:none}.portal-submit{background:#102033;box-shadow:0 14px 30px rgba(15,23,42,.18)}.portal-submit:not(:disabled):hover{background:#172a40}.portal-submit:disabled{background:#a8b3bd;box-shadow:none}.portal-modal-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:18px;background:rgba(15,23,42,.48)}.portal-result-modal{position:relative;width:min(540px,100%);display:grid;justify-items:center;grid-gap:12px;gap:12px;max-height:calc(100vh - 36px);overflow:auto;padding:26px;border-radius:22px;background:#ffffff;color:#102033;box-shadow:0 30px 80px rgba(15,23,42,.28);text-align:center}.portal-result-modal svg{color:#16a34a}.portal-result-modal>span{color:#64748b;font-size:13px;font-weight:900;text-transform:uppercase}.portal-result-modal h2{margin:0;font-size:clamp(40px,13vw,56px);letter-spacing:0}.portal-result-modal p{margin:0;color:#475569;font-size:16px;line-height:1.45}.portal-modal-close{position:absolute;top:12px;right:12px;width:34px;height:34px;border:1px solid rgba(148,163,184,.3);border-radius:999px;background:#ffffff;color:#102033;font-size:22px;cursor:pointer}.portal-modal-actions,.portal-modal-details{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.portal-modal-details span,.portal-modal-payment-card{display:grid;grid-gap:4px;gap:4px;padding:10px;border-radius:14px;background:#f8fafc;color:#102033;font-size:13px;text-align:left}.portal-modal-details strong,.portal-modal-payment-card strong{color:#64748b;font-size:11px;text-transform:uppercase}.portal-modal-payment-card{width:100%;border:1px solid rgba(18,122,75,.16);background:#ecfdf3}.portal-modal-actions{grid-template-columns:1fr 1fr;margin-top:4px}.portal-modal-actions a,.portal-modal-actions button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:14px;background:#102033;color:#ffffff;font:inherit;font-weight:900;text-decoration:none;cursor:pointer}.portal-modal-actions button{background:#e2e8f0;color:#102033}.portal-rule-note{background:#f8fafc;border-color:rgba(148,163,184,.28);color:#334155}.portal-rule-note small{font-size:.88em;font-weight:700;color:#64748b}.portal-form-grid select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:58px;background-color:#ffffff;background-image:linear-gradient(45deg,transparent 50%,#102033 0),linear-gradient(135deg,#102033 50%,transparent 0),linear-gradient(90deg,rgba(148,163,184,.22),rgba(148,163,184,.22));background-position:calc(100% - 30px) 50%,calc(100% - 21px) 50%,calc(100% - 50px) 50%;background-size:9px 9px,9px 9px,1px 34px;background-repeat:no-repeat}.portal-form-grid select:focus{background-image:linear-gradient(45deg,#102033 50%,transparent 0),linear-gradient(135deg,transparent 50%,#102033 0),linear-gradient(90deg,rgba(22,101,52,.24),rgba(22,101,52,.24))}.portal-card-trust{display:grid;grid-gap:8px;gap:8px;max-width:100%;padding:10px 12px;border:1px solid rgba(15,23,42,.18);border-radius:4px;color:#0f172a;box-shadow:0 8px 18px rgba(15,23,42,.08)}.portal-card-powered,.portal-card-trust{width:-moz-fit-content;width:fit-content;background:#ffffff}.portal-card-powered{display:inline-flex;align-items:center;gap:5px;padding:0 6px;font-weight:700;line-height:1;transform:translateY(3px)}.portal-card-powered span{font-size:11px}.portal-card-powered strong{color:#111827;font-size:22px;letter-spacing:0}.portal-card-logos{display:flex;align-items:stretch;flex-wrap:wrap;gap:7px;padding:8px;border:2px solid #111827;border-radius:6px}.portal-card-logos b{min-width:54px;min-height:30px;display:inline-flex;align-items:center;justify-content:center;padding:3px 6px;border:1px solid rgba(15,23,42,.22);border-radius:4px;text-align:center;font-size:9px;font-weight:900;line-height:1;letter-spacing:0;background:#f8fafc}.portal-card-logos .visa{color:#1d4ed8;box-shadow:inset 0 -5px 0 #f97316}.portal-card-logos .mastercard{color:#ffffff;background:radial-gradient(circle at 38% 50%,#ef4444 0 28%,transparent 29%),radial-gradient(circle at 62% 50%,#f59e0b 0 28%,transparent 29%),#1f2937}.portal-card-logos .apple-pay{color:#111827;background:#ffffff;font-size:11px}.portal-shell{overflow-x:hidden}.portal-hero,.portal-panel,.portal-rule-note,.portal-selected,.portal-status-strip span,.portal-terms,.portal-terms-confirm{-webkit-backdrop-filter:none;backdrop-filter:none}.portal-terms{max-width:1180px;margin:14px auto 0;padding:14px 16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;border:1px solid rgba(148,163,184,.26);border-radius:16px;background:rgba(255,255,255,.82);color:#475569;box-shadow:0 14px 34px rgba(15,23,42,.07)}.portal-terms div{display:grid;grid-gap:5px;gap:5px}.portal-terms strong{color:#102033;font-size:13px}.portal-terms span{font-size:11px;line-height:1.45}.portal-terms-confirm{display:grid;grid-template-columns:18px 1fr;grid-gap:10px;gap:10px;align-items:start;padding:12px 14px;border:1px solid rgba(22,101,52,.22);border-radius:14px;background:rgba(240,253,244,.82);color:#173826;font-size:12px;line-height:1.4}.portal-terms-confirm input{width:18px;height:18px;margin:0;accent-color:#15803d}@media (max-width:760px){.portal-shell{width:100%;padding:max(8px,env(safe-area-inset-top)) 8px max(14px,env(safe-area-inset-bottom));background:#f6f8fb}.portal-hero{position:static;display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px;width:100%;padding:10px 12px;border-radius:18px;background:#ffffff;box-shadow:0 8px 24px rgba(15,23,42,.05)}.portal-brand-lockup{min-width:0}.portal-brand-mark{width:34px;height:34px;border-radius:10px;background:#ffffff;box-shadow:none}.portal-hero p{font-size:10px;line-height:1.15}.portal-hero h1{font-size:18px;line-height:1.1}.portal-term-pill{min-height:34px;padding:0 12px;border-radius:999px;font-size:12px;box-shadow:none}.portal-hero-actions{display:flex;width:100%;align-items:center;justify-content:flex-start;gap:8px;margin-left:0}.portal-hero a{display:none}.portal-hero a.portal-trial-link{display:inline-flex;width:auto;min-height:34px;padding:0 12px;font-size:13px}.portal-workspace-title{padding:0 2px;margin:8px auto}.portal-status-strip,.portal-workspace-title strong{display:none}.portal-grid{gap:10px;width:100%}.portal-panel{width:100%;padding:12px;border-radius:18px;background:#ffffff;box-shadow:0 8px 24px rgba(15,23,42,.05)}.portal-panel-title strong{font-size:13px}.portal-mode-switch{position:static;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;background:#eef2f6}.portal-mode-switch button{min-height:40px;font-size:12px}.portal-days{grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:visible;grid-gap:8px;gap:8px;padding:0}.portal-days button{min-width:0;min-height:38px;border-radius:14px}.portal-days button span{font-size:15px;font-weight:920}.portal-days button.active span{font-weight:950}.portal-class-list{max-height:none;overflow:visible}.portal-class-list button{min-height:60px;border-radius:14px;box-shadow:none}.portal-class-list button strong{font-size:18px}.portal-class-list button em{font-size:14px}.portal-class-list button.active b{min-width:40px;height:40px;font-size:19px;border:2px solid rgba(22,101,52,.18)}.portal-selected{padding:12px;border-radius:16px;background:#f8fafc;box-shadow:none}.portal-selected h2{font-size:20px;word-break:break-word}.portal-selected div{display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px}.portal-form-grid,.portal-identity-form{grid-template-columns:1fr}.portal-form-grid input,.portal-form-grid select,.portal-inline-button,.portal-submit{min-height:50px;border-radius:14px;font-size:16px}.portal-modal-actions,.portal-modal-details{grid-template-columns:1fr}.portal-rule-note{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:14px;background:#f8fafc;overflow-wrap:anywhere}.portal-rule-note span{min-width:0;font-size:13px;line-height:1.35}.portal-rule-note small{display:inline;white-space:nowrap}.portal-card-trust{width:100%;padding:8px;box-shadow:none}.portal-card-powered strong{font-size:18px}.portal-card-logos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:6px;gap:6px;padding:7px}.portal-card-logos b{min-width:0;min-height:28px;padding:3px 4px;font-size:8px}.portal-terms-confirm{grid-template-columns:20px 1fr;padding:10px 12px;border-radius:14px;background:#f8fafc;font-size:12px}.portal-submit,.portal-terms{box-shadow:none}.portal-terms{grid-template-columns:1fr;margin-top:10px;padding:12px;border-radius:16px;background:#ffffff}}@media (max-width:420px){.portal-term-pill{max-width:110px;white-space:normal;line-height:1.1}.portal-days{grid-template-columns:1fr}}.holiday-admin-shell,.holiday-shell{min-height:100vh;background:#f6f8fb;color:#102033;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.holiday-error-page{min-height:100vh;display:grid;place-items:center;padding:22px;background:#f6f8fb;color:#102033}.holiday-error-page section{width:min(520px,100%);display:grid;grid-gap:12px;gap:12px;padding:24px;border:1px solid rgba(148,163,184,.28);border-radius:14px;background:#ffffff;box-shadow:0 18px 44px rgba(15,23,42,.08)}.holiday-error-page span{color:#64748b;font-size:12px;font-weight:900;text-transform:uppercase}.holiday-error-page h1{margin:0;font-size:26px}.holiday-error-page p{margin:0;color:#64748b;line-height:1.45}.holiday-error-page button{width:-moz-fit-content;width:fit-content;min-height:42px;padding:0 16px;border:0;border-radius:8px;background:#102033;color:#ffffff;font-weight:900;cursor:pointer}.holiday-admin-shell,.holiday-shell{padding:14px}.holiday-admin-shell.embedded{min-height:auto;padding:0;background:transparent}.holiday-brand-mark{width:78px;height:auto}.holiday-admin-actions,.holiday-admin-filters,.holiday-admin-switch,.holiday-selected div{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.holiday-admin-actions a,.holiday-admin-actions button,.holiday-admin-filters a,.holiday-admin-switch button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;border:1px solid rgba(15,32,51,.14);border-radius:6px;background:#ffffff;color:#102033;font-weight:850;text-decoration:none;cursor:pointer}.holiday-admin-filters{max-width:1280px;margin:0 auto 14px;padding:14px 16px;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:#ffffff;box-shadow:0 14px 36px rgba(15,23,42,.06)}.holiday-admin-filters .holiday-admin-switch{gap:8px}.holiday-admin-switch button.active{border-color:rgba(37,99,235,.55);background:#eff6ff;color:#1d4ed8;box-shadow:inset 0 0 0 1px rgba(37,99,235,.18)}.holiday-admin-editor{max-width:1280px;display:grid;grid-gap:12px;gap:12px;margin:0 auto 14px;padding:16px;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:#ffffff;box-shadow:0 14px 36px rgba(15,23,42,.06)}.holiday-topbar{max-width:1320px;min-height:74px;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;grid-gap:14px;gap:14px;margin:0 auto 12px;padding:10px 14px;border:1px solid rgba(148,163,184,.2);border-radius:14px;background:#ffffff;box-shadow:0 10px 28px rgba(15,23,42,.05)}.holiday-topbar-brand{display:flex;align-items:center;gap:10px}.holiday-topbar-brand span{color:#64748b;font-size:11px;font-weight:850}.holiday-topbar-brand strong{display:block;color:#102033;font-size:22px;font-weight:950}.holiday-topbar-dates{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.holiday-topbar-dates span{padding:7px 10px;border-radius:999px;background:#f8fafc;color:#334155;font-size:12px;font-weight:850}.holiday-poster-thumb{width:78px;height:56px;object-fit:cover;object-position:center 18%;border-radius:10px;border:1px solid rgba(148,163,184,.28)}.holiday-topbar a{min-height:36px;display:inline-flex;align-items:center;padding:0 12px;border:1px solid rgba(148,163,184,.32);border-radius:6px;color:#102033;text-decoration:none;font-weight:850}.holiday-workspace{max-width:1320px;display:grid;grid-template-columns:minmax(520px,.92fr) minmax(440px,.58fr);grid-gap:16px;gap:16px;margin:0 auto}.holiday-admin-actions,.holiday-admin-header,.holiday-admin-stats,.holiday-admin-table,.holiday-booking-panel,.holiday-schedule-panel{border:1px solid rgba(148,163,184,.28);border-radius:18px;background:#ffffff;box-shadow:0 12px 34px rgba(15,23,42,.055)}.holiday-booking-panel,.holiday-schedule-panel{display:grid;grid-gap:14px;gap:14px;align-content:start;padding:14px}.holiday-booking-panel{position:-webkit-sticky;position:sticky;top:12px}.holiday-admin-header,.holiday-panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.holiday-admin-header span,.holiday-panel-title span{color:#64748b;font-size:12px;font-weight:850;text-transform:uppercase}.holiday-panel-title strong{font-size:18px}.holiday-camp-quick-info{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.holiday-camp-quick-info span{min-height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#ecfdf3;color:#047857;font-size:12px;font-weight:900}.holiday-class-grid,.holiday-date-tabs,.holiday-form-grid,.holiday-package-levels,.holiday-package-weeks,.holiday-payment-methods,.holiday-week-switch{display:grid;grid-gap:10px;gap:10px}.holiday-week-switch{grid-template-columns:1fr 1fr}.holiday-package-weeks{grid-template-columns:repeat(2,minmax(0,1fr))}.holiday-package-levels{grid-template-columns:repeat(3,minmax(0,1fr))}.holiday-class-grid button,.holiday-date-tabs button,.holiday-package-levels button,.holiday-package-weeks button,.holiday-week-switch button{min-height:64px;border:1px solid rgba(148,163,184,.32);border-radius:16px;background:#ffffff;color:#102033;cursor:pointer;text-align:left}.holiday-date-tabs button,.holiday-week-switch button{display:grid;grid-gap:3px;gap:3px;padding:10px 12px}.holiday-class-grid button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:82px;padding:13px 14px;box-shadow:0 8px 22px rgba(15,23,42,.035)}.holiday-package-levels button,.holiday-package-weeks button{align-items:center;background:#fff7ed;border-color:rgba(249,115,22,.28);display:flex;gap:12px;justify-content:space-between;min-height:94px;padding:12px;box-shadow:0 10px 24px rgba(249,115,22,.08)}.holiday-package-levels button{min-height:92px}.holiday-class-grid button span,.holiday-package-levels button span,.holiday-package-weeks button span{display:grid;grid-gap:5px;gap:5px}.holiday-package-levels button strong,.holiday-package-weeks button strong{color:#c2410c;font-size:17px;line-height:1.05}.holiday-package-levels button strong{color:#102033;font-size:17px}.holiday-package-levels button em,.holiday-package-weeks button em{color:#102033;font-size:13px;font-style:normal;font-weight:900}.holiday-package-levels button small,.holiday-package-weeks button small{color:#64748b;font-size:11px;font-weight:800}.holiday-package-levels button b,.holiday-package-weeks button b{min-width:74px;min-height:36px;border-radius:999px;background:#fed7aa;color:#9a3412;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:950}.holiday-subtitle{align-items:flex-end;display:flex;justify-content:space-between;gap:10px}.holiday-subtitle strong{color:#102033;font-size:15px;font-weight:950}.holiday-subtitle span{color:#64748b;font-size:12px;font-weight:800;text-align:right}.holiday-subtitle .holiday-price-note{background:#ecfdf3;border:1px solid rgba(16,185,129,.26);border-radius:999px;color:#047857;font-size:.95rem;font-weight:950;padding:7px 12px}.holiday-subtitle.single-day{border-top:1px solid rgba(148,163,184,.22);margin-top:4px;padding-top:10px}.holiday-class-grid button strong{font-size:19px;line-height:1}.holiday-class-grid button em{color:#64748b;font-size:14px;font-style:normal;font-weight:850}.holiday-class-grid button small{color:#94a3b8;font-size:12px;font-weight:750}.holiday-class-grid button b{min-width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#e8f5ee;color:#166534;font-size:16px;font-weight:950}.holiday-booking-stats em,.holiday-capacity-input em,.holiday-date-tabs em,.holiday-date-tabs span,.holiday-result span,.holiday-selected span,.holiday-week-switch span{color:#64748b;font-size:12px;font-style:normal}.holiday-week-switch button.active{border-color:#2563eb;background:#eff6ff;box-shadow:0 12px 26px rgba(37,99,235,.12)}.holiday-date-tabs button.active{border-color:#f97316;background:#ecfdf3;box-shadow:0 12px 26px rgba(249,115,22,.16)}.holiday-class-grid button.active{border-color:#f97316;background:#f0fdf4;box-shadow:0 12px 26px rgba(249,115,22,.16)}.holiday-package-levels button.active,.holiday-package-weeks button.active,.holiday-package-weeks button.picked{border-color:#f97316;background:#ffedd5;box-shadow:0 14px 30px rgba(249,115,22,.18)}.holiday-package-levels button.active b,.holiday-package-weeks button.active b,.holiday-package-weeks button.picked b{background:#ea580c;color:#ffffff}.holiday-package-levels button.full{cursor:not-allowed;opacity:.56}.holiday-date-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}.holiday-date-tabs button strong{font-size:16px}.holiday-date-tabs button span{color:#102033;font-size:14px;font-weight:900}.holiday-class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.holiday-action-feedback,.holiday-admin-message,.holiday-policy-note,.holiday-result,.holiday-selected,.holiday-terms-confirm{display:grid;grid-gap:8px;gap:8px;padding:12px 14px;border:1px solid rgba(148,163,184,.24);border-radius:16px;background:#f8fafc}.holiday-action-feedback{border-color:rgba(22,101,52,.22);background:#f0fdf4;color:#166534;font-size:13px;font-weight:850}.holiday-selected h2{margin:0;font-size:26px;line-height:1.1}.holiday-selected-list{display:grid!important;grid-gap:5px!important;gap:5px!important}.holiday-selected-list em{color:#64748b;font-size:12px;font-style:normal;font-weight:750}.holiday-selected-list strong{color:#0f172a;font-size:13px;line-height:1.25;overflow-wrap:anywhere}.holiday-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.holiday-admin-row input,.holiday-admin-row select,.holiday-form-grid input{min-height:44px;width:100%;border:1px solid rgba(148,163,184,.34);border-radius:10px;padding:0 10px;background:#ffffff;color:#102033;font:inherit;font-size:14px;font-weight:800}.holiday-payment-methods{grid-template-columns:repeat(3,minmax(0,1fr))}.holiday-form-grid input{min-height:54px;border-radius:16px;padding:0 16px;font-size:inherit;font-weight:700}.holiday-payment-methods button{min-height:52px;border:1px solid rgba(148,163,184,.34);border-radius:16px;background:#ffffff;color:#102033;font:inherit;font-weight:900;cursor:pointer}.holiday-payment-methods button.active{border-color:#10b981;background:#ecfdf3;color:#047857;box-shadow:0 10px 22px rgba(16,185,129,.12)}.holiday-policy-note,.holiday-terms-confirm{grid-template-columns:auto 1fr;align-items:center}.holiday-terms-confirm{cursor:pointer}.holiday-terms-confirm input{width:24px;height:24px;margin:2px 0 0;accent-color:#2563eb;cursor:pointer}.holiday-policy-note small{color:#64748b;font-size:.86em;font-weight:800}.holiday-card-trust{display:grid;grid-gap:8px;gap:8px;max-width:100%;padding:10px 12px;border:1px solid rgba(15,23,42,.18);border-radius:8px;color:#0f172a;box-shadow:0 8px 18px rgba(15,23,42,.08)}.holiday-card-powered,.holiday-card-trust{width:-moz-fit-content;width:fit-content;background:#ffffff}.holiday-card-powered{display:inline-flex;align-items:center;gap:5px;padding:0 6px;font-weight:700;line-height:1;transform:translateY(3px)}.holiday-card-powered span{color:#102033;font-size:11px}.holiday-card-powered strong{color:#111827;font-size:22px;letter-spacing:0}.holiday-card-logos{display:flex;align-items:stretch;flex-wrap:wrap;gap:7px;padding:8px;border:2px solid #111827;border-radius:8px}.holiday-card-logos b{min-width:54px;min-height:30px;display:inline-flex;align-items:center;justify-content:center;padding:3px 6px;border:1px solid rgba(15,23,42,.22);border-radius:5px;text-align:center;font-size:9px;font-weight:900;line-height:1;letter-spacing:0;background:#f8fafc}.holiday-card-logos .visa{color:#1d4ed8;box-shadow:inset 0 -5px 0 #f97316}.holiday-card-logos .mastercard{color:#ffffff;background:radial-gradient(circle at 38% 50%,#ef4444 0 28%,transparent 29%),radial-gradient(circle at 62% 50%,#f59e0b 0 28%,transparent 29%),#1f2937}.holiday-card-logos .apple-pay{color:#111827;background:#ffffff;font-size:11px}.holiday-modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:18px;background:rgba(15,23,42,.42)}.holiday-result-modal{position:relative;width:min(520px,100%);display:grid;justify-items:center;grid-gap:12px;gap:12px;padding:26px;border-radius:22px;background:#ffffff;color:#102033;box-shadow:0 30px 80px rgba(15,23,42,.28);text-align:center}.holiday-result-modal svg{color:#16a34a}.holiday-result-modal span{color:#64748b;font-size:13px;font-weight:900;text-transform:uppercase}.holiday-result-modal h2{margin:0;font-size:56px;letter-spacing:0}.holiday-result-modal p{margin:0;color:#475569;font-size:16px;line-height:1.45}.holiday-modal-close{position:absolute;top:12px;right:12px;width:34px;height:34px;border:1px solid rgba(148,163,184,.3);border-radius:999px;background:#ffffff;color:#102033;font-size:22px;cursor:pointer}.holiday-modal-details{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.holiday-modal-details span{display:grid;grid-gap:4px;gap:4px;padding:10px;border-radius:14px;background:#f8fafc;color:#102033;font-size:13px;text-transform:none}.holiday-modal-details strong{color:#64748b;font-size:11px;text-transform:uppercase}.holiday-modal-payment-card{width:100%;display:grid;grid-gap:4px;gap:4px;padding:12px;border:1px solid rgba(18,122,75,.16);border-radius:14px;background:#ecfdf3;color:#102033;font-size:13px;text-align:left}.holiday-modal-payment-card strong{color:#64748b;font-size:11px;text-transform:uppercase}.holiday-modal-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-top:4px}.holiday-modal-actions a,.holiday-modal-actions button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:14px;background:#102033;color:#ffffff;font:inherit;font-weight:900;text-decoration:none;cursor:pointer}.holiday-modal-actions button{background:#e2e8f0;color:#102033}.holiday-policy-note.warning,.holiday-result.warning{border-color:rgba(220,38,38,.28);background:#fff1f2;color:#9f1239}.holiday-result.warning.top{border-color:rgba(190,18,60,.32);background:#fff1f2}.holiday-submit{min-height:58px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:16px;background:#102033;color:#ffffff;font-weight:900;cursor:pointer}.holiday-submit:disabled{cursor:not-allowed;background:#94a3b8}.holiday-admin-actions button[aria-busy=true],.holiday-submit[aria-busy=true]{opacity:.82}.holiday-admin-actions,.holiday-admin-header,.holiday-admin-stats,.holiday-admin-table,.holiday-camp-manager{max-width:1280px;margin:0 auto 14px;padding:16px}.holiday-admin-editor .holiday-admin-actions,.holiday-admin-editor .holiday-admin-table,.holiday-admin-editor .holiday-camp-manager{max-width:none;margin:0;box-shadow:none}.holiday-admin-editor .holiday-admin-actions{justify-content:flex-end}.holiday-camp-manager{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:10px;gap:10px;background:#ffffff;box-shadow:0 14px 36px rgba(15,23,42,.06)}.holiday-camp-manager,.holiday-camp-manager button{display:grid;border:1px solid rgba(148,163,184,.28);border-radius:8px}.holiday-camp-manager button{min-height:92px;grid-gap:5px;gap:5px;padding:14px;background:#f8fafc;color:#102033;text-align:left;cursor:pointer}.holiday-camp-manager button.active{border-color:#2563eb;background:#eff6ff}.holiday-camp-manager strong{font-size:16px;font-weight:950}.holiday-camp-manager em,.holiday-camp-manager span{color:#64748b;font-size:12px;font-style:normal;font-weight:800}.holiday-admin-bookings{grid-gap:8px;gap:8px}.holiday-admin-bookings,.holiday-day-roster{max-width:1280px;display:grid;margin:0 auto 14px;padding:16px;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:#ffffff;box-shadow:0 14px 36px rgba(15,23,42,.06)}.holiday-day-roster{grid-gap:12px;gap:12px}.holiday-admin-bookings-title button{min-height:36px;border:0;border-radius:8px;background:#102033;color:#ffffff;font-weight:900;cursor:pointer}.holiday-admin-bookings-title button:disabled{background:#94a3b8;cursor:not-allowed}.holiday-day-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:8px;gap:8px}.holiday-day-summary-grid button{min-height:76px;display:grid;grid-gap:3px;gap:3px;padding:10px;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:#f8fafc;color:#102033;text-align:left;cursor:pointer}.holiday-day-summary-grid button.active{border-color:#2563eb;background:#eff6ff}.holiday-day-summary-grid em,.holiday-day-summary-grid span{color:#64748b;font-size:12px;font-style:normal}.holiday-print-roster{display:none}.holiday-print-roster table{width:100%;border-collapse:collapse}.holiday-print-roster td,.holiday-print-roster th{border:1px solid #111827;padding:8px;text-align:left}.holiday-admin-booking-row,.holiday-admin-bookings-title{display:grid;grid-template-columns:minmax(180px,.85fr) minmax(260px,1.15fr) 126px minmax(420px,1.25fr);grid-gap:8px;gap:8px;align-items:center}.holiday-admin-bookings-title span{color:#64748b;font-size:12px;font-weight:900;text-transform:uppercase}.holiday-admin-bookings-title strong{grid-column:2/-1;font-size:18px}.holiday-admin-booking-row{padding:8px;border:1px solid rgba(148,163,184,.18);border-radius:8px;background:#f8fafc}.holiday-booking-date-group{display:grid;grid-gap:8px;gap:8px}.holiday-booking-date-group h3{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0 0;padding:10px 12px;border-radius:8px;background:#eff6ff;color:#102033;font-size:15px}.holiday-booking-date-group h3 span{color:#64748b;font-size:12px}.holiday-admin-booking-row span,.holiday-booking-person{display:grid;grid-gap:3px;gap:3px}.holiday-booking-person{border:0;background:transparent;color:inherit;padding:0;text-align:left;cursor:pointer}.holiday-booking-person:hover strong{color:#2563eb}.holiday-admin-booking-row strong{color:#102033}.holiday-admin-booking-row em,.holiday-admin-empty{color:#64748b;font-size:12px;font-style:normal}.holiday-admin-booking-row .paid,.holiday-admin-booking-row .paid strong{color:#166534}.holiday-admin-booking-row .due,.holiday-admin-booking-row .due strong{color:#be123c;font-weight:900}.holiday-admin-booking-row .due strong:first-letter{text-transform:uppercase}.holiday-booking-control{display:grid;grid-template-columns:minmax(120px,1fr) 78px 96px 106px 70px 78px;grid-gap:6px;gap:6px;align-items:center;min-width:0;padding:6px;border-radius:12px;background:#eef2f7}.holiday-booking-control a,.holiday-booking-control button,.holiday-booking-control input,.holiday-booking-control select,.holiday-payment-method-pill{min-height:38px;width:100%;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:#ffffff;color:#102033;font:inherit;font-size:13px;font-weight:900}.holiday-payment-method-pill{display:inline-flex;align-items:center;justify-content:center;border-color:rgba(18,122,75,.22);background:#dcf7e7;color:#127a4b}.holiday-booking-control a,.holiday-booking-control button{display:inline-flex;align-items:center;justify-content:center;padding:0 10px;text-decoration:none;cursor:pointer}.holiday-booking-control input,.holiday-booking-control select{min-width:0;padding:0 8px}.holiday-booking-control a[aria-disabled=true]{pointer-events:none;opacity:.48}.holiday-booking-control .delete-action{border-color:rgba(190,18,60,.18);background:#fff1f2;color:#be123c}@media (max-width:1240px){.holiday-admin-booking-row,.holiday-admin-bookings-title{grid-template-columns:minmax(180px,.9fr) minmax(260px,1.1fr) 126px}.holiday-booking-control{grid-column:1/-1;grid-template-columns:minmax(130px,1fr) 90px 110px 112px 76px 84px}}.holiday-booking-control select:not(:disabled):first-of-type{background:#ffffff;color:#334155}.holiday-admin-header h1{margin:4px 0;font-size:34px}.holiday-admin-header p{margin:0;color:#64748b}.holiday-publish-state{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#f1f5f9;color:#475569;font-weight:900}.holiday-publish-state.live{background:#dcfce7;color:#166534}.holiday-admin-actions .primary{background:#102033;color:#ffffff}.holiday-admin-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:10px;gap:10px}.holiday-admin-stats span{display:grid;grid-gap:3px;gap:3px;padding:10px;border-radius:6px;background:#f8fafc}.holiday-admin-stats strong{font-size:24px}.holiday-admin-stats em{color:#64748b;font-size:12px;font-style:normal;font-weight:800}.holiday-admin-row{display:grid;grid-template-columns:138px minmax(220px,1.1fr) 128px minmax(160px,.8fr) 66px 70px 82px 126px 86px 102px;grid-gap:8px;gap:8px;align-items:center;min-width:1220px;padding:8px 0;border-bottom:1px solid rgba(148,163,184,.18)}.holiday-admin-table{overflow-x:auto}.holiday-date-edit{display:grid;grid-gap:2px;gap:2px}.holiday-date-edit input{font-size:13px;padding:0 8px}.holiday-date-edit em{color:#64748b;font-size:12px;font-style:normal;font-weight:800}.holiday-session-copy{min-height:40px;border:1px solid rgba(37,99,235,.22);border-radius:8px;background:#eff6ff;color:#1d4ed8;font-size:13px;font-weight:900;cursor:pointer}.holiday-admin-row.heading{color:#64748b;font-size:12px;font-weight:900;text-transform:uppercase}.holiday-admin-row strong,.holiday-booking-stats,.holiday-capacity-input{display:grid;grid-gap:3px;gap:3px}.holiday-age-inputs{display:grid;grid-template-columns:1fr 1fr;grid-gap:4px;gap:4px}.holiday-booking-stats b{font-size:18px}.holiday-admin-row>input,.holiday-admin-row>select,.holiday-admin-row>span{min-width:0}.holiday-admin-row>input{text-overflow:ellipsis}.holiday-booking-stats em,.holiday-capacity-input em{color:#64748b;font-size:11px;line-height:1.2;font-style:normal}@media (max-width:900px){.holiday-shell{padding:10px;background:#ffffff}.holiday-topbar,.holiday-workspace{grid-template-columns:1fr}.holiday-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:5;gap:8px;padding:9px 10px;border-radius:0 0 18px 18px;margin:-10px -10px 10px;border-top:0}.holiday-brand-mark{width:58px}.holiday-topbar-brand strong{font-size:18px}.holiday-topbar a,.holiday-topbar-brand span{display:none}.holiday-topbar-dates{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.holiday-topbar-dates span{white-space:nowrap}.holiday-poster-thumb{display:none}.holiday-workspace{gap:10px}.holiday-booking-panel,.holiday-schedule-panel{border-radius:20px;padding:12px;box-shadow:none}.holiday-booking-panel{position:static}.holiday-admin-stats{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px}.holiday-date-tabs{display:grid;grid-gap:6px;gap:6px;grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible;padding-bottom:0}.holiday-date-tabs button{min-height:72px;min-width:0;padding:8px 6px}.holiday-date-tabs button strong{font-size:1rem}.holiday-date-tabs button em,.holiday-date-tabs button span{font-size:.68rem}.holiday-package-levels,.holiday-package-weeks{grid-template-columns:1fr}.holiday-subtitle{align-items:start;display:grid}.holiday-subtitle span{text-align:left}.holiday-class-grid{grid-template-columns:1fr}.holiday-class-grid button{min-height:104px;padding:16px}.holiday-class-grid button strong{font-size:21px}.holiday-admin-row,.holiday-admin-row.heading,.holiday-form-grid,.holiday-payment-methods{grid-template-columns:1fr}.holiday-camp-quick-info{grid-template-columns:repeat(2,minmax(0,1fr))}.holiday-selected h2{font-size:24px}.holiday-policy-note,.holiday-terms-confirm{align-items:flex-start}.holiday-card-trust{width:100%}.holiday-card-logos{justify-content:space-between}.holiday-result-modal{padding:22px 16px}.holiday-result-modal h2{font-size:44px}.holiday-modal-actions,.holiday-modal-details{grid-template-columns:1fr}}@media print{body *{visibility:hidden}.holiday-print-roster,.holiday-print-roster *{visibility:visible}.holiday-print-roster{position:fixed;inset:0;display:block;padding:18px;background:#ffffff;color:#000000}}