*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0;font-family:Arial,Helvetica,sans-serif}body{color:#292624;background:#f3f0eb}button,input,select,textarea{font:inherit}.nativeSelect,.nativeDate{color:#292624;background:#fcfbf8;border:1px solid #ded8d1;border-radius:12px;width:100%;min-height:42px;padding:9px 12px}#authPage{background:radial-gradient(circle at 50% 0,#a58f7c2e,#0000 42%),#f3f0eb;justify-content:center;align-items:center;min-height:100dvh;padding:32px 20px;position:relative;overflow:hidden;display:flex!important}#authPanel{background:#fcfbf8;border:1px solid #ded8d1;border-radius:28px;width:min(100%,640px);position:relative;overflow:hidden;box-shadow:0 28px 80px #37322f24;flex-direction:column!important;display:flex!important}#authBrandArea{background:#fcfbf8;border-bottom:1px solid #ded8d1;justify-content:center;align-items:center;padding:34px 32px 25px;display:flex!important}#authLogo{object-fit:contain;width:min(100%,450px);height:35px;display:block}#authContent{padding:30px 44px 38px}#authHeadingRow{align-items:flex-start;gap:24px;margin-bottom:26px;flex-direction:row!important;display:flex!important}#authHeadingCopy{flex:1;min-width:0}#authTitle{color:#292624;font-size:31px;font-weight:700;line-height:1.25}#authLead{color:#837b74;max-width:430px;margin-top:18px;font-size:17px;line-height:1.65}#authLock{opacity:.72;flex:0 0 70px;width:70px;height:78px;position:relative}#authLockShackle{border:8px solid #a58f7c;border-bottom:0;border-radius:24px 24px 0 0;width:39px;height:40px;position:absolute;top:2px;left:16px}#authLockBody{background:#a58f7c;border-radius:4px;height:46px;position:absolute;bottom:2px;left:5px;right:5px}#authFields{gap:14px;display:flex!important}#authFields input{color:#292624;background:#fcfbf8;border:2px solid #ded8d1;border-radius:7px;outline:0;width:100%;min-height:58px;padding:0 18px;font-size:18px;transition:border-color .15s,box-shadow .15s;box-shadow:inset 0 1px 3px #0000000f}#authFields input:focus{border-color:#a58f7c;box-shadow:0 0 0 3px #a58f7c2e}#authPasswordRow{width:100%;position:relative}#authPasswordRow input{padding-right:112px}#authPasswordToggle{background:#f3f0eb;border-radius:6px;justify-content:center;align-items:center;min-width:94px;height:40px;position:absolute;top:9px;right:9px;display:flex!important}#authPasswordToggleText{color:#292624;font-size:13px;font-weight:700}#authPrimaryButton,#authSecondaryButton{border-radius:7px;justify-content:center;align-items:center;min-height:58px;margin-top:14px;box-shadow:0 5px 14px #0000001f;display:flex!important}#authPrimaryButton{background:#a58f7c}#authPrimaryButton:hover{background:#866c58}#authSecondaryButton{background:#37322f;min-height:50px}#authSecondaryButton:hover{background:#292624}#authPrimaryButtonText{color:#fff;font-size:19px;font-weight:700}#authSecondaryButtonText{color:#fff;font-size:17px;font-weight:700}#authDemoHint{color:#837b74;text-align:center;margin-top:18px;font-size:12px;line-height:1.55}#clientPortal{background:#f3f0eb;min-height:100dvh;flex-direction:column!important;display:flex!important}#clientPortal,#clientPortal *{font-family:Arial,Helvetica,sans-serif!important}#clientTopbar{z-index:20;background:#fcfbf8fa;border-bottom:1px solid #ded8d1;justify-content:space-between;align-items:center;min-height:74px;padding:8px 22px;position:sticky;top:0;box-shadow:0 4px 16px #39302b0f;flex-direction:row!important;display:flex!important}#clientHeaderLogo{object-fit:contain;object-position:left center;width:min(320px,42vw);height:28px;display:block}#clientMain{flex:auto;width:100%}#clientBarcodeSvg{width:min(100%,520px);height:auto;display:block}#clientPortal input,#clientPortal textarea,#clientPortal select{color:#292624!important;background:#fcfbf8!important;border-color:#ded8d1!important}#clientPortal input:focus,#clientPortal textarea:focus,#clientPortal select:focus{border-color:#a58f7c!important;box-shadow:0 0 0 3px #a58f7c2e!important}#adminSidebarLogo{object-fit:contain;flex:0 0 48px;width:48px;height:90px;display:block}#receptionGate{background:radial-gradient(circle at 18% 10%,#a58f7c33,#0000 28%),radial-gradient(circle at 82% 0,#ffffff14,#0000 26%),linear-gradient(145deg,#4a433f,#292624);justify-content:center;align-items:center;min-height:100dvh;padding:28px;display:flex!important}#receptionGatePanel{background:#37322ff5;border:1px solid #ffffff1c;border-radius:28px;width:min(100%,930px);padding:28px 38px 30px;box-shadow:0 30px 90px #00000061;display:flex!important}#receptionGateLogo{object-fit:contain;align-self:center;width:86px;height:164px;display:block}#receptionGate,#receptionGate *,#receptionApp,#receptionApp *{font-family:Arial,Helvetica,sans-serif!important}#receptionPin,#receptionScanInput{color:#292624;background:#fcfbf8;border:1px solid #ded8d1;border-radius:11px;outline:0;width:100%;min-height:50px;padding:0 15px;font-size:17px}#receptionPin{text-align:center;letter-spacing:8px;margin-bottom:10px;font-size:24px}#receptionPin:focus,#receptionScanInput:focus{border-color:#a58f7c;box-shadow:0 0 0 3px #a58f7c33}#receptionApp{background:#f3f0eb;min-height:100dvh;flex-direction:column!important;display:flex!important}#receptionTopbar{z-index:30;background:#fcfbf8fa;border-bottom:1px solid #ded8d1;justify-content:space-between;align-items:center;min-height:72px;padding:7px 18px;position:sticky;top:0;box-shadow:0 4px 16px #362e2a12;flex-direction:row!important;display:flex!important}#receptionWordmark{object-fit:contain;object-position:left center;width:min(340px,36vw);height:28px;display:block}#receptionBody{flex:auto;min-height:calc(100dvh - 72px);flex-direction:row!important;display:flex!important}#receptionSidebar{background:#37322f;flex:0 0 232px;width:232px;height:calc(100dvh - 72px);padding:22px 13px 12px;position:sticky;top:72px;display:flex!important}#receptionSidebarLogo{object-fit:contain;align-self:center;width:104px;height:198px;margin:0 auto 22px;display:block}#receptionMain{background:#f3f0eb;flex:auto;min-width:0;height:calc(100dvh - 72px)}#receptionScanInput{flex:auto;min-width:220px}#receptionApp input,#receptionApp textarea,#receptionApp select,#receptionGate input,#receptionGate textarea,#receptionGate select,.receptionNativeSelect,.receptionNativeDate{color:#292624!important;background:#fcfbf8!important;border-color:#ded8d1!important}#receptionApp input:focus,#receptionApp textarea:focus,#receptionApp select:focus,#receptionGate input:focus,#receptionGate textarea:focus,#receptionGate select:focus{border-color:#a58f7c!important;box-shadow:0 0 0 3px #a58f7c2e!important}#receptionCheckinButton{background:#afc5b5!important}#receptionCheckinButton:hover{background:#97b09f!important}#receptionCheckinButton *{color:#292624!important}#receptionLogoutButton{background:#b56f5a!important}#receptionLogoutButton:hover{background:#9e5d49!important}#receptionLogoutButton *{color:#fff!important}#mobileHeader,#mobileCloseButton,#menuBackdrop{display:none!important}@media (width<=1100px){#receptionTopbar{align-items:flex-start;gap:12px}#receptionBody{min-height:calc(100dvh - 82px)}#receptionSidebar{flex-basis:190px;width:190px;height:calc(100dvh - 82px);top:82px}#receptionSidebarLogo{width:84px;height:158px}#receptionMain{height:calc(100dvh - 82px)}}@media (width<=760px){#authPage{justify-content:flex-start;align-items:stretch;padding:0}#authPanel{width:100%;min-height:100dvh;box-shadow:none;border:0;border-radius:0}#authBrandArea{padding:24px 24px 18px}#authLogo{width:min(100%,370px);height:30px}#authContent{padding:26px 24px 30px}#authHeadingRow{gap:14px;margin-bottom:22px}#authTitle{font-size:27px}#authLead{margin-top:12px;font-size:15px}#authLock{flex-basis:56px;width:56px;height:65px}#authLockShackle{border-width:7px;width:32px;height:33px;left:13px}#authLockBody{height:38px}#authFields input,#authPrimaryButton{min-height:55px}#clientTopbar{min-height:64px;padding:7px 12px}#clientHeaderLogo{width:min(230px,58vw);height:23px}body{overflow-x:hidden}#receptionGate{align-items:stretch;padding:0}#receptionGatePanel{border:0;border-radius:0;width:100%;min-height:100dvh;padding:22px 16px}#receptionTopbar{position:static;flex-direction:column!important}#receptionWordmark{width:min(340px,82vw)}#receptionBody{display:block!important}#receptionSidebar{width:100%;height:auto;min-height:0;position:static;overflow-x:auto;flex-direction:row!important}#receptionSidebarLogo{display:none}#receptionMain{height:auto}#appShell{min-height:100dvh!important;display:block!important}#mobileHeader{z-index:30;color:#fff;background:#37322f;justify-content:space-between;align-items:center;width:100%;min-height:62px;padding:9px 14px;position:sticky;top:0;box-shadow:0 4px 18px #37322f2e;flex-direction:row!important;display:flex!important}#mobileMenuButton,#mobileCloseButton{background:#ffffff1a;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;flex-direction:row!important;display:flex!important}#mobileMenuIcon,#mobileCloseIcon{color:#fff;font-size:27px;font-weight:700;line-height:1}#mobileHeaderBrand{align-items:center;gap:9px;display:flex;flex-direction:row!important}#mobileHeaderLogo{object-fit:contain;width:24px;height:42px;display:block}#mobileHeaderTitle{color:#fff;font-size:18px;font-weight:700}#mobileHeaderRole{color:#837b74;text-align:right;text-transform:uppercase;width:44px;font-size:10px}#menuBackdrop{z-index:35;background:#37322f8c;position:fixed;inset:0;display:block!important}#sideNav,#sideNavOpen{z-index:40;transition:transform .22s;transform:translate(-105%);box-shadow:14px 0 34px #37322f47;width:min(86vw,320px)!important;min-height:100dvh!important;position:fixed!important;top:0!important;bottom:0!important;left:0!important}#sideNavOpen{transform:translate(0)}#sideNav #mobileCloseButton,#sideNavOpen #mobileCloseButton{flex:none}#sideNav>div:last-child,#sideNavOpen>div:last-child{max-height:calc(100dvh - 86px)!important}}.legalLinks{flex-wrap:wrap;justify-content:center;gap:8px 20px;margin:22px 0 8px;padding:8px 4px;font-size:14px;line-height:1.6;display:flex}.legalLinks a{color:#315c4c;text-underline-offset:3px;padding:7px 0;text-decoration:underline}.legalLinks a:focus-visible{outline-offset:4px;border-radius:2px;outline:3px solid #927045}.legalLinksDark a{color:#fff}.directSmsForm{border:0;flex-direction:column;gap:14px;min-width:0;margin:0 0 18px;padding:0;display:flex}.directSmsForm label{color:#3b3933;flex-direction:column;gap:7px;font-weight:600;display:flex}.directSmsForm input,.directSmsForm textarea{box-sizing:border-box;color:#292720;width:100%;font:inherit;background:#fffefa;border:1px solid #d7d3c8;border-radius:10px;padding:12px;font-weight:400}.directSmsForm textarea{resize:vertical;min-height:120px}.directSmsForm input:focus,.directSmsForm textarea:focus{outline-offset:1px;outline:2px solid #719a85}.directSmsForm:disabled{opacity:.75}.directSmsChannels{flex-wrap:wrap;gap:12px;display:flex}.directSmsChannel{color:#fff;font:inherit;cursor:pointer;background:#3b6552;border:1px solid #3b6552;border-radius:10px;padding:13px 18px;font-weight:600}.directSmsChannelVodafone{background:#a71930;border-color:#a71930}.directSmsChannel:disabled{opacity:.5;cursor:default}.directSmsChannel:focus-visible{outline-offset:3px;outline:3px solid #c9a951}@media (width<=520px){.directSmsChannel{width:100%}}.sqliteBackupLink,.sqliteBackupLink:link,.sqliteBackupLink:visited,.sqliteBackupLink:hover,.sqliteBackupLink:active{color:inherit;font:inherit;background:0 0;border:0;padding:0;text-decoration:none}.sqliteBackupLink[aria-disabled=true]{cursor:wait}.sqliteBackupLink:focus-visible{outline-offset:2px;outline:1px dotted}@media (width<=1100px){#receptionMemberWorkspace{flex-direction:column;width:100%}#receptionMemberWorkspace>div{flex:none;width:100%;max-width:100%}}.tomorrowSmsForm{border:0;flex-direction:column;gap:14px;min-width:0;margin:0 0 18px;padding:0;display:flex}.tomorrowSmsForm:disabled{opacity:.75}body.soma-mobile{overscroll-behavior:none}.soma-mobile #root{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.soma-mobile #authPage{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.soma-mobile #authPanel{min-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.soma-mobile #clientPortal{height:100dvh;min-height:0;padding-bottom:env(safe-area-inset-bottom)}.soma-mobile #clientTopbar{padding-top:calc(8px + env(safe-area-inset-top));flex-wrap:wrap;flex-shrink:0;gap:8px}.soma-mobile #clientHeaderLogo{width:min(220px,54vw)}.soma-mobile #clientMain{min-height:0}.soma-mobile #mobileStatus{padding:calc(30px + env(safe-area-inset-top)) 24px 30px;gap:18px}.package-cancel-icon{color:#837b74;cursor:pointer;background:0 0;border:0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:36px;display:inline-flex}.package-cancel-icon:hover{color:#963d31;background:#f3e5e1}.package-cancel-icon:focus-visible{outline-offset:2px;outline:2px solid #866c58}.package-cancel-dialog{box-sizing:border-box;color:#292624;background:#fcfbf8;border:1px solid #ded8d1;border-radius:16px;width:min(520px,100vw - 32px);max-height:calc(100dvh - 40px);padding:24px;font:14px/1.5 system-ui,sans-serif;overflow:auto}.package-cancel-dialog::backdrop{background:#00000073}.package-cancel-dialog h2{margin-top:0;font-size:21px}.package-cancel-dialog label{font-weight:600;display:block}.package-cancel-dialog textarea{box-sizing:border-box;resize:vertical;width:100%;font:inherit;background:#fff;border:1px solid #c8beb4;border-radius:8px;margin-top:6px;padding:10px;display:block}.package-cancel-dialog button{color:#292624;font:inherit;cursor:pointer;background:#eee9e2;border:0;border-radius:8px;padding:10px 12px;font-weight:600}.package-cancel-dialog button:disabled{opacity:.5;cursor:default}.package-cancel-dialog .package-cancel-confirm{color:#fff;background:#a34e3e}.package-cancel-error{color:#963d31}.package-cancel-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.package-booking-actions{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.package-booking-refund{color:#64584d;margin-bottom:8px;font-size:13px;display:block}.member-delete-button{color:#963d31;cursor:pointer;background:#fcfbf8;border:1px solid #c79b92;border-radius:8px;padding:10px 14px;font:600 13px system-ui,sans-serif}.member-delete-button:hover{background:#f3e5e1}.member-delete-button:focus-visible{outline-offset:2px;outline:2px solid #963d31}.bookingCalendar{color:#292624;width:100%}.bookingCalendarHeader{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.bookingCalendarHeader h2{text-transform:capitalize;text-align:center;margin:0;font-size:21px;font-weight:700}.bookingCalendar button{-webkit-tap-highlight-color:transparent;touch-action:manipulation;cursor:pointer}.bookingCalendar button:focus-visible{outline-offset:2px;outline:3px solid #866c58}.calendarMonthArrow{color:#37322f;background:#f3f0eb;border:1px solid #ded8d1;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;padding:0;display:flex}.calendarMonthArrow:disabled{opacity:.3;cursor:default}.calendarWeekdays,.calendarDays{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.calendarWeekdays{color:#837b74;text-align:center;letter-spacing:.3px;margin-bottom:8px;font-size:10px;font-weight:700}.calendarDay{color:#37322f;background:0 0;border:1px solid #0000;border-radius:11px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:100%;height:44px;padding:5px 0 1px;font-size:15px;font-weight:600;display:flex;position:relative}.calendarDayOutside{color:#8b847d;background:#f6f3ef}.calendarDayToday{border-color:#a58f7c}.calendarDay:disabled{color:#b8b1a9;cursor:default}@media (hover:hover){.calendarDay:not(:disabled):not(.calendarDaySelected):hover,.calendarMonthArrow:not(:disabled):hover{background:#eee8e0}}.calendarDaySelected{color:#fff;background:#866c58;border-color:#866c58;box-shadow:0 3px 7px #37322f1f}.calendarBookingDot{background:0 0;border-radius:50%;width:5px;height:5px}.calendarBookingDotVisible{background:#637d5c}.calendarDaySelected .calendarBookingDotVisible{background:#fff}.calendarFooter{border-top:1px solid #eee8e0;justify-content:space-between;align-items:center;gap:8px;margin:14px 0 0;padding-top:12px;display:flex}.calendarLegend{color:#6e675f;align-items:center;gap:7px;font-size:11px;display:inline-flex}.calendarLegendDot{background:#637d5c;border-radius:50%;width:5px;height:5px}.calendarTodayButton{color:#594737;background:#eee8e0;border:0;border-radius:9px;min-height:34px;padding:7px 12px;font-size:12px;font-weight:700}.webScheduleLayout{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;gap:24px;display:grid}.webSchedulePicker{background:#fcfbf8;border:1px solid #ded8d1;border-radius:20px;padding:18px}.webScheduleTemplate{margin-top:18px}.webScheduleTemplate label{color:#6e675f;margin-bottom:8px;font-size:12px;font-weight:700;display:block}.webScheduleResults{flex-direction:column;min-width:0;display:flex}.webScheduleDate{text-transform:capitalize;color:#37322f;margin:0 0 16px;font-size:18px;font-weight:700;line-height:1.5}.webScheduleDate small{color:#837b74;letter-spacing:1px;text-transform:uppercase;margin-bottom:2px;font-size:10px;font-weight:600;display:block}@media (width<=760px){.webScheduleLayout{grid-template-columns:minmax(0,1fr);gap:22px}}@media (width<=360px){.webSchedulePicker{padding:12px}.calendarWeekdays,.calendarDays{gap:2px}.bookingCalendarHeader h2{font-size:18px}}@media (width<=760px){#clientPortal:has(.webScheduleLayout) #clientHeaderLogo{width:min(230px,100vw - 200px)}}
