/* Public booking: a calmer CoachAssist flow. Kept separate from booking logic. */
html body .portal-box{background:linear-gradient(145deg,#f7faf4,#edf4e9 56%,#f9fbf6)!important;}
html body .portal-box .bkv{width:min(1160px,calc(100% - 28px))!important;max-width:none!important;margin:0 auto!important;padding:18px 0 74px!important;color:#1b2734!important;}
html body .portal-box .bk-hero{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;gap:0 17px!important;min-height:0!important;padding:15px 18px 17px!important;border:1px solid rgba(255,255,255,.98)!important;border-radius:26px!important;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(240,255,198,.82))!important;box-shadow:0 17px 42px rgba(27,39,52,.10),inset 0 1px 0 #fff!important;color:#1b2734!important;text-align:right!important;}
html body .portal-box .bk-hero::before{width:190px!important;height:190px!important;left:-105px!important;bottom:-128px!important;border-color:rgba(132,177,0,.23)!important;box-shadow:0 0 0 38px rgba(183,239,0,.08),0 0 0 77px rgba(183,239,0,.045)!important;}
html body .portal-box .bk-hero-top{grid-column:1/-1!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;margin-bottom:12px!important;}
html body .portal-box .bk-back,html body .portal-box .bk-day-link{padding:7px 10px!important;border-color:rgba(27,39,52,.09)!important;background:rgba(255,255,255,.76)!important;color:#506055!important;box-shadow:inset 0 1px 0 #fff!important;font-size:10px!important;}
html body .portal-box .bk-back:hover,html body .portal-box .bk-day-link:hover{background:#fff!important;color:#1b2734!important;box-shadow:0 8px 17px rgba(27,39,52,.09)!important;}
html body .portal-box .bk-hero .bk-logo{grid-column:1!important;grid-row:2/span 2!important;width:54px!important;height:54px!important;margin:0!important;border:0!important;border-radius:18px!important;background:#fff url('brand/coachassist-symbol.png') center/70% auto no-repeat!important;box-shadow:0 11px 24px rgba(132,177,0,.20),inset 0 1px 0 #fff!important;color:transparent!important;animation:none!important;}
html body .portal-box .bk-hero h1{grid-column:2!important;align-self:end!important;margin:0!important;color:#1b2734!important;font-size:clamp(18px,2.2vw,25px)!important;line-height:1.35!important;text-shadow:none!important;}
html body .portal-box .bk-hero p{display:none!important;}
html body .portal-box .bk-hero .bk-free{grid-column:2!important;justify-self:start!important;margin:4px 0 0!important;padding:4px 8px!important;border:1px solid rgba(132,177,0,.16)!important;background:rgba(239,255,196,.68)!important;box-shadow:none!important;color:#5d7300!important;font-size:9.5px!important;}
html body .portal-box .bk-hero .bk-free i{background:#9bc900!important;}
html body .portal-box .bk-booking-progress{grid-column:3!important;grid-row:2/span 2!important;display:grid!important;gap:6px!important;margin:0!important;padding:9px 0 9px 2px!important;border-right:1px solid rgba(27,39,52,.08)!important;color:#73816d!important;font-size:9.5px!important;}
html body .portal-box .bk-booking-progress i{display:none!important;}
html body .portal-box .bk-booking-progress span{gap:5px!important;}
html body .portal-box .bk-booking-progress b{width:18px!important;height:18px!important;background:rgba(27,39,52,.06)!important;border-color:rgba(27,39,52,.07)!important;color:#6b7a69!important;}
html body .portal-box .bk-booking-progress span.is-ready{color:#526800!important;transform:none!important;}
html body .portal-box .bk-booking-progress span.is-ready b{background:#b7ef00!important;border-color:#b7ef00!important;color:#1b2734!important;}
html body .portal-box .bk-booking-layout{grid-template-columns:minmax(0,1fr) 282px!important;gap:14px!important;margin-top:14px!important;}
html body .portal-box .bk-sec{padding:17px!important;margin:0 0 12px!important;border:1px solid rgba(27,39,52,.09)!important;border-radius:21px!important;background:linear-gradient(145deg,rgba(255,255,255,.91),rgba(255,255,255,.68))!important;box-shadow:0 13px 29px rgba(27,39,52,.055),inset 0 1px 0 #fff!important;animation:none!important;}
html body .portal-box .bk-sec::after{width:64px!important;background:linear-gradient(90deg,#dfff82,#b7ef00)!important;opacity:1!important;}
html body .portal-box .bk-step{gap:8px!important;margin-bottom:12px!important;color:#1b2734!important;font-size:13px!important;}
html body .portal-box .bk-step b{width:26px!important;height:26px!important;background:linear-gradient(135deg,#dfff82,#b7ef00)!important;color:#1b2734!important;box-shadow:0 7px 14px rgba(164,217,0,.20)!important;}
html body .portal-box .bk-step small{color:#7c8a84!important;font-size:9.5px!important;}
html body .portal-box .bkv .fg label{color:#52615b!important;font-size:10.5px!important;font-weight:850!important;}
html body .portal-box .bkv .fg input,html body .portal-box .bk-select select{min-height:45px!important;border:1px solid rgba(27,39,52,.13)!important;border-radius:13px!important;background:rgba(255,255,255,.84)!important;color:#1b2734!important;font-size:12px!important;font-weight:650!important;}
html body .portal-box .bkv .fg input:focus,html body .portal-box .bk-select select:focus{border-color:rgba(132,177,0,.72)!important;box-shadow:0 0 0 4px rgba(183,239,0,.18)!important;}
html body .portal-box .bk-dateform{gap:8px!important;}
html body .portal-box .bk-dateform .btn{width:auto!important;min-width:88px!important;padding:0 14px!important;}
html body .portal-box .bkv .btn,html body .portal-box .bk-cart-action{border:1px solid rgba(112,151,0,.20)!important;background:linear-gradient(135deg,#dfff82,#b7ef00)!important;color:#1b2734!important;box-shadow:0 10px 21px rgba(164,217,0,.22),inset 0 1px 0 rgba(255,255,255,.74)!important;font-weight:900!important;}
html body .portal-box .bkv .btn.secondary{border-color:rgba(27,39,52,.12)!important;background:rgba(255,255,255,.78)!important;color:#506055!important;box-shadow:none!important;}
html body .portal-box .bk-dnav{padding:8px 10px!important;border-color:rgba(27,39,52,.10)!important;background:rgba(255,255,255,.72)!important;color:#556451!important;font-size:10.5px!important;}
html body .portal-box .bk-dnav:hover{border-color:rgba(132,177,0,.32)!important;background:#fff!important;color:#1b2734!important;}
html body .portal-box .bk-curday{color:#1b2734!important;font-size:11.5px!important;}
html body .portal-box .bk-multi{margin-top:11px!important;padding:9px 10px!important;border:1px solid rgba(27,39,52,.07)!important;border-radius:13px!important;background:rgba(247,251,242,.82)!important;color:#536251!important;font-size:10.5px!important;}
html body .portal-box .bk-multi input:checked+.bk-sw{background:#b7ef00!important;}
html body .portal-box .bk-selection-hint{margin:12px 0 0!important;padding:9px 10px!important;border-radius:12px!important;background:rgba(239,255,196,.48)!important;color:#66735f!important;font-size:10px!important;}
html body .portal-box .bk-selection-hint b{color:#607900!important;font-size:10px!important;}
html body .portal-box .bk-slotwrap{margin-top:11px!important;}
html body .portal-box .bk-slots{grid-template-columns:repeat(auto-fill,minmax(94px,1fr))!important;gap:8px!important;}
html body .portal-box .bk-slot{min-height:63px!important;padding:9px 4px!important;border:1px solid rgba(132,177,0,.22)!important;border-radius:14px!important;background:linear-gradient(145deg,#fbfff1,#f1ffd4)!important;color:#5e7800!important;box-shadow:inset 0 1px 0 #fff!important;font-size:12px!important;animation:none!important;}
html body .portal-box .bk-slot small.bk-pr{color:#7a9400!important;font-size:9px!important;}
html body .portal-box .bk-slot:hover{border-color:rgba(112,151,0,.32)!important;background:linear-gradient(135deg,#dfff82,#b7ef00)!important;color:#1b2734!important;transform:translateY(-2px)!important;box-shadow:0 10px 18px rgba(164,217,0,.24)!important;}
html body .portal-box .bk-slot.sel{border-color:#1b2734!important;background:linear-gradient(135deg,#1b2734,#304252)!important;color:#fff!important;box-shadow:0 11px 20px rgba(27,39,52,.22)!important;animation:none!important;}
html body .portal-box .bk-slot.sel small.bk-pr{color:#dfff82!important;}
html body .portal-box .bk-slot.taken{border-color:rgba(27,39,52,.055)!important;background:#f3f5f2!important;color:#acb4ad!important;box-shadow:none!important;}
html body .portal-box .bk-empty{border-color:rgba(27,39,52,.1)!important;background:#f8faf7!important;color:#7e8a82!important;font-size:10.5px!important;}
html body .portal-box .bk-cart{position:sticky!important;top:16px!important;padding:15px!important;border:1px solid rgba(255,255,255,.96)!important;border-radius:21px!important;background:linear-gradient(145deg,rgba(255,255,255,.93),rgba(243,255,207,.75))!important;box-shadow:0 17px 38px rgba(27,39,52,.10),inset 0 1px 0 #fff!important;}
html body .portal-box .bk-cart::before{left:-134px!important;top:-146px!important;border-color:rgba(132,177,0,.16)!important;box-shadow:0 0 0 33px rgba(183,239,0,.05),0 0 0 66px rgba(183,239,0,.035)!important;}
html body .portal-box .bk-cart-head{padding-bottom:11px!important;border-color:rgba(27,39,52,.08)!important;}
html body .portal-box .bk-cart-ball{width:37px!important;height:37px!important;flex-basis:37px!important;border-radius:13px!important;background:#fff url('brand/coachassist-symbol.png') center/67% auto no-repeat!important;color:transparent!important;box-shadow:0 8px 17px rgba(132,177,0,.16)!important;}
html body .portal-box .bk-cart-head small{color:#71806f!important;font-size:9.5px!important;}
html body .portal-box .bk-cart-head b{color:#1b2734!important;font-size:11.5px!important;}
html body .portal-box .bk-cart-count{background:#1b2734!important;color:#fff!important;font-size:10px!important;}
html body .portal-box .bk-cart-state{margin:10px 0 8px!important;color:#79887b!important;font-size:9.5px!important;}
html body .portal-box .bk-cart-state b{color:#30412e!important;font-size:10.5px!important;}
html body .portal-box .bk-cart-list{max-height:160px!important;gap:6px!important;}
html body .portal-box .bk-cart-empty,html body .portal-box .bk-cart-item{border-color:rgba(27,39,52,.09)!important;background:rgba(255,255,255,.72)!important;color:#71806f!important;font-size:9.5px!important;}
html body .portal-box .bk-cart-item b{color:#30412e!important;font-size:10px!important;}
html body .portal-box .bk-cart-item small{color:#77867c!important;font-size:9px!important;}
html body .portal-box .bk-cart-item>span{background:#b7ef00!important;box-shadow:0 0 0 3px rgba(183,239,0,.18)!important;}
html body .portal-box .bk-cart-total{margin-top:10px!important;padding-top:10px!important;border-color:rgba(27,39,52,.08)!important;color:#71806f!important;font-size:10px!important;}
html body .portal-box .bk-cart-total b{color:#526800!important;font-size:13px!important;}
html body .portal-box .bk-cart-action{margin-top:10px!important;padding:11px!important;font-size:11px!important;}
html body .portal-box .bk-cart-action.ready{background:linear-gradient(135deg,#1b2734,#304252)!important;color:#fff!important;box-shadow:0 10px 20px rgba(27,39,52,.20)!important;}
html body .portal-box .bk-cart-foot{color:#849084!important;font-size:8.8px!important;}
html body .portal-box .bk-locked{border-color:rgba(132,177,0,.18)!important;background:linear-gradient(135deg,rgba(239,255,196,.72),rgba(255,255,255,.78))!important;}
html body .portal-box .bk-locked .ic{background:linear-gradient(135deg,#dfff82,#b7ef00)!important;color:#1b2734!important;box-shadow:0 8px 17px rgba(164,217,0,.20)!important;}
html body .portal-box .bk-locked .tx .c{color:#1b2734!important;}
html body .portal-box .bk-locked .tx .t{color:#687867!important;}
html body .portal-box .bk-locked .chg{border-color:rgba(27,39,52,.11)!important;background:#fff!important;color:#506055!important;}
html body .portal-box #bk-step3 form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;}
html body .portal-box #bk-step3 form>input[type="hidden"]{display:none!important;}
html body .portal-box #bk-step3 form>.fg{margin:0!important;}
html body .portal-box #bk-step3 form>.btn,html body .portal-box #bk-step3 form>.bk-note,html body .portal-box #bk-step3 form>.bk-consent,html body .portal-box #bk-step3 form>.bk-trust-row{grid-column:1/-1!important;}
html body .portal-box .bk-consent{margin:0!important;border-color:rgba(27,39,52,.09)!important;background:rgba(247,251,242,.78)!important;color:#5c6a62!important;font-size:9.8px!important;}
html body .portal-box .bk-consent input{accent-color:#86ab00!important;}
html body .portal-box .bk-consent a{color:#647d00!important;}
html body .portal-box .bk-note{margin:0!important;color:#7f8c83!important;font-size:9.5px!important;}
html body .portal-box .bk-trust-row{margin:0!important;color:#839086!important;font-size:9px!important;}
html body .portal-box .bk-trust-row .cic,html body .portal-box .bk-contact-info .cic{color:#718c00!important;}
html body .portal-box .bk-public-contact a,html body .portal-box .bk-public-contact span,html body .portal-box .bk-policy{border-color:rgba(27,39,52,.09)!important;background:rgba(255,255,255,.72)!important;color:#5b6a61!important;font-size:9.5px!important;}
html body .portal-box .bk-policy summary{color:#52615a!important;font-size:10px!important;}
@media(max-width:820px){html body .portal-box .bkv{width:min(100% - 20px,620px)!important;padding-top:10px!important;}html body .portal-box .bk-hero{grid-template-columns:auto minmax(0,1fr)!important;padding:13px 14px 15px!important;border-radius:22px!important;}html body .portal-box .bk-hero-top{margin-bottom:10px!important;}html body .portal-box .bk-booking-progress{display:flex!important;grid-column:1/-1!important;grid-row:auto!important;justify-content:flex-start!important;gap:8px!important;margin-top:10px!important;padding:9px 0 0!important;border-top:1px solid rgba(27,39,52,.08)!important;border-right:0!important;}html body .portal-box .bk-booking-progress i{display:block!important;width:14px!important;background:rgba(27,39,52,.12)!important;}html body .portal-box .bk-cart{position:relative!important;top:auto!important;order:2!important;}html body .portal-box .bk-booking-layout{grid-template-columns:1fr!important;gap:0!important;}html body .portal-box .bk-cart-list{max-height:122px!important;}}
@media(max-width:520px){html body .portal-box .bk-back,html body .portal-box .bk-day-link{padding:6px 7px!important;font-size:8.8px!important;}html body .portal-box .bk-hero .bk-logo{width:47px!important;height:47px!important;border-radius:15px!important;}html body .portal-box .bk-hero h1{font-size:17px!important;}html body .portal-box .bk-hero .bk-free{font-size:8.6px!important;}html body .portal-box .bk-slots{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;}html body .portal-box .bk-slot{min-height:59px!important;font-size:11px!important;}html body .portal-box #bk-step3 form{grid-template-columns:1fr!important;}html body .portal-box .bk-dateform .btn{min-width:72px!important;}}
@media(prefers-reduced-motion:reduce){html body .portal-box .bk-slot,html body .portal-box .bk-back,html body .portal-box .bk-day-link,html body .portal-box .bk-cart-action{transition:none!important;}}

/* The day belongs to the time picker: a quick date rail keeps the booking flow in one place. */
html body .portal-box .bk-slot-picker{overflow:visible!important;}
html body .portal-box .bk-date-stage{
  margin:0 0 15px!important;padding:12px!important;border:1px solid rgba(132,177,0,.20)!important;
  border-radius:18px!important;background:linear-gradient(140deg,rgba(255,255,255,.96),rgba(239,255,196,.58))!important;
  box-shadow:inset 0 1px 0 #fff,0 9px 20px rgba(27,39,52,.045)!important;
}
html body .portal-box .bk-date-stage-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:10px!important;margin:0 2px 10px!important;color:#1b2734!important;}
html body .portal-box .bk-date-stage-head>div{display:grid!important;gap:1px!important;}
html body .portal-box .bk-date-kicker{display:inline-flex!important;align-items:center!important;gap:5px!important;color:#65756b!important;font-size:9.5px!important;font-weight:800!important;}
html body .portal-box .bk-date-kicker .cic{width:13px!important;height:13px!important;color:#769700!important;}
html body .portal-box .bk-date-stage-head b{color:#1b2734!important;font-size:14px!important;line-height:1.45!important;}
html body .portal-box .bk-date-stage-head small{color:#78877e!important;font-size:9px!important;line-height:1.55!important;}
html body .portal-box .bk-date-range{flex:0 0 auto!important;margin-top:3px!important;padding:5px 8px!important;border:1px solid rgba(132,177,0,.18)!important;border-radius:999px!important;background:rgba(255,255,255,.75)!important;color:#687c00!important;font-size:8.7px!important;font-weight:850!important;white-space:nowrap!important;}
html body .portal-box .bk-slot-picker .bk-dateform{display:block!important;gap:0!important;margin:0!important;}
html body .portal-box .bk-date-rail{display:grid!important;grid-template-columns:36px minmax(0,1fr) 36px!important;align-items:center!important;gap:7px!important;direction:rtl!important;}
html body .portal-box .bk-date-edge{appearance:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:36px!important;height:56px!important;padding:0!important;border:1px solid rgba(27,39,52,.12)!important;border-radius:13px!important;background:rgba(255,255,255,.88)!important;color:#384953!important;cursor:pointer!important;box-shadow:inset 0 1px 0 #fff!important;transition:transform .18s ease,background .18s ease,border-color .18s ease!important;}
html body .portal-box .bk-date-edge .cic{width:16px!important;height:16px!important;}
html body .portal-box .bk-date-edge:hover{border-color:rgba(132,177,0,.48)!important;background:#efffc4!important;color:#1b2734!important;transform:translateY(-1px)!important;}
html body .portal-box .bk-date-edge:disabled{opacity:.42!important;cursor:default!important;transform:none!important;}
html body .portal-box .bk-date-tabs{display:flex!important;align-items:stretch!important;gap:7px!important;min-width:0!important;overflow-x:auto!important;overscroll-behavior-inline:contain!important;padding:2px!important;scroll-snap-type:inline mandatory!important;scrollbar-width:none!important;}
html body .portal-box .bk-date-tabs::-webkit-scrollbar{display:none!important;}
html body .portal-box .bk-date-tab{appearance:none!important;display:grid!important;grid-template-rows:auto auto auto!important;place-items:center!important;flex:0 0 65px!important;min-width:65px!important;min-height:56px!important;padding:5px 4px!important;border:1px solid rgba(27,39,52,.11)!important;border-radius:13px!important;background:rgba(255,255,255,.84)!important;color:#64736b!important;cursor:pointer!important;box-shadow:inset 0 1px 0 #fff!important;scroll-snap-align:start!important;font-family:inherit!important;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease!important;}
html body .portal-box .bk-date-tab span{font-size:8.5px!important;font-weight:800!important;line-height:1.15!important;color:inherit!important;}
html body .portal-box .bk-date-tab b{font-size:16px!important;line-height:1!important;color:#1b2734!important;}
html body .portal-box .bk-date-tab small{font-size:8px!important;font-weight:750!important;line-height:1.1!important;color:#7d8a82!important;}
html body .portal-box .bk-date-tab:hover{border-color:rgba(132,177,0,.46)!important;background:#fbfff2!important;transform:translateY(-1px)!important;}
html body .portal-box .bk-date-tab.is-active{border-color:rgba(112,151,0,.34)!important;background:linear-gradient(145deg,#dfff82,#b7ef00)!important;color:#405100!important;box-shadow:0 8px 17px rgba(164,217,0,.24),inset 0 1px 0 rgba(255,255,255,.78)!important;}
html body .portal-box .bk-date-tab.is-active b{color:#1b2734!important;}
html body .portal-box .bk-date-tab.is-active small{color:#526800!important;}
html body .portal-box .bk-date-custom{margin-top:9px!important;border-top:1px dashed rgba(27,39,52,.12)!important;}
html body .portal-box .bk-date-custom summary{display:flex!important;align-items:center!important;gap:6px!important;padding:9px 2px 0!important;color:#56675d!important;font-size:9.5px!important;font-weight:800!important;cursor:pointer!important;list-style:none!important;}
html body .portal-box .bk-date-custom summary::-webkit-details-marker{display:none!important;}
html body .portal-box .bk-date-custom summary .cic{width:13px!important;height:13px!important;color:#769700!important;}
html body .portal-box .bk-date-custom[open] summary{color:#1b2734!important;}
html body .portal-box .bk-date-custom-inner{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:end!important;gap:8px!important;padding-top:9px!important;}
html body .portal-box .bk-date-custom-inner .fg{margin:0!important;}
html body .portal-box .bk-slot-picker .bk-date-custom .btn{width:auto!important;min-width:96px!important;min-height:45px!important;padding:0 13px!important;}
@media(max-width:520px){
  html body .portal-box .bk-date-stage{padding:10px!important;border-radius:16px!important;}
  html body .portal-box .bk-date-stage-head small{display:none!important;}
  html body .portal-box .bk-date-rail{grid-template-columns:32px minmax(0,1fr) 32px!important;gap:5px!important;}
  html body .portal-box .bk-date-edge{width:32px!important;height:53px!important;border-radius:12px!important;}
  html body .portal-box .bk-date-tab{flex-basis:59px!important;min-width:59px!important;min-height:53px!important;}
  html body .portal-box .bk-date-custom-inner{grid-template-columns:1fr!important;gap:7px!important;}
  html body .portal-box .bk-slot-picker .bk-date-custom .btn{width:100%!important;}
}
