/* WeBeyt 2.8.4. Shared visual layer; layout and operational status colours stay in their modules. */
@font-face{font-family:WeBeytJakarta;src:url('/fonts/PlusJakartaSans-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:WeBeytJakarta;src:url('/fonts/PlusJakartaSans-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
:root{--wb-orange:#e36a3c;--wb-orange-dark:#b8461b;--wb-orange-light:#fff0e8;--wb-ink:#1d2b34;--wb-muted:#63717b;--wb-page:#f9f5f6;--wb-line:#e7dfdc;--wb-surface:#fff;--wb-shadow:0 5px 24px #1d2b3409;font-family:WeBeytJakarta,system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--wb-ink);background:var(--wb-page)}
body{background:var(--wb-page);color:var(--wb-ink)}
button,input,select,textarea{font-family:inherit}
h1,h2,h3{color:var(--wb-ink);letter-spacing:-.025em}
input,select,textarea{border-color:#d6cecb;color:var(--wb-ink);background:#fff}
input:focus,select:focus,textarea:focus{outline:2px solid var(--wb-orange-dark);outline-offset:2px;border-color:var(--wb-orange)}
input[type=checkbox],input[type=radio]{accent-color:var(--wb-orange-dark)}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--wb-orange-dark);outline-offset:3px}
button,.button,.btn{border-radius:10px;color:var(--wb-ink);border-color:#d8ceca}
button:hover:not(:disabled),.button:hover,.btn:hover:not(:disabled){border-color:var(--wb-orange)}
a{color:var(--wb-orange-dark)}
.card,.panel,section.panel,.booking-row,.registration-box,.event-card{border-color:var(--wb-line);box-shadow:var(--wb-shadow);border-radius:14px;background:var(--wb-surface)}
.muted,.subtle,.field-hint,.event-description,.events-intro p,.recurrence-text{color:var(--wb-muted)}
.eyebrow,.category-label{color:var(--wb-orange-dark)}
.brand,.home-brand h1,.guest-shell .brand{color:var(--wb-ink)!important}
.brand span,.guest-shell .brand span{color:var(--wb-orange-dark)}
.btn.green,.btn.dark,.tile.primary,button.primary,.button.primary,.main-button{background:var(--wb-orange);border-color:var(--wb-orange);color:var(--wb-ink);font-weight:700;box-shadow:0 3px 9px #e36a3c18}
.tile.primary small{color:var(--wb-ink)}
.btn.green:hover:not(:disabled),button.primary:hover:not(:disabled),.button.primary:hover,.main-button:hover:not(:disabled){background:#eb7a50;border-color:#eb7a50}
.btn.red,button.danger,.button.danger{color:#a22b25;border-color:#e5b5ae;background:#fff1ef}
button.active:not(.navbtn),.filters button.active,.tool-tabs .active,.stepnav .active,.settingsnav .active{background:var(--wb-orange-light);border-color:var(--wb-orange);color:var(--wb-orange-dark)}
.sidebar{background:var(--wb-ink);color:#fff}
.sidebar .brand{color:#fff!important}.sidebar .brand span{color:#ffb99c}
.navbtn{color:#e3e9ec;border:0;border-radius:10px}
.navbtn.active,.navbtn:hover{background:#34434d;color:#fff;box-shadow:inset 3px 0 var(--wb-orange)}
.sidefoot{border-color:#4c5a64;color:#cbd5db}
.bottomnav{background:#fff;border-color:var(--wb-line);box-shadow:0 -4px 18px #1d2b3408}
.bottomnav button{color:var(--wb-muted)}
.bottomnav button.active{color:var(--wb-orange-dark);background:var(--wb-orange-light)}
.more-menu,.more-shade .more-menu{background:#fff;border-color:var(--wb-line)}
.more-link.active{background:var(--wb-orange-light);color:var(--wb-orange-dark)}
.settingsnav,.wizard-controls,.booking-wizard-actions{background:var(--wb-page)}
.home-main-actions .symbol{background:var(--wb-orange-light)}
.home-main-actions .tile.primary .symbol{background:#ffffff50}
.home-brand p{color:var(--wb-muted)}
.tile,.tablebtn,.take-product,.guest-product,.space{color:var(--wb-ink);border-color:var(--wb-line)}
.tile:hover,.tablebtn:hover,.product:hover,.take-product:hover,.guest-product:hover{border-color:var(--wb-orange);box-shadow:0 4px 16px #e36a3c12}
.take-types button.active,.take-cats button.active,.take-tabs button.active,.category-tabs button.active,.space.selected{background:var(--wb-orange-light);border-color:var(--wb-orange);color:var(--wb-orange-dark)}
.take-order,.guest-cart{border-color:#e2c0af}
.take-product:active,.guest-product:active{background:#fff6f0}
.guest-product span,.guest-product small,.guest-intro p{color:var(--wb-orange-dark)}
.guest-head{border-color:var(--wb-line)}
.guest-shell .category{color:var(--wb-ink)}
.view-take .send-dock.take-send{background:var(--wb-orange);color:var(--wb-ink)}
.view-take .send-dock.take-send .btn{color:var(--wb-ink)}
.wizard-controls,.booking-wizard-controls{border-color:var(--wb-line)}
.calendar-head,.sectionheading{color:var(--wb-ink)}
/* Shared public events, enrolment and parent area. */
body[data-mode]{--green:var(--wb-orange-dark);--light:var(--wb-orange-light);--ink:var(--wb-ink)}
body[data-mode] header{border-color:var(--wb-line)}
body[data-mode] header nav a{color:var(--wb-ink);font-weight:700}
body[data-mode] header nav a:hover{color:var(--wb-orange-dark)}
.event-card{border-radius:14px}
.image-placeholder{background:linear-gradient(135deg,#f7ded0,#fff2ea);color:var(--wb-orange-dark)}
.image-price{background:#fff;color:var(--wb-ink)}
.category-label{background:var(--wb-orange-light);border-radius:5px;padding:4px 8px;display:inline-block}
.event-meta svg,.event-facts svg,.registration-date svg,.poster-link svg{color:var(--wb-orange-dark)}
.event-meta small,.event-meta p,.event-facts p{color:var(--wb-muted)}
.event-facts,.contact-section,.confirmation-ticket .ticket-facts{border-color:var(--wb-line)}
.registration-choice input:checked+span,.weekdays input:checked+span{background:var(--wb-orange-light);border-color:var(--wb-orange);color:var(--wb-orange-dark)}
.registration-date,.person,.summarybox,.confirmation-ticket,.receipt,.eligibility{background:#fff7f1;border-color:#ecd3c6;color:var(--wb-ink)}
.registration-total,.price-text,.metric{color:var(--wb-ink)}
.registration-box h2,.confirmation-page h1{color:var(--wb-ink)}
.mobile-register-bar{background:#f9f5f6f5;border-color:var(--wb-line)}
footer,.app-footer{color:#6f7b82;border-color:var(--wb-line)}
#notice,#message,#toast{background:var(--wb-ink);color:#fff}
/* Customer room booking. */
#public-booking header small,#public-booking p{color:var(--wb-muted)}
#public-booking .switch,#public-booking .top-actions button{color:var(--wb-orange-dark)}
#public-booking .space.selected{background:var(--wb-orange-light);border-color:var(--wb-orange)}
/* Status colours keep their operational meaning, independent of branding. */
.shift-card.running{background:#e7f8e9;border-color:#43aa62}.shift-card.running h2{color:#105d35}
.shift-card.running .btn{background:#187344;border-color:#187344;color:#fff}
.availability:not(.few):not(.full){background:#edf6ee;color:#226139}
.availability.few{background:#fff0ed;color:#a02d24}.availability.full{background:#f2eeec;color:#70625d}
.public-screen{background:#113e2c;color:#fff}.public-screen h1,.public-screen h2,.public-screen h3{color:inherit}
.public-screen .public-header{border-color:#79b78b}.public-screen .brand{color:#fff!important}
.public-screen .btn{background:#fff;color:#1d2b34;box-shadow:none}
.kitchen-flash{background:rgba(210,40,35,.68)}
@media(prefers-reduced-motion:no-preference){button,.button,.btn,.event-card{transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}}
@media print{body{background:#fff}a{color:var(--wb-ink)}.card,.panel{box-shadow:none}}
body{font-family:WeBeytJakarta,system-ui,-apple-system,'Segoe UI',sans-serif}
.take-kinds button.active{background:var(--wb-orange);border-color:var(--wb-orange);color:var(--wb-ink)}
.take-kinds button:not(.active){background:#fff;color:var(--wb-ink);border-color:var(--wb-line)}
.take-cart-mini{background:#fff7f1;border-color:#ead5c9}.take-cart-lines span{background:#ffede2;color:var(--wb-ink)}
.menu-group{border-color:var(--wb-line)}.menu-group>strong{color:var(--wb-muted)}
.guest-head .pill{background:var(--wb-orange-light);color:var(--wb-orange-dark)}
.booking-wizard-controls,.planning-head p{color:var(--wb-muted)}
/* 2.8.4: legibility, mobile course booking and recurrence controls. */
[hidden]{display:none!important}
.image-price{background:#fff!important;color:#1d2b34!important;border:2px solid #e36a3c!important;box-shadow:0 3px 12px #0003;font-weight:800;padding:9px 14px!important;border-radius:999px}
.price-text{display:inline-block;background:#fff3e9;border:1px solid #e36a3c;border-radius:999px;padding:8px 14px;font-weight:800;color:#81371c}
.take-table{background:#fff0e8!important;color:#943f20!important;border:1px solid #edb39d}
.course-rule,.package-total{background:#fff3e9;padding:16px;border-radius:12px}.package-total{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.course-context{color:#52606a;line-height:1.6}
.grade-choices{display:flex;gap:8px;flex-wrap:wrap}.grade-choices label{background:#f6f2ef;padding:8px;border-radius:8px}
.editable-date{display:grid;grid-template-columns:110px minmax(160px,1fr) minmax(150px,1fr);align-items:center;gap:12px;border-bottom:1px solid #e5ddd7;padding:10px 0}.editable-date label{margin:0}.date-clash{background:#fff0ee;padding:12px;border-radius:8px;color:#a12620}
.child-package,.parent-registration{border:1px solid #e5ddd7;border-radius:12px;padding:14px;margin:12px 0}.child-package summary{font-weight:700;cursor:pointer;padding:8px 0}.course-slot{align-items:flex-start;border-bottom:1px solid #eee5de;padding:12px 0}.course-slot span{line-height:1.7}.privacy-dialog{max-width:550px;border:0;border-radius:18px;padding:28px;line-height:1.7}.privacy-dialog::backdrop{background:#1d2b3480}
.planning-filters{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.community-planning-row{padding:12px 16px!important;min-height:0!important}.community-planning-row .booking-families,.community-planning-row .booking-payments{display:none}
@media(max-width:600px){.editable-date{grid-template-columns:1fr}.grade-choices label{flex:1 0 100px}.parent-booking{padding:16px}.package-total span{display:block;width:100%}.course-slot{font-size:16px}.privacy-dialog{width:calc(100% - 32px);padding:20px}.parent-registration .actions{flex-wrap:wrap}}
/* 2.8.4: direct course calendar and unmistakable filters. */
header>a img,.with-logo img,.login-brand img{mix-blend-mode:multiply;background:transparent!important}
.course-detail-layout{display:block!important}.inline-course-booking{max-width:850px;margin:24px auto}.child-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.child-tabs button{flex:1;padding:12px}.child-tabs small{display:block;font-weight:400}.child-tabs .active{border:2px solid #e36a3c;background:#fff0e8}.course-price-options{display:flex;gap:10px;flex-wrap:wrap;background:#fff0e8;border-radius:12px;padding:14px;margin:14px 0}.course-price-options span{font-weight:600}.calendar-toolbar{display:flex;align-items:end;gap:8px;margin-bottom:12px}.calendar-toolbar label{flex:1;margin:0}.calendar-toolbar button{height:46px;padding:8px 16px}.course-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.course-calendar-grid .weekday{text-align:center;color:#52606a;padding:6px}.calendar-day{min-height:64px;padding:7px 3px!important;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #e5ddd7!important;background:#fff!important;box-shadow:none!important;gap:3px}.calendar-day small{font-size:11px}.calendar-day:disabled{color:#aaa;background:#f6f3f1!important;opacity:.7}.calendar-day.today{outline:2px solid #52606a;outline-offset:-3px}.calendar-day.chosen{background:#e36a3c!important;border:2px solid #ac4420!important;color:white!important}.calendar-day.focused:not(.chosen){outline:2px solid #e36a3c;outline-offset:-3px}.calendar-day.full{color:#a12424;background:#ffe9e9!important}.mix-day-slots{margin:14px 0}.mix-day-slots button{display:flex;justify-content:space-between;gap:10px;width:100%;margin:8px 0}.mix-day-slots .chosen{background:#fff0e8;border-color:#e36a3c}.selection-summary{padding:14px;background:#f9f5f2;border-radius:12px}.selection-summary summary{font-weight:700;cursor:pointer}.selection-summary>div{padding:12px 0;border-bottom:1px solid #e5ddd7}.selection-warning{color:#9b341d}.mix-book-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;background:#fff;margin-top:12px;position:sticky;bottom:12px;border:1px solid #e5ddd7;border-radius:12px;box-shadow:0 4px 18px #0001;z-index:3}.payment-notice{background:#fff0e8;border-left:3px solid #e36a3c;padding:14px;line-height:1.6}.class-label{display:inline-block;font-weight:700;border:1px solid #edb39d;background:#fff0e8;border-radius:999px;padding:4px 8px;margin:5px}.preview-dates-summary{display:flex;flex-wrap:wrap;gap:8px}.preview-dates-summary span{background:#fff0e8;padding:6px;border-radius:6px}.planning-filters [aria-pressed=true]{border:3px solid #e36a3c!important;box-shadow:0 0 0 2px #fff!important;background:#fff0e8!important;color:#943f20!important}.planning-resource-filter{max-width:400px;margin:12px 0}.package-overview{padding:12px 0;border-bottom:1px solid #e5ddd7}
@media(max-width:600px){.inline-course-booking{padding:14px}.calendar-day{min-height:58px}.calendar-day small{font-size:10px}.course-calendar-grid{gap:3px}.mix-book-controls{bottom:8px;flex-wrap:wrap}.mix-book-controls button{width:100%}.calendar-toolbar button{padding:8px 12px}.calendar-toolbar select{padding:8px;min-width:0}.child-tabs button{min-width:110px}.inline-course-booking input,.inline-course-booking select{font-size:16px!important}}
/* 2.8.5: fast public welcome, no loading overlay or change to staff screens. */
body[data-mode="public"] #community {animation:portal-arrive .28s ease-out both}
.portal-welcome{position:relative;overflow:hidden;padding:clamp(24px,4vw,54px);margin:0 0 28px;border-radius:28px;background:linear-gradient(115deg,#f8e9ed,#fdf8f4 65%,#f0e9ee);border:1px solid #eadce1;isolation:isolate}
.portal-welcome h1{font-size:clamp(30px,4.6vw,58px);letter-spacing:-.055em;line-height:1.08;max-width:650px;margin:14px 0;color:#1d2b34}
.portal-welcome p{font-size:clamp(16px,1.7vw,20px);max-width:560px;color:#5c5358;line-height:1.6;margin:0}
.welcome-orbit{position:absolute;z-index:-1;right:-25px;bottom:-110px;width:340px;height:340px;border:38px solid #cf759629;border-radius:50%;animation:portal-orbit .65s ease-out both}
body[data-mode="public"] .card{transition:transform .18s ease,box-shadow .18s ease}
@media(hover:hover){body[data-mode="public"] .card:hover{transform:translateY(-3px);box-shadow:0 14px 32px #53384316}}
.event-share{margin-top:24px;padding-top:18px;border-top:1px solid #eadce1}
.share-dialog{width:min(480px,calc(100% - 32px));border:0;border-radius:24px;padding:24px;box-shadow:0 20px 80px #0003;color:#1d2b34}
.share-dialog::backdrop{background:#1d2b3466}.share-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.share-dialog input{width:100%;font-size:16px;box-sizing:border-box}.staff-entry{display:inline-block;margin-left:12px;color:inherit;font-size:11px;opacity:.7}
@keyframes portal-arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes portal-orbit{from{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}
@media(max-width:600px){.portal-welcome{border-radius:22px;padding:26px 22px}.welcome-orbit{width:220px;height:220px;right:-75px;bottom:-130px}.share-options{grid-template-columns:1fr}.staff-entry{display:block;margin:8px 0 0}}
@media(prefers-reduced-motion:reduce){body[data-mode="public"] #community,.welcome-orbit{animation:none}body[data-mode="public"] .card{transition:none}body[data-mode="public"] .card:hover{transform:none}}
body[data-mode="public"] .event-card{transition:transform .18s ease,box-shadow .18s ease}
@media(hover:hover){body[data-mode="public"] .event-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px #53384316}}
body[data-mode="public"] :is(button,a,input,select):focus-visible{outline:3px solid #c86035;outline-offset:3px}
@media(prefers-reduced-motion:reduce){body[data-mode="public"] .event-card{transition:none}body[data-mode="public"] .event-card:hover{transform:none}}
